UNPKG

tdesign-react

Version:
52 lines (48 loc) 1.64 kB
/** * tdesign v1.13.2 * (c) 2025 tdesign * @license MIT */ import React, { useMemo } from 'react'; import { escapeRegExp } from 'lodash-es'; import useConfig from '../hooks/useConfig.js'; import '../config-provider/ConfigContext.js'; import '../_chunks/dep-8618a2f1.js'; import '../_chunks/dep-c37cc2fd.js'; import '../locale/zh_CN.js'; import '../_chunks/dep-ab140eb0.js'; import 'dayjs'; import '../_chunks/dep-95bd7102.js'; var HighlightOption = function HighlightOption(props) { var _useConfig = useConfig(), classPrefix = _useConfig.classPrefix; var content = props.content, keyword = props.keyword; var words = useMemo(function () { var _content$match; if (!content) return { list: [] }; if (typeof content !== "string" || !keyword) return { list: [content] }; var regExp = new RegExp(escapeRegExp(keyword), "i"); var splitKeyword = (_content$match = content.match(regExp)) === null || _content$match === void 0 ? void 0 : _content$match[0]; return { list: content.split(splitKeyword), keyword: splitKeyword }; }, [content, keyword]); return /* @__PURE__ */React.createElement("div", { className: "".concat(classPrefix, "-select-option__highlight-item") }, words.list.map(function (item, index) { if (!index) return item; return [/* @__PURE__ */React.createElement("b", { className: "".concat(classPrefix, "-is-highlight"), key: item + words.keyword }, words.keyword), item]; })); }; HighlightOption.displayName = "HighlightOption"; export { HighlightOption as default }; //# sourceMappingURL=HighlightOption.js.map