@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.
Files changed (42) hide show
  1. package/dist/Editor.js +11 -3
  2. package/dist/Editor.js.map +1 -1
  3. package/dist/EditorContent.js +3 -3
  4. package/dist/FormikEditor.js +3 -2
  5. package/dist/FormikEditor.js.map +1 -1
  6. package/dist/{chunk-DBch3tqq.js → chunk-BeW6s4Si.js} +15 -2
  7. package/dist/chunk-BeW6s4Si.js.map +1 -0
  8. package/dist/{chunk-CDBSVHz6.js → chunk-CGoAVMwz.js} +3 -16
  9. package/dist/chunk-CGoAVMwz.js.map +1 -0
  10. package/dist/{chunk-B88REGV6.js → chunk-GwDLPLDQ.js} +6 -3
  11. package/dist/chunk-GwDLPLDQ.js.map +1 -0
  12. package/dist/cjs/Editor.cjs.js +15 -7
  13. package/dist/cjs/Editor.cjs.js.map +1 -1
  14. package/dist/cjs/EditorContent.cjs.js +8 -8
  15. package/dist/cjs/FormikEditor.cjs.js +3 -2
  16. package/dist/cjs/FormikEditor.cjs.js.map +1 -1
  17. package/dist/cjs/{chunk-a-cnTJIr.cjs.js → chunk-3eBSLfI7.cjs.js} +9 -5
  18. package/dist/cjs/chunk-3eBSLfI7.cjs.js.map +1 -0
  19. package/dist/cjs/{chunk-Dh0stJ0O.cjs.js → chunk-B0S9scli.cjs.js} +20 -1
  20. package/dist/cjs/chunk-B0S9scli.cjs.js.map +1 -0
  21. package/dist/cjs/{chunk-BIff7Ppc.cjs.js → chunk-CjXcHxqY.cjs.js} +9 -25
  22. package/dist/cjs/chunk-CjXcHxqY.cjs.js.map +1 -0
  23. package/dist/cjs/index.cjs.js +4 -5
  24. package/dist/cjs/index.cjs.js.map +1 -1
  25. package/dist/cjs/utils.cjs.js +4 -5
  26. package/dist/cjs/utils.cjs.js.map +1 -1
  27. package/dist/editor-stats.html +1 -1
  28. package/dist/index.js +4 -5
  29. package/dist/index.js.map +1 -1
  30. package/dist/utils.js +4 -5
  31. package/dist/utils.js.map +1 -1
  32. package/package.json +1 -1
  33. package/dist/chunk-B88REGV6.js.map +0 -1
  34. package/dist/chunk-CDBSVHz6.js.map +0 -1
  35. package/dist/chunk-DBch3tqq.js.map +0 -1
  36. package/dist/chunk-LjMXcuRe.js +0 -6
  37. package/dist/chunk-LjMXcuRe.js.map +0 -1
  38. package/dist/cjs/chunk-BIff7Ppc.cjs.js.map +0 -1
  39. package/dist/cjs/chunk-DN1S-KLQ.cjs.js +0 -10
  40. package/dist/cjs/chunk-DN1S-KLQ.cjs.js.map +0 -1
  41. package/dist/cjs/chunk-Dh0stJ0O.cjs.js.map +0 -1
  42. package/dist/cjs/chunk-a-cnTJIr.cjs.js.map +0 -1
@@ -1,5 +1,8 @@
1
1
  import { isNotPresent } from '@bigbinary/neeto-cist';
2
- import { N as NON_EMPTY_TAGS, E as EMPTY_TAGS_TO_REMOVE } from './chunk-LjMXcuRe.js';
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-B88REGV6.js.map
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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"}
@@ -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(common.lowlight.listLanguages()), ["html"]).sort();
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: common.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 + constants.MARGIN_HEIGHT;
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 - constants.MARGIN_HEIGHT;
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: onBlur
19789
+ onBlur: handleBlur
19782
19790
  });
19783
19791
  Menu$3.useEditorState({
19784
19792
  editor: editor,