UNPKG

@cbinsights/fds

Version:
48 lines (41 loc) 1.56 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireDefault(require("react")); var _match = _interopRequireDefault(require("autosuggest-highlight/match")); var _parse = _interopRequireDefault(require("autosuggest-highlight/parse")); var HighlightedText = function HighlightedText(_ref) { var suggestion = _ref.suggestion, _ref$query = _ref.query, query = _ref$query === void 0 ? '' : _ref$query, className = _ref.className, children = _ref.children; if (!suggestion) return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null); var matches = (0, _match.default)(suggestion, query, { findAllOccurrences: true }); var parts = (0, _parse.default)(suggestion, matches); return /*#__PURE__*/_react.default.createElement("span", { className: className, "data-testid": "smart-input-highlighted-text" }, parts.map(function (part, index) { return part.highlight ? /*#__PURE__*/_react.default.createElement("span", { key: String(index), style: { fontWeight: 700 }, "data-testid": "highlighted-text" }, part.text) : /*#__PURE__*/_react.default.createElement("strong", { key: String(index), style: { fontWeight: 300 }, "data-testid": "not-highlighted-text" }, part.text); }), children); }; var _default = HighlightedText; exports.default = _default;