UNPKG

carbon-react

Version:

A library of reusable React components for easily building user interfaces.

2 lines (1 loc) 830 B
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),r=require("./matching-text.style.js");function n(e){return e&&e.__esModule?e:{default:e}}var l=n(t);function i(t,n){if(!n||!n.length||!t)return t;const l=t.toLowerCase(),s=n.toLowerCase(),u=l.indexOf(s);if(-1===u)return t;const c=t.slice(0,u),a=t.slice(u,u+n.length),o=t.slice(u+n.length,t.length);let d=o;return o.length>=n.length&&(d=i(o,n)),[e.jsx("span",{children:c},"preceding"),e.jsx(r.default,{"data-role":"matching-text",children:a},"match"),e.jsx("span",{children:d},"following")]}exports.default=function e(t,r){if("string"==typeof t)return i(t,r);if(!l.default.isValidElement(t))return t;const n=l.default.Children.map(t.props.children,(t=>e(t,r)));return l.default.cloneElement(t,{children:n})};