UNPKG

@atlaskit/mention

Version:

A React component used to display user profiles in a list for 'Mention' functionality

53 lines (52 loc) 1.39 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.renderHighlight = renderHighlight; var _react = _interopRequireDefault(require("react")); function renderHighlight(ReactComponent, value, highlights, prefix) { if (!value) { return null; } var parts = []; var prefixText = prefix || ''; var lastIndex = 0; if (highlights) { for (var i = 0; i < highlights.length; i++) { var h = highlights[i]; var start = h.start; var end = h.end; if (start > lastIndex) { parts.push({ value: value.substring(lastIndex, start), matches: false }); } parts.push({ value: value.substring(start, end + 1), matches: true }); lastIndex = end + 1; } if (lastIndex < value.length) { parts.push({ value: value.substring(lastIndex, value.length), matches: false }); } } else { parts.push({ value: value, matches: false }); } return /*#__PURE__*/_react.default.createElement(ReactComponent, null, prefixText, parts.map(function (part, index) { if (part.matches) { return /*#__PURE__*/_react.default.createElement("b", { key: index }, part.value); } return part.value; })); }