UNPKG

antd

Version:

An enterprise-class UI design language and React components implementation

32 lines (31 loc) 1.22 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireDefault(require("react")); var _raf = _interopRequireDefault(require("rc-util/lib/raf")); const ELEMENT_GAP = 2; const adjustElementWidth = (width, wrapper) => { if (wrapper.offsetWidth - width < ELEMENT_GAP) { // The textarea's width is increased wrapper.style.width = `${width + ELEMENT_GAP}px`; } else if (wrapper.offsetWidth - width > ELEMENT_GAP) { // The textarea's width is decreased wrapper.style.width = `${width + ELEMENT_GAP}px`; } }; const useHandleResizeWrapper = () => { const handleResizeWrapper = _react.default.useCallback(rcTextArea => { if (!rcTextArea) { return; } if (rcTextArea.resizableTextArea.textArea.style.width.includes('px')) { const width = Number.parseInt(rcTextArea.resizableTextArea.textArea.style.width.replace(/px/, '')); (0, _raf.default)(() => adjustElementWidth(width, rcTextArea.nativeElement)); } }, []); return handleResizeWrapper; }; var _default = exports.default = useHandleResizeWrapper;