UNPKG

2.17 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
5var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
7Object.defineProperty(exports, "__esModule", {
8 value: true
9});
10exports["default"] = void 0;
11
12var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
14var _react = _interopRequireWildcard(require("react"));
15
16var _classnames = _interopRequireDefault(require("classnames"));
17
18var RenderedText = function RenderedText(_ref) {
19 var prefixCls = _ref.prefixCls,
20 children = _ref.children,
21 onContentChange = _ref.onContentChange,
22 hidden = _ref.hidden,
23 className = _ref.className,
24 isFlat = _ref.isFlat,
25 rangeTarget = _ref.rangeTarget;
26 var renderedValueRef = (0, _react.useRef)(null);
27
28 var _useState = (0, _react.useState)(null),
29 _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
30 content = _useState2[0],
31 setContent = _useState2[1];
32
33 var selfPrefixCls = "".concat(prefixCls, "-rendered-value");
34 var style = (0, _react.useMemo)(function () {
35 return isFlat ? {
36 width: 'auto',
37 maxWidth: 'none'
38 } : undefined;
39 }, [isFlat]);
40 (0, _react.useLayoutEffect)(function () {
41 if (onContentChange) {
42 var current = renderedValueRef.current;
43
44 if (current) {
45 var textContent = current.textContent;
46
47 if (textContent !== null && textContent !== content) {
48 setContent(textContent);
49 onContentChange(textContent, current.scrollWidth, rangeTarget);
50 }
51 }
52 }
53 }, [onContentChange, renderedValueRef, content, children, rangeTarget]);
54 return _react["default"].createElement("span", {
55 key: "renderedText",
56 className: (0, _classnames["default"])(selfPrefixCls, className),
57 hidden: hidden,
58 style: style
59 }, _react["default"].createElement("span", {
60 className: "".concat(selfPrefixCls, "-inner"),
61 ref: renderedValueRef
62 }, children));
63};
64
65RenderedText.displayName = 'RenderedText';
66var _default = RenderedText;
67exports["default"] = _default;
68//# sourceMappingURL=RenderedText.js.map