rsuite 5.6.5 → 5.6.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [5.6.6](https://github.com/rsuite/rsuite/compare/v5.6.5...v5.6.6) (2022-03-24)
2
+
3
+ ### Bug Fixes
4
+
5
+ - **InputNumber:** make plus/minus buttons unfocusable ([#2398](https://github.com/rsuite/rsuite/issues/2398)) ([ab4c721](https://github.com/rsuite/rsuite/commit/ab4c7218f20fd6aa6f4bad7818d403a3b6fd68df))
6
+ - **Uploader:** expose missing public types ([#2404](https://github.com/rsuite/rsuite/issues/2404)) ([5b1791f](https://github.com/rsuite/rsuite/commit/5b1791f0f0b23a230d03772178e9069bc16c8aa9))
7
+
1
8
  ## [5.6.5](https://github.com/rsuite/rsuite/compare/v5.6.4...v5.6.5) (2022-03-17)
2
9
 
3
10
  ### Features
@@ -288,11 +288,13 @@ var InputNumber = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
288
288
  }), prefixElement && /*#__PURE__*/_react.default.createElement(_InputGroupAddon.default, null, prefixElement), input, /*#__PURE__*/_react.default.createElement("span", {
289
289
  className: prefix('btn-group-vertical')
290
290
  }, /*#__PURE__*/_react.default.createElement(_Button.default, {
291
+ tabIndex: -1,
291
292
  appearance: buttonAppearance,
292
293
  className: prefix('touchspin-up'),
293
294
  onClick: handlePlus,
294
295
  disabled: disabledUpButton || disabled || readOnly
295
296
  }, /*#__PURE__*/_react.default.createElement(_AngleUp.default, null)), /*#__PURE__*/_react.default.createElement(_Button.default, {
297
+ tabIndex: -1,
296
298
  appearance: buttonAppearance,
297
299
  className: prefix('touchspin-down'),
298
300
  onClick: handleMinus,
@@ -1,3 +1,3 @@
1
1
  import Uploader from './Uploader';
2
- export type { UploaderProps } from './Uploader';
2
+ export type { UploaderProps, FileStatusType, FileType } from './Uploader';
3
3
  export default Uploader;
package/dist/rsuite.js CHANGED
@@ -2925,7 +2925,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
2925
2925
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2926
2926
 
2927
2927
  "use strict";
2928
- eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _AngleUp = _interopRequireDefault(__webpack_require__(/*! @rsuite/icons/legacy/AngleUp */ \"./node_modules/@rsuite/icons/legacy/AngleUp.js\"));\n\nvar _AngleDown = _interopRequireDefault(__webpack_require__(/*! @rsuite/icons/legacy/AngleDown */ \"./node_modules/@rsuite/icons/legacy/AngleDown.js\"));\n\nvar _on = _interopRequireDefault(__webpack_require__(/*! dom-lib/on */ \"./node_modules/dom-lib/esm/on.js\"));\n\nvar _InputGroup = _interopRequireDefault(__webpack_require__(/*! ../InputGroup/InputGroup */ \"./src/InputGroup/InputGroup.tsx\"));\n\nvar _InputGroupAddon = _interopRequireDefault(__webpack_require__(/*! ../InputGroup/InputGroupAddon */ \"./src/InputGroup/InputGroupAddon.tsx\"));\n\nvar _Input = _interopRequireDefault(__webpack_require__(/*! ../Input */ \"./src/Input/index.tsx\"));\n\nvar _Button = _interopRequireDefault(__webpack_require__(/*! ../Button */ \"./src/Button/index.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/InputNumber/InputNumber.tsx\",\n _this = void 0;\n\n/**\n * Check if the value is a number.\n * @param value\n */\nvar isNumber = function isNumber(value) {\n return /(^-?|^\\+?|^\\d?)\\d*\\.\\d+$/.test(value + '');\n};\n/**\n * Get the length of the decimal.\n * @param value\n */\n\n\nfunction getDecimalLength(value) {\n if (isNumber(value)) {\n return value.toString().split('.')[1].length;\n }\n\n return 0;\n}\n/**\n * Get the value after the decimal point.\n * @param values\n */\n\n\nfunction decimals() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n var lengths = values.map(getDecimalLength);\n return Math.max.apply(Math, lengths);\n}\n/**\n * Disable the upper limit of the number.\n * @param value\n * @param max\n */\n\n\nfunction disableMaxValue(value, max) {\n if (!(0, _isNil.default)(value)) {\n return +value >= max;\n }\n\n return false;\n}\n/**\n * Disable the lower limit of the number.\n * @param value\n * @param min\n */\n\n\nfunction disableMinValue(value, min) {\n if (!(0, _isNil.default)(value)) {\n return +value <= min;\n }\n\n return false;\n}\n\nvar InputNumber = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? _InputGroup.default : _props$as,\n className = props.className,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'input-number' : _props$classPrefix,\n disabled = props.disabled,\n readOnly = props.readOnly,\n plaintext = props.plaintext,\n valueProp = props.value,\n defaultValue = props.defaultValue,\n size = props.size,\n prefixElement = props.prefix,\n postfix = props.postfix,\n _props$step = props.step,\n step = _props$step === void 0 ? 1 : _props$step,\n _props$buttonAppearan = props.buttonAppearance,\n buttonAppearance = _props$buttonAppearan === void 0 ? 'subtle' : _props$buttonAppearan,\n minProp = props.min,\n maxProp = props.max,\n _props$scrollable = props.scrollable,\n scrollable = _props$scrollable === void 0 ? true : _props$scrollable,\n onChange = props.onChange,\n onWheel = props.onWheel,\n restProps = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"className\", \"classPrefix\", \"disabled\", \"readOnly\", \"plaintext\", \"value\", \"defaultValue\", \"size\", \"prefix\", \"postfix\", \"step\", \"buttonAppearance\", \"min\", \"max\", \"scrollable\", \"onChange\", \"onWheel\"]);\n var min = minProp !== null && minProp !== void 0 ? minProp : -Infinity;\n var max = maxProp !== null && maxProp !== void 0 ? maxProp : Infinity;\n\n var _useControlled = (0, _utils.useControlled)(valueProp, defaultValue),\n value = _useControlled[0],\n setValue = _useControlled[1];\n\n var _useState = (0, _react.useState)(function () {\n return disableMaxValue(value, max);\n }),\n disabledUpButton = _useState[0],\n setDisabledUpButton = _useState[1];\n\n var _useState2 = (0, _react.useState)(function () {\n return disableMinValue(value, min);\n }),\n disabledDownButton = _useState2[0],\n setDisabledDownButton = _useState2[1];\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n withClassPrefix = _useClassNames.withClassPrefix,\n merge = _useClassNames.merge,\n prefix = _useClassNames.prefix;\n\n var classes = merge(className, withClassPrefix());\n\n var _partitionHTMLProps = (0, _utils.partitionHTMLProps)(restProps),\n htmlInputProps = _partitionHTMLProps[0],\n rest = _partitionHTMLProps[1];\n\n var inputRef = (0, _react.useRef)();\n var handleChangeValue = (0, _react.useCallback)(function (currentValue, event) {\n if (currentValue !== value) {\n // Disable the up button when the value is greater than the maximum value.\n setDisabledUpButton(disableMaxValue(currentValue, max)); // Disable the down button when the value is greater than the minimum value.\n\n setDisabledDownButton(disableMinValue(currentValue, min));\n setValue(currentValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(currentValue, event);\n }\n }, [max, min, onChange, setValue, value]);\n var getSafeValue = (0, _react.useCallback)(function (value) {\n if (!Number.isNaN(value)) {\n if (+value > max) {\n value = max;\n }\n\n if (+value < min) {\n value = min;\n }\n } else {\n value = '';\n }\n\n return value.toString();\n }, [max, min]);\n var handlePlus = (0, _react.useCallback)(function (event) {\n var val = +(value || 0);\n var bit = decimals(val, step);\n handleChangeValue(getSafeValue((val + step).toFixed(bit)), event);\n }, [getSafeValue, handleChangeValue, step, value]);\n var handleMinus = (0, _react.useCallback)(function (event) {\n var val = +(value || 0);\n var bit = decimals(val, step);\n handleChangeValue(getSafeValue((val - step).toFixed(bit)), event);\n }, [getSafeValue, handleChangeValue, step, value]);\n var handleKeyDown = (0, _react.useCallback)(function (event) {\n switch (event.key) {\n case _utils.KEY_VALUES.UP:\n event.preventDefault();\n handlePlus(event);\n break;\n\n case _utils.KEY_VALUES.DOWN:\n event.preventDefault();\n handleMinus(event);\n break;\n\n case _utils.KEY_VALUES.HOME:\n if (typeof minProp !== 'undefined') {\n event.preventDefault();\n handleChangeValue(getSafeValue(minProp), event);\n }\n\n break;\n\n case _utils.KEY_VALUES.END:\n if (typeof maxProp !== 'undefined') {\n event.preventDefault();\n handleChangeValue(getSafeValue(maxProp), event);\n }\n\n break;\n }\n }, [handlePlus, handleMinus, minProp, maxProp, handleChangeValue, getSafeValue]);\n var handleWheel = (0, _react.useCallback)(function (event) {\n if (!disabled && !readOnly && event.target === document.activeElement) {\n event.preventDefault();\n var delta = event['wheelDelta'] || -event.deltaY || -(event === null || event === void 0 ? void 0 : event.detail);\n\n if (delta > 0) {\n handleMinus(event);\n }\n\n if (delta < 0) {\n handlePlus(event);\n }\n }\n\n onWheel === null || onWheel === void 0 ? void 0 : onWheel(event);\n }, [disabled, handleMinus, handlePlus, onWheel, readOnly]);\n var handleChange = (0, _react.useCallback)(function (value, event) {\n if (!/^-?(?:\\d+)?(\\.)?\\d*$/.test(value) && value !== '') {\n return;\n }\n\n handleChangeValue(value, event);\n }, [handleChangeValue]);\n var handleBlur = (0, _react.useCallback)(function (event) {\n var _event$target;\n\n var targetValue = Number.parseFloat((_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.value);\n handleChangeValue(getSafeValue(targetValue), event);\n }, [getSafeValue, handleChangeValue]);\n (0, _react.useEffect)(function () {\n var wheelListener;\n\n if (inputRef.current && scrollable) {\n wheelListener = (0, _on.default)(inputRef.current, 'wheel', handleWheel, {\n passive: false\n });\n }\n\n return function () {\n var _wheelListener;\n\n (_wheelListener = wheelListener) === null || _wheelListener === void 0 ? void 0 : _wheelListener.off();\n };\n }, [handleWheel, scrollable]);\n\n var input = /*#__PURE__*/_react.default.createElement(_Input.default, (0, _extends2.default)({}, htmlInputProps, {\n type: \"number\",\n autoComplete: \"off\",\n step: step,\n inputRef: inputRef,\n onChange: handleChange,\n onBlur: (0, _utils.createChainedFunction)(handleBlur, htmlInputProps === null || htmlInputProps === void 0 ? void 0 : htmlInputProps.onBlur),\n value: (0, _isNil.default)(value) ? '' : \"\" + value,\n disabled: disabled,\n readOnly: readOnly,\n plaintext: plaintext,\n ref: plaintext ? ref : undefined,\n onKeyDown: handleKeyDown,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 276,\n columnNumber: 5\n }\n }));\n\n if (plaintext) {\n return input;\n }\n\n return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {\n ref: ref,\n className: classes,\n disabled: disabled,\n size: size,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 298,\n columnNumber: 5\n }\n }), prefixElement && /*#__PURE__*/_react.default.createElement(_InputGroupAddon.default, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 299,\n columnNumber: 25\n }\n }, prefixElement), input, /*#__PURE__*/_react.default.createElement(\"span\", {\n className: prefix('btn-group-vertical'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 301,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_Button.default, {\n appearance: buttonAppearance,\n className: prefix('touchspin-up'),\n onClick: handlePlus,\n disabled: disabledUpButton || disabled || readOnly,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 302,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_AngleUp.default, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 308,\n columnNumber: 11\n }\n })), /*#__PURE__*/_react.default.createElement(_Button.default, {\n appearance: buttonAppearance,\n className: prefix('touchspin-down'),\n onClick: handleMinus,\n disabled: disabledDownButton || disabled || readOnly,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 310,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_AngleDown.default, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 316,\n columnNumber: 11\n }\n }))), postfix && /*#__PURE__*/_react.default.createElement(_InputGroupAddon.default, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 319,\n columnNumber: 19\n }\n }, postfix));\n});\n\nInputNumber.displayName = 'InputNumber';\nInputNumber.propTypes = {\n className: _propTypes.default.string,\n classPrefix: _propTypes.default.string,\n min: _propTypes.default.number,\n max: _propTypes.default.number,\n step: _propTypes.default.number,\n value: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n defaultValue: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n prefix: _propTypes.default.node,\n postfix: _propTypes.default.node,\n disabled: _propTypes.default.bool,\n readOnly: _propTypes.default.bool,\n plaintext: _propTypes.default.bool,\n scrollable: _propTypes.default.bool,\n size: _propTypes.default.oneOf(['lg', 'md', 'sm', 'xs']),\n buttonAppearance: _propTypes.default.oneOf(['default', 'primary', 'link', 'subtle', 'ghost']),\n onWheel: _propTypes.default.func,\n onChange: _propTypes.default.func\n};\nvar _default = InputNumber;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/InputNumber/InputNumber.tsx?");
2928
+ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _AngleUp = _interopRequireDefault(__webpack_require__(/*! @rsuite/icons/legacy/AngleUp */ \"./node_modules/@rsuite/icons/legacy/AngleUp.js\"));\n\nvar _AngleDown = _interopRequireDefault(__webpack_require__(/*! @rsuite/icons/legacy/AngleDown */ \"./node_modules/@rsuite/icons/legacy/AngleDown.js\"));\n\nvar _on = _interopRequireDefault(__webpack_require__(/*! dom-lib/on */ \"./node_modules/dom-lib/esm/on.js\"));\n\nvar _InputGroup = _interopRequireDefault(__webpack_require__(/*! ../InputGroup/InputGroup */ \"./src/InputGroup/InputGroup.tsx\"));\n\nvar _InputGroupAddon = _interopRequireDefault(__webpack_require__(/*! ../InputGroup/InputGroupAddon */ \"./src/InputGroup/InputGroupAddon.tsx\"));\n\nvar _Input = _interopRequireDefault(__webpack_require__(/*! ../Input */ \"./src/Input/index.tsx\"));\n\nvar _Button = _interopRequireDefault(__webpack_require__(/*! ../Button */ \"./src/Button/index.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/InputNumber/InputNumber.tsx\",\n _this = void 0;\n\n/**\n * Check if the value is a number.\n * @param value\n */\nvar isNumber = function isNumber(value) {\n return /(^-?|^\\+?|^\\d?)\\d*\\.\\d+$/.test(value + '');\n};\n/**\n * Get the length of the decimal.\n * @param value\n */\n\n\nfunction getDecimalLength(value) {\n if (isNumber(value)) {\n return value.toString().split('.')[1].length;\n }\n\n return 0;\n}\n/**\n * Get the value after the decimal point.\n * @param values\n */\n\n\nfunction decimals() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n var lengths = values.map(getDecimalLength);\n return Math.max.apply(Math, lengths);\n}\n/**\n * Disable the upper limit of the number.\n * @param value\n * @param max\n */\n\n\nfunction disableMaxValue(value, max) {\n if (!(0, _isNil.default)(value)) {\n return +value >= max;\n }\n\n return false;\n}\n/**\n * Disable the lower limit of the number.\n * @param value\n * @param min\n */\n\n\nfunction disableMinValue(value, min) {\n if (!(0, _isNil.default)(value)) {\n return +value <= min;\n }\n\n return false;\n}\n\nvar InputNumber = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? _InputGroup.default : _props$as,\n className = props.className,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'input-number' : _props$classPrefix,\n disabled = props.disabled,\n readOnly = props.readOnly,\n plaintext = props.plaintext,\n valueProp = props.value,\n defaultValue = props.defaultValue,\n size = props.size,\n prefixElement = props.prefix,\n postfix = props.postfix,\n _props$step = props.step,\n step = _props$step === void 0 ? 1 : _props$step,\n _props$buttonAppearan = props.buttonAppearance,\n buttonAppearance = _props$buttonAppearan === void 0 ? 'subtle' : _props$buttonAppearan,\n minProp = props.min,\n maxProp = props.max,\n _props$scrollable = props.scrollable,\n scrollable = _props$scrollable === void 0 ? true : _props$scrollable,\n onChange = props.onChange,\n onWheel = props.onWheel,\n restProps = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"className\", \"classPrefix\", \"disabled\", \"readOnly\", \"plaintext\", \"value\", \"defaultValue\", \"size\", \"prefix\", \"postfix\", \"step\", \"buttonAppearance\", \"min\", \"max\", \"scrollable\", \"onChange\", \"onWheel\"]);\n var min = minProp !== null && minProp !== void 0 ? minProp : -Infinity;\n var max = maxProp !== null && maxProp !== void 0 ? maxProp : Infinity;\n\n var _useControlled = (0, _utils.useControlled)(valueProp, defaultValue),\n value = _useControlled[0],\n setValue = _useControlled[1];\n\n var _useState = (0, _react.useState)(function () {\n return disableMaxValue(value, max);\n }),\n disabledUpButton = _useState[0],\n setDisabledUpButton = _useState[1];\n\n var _useState2 = (0, _react.useState)(function () {\n return disableMinValue(value, min);\n }),\n disabledDownButton = _useState2[0],\n setDisabledDownButton = _useState2[1];\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n withClassPrefix = _useClassNames.withClassPrefix,\n merge = _useClassNames.merge,\n prefix = _useClassNames.prefix;\n\n var classes = merge(className, withClassPrefix());\n\n var _partitionHTMLProps = (0, _utils.partitionHTMLProps)(restProps),\n htmlInputProps = _partitionHTMLProps[0],\n rest = _partitionHTMLProps[1];\n\n var inputRef = (0, _react.useRef)();\n var handleChangeValue = (0, _react.useCallback)(function (currentValue, event) {\n if (currentValue !== value) {\n // Disable the up button when the value is greater than the maximum value.\n setDisabledUpButton(disableMaxValue(currentValue, max)); // Disable the down button when the value is greater than the minimum value.\n\n setDisabledDownButton(disableMinValue(currentValue, min));\n setValue(currentValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(currentValue, event);\n }\n }, [max, min, onChange, setValue, value]);\n var getSafeValue = (0, _react.useCallback)(function (value) {\n if (!Number.isNaN(value)) {\n if (+value > max) {\n value = max;\n }\n\n if (+value < min) {\n value = min;\n }\n } else {\n value = '';\n }\n\n return value.toString();\n }, [max, min]);\n var handlePlus = (0, _react.useCallback)(function (event) {\n var val = +(value || 0);\n var bit = decimals(val, step);\n handleChangeValue(getSafeValue((val + step).toFixed(bit)), event);\n }, [getSafeValue, handleChangeValue, step, value]);\n var handleMinus = (0, _react.useCallback)(function (event) {\n var val = +(value || 0);\n var bit = decimals(val, step);\n handleChangeValue(getSafeValue((val - step).toFixed(bit)), event);\n }, [getSafeValue, handleChangeValue, step, value]);\n var handleKeyDown = (0, _react.useCallback)(function (event) {\n switch (event.key) {\n case _utils.KEY_VALUES.UP:\n event.preventDefault();\n handlePlus(event);\n break;\n\n case _utils.KEY_VALUES.DOWN:\n event.preventDefault();\n handleMinus(event);\n break;\n\n case _utils.KEY_VALUES.HOME:\n if (typeof minProp !== 'undefined') {\n event.preventDefault();\n handleChangeValue(getSafeValue(minProp), event);\n }\n\n break;\n\n case _utils.KEY_VALUES.END:\n if (typeof maxProp !== 'undefined') {\n event.preventDefault();\n handleChangeValue(getSafeValue(maxProp), event);\n }\n\n break;\n }\n }, [handlePlus, handleMinus, minProp, maxProp, handleChangeValue, getSafeValue]);\n var handleWheel = (0, _react.useCallback)(function (event) {\n if (!disabled && !readOnly && event.target === document.activeElement) {\n event.preventDefault();\n var delta = event['wheelDelta'] || -event.deltaY || -(event === null || event === void 0 ? void 0 : event.detail);\n\n if (delta > 0) {\n handleMinus(event);\n }\n\n if (delta < 0) {\n handlePlus(event);\n }\n }\n\n onWheel === null || onWheel === void 0 ? void 0 : onWheel(event);\n }, [disabled, handleMinus, handlePlus, onWheel, readOnly]);\n var handleChange = (0, _react.useCallback)(function (value, event) {\n if (!/^-?(?:\\d+)?(\\.)?\\d*$/.test(value) && value !== '') {\n return;\n }\n\n handleChangeValue(value, event);\n }, [handleChangeValue]);\n var handleBlur = (0, _react.useCallback)(function (event) {\n var _event$target;\n\n var targetValue = Number.parseFloat((_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.value);\n handleChangeValue(getSafeValue(targetValue), event);\n }, [getSafeValue, handleChangeValue]);\n (0, _react.useEffect)(function () {\n var wheelListener;\n\n if (inputRef.current && scrollable) {\n wheelListener = (0, _on.default)(inputRef.current, 'wheel', handleWheel, {\n passive: false\n });\n }\n\n return function () {\n var _wheelListener;\n\n (_wheelListener = wheelListener) === null || _wheelListener === void 0 ? void 0 : _wheelListener.off();\n };\n }, [handleWheel, scrollable]);\n\n var input = /*#__PURE__*/_react.default.createElement(_Input.default, (0, _extends2.default)({}, htmlInputProps, {\n type: \"number\",\n autoComplete: \"off\",\n step: step,\n inputRef: inputRef,\n onChange: handleChange,\n onBlur: (0, _utils.createChainedFunction)(handleBlur, htmlInputProps === null || htmlInputProps === void 0 ? void 0 : htmlInputProps.onBlur),\n value: (0, _isNil.default)(value) ? '' : \"\" + value,\n disabled: disabled,\n readOnly: readOnly,\n plaintext: plaintext,\n ref: plaintext ? ref : undefined,\n onKeyDown: handleKeyDown,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 276,\n columnNumber: 5\n }\n }));\n\n if (plaintext) {\n return input;\n }\n\n return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {\n ref: ref,\n className: classes,\n disabled: disabled,\n size: size,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 298,\n columnNumber: 5\n }\n }), prefixElement && /*#__PURE__*/_react.default.createElement(_InputGroupAddon.default, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 299,\n columnNumber: 25\n }\n }, prefixElement), input, /*#__PURE__*/_react.default.createElement(\"span\", {\n className: prefix('btn-group-vertical'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 301,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_Button.default, {\n tabIndex: -1,\n appearance: buttonAppearance,\n className: prefix('touchspin-up'),\n onClick: handlePlus,\n disabled: disabledUpButton || disabled || readOnly,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 302,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_AngleUp.default, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 309,\n columnNumber: 11\n }\n })), /*#__PURE__*/_react.default.createElement(_Button.default, {\n tabIndex: -1,\n appearance: buttonAppearance,\n className: prefix('touchspin-down'),\n onClick: handleMinus,\n disabled: disabledDownButton || disabled || readOnly,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 311,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_AngleDown.default, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 318,\n columnNumber: 11\n }\n }))), postfix && /*#__PURE__*/_react.default.createElement(_InputGroupAddon.default, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 321,\n columnNumber: 19\n }\n }, postfix));\n});\n\nInputNumber.displayName = 'InputNumber';\nInputNumber.propTypes = {\n className: _propTypes.default.string,\n classPrefix: _propTypes.default.string,\n min: _propTypes.default.number,\n max: _propTypes.default.number,\n step: _propTypes.default.number,\n value: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n defaultValue: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n prefix: _propTypes.default.node,\n postfix: _propTypes.default.node,\n disabled: _propTypes.default.bool,\n readOnly: _propTypes.default.bool,\n plaintext: _propTypes.default.bool,\n scrollable: _propTypes.default.bool,\n size: _propTypes.default.oneOf(['lg', 'md', 'sm', 'xs']),\n buttonAppearance: _propTypes.default.oneOf(['default', 'primary', 'link', 'subtle', 'ghost']),\n onWheel: _propTypes.default.func,\n onChange: _propTypes.default.func\n};\nvar _default = InputNumber;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/InputNumber/InputNumber.tsx?");
2929
2929
 
2930
2930
  /***/ }),
2931
2931