1 | "use strict";
|
2 |
|
3 | var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
4 |
|
5 | var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
6 |
|
7 | Object.defineProperty(exports, "__esModule", {
|
8 | value: true
|
9 | });
|
10 | exports["default"] = void 0;
|
11 |
|
12 | var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
13 |
|
14 | var _react = _interopRequireWildcard(require("react"));
|
15 |
|
16 | var _classnames = _interopRequireDefault(require("classnames"));
|
17 |
|
18 | var 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 |
|
65 | RenderedText.displayName = 'RenderedText';
|
66 | var _default = RenderedText;
|
67 | exports["default"] = _default;
|
68 |
|