UNPKG

@ozen-ui/kit

Version:

React component library

30 lines (29 loc) 1.45 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getValue = exports.isInputInvalid = exports.isValidValue = void 0; var decimal_js_1 = require("decimal.js"); var number_1 = require("../../utils/number"); var isValidValue = function (value) { return value !== '' && !Number.isNaN(value) && (0, number_1.isNumber)(value); }; exports.isValidValue = isValidValue; 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); }; exports.isInputInvalid = isInputInvalid; 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 = (0, exports.isValidValue)(value) ? value : min; var nextValue = isIncrement ? decimal_js_1.Decimal.add(currentValue, step).toNumber() : decimal_js_1.Decimal.sub(currentValue, step).toNumber(); return isIncrement ? Math.min(nextValue, max) : Math.max(nextValue, min); }; exports.getValue = getValue;