{"version":3,"sources":["webpack:///./node_modules/rifm/dist/rifm.esm.js"],"names":["Rifm","_React$Component","props","_this","call","this","_state","_del","_handleChange","evt","stateValue","state","value","target","input","op","length","del","noOp","format","setState","local","selectionStart","refuse","before","substr","replace","di","start","i","Math","max","toLowerCase","indexOf","c","fv","onChange","_hKD","code","_hKU","getDerivedStateFromProps","_proto","prototype","render","children","componentWillUnmount","document","removeEventListener","componentDidMount","addEventListener","componentDidUpdate","test","selectionEnd"],"mappings":"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","file":"yarn.rifm.becc34fe6fa559c58c21.js","sourcesContent":["import _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport { Component } from 'react';\n\nvar Rifm =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Rifm, _React$Component);\n\n function Rifm(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this._state = null;\n _this._del = false;\n\n _this._handleChange = function (evt) {\n if (process.env.NODE_ENV !== 'production') {\n if (evt.target.type === 'number') {\n console.error('Rifm does not support input type=number, use type=tel instead.');\n return;\n }\n } // FUTURE: use evt.nativeEvent.inputType for del event, see comments at onkeydown\n\n\n var stateValue = _this.state.value;\n var value = evt.target.value;\n var input = evt.target;\n var op = value.length > stateValue.length;\n var del = _this._del;\n\n var noOp = stateValue === _this.props.format(value);\n\n _this.setState({\n value: value,\n local: true\n }, function () {\n var selectionStart = input.selectionStart;\n var refuse = _this.props.refuse || /[^\\d]+/g;\n var before = value.substr(0, selectionStart).replace(refuse, '');\n _this._state = {\n input: input,\n before: before,\n op: op,\n di: del && noOp,\n del: del\n };\n\n if (_this.props.replace && _this.props.replace(stateValue) && op && !noOp) {\n var start = -1;\n\n for (var i = 0; i !== before.length; ++i) {\n start = Math.max(start, value.toLowerCase().indexOf(before[i].toLowerCase(), start + 1));\n }\n\n var c = value.substr(start + 1).replace(refuse, '')[0];\n start = value.indexOf(c, start + 1);\n value = \"\" + value.substr(0, start) + value.substr(start + 1);\n }\n\n var fv = _this.props.format(value);\n\n if (stateValue === fv) {\n _this.setState({\n value: value\n });\n } else {\n _this.props.onChange(fv);\n }\n });\n };\n\n _this._hKD = function (evt) {\n if (evt.code === 'Delete') {\n _this._del = true;\n }\n };\n\n _this._hKU = function (evt) {\n if (evt.code === 'Delete') {\n _this._del = false;\n }\n };\n\n _this.state = {\n value: props.value,\n local: true\n };\n return _this;\n }\n\n Rifm.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n return {\n value: state.local ? state.value : props.value,\n local: false\n };\n };\n\n var _proto = Rifm.prototype;\n\n _proto.render = function render() {\n var _handleChange = this._handleChange,\n value = this.state.value,\n children = this.props.children;\n return children({\n value: value,\n onChange: _handleChange\n });\n } // delete when https://developer.mozilla.org/en-US/docs/Web/API/InputEvent/inputType will be supported by all major browsers\n ;\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n document.removeEventListener('keydown', this._hKD);\n document.removeEventListener('keyup', this._hKU);\n } // delete when https://developer.mozilla.org/en-US/docs/Web/API/InputEvent/inputType will be supported by all major browsers\n ;\n\n _proto.componentDidMount = function componentDidMount() {\n document.addEventListener('keydown', this._hKD);\n document.addEventListener('keyup', this._hKU);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n var _state = this._state;\n\n if (_state) {\n var value = this.state.value;\n var start = -1;\n\n for (var i = 0; i !== _state.before.length; ++i) {\n start = Math.max(start, value.toLowerCase().indexOf(_state.before[i].toLowerCase(), start + 1));\n } // format usually looks better without this\n\n\n if (this.props.replace && (_state.op || _state.del && !_state.di)) {\n while (value[start + 1] && (this.props.refuse || /[^\\d]+/).test(value[start + 1])) {\n start += 1;\n }\n }\n\n _state.input.selectionStart = _state.input.selectionEnd = start + 1 + (_state.di ? 1 : 0);\n }\n\n this._state = null;\n };\n\n return Rifm;\n}(Component);\n\nexport { Rifm };\n"],"sourceRoot":""}