@ozen-ui/kit
Version:
React component library
88 lines (87 loc) • 3.14 kB
JavaScript
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;
;