UNPKG

@ozen-ui/kit

Version:

React component library

88 lines (87 loc) 3.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.valueToArray = exports.valueToString = exports.calculateInput = exports.maskValue = exports.maskSymbol = void 0; var isFunction_1 = require("../../utils/isFunction"); var isString_1 = require("../../utils/isString"); var number_1 = require("../../utils/number"); var maskSymbol = function (mask, value, index) { if (value === '') { return ''; } if ((0, isString_1.isString)(mask)) { return mask; } if ((0, isFunction_1.isFunction)(mask)) { return mask(value, index); } return value; }; exports.maskSymbol = maskSymbol; var maskValue = function (mask, value) { var _a; return (_a = value === null || value === void 0 ? void 0 : value.map(function (value, index) { return (0, exports.maskSymbol)(mask, value, index); })) !== null && _a !== void 0 ? _a : []; }; exports.maskValue = maskValue; var calculateInput = function (_a) { var _b; var valueByIndex = _a.valueByIndex, index = _a.index, mask = _a.mask, length = _a.length, isDisabledGlobal = _a.disabled, focusedInputIndex = _a.focusedInputIndex; var requiredValueByIndex = valueByIndex !== null && valueByIndex !== void 0 ? valueByIndex : []; var value = (_b = requiredValueByIndex[index]) !== null && _b !== void 0 ? _b : ''; var maskedValue = (0, exports.maskSymbol)(mask, value, index); var lastFilledInputIndex = requiredValueByIndex.findLastIndex(function (value) { return value !== '' && value !== undefined; }); var isBackward = index <= lastFilledInputIndex; var isPrevious = index === lastFilledInputIndex; var isNext = index === lastFilledInputIndex + 2; var isCurrentInput = index === lastFilledInputIndex + 1; var isLast = index === length - 1; var isPreviousByFocusedInput = (0, number_1.isNumber)(focusedInputIndex) && index < focusedInputIndex; var isFocusedInput = index === focusedInputIndex; var isDisabled = (function () { if (isDisabledGlobal) { return true; } if (isFocusedInput) { return false; } if (isPreviousByFocusedInput) { return false; } if (isBackward) { return false; } if (value !== '') { return false; } return !isCurrentInput; })(); return { value: maskedValue, rawValue: value, isPrevious: isPrevious, isNext: isNext, isCurrentInput: isCurrentInput, isLast: isLast, isDisabled: isDisabled, }; }; exports.calculateInput = calculateInput; var valueToString = function (value) { if (!value) { return ''; } return value .map(function (value) { if (value === '') { return ' '; } return value; }) .join(''); }; exports.valueToString = valueToString; var valueToArray = function (value) { return value.split('').map(function (value) { if (value === ' ') { return ''; } return value; }); }; exports.valueToArray = valueToArray;