UNPKG

@eccenca/gui-elements

Version:

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

35 lines 2.22 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.stringPreviewContentBlobTogglerUtils = void 0; exports.StringPreviewContentBlobToggler = StringPreviewContentBlobToggler; const react_1 = __importDefault(require("react")); const __1 = require("./.."); /** Version of the content toggler for text only content. */ function StringPreviewContentBlobToggler({ className = "", previewMaxLength, toggleExtendText, toggleReduceText, content, fullviewContent, startExtended, firstNonEmptyLineOnly, renderPreviewAsMarkdown = false, allowedHtmlElementsInPreview, noTogglerContentSuffix, }) { const previewMaybeFirstLine = firstNonEmptyLineOnly ? firstNonEmptyLine(content) : content; const previewString = previewMaxLength ? previewMaybeFirstLine.substr(0, previewMaxLength) : previewMaybeFirstLine; const enableToggler = previewString !== content; let previewContent = renderPreviewAsMarkdown ? (react_1.default.createElement(__1.Markdown, { key: "markdown-content", allowedElements: allowedHtmlElementsInPreview }, previewString)) : (previewString); if (!enableToggler && noTogglerContentSuffix) { previewContent = (react_1.default.createElement(react_1.default.Fragment, null, previewContent, noTogglerContentSuffix)); } return (react_1.default.createElement(__1.ContentBlobToggler, { className: className, previewContent: previewContent, toggleExtendText: toggleExtendText, toggleReduceText: toggleReduceText, fullviewContent: fullviewContent, startExtended: startExtended, enableToggler: enableToggler })); } const newLineRegex = new RegExp("\r|\n"); // eslint-disable-line /** * Takes the first non-empty line from a preview string. */ function firstNonEmptyLine(preview) { const previewString = preview.trim(); const result = newLineRegex.exec(previewString); return result !== null ? previewString.substr(0, result.index) : previewString; } exports.stringPreviewContentBlobTogglerUtils = { firstNonEmptyLine, }; //# sourceMappingURL=StringPreviewContentBlobToggler.js.map