_updatePattern: function(props) { this.mask.setPattern(props.mask, { value: this.mask.getRawValue(), selection: getSelection(this.input) }); },
componentDidUpdate(prevProps) { if (prevProps.mask !== this.props.mask && this.mask.selection.start) { this._updateInputSelection() } }, _updatePattern: function(props) { this.mask.setPattern(props.mask, { value: this.mask.getRawValue(), selection: getSelection(this.input) }); }, _updateMaskSelection() { this.mask.selection = getSelection(this.input) }, _updateInputSelection() { setSelection(this.input, this.mask.selection) }, _onChange(e) { // console.log('onChange', JSON.stringify(getSelection(this.input)), e.target.value) var maskValue = this.mask.getValue() if (e.target.value !== maskValue) { // Cut or delete operations will have shortened the value if (e.target.value.length < maskValue.length) { var sizeDiff = maskValue.length - e.target.value.length this._updateMaskSelection()