![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
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
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
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.