html-react-parser 5.0.0 → 5.0.2
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 +14 -0
- package/dist/html-react-parser.js +2 -3
- package/dist/html-react-parser.js.map +1 -1
- package/dist/html-react-parser.min.js +1 -1
- package/dist/html-react-parser.min.js.map +1 -1
- package/lib/attributes-to-props.d.ts.map +1 -1
- package/lib/attributes-to-props.js.map +1 -1
- package/lib/dom-to-react.d.ts.map +1 -1
- package/lib/dom-to-react.js +2 -3
- package/lib/dom-to-react.js.map +1 -1
- package/lib/index.d.ts +1 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/types.d.ts +1 -1
- package/lib/types.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/attributes-to-props.ts +13 -4
- package/src/dom-to-react.ts +2 -3
- package/src/index.ts +1 -1
- package/src/types.ts +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attributes-to-props.d.ts","sourceRoot":"","sources":["../src/attributes-to-props.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"attributes-to-props.d.ts","sourceRoot":"","sources":["../src/attributes-to-props.ts"],"names":[],"mappings":"AAwBA,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEhD,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG;IACrD,uBAAuB,CAAC,EAAE;QACxB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,iBAAiB,CACvC,UAAU,GAAE,UAAe,EAC3B,QAAQ,CAAC,EAAE,MAAM,GAChB,KAAK,CA8DP"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attributes-to-props.js","sourceRoot":"","sources":["../src/attributes-to-props.ts"],"names":[],"mappings":";;AAAA,iDAMwB;AACxB,yCAAuE;AAEvE,kGAAkG;AAClG,yDAAyD;AACzD,IAAM,iCAAiC,GAAG,CAAC,SAAS,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"attributes-to-props.js","sourceRoot":"","sources":["../src/attributes-to-props.ts"],"names":[],"mappings":";;AAAA,iDAMwB;AACxB,yCAAuE;AAEvE,kGAAkG;AAClG,yDAAyD;AACzD,IAAM,iCAAiC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAU,CAAC;AACxE,IAAM,4BAA4B,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAU,CAAC;AAO9E,IAAM,eAAe,GAAG;IACtB,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;CACJ,CAAC;AAYX;;;;;;GAMG;AACH,SAAwB,iBAAiB,CACvC,UAA2B,EAC3B,QAAiB;IADjB,2BAAA,EAAA,eAA2B;IAG3B,IAAM,KAAK,GAAU,EAAE,CAAC;IAExB,IAAM,gBAAgB,GAAG,OAAO,CAC9B,UAAU,CAAC,IAAI;QACb,eAAe,CAAC,UAAU,CAAC,IAAoC,CAAC,CACnE,CAAC;IAEF,KAAK,IAAM,aAAa,IAAI,UAAU,EAAE;QACtC,IAAM,cAAc,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;QAEjD,kDAAkD;QAClD,IAAI,IAAA,kCAAiB,EAAC,aAAa,CAAC,EAAE;YACpC,KAAK,CAAC,aAAa,CAAC,GAAG,cAAc,CAAC;YACtC,SAAS;SACV;QAED,2CAA2C;QAC3C,IAAM,uBAAuB,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;QAC5D,IAAI,QAAQ,GAAG,WAAW,CAAC,uBAAuB,CAAC,CAAC;QAEpD,IAAI,QAAQ,EAAE;YACZ,IAAM,YAAY,GAAG,IAAA,gCAAe,EAAC,QAAQ,CAAC,CAAC;YAE/C,qFAAqF;YACrF,IACE,iCAAiC,CAAC,OAAO,CACvC,QAA2C,CAC5C,KAAK,CAAC,CAAC;gBACR,4BAA4B,CAAC,OAAO,CAClC,QAAuC,CACxC,KAAK,CAAC,CAAC;gBACR,CAAC,gBAAgB,EACjB;gBACA,QAAQ,GAAG,WAAW,CAAC,SAAS,GAAG,uBAAuB,CAAC,CAAC;aAC7D;YAED,KAAK,CAAC,QAAQ,CAAC,GAAG,cAAc,CAAC;YAEjC,QAAQ,YAAY,IAAI,YAAY,CAAC,IAAI,EAAE;gBACzC,KAAK,wBAAO;oBACV,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;oBACvB,MAAM;gBACR,KAAK,mCAAkB;oBACrB,IAAI,cAAc,KAAK,EAAE,EAAE;wBACzB,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;qBACxB;oBACD,MAAM;aACT;YACD,SAAS;SACV;QAED,0CAA0C;QAC1C,IAAI,sCAA0B,EAAE;YAC9B,KAAK,CAAC,aAAa,CAAC,GAAG,cAAc,CAAC;SACvC;KACF;IAED,mCAAmC;IACnC,IAAA,wBAAY,EAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAEtC,OAAO,KAAK,CAAC;AACf,CAAC;AAjED,oCAiEC;AAED;;;;;GAKG;AACH,SAAS,WAAW,CAAC,aAAqB;IACxC,OAAO,sCAAqB,CAAC,aAAa,CAAC,CAAC;AAC9C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom-to-react.d.ts","sourceRoot":"","sources":["../src/dom-to-react.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,EAAW,OAAO,EAAQ,MAAM,iBAAiB,CAAC;AAY9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAQtD;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CAChC,KAAK,EAAE,OAAO,EAAE,EAChB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,MAAM,GAAG,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"dom-to-react.d.ts","sourceRoot":"","sources":["../src/dom-to-react.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,EAAW,OAAO,EAAQ,MAAM,iBAAiB,CAAC;AAY9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAQtD;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CAChC,KAAK,EAAE,OAAO,EAAE,EAChB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,MAAM,GAAG,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,CA4GtC"}
|
package/lib/dom-to-react.js
CHANGED
|
@@ -23,9 +23,8 @@ function domToReact(nodes, options) {
|
|
|
23
23
|
var hasReplace = typeof (options === null || options === void 0 ? void 0 : options.replace) === 'function';
|
|
24
24
|
var transform = (options === null || options === void 0 ? void 0 : options.transform) || utilities_1.returnFirstArg;
|
|
25
25
|
var _a = (options === null || options === void 0 ? void 0 : options.library) || React, cloneElement = _a.cloneElement, createElement = _a.createElement, isValidElement = _a.isValidElement;
|
|
26
|
-
var index = 0;
|
|
27
26
|
var nodesLength = nodes.length;
|
|
28
|
-
for (; index < nodesLength; index++) {
|
|
27
|
+
for (var index = 0; index < nodesLength; index++) {
|
|
29
28
|
var node = nodes[index];
|
|
30
29
|
// replace with custom React element (if present)
|
|
31
30
|
if (hasReplace) {
|
|
@@ -70,7 +69,7 @@ function domToReact(nodes, options) {
|
|
|
70
69
|
else if (element.attribs) {
|
|
71
70
|
props = (0, attributes_to_props_1.default)(element.attribs, element.name);
|
|
72
71
|
}
|
|
73
|
-
var children =
|
|
72
|
+
var children = void 0;
|
|
74
73
|
switch (node.type) {
|
|
75
74
|
case 'script':
|
|
76
75
|
case 'style':
|
package/lib/dom-to-react.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom-to-react.js","sourceRoot":"","sources":["../src/dom-to-react.ts"],"names":[],"mappings":";;;;;AAAA,+BAAoE;AAGpE,8EAAsD;AAEtD,yCAMqB;AAIrB,IAAM,KAAK,GAAG;IACZ,YAAY,sBAAA;IACZ,aAAa,uBAAA;IACb,cAAc,wBAAA;CACN,CAAC;AAEX;;;;;;GAMG;AACH,SAAwB,UAAU,CAChC,KAAgB,EAChB,OAAgC;IAEhC,IAAM,aAAa,GAAG,EAAE,CAAC;IAEzB,IAAM,UAAU,GAAG,OAAO,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAA,KAAK,UAAU,CAAC;IAC1D,IAAM,SAAS,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,KAAI,0BAAc,CAAC;IACjD,IAAA,KACJ,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,KAAI,KAAK,EADnB,YAAY,kBAAA,EAAE,aAAa,mBAAA,EAAE,cAAc,oBACxB,CAAC;IAE5B,
|
|
1
|
+
{"version":3,"file":"dom-to-react.js","sourceRoot":"","sources":["../src/dom-to-react.ts"],"names":[],"mappings":";;;;;AAAA,+BAAoE;AAGpE,8EAAsD;AAEtD,yCAMqB;AAIrB,IAAM,KAAK,GAAG;IACZ,YAAY,sBAAA;IACZ,aAAa,uBAAA;IACb,cAAc,wBAAA;CACN,CAAC;AAEX;;;;;;GAMG;AACH,SAAwB,UAAU,CAChC,KAAgB,EAChB,OAAgC;IAEhC,IAAM,aAAa,GAAG,EAAE,CAAC;IAEzB,IAAM,UAAU,GAAG,OAAO,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAA,KAAK,UAAU,CAAC;IAC1D,IAAM,SAAS,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,KAAI,0BAAc,CAAC;IACjD,IAAA,KACJ,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,KAAI,KAAK,EADnB,YAAY,kBAAA,EAAE,aAAa,mBAAA,EAAE,cAAc,oBACxB,CAAC;IAE5B,IAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;IAEjC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,WAAW,EAAE,KAAK,EAAE,EAAE;QAChD,IAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAE1B,iDAAiD;QACjD,IAAI,UAAU,EAAE;YACd,IAAI,cAAc,GAAG,OAAO,CAAC,OAAQ,CAAC,IAAI,CAAgB,CAAC;YAE3D,IAAI,cAAc,CAAC,cAAc,CAAC,EAAE;gBAClC,sCAAsC;gBACtC,wDAAwD;gBACxD,IAAI,WAAW,GAAG,CAAC,EAAE;oBACnB,cAAc,GAAG,YAAY,CAAC,cAAc,EAAE;wBAC5C,GAAG,EAAE,cAAc,CAAC,GAAG,IAAI,KAAK;qBACjC,CAAC,CAAC;iBACJ;gBAED,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC3D,SAAS;aACV;SACF;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;YACxB,IAAM,YAAY,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;YAE9C,+DAA+D;YAC/D,aAAa;YACb,IACE,YAAY;gBACZ,IAAI,CAAC,MAAM;gBACX,CAAC,IAAA,gCAAoB,EAAC,IAAI,CAAC,MAAiB,CAAC,EAC7C;gBACA,SAAS;aACV;YAED,gDAAgD;YAChD,aAAa;YACb,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,KAAI,YAAY,EAAE;gBACjC,SAAS;aACV;YAED,iEAAiE;YACjE,yCAAyC;YACzC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YACtD,SAAS;SACV;QAED,IAAM,OAAO,GAAG,IAAe,CAAC;QAChC,IAAI,KAAK,GAAU,EAAE,CAAC;QAEtB,IAAI,qBAAqB,CAAC,OAAO,CAAC,EAAE;YAClC,IAAA,wBAAY,EAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YACrD,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;SACzB;aAAM,IAAI,OAAO,CAAC,OAAO,EAAE;YAC1B,KAAK,GAAG,IAAA,6BAAiB,EAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;SAC1D;QAED,IAAI,QAAQ,SAAA,CAAC;QAEb,QAAQ,IAAI,CAAC,IAAI,EAAE;YACjB,KAAK,QAAQ,CAAC;YACd,KAAK,OAAO;gBACV,yDAAyD;gBACzD,6FAA6F;gBAC7F,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;oBACpB,KAAK,CAAC,uBAAuB,GAAG;wBAC9B,MAAM,EAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAU,CAAC,IAAI;qBACxC,CAAC;iBACH;gBACD,MAAM;YAER,KAAK,KAAK;gBACR,gEAAgE;gBAChE,oEAAoE;gBACpE,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;oBAChD,KAAK,CAAC,YAAY,GAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAU,CAAC,IAAI,CAAC;iBACtD;qBAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;oBAChD,gEAAgE;oBAChE,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,QAAkB,EAAE,OAAO,CAAC,CAAC;iBACzD;gBACD,MAAM;YAER,uCAAuC;YACvC;gBACE,SAAS;SACZ;QAED,sCAAsC;QACtC,wDAAwD;QACxD,IAAI,WAAW,GAAG,CAAC,EAAE;YACnB,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC;SACnB;QAED,aAAa,CAAC,IAAI,CAChB,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAClE,CAAC;KACH;IAED,OAAO,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;AACvE,CAAC;AA/GD,6BA+GC;AAED;;;;;;GAMG;AACH,SAAS,qBAAqB,CAAC,IAAa;IAC1C,OAAO,CACL,sCAA0B;QAC1B,IAAI,CAAC,IAAI,KAAK,KAAK;QACnB,IAAA,6BAAiB,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAC3C,CAAC;AACJ,CAAC"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import htmlToDOM from 'html-dom-parser';
|
|
3
2
|
import attributesToProps from './attributes-to-props';
|
|
4
3
|
import domToReact from './dom-to-react';
|
|
@@ -13,5 +12,5 @@ export { HTMLReactParserOptions, attributesToProps, domToReact, htmlToDOM };
|
|
|
13
12
|
* @param options - Parser options.
|
|
14
13
|
* @returns - React element(s), empty array, or string.
|
|
15
14
|
*/
|
|
16
|
-
export default function HTMLReactParser(html: string, options?: HTMLReactParserOptions):
|
|
15
|
+
export default function HTMLReactParser(html: string, options?: HTMLReactParserOptions): ReturnType<typeof domToReact>;
|
|
17
16
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,iBAAiB,CAAC;AAExC,OAAO,iBAAiB,MAAM,uBAAuB,CAAC;AACtD,OAAO,UAAU,MAAM,gBAAgB,CAAC;AACxC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEtD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAC3E,YAAY,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;AAI5E;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,sBAAsB,GAC/B,UAAU,CAAC,OAAO,UAAU,CAAC,CAa/B"}
|
package/lib/types.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ export interface HTMLReactParserOptions {
|
|
|
10
10
|
isValidElement: (element: any) => boolean;
|
|
11
11
|
[key: string]: any;
|
|
12
12
|
};
|
|
13
|
-
replace?: (domNode: DOMNode) => JSX.Element | string | null | boolean | void;
|
|
13
|
+
replace?: (domNode: DOMNode) => JSX.Element | string | null | boolean | object | void;
|
|
14
14
|
transform?: (reactNode: ReactNode, domNode: DOMNode, index: number) => JSX.Element | string | null | void;
|
|
15
15
|
trim?: boolean;
|
|
16
16
|
}
|
package/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,EAAE,aAAa,GAAG,iBAAiB,CAAC;IAEhD,OAAO,CAAC,EAAE;QACR,YAAY,EAAE,CACZ,OAAO,EAAE,GAAG,CAAC,OAAO,EACpB,KAAK,CAAC,EAAE,MAAM,EACd,GAAG,QAAQ,EAAE,GAAG,KACb,GAAG,CAAC,OAAO,CAAC;QACjB,aAAa,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,GAAG,KAAK,GAAG,CAAC,OAAO,CAAC;QAC5E,cAAc,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC;QAC1C,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;IAEF,OAAO,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,EAAE,aAAa,GAAG,iBAAiB,CAAC;IAEhD,OAAO,CAAC,EAAE;QACR,YAAY,EAAE,CACZ,OAAO,EAAE,GAAG,CAAC,OAAO,EACpB,KAAK,CAAC,EAAE,MAAM,EACd,GAAG,QAAQ,EAAE,GAAG,KACb,GAAG,CAAC,OAAO,CAAC;QACjB,aAAa,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,GAAG,KAAK,GAAG,CAAC,OAAO,CAAC;QAC5E,cAAc,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC;QAC1C,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;IAEF,OAAO,CAAC,EAAE,CACR,OAAO,EAAE,OAAO,KACb,GAAG,CAAC,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;IAE3D,SAAS,CAAC,EAAE,CACV,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,KACV,GAAG,CAAC,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAExC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "html-react-parser",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.2",
|
|
4
4
|
"description": "HTML to React parser.",
|
|
5
5
|
"author": "Mark <mark@remarkablemark.org>",
|
|
6
6
|
"main": "./lib/index.js",
|
|
@@ -31,10 +31,10 @@
|
|
|
31
31
|
"postpublish": "pinst --enable",
|
|
32
32
|
"prepublishOnly": "pinst --disable && npm run lint && npm run test:ci && npm run clean && npm run build",
|
|
33
33
|
"size-limit": "size-limit",
|
|
34
|
-
"test": "jest --testPathIgnorePatterns
|
|
34
|
+
"test": "jest --testPathIgnorePatterns __tests__/integration",
|
|
35
35
|
"test:ci": "CI=true npm test -- --ci --colors",
|
|
36
|
-
"test:esm": "npm run build:cjs && node --test
|
|
37
|
-
"test:integration": "npm run build && jest --coverage=false --env=jsdom
|
|
36
|
+
"test:esm": "npm run build:cjs && node --test __tests__/esm",
|
|
37
|
+
"test:integration": "npm run build && jest --coverage=false --env=jsdom __tests__/integration",
|
|
38
38
|
"test:watch": "npm test -- --watch"
|
|
39
39
|
},
|
|
40
40
|
"repository": {
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
"preact": "10.18.1",
|
|
83
83
|
"react": "18.2.0",
|
|
84
84
|
"react-dom": "18.2.0",
|
|
85
|
-
"rollup": "4.1.
|
|
85
|
+
"rollup": "4.1.5",
|
|
86
86
|
"size-limit": "10.0.1",
|
|
87
87
|
"ts-jest": "29.1.1",
|
|
88
88
|
"typescript": "5.2.2"
|
|
@@ -9,8 +9,13 @@ import { PRESERVE_CUSTOM_ATTRIBUTES, setStyleProp } from './utilities';
|
|
|
9
9
|
|
|
10
10
|
// https://react.dev/learn/sharing-state-between-components#controlled-and-uncontrolled-components
|
|
11
11
|
// https://developer.mozilla.org/docs/Web/HTML/Attributes
|
|
12
|
-
const UNCONTROLLED_COMPONENT_ATTRIBUTES = ['checked', 'value'];
|
|
13
|
-
const UNCONTROLLED_COMPONENT_NAMES = ['input', 'select', 'textarea'];
|
|
12
|
+
const UNCONTROLLED_COMPONENT_ATTRIBUTES = ['checked', 'value'] as const;
|
|
13
|
+
const UNCONTROLLED_COMPONENT_NAMES = ['input', 'select', 'textarea'] as const;
|
|
14
|
+
|
|
15
|
+
type UncontrolledComponentAttributes =
|
|
16
|
+
(typeof UNCONTROLLED_COMPONENT_ATTRIBUTES)[number];
|
|
17
|
+
|
|
18
|
+
type UncontrolledComponentNames = (typeof UNCONTROLLED_COMPONENT_NAMES)[number];
|
|
14
19
|
|
|
15
20
|
const valueOnlyInputs = {
|
|
16
21
|
reset: true,
|
|
@@ -63,8 +68,12 @@ export default function attributesToProps(
|
|
|
63
68
|
|
|
64
69
|
// convert attribute to uncontrolled component prop (e.g., `value` to `defaultValue`)
|
|
65
70
|
if (
|
|
66
|
-
UNCONTROLLED_COMPONENT_ATTRIBUTES.indexOf(
|
|
67
|
-
|
|
71
|
+
UNCONTROLLED_COMPONENT_ATTRIBUTES.indexOf(
|
|
72
|
+
propName as UncontrolledComponentAttributes,
|
|
73
|
+
) !== -1 &&
|
|
74
|
+
UNCONTROLLED_COMPONENT_NAMES.indexOf(
|
|
75
|
+
nodeName! as UncontrolledComponentNames,
|
|
76
|
+
) !== -1 &&
|
|
68
77
|
!isInputValueOnly
|
|
69
78
|
) {
|
|
70
79
|
propName = getPropName('default' + attributeNameLowerCased);
|
package/src/dom-to-react.ts
CHANGED
|
@@ -37,10 +37,9 @@ export default function domToReact(
|
|
|
37
37
|
const { cloneElement, createElement, isValidElement } =
|
|
38
38
|
options?.library || React;
|
|
39
39
|
|
|
40
|
-
let index = 0;
|
|
41
40
|
const nodesLength = nodes.length;
|
|
42
41
|
|
|
43
|
-
for (; index < nodesLength; index++) {
|
|
42
|
+
for (let index = 0; index < nodesLength; index++) {
|
|
44
43
|
const node = nodes[index];
|
|
45
44
|
|
|
46
45
|
// replace with custom React element (if present)
|
|
@@ -96,7 +95,7 @@ export default function domToReact(
|
|
|
96
95
|
props = attributesToProps(element.attribs, element.name);
|
|
97
96
|
}
|
|
98
97
|
|
|
99
|
-
let children
|
|
98
|
+
let children;
|
|
100
99
|
|
|
101
100
|
switch (node.type) {
|
|
102
101
|
case 'script':
|
package/src/index.ts
CHANGED
|
@@ -21,7 +21,7 @@ const domParserOptions = { lowerCaseAttributeNames: false } as const;
|
|
|
21
21
|
export default function HTMLReactParser(
|
|
22
22
|
html: string,
|
|
23
23
|
options?: HTMLReactParserOptions,
|
|
24
|
-
):
|
|
24
|
+
): ReturnType<typeof domToReact> {
|
|
25
25
|
if (typeof html !== 'string') {
|
|
26
26
|
throw new TypeError('First argument must be a string');
|
|
27
27
|
}
|
package/src/types.ts
CHANGED
|
@@ -17,7 +17,9 @@ export interface HTMLReactParserOptions {
|
|
|
17
17
|
[key: string]: any;
|
|
18
18
|
};
|
|
19
19
|
|
|
20
|
-
replace?: (
|
|
20
|
+
replace?: (
|
|
21
|
+
domNode: DOMNode,
|
|
22
|
+
) => JSX.Element | string | null | boolean | object | void;
|
|
21
23
|
|
|
22
24
|
transform?: (
|
|
23
25
|
reactNode: ReactNode,
|