ngxsmk-tel-input
Version:
Angular international telephone input (intl-tel-input UI + libphonenumber-js validation). ControlValueAccessor. SSR-safe.
50 lines • 1.67 kB
TypeScript
/**
* Signal-based API utilities for ngxsmk-tel-input.
* Provides reactive signal-based interfaces for modern Angular applications.
*/
import { Signal, WritableSignal } from '@angular/core';
import { CountryCode } from 'libphonenumber-js';
/**
* Signal-based state interface for phone input component.
*/
export interface PhoneInputState {
/** Raw input value as displayed */
raw: string;
/** E.164 formatted phone number or null if invalid */
e164: string | null;
/** Current country ISO2 code */
iso2: CountryCode;
/** Whether the phone number is valid */
isValid: boolean;
/** Whether the input has been touched */
touched: boolean;
/** Current validation errors */
errors: Record<string, boolean> | null;
}
/**
* Creates a default phone input state signal.
*/
export declare function createPhoneInputState(): WritableSignal<PhoneInputState>;
/**
* Computed signal for formatted phone number display.
*/
export declare function createFormattedValueSignal(state: Signal<PhoneInputState>, nationalDisplay: Signal<'formatted' | 'digits'>): Signal<string>;
/**
* Computed signal for validation status.
*/
export declare function createValidationStatusSignal(state: Signal<PhoneInputState>): Signal<{
isValid: boolean;
isInvalid: boolean;
hasErrors: boolean;
errorKeys: string[];
}>;
/**
* Computed signal for phone number metadata.
*/
export declare function createPhoneMetadataSignal(state: Signal<PhoneInputState>): Signal<{
countryCode: string;
dialCode: string | null;
nationalNumber: string | null;
internationalFormat: string | null;
}>;
//# sourceMappingURL=signals.d.ts.map