@kontakto/email-template-editor 1.3.0 → 1.3.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/dist/index.cjs +26 -24
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +26 -24
- package/dist/index.js.map +1 -1
- package/package.json +6 -6
package/dist/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var DOMPurify = require('dompurify');
|
|
4
4
|
var marked = require('marked');
|
|
5
5
|
var React81 = require('react');
|
|
6
6
|
var zod = require('zod');
|
|
@@ -17,7 +17,7 @@ var htmlfy = require('htmlfy');
|
|
|
17
17
|
|
|
18
18
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var DOMPurify__default = /*#__PURE__*/_interopDefault(DOMPurify);
|
|
21
21
|
var React81__default = /*#__PURE__*/_interopDefault(React81);
|
|
22
22
|
var hljs__default = /*#__PURE__*/_interopDefault(hljs);
|
|
23
23
|
var jsonHighlighter__default = /*#__PURE__*/_interopDefault(jsonHighlighter);
|
|
@@ -117,22 +117,23 @@ var ALLOWED_TAGS = [
|
|
|
117
117
|
"u",
|
|
118
118
|
"ul"
|
|
119
119
|
];
|
|
120
|
-
var
|
|
120
|
+
var ALLOWED_ATTR = [
|
|
121
|
+
"style",
|
|
122
|
+
"title",
|
|
123
|
+
"src",
|
|
124
|
+
"srcset",
|
|
125
|
+
"alt",
|
|
126
|
+
"width",
|
|
127
|
+
"height",
|
|
128
|
+
"href",
|
|
129
|
+
"target",
|
|
130
|
+
"align",
|
|
131
|
+
"start"
|
|
132
|
+
];
|
|
121
133
|
function sanitizer(html2) {
|
|
122
|
-
return
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
res[tag] = [...GENERIC_ALLOWED_ATTRIBUTES];
|
|
126
|
-
return res;
|
|
127
|
-
}, {})), {
|
|
128
|
-
img: ["src", "srcset", "alt", "width", "height", ...GENERIC_ALLOWED_ATTRIBUTES],
|
|
129
|
-
table: ["width", ...GENERIC_ALLOWED_ATTRIBUTES],
|
|
130
|
-
td: ["align", "width", ...GENERIC_ALLOWED_ATTRIBUTES],
|
|
131
|
-
th: ["align", "width", ...GENERIC_ALLOWED_ATTRIBUTES],
|
|
132
|
-
a: ["href", "target", ...GENERIC_ALLOWED_ATTRIBUTES],
|
|
133
|
-
ol: ["start", ...GENERIC_ALLOWED_ATTRIBUTES],
|
|
134
|
-
ul: ["start", ...GENERIC_ALLOWED_ATTRIBUTES]
|
|
135
|
-
})
|
|
134
|
+
return DOMPurify__default.default.sanitize(html2, {
|
|
135
|
+
ALLOWED_TAGS,
|
|
136
|
+
ALLOWED_ATTR
|
|
136
137
|
});
|
|
137
138
|
}
|
|
138
139
|
var CustomRenderer = class extends marked.Renderer {
|
|
@@ -4968,14 +4969,15 @@ var EmailEditor = React81.forwardRef((props, ref) => {
|
|
|
4968
4969
|
saveAs,
|
|
4969
4970
|
theme
|
|
4970
4971
|
} = props;
|
|
4971
|
-
const resolvedTemplate =
|
|
4972
|
-
|
|
4972
|
+
const resolvedTemplate = React81.useMemo(
|
|
4973
|
+
() => typeof initialTemplateProp === "string" ? htmlToEditorConfig(initialTemplateProp) : initialTemplateProp,
|
|
4974
|
+
[initialTemplateProp]
|
|
4975
|
+
);
|
|
4976
|
+
const prevTemplateRef = React81.useRef(void 0);
|
|
4973
4977
|
React81.useEffect(() => {
|
|
4974
|
-
if (
|
|
4975
|
-
|
|
4976
|
-
|
|
4977
|
-
resetDocument(resolvedTemplate);
|
|
4978
|
-
}
|
|
4978
|
+
if (resolvedTemplate && resolvedTemplate !== prevTemplateRef.current) {
|
|
4979
|
+
prevTemplateRef.current = resolvedTemplate;
|
|
4980
|
+
resetDocument(resolvedTemplate);
|
|
4979
4981
|
}
|
|
4980
4982
|
}, [resolvedTemplate]);
|
|
4981
4983
|
React81.useEffect(() => {
|