UNPKG

@ant-design/x

Version:

Craft AI-driven interfaces effortlessly

32 lines (31 loc) 1.24 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _useToken = _interopRequireDefault(require("../../theme/useToken")); const SENDER_INPUT_PADDING_HEIGHT = 4.35; const useInputHeight = (styles, autoSize, editableRef) => { const { token } = (0, _useToken.default)(); const computedStyle = editableRef.current ? window.getComputedStyle(editableRef.current) : {}; const lineHeight = parseFloat(`${styles.lineHeight || token.lineHeight}`); const fontSize = parseFloat(`${computedStyle?.fontSize || styles.fontSize || token.fontSize}`); const height = computedStyle?.lineHeight ? parseFloat(`${computedStyle?.lineHeight}`) : lineHeight * fontSize; if (autoSize === false || !autoSize) { return {}; } if (autoSize === true) { return { height: 'auto' }; } return { minHeight: autoSize.minRows ? (height + SENDER_INPUT_PADDING_HEIGHT) * autoSize.minRows : 'auto', maxHeight: autoSize.maxRows ? (height + SENDER_INPUT_PADDING_HEIGHT) * autoSize.maxRows : 'auto', overflowY: 'auto' }; }; var _default = exports.default = useInputHeight;