UNPKG

tdesign-mobile-vue

Version:
64 lines (60 loc) 2.15 kB
/** * tdesign v1.7.0 * (c) 2024 TDesign Group * @license MIT */ import { computed } from 'vue'; import isNumber from 'lodash/isNumber'; import isObject from 'lodash/isObject'; import log from '../_common/js/log/log.js'; import { getUnicodeLength, getCharacterLength, limitUnicodeMaxLength } from '../_common/js/utils/helper.js'; import '@babel/runtime/helpers/toConsumableArray'; import '@babel/runtime/helpers/objectWithoutProperties'; import '@babel/runtime/helpers/slicedToArray'; import '@babel/runtime/helpers/defineProperty'; import 'lodash/isString'; import 'lodash/isNull'; import 'lodash/isUndefined'; import 'lodash/isArray'; function useLengthLimit(params) { var getValueByLimitNumber = function getValueByLimitNumber(inputValue) { var _params$value = params.value, allowInputOverMax = _params$value.allowInputOverMax, maxlength = _params$value.maxlength, maxcharacter = _params$value.maxcharacter; if (!(maxlength || maxcharacter) || allowInputOverMax || !inputValue) return inputValue; if (maxlength) { return limitUnicodeMaxLength(inputValue, maxlength); } if (maxcharacter) { var r = getCharacterLength(inputValue, maxcharacter); if (isObject(r)) { return r.characters; } } }; var limitNumber = computed(function () { var _params$value2 = params.value, maxlength = _params$value2.maxlength, maxcharacter = _params$value2.maxcharacter, value = _params$value2.value; if (isNumber(value)) return String(value); if (maxlength && maxcharacter) { log.warn("Input", "Pick one of maxlength and maxcharacter please."); } if (maxlength) { var length = value !== null && value !== void 0 && value.length ? getUnicodeLength(value) : 0; return "".concat(length, "/").concat(maxlength); } if (maxcharacter) { return "".concat(getCharacterLength(value || ""), "/").concat(maxcharacter); } return ""; }); return { limitNumber: limitNumber, getValueByLimitNumber: getValueByLimitNumber }; } export { useLengthLimit as default }; //# sourceMappingURL=useLengthLimit.js.map