UNPKG

tdesign-mobile-vue

Version:
75 lines (71 loc) 3.12 kB
/** * tdesign v1.7.0 * (c) 2024 TDesign Group * @license MIT */ import { i as isNull_1 } from '../../../_chunks/dep-74a5dff9.mjs'; import { calculateNodeSize } from './helper.mjs'; import '../../../_chunks/dep-8bf3054e.mjs'; import '../../../_chunks/dep-f0f403be.mjs'; import '../../../_chunks/dep-8d37dbf8.mjs'; import '../../../_chunks/dep-8ece47c6.mjs'; import '../../../_chunks/dep-cd74809c.mjs'; import '../../../_chunks/dep-219bb5a7.mjs'; import '../../../_chunks/dep-620d73f7.mjs'; import '../../../_chunks/dep-6303c50c.mjs'; import '../../../_chunks/dep-3d249f65.mjs'; import '../../../_chunks/dep-019e292f.mjs'; import '../../../_chunks/dep-32364550.mjs'; import '../../../_chunks/dep-9b2de386.mjs'; import '../../../_chunks/dep-1bbfa76e.mjs'; import '../../../_chunks/dep-52fdc8e1.mjs'; var TEXTAREA_STYLE = "\n min-height:0 !important;\n max-height:none !important;\n height:0 !important;\n visibility:hidden !important;\n overflow:hidden !important;\n position:absolute !important;\n z-index:-1000 !important;\n top:0 !important;\n right:0 !important\n"; var hiddenTextarea; function calcTextareaHeight(targetElement) { var _hiddenTextarea; var minRows = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; var maxRows = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; if (!hiddenTextarea) { hiddenTextarea = document.createElement("textarea"); document.body.appendChild(hiddenTextarea); } var _calculateNodeSize = calculateNodeSize(targetElement), paddingSize = _calculateNodeSize.paddingSize, borderSize = _calculateNodeSize.borderSize, boxSizing = _calculateNodeSize.boxSizing, sizingStyle = _calculateNodeSize.sizingStyle; hiddenTextarea.setAttribute("style", "".concat(sizingStyle, ";").concat(TEXTAREA_STYLE)); hiddenTextarea.value = targetElement.value || targetElement.placeholder || ""; var height = hiddenTextarea.scrollHeight; var result = {}; var isBorderbox = boxSizing === "border-box"; var isContentbox = boxSizing === "content-box"; if (isBorderbox) { height += borderSize; } else if (isContentbox) { height -= paddingSize; } hiddenTextarea.value = ""; var singleRowHeight = hiddenTextarea.scrollHeight - paddingSize; (_hiddenTextarea = hiddenTextarea) === null || _hiddenTextarea === void 0 || (_hiddenTextarea = _hiddenTextarea.parentNode) === null || _hiddenTextarea === void 0 || _hiddenTextarea.removeChild(hiddenTextarea); hiddenTextarea = null; var calcHeight = function calcHeight(rows) { var rowsHeight = singleRowHeight * rows; if (isBorderbox) { rowsHeight = rowsHeight + paddingSize + borderSize; } return rowsHeight; }; if (!isNull_1(minRows)) { var minHeight = calcHeight(minRows); height = Math.max(minHeight, height); result.minHeight = "".concat(minHeight, "px"); } if (!isNull_1(maxRows)) { height = Math.min(calcHeight(maxRows), height); } result.height = "".concat(height, "px"); return result; } export { calcTextareaHeight as default }; //# sourceMappingURL=calcTextareaHeight.mjs.map