Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

use-imask

tracksuitdev606MIT2.0.0TypeScript support: included

React hook that exposes IMask object

react, imask, hooks, masked input

readme

use-imask npm npm bundle size NPM

React hook that exposes IMask object

Installation

npm install use-imask

or if you use yarn

yarn add use-imask

Usage

`typescript jsx const maskOptions = { mask: Number }; // make sure options don't change on each render (use constant or useMemo or ref)

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

const [ ref ] = useIMask(maskOptions, { // use onAccept callback instead of onChange to change value onAccept: e => { setValue(e.target.value); }, });

return ( <input ref={ref} value={value} /> ); } `

Props

name type description
options <M extends AnyMaskedOptions> mask options, when options change updateOptions function is called by the IMask object
onAccept (e: ChangeEvent<E>, mask: InputMask<M> | undefined) => void function called on IMask accept event
onComplete (e: ChangeEvent<E>, mask: InputMask<M> | undefined) => void function called on IMask complete event

Return value

name type description
ref RefObject<HTMLInputElement|null> apply this to your input element
maskRef RefObject<InputMask<M> | undefined> ref with IMask object