@bigbinary/neeto-editor 1.47.122 → 1.47.123
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Editor.js +7 -3
- package/dist/Editor.js.map +1 -1
- package/dist/FormikEditor.js +2 -2
- package/dist/Menu.js +2 -2
- package/dist/{chunk-CHpkesFt.js → chunk-CDPeBjvi.js} +2 -2
- package/dist/{chunk-CHpkesFt.js.map → chunk-CDPeBjvi.js.map} +1 -1
- package/dist/{chunk-CnsiyshR.js → chunk-C_jttcYg.js} +13 -2
- package/dist/chunk-C_jttcYg.js.map +1 -0
- package/dist/cjs/Editor.cjs.js +7 -3
- package/dist/cjs/Editor.cjs.js.map +1 -1
- package/dist/cjs/FormikEditor.cjs.js +2 -2
- package/dist/cjs/Menu.cjs.js +2 -2
- package/dist/cjs/{chunk-BGvf6C3z.cjs.js → chunk-B_7qxIrt.cjs.js} +13 -1
- package/dist/cjs/chunk-B_7qxIrt.cjs.js.map +1 -0
- package/dist/cjs/{chunk-DpqV12Vi.cjs.js → chunk-Zpn4p-0s.cjs.js} +2 -2
- package/dist/cjs/{chunk-DpqV12Vi.cjs.js.map → chunk-Zpn4p-0s.cjs.js.map} +1 -1
- package/dist/cjs/index.cjs.js +2 -2
- package/dist/cjs/utils.cjs.js +1 -1
- package/dist/cjs/v2/utils.cjs.js +1 -1
- package/dist/editor-stats.html +1 -1
- package/dist/index.js +2 -2
- package/dist/utils.js +1 -1
- package/dist/v2/utils.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-CnsiyshR.js.map +0 -1
- package/dist/cjs/chunk-BGvf6C3z.cjs.js.map +0 -1
|
@@ -28,13 +28,13 @@ require('@babel/runtime/regenerator');
|
|
|
28
28
|
require('@tanstack/react-query');
|
|
29
29
|
require('yjs');
|
|
30
30
|
require('./chunk-B6qYtOJe.cjs.js');
|
|
31
|
-
require('./chunk-
|
|
31
|
+
require('./chunk-B_7qxIrt.cjs.js');
|
|
32
32
|
require('./chunk-BGy3NmZC.cjs.js');
|
|
33
33
|
require('i18next');
|
|
34
34
|
require('yup');
|
|
35
35
|
require('react-dom/server');
|
|
36
36
|
require('@bigbinary/neeto-icons/misc/Megaphone');
|
|
37
|
-
require('./chunk-
|
|
37
|
+
require('./chunk-Zpn4p-0s.cjs.js');
|
|
38
38
|
require('@bigbinary/neeto-icons/TextH1');
|
|
39
39
|
require('@bigbinary/neeto-icons/TextH2');
|
|
40
40
|
require('@bigbinary/neeto-icons/TextH3');
|
package/dist/cjs/Menu.cjs.js
CHANGED
|
@@ -5,7 +5,7 @@ require('@babel/runtime/helpers/toConsumableArray');
|
|
|
5
5
|
require('@babel/runtime/helpers/slicedToArray');
|
|
6
6
|
require('react');
|
|
7
7
|
require('ramda');
|
|
8
|
-
var Menu = require('./chunk-
|
|
8
|
+
var Menu = require('./chunk-Zpn4p-0s.cjs.js');
|
|
9
9
|
require('./chunk-BGy3NmZC.cjs.js');
|
|
10
10
|
require('react/jsx-runtime');
|
|
11
11
|
require('./chunk-B6qYtOJe.cjs.js');
|
|
@@ -32,7 +32,7 @@ require('@bigbinary/neetoui/Dropdown');
|
|
|
32
32
|
require('react-i18next');
|
|
33
33
|
require('@bigbinary/neeto-icons/Close');
|
|
34
34
|
require('@bigbinary/neetoui/Button');
|
|
35
|
-
require('./chunk-
|
|
35
|
+
require('./chunk-B_7qxIrt.cjs.js');
|
|
36
36
|
require('@bigbinary/neeto-commons-frontend/utils');
|
|
37
37
|
require('@bigbinary/neeto-icons/Check');
|
|
38
38
|
require('@bigbinary/neetoui/Label');
|
|
@@ -79,6 +79,17 @@ var transformPastedHTML = function transformPastedHTML(content) {
|
|
|
79
79
|
}
|
|
80
80
|
return doc.body.innerHTML;
|
|
81
81
|
};
|
|
82
|
+
var handlePaste = function handlePaste(view, event, slice) {
|
|
83
|
+
try {
|
|
84
|
+
view.state.tr.replaceSelection(slice);
|
|
85
|
+
return false;
|
|
86
|
+
} catch (_unused) {
|
|
87
|
+
var _event$clipboardData;
|
|
88
|
+
var text = ((_event$clipboardData = event.clipboardData) === null || _event$clipboardData === void 0 ? void 0 : _event$clipboardData.getData("text/plain")) || slice.content.textBetween(0, slice.content.size, "\n").trim();
|
|
89
|
+
if (text) view.dispatch(view.state.tr.insertText(text).scrollIntoView());
|
|
90
|
+
return true;
|
|
91
|
+
}
|
|
92
|
+
};
|
|
82
93
|
var buildLevelsFromOptions = function buildLevelsFromOptions(options) {
|
|
83
94
|
var levels = _defineProperty__default.default(_defineProperty__default.default(_defineProperty__default.default(_defineProperty__default.default(_defineProperty__default.default(_defineProperty__default.default({}, constants$1.EDITOR_OPTIONS.H1, 1), constants$1.EDITOR_OPTIONS.H2, 2), constants$1.EDITOR_OPTIONS.H3, 3), constants$1.EDITOR_OPTIONS.H4, 4), constants$1.EDITOR_OPTIONS.H5, 5), constants$1.EDITOR_OPTIONS.H6, 6);
|
|
84
95
|
return Object.entries(levels).filter(function (heading) {
|
|
@@ -91,10 +102,11 @@ var buildLevelsFromOptions = function buildLevelsFromOptions(options) {
|
|
|
91
102
|
exports.buildLevelsFromOptions = buildLevelsFromOptions;
|
|
92
103
|
exports.clipboardTextParser = clipboardTextParser;
|
|
93
104
|
exports.getEditorStyles = getEditorStyles;
|
|
105
|
+
exports.handlePaste = handlePaste;
|
|
94
106
|
exports.isEditorOverlaysActive = isEditorOverlaysActive;
|
|
95
107
|
exports.isEmojiSuggestionsMenuActive = isEmojiSuggestionsMenuActive;
|
|
96
108
|
exports.setInitialPosition = setInitialPosition;
|
|
97
109
|
exports.transformEditorContent = transformEditorContent;
|
|
98
110
|
exports.transformPastedHTML = transformPastedHTML;
|
|
99
111
|
exports.validateAndFormatUrl = validateAndFormatUrl;
|
|
100
|
-
//# sourceMappingURL=chunk-
|
|
112
|
+
//# sourceMappingURL=chunk-B_7qxIrt.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-B_7qxIrt.cjs.js","sources":["../../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\";\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) => {\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","nodes","blocks","split","forEach","line","nodeJson","type","isNotEmpty","content","node","Node","fromJSON","doc","schema","push","fragment","Fragment","fromArray","Slice","maxOpen","setInitialPosition","editor","state","view","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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"}
|
|
@@ -24,7 +24,7 @@ var Dropdown$1 = require('@bigbinary/neetoui/Dropdown');
|
|
|
24
24
|
var reactI18next = require('react-i18next');
|
|
25
25
|
var Close = require('@bigbinary/neeto-icons/Close');
|
|
26
26
|
var Button$1 = require('@bigbinary/neetoui/Button');
|
|
27
|
-
var utils = require('./chunk-
|
|
27
|
+
var utils = require('./chunk-B_7qxIrt.cjs.js');
|
|
28
28
|
var jsxRuntime = require('react/jsx-runtime');
|
|
29
29
|
var utils$1 = require('@bigbinary/neeto-commons-frontend/utils');
|
|
30
30
|
var Check = require('@bigbinary/neeto-icons/Check');
|
|
@@ -3440,4 +3440,4 @@ exports.Menu = Menu;
|
|
|
3440
3440
|
exports.MenuDynamicVariables = MenuDynamicVariables;
|
|
3441
3441
|
exports.getLinkPopoverPosition = getLinkPopoverPosition;
|
|
3442
3442
|
exports.validateUrl = validateUrl;
|
|
3443
|
-
//# sourceMappingURL=chunk-
|
|
3443
|
+
//# sourceMappingURL=chunk-Zpn4p-0s.cjs.js.map
|