Socket
Socket
Sign inDemoInstall

react-input-mask

Package Overview
Dependencies
Maintainers
1
Versions
90
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-input-mask - npm Package Compare versions

Comparing version 0.4.1 to 0.5.0

106

build/InputElement.js

@@ -41,10 +41,9 @@ // https://github.com/sanniassin/react-input-mask

},
getPrefix: function (newState) {
getPrefix: function () {
var state = arguments.length <= 0 || arguments[0] === undefined ? this.state : arguments[0];
var prefix = "";
var mask = state.mask;
var _ref = newState || this.state;
var mask = _ref.mask;
for (var i = 0; i < mask.length && this.isPermanentChar(i, newState); ++i) {
for (var i = 0; i < mask.length && this.isPermanentChar(i, state); ++i) {
prefix += mask[i];

@@ -54,7 +53,10 @@ }

},
getFilledLength: function () {
var value = arguments.length <= 0 || arguments[0] === undefined ? this.state.value : arguments[0];
getFilledLength: function (value) {
var state = arguments.length <= 1 || arguments[1] === undefined ? this.state : arguments[1];
var i;
var maskChar = this.state.maskChar;
if (value == null) {
value = state.value;
}
var maskChar = state.maskChar;

@@ -67,3 +69,3 @@ if (!maskChar) {

var char = value[i];
if (!this.isPermanentChar(i) && this.isAllowedChar(char, i)) {
if (!this.isPermanentChar(i, state) && this.isAllowedChar(char, i, state)) {
break;

@@ -73,3 +75,3 @@ }

return ++i || this.getPrefix().length;
return ++i || this.getPrefix(state).length;
},

@@ -104,4 +106,5 @@ getLeftEditablePos: function (pos) {

var value = arguments.length <= 0 || arguments[0] === undefined ? this.state.value : arguments[0];
var state = arguments.length <= 1 || arguments[1] === undefined ? this.state : arguments[1];
return this.getFilledLength(value) === this.state.mask.length;
return this.getFilledLength(value, state) === state.mask.length;
},

@@ -115,14 +118,13 @@ createFilledArray: function (length, val) {

},
formatValue: function (value, newState) {
formatValue: function (value) {
var _this2 = this;
var _ref2 = newState || this.state;
var state = arguments.length <= 1 || arguments[1] === undefined ? this.state : arguments[1];
var maskChar = state.maskChar;
var mask = state.mask;
var maskChar = _ref2.maskChar;
var mask = _ref2.mask;
if (!maskChar) {
var prefixLen = this.getPrefix(newState).length;
value = this.insertRawSubstr("", value, 0, newState);
while (value.length > prefixLen && this.isPermanentChar(value.length - 1, newState)) {
var prefixLen = this.getPrefix(state).length;
value = this.insertRawSubstr("", value, 0, state);
while (value.length > prefixLen && this.isPermanentChar(value.length - 1, state)) {
value = value.slice(0, value.length - 1);

@@ -132,6 +134,10 @@ }

}
if (value) {
var emptyValue = this.formatValue("", state);
return this.insertRawSubstr(emptyValue, value, 0, state);
}
return value.split("").concat(this.createFilledArray(mask.length - value.length, null)).map(function (char, pos) {
if (_this2.isAllowedChar(char, pos, newState)) {
if (_this2.isAllowedChar(char, pos, state)) {
return char;
} else if (_this2.isPermanentChar(pos, newState)) {
} else if (_this2.isPermanentChar(pos, state)) {
return mask[pos];

@@ -168,14 +174,13 @@ }

},
insertRawSubstr: function (value, substr, pos, newState) {
var _ref3 = newState || this.state;
insertRawSubstr: function (value, substr, pos) {
var state = arguments.length <= 3 || arguments[3] === undefined ? this.state : arguments[3];
var mask = state.mask;
var maskChar = state.maskChar;
var mask = _ref3.mask;
var maskChar = _ref3.maskChar;
var isFilled = this.isFilled(value);
var isFilled = this.isFilled(value, state);
substr = substr.split("");
for (var i = pos; i < mask.length && substr.length;) {
if (!this.isPermanentChar(i, newState) || mask[i] === substr[0]) {
if (!this.isPermanentChar(i, state) || mask[i] === substr[0]) {
var char = substr.shift();
if (this.isAllowedChar(char, i, newState)) {
if (this.isAllowedChar(char, i, state)) {
if (i < value.length) {

@@ -185,3 +190,3 @@ if (maskChar || isFilled) {

} else {
value = this.formatValue(value.substr(0, i) + char + value.substr(i), newState);
value = this.formatValue(value.substr(0, i) + char + value.substr(i), state);
}

@@ -202,13 +207,12 @@ } else if (!maskChar) {

},
getRawSubstrLength: function (value, substr, pos, newState) {
var _ref4 = newState || this.state;
getRawSubstrLength: function (value, substr, pos) {
var state = arguments.length <= 3 || arguments[3] === undefined ? this.state : arguments[3];
var mask = state.mask;
var maskChar = state.maskChar;
var mask = _ref4.mask;
var maskChar = _ref4.maskChar;
substr = substr.split("");
for (var i = pos; i < mask.length && substr.length;) {
if (!this.isPermanentChar(i, newState) || mask[i] === substr[0]) {
if (!this.isPermanentChar(i, state) || mask[i] === substr[0]) {
var char = substr.shift();
if (this.isAllowedChar(char, i, newState)) {
if (this.isAllowedChar(char, i, state)) {
++i;

@@ -222,5 +226,7 @@ }

},
isAllowedChar: function (char, pos, newState) {
var mask = newState ? newState.mask : this.state.mask;
if (this.isPermanentChar(pos, newState)) {
isAllowedChar: function (char, pos) {
var state = arguments.length <= 2 || arguments[2] === undefined ? this.state : arguments[2];
var mask = state.mask;
if (this.isPermanentChar(pos, state)) {
return mask[pos] === char;

@@ -232,5 +238,6 @@ }

},
isPermanentChar: function (pos, newState) {
var permanents = newState ? newState.permanents : this.state.permanents;
return permanents.indexOf(pos) !== -1;
isPermanentChar: function (pos) {
var state = arguments.length <= 1 || arguments[1] === undefined ? this.state : arguments[1];
return state.permanents.indexOf(pos) !== -1;
},

@@ -356,3 +363,6 @@ setCaretToEnd: function () {

};
state.value = this.props.alwaysShowMask ? this.formatValue(value, state) : value;
if (this.props.alwaysShowMask || value) {
value = this.formatValue(value, state);
}
state.value = value;

@@ -382,7 +392,3 @@ return state;

var isMaskChanged = mask.mask && mask.mask !== this.state.mask;
if (isMaskChanged) {
var emptyValue = this.formatValue("", state);
newValue = this.insertRawSubstr(emptyValue, newValue, 0, state);
}
if (mask.mask && (newValue || nextProps.alwaysShowMask || this.isFocused())) {
if (isMaskChanged || mask.mask && (newValue || nextProps.alwaysShowMask || this.isFocused())) {
newValue = this.formatValue(newValue, state);

@@ -389,0 +395,0 @@ }

@@ -40,6 +40,6 @@ // https://github.com/sanniassin/react-input-mask

},
getPrefix: function(newState) {
getPrefix: function(state = this.state) {
var prefix = "";
var { mask } = newState || this.state;
for (var i = 0; i < mask.length && this.isPermanentChar(i, newState); ++i) {
var { mask } = state;
for (var i = 0; i < mask.length && this.isPermanentChar(i, state); ++i) {
prefix += mask[i];

@@ -49,5 +49,8 @@ }

},
getFilledLength: function(value = this.state.value) {
getFilledLength: function(value, state = this.state) {
var i;
var maskChar = this.state.maskChar;
if (value == null) {
value = state.value;
}
var maskChar = state.maskChar;

@@ -60,3 +63,3 @@ if (!maskChar) {

var char = value[i];
if (!this.isPermanentChar(i) && this.isAllowedChar(char, i)) {
if (!this.isPermanentChar(i, state) && this.isAllowedChar(char, i, state)) {
break;

@@ -66,3 +69,3 @@ }

return ++i || this.getPrefix().length;
return ++i || this.getPrefix(state).length;
},

@@ -91,4 +94,4 @@ getLeftEditablePos: function(pos) {

},
isFilled: function(value = this.state.value) {
return this.getFilledLength(value) === this.state.mask.length;
isFilled: function(value = this.state.value, state = this.state) {
return this.getFilledLength(value, state) === state.mask.length;
},

@@ -102,8 +105,8 @@ createFilledArray: function(length, val) {

},
formatValue: function(value, newState) {
var { maskChar, mask } = newState || this.state;
formatValue: function(value, state = this.state) {
var { maskChar, mask } = state;
if (!maskChar) {
var prefixLen = this.getPrefix(newState).length;
value = this.insertRawSubstr("", value, 0, newState);
while (value.length > prefixLen && this.isPermanentChar(value.length - 1, newState)) {
var prefixLen = this.getPrefix(state).length;
value = this.insertRawSubstr("", value, 0, state);
while (value.length > prefixLen && this.isPermanentChar(value.length - 1, state)) {
value = value.slice(0, value.length - 1);

@@ -113,9 +116,13 @@ }

}
if (value) {
var emptyValue = this.formatValue("", state);
return this.insertRawSubstr(emptyValue, value, 0, state);
}
return value.split("")
.concat(this.createFilledArray(mask.length - value.length, null))
.map((char, pos) => {
if (this.isAllowedChar(char, pos, newState)) {
if (this.isAllowedChar(char, pos, state)) {
return char;
}
else if (this.isPermanentChar(pos, newState)) {
else if (this.isPermanentChar(pos, state)) {
return mask[pos];

@@ -153,10 +160,10 @@ }

},
insertRawSubstr: function(value, substr, pos, newState) {
var { mask, maskChar } = newState || this.state;
var isFilled = this.isFilled(value);
insertRawSubstr: function(value, substr, pos, state = this.state) {
var { mask, maskChar } = state;
var isFilled = this.isFilled(value, state);
substr = substr.split("");
for (var i = pos; i < mask.length && substr.length; ) {
if (!this.isPermanentChar(i, newState) || mask[i] === substr[0]) {
if (!this.isPermanentChar(i, state) || mask[i] === substr[0]) {
var char = substr.shift();
if (this.isAllowedChar(char, i, newState)) {
if (this.isAllowedChar(char, i, state)) {
if (i < value.length) {

@@ -167,3 +174,3 @@ if (maskChar || isFilled) {

else {
value = this.formatValue(value.substr(0, i) + char + value.substr(i), newState);
value = this.formatValue(value.substr(0, i) + char + value.substr(i), state);
}

@@ -186,9 +193,9 @@ }

},
getRawSubstrLength: function(value, substr, pos, newState) {
var { mask, maskChar } = newState || this.state;
getRawSubstrLength: function(value, substr, pos, state = this.state) {
var { mask, maskChar } = state;
substr = substr.split("");
for (var i = pos; i < mask.length && substr.length; ) {
if (!this.isPermanentChar(i, newState) || mask[i] === substr[0]) {
if (!this.isPermanentChar(i, state) || mask[i] === substr[0]) {
var char = substr.shift();
if (this.isAllowedChar(char, i, newState)) {
if (this.isAllowedChar(char, i, state)) {
++i;

@@ -203,5 +210,5 @@ }

},
isAllowedChar: function(char, pos, newState) {
var mask = newState ? newState.mask : this.state.mask;
if (this.isPermanentChar(pos, newState)) {
isAllowedChar: function(char, pos, state = this.state) {
var { mask } = state;
if (this.isPermanentChar(pos, state)) {
return mask[pos] === char;

@@ -213,5 +220,4 @@ }

},
isPermanentChar: function(pos, newState) {
var permanents = newState ? newState.permanents : this.state.permanents;
return permanents.indexOf(pos) !== -1;
isPermanentChar: function(pos, state = this.state) {
return state.permanents.indexOf(pos) !== -1;
},

@@ -344,3 +350,6 @@ setCaretToEnd: function() {

};
state.value = this.props.alwaysShowMask ? this.formatValue(value, state) : value;
if (this.props.alwaysShowMask || value) {
value = this.formatValue(value, state);
}
state.value = value;

@@ -369,7 +378,3 @@ return state;

var isMaskChanged = mask.mask && mask.mask !== this.state.mask;
if (isMaskChanged) {
var emptyValue = this.formatValue("", state);
newValue = this.insertRawSubstr(emptyValue, newValue, 0, state);
}
if (mask.mask && (newValue || nextProps.alwaysShowMask || this.isFocused())) {
if (isMaskChanged || (mask.mask && (newValue || nextProps.alwaysShowMask || this.isFocused()))) {
newValue = this.formatValue(newValue, state);

@@ -376,0 +381,0 @@ }

{
"name": "react-input-mask",
"description": "Masked input component for React",
"version": "0.4.1",
"version": "0.5.0",
"homepage": "https://github.com/sanniassin/react-input-mask",

@@ -6,0 +6,0 @@ "license": "MIT",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc