UNPKG

ionic5-international-input

Version:

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.

1,748 lines (1,717 loc) 127 kB
(function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/forms'), require('google-libphonenumber'), require('@ionic/angular'), require('@angular/common'), require('ionic-selectable')) : typeof define === 'function' && define.amd ? define('ionic5-international-input', ['exports', '@angular/core', '@angular/forms', 'google-libphonenumber', '@ionic/angular', '@angular/common', 'ionic-selectable'], factory) : (global = global || self, factory(global['ionic5-international-input'] = {}, global.ng.core, global.ng.forms, global['google-libphonenumber'], global['@ionic/angular'], global.ng.common, global['ionic-selectable'])); }(this, (function (exports, core, forms, googleLibphonenumber, angular, common, ionicSelectable) { 'use strict'; /*! ***************************************************************************** Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABLITY OR NON-INFRINGEMENT. See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. ***************************************************************************** */ /* global Reflect, Promise */ var extendStatics = function(d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; function __extends(d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); } var __assign = function() { __assign = Object.assign || function __assign(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; function __rest(s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; } function __decorate(decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; } function __param(paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); } } function __metadata(metadataKey, metadataValue) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); } function __awaiter(thisArg, _arguments, P, generator) { return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); } function __generator(thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } } function __exportStar(m, exports) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } function __values(o) { var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0; if (m) return m.call(o); return { next: function () { if (o && i >= o.length) o = void 0; return { value: o && o[i++], done: !o }; } }; } function __read(o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); } catch (error) { e = { error: error }; } finally { try { if (r && !r.done && (m = i["return"])) m.call(i); } finally { if (e) throw e.error; } } return ar; } function __spread() { for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); return ar; } function __spreadArrays() { for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j]; return r; }; function __await(v) { return this instanceof __await ? (this.v = v, this) : new __await(v); } function __asyncGenerator(thisArg, _arguments, generator) { if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); var g = generator.apply(thisArg, _arguments || []), i, q = []; return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } } function __asyncDelegator(o) { var i, p; return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; } } function __asyncValues(o) { if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); var m = o[Symbol.asyncIterator], i; return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } } function __makeTemplateObject(cooked, raw) { if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } return cooked; }; function __importStar(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; result.default = mod; return result; } function __importDefault(mod) { return (mod && mod.__esModule) ? mod : { default: mod }; } /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /* const validateInput: ValidatorFn = ( control: FormGroup ): ValidationErrors | null => { const error = { inValid: true }; const isRequired = control.errors && control.errors.required; let phoneNumber: PhoneNumber; try { phoneNumber = PhoneNumberUtil.getInstance().parse( control.value.number, control.value.isoCode ); } catch (e) { if (!isRequired) { return error; } } if (control.value) { if (!phoneNumber) { return error; } else { if ( !PhoneNumberUtil.getInstance().isValidNumberForRegion( phoneNumber, control.value.isoCode ) ) { return error; } } } return; }; */ var /* const validateInput: ValidatorFn = ( control: FormGroup ): ValidationErrors | null => { const error = { inValid: true }; const isRequired = control.errors && control.errors.required; let phoneNumber: PhoneNumber; try { phoneNumber = PhoneNumberUtil.getInstance().parse( control.value.number, control.value.isoCode ); } catch (e) { if (!isRequired) { return error; } } if (control.value) { if (!phoneNumber) { return error; } else { if ( !PhoneNumberUtil.getInstance().isValidNumberForRegion( phoneNumber, control.value.isoCode ) ) { return error; } } } return; }; */ IonIntlTelInputValidators = /** @class */ (function () { function IonIntlTelInputValidators() { } /** * @param {?} control * @return {?} */ IonIntlTelInputValidators.phone = /** * @param {?} control * @return {?} */ function (control) { /** @type {?} */ var error = { phone: true }; /** @type {?} */ var phoneNumber; if (!control.value) { return error; } try { phoneNumber = googleLibphonenumber.PhoneNumberUtil.getInstance().parse(control.value.nationalNumber, control.value.isoCode); } catch (e) { return error; } if (!phoneNumber) { return error; } else { if (!googleLibphonenumber.PhoneNumberUtil.getInstance().isValidNumberForRegion(phoneNumber, control.value.isoCode)) { return error; } } }; return IonIntlTelInputValidators; }()); var IonIntlTelInputValidatorDirective = /** @class */ (function () { function IonIntlTelInputValidatorDirective() { } /** * @param {?} control * @return {?} */ IonIntlTelInputValidatorDirective.prototype.validate = /** * @param {?} control * @return {?} */ function (control) { return IonIntlTelInputValidators.phone(control); }; IonIntlTelInputValidatorDirective.decorators = [ { type: core.Directive, args: [{ // tslint:disable-next-line: directive-selector selector: '[ionIntlTelInputValid]', providers: [ { provide: forms.NG_VALIDATORS, useExisting: IonIntlTelInputValidatorDirective, multi: true, }, ], },] } ]; return IonIntlTelInputValidatorDirective; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** @type {?} */ var countries = [ { name: 'Afghanistan', isoCode: 'af', dialCode: '93', displayDialCode: '93', flagClass: 'af', priority: 0, placeholder: '' }, { name: 'Albania', isoCode: 'al', dialCode: '355', displayDialCode: '355', flagClass: 'al', priority: 0, placeholder: '' }, { name: 'Algeria', isoCode: 'dz', dialCode: '213', displayDialCode: '213', flagClass: 'dz', priority: 0, placeholder: '' }, { name: 'AmericanSamoa', isoCode: 'as', dialCode: '1', displayDialCode: '1 684', flagClass: 'as', priority: 0, areaCodes: [ '684' ], placeholder: '' }, { name: 'Andorra', isoCode: 'ad', dialCode: '376', displayDialCode: '376', flagClass: 'ad', priority: 0, placeholder: '' }, { name: 'Angola', isoCode: 'ao', dialCode: '244', displayDialCode: '244', flagClass: 'ao', priority: 0, placeholder: '' }, { name: 'Anguilla', isoCode: 'ai', dialCode: '1', displayDialCode: '1 264', flagClass: 'ai', priority: 0, areaCodes: [ '264' ], placeholder: '' }, { name: 'Antigua and Barbuda', isoCode: 'ag', dialCode: '1', displayDialCode: '1 268', flagClass: 'ag', priority: 0, areaCodes: [ '268' ], placeholder: '' }, { name: 'Argentina', isoCode: 'ar', dialCode: '54', displayDialCode: '54', flagClass: 'ar', priority: 0, placeholder: '' }, { name: 'Armenia', isoCode: 'am', dialCode: '374', displayDialCode: '374', flagClass: 'am', priority: 0, placeholder: '' }, { name: 'Aruba', isoCode: 'aw', dialCode: '297', displayDialCode: '297', flagClass: 'aw', priority: 0, placeholder: '' }, { name: 'Australia', isoCode: 'au', dialCode: '61', displayDialCode: '61', flagClass: 'au', priority: 0, placeholder: '' }, { name: 'Austria', isoCode: 'at', dialCode: '43', displayDialCode: '43', flagClass: 'at', priority: 0, placeholder: '' }, { name: 'Azerbaijan', isoCode: 'az', dialCode: '994', displayDialCode: '994', flagClass: 'az', priority: 0, placeholder: '' }, { name: 'Bahamas', isoCode: 'bs', dialCode: '1', displayDialCode: '1 242', flagClass: 'bs', priority: 0, areaCodes: [ '242' ], placeholder: '' }, { name: 'Bahrain', isoCode: 'bh', dialCode: '973', displayDialCode: '973', flagClass: 'bh', priority: 0, placeholder: '' }, { name: 'Bangladesh', isoCode: 'bd', dialCode: '880', displayDialCode: '880', flagClass: 'bd', priority: 0, placeholder: '' }, { name: 'Barbados', isoCode: 'bb', dialCode: '1', displayDialCode: '1 246', flagClass: 'bb', priority: 0, areaCodes: [ '246' ], placeholder: '' }, { name: 'Belarus', isoCode: 'by', dialCode: '375', displayDialCode: '375', flagClass: 'by', priority: 0, placeholder: '' }, { name: 'Belgium', isoCode: 'be', dialCode: '32', displayDialCode: '32', flagClass: 'be', priority: 0, placeholder: '' }, { name: 'Belize', isoCode: 'bz', dialCode: '501', displayDialCode: '501', flagClass: 'bz', priority: 0, placeholder: '' }, { name: 'Benin', isoCode: 'bj', dialCode: '229', displayDialCode: '229', flagClass: 'bj', priority: 0, placeholder: '' }, { name: 'Bermuda', isoCode: 'bm', dialCode: '1', displayDialCode: '1 441', flagClass: 'bm', priority: 0, areaCodes: [ '441' ], placeholder: '' }, { name: 'Bhutan', isoCode: 'bt', dialCode: '975', displayDialCode: '975', flagClass: 'bt', priority: 0, placeholder: '' }, { name: 'Bolivia, Plurinational State of', isoCode: 'bo', dialCode: '591', displayDialCode: '591', flagClass: 'bo', priority: 0, placeholder: '' }, { name: 'Bosnia and Herzegovina', isoCode: 'ba', dialCode: '387', displayDialCode: '387', flagClass: 'ba', priority: 0, placeholder: '' }, { name: 'Botswana', isoCode: 'bw', dialCode: '267', displayDialCode: '267', flagClass: 'bw', priority: 0, placeholder: '' }, { name: 'Brazil', isoCode: 'br', dialCode: '55', displayDialCode: '55', flagClass: 'br', priority: 0, placeholder: '' }, { name: 'British Indian Ocean Territory', isoCode: 'io', dialCode: '246', displayDialCode: '246', flagClass: 'io', priority: 0, placeholder: '' }, { name: 'Virgin Islands, British', isoCode: 'vg', dialCode: '1', displayDialCode: '1 284', flagClass: 'vg', priority: 0, areaCodes: [ '284' ], placeholder: '' }, { name: 'Brunei Darussalam', isoCode: 'bn', dialCode: '673', displayDialCode: '673', flagClass: 'bn', priority: 0, placeholder: '' }, { name: 'Bulgaria', isoCode: 'bg', dialCode: '359', displayDialCode: '359', flagClass: 'bg', priority: 0, placeholder: '' }, { name: 'Burkina Faso', isoCode: 'bf', dialCode: '226', displayDialCode: '226', flagClass: 'bf', priority: 0, placeholder: '' }, { name: 'Burundi', isoCode: 'bi', dialCode: '257', displayDialCode: '257', flagClass: 'bi', priority: 0, placeholder: '' }, { name: 'Cambodia', isoCode: 'kh', dialCode: '855', displayDialCode: '855', flagClass: 'kh', priority: 0, placeholder: '' }, { name: 'Cameroon', isoCode: 'cm', dialCode: '237', displayDialCode: '237', flagClass: 'cm', priority: 0, placeholder: '' }, { name: 'Canada', isoCode: 'ca', dialCode: '1', displayDialCode: '1', flagClass: 'ca', priority: 0, areaCodes: [ '204', '226', '236', '249', '250', '289', '306', '343', '365', '387', '403', '416', '418', '431', '437', '438', '450', '506', '514', '519', '548', '579', '581', '587', '604', '613', '639', '647', '672', '705', '709', '742', '778', '780', '782', '807', '819', '825', '867', '873', '902', '905' ], placeholder: '' }, { name: 'Cape Verde', isoCode: 'cv', dialCode: '238', displayDialCode: '238', flagClass: 'cv', priority: 0, placeholder: '' }, { name: 'Cayman Islands', isoCode: 'ky', dialCode: ' 345', displayDialCode: '345', flagClass: 'ky', priority: 0, areaCodes: [ '345' ], placeholder: '' }, { name: 'Central African Republic', isoCode: 'cf', dialCode: '236', displayDialCode: '236', flagClass: 'cf', priority: 0, placeholder: '' }, { name: 'Chad', isoCode: 'td', dialCode: '235', displayDialCode: '235', flagClass: 'td', priority: 0, placeholder: '' }, { name: 'Chile', isoCode: 'cl', dialCode: '56', displayDialCode: '56', flagClass: 'cl', priority: 0, placeholder: '' }, { name: 'China', isoCode: 'cn', dialCode: '86', displayDialCode: '86', flagClass: 'cn', priority: 0, placeholder: '' }, { name: 'Christmas Island', isoCode: 'cx', dialCode: '61', displayDialCode: '61', flagClass: 'cx', priority: 0, placeholder: '' }, { name: 'Cocos (Keeling) Islands', isoCode: 'cc', dialCode: '61', displayDialCode: '61', flagClass: 'cc', priority: 0, placeholder: '' }, { name: 'Colombia', isoCode: 'co', dialCode: '57', displayDialCode: '57', flagClass: 'co', priority: 0, placeholder: '' }, { name: 'Comoros', isoCode: 'km', dialCode: '269', displayDialCode: '269', flagClass: 'km', priority: 0, placeholder: '' }, { name: 'Congo, The Democratic Republic of the Congo', isoCode: 'cd', dialCode: '243', displayDialCode: '243', flagClass: 'cd', priority: 0, placeholder: '' }, { name: 'Congo', isoCode: 'cg', dialCode: '242', displayDialCode: '242', flagClass: 'cg', priority: 0, placeholder: '' }, { name: 'Cook Islands', isoCode: 'ck', dialCode: '682', displayDialCode: '682', flagClass: 'ck', priority: 0, placeholder: '' }, { name: 'Costa Rica', isoCode: 'cr', dialCode: '506', displayDialCode: '506', flagClass: 'cr', priority: 0, placeholder: '' }, { name: 'Cote d\'Ivoire', isoCode: 'ci', dialCode: '225', displayDialCode: '225', flagClass: 'ci', priority: 0, placeholder: '' }, { name: 'Croatia', isoCode: 'hr', dialCode: '385', displayDialCode: '385', flagClass: 'hr', priority: 0, placeholder: '' }, { name: 'Cuba', isoCode: 'cu', dialCode: '53', displayDialCode: '53', flagClass: 'cu', priority: 0, placeholder: '' }, { name: 'Cyprus', isoCode: 'cy', dialCode: '357', displayDialCode: '357', flagClass: 'cy', priority: 0, placeholder: '' }, { name: 'Czech Republic', isoCode: 'cz', dialCode: '420', displayDialCode: '420', flagClass: 'cz', priority: 0, placeholder: '' }, { name: 'Denmark', isoCode: 'dk', dialCode: '45', displayDialCode: '45', flagClass: 'dk', priority: 0, placeholder: '' }, { name: 'Djibouti', isoCode: 'dj', dialCode: '253', displayDialCode: '253', flagClass: 'dj', priority: 0, placeholder: '' }, { name: 'Dominica', isoCode: 'dm', dialCode: '1', displayDialCode: '1 767', flagClass: 'dm', priority: 0, areaCodes: [ '767' ], placeholder: '' }, { name: 'Dominican Republic', isoCode: 'do', dialCode: '1', displayDialCode: '1 849', flagClass: 'do', priority: 0, areaCodes: [ '809', '829', '849' ], placeholder: '' }, { name: 'Ecuador', isoCode: 'ec', dialCode: '593', displayDialCode: '593', flagClass: 'ec', priority: 0, placeholder: '' }, { name: 'Egypt', isoCode: 'eg', dialCode: '20', displayDialCode: '20', flagClass: 'eg', priority: 0, placeholder: '' }, { name: 'El Salvador', isoCode: 'sv', dialCode: '503', displayDialCode: '503', flagClass: 'sv', priority: 0, placeholder: '' }, { name: 'Equatorial Guinea', isoCode: 'gq', dialCode: '240', displayDialCode: '240', flagClass: 'gq', priority: 0, placeholder: '' }, { name: 'Eritrea', isoCode: 'er', dialCode: '291', displayDialCode: '291', flagClass: 'er', priority: 0, placeholder: '' }, { name: 'Estonia', isoCode: 'ee', dialCode: '372', displayDialCode: '372', flagClass: 'ee', priority: 0, placeholder: '' }, { name: 'Ethiopia', isoCode: 'et', dialCode: '251', displayDialCode: '251', flagClass: 'et', priority: 0, placeholder: '' }, { name: 'Falkland Islands (Malvinas)', isoCode: 'fk', dialCode: '500', displayDialCode: '500', flagClass: 'fk', priority: 0, placeholder: '' }, { name: 'Faroe Islands', isoCode: 'fo', dialCode: '298', displayDialCode: '298', flagClass: 'fo', priority: 0, placeholder: '' }, { name: 'Fiji', isoCode: 'fj', dialCode: '679', displayDialCode: '679', flagClass: 'fj', priority: 0, placeholder: '' }, { name: 'Finland', isoCode: 'fi', dialCode: '358', displayDialCode: '358', flagClass: 'fi', priority: 0, placeholder: '' }, { name: 'France', isoCode: 'fr', dialCode: '33', displayDialCode: '33', flagClass: 'fr', priority: 0, placeholder: '' }, { name: 'French Guiana', isoCode: 'gf', dialCode: '594', displayDialCode: '594', flagClass: 'gf', priority: 0, placeholder: '' }, { name: 'French Polynesia', isoCode: 'pf', dialCode: '689', displayDialCode: '689', flagClass: 'pf', priority: 0, placeholder: '' }, { name: 'Gabon', isoCode: 'ga', dialCode: '241', displayDialCode: '241', flagClass: 'ga', priority: 0, placeholder: '' }, { name: 'Gambia', isoCode: 'gm', dialCode: '220', displayDialCode: '220', flagClass: 'gm', priority: 0, placeholder: '' }, { name: 'Georgia', isoCode: 'ge', dialCode: '995', displayDialCode: '995', flagClass: 'ge', priority: 0, placeholder: '' }, { name: 'Germany', isoCode: 'de', dialCode: '49', displayDialCode: '49', flagClass: 'de', priority: 0, placeholder: '' }, { name: 'Ghana', isoCode: 'gh', dialCode: '233', displayDialCode: '233', flagClass: 'gh', priority: 0, placeholder: '' }, { name: 'Gibraltar', isoCode: 'gi', dialCode: '350', displayDialCode: '350', flagClass: 'gi', priority: 0, placeholder: '' }, { name: 'Greece', isoCode: 'gr', dialCode: '30', displayDialCode: '30', flagClass: 'gr', priority: 0, placeholder: '' }, { name: 'Greenland', isoCode: 'gl', dialCode: '299', displayDialCode: '299', flagClass: 'gl', priority: 0, placeholder: '' }, { name: 'Grenada', isoCode: 'gd', dialCode: '1', displayDialCode: '1 473', flagClass: 'gd', priority: 0, areaCodes: [ '473' ], placeholder: '' }, { name: 'Guadeloupe', isoCode: 'gp', dialCode: '590', displayDialCode: '590', flagClass: 'gp', priority: 0, placeholder: '' }, { name: 'Guam', isoCode: 'gu', dialCode: '1', displayDialCode: '1 671', flagClass: 'gu', priority: 0, areaCodes: [ '671' ], placeholder: '' }, { name: 'Guatemala', isoCode: 'gt', dialCode: '502', displayDialCode: '502', flagClass: 'gt', priority: 0, placeholder: '' }, { name: 'Guernsey', isoCode: 'gg', dialCode: '44', displayDialCode: '44', flagClass: 'gg', priority: 0, areaCodes: [ '1481' ], placeholder: '' }, { name: 'Guinea', isoCode: 'gn', dialCode: '224', displayDialCode: '224', flagClass: 'gn', priority: 0, placeholder: '' }, { name: 'Guinea-Bissau', isoCode: 'gw', dialCode: '245', displayDialCode: '245', flagClass: 'gw', priority: 0, placeholder: '' }, { name: 'Guyana', isoCode: 'gy', dialCode: '595', displayDialCode: '595', flagClass: 'gy', priority: 0, placeholder: '' }, { name: 'Haiti', isoCode: 'ht', dialCode: '509', displayDialCode: '509', flagClass: 'ht', priority: 0, placeholder: '' }, { name: 'Honduras', isoCode: 'hn', dialCode: '504', displayDialCode: '504', flagClass: 'hn', priority: 0, placeholder: '' }, { name: 'Hong Kong', isoCode: 'hk', dialCode: '852', displayDialCode: '852', flagClass: 'hk', priority: 0, placeholder: '' }, { name: 'Hungary', isoCode: 'hu', dialCode: '36', displayDialCode: '36', flagClass: 'hu', priority: 0, placeholder: '' }, { name: 'Iceland', isoCode: 'is', dialCode: '354', displayDialCode: '354', flagClass: 'is', priority: 0, placeholder: '' }, { name: 'India', isoCode: 'in', dialCode: '91', displayDialCode: '91', flagClass: 'in', priority: 0, placeholder: '' }, { name: 'Indonesia', isoCode: 'id', dialCode: '62', displayDialCode: '62', flagClass: 'id', priority: 0, placeholder: '' }, { name: 'Iran, Islamic Republic of Persian Gulf', isoCode: 'ir', dialCode: '98', displayDialCode: '98', flagClass: 'ir', priority: 0, placeholder: '' }, { name: 'Iraq', isoCode: 'iq', dialCode: '964', displayDialCode: '964', flagClass: 'iq', priority: 0, placeholder: '' }, { name: 'Ireland', isoCode: 'ie', dialCode: '353', displayDialCode: '353', flagClass: 'ie', priority: 0, placeholder: '' }, { name: 'Isle of Man', isoCode: 'im', dialCode: '44', displayDialCode: '44', flagClass: 'im', priority: 0, areaCodes: [ '1624' ], placeholder: '' }, { name: 'Israel', isoCode: 'il', dialCode: '972', displayDialCode: '972', flagClass: 'il', priority: 0, placeholder: '' }, { name: 'Italy', isoCode: 'it', dialCode: '39', displayDialCode: '39', flagClass: 'it', priority: 0, placeholder: '' }, { name: 'Jamaica', isoCode: 'jm', dialCode: '1', displayDialCode: '1 876', flagClass: 'jm', priority: 0, areaCodes: [ '876' ], placeholder: '' }, { name: 'Japan', isoCode: 'jp', dialCode: '81', displayDialCode: '81', flagClass: 'jp', priority: 0, placeholder: '' }, { name: 'Jersey', isoCode: 'je', dialCode: '44', displayDialCode: '44', flagClass: 'je', priority: 0, areaCodes: [ '1534' ], placeholder: '' }, { name: 'Jordan', isoCode: 'jo', dialCode: '962', displayDialCode: '962', flagClass: 'jo', priority: 0, placeholder: '' }, { name: 'Kazakhstan', isoCode: 'kz', dialCode: '7', displayDialCode: '7 7', flagClass: 'kz', priority: 0, areaCodes: [ '7' ], placeholder: '' }, { name: 'Kenya', isoCode: 'ke', dialCode: '254', displayDialCode: '254', flagClass: 'ke', priority: 0, placeholder: '' }, { name: 'Kiribati', isoCode: 'ki', dialCode: '686', displayDialCode: '686', flagClass: 'ki', priority: 0, placeholder: '' }, { name: 'Kuwait', isoCode: 'kw', dialCode: '965', displayDialCode: '965', flagClass: 'kw', priority: 0, placeholder: '' }, { name: 'Kyrgyzstan', isoCode: 'kg', dialCode: '996', displayDialCode: '996', flagClass: 'kg', priority: 0, placeholder: '' }, { name: 'Laos', isoCode: 'la', dialCode: '856', displayDialCode: '856', flagClass: 'la', priority: 0, placeholder: '' }, { name: 'Latvia', isoCode: 'lv', dialCode: '371', displayDialCode: '371', flagClass: 'lv', priority: 0, placeholder: '' }, { name: 'Lebanon', isoCode: 'lb', dialCode: '961', displayDialCode: '961', flagClass: 'lb', priority: 0, placeholder: '' }, { name: 'Lesotho', isoCode: 'ls', dialCode: '266', displayDialCode: '266', flagClass: 'ls', priority: 0, placeholder: '' }, { name: 'Liberia', isoCode: 'lr', dialCode: '231', displayDialCode: '231', flagClass: 'lr', priority: 0, placeholder: '' }, { name: 'Libyan Arab Jamahiriya', isoCode: 'ly', dialCode: '218', displayDialCode: '218', flagClass: 'ly', priority: 0, placeholder: '' }, { name: 'Liechtenstein', isoCode: 'li', dialCode: '423', displayDialCode: '423', flagClass: 'li', priority: 0, placeholder: '' }, { name: 'Lithuania', isoCode: 'lt', dialCode: '370', displayDialCode: '370', flagClass: 'lt', priority: 0, placeholder: '' }, { name: 'Luxembourg', isoCode: 'lu', dialCode: '352', displayDialCode: '352', flagClass: 'lu', priority: 0, placeholder: '' }, { name: 'Macao', isoCode: 'mo', dialCode: '853', displayDialCode: '853', flagClass: 'mo', priority: 0, placeholder: '' }, { name: 'Macedonia', isoCode: 'mk', dialCode: '389', displayDialCode: '389', flagClass: 'mk', priority: 0, placeholder: '' }, { name: 'Madagascar', isoCode: 'mg', dialCode: '261', displayDialCode: '261', flagClass: 'mg', priority: 0, placeholder: '' }, { name: 'Malawi', isoCode: 'mw', dialCode: '265', displayDialCode: '265', flagClass: 'mw', priority: 0, placeholder: '' }, { name: 'Malaysia', isoCode: 'my', dialCode: '60', displayDialCode: '60', flagClass: 'my', priority: 0, placeholder: '' }, { name: 'Maldives', isoCode: 'mv', dialCode: '960', displayDialCode: '960', flagClass: 'mv', priority: 0, placeholder: '' }, { name: 'Mali', isoCode: 'ml', dialCode: '223', displayDialCode: '223', flagClass: 'ml', priority: 0, placeholder: '' }, { name: 'Malta', isoCode: 'mt', dialCode: '356', displayDialCode: '356', flagClass: 'mt', priority: 0, placeholder: '' }, { name: 'Marshall Islands', isoCode: 'mh', dialCode: '692', displayDialCode: '692', flagClass: 'mh', priority: 0, placeholder: '' }, { name: 'Martinique', isoCode: 'mq', dialCode: '596', displayDialCode: '596', flagClass: 'mq', priority: 0, placeholder: '' }, { name: 'Mauritania', isoCode: 'mr', dialCode: '222', displayDialCode: '222', flagClass: 'mr', priority: 0, placeholder: '' }, { name: 'Mauritius', isoCode: 'mu', dialCode: '230', displayDialCode: '230', flagClass: 'mu', priority: 0, placeholder: '' }, { name: 'Mayotte', isoCode: 'yt', dialCode: '262', displayDialCode: '262', flagClass: 'yt', priority: 0, placeholder: '' }, { name: 'Mexico', isoCode: 'mx', dialCode: '52', displayDialCode: '52', flagClass: 'mx', priority: 0, placeholder: '' }, { name: 'Micronesia, Federated States of Micronesia', isoCode: 'fm', dialCode: '691', displayDialCode: '691', flagClass: 'fm', priority: 0, placeholder: '' }, { name: 'Moldova', isoCode: 'md', dialCode: '373', displayDialCode: '373', flagClass: 'md', priority: 0, placeholder: '' }, { name: 'Monaco', isoCode: 'mc', dialCode: '377', displayDialCode: '377', flagClass: 'mc', priority: 0, placeholder: '' }, { name: 'Mongolia', isoCode: 'mn', dialCode: '976', displayDialCode: '976', flagClass: 'mn', priority: 0, placeholder: '' }, { name: 'Montenegro', isoCode: 'me', dialCode: '382', displayDialCode: '382', flagClass: 'me', priority: 0, placeholder: '' }, { name: 'Montserrat', isoCode: 'ms', dialCode: '1', displayDialCode: '1664', flagClass: 'ms', priority: 0, areaCodes: [ '664' ], placeholder: '' }, { name: 'Morocco', isoCode: 'ma', dialCode: '212', displayDialCode: '212', flagClass: 'ma', priority: 0, placeholder: '' }, { name: 'Mozambique', isoCode: 'mz', dialCode: '258', displayDialCode: '258', flagClass: 'mz', priority: 0, placeholder: '' }, { name: 'Myanmar', isoCode: 'mm', dialCode: '95', displayDialCode: '95', flagClass: 'mm', priority: 0, placeholder: '' }, { name: 'Namibia', isoCode: 'na', dialCode: '264',