diff --git a/addons/default/visiosoft/base-theme/resources/views/partials/assets.twig b/addons/default/visiosoft/base-theme/resources/views/partials/assets.twig
index 974c67e87..a08bd217d 100644
--- a/addons/default/visiosoft/base-theme/resources/views/partials/assets.twig
+++ b/addons/default/visiosoft/base-theme/resources/views/partials/assets.twig
@@ -8,6 +8,8 @@
{{ asset_add("theme.js", "theme::js/modal_include.js") }}
{{ asset_add("theme.js", "theme::js/select2.js") }}
{{ asset_add("theme.js", "theme::js/params.js") }}
+{{ asset_add("theme.js", "theme::js/intlTelInput.min.js") }}
+{{ asset_add("theme.js", "theme::js/utils.js") }}
{# Theme Scripts #}
{#{{ asset_add("theme.js", "theme::js/plugins/*") }}#}
diff --git a/addons/default/visiosoft/base-theme/resources/views/partials/metadata.twig b/addons/default/visiosoft/base-theme/resources/views/partials/metadata.twig
index 59f8bdb9a..90e8ea8bb 100644
--- a/addons/default/visiosoft/base-theme/resources/views/partials/metadata.twig
+++ b/addons/default/visiosoft/base-theme/resources/views/partials/metadata.twig
@@ -36,6 +36,7 @@
{{ asset_add("theme.css", "theme::css/theme.css") }}
{{ asset_add("theme.css", "theme::css/select2.css") }}
{{ asset_add("theme.css", "theme::css/font-awesome.min.css") }}
+{{ asset_add("theme.css", "theme::css/intlTelInput.css") }}
{{ asset_style("theme.css") }}
diff --git a/addons/default/visiosoft/profile-module/resources/assets/js/intlTelInput.js b/addons/default/visiosoft/profile-module/resources/assets/js/intlTelInput.js
deleted file mode 100644
index 307bd9cd2..000000000
--- a/addons/default/visiosoft/profile-module/resources/assets/js/intlTelInput.js
+++ /dev/null
@@ -1,1493 +0,0 @@
-/*
-intl-tel-input
-version: 0.9.2
-description: A jQuery plugin for entering international telephone numbers
-repository: https://github.com/Bluefieldscom/intl-tel-input.git
-license: MIT
-author: Jack O'Connor (http://jackocnr.com)
-*/
-(function($, window, document, undefined) {
- var pluginName = "intlTelInput", defaults = {
- preferredCountries: [ "tr", "us" ],
- // united states and united kingdom
- initialDialCode: true,
- americaMode: false,
- onlyCountries: []
- };
- function Plugin(element, options) {
- this.element = element;
- this.options = $.extend({}, defaults, options);
- this._defaults = defaults;
- this._name = pluginName;
- this.init();
- }
- Plugin.prototype = {
- init: function() {
- var that = this;
- // process onlyCountries array and update intlTelInput.countries
- // and intlTelInput.countryCodes accordingly
- if (this.options.onlyCountries.length > 0) {
- var newCountries = [], newCountryCodes = {};
- $.each(this.options.onlyCountries, function(i, countryCode) {
- var countryData = that._getCountryData(countryCode);
- if (countryData) {
- newCountries.push(countryData);
- var callingCode = countryData["calling-code"];
- if (newCountryCodes[callingCode]) {
- newCountryCodes[callingCode].push(countryCode);
- } else {
- newCountryCodes[callingCode] = [ countryCode ];
- }
- }
- });
- // update the global data object
- intlTelInput.countries = newCountries;
- intlTelInput.countryCodes = newCountryCodes;
- }
- // process preferred countries - iterate through the preferences,
- // finding the relevant data from the provided intlTelInput.countries array
- var preferredCountries = [];
- $.each(this.options.preferredCountries, function(i, countryCode) {
- var countryData = that._getCountryData(countryCode);
- if (countryData) {
- preferredCountries.push(countryData);
- }
- });
- this.defaultCountry = preferredCountries.length ? preferredCountries[0] : intlTelInput.countries[0];
- // telephone input
- this.telInput = $(this.element);
- // if initialDialCode is enabled, insert the default dial code
- if (this.options.initialDialCode && this.telInput.val() === "") {
- this.telInput.val("+" + this.defaultCountry["calling-code"] + " ");
- }
- // containers (mostly for positioning)
- this.telInput.wrap($("
", {
- "class": "intl-tel-input"
- }));
- var flagsContainer = $("
", {
- "class": "flag-dropdown f16"
- }).insertBefore(this.telInput);
- // currently selected flag (displayed to left of input)
- var selectedFlag = $("
", {
- "class": "selected-flag"
- }).appendTo(flagsContainer);
- // here we default to the first country in the list
- var firstCountry = this.defaultCountry.cca2;
- this.selectedFlagInner = $("
", {
- "class": "flag " + firstCountry
- }).appendTo(selectedFlag);
- // CSS triangle
- $("
", {
- "class": "down-arrow"
- }).appendTo(this.selectedFlagInner);
- // country list contains: preferred countries, then divider, then all countries
- this.countryList = $("
", {
- "class": "country-list hide"
- }).appendTo(flagsContainer);
- if (preferredCountries.length) {
- this._appendListItems(preferredCountries, "preferred");
- $("- ", {
- "class": "divider"
- }).appendTo(this.countryList);
- }
- this._appendListItems(intlTelInput.countries, "");
- this.countryListItems = this.countryList.children(".country");
- // auto select the top one
- this.countryListItems.first().addClass("active");
- // update flag on keyup
- // (by extracting the dial code from the input value)
- this.telInput.keyup(function() {
- var countryCode, alreadySelected = false;
- // try and extract valid dial code from input
- var dialCode = that._getDialCode(that.telInput.val());
- if (dialCode) {
- // check if one of the matching country's is already selected
- var countryCodes = intlTelInput.countryCodes[dialCode];
- $.each(countryCodes, function(i, c) {
- if (that.selectedFlagInner.hasClass(c)) {
- alreadySelected = true;
- }
- });
- countryCode = countryCodes[0];
- } else {
- countryCode = that.defaultCountry.cca2;
- }
- if (!alreadySelected) {
- that._selectFlag(countryCode);
- }
- });
- // trigger it now in case there is already a number in the input
- this.telInput.keyup();
- // toggle country dropdown on click
- selectedFlag.click(function(e) {
- // prevent the click-off-to-close listener from firing
- e.stopPropagation();
- // toggle dropdown
- if (that.countryList.hasClass("hide")) {
- // update highlighting and scroll to active list item
- that.countryListItems.removeClass("highlight");
- var activeListItem = that.countryList.children(".active").addClass("highlight");
- // show it
- that.countryList.removeClass("hide");
- that._scrollTo(activeListItem);
- // listen for typing
- $(document).bind("keydown.intlTelInput", function(e) {
- // up (38) and down (40) to navigate
- if (e.which == 38 || e.which == 40) {
- var current = that.countryList.children(".highlight").first();
- var next = e.which == 38 ? current.prev() : current.next();
- if (next) {
- // skip the divider
- if (next.hasClass("divider")) {
- next = e.which == 38 ? next.prev() : next.next();
- }
- that.countryListItems.removeClass("highlight");
- next.addClass("highlight");
- that._scrollTo(next);
- }
- } else if (e.which == 13) {
- var currentCountry = that.countryList.children(".highlight").first();
- if (currentCountry.length) {
- that._selectListItem(currentCountry);
- }
- } else if (e.which == 9 || e.which == 27) {
- that._closeDropdown();
- } else if (e.which >= 97 && e.which <= 122 || e.which >= 65 && e.which <= 90) {
- var letter = String.fromCharCode(e.which);
- // filter out the countries beginning with that letter
- var countries = that.countryListItems.filter(function() {
- return $(this).text().charAt(0) == letter && !$(this).hasClass("preferred");
- });
- if (countries.length) {
- // if one is already highlighted, then we want the next one
- var highlightedCountry = countries.filter(".highlight").first();
- var listItem;
- // if the next country in the list also starts with that letter
- if (highlightedCountry && highlightedCountry.next() && highlightedCountry.next().text().charAt(0) == letter) {
- listItem = highlightedCountry.next();
- } else {
- listItem = countries.first();
- }
- // update highlighting and scroll
- that.countryListItems.removeClass("highlight");
- listItem.addClass("highlight");
- that._scrollTo(listItem);
- }
- }
- });
- } else {
- // close it
- that._closeDropdown();
- }
- });
- // when mouse over a list item, remove any highlighting from any other items
- this.countryListItems.mouseover(function() {
- that.countryListItems.removeClass("highlight");
- $(this).addClass("highlight");
- });
- // listen for country selection
- this.countryListItems.click(function(e) {
- var listItem = $(e.currentTarget);
- that._selectListItem(listItem);
- });
- // click off to close
- $("html").click(function(e) {
- if (!$(e.target).closest(".country-list").length) {
- // close it
- that._closeDropdown();
- }
- });
- },
- // find the country data for the given country code
- _getCountryData: function(countryCode) {
- for (var i = 0; i < intlTelInput.countries.length; i++) {
- if (intlTelInput.countries[i].cca2 == countryCode) {
- return intlTelInput.countries[i];
- }
- }
- },
- // update the selected flag and the active list item
- _selectFlag: function(countryCode) {
- this.selectedFlagInner.attr("class", "flag " + countryCode);
- // and the active list item
- this.countryListItems.removeClass("active");
- var listItem = this.countryListItems.children(".flag." + countryCode).parent();
- listItem.addClass("active");
- return listItem;
- },
- // update the selected flag, and insert the dial code
- selectCountry: function(countryCode) {
- // check if already selected
- if (!this.selectedFlagInner.hasClass(countryCode)) {
- var listItem = this._selectFlag(countryCode);
- var dialCode = listItem.attr("data-dial-code");
- this.telInput.val("+" + dialCode + " ");
- }
- },
- // called when the user selects a list item from the dropdown
- _selectListItem: function(listItem) {
- var countryCode = listItem.attr("data-country-code");
- // update selected flag
- this.selectedFlagInner.attr("class", "flag " + countryCode);
- // update input value
- var newNumber = this._updateNumber(this.telInput.val(), listItem.attr("data-dial-code"));
- this.telInput.val(newNumber);
- // hide dropdown again
- this._closeDropdown();
- // focus the input
- this.telInput.focus();
- // mark the list item as active (incase they open the dropdown again)
- this.countryListItems.removeClass("active highlight");
- listItem.addClass("active");
- },
- // close the dropdown and unbind any listeners
- _closeDropdown: function() {
- this.countryList.addClass("hide");
- $(document).unbind("keydown.intlTelInput");
- },
- // check if an element is visible within it's container, else scroll until it is
- _scrollTo: function(element) {
- var container = this.countryList;
- var containerHeight = container.height();
- var containerTop = container.offset().top;
- var containerBottom = containerTop + containerHeight;
- var elementHeight = element.outerHeight();
- var elementTop = element.offset().top;
- var elementBottom = elementTop + elementHeight;
- var newScrollTop = elementTop - containerTop + container.scrollTop();
- if (elementTop < containerTop) {
- // scroll up
- container.scrollTop(newScrollTop);
- } else if (elementBottom > containerBottom) {
- // scroll down
- var heightDifference = containerHeight - elementHeight;
- container.scrollTop(newScrollTop - heightDifference);
- }
- },
- // replace any existing dial code with the new one
- _updateNumber: function(inputVal, dialCode) {
- var prevDialCode = "+" + this._getDialCode(inputVal);
- var newDialCode = "+" + dialCode;
- var newNumber;
- // if the previous number contained a valid dial code, replace it
- // (if more than just a plus character)
- if (prevDialCode.length > 1) {
- newNumber = inputVal.replace(prevDialCode, newDialCode);
- // if the old number was just the dial code,
- // then we will need to add the space again
- if (inputVal == prevDialCode) {
- newNumber += " ";
- }
- } else if (inputVal.length && inputVal.substr(0, 1) != "+") {
- // previous number didn't contain a dial code, so persist it
- newNumber = newDialCode + " " + inputVal.trim();
- } else {
- // previous number contained an invalid dial code, so wipe it
- newNumber = newDialCode + " ";
- }
- // if americaMode is enabled, we dont display the dial code for american numbers
- if (this.options.americaMode && newNumber.substring(0, 3) == "+1 ") {
- newNumber = newNumber.substring(3);
- }
- return newNumber;
- },
- // try and extract a valid international dial code from a full telephone number
- _getDialCode: function(inputVal) {
- var firstPart = inputVal.trim().split(" ")[0];
- // only interested in international numbers (starting with a plus)
- if (firstPart.substring(0, 1) == "+") {
- // strip out non-numeric chars (e.g. pluses, spaces, brackets)
- // and grab the first 4 numbers (max length of a dial code is 4)
- var dialCode = firstPart.replace(/\D/g, "").substring(0, 4);
- // try first 4 digits, then 3, then 2, then 1...
- for (var i = dialCode.length; i > 0; i--) {
- dialCode = dialCode.substring(0, i);
- // if we find a match (a valid dial code), then return the dial code
- if (intlTelInput.countryCodes[dialCode]) {
- return dialCode;
- }
- }
- }
- return "";
- },
- // add a country
- to the countryList
container
- _appendListItems: function(countries, className) {
- // we create so many DOM elements, I decided it was faster to build a temp string
- // and then add everything to the DOM in one go at the end
- var tmp = "";
- // for each country
- $.each(countries, function(i, c) {
- // open the list item
- tmp += "- ";
- // add the flag
- tmp += "";
- // and the country name and dial code
- tmp += "" + c.name + "";
- tmp += "+" + c["calling-code"] + "";
- // close the list item
- tmp += "
";
- });
- this.countryList.append(tmp);
- }
- };
- // adapted to allow public functions
- // using https://github.com/jquery-boilerplate/jquery-boilerplate/wiki/Extending-jQuery-Boilerplate
- $.fn[pluginName] = function(options) {
- var args = arguments;
- // Is the first parameter an object (options), or was omitted,
- // instantiate a new instance of the plugin.
- if (options === undefined || typeof options === "object") {
- return this.each(function() {
- if (!$.data(this, "plugin_" + pluginName)) {
- $.data(this, "plugin_" + pluginName, new Plugin(this, options));
- }
- });
- } else if (typeof options === "string" && options[0] !== "_" && options !== "init") {
- // Cache the method call to make it possible to return a value
- var returns;
- this.each(function() {
- var instance = $.data(this, "plugin_" + pluginName);
- // Tests that there's already a plugin-instance
- // and checks that the requested public method exists
- if (instance instanceof Plugin && typeof instance[options] === "function") {
- // Call the method of our plugin instance,
- // and pass it the supplied arguments.
- returns = instance[options].apply(instance, Array.prototype.slice.call(args, 1));
- }
- });
- // If the earlier cached method gives a value back return the value,
- // otherwise return this to preserve chainability.
- return returns !== undefined ? returns : this;
- }
- };
-})(jQuery, window, document);
-
-// Namespaced to prevent clashes
-var intlTelInput = {
- // Array of country objects for the flag dropdown.
- // Each contains a name, country code (ISO 3166-1 alpha-2) and dial code.
- // Originally from https://github.com/mledoze/countries
- // then stripped down by copying the JSON into Chrome dev tools and manipulating it
- // and then using JSON.stringify to print it out as a string again and copy it here.
- // Also commented some countries which we dont yet have flags for.
- countries: [ {
- name: "Afghanistan",
- cca2: "af",
- "calling-code": "93"
- }, {
- name: "Albania",
- cca2: "al",
- "calling-code": "355"
- }, {
- name: "Algeria",
- cca2: "dz",
- "calling-code": "213"
- }, {
- name: "American Samoa",
- cca2: "as",
- "calling-code": "1684"
- }, {
- name: "Andorra",
- cca2: "ad",
- "calling-code": "376"
- }, {
- name: "Angola",
- cca2: "ao",
- "calling-code": "244"
- }, {
- name: "Anguilla",
- cca2: "ai",
- "calling-code": "1264"
- }, {
- name: "Antigua and Barbuda",
- cca2: "ag",
- "calling-code": "1268"
- }, {
- name: "Argentina",
- cca2: "ar",
- "calling-code": "54"
- }, {
- name: "Armenia",
- cca2: "am",
- "calling-code": "374"
- }, {
- name: "Aruba",
- cca2: "aw",
- "calling-code": "297"
- }, {
- name: "Australia",
- cca2: "au",
- "calling-code": "61"
- }, {
- name: "Austria",
- cca2: "at",
- "calling-code": "43"
- }, {
- name: "Azerbaijan",
- cca2: "az",
- "calling-code": "994"
- }, {
- name: "Bahamas",
- cca2: "bs",
- "calling-code": "1242"
- }, {
- name: "Bahrain",
- cca2: "bh",
- "calling-code": "973"
- }, {
- name: "Bangladesh",
- cca2: "bd",
- "calling-code": "880"
- }, {
- name: "Barbados",
- cca2: "bb",
- "calling-code": "1246"
- }, {
- name: "Belarus",
- cca2: "by",
- "calling-code": "375"
- }, {
- name: "Belgium",
- cca2: "be",
- "calling-code": "32"
- }, {
- name: "Belize",
- cca2: "bz",
- "calling-code": "501"
- }, {
- name: "Benin",
- cca2: "bj",
- "calling-code": "229"
- }, {
- name: "Bermuda",
- cca2: "bm",
- "calling-code": "1441"
- }, {
- name: "Bhutan",
- cca2: "bt",
- "calling-code": "975"
- }, {
- name: "Bolivia",
- cca2: "bo",
- "calling-code": "591"
- }, {
- name: "Bosnia and Herzegovina",
- cca2: "ba",
- "calling-code": "387"
- }, {
- name: "Botswana",
- cca2: "bw",
- "calling-code": "267"
- }, {
- name: "Brazil",
- cca2: "br",
- "calling-code": "55"
- }, {
- name: "Brunei Darussalam",
- cca2: "bn",
- "calling-code": "673"
- }, {
- name: "Bulgaria",
- cca2: "bg",
- "calling-code": "359"
- }, {
- name: "Burkina Faso",
- cca2: "bf",
- "calling-code": "226"
- }, {
- name: "Burundi",
- cca2: "bi",
- "calling-code": "257"
- }, {
- name: "Cambodia",
- cca2: "kh",
- "calling-code": "855"
- }, {
- name: "Cameroon",
- cca2: "cm",
- "calling-code": "237"
- }, {
- name: "Canada",
- cca2: "ca",
- "calling-code": "1"
- }, {
- name: "Cape Verde",
- cca2: "cv",
- "calling-code": "238"
- }, {
- name: "Cayman Islands",
- cca2: "ky",
- "calling-code": "1345"
- }, {
- name: "Central African Republic",
- cca2: "cf",
- "calling-code": "236"
- }, {
- name: "Chad",
- cca2: "td",
- "calling-code": "235"
- }, {
- name: "Chile",
- cca2: "cl",
- "calling-code": "56"
- }, {
- name: "China",
- cca2: "cn",
- "calling-code": "86"
- }, {
- name: "Colombia",
- cca2: "co",
- "calling-code": "57"
- }, {
- name: "Comoros",
- cca2: "km",
- "calling-code": "269"
- }, {
- name: "Congo (DRC)",
- cca2: "cd",
- "calling-code": "243"
- }, {
- name: "Congo (Republic)",
- cca2: "cg",
- "calling-code": "242"
- }, {
- name: "Cook Islands",
- cca2: "ck",
- "calling-code": "682"
- }, {
- name: "Costa Rica",
- cca2: "cr",
- "calling-code": "506"
- }, {
- name: "Côte d'Ivoire",
- cca2: "ci",
- "calling-code": "225"
- }, {
- name: "Croatia",
- cca2: "hr",
- "calling-code": "385"
- }, {
- name: "Cuba",
- cca2: "cu",
- "calling-code": "53"
- }, {
- name: "Cyprus",
- cca2: "cy",
- "calling-code": "357"
- }, {
- name: "Czech Republic",
- cca2: "cz",
- "calling-code": "420"
- }, {
- name: "Denmark",
- cca2: "dk",
- "calling-code": "45"
- }, {
- name: "Djibouti",
- cca2: "dj",
- "calling-code": "253"
- }, {
- name: "Dominica",
- cca2: "dm",
- "calling-code": "1767"
- }, {
- name: "Dominican Republic",
- cca2: "do",
- "calling-code": "1809"
- }, {
- name: "Ecuador",
- cca2: "ec",
- "calling-code": "593"
- }, {
- name: "Egypt",
- cca2: "eg",
- "calling-code": "20"
- }, {
- name: "El Salvador",
- cca2: "sv",
- "calling-code": "503"
- }, {
- name: "Equatorial Guinea",
- cca2: "gq",
- "calling-code": "240"
- }, {
- name: "Eritrea",
- cca2: "er",
- "calling-code": "291"
- }, {
- name: "Estonia",
- cca2: "ee",
- "calling-code": "372"
- }, {
- name: "Ethiopia",
- cca2: "et",
- "calling-code": "251"
- }, {
- name: "Faroe Islands",
- cca2: "fo",
- "calling-code": "298"
- }, {
- name: "Fiji",
- cca2: "fj",
- "calling-code": "679"
- }, {
- name: "Finland",
- cca2: "fi",
- "calling-code": "358"
- }, {
- name: "France",
- cca2: "fr",
- "calling-code": "33"
- }, {
- name: "French Polynesia",
- cca2: "pf",
- "calling-code": "689"
- }, {
- name: "Gabon",
- cca2: "ga",
- "calling-code": "241"
- }, {
- name: "Gambia",
- cca2: "gm",
- "calling-code": "220"
- }, {
- name: "Georgia",
- cca2: "ge",
- "calling-code": "995"
- }, {
- name: "Germany",
- cca2: "de",
- "calling-code": "49"
- }, {
- name: "Ghana",
- cca2: "gh",
- "calling-code": "233"
- }, {
- name: "Gibraltar",
- cca2: "gi",
- "calling-code": "350"
- }, {
- name: "Greece",
- cca2: "gr",
- "calling-code": "30"
- }, {
- name: "Greenland",
- cca2: "gl",
- "calling-code": "299"
- }, {
- name: "Grenada",
- cca2: "gd",
- "calling-code": "1473"
- }, {
- name: "Guadeloupe",
- cca2: "gp",
- "calling-code": "590"
- }, {
- name: "Guam",
- cca2: "gu",
- "calling-code": "1671"
- }, {
- name: "Guatemala",
- cca2: "gt",
- "calling-code": "502"
- }, {
- name: "Guernsey",
- cca2: "gg",
- "calling-code": "44"
- }, {
- name: "Guinea",
- cca2: "gn",
- "calling-code": "224"
- }, {
- name: "Guinea-Bissau",
- cca2: "gw",
- "calling-code": "245"
- }, {
- name: "Guyana",
- cca2: "gy",
- "calling-code": "592"
- }, {
- name: "Haiti",
- cca2: "ht",
- "calling-code": "509"
- }, {
- name: "Honduras",
- cca2: "hn",
- "calling-code": "504"
- }, {
- name: "Hong Kong",
- cca2: "hk",
- "calling-code": "852"
- }, {
- name: "Hungary",
- cca2: "hu",
- "calling-code": "36"
- }, {
- name: "Iceland",
- cca2: "is",
- "calling-code": "354"
- }, {
- name: "India",
- cca2: "in",
- "calling-code": "91"
- }, {
- name: "Indonesia",
- cca2: "id",
- "calling-code": "62"
- }, {
- name: "Iran",
- cca2: "ir",
- "calling-code": "98"
- }, {
- name: "Iraq",
- cca2: "iq",
- "calling-code": "964"
- }, {
- name: "Ireland",
- cca2: "ie",
- "calling-code": "353"
- }, {
- name: "Isle of Man",
- cca2: "im",
- "calling-code": "44"
- }, {
- name: "Israel",
- cca2: "il",
- "calling-code": "972"
- }, {
- name: "Italy",
- cca2: "it",
- "calling-code": "39"
- }, {
- name: "Jamaica",
- cca2: "jm",
- "calling-code": "1876"
- }, {
- name: "Japan",
- cca2: "jp",
- "calling-code": "81"
- }, {
- name: "Jersey",
- cca2: "je",
- "calling-code": "44"
- }, {
- name: "Jordan",
- cca2: "jo",
- "calling-code": "962"
- }, {
- name: "Kazakhstan",
- cca2: "kz",
- "calling-code": "7"
- }, {
- name: "Kenya",
- cca2: "ke",
- "calling-code": "254"
- }, {
- name: "Kiribati",
- cca2: "ki",
- "calling-code": "686"
- }, {
- name: "Kuwait",
- cca2: "kw",
- "calling-code": "965"
- }, {
- name: "Kyrgyzstan",
- cca2: "kg",
- "calling-code": "996"
- }, {
- name: "Laos",
- cca2: "la",
- "calling-code": "856"
- }, {
- name: "Latvia",
- cca2: "lv",
- "calling-code": "371"
- }, {
- name: "Lebanon",
- cca2: "lb",
- "calling-code": "961"
- }, {
- name: "Lesotho",
- cca2: "ls",
- "calling-code": "266"
- }, {
- name: "Liberia",
- cca2: "lr",
- "calling-code": "231"
- }, {
- name: "Libya",
- cca2: "ly",
- "calling-code": "218"
- }, {
- name: "Liechtenstein",
- cca2: "li",
- "calling-code": "423"
- }, {
- name: "Lithuania",
- cca2: "lt",
- "calling-code": "370"
- }, {
- name: "Luxembourg",
- cca2: "lu",
- "calling-code": "352"
- }, {
- name: "Macao",
- cca2: "mo",
- "calling-code": "853"
- }, {
- name: "Macedonia",
- cca2: "mk",
- "calling-code": "389"
- }, {
- name: "Madagascar",
- cca2: "mg",
- "calling-code": "261"
- }, {
- name: "Malawi",
- cca2: "mw",
- "calling-code": "265"
- }, {
- name: "Malaysia",
- cca2: "my",
- "calling-code": "60"
- }, {
- name: "Maldives",
- cca2: "mv",
- "calling-code": "960"
- }, {
- name: "Mali",
- cca2: "ml",
- "calling-code": "223"
- }, {
- name: "Malta",
- cca2: "mt",
- "calling-code": "356"
- }, {
- name: "Marshall Islands",
- cca2: "mh",
- "calling-code": "692"
- }, {
- name: "Martinique",
- cca2: "mq",
- "calling-code": "596"
- }, {
- name: "Mauritania",
- cca2: "mr",
- "calling-code": "222"
- }, {
- name: "Mauritius",
- cca2: "mu",
- "calling-code": "230"
- }, {
- name: "Mexico",
- cca2: "mx",
- "calling-code": "52"
- }, {
- name: "Micronesia",
- cca2: "fm",
- "calling-code": "691"
- }, {
- name: "Moldova",
- cca2: "md",
- "calling-code": "373"
- }, {
- name: "Monaco",
- cca2: "mc",
- "calling-code": "377"
- }, {
- name: "Mongolia",
- cca2: "mn",
- "calling-code": "976"
- }, {
- name: "Montenegro",
- cca2: "me",
- "calling-code": "382"
- }, {
- name: "Montserrat",
- cca2: "ms",
- "calling-code": "1664"
- }, {
- name: "Morocco",
- cca2: "ma",
- "calling-code": "212"
- }, {
- name: "Mozambique",
- cca2: "mz",
- "calling-code": "258"
- }, {
- name: "Myanmar (Burma)",
- cca2: "mm",
- "calling-code": "95"
- }, {
- name: "Namibia",
- cca2: "na",
- "calling-code": "264"
- }, {
- name: "Nauru",
- cca2: "nr",
- "calling-code": "674"
- }, {
- name: "Nepal",
- cca2: "np",
- "calling-code": "977"
- }, {
- name: "Netherlands",
- cca2: "nl",
- "calling-code": "31"
- }, {
- name: "New Caledonia",
- cca2: "nc",
- "calling-code": "687"
- }, {
- name: "New Zealand",
- cca2: "nz",
- "calling-code": "64"
- }, {
- name: "Nicaragua",
- cca2: "ni",
- "calling-code": "505"
- }, {
- name: "Niger",
- cca2: "ne",
- "calling-code": "227"
- }, {
- name: "Nigeria",
- cca2: "ng",
- "calling-code": "234"
- }, {
- name: "North Korea",
- cca2: "kp",
- "calling-code": "850"
- }, {
- name: "Norway",
- cca2: "no",
- "calling-code": "47"
- }, {
- name: "Oman",
- cca2: "om",
- "calling-code": "968"
- }, {
- name: "Pakistan",
- cca2: "pk",
- "calling-code": "92"
- }, {
- name: "Palau",
- cca2: "pw",
- "calling-code": "680"
- }, {
- name: "Palestinian Territory",
- cca2: "ps",
- "calling-code": "970"
- }, {
- name: "Panama",
- cca2: "pa",
- "calling-code": "507"
- }, {
- name: "Papua New Guinea",
- cca2: "pg",
- "calling-code": "675"
- }, {
- name: "Paraguay",
- cca2: "py",
- "calling-code": "595"
- }, {
- name: "Peru",
- cca2: "pe",
- "calling-code": "51"
- }, {
- name: "Philippines",
- cca2: "ph",
- "calling-code": "63"
- }, {
- name: "Poland",
- cca2: "pl",
- "calling-code": "48"
- }, {
- name: "Portugal",
- cca2: "pt",
- "calling-code": "351"
- }, {
- name: "Puerto Rico",
- cca2: "pr",
- "calling-code": "1787"
- }, {
- name: "Qatar",
- cca2: "qa",
- "calling-code": "974"
- }, {
- name: "Réunion",
- cca2: "re",
- "calling-code": "262"
- }, {
- name: "Romania",
- cca2: "ro",
- "calling-code": "40"
- }, {
- name: "Russian Federation",
- cca2: "ru",
- "calling-code": "7"
- }, {
- name: "Rwanda",
- cca2: "rw",
- "calling-code": "250"
- }, {
- name: "Saint Kitts and Nevis",
- cca2: "kn",
- "calling-code": "1869"
- }, {
- name: "Saint Lucia",
- cca2: "lc",
- "calling-code": "1758"
- }, {
- name: "Saint Vincent and the Grenadines",
- cca2: "vc",
- "calling-code": "1784"
- }, {
- name: "Samoa",
- cca2: "ws",
- "calling-code": "685"
- }, {
- name: "San Marino",
- cca2: "sm",
- "calling-code": "378"
- }, {
- name: "São Tomé and Príncipe",
- cca2: "st",
- "calling-code": "239"
- }, {
- name: "Saudi Arabia",
- cca2: "sa",
- "calling-code": "966"
- }, {
- name: "Senegal",
- cca2: "sn",
- "calling-code": "221"
- }, {
- name: "Serbia",
- cca2: "rs",
- "calling-code": "381"
- }, {
- name: "Seychelles",
- cca2: "sc",
- "calling-code": "248"
- }, {
- name: "Sierra Leone",
- cca2: "sl",
- "calling-code": "232"
- }, {
- name: "Singapore",
- cca2: "sg",
- "calling-code": "65"
- }, {
- name: "Slovakia",
- cca2: "sk",
- "calling-code": "421"
- }, {
- name: "Slovenia",
- cca2: "si",
- "calling-code": "386"
- }, {
- name: "Solomon Islands",
- cca2: "sb",
- "calling-code": "677"
- }, {
- name: "Somalia",
- cca2: "so",
- "calling-code": "252"
- }, {
- name: "South Africa",
- cca2: "za",
- "calling-code": "27"
- }, {
- name: "South Korea",
- cca2: "kr",
- "calling-code": "82"
- }, {
- name: "Spain",
- cca2: "es",
- "calling-code": "34"
- }, {
- name: "Sri Lanka",
- cca2: "lk",
- "calling-code": "94"
- }, {
- name: "Sudan",
- cca2: "sd",
- "calling-code": "249"
- }, {
- name: "Suriname",
- cca2: "sr",
- "calling-code": "597"
- }, {
- name: "Swaziland",
- cca2: "sz",
- "calling-code": "268"
- }, {
- name: "Sweden",
- cca2: "se",
- "calling-code": "46"
- }, {
- name: "Switzerland",
- cca2: "ch",
- "calling-code": "41"
- }, {
- name: "Syrian Arab Republic",
- cca2: "sy",
- "calling-code": "963"
- }, {
- name: "Taiwan, Province of China",
- cca2: "tw",
- "calling-code": "886"
- }, {
- name: "Tajikistan",
- cca2: "tj",
- "calling-code": "992"
- }, {
- name: "Tanzania",
- cca2: "tz",
- "calling-code": "255"
- }, {
- name: "Thailand",
- cca2: "th",
- "calling-code": "66"
- }, {
- name: "Timor-Leste",
- cca2: "tl",
- "calling-code": "670"
- }, {
- name: "Togo",
- cca2: "tg",
- "calling-code": "228"
- }, {
- name: "Tonga",
- cca2: "to",
- "calling-code": "676"
- }, {
- name: "Trinidad and Tobago",
- cca2: "tt",
- "calling-code": "1868"
- }, {
- name: "Tunisia",
- cca2: "tn",
- "calling-code": "216"
- }, {
- name: "Turkey",
- cca2: "tr",
- "calling-code": "90"
- }, {
- name: "Turkmenistan",
- cca2: "tm",
- "calling-code": "993"
- }, {
- name: "Turks and Caicos Islands",
- cca2: "tc",
- "calling-code": "1649"
- }, {
- name: "Tuvalu",
- cca2: "tv",
- "calling-code": "688"
- }, {
- name: "Uganda",
- cca2: "ug",
- "calling-code": "256"
- }, {
- name: "Ukraine",
- cca2: "ua",
- "calling-code": "380"
- }, {
- name: "United Arab Emirates",
- cca2: "ae",
- "calling-code": "971"
- }, {
- name: "United Kingdom",
- cca2: "gb",
- "calling-code": "44"
- }, {
- name: "United States",
- cca2: "us",
- "calling-code": "1"
- }, {
- name: "Uruguay",
- cca2: "uy",
- "calling-code": "598"
- }, {
- name: "Uzbekistan",
- cca2: "uz",
- "calling-code": "998"
- }, {
- name: "Vanuatu",
- cca2: "vu",
- "calling-code": "678"
- }, {
- name: "Vatican City",
- cca2: "va",
- "calling-code": "379"
- }, {
- name: "Venezuela",
- cca2: "ve",
- "calling-code": "58"
- }, {
- name: "Viet Nam",
- cca2: "vn",
- "calling-code": "84"
- }, {
- name: "Virgin Islands (British)",
- cca2: "vg",
- "calling-code": "1284"
- }, {
- name: "Virgin Islands (U.S.)",
- cca2: "vi",
- "calling-code": "1340"
- }, {
- name: "Western Sahara",
- cca2: "eh",
- "calling-code": "212"
- }, {
- name: "Yemen",
- cca2: "ye",
- "calling-code": "967"
- }, {
- name: "Zambia",
- cca2: "zm",
- "calling-code": "260"
- }, {
- name: "Zimbabwe",
- cca2: "zw",
- "calling-code": "263"
- } ],
- // JavaScript object mapping dial code to country code.
- // This is used when the user enters a number,
- // to quickly look up the corresponding country code.
- // Originally from http://libphonenumber.googlecode.com/svn/trunk/javascript/i18n/phonenumbers/metadata.js
- // then I commented some weird 001 entries and added some 4-digit country-code
- // items at the end e.g. 1246 for Barbados
- countryCodes: {
- "90": [ "tr" ],
- "7": [ "ru", "kz" ],
- "20": [ "eg" ],
- "27": [ "za" ],
- "30": [ "gr" ],
- "31": [ "nl" ],
- "32": [ "be" ],
- "33": [ "fr" ],
- "34": [ "es" ],
- "36": [ "hu" ],
- "39": [ "it" ],
- "40": [ "ro" ],
- "41": [ "ch" ],
- "43": [ "at" ],
- "44": [ "gb", "gg", "im", "je" ],
- "45": [ "dk" ],
- "46": [ "se" ],
- "47": [ "no", "sj" ],
- "48": [ "pl" ],
- "49": [ "de" ],
- "51": [ "pe" ],
- "52": [ "mx" ],
- "53": [ "cu" ],
- "54": [ "ar" ],
- "55": [ "br" ],
- "56": [ "cl" ],
- "57": [ "co" ],
- "58": [ "ve" ],
- "60": [ "my" ],
- "61": [ "au", "cc", "cx" ],
- "62": [ "id" ],
- "63": [ "ph" ],
- "64": [ "nz" ],
- "65": [ "sg" ],
- "66": [ "th" ],
- "81": [ "jp" ],
- "82": [ "kr" ],
- "84": [ "vn" ],
- "86": [ "cn" ],
- "1": [ "us", "ca" ],
- "91": [ "in" ],
- "92": [ "pk" ],
- "93": [ "af" ],
- "94": [ "lk" ],
- "95": [ "mm" ],
- "98": [ "ir" ],
- "211": [ "ss" ],
- "212": [ "ma", "eh" ],
- "213": [ "dz" ],
- "216": [ "tn" ],
- "218": [ "ly" ],
- "220": [ "gm" ],
- "221": [ "sn" ],
- "222": [ "mr" ],
- "223": [ "ml" ],
- "224": [ "gn" ],
- "225": [ "ci" ],
- "226": [ "bf" ],
- "227": [ "ne" ],
- "228": [ "tg" ],
- "229": [ "bj" ],
- "230": [ "mu" ],
- "231": [ "lr" ],
- "232": [ "sl" ],
- "233": [ "gh" ],
- "234": [ "ng" ],
- "235": [ "td" ],
- "236": [ "cf" ],
- "237": [ "cm" ],
- "238": [ "cv" ],
- "239": [ "st" ],
- "240": [ "gq" ],
- "241": [ "ga" ],
- "242": [ "cg" ],
- "243": [ "cd" ],
- "244": [ "ao" ],
- "245": [ "gw" ],
- "246": [ "io" ],
- "247": [ "ac" ],
- "248": [ "sc" ],
- "249": [ "sd" ],
- "250": [ "rw" ],
- "251": [ "et" ],
- "252": [ "so" ],
- "253": [ "dj" ],
- "254": [ "ke" ],
- "255": [ "tz" ],
- "256": [ "ug" ],
- "257": [ "bi" ],
- "258": [ "mz" ],
- "260": [ "zm" ],
- "261": [ "mg" ],
- "262": [ "re", "yt" ],
- "263": [ "zw" ],
- "264": [ "na" ],
- "265": [ "mw" ],
- "266": [ "ls" ],
- "267": [ "bw" ],
- "268": [ "sz" ],
- "269": [ "km" ],
- "290": [ "sh" ],
- "291": [ "er" ],
- "297": [ "aw" ],
- "298": [ "fo" ],
- "299": [ "gl" ],
- "350": [ "gi" ],
- "351": [ "pt" ],
- "352": [ "lu" ],
- "353": [ "ie" ],
- "354": [ "is" ],
- "355": [ "al" ],
- "356": [ "mt" ],
- "357": [ "cy" ],
- "358": [ "fi", "ax" ],
- "359": [ "bg" ],
- "370": [ "lt" ],
- "371": [ "lv" ],
- "372": [ "ee" ],
- "373": [ "md" ],
- "374": [ "am" ],
- "375": [ "by" ],
- "376": [ "ad" ],
- "377": [ "mc" ],
- "378": [ "sm" ],
- "379": [ "va" ],
- "380": [ "ua" ],
- "381": [ "rs" ],
- "382": [ "me" ],
- "385": [ "hr" ],
- "386": [ "si" ],
- "387": [ "ba" ],
- "389": [ "mk" ],
- "420": [ "cz" ],
- "421": [ "sk" ],
- "423": [ "li" ],
- "500": [ "fk" ],
- "501": [ "bz" ],
- "502": [ "gt" ],
- "503": [ "sv" ],
- "504": [ "hn" ],
- "505": [ "ni" ],
- "506": [ "cr" ],
- "507": [ "pa" ],
- "508": [ "pm" ],
- "509": [ "ht" ],
- "590": [ "gp", "bl", "mf" ],
- "591": [ "bo" ],
- "592": [ "gy" ],
- "593": [ "ec" ],
- "594": [ "gf" ],
- "595": [ "py" ],
- "596": [ "mq" ],
- "597": [ "sr" ],
- "598": [ "uy" ],
- "599": [ "cw", "bq" ],
- "670": [ "tl" ],
- "672": [ "nf" ],
- "673": [ "bn" ],
- "674": [ "nr" ],
- "675": [ "pg" ],
- "676": [ "to" ],
- "677": [ "sb" ],
- "678": [ "vu" ],
- "679": [ "fj" ],
- "680": [ "pw" ],
- "681": [ "wf" ],
- "682": [ "ck" ],
- "683": [ "nu" ],
- "685": [ "ws" ],
- "686": [ "ki" ],
- "687": [ "nc" ],
- "688": [ "tv" ],
- "689": [ "pf" ],
- "690": [ "tk" ],
- "691": [ "fm" ],
- "692": [ "mh" ],
- "850": [ "kp" ],
- "852": [ "hk" ],
- "853": [ "mo" ],
- "855": [ "kh" ],
- "856": [ "la" ],
- "880": [ "bd" ],
- "886": [ "tw" ],
- "960": [ "mv" ],
- "961": [ "lb" ],
- "962": [ "jo" ],
- "963": [ "sy" ],
- "964": [ "iq" ],
- "965": [ "kw" ],
- "966": [ "sa" ],
- "967": [ "ye" ],
- "968": [ "om" ],
- "970": [ "ps" ],
- "971": [ "ae" ],
- "972": [ "il" ],
- "973": [ "bh" ],
- "974": [ "qa" ],
- "975": [ "bt" ],
- "976": [ "mn" ],
- "977": [ "np" ],
- "992": [ "tj" ],
- "993": [ "tm" ],
- "994": [ "az" ],
- "995": [ "ge" ],
- "996": [ "kg" ],
- "998": [ "uz" ],
- "1242": [ "bs" ],
- "1246": [ "bb" ],
- "1264": [ "ai" ],
- "1268": [ "ag" ],
- "1284": [ "vg" ],
- "1340": [ "vi" ],
- "1345": [ "ky" ],
- "1441": [ "bm" ],
- "1473": [ "gd" ],
- "1649": [ "tc" ],
- "1664": [ "ms" ],
- "1671": [ "gu" ],
- "1684": [ "as" ],
- "1758": [ "lc" ],
- "1767": [ "dm" ],
- "1784": [ "vc" ],
- "1787": [ "pr" ],
- "1809": [ "do" ],
- "1868": [ "tt" ],
- "1869": [ "kn" ],
- "1876": [ "jm" ]
- }
-};
\ No newline at end of file