@alicloud/console-components-truncate
Version:
React component for Alibaba Cloud.
40 lines (37 loc) • 1.33 kB
JavaScript
import React, { useState } from 'react';
import Truncate from 'react-truncate-markup';
import Tooltip from './Tooltip.js';
function MultiLines(props) {
var _a = props.showTooltip,
showTooltip = _a === void 0 ? true : _a,
tooltipMaxWidth = props.tooltipMaxWidth,
align = props.align,
children = props.children,
lines = props.lines,
ellipsis = props.ellipsis,
popupStyle = props.popupStyle,
popupClassName = props.popupClassName,
patchPopupProps = props.patchPopupProps;
var _b = useState(false),
isOverflow = _b[0],
setIsOverflow = _b[1];
var originalContent = children;
var truncatedContent = /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Truncate, {
lines: lines,
ellipsis: ellipsis,
onTruncate: function onTruncate(wasTruncated) {
setIsOverflow(wasTruncated);
}
}, /*#__PURE__*/React.isValidElement(children) ? children : /*#__PURE__*/React.createElement("span", null, children)));
return Tooltip({
showTooltip: isOverflow && showTooltip,
tooltipMaxWidth: tooltipMaxWidth,
align: align,
originalContent: originalContent,
truncatedContent: truncatedContent,
popupStyle: popupStyle,
popupClassName: popupClassName,
patchPopupProps: patchPopupProps
});
}
export { MultiLines as default };