UNPKG

@alicloud/console-components-truncate

Version:

React component for Alibaba Cloud.

40 lines (37 loc) 1.33 kB
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 };