react-imask
Advanced tools
Comparing version 3.2.4 to 3.3.0
@@ -85,2 +85,43 @@ (function (global, factory) { | ||
var MASK_PROPS = { | ||
// common | ||
mask: PropTypes.oneOfType([PropTypes.array, PropTypes.func, PropTypes.string, PropTypes.instanceOf(RegExp), PropTypes.oneOf([Date, Number, IMask.Masked]), PropTypes.instanceOf(IMask.Masked)]), | ||
value: PropTypes.any, | ||
unmask: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['typed'])]), | ||
prepare: PropTypes.func, | ||
validate: PropTypes.func, | ||
commit: PropTypes.func, | ||
// events | ||
onAccept: PropTypes.func, | ||
onComplete: PropTypes.func, | ||
// pattern | ||
placeholderChar: PropTypes.string, | ||
lazy: PropTypes.bool, | ||
definitions: PropTypes.object, | ||
groups: PropTypes.object, | ||
// date | ||
pattern: PropTypes.string, | ||
format: PropTypes.func, | ||
parse: PropTypes.func, | ||
// number | ||
radix: PropTypes.string, | ||
thousandsSeparator: PropTypes.string, | ||
mapToRadix: PropTypes.arrayOf(PropTypes.string), | ||
scale: PropTypes.number, | ||
signed: PropTypes.bool, | ||
normalizeZeros: PropTypes.bool, | ||
padFractionalZeros: PropTypes.bool, | ||
min: PropTypes.number, | ||
max: PropTypes.number, | ||
// dynamic | ||
dispatch: PropTypes.func | ||
}; | ||
var MASK_PROPS_NAMES = Object.keys(MASK_PROPS); | ||
function IMaskMixin(ComposedComponent) { | ||
@@ -160,3 +201,3 @@ var MaskedComponent = function (_React$Component) { | ||
Object.keys(props).filter(function (prop) { | ||
return !MaskedComponent.propTypes.hasOwnProperty(prop); | ||
return MASK_PROPS_NAMES.indexOf(prop) < 0; | ||
}).forEach(function (nonMaskProp) { | ||
@@ -176,3 +217,3 @@ delete props[nonMaskProp]; | ||
Object.keys(MaskedComponent.propTypes).forEach(function (maskProp) { | ||
MASK_PROPS_NAMES.forEach(function (maskProp) { | ||
delete props[maskProp]; | ||
@@ -196,7 +237,9 @@ }); | ||
get: function get$$1() { | ||
return this.props.unmask ? this.maskRef.unmaskedValue : this.maskRef.value; | ||
if (this.props.unmask === 'typed') return this.maskRef.typedValue; | ||
if (this.props.unmask) return this.maskRef.unmaskedValue; | ||
return this.maskRef.value; | ||
}, | ||
set: function set$$1(value) { | ||
value = value || ''; | ||
if (this.props.unmask) this.maskRef.unmaskedValue = value;else this.maskRef.value = value; | ||
if (this.props.unmask === 'typed') this.maskRef.typedValue = value;else if (this.props.unmask) this.maskRef.unmaskedValue = value;else this.maskRef.value = value; | ||
} | ||
@@ -206,42 +249,4 @@ }]); | ||
}(React.Component); | ||
MaskedComponent.propTypes = MASK_PROPS; | ||
MaskedComponent.propTypes = { | ||
// common | ||
mask: PropTypes.oneOfType([PropTypes.array, PropTypes.func, PropTypes.string, PropTypes.instanceOf(RegExp), PropTypes.oneOf([Date, Number, IMask.Masked]), PropTypes.instanceOf(IMask.Masked)]), | ||
value: PropTypes.string, | ||
unmask: PropTypes.bool, | ||
prepare: PropTypes.func, | ||
validate: PropTypes.func, | ||
commit: PropTypes.func, | ||
// events | ||
onAccept: PropTypes.func, | ||
onComplete: PropTypes.func, | ||
// pattern | ||
placeholderChar: PropTypes.string, | ||
lazy: PropTypes.bool, | ||
definitions: PropTypes.object, | ||
groups: PropTypes.object, | ||
// date | ||
pattern: PropTypes.string, | ||
format: PropTypes.func, | ||
parse: PropTypes.func, | ||
// number | ||
radix: PropTypes.string, | ||
thousandsSeparator: PropTypes.string, | ||
mapToRadix: PropTypes.arrayOf(PropTypes.string), | ||
scale: PropTypes.number, | ||
signed: PropTypes.bool, | ||
normalizeZeros: PropTypes.bool, | ||
padFractionalZeros: PropTypes.bool, | ||
min: PropTypes.number, | ||
max: PropTypes.number, | ||
// dynamic | ||
dispatch: PropTypes.func | ||
}; | ||
var nestedComponentName = ComposedComponent.displayName || ComposedComponent.name || 'Component'; | ||
@@ -248,0 +253,0 @@ MaskedComponent.displayName = 'IMask(' + nestedComponentName + ')'; |
@@ -5,3 +5,3 @@ { | ||
"license": "MIT", | ||
"version": "3.2.4", | ||
"version": "3.3.0", | ||
"homepage": "https://unmanner.github.io/imaskjs/", | ||
@@ -8,0 +8,0 @@ "description": "React input mask", |
@@ -18,5 +18,8 @@ # React IMask Plugin | ||
value="123" | ||
unmask="true" | ||
unmask="true" // true|false|'typed' | ||
onAccept={ | ||
// first argument will be `value` or `unmaskedValue` depending on prop above | ||
// depending on prop above first argument is | ||
// `value` if `unmask=false`, | ||
// `unmaskedValue` if `unmask=true`, | ||
// `typedValue` if `unmask='typed'` | ||
(value, mask) => console.log(value) | ||
@@ -23,0 +26,0 @@ } |
@@ -5,3 +5,54 @@ import React from 'react'; | ||
const MASK_PROPS = { | ||
// common | ||
mask: PropTypes.oneOfType([ | ||
PropTypes.array, | ||
PropTypes.func, | ||
PropTypes.string, | ||
PropTypes.instanceOf(RegExp), | ||
PropTypes.oneOf([Date, Number, IMask.Masked]), | ||
PropTypes.instanceOf(IMask.Masked), | ||
]), | ||
value: PropTypes.any, | ||
unmask: PropTypes.oneOfType([ | ||
PropTypes.bool, | ||
PropTypes.oneOf(['typed']), | ||
]), | ||
prepare: PropTypes.func, | ||
validate: PropTypes.func, | ||
commit: PropTypes.func, | ||
// events | ||
onAccept: PropTypes.func, | ||
onComplete: PropTypes.func, | ||
// pattern | ||
placeholderChar: PropTypes.string, | ||
lazy: PropTypes.bool, | ||
definitions: PropTypes.object, | ||
groups: PropTypes.object, | ||
// date | ||
pattern: PropTypes.string, | ||
format: PropTypes.func, | ||
parse: PropTypes.func, | ||
// number | ||
radix: PropTypes.string, | ||
thousandsSeparator: PropTypes.string, | ||
mapToRadix: PropTypes.arrayOf(PropTypes.string), | ||
scale: PropTypes.number, | ||
signed: PropTypes.bool, | ||
normalizeZeros: PropTypes.bool, | ||
padFractionalZeros: PropTypes.bool, | ||
min: PropTypes.number, | ||
max: PropTypes.number, | ||
// dynamic | ||
dispatch: PropTypes.func | ||
}; | ||
const MASK_PROPS_NAMES = Object.keys(MASK_PROPS); | ||
export | ||
@@ -64,3 +115,3 @@ function IMaskMixin(ComposedComponent) { | ||
Object.keys(props) | ||
.filter(prop => !MaskedComponent.propTypes.hasOwnProperty(prop)) | ||
.filter(prop => MASK_PROPS_NAMES.indexOf(prop) < 0) | ||
.forEach(nonMaskProp => { | ||
@@ -79,3 +130,3 @@ delete props[nonMaskProp]; | ||
Object.keys(MaskedComponent.propTypes).forEach(maskProp => { | ||
MASK_PROPS_NAMES.forEach(maskProp => { | ||
delete props[maskProp]; | ||
@@ -88,5 +139,5 @@ }); | ||
get maskValue () { | ||
return this.props.unmask ? | ||
this.maskRef.unmaskedValue : | ||
this.maskRef.value | ||
if (this.props.unmask === 'typed') return this.maskRef.typedValue; | ||
if (this.props.unmask) return this.maskRef.unmaskedValue; | ||
return this.maskRef.value; | ||
} | ||
@@ -96,3 +147,4 @@ | ||
value = value || ''; | ||
if (this.props.unmask) this.maskRef.unmaskedValue = value; | ||
if (this.props.unmask === 'typed') this.maskRef.typedValue = value; | ||
else if (this.props.unmask) this.maskRef.unmaskedValue = value; | ||
else this.maskRef.value = value; | ||
@@ -109,49 +161,4 @@ } | ||
}; | ||
MaskedComponent.propTypes = MASK_PROPS; | ||
MaskedComponent.propTypes = { | ||
// common | ||
mask: PropTypes.oneOfType([ | ||
PropTypes.array, | ||
PropTypes.func, | ||
PropTypes.string, | ||
PropTypes.instanceOf(RegExp), | ||
PropTypes.oneOf([Date, Number, IMask.Masked]), | ||
PropTypes.instanceOf(IMask.Masked), | ||
]), | ||
value: PropTypes.string, | ||
unmask: PropTypes.bool, | ||
prepare: PropTypes.func, | ||
validate: PropTypes.func, | ||
commit: PropTypes.func, | ||
// events | ||
onAccept: PropTypes.func, | ||
onComplete: PropTypes.func, | ||
// pattern | ||
placeholderChar: PropTypes.string, | ||
lazy: PropTypes.bool, | ||
definitions: PropTypes.object, | ||
groups: PropTypes.object, | ||
// date | ||
pattern: PropTypes.string, | ||
format: PropTypes.func, | ||
parse: PropTypes.func, | ||
// number | ||
radix: PropTypes.string, | ||
thousandsSeparator: PropTypes.string, | ||
mapToRadix: PropTypes.arrayOf(PropTypes.string), | ||
scale: PropTypes.number, | ||
signed: PropTypes.bool, | ||
normalizeZeros: PropTypes.bool, | ||
padFractionalZeros: PropTypes.bool, | ||
min: PropTypes.number, | ||
max: PropTypes.number, | ||
// dynamic | ||
dispatch: PropTypes.func | ||
}; | ||
const nestedComponentName = ComposedComponent.displayName || ComposedComponent.name || 'Component'; | ||
@@ -158,0 +165,0 @@ MaskedComponent.displayName = `IMask(${nestedComponentName})`; |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
27061
373
67