react-keywords 0.0.4 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -2
- package/cjs/index.js +14 -20
- package/dist/keywords.js +5 -5
- package/dist/keywords.min.js +1 -1
- package/esm/index.js +2 -6
- package/package.json +3 -3
- package/src/index.tsx +1 -1
- package/cjs/index.js.map +0 -34
- package/esm/index.js.map +0 -35
package/README.md
CHANGED
|
@@ -9,8 +9,9 @@ react-keywords
|
|
|
9
9
|
|
|
10
10
|
Highlight a keyword in a piece of text and return a React element.
|
|
11
11
|
|
|
12
|
+
<a href="https://uiwjs.github.io/react-keywords">
|
|
12
13
|
<img width="518" alt="Highlight keyword" src="https://user-images.githubusercontent.com/1680273/182382842-c991e9ef-353d-45b0-9e5a-319b56e397d8.png">
|
|
13
|
-
|
|
14
|
+
</a>
|
|
14
15
|
|
|
15
16
|
## Installation
|
|
16
17
|
|
|
@@ -20,7 +21,7 @@ npm i react-keywords
|
|
|
20
21
|
|
|
21
22
|
## Basic Usage
|
|
22
23
|
|
|
23
|
-
```jsx
|
|
24
|
+
```jsx mdx:preview
|
|
24
25
|
import React from 'react';
|
|
25
26
|
import Keywords from 'react-keywords';
|
|
26
27
|
|
package/cjs/index.js
CHANGED
|
@@ -4,17 +4,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
7
|
var _react = require("react");
|
|
9
|
-
|
|
10
8
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
-
|
|
12
9
|
var Highlight = function Highlight(props) {
|
|
13
10
|
var children = props.children,
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
value = props.value,
|
|
12
|
+
color = props.color,
|
|
13
|
+
backgroundColor = props.backgroundColor,
|
|
14
|
+
render = props.render;
|
|
18
15
|
var child = (0, _react.useMemo)(function () {
|
|
19
16
|
return render ? render(value, color, backgroundColor) : /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
20
17
|
style: {
|
|
@@ -28,21 +25,20 @@ var Highlight = function Highlight(props) {
|
|
|
28
25
|
children: [children, value && child]
|
|
29
26
|
});
|
|
30
27
|
};
|
|
31
|
-
|
|
32
28
|
var KeywordsInner = function KeywordsInner(props) {
|
|
33
29
|
var children = props.children,
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
30
|
+
_props$caseIgnored = props.caseIgnored,
|
|
31
|
+
caseIgnored = _props$caseIgnored === void 0 ? true : _props$caseIgnored,
|
|
32
|
+
_props$color = props.color,
|
|
33
|
+
color = _props$color === void 0 ? 'inherit' : _props$color,
|
|
34
|
+
_props$backgroundColo = props.backgroundColor,
|
|
35
|
+
backgroundColor = _props$backgroundColo === void 0 ? '#ffff00' : _props$backgroundColo,
|
|
36
|
+
value = props.value,
|
|
37
|
+
render = props.render;
|
|
42
38
|
if (typeof children !== 'string') return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Fragment, {
|
|
43
39
|
children: children
|
|
44
40
|
});
|
|
45
|
-
var splitMatch = new RegExp(
|
|
41
|
+
var splitMatch = new RegExp((value || '').replace(/\\/g, '\\\\'), caseIgnored ? 'ig' : 'g');
|
|
46
42
|
var values = value ? children.match(splitMatch) : [];
|
|
47
43
|
var matched = children.split(splitMatch);
|
|
48
44
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Fragment, {
|
|
@@ -57,8 +53,6 @@ var KeywordsInner = function KeywordsInner(props) {
|
|
|
57
53
|
})
|
|
58
54
|
});
|
|
59
55
|
};
|
|
60
|
-
|
|
61
56
|
var _default = KeywordsInner;
|
|
62
57
|
exports["default"] = _default;
|
|
63
|
-
module.exports = exports.default;
|
|
64
|
-
//# sourceMappingURL=index.js.map
|
|
58
|
+
module.exports = exports.default;
|
package/dist/keywords.js
CHANGED
|
@@ -12,7 +12,7 @@ return /******/ (() => { // webpackBootstrap
|
|
|
12
12
|
/******/ "use strict";
|
|
13
13
|
/******/ var __webpack_modules__ = ({
|
|
14
14
|
|
|
15
|
-
/***/
|
|
15
|
+
/***/ 349:
|
|
16
16
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
17
17
|
|
|
18
18
|
var __webpack_unused_export__;
|
|
@@ -31,13 +31,13 @@ function q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=""+g);void 0!==a.key&&
|
|
|
31
31
|
|
|
32
32
|
/***/ }),
|
|
33
33
|
|
|
34
|
-
/***/
|
|
34
|
+
/***/ 501:
|
|
35
35
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
36
36
|
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
if (true) {
|
|
40
|
-
module.exports = __webpack_require__(
|
|
40
|
+
module.exports = __webpack_require__(349);
|
|
41
41
|
} else {}
|
|
42
42
|
|
|
43
43
|
|
|
@@ -127,8 +127,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
127
127
|
/* harmony export */ });
|
|
128
128
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(787);
|
|
129
129
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
130
|
-
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
131
|
-
var Highlight=function Highlight(props){var children=props.children,value=props.value,color=props.color,backgroundColor=props.backgroundColor,render=props.render;var child=(0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function(){return render?render(value,color,backgroundColor):/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("span",{style:{color:color,backgroundColor:backgroundColor},children:value});},[color,backgroundColor,value]);return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(react__WEBPACK_IMPORTED_MODULE_0__.Fragment,{children:[children,value&&child]});};var KeywordsInner=function KeywordsInner(props){var children=props.children,_props$caseIgnored=props.caseIgnored,caseIgnored=_props$caseIgnored===void 0?true:_props$caseIgnored,_props$color=props.color,color=_props$color===void 0?'inherit':_props$color,_props$backgroundColo=props.backgroundColor,backgroundColor=_props$backgroundColo===void 0?'#ffff00':_props$backgroundColo,value=props.value,render=props.render;if(typeof children!=='string')return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(react__WEBPACK_IMPORTED_MODULE_0__.Fragment,{children:children});var splitMatch=new RegExp(
|
|
130
|
+
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(501);
|
|
131
|
+
var Highlight=function Highlight(props){var children=props.children,value=props.value,color=props.color,backgroundColor=props.backgroundColor,render=props.render;var child=(0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function(){return render?render(value,color,backgroundColor):/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("span",{style:{color:color,backgroundColor:backgroundColor},children:value});},[color,backgroundColor,value]);return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(react__WEBPACK_IMPORTED_MODULE_0__.Fragment,{children:[children,value&&child]});};var KeywordsInner=function KeywordsInner(props){var children=props.children,_props$caseIgnored=props.caseIgnored,caseIgnored=_props$caseIgnored===void 0?true:_props$caseIgnored,_props$color=props.color,color=_props$color===void 0?'inherit':_props$color,_props$backgroundColo=props.backgroundColor,backgroundColor=_props$backgroundColo===void 0?'#ffff00':_props$backgroundColo,value=props.value,render=props.render;if(typeof children!=='string')return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(react__WEBPACK_IMPORTED_MODULE_0__.Fragment,{children:children});var splitMatch=new RegExp((value||'').replace(/\\/g,'\\\\'),caseIgnored?'ig':'g');var values=value?children.match(splitMatch):[];var matched=children.split(splitMatch);return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(react__WEBPACK_IMPORTED_MODULE_0__.Fragment,{children:matched.map(function(item,idx){return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(Highlight,{color:color,value:matched.length>idx+1?values[idx]:undefined,render:render,backgroundColor:backgroundColor,children:item},idx);})});};/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (KeywordsInner);
|
|
132
132
|
})();
|
|
133
133
|
|
|
134
134
|
/******/ return __webpack_exports__;
|
package/dist/keywords.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! For license information please see keywords.min.js.LICENSE.txt */
|
|
2
|
-
!function(e,r){"object"===typeof exports&&"object"===typeof module?module.exports=r(require("react")):"function"===typeof define&&define.amd?define(["react"],r):"object"===typeof exports?exports["react-keywords"]=r(require("react")):e["react-keywords"]=r(e.React)}(self,(e=>(()=>{"use strict";var r={
|
|
2
|
+
!function(e,r){"object"===typeof exports&&"object"===typeof module?module.exports=r(require("react")):"function"===typeof define&&define.amd?define(["react"],r):"object"===typeof exports?exports["react-keywords"]=r(require("react")):e["react-keywords"]=r(e.React)}(self,(e=>(()=>{"use strict";var r={349:(e,r,o)=>{var t=o(787),n=Symbol.for("react.element"),a=Symbol.for("react.fragment"),l=Object.prototype.hasOwnProperty,c=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,d={key:!0,ref:!0,__self:!0,__source:!0};function i(e,r,o){var t,a={},i=null,u=null;for(t in void 0!==o&&(i=""+o),void 0!==r.key&&(i=""+r.key),void 0!==r.ref&&(u=r.ref),r)l.call(r,t)&&!d.hasOwnProperty(t)&&(a[t]=r[t]);if(e&&e.defaultProps)for(t in r=e.defaultProps)void 0===a[t]&&(a[t]=r[t]);return{$$typeof:n,type:e,key:i,ref:u,props:a,_owner:c.current}}r.jsx=i,r.jsxs=i},501:(e,r,o)=>{e.exports=o(349)},787:r=>{r.exports=e}},o={};function t(e){var n=o[e];if(void 0!==n)return n.exports;var a=o[e]={exports:{}};return r[e](a,a.exports,t),a.exports}t.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return t.d(r,{a:r}),r},t.d=(e,r)=>{for(var o in r)t.o(r,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:r[o]})},t.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t.r=e=>{"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return(()=>{t.r(n),t.d(n,{default:()=>a});var e=t(787),r=t(501),o=function(o){var t=o.children,n=o.value,a=o.color,l=o.backgroundColor,c=o.render,d=(0,e.useMemo)((function(){return c?c(n,a,l):(0,r.jsx)("span",{style:{color:a,backgroundColor:l},children:n})}),[a,l,n]);return(0,r.jsxs)(e.Fragment,{children:[t,n&&d]})};const a=function(t){var n=t.children,a=t.caseIgnored,l=void 0===a||a,c=t.color,d=void 0===c?"inherit":c,i=t.backgroundColor,u=void 0===i?"#ffff00":i,f=t.value,s=t.render;if("string"!==typeof n)return(0,r.jsx)(e.Fragment,{children:n});var p=new RegExp((f||"").replace(/\\/g,"\\\\"),l?"ig":"g"),y=f?n.match(p):[],v=n.split(p);return(0,r.jsx)(e.Fragment,{children:v.map((function(e,t){return(0,r.jsx)(o,{color:d,value:v.length>t+1?y[t]:void 0,render:s,backgroundColor:u,children:e},t)}))})}})(),n})()));
|
package/esm/index.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Fragment, useMemo } from 'react';
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
|
-
|
|
5
4
|
var Highlight = props => {
|
|
6
5
|
var {
|
|
7
6
|
children,
|
|
@@ -21,7 +20,6 @@ var Highlight = props => {
|
|
|
21
20
|
children: [children, value && child]
|
|
22
21
|
});
|
|
23
22
|
};
|
|
24
|
-
|
|
25
23
|
var KeywordsInner = props => {
|
|
26
24
|
var {
|
|
27
25
|
children,
|
|
@@ -34,7 +32,7 @@ var KeywordsInner = props => {
|
|
|
34
32
|
if (typeof children !== 'string') return /*#__PURE__*/_jsx(Fragment, {
|
|
35
33
|
children: children
|
|
36
34
|
});
|
|
37
|
-
var splitMatch = new RegExp(
|
|
35
|
+
var splitMatch = new RegExp((value || '').replace(/\\/g, '\\\\'), caseIgnored ? 'ig' : 'g');
|
|
38
36
|
var values = value ? children.match(splitMatch) : [];
|
|
39
37
|
var matched = children.split(splitMatch);
|
|
40
38
|
return /*#__PURE__*/_jsx(Fragment, {
|
|
@@ -49,6 +47,4 @@ var KeywordsInner = props => {
|
|
|
49
47
|
})
|
|
50
48
|
});
|
|
51
49
|
};
|
|
52
|
-
|
|
53
|
-
export default KeywordsInner;
|
|
54
|
-
//# sourceMappingURL=index.js.map
|
|
50
|
+
export default KeywordsInner;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-keywords",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "Highlight a keyword in a piece of text and return a React element.",
|
|
5
5
|
"homepage": "https://uiwjs.github.io/react-keywords/",
|
|
6
6
|
"author": "kenny wang <wowohoo@qq.com>",
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
"main": "./cjs/index.js",
|
|
13
13
|
"module": "./esm/index.js",
|
|
14
14
|
"scripts": {
|
|
15
|
-
"watch": "tsbb watch",
|
|
16
|
-
"build": "tsbb build",
|
|
15
|
+
"watch": "tsbb watch src/*.tsx --use-babel",
|
|
16
|
+
"build": "tsbb build src/*.tsx --use-babel",
|
|
17
17
|
"bundle": "ncc build src/index.tsx --target web --filename keywords",
|
|
18
18
|
"bundle:watch": "ncc watch src/index.tsx --target web --filename keywords",
|
|
19
19
|
"bundle:min": "ncc build src/index.tsx --target web --filename keywords --minify",
|
package/src/index.tsx
CHANGED
|
@@ -26,7 +26,7 @@ const Highlight: FC<PropsWithChildren<HighlightProps>> = (props) => {
|
|
|
26
26
|
const KeywordsInner: FC<PropsWithChildren<KeywordsProps>> = (props) => {
|
|
27
27
|
const { children, caseIgnored = true, color = 'inherit', backgroundColor = '#ffff00', value, render } = props;
|
|
28
28
|
if (typeof children !== 'string') return <Fragment>{children}</Fragment>;
|
|
29
|
-
const splitMatch = new RegExp(
|
|
29
|
+
const splitMatch = new RegExp((value || '').replace(/\\/g, '\\\\'), caseIgnored ? 'ig' : 'g');
|
|
30
30
|
const values = value ? children.match(splitMatch) : [];
|
|
31
31
|
const matched = children.split(splitMatch);
|
|
32
32
|
return (
|
package/cjs/index.js.map
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"names": [
|
|
4
|
-
"Highlight",
|
|
5
|
-
"props",
|
|
6
|
-
"children",
|
|
7
|
-
"value",
|
|
8
|
-
"color",
|
|
9
|
-
"backgroundColor",
|
|
10
|
-
"render",
|
|
11
|
-
"child",
|
|
12
|
-
"useMemo",
|
|
13
|
-
"KeywordsInner",
|
|
14
|
-
"caseIgnored",
|
|
15
|
-
"splitMatch",
|
|
16
|
-
"RegExp",
|
|
17
|
-
"values",
|
|
18
|
-
"match",
|
|
19
|
-
"matched",
|
|
20
|
-
"split",
|
|
21
|
-
"map",
|
|
22
|
-
"item",
|
|
23
|
-
"idx",
|
|
24
|
-
"length",
|
|
25
|
-
"undefined"
|
|
26
|
-
],
|
|
27
|
-
"sources": [
|
|
28
|
-
"../src/index.tsx"
|
|
29
|
-
],
|
|
30
|
-
"sourcesContent": [
|
|
31
|
-
"import { FC, Fragment, PropsWithChildren, useMemo } from 'react';\n\nexport interface KeywordsProps {\n value?: string;\n color?: string;\n caseIgnored?: boolean;\n backgroundColor?: string;\n render?: (keyword: string, color: string, backgroundColor: string) => JSX.Element;\n}\n\ninterface HighlightProps extends KeywordsProps {}\nconst Highlight: FC<PropsWithChildren<HighlightProps>> = (props) => {\n const { children, value, color, backgroundColor, render } = props;\n const child = useMemo(\n () => (render ? render(value!, color!, backgroundColor!) : <span style={{ color, backgroundColor }}>{value}</span>),\n [color, backgroundColor, value],\n );\n return (\n <Fragment>\n {children}\n {value && child}\n </Fragment>\n );\n};\n\nconst KeywordsInner: FC<PropsWithChildren<KeywordsProps>> = (props) => {\n const { children, caseIgnored = true, color = 'inherit', backgroundColor = '#ffff00', value, render } = props;\n if (typeof children !== 'string') return <Fragment>{children}</Fragment>;\n const splitMatch = new RegExp(`${value}`, caseIgnored ? 'ig' : 'g');\n const values = value ? children.match(splitMatch) : [];\n const matched = children.split(splitMatch);\n return (\n <Fragment>\n {matched.map((item, idx) => {\n return (\n <Highlight\n key={idx}\n color={color}\n value={matched.length > idx + 1 ? (values as string[])[idx] : undefined}\n render={render}\n backgroundColor={backgroundColor}\n >\n {item}\n </Highlight>\n );\n })}\n </Fragment>\n );\n};\n\nexport default KeywordsInner;\n"
|
|
32
|
-
],
|
|
33
|
-
"mappings": ";;;;;;;AAAA;;;;AAWA,IAAMA,SAAgD,GAAG,SAAnDA,SAAmD,CAACC,KAAD,EAAW;EAClE,IAAQC,QAAR,GAA4DD,KAA5D,CAAQC,QAAR;EAAA,IAAkBC,KAAlB,GAA4DF,KAA5D,CAAkBE,KAAlB;EAAA,IAAyBC,KAAzB,GAA4DH,KAA5D,CAAyBG,KAAzB;EAAA,IAAgCC,eAAhC,GAA4DJ,KAA5D,CAAgCI,eAAhC;EAAA,IAAiDC,MAAjD,GAA4DL,KAA5D,CAAiDK,MAAjD;EACA,IAAMC,KAAK,GAAG,IAAAC,cAAA,EACZ;IAAA,OAAOF,MAAM,GAAGA,MAAM,CAACH,KAAD,EAASC,KAAT,EAAiBC,eAAjB,CAAT,gBAA8C;MAAM,KAAK,EAAE;QAAED,KAAK,EAALA,KAAF;QAASC,eAAe,EAAfA;MAAT,CAAb;MAAA,UAA0CF;IAA1C,EAA3D;EAAA,CADY,EAEZ,CAACC,KAAD,EAAQC,eAAR,EAAyBF,KAAzB,CAFY,CAAd;EAIA,oBACE,sBAAC,eAAD;IAAA,WACGD,QADH,EAEGC,KAAK,IAAII,KAFZ;EAAA,EADF;AAMD,CAZD;;AAcA,IAAME,aAAmD,GAAG,SAAtDA,aAAsD,CAACR,KAAD,EAAW;EACrE,IAAQC,QAAR,GAAwGD,KAAxG,CAAQC,QAAR;EAAA,yBAAwGD,KAAxG,CAAkBS,WAAlB;EAAA,IAAkBA,WAAlB,mCAAgC,IAAhC;EAAA,mBAAwGT,KAAxG,CAAsCG,KAAtC;EAAA,IAAsCA,KAAtC,6BAA8C,SAA9C;EAAA,4BAAwGH,KAAxG,CAAyDI,eAAzD;EAAA,IAAyDA,eAAzD,sCAA2E,SAA3E;EAAA,IAAsFF,KAAtF,GAAwGF,KAAxG,CAAsFE,KAAtF;EAAA,IAA6FG,MAA7F,GAAwGL,KAAxG,CAA6FK,MAA7F;EACA,IAAI,OAAOJ,QAAP,KAAoB,QAAxB,EAAkC,oBAAO,qBAAC,eAAD;IAAA,UAAWA;EAAX,EAAP;EAClC,IAAMS,UAAU,GAAG,IAAIC,MAAJ,WAAcT,KAAd,GAAuBO,WAAW,GAAG,IAAH,GAAU,GAA5C,CAAnB;EACA,IAAMG,MAAM,GAAGV,KAAK,GAAGD,QAAQ,CAACY,KAAT,CAAeH,UAAf,CAAH,GAAgC,EAApD;EACA,IAAMI,OAAO,GAAGb,QAAQ,CAACc,KAAT,CAAeL,UAAf,CAAhB;EACA,oBACE,qBAAC,eAAD;IAAA,UACGI,OAAO,CAACE,GAAR,CAAY,UAACC,IAAD,EAAOC,GAAP,EAAe;MAC1B,oBACE,qBAAC,SAAD;QAEE,KAAK,EAAEf,KAFT;QAGE,KAAK,EAAEW,OAAO,CAACK,MAAR,GAAiBD,GAAG,GAAG,CAAvB,GAA4BN,MAAD,CAAqBM,GAArB,CAA3B,GAAuDE,SAHhE;QAIE,MAAM,EAAEf,MAJV;QAKE,eAAe,EAAED,eALnB;QAAA,UAOGa;MAPH,GACOC,GADP,CADF;IAWD,CAZA;EADH,EADF;AAiBD,CAvBD;;eAyBeV,a"
|
|
34
|
-
}
|
package/esm/index.js.map
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"names": [
|
|
4
|
-
"Fragment",
|
|
5
|
-
"useMemo",
|
|
6
|
-
"Highlight",
|
|
7
|
-
"props",
|
|
8
|
-
"children",
|
|
9
|
-
"value",
|
|
10
|
-
"color",
|
|
11
|
-
"backgroundColor",
|
|
12
|
-
"render",
|
|
13
|
-
"child",
|
|
14
|
-
"KeywordsInner",
|
|
15
|
-
"caseIgnored",
|
|
16
|
-
"splitMatch",
|
|
17
|
-
"RegExp",
|
|
18
|
-
"values",
|
|
19
|
-
"match",
|
|
20
|
-
"matched",
|
|
21
|
-
"split",
|
|
22
|
-
"map",
|
|
23
|
-
"item",
|
|
24
|
-
"idx",
|
|
25
|
-
"length",
|
|
26
|
-
"undefined"
|
|
27
|
-
],
|
|
28
|
-
"sources": [
|
|
29
|
-
"../src/index.tsx"
|
|
30
|
-
],
|
|
31
|
-
"sourcesContent": [
|
|
32
|
-
"import { FC, Fragment, PropsWithChildren, useMemo } from 'react';\n\nexport interface KeywordsProps {\n value?: string;\n color?: string;\n caseIgnored?: boolean;\n backgroundColor?: string;\n render?: (keyword: string, color: string, backgroundColor: string) => JSX.Element;\n}\n\ninterface HighlightProps extends KeywordsProps {}\nconst Highlight: FC<PropsWithChildren<HighlightProps>> = (props) => {\n const { children, value, color, backgroundColor, render } = props;\n const child = useMemo(\n () => (render ? render(value!, color!, backgroundColor!) : <span style={{ color, backgroundColor }}>{value}</span>),\n [color, backgroundColor, value],\n );\n return (\n <Fragment>\n {children}\n {value && child}\n </Fragment>\n );\n};\n\nconst KeywordsInner: FC<PropsWithChildren<KeywordsProps>> = (props) => {\n const { children, caseIgnored = true, color = 'inherit', backgroundColor = '#ffff00', value, render } = props;\n if (typeof children !== 'string') return <Fragment>{children}</Fragment>;\n const splitMatch = new RegExp(`${value}`, caseIgnored ? 'ig' : 'g');\n const values = value ? children.match(splitMatch) : [];\n const matched = children.split(splitMatch);\n return (\n <Fragment>\n {matched.map((item, idx) => {\n return (\n <Highlight\n key={idx}\n color={color}\n value={matched.length > idx + 1 ? (values as string[])[idx] : undefined}\n render={render}\n backgroundColor={backgroundColor}\n >\n {item}\n </Highlight>\n );\n })}\n </Fragment>\n );\n};\n\nexport default KeywordsInner;\n"
|
|
33
|
-
],
|
|
34
|
-
"mappings": "AAAA,SAAaA,QAAb,EAA0CC,OAA1C,QAAyD,OAAzD;;;;AAWA,IAAMC,SAAgD,GAAIC,KAAD,IAAW;EAClE,IAAM;IAAEC,QAAF;IAAYC,KAAZ;IAAmBC,KAAnB;IAA0BC,eAA1B;IAA2CC;EAA3C,IAAsDL,KAA5D;EACA,IAAMM,KAAK,GAAGR,OAAO,CACnB,MAAOO,MAAM,GAAGA,MAAM,CAACH,KAAD,EAASC,KAAT,EAAiBC,eAAjB,CAAT,gBAA8C;IAAM,KAAK,EAAE;MAAED,KAAF;MAASC;IAAT,CAAb;IAAA,UAA0CF;EAA1C,EADxC,EAEnB,CAACC,KAAD,EAAQC,eAAR,EAAyBF,KAAzB,CAFmB,CAArB;EAIA,oBACE,MAAC,QAAD;IAAA,WACGD,QADH,EAEGC,KAAK,IAAII,KAFZ;EAAA,EADF;AAMD,CAZD;;AAcA,IAAMC,aAAmD,GAAIP,KAAD,IAAW;EACrE,IAAM;IAAEC,QAAF;IAAYO,WAAW,GAAG,IAA1B;IAAgCL,KAAK,GAAG,SAAxC;IAAmDC,eAAe,GAAG,SAArE;IAAgFF,KAAhF;IAAuFG;EAAvF,IAAkGL,KAAxG;EACA,IAAI,OAAOC,QAAP,KAAoB,QAAxB,EAAkC,oBAAO,KAAC,QAAD;IAAA,UAAWA;EAAX,EAAP;EAClC,IAAMQ,UAAU,GAAG,IAAIC,MAAJ,MAAcR,KAAd,EAAuBM,WAAW,GAAG,IAAH,GAAU,GAA5C,CAAnB;EACA,IAAMG,MAAM,GAAGT,KAAK,GAAGD,QAAQ,CAACW,KAAT,CAAeH,UAAf,CAAH,GAAgC,EAApD;EACA,IAAMI,OAAO,GAAGZ,QAAQ,CAACa,KAAT,CAAeL,UAAf,CAAhB;EACA,oBACE,KAAC,QAAD;IAAA,UACGI,OAAO,CAACE,GAAR,CAAY,CAACC,IAAD,EAAOC,GAAP,KAAe;MAC1B,oBACE,KAAC,SAAD;QAEE,KAAK,EAAEd,KAFT;QAGE,KAAK,EAAEU,OAAO,CAACK,MAAR,GAAiBD,GAAG,GAAG,CAAvB,GAA4BN,MAAD,CAAqBM,GAArB,CAA3B,GAAuDE,SAHhE;QAIE,MAAM,EAAEd,MAJV;QAKE,eAAe,EAAED,eALnB;QAAA,UAOGY;MAPH,GACOC,GADP,CADF;IAWD,CAZA;EADH,EADF;AAiBD,CAvBD;;AAyBA,eAAeV,aAAf"
|
|
35
|
-
}
|