@bigbinary/neeto-editor-frontend 2.3.1 → 2.3.2
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/.ready +1 -1
- package/dist/Editor.js +7 -13
- package/dist/Editor.js.map +1 -1
- package/dist/EditorContent.js +4 -4
- package/dist/FormikEditor.js +7 -7
- package/dist/Menu.js +5 -5
- package/dist/{chunk-Bqh1Tsc6.js → chunk-8Y1qxQKJ.js} +4 -4
- package/dist/{chunk-Bqh1Tsc6.js.map → chunk-8Y1qxQKJ.js.map} +1 -1
- package/dist/{chunk-DPx9v04U.js → chunk-B3vcuuGc.js} +3 -3
- package/dist/{chunk-DPx9v04U.js.map → chunk-B3vcuuGc.js.map} +1 -1
- package/dist/{chunk-DcxOAiAp.js → chunk-BEu5qvTE.js} +2 -2
- package/dist/{chunk-DcxOAiAp.js.map → chunk-BEu5qvTE.js.map} +1 -1
- package/dist/{chunk-BE7om7ts.js → chunk-CO5ISBiA.js} +5 -5
- package/dist/{chunk-BE7om7ts.js.map → chunk-CO5ISBiA.js.map} +1 -1
- package/dist/{chunk-LtUevT4I.js → chunk-D-UBA5Ku.js} +2 -2
- package/dist/{chunk-LtUevT4I.js.map → chunk-D-UBA5Ku.js.map} +1 -1
- package/dist/{chunk-C9H9LYpP.js → chunk-D1r5E1QP.js} +2 -2
- package/dist/{chunk-C9H9LYpP.js.map → chunk-D1r5E1QP.js.map} +1 -1
- package/dist/{chunk-CMfrTj8Z.js → chunk-D4YRISfA.js} +3 -3
- package/dist/{chunk-CMfrTj8Z.js.map → chunk-D4YRISfA.js.map} +1 -1
- package/dist/{chunk-B5LsYrmv.js → chunk-D7WJxGfx.js} +6300 -6300
- package/dist/{chunk-B5LsYrmv.js.map → chunk-D7WJxGfx.js.map} +1 -1
- package/dist/{chunk-DqSrbxqC.js → chunk-DNTLyDg4.js} +2 -2
- package/dist/{chunk-DqSrbxqC.js.map → chunk-DNTLyDg4.js.map} +1 -1
- package/dist/{chunk-Bskj5cbo.js → chunk-DOpcw6oQ.js} +3 -3
- package/dist/{chunk-Bskj5cbo.js.map → chunk-DOpcw6oQ.js.map} +1 -1
- package/dist/{chunk-PFB_80PR.js → chunk-Das-Irbp.js} +4 -4
- package/dist/{chunk-PFB_80PR.js.map → chunk-Das-Irbp.js.map} +1 -1
- package/dist/cjs/Editor.cjs.js +3 -9
- package/dist/cjs/Editor.cjs.js.map +1 -1
- package/dist/cjs/FormikEditor.cjs.js +3 -3
- package/dist/cjs/Menu.cjs.js +2 -2
- package/dist/cjs/{chunk-CVJLunrU.cjs.js → chunk-BXtUbe44.cjs.js} +2 -2
- package/dist/cjs/{chunk-CVJLunrU.cjs.js.map → chunk-BXtUbe44.cjs.js.map} +1 -1
- package/dist/cjs/{chunk-DOiH1lXw.cjs.js → chunk-Bw2Qm2Gs.cjs.js} +2 -2
- package/dist/cjs/{chunk-DOiH1lXw.cjs.js.map → chunk-Bw2Qm2Gs.cjs.js.map} +1 -1
- package/dist/cjs/{chunk-DoDh8RsI.cjs.js → chunk-CgH53wyh.cjs.js} +2 -2
- package/dist/cjs/{chunk-DoDh8RsI.cjs.js.map → chunk-CgH53wyh.cjs.js.map} +1 -1
- package/dist/cjs/{chunk-CxKWZyHq.cjs.js → chunk-Co9YfTVh.cjs.js} +6297 -6298
- package/dist/cjs/chunk-Co9YfTVh.cjs.js.map +1 -0
- package/dist/cjs/index.cjs.js +3 -3
- package/dist/cjs/v2/Editor.cjs.js +3 -7
- package/dist/cjs/v2/Editor.cjs.js.map +1 -1
- package/dist/cjs/v2/FormikEditor.cjs.js +3 -3
- package/dist/cjs/v2/Menu.cjs.js +2 -2
- package/dist/cjs/v2/index.cjs.js +3 -3
- package/dist/editor-stats.html +1 -1
- package/dist/index.js +9 -9
- package/dist/utils.js +6 -6
- package/dist/v2/Editor.js +6 -10
- package/dist/v2/Editor.js.map +1 -1
- package/dist/v2/EditorContent.js +4 -4
- package/dist/v2/FormikEditor.js +6 -6
- package/dist/v2/Menu.js +4 -4
- package/dist/v2/index.js +8 -8
- package/dist/v2/utils.js +6 -6
- package/package.json +9 -9
- package/dist/cjs/chunk-CxKWZyHq.cjs.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
-
import { i as isMarkdown, m as markdownToSlice, N as Node, F as Fragment, S as Slice } from './chunk-
|
|
3
|
-
import { S as Selection } from './chunk-
|
|
2
|
+
import { i as isMarkdown, m as markdownToSlice, N as Node, F as Fragment, S as Slice } from './chunk-D1r5E1QP.js';
|
|
3
|
+
import { S as Selection } from './chunk-DNTLyDg4.js';
|
|
4
4
|
import { isNotEmpty } from '@bigbinary/neeto-cist';
|
|
5
5
|
import { E as EDITOR_OPTIONS, A as ALL_PROTOCOL_URL_REGEXP } from './chunk-71BzByG6.js';
|
|
6
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';
|
|
@@ -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-D4YRISfA.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunk-
|
|
1
|
+
{"version":3,"file":"chunk-D4YRISfA.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":";;;;;;;IAiBaA,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,IAAA,EAAiB;AAAA,EAAA,IAAXC,IAAI,GAAAD,IAAA,CAAJC,IAAI;EACpC,IAAMC,YAAY,GAChBD,IAAI,GAAGE,kBAAkB,GAAG,CAAC,IAAIC,mBAAmB,GAAGC,kBAAkB,CAAC;EAE5E,OAAA,cAAA,CAAAC,MAAA,CAAsBJ,YAAY,EAAA,KAAA,CAAA;AACpC;AAEO,IAAMK,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,IAAI,EAAEC,OAAO,EAAEC,KAAK,EAAEC,IAAI,EAAK;AACjE,EAAA,IAAI,CAACD,KAAK,IAAIE,UAAU,CAACJ,IAAI,CAAC,EAAE;IAC9B,OAAOK,eAAe,CAACL,IAAI,EAAEG,IAAI,CAACG,KAAK,CAACC,MAAM,EAAEN,OAAO,CAAC;AAC1D,EAAA;EAEA,IAAMO,KAAK,GAAG,EAAE;AAChB,EAAA,IAAMC,MAAM,GAAGT,IAAI,CAACU,KAAK,CAAC,IAAI,CAAC;AAE/BD,EAAAA,MAAM,CAACE,OAAO,CAAC,UAAAC,IAAI,EAAI;AACrB,IAAA,IAAMC,QAAQ,GAAG;AAAEC,MAAAA,IAAI,EAAE;KAAa;AACtC,IAAA,IAAIC,UAAU,CAACH,IAAI,CAAC,EAAE;MACpBC,QAAQ,CAACG,OAAO,GAAG,CAAC;AAAEF,QAAAA,IAAI,EAAE,MAAM;AAAEd,QAAAA,IAAI,EAAEY;AAAK,OAAC,CAAC;AACnD,IAAA;AACA,IAAA,IAAMK,IAAI,GAAGC,IAAI,CAACC,QAAQ,CAAClB,OAAO,CAACmB,GAAG,CAACN,IAAI,CAACP,MAAM,EAAEM,QAAQ,CAAC;AAC7DL,IAAAA,KAAK,CAACa,IAAI,CAACJ,IAAI,CAAC;AAClB,EAAA,CAAC,CAAC;AAEF,EAAA,IAAMK,QAAQ,GAAGC,QAAQ,CAACC,SAAS,CAAChB,KAAK,CAAC;AAE1C,EAAA,OAAOiB,KAAK,CAACC,OAAO,CAACJ,QAAQ,CAAC;AAChC;IAEaK,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGC,MAAM,EAAI;AAC1C,EAAA,IAAQtB,KAAK,GAAWsB,MAAM,CAAtBtB,KAAK;IAAEH,IAAI,GAAKyB,MAAM,CAAfzB,IAAI;EACnB,IAAM0B,WAAW,GAAGC,SAAS,CAACC,KAAK,CAACzB,KAAK,CAACc,GAAG,CAAC;AAC9C,EAAA,IAAMY,WAAW,GAAG1B,KAAK,CAAC2B,EAAE;AAC5BD,EAAAA,WAAW,CAACE,YAAY,CAACL,WAAW,CAAC;AACrC1B,EAAAA,IAAI,CAACgC,QAAQ,CAACH,WAAW,CAAC;AAC5B;AAEO,IAAMI,sBAAsB,GAAG,SAAzBA,sBAAsBA,GAAA;AAAA,EAAA,OACjCC,QAAQ,CAACC,aAAa,CACpB,oEACF,CAAC;AAAA;IAEUC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAGC,GAAG,EAAI;AACzC,EAAA,IAAI,CAACC,uBAAuB,CAACC,IAAI,CAACF,GAAG,CAAC,EAAE;AACtC,IAAA,OAAO,IAAI;AACb,EAAA;AAEA,EAAA,IAAI,CAAC,gBAAgB,CAACE,IAAI,CAACF,GAAG,CAAC,EAAE;IAC/B,OAAA,UAAA,CAAA1C,MAAA,CAAkB0C,GAAG,CAAA;AACvB,EAAA;AAEA,EAAA,OAAOA,GAAG;AACZ;IAEaG,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAG3B,OAAO,EAAA;AAAA,EAAA,IAAA4B,mBAAA;AAAA,EAAA,OAC3C5B,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,IAAA,CAAA4B,mBAAA,GAAP5B,OAAO,CACH6B,UAAU,CAACC,WAAW,EAAEC,yBAAyB,CAAC,MAAA,IAAA,IAAAH,mBAAA,KAAA,MAAA,IAAA,CAAAA,mBAAA,GADtDA,mBAAA,CAEIC,UAAU,CAACG,eAAe,EAAE,EAAE,CAAC,MAAA,IAAA,IAAAJ,mBAAA,KAAA,MAAA,GAAA,MAAA,GAFnCA,mBAAA,CAGIK,OAAO,CAACC,iBAAiB,EAAE,EAAE,CAAC;AAAA;AAE7B,IAAMC,4BAA4B,GAAG,SAA/BA,4BAA4BA,GAAA;AAAA,EAAA,OACvC,CAAC,CAACd,QAAQ,CAACC,aAAa,CAAC,gCAAgC,CAAC;AAAA;IAE/Cc,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAGpC,OAAO,EAAI;EAC5C,IAAMqC,gBAAgB,GAAGrC,OAAO,CAAC6B,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC;AAChE,EAAA,IAAMzB,GAAG,GAAG,IAAIkC,SAAS,EAAE,CAACC,eAAe,CAACF,gBAAgB,EAAE,WAAW,CAAC;;AAE1E;AACA;AACA;AACA;AACA;EACA,IAAMG,eAAe,GAAGpC,GAAG,CAACkB,aAAa,CAAC,iBAAiB,CAAC,KAAK,IAAI;EAErE,IAAI,CAACkB,eAAe,EAAE;IACpBpC,GAAG,CAACqC,gBAAgB,CAAC,SAAS,CAAC,CAAC9C,OAAO,CAAC,UAAA+C,EAAE,EAAI;AAC5CA,MAAAA,EAAE,CAACC,KAAK,CAACC,KAAK,GAAG,EAAE;AACnBF,MAAAA,EAAE,CAACC,KAAK,CAACE,eAAe,GAAG,EAAE;AAC/B,IAAA,CAAC,CAAC;AACJ,EAAA;AAEA,EAAA,OAAOzC,GAAG,CAAC0C,IAAI,CAACC,SAAS;AAC3B;AAEO,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAI7D,IAAI,EAAE8D,KAAK,EAAEC,KAAK,EAAK;EACjD,IAAI;IACF/D,IAAI,CAACG,KAAK,CAAC2B,EAAE,CAACkC,gBAAgB,CAACD,KAAK,CAAC;AAErC,IAAA,OAAO,KAAK;EACd,CAAC,CAAC,OAAAE,OAAA,EAAM;AAAA,IAAA,IAAAC,oBAAA;AACN,IAAA,IAAMrE,IAAI,GACR,CAAA,CAAAqE,oBAAA,GAAAJ,KAAK,CAACK,aAAa,MAAA,IAAA,IAAAD,oBAAA,uBAAnBA,oBAAA,CAAqBE,OAAO,CAAC,YAAY,CAAC,KAC1CL,KAAK,CAAClD,OAAO,CAACwD,WAAW,CAAC,CAAC,EAAEN,KAAK,CAAClD,OAAO,CAACyD,IAAI,EAAE,IAAI,CAAC,CAACC,IAAI,EAAE;IAC/D,IAAI1E,IAAI,EAAEG,IAAI,CAACgC,QAAQ,CAAChC,IAAI,CAACG,KAAK,CAAC2B,EAAE,CAAC0C,UAAU,CAAC3E,IAAI,CAAC,CAAC4E,cAAc,EAAE,CAAC;AAExE,IAAA,OAAO,IAAI;AACb,EAAA;AACF;IAEaC,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAGC,OAAO,EAAI;EAC/C,IAAMC,MAAM,GAAAC,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAA,EAAA,EACTC,cAAc,CAACC,EAAE,EAAG,CAAC,CAAA,EACrBD,cAAc,CAACE,EAAE,EAAG,CAAC,CAAA,EACrBF,cAAc,CAACG,EAAE,EAAG,CAAC,CAAA,EACrBH,cAAc,CAACI,EAAE,EAAG,CAAC,GACrBJ,cAAc,CAACK,EAAE,EAAG,CAAC,CAAA,EACrBL,cAAc,CAACM,EAAE,EAAG,CAAC,CACvB;EAED,OAAOC,MAAM,CAACC,OAAO,CAACV,MAAM,CAAC,CAC1BW,MAAM,CAAC,UAAAC,OAAO,EAAA;IAAA,OAAIb,OAAO,CAACc,QAAQ,CAACD,OAAO,CAAC,CAAC,CAAC,CAAC;AAAA,EAAA,CAAA,CAAC,CAC/CE,GAAG,CAAC,UAAAF,OAAO,EAAA;IAAA,OAAIA,OAAO,CAAC,CAAC,CAAC;EAAA,CAAA,CAAC;AAC/B;;;;"}
|