intl-tel-input 25.10.11 → 25.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,84 +1,35 @@
1
- import { Country, Iso2 } from "./intl-tel-input/data";
2
- import type { NumberType, SomeOptions, IntlTelInputInterface } from "./modules/types/public-api";
1
+ import { Iso2 } from "./intl-tel-input/data";
2
+ import type { NumberType, SomeOptions, IntlTelInputInterface, SelectedCountryData } from "./modules/types/public-api";
3
3
  declare global {
4
4
  interface HTMLInputElement {
5
5
  iti?: Iti;
6
6
  }
7
7
  }
8
8
  export declare class Iti {
9
- id: number;
10
- promise: Promise<[unknown, unknown]>;
11
- private telInput;
12
- private highlightedItem;
13
- private options;
14
- private hadInitialPlaceholder;
15
- private isRTL;
16
- private showSelectedCountryOnLeft;
17
- private isAndroid;
9
+ readonly id: number;
10
+ readonly promise: Promise<[unknown, unknown]>;
11
+ private readonly ui;
12
+ private readonly options;
13
+ private readonly isAndroid;
14
+ private readonly countries;
15
+ private readonly dialCodeMaxLen;
16
+ private readonly dialCodeToIso2Map;
17
+ private readonly dialCodes;
18
+ private readonly countryByIso2;
18
19
  private selectedCountryData;
19
- private countries;
20
- private dialCodeMaxLen;
21
- private dialCodeToIso2Map;
22
- private dialCodes;
23
- private countryByIso2;
24
- private countryContainer;
25
- private selectedCountry;
26
- private selectedCountryInner;
27
- private selectedDialCode;
28
- private dropdownArrow;
29
- private dropdownContent;
30
- private searchInput;
31
- private searchIcon;
32
- private searchClearButton;
33
- private searchNoResults;
34
- private searchResultsA11yText;
35
- private countryList;
36
- private dropdown;
37
- private hiddenInput;
38
- private hiddenInputCountry;
39
20
  private maxCoreNumberLength;
40
21
  private defaultCountry;
41
- private originalPaddingRight;
42
- private originalPaddingLeft;
43
- private _handleHiddenInputSubmit;
44
- private _handleLabelClick;
45
- private _handleClickSelectedCountry;
46
- private _handleCountryContainerKeydown;
47
- private _handleInputEvent;
48
- private _handleKeydownEvent;
49
- private _handlePasteEvent;
50
- private _handleWindowScroll;
51
- private _handleMouseoverCountryList;
52
- private _handleClickCountryList;
53
- private _handleClickOffToClose;
54
- private _handleKeydownOnDropdown;
55
- private _handleSearchChange;
56
- private _handleSearchClear;
57
- private _handlePageLoad;
58
- private _doAttachUtils;
22
+ private abortController;
23
+ private dropdownAbortController;
59
24
  private resolveAutoCountryPromise;
60
25
  private rejectAutoCountryPromise;
61
26
  private resolveUtilsScriptPromise;
62
27
  private rejectUtilsScriptPromise;
63
- /**
64
- * Build a space-delimited class string from an object map of className -> truthy/falsey.
65
- * Only keys with truthy values are included.
66
- */
67
- private static _buildClassNames;
68
28
  constructor(input: HTMLInputElement, customOptions?: SomeOptions);
69
- private _detectEnvironmentAndLayout;
29
+ private static _getIsAndroid;
70
30
  private _createInitPromises;
71
31
  _init(): void;
72
32
  private _processCountryData;
73
- private _generateMarkup;
74
- private _prepareTelInput;
75
- private _createWrapperAndInsert;
76
- private _maybeBuildCountryContainer;
77
- private _buildDropdownContent;
78
- private _buildSearchUI;
79
- private _maybeUpdateInputPaddingAndReveal;
80
- private _maybeBuildHiddenInputs;
81
- private _appendListItems;
82
33
  private _setInitialState;
83
34
  private _initListeners;
84
35
  private _initHiddenInputListener;
@@ -96,24 +47,19 @@ export declare class Iti {
96
47
  private _setDropdownPosition;
97
48
  private _bindDropdownListeners;
98
49
  private _searchForCountry;
99
- private _filterCountries;
50
+ private _filterCountriesByQuery;
100
51
  private _getMatchedCountries;
101
- private _updateSearchResultsA11yText;
102
52
  private _handleUpDownKey;
103
53
  private _handleEnterKey;
104
54
  private _updateValFromNumber;
105
55
  private _updateCountryFromNumber;
106
56
  private _ensureHasDialCode;
107
57
  private _getNewCountryFromNumber;
108
- private _highlightListItem;
109
58
  private _setCountry;
110
- private _updateInputPadding;
111
59
  private _updateMaxLength;
112
- private _getHiddenSelectedCountryWidth;
113
60
  private _updatePlaceholder;
114
61
  private _selectListItem;
115
62
  private _closeDropdown;
116
- private _scrollTo;
117
63
  private _updateDialCode;
118
64
  private _getDialCode;
119
65
  private _getFullNumber;
@@ -125,7 +71,7 @@ export declare class Iti {
125
71
  getExtension(): string;
126
72
  getNumber(format?: number): string;
127
73
  getNumberType(): number;
128
- getSelectedCountryData(): Partial<Country>;
74
+ getSelectedCountryData(): SelectedCountryData;
129
75
  getValidationError(): number;
130
76
  isValidNumber(): boolean | null;
131
77
  isValidNumberPrecise(): boolean | null;
@@ -0,0 +1,44 @@
1
+ import { Country } from "../../intl-tel-input/data";
2
+ import { AllOptions } from "../types/public-api";
3
+ export default class UI {
4
+ private readonly options;
5
+ private readonly id;
6
+ private readonly isRTL;
7
+ private readonly originalPaddingLeft;
8
+ private countries;
9
+ telInput: HTMLInputElement;
10
+ countryContainer: HTMLElement;
11
+ selectedCountry: HTMLElement;
12
+ selectedCountryInner: HTMLElement;
13
+ selectedDialCode: HTMLElement;
14
+ dropdownArrow: HTMLElement;
15
+ dropdownContent: HTMLElement;
16
+ searchInput: HTMLInputElement;
17
+ searchIcon: HTMLElement;
18
+ searchClearButton: HTMLButtonElement;
19
+ searchNoResults: HTMLElement;
20
+ searchResultsA11yText: HTMLElement;
21
+ countryList: HTMLElement;
22
+ dropdown: HTMLElement;
23
+ hiddenInput: HTMLInputElement;
24
+ hiddenInputCountry: HTMLInputElement;
25
+ highlightedItem: HTMLElement | null;
26
+ readonly hadInitialPlaceholder: boolean;
27
+ constructor(input: HTMLInputElement, options: AllOptions, id: number);
28
+ generateMarkup(countries: Country[]): void;
29
+ private _prepareTelInput;
30
+ private _createWrapperAndInsert;
31
+ private _maybeBuildCountryContainer;
32
+ private _buildDropdownContent;
33
+ private _buildSearchUI;
34
+ private _maybeUpdateInputPaddingAndReveal;
35
+ private _maybeBuildHiddenInputs;
36
+ private _appendListItems;
37
+ updateInputPadding(): void;
38
+ private _getHiddenSelectedCountryWidth;
39
+ updateSearchResultsA11yText(): void;
40
+ scrollTo(element: HTMLElement): void;
41
+ highlightListItem(listItem: HTMLElement | null, shouldFocus: boolean): void;
42
+ filterCountries(matchedCountries: Country[]): void;
43
+ destroy(): void;
44
+ }
@@ -1,3 +1,3 @@
1
- import { Country } from "../../intl-tel-input/data";
2
- export declare function beforeSetNumber(fullNumber: string, dialCode: string, separateDialCode: boolean, selectedCountryData: Partial<Country>): string;
3
- export declare function formatNumberAsYouType(fullNumber: string, telInputValue: string, utils: any, selectedCountryData: Partial<Country>, separateDialCode: boolean): string;
1
+ import { SelectedCountryData } from "../types/public-api";
2
+ export declare function beforeSetNumber(fullNumber: string, dialCode: string, separateDialCode: boolean, selectedCountryData: SelectedCountryData): string;
3
+ export declare function formatNumberAsYouType(fullNumber: string, telInputValue: string, utils: any, selectedCountryData: SelectedCountryData, separateDialCode: boolean): string;
@@ -0,0 +1,8 @@
1
+ export type ItiEventMap = {
2
+ "countrychange": Record<string, never>;
3
+ "open:countrydropdown": Record<string, never>;
4
+ "close:countrydropdown": Record<string, never>;
5
+ "input": {
6
+ isSetNumber?: boolean;
7
+ };
8
+ };
@@ -70,3 +70,6 @@ export interface IntlTelInputInterface {
70
70
  version: string | undefined;
71
71
  utils?: ItiUtils;
72
72
  }
73
+ type EmptyObject = Record<string, never>;
74
+ export type SelectedCountryData = Country | EmptyObject;
75
+ export {};
@@ -1 +1,6 @@
1
+ /**
2
+ * Build a space-delimited class string from an object map of className -> truthy/falsey.
3
+ * Only keys with truthy values are included.
4
+ */
5
+ export declare const buildClassNames: (flags: Record<string, unknown>) => string;
1
6
  export declare const createEl: (tagName: string, attrs?: object | null, container?: HTMLElement) => HTMLElement;
@@ -43,15 +43,11 @@
43
43
  z-index: 0;
44
44
  margin: 0 !important;
45
45
  }
46
- [dir=rtl] .iti input.iti__tel-input,
47
- [dir=rtl] .iti input.iti__tel-input[type=text],
48
- [dir=rtl] .iti input.iti__tel-input[type=tel] {
49
- text-align: right;
50
- }
51
46
  .iti__country-container {
52
47
  position: absolute;
53
48
  top: 0;
54
49
  bottom: 0;
50
+ left: 0;
55
51
  padding: var(--iti-border-width);
56
52
  }
57
53
  .iti__selected-country {
@@ -86,10 +82,6 @@
86
82
  border-right: var(--iti-triangle-border) solid transparent;
87
83
  border-top: var(--iti-arrow-height) solid var(--iti-arrow-color);
88
84
  }
89
- [dir=rtl] .iti__arrow {
90
- margin-right: var(--iti-arrow-padding);
91
- margin-left: 0;
92
- }
93
85
  .iti__arrow--up {
94
86
  border-top: none;
95
87
  border-bottom: var(--iti-arrow-height) solid var(--iti-arrow-color);
@@ -225,10 +217,6 @@
225
217
  .iti .iti__selected-dial-code {
226
218
  margin-left: 4px;
227
219
  }
228
- [dir=rtl] .iti .iti__selected-dial-code {
229
- margin-left: 0;
230
- margin-right: 4px;
231
- }
232
220
  .iti--container {
233
221
  position: fixed;
234
222
  top: -1000px;
@@ -1 +1 @@
1
- :root{--iti-hover-color:rgba(0, 0, 0, 0.05);--iti-border-color:#ccc;--iti-dialcode-color:#999;--iti-dropdown-bg:white;--iti-search-icon-color:#999;--iti-spacer-horizontal:8px;--iti-flag-height:12px;--iti-flag-width:16px;--iti-border-width:1px;--iti-arrow-height:4px;--iti-arrow-width:6px;--iti-triangle-border:calc(var(--iti-arrow-width) / 2);--iti-arrow-padding:6px;--iti-arrow-color:#555;--iti-path-flags-1x:url("../img/flags.webp");--iti-path-flags-2x:url("../img/flags@2x.webp");--iti-path-globe-1x:url("../img/globe.webp");--iti-path-globe-2x:url("../img/globe@2x.webp");--iti-flag-sprite-width:3904px;--iti-flag-sprite-height:12px;--iti-mobile-popup-margin:30px}.iti{position:relative;display:inline-block}.iti *{box-sizing:border-box}.iti__a11y-text{width:1px;height:1px;clip:rect(1px,1px,1px,1px);overflow:hidden;position:absolute}.iti input.iti__tel-input,.iti input.iti__tel-input[type=tel],.iti input.iti__tel-input[type=text]{position:relative;z-index:0;margin:0!important}[dir=rtl] .iti input.iti__tel-input,[dir=rtl] .iti input.iti__tel-input[type=tel],[dir=rtl] .iti input.iti__tel-input[type=text]{text-align:right}.iti__country-container{position:absolute;top:0;bottom:0;padding:var(--iti-border-width)}.iti__selected-country{z-index:1;position:relative;display:flex;align-items:center;height:100%;background:0 0;border:0;margin:0;padding:0;font-family:inherit;font-size:inherit;color:inherit;border-radius:0;font-weight:inherit;line-height:inherit;text-decoration:none}.iti__selected-country-primary{display:flex;align-items:center;height:100%;padding:0 var(--iti-arrow-padding) 0 var(--iti-spacer-horizontal)}.iti__arrow{margin-left:var(--iti-arrow-padding);width:0;height:0;border-left:var(--iti-triangle-border) solid transparent;border-right:var(--iti-triangle-border) solid transparent;border-top:var(--iti-arrow-height) solid var(--iti-arrow-color)}[dir=rtl] .iti__arrow{margin-right:var(--iti-arrow-padding);margin-left:0}.iti__arrow--up{border-top:none;border-bottom:var(--iti-arrow-height) solid var(--iti-arrow-color)}.iti__dropdown-content{border-radius:3px;background-color:var(--iti-dropdown-bg)}.iti--inline-dropdown .iti__dropdown-content{position:absolute;z-index:2;margin-top:3px;margin-left:calc(var(--iti-border-width) * -1);border:var(--iti-border-width) solid var(--iti-border-color);box-shadow:1px 1px 4px rgba(0,0,0,.2)}.iti__search-input{width:100%;border-width:0;border-radius:3px;padding-left:30px;padding-right:28px}[dir=rtl] .iti__search-input{padding-left:inherit;padding-right:30px;background-position:right 8px center}.iti__search-input+.iti__country-list{border-top:1px solid var(--iti-border-color)}.iti__search-input::-webkit-search-cancel-button{appearance:none}.iti__search-input-wrapper{position:relative;display:flex;align-items:center}.iti__search-icon{position:absolute;left:8px;display:flex;pointer-events:none}[dir=rtl] .iti__search-icon{left:auto;right:8px}.iti__search-icon-svg{stroke:var(--iti-search-icon-color);fill:none;stroke-width:3}.iti__search-clear{position:absolute;right:4px;background:0 0;border:0;border-radius:3px;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease;width:24px;height:24px}.iti__search-clear .iti__search-clear-x{stroke-width:2}.iti__search-clear .iti__search-clear-bg{fill:var(--iti-search-icon-color)}[dir=rtl] .iti__search-clear{right:auto;left:4px}.iti__search-clear:focus-visible,.iti__search-clear:hover{background:var(--iti-hover-color);outline:0}.iti__no-results{text-align:center;padding:30px 0}.iti__country-list{list-style:none;padding:0;margin:0;cursor:pointer;overflow-y:scroll;-webkit-overflow-scrolling:touch}.iti--inline-dropdown .iti__country-list{max-height:185px}.iti--flexible-dropdown-width .iti__country-list{white-space:nowrap}@media (max-width:500px){.iti--flexible-dropdown-width .iti__country-list{white-space:normal}}.iti__country{display:flex;align-items:center;padding:8px var(--iti-spacer-horizontal);outline:0}.iti__dial-code{color:var(--iti-dialcode-color)}.iti__country.iti__highlight{background-color:var(--iti-hover-color)}.iti__country-list .iti__flag,.iti__country-name{margin-right:var(--iti-spacer-horizontal)}[dir=rtl] .iti__country-list .iti__flag,[dir=rtl] .iti__country-name{margin-right:0;margin-left:var(--iti-spacer-horizontal)}.iti--allow-dropdown .iti__country-container:not(:has(+ input[disabled])):not(:has(+ input[readonly])) button.iti__selected-country{cursor:pointer}.iti--allow-dropdown .iti__country-container:not(:has(+ input[disabled])):not(:has(+ input[readonly])) .iti__selected-country-primary:hover,.iti--allow-dropdown .iti__country-container:not(:has(+ input[disabled])):not(:has(+ input[readonly])) .iti__selected-country:has(+ .iti__dropdown-content:hover) .iti__selected-country-primary{background-color:var(--iti-hover-color)}.iti .iti__selected-dial-code{margin-left:4px}[dir=rtl] .iti .iti__selected-dial-code{margin-left:0;margin-right:4px}.iti--container{position:fixed;top:-1000px;left:-1000px;z-index:1060;padding:var(--iti-border-width)}.iti--container:hover{cursor:pointer}.iti__hide{display:none}.iti__v-hide{visibility:hidden}.iti--fullscreen-popup.iti--container{background-color:rgba(0,0,0,.5);top:0;bottom:0;left:0;right:0;position:fixed;padding:var(--iti-mobile-popup-margin);display:flex;flex-direction:column;justify-content:flex-start}.iti--fullscreen-popup .iti__dropdown-content{display:flex;flex-direction:column;max-height:100%;position:relative}.iti--fullscreen-popup .iti__country{padding:10px 10px;line-height:1.5em}.iti__flag{--iti-flag-offset:100px;height:var(--iti-flag-height);width:var(--iti-flag-width);border-radius:1px;box-shadow:0 0 1px 0 #888;background-image:var(--iti-path-flags-1x);background-repeat:no-repeat;background-position:var(--iti-flag-offset) 0;background-size:var(--iti-flag-sprite-width) var(--iti-flag-sprite-height)}.iti__ac{--iti-flag-offset:0px}.iti__ad{--iti-flag-offset:-16px}.iti__ae{--iti-flag-offset:-32px}.iti__af{--iti-flag-offset:-48px}.iti__ag{--iti-flag-offset:-64px}.iti__ai{--iti-flag-offset:-80px}.iti__al{--iti-flag-offset:-96px}.iti__am{--iti-flag-offset:-112px}.iti__ao{--iti-flag-offset:-128px}.iti__ar{--iti-flag-offset:-144px}.iti__as{--iti-flag-offset:-160px}.iti__at{--iti-flag-offset:-176px}.iti__au{--iti-flag-offset:-192px}.iti__aw{--iti-flag-offset:-208px}.iti__ax{--iti-flag-offset:-224px}.iti__az{--iti-flag-offset:-240px}.iti__ba{--iti-flag-offset:-256px}.iti__bb{--iti-flag-offset:-272px}.iti__bd{--iti-flag-offset:-288px}.iti__be{--iti-flag-offset:-304px}.iti__bf{--iti-flag-offset:-320px}.iti__bg{--iti-flag-offset:-336px}.iti__bh{--iti-flag-offset:-352px}.iti__bi{--iti-flag-offset:-368px}.iti__bj{--iti-flag-offset:-384px}.iti__bl{--iti-flag-offset:-400px}.iti__bm{--iti-flag-offset:-416px}.iti__bn{--iti-flag-offset:-432px}.iti__bo{--iti-flag-offset:-448px}.iti__bq{--iti-flag-offset:-464px}.iti__br{--iti-flag-offset:-480px}.iti__bs{--iti-flag-offset:-496px}.iti__bt{--iti-flag-offset:-512px}.iti__bw{--iti-flag-offset:-528px}.iti__by{--iti-flag-offset:-544px}.iti__bz{--iti-flag-offset:-560px}.iti__ca{--iti-flag-offset:-576px}.iti__cc{--iti-flag-offset:-592px}.iti__cd{--iti-flag-offset:-608px}.iti__cf{--iti-flag-offset:-624px}.iti__cg{--iti-flag-offset:-640px}.iti__ch{--iti-flag-offset:-656px}.iti__ci{--iti-flag-offset:-672px}.iti__ck{--iti-flag-offset:-688px}.iti__cl{--iti-flag-offset:-704px}.iti__cm{--iti-flag-offset:-720px}.iti__cn{--iti-flag-offset:-736px}.iti__co{--iti-flag-offset:-752px}.iti__cr{--iti-flag-offset:-768px}.iti__cu{--iti-flag-offset:-784px}.iti__cv{--iti-flag-offset:-800px}.iti__cw{--iti-flag-offset:-816px}.iti__cx{--iti-flag-offset:-832px}.iti__cy{--iti-flag-offset:-848px}.iti__cz{--iti-flag-offset:-864px}.iti__de{--iti-flag-offset:-880px}.iti__dj{--iti-flag-offset:-896px}.iti__dk{--iti-flag-offset:-912px}.iti__dm{--iti-flag-offset:-928px}.iti__do{--iti-flag-offset:-944px}.iti__dz{--iti-flag-offset:-960px}.iti__ec{--iti-flag-offset:-976px}.iti__ee{--iti-flag-offset:-992px}.iti__eg{--iti-flag-offset:-1008px}.iti__eh{--iti-flag-offset:-1024px}.iti__er{--iti-flag-offset:-1040px}.iti__es{--iti-flag-offset:-1056px}.iti__et{--iti-flag-offset:-1072px}.iti__fi{--iti-flag-offset:-1088px}.iti__fj{--iti-flag-offset:-1104px}.iti__fk{--iti-flag-offset:-1120px}.iti__fm{--iti-flag-offset:-1136px}.iti__fo{--iti-flag-offset:-1152px}.iti__fr{--iti-flag-offset:-1168px}.iti__ga{--iti-flag-offset:-1184px}.iti__gb{--iti-flag-offset:-1200px}.iti__gd{--iti-flag-offset:-1216px}.iti__ge{--iti-flag-offset:-1232px}.iti__gf{--iti-flag-offset:-1248px}.iti__gg{--iti-flag-offset:-1264px}.iti__gh{--iti-flag-offset:-1280px}.iti__gi{--iti-flag-offset:-1296px}.iti__gl{--iti-flag-offset:-1312px}.iti__gm{--iti-flag-offset:-1328px}.iti__gn{--iti-flag-offset:-1344px}.iti__gp{--iti-flag-offset:-1360px}.iti__gq{--iti-flag-offset:-1376px}.iti__gr{--iti-flag-offset:-1392px}.iti__gt{--iti-flag-offset:-1408px}.iti__gu{--iti-flag-offset:-1424px}.iti__gw{--iti-flag-offset:-1440px}.iti__gy{--iti-flag-offset:-1456px}.iti__hk{--iti-flag-offset:-1472px}.iti__hn{--iti-flag-offset:-1488px}.iti__hr{--iti-flag-offset:-1504px}.iti__ht{--iti-flag-offset:-1520px}.iti__hu{--iti-flag-offset:-1536px}.iti__id{--iti-flag-offset:-1552px}.iti__ie{--iti-flag-offset:-1568px}.iti__il{--iti-flag-offset:-1584px}.iti__im{--iti-flag-offset:-1600px}.iti__in{--iti-flag-offset:-1616px}.iti__io{--iti-flag-offset:-1632px}.iti__iq{--iti-flag-offset:-1648px}.iti__ir{--iti-flag-offset:-1664px}.iti__is{--iti-flag-offset:-1680px}.iti__it{--iti-flag-offset:-1696px}.iti__je{--iti-flag-offset:-1712px}.iti__jm{--iti-flag-offset:-1728px}.iti__jo{--iti-flag-offset:-1744px}.iti__jp{--iti-flag-offset:-1760px}.iti__ke{--iti-flag-offset:-1776px}.iti__kg{--iti-flag-offset:-1792px}.iti__kh{--iti-flag-offset:-1808px}.iti__ki{--iti-flag-offset:-1824px}.iti__km{--iti-flag-offset:-1840px}.iti__kn{--iti-flag-offset:-1856px}.iti__kp{--iti-flag-offset:-1872px}.iti__kr{--iti-flag-offset:-1888px}.iti__kw{--iti-flag-offset:-1904px}.iti__ky{--iti-flag-offset:-1920px}.iti__kz{--iti-flag-offset:-1936px}.iti__la{--iti-flag-offset:-1952px}.iti__lb{--iti-flag-offset:-1968px}.iti__lc{--iti-flag-offset:-1984px}.iti__li{--iti-flag-offset:-2000px}.iti__lk{--iti-flag-offset:-2016px}.iti__lr{--iti-flag-offset:-2032px}.iti__ls{--iti-flag-offset:-2048px}.iti__lt{--iti-flag-offset:-2064px}.iti__lu{--iti-flag-offset:-2080px}.iti__lv{--iti-flag-offset:-2096px}.iti__ly{--iti-flag-offset:-2112px}.iti__ma{--iti-flag-offset:-2128px}.iti__mc{--iti-flag-offset:-2144px}.iti__md{--iti-flag-offset:-2160px}.iti__me{--iti-flag-offset:-2176px}.iti__mf{--iti-flag-offset:-2192px}.iti__mg{--iti-flag-offset:-2208px}.iti__mh{--iti-flag-offset:-2224px}.iti__mk{--iti-flag-offset:-2240px}.iti__ml{--iti-flag-offset:-2256px}.iti__mm{--iti-flag-offset:-2272px}.iti__mn{--iti-flag-offset:-2288px}.iti__mo{--iti-flag-offset:-2304px}.iti__mp{--iti-flag-offset:-2320px}.iti__mq{--iti-flag-offset:-2336px}.iti__mr{--iti-flag-offset:-2352px}.iti__ms{--iti-flag-offset:-2368px}.iti__mt{--iti-flag-offset:-2384px}.iti__mu{--iti-flag-offset:-2400px}.iti__mv{--iti-flag-offset:-2416px}.iti__mw{--iti-flag-offset:-2432px}.iti__mx{--iti-flag-offset:-2448px}.iti__my{--iti-flag-offset:-2464px}.iti__mz{--iti-flag-offset:-2480px}.iti__na{--iti-flag-offset:-2496px}.iti__nc{--iti-flag-offset:-2512px}.iti__ne{--iti-flag-offset:-2528px}.iti__nf{--iti-flag-offset:-2544px}.iti__ng{--iti-flag-offset:-2560px}.iti__ni{--iti-flag-offset:-2576px}.iti__nl{--iti-flag-offset:-2592px}.iti__no{--iti-flag-offset:-2608px}.iti__np{--iti-flag-offset:-2624px}.iti__nr{--iti-flag-offset:-2640px}.iti__nu{--iti-flag-offset:-2656px}.iti__nz{--iti-flag-offset:-2672px}.iti__om{--iti-flag-offset:-2688px}.iti__pa{--iti-flag-offset:-2704px}.iti__pe{--iti-flag-offset:-2720px}.iti__pf{--iti-flag-offset:-2736px}.iti__pg{--iti-flag-offset:-2752px}.iti__ph{--iti-flag-offset:-2768px}.iti__pk{--iti-flag-offset:-2784px}.iti__pl{--iti-flag-offset:-2800px}.iti__pm{--iti-flag-offset:-2816px}.iti__pr{--iti-flag-offset:-2832px}.iti__ps{--iti-flag-offset:-2848px}.iti__pt{--iti-flag-offset:-2864px}.iti__pw{--iti-flag-offset:-2880px}.iti__py{--iti-flag-offset:-2896px}.iti__qa{--iti-flag-offset:-2912px}.iti__re{--iti-flag-offset:-2928px}.iti__ro{--iti-flag-offset:-2944px}.iti__rs{--iti-flag-offset:-2960px}.iti__ru{--iti-flag-offset:-2976px}.iti__rw{--iti-flag-offset:-2992px}.iti__sa{--iti-flag-offset:-3008px}.iti__sb{--iti-flag-offset:-3024px}.iti__sc{--iti-flag-offset:-3040px}.iti__sd{--iti-flag-offset:-3056px}.iti__se{--iti-flag-offset:-3072px}.iti__sg{--iti-flag-offset:-3088px}.iti__sh{--iti-flag-offset:-3104px}.iti__si{--iti-flag-offset:-3120px}.iti__sj{--iti-flag-offset:-3136px}.iti__sk{--iti-flag-offset:-3152px}.iti__sl{--iti-flag-offset:-3168px}.iti__sm{--iti-flag-offset:-3184px}.iti__sn{--iti-flag-offset:-3200px}.iti__so{--iti-flag-offset:-3216px}.iti__sr{--iti-flag-offset:-3232px}.iti__ss{--iti-flag-offset:-3248px}.iti__st{--iti-flag-offset:-3264px}.iti__sv{--iti-flag-offset:-3280px}.iti__sx{--iti-flag-offset:-3296px}.iti__sy{--iti-flag-offset:-3312px}.iti__sz{--iti-flag-offset:-3328px}.iti__tc{--iti-flag-offset:-3344px}.iti__td{--iti-flag-offset:-3360px}.iti__tg{--iti-flag-offset:-3376px}.iti__th{--iti-flag-offset:-3392px}.iti__tj{--iti-flag-offset:-3408px}.iti__tk{--iti-flag-offset:-3424px}.iti__tl{--iti-flag-offset:-3440px}.iti__tm{--iti-flag-offset:-3456px}.iti__tn{--iti-flag-offset:-3472px}.iti__to{--iti-flag-offset:-3488px}.iti__tr{--iti-flag-offset:-3504px}.iti__tt{--iti-flag-offset:-3520px}.iti__tv{--iti-flag-offset:-3536px}.iti__tw{--iti-flag-offset:-3552px}.iti__tz{--iti-flag-offset:-3568px}.iti__ua{--iti-flag-offset:-3584px}.iti__ug{--iti-flag-offset:-3600px}.iti__us{--iti-flag-offset:-3616px}.iti__uy{--iti-flag-offset:-3632px}.iti__uz{--iti-flag-offset:-3648px}.iti__va{--iti-flag-offset:-3664px}.iti__vc{--iti-flag-offset:-3680px}.iti__ve{--iti-flag-offset:-3696px}.iti__vg{--iti-flag-offset:-3712px}.iti__vi{--iti-flag-offset:-3728px}.iti__vn{--iti-flag-offset:-3744px}.iti__vu{--iti-flag-offset:-3760px}.iti__wf{--iti-flag-offset:-3776px}.iti__ws{--iti-flag-offset:-3792px}.iti__xk{--iti-flag-offset:-3808px}.iti__ye{--iti-flag-offset:-3824px}.iti__yt{--iti-flag-offset:-3840px}.iti__za{--iti-flag-offset:-3856px}.iti__zm{--iti-flag-offset:-3872px}.iti__zw{--iti-flag-offset:-3888px}.iti__globe{background-image:var(--iti-path-globe-1x);background-size:contain;background-position:right;box-shadow:none;height:19px}@media (min-resolution:2x){.iti__flag{background-image:var(--iti-path-flags-2x)}.iti__globe{background-image:var(--iti-path-globe-2x)}}
1
+ :root{--iti-hover-color:rgba(0, 0, 0, 0.05);--iti-border-color:#ccc;--iti-dialcode-color:#999;--iti-dropdown-bg:white;--iti-search-icon-color:#999;--iti-spacer-horizontal:8px;--iti-flag-height:12px;--iti-flag-width:16px;--iti-border-width:1px;--iti-arrow-height:4px;--iti-arrow-width:6px;--iti-triangle-border:calc(var(--iti-arrow-width) / 2);--iti-arrow-padding:6px;--iti-arrow-color:#555;--iti-path-flags-1x:url("../img/flags.webp");--iti-path-flags-2x:url("../img/flags@2x.webp");--iti-path-globe-1x:url("../img/globe.webp");--iti-path-globe-2x:url("../img/globe@2x.webp");--iti-flag-sprite-width:3904px;--iti-flag-sprite-height:12px;--iti-mobile-popup-margin:30px}.iti{position:relative;display:inline-block}.iti *{box-sizing:border-box}.iti__a11y-text{width:1px;height:1px;clip:rect(1px,1px,1px,1px);overflow:hidden;position:absolute}.iti input.iti__tel-input,.iti input.iti__tel-input[type=tel],.iti input.iti__tel-input[type=text]{position:relative;z-index:0;margin:0!important}.iti__country-container{position:absolute;top:0;bottom:0;left:0;padding:var(--iti-border-width)}.iti__selected-country{z-index:1;position:relative;display:flex;align-items:center;height:100%;background:0 0;border:0;margin:0;padding:0;font-family:inherit;font-size:inherit;color:inherit;border-radius:0;font-weight:inherit;line-height:inherit;text-decoration:none}.iti__selected-country-primary{display:flex;align-items:center;height:100%;padding:0 var(--iti-arrow-padding) 0 var(--iti-spacer-horizontal)}.iti__arrow{margin-left:var(--iti-arrow-padding);width:0;height:0;border-left:var(--iti-triangle-border) solid transparent;border-right:var(--iti-triangle-border) solid transparent;border-top:var(--iti-arrow-height) solid var(--iti-arrow-color)}.iti__arrow--up{border-top:none;border-bottom:var(--iti-arrow-height) solid var(--iti-arrow-color)}.iti__dropdown-content{border-radius:3px;background-color:var(--iti-dropdown-bg)}.iti--inline-dropdown .iti__dropdown-content{position:absolute;z-index:2;margin-top:3px;margin-left:calc(var(--iti-border-width) * -1);border:var(--iti-border-width) solid var(--iti-border-color);box-shadow:1px 1px 4px rgba(0,0,0,.2)}.iti__search-input{width:100%;border-width:0;border-radius:3px;padding-left:30px;padding-right:28px}[dir=rtl] .iti__search-input{padding-left:inherit;padding-right:30px;background-position:right 8px center}.iti__search-input+.iti__country-list{border-top:1px solid var(--iti-border-color)}.iti__search-input::-webkit-search-cancel-button{appearance:none}.iti__search-input-wrapper{position:relative;display:flex;align-items:center}.iti__search-icon{position:absolute;left:8px;display:flex;pointer-events:none}[dir=rtl] .iti__search-icon{left:auto;right:8px}.iti__search-icon-svg{stroke:var(--iti-search-icon-color);fill:none;stroke-width:3}.iti__search-clear{position:absolute;right:4px;background:0 0;border:0;border-radius:3px;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease;width:24px;height:24px}.iti__search-clear .iti__search-clear-x{stroke-width:2}.iti__search-clear .iti__search-clear-bg{fill:var(--iti-search-icon-color)}[dir=rtl] .iti__search-clear{right:auto;left:4px}.iti__search-clear:focus-visible,.iti__search-clear:hover{background:var(--iti-hover-color);outline:0}.iti__no-results{text-align:center;padding:30px 0}.iti__country-list{list-style:none;padding:0;margin:0;cursor:pointer;overflow-y:scroll;-webkit-overflow-scrolling:touch}.iti--inline-dropdown .iti__country-list{max-height:185px}.iti--flexible-dropdown-width .iti__country-list{white-space:nowrap}@media (max-width:500px){.iti--flexible-dropdown-width .iti__country-list{white-space:normal}}.iti__country{display:flex;align-items:center;padding:8px var(--iti-spacer-horizontal);outline:0}.iti__dial-code{color:var(--iti-dialcode-color)}.iti__country.iti__highlight{background-color:var(--iti-hover-color)}.iti__country-list .iti__flag,.iti__country-name{margin-right:var(--iti-spacer-horizontal)}[dir=rtl] .iti__country-list .iti__flag,[dir=rtl] .iti__country-name{margin-right:0;margin-left:var(--iti-spacer-horizontal)}.iti--allow-dropdown .iti__country-container:not(:has(+ input[disabled])):not(:has(+ input[readonly])) button.iti__selected-country{cursor:pointer}.iti--allow-dropdown .iti__country-container:not(:has(+ input[disabled])):not(:has(+ input[readonly])) .iti__selected-country-primary:hover,.iti--allow-dropdown .iti__country-container:not(:has(+ input[disabled])):not(:has(+ input[readonly])) .iti__selected-country:has(+ .iti__dropdown-content:hover) .iti__selected-country-primary{background-color:var(--iti-hover-color)}.iti .iti__selected-dial-code{margin-left:4px}.iti--container{position:fixed;top:-1000px;left:-1000px;z-index:1060;padding:var(--iti-border-width)}.iti--container:hover{cursor:pointer}.iti__hide{display:none}.iti__v-hide{visibility:hidden}.iti--fullscreen-popup.iti--container{background-color:rgba(0,0,0,.5);top:0;bottom:0;left:0;right:0;position:fixed;padding:var(--iti-mobile-popup-margin);display:flex;flex-direction:column;justify-content:flex-start}.iti--fullscreen-popup .iti__dropdown-content{display:flex;flex-direction:column;max-height:100%;position:relative}.iti--fullscreen-popup .iti__country{padding:10px 10px;line-height:1.5em}.iti__flag{--iti-flag-offset:100px;height:var(--iti-flag-height);width:var(--iti-flag-width);border-radius:1px;box-shadow:0 0 1px 0 #888;background-image:var(--iti-path-flags-1x);background-repeat:no-repeat;background-position:var(--iti-flag-offset) 0;background-size:var(--iti-flag-sprite-width) var(--iti-flag-sprite-height)}.iti__ac{--iti-flag-offset:0px}.iti__ad{--iti-flag-offset:-16px}.iti__ae{--iti-flag-offset:-32px}.iti__af{--iti-flag-offset:-48px}.iti__ag{--iti-flag-offset:-64px}.iti__ai{--iti-flag-offset:-80px}.iti__al{--iti-flag-offset:-96px}.iti__am{--iti-flag-offset:-112px}.iti__ao{--iti-flag-offset:-128px}.iti__ar{--iti-flag-offset:-144px}.iti__as{--iti-flag-offset:-160px}.iti__at{--iti-flag-offset:-176px}.iti__au{--iti-flag-offset:-192px}.iti__aw{--iti-flag-offset:-208px}.iti__ax{--iti-flag-offset:-224px}.iti__az{--iti-flag-offset:-240px}.iti__ba{--iti-flag-offset:-256px}.iti__bb{--iti-flag-offset:-272px}.iti__bd{--iti-flag-offset:-288px}.iti__be{--iti-flag-offset:-304px}.iti__bf{--iti-flag-offset:-320px}.iti__bg{--iti-flag-offset:-336px}.iti__bh{--iti-flag-offset:-352px}.iti__bi{--iti-flag-offset:-368px}.iti__bj{--iti-flag-offset:-384px}.iti__bl{--iti-flag-offset:-400px}.iti__bm{--iti-flag-offset:-416px}.iti__bn{--iti-flag-offset:-432px}.iti__bo{--iti-flag-offset:-448px}.iti__bq{--iti-flag-offset:-464px}.iti__br{--iti-flag-offset:-480px}.iti__bs{--iti-flag-offset:-496px}.iti__bt{--iti-flag-offset:-512px}.iti__bw{--iti-flag-offset:-528px}.iti__by{--iti-flag-offset:-544px}.iti__bz{--iti-flag-offset:-560px}.iti__ca{--iti-flag-offset:-576px}.iti__cc{--iti-flag-offset:-592px}.iti__cd{--iti-flag-offset:-608px}.iti__cf{--iti-flag-offset:-624px}.iti__cg{--iti-flag-offset:-640px}.iti__ch{--iti-flag-offset:-656px}.iti__ci{--iti-flag-offset:-672px}.iti__ck{--iti-flag-offset:-688px}.iti__cl{--iti-flag-offset:-704px}.iti__cm{--iti-flag-offset:-720px}.iti__cn{--iti-flag-offset:-736px}.iti__co{--iti-flag-offset:-752px}.iti__cr{--iti-flag-offset:-768px}.iti__cu{--iti-flag-offset:-784px}.iti__cv{--iti-flag-offset:-800px}.iti__cw{--iti-flag-offset:-816px}.iti__cx{--iti-flag-offset:-832px}.iti__cy{--iti-flag-offset:-848px}.iti__cz{--iti-flag-offset:-864px}.iti__de{--iti-flag-offset:-880px}.iti__dj{--iti-flag-offset:-896px}.iti__dk{--iti-flag-offset:-912px}.iti__dm{--iti-flag-offset:-928px}.iti__do{--iti-flag-offset:-944px}.iti__dz{--iti-flag-offset:-960px}.iti__ec{--iti-flag-offset:-976px}.iti__ee{--iti-flag-offset:-992px}.iti__eg{--iti-flag-offset:-1008px}.iti__eh{--iti-flag-offset:-1024px}.iti__er{--iti-flag-offset:-1040px}.iti__es{--iti-flag-offset:-1056px}.iti__et{--iti-flag-offset:-1072px}.iti__fi{--iti-flag-offset:-1088px}.iti__fj{--iti-flag-offset:-1104px}.iti__fk{--iti-flag-offset:-1120px}.iti__fm{--iti-flag-offset:-1136px}.iti__fo{--iti-flag-offset:-1152px}.iti__fr{--iti-flag-offset:-1168px}.iti__ga{--iti-flag-offset:-1184px}.iti__gb{--iti-flag-offset:-1200px}.iti__gd{--iti-flag-offset:-1216px}.iti__ge{--iti-flag-offset:-1232px}.iti__gf{--iti-flag-offset:-1248px}.iti__gg{--iti-flag-offset:-1264px}.iti__gh{--iti-flag-offset:-1280px}.iti__gi{--iti-flag-offset:-1296px}.iti__gl{--iti-flag-offset:-1312px}.iti__gm{--iti-flag-offset:-1328px}.iti__gn{--iti-flag-offset:-1344px}.iti__gp{--iti-flag-offset:-1360px}.iti__gq{--iti-flag-offset:-1376px}.iti__gr{--iti-flag-offset:-1392px}.iti__gt{--iti-flag-offset:-1408px}.iti__gu{--iti-flag-offset:-1424px}.iti__gw{--iti-flag-offset:-1440px}.iti__gy{--iti-flag-offset:-1456px}.iti__hk{--iti-flag-offset:-1472px}.iti__hn{--iti-flag-offset:-1488px}.iti__hr{--iti-flag-offset:-1504px}.iti__ht{--iti-flag-offset:-1520px}.iti__hu{--iti-flag-offset:-1536px}.iti__id{--iti-flag-offset:-1552px}.iti__ie{--iti-flag-offset:-1568px}.iti__il{--iti-flag-offset:-1584px}.iti__im{--iti-flag-offset:-1600px}.iti__in{--iti-flag-offset:-1616px}.iti__io{--iti-flag-offset:-1632px}.iti__iq{--iti-flag-offset:-1648px}.iti__ir{--iti-flag-offset:-1664px}.iti__is{--iti-flag-offset:-1680px}.iti__it{--iti-flag-offset:-1696px}.iti__je{--iti-flag-offset:-1712px}.iti__jm{--iti-flag-offset:-1728px}.iti__jo{--iti-flag-offset:-1744px}.iti__jp{--iti-flag-offset:-1760px}.iti__ke{--iti-flag-offset:-1776px}.iti__kg{--iti-flag-offset:-1792px}.iti__kh{--iti-flag-offset:-1808px}.iti__ki{--iti-flag-offset:-1824px}.iti__km{--iti-flag-offset:-1840px}.iti__kn{--iti-flag-offset:-1856px}.iti__kp{--iti-flag-offset:-1872px}.iti__kr{--iti-flag-offset:-1888px}.iti__kw{--iti-flag-offset:-1904px}.iti__ky{--iti-flag-offset:-1920px}.iti__kz{--iti-flag-offset:-1936px}.iti__la{--iti-flag-offset:-1952px}.iti__lb{--iti-flag-offset:-1968px}.iti__lc{--iti-flag-offset:-1984px}.iti__li{--iti-flag-offset:-2000px}.iti__lk{--iti-flag-offset:-2016px}.iti__lr{--iti-flag-offset:-2032px}.iti__ls{--iti-flag-offset:-2048px}.iti__lt{--iti-flag-offset:-2064px}.iti__lu{--iti-flag-offset:-2080px}.iti__lv{--iti-flag-offset:-2096px}.iti__ly{--iti-flag-offset:-2112px}.iti__ma{--iti-flag-offset:-2128px}.iti__mc{--iti-flag-offset:-2144px}.iti__md{--iti-flag-offset:-2160px}.iti__me{--iti-flag-offset:-2176px}.iti__mf{--iti-flag-offset:-2192px}.iti__mg{--iti-flag-offset:-2208px}.iti__mh{--iti-flag-offset:-2224px}.iti__mk{--iti-flag-offset:-2240px}.iti__ml{--iti-flag-offset:-2256px}.iti__mm{--iti-flag-offset:-2272px}.iti__mn{--iti-flag-offset:-2288px}.iti__mo{--iti-flag-offset:-2304px}.iti__mp{--iti-flag-offset:-2320px}.iti__mq{--iti-flag-offset:-2336px}.iti__mr{--iti-flag-offset:-2352px}.iti__ms{--iti-flag-offset:-2368px}.iti__mt{--iti-flag-offset:-2384px}.iti__mu{--iti-flag-offset:-2400px}.iti__mv{--iti-flag-offset:-2416px}.iti__mw{--iti-flag-offset:-2432px}.iti__mx{--iti-flag-offset:-2448px}.iti__my{--iti-flag-offset:-2464px}.iti__mz{--iti-flag-offset:-2480px}.iti__na{--iti-flag-offset:-2496px}.iti__nc{--iti-flag-offset:-2512px}.iti__ne{--iti-flag-offset:-2528px}.iti__nf{--iti-flag-offset:-2544px}.iti__ng{--iti-flag-offset:-2560px}.iti__ni{--iti-flag-offset:-2576px}.iti__nl{--iti-flag-offset:-2592px}.iti__no{--iti-flag-offset:-2608px}.iti__np{--iti-flag-offset:-2624px}.iti__nr{--iti-flag-offset:-2640px}.iti__nu{--iti-flag-offset:-2656px}.iti__nz{--iti-flag-offset:-2672px}.iti__om{--iti-flag-offset:-2688px}.iti__pa{--iti-flag-offset:-2704px}.iti__pe{--iti-flag-offset:-2720px}.iti__pf{--iti-flag-offset:-2736px}.iti__pg{--iti-flag-offset:-2752px}.iti__ph{--iti-flag-offset:-2768px}.iti__pk{--iti-flag-offset:-2784px}.iti__pl{--iti-flag-offset:-2800px}.iti__pm{--iti-flag-offset:-2816px}.iti__pr{--iti-flag-offset:-2832px}.iti__ps{--iti-flag-offset:-2848px}.iti__pt{--iti-flag-offset:-2864px}.iti__pw{--iti-flag-offset:-2880px}.iti__py{--iti-flag-offset:-2896px}.iti__qa{--iti-flag-offset:-2912px}.iti__re{--iti-flag-offset:-2928px}.iti__ro{--iti-flag-offset:-2944px}.iti__rs{--iti-flag-offset:-2960px}.iti__ru{--iti-flag-offset:-2976px}.iti__rw{--iti-flag-offset:-2992px}.iti__sa{--iti-flag-offset:-3008px}.iti__sb{--iti-flag-offset:-3024px}.iti__sc{--iti-flag-offset:-3040px}.iti__sd{--iti-flag-offset:-3056px}.iti__se{--iti-flag-offset:-3072px}.iti__sg{--iti-flag-offset:-3088px}.iti__sh{--iti-flag-offset:-3104px}.iti__si{--iti-flag-offset:-3120px}.iti__sj{--iti-flag-offset:-3136px}.iti__sk{--iti-flag-offset:-3152px}.iti__sl{--iti-flag-offset:-3168px}.iti__sm{--iti-flag-offset:-3184px}.iti__sn{--iti-flag-offset:-3200px}.iti__so{--iti-flag-offset:-3216px}.iti__sr{--iti-flag-offset:-3232px}.iti__ss{--iti-flag-offset:-3248px}.iti__st{--iti-flag-offset:-3264px}.iti__sv{--iti-flag-offset:-3280px}.iti__sx{--iti-flag-offset:-3296px}.iti__sy{--iti-flag-offset:-3312px}.iti__sz{--iti-flag-offset:-3328px}.iti__tc{--iti-flag-offset:-3344px}.iti__td{--iti-flag-offset:-3360px}.iti__tg{--iti-flag-offset:-3376px}.iti__th{--iti-flag-offset:-3392px}.iti__tj{--iti-flag-offset:-3408px}.iti__tk{--iti-flag-offset:-3424px}.iti__tl{--iti-flag-offset:-3440px}.iti__tm{--iti-flag-offset:-3456px}.iti__tn{--iti-flag-offset:-3472px}.iti__to{--iti-flag-offset:-3488px}.iti__tr{--iti-flag-offset:-3504px}.iti__tt{--iti-flag-offset:-3520px}.iti__tv{--iti-flag-offset:-3536px}.iti__tw{--iti-flag-offset:-3552px}.iti__tz{--iti-flag-offset:-3568px}.iti__ua{--iti-flag-offset:-3584px}.iti__ug{--iti-flag-offset:-3600px}.iti__us{--iti-flag-offset:-3616px}.iti__uy{--iti-flag-offset:-3632px}.iti__uz{--iti-flag-offset:-3648px}.iti__va{--iti-flag-offset:-3664px}.iti__vc{--iti-flag-offset:-3680px}.iti__ve{--iti-flag-offset:-3696px}.iti__vg{--iti-flag-offset:-3712px}.iti__vi{--iti-flag-offset:-3728px}.iti__vn{--iti-flag-offset:-3744px}.iti__vu{--iti-flag-offset:-3760px}.iti__wf{--iti-flag-offset:-3776px}.iti__ws{--iti-flag-offset:-3792px}.iti__xk{--iti-flag-offset:-3808px}.iti__ye{--iti-flag-offset:-3824px}.iti__yt{--iti-flag-offset:-3840px}.iti__za{--iti-flag-offset:-3856px}.iti__zm{--iti-flag-offset:-3872px}.iti__zw{--iti-flag-offset:-3888px}.iti__globe{background-image:var(--iti-path-globe-1x);background-size:contain;background-position:right;box-shadow:none;height:19px}@media (min-resolution:2x){.iti__flag{background-image:var(--iti-path-flags-2x)}.iti__globe{background-image:var(--iti-path-globe-2x)}}
package/build/js/data.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*
2
- * International Telephone Input v25.10.11
2
+ * International Telephone Input v25.11.0
3
3
  * https://github.com/jackocnr/intl-tel-input.git
4
4
  * Licensed under the MIT license
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*
2
- * International Telephone Input v25.10.11
2
+ * International Telephone Input v25.11.0
3
3
  * https://github.com/jackocnr/intl-tel-input.git
4
4
  * Licensed under the MIT license
5
5
  */
@@ -123,6 +123,8 @@ declare module "modules/types/public-api" {
123
123
  version: string | undefined;
124
124
  utils?: ItiUtils;
125
125
  }
126
+ type EmptyObject = Record<string, never>;
127
+ export type SelectedCountryData = Country | EmptyObject;
126
128
  }
127
129
  declare module "modules/core/options" {
128
130
  import type { AllOptions } from "modules/types/public-api";
@@ -134,8 +136,59 @@ declare module "modules/utils/string" {
134
136
  export const normaliseString: (s?: string) => string;
135
137
  }
136
138
  declare module "modules/utils/dom" {
139
+ /**
140
+ * Build a space-delimited class string from an object map of className -> truthy/falsey.
141
+ * Only keys with truthy values are included.
142
+ */
143
+ export const buildClassNames: (flags: Record<string, unknown>) => string;
137
144
  export const createEl: (tagName: string, attrs?: object | null, container?: HTMLElement) => HTMLElement;
138
145
  }
146
+ declare module "modules/core/ui" {
147
+ import { Country } from "intl-tel-input/data";
148
+ import { AllOptions } from "modules/types/public-api";
149
+ export default class UI {
150
+ private readonly options;
151
+ private readonly id;
152
+ private readonly isRTL;
153
+ private readonly originalPaddingLeft;
154
+ private countries;
155
+ telInput: HTMLInputElement;
156
+ countryContainer: HTMLElement;
157
+ selectedCountry: HTMLElement;
158
+ selectedCountryInner: HTMLElement;
159
+ selectedDialCode: HTMLElement;
160
+ dropdownArrow: HTMLElement;
161
+ dropdownContent: HTMLElement;
162
+ searchInput: HTMLInputElement;
163
+ searchIcon: HTMLElement;
164
+ searchClearButton: HTMLButtonElement;
165
+ searchNoResults: HTMLElement;
166
+ searchResultsA11yText: HTMLElement;
167
+ countryList: HTMLElement;
168
+ dropdown: HTMLElement;
169
+ hiddenInput: HTMLInputElement;
170
+ hiddenInputCountry: HTMLInputElement;
171
+ highlightedItem: HTMLElement | null;
172
+ readonly hadInitialPlaceholder: boolean;
173
+ constructor(input: HTMLInputElement, options: AllOptions, id: number);
174
+ generateMarkup(countries: Country[]): void;
175
+ private _prepareTelInput;
176
+ private _createWrapperAndInsert;
177
+ private _maybeBuildCountryContainer;
178
+ private _buildDropdownContent;
179
+ private _buildSearchUI;
180
+ private _maybeUpdateInputPaddingAndReveal;
181
+ private _maybeBuildHiddenInputs;
182
+ private _appendListItems;
183
+ updateInputPadding(): void;
184
+ private _getHiddenSelectedCountryWidth;
185
+ updateSearchResultsA11yText(): void;
186
+ scrollTo(element: HTMLElement): void;
187
+ highlightListItem(listItem: HTMLElement | null, shouldFocus: boolean): void;
188
+ filterCountries(matchedCountries: Country[]): void;
189
+ destroy(): void;
190
+ }
191
+ }
139
192
  declare module "modules/data/country-data" {
140
193
  import { Country, Iso2 } from "intl-tel-input/data";
141
194
  import type { AllOptions } from "modules/types/public-api";
@@ -151,9 +204,9 @@ declare module "modules/data/country-data" {
151
204
  export function cacheSearchTokens(countries: Country[]): void;
152
205
  }
153
206
  declare module "modules/format/formatting" {
154
- import { Country } from "intl-tel-input/data";
155
- export function beforeSetNumber(fullNumber: string, dialCode: string, separateDialCode: boolean, selectedCountryData: Partial<Country>): string;
156
- export function formatNumberAsYouType(fullNumber: string, telInputValue: string, utils: any, selectedCountryData: Partial<Country>, separateDialCode: boolean): string;
207
+ import { SelectedCountryData } from "modules/types/public-api";
208
+ export function beforeSetNumber(fullNumber: string, dialCode: string, separateDialCode: boolean, selectedCountryData: SelectedCountryData): string;
209
+ export function formatNumberAsYouType(fullNumber: string, telInputValue: string, utils: any, selectedCountryData: SelectedCountryData, separateDialCode: boolean): string;
157
210
  }
158
211
  declare module "modules/format/caret" {
159
212
  export function translateCursorPosition(relevantChars: number, formattedValue: string, prevCaretPos: number, isDeleteForwards: boolean): number;
@@ -162,88 +215,49 @@ declare module "modules/data/nanp-regionless" {
162
215
  export const regionlessNanpNumbers: string[];
163
216
  export const isRegionlessNanp: (number: string) => boolean;
164
217
  }
218
+ declare module "modules/types/events" {
219
+ export type ItiEventMap = {
220
+ "countrychange": Record<string, never>;
221
+ "open:countrydropdown": Record<string, never>;
222
+ "close:countrydropdown": Record<string, never>;
223
+ "input": {
224
+ isSetNumber?: boolean;
225
+ };
226
+ };
227
+ }
165
228
  declare module "intl-tel-input" {
166
- import { Country, Iso2 } from "intl-tel-input/data";
167
- import type { NumberType, SomeOptions, IntlTelInputInterface } from "modules/types/public-api";
229
+ import { Iso2 } from "intl-tel-input/data";
230
+ import type { NumberType, SomeOptions, IntlTelInputInterface, SelectedCountryData } from "modules/types/public-api";
168
231
  global {
169
232
  interface HTMLInputElement {
170
233
  iti?: Iti;
171
234
  }
172
235
  }
173
236
  export class Iti {
174
- id: number;
175
- promise: Promise<[unknown, unknown]>;
176
- private telInput;
177
- private highlightedItem;
178
- private options;
179
- private hadInitialPlaceholder;
180
- private isRTL;
181
- private showSelectedCountryOnLeft;
182
- private isAndroid;
237
+ readonly id: number;
238
+ readonly promise: Promise<[unknown, unknown]>;
239
+ private readonly ui;
240
+ private readonly options;
241
+ private readonly isAndroid;
242
+ private readonly countries;
243
+ private readonly dialCodeMaxLen;
244
+ private readonly dialCodeToIso2Map;
245
+ private readonly dialCodes;
246
+ private readonly countryByIso2;
183
247
  private selectedCountryData;
184
- private countries;
185
- private dialCodeMaxLen;
186
- private dialCodeToIso2Map;
187
- private dialCodes;
188
- private countryByIso2;
189
- private countryContainer;
190
- private selectedCountry;
191
- private selectedCountryInner;
192
- private selectedDialCode;
193
- private dropdownArrow;
194
- private dropdownContent;
195
- private searchInput;
196
- private searchIcon;
197
- private searchClearButton;
198
- private searchNoResults;
199
- private searchResultsA11yText;
200
- private countryList;
201
- private dropdown;
202
- private hiddenInput;
203
- private hiddenInputCountry;
204
248
  private maxCoreNumberLength;
205
249
  private defaultCountry;
206
- private originalPaddingRight;
207
- private originalPaddingLeft;
208
- private _handleHiddenInputSubmit;
209
- private _handleLabelClick;
210
- private _handleClickSelectedCountry;
211
- private _handleCountryContainerKeydown;
212
- private _handleInputEvent;
213
- private _handleKeydownEvent;
214
- private _handlePasteEvent;
215
- private _handleWindowScroll;
216
- private _handleMouseoverCountryList;
217
- private _handleClickCountryList;
218
- private _handleClickOffToClose;
219
- private _handleKeydownOnDropdown;
220
- private _handleSearchChange;
221
- private _handleSearchClear;
222
- private _handlePageLoad;
223
- private _doAttachUtils;
250
+ private abortController;
251
+ private dropdownAbortController;
224
252
  private resolveAutoCountryPromise;
225
253
  private rejectAutoCountryPromise;
226
254
  private resolveUtilsScriptPromise;
227
255
  private rejectUtilsScriptPromise;
228
- /**
229
- * Build a space-delimited class string from an object map of className -> truthy/falsey.
230
- * Only keys with truthy values are included.
231
- */
232
- private static _buildClassNames;
233
256
  constructor(input: HTMLInputElement, customOptions?: SomeOptions);
234
- private _detectEnvironmentAndLayout;
257
+ private static _getIsAndroid;
235
258
  private _createInitPromises;
236
259
  _init(): void;
237
260
  private _processCountryData;
238
- private _generateMarkup;
239
- private _prepareTelInput;
240
- private _createWrapperAndInsert;
241
- private _maybeBuildCountryContainer;
242
- private _buildDropdownContent;
243
- private _buildSearchUI;
244
- private _maybeUpdateInputPaddingAndReveal;
245
- private _maybeBuildHiddenInputs;
246
- private _appendListItems;
247
261
  private _setInitialState;
248
262
  private _initListeners;
249
263
  private _initHiddenInputListener;
@@ -261,24 +275,19 @@ declare module "intl-tel-input" {
261
275
  private _setDropdownPosition;
262
276
  private _bindDropdownListeners;
263
277
  private _searchForCountry;
264
- private _filterCountries;
278
+ private _filterCountriesByQuery;
265
279
  private _getMatchedCountries;
266
- private _updateSearchResultsA11yText;
267
280
  private _handleUpDownKey;
268
281
  private _handleEnterKey;
269
282
  private _updateValFromNumber;
270
283
  private _updateCountryFromNumber;
271
284
  private _ensureHasDialCode;
272
285
  private _getNewCountryFromNumber;
273
- private _highlightListItem;
274
286
  private _setCountry;
275
- private _updateInputPadding;
276
287
  private _updateMaxLength;
277
- private _getHiddenSelectedCountryWidth;
278
288
  private _updatePlaceholder;
279
289
  private _selectListItem;
280
290
  private _closeDropdown;
281
- private _scrollTo;
282
291
  private _updateDialCode;
283
292
  private _getDialCode;
284
293
  private _getFullNumber;
@@ -290,7 +299,7 @@ declare module "intl-tel-input" {
290
299
  getExtension(): string;
291
300
  getNumber(format?: number): string;
292
301
  getNumberType(): number;
293
- getSelectedCountryData(): Partial<Country>;
302
+ getSelectedCountryData(): SelectedCountryData;
294
303
  getValidationError(): number;
295
304
  isValidNumber(): boolean | null;
296
305
  isValidNumberPrecise(): boolean | null;