html-react-parser 5.1.0 → 5.1.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 +1 -1
- package/dist/html-react-parser.js +5 -4
- 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/dom-to-react.d.ts.map +1 -1
- package/lib/dom-to-react.js +5 -4
- package/lib/dom-to-react.js.map +1 -1
- package/lib/types.d.ts +2 -2
- package/lib/types.d.ts.map +1 -1
- package/package.json +15 -15
- package/src/dom-to-react.ts +5 -5
- package/src/types.ts +6 -2
|
@@ -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,
|
|
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,GAAE,sBAA2B,GACnC,MAAM,GAAG,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,CA4GtC"}
|
package/lib/dom-to-react.js
CHANGED
|
@@ -19,10 +19,11 @@ var React = {
|
|
|
19
19
|
* @returns - String or JSX element(s).
|
|
20
20
|
*/
|
|
21
21
|
function domToReact(nodes, options) {
|
|
22
|
+
if (options === void 0) { options = {}; }
|
|
22
23
|
var reactElements = [];
|
|
23
|
-
var hasReplace = typeof
|
|
24
|
-
var transform =
|
|
25
|
-
var _a =
|
|
24
|
+
var hasReplace = typeof options.replace === 'function';
|
|
25
|
+
var transform = options.transform || utilities_1.returnFirstArg;
|
|
26
|
+
var _a = options.library || React, cloneElement = _a.cloneElement, createElement = _a.createElement, isValidElement = _a.isValidElement;
|
|
26
27
|
var nodesLength = nodes.length;
|
|
27
28
|
for (var index = 0; index < nodesLength; index++) {
|
|
28
29
|
var node = nodes[index];
|
|
@@ -52,7 +53,7 @@ function domToReact(nodes, options) {
|
|
|
52
53
|
}
|
|
53
54
|
// Trim is enabled and we have a whitespace node
|
|
54
55
|
// so skip it
|
|
55
|
-
if (
|
|
56
|
+
if (options.trim && isWhitespace) {
|
|
56
57
|
continue;
|
|
57
58
|
}
|
|
58
59
|
// We have a text node that's not whitespace and it can be nested
|
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,
|
|
1
|
+
{"version":3,"file":"dom-to-react.js","sourceRoot":"","sources":["../src/dom-to-react.ts"],"names":[],"mappings":"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"}
|
package/lib/types.d.ts
CHANGED
|
@@ -5,8 +5,8 @@ import type { ReactNode } from 'react';
|
|
|
5
5
|
export interface HTMLReactParserOptions {
|
|
6
6
|
htmlparser2?: ParserOptions & DomHandlerOptions;
|
|
7
7
|
library?: {
|
|
8
|
-
cloneElement: (element: JSX.Element, props?: object, ...children: any) => JSX.Element;
|
|
9
|
-
createElement: (type: any, props?: object, ...children: any) => JSX.Element;
|
|
8
|
+
cloneElement: (element: JSX.Element, props?: object, ...children: any[]) => JSX.Element;
|
|
9
|
+
createElement: (type: any, props?: object, ...children: any[]) => JSX.Element;
|
|
10
10
|
isValidElement: (element: any) => boolean;
|
|
11
11
|
[key: string]: any;
|
|
12
12
|
};
|
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,
|
|
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,EAAE,KACf,GAAG,CAAC,OAAO,CAAC;QACjB,aAAa,EAAE,CACb,IAAI,EAAE,GAAG,EACT,KAAK,CAAC,EAAE,MAAM,EACd,GAAG,QAAQ,EAAE,GAAG,EAAE,KACf,GAAG,CAAC,OAAO,CAAC;QACjB,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,EAChB,KAAK,EAAE,MAAM,KACV,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,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "html-react-parser",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.2",
|
|
4
4
|
"description": "HTML to React parser.",
|
|
5
|
-
"author": "Mark <mark@remarkablemark.org>",
|
|
5
|
+
"author": "Mark <mark@remarkablemark.org> (https://remarkablemark.org)",
|
|
6
6
|
"main": "./lib/index.js",
|
|
7
7
|
"module": "./esm/index.mjs",
|
|
8
8
|
"exports": {
|
|
@@ -50,38 +50,38 @@
|
|
|
50
50
|
],
|
|
51
51
|
"dependencies": {
|
|
52
52
|
"domhandler": "5.0.3",
|
|
53
|
-
"html-dom-parser": "5.0.
|
|
53
|
+
"html-dom-parser": "5.0.7",
|
|
54
54
|
"react-property": "2.0.2",
|
|
55
55
|
"style-to-js": "1.1.10"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
|
-
"@commitlint/cli": "18.
|
|
59
|
-
"@commitlint/config-conventional": "18.
|
|
58
|
+
"@commitlint/cli": "18.6.0",
|
|
59
|
+
"@commitlint/config-conventional": "18.6.0",
|
|
60
60
|
"@rollup/plugin-commonjs": "25.0.7",
|
|
61
61
|
"@rollup/plugin-node-resolve": "15.2.3",
|
|
62
62
|
"@rollup/plugin-terser": "0.4.4",
|
|
63
63
|
"@rollup/plugin-typescript": "11.1.6",
|
|
64
|
-
"@size-limit/preset-big-lib": "11.0.
|
|
64
|
+
"@size-limit/preset-big-lib": "11.0.2",
|
|
65
65
|
"@types/benchmark": "2.1.5",
|
|
66
|
-
"@types/jest": "29.5.
|
|
67
|
-
"@types/react": "18.2.
|
|
66
|
+
"@types/jest": "29.5.12",
|
|
67
|
+
"@types/react": "18.2.54",
|
|
68
68
|
"@types/react-dom": "18.2.18",
|
|
69
|
-
"@typescript-eslint/eslint-plugin": "6.
|
|
70
|
-
"@typescript-eslint/parser": "6.
|
|
69
|
+
"@typescript-eslint/eslint-plugin": "6.21.0",
|
|
70
|
+
"@typescript-eslint/parser": "6.21.0",
|
|
71
71
|
"benchmark": "2.1.4",
|
|
72
72
|
"eslint": "8.56.0",
|
|
73
73
|
"eslint-plugin-prettier": "5.1.3",
|
|
74
|
-
"husky": "
|
|
74
|
+
"husky": "9.0.10",
|
|
75
75
|
"jest": "29.7.0",
|
|
76
76
|
"jest-environment-jsdom": "29.7.0",
|
|
77
|
-
"lint-staged": "15.2.
|
|
77
|
+
"lint-staged": "15.2.2",
|
|
78
78
|
"pinst": "3.0.0",
|
|
79
79
|
"preact": "10.19.3",
|
|
80
80
|
"react": "18.2.0",
|
|
81
81
|
"react-dom": "18.2.0",
|
|
82
|
-
"rollup": "4.9.
|
|
83
|
-
"size-limit": "11.0.
|
|
84
|
-
"ts-jest": "29.1.
|
|
82
|
+
"rollup": "4.9.6",
|
|
83
|
+
"size-limit": "11.0.2",
|
|
84
|
+
"ts-jest": "29.1.2",
|
|
85
85
|
"typescript": "5.3.3"
|
|
86
86
|
},
|
|
87
87
|
"peerDependencies": {
|
package/src/dom-to-react.ts
CHANGED
|
@@ -28,14 +28,14 @@ const React = {
|
|
|
28
28
|
*/
|
|
29
29
|
export default function domToReact(
|
|
30
30
|
nodes: DOMNode[],
|
|
31
|
-
options
|
|
31
|
+
options: HTMLReactParserOptions = {},
|
|
32
32
|
): string | JSX.Element | JSX.Element[] {
|
|
33
33
|
const reactElements = [];
|
|
34
34
|
|
|
35
|
-
const hasReplace = typeof options
|
|
36
|
-
const transform = options
|
|
35
|
+
const hasReplace = typeof options.replace === 'function';
|
|
36
|
+
const transform = options.transform || returnFirstArg;
|
|
37
37
|
const { cloneElement, createElement, isValidElement } =
|
|
38
|
-
options
|
|
38
|
+
options.library || React;
|
|
39
39
|
|
|
40
40
|
const nodesLength = nodes.length;
|
|
41
41
|
|
|
@@ -75,7 +75,7 @@ export default function domToReact(
|
|
|
75
75
|
|
|
76
76
|
// Trim is enabled and we have a whitespace node
|
|
77
77
|
// so skip it
|
|
78
|
-
if (options
|
|
78
|
+
if (options.trim && isWhitespace) {
|
|
79
79
|
continue;
|
|
80
80
|
}
|
|
81
81
|
|
package/src/types.ts
CHANGED
|
@@ -10,9 +10,13 @@ export interface HTMLReactParserOptions {
|
|
|
10
10
|
cloneElement: (
|
|
11
11
|
element: JSX.Element,
|
|
12
12
|
props?: object,
|
|
13
|
-
...children: any
|
|
13
|
+
...children: any[]
|
|
14
|
+
) => JSX.Element;
|
|
15
|
+
createElement: (
|
|
16
|
+
type: any,
|
|
17
|
+
props?: object,
|
|
18
|
+
...children: any[]
|
|
14
19
|
) => JSX.Element;
|
|
15
|
-
createElement: (type: any, props?: object, ...children: any) => JSX.Element;
|
|
16
20
|
isValidElement: (element: any) => boolean;
|
|
17
21
|
[key: string]: any;
|
|
18
22
|
};
|