intl-tel-input 25.4.8 → 25.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/angular/build/IntlTelInput.js +258 -316
- package/angular/build/IntlTelInputWithUtils.js +472 -446
- package/angular/build/intl-tel-input.js +46 -12
- package/build/js/data.js +1 -1
- package/build/js/data.min.js +1 -1
- package/build/js/intlTelInput.js +38 -9
- package/build/js/intlTelInput.min.js +2 -2
- package/build/js/intlTelInputWithUtils.js +38 -9
- package/build/js/intlTelInputWithUtils.min.js +2 -2
- package/package.json +4 -4
- package/react/README.md +1 -1
- package/react/build/IntlTelInput.cjs +37 -8
- package/react/build/IntlTelInput.js +37 -8
- package/react/build/IntlTelInputWithUtils.cjs +37 -8
- package/react/build/IntlTelInputWithUtils.js +37 -8
- package/vue/README.md +1 -1
- package/vue/build/IntlTelInput.mjs +144 -135
- package/vue/build/IntlTelInputWithUtils.mjs +488 -479
- package/angular/build/IntlTelInput.cjs +0 -3358
- package/angular/build/IntlTelInput.d.ts +0 -1671
- package/angular/build/IntlTelInputWithUtils.cjs +0 -9732
- package/angular/build/intl-tel-input/angular.js +0 -205
- package/angular/build/intl-tel-input/angularWithUtils.js +0 -206
- package/angular/build/intl-tel-input/data.js +0 -1096
- package/angular/build/intl-tel-input/i18n/ar/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/ar/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/ar/interface.js +0 -13
- package/angular/build/intl-tel-input/i18n/bg/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/bg/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/bg/interface.js +0 -13
- package/angular/build/intl-tel-input/i18n/bn/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/bn/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/bn/interface.js +0 -13
- package/angular/build/intl-tel-input/i18n/bs/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/bs/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/bs/interface.js +0 -13
- package/angular/build/intl-tel-input/i18n/ca/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/ca/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/ca/interface.js +0 -13
- package/angular/build/intl-tel-input/i18n/cs/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/cs/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/cs/interface.js +0 -13
- package/angular/build/intl-tel-input/i18n/da/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/da/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/da/interface.js +0 -13
- package/angular/build/intl-tel-input/i18n/de/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/de/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/de/interface.js +0 -13
- package/angular/build/intl-tel-input/i18n/ee/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/ee/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/ee/interface.js +0 -13
- package/angular/build/intl-tel-input/i18n/el/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/el/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/el/interface.js +0 -13
- package/angular/build/intl-tel-input/i18n/en/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/en/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/en/interface.js +0 -13
- package/angular/build/intl-tel-input/i18n/es/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/es/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/es/interface.js +0 -13
- package/angular/build/intl-tel-input/i18n/fa/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/fa/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/fa/interface.js +0 -13
- package/angular/build/intl-tel-input/i18n/fi/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/fi/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/fi/interface.js +0 -13
- package/angular/build/intl-tel-input/i18n/fr/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/fr/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/fr/interface.js +0 -13
- package/angular/build/intl-tel-input/i18n/hi/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/hi/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/hi/interface.js +0 -13
- package/angular/build/intl-tel-input/i18n/hr/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/hr/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/hr/interface.js +0 -13
- package/angular/build/intl-tel-input/i18n/hu/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/hu/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/hu/interface.js +0 -13
- package/angular/build/intl-tel-input/i18n/id/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/id/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/id/interface.js +0 -13
- package/angular/build/intl-tel-input/i18n/index.js +0 -40
- package/angular/build/intl-tel-input/i18n/it/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/it/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/it/interface.js +0 -13
- package/angular/build/intl-tel-input/i18n/ja/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/ja/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/ja/interface.js +0 -13
- package/angular/build/intl-tel-input/i18n/ko/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/ko/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/ko/interface.js +0 -13
- package/angular/build/intl-tel-input/i18n/mr/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/mr/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/mr/interface.js +0 -13
- package/angular/build/intl-tel-input/i18n/nl/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/nl/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/nl/interface.js +0 -13
- package/angular/build/intl-tel-input/i18n/no/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/no/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/no/interface.js +0 -13
- package/angular/build/intl-tel-input/i18n/pl/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/pl/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/pl/interface.js +0 -24
- package/angular/build/intl-tel-input/i18n/pt/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/pt/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/pt/interface.js +0 -13
- package/angular/build/intl-tel-input/i18n/ro/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/ro/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/ro/interface.js +0 -13
- package/angular/build/intl-tel-input/i18n/ru/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/ru/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/ru/interface.js +0 -13
- package/angular/build/intl-tel-input/i18n/sk/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/sk/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/sk/interface.js +0 -13
- package/angular/build/intl-tel-input/i18n/sv/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/sv/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/sv/interface.js +0 -13
- package/angular/build/intl-tel-input/i18n/te/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/te/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/te/interface.js +0 -13
- package/angular/build/intl-tel-input/i18n/th/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/th/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/th/interface.js +0 -13
- package/angular/build/intl-tel-input/i18n/tr/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/tr/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/tr/interface.js +0 -13
- package/angular/build/intl-tel-input/i18n/types.js +0 -1
- package/angular/build/intl-tel-input/i18n/uk/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/uk/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/uk/interface.js +0 -13
- package/angular/build/intl-tel-input/i18n/ur/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/ur/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/ur/interface.js +0 -13
- package/angular/build/intl-tel-input/i18n/uz/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/uz/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/uz/interface.js +0 -13
- package/angular/build/intl-tel-input/i18n/vi/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/vi/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/vi/interface.js +0 -13
- package/angular/build/intl-tel-input/i18n/zh/countries.js +0 -245
- package/angular/build/intl-tel-input/i18n/zh/index.js +0 -5
- package/angular/build/intl-tel-input/i18n/zh/interface.js +0 -13
- package/angular/build/intl-tel-input/intlTelInputWithUtils.js +0 -4
- package/angular/build/intl-tel-input/utils.js +0 -1341
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "intl-tel-input",
|
|
3
|
-
"version": "25.
|
|
3
|
+
"version": "25.5.1",
|
|
4
4
|
"description": "A JavaScript plugin for entering and validating international telephone numbers",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"international",
|
|
@@ -147,11 +147,11 @@
|
|
|
147
147
|
},
|
|
148
148
|
"./angular": {
|
|
149
149
|
"types": "./angular/build/types/intl-tel-input/angular.d.ts",
|
|
150
|
-
"default": "./angular/build/
|
|
150
|
+
"default": "./angular/build/IntlTelInput.js"
|
|
151
151
|
},
|
|
152
152
|
"./angularWithUtils": {
|
|
153
153
|
"types": "./angular/build/types/intl-tel-input/angularWithUtils.d.ts",
|
|
154
|
-
"default": "./angular/build/
|
|
154
|
+
"default": "./angular/build/IntlTelInputWithUtils.js"
|
|
155
155
|
},
|
|
156
156
|
"./i18n": {
|
|
157
157
|
"types": "./build/js/intlTelInput.d.ts",
|
|
@@ -173,7 +173,7 @@
|
|
|
173
173
|
"react/build/IntlTelInput.d.ts"
|
|
174
174
|
],
|
|
175
175
|
"angular": [
|
|
176
|
-
"angular/build/
|
|
176
|
+
"angular/build/types/intl-tel-input/angular.d.ts"
|
|
177
177
|
]
|
|
178
178
|
}
|
|
179
179
|
}
|
package/react/README.md
CHANGED
|
@@ -28,7 +28,7 @@ import "intl-tel-input/styles";
|
|
|
28
28
|
|
|
29
29
|
See the [Validation demo](https://github.com/jackocnr/intl-tel-input/blob/master/react/demo/validation/ValidationApp.tsx) for a more fleshed-out example of how to handle validation.
|
|
30
30
|
|
|
31
|
-
A note on the utils script (~260KB): if you're lazy loading the IntlTelInput chunk (and so less worried about filesize) then you can just import IntlTelInput from `"intl-tel-input/reactWithUtils"`, to include the utils script. Alternatively, if you use the main `"intl-tel-input/react"` import, then you should couple this with the `loadUtils` initialisation option - you will need to host the [utils.js](https://github.com/jackocnr/intl-tel-input/blob/master/build/js/utils.js) file, and then set the `loadUtils` option to that URL, or alternatively just point it to a CDN hosted version e.g. `"https://cdn.jsdelivr.net/npm/intl-tel-input@25.
|
|
31
|
+
A note on the utils script (~260KB): if you're lazy loading the IntlTelInput chunk (and so less worried about filesize) then you can just import IntlTelInput from `"intl-tel-input/reactWithUtils"`, to include the utils script. Alternatively, if you use the main `"intl-tel-input/react"` import, then you should couple this with the `loadUtils` initialisation option - you will need to host the [utils.js](https://github.com/jackocnr/intl-tel-input/blob/master/build/js/utils.js) file, and then set the `loadUtils` option to that URL, or alternatively just point it to a CDN hosted version e.g. `"https://cdn.jsdelivr.net/npm/intl-tel-input@25.5.1/build/js/utils.js"`.
|
|
32
32
|
|
|
33
33
|
## Props
|
|
34
34
|
Here's a list of all of the current props you can pass to the IntlTelInput React component.
|
|
@@ -2008,7 +2008,7 @@ var Iti = class {
|
|
|
2008
2008
|
if (separateDialCode) {
|
|
2009
2009
|
this.selectedDialCode = createEl(
|
|
2010
2010
|
"div",
|
|
2011
|
-
{ class: "iti__selected-dial-code" },
|
|
2011
|
+
{ class: "iti__selected-dial-code", "aria-hidden": "true" },
|
|
2012
2012
|
this.selectedCountry
|
|
2013
2013
|
);
|
|
2014
2014
|
}
|
|
@@ -2494,16 +2494,45 @@ var Iti = class {
|
|
|
2494
2494
|
let noCountriesAddedYet = true;
|
|
2495
2495
|
this.countryList.innerHTML = "";
|
|
2496
2496
|
const normalisedQuery = normaliseString(query);
|
|
2497
|
+
const queryLength = normalisedQuery.length;
|
|
2498
|
+
const iso2Matches = [];
|
|
2499
|
+
const nameStartWith = [];
|
|
2500
|
+
const nameContains = [];
|
|
2501
|
+
const dialCodeMatches = [];
|
|
2502
|
+
const dialCodeContains = [];
|
|
2503
|
+
const initialsMatches = [];
|
|
2497
2504
|
for (let i = 0; i < this.countries.length; i++) {
|
|
2498
2505
|
const c = this.countries[i];
|
|
2499
2506
|
const normalisedCountryName = normaliseString(c.name);
|
|
2500
2507
|
const countryInitials = c.name.split(/[^a-zA-ZÀ-ÿа-яА-Я]/).map((word) => word[0]).join("").toLowerCase();
|
|
2501
|
-
|
|
2502
|
-
|
|
2503
|
-
|
|
2504
|
-
|
|
2505
|
-
|
|
2506
|
-
|
|
2508
|
+
if (isReset || queryLength === 0) {
|
|
2509
|
+
nameContains.push(c);
|
|
2510
|
+
} else if (c.iso2.toLowerCase() === normalisedQuery) {
|
|
2511
|
+
iso2Matches.push(c);
|
|
2512
|
+
} else if (normalisedCountryName.startsWith(normalisedQuery)) {
|
|
2513
|
+
nameStartWith.push(c);
|
|
2514
|
+
} else if (normalisedCountryName.includes(normalisedQuery)) {
|
|
2515
|
+
nameContains.push(c);
|
|
2516
|
+
} else if (normalisedQuery === c.dialCode || normalisedQuery === `+${c.dialCode}`) {
|
|
2517
|
+
dialCodeMatches.push(c);
|
|
2518
|
+
} else if (`+${c.dialCode}`.includes(normalisedQuery)) {
|
|
2519
|
+
dialCodeContains.push(c);
|
|
2520
|
+
} else if (countryInitials.includes(normalisedQuery)) {
|
|
2521
|
+
initialsMatches.push(c);
|
|
2522
|
+
}
|
|
2523
|
+
}
|
|
2524
|
+
const matchedCountries = [
|
|
2525
|
+
...iso2Matches.sort((a, b) => a.priority - b.priority),
|
|
2526
|
+
...nameStartWith.sort((a, b) => a.priority - b.priority),
|
|
2527
|
+
...nameContains.sort((a, b) => a.priority - b.priority),
|
|
2528
|
+
...dialCodeMatches.sort((a, b) => a.priority - b.priority),
|
|
2529
|
+
...dialCodeContains.sort((a, b) => a.priority - b.priority),
|
|
2530
|
+
...initialsMatches.sort((a, b) => a.priority - b.priority)
|
|
2531
|
+
];
|
|
2532
|
+
for (const c of matchedCountries) {
|
|
2533
|
+
const listItem = c.nodeById[this.id];
|
|
2534
|
+
if (listItem) {
|
|
2535
|
+
this.countryList.appendChild(listItem);
|
|
2507
2536
|
if (noCountriesAddedYet) {
|
|
2508
2537
|
this._highlightListItem(listItem, false);
|
|
2509
2538
|
noCountriesAddedYet = false;
|
|
@@ -3173,7 +3202,7 @@ var intlTelInput = Object.assign(
|
|
|
3173
3202
|
attachUtils,
|
|
3174
3203
|
startedLoadingUtilsScript: false,
|
|
3175
3204
|
startedLoadingAutoCountry: false,
|
|
3176
|
-
version: "25.
|
|
3205
|
+
version: "25.5.1"
|
|
3177
3206
|
}
|
|
3178
3207
|
);
|
|
3179
3208
|
var intl_tel_input_default = intlTelInput;
|
|
@@ -1972,7 +1972,7 @@ var Iti = class {
|
|
|
1972
1972
|
if (separateDialCode) {
|
|
1973
1973
|
this.selectedDialCode = createEl(
|
|
1974
1974
|
"div",
|
|
1975
|
-
{ class: "iti__selected-dial-code" },
|
|
1975
|
+
{ class: "iti__selected-dial-code", "aria-hidden": "true" },
|
|
1976
1976
|
this.selectedCountry
|
|
1977
1977
|
);
|
|
1978
1978
|
}
|
|
@@ -2458,16 +2458,45 @@ var Iti = class {
|
|
|
2458
2458
|
let noCountriesAddedYet = true;
|
|
2459
2459
|
this.countryList.innerHTML = "";
|
|
2460
2460
|
const normalisedQuery = normaliseString(query);
|
|
2461
|
+
const queryLength = normalisedQuery.length;
|
|
2462
|
+
const iso2Matches = [];
|
|
2463
|
+
const nameStartWith = [];
|
|
2464
|
+
const nameContains = [];
|
|
2465
|
+
const dialCodeMatches = [];
|
|
2466
|
+
const dialCodeContains = [];
|
|
2467
|
+
const initialsMatches = [];
|
|
2461
2468
|
for (let i = 0; i < this.countries.length; i++) {
|
|
2462
2469
|
const c = this.countries[i];
|
|
2463
2470
|
const normalisedCountryName = normaliseString(c.name);
|
|
2464
2471
|
const countryInitials = c.name.split(/[^a-zA-ZÀ-ÿа-яА-Я]/).map((word) => word[0]).join("").toLowerCase();
|
|
2465
|
-
|
|
2466
|
-
|
|
2467
|
-
|
|
2468
|
-
|
|
2469
|
-
|
|
2470
|
-
|
|
2472
|
+
if (isReset || queryLength === 0) {
|
|
2473
|
+
nameContains.push(c);
|
|
2474
|
+
} else if (c.iso2.toLowerCase() === normalisedQuery) {
|
|
2475
|
+
iso2Matches.push(c);
|
|
2476
|
+
} else if (normalisedCountryName.startsWith(normalisedQuery)) {
|
|
2477
|
+
nameStartWith.push(c);
|
|
2478
|
+
} else if (normalisedCountryName.includes(normalisedQuery)) {
|
|
2479
|
+
nameContains.push(c);
|
|
2480
|
+
} else if (normalisedQuery === c.dialCode || normalisedQuery === `+${c.dialCode}`) {
|
|
2481
|
+
dialCodeMatches.push(c);
|
|
2482
|
+
} else if (`+${c.dialCode}`.includes(normalisedQuery)) {
|
|
2483
|
+
dialCodeContains.push(c);
|
|
2484
|
+
} else if (countryInitials.includes(normalisedQuery)) {
|
|
2485
|
+
initialsMatches.push(c);
|
|
2486
|
+
}
|
|
2487
|
+
}
|
|
2488
|
+
const matchedCountries = [
|
|
2489
|
+
...iso2Matches.sort((a, b) => a.priority - b.priority),
|
|
2490
|
+
...nameStartWith.sort((a, b) => a.priority - b.priority),
|
|
2491
|
+
...nameContains.sort((a, b) => a.priority - b.priority),
|
|
2492
|
+
...dialCodeMatches.sort((a, b) => a.priority - b.priority),
|
|
2493
|
+
...dialCodeContains.sort((a, b) => a.priority - b.priority),
|
|
2494
|
+
...initialsMatches.sort((a, b) => a.priority - b.priority)
|
|
2495
|
+
];
|
|
2496
|
+
for (const c of matchedCountries) {
|
|
2497
|
+
const listItem = c.nodeById[this.id];
|
|
2498
|
+
if (listItem) {
|
|
2499
|
+
this.countryList.appendChild(listItem);
|
|
2471
2500
|
if (noCountriesAddedYet) {
|
|
2472
2501
|
this._highlightListItem(listItem, false);
|
|
2473
2502
|
noCountriesAddedYet = false;
|
|
@@ -3137,7 +3166,7 @@ var intlTelInput = Object.assign(
|
|
|
3137
3166
|
attachUtils,
|
|
3138
3167
|
startedLoadingUtilsScript: false,
|
|
3139
3168
|
startedLoadingAutoCountry: false,
|
|
3140
|
-
version: "25.
|
|
3169
|
+
version: "25.5.1"
|
|
3141
3170
|
}
|
|
3142
3171
|
);
|
|
3143
3172
|
var intl_tel_input_default = intlTelInput;
|
|
@@ -2008,7 +2008,7 @@ var Iti = class {
|
|
|
2008
2008
|
if (separateDialCode) {
|
|
2009
2009
|
this.selectedDialCode = createEl(
|
|
2010
2010
|
"div",
|
|
2011
|
-
{ class: "iti__selected-dial-code" },
|
|
2011
|
+
{ class: "iti__selected-dial-code", "aria-hidden": "true" },
|
|
2012
2012
|
this.selectedCountry
|
|
2013
2013
|
);
|
|
2014
2014
|
}
|
|
@@ -2494,16 +2494,45 @@ var Iti = class {
|
|
|
2494
2494
|
let noCountriesAddedYet = true;
|
|
2495
2495
|
this.countryList.innerHTML = "";
|
|
2496
2496
|
const normalisedQuery = normaliseString(query);
|
|
2497
|
+
const queryLength = normalisedQuery.length;
|
|
2498
|
+
const iso2Matches = [];
|
|
2499
|
+
const nameStartWith = [];
|
|
2500
|
+
const nameContains = [];
|
|
2501
|
+
const dialCodeMatches = [];
|
|
2502
|
+
const dialCodeContains = [];
|
|
2503
|
+
const initialsMatches = [];
|
|
2497
2504
|
for (let i = 0; i < this.countries.length; i++) {
|
|
2498
2505
|
const c = this.countries[i];
|
|
2499
2506
|
const normalisedCountryName = normaliseString(c.name);
|
|
2500
2507
|
const countryInitials = c.name.split(/[^a-zA-ZÀ-ÿа-яА-Я]/).map((word) => word[0]).join("").toLowerCase();
|
|
2501
|
-
|
|
2502
|
-
|
|
2503
|
-
|
|
2504
|
-
|
|
2505
|
-
|
|
2506
|
-
|
|
2508
|
+
if (isReset || queryLength === 0) {
|
|
2509
|
+
nameContains.push(c);
|
|
2510
|
+
} else if (c.iso2.toLowerCase() === normalisedQuery) {
|
|
2511
|
+
iso2Matches.push(c);
|
|
2512
|
+
} else if (normalisedCountryName.startsWith(normalisedQuery)) {
|
|
2513
|
+
nameStartWith.push(c);
|
|
2514
|
+
} else if (normalisedCountryName.includes(normalisedQuery)) {
|
|
2515
|
+
nameContains.push(c);
|
|
2516
|
+
} else if (normalisedQuery === c.dialCode || normalisedQuery === `+${c.dialCode}`) {
|
|
2517
|
+
dialCodeMatches.push(c);
|
|
2518
|
+
} else if (`+${c.dialCode}`.includes(normalisedQuery)) {
|
|
2519
|
+
dialCodeContains.push(c);
|
|
2520
|
+
} else if (countryInitials.includes(normalisedQuery)) {
|
|
2521
|
+
initialsMatches.push(c);
|
|
2522
|
+
}
|
|
2523
|
+
}
|
|
2524
|
+
const matchedCountries = [
|
|
2525
|
+
...iso2Matches.sort((a, b) => a.priority - b.priority),
|
|
2526
|
+
...nameStartWith.sort((a, b) => a.priority - b.priority),
|
|
2527
|
+
...nameContains.sort((a, b) => a.priority - b.priority),
|
|
2528
|
+
...dialCodeMatches.sort((a, b) => a.priority - b.priority),
|
|
2529
|
+
...dialCodeContains.sort((a, b) => a.priority - b.priority),
|
|
2530
|
+
...initialsMatches.sort((a, b) => a.priority - b.priority)
|
|
2531
|
+
];
|
|
2532
|
+
for (const c of matchedCountries) {
|
|
2533
|
+
const listItem = c.nodeById[this.id];
|
|
2534
|
+
if (listItem) {
|
|
2535
|
+
this.countryList.appendChild(listItem);
|
|
2507
2536
|
if (noCountriesAddedYet) {
|
|
2508
2537
|
this._highlightListItem(listItem, false);
|
|
2509
2538
|
noCountriesAddedYet = false;
|
|
@@ -3173,7 +3202,7 @@ var intlTelInput = Object.assign(
|
|
|
3173
3202
|
attachUtils,
|
|
3174
3203
|
startedLoadingUtilsScript: false,
|
|
3175
3204
|
startedLoadingAutoCountry: false,
|
|
3176
|
-
version: "25.
|
|
3205
|
+
version: "25.5.1"
|
|
3177
3206
|
}
|
|
3178
3207
|
);
|
|
3179
3208
|
var intl_tel_input_default = intlTelInput;
|
|
@@ -1972,7 +1972,7 @@ var Iti = class {
|
|
|
1972
1972
|
if (separateDialCode) {
|
|
1973
1973
|
this.selectedDialCode = createEl(
|
|
1974
1974
|
"div",
|
|
1975
|
-
{ class: "iti__selected-dial-code" },
|
|
1975
|
+
{ class: "iti__selected-dial-code", "aria-hidden": "true" },
|
|
1976
1976
|
this.selectedCountry
|
|
1977
1977
|
);
|
|
1978
1978
|
}
|
|
@@ -2458,16 +2458,45 @@ var Iti = class {
|
|
|
2458
2458
|
let noCountriesAddedYet = true;
|
|
2459
2459
|
this.countryList.innerHTML = "";
|
|
2460
2460
|
const normalisedQuery = normaliseString(query);
|
|
2461
|
+
const queryLength = normalisedQuery.length;
|
|
2462
|
+
const iso2Matches = [];
|
|
2463
|
+
const nameStartWith = [];
|
|
2464
|
+
const nameContains = [];
|
|
2465
|
+
const dialCodeMatches = [];
|
|
2466
|
+
const dialCodeContains = [];
|
|
2467
|
+
const initialsMatches = [];
|
|
2461
2468
|
for (let i = 0; i < this.countries.length; i++) {
|
|
2462
2469
|
const c = this.countries[i];
|
|
2463
2470
|
const normalisedCountryName = normaliseString(c.name);
|
|
2464
2471
|
const countryInitials = c.name.split(/[^a-zA-ZÀ-ÿа-яА-Я]/).map((word) => word[0]).join("").toLowerCase();
|
|
2465
|
-
|
|
2466
|
-
|
|
2467
|
-
|
|
2468
|
-
|
|
2469
|
-
|
|
2470
|
-
|
|
2472
|
+
if (isReset || queryLength === 0) {
|
|
2473
|
+
nameContains.push(c);
|
|
2474
|
+
} else if (c.iso2.toLowerCase() === normalisedQuery) {
|
|
2475
|
+
iso2Matches.push(c);
|
|
2476
|
+
} else if (normalisedCountryName.startsWith(normalisedQuery)) {
|
|
2477
|
+
nameStartWith.push(c);
|
|
2478
|
+
} else if (normalisedCountryName.includes(normalisedQuery)) {
|
|
2479
|
+
nameContains.push(c);
|
|
2480
|
+
} else if (normalisedQuery === c.dialCode || normalisedQuery === `+${c.dialCode}`) {
|
|
2481
|
+
dialCodeMatches.push(c);
|
|
2482
|
+
} else if (`+${c.dialCode}`.includes(normalisedQuery)) {
|
|
2483
|
+
dialCodeContains.push(c);
|
|
2484
|
+
} else if (countryInitials.includes(normalisedQuery)) {
|
|
2485
|
+
initialsMatches.push(c);
|
|
2486
|
+
}
|
|
2487
|
+
}
|
|
2488
|
+
const matchedCountries = [
|
|
2489
|
+
...iso2Matches.sort((a, b) => a.priority - b.priority),
|
|
2490
|
+
...nameStartWith.sort((a, b) => a.priority - b.priority),
|
|
2491
|
+
...nameContains.sort((a, b) => a.priority - b.priority),
|
|
2492
|
+
...dialCodeMatches.sort((a, b) => a.priority - b.priority),
|
|
2493
|
+
...dialCodeContains.sort((a, b) => a.priority - b.priority),
|
|
2494
|
+
...initialsMatches.sort((a, b) => a.priority - b.priority)
|
|
2495
|
+
];
|
|
2496
|
+
for (const c of matchedCountries) {
|
|
2497
|
+
const listItem = c.nodeById[this.id];
|
|
2498
|
+
if (listItem) {
|
|
2499
|
+
this.countryList.appendChild(listItem);
|
|
2471
2500
|
if (noCountriesAddedYet) {
|
|
2472
2501
|
this._highlightListItem(listItem, false);
|
|
2473
2502
|
noCountriesAddedYet = false;
|
|
@@ -3137,7 +3166,7 @@ var intlTelInput = Object.assign(
|
|
|
3137
3166
|
attachUtils,
|
|
3138
3167
|
startedLoadingUtilsScript: false,
|
|
3139
3168
|
startedLoadingAutoCountry: false,
|
|
3140
|
-
version: "25.
|
|
3169
|
+
version: "25.5.1"
|
|
3141
3170
|
}
|
|
3142
3171
|
);
|
|
3143
3172
|
var intl_tel_input_default = intlTelInput;
|
package/vue/README.md
CHANGED
|
@@ -34,7 +34,7 @@ See the [Validation demo](https://github.com/jackocnr/intl-tel-input/blob/master
|
|
|
34
34
|
"vue:demo": "vite --config vue/demo/[demo variant]/vite.config.js"
|
|
35
35
|
```
|
|
36
36
|
|
|
37
|
-
A note on the utils script (~260KB): if you're lazy loading the IntlTelInput chunk (and so less worried about filesize) then you can just import IntlTelInput from `"intl-tel-input/vueWithUtils"`, to include the utils script. Alternatively, if you use the main `"intl-tel-input/vue"` import, then you should couple this with the `loadUtils` initialisation option - you will need to host the [utils.js](https://github.com/jackocnr/intl-tel-input/blob/master/build/js/utils.js) file, and then set the `loadUtils` option to that URL, or alternatively just point it to a CDN hosted version e.g. `"https://cdn.jsdelivr.net/npm/intl-tel-input@25.
|
|
37
|
+
A note on the utils script (~260KB): if you're lazy loading the IntlTelInput chunk (and so less worried about filesize) then you can just import IntlTelInput from `"intl-tel-input/vueWithUtils"`, to include the utils script. Alternatively, if you use the main `"intl-tel-input/vue"` import, then you should couple this with the `loadUtils` initialisation option - you will need to host the [utils.js](https://github.com/jackocnr/intl-tel-input/blob/master/build/js/utils.js) file, and then set the `loadUtils` option to that URL, or alternatively just point it to a CDN hosted version e.g. `"https://cdn.jsdelivr.net/npm/intl-tel-input@25.5.1/build/js/utils.js"`.
|
|
38
38
|
|
|
39
39
|
## Props
|
|
40
40
|
Here's a list of all of the current props you can pass to the IntlTelInput Vue component.
|