rc-input-number
Advanced tools
Comparing version 7.3.5 to 7.3.6
@@ -1,5 +0,5 @@ | ||
declare const _default: () => (callback: () => void) => void; | ||
/** | ||
* Always trigger latest once when call multiple time | ||
*/ | ||
declare const _default: () => (callback: () => void) => void; | ||
export default _default; |
@@ -12,5 +12,5 @@ import _extends from "@babel/runtime/helpers/esm/extends"; | ||
import { composeRef } from "rc-util/es/ref"; | ||
import getMiniDecimal, { roundDownUnsignedDecimal, roundUpUnsignedDecimal, toFixed } from './utils/MiniDecimal'; | ||
import getMiniDecimal, { toFixed } from './utils/MiniDecimal'; | ||
import StepHandler from './StepHandler'; | ||
import { getNumberPrecision, num2str, getDecupleSteps, trimNumber, validateNumber } from './utils/numberUtil'; | ||
import { getNumberPrecision, num2str, getDecupleSteps, validateNumber } from './utils/numberUtil'; | ||
import useCursor from './hooks/useCursor'; | ||
@@ -38,26 +38,5 @@ import useFrame from './hooks/useFrame'; | ||
var getDecimalIfValidate = function getDecimalIfValidate(value, precision, isMax) { | ||
var getDecimalIfValidate = function getDecimalIfValidate(value) { | ||
var decimal = getMiniDecimal(value); | ||
if (decimal.isInvalidate()) { | ||
return null; | ||
} | ||
if (precision === undefined) { | ||
return decimal; | ||
} | ||
var _trimNumber = trimNumber(decimal.toString()), | ||
negative = _trimNumber.negative, | ||
integerStr = _trimNumber.integerStr, | ||
decimalStr = _trimNumber.decimalStr, | ||
negativeStr = _trimNumber.negativeStr; | ||
var unSignedNumberStr = integerStr + '.' + decimalStr; | ||
if (isMax && !negative || !isMax && negative) { | ||
return getMiniDecimal(negativeStr + roundDownUnsignedDecimal(unSignedNumberStr, precision)); | ||
} else { | ||
return getMiniDecimal(negativeStr + roundUpUnsignedDecimal(unSignedNumberStr, precision)); | ||
} | ||
return decimal.isInvalidate() ? null : decimal; | ||
}; | ||
@@ -222,6 +201,6 @@ | ||
var maxDecimal = React.useMemo(function () { | ||
return getDecimalIfValidate(max, precision, true); | ||
return getDecimalIfValidate(max); | ||
}, [max, precision]); | ||
var minDecimal = React.useMemo(function () { | ||
return getDecimalIfValidate(min, precision, false); | ||
return getDecimalIfValidate(min); | ||
}, [min, precision]); | ||
@@ -301,3 +280,8 @@ var upDisabled = React.useMemo(function () { | ||
if (mergedPrecision >= 0) { | ||
updateValue = getMiniDecimal(toFixed(numStr, '.', mergedPrecision)); | ||
updateValue = getMiniDecimal(toFixed(numStr, '.', mergedPrecision)); // When to fixed. The value may out of min & max range. | ||
// 4 in [0, 3.8] => 3.8 => 4 (toFixed) | ||
if (!isInRange(updateValue)) { | ||
updateValue = getMiniDecimal(toFixed(numStr, '.', mergedPrecision, true)); | ||
} | ||
} // Trigger event | ||
@@ -304,0 +288,0 @@ |
@@ -65,12 +65,5 @@ export declare type ValueType = string | number; | ||
/** | ||
* round up an unsigned number str, like: 1.4 -> 2, 1.5 -> 2 | ||
* Align the logic of toFixed to around like 1.5 => 2. | ||
* If set `cutOnly`, will just remove the over decimal part. | ||
*/ | ||
export declare function roundUpUnsignedDecimal(numStr: string, precision: number): any; | ||
/** | ||
* round up an unsigned number str, like: 1.4 -> 1, 1.5 -> 1 | ||
*/ | ||
export declare function roundDownUnsignedDecimal(numStr: string, precision: number): string; | ||
/** | ||
* Align the logic of toFixed to around like 1.5 => 2 | ||
*/ | ||
export declare function toFixed(numStr: string, separatorStr: string, precision?: number): any; | ||
export declare function toFixed(numStr: string, separatorStr: string, precision?: number, cutOnly?: boolean): any; |
@@ -275,36 +275,9 @@ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck"; | ||
/** | ||
* round up an unsigned number str, like: 1.4 -> 2, 1.5 -> 2 | ||
* Align the logic of toFixed to around like 1.5 => 2. | ||
* If set `cutOnly`, will just remove the over decimal part. | ||
*/ | ||
export function roundUpUnsignedDecimal(numStr, precision) { | ||
var _trimNumber2 = trimNumber(numStr), | ||
integerStr = _trimNumber2.integerStr, | ||
decimalStr = _trimNumber2.decimalStr; | ||
export function toFixed(numStr, separatorStr, precision) { | ||
var cutOnly = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; | ||
var advancedDecimal = getMiniDecimal(integerStr + '.' + decimalStr).add("0.".concat('0'.repeat(precision), 5)); | ||
return toFixed(advancedDecimal.toString(), '.', precision); | ||
} | ||
/** | ||
* round up an unsigned number str, like: 1.4 -> 1, 1.5 -> 1 | ||
*/ | ||
export function roundDownUnsignedDecimal(numStr, precision) { | ||
var _trimNumber3 = trimNumber(numStr), | ||
negativeStr = _trimNumber3.negativeStr, | ||
integerStr = _trimNumber3.integerStr, | ||
decimalStr = _trimNumber3.decimalStr; | ||
var numberWithoutDecimal = "".concat(negativeStr).concat(integerStr); | ||
if (precision === 0) { | ||
return integerStr; | ||
} | ||
return "".concat(numberWithoutDecimal, ".").concat(decimalStr.padEnd(precision, '0').slice(0, precision)); | ||
} | ||
/** | ||
* Align the logic of toFixed to around like 1.5 => 2 | ||
*/ | ||
export function toFixed(numStr, separatorStr, precision) { | ||
if (numStr === '') { | ||
@@ -314,6 +287,6 @@ return ''; | ||
var _trimNumber4 = trimNumber(numStr), | ||
negativeStr = _trimNumber4.negativeStr, | ||
integerStr = _trimNumber4.integerStr, | ||
decimalStr = _trimNumber4.decimalStr; | ||
var _trimNumber2 = trimNumber(numStr), | ||
negativeStr = _trimNumber2.negativeStr, | ||
integerStr = _trimNumber2.integerStr, | ||
decimalStr = _trimNumber2.decimalStr; | ||
@@ -327,5 +300,5 @@ var precisionDecimalStr = "".concat(separatorStr).concat(decimalStr); | ||
if (advancedNum >= 5) { | ||
if (advancedNum >= 5 && !cutOnly) { | ||
var advancedDecimal = getMiniDecimal(numStr).add("".concat(negativeStr, "0.").concat('0'.repeat(precision)).concat(10 - advancedNum)); | ||
return toFixed(advancedDecimal.toString(), separatorStr, precision); | ||
return toFixed(advancedDecimal.toString(), separatorStr, precision, cutOnly); | ||
} | ||
@@ -332,0 +305,0 @@ |
@@ -1,5 +0,5 @@ | ||
declare const _default: () => (callback: () => void) => void; | ||
/** | ||
* Always trigger latest once when call multiple time | ||
*/ | ||
declare const _default: () => (callback: () => void) => void; | ||
export default _default; |
@@ -5,3 +5,3 @@ "use strict"; | ||
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); | ||
var _typeof3 = require("@babel/runtime/helpers/typeof"); | ||
@@ -45,2 +45,6 @@ Object.defineProperty(exports, "__esModule", { | ||
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } | ||
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } | ||
/** | ||
@@ -65,26 +69,5 @@ * We support `stringMode` which need handle correct type when user call in onChange | ||
var getDecimalIfValidate = function getDecimalIfValidate(value, precision, isMax) { | ||
var getDecimalIfValidate = function getDecimalIfValidate(value) { | ||
var decimal = (0, _MiniDecimal.default)(value); | ||
if (decimal.isInvalidate()) { | ||
return null; | ||
} | ||
if (precision === undefined) { | ||
return decimal; | ||
} | ||
var _trimNumber = (0, _numberUtil.trimNumber)(decimal.toString()), | ||
negative = _trimNumber.negative, | ||
integerStr = _trimNumber.integerStr, | ||
decimalStr = _trimNumber.decimalStr, | ||
negativeStr = _trimNumber.negativeStr; | ||
var unSignedNumberStr = integerStr + '.' + decimalStr; | ||
if (isMax && !negative || !isMax && negative) { | ||
return (0, _MiniDecimal.default)(negativeStr + (0, _MiniDecimal.roundDownUnsignedDecimal)(unSignedNumberStr, precision)); | ||
} else { | ||
return (0, _MiniDecimal.default)(negativeStr + (0, _MiniDecimal.roundUpUnsignedDecimal)(unSignedNumberStr, precision)); | ||
} | ||
return decimal.isInvalidate() ? null : decimal; | ||
}; | ||
@@ -248,6 +231,6 @@ | ||
var maxDecimal = React.useMemo(function () { | ||
return getDecimalIfValidate(max, precision, true); | ||
return getDecimalIfValidate(max); | ||
}, [max, precision]); | ||
var minDecimal = React.useMemo(function () { | ||
return getDecimalIfValidate(min, precision, false); | ||
return getDecimalIfValidate(min); | ||
}, [min, precision]); | ||
@@ -327,3 +310,8 @@ var upDisabled = React.useMemo(function () { | ||
if (mergedPrecision >= 0) { | ||
updateValue = (0, _MiniDecimal.default)((0, _MiniDecimal.toFixed)(numStr, '.', mergedPrecision)); | ||
updateValue = (0, _MiniDecimal.default)((0, _MiniDecimal.toFixed)(numStr, '.', mergedPrecision)); // When to fixed. The value may out of min & max range. | ||
// 4 in [0, 3.8] => 3.8 => 4 (toFixed) | ||
if (!isInRange(updateValue)) { | ||
updateValue = (0, _MiniDecimal.default)((0, _MiniDecimal.toFixed)(numStr, '.', mergedPrecision, true)); | ||
} | ||
} // Trigger event | ||
@@ -330,0 +318,0 @@ |
"use strict"; | ||
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
var _typeof = require("@babel/runtime/helpers/typeof"); | ||
Object.defineProperty(exports, "__esModule", { | ||
@@ -22,2 +22,6 @@ value: true | ||
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } | ||
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } | ||
/** | ||
@@ -24,0 +28,0 @@ * When click and hold on a button - the speed of auto changing the value. |
@@ -65,12 +65,5 @@ export declare type ValueType = string | number; | ||
/** | ||
* round up an unsigned number str, like: 1.4 -> 2, 1.5 -> 2 | ||
* Align the logic of toFixed to around like 1.5 => 2. | ||
* If set `cutOnly`, will just remove the over decimal part. | ||
*/ | ||
export declare function roundUpUnsignedDecimal(numStr: string, precision: number): any; | ||
/** | ||
* round up an unsigned number str, like: 1.4 -> 1, 1.5 -> 1 | ||
*/ | ||
export declare function roundDownUnsignedDecimal(numStr: string, precision: number): string; | ||
/** | ||
* Align the logic of toFixed to around like 1.5 => 2 | ||
*/ | ||
export declare function toFixed(numStr: string, separatorStr: string, precision?: number): any; | ||
export declare function toFixed(numStr: string, separatorStr: string, precision?: number, cutOnly?: boolean): any; |
@@ -10,4 +10,2 @@ "use strict"; | ||
exports.default = getMiniDecimal; | ||
exports.roundDownUnsignedDecimal = roundDownUnsignedDecimal; | ||
exports.roundUpUnsignedDecimal = roundUpUnsignedDecimal; | ||
exports.toFixed = toFixed; | ||
@@ -294,39 +292,10 @@ | ||
/** | ||
* round up an unsigned number str, like: 1.4 -> 2, 1.5 -> 2 | ||
* Align the logic of toFixed to around like 1.5 => 2. | ||
* If set `cutOnly`, will just remove the over decimal part. | ||
*/ | ||
function roundUpUnsignedDecimal(numStr, precision) { | ||
var _trimNumber2 = (0, _numberUtil.trimNumber)(numStr), | ||
integerStr = _trimNumber2.integerStr, | ||
decimalStr = _trimNumber2.decimalStr; | ||
function toFixed(numStr, separatorStr, precision) { | ||
var cutOnly = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; | ||
var advancedDecimal = getMiniDecimal(integerStr + '.' + decimalStr).add("0.".concat('0'.repeat(precision), 5)); | ||
return toFixed(advancedDecimal.toString(), '.', precision); | ||
} | ||
/** | ||
* round up an unsigned number str, like: 1.4 -> 1, 1.5 -> 1 | ||
*/ | ||
function roundDownUnsignedDecimal(numStr, precision) { | ||
var _trimNumber3 = (0, _numberUtil.trimNumber)(numStr), | ||
negativeStr = _trimNumber3.negativeStr, | ||
integerStr = _trimNumber3.integerStr, | ||
decimalStr = _trimNumber3.decimalStr; | ||
var numberWithoutDecimal = "".concat(negativeStr).concat(integerStr); | ||
if (precision === 0) { | ||
return integerStr; | ||
} | ||
return "".concat(numberWithoutDecimal, ".").concat(decimalStr.padEnd(precision, '0').slice(0, precision)); | ||
} | ||
/** | ||
* Align the logic of toFixed to around like 1.5 => 2 | ||
*/ | ||
function toFixed(numStr, separatorStr, precision) { | ||
if (numStr === '') { | ||
@@ -336,6 +305,6 @@ return ''; | ||
var _trimNumber4 = (0, _numberUtil.trimNumber)(numStr), | ||
negativeStr = _trimNumber4.negativeStr, | ||
integerStr = _trimNumber4.integerStr, | ||
decimalStr = _trimNumber4.decimalStr; | ||
var _trimNumber2 = (0, _numberUtil.trimNumber)(numStr), | ||
negativeStr = _trimNumber2.negativeStr, | ||
integerStr = _trimNumber2.integerStr, | ||
decimalStr = _trimNumber2.decimalStr; | ||
@@ -349,5 +318,5 @@ var precisionDecimalStr = "".concat(separatorStr).concat(decimalStr); | ||
if (advancedNum >= 5) { | ||
if (advancedNum >= 5 && !cutOnly) { | ||
var advancedDecimal = getMiniDecimal(numStr).add("".concat(negativeStr, "0.").concat('0'.repeat(precision)).concat(10 - advancedNum)); | ||
return toFixed(advancedDecimal.toString(), separatorStr, precision); | ||
return toFixed(advancedDecimal.toString(), separatorStr, precision, cutOnly); | ||
} | ||
@@ -354,0 +323,0 @@ |
{ | ||
"name": "rc-input-number", | ||
"version": "7.3.5", | ||
"version": "7.3.6", | ||
"description": "React input-number component", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
101944
2347