@bigbinary/neeto-editor 1.45.14 → 1.45.15
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/Editor.js +11 -3
- package/dist/Editor.js.map +1 -1
- package/dist/EditorContent.js +3 -3
- package/dist/FormikEditor.js +3 -2
- package/dist/FormikEditor.js.map +1 -1
- package/dist/{chunk-DBch3tqq.js → chunk-BeW6s4Si.js} +15 -2
- package/dist/chunk-BeW6s4Si.js.map +1 -0
- package/dist/{chunk-CDBSVHz6.js → chunk-CGoAVMwz.js} +3 -16
- package/dist/chunk-CGoAVMwz.js.map +1 -0
- package/dist/{chunk-B88REGV6.js → chunk-GwDLPLDQ.js} +6 -3
- package/dist/chunk-GwDLPLDQ.js.map +1 -0
- package/dist/cjs/Editor.cjs.js +15 -7
- package/dist/cjs/Editor.cjs.js.map +1 -1
- package/dist/cjs/EditorContent.cjs.js +8 -8
- package/dist/cjs/FormikEditor.cjs.js +3 -2
- package/dist/cjs/FormikEditor.cjs.js.map +1 -1
- package/dist/cjs/{chunk-a-cnTJIr.cjs.js → chunk-3eBSLfI7.cjs.js} +9 -5
- package/dist/cjs/chunk-3eBSLfI7.cjs.js.map +1 -0
- package/dist/cjs/{chunk-Dh0stJ0O.cjs.js → chunk-B0S9scli.cjs.js} +20 -1
- package/dist/cjs/chunk-B0S9scli.cjs.js.map +1 -0
- package/dist/cjs/{chunk-BIff7Ppc.cjs.js → chunk-CjXcHxqY.cjs.js} +9 -25
- package/dist/cjs/chunk-CjXcHxqY.cjs.js.map +1 -0
- package/dist/cjs/index.cjs.js +4 -5
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/utils.cjs.js +4 -5
- package/dist/cjs/utils.cjs.js.map +1 -1
- package/dist/editor-stats.html +1 -1
- package/dist/index.js +4 -5
- package/dist/index.js.map +1 -1
- package/dist/utils.js +4 -5
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-B88REGV6.js.map +0 -1
- package/dist/chunk-CDBSVHz6.js.map +0 -1
- package/dist/chunk-DBch3tqq.js.map +0 -1
- package/dist/chunk-LjMXcuRe.js +0 -6
- package/dist/chunk-LjMXcuRe.js.map +0 -1
- package/dist/cjs/chunk-BIff7Ppc.cjs.js.map +0 -1
- package/dist/cjs/chunk-DN1S-KLQ.cjs.js +0 -10
- package/dist/cjs/chunk-DN1S-KLQ.cjs.js.map +0 -1
- package/dist/cjs/chunk-Dh0stJ0O.cjs.js.map +0 -1
- package/dist/cjs/chunk-a-cnTJIr.cjs.js.map +0 -1
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { isNotPresent } from '@bigbinary/neeto-cist';
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
var NON_EMPTY_TAGS = ["img", "iframe"];
|
|
4
|
+
var MARGIN_HEIGHT = 8;
|
|
5
|
+
var EMPTY_TAGS_TO_REMOVE = ["p", "h1", "h2", "h3", "h4", "h5", "h6", "br"];
|
|
3
6
|
|
|
4
7
|
var removeTagsStart = function removeTagsStart(node) {
|
|
5
8
|
while (node.firstChild && EMPTY_TAGS_TO_REMOVE.includes((_node$firstChild$tagN = node.firstChild.tagName) === null || _node$firstChild$tagN === void 0 ? void 0 : _node$firstChild$tagN.toLowerCase())) {
|
|
@@ -55,5 +58,5 @@ var isEditorContentWithinLimit = function isEditorContentWithinLimit(htmlContent
|
|
|
55
58
|
return isLengthWithinLimit;
|
|
56
59
|
};
|
|
57
60
|
|
|
58
|
-
export { isEditorContentWithinLimit as a, isEditorEmpty as i, removeEmptyTags as r };
|
|
59
|
-
//# sourceMappingURL=chunk-
|
|
61
|
+
export { MARGIN_HEIGHT as M, isEditorContentWithinLimit as a, isEditorEmpty as i, removeEmptyTags as r };
|
|
62
|
+
//# sourceMappingURL=chunk-GwDLPLDQ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-GwDLPLDQ.js","sources":["../src/utils/constants.js","../src/utils/common.js"],"sourcesContent":["export const NON_EMPTY_TAGS = [\"img\", \"iframe\"];\n\nexport const MARGIN_HEIGHT = 8;\n\nexport const EMPTY_TAGS_TO_REMOVE = [\n \"p\",\n \"h1\",\n \"h2\",\n \"h3\",\n \"h4\",\n \"h5\",\n \"h6\",\n \"br\",\n];\n","import { isNotPresent } from \"neetocist\";\n\nimport { EMPTY_TAGS_TO_REMOVE, NON_EMPTY_TAGS } from \"./constants\";\n\nconst removeTagsStart = node => {\n while (\n node.firstChild &&\n EMPTY_TAGS_TO_REMOVE.includes(node.firstChild.tagName?.toLowerCase())\n ) {\n if (!node.firstChild.innerHTML) {\n node.firstChild.remove();\n } else {\n removeTagsStart(node.firstChild);\n if (node.firstChild.innerHTML) {\n break;\n }\n }\n }\n};\n\nconst removeTagsEnd = node => {\n while (\n node.lastChild &&\n EMPTY_TAGS_TO_REMOVE.includes(node.lastChild.tagName?.toLowerCase())\n ) {\n if (!node.lastChild.innerHTML) {\n node.lastChild.remove();\n } else {\n removeTagsEnd(node.lastChild);\n if (node.lastChild.innerHTML) {\n break;\n }\n }\n }\n};\n\nexport const removeEmptyTags = html => {\n const tempDiv = document.createElement(\"div\");\n tempDiv.innerHTML = html;\n\n removeTagsStart(tempDiv);\n removeTagsEnd(tempDiv);\n\n return tempDiv.innerHTML;\n};\n\nexport const isEditorEmpty = htmlContent => {\n if (isNotPresent(htmlContent)) return true;\n\n if (NON_EMPTY_TAGS.some(tag => htmlContent.includes(tag))) return false;\n\n const element = document.createElement(\"div\");\n element.innerHTML = htmlContent;\n const editorIsEmpty = isNotPresent(element.textContent?.trim());\n element.remove();\n\n return editorIsEmpty;\n};\n\nexport const isEditorContentWithinLimit = (htmlContent, maxLength) => {\n if (isNotPresent(htmlContent)) return true;\n\n const element = document.createElement(\"div\");\n element.innerHTML = htmlContent;\n const isLengthWithinLimit = element.textContent.length <= maxLength;\n element.remove();\n\n return isLengthWithinLimit;\n};\n"],"names":["NON_EMPTY_TAGS","MARGIN_HEIGHT","EMPTY_TAGS_TO_REMOVE","removeTagsStart","node","firstChild","includes","_node$firstChild$tagN","tagName","toLowerCase","innerHTML","remove","removeTagsEnd","lastChild","_node$lastChild$tagNa","removeEmptyTags","html","tempDiv","document","createElement","isEditorEmpty","htmlContent","_element$textContent","isNotPresent","some","tag","element","editorIsEmpty","textContent","trim","isEditorContentWithinLimit","maxLength","isLengthWithinLimit","length"],"mappings":"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"}
|
package/dist/cjs/Editor.cjs.js
CHANGED
|
@@ -15,6 +15,9 @@ var ramda = require('ramda');
|
|
|
15
15
|
var jsxRuntime = require('react/jsx-runtime');
|
|
16
16
|
var injectCss = require('./chunk-vQvjPR2x.cjs.js');
|
|
17
17
|
var utils = require('./chunk-Juybs_3x.cjs.js');
|
|
18
|
+
require('react-dom/server');
|
|
19
|
+
var index = require('./chunk-B0S9scli.cjs.js');
|
|
20
|
+
var common = require('./chunk-3eBSLfI7.cjs.js');
|
|
18
21
|
var Y = require('yjs');
|
|
19
22
|
var Down = require('@bigbinary/neeto-icons/Down');
|
|
20
23
|
var Highlight$1 = require('@bigbinary/neeto-icons/Highlight');
|
|
@@ -24,7 +27,6 @@ var Input = require('@bigbinary/neetoui/Input');
|
|
|
24
27
|
var Button = require('@bigbinary/neetoui/Button');
|
|
25
28
|
var reactI18next = require('react-i18next');
|
|
26
29
|
var i18n = require('i18next');
|
|
27
|
-
var common = require('./chunk-Dh0stJ0O.cjs.js');
|
|
28
30
|
var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
|
|
29
31
|
var _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
30
32
|
var ReactDOM = require('react-dom');
|
|
@@ -44,7 +46,6 @@ var Close = require('@bigbinary/neeto-icons/Close');
|
|
|
44
46
|
var Modal = require('@bigbinary/neetoui/Modal');
|
|
45
47
|
var Avatar = require('@bigbinary/neetoui/Avatar');
|
|
46
48
|
var Typography = require('@bigbinary/neetoui/Typography');
|
|
47
|
-
var constants = require('./chunk-DN1S-KLQ.cjs.js');
|
|
48
49
|
var Tippy = require('@tippyjs/react');
|
|
49
50
|
var Paragraph$1 = require('@bigbinary/neeto-icons/Paragraph');
|
|
50
51
|
var TextH1 = require('@bigbinary/neeto-icons/TextH1');
|
|
@@ -8312,7 +8313,7 @@ const CodeBlockLowlight = CodeBlock$1.extend({
|
|
|
8312
8313
|
},
|
|
8313
8314
|
});
|
|
8314
8315
|
|
|
8315
|
-
var SORTED_LANGUAGE_LIST = [].concat(_toConsumableArray(
|
|
8316
|
+
var SORTED_LANGUAGE_LIST = [].concat(_toConsumableArray(index.lowlight.listLanguages()), ["html"]).sort();
|
|
8316
8317
|
var LINE_NUMBER_OPTIONS = [{
|
|
8317
8318
|
label: i18n.t("neetoEditor.codeblock.showLineNumbers"),
|
|
8318
8319
|
value: "true"
|
|
@@ -8605,7 +8606,7 @@ var CodeBlock = CodeBlockLowlight.extend({
|
|
|
8605
8606
|
return Menu$3.ReactNodeViewRenderer(CodeBlockComponent);
|
|
8606
8607
|
}
|
|
8607
8608
|
}).configure({
|
|
8608
|
-
lowlight:
|
|
8609
|
+
lowlight: index.lowlight,
|
|
8609
8610
|
defaultLanguage: "plaintext"
|
|
8610
8611
|
});
|
|
8611
8612
|
|
|
@@ -13149,12 +13150,12 @@ var scrollHandler = function scrollHandler(_ref) {
|
|
|
13149
13150
|
}
|
|
13150
13151
|
var parentItem = wrapperRef.current;
|
|
13151
13152
|
var selectedItem = parentItem.children[index];
|
|
13152
|
-
var itemHeight = selectedItem.clientHeight +
|
|
13153
|
+
var itemHeight = selectedItem.clientHeight + common.MARGIN_HEIGHT;
|
|
13153
13154
|
var scrollPosition = parentItem.scrollTop;
|
|
13154
13155
|
if (selectedItem.offsetTop + itemHeight > scrollPosition + parentItem.clientHeight) {
|
|
13155
13156
|
scrollPosition = selectedItem.offsetTop - parentItem.clientHeight + itemHeight;
|
|
13156
13157
|
} else if (scrollPosition > selectedItem.offsetTop) {
|
|
13157
|
-
scrollPosition = selectedItem.offsetTop -
|
|
13158
|
+
scrollPosition = selectedItem.offsetTop - common.MARGIN_HEIGHT;
|
|
13158
13159
|
}
|
|
13159
13160
|
wrapperRef.current.scrollTop = scrollPosition;
|
|
13160
13161
|
};
|
|
@@ -19713,6 +19714,13 @@ var Editor = function Editor(_ref, ref) {
|
|
|
19713
19714
|
var editor = _ref2.editor;
|
|
19714
19715
|
return onChange(editor.getHTML());
|
|
19715
19716
|
}, 100);
|
|
19717
|
+
var handleBlur = function handleBlur(props) {
|
|
19718
|
+
var editor = props.editor;
|
|
19719
|
+
var trimmedContent = common.removeEmptyTags(editor.getHTML());
|
|
19720
|
+
onChange(trimmedContent);
|
|
19721
|
+
editor.commands.setContent(trimmedContent);
|
|
19722
|
+
onBlur(props);
|
|
19723
|
+
};
|
|
19716
19724
|
var customExtensions = useCustomExtensions({
|
|
19717
19725
|
placeholder: placeholder,
|
|
19718
19726
|
extensions: extensions,
|
|
@@ -19778,7 +19786,7 @@ var Editor = function Editor(_ref, ref) {
|
|
|
19778
19786
|
},
|
|
19779
19787
|
onUpdate: debouncedOnChangeHandler,
|
|
19780
19788
|
onFocus: onFocus,
|
|
19781
|
-
onBlur:
|
|
19789
|
+
onBlur: handleBlur
|
|
19782
19790
|
});
|
|
19783
19791
|
Menu$3.useEditorState({
|
|
19784
19792
|
editor: editor,
|