UNPKG

@ozen-ui/kit

Version:

React component library

24 lines (23 loc) 1.15 kB
import { Decimal } from 'decimal.js'; import { isNumber } from '../../utils/number'; export var isValidValue = function (value) { return value !== '' && !Number.isNaN(value) && isNumber(value); }; export var isInputInvalid = function (event) { var ctrlKey = event.ctrlKey, metaKey = event.metaKey, key = event.key; // проверка на длину кода нужна для того, чтобы не проверять // нажатия по служебным клавишам (ArrowUp, ArrowDown, etc.) return !(ctrlKey || metaKey) && key.length === 1 && !!key.match(/[A-Za-z]/g); }; export var getValue = function (_a) { var value = _a.value, step = _a.step, min = _a.min, max = _a.max, countDirection = _a.countDirection; if (typeof value === 'undefined') { return ''; } var isIncrement = countDirection === 'increment'; var currentValue = isValidValue(value) ? value : min; var nextValue = isIncrement ? Decimal.add(currentValue, step).toNumber() : Decimal.sub(currentValue, step).toNumber(); return isIncrement ? Math.min(nextValue, max) : Math.max(nextValue, min); };