{"ast":null,"code":"import React, { createRef, Component } from 'react';\nimport { InputText } from 'primereact/inputtext';\nimport { classNames } from 'primereact/utils';\nimport { tip } from 'primereact/tooltip';\nimport { Ripple } from 'primereact/ripple';\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nvar InputNumber = /*#__PURE__*/function (_Component) {\n _inherits(InputNumber, _Component);\n\n var _super = _createSuper(InputNumber);\n\n function InputNumber(props) {\n var _this;\n\n _classCallCheck(this, InputNumber);\n\n _this = _super.call(this, props);\n _this.state = {\n focused: false\n };\n\n _this.constructParser();\n\n _this.onInput = _this.onInput.bind(_assertThisInitialized(_this));\n _this.onInputKeyDown = _this.onInputKeyDown.bind(_assertThisInitialized(_this));\n _this.onInputKeyPress = _this.onInputKeyPress.bind(_assertThisInitialized(_this));\n _this.onInputClick = _this.onInputClick.bind(_assertThisInitialized(_this));\n _this.onInputBlur = _this.onInputBlur.bind(_assertThisInitialized(_this));\n _this.onInputFocus = _this.onInputFocus.bind(_assertThisInitialized(_this));\n _this.onPaste = _this.onPaste.bind(_assertThisInitialized(_this));\n _this.onUpButtonMouseLeave = _this.onUpButtonMouseLeave.bind(_assertThisInitialized(_this));\n _this.onUpButtonMouseDown = _this.onUpButtonMouseDown.bind(_assertThisInitialized(_this));\n _this.onUpButtonMouseUp = _this.onUpButtonMouseUp.bind(_assertThisInitialized(_this));\n _this.onUpButtonKeyDown = _this.onUpButtonKeyDown.bind(_assertThisInitialized(_this));\n _this.onUpButtonKeyUp = _this.onUpButtonKeyUp.bind(_assertThisInitialized(_this));\n _this.onDownButtonMouseLeave = _this.onDownButtonMouseLeave.bind(_assertThisInitialized(_this));\n _this.onDownButtonMouseDown = _this.onDownButtonMouseDown.bind(_assertThisInitialized(_this));\n _this.onDownButtonMouseUp = _this.onDownButtonMouseUp.bind(_assertThisInitialized(_this));\n _this.onDownButtonKeyDown = _this.onDownButtonKeyDown.bind(_assertThisInitialized(_this));\n _this.onDownButtonKeyUp = _this.onDownButtonKeyUp.bind(_assertThisInitialized(_this));\n _this.inputRef = /*#__PURE__*/createRef(_this.props.inputRef);\n return _this;\n }\n\n _createClass(InputNumber, [{\n key: \"getOptions\",\n value: function getOptions() {\n return {\n localeMatcher: this.props.localeMatcher,\n style: this.props.mode,\n currency: this.props.currency,\n currencyDisplay: this.props.currencyDisplay,\n useGrouping: this.props.useGrouping,\n minimumFractionDigits: this.props.minFractionDigits,\n maximumFractionDigits: this.props.maxFractionDigits\n };\n }\n }, {\n key: \"constructParser\",\n value: function constructParser() {\n this.numberFormat = new Intl.NumberFormat(this.props.locale, this.getOptions());\n\n var numerals = _toConsumableArray(new Intl.NumberFormat(this.props.locale, {\n useGrouping: false\n }).format(9876543210)).reverse();\n\n var index = new Map(numerals.map(function (d, i) {\n return [d, i];\n }));\n this._numeral = new RegExp(\"[\".concat(numerals.join(''), \"]\"), 'g');\n this._group = this.getGroupingExpression();\n this._minusSign = this.getMinusSignExpression();\n this._currency = this.getCurrencyExpression();\n this._decimal = this.getDecimalExpression();\n this._suffix = this.getSuffixExpression();\n this._prefix = this.getPrefixExpression();\n\n this._index = function (d) {\n return index.get(d);\n };\n }\n }, {\n key: \"escapeRegExp\",\n value: function escapeRegExp(text) {\n return text.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n }\n }, {\n key: \"getDecimalExpression\",\n value: function getDecimalExpression() {\n var formatter = new Intl.NumberFormat(this.props.locale, _objectSpread(_objectSpread({}, this.getOptions()), {}, {\n useGrouping: false\n }));\n return new RegExp(\"[\".concat(formatter.format(1.1).replace(this._currency, '').trim().replace(this._numeral, ''), \"]\"), 'g');\n }\n }, {\n key: \"getGroupingExpression\",\n value: function getGroupingExpression() {\n var formatter = new Intl.NumberFormat(this.props.locale, {\n useGrouping: true\n });\n this.groupChar = formatter.format(1000000).trim().replace(this._numeral, '').charAt(0);\n return new RegExp(\"[\".concat(this.groupChar, \"]\"), 'g');\n }\n }, {\n key: \"getMinusSignExpression\",\n value: function getMinusSignExpression() {\n var formatter = new Intl.NumberFormat(this.props.locale, {\n useGrouping: false\n });\n return new RegExp(\"[\".concat(formatter.format(-1).trim().replace(this._numeral, ''), \"]\"), 'g');\n }\n }, {\n key: \"getCurrencyExpression\",\n value: function getCurrencyExpression() {\n if (this.props.currency) {\n var formatter = new Intl.NumberFormat(this.props.locale, {\n style: 'currency',\n currency: this.props.currency,\n currencyDisplay: this.props.currencyDisplay,\n minimumFractionDigits: 0,\n maximumFractionDigits: 0\n });\n return new RegExp(\"[\".concat(formatter.format(1).replace(/\\s/g, '').replace(this._numeral, '').replace(this._group, ''), \"]\"), 'g');\n }\n\n return new RegExp(\"[]\", 'g');\n }\n }, {\n key: \"getPrefixExpression\",\n value: function getPrefixExpression() {\n if (this.props.prefix) {\n this.prefixChar = this.props.prefix;\n } else {\n var formatter = new Intl.NumberFormat(this.props.locale, {\n style: this.props.mode,\n currency: this.props.currency,\n currencyDisplay: this.props.currencyDisplay\n });\n this.prefixChar = formatter.format(1).split('1')[0];\n }\n\n return new RegExp(\"\".concat(this.escapeRegExp(this.prefixChar || '')), 'g');\n }\n }, {\n key: \"getSuffixExpression\",\n value: function getSuffixExpression() {\n if (this.props.suffix) {\n this.suffixChar = this.props.suffix;\n } else {\n var formatter = new Intl.NumberFormat(this.props.locale, {\n style: this.props.mode,\n currency: this.props.currency,\n currencyDisplay: this.props.currencyDisplay,\n minimumFractionDigits: 0,\n maximumFractionDigits: 0\n });\n this.suffixChar = formatter.format(1).split('1')[1];\n }\n\n return new RegExp(\"\".concat(this.escapeRegExp(this.suffixChar || '')), 'g');\n }\n }, {\n key: \"formatValue\",\n value: function formatValue(value) {\n if (value != null) {\n if (value === '-') {\n // Minus sign\n return value;\n }\n\n if (this.props.format) {\n var formatter = new Intl.NumberFormat(this.props.locale, this.getOptions());\n var formattedValue = formatter.format(value);\n\n if (this.props.prefix) {\n formattedValue = this.props.prefix + formattedValue;\n }\n\n if (this.props.suffix) {\n formattedValue = formattedValue + this.props.suffix;\n }\n\n return formattedValue;\n }\n\n return value.toString();\n }\n\n return '';\n }\n }, {\n key: \"parseValue\",\n value: function parseValue(text) {\n var filteredText = text.replace(this._suffix, '').replace(this._prefix, '').trim().replace(/\\s/g, '').replace(this._currency, '').replace(this._group, '').replace(this._minusSign, '-').replace(this._decimal, '.').replace(this._numeral, this._index);\n\n if (filteredText) {\n if (filteredText === '-') // Minus sign\n return filteredText;\n var parsedValue = +filteredText;\n return isNaN(parsedValue) ? null : parsedValue;\n }\n\n return null;\n }\n }, {\n key: \"repeat\",\n value: function repeat(event, interval, dir) {\n var _this2 = this;\n\n var i = interval || 500;\n this.clearTimer();\n this.timer = setTimeout(function () {\n _this2.repeat(event, 40, dir);\n }, i);\n this.spin(event, dir);\n }\n }, {\n key: \"spin\",\n value: function spin(event, dir) {\n if (this.inputRef && this.inputRef.current) {\n var step = this.props.step * dir;\n var currentValue = this.parseValue(this.inputRef.current.value) || 0;\n var newValue = this.validateValue(currentValue + step);\n this.updateInput(newValue, null, 'spin');\n this.updateModel(event, newValue);\n this.handleOnChange(event, currentValue, newValue);\n }\n }\n }, {\n key: \"onUpButtonMouseDown\",\n value: function onUpButtonMouseDown(event) {\n if (!this.props.disabled && !this.props.readOnly) {\n this.inputRef.current.focus();\n this.repeat(event, null, 1);\n event.preventDefault();\n }\n }\n }, {\n key: \"onUpButtonMouseUp\",\n value: function onUpButtonMouseUp() {\n if (!this.props.disabled && !this.props.readOnly) {\n this.clearTimer();\n }\n }\n }, {\n key: \"onUpButtonMouseLeave\",\n value: function onUpButtonMouseLeave() {\n if (!this.props.disabled && !this.props.readOnly) {\n this.clearTimer();\n }\n }\n }, {\n key: \"onUpButtonKeyUp\",\n value: function onUpButtonKeyUp() {\n if (!this.props.disabled && !this.props.readOnly) {\n this.clearTimer();\n }\n }\n }, {\n key: \"onUpButtonKeyDown\",\n value: function onUpButtonKeyDown(event) {\n if (!this.props.disabled && !this.props.readOnly && (event.keyCode === 32 || event.keyCode === 13)) {\n this.repeat(event, null, 1);\n }\n }\n }, {\n key: \"onDownButtonMouseDown\",\n value: function onDownButtonMouseDown(event) {\n if (!this.props.disabled && !this.props.readOnly) {\n this.inputRef.current.focus();\n this.repeat(event, null, -1);\n event.preventDefault();\n }\n }\n }, {\n key: \"onDownButtonMouseUp\",\n value: function onDownButtonMouseUp() {\n if (!this.props.disabled && !this.props.readOnly) {\n this.clearTimer();\n }\n }\n }, {\n key: \"onDownButtonMouseLeave\",\n value: function onDownButtonMouseLeave() {\n if (!this.props.disabled && !this.props.readOnly) {\n this.clearTimer();\n }\n }\n }, {\n key: \"onDownButtonKeyUp\",\n value: function onDownButtonKeyUp() {\n if (!this.props.disabled && !this.props.readOnly) {\n this.clearTimer();\n }\n }\n }, {\n key: \"onDownButtonKeyDown\",\n value: function onDownButtonKeyDown(event) {\n if (!this.props.disabled && !this.props.readOnly && (event.keyCode === 32 || event.keyCode === 13)) {\n this.repeat(event, null, -1);\n }\n }\n }, {\n key: \"onInput\",\n value: function onInput(event) {\n if (this.props.disabled || this.props.readOnly) {\n return;\n }\n\n if (this.isSpecialChar) {\n event.target.value = this.lastValue;\n }\n\n this.isSpecialChar = false;\n }\n }, {\n key: \"onInputKeyDown\",\n value: function onInputKeyDown(event) {\n if (this.props.disabled || this.props.readOnly) {\n return;\n }\n\n this.lastValue = event.target.value;\n\n if (event.shiftKey || event.altKey) {\n this.isSpecialChar = true;\n return;\n }\n\n var selectionStart = event.target.selectionStart;\n var selectionEnd = event.target.selectionEnd;\n var inputValue = event.target.value;\n var newValueStr = null;\n\n if (event.altKey) {\n event.preventDefault();\n }\n\n switch (event.which) {\n //up\n case 38:\n this.spin(event, 1);\n event.preventDefault();\n break;\n //down\n\n case 40:\n this.spin(event, -1);\n event.preventDefault();\n break;\n //left\n\n case 37:\n if (!this.isNumeralChar(inputValue.charAt(selectionStart - 1))) {\n event.preventDefault();\n }\n\n break;\n //right\n\n case 39:\n if (!this.isNumeralChar(inputValue.charAt(selectionStart))) {\n event.preventDefault();\n }\n\n break;\n //enter\n\n case 13:\n newValueStr = this.validateValue(this.parseValue(inputValue));\n this.inputRef.current.value = this.formatValue(newValueStr);\n this.inputRef.current.setAttribute('aria-valuenow', newValueStr);\n this.updateModel(event, newValueStr);\n break;\n //backspace\n\n case 8:\n event.preventDefault();\n\n if (selectionStart === selectionEnd) {\n var deleteChar = inputValue.charAt(selectionStart - 1);\n\n var _this$getDecimalCharI = this.getDecimalCharIndexes(inputValue),\n decimalCharIndex = _this$getDecimalCharI.decimalCharIndex,\n decimalCharIndexWithoutPrefix = _this$getDecimalCharI.decimalCharIndexWithoutPrefix;\n\n if (this.isNumeralChar(deleteChar)) {\n var decimalLength = this.getDecimalLength(inputValue);\n\n if (this._group.test(deleteChar)) {\n this._group.lastIndex = 0;\n newValueStr = inputValue.slice(0, selectionStart - 2) + inputValue.slice(selectionStart - 1);\n } else if (this._decimal.test(deleteChar)) {\n this._decimal.lastIndex = 0;\n\n if (decimalLength) {\n this.inputRef.current.setSelectionRange(selectionStart - 1, selectionStart - 1);\n } else {\n newValueStr = inputValue.slice(0, selectionStart - 1) + inputValue.slice(selectionStart);\n }\n } else if (decimalCharIndex > 0 && selectionStart > decimalCharIndex) {\n var insertedText = this.isDecimalMode() && (this.props.minFractionDigits || 0) < decimalLength ? '' : '0';\n newValueStr = inputValue.slice(0, selectionStart - 1) + insertedText + inputValue.slice(selectionStart);\n } else if (decimalCharIndexWithoutPrefix === 1) {\n newValueStr = inputValue.slice(0, selectionStart - 1) + '0' + inputValue.slice(selectionStart);\n newValueStr = this.parseValue(newValueStr) > 0 ? newValueStr : '';\n } else {\n newValueStr = inputValue.slice(0, selectionStart - 1) + inputValue.slice(selectionStart);\n }\n }\n\n this.updateValue(event, newValueStr, null, 'delete-single');\n } else {\n newValueStr = this.deleteRange(inputValue, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, null, 'delete-range');\n }\n\n break;\n // del\n\n case 46:\n event.preventDefault();\n\n if (selectionStart === selectionEnd) {\n var _deleteChar = inputValue.charAt(selectionStart);\n\n var _this$getDecimalCharI2 = this.getDecimalCharIndexes(inputValue),\n _decimalCharIndex = _this$getDecimalCharI2.decimalCharIndex,\n _decimalCharIndexWithoutPrefix = _this$getDecimalCharI2.decimalCharIndexWithoutPrefix;\n\n if (this.isNumeralChar(_deleteChar)) {\n var _decimalLength = this.getDecimalLength(inputValue);\n\n if (this._group.test(_deleteChar)) {\n this._group.lastIndex = 0;\n newValueStr = inputValue.slice(0, selectionStart) + inputValue.slice(selectionStart + 2);\n } else if (this._decimal.test(_deleteChar)) {\n this._decimal.lastIndex = 0;\n\n if (_decimalLength) {\n this.$refs.input.$el.setSelectionRange(selectionStart + 1, selectionStart + 1);\n } else {\n newValueStr = inputValue.slice(0, selectionStart) + inputValue.slice(selectionStart + 1);\n }\n } else if (_decimalCharIndex > 0 && selectionStart > _decimalCharIndex) {\n var _insertedText = this.isDecimalMode() && (this.props.minFractionDigits || 0) < _decimalLength ? '' : '0';\n\n newValueStr = inputValue.slice(0, selectionStart) + _insertedText + inputValue.slice(selectionStart + 1);\n } else if (_decimalCharIndexWithoutPrefix === 1) {\n newValueStr = inputValue.slice(0, selectionStart) + '0' + inputValue.slice(selectionStart + 1);\n newValueStr = this.parseValue(newValueStr) > 0 ? newValueStr : '';\n } else {\n newValueStr = inputValue.slice(0, selectionStart) + inputValue.slice(selectionStart + 1);\n }\n }\n\n this.updateValue(event, newValueStr, null, 'delete-back-single');\n } else {\n newValueStr = this.deleteRange(inputValue, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, null, 'delete-range');\n }\n\n break;\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(event);\n }\n }\n }, {\n key: \"onInputKeyPress\",\n value: function onInputKeyPress(event) {\n if (this.props.disabled || this.props.readOnly) {\n return;\n }\n\n var code = event.which || event.keyCode;\n\n var _char = String.fromCharCode(code);\n\n var isDecimalSign = this.isDecimalSign(_char);\n var isMinusSign = this.isMinusSign(_char);\n\n if (48 <= code && code <= 57 || isMinusSign || isDecimalSign) {\n this.insert(event, _char, {\n isDecimalSign: isDecimalSign,\n isMinusSign: isMinusSign\n });\n event.preventDefault();\n }\n }\n }, {\n key: \"onPaste\",\n value: function onPaste(event) {\n event.preventDefault();\n\n if (this.props.disabled || this.props.readOnly) {\n return;\n }\n\n var data = (event.clipboardData || window['clipboardData']).getData('Text');\n\n if (data) {\n var filteredData = this.parseValue(data);\n\n if (filteredData != null) {\n this.insert(event, filteredData.toString());\n }\n }\n }\n }, {\n key: \"allowMinusSign\",\n value: function allowMinusSign() {\n return this.props.min === null || this.props.min < 0;\n }\n }, {\n key: \"isMinusSign\",\n value: function isMinusSign(_char2) {\n if (this._minusSign.test(_char2) || _char2 === '-') {\n this._minusSign.lastIndex = 0;\n return true;\n }\n\n return false;\n }\n }, {\n key: \"isDecimalSign\",\n value: function isDecimalSign(_char3) {\n if (this._decimal.test(_char3)) {\n this._decimal.lastIndex = 0;\n return true;\n }\n\n return false;\n }\n }, {\n key: \"isDecimalMode\",\n value: function isDecimalMode() {\n return this.props.mode === 'decimal';\n }\n }, {\n key: \"getDecimalCharIndexes\",\n value: function getDecimalCharIndexes(val) {\n var decimalCharIndex = val.search(this._decimal);\n this._decimal.lastIndex = 0;\n var filteredVal = val.replace(this._prefix, '').trim().replace(/\\s/g, '').replace(this._currency, '');\n var decimalCharIndexWithoutPrefix = filteredVal.search(this._decimal);\n this._decimal.lastIndex = 0;\n return {\n decimalCharIndex: decimalCharIndex,\n decimalCharIndexWithoutPrefix: decimalCharIndexWithoutPrefix\n };\n }\n }, {\n key: \"getCharIndexes\",\n value: function getCharIndexes(val) {\n var decimalCharIndex = val.search(this._decimal);\n this._decimal.lastIndex = 0;\n var minusCharIndex = val.search(this._minusSign);\n this._minusSign.lastIndex = 0;\n var suffixCharIndex = val.search(this._suffix);\n this._suffix.lastIndex = 0;\n var currencyCharIndex = val.search(this._currency);\n this._currency.lastIndex = 0;\n return {\n decimalCharIndex: decimalCharIndex,\n minusCharIndex: minusCharIndex,\n suffixCharIndex: suffixCharIndex,\n currencyCharIndex: currencyCharIndex\n };\n }\n }, {\n key: \"insert\",\n value: function insert(event, text) {\n var sign = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n isDecimalSign: false,\n isMinusSign: false\n };\n var minusCharIndexOnText = text.search(this._minusSign);\n this._minusSign.lastIndex = 0;\n\n if (!this.allowMinusSign() && minusCharIndexOnText !== -1) {\n return;\n }\n\n var selectionStart = this.inputRef.current.selectionStart;\n var selectionEnd = this.inputRef.current.selectionEnd;\n var inputValue = this.inputRef.current.value.trim();\n\n var _this$getCharIndexes = this.getCharIndexes(inputValue),\n decimalCharIndex = _this$getCharIndexes.decimalCharIndex,\n minusCharIndex = _this$getCharIndexes.minusCharIndex,\n suffixCharIndex = _this$getCharIndexes.suffixCharIndex,\n currencyCharIndex = _this$getCharIndexes.currencyCharIndex;\n\n var newValueStr;\n\n if (sign.isMinusSign) {\n if (selectionStart === 0) {\n newValueStr = inputValue;\n\n if (minusCharIndex === -1 || selectionEnd !== 0) {\n newValueStr = this.insertText(inputValue, text, 0, selectionEnd);\n }\n\n this.updateValue(event, newValueStr, text, 'insert');\n }\n } else if (sign.isDecimalSign) {\n if (decimalCharIndex > 0 && selectionStart === decimalCharIndex) {\n this.updateValue(event, inputValue, text, 'insert');\n } else if (decimalCharIndex > selectionStart && decimalCharIndex < selectionEnd) {\n newValueStr = this.insertText(inputValue, text, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, text, 'insert');\n } else if (decimalCharIndex === -1 && this.props.maxFractionDigits) {\n newValueStr = this.insertText(inputValue, text, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, text, 'insert');\n }\n } else {\n var maxFractionDigits = this.numberFormat.resolvedOptions().maximumFractionDigits;\n var operation = selectionStart !== selectionEnd ? 'range-insert' : 'insert';\n\n if (decimalCharIndex > 0 && selectionStart > decimalCharIndex) {\n if (selectionStart + text.length - (decimalCharIndex + 1) <= maxFractionDigits) {\n var charIndex = currencyCharIndex >= selectionStart ? currencyCharIndex - 1 : suffixCharIndex >= selectionStart ? suffixCharIndex : inputValue.length;\n newValueStr = inputValue.slice(0, selectionStart) + text + inputValue.slice(selectionStart + text.length, charIndex) + inputValue.slice(charIndex);\n this.updateValue(event, newValueStr, text, operation);\n }\n } else {\n newValueStr = this.insertText(inputValue, text, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, text, operation);\n }\n }\n }\n }, {\n key: \"insertText\",\n value: function insertText(value, text, start, end) {\n var textSplit = text === '.' ? text : text.split('.');\n\n if (textSplit.length === 2) {\n var decimalCharIndex = value.slice(start, end).search(this._decimal);\n this._decimal.lastIndex = 0;\n return decimalCharIndex > 0 ? value.slice(0, start) + this.formatValue(text) + value.slice(end) : value || this.formatValue(text);\n } else if (end - start === value.length) {\n return this.formatValue(text);\n } else if (start === 0) {\n return text + value.slice(end);\n } else if (end === value.length) {\n return value.slice(0, start) + text;\n } else {\n return value.slice(0, start) + text + value.slice(end);\n }\n }\n }, {\n key: \"deleteRange\",\n value: function deleteRange(value, start, end) {\n var newValueStr;\n if (end - start === value.length) newValueStr = '';else if (start === 0) newValueStr = value.slice(end);else if (end === value.length) newValueStr = value.slice(0, start);else newValueStr = value.slice(0, start) + value.slice(end);\n return newValueStr;\n }\n }, {\n key: \"initCursor\",\n value: function initCursor() {\n var selectionStart = this.inputRef.current.selectionStart;\n var inputValue = this.inputRef.current.value;\n var valueLength = inputValue.length;\n var index = null; // remove prefix\n\n var prefixLength = (this.prefixChar || '').length;\n inputValue = inputValue.replace(this._prefix, '');\n selectionStart = selectionStart - prefixLength;\n\n var _char4 = inputValue.charAt(selectionStart);\n\n if (this.isNumeralChar(_char4)) {\n return selectionStart + prefixLength;\n } //left\n\n\n var i = selectionStart - 1;\n\n while (i >= 0) {\n _char4 = inputValue.charAt(i);\n\n if (this.isNumeralChar(_char4)) {\n index = i + prefixLength;\n break;\n } else {\n i--;\n }\n }\n\n if (index !== null) {\n this.inputRef.current.setSelectionRange(index + 1, index + 1);\n } else {\n i = selectionStart;\n\n while (i < valueLength) {\n _char4 = inputValue.charAt(i);\n\n if (this.isNumeralChar(_char4)) {\n index = i + prefixLength;\n break;\n } else {\n i++;\n }\n }\n\n if (index !== null) {\n this.inputRef.current.setSelectionRange(index, index);\n }\n }\n\n return index || 0;\n }\n }, {\n key: \"onInputClick\",\n value: function onInputClick() {\n this.initCursor();\n }\n }, {\n key: \"isNumeralChar\",\n value: function isNumeralChar(_char5) {\n if (_char5.length === 1 && (this._numeral.test(_char5) || this._decimal.test(_char5) || this._group.test(_char5) || this._minusSign.test(_char5))) {\n this.resetRegex();\n return true;\n } else {\n return false;\n }\n }\n }, {\n key: \"resetRegex\",\n value: function resetRegex() {\n this._numeral.lastIndex = 0;\n this._decimal.lastIndex = 0;\n this._group.lastIndex = 0;\n this._minusSign.lastIndex = 0;\n }\n }, {\n key: \"updateValue\",\n value: function updateValue(event, valueStr, insertedValueStr, operation) {\n var currentValue = this.inputRef.current.value;\n var newValue = null;\n\n if (valueStr != null) {\n newValue = this.parseValue(valueStr);\n newValue = this.evaluateEmpty(newValue);\n this.updateInput(newValue, insertedValueStr, operation, valueStr);\n this.handleOnChange(event, currentValue, newValue);\n }\n }\n }, {\n key: \"evaluateEmpty\",\n value: function evaluateEmpty(newValue) {\n return !newValue && !this.props.allowEmpty ? this.props.min || 0 : newValue;\n }\n }, {\n key: \"handleOnChange\",\n value: function handleOnChange(event, currentValue, newValue) {\n if (this.props.onChange && this.isValueChanged(currentValue, newValue)) {\n this.props.onChange({\n originalEvent: event,\n value: newValue\n });\n }\n }\n }, {\n key: \"isValueChanged\",\n value: function isValueChanged(currentValue, newValue) {\n if (newValue === null && currentValue !== null) {\n return true;\n }\n\n if (newValue != null) {\n var parsedCurrentValue = typeof currentValue === 'string' ? this.parseValue(currentValue) : currentValue;\n return newValue !== parsedCurrentValue;\n }\n\n return false;\n }\n }, {\n key: \"validateValue\",\n value: function validateValue(value) {\n if (value === '-' || value == null) {\n return null;\n }\n\n if (this.props.min !== null && value < this.props.min) {\n return this.props.min;\n }\n\n if (this.props.max !== null && value > this.props.max) {\n return this.props.max;\n }\n\n return value;\n }\n }, {\n key: \"updateInput\",\n value: function updateInput(value, insertedValueStr, operation, valueStr) {\n insertedValueStr = insertedValueStr || '';\n var inputEl = this.inputRef.current;\n var inputValue = inputEl.value;\n var newValue = this.formatValue(value);\n var currentLength = inputValue.length;\n\n if (newValue !== valueStr) {\n newValue = this.concatValues(newValue, valueStr);\n }\n\n if (currentLength === 0) {\n inputEl.value = newValue;\n inputEl.setSelectionRange(0, 0);\n var index = this.initCursor();\n var selectionEnd = index + insertedValueStr.length;\n inputEl.setSelectionRange(selectionEnd, selectionEnd);\n } else {\n var selectionStart = inputEl.selectionStart;\n var _selectionEnd = inputEl.selectionEnd;\n inputEl.value = newValue;\n var newLength = newValue.length;\n\n if (operation === 'range-insert') {\n var startValue = this.parseValue((inputValue || '').slice(0, selectionStart));\n var startValueStr = startValue !== null ? startValue.toString() : '';\n var startExpr = startValueStr.split('').join(\"(\".concat(this.groupChar, \")?\"));\n var sRegex = new RegExp(startExpr, 'g');\n sRegex.test(newValue);\n var tExpr = insertedValueStr.split('').join(\"(\".concat(this.groupChar, \")?\"));\n var tRegex = new RegExp(tExpr, 'g');\n tRegex.test(newValue.slice(sRegex.lastIndex));\n _selectionEnd = sRegex.lastIndex + tRegex.lastIndex;\n inputEl.setSelectionRange(_selectionEnd, _selectionEnd);\n } else if (newLength === currentLength) {\n if (operation === 'insert' || operation === 'delete-back-single') inputEl.setSelectionRange(_selectionEnd + 1, _selectionEnd + 1);else if (operation === 'delete-single') inputEl.setSelectionRange(_selectionEnd - 1, _selectionEnd - 1);else if (operation === 'delete-range' || operation === 'spin') inputEl.setSelectionRange(_selectionEnd, _selectionEnd);\n } else if (operation === 'delete-back-single') {\n var prevChar = inputValue.charAt(_selectionEnd - 1);\n var nextChar = inputValue.charAt(_selectionEnd);\n var diff = currentLength - newLength;\n\n var isGroupChar = this._group.test(nextChar);\n\n if (isGroupChar && diff === 1) {\n _selectionEnd += 1;\n } else if (!isGroupChar && this.isNumeralChar(prevChar)) {\n _selectionEnd += -1 * diff + 1;\n }\n\n this._group.lastIndex = 0;\n inputEl.setSelectionRange(_selectionEnd, _selectionEnd);\n } else if (inputValue === '-' && operation === 'insert') {\n inputEl.setSelectionRange(0, 0);\n\n var _index = this.initCursor();\n\n var _selectionEnd2 = _index + insertedValueStr.length + 1;\n\n inputEl.setSelectionRange(_selectionEnd2, _selectionEnd2);\n } else {\n _selectionEnd = _selectionEnd + (newLength - currentLength);\n inputEl.setSelectionRange(_selectionEnd, _selectionEnd);\n }\n }\n\n inputEl.setAttribute('aria-valuenow', value);\n }\n }, {\n key: \"updateInputValue\",\n value: function updateInputValue(newValue) {\n newValue = this.evaluateEmpty(newValue);\n var inputEl = this.inputRef.current;\n var value = inputEl.value;\n var formattedValue = this.formattedValue(newValue);\n\n if (value !== formattedValue) {\n inputEl.value = formattedValue;\n inputEl.setAttribute('aria-valuenow', newValue);\n }\n }\n }, {\n key: \"formattedValue\",\n value: function formattedValue(val) {\n var newValue = this.evaluateEmpty(val);\n return this.formatValue(newValue);\n }\n }, {\n key: \"concatValues\",\n value: function concatValues(val1, val2) {\n if (val1 && val2) {\n var decimalCharIndex = val2.search(this._decimal);\n this._decimal.lastIndex = 0;\n return decimalCharIndex !== -1 ? val1.split(this._decimal)[0] + val2.slice(decimalCharIndex) : val1;\n }\n\n return val1;\n }\n }, {\n key: \"getDecimalLength\",\n value: function getDecimalLength(value) {\n if (value) {\n var valueSplit = value.split(this._decimal);\n\n if (valueSplit.length === 2) {\n return valueSplit[1].replace(this._suffix, '').trim().replace(/\\s/g, '').replace(this._currency, '').length;\n }\n }\n\n return 0;\n }\n }, {\n key: \"updateModel\",\n value: function updateModel(event, value) {\n if (this.props.onValueChange) {\n this.props.onValueChange({\n originalEvent: event,\n value: value,\n stopPropagation: function stopPropagation() {},\n preventDefault: function preventDefault() {},\n target: {\n name: this.props.name,\n id: this.props.id,\n value: value\n }\n });\n }\n }\n }, {\n key: \"onInputFocus\",\n value: function onInputFocus(event) {\n var _this3 = this;\n\n event.persist();\n this.setState({\n focused: true\n }, function () {\n if (_this3.props.onFocus) {\n _this3.props.onFocus(event);\n }\n });\n }\n }, {\n key: \"onInputBlur\",\n value: function onInputBlur(event) {\n var _this4 = this;\n\n event.persist();\n this.setState({\n focused: false\n }, function () {\n var currentValue = _this4.inputRef.current.value;\n\n if (_this4.isValueChanged(currentValue, _this4.props.value)) {\n var newValue = _this4.validateValue(_this4.parseValue(currentValue));\n\n _this4.updateInputValue(newValue);\n\n _this4.updateModel(event, newValue);\n }\n\n if (_this4.props.onBlur) {\n _this4.props.onBlur(event);\n }\n });\n }\n }, {\n key: \"clearTimer\",\n value: function clearTimer() {\n if (this.timer) {\n clearInterval(this.timer);\n }\n }\n }, {\n key: \"isStacked\",\n value: function isStacked() {\n return this.props.showButtons && this.props.buttonLayout === 'stacked';\n }\n }, {\n key: \"isHorizontal\",\n value: function isHorizontal() {\n return this.props.showButtons && this.props.buttonLayout === 'horizontal';\n }\n }, {\n key: \"isVertical\",\n value: function isVertical() {\n return this.props.showButtons && this.props.buttonLayout === 'vertical';\n }\n }, {\n key: \"getInputMode\",\n value: function getInputMode() {\n return this.props.inputMode || (this.props.mode === 'decimal' && !this.props.minFractionDigits ? 'numeric' : 'decimal');\n }\n }, {\n key: \"getFormatter\",\n value: function getFormatter() {\n return this.numberFormat;\n }\n }, {\n key: \"updateInputRef\",\n value: function updateInputRef() {\n var ref = this.props.inputRef;\n\n if (ref) {\n if (typeof ref === 'function') {\n ref(this.inputRef.current);\n } else {\n ref.current = this.inputRef.current;\n }\n }\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.updateInputRef();\n\n if (this.props.tooltip) {\n this.renderTooltip();\n }\n\n var newValue = this.validateValue(this.props.value);\n\n if (this.props.value !== null && this.props.value !== newValue) {\n this.updateModel(null, newValue);\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (prevProps.tooltip !== this.props.tooltip || prevProps.tooltipOptions !== this.props.tooltipOptions) {\n if (this.tooltip) this.tooltip.update(_objectSpread({\n content: this.props.tooltip\n }, this.props.tooltipOptions || {}));else this.renderTooltip();\n }\n\n var isOptionChanged = this.isOptionChanged(prevProps);\n\n if (isOptionChanged) {\n this.constructParser();\n }\n\n if (prevProps.value !== this.props.value || isOptionChanged) {\n var newValue = this.validateValue(this.props.value);\n this.updateInputValue(newValue);\n\n if (this.props.value !== null && this.props.value !== newValue) {\n this.updateModel(null, newValue);\n }\n }\n }\n }, {\n key: \"isOptionChanged\",\n value: function isOptionChanged(prevProps) {\n var _this5 = this;\n\n var optionProps = ['locale', 'localeMatcher', 'mode', 'currency', 'currencyDisplay', 'useGrouping', 'minFractionDigits', 'maxFractionDigits', 'suffix', 'prefix'];\n return optionProps.some(function (option) {\n return prevProps[option] !== _this5.props[option];\n });\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.tooltip) {\n this.tooltip.destroy();\n this.tooltip = null;\n }\n }\n }, {\n key: \"renderTooltip\",\n value: function renderTooltip() {\n this.tooltip = tip({\n target: this.element,\n content: this.props.tooltip,\n options: this.props.tooltipOptions\n });\n }\n }, {\n key: \"renderInputElement\",\n value: function renderInputElement() {\n var className = classNames('p-inputnumber-input', this.props.inputClassName);\n var valueToRender = this.formattedValue(this.props.value);\n return /*#__PURE__*/React.createElement(InputText, {\n ref: this.inputRef,\n id: this.props.inputId,\n style: this.props.inputStyle,\n role: \"spinbutton\",\n className: className,\n defaultValue: valueToRender,\n type: this.props.type,\n size: this.props.size,\n tabIndex: this.props.tabIndex,\n inputMode: this.getInputMode(),\n maxLength: this.props.maxLength,\n disabled: this.props.disabled,\n required: this.props.required,\n pattern: this.props.pattern,\n placeholder: this.props.placeholder,\n readOnly: this.props.readOnly,\n name: this.props.name,\n autoFocus: this.props.autoFocus,\n onKeyDown: this.onInputKeyDown,\n onKeyPress: this.onInputKeyPress,\n onInput: this.onInput,\n onClick: this.onInputClick,\n onBlur: this.onInputBlur,\n onFocus: this.onInputFocus,\n onPaste: this.onPaste,\n min: this.props.min,\n max: this.props.max,\n \"aria-valuemin\": this.props.min,\n \"aria-valuemax\": this.props.max,\n \"aria-valuenow\": this.props.value,\n \"aria-labelledby\": this.props.ariaLabelledBy\n });\n }\n }, {\n key: \"renderUpButton\",\n value: function renderUpButton() {\n var className = classNames('p-inputnumber-button p-inputnumber-button-up p-button p-button-icon-only p-component', {\n 'p-disabled': this.props.disabled\n }, this.props.incrementButtonClassName);\n var icon = classNames('p-button-icon', this.props.incrementButtonIcon);\n return /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: className,\n onMouseLeave: this.onUpButtonMouseLeave,\n onMouseDown: this.onUpButtonMouseDown,\n onMouseUp: this.onUpButtonMouseUp,\n onKeyDown: this.onUpButtonKeyDown,\n onKeyUp: this.onUpButtonKeyUp,\n disabled: this.props.disabled,\n tabIndex: -1\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: icon\n }), /*#__PURE__*/React.createElement(Ripple, null));\n }\n }, {\n key: \"renderDownButton\",\n value: function renderDownButton() {\n var className = classNames('p-inputnumber-button p-inputnumber-button-down p-button p-button-icon-only p-component', {\n 'p-disabled': this.props.disabled\n }, this.props.decrementButtonClassName);\n var icon = classNames('p-button-icon', this.props.decrementButtonIcon);\n return /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: className,\n onMouseLeave: this.onDownButtonMouseLeave,\n onMouseDown: this.onDownButtonMouseDown,\n onMouseUp: this.onDownButtonMouseUp,\n onKeyDown: this.onDownButtonKeyDown,\n onKeyUp: this.onDownButtonKeyUp,\n disabled: this.props.disabled,\n tabIndex: -1\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: icon\n }), /*#__PURE__*/React.createElement(Ripple, null));\n }\n }, {\n key: \"renderButtonGroup\",\n value: function renderButtonGroup() {\n var upButton = this.props.showButtons && this.renderUpButton();\n var downButton = this.props.showButtons && this.renderDownButton();\n\n if (this.isStacked()) {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"p-inputnumber-button-group\"\n }, upButton, downButton);\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, upButton, downButton);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this6 = this;\n\n var className = classNames('p-inputnumber p-component p-inputwrapper', this.props.className, {\n 'p-inputwrapper-filled': this.props.value != null && this.props.value.toString().length > 0,\n 'p-inputwrapper-focus': this.state.focused,\n 'p-inputnumber-buttons-stacked': this.isStacked(),\n 'p-inputnumber-buttons-horizontal': this.isHorizontal(),\n 'p-inputnumber-buttons-vertical': this.isVertical()\n });\n var inputElement = this.renderInputElement();\n var buttonGroup = this.renderButtonGroup();\n return /*#__PURE__*/React.createElement(\"span\", {\n ref: function ref(el) {\n return _this6.element = el;\n },\n id: this.props.id,\n className: className,\n style: this.props.style\n }, inputElement, buttonGroup);\n }\n }]);\n\n return InputNumber;\n}(Component);\n\n_defineProperty(InputNumber, \"defaultProps\", {\n value: null,\n inputRef: null,\n format: true,\n showButtons: false,\n buttonLayout: 'stacked',\n incrementButtonClassName: null,\n decrementButtonClassName: null,\n incrementButtonIcon: 'pi pi-angle-up',\n decrementButtonIcon: 'pi pi-angle-down',\n locale: undefined,\n localeMatcher: undefined,\n mode: 'decimal',\n suffix: null,\n prefix: null,\n currency: undefined,\n currencyDisplay: undefined,\n useGrouping: true,\n minFractionDigits: undefined,\n maxFractionDigits: undefined,\n id: null,\n name: null,\n type: 'text',\n allowEmpty: true,\n step: 1,\n min: null,\n max: null,\n disabled: false,\n required: false,\n tabIndex: null,\n pattern: null,\n inputMode: null,\n placeholder: null,\n readOnly: false,\n size: null,\n style: null,\n className: null,\n inputId: null,\n autoFocus: false,\n inputStyle: null,\n inputClassName: null,\n tooltip: null,\n tooltipOptions: null,\n ariaLabelledBy: null,\n onValueChange: null,\n onChange: null,\n onBlur: null,\n onFocus: null,\n onKeyDown: null\n});\n\nexport { InputNumber };","map":{"version":3,"names":["React","createRef","Component","InputText","classNames","tip","Ripple","_arrayLikeToArray","arr","len","length","i","arr2","Array","_arrayWithoutHoles","isArray","_iterableToArray","iter","Symbol","iterator","from","_unsupportedIterableToArray","o","minLen","n","Object","prototype","toString","call","slice","constructor","name","test","_nonIterableSpread","TypeError","_toConsumableArray","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","enumerable","configurable","writable","defineProperty","key","_createClass","protoProps","staticProps","_assertThisInitialized","self","ReferenceError","_setPrototypeOf","p","setPrototypeOf","__proto__","_inherits","subClass","superClass","create","value","_typeof","obj","_possibleConstructorReturn","_getPrototypeOf","getPrototypeOf","_defineProperty","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","apply","_objectSpread","arguments","source","forEach","getOwnPropertyDescriptors","defineProperties","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","result","NewTarget","Reflect","construct","sham","Proxy","Boolean","valueOf","e","InputNumber","_Component","_super","_this","state","focused","constructParser","onInput","bind","onInputKeyDown","onInputKeyPress","onInputClick","onInputBlur","onInputFocus","onPaste","onUpButtonMouseLeave","onUpButtonMouseDown","onUpButtonMouseUp","onUpButtonKeyDown","onUpButtonKeyUp","onDownButtonMouseLeave","onDownButtonMouseDown","onDownButtonMouseUp","onDownButtonKeyDown","onDownButtonKeyUp","inputRef","getOptions","localeMatcher","style","mode","currency","currencyDisplay","useGrouping","minimumFractionDigits","minFractionDigits","maximumFractionDigits","maxFractionDigits","numberFormat","Intl","NumberFormat","locale","numerals","format","reverse","index","Map","map","d","_numeral","RegExp","concat","join","_group","getGroupingExpression","_minusSign","getMinusSignExpression","_currency","getCurrencyExpression","_decimal","getDecimalExpression","_suffix","getSuffixExpression","_prefix","getPrefixExpression","_index","get","escapeRegExp","text","replace","formatter","trim","groupChar","charAt","prefix","prefixChar","split","suffix","suffixChar","formatValue","formattedValue","parseValue","filteredText","parsedValue","isNaN","repeat","event","interval","dir","_this2","clearTimer","timer","setTimeout","spin","current","step","currentValue","newValue","validateValue","updateInput","updateModel","handleOnChange","disabled","readOnly","focus","preventDefault","keyCode","isSpecialChar","lastValue","shiftKey","altKey","selectionStart","selectionEnd","inputValue","newValueStr","which","isNumeralChar","setAttribute","deleteChar","_this$getDecimalCharI","getDecimalCharIndexes","decimalCharIndex","decimalCharIndexWithoutPrefix","decimalLength","getDecimalLength","lastIndex","setSelectionRange","insertedText","isDecimalMode","updateValue","deleteRange","_deleteChar","_this$getDecimalCharI2","_decimalCharIndex","_decimalCharIndexWithoutPrefix","_decimalLength","$refs","input","$el","_insertedText","onKeyDown","code","_char","String","fromCharCode","isDecimalSign","isMinusSign","insert","data","clipboardData","window","getData","filteredData","allowMinusSign","min","_char2","_char3","val","search","filteredVal","getCharIndexes","minusCharIndex","suffixCharIndex","currencyCharIndex","sign","undefined","minusCharIndexOnText","_this$getCharIndexes","insertText","resolvedOptions","operation","charIndex","start","end","textSplit","initCursor","valueLength","prefixLength","_char4","_char5","resetRegex","valueStr","insertedValueStr","evaluateEmpty","allowEmpty","onChange","isValueChanged","originalEvent","parsedCurrentValue","max","inputEl","currentLength","concatValues","_selectionEnd","newLength","startValue","startValueStr","startExpr","sRegex","tExpr","tRegex","prevChar","nextChar","diff","isGroupChar","_selectionEnd2","updateInputValue","val1","val2","valueSplit","onValueChange","stopPropagation","id","_this3","persist","setState","onFocus","_this4","onBlur","clearInterval","isStacked","showButtons","buttonLayout","isHorizontal","isVertical","getInputMode","inputMode","getFormatter","updateInputRef","ref","componentDidMount","tooltip","renderTooltip","componentDidUpdate","prevProps","tooltipOptions","update","content","isOptionChanged","_this5","optionProps","some","option","componentWillUnmount","destroy","element","options","renderInputElement","className","inputClassName","valueToRender","createElement","inputId","inputStyle","role","defaultValue","type","size","tabIndex","maxLength","required","pattern","placeholder","autoFocus","onKeyPress","onClick","ariaLabelledBy","renderUpButton","incrementButtonClassName","icon","incrementButtonIcon","onMouseLeave","onMouseDown","onMouseUp","onKeyUp","renderDownButton","decrementButtonClassName","decrementButtonIcon","renderButtonGroup","upButton","downButton","Fragment","render","_this6","inputElement","buttonGroup","el"],"sources":["/Users/paolasanchez/Desktop/Pry4/Katoikia/katoikia-app/web-ui/sakai-react/node_modules/primereact/inputnumber/inputnumber.esm.js"],"sourcesContent":["import React, { createRef, Component } from 'react';\nimport { InputText } from 'primereact/inputtext';\nimport { classNames } from 'primereact/utils';\nimport { tip } from 'primereact/tooltip';\nimport { Ripple } from 'primereact/ripple';\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar InputNumber = /*#__PURE__*/function (_Component) {\n _inherits(InputNumber, _Component);\n\n var _super = _createSuper(InputNumber);\n\n function InputNumber(props) {\n var _this;\n\n _classCallCheck(this, InputNumber);\n\n _this = _super.call(this, props);\n _this.state = {\n focused: false\n };\n\n _this.constructParser();\n\n _this.onInput = _this.onInput.bind(_assertThisInitialized(_this));\n _this.onInputKeyDown = _this.onInputKeyDown.bind(_assertThisInitialized(_this));\n _this.onInputKeyPress = _this.onInputKeyPress.bind(_assertThisInitialized(_this));\n _this.onInputClick = _this.onInputClick.bind(_assertThisInitialized(_this));\n _this.onInputBlur = _this.onInputBlur.bind(_assertThisInitialized(_this));\n _this.onInputFocus = _this.onInputFocus.bind(_assertThisInitialized(_this));\n _this.onPaste = _this.onPaste.bind(_assertThisInitialized(_this));\n _this.onUpButtonMouseLeave = _this.onUpButtonMouseLeave.bind(_assertThisInitialized(_this));\n _this.onUpButtonMouseDown = _this.onUpButtonMouseDown.bind(_assertThisInitialized(_this));\n _this.onUpButtonMouseUp = _this.onUpButtonMouseUp.bind(_assertThisInitialized(_this));\n _this.onUpButtonKeyDown = _this.onUpButtonKeyDown.bind(_assertThisInitialized(_this));\n _this.onUpButtonKeyUp = _this.onUpButtonKeyUp.bind(_assertThisInitialized(_this));\n _this.onDownButtonMouseLeave = _this.onDownButtonMouseLeave.bind(_assertThisInitialized(_this));\n _this.onDownButtonMouseDown = _this.onDownButtonMouseDown.bind(_assertThisInitialized(_this));\n _this.onDownButtonMouseUp = _this.onDownButtonMouseUp.bind(_assertThisInitialized(_this));\n _this.onDownButtonKeyDown = _this.onDownButtonKeyDown.bind(_assertThisInitialized(_this));\n _this.onDownButtonKeyUp = _this.onDownButtonKeyUp.bind(_assertThisInitialized(_this));\n _this.inputRef = /*#__PURE__*/createRef(_this.props.inputRef);\n return _this;\n }\n\n _createClass(InputNumber, [{\n key: \"getOptions\",\n value: function getOptions() {\n return {\n localeMatcher: this.props.localeMatcher,\n style: this.props.mode,\n currency: this.props.currency,\n currencyDisplay: this.props.currencyDisplay,\n useGrouping: this.props.useGrouping,\n minimumFractionDigits: this.props.minFractionDigits,\n maximumFractionDigits: this.props.maxFractionDigits\n };\n }\n }, {\n key: \"constructParser\",\n value: function constructParser() {\n this.numberFormat = new Intl.NumberFormat(this.props.locale, this.getOptions());\n\n var numerals = _toConsumableArray(new Intl.NumberFormat(this.props.locale, {\n useGrouping: false\n }).format(9876543210)).reverse();\n\n var index = new Map(numerals.map(function (d, i) {\n return [d, i];\n }));\n this._numeral = new RegExp(\"[\".concat(numerals.join(''), \"]\"), 'g');\n this._group = this.getGroupingExpression();\n this._minusSign = this.getMinusSignExpression();\n this._currency = this.getCurrencyExpression();\n this._decimal = this.getDecimalExpression();\n this._suffix = this.getSuffixExpression();\n this._prefix = this.getPrefixExpression();\n\n this._index = function (d) {\n return index.get(d);\n };\n }\n }, {\n key: \"escapeRegExp\",\n value: function escapeRegExp(text) {\n return text.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n }\n }, {\n key: \"getDecimalExpression\",\n value: function getDecimalExpression() {\n var formatter = new Intl.NumberFormat(this.props.locale, _objectSpread(_objectSpread({}, this.getOptions()), {}, {\n useGrouping: false\n }));\n return new RegExp(\"[\".concat(formatter.format(1.1).replace(this._currency, '').trim().replace(this._numeral, ''), \"]\"), 'g');\n }\n }, {\n key: \"getGroupingExpression\",\n value: function getGroupingExpression() {\n var formatter = new Intl.NumberFormat(this.props.locale, {\n useGrouping: true\n });\n this.groupChar = formatter.format(1000000).trim().replace(this._numeral, '').charAt(0);\n return new RegExp(\"[\".concat(this.groupChar, \"]\"), 'g');\n }\n }, {\n key: \"getMinusSignExpression\",\n value: function getMinusSignExpression() {\n var formatter = new Intl.NumberFormat(this.props.locale, {\n useGrouping: false\n });\n return new RegExp(\"[\".concat(formatter.format(-1).trim().replace(this._numeral, ''), \"]\"), 'g');\n }\n }, {\n key: \"getCurrencyExpression\",\n value: function getCurrencyExpression() {\n if (this.props.currency) {\n var formatter = new Intl.NumberFormat(this.props.locale, {\n style: 'currency',\n currency: this.props.currency,\n currencyDisplay: this.props.currencyDisplay,\n minimumFractionDigits: 0,\n maximumFractionDigits: 0\n });\n return new RegExp(\"[\".concat(formatter.format(1).replace(/\\s/g, '').replace(this._numeral, '').replace(this._group, ''), \"]\"), 'g');\n }\n\n return new RegExp(\"[]\", 'g');\n }\n }, {\n key: \"getPrefixExpression\",\n value: function getPrefixExpression() {\n if (this.props.prefix) {\n this.prefixChar = this.props.prefix;\n } else {\n var formatter = new Intl.NumberFormat(this.props.locale, {\n style: this.props.mode,\n currency: this.props.currency,\n currencyDisplay: this.props.currencyDisplay\n });\n this.prefixChar = formatter.format(1).split('1')[0];\n }\n\n return new RegExp(\"\".concat(this.escapeRegExp(this.prefixChar || '')), 'g');\n }\n }, {\n key: \"getSuffixExpression\",\n value: function getSuffixExpression() {\n if (this.props.suffix) {\n this.suffixChar = this.props.suffix;\n } else {\n var formatter = new Intl.NumberFormat(this.props.locale, {\n style: this.props.mode,\n currency: this.props.currency,\n currencyDisplay: this.props.currencyDisplay,\n minimumFractionDigits: 0,\n maximumFractionDigits: 0\n });\n this.suffixChar = formatter.format(1).split('1')[1];\n }\n\n return new RegExp(\"\".concat(this.escapeRegExp(this.suffixChar || '')), 'g');\n }\n }, {\n key: \"formatValue\",\n value: function formatValue(value) {\n if (value != null) {\n if (value === '-') {\n // Minus sign\n return value;\n }\n\n if (this.props.format) {\n var formatter = new Intl.NumberFormat(this.props.locale, this.getOptions());\n var formattedValue = formatter.format(value);\n\n if (this.props.prefix) {\n formattedValue = this.props.prefix + formattedValue;\n }\n\n if (this.props.suffix) {\n formattedValue = formattedValue + this.props.suffix;\n }\n\n return formattedValue;\n }\n\n return value.toString();\n }\n\n return '';\n }\n }, {\n key: \"parseValue\",\n value: function parseValue(text) {\n var filteredText = text.replace(this._suffix, '').replace(this._prefix, '').trim().replace(/\\s/g, '').replace(this._currency, '').replace(this._group, '').replace(this._minusSign, '-').replace(this._decimal, '.').replace(this._numeral, this._index);\n\n if (filteredText) {\n if (filteredText === '-') // Minus sign\n return filteredText;\n var parsedValue = +filteredText;\n return isNaN(parsedValue) ? null : parsedValue;\n }\n\n return null;\n }\n }, {\n key: \"repeat\",\n value: function repeat(event, interval, dir) {\n var _this2 = this;\n\n var i = interval || 500;\n this.clearTimer();\n this.timer = setTimeout(function () {\n _this2.repeat(event, 40, dir);\n }, i);\n this.spin(event, dir);\n }\n }, {\n key: \"spin\",\n value: function spin(event, dir) {\n if (this.inputRef && this.inputRef.current) {\n var step = this.props.step * dir;\n var currentValue = this.parseValue(this.inputRef.current.value) || 0;\n var newValue = this.validateValue(currentValue + step);\n this.updateInput(newValue, null, 'spin');\n this.updateModel(event, newValue);\n this.handleOnChange(event, currentValue, newValue);\n }\n }\n }, {\n key: \"onUpButtonMouseDown\",\n value: function onUpButtonMouseDown(event) {\n if (!this.props.disabled && !this.props.readOnly) {\n this.inputRef.current.focus();\n this.repeat(event, null, 1);\n event.preventDefault();\n }\n }\n }, {\n key: \"onUpButtonMouseUp\",\n value: function onUpButtonMouseUp() {\n if (!this.props.disabled && !this.props.readOnly) {\n this.clearTimer();\n }\n }\n }, {\n key: \"onUpButtonMouseLeave\",\n value: function onUpButtonMouseLeave() {\n if (!this.props.disabled && !this.props.readOnly) {\n this.clearTimer();\n }\n }\n }, {\n key: \"onUpButtonKeyUp\",\n value: function onUpButtonKeyUp() {\n if (!this.props.disabled && !this.props.readOnly) {\n this.clearTimer();\n }\n }\n }, {\n key: \"onUpButtonKeyDown\",\n value: function onUpButtonKeyDown(event) {\n if (!this.props.disabled && !this.props.readOnly && (event.keyCode === 32 || event.keyCode === 13)) {\n this.repeat(event, null, 1);\n }\n }\n }, {\n key: \"onDownButtonMouseDown\",\n value: function onDownButtonMouseDown(event) {\n if (!this.props.disabled && !this.props.readOnly) {\n this.inputRef.current.focus();\n this.repeat(event, null, -1);\n event.preventDefault();\n }\n }\n }, {\n key: \"onDownButtonMouseUp\",\n value: function onDownButtonMouseUp() {\n if (!this.props.disabled && !this.props.readOnly) {\n this.clearTimer();\n }\n }\n }, {\n key: \"onDownButtonMouseLeave\",\n value: function onDownButtonMouseLeave() {\n if (!this.props.disabled && !this.props.readOnly) {\n this.clearTimer();\n }\n }\n }, {\n key: \"onDownButtonKeyUp\",\n value: function onDownButtonKeyUp() {\n if (!this.props.disabled && !this.props.readOnly) {\n this.clearTimer();\n }\n }\n }, {\n key: \"onDownButtonKeyDown\",\n value: function onDownButtonKeyDown(event) {\n if (!this.props.disabled && !this.props.readOnly && (event.keyCode === 32 || event.keyCode === 13)) {\n this.repeat(event, null, -1);\n }\n }\n }, {\n key: \"onInput\",\n value: function onInput(event) {\n if (this.props.disabled || this.props.readOnly) {\n return;\n }\n\n if (this.isSpecialChar) {\n event.target.value = this.lastValue;\n }\n\n this.isSpecialChar = false;\n }\n }, {\n key: \"onInputKeyDown\",\n value: function onInputKeyDown(event) {\n if (this.props.disabled || this.props.readOnly) {\n return;\n }\n\n this.lastValue = event.target.value;\n\n if (event.shiftKey || event.altKey) {\n this.isSpecialChar = true;\n return;\n }\n\n var selectionStart = event.target.selectionStart;\n var selectionEnd = event.target.selectionEnd;\n var inputValue = event.target.value;\n var newValueStr = null;\n\n if (event.altKey) {\n event.preventDefault();\n }\n\n switch (event.which) {\n //up\n case 38:\n this.spin(event, 1);\n event.preventDefault();\n break;\n //down\n\n case 40:\n this.spin(event, -1);\n event.preventDefault();\n break;\n //left\n\n case 37:\n if (!this.isNumeralChar(inputValue.charAt(selectionStart - 1))) {\n event.preventDefault();\n }\n\n break;\n //right\n\n case 39:\n if (!this.isNumeralChar(inputValue.charAt(selectionStart))) {\n event.preventDefault();\n }\n\n break;\n //enter\n\n case 13:\n newValueStr = this.validateValue(this.parseValue(inputValue));\n this.inputRef.current.value = this.formatValue(newValueStr);\n this.inputRef.current.setAttribute('aria-valuenow', newValueStr);\n this.updateModel(event, newValueStr);\n break;\n //backspace\n\n case 8:\n event.preventDefault();\n\n if (selectionStart === selectionEnd) {\n var deleteChar = inputValue.charAt(selectionStart - 1);\n\n var _this$getDecimalCharI = this.getDecimalCharIndexes(inputValue),\n decimalCharIndex = _this$getDecimalCharI.decimalCharIndex,\n decimalCharIndexWithoutPrefix = _this$getDecimalCharI.decimalCharIndexWithoutPrefix;\n\n if (this.isNumeralChar(deleteChar)) {\n var decimalLength = this.getDecimalLength(inputValue);\n\n if (this._group.test(deleteChar)) {\n this._group.lastIndex = 0;\n newValueStr = inputValue.slice(0, selectionStart - 2) + inputValue.slice(selectionStart - 1);\n } else if (this._decimal.test(deleteChar)) {\n this._decimal.lastIndex = 0;\n\n if (decimalLength) {\n this.inputRef.current.setSelectionRange(selectionStart - 1, selectionStart - 1);\n } else {\n newValueStr = inputValue.slice(0, selectionStart - 1) + inputValue.slice(selectionStart);\n }\n } else if (decimalCharIndex > 0 && selectionStart > decimalCharIndex) {\n var insertedText = this.isDecimalMode() && (this.props.minFractionDigits || 0) < decimalLength ? '' : '0';\n newValueStr = inputValue.slice(0, selectionStart - 1) + insertedText + inputValue.slice(selectionStart);\n } else if (decimalCharIndexWithoutPrefix === 1) {\n newValueStr = inputValue.slice(0, selectionStart - 1) + '0' + inputValue.slice(selectionStart);\n newValueStr = this.parseValue(newValueStr) > 0 ? newValueStr : '';\n } else {\n newValueStr = inputValue.slice(0, selectionStart - 1) + inputValue.slice(selectionStart);\n }\n }\n\n this.updateValue(event, newValueStr, null, 'delete-single');\n } else {\n newValueStr = this.deleteRange(inputValue, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, null, 'delete-range');\n }\n\n break;\n // del\n\n case 46:\n event.preventDefault();\n\n if (selectionStart === selectionEnd) {\n var _deleteChar = inputValue.charAt(selectionStart);\n\n var _this$getDecimalCharI2 = this.getDecimalCharIndexes(inputValue),\n _decimalCharIndex = _this$getDecimalCharI2.decimalCharIndex,\n _decimalCharIndexWithoutPrefix = _this$getDecimalCharI2.decimalCharIndexWithoutPrefix;\n\n if (this.isNumeralChar(_deleteChar)) {\n var _decimalLength = this.getDecimalLength(inputValue);\n\n if (this._group.test(_deleteChar)) {\n this._group.lastIndex = 0;\n newValueStr = inputValue.slice(0, selectionStart) + inputValue.slice(selectionStart + 2);\n } else if (this._decimal.test(_deleteChar)) {\n this._decimal.lastIndex = 0;\n\n if (_decimalLength) {\n this.$refs.input.$el.setSelectionRange(selectionStart + 1, selectionStart + 1);\n } else {\n newValueStr = inputValue.slice(0, selectionStart) + inputValue.slice(selectionStart + 1);\n }\n } else if (_decimalCharIndex > 0 && selectionStart > _decimalCharIndex) {\n var _insertedText = this.isDecimalMode() && (this.props.minFractionDigits || 0) < _decimalLength ? '' : '0';\n\n newValueStr = inputValue.slice(0, selectionStart) + _insertedText + inputValue.slice(selectionStart + 1);\n } else if (_decimalCharIndexWithoutPrefix === 1) {\n newValueStr = inputValue.slice(0, selectionStart) + '0' + inputValue.slice(selectionStart + 1);\n newValueStr = this.parseValue(newValueStr) > 0 ? newValueStr : '';\n } else {\n newValueStr = inputValue.slice(0, selectionStart) + inputValue.slice(selectionStart + 1);\n }\n }\n\n this.updateValue(event, newValueStr, null, 'delete-back-single');\n } else {\n newValueStr = this.deleteRange(inputValue, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, null, 'delete-range');\n }\n\n break;\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(event);\n }\n }\n }, {\n key: \"onInputKeyPress\",\n value: function onInputKeyPress(event) {\n if (this.props.disabled || this.props.readOnly) {\n return;\n }\n\n var code = event.which || event.keyCode;\n\n var _char = String.fromCharCode(code);\n\n var isDecimalSign = this.isDecimalSign(_char);\n var isMinusSign = this.isMinusSign(_char);\n\n if (48 <= code && code <= 57 || isMinusSign || isDecimalSign) {\n this.insert(event, _char, {\n isDecimalSign: isDecimalSign,\n isMinusSign: isMinusSign\n });\n event.preventDefault();\n }\n }\n }, {\n key: \"onPaste\",\n value: function onPaste(event) {\n event.preventDefault();\n\n if (this.props.disabled || this.props.readOnly) {\n return;\n }\n\n var data = (event.clipboardData || window['clipboardData']).getData('Text');\n\n if (data) {\n var filteredData = this.parseValue(data);\n\n if (filteredData != null) {\n this.insert(event, filteredData.toString());\n }\n }\n }\n }, {\n key: \"allowMinusSign\",\n value: function allowMinusSign() {\n return this.props.min === null || this.props.min < 0;\n }\n }, {\n key: \"isMinusSign\",\n value: function isMinusSign(_char2) {\n if (this._minusSign.test(_char2) || _char2 === '-') {\n this._minusSign.lastIndex = 0;\n return true;\n }\n\n return false;\n }\n }, {\n key: \"isDecimalSign\",\n value: function isDecimalSign(_char3) {\n if (this._decimal.test(_char3)) {\n this._decimal.lastIndex = 0;\n return true;\n }\n\n return false;\n }\n }, {\n key: \"isDecimalMode\",\n value: function isDecimalMode() {\n return this.props.mode === 'decimal';\n }\n }, {\n key: \"getDecimalCharIndexes\",\n value: function getDecimalCharIndexes(val) {\n var decimalCharIndex = val.search(this._decimal);\n this._decimal.lastIndex = 0;\n var filteredVal = val.replace(this._prefix, '').trim().replace(/\\s/g, '').replace(this._currency, '');\n var decimalCharIndexWithoutPrefix = filteredVal.search(this._decimal);\n this._decimal.lastIndex = 0;\n return {\n decimalCharIndex: decimalCharIndex,\n decimalCharIndexWithoutPrefix: decimalCharIndexWithoutPrefix\n };\n }\n }, {\n key: \"getCharIndexes\",\n value: function getCharIndexes(val) {\n var decimalCharIndex = val.search(this._decimal);\n this._decimal.lastIndex = 0;\n var minusCharIndex = val.search(this._minusSign);\n this._minusSign.lastIndex = 0;\n var suffixCharIndex = val.search(this._suffix);\n this._suffix.lastIndex = 0;\n var currencyCharIndex = val.search(this._currency);\n this._currency.lastIndex = 0;\n return {\n decimalCharIndex: decimalCharIndex,\n minusCharIndex: minusCharIndex,\n suffixCharIndex: suffixCharIndex,\n currencyCharIndex: currencyCharIndex\n };\n }\n }, {\n key: \"insert\",\n value: function insert(event, text) {\n var sign = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n isDecimalSign: false,\n isMinusSign: false\n };\n var minusCharIndexOnText = text.search(this._minusSign);\n this._minusSign.lastIndex = 0;\n\n if (!this.allowMinusSign() && minusCharIndexOnText !== -1) {\n return;\n }\n\n var selectionStart = this.inputRef.current.selectionStart;\n var selectionEnd = this.inputRef.current.selectionEnd;\n var inputValue = this.inputRef.current.value.trim();\n\n var _this$getCharIndexes = this.getCharIndexes(inputValue),\n decimalCharIndex = _this$getCharIndexes.decimalCharIndex,\n minusCharIndex = _this$getCharIndexes.minusCharIndex,\n suffixCharIndex = _this$getCharIndexes.suffixCharIndex,\n currencyCharIndex = _this$getCharIndexes.currencyCharIndex;\n\n var newValueStr;\n\n if (sign.isMinusSign) {\n if (selectionStart === 0) {\n newValueStr = inputValue;\n\n if (minusCharIndex === -1 || selectionEnd !== 0) {\n newValueStr = this.insertText(inputValue, text, 0, selectionEnd);\n }\n\n this.updateValue(event, newValueStr, text, 'insert');\n }\n } else if (sign.isDecimalSign) {\n if (decimalCharIndex > 0 && selectionStart === decimalCharIndex) {\n this.updateValue(event, inputValue, text, 'insert');\n } else if (decimalCharIndex > selectionStart && decimalCharIndex < selectionEnd) {\n newValueStr = this.insertText(inputValue, text, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, text, 'insert');\n } else if (decimalCharIndex === -1 && this.props.maxFractionDigits) {\n newValueStr = this.insertText(inputValue, text, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, text, 'insert');\n }\n } else {\n var maxFractionDigits = this.numberFormat.resolvedOptions().maximumFractionDigits;\n var operation = selectionStart !== selectionEnd ? 'range-insert' : 'insert';\n\n if (decimalCharIndex > 0 && selectionStart > decimalCharIndex) {\n if (selectionStart + text.length - (decimalCharIndex + 1) <= maxFractionDigits) {\n var charIndex = currencyCharIndex >= selectionStart ? currencyCharIndex - 1 : suffixCharIndex >= selectionStart ? suffixCharIndex : inputValue.length;\n newValueStr = inputValue.slice(0, selectionStart) + text + inputValue.slice(selectionStart + text.length, charIndex) + inputValue.slice(charIndex);\n this.updateValue(event, newValueStr, text, operation);\n }\n } else {\n newValueStr = this.insertText(inputValue, text, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, text, operation);\n }\n }\n }\n }, {\n key: \"insertText\",\n value: function insertText(value, text, start, end) {\n var textSplit = text === '.' ? text : text.split('.');\n\n if (textSplit.length === 2) {\n var decimalCharIndex = value.slice(start, end).search(this._decimal);\n this._decimal.lastIndex = 0;\n return decimalCharIndex > 0 ? value.slice(0, start) + this.formatValue(text) + value.slice(end) : value || this.formatValue(text);\n } else if (end - start === value.length) {\n return this.formatValue(text);\n } else if (start === 0) {\n return text + value.slice(end);\n } else if (end === value.length) {\n return value.slice(0, start) + text;\n } else {\n return value.slice(0, start) + text + value.slice(end);\n }\n }\n }, {\n key: \"deleteRange\",\n value: function deleteRange(value, start, end) {\n var newValueStr;\n if (end - start === value.length) newValueStr = '';else if (start === 0) newValueStr = value.slice(end);else if (end === value.length) newValueStr = value.slice(0, start);else newValueStr = value.slice(0, start) + value.slice(end);\n return newValueStr;\n }\n }, {\n key: \"initCursor\",\n value: function initCursor() {\n var selectionStart = this.inputRef.current.selectionStart;\n var inputValue = this.inputRef.current.value;\n var valueLength = inputValue.length;\n var index = null; // remove prefix\n\n var prefixLength = (this.prefixChar || '').length;\n inputValue = inputValue.replace(this._prefix, '');\n selectionStart = selectionStart - prefixLength;\n\n var _char4 = inputValue.charAt(selectionStart);\n\n if (this.isNumeralChar(_char4)) {\n return selectionStart + prefixLength;\n } //left\n\n\n var i = selectionStart - 1;\n\n while (i >= 0) {\n _char4 = inputValue.charAt(i);\n\n if (this.isNumeralChar(_char4)) {\n index = i + prefixLength;\n break;\n } else {\n i--;\n }\n }\n\n if (index !== null) {\n this.inputRef.current.setSelectionRange(index + 1, index + 1);\n } else {\n i = selectionStart;\n\n while (i < valueLength) {\n _char4 = inputValue.charAt(i);\n\n if (this.isNumeralChar(_char4)) {\n index = i + prefixLength;\n break;\n } else {\n i++;\n }\n }\n\n if (index !== null) {\n this.inputRef.current.setSelectionRange(index, index);\n }\n }\n\n return index || 0;\n }\n }, {\n key: \"onInputClick\",\n value: function onInputClick() {\n this.initCursor();\n }\n }, {\n key: \"isNumeralChar\",\n value: function isNumeralChar(_char5) {\n if (_char5.length === 1 && (this._numeral.test(_char5) || this._decimal.test(_char5) || this._group.test(_char5) || this._minusSign.test(_char5))) {\n this.resetRegex();\n return true;\n } else {\n return false;\n }\n }\n }, {\n key: \"resetRegex\",\n value: function resetRegex() {\n this._numeral.lastIndex = 0;\n this._decimal.lastIndex = 0;\n this._group.lastIndex = 0;\n this._minusSign.lastIndex = 0;\n }\n }, {\n key: \"updateValue\",\n value: function updateValue(event, valueStr, insertedValueStr, operation) {\n var currentValue = this.inputRef.current.value;\n var newValue = null;\n\n if (valueStr != null) {\n newValue = this.parseValue(valueStr);\n newValue = this.evaluateEmpty(newValue);\n this.updateInput(newValue, insertedValueStr, operation, valueStr);\n this.handleOnChange(event, currentValue, newValue);\n }\n }\n }, {\n key: \"evaluateEmpty\",\n value: function evaluateEmpty(newValue) {\n return !newValue && !this.props.allowEmpty ? this.props.min || 0 : newValue;\n }\n }, {\n key: \"handleOnChange\",\n value: function handleOnChange(event, currentValue, newValue) {\n if (this.props.onChange && this.isValueChanged(currentValue, newValue)) {\n this.props.onChange({\n originalEvent: event,\n value: newValue\n });\n }\n }\n }, {\n key: \"isValueChanged\",\n value: function isValueChanged(currentValue, newValue) {\n if (newValue === null && currentValue !== null) {\n return true;\n }\n\n if (newValue != null) {\n var parsedCurrentValue = typeof currentValue === 'string' ? this.parseValue(currentValue) : currentValue;\n return newValue !== parsedCurrentValue;\n }\n\n return false;\n }\n }, {\n key: \"validateValue\",\n value: function validateValue(value) {\n if (value === '-' || value == null) {\n return null;\n }\n\n if (this.props.min !== null && value < this.props.min) {\n return this.props.min;\n }\n\n if (this.props.max !== null && value > this.props.max) {\n return this.props.max;\n }\n\n return value;\n }\n }, {\n key: \"updateInput\",\n value: function updateInput(value, insertedValueStr, operation, valueStr) {\n insertedValueStr = insertedValueStr || '';\n var inputEl = this.inputRef.current;\n var inputValue = inputEl.value;\n var newValue = this.formatValue(value);\n var currentLength = inputValue.length;\n\n if (newValue !== valueStr) {\n newValue = this.concatValues(newValue, valueStr);\n }\n\n if (currentLength === 0) {\n inputEl.value = newValue;\n inputEl.setSelectionRange(0, 0);\n var index = this.initCursor();\n var selectionEnd = index + insertedValueStr.length;\n inputEl.setSelectionRange(selectionEnd, selectionEnd);\n } else {\n var selectionStart = inputEl.selectionStart;\n var _selectionEnd = inputEl.selectionEnd;\n inputEl.value = newValue;\n var newLength = newValue.length;\n\n if (operation === 'range-insert') {\n var startValue = this.parseValue((inputValue || '').slice(0, selectionStart));\n var startValueStr = startValue !== null ? startValue.toString() : '';\n var startExpr = startValueStr.split('').join(\"(\".concat(this.groupChar, \")?\"));\n var sRegex = new RegExp(startExpr, 'g');\n sRegex.test(newValue);\n var tExpr = insertedValueStr.split('').join(\"(\".concat(this.groupChar, \")?\"));\n var tRegex = new RegExp(tExpr, 'g');\n tRegex.test(newValue.slice(sRegex.lastIndex));\n _selectionEnd = sRegex.lastIndex + tRegex.lastIndex;\n inputEl.setSelectionRange(_selectionEnd, _selectionEnd);\n } else if (newLength === currentLength) {\n if (operation === 'insert' || operation === 'delete-back-single') inputEl.setSelectionRange(_selectionEnd + 1, _selectionEnd + 1);else if (operation === 'delete-single') inputEl.setSelectionRange(_selectionEnd - 1, _selectionEnd - 1);else if (operation === 'delete-range' || operation === 'spin') inputEl.setSelectionRange(_selectionEnd, _selectionEnd);\n } else if (operation === 'delete-back-single') {\n var prevChar = inputValue.charAt(_selectionEnd - 1);\n var nextChar = inputValue.charAt(_selectionEnd);\n var diff = currentLength - newLength;\n\n var isGroupChar = this._group.test(nextChar);\n\n if (isGroupChar && diff === 1) {\n _selectionEnd += 1;\n } else if (!isGroupChar && this.isNumeralChar(prevChar)) {\n _selectionEnd += -1 * diff + 1;\n }\n\n this._group.lastIndex = 0;\n inputEl.setSelectionRange(_selectionEnd, _selectionEnd);\n } else if (inputValue === '-' && operation === 'insert') {\n inputEl.setSelectionRange(0, 0);\n\n var _index = this.initCursor();\n\n var _selectionEnd2 = _index + insertedValueStr.length + 1;\n\n inputEl.setSelectionRange(_selectionEnd2, _selectionEnd2);\n } else {\n _selectionEnd = _selectionEnd + (newLength - currentLength);\n inputEl.setSelectionRange(_selectionEnd, _selectionEnd);\n }\n }\n\n inputEl.setAttribute('aria-valuenow', value);\n }\n }, {\n key: \"updateInputValue\",\n value: function updateInputValue(newValue) {\n newValue = this.evaluateEmpty(newValue);\n var inputEl = this.inputRef.current;\n var value = inputEl.value;\n var formattedValue = this.formattedValue(newValue);\n\n if (value !== formattedValue) {\n inputEl.value = formattedValue;\n inputEl.setAttribute('aria-valuenow', newValue);\n }\n }\n }, {\n key: \"formattedValue\",\n value: function formattedValue(val) {\n var newValue = this.evaluateEmpty(val);\n return this.formatValue(newValue);\n }\n }, {\n key: \"concatValues\",\n value: function concatValues(val1, val2) {\n if (val1 && val2) {\n var decimalCharIndex = val2.search(this._decimal);\n this._decimal.lastIndex = 0;\n return decimalCharIndex !== -1 ? val1.split(this._decimal)[0] + val2.slice(decimalCharIndex) : val1;\n }\n\n return val1;\n }\n }, {\n key: \"getDecimalLength\",\n value: function getDecimalLength(value) {\n if (value) {\n var valueSplit = value.split(this._decimal);\n\n if (valueSplit.length === 2) {\n return valueSplit[1].replace(this._suffix, '').trim().replace(/\\s/g, '').replace(this._currency, '').length;\n }\n }\n\n return 0;\n }\n }, {\n key: \"updateModel\",\n value: function updateModel(event, value) {\n if (this.props.onValueChange) {\n this.props.onValueChange({\n originalEvent: event,\n value: value,\n stopPropagation: function stopPropagation() {},\n preventDefault: function preventDefault() {},\n target: {\n name: this.props.name,\n id: this.props.id,\n value: value\n }\n });\n }\n }\n }, {\n key: \"onInputFocus\",\n value: function onInputFocus(event) {\n var _this3 = this;\n\n event.persist();\n this.setState({\n focused: true\n }, function () {\n if (_this3.props.onFocus) {\n _this3.props.onFocus(event);\n }\n });\n }\n }, {\n key: \"onInputBlur\",\n value: function onInputBlur(event) {\n var _this4 = this;\n\n event.persist();\n this.setState({\n focused: false\n }, function () {\n var currentValue = _this4.inputRef.current.value;\n\n if (_this4.isValueChanged(currentValue, _this4.props.value)) {\n var newValue = _this4.validateValue(_this4.parseValue(currentValue));\n\n _this4.updateInputValue(newValue);\n\n _this4.updateModel(event, newValue);\n }\n\n if (_this4.props.onBlur) {\n _this4.props.onBlur(event);\n }\n });\n }\n }, {\n key: \"clearTimer\",\n value: function clearTimer() {\n if (this.timer) {\n clearInterval(this.timer);\n }\n }\n }, {\n key: \"isStacked\",\n value: function isStacked() {\n return this.props.showButtons && this.props.buttonLayout === 'stacked';\n }\n }, {\n key: \"isHorizontal\",\n value: function isHorizontal() {\n return this.props.showButtons && this.props.buttonLayout === 'horizontal';\n }\n }, {\n key: \"isVertical\",\n value: function isVertical() {\n return this.props.showButtons && this.props.buttonLayout === 'vertical';\n }\n }, {\n key: \"getInputMode\",\n value: function getInputMode() {\n return this.props.inputMode || (this.props.mode === 'decimal' && !this.props.minFractionDigits ? 'numeric' : 'decimal');\n }\n }, {\n key: \"getFormatter\",\n value: function getFormatter() {\n return this.numberFormat;\n }\n }, {\n key: \"updateInputRef\",\n value: function updateInputRef() {\n var ref = this.props.inputRef;\n\n if (ref) {\n if (typeof ref === 'function') {\n ref(this.inputRef.current);\n } else {\n ref.current = this.inputRef.current;\n }\n }\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.updateInputRef();\n\n if (this.props.tooltip) {\n this.renderTooltip();\n }\n\n var newValue = this.validateValue(this.props.value);\n\n if (this.props.value !== null && this.props.value !== newValue) {\n this.updateModel(null, newValue);\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (prevProps.tooltip !== this.props.tooltip || prevProps.tooltipOptions !== this.props.tooltipOptions) {\n if (this.tooltip) this.tooltip.update(_objectSpread({\n content: this.props.tooltip\n }, this.props.tooltipOptions || {}));else this.renderTooltip();\n }\n\n var isOptionChanged = this.isOptionChanged(prevProps);\n\n if (isOptionChanged) {\n this.constructParser();\n }\n\n if (prevProps.value !== this.props.value || isOptionChanged) {\n var newValue = this.validateValue(this.props.value);\n this.updateInputValue(newValue);\n\n if (this.props.value !== null && this.props.value !== newValue) {\n this.updateModel(null, newValue);\n }\n }\n }\n }, {\n key: \"isOptionChanged\",\n value: function isOptionChanged(prevProps) {\n var _this5 = this;\n\n var optionProps = ['locale', 'localeMatcher', 'mode', 'currency', 'currencyDisplay', 'useGrouping', 'minFractionDigits', 'maxFractionDigits', 'suffix', 'prefix'];\n return optionProps.some(function (option) {\n return prevProps[option] !== _this5.props[option];\n });\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.tooltip) {\n this.tooltip.destroy();\n this.tooltip = null;\n }\n }\n }, {\n key: \"renderTooltip\",\n value: function renderTooltip() {\n this.tooltip = tip({\n target: this.element,\n content: this.props.tooltip,\n options: this.props.tooltipOptions\n });\n }\n }, {\n key: \"renderInputElement\",\n value: function renderInputElement() {\n var className = classNames('p-inputnumber-input', this.props.inputClassName);\n var valueToRender = this.formattedValue(this.props.value);\n return /*#__PURE__*/React.createElement(InputText, {\n ref: this.inputRef,\n id: this.props.inputId,\n style: this.props.inputStyle,\n role: \"spinbutton\",\n className: className,\n defaultValue: valueToRender,\n type: this.props.type,\n size: this.props.size,\n tabIndex: this.props.tabIndex,\n inputMode: this.getInputMode(),\n maxLength: this.props.maxLength,\n disabled: this.props.disabled,\n required: this.props.required,\n pattern: this.props.pattern,\n placeholder: this.props.placeholder,\n readOnly: this.props.readOnly,\n name: this.props.name,\n autoFocus: this.props.autoFocus,\n onKeyDown: this.onInputKeyDown,\n onKeyPress: this.onInputKeyPress,\n onInput: this.onInput,\n onClick: this.onInputClick,\n onBlur: this.onInputBlur,\n onFocus: this.onInputFocus,\n onPaste: this.onPaste,\n min: this.props.min,\n max: this.props.max,\n \"aria-valuemin\": this.props.min,\n \"aria-valuemax\": this.props.max,\n \"aria-valuenow\": this.props.value,\n \"aria-labelledby\": this.props.ariaLabelledBy\n });\n }\n }, {\n key: \"renderUpButton\",\n value: function renderUpButton() {\n var className = classNames('p-inputnumber-button p-inputnumber-button-up p-button p-button-icon-only p-component', {\n 'p-disabled': this.props.disabled\n }, this.props.incrementButtonClassName);\n var icon = classNames('p-button-icon', this.props.incrementButtonIcon);\n return /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: className,\n onMouseLeave: this.onUpButtonMouseLeave,\n onMouseDown: this.onUpButtonMouseDown,\n onMouseUp: this.onUpButtonMouseUp,\n onKeyDown: this.onUpButtonKeyDown,\n onKeyUp: this.onUpButtonKeyUp,\n disabled: this.props.disabled,\n tabIndex: -1\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: icon\n }), /*#__PURE__*/React.createElement(Ripple, null));\n }\n }, {\n key: \"renderDownButton\",\n value: function renderDownButton() {\n var className = classNames('p-inputnumber-button p-inputnumber-button-down p-button p-button-icon-only p-component', {\n 'p-disabled': this.props.disabled\n }, this.props.decrementButtonClassName);\n var icon = classNames('p-button-icon', this.props.decrementButtonIcon);\n return /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: className,\n onMouseLeave: this.onDownButtonMouseLeave,\n onMouseDown: this.onDownButtonMouseDown,\n onMouseUp: this.onDownButtonMouseUp,\n onKeyDown: this.onDownButtonKeyDown,\n onKeyUp: this.onDownButtonKeyUp,\n disabled: this.props.disabled,\n tabIndex: -1\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: icon\n }), /*#__PURE__*/React.createElement(Ripple, null));\n }\n }, {\n key: \"renderButtonGroup\",\n value: function renderButtonGroup() {\n var upButton = this.props.showButtons && this.renderUpButton();\n var downButton = this.props.showButtons && this.renderDownButton();\n\n if (this.isStacked()) {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"p-inputnumber-button-group\"\n }, upButton, downButton);\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, upButton, downButton);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this6 = this;\n\n var className = classNames('p-inputnumber p-component p-inputwrapper', this.props.className, {\n 'p-inputwrapper-filled': this.props.value != null && this.props.value.toString().length > 0,\n 'p-inputwrapper-focus': this.state.focused,\n 'p-inputnumber-buttons-stacked': this.isStacked(),\n 'p-inputnumber-buttons-horizontal': this.isHorizontal(),\n 'p-inputnumber-buttons-vertical': this.isVertical()\n });\n var inputElement = this.renderInputElement();\n var buttonGroup = this.renderButtonGroup();\n return /*#__PURE__*/React.createElement(\"span\", {\n ref: function ref(el) {\n return _this6.element = el;\n },\n id: this.props.id,\n className: className,\n style: this.props.style\n }, inputElement, buttonGroup);\n }\n }]);\n\n return InputNumber;\n}(Component);\n\n_defineProperty(InputNumber, \"defaultProps\", {\n value: null,\n inputRef: null,\n format: true,\n showButtons: false,\n buttonLayout: 'stacked',\n incrementButtonClassName: null,\n decrementButtonClassName: null,\n incrementButtonIcon: 'pi pi-angle-up',\n decrementButtonIcon: 'pi pi-angle-down',\n locale: undefined,\n localeMatcher: undefined,\n mode: 'decimal',\n suffix: null,\n prefix: null,\n currency: undefined,\n currencyDisplay: undefined,\n useGrouping: true,\n minFractionDigits: undefined,\n maxFractionDigits: undefined,\n id: null,\n name: null,\n type: 'text',\n allowEmpty: true,\n step: 1,\n min: null,\n max: null,\n disabled: false,\n required: false,\n tabIndex: null,\n pattern: null,\n inputMode: null,\n placeholder: null,\n readOnly: false,\n size: null,\n style: null,\n className: null,\n inputId: null,\n autoFocus: false,\n inputStyle: null,\n inputClassName: null,\n tooltip: null,\n tooltipOptions: null,\n ariaLabelledBy: null,\n onValueChange: null,\n onChange: null,\n onBlur: null,\n onFocus: null,\n onKeyDown: null\n});\n\nexport { InputNumber };\n"],"mappings":"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"},"metadata":{},"sourceType":"module"}