@crodriguezdominguez/ion-intl-tel-input 2.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.
Files changed (31) hide show
  1. package/README.md +308 -0
  2. package/crodriguezdominguez-ion-intl-tel-input-2.0.0.tgz +0 -0
  3. package/esm2020/crodriguezdominguez-ion-intl-tel-input.mjs +5 -0
  4. package/esm2020/lib/data/countries.mjs +2006 -0
  5. package/esm2020/lib/ion-intl-tel-input/ion-intl-tel-code.component.mjs +72 -0
  6. package/esm2020/lib/ion-intl-tel-input/ion-intl-tel-input.component.mjs +747 -0
  7. package/esm2020/lib/ion-intl-tel-input.directive.mjs +68 -0
  8. package/esm2020/lib/ion-intl-tel-input.module.mjs +51 -0
  9. package/esm2020/lib/ion-intl-tel-input.service.mjs +20 -0
  10. package/esm2020/lib/models/country.model.mjs +2 -0
  11. package/esm2020/lib/models/ion-intl-tel-input.model.mjs +2 -0
  12. package/esm2020/lib/pipes/country-placeholder.mjs +38 -0
  13. package/esm2020/lib/util/util.mjs +10 -0
  14. package/esm2020/public-api.mjs +10 -0
  15. package/fesm2015/crodriguezdominguez-ion-intl-tel-input.mjs +2997 -0
  16. package/fesm2015/crodriguezdominguez-ion-intl-tel-input.mjs.map +1 -0
  17. package/fesm2020/crodriguezdominguez-ion-intl-tel-input.mjs +2994 -0
  18. package/fesm2020/crodriguezdominguez-ion-intl-tel-input.mjs.map +1 -0
  19. package/index.d.ts +5 -0
  20. package/lib/data/countries.d.ts +2 -0
  21. package/lib/ion-intl-tel-input/ion-intl-tel-code.component.d.ts +28 -0
  22. package/lib/ion-intl-tel-input/ion-intl-tel-input.component.d.ts +310 -0
  23. package/lib/ion-intl-tel-input.directive.d.ts +10 -0
  24. package/lib/ion-intl-tel-input.module.d.ts +13 -0
  25. package/lib/ion-intl-tel-input.service.d.ts +9 -0
  26. package/lib/models/country.model.d.ts +10 -0
  27. package/lib/models/ion-intl-tel-input.model.d.ts +6 -0
  28. package/lib/pipes/country-placeholder.d.ts +8 -0
  29. package/lib/util/util.d.ts +1 -0
  30. package/package.json +64 -0
  31. package/public-api.d.ts +6 -0
@@ -0,0 +1,310 @@
1
+ import { OnInit, EventEmitter, OnChanges, SimpleChanges, ElementRef } from '@angular/core';
2
+ import { ControlValueAccessor } from '@angular/forms';
3
+ import { IonInput, ModalController, Platform } from '@ionic/angular';
4
+ import { CountryI } from '../models/country.model';
5
+ import { IonIntlTelInputService } from '../ion-intl-tel-input.service';
6
+ import * as i0 from "@angular/core";
7
+ /**
8
+ * @ignore
9
+ */
10
+ export declare class IonIntlTelInputComponent implements ControlValueAccessor, OnInit, OnChanges {
11
+ private el;
12
+ private platform;
13
+ private ionIntlTelInputService;
14
+ private modalCtrl;
15
+ cssClass: boolean;
16
+ isIos: boolean;
17
+ isMD: boolean;
18
+ hasFocus: any;
19
+ get hasValueCssClass(): boolean;
20
+ get isEnabled(): boolean;
21
+ /**
22
+ * autocomplete, set to 'tel' if needed
23
+ *
24
+ * @default 'off'
25
+ * @memberof IonIntlTelInputComponent
26
+ */
27
+ autocomplete: string;
28
+ /**
29
+ * required, passed onto ion-input so we can be accessiblity compliant
30
+ *
31
+ * @default false
32
+ * @memberof IonIntlTelInputComponent
33
+ */
34
+ required: boolean;
35
+ /**
36
+ * Iso Code of default selected Country.
37
+ * See more on.
38
+ *
39
+ * @default ''
40
+ * @memberof IonIntlTelInputComponent
41
+ */
42
+ defaultCountryiso: string;
43
+ /**
44
+ * Determines whether to use `00` or `+` as dial code prefix.
45
+ * Available attributes are '+' | '00'.
46
+ * See more on.
47
+ *
48
+ * @default +
49
+ * @memberof IonIntlTelInputComponent
50
+ */
51
+ dialCodePrefix: '+' | '00';
52
+ /**
53
+ * Determines whether to select automatic country based on user input.
54
+ * See more on.
55
+ *
56
+ * @default true
57
+ * @memberof IonIntlTelInputComponent
58
+ */
59
+ enableAutoCountrySelect: boolean;
60
+ /**
61
+ * Determines whether an example number will be shown as a placeholder in input.
62
+ * See more on.
63
+ *
64
+ * @default true
65
+ * @memberof IonIntlTelInputComponent
66
+ */
67
+ enablePlaceholder: boolean;
68
+ /**
69
+ * A fallaback placeholder to be used if no example number is found for a country.
70
+ * See more on.
71
+ *
72
+ * @default ''
73
+ * @memberof IonIntlTelInputComponent
74
+ */
75
+ fallbackPlaceholder: string;
76
+ /**
77
+ * If a custom placeholder is needed for input.
78
+ * If this property is set it will override `enablePlaceholder` and only this placeholder will be shown.
79
+ * See more on.
80
+ *
81
+ * @default ''
82
+ * @memberof IonIntlTelInputComponent
83
+ */
84
+ inputPlaceholder: string;
85
+ /**
86
+ * Instead of an example phone number, use a x pattern. Such as xxx-xxx-xxxx, this will be obtained
87
+ * based on the example number from the google phone lib.
88
+ *
89
+ * @default true
90
+ * @memberof IonIntlTelInputComponent
91
+ */
92
+ usePatternPlaceholder: boolean;
93
+ /**
94
+ * Maximum Length for input.
95
+ * See more on.
96
+ *
97
+ * @default '15'
98
+ * @memberof IonIntlTelInputComponent
99
+ */
100
+ maxLength: string;
101
+ /**
102
+ * Title of modal opened to select country dial code.
103
+ * See more on.
104
+ *
105
+ * @default 'Select Country'
106
+ * @memberof IonIntlTelInputComponent
107
+ */
108
+ modalTitle: string;
109
+ /**
110
+ * CSS class to attach to dial code selectionmodal.
111
+ * See more on.
112
+ *
113
+ * @default 'ion-intl-tel-modal'
114
+ * @memberof IonIntlTelInputComponent
115
+ */
116
+ modalCssClass: string;
117
+ /**
118
+ * Placeholder for input in dial code selection modal.
119
+ * See more on.
120
+ *
121
+ * @default 'Enter country name'
122
+ * @memberof IonIntlTelInputComponent
123
+ */
124
+ modalSearchPlaceholder: string;
125
+ /**
126
+ * Text for close button in dial code selection modal.
127
+ * See more on.
128
+ *
129
+ * @default 'Close'
130
+ * @memberof IonIntlTelInputComponent
131
+ */
132
+ modalCloseText: string;
133
+ /**
134
+ * Slot for close button in dial code selection modal. [Ionic slots](https://ionicframework.com/docs/api/item) are supported
135
+ * See more on.
136
+ *
137
+ * @default 'end'
138
+ * @memberof IonIntlTelInputComponent
139
+ */
140
+ modalCloseButtonSlot: 'start' | 'end' | 'primary' | 'secondary';
141
+ /**
142
+ * Determines whether dial code selection modal should be searchable or not.
143
+ * See more on.
144
+ *
145
+ * @default 'true'
146
+ * @memberof IonIntlTelInputComponent
147
+ */
148
+ modalCanSearch: boolean;
149
+ /**
150
+ * Determines whether dial code selection modal is closed on backdrop click.
151
+ * See more on.
152
+ *
153
+ * @default 'true'
154
+ * @memberof IonIntlTelInputComponent
155
+ */
156
+ modalShouldBackdropClose: boolean;
157
+ /**
158
+ * Determines whether input should be focused when dial code selection modal is opened.
159
+ * See more on.
160
+ *
161
+ * @default 'true'
162
+ * @memberof IonIntlTelInputComponent
163
+ */
164
+ modalShouldFocusSearchbar: boolean;
165
+ /**
166
+ * Message to show when no countries are found for search in dial code selection modal.
167
+ * See more on.
168
+ *
169
+ * @default 'true'
170
+ * @memberof IonIntlTelInputComponent
171
+ */
172
+ modalSearchFailText: string;
173
+ /**
174
+ * List of iso codes of manually selected countries as string, which will appear in the dropdown.
175
+ * **Note**: `onlyCountries` should be a string array of country iso codes.
176
+ * See more on.
177
+ *
178
+ * @default null
179
+ * @memberof IonIntlTelInputComponent
180
+ */
181
+ onlyCountries: Array<string>;
182
+ /**
183
+ * List of iso codesn as string of countries, which will appear at the top in dial code selection modal.
184
+ * **Note**: `preferredCountries` should be a string array of country iso codes.
185
+ * See more on.
186
+ *
187
+ * @default null
188
+ * @memberof IonIntlTelInputComponent
189
+ */
190
+ preferredCountries: Array<string>;
191
+ /**
192
+ * Determines whether first country should be selected in dial code select or not.
193
+ * See more on.
194
+ *
195
+ * @default true
196
+ * @memberof IonIntlTelInputComponent
197
+ */
198
+ selectFirstCountry: boolean;
199
+ /**
200
+ * Determines whether to visually separate dialcode into the drop down element.
201
+ * See more on.
202
+ *
203
+ * @default true
204
+ * @memberof IonIntlTelInputComponent
205
+ */
206
+ separateDialCode: boolean;
207
+ /**
208
+ * Fires when the Phone number Input is changed.
209
+ * See more on.
210
+ *
211
+ * @memberof IonIntlTelInputComponent
212
+ */
213
+ readonly numberChange: EventEmitter<Event>;
214
+ /**
215
+ * Fires when the Phone number Input is blurred.
216
+ * See more on.
217
+ *
218
+ * @memberof IonIntlTelInputComponent
219
+ */
220
+ readonly numberBlur: EventEmitter<void>;
221
+ /**
222
+ * Fires when the Phone number Input is focused.
223
+ * See more on.
224
+ *
225
+ * @memberof IonIntlTelInputComponent
226
+ */
227
+ readonly numberFocus: EventEmitter<void>;
228
+ /**
229
+ * Fires when the user is typing in Phone number Input.
230
+ * See more on.
231
+ *
232
+ * @memberof IonIntlTelInputComponent
233
+ */
234
+ readonly numberInput: EventEmitter<KeyboardEvent>;
235
+ /**
236
+ * Fires when the dial code selection is changed.
237
+ * See more on.
238
+ *
239
+ * @memberof IonIntlTelInputComponent
240
+ */
241
+ readonly codeChange: EventEmitter<any>;
242
+ /**
243
+ * Fires when the dial code selection modal is opened.
244
+ * See more on.
245
+ *
246
+ * @memberof IonIntlTelInputComponent
247
+ */
248
+ readonly codeOpen: EventEmitter<any>;
249
+ /**
250
+ * Fires when the dial code selection modal is closed.
251
+ * See more on.
252
+ *
253
+ * @memberof IonIntlTelInputComponent
254
+ */
255
+ readonly codeClose: EventEmitter<any>;
256
+ /**
257
+ * Fires when a dial code is selected in dial code selection modal.
258
+ * See more on.
259
+ *
260
+ * @memberof IonIntlTelInputComponent
261
+ */
262
+ readonly codeSelect: EventEmitter<any>;
263
+ numberInputEl: IonInput;
264
+ private _value;
265
+ country: CountryI;
266
+ phoneNumber: string;
267
+ countries: CountryI[];
268
+ disabled: boolean;
269
+ phoneUtil: any;
270
+ onTouched: () => void;
271
+ propagateChange: (_: string | null) => void;
272
+ constructor(el: ElementRef, platform: Platform, ionIntlTelInputService: IonIntlTelInputService, modalCtrl: ModalController);
273
+ get value(): string | null;
274
+ set value(value: string | null);
275
+ emitValueChange(change: string | null): void;
276
+ ngOnInit(): void;
277
+ ngOnChanges(changes: SimpleChanges): void;
278
+ registerOnChange(fn: any): void;
279
+ registerOnTouched(fn: any): void;
280
+ writeValue(obj: string): void;
281
+ setDisabledState(isDisabled: boolean): void;
282
+ fillValues(value: string): void;
283
+ hasValue(): boolean;
284
+ onCodeOpen(): void;
285
+ openModal(): Promise<void>;
286
+ onCodeChange(): void;
287
+ onCodeClose(): void;
288
+ onCodeSelect(): void;
289
+ onIonNumberChange(event: Event): void;
290
+ onIonNumberBlur(): void;
291
+ onIonNumberFocus(): void;
292
+ onIonNumberInput(event: KeyboardEvent): void;
293
+ onNumberChange(): void;
294
+ onNumberKeyDown(event: KeyboardEvent): void;
295
+ private filterCountries;
296
+ private getCountryIsoCode;
297
+ private fetchAllCountries;
298
+ private getCountryByIsoCode;
299
+ private isNullOrWhiteSpace;
300
+ private removeDialCode;
301
+ private setCountry;
302
+ private setPreferredCountries;
303
+ private startsWith;
304
+ private getClasses;
305
+ private setClasses;
306
+ private setIonicClasses;
307
+ private setItemClass;
308
+ static ɵfac: i0.ɵɵFactoryDeclaration<IonIntlTelInputComponent, never>;
309
+ static ɵcmp: i0.ɵɵComponentDeclaration<IonIntlTelInputComponent, "ion-intl-tel-input", never, { "isEnabled": "isEnabled"; "autocomplete": "autocomplete"; "required": "required"; "defaultCountryiso": "defaultCountryiso"; "dialCodePrefix": "dialCodePrefix"; "enableAutoCountrySelect": "enableAutoCountrySelect"; "enablePlaceholder": "enablePlaceholder"; "fallbackPlaceholder": "fallbackPlaceholder"; "inputPlaceholder": "inputPlaceholder"; "usePatternPlaceholder": "usePatternPlaceholder"; "maxLength": "maxLength"; "modalTitle": "modalTitle"; "modalCssClass": "modalCssClass"; "modalSearchPlaceholder": "modalSearchPlaceholder"; "modalCloseText": "modalCloseText"; "modalCloseButtonSlot": "modalCloseButtonSlot"; "modalCanSearch": "modalCanSearch"; "modalShouldBackdropClose": "modalShouldBackdropClose"; "modalShouldFocusSearchbar": "modalShouldFocusSearchbar"; "modalSearchFailText": "modalSearchFailText"; "onlyCountries": "onlyCountries"; "preferredCountries": "preferredCountries"; "selectFirstCountry": "selectFirstCountry"; "separateDialCode": "separateDialCode"; }, { "numberChange": "numberChange"; "numberBlur": "numberBlur"; "numberFocus": "numberFocus"; "numberInput": "numberInput"; "codeChange": "codeChange"; "codeOpen": "codeOpen"; "codeClose": "codeClose"; "codeSelect": "codeSelect"; }, never, never, false, never>;
310
+ }
@@ -0,0 +1,10 @@
1
+ import { Validator, AbstractControl, ValidationErrors } from '@angular/forms';
2
+ import * as i0 from "@angular/core";
3
+ export declare class IonIntlTelInputValidators {
4
+ static phone(control: AbstractControl): ValidationErrors | null;
5
+ }
6
+ export declare class IonIntlTelInputValidatorDirective implements Validator {
7
+ validate(control: AbstractControl): ValidationErrors | null;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<IonIntlTelInputValidatorDirective, never>;
9
+ static ɵdir: i0.ɵɵDirectiveDeclaration<IonIntlTelInputValidatorDirective, "[ionIntlTelInputValid]", never, {}, {}, never, never, false, never>;
10
+ }
@@ -0,0 +1,13 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./pipes/country-placeholder";
3
+ import * as i2 from "./ion-intl-tel-input.directive";
4
+ import * as i3 from "./ion-intl-tel-input/ion-intl-tel-input.component";
5
+ import * as i4 from "./ion-intl-tel-input/ion-intl-tel-code.component";
6
+ import * as i5 from "@angular/common";
7
+ import * as i6 from "@angular/forms";
8
+ import * as i7 from "@ionic/angular";
9
+ export declare class IonIntlTelInputModule {
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<IonIntlTelInputModule, never>;
11
+ static ɵmod: i0.ɵɵNgModuleDeclaration<IonIntlTelInputModule, [typeof i1.CountryPlaceholder, typeof i2.IonIntlTelInputValidatorDirective, typeof i3.IonIntlTelInputComponent, typeof i4.IonIntTelCodeComponent], [typeof i5.CommonModule, typeof i6.FormsModule, typeof i7.IonicModule], [typeof i3.IonIntlTelInputComponent, typeof i2.IonIntlTelInputValidatorDirective, typeof i4.IonIntTelCodeComponent]>;
12
+ static ɵinj: i0.ɵɵInjectorDeclaration<IonIntlTelInputModule>;
13
+ }
@@ -0,0 +1,9 @@
1
+ import { CountryI } from './models/country.model';
2
+ import * as i0 from "@angular/core";
3
+ export declare class IonIntlTelInputService {
4
+ countryList: CountryI[];
5
+ constructor();
6
+ getListOfCountries(): any;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<IonIntlTelInputService, never>;
8
+ static ɵprov: i0.ɵɵInjectableDeclaration<IonIntlTelInputService>;
9
+ }
@@ -0,0 +1,10 @@
1
+ export interface CountryI {
2
+ name: string;
3
+ isoCode: string;
4
+ dialCode: string;
5
+ flagClass: string;
6
+ priority: number;
7
+ placeholder: string;
8
+ areaCodes?: Array<string>;
9
+ displayDialCode?: string;
10
+ }
@@ -0,0 +1,6 @@
1
+ export interface IonIntlTelInputModel {
2
+ internationalNumber: string;
3
+ nationalNumber: string;
4
+ isoCode: string;
5
+ dialCode: string;
6
+ }
@@ -0,0 +1,8 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import { CountryI } from '../models/country.model';
3
+ import * as i0 from "@angular/core";
4
+ export declare class CountryPlaceholder implements PipeTransform {
5
+ transform(country: CountryI, inputPlaceholder: string, separateDialCode: boolean, fallbackPlaceholder: string, usePatternPlaceholder: boolean): string;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<CountryPlaceholder, never>;
7
+ static ɵpipe: i0.ɵɵPipeDeclaration<CountryPlaceholder, "countryPlaceholder", false>;
8
+ }
@@ -0,0 +1 @@
1
+ export declare const raf: (h: any) => any;
package/package.json ADDED
@@ -0,0 +1,64 @@
1
+ {
2
+ "version": "2.0.0",
3
+ "name": "@crodriguezdominguez/ion-intl-tel-input",
4
+ "title": "Ion Intl Tel Input",
5
+ "private": false,
6
+ "description": "An Ionic component for International Phone Number Input, that allows all countries, validation with google phone lib, limited countries, preferred countries, virtual scrolling and much more.",
7
+ "author": {
8
+ "name": "Azzam Asghar",
9
+ "url": "https://github.com/azzamasghar1"
10
+ },
11
+ "license": "See license in LICENSE",
12
+ "homepage": "https://github.com/azzamasghar1/ion-intl-tel-input",
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "https://github.com/azzamasghar1/ion-intl-tel-input"
16
+ },
17
+ "bugs": {
18
+ "url": "https://github.com/azzamasghar1/ion-intl-tel-input/issues"
19
+ },
20
+ "keywords": [
21
+ "ionic",
22
+ "ionic 2",
23
+ "ionic 3",
24
+ "ionic 4",
25
+ "ion-intl-tel-input",
26
+ "intl tel input",
27
+ "intl",
28
+ "tel",
29
+ "input",
30
+ "international",
31
+ "phone",
32
+ "phonenumber",
33
+ "telephone",
34
+ "number",
35
+ "elktech"
36
+ ],
37
+ "peerDependencies": {
38
+ "google-libphonenumber": "^3.2.6",
39
+ "flag-icon-css": "^4.1.7"
40
+ },
41
+ "module": "fesm2015/crodriguezdominguez-ion-intl-tel-input.mjs",
42
+ "es2020": "fesm2020/crodriguezdominguez-ion-intl-tel-input.mjs",
43
+ "esm2020": "esm2020/crodriguezdominguez-ion-intl-tel-input.mjs",
44
+ "fesm2020": "fesm2020/crodriguezdominguez-ion-intl-tel-input.mjs",
45
+ "fesm2015": "fesm2015/crodriguezdominguez-ion-intl-tel-input.mjs",
46
+ "typings": "index.d.ts",
47
+ "exports": {
48
+ "./package.json": {
49
+ "default": "./package.json"
50
+ },
51
+ ".": {
52
+ "types": "./index.d.ts",
53
+ "esm2020": "./esm2020/crodriguezdominguez-ion-intl-tel-input.mjs",
54
+ "es2020": "./fesm2020/crodriguezdominguez-ion-intl-tel-input.mjs",
55
+ "es2015": "./fesm2015/crodriguezdominguez-ion-intl-tel-input.mjs",
56
+ "node": "./fesm2015/crodriguezdominguez-ion-intl-tel-input.mjs",
57
+ "default": "./fesm2020/crodriguezdominguez-ion-intl-tel-input.mjs"
58
+ }
59
+ },
60
+ "sideEffects": false,
61
+ "dependencies": {
62
+ "tslib": "^2.3.0"
63
+ }
64
+ }
@@ -0,0 +1,6 @@
1
+ export * from './lib/ion-intl-tel-input.directive';
2
+ export * from './lib/ion-intl-tel-input/ion-intl-tel-input.component';
3
+ export * from './lib/ion-intl-tel-input/ion-intl-tel-code.component';
4
+ export * from './lib/ion-intl-tel-input.service';
5
+ export * from './lib/models/ion-intl-tel-input.model';
6
+ export * from './lib/ion-intl-tel-input.module';