@bigbinary/neeto-editor-frontend 2.0.6 → 2.0.7

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 (128) hide show
  1. package/dist/.ready +1 -1
  2. package/dist/Attachments.js +3 -4
  3. package/dist/Attachments.js.map +1 -1
  4. package/dist/Editor.js +89 -94
  5. package/dist/Editor.js.map +1 -1
  6. package/dist/EditorContent.js +4 -4
  7. package/dist/EditorContent.js.map +1 -1
  8. package/dist/FormikEditor.js +7 -7
  9. package/dist/FormikEditor.js.map +1 -1
  10. package/dist/Menu.js +3 -4
  11. package/dist/Menu.js.map +1 -1
  12. package/dist/{chunk-C4efob7L.js → chunk-BGx6BSFw.js} +82 -82
  13. package/dist/chunk-BGx6BSFw.js.map +1 -0
  14. package/dist/{chunk-CxFukRwo.js → chunk-BVW5D3k5.js} +11 -13
  15. package/dist/{chunk-CxFukRwo.js.map → chunk-BVW5D3k5.js.map} +1 -1
  16. package/dist/{chunk-CJfLgMJF.js → chunk-BV_wep_Y.js} +4 -5
  17. package/dist/{chunk-CJfLgMJF.js.map → chunk-BV_wep_Y.js.map} +1 -1
  18. package/dist/{chunk-jiUuXPs1.js → chunk-BfQ_Kj4i.js} +4 -5
  19. package/dist/{chunk-jiUuXPs1.js.map → chunk-BfQ_Kj4i.js.map} +1 -1
  20. package/dist/{chunk-C893rdfW.js → chunk-Byc0nnPW.js} +63 -63
  21. package/dist/chunk-Byc0nnPW.js.map +1 -0
  22. package/dist/{chunk-Qg4uQqj3.js → chunk-CTLN7kYv.js} +7 -7
  23. package/dist/{chunk-Qg4uQqj3.js.map → chunk-CTLN7kYv.js.map} +1 -1
  24. package/dist/{chunk-9vP3rEtI.js → chunk-CrQm8ki8.js} +9 -9
  25. package/dist/{chunk-9vP3rEtI.js.map → chunk-CrQm8ki8.js.map} +1 -1
  26. package/dist/{chunk-CA9DTddx.js → chunk-CxFTIgDS.js} +35 -40
  27. package/dist/chunk-CxFTIgDS.js.map +1 -0
  28. package/dist/{chunk-C6Wn4nia.js → chunk-D_Lgx0N7.js} +35 -40
  29. package/dist/chunk-D_Lgx0N7.js.map +1 -0
  30. package/dist/{chunk-aCTMceVU.js → chunk-DbtYYDYF.js} +9 -9
  31. package/dist/{chunk-aCTMceVU.js.map → chunk-DbtYYDYF.js.map} +1 -1
  32. package/dist/{chunk-Dm4Qt79M.js → chunk-DhFieQe2.js} +82 -82
  33. package/dist/chunk-DhFieQe2.js.map +1 -0
  34. package/dist/chunk-Di3ipdfT.js.map +1 -1
  35. package/dist/{chunk-fDmcpgqx.js → chunk-DxmX0drN.js} +2 -2
  36. package/dist/{chunk-fDmcpgqx.js.map → chunk-DxmX0drN.js.map} +1 -1
  37. package/dist/{chunk-2yDx3K8L.js → chunk-MLCxAQf7.js} +63 -63
  38. package/dist/chunk-MLCxAQf7.js.map +1 -0
  39. package/dist/{chunk-D3QbacSt.js → chunk-OP-lX765.js} +44 -50
  40. package/dist/{chunk-D3QbacSt.js.map → chunk-OP-lX765.js.map} +1 -1
  41. package/dist/chunk-UwzgbfZD.js.map +1 -1
  42. package/dist/cjs/Attachments.cjs.js +3 -4
  43. package/dist/cjs/Attachments.cjs.js.map +1 -1
  44. package/dist/cjs/Editor.cjs.js +89 -95
  45. package/dist/cjs/Editor.cjs.js.map +1 -1
  46. package/dist/cjs/EditorContent.cjs.js +4 -4
  47. package/dist/cjs/EditorContent.cjs.js.map +1 -1
  48. package/dist/cjs/FormikEditor.cjs.js +7 -7
  49. package/dist/cjs/FormikEditor.cjs.js.map +1 -1
  50. package/dist/cjs/Menu.cjs.js +3 -4
  51. package/dist/cjs/Menu.cjs.js.map +1 -1
  52. package/dist/cjs/{chunk-WeNbd2ic.cjs.js → chunk--47DtZYn.cjs.js} +82 -83
  53. package/dist/cjs/chunk--47DtZYn.cjs.js.map +1 -0
  54. package/dist/cjs/{chunk-B7RhUrgV.cjs.js → chunk-9oA3Y9DG.cjs.js} +11 -14
  55. package/dist/cjs/{chunk-B7RhUrgV.cjs.js.map → chunk-9oA3Y9DG.cjs.js.map} +1 -1
  56. package/dist/cjs/{chunk-BL4O70ER.cjs.js → chunk-BAse0j9m.cjs.js} +4 -5
  57. package/dist/cjs/{chunk-BL4O70ER.cjs.js.map → chunk-BAse0j9m.cjs.js.map} +1 -1
  58. package/dist/cjs/{chunk-Bm1Dzh4r.cjs.js → chunk-BPLEmkMA.cjs.js} +34 -40
  59. package/dist/cjs/chunk-BPLEmkMA.cjs.js.map +1 -0
  60. package/dist/cjs/{chunk-D3Unocnm.cjs.js → chunk-Bde8Sbb1.cjs.js} +44 -51
  61. package/dist/cjs/{chunk-D3Unocnm.cjs.js.map → chunk-Bde8Sbb1.cjs.js.map} +1 -1
  62. package/dist/cjs/{chunk-BKvkHB8E.cjs.js → chunk-Bsk_FDUA.cjs.js} +7 -7
  63. package/dist/cjs/{chunk-BKvkHB8E.cjs.js.map → chunk-Bsk_FDUA.cjs.js.map} +1 -1
  64. package/dist/cjs/{chunk-DXsX8co9.cjs.js → chunk-BwE6pvh2.cjs.js} +2 -2
  65. package/dist/cjs/{chunk-DXsX8co9.cjs.js.map → chunk-BwE6pvh2.cjs.js.map} +1 -1
  66. package/dist/cjs/chunk-BxKa_XOs.cjs.js.map +1 -1
  67. package/dist/cjs/{chunk-B1X-JIj8.cjs.js → chunk-CHk_Gq2n.cjs.js} +34 -40
  68. package/dist/cjs/chunk-CHk_Gq2n.cjs.js.map +1 -0
  69. package/dist/cjs/{chunk-CesnwG-V.cjs.js → chunk-CkdAygKd.cjs.js} +9 -9
  70. package/dist/cjs/{chunk-CesnwG-V.cjs.js.map → chunk-CkdAygKd.cjs.js.map} +1 -1
  71. package/dist/cjs/chunk-CohcWDmm.cjs.js.map +1 -1
  72. package/dist/cjs/{chunk-DBQBe3dq.cjs.js → chunk-CwtiYxqr.cjs.js} +9 -9
  73. package/dist/cjs/{chunk-DBQBe3dq.cjs.js.map → chunk-CwtiYxqr.cjs.js.map} +1 -1
  74. package/dist/cjs/{chunk-DRTgn9TG.cjs.js → chunk-D53HfRZd.cjs.js} +62 -63
  75. package/dist/cjs/chunk-D53HfRZd.cjs.js.map +1 -0
  76. package/dist/cjs/{chunk-UyXI9oIp.cjs.js → chunk-D86ONI5s.cjs.js} +4 -5
  77. package/dist/cjs/{chunk-UyXI9oIp.cjs.js.map → chunk-D86ONI5s.cjs.js.map} +1 -1
  78. package/dist/cjs/{chunk-TCCIxl2A.cjs.js → chunk-D9InNR1-.cjs.js} +62 -63
  79. package/dist/cjs/chunk-D9InNR1-.cjs.js.map +1 -0
  80. package/dist/cjs/{chunk-BETPWBif.cjs.js → chunk-DGPpvE8O.cjs.js} +82 -83
  81. package/dist/cjs/chunk-DGPpvE8O.cjs.js.map +1 -0
  82. package/dist/cjs/index.cjs.js +10 -10
  83. package/dist/cjs/utils.cjs.js +3 -3
  84. package/dist/cjs/v2/Attachments.cjs.js +3 -4
  85. package/dist/cjs/v2/Attachments.cjs.js.map +1 -1
  86. package/dist/cjs/v2/Editor.cjs.js +88 -94
  87. package/dist/cjs/v2/Editor.cjs.js.map +1 -1
  88. package/dist/cjs/v2/EditorContent.cjs.js +3 -3
  89. package/dist/cjs/v2/FormikEditor.cjs.js +7 -7
  90. package/dist/cjs/v2/FormikEditor.cjs.js.map +1 -1
  91. package/dist/cjs/v2/Menu.cjs.js +3 -4
  92. package/dist/cjs/v2/Menu.cjs.js.map +1 -1
  93. package/dist/cjs/v2/index.cjs.js +9 -9
  94. package/dist/cjs/v2/utils.cjs.js +3 -3
  95. package/dist/editor-content.min.css +1 -1
  96. package/dist/editor-output-pdf-email.css +1 -1
  97. package/dist/editor-output.js +1 -1
  98. package/dist/editor-stats.html +1 -1
  99. package/dist/index.js +10 -10
  100. package/dist/utils.js +3 -3
  101. package/dist/v2/Attachments.js +3 -4
  102. package/dist/v2/Attachments.js.map +1 -1
  103. package/dist/v2/Editor.js +88 -93
  104. package/dist/v2/Editor.js.map +1 -1
  105. package/dist/v2/EditorContent.js +3 -3
  106. package/dist/v2/FormikEditor.js +7 -7
  107. package/dist/v2/FormikEditor.js.map +1 -1
  108. package/dist/v2/Menu.js +3 -4
  109. package/dist/v2/Menu.js.map +1 -1
  110. package/dist/v2/editor-content-styles.js +1 -1
  111. package/dist/v2/editor-content.min.css +1 -1
  112. package/dist/v2/index.js +9 -9
  113. package/dist/v2/styles.css +1 -1
  114. package/dist/v2/styles.js +1 -1
  115. package/dist/v2/utils.js +3 -3
  116. package/package.json +101 -100
  117. package/dist/chunk-2yDx3K8L.js.map +0 -1
  118. package/dist/chunk-C4efob7L.js.map +0 -1
  119. package/dist/chunk-C6Wn4nia.js.map +0 -1
  120. package/dist/chunk-C893rdfW.js.map +0 -1
  121. package/dist/chunk-CA9DTddx.js.map +0 -1
  122. package/dist/chunk-Dm4Qt79M.js.map +0 -1
  123. package/dist/cjs/chunk-B1X-JIj8.cjs.js.map +0 -1
  124. package/dist/cjs/chunk-BETPWBif.cjs.js.map +0 -1
  125. package/dist/cjs/chunk-Bm1Dzh4r.cjs.js.map +0 -1
  126. package/dist/cjs/chunk-DRTgn9TG.cjs.js.map +0 -1
  127. package/dist/cjs/chunk-TCCIxl2A.cjs.js.map +0 -1
  128. package/dist/cjs/chunk-WeNbd2ic.cjs.js.map +0 -1
@@ -11,8 +11,8 @@ var ramda = require('ramda');
11
11
  var client = require('react-dom/client');
12
12
  var constants = require('./chunk-BxKa_XOs.cjs.js');
13
13
  var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
14
- var common = require('./chunk-BKvkHB8E.cjs.js');
15
- var common$1 = require('./chunk-DXsX8co9.cjs.js');
14
+ var common = require('./chunk-Bsk_FDUA.cjs.js');
15
+ var common$1 = require('./chunk-BwE6pvh2.cjs.js');
16
16
  var neetoCist = require('@bigbinary/neeto-cist');
17
17
  var ReactDOM = require('react-dom/server');
18
18
  require('./chunk-CQ-j2kAX.cjs.js');
@@ -45,15 +45,15 @@ var EDITOR_CONTENT_DEFAULT_CONFIGURATION = {
45
45
  enableHeaderLinks: false
46
46
  };
47
47
 
48
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike) { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
49
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
50
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
48
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: true } : { done: false, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = true, u = false; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = true, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
49
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
50
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
51
51
  var transformCode = function transformCode(code) {
52
52
  return code.replace(/&gt;/g, ">").replace(/&lt;/g, "<").replace(/&amp;/g, "&");
53
53
  };
54
- var buildReactElementFromAST = function buildReactElementFromAST(element) {
54
+ var _buildReactElementFromAST = function buildReactElementFromAST(element) {
55
55
  if (element.tagName) {
56
- var children = element.children ? element.children.map(buildReactElementFromAST) : null;
56
+ var children = element.children ? element.children.map(_buildReactElementFromAST) : null;
57
57
  return /*#__PURE__*/React.createElement(element.tagName, element.properties, children);
58
58
  }
59
59
  return element.value;
@@ -122,7 +122,7 @@ var applySyntaxHighlightingAndLineNumbers = function applySyntaxHighlightingAndL
122
122
  highlightedAST = common.lowlight.highlight("javascript", transformCode(code));
123
123
  }
124
124
  }
125
- var highlightedNode = highlightedAST.children.map(buildReactElementFromAST);
125
+ var highlightedNode = highlightedAST.children.map(_buildReactElementFromAST);
126
126
  var dataHighlight = "data-highlighted-lines=".concat((_highlightMatch$ = highlightMatch === null || highlightMatch === void 0 ? void 0 : highlightMatch[1]) !== null && _highlightMatch$ !== void 0 ? _highlightMatch$ : "");
127
127
  var dataLinenumbers = content.match(linenumbersRegex) ? "data-linenumbers=\"true\"" : "";
128
128
  return "<pre ".concat(dataLinenumbers, " ").concat(dataHighlight, "><code>").concat(ReactDOM.renderToString(highlightedNode), "</code></pre>");
@@ -391,4 +391,4 @@ var index = /*#__PURE__*/React.memo(EditorContent);
391
391
 
392
392
  exports.index = index;
393
393
  exports.substituteVariables = substituteVariables;
394
- //# sourceMappingURL=chunk-DBQBe3dq.cjs.js.map
394
+ //# sourceMappingURL=chunk-CwtiYxqr.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunk-DBQBe3dq.cjs.js","sources":["../../app/javascript/src/v2/components/EditorContent/constants/index.js","../../app/javascript/src/v2/components/EditorContent/utils/index.js","../../app/javascript/src/v2/components/EditorContent/utils/headers.js","../../app/javascript/src/v2/components/EditorContent/utils/todoCheckbox.js","../../app/javascript/src/v2/components/EditorContent/ImagePreview.jsx","../../app/javascript/src/v2/components/EditorContent/index.jsx"],"sourcesContent":["import { lowlight } from \"lowlight\";\n\nexport const EDITOR_CONTENT_CLASS_NAME = \"neeto-editor-content\";\n\nexport const SANITIZE_OPTIONS = {\n ADD_TAGS: [\"iframe\"],\n ADD_ATTR: [\"target\", \"allow\", \"allowfullscreen\", \"frameborder\"],\n};\n\nexport const CODE_BLOCK_REGEX =\n /<pre(?:\\s+[^>]+)?><code(?:\\s+class=\"language-([^\"]*)\")?>([\\S\\s]*?)<\\/code><\\/pre>/gim;\n\nexport const VARIABLE_SPAN_REGEX =\n /<span data-variable=\"\" [^>]*data-label=\"([^\"]+)\">{{([^}]+)}}<\\/span>/g;\n\nexport const LANGUAGE_LIST = [...lowlight.listLanguages(), \"html\"];\n\nexport const EDITOR_CONTENT_DEFAULT_CONFIGURATION = {\n enableHeaderLinks: false,\n};\n","import { createElement } from \"react\";\n\nimport hljs from \"highlight.js/lib/common\";\nimport { lowlight } from \"lowlight\";\nimport { findBy } from \"neetocist\";\nimport { isEmpty } from \"ramda\";\nimport { renderToString } from \"react-dom/server\";\n\nimport {\n CODE_BLOCK_REGEX,\n LANGUAGE_LIST,\n VARIABLE_SPAN_REGEX,\n} from \"../constants\";\n\nconst transformCode = code =>\n code.replace(/&gt;/g, \">\").replace(/&lt;/g, \"<\").replace(/&amp;/g, \"&\");\n\nconst buildReactElementFromAST = element => {\n if (element.tagName) {\n const children = element.children\n ? element.children.map(buildReactElementFromAST)\n : null;\n\n return createElement(element.tagName, element.properties, children);\n }\n\n return element.value;\n};\n\nconst splitCodeBlockIntoLines = codeBlock => {\n codeBlock.innerHTML = codeBlock.innerHTML.replace(\n /([ \\S]*\\n|[ \\S]*$)/gm,\n match => `<div class=\"highlight-line\">${match}</div>`\n );\n};\n\nconst highlightLinesCode = (code, options) => {\n if (options === undefined) {\n return;\n }\n\n const paddingLeft = parseInt(window.getComputedStyle(code).paddingLeft);\n const paddingRight = parseInt(window.getComputedStyle(code).paddingRight);\n\n const lines = code.getElementsByClassName(\"highlight-line\");\n const scroll_width = code.scrollWidth;\n // eslint-disable-next-line @bigbinary/neeto/use-array-methods\n for (const option of options) {\n for (let j = option.start; j <= option.end; ++j) {\n if (j >= lines.length) return;\n lines[j].style.backgroundColor = option.color;\n lines[j].style.minWidth = `${\n scroll_width - paddingLeft - paddingRight\n }px`;\n }\n }\n};\n\nexport const highlightLinesElement = (code, options) => {\n // eslint-disable-next-line @bigbinary/neeto/use-array-methods\n for (const option of options) {\n --option.start;\n --option.end;\n }\n highlightLinesCode(code, options);\n};\n\nexport const applySyntaxHighlightingAndLineNumbers = content => {\n lowlight.highlightAuto(\"\");\n let highlightedAST = {};\n\n return content.replace(CODE_BLOCK_REGEX, (_, language, code) => {\n const highlightRegex = /data-highlighted-lines=\"([^\"]*)\"/;\n const linenumbersRegex = /data-linenumbers/;\n const highlightMatch = content.match(highlightRegex);\n\n if (language && LANGUAGE_LIST.includes(language)) {\n highlightedAST = lowlight.highlight(language, transformCode(code));\n } else {\n highlightedAST = hljs.highlightAuto(transformCode(code))._emitter.root;\n if (isEmpty(highlightedAST.children)) {\n highlightedAST = lowlight.highlight(\"javascript\", transformCode(code));\n }\n }\n\n const highlightedNode = highlightedAST.children.map(\n buildReactElementFromAST\n );\n\n const dataHighlight = `data-highlighted-lines=${highlightMatch?.[1] ?? \"\"}`;\n const dataLinenumbers = content.match(linenumbersRegex)\n ? `data-linenumbers=\"true\"`\n : \"\";\n\n return `<pre ${dataLinenumbers} ${dataHighlight}><code>${renderToString(\n highlightedNode\n )}</code></pre>`;\n });\n};\n\nexport const applyLineHighlighting = editorContent => {\n const codeTags = editorContent?.querySelectorAll(\"pre code\");\n\n codeTags.forEach(codeTag => {\n splitCodeBlockIntoLines(codeTag);\n\n const highlightedLines = codeTag\n .closest(\"pre\")\n .getAttribute(\"data-highlighted-lines\");\n\n if (highlightedLines) {\n const linesToHighlight = highlightedLines\n .split(\",\")\n .map(Number)\n .filter(Boolean);\n\n const highlightLinesOptions = linesToHighlight.map(line => ({\n start: line,\n end: line,\n color: \"rgba(255, 255, 0, 0.2)\",\n }));\n\n highlightLinesElement(codeTag, highlightLinesOptions);\n }\n });\n};\n\nexport const substituteVariables = (highlightedContent, variables) =>\n highlightedContent.replace(VARIABLE_SPAN_REGEX, (matchedSpan, _, key) => {\n const keySplitted = key.split(\".\");\n if (keySplitted.length > 1) {\n const category = findBy({ category: keySplitted[0] }, variables);\n const variable = findBy(\n { key: keySplitted[1] },\n category?.variables || []\n );\n\n return variable?.value ? variable.value : matchedSpan;\n }\n\n const variable = findBy({ key: keySplitted[0] }, variables);\n\n return variable?.value ? variable.value : matchedSpan;\n });\n\nexport const convertPlainTextToHtml = htmlString => {\n if (/^<[a-z].*>/i.test(htmlString.trim())) return htmlString;\n\n return htmlString\n .split(\"\\n\")\n .reduce((html, str) => `${html}<p>${str}</p>`, \"\");\n};\n","const buildLinkSVG = () => {\n const svgNS = \"http://www.w3.org/2000/svg\";\n\n const svgWrapper = document.createElement(\"span\");\n svgWrapper.classList.add(\"header-link-icon-wrapper\");\n const svg = document.createElementNS(svgNS, \"svg\");\n svg.setAttribute(\"aria-hidden\", \"true\");\n svg.setAttribute(\"height\", \"20\");\n svg.setAttribute(\"viewBox\", \"0 0 16 16\");\n svg.setAttribute(\"width\", \"20\");\n\n const path = document.createElementNS(svgNS, \"path\");\n path.setAttribute(\n \"d\",\n \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n );\n\n svg.appendChild(path);\n svgWrapper.appendChild(svg);\n\n return svgWrapper;\n};\n\nconst convertTextToId = text =>\n text\n .trim()\n .toLowerCase()\n .replace(/[^a-z0-9\\s]/g, \"\")\n .replace(/\\s+/g, \"-\");\n\nexport const buildHeaderLinks = editorContentNode => {\n const headerTags = editorContentNode.querySelectorAll(\n \"h1, h2, h3, h4, h5, h6\"\n );\n const usedIds = new Map();\n\n headerTags.forEach(heading => {\n if (heading.getAttribute(\"data-link\") === \"false\") {\n return;\n }\n\n let headingId = convertTextToId(heading.textContent);\n if (usedIds.has(headingId)) {\n const count = usedIds.get(headingId);\n usedIds.set(headingId, count + 1);\n headingId = `${headingId}-${count}`;\n } else usedIds.set(headingId, 1);\n\n heading.setAttribute(\"id\", headingId);\n\n const wrapper = document.createElement(\"div\");\n const anchor = document.createElement(\"a\");\n\n wrapper.classList.add(\"header-wrapper\");\n anchor.setAttribute(\"href\", `#${headingId}`);\n anchor.classList.add(\"header-wrapper__link\");\n anchor.appendChild(buildLinkSVG());\n\n wrapper.appendChild(heading.cloneNode(true));\n wrapper.appendChild(anchor);\n heading.replaceWith(wrapper);\n });\n};\n","export const handleTodoCheckboxClick = (event, editorContentRef, onChange) => {\n if (\n !(\n event.target.type === \"checkbox\" &&\n event.target.closest('ul[data-type=\"todoList\"] li[data-type=\"taskItem\"]')\n )\n ) {\n return;\n }\n\n const checkbox = event.target;\n const listItem = checkbox.closest(\"li\");\n\n if (listItem) {\n listItem.setAttribute(\"data-checked\", checkbox.checked.toString());\n\n if (checkbox.checked) {\n checkbox.setAttribute(\"checked\", \"checked\");\n } else {\n checkbox.removeAttribute(\"checked\");\n }\n\n onChange?.(editorContentRef?.innerHTML);\n }\n};\n\nexport const syncTodoCheckboxStates = editorContentRef => {\n if (!editorContentRef) return;\n\n const todoItems = editorContentRef.querySelectorAll(\n `ul[data-type=\"todoList\"] li[data-type=\"taskItem\"]`\n );\n\n todoItems.forEach(listItem => {\n const isChecked = listItem.getAttribute(\"data-checked\") === \"true\";\n const checkbox = listItem.querySelector('input[type=\"checkbox\"]');\n\n if (checkbox) {\n checkbox.checked = isChecked;\n\n if (isChecked) {\n checkbox.setAttribute(\"checked\", \"checked\");\n } else {\n checkbox.removeAttribute(\"checked\");\n }\n }\n });\n};\n","import { useEffect, useRef, useState } from \"react\";\n\nimport { Button, Spinner } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { X } from \"lucide-react\";\nimport { useOnClickOutside } from \"neetocommons/v2/react-utils\";\nimport { createPortal } from \"react-dom\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ImagePreview = ({ imagePreviewDetails, setImagePreviewDetails }) => {\n const [isLoading, setIsLoading] = useState(true);\n\n const { t } = useTranslation();\n\n const imagePreviewRef = useRef(null);\n\n useOnClickOutside(imagePreviewRef, () => setImagePreviewDetails(null), {\n enabled: true,\n });\n\n useEffect(() => {\n if (!imagePreviewRef.current) return;\n\n imagePreviewRef.current.setAttribute(\"tabindex\", \"-1\");\n imagePreviewRef.current.focus();\n }, []);\n\n const handleKeyDown = e => {\n e.stopPropagation();\n e.key === \"Escape\" && setImagePreviewDetails(null);\n };\n\n return createPortal(\n <div className=\"ne-image-preview-wrapper active\">\n {isLoading && <Spinner className=\"ne-image-preview-wrapper__spinner\" />}\n <div\n className={classnames(\"ne-image-preview\", {\n \"image-loaded\": !isLoading,\n })}\n >\n {!isLoading && (\n <div className=\"close-button\">\n <Button\n icon={X}\n variant=\"secondary\"\n onClick={() => setImagePreviewDetails(null)}\n />\n </div>\n )}\n <img\n alt={t(\"neetoEditor.editorContent.imagePreviewAltText\")}\n ref={imagePreviewRef}\n src={imagePreviewDetails.src}\n onKeyDown={handleKeyDown}\n onLoad={() => setIsLoading(false)}\n />\n {imagePreviewDetails && (\n <p className=\"ne-image-preview__caption\">\n {imagePreviewDetails.caption}\n </p>\n )}\n </div>\n </div>,\n document.body\n );\n};\n\nexport default ImagePreview;\n","import { memo, useEffect, useRef, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport DOMPurify from \"dompurify\";\nimport CopyToClipboardButton from \"neetomolecules/v2/CopyToClipboardButton\";\nimport { isNil } from \"ramda\";\nimport { createRoot } from \"react-dom/client\";\n\nimport { EDITOR_SIZES } from \"src/common/constants\";\nimport {\n EDITOR_CONTENT_CLASS_NAME,\n EDITOR_CONTENT_DEFAULT_CONFIGURATION,\n SANITIZE_OPTIONS,\n} from \"src/v2/components/EditorContent/constants\";\nimport {\n applyLineHighlighting,\n applySyntaxHighlightingAndLineNumbers,\n convertPlainTextToHtml,\n substituteVariables,\n} from \"src/v2/components/EditorContent/utils\";\nimport { buildHeaderLinks } from \"src/v2/components/EditorContent/utils/headers\";\nimport {\n handleTodoCheckboxClick,\n syncTodoCheckboxStates,\n} from \"src/v2/components/EditorContent/utils/todoCheckbox\";\nimport { removeEmptyTags } from \"utils\";\n\nimport ImagePreview from \"./ImagePreview\";\n\nconst EditorContent = ({\n content = \"\",\n variables = [],\n className,\n size = EDITOR_SIZES.SMALL,\n configuration = EDITOR_CONTENT_DEFAULT_CONFIGURATION,\n onChange,\n onClick,\n ...otherProps\n}) => {\n const [imagePreviewDetails, setImagePreviewDetails] = useState(null);\n const editorContentRef = useRef(null);\n\n const htmlContent = convertPlainTextToHtml(\n substituteVariables(\n applySyntaxHighlightingAndLineNumbers(removeEmptyTags(content)),\n variables\n )\n );\n const sanitize = DOMPurify.sanitize;\n\n const handleContentClick = event => {\n handleTodoCheckboxClick(event, editorContentRef.current, onChange);\n\n onClick?.(event);\n };\n\n const injectCopyButtonToCodeBlocks = () => {\n const preTags = editorContentRef.current?.querySelectorAll(\n `.${EDITOR_CONTENT_CLASS_NAME} pre`\n );\n\n preTags.forEach(preTag => {\n const button = document.createElement(\"div\");\n button.className = \"neeto-editor-codeblock-options\";\n const root = createRoot(button);\n root.render(\n <CopyToClipboardButton\n size=\"sm\"\n value={preTag.textContent}\n variant=\"ghost\"\n />\n );\n preTag.appendChild(button);\n });\n };\n\n const bindImageClickListener = () => {\n const figureTags = editorContentRef.current?.querySelectorAll(\n `.${EDITOR_CONTENT_CLASS_NAME} figure`\n );\n\n figureTags.forEach(figureTag => {\n const image = figureTag.querySelector(\"img\");\n const link = figureTag.querySelector(\"a\");\n if (isNil(image) || isNil(link)) return;\n\n figureTag.addEventListener(\"click\", event => {\n event.preventDefault();\n const caption = figureTag.querySelector(\"figcaption\")?.innerText;\n setImagePreviewDetails({ src: image.src, caption });\n });\n });\n };\n\n useEffect(() => {\n injectCopyButtonToCodeBlocks();\n bindImageClickListener();\n syncTodoCheckboxStates(editorContentRef.current);\n applyLineHighlighting(editorContentRef.current);\n configuration.enableHeaderLinks &&\n buildHeaderLinks(editorContentRef.current);\n }, [content]);\n\n return (\n <>\n <div\n data-testid=\"neeto-editor-content\"\n ref={editorContentRef}\n className={classnames(EDITOR_CONTENT_CLASS_NAME, {\n [className]: className,\n [`neeto-editor-size--${size}`]: true,\n })}\n dangerouslySetInnerHTML={{\n __html: sanitize(htmlContent, SANITIZE_OPTIONS),\n }}\n onClick={handleContentClick}\n {...otherProps}\n />\n {imagePreviewDetails && (\n <ImagePreview {...{ imagePreviewDetails, setImagePreviewDetails }} />\n )}\n </>\n );\n};\n\nexport default memo(EditorContent);\n"],"names":["EDITOR_CONTENT_CLASS_NAME","SANITIZE_OPTIONS","ADD_TAGS","ADD_ATTR","CODE_BLOCK_REGEX","VARIABLE_SPAN_REGEX","LANGUAGE_LIST","concat","_toConsumableArray","lowlight","listLanguages","EDITOR_CONTENT_DEFAULT_CONFIGURATION","enableHeaderLinks","transformCode","code","replace","buildReactElementFromAST","element","tagName","children","map","createElement","properties","value","splitCodeBlockIntoLines","codeBlock","innerHTML","match","highlightLinesCode","options","undefined","paddingLeft","parseInt","window","getComputedStyle","paddingRight","lines","getElementsByClassName","scroll_width","scrollWidth","_iterator","_createForOfIteratorHelper","_step","s","n","done","option","j","start","end","length","style","backgroundColor","color","minWidth","err","e","f","highlightLinesElement","_iterator2","_step2","applySyntaxHighlightingAndLineNumbers","content","highlightAuto","highlightedAST","_","language","_highlightMatch$","highlightRegex","linenumbersRegex","highlightMatch","includes","highlight","hljs","_emitter","root","isEmpty","highlightedNode","dataHighlight","dataLinenumbers","renderToString","applyLineHighlighting","editorContent","codeTags","querySelectorAll","forEach","codeTag","highlightedLines","closest","getAttribute","linesToHighlight","split","Number","filter","Boolean","highlightLinesOptions","line","substituteVariables","highlightedContent","variables","matchedSpan","key","keySplitted","category","findBy","variable","convertPlainTextToHtml","htmlString","test","trim","reduce","html","str","buildLinkSVG","svgNS","svgWrapper","document","classList","add","svg","createElementNS","setAttribute","path","appendChild","convertTextToId","text","toLowerCase","buildHeaderLinks","editorContentNode","headerTags","usedIds","Map","heading","headingId","textContent","has","count","get","set","wrapper","anchor","cloneNode","replaceWith","handleTodoCheckboxClick","event","editorContentRef","onChange","target","type","checkbox","listItem","checked","toString","removeAttribute","syncTodoCheckboxStates","todoItems","isChecked","querySelector","ImagePreview","_ref","imagePreviewDetails","setImagePreviewDetails","_useState","useState","_useState2","_slicedToArray","isLoading","setIsLoading","_useTranslation","useTranslation","t","imagePreviewRef","useRef","useOnClickOutside","enabled","useEffect","current","focus","handleKeyDown","stopPropagation","createPortal","_jsxs","className","_jsx","Spinner","classnames","Button","icon","X","variant","onClick","alt","ref","src","onKeyDown","onLoad","caption","body","EditorContent","_ref$content","_ref$variables","_ref$size","size","EDITOR_SIZES","SMALL","_ref$configuration","configuration","otherProps","_objectWithoutProperties","_excluded","htmlContent","removeEmptyTags","sanitize","DOMPurify","handleContentClick","injectCopyButtonToCodeBlocks","_editorContentRef$cur","preTags","preTag","button","createRoot","render","CopyToClipboardButton","bindImageClickListener","_editorContentRef$cur2","figureTags","figureTag","image","link","isNil","addEventListener","_figureTag$querySelec","preventDefault","innerText","_Fragment","_objectSpread","_defineProperty","dangerouslySetInnerHTML","__html","memo"],"mappings":"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"}
1
+ {"version":3,"file":"chunk-CwtiYxqr.cjs.js","sources":["../../app/javascript/src/v2/components/EditorContent/constants/index.js","../../app/javascript/src/v2/components/EditorContent/utils/index.js","../../app/javascript/src/v2/components/EditorContent/utils/headers.js","../../app/javascript/src/v2/components/EditorContent/utils/todoCheckbox.js","../../app/javascript/src/v2/components/EditorContent/ImagePreview.jsx","../../app/javascript/src/v2/components/EditorContent/index.jsx"],"sourcesContent":["import { lowlight } from \"lowlight\";\n\nexport const EDITOR_CONTENT_CLASS_NAME = \"neeto-editor-content\";\n\nexport const SANITIZE_OPTIONS = {\n ADD_TAGS: [\"iframe\"],\n ADD_ATTR: [\"target\", \"allow\", \"allowfullscreen\", \"frameborder\"],\n};\n\nexport const CODE_BLOCK_REGEX =\n /<pre(?:\\s+[^>]+)?><code(?:\\s+class=\"language-([^\"]*)\")?>([\\S\\s]*?)<\\/code><\\/pre>/gim;\n\nexport const VARIABLE_SPAN_REGEX =\n /<span data-variable=\"\" [^>]*data-label=\"([^\"]+)\">{{([^}]+)}}<\\/span>/g;\n\nexport const LANGUAGE_LIST = [...lowlight.listLanguages(), \"html\"];\n\nexport const EDITOR_CONTENT_DEFAULT_CONFIGURATION = {\n enableHeaderLinks: false,\n};\n","import { createElement } from \"react\";\n\nimport hljs from \"highlight.js/lib/common\";\nimport { lowlight } from \"lowlight\";\nimport { findBy } from \"neetocist\";\nimport { isEmpty } from \"ramda\";\nimport { renderToString } from \"react-dom/server\";\n\nimport {\n CODE_BLOCK_REGEX,\n LANGUAGE_LIST,\n VARIABLE_SPAN_REGEX,\n} from \"../constants\";\n\nconst transformCode = code =>\n code.replace(/&gt;/g, \">\").replace(/&lt;/g, \"<\").replace(/&amp;/g, \"&\");\n\nconst buildReactElementFromAST = element => {\n if (element.tagName) {\n const children = element.children\n ? element.children.map(buildReactElementFromAST)\n : null;\n\n return createElement(element.tagName, element.properties, children);\n }\n\n return element.value;\n};\n\nconst splitCodeBlockIntoLines = codeBlock => {\n codeBlock.innerHTML = codeBlock.innerHTML.replace(\n /([ \\S]*\\n|[ \\S]*$)/gm,\n match => `<div class=\"highlight-line\">${match}</div>`\n );\n};\n\nconst highlightLinesCode = (code, options) => {\n if (options === undefined) {\n return;\n }\n\n const paddingLeft = parseInt(window.getComputedStyle(code).paddingLeft);\n const paddingRight = parseInt(window.getComputedStyle(code).paddingRight);\n\n const lines = code.getElementsByClassName(\"highlight-line\");\n const scroll_width = code.scrollWidth;\n // eslint-disable-next-line @bigbinary/neeto/use-array-methods\n for (const option of options) {\n for (let j = option.start; j <= option.end; ++j) {\n if (j >= lines.length) return;\n lines[j].style.backgroundColor = option.color;\n lines[j].style.minWidth = `${\n scroll_width - paddingLeft - paddingRight\n }px`;\n }\n }\n};\n\nexport const highlightLinesElement = (code, options) => {\n // eslint-disable-next-line @bigbinary/neeto/use-array-methods\n for (const option of options) {\n --option.start;\n --option.end;\n }\n highlightLinesCode(code, options);\n};\n\nexport const applySyntaxHighlightingAndLineNumbers = content => {\n lowlight.highlightAuto(\"\");\n let highlightedAST = {};\n\n return content.replace(CODE_BLOCK_REGEX, (_, language, code) => {\n const highlightRegex = /data-highlighted-lines=\"([^\"]*)\"/;\n const linenumbersRegex = /data-linenumbers/;\n const highlightMatch = content.match(highlightRegex);\n\n if (language && LANGUAGE_LIST.includes(language)) {\n highlightedAST = lowlight.highlight(language, transformCode(code));\n } else {\n highlightedAST = hljs.highlightAuto(transformCode(code))._emitter.root;\n if (isEmpty(highlightedAST.children)) {\n highlightedAST = lowlight.highlight(\"javascript\", transformCode(code));\n }\n }\n\n const highlightedNode = highlightedAST.children.map(\n buildReactElementFromAST\n );\n\n const dataHighlight = `data-highlighted-lines=${highlightMatch?.[1] ?? \"\"}`;\n const dataLinenumbers = content.match(linenumbersRegex)\n ? `data-linenumbers=\"true\"`\n : \"\";\n\n return `<pre ${dataLinenumbers} ${dataHighlight}><code>${renderToString(\n highlightedNode\n )}</code></pre>`;\n });\n};\n\nexport const applyLineHighlighting = editorContent => {\n const codeTags = editorContent?.querySelectorAll(\"pre code\");\n\n codeTags.forEach(codeTag => {\n splitCodeBlockIntoLines(codeTag);\n\n const highlightedLines = codeTag\n .closest(\"pre\")\n .getAttribute(\"data-highlighted-lines\");\n\n if (highlightedLines) {\n const linesToHighlight = highlightedLines\n .split(\",\")\n .map(Number)\n .filter(Boolean);\n\n const highlightLinesOptions = linesToHighlight.map(line => ({\n start: line,\n end: line,\n color: \"rgba(255, 255, 0, 0.2)\",\n }));\n\n highlightLinesElement(codeTag, highlightLinesOptions);\n }\n });\n};\n\nexport const substituteVariables = (highlightedContent, variables) =>\n highlightedContent.replace(VARIABLE_SPAN_REGEX, (matchedSpan, _, key) => {\n const keySplitted = key.split(\".\");\n if (keySplitted.length > 1) {\n const category = findBy({ category: keySplitted[0] }, variables);\n const variable = findBy(\n { key: keySplitted[1] },\n category?.variables || []\n );\n\n return variable?.value ? variable.value : matchedSpan;\n }\n\n const variable = findBy({ key: keySplitted[0] }, variables);\n\n return variable?.value ? variable.value : matchedSpan;\n });\n\nexport const convertPlainTextToHtml = htmlString => {\n if (/^<[a-z].*>/i.test(htmlString.trim())) return htmlString;\n\n return htmlString\n .split(\"\\n\")\n .reduce((html, str) => `${html}<p>${str}</p>`, \"\");\n};\n","const buildLinkSVG = () => {\n const svgNS = \"http://www.w3.org/2000/svg\";\n\n const svgWrapper = document.createElement(\"span\");\n svgWrapper.classList.add(\"header-link-icon-wrapper\");\n const svg = document.createElementNS(svgNS, \"svg\");\n svg.setAttribute(\"aria-hidden\", \"true\");\n svg.setAttribute(\"height\", \"20\");\n svg.setAttribute(\"viewBox\", \"0 0 16 16\");\n svg.setAttribute(\"width\", \"20\");\n\n const path = document.createElementNS(svgNS, \"path\");\n path.setAttribute(\n \"d\",\n \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n );\n\n svg.appendChild(path);\n svgWrapper.appendChild(svg);\n\n return svgWrapper;\n};\n\nconst convertTextToId = text =>\n text\n .trim()\n .toLowerCase()\n .replace(/[^a-z0-9\\s]/g, \"\")\n .replace(/\\s+/g, \"-\");\n\nexport const buildHeaderLinks = editorContentNode => {\n const headerTags = editorContentNode.querySelectorAll(\n \"h1, h2, h3, h4, h5, h6\"\n );\n const usedIds = new Map();\n\n headerTags.forEach(heading => {\n if (heading.getAttribute(\"data-link\") === \"false\") {\n return;\n }\n\n let headingId = convertTextToId(heading.textContent);\n if (usedIds.has(headingId)) {\n const count = usedIds.get(headingId);\n usedIds.set(headingId, count + 1);\n headingId = `${headingId}-${count}`;\n } else usedIds.set(headingId, 1);\n\n heading.setAttribute(\"id\", headingId);\n\n const wrapper = document.createElement(\"div\");\n const anchor = document.createElement(\"a\");\n\n wrapper.classList.add(\"header-wrapper\");\n anchor.setAttribute(\"href\", `#${headingId}`);\n anchor.classList.add(\"header-wrapper__link\");\n anchor.appendChild(buildLinkSVG());\n\n wrapper.appendChild(heading.cloneNode(true));\n wrapper.appendChild(anchor);\n heading.replaceWith(wrapper);\n });\n};\n","export const handleTodoCheckboxClick = (event, editorContentRef, onChange) => {\n if (\n !(\n event.target.type === \"checkbox\" &&\n event.target.closest('ul[data-type=\"todoList\"] li[data-type=\"taskItem\"]')\n )\n ) {\n return;\n }\n\n const checkbox = event.target;\n const listItem = checkbox.closest(\"li\");\n\n if (listItem) {\n listItem.setAttribute(\"data-checked\", checkbox.checked.toString());\n\n if (checkbox.checked) {\n checkbox.setAttribute(\"checked\", \"checked\");\n } else {\n checkbox.removeAttribute(\"checked\");\n }\n\n onChange?.(editorContentRef?.innerHTML);\n }\n};\n\nexport const syncTodoCheckboxStates = editorContentRef => {\n if (!editorContentRef) return;\n\n const todoItems = editorContentRef.querySelectorAll(\n `ul[data-type=\"todoList\"] li[data-type=\"taskItem\"]`\n );\n\n todoItems.forEach(listItem => {\n const isChecked = listItem.getAttribute(\"data-checked\") === \"true\";\n const checkbox = listItem.querySelector('input[type=\"checkbox\"]');\n\n if (checkbox) {\n checkbox.checked = isChecked;\n\n if (isChecked) {\n checkbox.setAttribute(\"checked\", \"checked\");\n } else {\n checkbox.removeAttribute(\"checked\");\n }\n }\n });\n};\n","import { useEffect, useRef, useState } from \"react\";\n\nimport { Button, Spinner } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { X } from \"lucide-react\";\nimport { useOnClickOutside } from \"neetocommons/v2/react-utils\";\nimport { createPortal } from \"react-dom\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ImagePreview = ({ imagePreviewDetails, setImagePreviewDetails }) => {\n const [isLoading, setIsLoading] = useState(true);\n\n const { t } = useTranslation();\n\n const imagePreviewRef = useRef(null);\n\n useOnClickOutside(imagePreviewRef, () => setImagePreviewDetails(null), {\n enabled: true,\n });\n\n useEffect(() => {\n if (!imagePreviewRef.current) return;\n\n imagePreviewRef.current.setAttribute(\"tabindex\", \"-1\");\n imagePreviewRef.current.focus();\n }, []);\n\n const handleKeyDown = e => {\n e.stopPropagation();\n e.key === \"Escape\" && setImagePreviewDetails(null);\n };\n\n return createPortal(\n <div className=\"ne-image-preview-wrapper active\">\n {isLoading && <Spinner className=\"ne-image-preview-wrapper__spinner\" />}\n <div\n className={classnames(\"ne-image-preview\", {\n \"image-loaded\": !isLoading,\n })}\n >\n {!isLoading && (\n <div className=\"close-button\">\n <Button\n icon={X}\n variant=\"secondary\"\n onClick={() => setImagePreviewDetails(null)}\n />\n </div>\n )}\n <img\n alt={t(\"neetoEditor.editorContent.imagePreviewAltText\")}\n ref={imagePreviewRef}\n src={imagePreviewDetails.src}\n onKeyDown={handleKeyDown}\n onLoad={() => setIsLoading(false)}\n />\n {imagePreviewDetails && (\n <p className=\"ne-image-preview__caption\">\n {imagePreviewDetails.caption}\n </p>\n )}\n </div>\n </div>,\n document.body\n );\n};\n\nexport default ImagePreview;\n","import { memo, useEffect, useRef, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport DOMPurify from \"dompurify\";\nimport CopyToClipboardButton from \"neetomolecules/v2/CopyToClipboardButton\";\nimport { isNil } from \"ramda\";\nimport { createRoot } from \"react-dom/client\";\n\nimport { EDITOR_SIZES } from \"src/common/constants\";\nimport {\n EDITOR_CONTENT_CLASS_NAME,\n EDITOR_CONTENT_DEFAULT_CONFIGURATION,\n SANITIZE_OPTIONS,\n} from \"src/v2/components/EditorContent/constants\";\nimport {\n applyLineHighlighting,\n applySyntaxHighlightingAndLineNumbers,\n convertPlainTextToHtml,\n substituteVariables,\n} from \"src/v2/components/EditorContent/utils\";\nimport { buildHeaderLinks } from \"src/v2/components/EditorContent/utils/headers\";\nimport {\n handleTodoCheckboxClick,\n syncTodoCheckboxStates,\n} from \"src/v2/components/EditorContent/utils/todoCheckbox\";\nimport { removeEmptyTags } from \"utils\";\n\nimport ImagePreview from \"./ImagePreview\";\n\nconst EditorContent = ({\n content = \"\",\n variables = [],\n className,\n size = EDITOR_SIZES.SMALL,\n configuration = EDITOR_CONTENT_DEFAULT_CONFIGURATION,\n onChange,\n onClick,\n ...otherProps\n}) => {\n const [imagePreviewDetails, setImagePreviewDetails] = useState(null);\n const editorContentRef = useRef(null);\n\n const htmlContent = convertPlainTextToHtml(\n substituteVariables(\n applySyntaxHighlightingAndLineNumbers(removeEmptyTags(content)),\n variables\n )\n );\n const sanitize = DOMPurify.sanitize;\n\n const handleContentClick = event => {\n handleTodoCheckboxClick(event, editorContentRef.current, onChange);\n\n onClick?.(event);\n };\n\n const injectCopyButtonToCodeBlocks = () => {\n const preTags = editorContentRef.current?.querySelectorAll(\n `.${EDITOR_CONTENT_CLASS_NAME} pre`\n );\n\n preTags.forEach(preTag => {\n const button = document.createElement(\"div\");\n button.className = \"neeto-editor-codeblock-options\";\n const root = createRoot(button);\n root.render(\n <CopyToClipboardButton\n size=\"sm\"\n value={preTag.textContent}\n variant=\"ghost\"\n />\n );\n preTag.appendChild(button);\n });\n };\n\n const bindImageClickListener = () => {\n const figureTags = editorContentRef.current?.querySelectorAll(\n `.${EDITOR_CONTENT_CLASS_NAME} figure`\n );\n\n figureTags.forEach(figureTag => {\n const image = figureTag.querySelector(\"img\");\n const link = figureTag.querySelector(\"a\");\n if (isNil(image) || isNil(link)) return;\n\n figureTag.addEventListener(\"click\", event => {\n event.preventDefault();\n const caption = figureTag.querySelector(\"figcaption\")?.innerText;\n setImagePreviewDetails({ src: image.src, caption });\n });\n });\n };\n\n useEffect(() => {\n injectCopyButtonToCodeBlocks();\n bindImageClickListener();\n syncTodoCheckboxStates(editorContentRef.current);\n applyLineHighlighting(editorContentRef.current);\n configuration.enableHeaderLinks &&\n buildHeaderLinks(editorContentRef.current);\n }, [content]);\n\n return (\n <>\n <div\n data-testid=\"neeto-editor-content\"\n ref={editorContentRef}\n className={classnames(EDITOR_CONTENT_CLASS_NAME, {\n [className]: className,\n [`neeto-editor-size--${size}`]: true,\n })}\n dangerouslySetInnerHTML={{\n __html: sanitize(htmlContent, SANITIZE_OPTIONS),\n }}\n onClick={handleContentClick}\n {...otherProps}\n />\n {imagePreviewDetails && (\n <ImagePreview {...{ imagePreviewDetails, setImagePreviewDetails }} />\n )}\n </>\n );\n};\n\nexport default memo(EditorContent);\n"],"names":["EDITOR_CONTENT_CLASS_NAME","SANITIZE_OPTIONS","ADD_TAGS","ADD_ATTR","CODE_BLOCK_REGEX","VARIABLE_SPAN_REGEX","LANGUAGE_LIST","concat","_toConsumableArray","lowlight","listLanguages","EDITOR_CONTENT_DEFAULT_CONFIGURATION","enableHeaderLinks","transformCode","code","replace","buildReactElementFromAST","element","tagName","children","map","createElement","properties","value","splitCodeBlockIntoLines","codeBlock","innerHTML","match","highlightLinesCode","options","undefined","paddingLeft","parseInt","window","getComputedStyle","paddingRight","lines","getElementsByClassName","scroll_width","scrollWidth","_iterator","_createForOfIteratorHelper","_step","s","n","done","option","j","start","end","length","style","backgroundColor","color","minWidth","err","e","f","highlightLinesElement","_iterator2","_step2","applySyntaxHighlightingAndLineNumbers","content","highlightAuto","highlightedAST","_","language","_highlightMatch$","highlightRegex","linenumbersRegex","highlightMatch","includes","highlight","hljs","_emitter","root","isEmpty","highlightedNode","dataHighlight","dataLinenumbers","renderToString","applyLineHighlighting","editorContent","codeTags","querySelectorAll","forEach","codeTag","highlightedLines","closest","getAttribute","linesToHighlight","split","Number","filter","Boolean","highlightLinesOptions","line","substituteVariables","highlightedContent","variables","matchedSpan","key","keySplitted","category","findBy","variable","convertPlainTextToHtml","htmlString","test","trim","reduce","html","str","buildLinkSVG","svgNS","svgWrapper","document","classList","add","svg","createElementNS","setAttribute","path","appendChild","convertTextToId","text","toLowerCase","buildHeaderLinks","editorContentNode","headerTags","usedIds","Map","heading","headingId","textContent","has","count","get","set","wrapper","anchor","cloneNode","replaceWith","handleTodoCheckboxClick","event","editorContentRef","onChange","target","type","checkbox","listItem","checked","toString","removeAttribute","syncTodoCheckboxStates","todoItems","isChecked","querySelector","ImagePreview","_ref","imagePreviewDetails","setImagePreviewDetails","_useState","useState","_useState2","_slicedToArray","isLoading","setIsLoading","_useTranslation","useTranslation","t","imagePreviewRef","useRef","useOnClickOutside","enabled","useEffect","current","focus","handleKeyDown","stopPropagation","createPortal","_jsxs","className","_jsx","Spinner","classnames","Button","icon","X","variant","onClick","alt","ref","src","onKeyDown","onLoad","caption","body","EditorContent","_ref$content","_ref$variables","_ref$size","size","EDITOR_SIZES","SMALL","_ref$configuration","configuration","otherProps","_objectWithoutProperties","_excluded","htmlContent","removeEmptyTags","sanitize","DOMPurify","handleContentClick","injectCopyButtonToCodeBlocks","_editorContentRef$cur","preTags","preTag","button","createRoot","render","CopyToClipboardButton","bindImageClickListener","_editorContentRef$cur2","figureTags","figureTag","image","link","isNil","addEventListener","_figureTag$querySelec","preventDefault","innerText","_Fragment","_objectSpread","_defineProperty","dangerouslySetInnerHTML","__html","memo"],"mappings":"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"}
@@ -54,7 +54,6 @@ var _createClass = require('@babel/runtime/helpers/createClass');
54
54
  var _possibleConstructorReturn = require('@babel/runtime/helpers/possibleConstructorReturn');
55
55
  var _getPrototypeOf = require('@babel/runtime/helpers/getPrototypeOf');
56
56
  var _inherits = require('@babel/runtime/helpers/inherits');
57
- var _regeneratorRuntime = require('@babel/runtime/regenerator');
58
57
  var emojiMart = require('emoji-mart');
59
58
  var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
60
59
  var Customize = require('@bigbinary/neeto-icons/Customize');
@@ -66,8 +65,8 @@ var ImageUploader = require('@bigbinary/neeto-image-uploader-frontend/ImageUploa
66
65
  var Modal = require('@bigbinary/neetoui/Modal');
67
66
  var Tab = require('@bigbinary/neetoui/Tab');
68
67
  var Toastr = require('@bigbinary/neetoui/Toastr');
69
- var reactFileIcon_esm = require('./chunk-D3Unocnm.cjs.js');
70
- var FileIcon = require('./chunk-B1X-JIj8.cjs.js');
68
+ var reactFileIcon_esm = require('./chunk-Bde8Sbb1.cjs.js');
69
+ var FileIcon = require('./chunk-CHk_Gq2n.cjs.js');
71
70
  var Tooltip = require('@bigbinary/neetoui/Tooltip');
72
71
  var Form = require('@bigbinary/neetoui/formik/Form');
73
72
  var Input$1 = require('@bigbinary/neetoui/formik/Input');
@@ -135,7 +134,6 @@ var _createClass__default = /*#__PURE__*/_interopDefault(_createClass);
135
134
  var _possibleConstructorReturn__default = /*#__PURE__*/_interopDefault(_possibleConstructorReturn);
136
135
  var _getPrototypeOf__default = /*#__PURE__*/_interopDefault(_getPrototypeOf);
137
136
  var _inherits__default = /*#__PURE__*/_interopDefault(_inherits);
138
- var _regeneratorRuntime__default = /*#__PURE__*/_interopDefault(_regeneratorRuntime);
139
137
  var Customize__default = /*#__PURE__*/_interopDefault(Customize);
140
138
  var Refresh__default = /*#__PURE__*/_interopDefault(Refresh);
141
139
  var Input__default = /*#__PURE__*/_interopDefault(Input);
@@ -190,6 +188,8 @@ var CALLOUT_TYPES = [{
190
188
 
191
189
  function ownKeys$b(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
192
190
  function _objectSpread$b(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$b(Object(t), true).forEach(function (r) { _defineProperty__default.default(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$b(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
191
+ function _regenerator$2() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2$2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = false, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = true, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), true), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2$2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2$2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2$2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2$2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2$2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2$2(u), _regeneratorDefine2$2(u, o, "Generator"), _regeneratorDefine2$2(u, n, function () { return this; }), _regeneratorDefine2$2(u, "toString", function () { return "[object Generator]"; }), (_regenerator$2 = function _regenerator() { return { w: i, m: f }; })(); }
192
+ function _regeneratorDefine2$2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2$2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2$2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2$2(e, r, n, t); }
193
193
  function _callSuper(t, o, e) { return o = _getPrototypeOf__default.default(o), _possibleConstructorReturn__default.default(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf__default.default(t).constructor) : o.apply(t, e)); }
194
194
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
195
195
  var EmojiPickerMenu = /*#__PURE__*/function (_React$Component) {
@@ -201,27 +201,24 @@ var EmojiPickerMenu = /*#__PURE__*/function (_React$Component) {
201
201
  }
202
202
  _this = _callSuper(this, EmojiPickerMenu, [].concat(args));
203
203
  _defineProperty__default.default(_this, "ref", /*#__PURE__*/React__default.default.createRef());
204
- _defineProperty__default.default(_this, "fetchEmojiData", /*#__PURE__*/_asyncToGenerator__default.default(/*#__PURE__*/_regeneratorRuntime__default.default.mark(function _callee() {
204
+ _defineProperty__default.default(_this, "fetchEmojiData", /*#__PURE__*/_asyncToGenerator__default.default(/*#__PURE__*/_regenerator$2().m(function _callee() {
205
205
  var _yield$emojiPickerApi, data;
206
- return _regeneratorRuntime__default.default.wrap(function _callee$(_context) {
207
- while (1) switch (_context.prev = _context.next) {
206
+ return _regenerator$2().w(function (_context) {
207
+ while (1) switch (_context.p = _context.n) {
208
208
  case 0:
209
- _context.prev = 0;
210
- _context.next = 3;
209
+ _context.p = 0;
210
+ _context.n = 1;
211
211
  return useEditorStore.emojiPickerApi.fetch();
212
- case 3:
213
- _yield$emojiPickerApi = _context.sent;
212
+ case 1:
213
+ _yield$emojiPickerApi = _context.v;
214
214
  data = _yield$emojiPickerApi.data;
215
- return _context.abrupt("return", data);
216
- case 8:
217
- _context.prev = 8;
218
- _context.t0 = _context["catch"](0);
219
- return _context.abrupt("return", {});
220
- case 11:
221
- case "end":
222
- return _context.stop();
215
+ return _context.a(2, data);
216
+ case 2:
217
+ _context.p = 2;
218
+ _context.v;
219
+ return _context.a(2, {});
223
220
  }
224
- }, _callee, null, [[0, 8]]);
221
+ }, _callee, null, [[0, 2]]);
225
222
  })));
226
223
  _defineProperty__default.default(_this, "onKeyDown", function (_ref2) {
227
224
  var event = _ref2.event;
@@ -293,13 +290,13 @@ var MenuButton$1 = function MenuButton(_ref) {
293
290
  _ref$disabled = _ref.disabled,
294
291
  isButtonDisabled = _ref$disabled === void 0 ? false : _ref$disabled,
295
292
  label = _ref.label;
296
- var _useEditorStore = useEditorStore.useEditorStore(function (store) {
293
+ var _useEditorStore = useEditorStore.useEditorStore(shallow.useShallow(function (store) {
297
294
  var _store$marksState, _store$marksState2;
298
295
  return {
299
296
  isActive: (_store$marksState = store["marksState"]) === null || _store$marksState === void 0 || (_store$marksState = _store$marksState[optionName]) === null || _store$marksState === void 0 ? void 0 : _store$marksState["isActive"],
300
297
  disabled: (_store$marksState2 = store["marksState"]) === null || _store$marksState2 === void 0 || (_store$marksState2 = _store$marksState2[optionName]) === null || _store$marksState2 === void 0 ? void 0 : _store$marksState2["disabled"]
301
298
  };
302
- }, shallow.shallow),
299
+ })),
303
300
  isActive = _useEditorStore.isActive,
304
301
  _useEditorStore$disab = _useEditorStore.disabled,
305
302
  disabled = _useEditorStore$disab === void 0 ? isButtonDisabled : _useEditorStore$disab;
@@ -1322,6 +1319,8 @@ var Progress = reactUtils.withT(function (_ref) {
1322
1319
  });
1323
1320
  });
1324
1321
 
1322
+ function _regenerator$1() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2$1(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = false, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = true, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), true), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2$1(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2$1(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2$1(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2$1(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2$1(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2$1(u), _regeneratorDefine2$1(u, o, "Generator"), _regeneratorDefine2$1(u, n, function () { return this; }), _regeneratorDefine2$1(u, "toString", function () { return "[object Generator]"; }), (_regenerator$1 = function _regenerator() { return { w: i, m: f }; })(); }
1323
+ function _regeneratorDefine2$1(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2$1 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2$1(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2$1(e, r, n, t); }
1325
1324
  var LocalUploader = function LocalUploader(_ref) {
1326
1325
  var isImage = _ref.isImage,
1327
1326
  onClose = _ref.onClose,
@@ -1342,21 +1341,20 @@ var LocalUploader = function LocalUploader(_ref) {
1342
1341
  cancelUpload = _useFileUploader.cancelUpload,
1343
1342
  isUploading = _useFileUploader.isUploading;
1344
1343
  var handleFilesDrop = /*#__PURE__*/function () {
1345
- var _ref2 = _asyncToGenerator__default.default(/*#__PURE__*/_regeneratorRuntime__default.default.mark(function _callee(files) {
1344
+ var _ref2 = _asyncToGenerator__default.default(/*#__PURE__*/_regenerator$1().m(function _callee(files) {
1346
1345
  var uploadedFiles;
1347
- return _regeneratorRuntime__default.default.wrap(function _callee$(_context) {
1348
- while (1) switch (_context.prev = _context.next) {
1346
+ return _regenerator$1().w(function (_context) {
1347
+ while (1) switch (_context.n) {
1349
1348
  case 0:
1350
1349
  addFiles(files);
1351
- _context.next = 3;
1350
+ _context.n = 1;
1352
1351
  return uploadFiles();
1353
- case 3:
1354
- uploadedFiles = _context.sent;
1352
+ case 1:
1353
+ uploadedFiles = _context.v;
1355
1354
  uploadedFiles.forEach(insertMediaToEditor);
1356
1355
  onClose();
1357
- case 6:
1358
- case "end":
1359
- return _context.stop();
1356
+ case 2:
1357
+ return _context.a(2);
1360
1358
  }
1361
1359
  }, _callee);
1362
1360
  }));
@@ -1370,22 +1368,21 @@ var LocalUploader = function LocalUploader(_ref) {
1370
1368
  });
1371
1369
  setIsUploading(isUploading);
1372
1370
  var handleAddFile = /*#__PURE__*/function () {
1373
- var _ref4 = _asyncToGenerator__default.default(/*#__PURE__*/_regeneratorRuntime__default.default.mark(function _callee2(_ref3) {
1371
+ var _ref4 = _asyncToGenerator__default.default(/*#__PURE__*/_regenerator$1().m(function _callee2(_ref3) {
1374
1372
  var files, uploadedFiles;
1375
- return _regeneratorRuntime__default.default.wrap(function _callee2$(_context2) {
1376
- while (1) switch (_context2.prev = _context2.next) {
1373
+ return _regenerator$1().w(function (_context2) {
1374
+ while (1) switch (_context2.n) {
1377
1375
  case 0:
1378
1376
  files = _ref3.target.files;
1379
1377
  addFiles(files);
1380
- _context2.next = 4;
1378
+ _context2.n = 1;
1381
1379
  return uploadFiles();
1382
- case 4:
1383
- uploadedFiles = _context2.sent;
1380
+ case 1:
1381
+ uploadedFiles = _context2.v;
1384
1382
  uploadedFiles.forEach(insertMediaToEditor);
1385
1383
  onClose();
1386
- case 7:
1387
- case "end":
1388
- return _context2.stop();
1384
+ case 2:
1385
+ return _context2.a(2);
1389
1386
  }
1390
1387
  }, _callee2);
1391
1388
  }));
@@ -1492,6 +1489,8 @@ var VideoEmbedForm = function VideoEmbedForm(_ref) {
1492
1489
  });
1493
1490
  };
1494
1491
 
1492
+ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = false, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = true, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), true), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
1493
+ function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
1495
1494
  var MediaUploader = function MediaUploader(_ref) {
1496
1495
  var mediaUploader = _ref.mediaUploader,
1497
1496
  onClose = _ref.onClose,
@@ -1545,36 +1544,36 @@ var MediaUploader = function MediaUploader(_ref) {
1545
1544
  }).run();
1546
1545
  };
1547
1546
  var onUploadComplete = /*#__PURE__*/function () {
1548
- var _ref3 = _asyncToGenerator__default.default(/*#__PURE__*/_regeneratorRuntime__default.default.mark(function _callee(file) {
1549
- return _regeneratorRuntime__default.default.wrap(function _callee$(_context) {
1550
- while (1) switch (_context.prev = _context.next) {
1547
+ var _ref3 = _asyncToGenerator__default.default(/*#__PURE__*/_regenerator().m(function _callee(file) {
1548
+ var _t;
1549
+ return _regenerator().w(function (_context) {
1550
+ while (1) switch (_context.p = _context.n) {
1551
1551
  case 0:
1552
1552
  if (!(neetoCist.isNotPresent(file.id) && neetoCist.isNotPresent(file.signedId))) {
1553
- _context.next = 2;
1553
+ _context.n = 1;
1554
1554
  break;
1555
1555
  }
1556
- return _context.abrupt("return");
1557
- case 2:
1558
- _context.prev = 2;
1559
- _context.next = 5;
1556
+ return _context.a(2);
1557
+ case 1:
1558
+ _context.p = 1;
1559
+ _context.n = 2;
1560
1560
  return reactFileIcon_esm.directUploadsApi.attach({
1561
1561
  id: file.id,
1562
1562
  signed_id: file.signedId
1563
1563
  });
1564
- case 5:
1564
+ case 2:
1565
1565
  insertMediaToEditor(file);
1566
1566
  handleClose();
1567
- _context.next = 12;
1567
+ _context.n = 4;
1568
1568
  break;
1569
- case 9:
1570
- _context.prev = 9;
1571
- _context.t0 = _context["catch"](2);
1572
- Toastr__default.default.error(_context.t0);
1573
- case 12:
1574
- case "end":
1575
- return _context.stop();
1569
+ case 3:
1570
+ _context.p = 3;
1571
+ _t = _context.v;
1572
+ Toastr__default.default.error(_t);
1573
+ case 4:
1574
+ return _context.a(2);
1576
1575
  }
1577
- }, _callee, null, [[2, 9]]);
1576
+ }, _callee, null, [[1, 3]]);
1578
1577
  }));
1579
1578
  return function onUploadComplete(_x) {
1580
1579
  return _ref3.apply(this, arguments);
@@ -1874,12 +1873,12 @@ function _objectSpread$7(e) { for (var r = 1; r < arguments.length; r++) { var t
1874
1873
  var useEditorState = function useEditorState(_ref) {
1875
1874
  var editor = _ref.editor,
1876
1875
  neetoKbArticleState = _ref.neetoKbArticleState;
1877
- var _useEditorStore = useEditorStore.useEditorStore(function (store) {
1876
+ var _useEditorStore = useEditorStore.useEditorStore(shallow.useShallow(function (store) {
1878
1877
  return {
1879
1878
  setMarksState: store["setMarksState"],
1880
1879
  marksState: store["marksState"]
1881
1880
  };
1882
- }, shallow.shallow),
1881
+ })),
1883
1882
  setMarksState = _useEditorStore.setMarksState,
1884
1883
  marksState = _useEditorStore.marksState;
1885
1884
  var handleSelectionUpdate = React.useCallback(function (_ref2) {
@@ -2629,12 +2628,12 @@ var FontSizeOption$1 = function FontSizeOption(_ref) {
2629
2628
  options = _ref$options === void 0 ? [] : _ref$options;
2630
2629
  var dropdownRef = React.useRef(null);
2631
2630
  var lastOption = ramda.last(FONT_SIZE_OPTIONS);
2632
- var _useEditorStore = useEditorStore.useEditorStore(function (store) {
2631
+ var _useEditorStore = useEditorStore.useEditorStore(shallow.useShallow(function (store) {
2633
2632
  var _store$marksState;
2634
2633
  return {
2635
2634
  fontSizeOption: (_store$marksState = store["marksState"]) === null || _store$marksState === void 0 ? void 0 : _store$marksState["fontSizeOption"]
2636
2635
  };
2637
- }, shallow.shallow),
2636
+ })),
2638
2637
  _useEditorStore$fontS = _useEditorStore.fontSizeOption,
2639
2638
  activeOption = _useEditorStore$fontS === void 0 ? lastOption : _useEditorStore$fontS;
2640
2639
  var handleClick = function handleClick(level) {
@@ -3447,4 +3446,4 @@ exports.Menu = Menu;
3447
3446
  exports.MenuDynamicVariables = MenuDynamicVariables;
3448
3447
  exports.getLinkPopoverPosition = getLinkPopoverPosition;
3449
3448
  exports.validateUrl = validateUrl;
3450
- //# sourceMappingURL=chunk-DRTgn9TG.cjs.js.map
3449
+ //# sourceMappingURL=chunk-D53HfRZd.cjs.js.map