ngxsmk-tel-input
Version:
Angular international telephone input (intl-tel-input UI + libphonenumber-js validation). ControlValueAccessor. SSR-safe.
96 lines • 5.88 kB
TypeScript
import { AfterViewInit, ElementRef, EventEmitter, NgZone, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
import { AbstractControl, ControlValueAccessor, ValidationErrors, Validator } from '@angular/forms';
import { CountryCode } from 'libphonenumber-js';
import { NgxsmkTelInputService } from './ngxsmk-tel-input.service';
import { CountryMap, IntlTelI18n } from './types';
import * as i0 from "@angular/core";
export declare class NgxsmkTelInputComponent implements AfterViewInit, OnChanges, OnDestroy, ControlValueAccessor, Validator {
private readonly zone;
private readonly tel;
inputRef: ElementRef<HTMLInputElement>;
initialCountry: CountryCode | 'auto';
preferredCountries: CountryCode[];
onlyCountries?: CountryCode[];
nationalMode: boolean;
separateDialCode: boolean;
allowDropdown: boolean;
lockWhenValid: boolean;
placeholder?: string;
autocomplete: string;
name?: string;
inputId?: string;
disabled: boolean;
label?: string;
hint?: string;
errorText?: string;
size: 'sm' | 'md' | 'lg';
variant: 'outline' | 'filled' | 'underline';
showClear: boolean;
autoFocus: boolean;
selectOnFocus: boolean;
formatOnBlur: boolean;
showErrorWhenTouched: boolean;
dropdownAttachToBody: boolean;
dropdownZIndex: number;
i18n?: IntlTelI18n;
set telI18n(v: IntlTelI18n | undefined);
localizedCountries?: CountryMap;
set telLocalizedCountries(v: CountryMap | undefined);
clearAriaLabel: string;
dir: 'ltr' | 'rtl';
autoPlaceholder: 'off' | 'polite' | 'aggressive';
utilsScript?: string;
customPlaceholder?: (example: string, country: any) => string;
formatWhenValid: 'off' | 'blur' | 'typing';
digitsOnly: boolean;
allowLeadingPlus: boolean;
countryChange: EventEmitter<{
iso2: CountryCode;
}>;
validityChange: EventEmitter<boolean>;
inputChange: EventEmitter<{
raw: string;
e164: string | null;
iso2: CountryCode;
}>;
private iti;
private onChange;
private onTouchedCb;
private validatorChange?;
private lastEmittedValid;
private pendingWrite;
private touched;
readonly resolvedId: string;
private readonly platformId;
constructor(zone: NgZone, tel: NgxsmkTelInputService);
ngAfterViewInit(): void;
private initAndWire;
ngOnChanges(changes: SimpleChanges): void;
ngOnDestroy(): void;
writeValue(val: string | null): void;
registerOnChange(fn: any): void;
registerOnTouched(fn: any): void;
setDisabledState(isDisabled: boolean): void;
validate(_: AbstractControl): ValidationErrors | null;
registerOnValidatorChange(fn: () => void): void;
focus(): void;
selectCountry(iso2: CountryCode): void;
clearInput(): void;
private initIntlTelInput;
private reinitPlugin;
private destroyPlugin;
private sanitizeDigits;
private bindDomListeners;
onBlur(): void;
onFocus(): void;
private handleInput;
private formatAsYouType;
currentRaw(): string;
private currentIso2;
private setInputValue;
get showError(): boolean;
private isCurrentlyValid;
static ɵfac: i0.ɵɵFactoryDeclaration<NgxsmkTelInputComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<NgxsmkTelInputComponent, "ngxsmk-tel-input", never, { "initialCountry": { "alias": "initialCountry"; "required": false; }; "preferredCountries": { "alias": "preferredCountries"; "required": false; }; "onlyCountries": { "alias": "onlyCountries"; "required": false; }; "nationalMode": { "alias": "nationalMode"; "required": false; }; "separateDialCode": { "alias": "separateDialCode"; "required": false; }; "allowDropdown": { "alias": "allowDropdown"; "required": false; }; "lockWhenValid": { "alias": "lockWhenValid"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "name": { "alias": "name"; "required": false; }; "inputId": { "alias": "inputId"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "label": { "alias": "label"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "errorText": { "alias": "errorText"; "required": false; }; "size": { "alias": "size"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "showClear": { "alias": "showClear"; "required": false; }; "autoFocus": { "alias": "autoFocus"; "required": false; }; "selectOnFocus": { "alias": "selectOnFocus"; "required": false; }; "formatOnBlur": { "alias": "formatOnBlur"; "required": false; }; "showErrorWhenTouched": { "alias": "showErrorWhenTouched"; "required": false; }; "dropdownAttachToBody": { "alias": "dropdownAttachToBody"; "required": false; }; "dropdownZIndex": { "alias": "dropdownZIndex"; "required": false; }; "i18n": { "alias": "i18n"; "required": false; }; "telI18n": { "alias": "telI18n"; "required": false; }; "localizedCountries": { "alias": "localizedCountries"; "required": false; }; "telLocalizedCountries": { "alias": "telLocalizedCountries"; "required": false; }; "clearAriaLabel": { "alias": "clearAriaLabel"; "required": false; }; "dir": { "alias": "dir"; "required": false; }; "autoPlaceholder": { "alias": "autoPlaceholder"; "required": false; }; "utilsScript": { "alias": "utilsScript"; "required": false; }; "customPlaceholder": { "alias": "customPlaceholder"; "required": false; }; "formatWhenValid": { "alias": "formatWhenValid"; "required": false; }; "digitsOnly": { "alias": "digitsOnly"; "required": false; }; "allowLeadingPlus": { "alias": "allowLeadingPlus"; "required": false; }; }, { "countryChange": "countryChange"; "validityChange": "validityChange"; "inputChange": "inputChange"; }, never, never, true, never>;
}
//# sourceMappingURL=ngxsmk-tel-input.component.d.ts.map