@bigbinary/neeto-editor-frontend 2.3.0-beta1 → 2.3.1
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/app/javascript/src/translations/ar.json +2 -1
- package/app/javascript/src/translations/bg.json +2 -1
- package/app/javascript/src/translations/ca.json +2 -1
- package/app/javascript/src/translations/cs.json +2 -1
- package/app/javascript/src/translations/da.json +2 -1
- package/app/javascript/src/translations/de.json +2 -1
- package/app/javascript/src/translations/en.json +2 -1
- package/app/javascript/src/translations/es-MX.json +2 -1
- package/app/javascript/src/translations/es.json +2 -1
- package/app/javascript/src/translations/et.json +2 -1
- package/app/javascript/src/translations/fi.json +2 -1
- package/app/javascript/src/translations/fil.json +2 -1
- package/app/javascript/src/translations/fr.json +2 -1
- package/app/javascript/src/translations/he.json +2 -1
- package/app/javascript/src/translations/hi.json +2 -1
- package/app/javascript/src/translations/hr.json +2 -1
- package/app/javascript/src/translations/hu.json +2 -1
- package/app/javascript/src/translations/id.json +2 -1
- package/app/javascript/src/translations/it.json +2 -1
- package/app/javascript/src/translations/ja.json +2 -1
- package/app/javascript/src/translations/ko.json +2 -1
- package/app/javascript/src/translations/lv.json +2 -1
- package/app/javascript/src/translations/nl.json +2 -1
- package/app/javascript/src/translations/pl.json +2 -1
- package/app/javascript/src/translations/pt-BR.json +2 -1
- package/app/javascript/src/translations/pt.json +2 -1
- package/app/javascript/src/translations/ro.json +2 -1
- package/app/javascript/src/translations/ru.json +2 -1
- package/app/javascript/src/translations/sk.json +2 -1
- package/app/javascript/src/translations/sl.json +2 -1
- package/app/javascript/src/translations/sv.json +2 -1
- package/app/javascript/src/translations/th.json +2 -1
- package/app/javascript/src/translations/tr.json +2 -1
- package/app/javascript/src/translations/uk.json +2 -1
- package/app/javascript/src/translations/vi.json +2 -1
- package/app/javascript/src/translations/zh-CN.json +2 -1
- package/app/javascript/src/translations/zh-TW.json +2 -1
- package/dist/.ready +1 -1
- package/dist/Attachments.js +4 -4
- package/dist/Editor.js +8 -8
- package/dist/EditorContent.js +2 -2
- package/dist/FormikEditor.js +8 -8
- package/dist/Menu.js +6 -6
- package/dist/{chunk-UwzgbfZD.js → chunk-71BzByG6.js} +2 -1
- package/dist/chunk-71BzByG6.js.map +1 -0
- package/dist/{chunk-C_4zmIBQ.js → chunk-B-DmzF0q.js} +3 -3
- package/dist/{chunk-C_4zmIBQ.js.map → chunk-B-DmzF0q.js.map} +1 -1
- package/dist/{chunk-BozdxlzB.js → chunk-BE7om7ts.js} +2 -2
- package/dist/{chunk-BozdxlzB.js.map → chunk-BE7om7ts.js.map} +1 -1
- package/dist/{chunk-CLjWv4gG.js → chunk-BEopbFak.js} +5 -5
- package/dist/{chunk-CLjWv4gG.js.map → chunk-BEopbFak.js.map} +1 -1
- package/dist/chunk-BFj2DeQe.js +24 -0
- package/dist/chunk-BFj2DeQe.js.map +1 -0
- package/dist/{chunk-DwQ7NJtm.js → chunk-BlvmXrHo.js} +5 -5
- package/dist/chunk-BlvmXrHo.js.map +1 -0
- package/dist/{chunk-AexVHCkr.js → chunk-Bq_ijJy6.js} +5 -5
- package/dist/{chunk-AexVHCkr.js.map → chunk-Bq_ijJy6.js.map} +1 -1
- package/dist/{chunk-yBvbLjSM.js → chunk-Bqh1Tsc6.js} +3 -3
- package/dist/{chunk-yBvbLjSM.js.map → chunk-Bqh1Tsc6.js.map} +1 -1
- package/dist/{chunk-Bktpw5vs.js → chunk-Bskj5cbo.js} +6 -6
- package/dist/{chunk-Bktpw5vs.js.map → chunk-Bskj5cbo.js.map} +1 -1
- package/dist/{chunk-GA-wADEN.js → chunk-CMfrTj8Z.js} +3 -3
- package/dist/{chunk-GA-wADEN.js.map → chunk-CMfrTj8Z.js.map} +1 -1
- package/dist/chunk-CXFFqMSB.js +21232 -0
- package/dist/chunk-CXFFqMSB.js.map +1 -0
- package/dist/{chunk-D37Dlp9s.js → chunk-CYmA2oQ8.js} +5 -5
- package/dist/{chunk-D37Dlp9s.js.map → chunk-CYmA2oQ8.js.map} +1 -1
- package/dist/{chunk-CNIDH-FD.js → chunk-Dwn1Kihg.js} +2 -2
- package/dist/{chunk-CNIDH-FD.js.map → chunk-Dwn1Kihg.js.map} +1 -1
- package/dist/{chunk-BIgc5m-h.js → chunk-EjoZ4e18.js} +4 -4
- package/dist/{chunk-BIgc5m-h.js.map → chunk-EjoZ4e18.js.map} +1 -1
- package/dist/{chunk-CivYrffM.js → chunk-PFB_80PR.js} +4 -4
- package/dist/{chunk-CivYrffM.js.map → chunk-PFB_80PR.js.map} +1 -1
- package/dist/{chunk-BHi0J28T.js → chunk-Verd5n0p.js} +7 -6
- package/dist/chunk-Verd5n0p.js.map +1 -0
- package/dist/cjs/Attachments.cjs.js +4 -4
- package/dist/cjs/Editor.cjs.js +8 -8
- package/dist/cjs/EditorContent.cjs.js +2 -2
- package/dist/cjs/FormikEditor.cjs.js +8 -8
- package/dist/cjs/Menu.cjs.js +6 -6
- package/dist/cjs/chunk-BIjq_wPr.cjs.js +21279 -0
- package/dist/cjs/chunk-BIjq_wPr.cjs.js.map +1 -0
- package/dist/cjs/{chunk-Cr0FBhRs.cjs.js → chunk-BhQA4bH9.cjs.js} +7 -6
- package/dist/cjs/chunk-BhQA4bH9.cjs.js.map +1 -0
- package/dist/cjs/{chunk-BfHU_Ynq.cjs.js → chunk-CE1t-vbx.cjs.js} +5 -5
- package/dist/cjs/{chunk-BfHU_Ynq.cjs.js.map → chunk-CE1t-vbx.cjs.js.map} +1 -1
- package/dist/cjs/{chunk-CKbuSSOi.cjs.js → chunk-CVJLunrU.cjs.js} +6 -6
- package/dist/cjs/{chunk-CKbuSSOi.cjs.js.map → chunk-CVJLunrU.cjs.js.map} +1 -1
- package/dist/cjs/{chunk-Niprqtd_.cjs.js → chunk-CgYpFN-j.cjs.js} +3 -3
- package/dist/cjs/{chunk-Niprqtd_.cjs.js.map → chunk-CgYpFN-j.cjs.js.map} +1 -1
- package/dist/cjs/{chunk-CfiRFXt2.cjs.js → chunk-Crr-dv3q.cjs.js} +4 -3
- package/dist/cjs/{chunk-CfiRFXt2.cjs.js.map → chunk-Crr-dv3q.cjs.js.map} +1 -1
- package/dist/cjs/chunk-CvnWF5Pm.cjs.js +26 -0
- package/dist/cjs/chunk-CvnWF5Pm.cjs.js.map +1 -0
- package/dist/cjs/{chunk-Df43FB6u.cjs.js → chunk-D-AVd9c9.cjs.js} +5 -5
- package/dist/cjs/{chunk-Df43FB6u.cjs.js.map → chunk-D-AVd9c9.cjs.js.map} +1 -1
- package/dist/cjs/{chunk-CpQ8t9br.cjs.js → chunk-D2INvafM.cjs.js} +3 -3
- package/dist/cjs/{chunk-CpQ8t9br.cjs.js.map → chunk-D2INvafM.cjs.js.map} +1 -1
- package/dist/cjs/{chunk-DuwgLqpD.cjs.js → chunk-DIpshzqU.cjs.js} +5 -5
- package/dist/cjs/{chunk-DuwgLqpD.cjs.js.map → chunk-DIpshzqU.cjs.js.map} +1 -1
- package/dist/cjs/{chunk-BxKa_XOs.cjs.js → chunk-DO6eyguX.cjs.js} +2 -1
- package/dist/cjs/chunk-DO6eyguX.cjs.js.map +1 -0
- package/dist/cjs/{chunk-CAaxrndK.cjs.js → chunk-DOiH1lXw.cjs.js} +4 -4
- package/dist/cjs/{chunk-CAaxrndK.cjs.js.map → chunk-DOiH1lXw.cjs.js.map} +1 -1
- package/dist/cjs/{chunk-Ct6vCCZ0.cjs.js → chunk-DnoebPXq.cjs.js} +5 -4
- package/dist/cjs/chunk-DnoebPXq.cjs.js.map +1 -0
- package/dist/cjs/{chunk-Df33Mipq.cjs.js → chunk-DoDh8RsI.cjs.js} +2 -2
- package/dist/cjs/{chunk-Df33Mipq.cjs.js.map → chunk-DoDh8RsI.cjs.js.map} +1 -1
- package/dist/cjs/{chunk-CQ-j2kAX.cjs.js → chunk-G_6vNGIP.cjs.js} +2 -2
- package/dist/cjs/{chunk-CQ-j2kAX.cjs.js.map → chunk-G_6vNGIP.cjs.js.map} +1 -1
- package/dist/cjs/{chunk-CkSG3yNC.cjs.js → chunk-z7T8oExT.cjs.js} +3 -3
- package/dist/cjs/{chunk-CkSG3yNC.cjs.js.map → chunk-z7T8oExT.cjs.js.map} +1 -1
- package/dist/cjs/constants.cjs.js +2 -2
- package/dist/cjs/index.cjs.js +8 -8
- package/dist/cjs/utils.cjs.js +3 -3
- package/dist/cjs/v2/Attachments.cjs.js +4 -4
- package/dist/cjs/v2/Editor.cjs.js +654 -25
- package/dist/cjs/v2/Editor.cjs.js.map +1 -1
- package/dist/cjs/v2/EditorContent.cjs.js +3 -3
- package/dist/cjs/v2/FormikEditor.cjs.js +9 -9
- package/dist/cjs/v2/Menu.cjs.js +4 -4
- package/dist/cjs/v2/constants.cjs.js +2 -2
- package/dist/cjs/v2/index.cjs.js +8 -8
- package/dist/cjs/v2/utils.cjs.js +3 -3
- package/dist/constants.js +2 -2
- package/dist/editor-stats.html +1 -1
- package/dist/index.js +8 -8
- package/dist/utils.js +3 -3
- package/dist/v2/Attachments.js +4 -4
- package/dist/v2/Editor.js +658 -29
- package/dist/v2/Editor.js.map +1 -1
- package/dist/v2/EditorContent.js +3 -3
- package/dist/v2/FormikEditor.js +9 -9
- package/dist/v2/Menu.js +4 -4
- package/dist/v2/constants.js +2 -2
- package/dist/v2/editor-content-styles.js +1 -1
- package/dist/v2/editor-content.min.css +1 -1
- package/dist/v2/index.js +8 -8
- package/dist/v2/styles.css +1 -1
- package/dist/v2/styles.js +1 -1
- package/dist/v2/utils.js +3 -3
- package/package.json +14 -13
- package/dist/chunk-BHi0J28T.js.map +0 -1
- package/dist/chunk-DwQ7NJtm.js.map +0 -1
- package/dist/chunk-UwzgbfZD.js.map +0 -1
- package/dist/cjs/chunk-BxKa_XOs.cjs.js.map +0 -1
- package/dist/cjs/chunk-Cr0FBhRs.cjs.js.map +0 -1
- package/dist/cjs/chunk-Ct6vCCZ0.cjs.js.map +0 -1
|
@@ -2,8 +2,8 @@ import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
|
2
2
|
import { i as isMarkdown, m as markdownToSlice, N as Node, F as Fragment, S as Slice } from './chunk-C9H9LYpP.js';
|
|
3
3
|
import { S as Selection } from './chunk-DqSrbxqC.js';
|
|
4
4
|
import { isNotEmpty } from '@bigbinary/neeto-cist';
|
|
5
|
-
import { E as EDITOR_OPTIONS, A as ALL_PROTOCOL_URL_REGEXP } from './chunk-
|
|
6
|
-
import { I as IMAGE_REGEX, a as IMAGE_REPLACEMENT_PATTERN, E as EMPTY_DIV_REGEX, T as TRAILING_BR_REGEX, b as EDITOR_LINE_HEIGHT, c as EDITOR_PADDING_SIZE, d as EDITOR_BORDER_SIZE } from './chunk-
|
|
5
|
+
import { E as EDITOR_OPTIONS, A as ALL_PROTOCOL_URL_REGEXP } from './chunk-71BzByG6.js';
|
|
6
|
+
import { I as IMAGE_REGEX, a as IMAGE_REPLACEMENT_PATTERN, E as EMPTY_DIV_REGEX, T as TRAILING_BR_REGEX, b as EDITOR_LINE_HEIGHT, c as EDITOR_PADDING_SIZE, d as EDITOR_BORDER_SIZE } from './chunk-Dwn1Kihg.js';
|
|
7
7
|
|
|
8
8
|
var getEditorStyles = function getEditorStyles(_ref) {
|
|
9
9
|
var rows = _ref.rows;
|
|
@@ -98,4 +98,4 @@ var buildLevelsFromOptions = function buildLevelsFromOptions(options) {
|
|
|
98
98
|
};
|
|
99
99
|
|
|
100
100
|
export { isEmojiSuggestionsMenuActive as a, buildLevelsFromOptions as b, transformPastedHTML as c, clipboardTextParser as d, getEditorStyles as g, handlePaste as h, isEditorOverlaysActive as i, setInitialPosition as s, transformEditorContent as t, validateAndFormatUrl as v };
|
|
101
|
-
//# sourceMappingURL=chunk-
|
|
101
|
+
//# sourceMappingURL=chunk-CMfrTj8Z.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunk-
|
|
1
|
+
{"version":3,"file":"chunk-CMfrTj8Z.js","sources":["../app/javascript/src/components/Editor/utils.js"],"sourcesContent":["import { Slice, Fragment, Node } from \"@tiptap/pm/model\";\nimport { Selection } from \"@tiptap/pm/state\";\nimport { isNotEmpty } from \"neetocist\";\n\nimport { ALL_PROTOCOL_URL_REGEXP, EDITOR_OPTIONS } from \"src/common/constants\";\nimport { isMarkdown, markdownToSlice } from \"src/utils/markdown\";\n\nimport {\n EDITOR_LINE_HEIGHT,\n EDITOR_BORDER_SIZE,\n EDITOR_PADDING_SIZE,\n IMAGE_REGEX,\n IMAGE_REPLACEMENT_PATTERN,\n EMPTY_DIV_REGEX,\n TRAILING_BR_REGEX,\n} from \"./constants\";\n\nexport const getEditorStyles = ({ rows }) => {\n const editorHeight =\n rows * EDITOR_LINE_HEIGHT + 2 * (EDITOR_PADDING_SIZE + EDITOR_BORDER_SIZE);\n\n return `min-height: ${editorHeight}px;`;\n};\n\nexport const clipboardTextParser = (text, context, plain, view) => {\n if (!plain && isMarkdown(text)) {\n return markdownToSlice(text, view.state.schema, context);\n }\n\n const nodes = [];\n const blocks = text.split(/\\n/);\n\n blocks.forEach(line => {\n const nodeJson = { type: \"paragraph\" };\n if (isNotEmpty(line)) {\n nodeJson.content = [{ type: \"text\", text: line }];\n }\n const node = Node.fromJSON(context.doc.type.schema, nodeJson);\n nodes.push(node);\n });\n\n const fragment = Fragment.fromArray(nodes);\n\n return Slice.maxOpen(fragment);\n};\n\nexport const setInitialPosition = editor => {\n const { state, view } = editor;\n const endPosition = Selection.atEnd(state.doc);\n const transaction = state.tr;\n transaction.setSelection(endPosition);\n view.dispatch(transaction);\n};\n\nexport const isEditorOverlaysActive = () =>\n document.querySelector(\n \".ne-media-uploader,.ne-embed-modal,.tippy-content,.ne-link-popover\"\n );\n\nexport const validateAndFormatUrl = url => {\n if (!ALL_PROTOCOL_URL_REGEXP.test(url)) {\n return null;\n }\n\n if (!/^[a-zA-Z]\\w*:/i.test(url)) {\n return `https://${url}`;\n }\n\n return url;\n};\n\nexport const transformEditorContent = content =>\n content\n ?.replaceAll(IMAGE_REGEX, IMAGE_REPLACEMENT_PATTERN)\n ?.replaceAll(EMPTY_DIV_REGEX, \"\")\n ?.replace(TRAILING_BR_REGEX, \"\");\n\nexport const isEmojiSuggestionsMenuActive = () =>\n !!document.querySelector(\".neeto-editor-emoji-suggestion\");\n\nexport const transformPastedHTML = content => {\n const contentWithoutBr = content.replaceAll(\"<br />\", \"<p></p>\");\n const doc = new DOMParser().parseFromString(contentWithoutBr, \"text/html\");\n\n // ProseMirror tags clipboard output from any TipTap/ProseMirror editor with\n // `data-pm-slice`. When present, the paste is coming from another\n // neeto-editor instance and we preserve the author's color choices. When\n // absent, the source is external (Word, websites, customer messages) and we\n // strip inline colors so foreign theming does not bleed into the editor.\n const isInternalPaste = doc.querySelector(\"[data-pm-slice]\") !== null;\n\n if (!isInternalPaste) {\n doc.querySelectorAll(\"[style]\").forEach(el => {\n el.style.color = \"\";\n el.style.backgroundColor = \"\";\n });\n }\n\n return doc.body.innerHTML;\n};\n\nexport const handlePaste = (view, event, slice) => {\n try {\n view.state.tr.replaceSelection(slice);\n\n return false;\n } catch {\n const text =\n event.clipboardData?.getData(\"text/plain\") ||\n slice.content.textBetween(0, slice.content.size, \"\\n\").trim();\n if (text) view.dispatch(view.state.tr.insertText(text).scrollIntoView());\n\n return true;\n }\n};\n\nexport const buildLevelsFromOptions = options => {\n const levels = {\n [EDITOR_OPTIONS.H1]: 1,\n [EDITOR_OPTIONS.H2]: 2,\n [EDITOR_OPTIONS.H3]: 3,\n [EDITOR_OPTIONS.H4]: 4,\n [EDITOR_OPTIONS.H5]: 5,\n [EDITOR_OPTIONS.H6]: 6,\n };\n\n return Object.entries(levels)\n .filter(heading => options.includes(heading[0]))\n .map(heading => heading[1]);\n};\n"],"names":["getEditorStyles","_ref","rows","editorHeight","EDITOR_LINE_HEIGHT","EDITOR_PADDING_SIZE","EDITOR_BORDER_SIZE","concat","clipboardTextParser","text","context","plain","view","isMarkdown","markdownToSlice","state","schema","nodes","blocks","split","forEach","line","nodeJson","type","isNotEmpty","content","node","Node","fromJSON","doc","push","fragment","Fragment","fromArray","Slice","maxOpen","setInitialPosition","editor","endPosition","Selection","atEnd","transaction","tr","setSelection","dispatch","isEditorOverlaysActive","document","querySelector","validateAndFormatUrl","url","ALL_PROTOCOL_URL_REGEXP","test","transformEditorContent","_content$replaceAll","replaceAll","IMAGE_REGEX","IMAGE_REPLACEMENT_PATTERN","EMPTY_DIV_REGEX","replace","TRAILING_BR_REGEX","isEmojiSuggestionsMenuActive","transformPastedHTML","contentWithoutBr","DOMParser","parseFromString","isInternalPaste","querySelectorAll","el","style","color","backgroundColor","body","innerHTML","handlePaste","event","slice","replaceSelection","_unused","_event$clipboardData","clipboardData","getData","textBetween","size","trim","insertText","scrollIntoView","buildLevelsFromOptions","options","levels","_defineProperty","EDITOR_OPTIONS","H1","H2","H3","H4","H5","H6","Object","entries","filter","heading","includes","map"],"mappings":"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"}
|