{"version":3,"sources":["jsdelivr-header.js","/npm/lm-number@1.0.11/lib/index.js"],"names":[],"mappings":"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","file":"/npm/lm-number@1.0.11/lib/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/lm-number@1.0.11/lib/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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; }\n\nfunction _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; }\n\nvar LmNumber = function (_Component) {\n    _inherits(LmNumber, _Component);\n\n    function LmNumber(props) {\n        _classCallCheck(this, LmNumber);\n\n        var _this = _possibleConstructorReturn(this, _Component.call(this, props));\n\n        _this.getValue = function () {\n            return Number(_this.props.value).toFixed(_this.props.precision);\n        };\n\n        _this.inputRef = _react2.default.createRef();\n        _this.onInputType = _this.onInputType.bind(_this);\n        _this.formattedRawValue = _this.formattedRawValue.bind(_this);\n        _this.getRawValue = _this.getRawValue.bind(_this);\n        _this.onClick = _this.onClick.bind(_this);\n\n        var rawValue = _this.getRawValue(_this.getValue());\n\n        _this.state = {\n            rawValue: rawValue,\n            tabIndex: _this.props.tabIndex,\n            readOnly: _this.props.readOnly\n        };\n\n        if (rawValue === 0) {\n            _this.notifyParentWithRawValue(rawValue);\n        }\n        return _this;\n    }\n\n    LmNumber.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n        if (prevProps.value !== this.props.value) {\n            var input = this.getValue();\n            var rawValue = this.getRawValue(input);\n\n            if (!rawValue) {\n                rawValue = 0;\n            }\n\n            this.setState({\n                rawValue: rawValue\n            });\n        }\n    };\n\n    LmNumber.prototype.onInputType = function onInputType(event) {\n        var input = event.target.value;\n        var rawValue = this.getRawValue(input);\n        if (!rawValue) {\n            rawValue = 0;\n        }\n\n        this.notifyParentWithRawValue(rawValue);\n\n        this.setState({\n            rawValue: rawValue\n        });\n    };\n\n    LmNumber.prototype.notifyParentWithRawValue = function notifyParentWithRawValue(rawValue) {\n        var _props = this.props,\n            delimiter = _props.delimiter,\n            unit = _props.unit;\n\n        var display = this.formattedRawValue(rawValue);\n\n        display = this.removeOccurrences(display, delimiter);\n        display = this.removeOccurrences(display, unit);\n        display = this.removeOccurrences(display, \" \");\n\n        this.props.onChange(display);\n    };\n\n    LmNumber.prototype.getRawValue = function getRawValue(displayedValue) {\n        var _props2 = this.props,\n            delimiter = _props2.delimiter,\n            separator = _props2.separator,\n            unit = _props2.unit,\n            maxLength = _props2.maxLength;\n\n        var result = displayedValue;\n\n        result = this.removeOccurrences(result, delimiter);\n        result = this.removeOccurrences(result, unit);\n        result = this.removeOccurrences(result, separator);\n\n        var intValue = Number(result);\n\n        if (intValue < Number.MAX_SAFE_INTEGER + 1 && String(intValue).length <= maxLength) {\n            return intValue;\n        }\n\n        return this.state ? this.state.rawValue : 0;\n    };\n\n    LmNumber.prototype.formattedRawValue = function formattedRawValue(rawValue) {\n        var minChars = '0'.length + this.props.precision;\n\n        var result = '' + rawValue;\n\n        if (result.length < minChars) {\n            var leftZeroesToAdd = minChars - result.length;\n            result = '' + this.repeatZeroes(leftZeroesToAdd) + result;\n        }\n\n        var beforeSeparator = result.slice(0, result.length - this.props.precision);\n        var afterSeparator = result.slice(result.length - this.props.precision);\n\n        if (beforeSeparator.length > 3) {\n            var chars = beforeSeparator.split('').reverse();\n            var withDots = '';\n            for (var i = chars.length - 1; i >= 0; i--) {\n                var char = chars[i];\n                var dot = i % 3 === 0 ? this.props.delimiter : '';\n                withDots = '' + withDots + char + dot;\n            }\n            withDots = withDots.substring(0, withDots.length - 1);\n            beforeSeparator = withDots;\n        }\n\n        if (this.props.precision > 1) {\n            result = beforeSeparator + this.props.separator + afterSeparator;\n        } else {\n            result = beforeSeparator;\n        }\n\n        if (this.props.unit) {\n            result = this.props.unit + ' ' + result;\n        }\n\n        return result;\n    };\n\n    LmNumber.prototype.repeatZeroes = function repeatZeroes(times) {\n        return new Array(times + 1).join('0');\n    };\n\n    LmNumber.prototype.removeOccurrences = function removeOccurrences(from, toRemove) {\n        toRemove = toRemove.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n        var re = new RegExp(toRemove, 'g');\n        return String(from).replace(re, '');\n    };\n\n    LmNumber.prototype.onClick = function onClick(event) {\n        var _this2 = this;\n\n        var rawValue = this.state.rawValue;\n        var onClick = this.props.onClick;\n\n        var len = this.formattedRawValue(rawValue).length * 2;\n\n        setTimeout(function () {\n            var element = _this2.inputRef.current;\n            element.setSelectionRange(len, len);\n        }, 10);\n\n        onClick && onClick(event);\n    };\n\n    LmNumber.prototype.render = function render() {\n        return _react2.default.createElement('input', _extends({}, this.props, {\n            maxLength: '524288',\n            ref: this.inputRef,\n            onClick: this.onClick,\n            onChange: this.onInputType,\n            value: this.formattedRawValue(this.state.rawValue)\n        }));\n    };\n\n    return LmNumber;\n}(_react.Component);\n\nLmNumber.propTypes = process.env.NODE_ENV !== \"production\" ? {\n    maxLength: _propTypes2.default.number,\n    delimiter: _propTypes2.default.string,\n    disabled: _propTypes2.default.bool,\n    precision: _propTypes2.default.number,\n    separator: _propTypes2.default.string,\n    unit: _propTypes2.default.string,\n    value: _propTypes2.default.oneOfType([_propTypes2.default.string.isRequired, _propTypes2.default.number.isRequired])\n} : {};\n\nLmNumber.defaultProps = {\n    maxLength: 16,\n    value: 0,\n    precision: 2,\n    separator: '.',\n    delimiter: ',',\n    unit: ''\n};\n\nexports.default = LmNumber;\nmodule.exports = exports['default'];"]}