react-input-mask
Advanced tools
Comparing version 0.5.8 to 0.5.9
@@ -119,3 +119,4 @@ // https://github.com/sanniassin/react-input-mask | ||
if (!maskChar) { | ||
var prefixLen = this.getPrefix().length; | ||
var prefix = this.getPrefix(); | ||
var prefixLen = prefix.length; | ||
value = this.insertRawSubstr("", value, 0); | ||
@@ -125,2 +126,7 @@ while (value.length > prefixLen && this.isPermanentChar(value.length - 1)) { | ||
} | ||
if (value.length < prefixLen) { | ||
value = prefix; | ||
} | ||
return value; | ||
@@ -512,3 +518,3 @@ } | ||
if (substrLen !== 1 || enteredSubstr !== mask[startPos]) { | ||
if (startPos < maskLen && (substrLen !== 1 || enteredSubstr !== mask[startPos])) { | ||
caretPos = this.getRightEditablePos(startPos); | ||
@@ -531,3 +537,3 @@ } else { | ||
} | ||
} else if (maskChar && valueLen < maskLen) { | ||
} else if (valueLen < oldValueLen) { | ||
var removedLen = maskLen - valueLen; | ||
@@ -537,4 +543,7 @@ var clearedValue = this.clearRange(oldValue, selection.end, removedLen); | ||
var clearOnly = substr === oldValue.substr(0, selection.end); | ||
value = this.insertRawSubstr(clearedValue, substr, 0); | ||
if (maskChar) { | ||
value = this.insertRawSubstr(clearedValue, substr, 0); | ||
} | ||
clearedValue = this.clearRange(clearedValue, selection.end, maskLen - selection.end); | ||
@@ -545,2 +554,4 @@ clearedValue = this.insertRawSubstr(clearedValue, substr, 0); | ||
caretPos = this.getFilledLength(clearedValue); | ||
} else if (caretPos < prefixLen) { | ||
caretPos = prefixLen; | ||
} | ||
@@ -547,0 +558,0 @@ } |
@@ -104,3 +104,4 @@ // https://github.com/sanniassin/react-input-mask | ||
if (!maskChar) { | ||
var prefixLen = this.getPrefix().length; | ||
var prefix = this.getPrefix(); | ||
var prefixLen = prefix.length; | ||
value = this.insertRawSubstr("", value, 0); | ||
@@ -110,2 +111,7 @@ while (value.length > prefixLen && this.isPermanentChar(value.length - 1)) { | ||
} | ||
if (value.length < prefixLen) { | ||
value = prefix; | ||
} | ||
return value; | ||
@@ -504,3 +510,3 @@ } | ||
if (substrLen !== 1 || enteredSubstr !== mask[startPos]) { | ||
if (startPos < maskLen && (substrLen !== 1 || enteredSubstr !== mask[startPos])) { | ||
caretPos = this.getRightEditablePos(startPos); | ||
@@ -526,3 +532,3 @@ } | ||
} | ||
else if (maskChar && valueLen < maskLen) { | ||
else if (valueLen < oldValueLen) { | ||
var removedLen = maskLen - valueLen; | ||
@@ -532,4 +538,7 @@ var clearedValue = this.clearRange(oldValue, selection.end, removedLen); | ||
var clearOnly = substr === oldValue.substr(0, selection.end); | ||
value = this.insertRawSubstr(clearedValue, substr, 0); | ||
if (maskChar) { | ||
value = this.insertRawSubstr(clearedValue, substr, 0); | ||
} | ||
clearedValue = this.clearRange(clearedValue, selection.end, maskLen - selection.end); | ||
@@ -541,2 +550,5 @@ clearedValue = this.insertRawSubstr(clearedValue, substr, 0); | ||
} | ||
else if (caretPos < prefixLen) { | ||
caretPos = prefixLen; | ||
} | ||
} | ||
@@ -543,0 +555,0 @@ var value = this.formatValue(value); |
{ | ||
"name": "react-input-mask", | ||
"description": "Masked input component for React", | ||
"version": "0.5.8", | ||
"version": "0.5.9", | ||
"homepage": "https://github.com/sanniassin/react-input-mask", | ||
@@ -6,0 +6,0 @@ "license": "MIT", |
@@ -170,3 +170,3 @@ import React from 'react'; | ||
input.setCaretPos(0); | ||
inputNode.value = "aaaa"; | ||
inputNode.value = 'aaaa'; | ||
input.setCaretPos(4); | ||
@@ -177,3 +177,3 @@ TestUtils.Simulate.change(inputNode); | ||
inputNode.value = "aaaaa"; | ||
inputNode.value = 'aaaaa'; | ||
input.setCaretPos(5); | ||
@@ -184,2 +184,14 @@ TestUtils.Simulate.change(inputNode); | ||
inputNode.value = 'aaaa afgh ijkl mnop'; | ||
input.setCaretPos(19); | ||
TestUtils.Simulate.change(inputNode); | ||
expect(inputNode.value).toEqual('aaaa afgh ijkl mnop'); | ||
expect(input.getCaretPos()).toEqual(19); | ||
inputNode.value = 'aaaa afgh ijkl mnopq'; | ||
input.setCaretPos(20); | ||
TestUtils.Simulate.change(inputNode); | ||
expect(inputNode.value).toEqual('aaaa afgh ijkl mnop'); | ||
expect(input.getCaretPos()).toEqual(19); | ||
ReactDOM.unmountComponentAtNode(container); | ||
@@ -230,3 +242,3 @@ })); | ||
inputNode.value = "+7 ("; | ||
inputNode.value = '+7 ('; | ||
input.setCaretPos(4); | ||
@@ -269,2 +281,12 @@ TestUtils.Simulate.change(inputNode); | ||
inputNode.value = '+7 ('; | ||
input.setCaretPos(4); | ||
TestUtils.Simulate.change(inputNode); | ||
expect(inputNode.value).toEqual('+7 ('); | ||
inputNode.value = '+7 '; | ||
input.setCaretPos(3); | ||
TestUtils.Simulate.change(inputNode); | ||
expect(inputNode.value).toEqual('+7 ('); | ||
ReactDOM.unmountComponentAtNode(container); | ||
@@ -384,6 +406,6 @@ })); | ||
input.setProps({ mask: "9999-999999-99999" }); | ||
input.setProps({ mask: '9999-999999-99999' }); | ||
expect(inputNode.value).toEqual('3478-122691-7____'); | ||
input.setProps({ mask: "9-9-9-9" }); | ||
input.setProps({ mask: '9-9-9-9' }); | ||
expect(inputNode.value).toEqual('3-4-7-8'); | ||
@@ -390,0 +412,0 @@ |
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
66488
1679