UNPKG

@crodriguezdominguez/ion-intl-tel-input

Version:

An Ionic component for International Phone Number Input, that allows all countries, validation with libphonenumber-js, limited countries, preferred countries, virtual scrolling and much more.

38 lines 5.4 kB
import { Pipe } from '@angular/core'; import { getExampleNumber } from 'libphonenumber-js'; import examples from 'libphonenumber-js/mobile/examples'; import * as i0 from "@angular/core"; export class CountryPlaceholder { transform(country, inputPlaceholder, separateDialCode, fallbackPlaceholder, usePatternPlaceholder) { if (inputPlaceholder && inputPlaceholder.length > 0) { return inputPlaceholder; } try { const example = getExampleNumber(country.isoCode, examples); let placeholder = example.formatInternational(); if (usePatternPlaceholder) { const dc = placeholder.substring(0, placeholder.indexOf(' ')); placeholder = placeholder.substring(placeholder.indexOf(' ') + 1); placeholder = dc + ' ' + placeholder.replace(/\d/g, 'x'); } if (placeholder) { if (separateDialCode) { return placeholder.substring(placeholder.indexOf(' ') + 1); } else { return placeholder; } } } catch (e) { return fallbackPlaceholder; } } /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: CountryPlaceholder, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); /** @nocollapse */ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: CountryPlaceholder, isStandalone: true, name: "countryPlaceholder" }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: CountryPlaceholder, decorators: [{ type: Pipe, args: [{ standalone: true, name: 'countryPlaceholder' }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS1wbGFjZWhvbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lvbi1pbnRsLXRlbC1pbnB1dC9zcmMvbGliL3BpcGVzL2NvdW50cnktcGxhY2Vob2xkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFcEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxRQUFRLE1BQU0sbUNBQW1DLENBQUM7O0FBR3pELE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsU0FBUyxDQUFDLE9BQWlCLEVBQUUsZ0JBQXdCLEVBQzNDLGdCQUF5QixFQUFFLG1CQUEyQixFQUN0RCxxQkFBOEI7UUFDdEMsSUFBSSxnQkFBZ0IsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDcEQsT0FBTyxnQkFBZ0IsQ0FBQztRQUMxQixDQUFDO1FBRUQsSUFBSSxDQUFDO1lBRUgsTUFBTSxPQUFPLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLE9BQWMsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNuRSxJQUFJLFdBQVcsR0FBRyxPQUFPLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUVoRCxJQUFJLHFCQUFxQixFQUFFLENBQUM7Z0JBQzFCLE1BQU0sRUFBRSxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDOUQsV0FBVyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDbEUsV0FBVyxHQUFHLEVBQUUsR0FBRyxHQUFHLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDM0QsQ0FBQztZQUNELElBQUksV0FBVyxFQUFFLENBQUM7Z0JBQ2hCLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztvQkFDckIsT0FBTyxXQUFXLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQzdELENBQUM7cUJBQU0sQ0FBQztvQkFDTixPQUFPLFdBQVcsQ0FBQztnQkFDckIsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE9BQU8sbUJBQW1CLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7MkhBNUJVLGtCQUFrQjt5SEFBbEIsa0JBQWtCOzs0RkFBbEIsa0JBQWtCO2tCQUQ5QixJQUFJO21CQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsb0JBQW9CLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb3VudHJ5SSB9IGZyb20gJy4uL21vZGVscy9jb3VudHJ5Lm1vZGVsJztcbmltcG9ydCB7Z2V0RXhhbXBsZU51bWJlcn0gZnJvbSAnbGlicGhvbmVudW1iZXItanMnO1xuaW1wb3J0IGV4YW1wbGVzIGZyb20gJ2xpYnBob25lbnVtYmVyLWpzL21vYmlsZS9leGFtcGxlcyc7XG5cbkBQaXBlKHsgc3RhbmRhbG9uZTogdHJ1ZSwgbmFtZTogJ2NvdW50cnlQbGFjZWhvbGRlcicgfSlcbmV4cG9ydCBjbGFzcyBDb3VudHJ5UGxhY2Vob2xkZXIgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKGNvdW50cnk6IENvdW50cnlJLCBpbnB1dFBsYWNlaG9sZGVyOiBzdHJpbmcsXG4gICAgICAgICAgICBzZXBhcmF0ZURpYWxDb2RlOiBib29sZWFuLCBmYWxsYmFja1BsYWNlaG9sZGVyOiBzdHJpbmcsXG4gICAgICAgICAgICB1c2VQYXR0ZXJuUGxhY2Vob2xkZXI6IGJvb2xlYW4pOiBzdHJpbmcge1xuICAgIGlmIChpbnB1dFBsYWNlaG9sZGVyICYmIGlucHV0UGxhY2Vob2xkZXIubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIGlucHV0UGxhY2Vob2xkZXI7XG4gICAgfVxuXG4gICAgdHJ5IHtcblxuICAgICAgY29uc3QgZXhhbXBsZSA9IGdldEV4YW1wbGVOdW1iZXIoY291bnRyeS5pc29Db2RlIGFzIGFueSwgZXhhbXBsZXMpO1xuICAgICAgbGV0IHBsYWNlaG9sZGVyID0gZXhhbXBsZS5mb3JtYXRJbnRlcm5hdGlvbmFsKCk7XG5cbiAgICAgIGlmICh1c2VQYXR0ZXJuUGxhY2Vob2xkZXIpIHtcbiAgICAgICAgY29uc3QgZGMgPSBwbGFjZWhvbGRlci5zdWJzdHJpbmcoMCwgcGxhY2Vob2xkZXIuaW5kZXhPZignICcpKTtcbiAgICAgICAgcGxhY2Vob2xkZXIgPSBwbGFjZWhvbGRlci5zdWJzdHJpbmcocGxhY2Vob2xkZXIuaW5kZXhPZignICcpICsgMSk7XG4gICAgICAgIHBsYWNlaG9sZGVyID0gZGMgKyAnICcgKyBwbGFjZWhvbGRlci5yZXBsYWNlKC9cXGQvZywgJ3gnKTtcbiAgICAgIH1cbiAgICAgIGlmIChwbGFjZWhvbGRlcikge1xuICAgICAgICBpZiAoc2VwYXJhdGVEaWFsQ29kZSkge1xuICAgICAgICAgIHJldHVybiBwbGFjZWhvbGRlci5zdWJzdHJpbmcocGxhY2Vob2xkZXIuaW5kZXhPZignICcpICsgMSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHBsYWNlaG9sZGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGZhbGxiYWNrUGxhY2Vob2xkZXI7XG4gICAgfVxuICB9XG59XG4iXX0=