A simple and customizable react phone number dropdown component. It can mix up with your designed theme and give a fluent vibe able dropdown area in your next project.
- SSR Friendly
- Customizable
- Multi Design
- Search Country
- Smallest Bundle Size (About 98kb)
- Typescript support
$ npm i react-simple-phone-input --saveimport { PhoneInput, PhoneInputResponseType } from "react-simple-phone-input";
import "react-simple-phone-input/dist/style.css";
<PhoneInput
country="US"
placeholder="Add your phone"
onChange={(data: PhoneInputResponseType) => console.log(data)}
/>| Name | Type | Description | Is Required | Example |
|---|---|---|---|---|
| country | string | initial country | required | "BD" |
| placeholder | string | Input Field Placeholder Text | required | Type your phone number |
| value | string | Input field state value or default value | optional | |
| iconComponent | ReactNode | Dropdown Icon component for changing default icon | optional | <Icon icon="icon-name" /> |
| inputProps | InputHTMLAttributes | Props to pass into the input field | optional | |
| onlyCountries | array | Show only country in dropdown menu with Country Codes | optional | ["BD", "US", "AF", "AL"] |
| excludeCountries | array | If you want to remove some country to the list. If you give excludeCountries then onlyCountries not works |
optional | ["AF", "AL"] |
| preferredCountries | array | Country codes to show on the top of the dropdown menu | optional | ["BD", "US"] |
| searchPlaceholder | string | Search input field placeholder | optional | |
| searchIconComponent | ReactNode | If search enabled, custom search icon to show on search bar |
optional | <Icon icon="icon-name" /> |
| searchProps | InputHTMLAttributes | Props to pass into the search input field | optional | |
| searchNotFound | string | Error message when search result is empty! | optional |
| Name | Default | Description |
|---|---|---|
| showDropdownIcon | true | Show or Hide dropdown icon |
| dialCodeInputField | false | Show calling code into into field or show beside country flag. For more, see example |
| search | true | Show or Hide search input field |
| showSearchIcon | true | Show or Hide search icon |
| disableDropdownOnly | false | Disable dropdown menu list |
| disableInput | false | Disable input field |
| Event Name | Description | Example |
|---|---|---|
| onChange | To get the value from component. You get following field
|
onChange={(data: PhoneInputResponseType) => console.log(data)} |
| Name | Type | Description |
|---|---|---|
| containerClass | string | class name for container |
| buttonClass | string | class name for dropdown button |
| dropdownClass | string | class name for dropdown area/menu |
| dropdownListClass | string | class name for dropdown list |
| dropdownIconClass | string | class name for dropdown icon |
| searchContainerClass | string | class name for search bar container |
| searchInputClass | string | class name for search input field |
| searchIconClass | string | class name for search icon |
| inputClass | string | class name for search icon |
| Name | Description |
|---|---|
| containerStyle | phone Input Container style |
| buttonStyle | style for dropdown button |
| dropdownStyle | style for dropdown menu/area |
| dropdownListStyle | style for dropdown list |
| dropdownIconStyle | style for dropdown icon |
| searchContainerStyle | search container style |
| searchInputStyle | search input field style |
| searchIconStyle | search icon style |
| inputStyle | input field style |
note: version 5 released. see the changelogs
- Code style changes not allowed
- Do not create issues about incorrect or missing country data
If you face any issues, missing data or wrong data about country, you are welcome to create an issue.
- Author - Siam Ahnaf
- Website - https://www.siamahnaf.com/
- Twitter - https://twitter.com/siamahnaf198
- Github - https://github.com/siamahnaf