5.1.0 • Published 3 months ago

mui-phone-textfield v5.1.0

Weekly downloads
13
License
MIT
Repository
github
Last release
3 months ago

npm npm build MIT license

mui-phone-textfield

A phone number input for Material-UI.

Installation

To install this package via npm:

npm i mui-phone-textfield

And its peer dependencies:

npm i react react-dom @mui/material @emotion/react @emotion/styled

Usage

The package exports mainly two components: PhoneTextField and CountrySelect

You can use the text input alone:

import { Box } from "@mui/material";
import PhoneTextField from "mui-phone-textfield";
import { useState } from "react";

function Example() {
  const [value, setValue] = useState("");
  const [country, setCountry] = useState("US");

  return (
    <Box sx={{ m: 2 }}>
      <PhoneTextField
        country={country}
        onCountryChange={setCountry}
        onPhoneNumber={setValue}
      />
      <Box sx={{ my: 1 }} />
      {value && <Box>This is a valid {country} phone number: {value}</Box>}
    </Box>
  );
}

compound

You can also separate the country menu and the text input:

import { Box } from "@mui/material";
import { CountrySelect, PhoneTextField } from "mui-phone-textfield";
import { useState } from "react";

function Example() {
  const [value, setValue] = useState("");
  const [country, setCountry] = useState("US");

  return (
    <Box sx={{ m: 2 }}>
      <CountrySelect value={country} onCountryChange={setCountry} />
      <Box sx={{ my: 1 }} />
      <PhoneTextField hideSelect country={country} onPhoneNumber={setValue} />
      <Box sx={{ my: 1 }} />
      {value && <Box>This is a valid {country} phone number: {value}</Box>}
    </Box>
  );
}

separate

Props

PhoneTextField

In addtion to TextField's props, The PhoneTextField component accepts the following:

proptypedescription
countrystringThe selected country. A two-letter ISO country code
hideSelectbooleanHides the internal select component. Useful when using CountrySelect alongside this component
disableFormattingbooleanDisables formatting the user's input
onCountryChangefunctionCallback fired when a user selects a country from the menu. It receives a country code
onPhoneNumberfunctionCallback fired when the input value changes. If the input is a valid phone number for the current country, it receives it in E.164 format, otherwise it receives an empty string

CountrySelect

In addtion to Select's props, The CountrySelect component accepts the following:

proptypedescription
hideCallingCodebooleanHides the calling code when rendering the selected value
hideCountryNamebooleanHides the country name when rendering the selected value
placeholderReactNodeRenders the provided placeholder node when displayEmpty is set
onCountryChangefunctionCallback fired when a user selects a country from the menu. It receives a country code

Contributing

Prerequisites

Getting Started

After cloning this repo, ensure dependencies are installed by running:

npm i

To build the final bundle:

npm run build

To rebuild on each change:

npm run dev

Commiting changes

Please follow the conventional commits specification, because semantic-release is used to automate the whole package release workflow including: determining the next version number, generating the release notes and publishing the package.

License

MIT

5.1.0

3 months ago

5.0.0

9 months ago

3.1.1

2 years ago

4.0.0

2 years ago

3.1.0

3 years ago

3.0.0

3 years ago

2.3.0

3 years ago

2.2.0

3 years ago

2.1.0

3 years ago

2.0.0

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago