@itesaurabh/react-native-text-input-mask
TypeScript icon, indicating that this package has built-in type declarations

3.1.7 • Public • Published

@ITESaurabh/react-native-text-input-mask

An Updated fork of react-native-text-input-mask, Text input mask for React Native on iOS and Android.

npm version MIT license.

Note

Any contribution to the repo is welcome :-)

Examples

React Native Text Input Mask iOS React Native Text Input Mask Android

Setup

NPM

npm install --save @itesaurabh/react-native-text-input-mask

OR

Yarn

yarn add @itesaurabh/react-native-text-input-mask

Installation

For RN >= 0.60

iOS

  1. Configure pods (static or dynamic linking)
Static Library ( Podfile has no use_frameworks! ) Add following lines to your target in `Podfile`. Linking is not required in React Native 0.60 and above.
pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text', :modular_headers => true
Dynamic Framework ( Podfile has use_frameworks! ) Add following lines to your target in `Podfile` if it doesnt exist. Linking is not required in React Native 0.60 and above.
use_frameworks!
  1. Run pod install in the ios directory.

Android

No need to do anything.

For RN < 0.60

WARNING! This is no longer officially supported, these instructions are out of date and may no longer work, we recommend upgrading to a newer version of React Native.

Link

react-native link react-native-text-input-mask

iOS only: you have to drag and drop InputMask.framework to Embedded Binaries in General tab of Target

Manual installation

iOS

  1. In XCode, in the project navigator, right click LibrariesAdd Files to [your project's name]
  2. Go to node_modulesreact-native-text-input-mask and add RNTextInputMask.xcodeproj
  3. In XCode, in the project navigator, select your project. Add libRNTextInputMask.a to your project's Build PhasesLink Binary With Libraries
  4. Run your project (Cmd+R)

Android

  1. Open up android/app/src/main/java/[...]/MainActivity.java
  • Add import com.RNTextInputMask.RNTextInputMaskPackage; to the imports at the top of the file
  • Add new RNTextInputMaskPackage() to the list returned by the getPackages() method
  1. Append the following lines to android/settings.gradle:
    include ':react-native-text-input-mask'
    project(':react-native-text-input-mask').projectDir = new File(rootProject.projectDir, 	'../node_modules/react-native-text-input-mask/android')
    
  2. Insert the following lines inside the dependencies block in android/app/build.gradle:
      compile project(':react-native-text-input-mask')
    

Usage

import TextInputMask from 'react-native-text-input-mask';
...
<TextInputMask
  onChangeText={(formatted, extracted) => {
    console.log(formatted) // +1 (123) 456-78-90
    console.log(extracted) // 1234567890
  }}
  mask={"+1 ([000]) [000] [00] [00]"}
/>
...

Testing

Jest

Make sure to mock the following to jest.setup.js:

jest.mock('react-native-text-input-mask', () => ({
    default: jest.fn(),
}))

More info

RedMadRobot Input Mask Android

RedMadRobot Input Mask IOS

Versioning

This project uses semantic versioning: MAJOR.MINOR.PATCH. This means that releases within the same MAJOR version are always backwards compatible. For more info see semver.org.

Local Development and testing

To use a local copy with your project, it's highly recommended to use https://github.com/wix/wml

Package Sidebar

Install

npm i @itesaurabh/react-native-text-input-mask

Weekly Downloads

0

Version

3.1.7

License

MIT

Unpacked Size

54.5 kB

Total Files

29

Last publish

Collaborators

  • itesaurabh