ionic5-international-input
Version:
An Ionic component for International Phone Number Input, that allows all countries, validation with google phone lib, limited countries, preferred countries, virtual scrolling and much more.
41 lines • 3.77 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Pipe } from '@angular/core';
import { PhoneNumberFormat, PhoneNumberUtil } from 'google-libphonenumber';
export class CountryPlaceholder {
/**
* @param {?} country
* @param {?} inputPlaceholder
* @param {?} separateDialCode
* @param {?} fallbackPlaceholder
* @return {?}
*/
transform(country, inputPlaceholder, separateDialCode, fallbackPlaceholder) {
if (inputPlaceholder && inputPlaceholder.length > 0) {
return inputPlaceholder;
}
/** @type {?} */
const phoneUtil = PhoneNumberUtil.getInstance();
try {
/** @type {?} */
const placeholder = phoneUtil.format(phoneUtil.getExampleNumber(country.isoCode), PhoneNumberFormat.INTERNATIONAL);
if (placeholder) {
if (separateDialCode) {
return "";
}
else {
return placeholder;
}
}
}
catch (e) {
return fallbackPlaceholder;
}
}
}
CountryPlaceholder.decorators = [
{ type: Pipe, args: [{ name: 'countryPlaceholder' },] }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS1wbGFjZWhvbGRlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2lvbmljNS1pbnRlcm5hdGlvbmFsLWlucHV0LyIsInNvdXJjZXMiOlsibGliL3BpcGVzL2NvdW50cnktcGxhY2Vob2xkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUkzRSxNQUFNLE9BQU8sa0JBQWtCOzs7Ozs7OztJQUM3QixTQUFTLENBQUMsT0FBaUIsRUFBRSxnQkFBd0IsRUFBRSxnQkFBeUIsRUFBRSxtQkFBMkI7UUFDM0csSUFBSSxnQkFBZ0IsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ25ELE9BQU8sZ0JBQWdCLENBQUM7U0FDekI7O2NBRUssU0FBUyxHQUFHLGVBQWUsQ0FBQyxXQUFXLEVBQUU7UUFDL0MsSUFBSTs7a0JBQ0ksV0FBVyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxpQkFBaUIsQ0FBQyxhQUFhLENBQUM7WUFDbEgsSUFBSSxXQUFXLEVBQUU7Z0JBQ2YsSUFBSSxnQkFBZ0IsRUFBRTtvQkFDcEIsT0FBTyxFQUFFLENBQUM7aUJBQ1g7cUJBQU07b0JBQ0wsT0FBTyxXQUFXLENBQUM7aUJBQ3BCO2FBQ0Y7U0FDRjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsT0FBTyxtQkFBbUIsQ0FBQztTQUM1QjtJQUNILENBQUM7OztZQXBCRixJQUFJLFNBQUMsRUFBQyxJQUFJLEVBQUUsb0JBQW9CLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFBob25lTnVtYmVyRm9ybWF0LCBQaG9uZU51bWJlclV0aWwgfSBmcm9tICdnb29nbGUtbGlicGhvbmVudW1iZXInO1xyXG5pbXBvcnQgeyBDb3VudHJ5SSB9IGZyb20gJy4vLi4vbW9kZWxzL2NvdW50cnkubW9kZWwnO1xyXG5cclxuQFBpcGUoe25hbWU6ICdjb3VudHJ5UGxhY2Vob2xkZXInfSlcclxuZXhwb3J0IGNsYXNzIENvdW50cnlQbGFjZWhvbGRlciBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIHRyYW5zZm9ybShjb3VudHJ5OiBDb3VudHJ5SSwgaW5wdXRQbGFjZWhvbGRlcjogc3RyaW5nLCBzZXBhcmF0ZURpYWxDb2RlOiBib29sZWFuLCBmYWxsYmFja1BsYWNlaG9sZGVyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgaWYgKGlucHV0UGxhY2Vob2xkZXIgJiYgaW5wdXRQbGFjZWhvbGRlci5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJldHVybiBpbnB1dFBsYWNlaG9sZGVyO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHBob25lVXRpbCA9IFBob25lTnVtYmVyVXRpbC5nZXRJbnN0YW5jZSgpO1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgcGxhY2Vob2xkZXIgPSBwaG9uZVV0aWwuZm9ybWF0KHBob25lVXRpbC5nZXRFeGFtcGxlTnVtYmVyKGNvdW50cnkuaXNvQ29kZSksIFBob25lTnVtYmVyRm9ybWF0LklOVEVSTkFUSU9OQUwpO1xyXG4gICAgICBpZiAocGxhY2Vob2xkZXIpIHtcclxuICAgICAgICBpZiAoc2VwYXJhdGVEaWFsQ29kZSkge1xyXG4gICAgICAgICAgcmV0dXJuIFwiXCI7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiBwbGFjZWhvbGRlcjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgcmV0dXJuIGZhbGxiYWNrUGxhY2Vob2xkZXI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==