
Security News
OpenGrep Restores Fingerprinting in JSON and SARIF Outputs
OpenGrep has restored fingerprint and metavariable support in JSON and SARIF outputs, making static analysis more effective for CI/CD security automation.
redux-form-input-masks
Advanced tools
redux-form-input-masks
is a library that works with redux-form
to easily add masking to Field
s.
Redux is awesome and so are input masks: they help standardizing inputs and improves the UX of the application. redux-form
has support for input formatting, parseing and normalizing, but it can get pretty tricky to implement a mask with these functions. redux-form-input-masks
offer simple APIs to create these masks so you don't need to worry about it!
redux-form-input-masks
returns objects implementing redux-form
's Value Lifecycle Hooks and also some Global Event Handlers to manage the caret position.
npm install --save redux-form-input-masks
or
yarn add redux-form-input-masks
redux-form
out of the box, you just need to install redux-form-input-masks
and you're good to go;redux-form-input-masks
;material-ui
and redux-form-material-ui
's wrappers, for both v0-stable and v1-beta versions.Name | Description | API Reference | Demo |
---|---|---|---|
Number Mask | Ideal for currency, percentage or any other numeric input. Supports prefix, suffix, locale number formatting and even more options. You can also choose wether the value is stored as number or string . | createNumberMask | codesandbox.io |
It's super simple to apply a mask using this library. You just need to import your mask creator from react-form-input-masks
, specify the parameters and pass it to the Field
using spread attributes. Yep, it's that easy.
The following is a use case for createNumberMask
. It consists of two inputs that convert bitcoins to euros and vice versa. You can see it running on codesandbox.io. Please note that this convertion does not reflect real conversion rates.
import React from 'react';
import { connect } from 'react-redux';
import { Field, reduxForm, change } from 'redux-form';
import { createNumberMask } from 'redux-form-input-masks';
const conversionRate = 6800;
let GettingStarted = props => {
const btcChange = btc => {
props.change('gettingStarted', 'EUR', btc * conversionRate);
};
const eurChange = eur => {
props.change('gettingStarted', 'BTC', eur / conversionRate);
};
const btcMask = createNumberMask({
prefix: 'BTC ',
decimalPlaces: 5,
locale: 'en-US',
onChange: btcChange,
});
const eurMask = createNumberMask({
suffix: ' €',
decimalPlaces: 2,
locale: 'de',
onChange: eurChange,
});
return (
<form>
<div>
<Field name="BTC" component="input" type="tel" {...btcMask} />
<Field name="EUR" component="input" type="tel" {...eurMask} />
</div>
</form>
);
};
const mapStateToProps = undefined;
const mapDispatchToProps = dispatch => ({
change: (form, field, value) => dispatch(change(form, field, value)),
});
GettingStarted = connect(mapStateToProps, mapDispatchToProps)(GettingStarted);
export default reduxForm({
form: 'gettingStarted',
})(GettingStarted);
This project is still under development, I'm still setting all up for the first official release (v1.0.0). Until then, some breaking changes in v0 may occur.
createNumberMask
;createNumberMask
;createNumberMask
tests;createNumberMask
bugfixes;createStringMask
, an easy and flexible string mask creator;createStringMask
and its tests.FAQs
Input masking with redux-form made easy
The npm package redux-form-input-masks receives a total of 4,767 weekly downloads. As such, redux-form-input-masks popularity was classified as popular.
We found that redux-form-input-masks demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
OpenGrep has restored fingerprint and metavariable support in JSON and SARIF outputs, making static analysis more effective for CI/CD security automation.
Security News
Security experts warn that recent classification changes obscure the true scope of the NVD backlog as CVE volume hits all-time highs.
Security Fundamentals
Attackers use obfuscation to hide malware in open source packages. Learn how to spot these techniques across npm, PyPI, Maven, and more.