intl-tel-input
Version:
A JavaScript library for entering, formatting, and validating international telephone numbers
1,785 lines (1,781 loc) • 18.3 kB
TypeScript
// Generated by dts-bundle-generator v9.5.1
declare const rawCountryData: readonly [
readonly [
"af",
"93",
0,
null,
"0"
],
readonly [
"ax",
"358",
1,
readonly [
"18",
"4"
],
"0"
],
readonly [
"al",
"355",
0,
null,
"0"
],
readonly [
"dz",
"213",
0,
null,
"0"
],
readonly [
"as",
"1",
5,
readonly [
"684"
],
"1"
],
readonly [
"ad",
"376"
],
readonly [
"ao",
"244"
],
readonly [
"ai",
"1",
6,
readonly [
"264"
],
"1"
],
readonly [
"ag",
"1",
7,
readonly [
"268"
],
"1"
],
readonly [
"ar",
"54",
0,
null,
"0"
],
readonly [
"am",
"374",
0,
null,
"0"
],
readonly [
"aw",
"297"
],
readonly [
"ac",
"247"
],
readonly [
"au",
"61",
0,
readonly [
"4"
],
"0"
],
readonly [
"at",
"43",
0,
null,
"0"
],
readonly [
"az",
"994",
0,
null,
"0"
],
readonly [
"bs",
"1",
8,
readonly [
"242"
],
"1"
],
readonly [
"bh",
"973"
],
readonly [
"bd",
"880",
0,
null,
"0"
],
readonly [
"bb",
"1",
9,
readonly [
"246"
],
"1"
],
readonly [
"by",
"375",
0,
null,
"8"
],
readonly [
"be",
"32",
0,
null,
"0"
],
readonly [
"bz",
"501"
],
readonly [
"bj",
"229"
],
readonly [
"bm",
"1",
10,
readonly [
"441"
],
"1"
],
readonly [
"bt",
"975"
],
readonly [
"bo",
"591",
0,
null,
"0"
],
readonly [
"ba",
"387",
0,
null,
"0"
],
readonly [
"bw",
"267"
],
readonly [
"br",
"55",
0,
null,
"0"
],
readonly [
"io",
"246"
],
readonly [
"vg",
"1",
11,
readonly [
"284"
],
"1"
],
readonly [
"bn",
"673"
],
readonly [
"bg",
"359",
0,
null,
"0"
],
readonly [
"bf",
"226"
],
readonly [
"bi",
"257"
],
readonly [
"kh",
"855",
0,
null,
"0"
],
readonly [
"cm",
"237"
],
readonly [
"ca",
"1",
1,
readonly [
"204",
"226",
"236",
"249",
"250",
"257",
"263",
"289",
"306",
"343",
"354",
"365",
"367",
"368",
"382",
"403",
"416",
"418",
"428",
"431",
"437",
"438",
"450",
"468",
"474",
"506",
"514",
"519",
"548",
"579",
"581",
"584",
"587",
"604",
"613",
"639",
"647",
"672",
"683",
"705",
"709",
"742",
"753",
"778",
"780",
"782",
"807",
"819",
"825",
"867",
"873",
"879",
"902",
"905",
"942"
],
"1"
],
readonly [
"cv",
"238"
],
readonly [
"bq",
"599",
1,
readonly [
"3",
"4",
"7"
]
],
readonly [
"ky",
"1",
12,
readonly [
"345"
],
"1"
],
readonly [
"cf",
"236"
],
readonly [
"td",
"235"
],
readonly [
"cl",
"56"
],
readonly [
"cn",
"86",
0,
null,
"0"
],
readonly [
"cx",
"61",
2,
readonly [
"4",
"89164"
],
"0"
],
readonly [
"cc",
"61",
1,
readonly [
"4",
"89162"
],
"0"
],
readonly [
"co",
"57",
0,
null,
"0"
],
readonly [
"km",
"269"
],
readonly [
"cg",
"242"
],
readonly [
"cd",
"243",
0,
null,
"0"
],
readonly [
"ck",
"682"
],
readonly [
"cr",
"506"
],
readonly [
"ci",
"225"
],
readonly [
"hr",
"385",
0,
null,
"0"
],
readonly [
"cu",
"53",
0,
null,
"0"
],
readonly [
"cw",
"599",
0
],
readonly [
"cy",
"357"
],
readonly [
"cz",
"420"
],
readonly [
"dk",
"45"
],
readonly [
"dj",
"253"
],
readonly [
"dm",
"1",
13,
readonly [
"767"
],
"1"
],
readonly [
"do",
"1",
2,
readonly [
"809",
"829",
"849"
],
"1"
],
readonly [
"ec",
"593",
0,
null,
"0"
],
readonly [
"eg",
"20",
0,
null,
"0"
],
readonly [
"sv",
"503"
],
readonly [
"gq",
"240"
],
readonly [
"er",
"291",
0,
null,
"0"
],
readonly [
"ee",
"372"
],
readonly [
"sz",
"268"
],
readonly [
"et",
"251",
0,
null,
"0"
],
readonly [
"fk",
"500"
],
readonly [
"fo",
"298"
],
readonly [
"fj",
"679"
],
readonly [
"fi",
"358",
0,
readonly [
"4"
],
"0"
],
readonly [
"fr",
"33",
0,
null,
"0"
],
readonly [
"gf",
"594",
0,
null,
"0"
],
readonly [
"pf",
"689"
],
readonly [
"ga",
"241"
],
readonly [
"gm",
"220"
],
readonly [
"ge",
"995",
0,
null,
"0"
],
readonly [
"de",
"49",
0,
null,
"0"
],
readonly [
"gh",
"233",
0,
null,
"0"
],
readonly [
"gi",
"350"
],
readonly [
"gr",
"30"
],
readonly [
"gl",
"299"
],
readonly [
"gd",
"1",
14,
readonly [
"473"
],
"1"
],
readonly [
"gp",
"590",
0,
null,
"0"
],
readonly [
"gu",
"1",
15,
readonly [
"671"
],
"1"
],
readonly [
"gt",
"502"
],
readonly [
"gg",
"44",
1,
readonly [
"1481",
"7781",
"7839",
"7911"
],
"0"
],
readonly [
"gn",
"224"
],
readonly [
"gw",
"245"
],
readonly [
"gy",
"592"
],
readonly [
"ht",
"509"
],
readonly [
"hn",
"504"
],
readonly [
"hk",
"852"
],
readonly [
"hu",
"36",
0,
null,
"06"
],
readonly [
"is",
"354"
],
readonly [
"in",
"91",
0,
null,
"0"
],
readonly [
"id",
"62",
0,
null,
"0"
],
readonly [
"ir",
"98",
0,
null,
"0"
],
readonly [
"iq",
"964",
0,
null,
"0"
],
readonly [
"ie",
"353",
0,
null,
"0"
],
readonly [
"im",
"44",
2,
readonly [
"1624",
"74576",
"7524",
"7624",
"7924"
],
"0"
],
readonly [
"il",
"972",
0,
null,
"0"
],
readonly [
"it",
"39",
0,
readonly [
"3"
]
],
readonly [
"jm",
"1",
4,
readonly [
"658",
"876"
],
"1"
],
readonly [
"jp",
"81",
0,
null,
"0"
],
readonly [
"je",
"44",
3,
readonly [
"1534",
"7509",
"7700",
"7797",
"7829",
"7937"
],
"0"
],
readonly [
"jo",
"962",
0,
null,
"0"
],
readonly [
"kz",
"7",
1,
readonly [
"33",
"7"
],
"8"
],
readonly [
"ke",
"254",
0,
null,
"0"
],
readonly [
"ki",
"686",
0,
null,
"0"
],
readonly [
"xk",
"383",
0,
null,
"0"
],
readonly [
"kw",
"965"
],
readonly [
"kg",
"996",
0,
null,
"0"
],
readonly [
"la",
"856",
0,
null,
"0"
],
readonly [
"lv",
"371"
],
readonly [
"lb",
"961",
0,
null,
"0"
],
readonly [
"ls",
"266"
],
readonly [
"lr",
"231",
0,
null,
"0"
],
readonly [
"ly",
"218",
0,
null,
"0"
],
readonly [
"li",
"423",
0,
null,
"0"
],
readonly [
"lt",
"370",
0,
null,
"0"
],
readonly [
"lu",
"352"
],
readonly [
"mo",
"853"
],
readonly [
"mg",
"261",
0,
null,
"0"
],
readonly [
"mw",
"265",
0,
null,
"0"
],
readonly [
"my",
"60",
0,
null,
"0"
],
readonly [
"mv",
"960"
],
readonly [
"ml",
"223"
],
readonly [
"mt",
"356"
],
readonly [
"mh",
"692",
0,
null,
"1"
],
readonly [
"mq",
"596",
0,
null,
"0"
],
readonly [
"mr",
"222"
],
readonly [
"mu",
"230"
],
readonly [
"yt",
"262",
1,
readonly [
"269",
"639"
],
"0"
],
readonly [
"mx",
"52"
],
readonly [
"fm",
"691"
],
readonly [
"md",
"373",
0,
null,
"0"
],
readonly [
"mc",
"377",
0,
null,
"0"
],
readonly [
"mn",
"976",
0,
null,
"0"
],
readonly [
"me",
"382",
0,
null,
"0"
],
readonly [
"ms",
"1",
16,
readonly [
"664"
],
"1"
],
readonly [
"ma",
"212",
0,
readonly [
"6",
"7"
],
"0"
],
readonly [
"mz",
"258"
],
readonly [
"mm",
"95",
0,
null,
"0"
],
readonly [
"na",
"264",
0,
null,
"0"
],
readonly [
"nr",
"674"
],
readonly [
"np",
"977",
0,
null,
"0"
],
readonly [
"nl",
"31",
0,
null,
"0"
],
readonly [
"nc",
"687"
],
readonly [
"nz",
"64",
0,
null,
"0"
],
readonly [
"ni",
"505"
],
readonly [
"ne",
"227"
],
readonly [
"ng",
"234",
0,
null,
"0"
],
readonly [
"nu",
"683"
],
readonly [
"nf",
"672"
],
readonly [
"kp",
"850",
0,
null,
"0"
],
readonly [
"mk",
"389",
0,
null,
"0"
],
readonly [
"mp",
"1",
17,
readonly [
"670"
],
"1"
],
readonly [
"no",
"47",
0,
readonly [
"4",
"9"
]
],
readonly [
"om",
"968"
],
readonly [
"pk",
"92",
0,
null,
"0"
],
readonly [
"pw",
"680"
],
readonly [
"ps",
"970",
0,
null,
"0"
],
readonly [
"pa",
"507"
],
readonly [
"pg",
"675"
],
readonly [
"py",
"595",
0,
null,
"0"
],
readonly [
"pe",
"51",
0,
null,
"0"
],
readonly [
"ph",
"63",
0,
null,
"0"
],
readonly [
"pl",
"48"
],
readonly [
"pt",
"351"
],
readonly [
"pr",
"1",
3,
readonly [
"787",
"939"
],
"1"
],
readonly [
"qa",
"974"
],
readonly [
"re",
"262",
0,
null,
"0"
],
readonly [
"ro",
"40",
0,
null,
"0"
],
readonly [
"ru",
"7",
0,
readonly [
"33"
],
"8"
],
readonly [
"rw",
"250",
0,
null,
"0"
],
readonly [
"ws",
"685"
],
readonly [
"sm",
"378"
],
readonly [
"st",
"239"
],
readonly [
"sa",
"966",
0,
null,
"0"
],
readonly [
"sn",
"221"
],
readonly [
"rs",
"381",
0,
null,
"0"
],
readonly [
"sc",
"248"
],
readonly [
"sl",
"232",
0,
null,
"0"
],
readonly [
"sg",
"65"
],
readonly [
"sx",
"1",
21,
readonly [
"721"
],
"1"
],
readonly [
"sk",
"421",
0,
null,
"0"
],
readonly [
"si",
"386",
0,
null,
"0"
],
readonly [
"sb",
"677"
],
readonly [
"so",
"252",
0,
null,
"0"
],
readonly [
"za",
"27",
0,
null,
"0"
],
readonly [
"kr",
"82",
0,
null,
"0"
],
readonly [
"ss",
"211",
0,
null,
"0"
],
readonly [
"es",
"34"
],
readonly [
"lk",
"94",
0,
null,
"0"
],
readonly [
"bl",
"590",
1,
null,
"0"
],
readonly [
"sh",
"290"
],
readonly [
"kn",
"1",
18,
readonly [
"869"
],
"1"
],
readonly [
"lc",
"1",
19,
readonly [
"758"
],
"1"
],
readonly [
"mf",
"590",
2,
null,
"0"
],
readonly [
"pm",
"508",
0,
null,
"0"
],
readonly [
"vc",
"1",
20,
readonly [
"784"
],
"1"
],
readonly [
"sd",
"249",
0,
null,
"0"
],
readonly [
"sr",
"597"
],
readonly [
"sj",
"47",
1,
readonly [
"4",
"79",
"9"
]
],
readonly [
"se",
"46",
0,
null,
"0"
],
readonly [
"ch",
"41",
0,
null,
"0"
],
readonly [
"sy",
"963",
0,
null,
"0"
],
readonly [
"tw",
"886",
0,
null,
"0"
],
readonly [
"tj",
"992"
],
readonly [
"tz",
"255",
0,
null,
"0"
],
readonly [
"th",
"66",
0,
null,
"0"
],
readonly [
"tl",
"670"
],
readonly [
"tg",
"228"
],
readonly [
"tk",
"690"
],
readonly [
"to",
"676"
],
readonly [
"tt",
"1",
22,
readonly [
"868"
],
"1"
],
readonly [
"tn",
"216"
],
readonly [
"tr",
"90",
0,
null,
"0"
],
readonly [
"tm",
"993",
0,
null,
"8"
],
readonly [
"tc",
"1",
23,
readonly [
"649"
],
"1"
],
readonly [
"tv",
"688"
],
readonly [
"vi",
"1",
24,
readonly [
"340"
],
"1"
],
readonly [
"ug",
"256",
0,
null,
"0"
],
readonly [
"ua",
"380",
0,
null,
"0"
],
readonly [
"ae",
"971",
0,
null,
"0"
],
readonly [
"gb",
"44",
0,
null,
"0"
],
readonly [
"us",
"1",
0,
null,
"1"
],
readonly [
"uy",
"598",
0,
null,
"0"
],
readonly [
"uz",
"998"
],
readonly [
"vu",
"678"
],
readonly [
"va",
"39",
1,
readonly [
"06698",
"3"
]
],
readonly [
"ve",
"58",
0,
null,
"0"
],
readonly [
"vn",
"84",
0,
null,
"0"
],
readonly [
"wf",
"681"
],
readonly [
"eh",
"212",
1,
readonly [
"5288",
"5289",
"6",
"7"
],
"0"
],
readonly [
"ye",
"967",
0,
null,
"0"
],
readonly [
"zm",
"260",
0,
null,
"0"
],
readonly [
"zw",
"263",
0,
null,
"0"
]
];
export type Iso2 = (typeof rawCountryData)[number][0];
export type Country = {
name: string;
iso2: Iso2;
dialCode: string;
priority: number;
areaCodes: readonly string[] | null;
nationalPrefix: string | null;
};
export type I18n = {
selectedCountryAriaLabel?: string;
searchPlaceholder?: string;
clearSearchAriaLabel?: string;
countryListAriaLabel?: string;
noCountrySelected?: string;
searchEmptyState?: string;
searchSummaryAria?: (count: number) => string;
};
declare const PLACEHOLDER_MODES: {
readonly AGGRESSIVE: "aggressive";
readonly POLITE: "polite";
readonly OFF: "off";
};
declare const NUMBER_FORMATS: readonly [
"E164",
"INTERNATIONAL",
"NATIONAL",
"RFC3966"
];
declare const NUMBER_TYPES: readonly [
"FIXED_LINE",
"MOBILE",
"FIXED_LINE_OR_MOBILE",
"TOLL_FREE",
"PREMIUM_RATE",
"SHARED_COST",
"VOIP",
"PERSONAL_NUMBER",
"PAGER",
"UAN",
"VOICEMAIL",
"UNKNOWN"
];
declare const VALIDATION_ERRORS: readonly [
"IS_POSSIBLE",
"INVALID_COUNTRY_CODE",
"TOO_SHORT",
"TOO_LONG",
"IS_POSSIBLE_LOCAL_ONLY",
"INVALID_LENGTH"
];
export declare const NUMBER_FORMAT: Readonly<{
E164: "E164";
INTERNATIONAL: "INTERNATIONAL";
NATIONAL: "NATIONAL";
RFC3966: "RFC3966";
}>;
export declare const NUMBER_TYPE: Readonly<{
FIXED_LINE: "FIXED_LINE";
MOBILE: "MOBILE";
FIXED_LINE_OR_MOBILE: "FIXED_LINE_OR_MOBILE";
TOLL_FREE: "TOLL_FREE";
PREMIUM_RATE: "PREMIUM_RATE";
SHARED_COST: "SHARED_COST";
VOIP: "VOIP";
PERSONAL_NUMBER: "PERSONAL_NUMBER";
PAGER: "PAGER";
UAN: "UAN";
VOICEMAIL: "VOICEMAIL";
UNKNOWN: "UNKNOWN";
}>;
export declare const VALIDATION_ERROR: Readonly<{
IS_POSSIBLE: "IS_POSSIBLE";
INVALID_COUNTRY_CODE: "INVALID_COUNTRY_CODE";
TOO_SHORT: "TOO_SHORT";
TOO_LONG: "TOO_LONG";
IS_POSSIBLE_LOCAL_ONLY: "IS_POSSIBLE_LOCAL_ONLY";
INVALID_LENGTH: "INVALID_LENGTH";
}>;
export type UtilsLoader = () => Promise<{
default: ItiUtils;
}>;
export type ItiUtils = {
formatNumber(number: string, iso2: string | undefined, format?: NumberFormat): string;
formatNumberAsYouType(number: string, iso2: string | undefined): string;
getCoreNumber(number: string, iso2: string | undefined): string;
getExampleNumber(iso2: string | undefined, nationalMode: boolean, numberType: NumberType, useE164?: boolean): string;
getExtension(number: string, iso2: string | undefined): string;
getNumberType(number: string, iso2: string | undefined): NumberType | null;
getValidationError(number: string, iso2: string | undefined): ValidationError | null;
isPossibleNumber(number: string, iso2: string | undefined, numberType?: NumberType[] | null): boolean;
isValidNumber(number: string, iso2: string | undefined, numberType?: NumberType[] | null): boolean;
};
export type ArrayValues<T extends readonly unknown[]> = T[number];
export type NumberFormat = ArrayValues<typeof NUMBER_FORMATS>;
export type NumberType = ArrayValues<typeof NUMBER_TYPES>;
export type ValidationError = ArrayValues<typeof VALIDATION_ERRORS>;
export type ValueOf<T> = T[keyof T];
export interface AllOptions {
allowDropdown: boolean;
allowedNumberTypes: NumberType[] | null;
allowNumberExtensions: boolean;
allowPhonewords: boolean;
autoPlaceholder: ValueOf<typeof PLACEHOLDER_MODES>;
containerClass: string;
countryNameLocale: string;
countryNameOverrides: Partial<Record<Iso2, string>>;
countryOrder: Iso2[] | null;
countrySearch: boolean;
customPlaceholder: ((selectedCountryPlaceholder: string, selectedCountryData: SelectedCountryData) => string) | null;
dropdownAlwaysOpen: boolean;
dropdownContainer: HTMLElement | null;
excludeCountries: Iso2[] | null;
fixDropdownWidth: boolean;
formatAsYouType: boolean;
formatOnDisplay: boolean;
geoIpLookup: (() => Promise<Iso2>) | null;
hiddenInput: ((telInputName: string) => {
phone: string;
country?: string;
}) | null;
i18n: I18n;
initialCountry: Iso2 | "auto" | "";
loadUtils: UtilsLoader | null;
nationalMode: boolean;
onlyCountries: Iso2[] | null;
placeholderNumberType: NumberType;
searchInputClass: string;
separateDialCode: boolean;
strictRejectAnimation: boolean;
showFlags: boolean;
strictMode: boolean;
useFullscreenPopup: boolean;
}
export type SomeOptions = Partial<AllOptions>;
export type SelectedCountryData = Country | null;
export type ForEachInstanceArgsMap = {
handleUtilsLoaded: [
];
handleUtilsFailure: [
error?: unknown
];
handleAutoCountryLoaded: [
];
handleAutoCountryFailure: [
];
};
export declare class Iti {
#private;
readonly id: number;
readonly promise: Promise<void>;
constructor(input: HTMLInputElement, customOptions?: SomeOptions);
destroy(): void;
isActive(): boolean;
getExtension(): string;
getNumber(format?: NumberFormat): string;
getNumberType(): NumberType | null;
getSelectedCountryData(): SelectedCountryData;
getValidationError(): ValidationError | null;
isValidNumber(): boolean | null;
isValidNumberPrecise(): boolean | null;
setCountry(iso2: Iso2): void;
setNumber(number: string): void;
setPlaceholderNumberType(type: NumberType): void;
setDisabled(disabled: boolean): void;
setReadonly(readonly: boolean): void;
static forEachInstance<M extends keyof ForEachInstanceArgsMap>(method: M, ...args: ForEachInstanceArgsMap[M]): void;
}
export interface IntlTelInputInterface {
(input: HTMLInputElement, options?: SomeOptions): Iti;
autoCountry?: Iso2;
defaults: AllOptions;
documentReady: () => boolean;
getCountryData: () => Country[];
getInstance: (input: HTMLInputElement) => Iti | null;
instances: Map<string, Iti>;
attachUtils: (source: UtilsLoader) => Promise<boolean | null>;
startedLoadingAutoCountry: boolean;
startedLoadingUtils: boolean;
version: string | undefined;
utils?: ItiUtils;
NUMBER_FORMAT: typeof NUMBER_FORMAT;
NUMBER_TYPE: typeof NUMBER_TYPE;
VALIDATION_ERROR: typeof VALIDATION_ERROR;
}
declare const intlTelInput: IntlTelInputInterface;
export {
intlTelInput as default,
};
export {};