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 --save
import { 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