UNPKG

@eccenca/gui-elements

Version:

GUI elements based on other libraries, usable in React application, written in Typescript.

30 lines 1.56 kB
var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; import React from "react"; import { reduceToText } from "../../common/utils/reduceToText.js"; import { CLASSPREFIX as eccgui } from "../../configuration/constants.js"; import { OverflowText } from "./../Typography/index.js"; /** * Component to reduce HTML markup content to simple text. * Display can be wrapped easily in `OverflowText`. */ export var TextReducer = function (_a) { var children = _a.children, maxNodes = _a.maxNodes, maxLength = _a.maxLength, useOverflowTextWrapper = _a.useOverflowTextWrapper, overflowTextProps = _a.overflowTextProps; if (typeof children === "undefined") { return React.createElement(React.Fragment, null); } var shrinkedContent = reduceToText(children, { maxLength: maxLength, maxNodes: maxNodes }); return useOverflowTextWrapper ? (React.createElement(OverflowText, __assign({}, overflowTextProps, { className: "".concat(eccgui, "-textreducer") + (overflowTextProps && overflowTextProps.className ? " ".concat(overflowTextProps.className) : "") }), shrinkedContent)) : (React.createElement(React.Fragment, null, shrinkedContent)); }; export default TextReducer; //# sourceMappingURL=TextReducer.js.map