UNPKG

@atlaskit/mention

Version:

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

46 lines 1.14 kB
import React from 'react'; export function renderHighlight(ReactComponent, value, highlights, prefix) { if (!value) { return null; } const parts = []; const prefixText = prefix || ''; let lastIndex = 0; if (highlights) { for (let i = 0; i < highlights.length; i++) { const h = highlights[i]; const start = h.start; const 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, matches: false }); } return /*#__PURE__*/React.createElement(ReactComponent, null, prefixText, parts.map((part, index) => { if (part.matches) { return /*#__PURE__*/React.createElement("b", { key: index }, part.value); } return part.value; })); }