react-keywords 0.0.5 → 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 CHANGED
@@ -21,7 +21,7 @@ npm i react-keywords
21
21
 
22
22
  ## Basic Usage
23
23
 
24
- ```jsx
24
+ ```jsx mdx:preview
25
25
  import React from 'react';
26
26
  import Keywords from 'react-keywords';
27
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
- value = props.value,
15
- color = props.color,
16
- backgroundColor = props.backgroundColor,
17
- render = props.render;
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,17 +25,16 @@ 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
- _props$caseIgnored = props.caseIgnored,
35
- caseIgnored = _props$caseIgnored === void 0 ? true : _props$caseIgnored,
36
- _props$color = props.color,
37
- color = _props$color === void 0 ? 'inherit' : _props$color,
38
- _props$backgroundColo = props.backgroundColor,
39
- backgroundColor = _props$backgroundColo === void 0 ? '#ffff00' : _props$backgroundColo,
40
- value = props.value,
41
- render = props.render;
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
  });
@@ -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
- /***/ 298:
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
- /***/ 605:
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__(298);
40
+ module.exports = __webpack_require__(349);
41
41
  } else {}
42
42
 
43
43
 
@@ -127,7 +127,7 @@ __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__(605);
130
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(501);
131
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
 
@@ -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={298:(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},605:(e,r,o)=>{e.exports=o(298)},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(605),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})()));
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,
@@ -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.5",
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/cjs/index.js.map DELETED
@@ -1,35 +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
- "replace",
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 || '').replace(/\\\\/g, '\\\\\\\\'), 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;;;;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,CAAW,CAACT,KAAK,IAAI,EAAV,EAAcU,OAAd,CAAsB,KAAtB,EAA6B,MAA7B,CAAX,EAAiDH,WAAW,GAAG,IAAH,GAAU,GAAtE,CAAnB;EACA,IAAMI,MAAM,GAAGX,KAAK,GAAGD,QAAQ,CAACa,KAAT,CAAeJ,UAAf,CAAH,GAAgC,EAApD;EACA,IAAMK,OAAO,GAAGd,QAAQ,CAACe,KAAT,CAAeN,UAAf,CAAhB;EACA,oBACE,qBAAC,eAAD;IAAA,UACGK,OAAO,CAACE,GAAR,CAAY,UAACC,IAAD,EAAOC,GAAP,EAAe;MAC1B,oBACE,qBAAC,SAAD;QAEE,KAAK,EAAEhB,KAFT;QAGE,KAAK,EAAEY,OAAO,CAACK,MAAR,GAAiBD,GAAG,GAAG,CAAvB,GAA4BN,MAAD,CAAqBM,GAArB,CAA3B,GAAuDE,SAHhE;QAIE,MAAM,EAAEhB,MAJV;QAKE,eAAe,EAAED,eALnB;QAAA,UAOGc;MAPH,GACOC,GADP,CADF;IAWD,CAZA;EADH,EADF;AAiBD,CAvBD;;eAyBeX,a"
35
- }
package/esm/index.js.map DELETED
@@ -1,36 +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
- "replace",
19
- "values",
20
- "match",
21
- "matched",
22
- "split",
23
- "map",
24
- "item",
25
- "idx",
26
- "length",
27
- "undefined"
28
- ],
29
- "sources": [
30
- "../src/index.tsx"
31
- ],
32
- "sourcesContent": [
33
- "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 || '').replace(/\\\\/g, '\\\\\\\\'), 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"
34
- ],
35
- "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,CAAW,CAACR,KAAK,IAAI,EAAV,EAAcS,OAAd,CAAsB,KAAtB,EAA6B,MAA7B,CAAX,EAAiDH,WAAW,GAAG,IAAH,GAAU,GAAtE,CAAnB;EACA,IAAMI,MAAM,GAAGV,KAAK,GAAGD,QAAQ,CAACY,KAAT,CAAeJ,UAAf,CAAH,GAAgC,EAApD;EACA,IAAMK,OAAO,GAAGb,QAAQ,CAACc,KAAT,CAAeN,UAAf,CAAhB;EACA,oBACE,KAAC,QAAD;IAAA,UACGK,OAAO,CAACE,GAAR,CAAY,CAACC,IAAD,EAAOC,GAAP,KAAe;MAC1B,oBACE,KAAC,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;;AAyBA,eAAeX,aAAf"
36
- }