UNPKG

react-native-masked-text

Version:

Text and TextInput with mask for React Native applications

1 lines 3.94 kB
Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();var _react=require('react');var _react2=_interopRequireDefault(_react);var _maskResolver=require('./mask-resolver');var _maskResolver2=_interopRequireDefault(_maskResolver);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var BaseTextComponent=function(_PureComponent){_inherits(BaseTextComponent,_PureComponent);function BaseTextComponent(props){_classCallCheck(this,BaseTextComponent);var _this=_possibleConstructorReturn(this,(BaseTextComponent.__proto__||Object.getPrototypeOf(BaseTextComponent)).call(this,props));_this._resolveMaskHandler();return _this;}_createClass(BaseTextComponent,[{key:'componentDidMount',value:function componentDidMount(){this._bindProps(this.props);}},{key:'componentDidUpdate',value:function componentDidUpdate(prevProps){this._bindProps(prevProps);}},{key:'updateValue',value:function updateValue(text){var maskedText=this._getMaskedValue(text);var rawText=this.props.includeRawValueInChangeText?this.getRawValueFor(maskedText):undefined;return{maskedText:maskedText,rawText:rawText};}},{key:'isValid',value:function isValid(){return this._maskHandler.validate(this._getDefaultValue(this.props.value),this._getOptions());}},{key:'getRawValueFor',value:function getRawValueFor(value){return this._maskHandler.getRawValue(this._getDefaultValue(value),this._getOptions());}},{key:'getRawValue',value:function getRawValue(){return this.getRawValueFor(this.props.value);}},{key:'getDisplayValueFor',value:function getDisplayValueFor(value){return this._getMaskedValue(value);}},{key:'_getOptions',value:function _getOptions(){return this.props.options;}},{key:'_mustUpdateValue',value:function _mustUpdateValue(newValue){return this.props.value!==newValue;}},{key:'_resolveMaskHandler',value:function _resolveMaskHandler(){this._maskHandler=_maskResolver2.default.resolve(this.props.type);}},{key:'_bindProps',value:function _bindProps(nextProps){if(this.props.type!==nextProps.type){this._resolveMaskHandler();}}},{key:'_getDefaultMaskedValue',value:function _getDefaultMaskedValue(value){if(this._getDefaultValue(value)===''){return'';}return this._getMaskedValue(value);}},{key:'_getMaskedValue',value:function _getMaskedValue(value){var defaultValue=this._getDefaultValue(value);if(defaultValue===''){return'';}return this._maskHandler.getValue(defaultValue,this._getOptions());}},{key:'_getDefaultValue',value:function _getDefaultValue(value){if(value===undefined||value===null){return'';}return value;}}]);return BaseTextComponent;}(_react.PureComponent);exports.default=BaseTextComponent;