# ngx-mat-intl-tel-input-angular-13

> An Angular Material package for entering and validating international telephone numbers. It adds a flag dropdown to any input, detects the user's country, displays a relevant placeholder and provides formatting/validation methods.

Latest version **4.1.5** (published 2021-11-12) · MIT license · 0 weekly downloads

> **Deprecated.** This package is deprecated.

## Install

```sh
npm install ngx-mat-intl-tel-input-angular-13
pnpm add ngx-mat-intl-tel-input-angular-13
yarn add ngx-mat-intl-tel-input-angular-13
bun add ngx-mat-intl-tel-input-angular-13
```

## Health

**Score 10/100 (F)** — status: deprecated.

Negative: deprecated.

## Facts

| | |
|---|---|
| Version | 4.1.5 |
| Published | 2021-11-12 |
| First published | 2021-11-08 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 1 |
| Unpacked size | 1.1 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Satpal Tanan |
| Maintainers | misternick |
| Keywords | angular, material, ng2, ng4, ng5, ng6, ng7, ng8, ng9, ng10, ng11, ng12, ng13, intl-tel-input, ng-intl-tel-input, phone number, phone, validation, international, i18n, country, dial, code, telephone, mobile, input, flag |

## Links

- npm: https://www.npmjs.com/package/ngx-mat-intl-tel-input-angular-13
- Repository: https://github.com/venraij/ngx-mat-intl-tel-input
- Homepage: https://github.com/venraij/ngx-mat-intl-tel-input#readme
- Issues: https://github.com/venraij/ngx-mat-intl-tel-input/issues
- npm.io page: https://npm.io/package/ngx-mat-intl-tel-input-angular-13

## Dependencies (1)

- [tslib](https://npm.io/package/tslib.md) ^2.3.1

## Alternatives

- [messageformat](https://npm.io/package/messageformat.md) — 329.7K weekly downloads
- [@mintlify/scraping](https://npm.io/package/@mintlify/scraping.md) — 294.8K weekly downloads
- [@mintlify/previewing](https://npm.io/package/@mintlify/previewing.md) — 209.5K weekly downloads
- [@mintlify/prebuild](https://npm.io/package/@mintlify/prebuild.md) — 209.5K weekly downloads
- [@mintlify/link-rot](https://npm.io/package/@mintlify/link-rot.md) — 206.3K weekly downloads

## Recent versions

- 4.1.5 (latest) — 2021-11-12
- 4.1.4 — 2021-11-12
- 4.1.3 — 2021-11-12
- 4.1.2 — 2021-11-12
- 4.1.1 — 2021-11-12
- 4.1.0 — 2021-11-12
- 4.0.2 — 2021-11-09
- 4.0.1 — 2021-11-08

## README

# International Telephone Input for Angular Material (NgxMatIntlTelInput)

An Angular Material package for entering and validating international telephone numbers. It adds a flag dropdown to any input, detects the user's country, displays a relevant placeholder and provides formatting/validation methods.

**Supports:**

- Angular 13
- Angular Material 13
- ReactiveFormsModule
- FormsModule
- Validation with [libphonenumber-js](https://github.com/catamphetamine/libphonenumber-js)

## Installation

### Install Dependencies

```$ npm install libphonenumber-js --save```

### Install This Library

```$ npm install ngx-mat-intl-tel-input --save```

## Usage

### Import

Add ```NgxMatIntlTelInputModule``` to your module file:

```javascript

imports: [
    NgxMatIntlTelInputModule,
  ]

```

## Example

Refer to main app in this repository for working example.

```html

<form #f="ngForm" [formGroup]="phoneForm">
  <ngx-mat-intl-tel-input
  [preferredCountries]="['us', 'gb']"
  [enablePlaceholder]="true"
  [enableSearch]="true"
  name="phone"
  describedBy="phoneInput"
  formControlName="phone"></ngx-mat-intl-tel-input>
</form>

```

```html

<form #f="ngForm" [formGroup]="phoneForm">
  <ngx-mat-intl-tel-input
  [preferredCountries]="['us', 'gb']"
  [enablePlaceholder]="true"
  [enableSearch]="true"
  name="phone"
  (countryChanged)="yourComponentMethodToTreatyCountryChangedEvent($event)" // $event is a instance of current select Country
  formControlName="phone"></ngx-mat-intl-tel-input>
</form>

```

If you want to show the sample number for the country selected or errors , use mat-hint anf mat-error as

```html
<form #f="ngForm" [formGroup]="phoneForm">
  <ngx-mat-intl-tel-input
    [preferredCountries]="['us', 'gb']"
    [onlyCountries]="['us', 'gb', 'es']"
    [enablePlaceholder]="true"
    name="phone"
    formControlName="phone" #phone></ngx-mat-intl-tel-input>
  <mat-hint>e.g. {{phone.selectedCountry.placeHolder}}</mat-hint>
  <mat-error *ngIf="f.form.controls['phone']?.errors?.required">Required Field</mat-error>
  <mat-error *ngIf="f.form.controls['phone']?.errors?.validatePhoneNumber">Invalid Number</mat-error>
</form>
```

## Options

| Options                       | Type                   | Default            | Description                                                                         |
| ------------------------------|------------------------|--------------------|-------------------------------------------------------------------------------------|
| preferredCountries            | ```string[]```         | ```[]```           | List of country abbreviations, which will appear at the top.                        |
| onlyCountries                 | ```string[]```         | ```[]```           | List of manually selected country abbreviations, which will appear in the dropdown. |                    |
| inputPlaceholder              | ```string```           | ```undefined```    | Placeholder for the input component.                                                |
| enablePlaceholder             | ```boolean```          | ```true```         | Input placeholder text, which adapts to the country selected.                      |
| enableSearch                  | ```boolean```          | ```false```        | Whether to display a search bar to help filter down the list of countries          |
| format                        | ```string```           | ```default```      | Format of "as you type" input. Possible values: national, international, default    |
| describedBy                   | ```string```           | ```undefined```      | Use aria-described by with the input field    |


## Library Contributions

- Fork repo.
- Go to ```./projects/ngx-mat-intl-tel-input```
- Update ```./src/lib``` with new functionality.
- Update README.md
- Pull request.

### Helpful commands

- Build lib: ```$ npm run build_lib```
- Copy license and readme files: ```$ npm run copy-files```
- Create package: ```$ npm run npm_pack```
- Build lib and create package: ```$ npm run package```

### Use locally

After building and creating package, you can use it locally too.

In your project run:

```$ npm install --save {{path to your local '*.tgz' package file}}```

---
_Source: https://npm.io/package/ngx-mat-intl-tel-input-angular-13 · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
