@bigbinary/neeto-editor-frontend 2.0.1 → 2.0.3
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/Attachments.js +3 -3
- package/dist/Editor.js +8 -6
- package/dist/Editor.js.map +1 -1
- package/dist/EditorContent.js +2 -2
- package/dist/FormikEditor.js +6 -6
- package/dist/Menu.js +5 -5
- package/dist/{chunk-PSGRE5nX.js → chunk-Bg0xYw5S.js} +3 -3
- package/dist/{chunk-PSGRE5nX.js.map → chunk-Bg0xYw5S.js.map} +1 -1
- package/dist/{chunk-Bra5VPWO.js → chunk-Bw7QSBHf.js} +3 -3
- package/dist/{chunk-Bra5VPWO.js.map → chunk-Bw7QSBHf.js.map} +1 -1
- package/dist/{chunk-mFZL53CS.js → chunk-C4ngrj-P.js} +4 -4
- package/dist/{chunk-mFZL53CS.js.map → chunk-C4ngrj-P.js.map} +1 -1
- package/dist/{chunk-y5pmJStT.js → chunk-CHmdEEC5.js} +4 -4
- package/dist/{chunk-y5pmJStT.js.map → chunk-CHmdEEC5.js.map} +1 -1
- package/dist/{chunk-CX-0IHKE.js → chunk-CiVaat1H.js} +3 -3
- package/dist/{chunk-CX-0IHKE.js.map → chunk-CiVaat1H.js.map} +1 -1
- package/dist/{chunk-DrHVV_g1.js → chunk-CyfiHLWx.js} +5 -3
- package/dist/chunk-CyfiHLWx.js.map +1 -0
- package/dist/{chunk-D52F37yF.js → chunk-DSKEeXyj.js} +2 -2
- package/dist/{chunk-D52F37yF.js.map → chunk-DSKEeXyj.js.map} +1 -1
- package/dist/{chunk-DsAUS6bL.js → chunk-DZTg5JCM.js} +3 -3
- package/dist/{chunk-DsAUS6bL.js.map → chunk-DZTg5JCM.js.map} +1 -1
- package/dist/{chunk-1NlIGj6C.js → chunk-DoZN1FPd.js} +2 -2
- package/dist/{chunk-1NlIGj6C.js.map → chunk-DoZN1FPd.js.map} +1 -1
- package/dist/{chunk-DcFvJOrc.js → chunk-EgiY42Lm.js} +5 -5
- package/dist/{chunk-DcFvJOrc.js.map → chunk-EgiY42Lm.js.map} +1 -1
- package/dist/{chunk-CO-Yfs5R.js → chunk-NDmv6peW.js} +4 -4
- package/dist/{chunk-CO-Yfs5R.js.map → chunk-NDmv6peW.js.map} +1 -1
- package/dist/{chunk-CK_Ss-J5.js → chunk-eOIMt7jp.js} +2 -2
- package/dist/{chunk-CK_Ss-J5.js.map → chunk-eOIMt7jp.js.map} +1 -1
- package/dist/cjs/Attachments.cjs.js +3 -3
- package/dist/cjs/Editor.cjs.js +8 -6
- package/dist/cjs/Editor.cjs.js.map +1 -1
- package/dist/cjs/EditorContent.cjs.js +2 -2
- package/dist/cjs/FormikEditor.cjs.js +6 -6
- package/dist/cjs/Menu.cjs.js +5 -5
- package/dist/cjs/{chunk-Bmjmsp-E.cjs.js → chunk-BNUTjVYA.cjs.js} +5 -3
- package/dist/cjs/chunk-BNUTjVYA.cjs.js.map +1 -0
- package/dist/cjs/{chunk-MxWVMW6e.cjs.js → chunk-Bmd6d-x7.cjs.js} +3 -3
- package/dist/cjs/{chunk-MxWVMW6e.cjs.js.map → chunk-Bmd6d-x7.cjs.js.map} +1 -1
- package/dist/cjs/{chunk-D7p10rIr.cjs.js → chunk-BuuzKD6e.cjs.js} +3 -3
- package/dist/cjs/{chunk-D7p10rIr.cjs.js.map → chunk-BuuzKD6e.cjs.js.map} +1 -1
- package/dist/cjs/{chunk-DWyvxp1a.cjs.js → chunk-Bv4wbN1E.cjs.js} +3 -3
- package/dist/cjs/{chunk-DWyvxp1a.cjs.js.map → chunk-Bv4wbN1E.cjs.js.map} +1 -1
- package/dist/cjs/{chunk-BlWQNLLE.cjs.js → chunk-C98N-sIR.cjs.js} +5 -5
- package/dist/cjs/{chunk-BlWQNLLE.cjs.js.map → chunk-C98N-sIR.cjs.js.map} +1 -1
- package/dist/cjs/{chunk-DM1lUvXy.cjs.js → chunk-CPtfEUVF.cjs.js} +3 -3
- package/dist/cjs/{chunk-DM1lUvXy.cjs.js.map → chunk-CPtfEUVF.cjs.js.map} +1 -1
- package/dist/cjs/{chunk-B2NfgecV.cjs.js → chunk-CUiAHc9-.cjs.js} +4 -4
- package/dist/cjs/{chunk-B2NfgecV.cjs.js.map → chunk-CUiAHc9-.cjs.js.map} +1 -1
- package/dist/cjs/{chunk-CCCSexAh.cjs.js → chunk-Cgxhrpuh.cjs.js} +4 -4
- package/dist/cjs/{chunk-CCCSexAh.cjs.js.map → chunk-Cgxhrpuh.cjs.js.map} +1 -1
- package/dist/cjs/{chunk-cwORbcv3.cjs.js → chunk-CtTb6u9F.cjs.js} +2 -2
- package/dist/cjs/{chunk-cwORbcv3.cjs.js.map → chunk-CtTb6u9F.cjs.js.map} +1 -1
- package/dist/cjs/{chunk-CNIzgxEP.cjs.js → chunk-D1iu346F.cjs.js} +2 -2
- package/dist/cjs/{chunk-CNIzgxEP.cjs.js.map → chunk-D1iu346F.cjs.js.map} +1 -1
- package/dist/cjs/{chunk-C8X4oFtP.cjs.js → chunk-DIpaV2xG.cjs.js} +4 -4
- package/dist/cjs/{chunk-C8X4oFtP.cjs.js.map → chunk-DIpaV2xG.cjs.js.map} +1 -1
- package/dist/cjs/{chunk-D6ygkQBu.cjs.js → chunk-R9zpTo5i.cjs.js} +2 -2
- package/dist/cjs/{chunk-D6ygkQBu.cjs.js.map → chunk-R9zpTo5i.cjs.js.map} +1 -1
- package/dist/cjs/constants.cjs.js +2 -2
- package/dist/cjs/index.cjs.js +6 -6
- package/dist/cjs/utils.cjs.js +3 -3
- package/dist/cjs/v2/Attachments.cjs.js +3 -3
- package/dist/cjs/v2/Editor.cjs.js +7 -5
- 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 +5 -5
- package/dist/cjs/v2/Menu.cjs.js +3 -3
- package/dist/cjs/v2/constants.cjs.js +2 -2
- package/dist/cjs/v2/index.cjs.js +6 -6
- package/dist/cjs/v2/utils.cjs.js +3 -3
- package/dist/constants.js +2 -2
- package/dist/editor-stats.html +1 -19
- package/dist/index.js +6 -6
- package/dist/utils.js +3 -3
- package/dist/v2/Attachments.js +3 -3
- package/dist/v2/Editor.js +7 -5
- package/dist/v2/Editor.js.map +1 -1
- package/dist/v2/EditorContent.js +3 -3
- package/dist/v2/FormikEditor.js +5 -5
- package/dist/v2/Menu.js +3 -3
- package/dist/v2/constants.js +2 -2
- package/dist/v2/index.js +6 -6
- package/dist/v2/utils.js +3 -3
- package/package.json +6 -5
- package/dist/chunk-DrHVV_g1.js.map +0 -1
- package/dist/cjs/chunk-Bmjmsp-E.cjs.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Editor.cjs.js","sources":["../../app/javascript/src/components/Common/ErrorWrapper.jsx","../../app/javascript/src/components/Editor/CustomExtensions/CharacterCount/index.jsx","../../app/javascript/src/components/Editor/CustomExtensions/BackgroundColor/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/BulletList/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/Callout/CalloutComponent.jsx","../../app/javascript/src/components/Editor/CustomExtensions/Callout/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/CodeBlock/constants.js","../../app/javascript/src/components/Editor/CustomExtensions/CodeBlock/plugins.js","../../app/javascript/src/components/Editor/CustomExtensions/CodeBlock/CodeBlockComponent.jsx","../../app/javascript/src/components/Editor/CustomExtensions/CodeBlock/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/CustomCommands/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/DeletedArticleDecoration/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/Emoji/EmojiPicker/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/Emoji/EmojiSuggestion/constants.js","../../app/javascript/src/components/Editor/CustomExtensions/Emoji/EmojiSuggestion/utils.js","../../app/javascript/src/components/Editor/CustomExtensions/Emoji/EmojiSuggestion/EmojiSuggestionMenu.jsx","../../app/javascript/src/components/Editor/CustomExtensions/Emoji/EmojiSuggestion/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/Image/constants.js","../../app/javascript/src/components/Editor/CustomExtensions/Image/ImagePreviewModal.jsx","../../app/javascript/src/components/Editor/CustomExtensions/Image/Menu.jsx","../../app/javascript/src/components/Editor/CustomExtensions/Image/ImageComponent.jsx","../../app/javascript/src/components/Editor/CustomExtensions/Image/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/Image/FigCaption.js","../../app/javascript/src/components/Editor/CustomExtensions/Italic/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/KeyboardShortcuts/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/Link/constants.js","../../app/javascript/src/components/Editor/CustomExtensions/Link/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/Mention/MentionList.jsx","../../app/javascript/src/components/Editor/CustomExtensions/Mention/utils.js","../../app/javascript/src/components/Editor/CustomExtensions/Mention/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/OrderedList/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/Placeholder/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/SelectionDecoration/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/SlashCommands/Menu.jsx","../../app/javascript/src/components/Editor/CustomExtensions/SlashCommands/CommandsList.jsx","../../app/javascript/src/components/Editor/CustomExtensions/SlashCommands/constants.js","../../app/javascript/src/components/Editor/CustomExtensions/SlashCommands/utils.js","../../app/javascript/src/components/Editor/CustomExtensions/SlashCommands/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/SpecialMentions/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/Table/TableView.js","../../app/javascript/src/components/Editor/CustomExtensions/Table/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/TodoList/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/Variable/constants.js","../../app/javascript/src/components/Editor/CustomExtensions/Variable/VariableComponent.jsx","../../app/javascript/src/components/Editor/CustomExtensions/Variable/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/Video/VideoComponent.jsx","../../app/javascript/src/components/Editor/CustomExtensions/Embeds/EmbedComponent.jsx","../../app/javascript/src/components/Editor/CustomExtensions/Video/ExtensionConfig.jsx","../../app/javascript/src/components/Editor/CustomExtensions/hooks/useCustomExtensions.js","../../app/javascript/src/components/Editor/CustomExtensions/LinkKbArticles/ArticlesList.jsx","../../app/javascript/src/components/Editor/CustomExtensions/LinkKbArticles/hooks/useArticleNavigation.js","../../app/javascript/src/components/Editor/CustomExtensions/LinkKbArticles/ArticlePicker.jsx","../../app/javascript/src/components/Editor/CustomExtensions/LinkKbArticles/ArticleSelector.jsx","../../app/javascript/src/components/Editor/CustomExtensions/Table/utils.js","../../app/javascript/src/components/Editor/CustomExtensions/Table/TableActionMenu.jsx","../../app/javascript/src/components/Editor/CustomExtensions/LinkKbArticles/KbArticleDeletedModal.jsx","../../app/javascript/src/components/Editor/CustomExtensions/LinkKbArticles/KbArticleEdit.jsx","../../app/javascript/src/components/Editor/CustomExtensions/LinkKbArticles/KbArticleView.jsx","../../app/javascript/src/components/Editor/LinkPopOver.jsx","../../app/javascript/src/components/Editor/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNotPresent } from \"neetocist\";\nimport { is } from \"ramda\";\n\nconst ErrorWrapper = ({ error, children, className }) => {\n const isError = !isNotPresent(error);\n const wrapperClasses = classnames({\n \"neeto-editor-error\": isError,\n [className]: className,\n });\n\n const getErrorMessage = () => {\n if (!error) return null;\n\n let message;\n\n if (is(String, error)) {\n message = error;\n } else if (is(Array, error)) {\n message = error[0];\n } else if (is(Object, error)) {\n message = error.message;\n }\n\n if (isNotPresent(message)) return null;\n\n return message;\n };\n\n return (\n <>\n <div className={wrapperClasses}>{children}</div>\n {isError && (\n <p className=\"neeto-ui-input__error\" data-testid=\"neeto-editor-error-text\">\n {getErrorMessage()}\n </p>\n )}\n </>\n );\n};\n\nexport default memo(ErrorWrapper);\n","import { useEditorState } from \"@tiptap/react\";\n\nconst CharacterCountWrapper = ({ editor, children }) => {\n const characters = useEditorState({\n editor,\n selector: ({ editor }) => editor?.storage.characterCount.characters() ?? 0,\n });\n\n if (!editor) return children;\n\n return (\n <>\n {children}\n <p\n className=\"neeto-editor-character-count\"\n data-testid=\"neeto-editor-character-count\"\n >\n {characters} characters\n </p>\n </>\n );\n};\n\nexport default CharacterCountWrapper;\n","import { Extension } from \"@tiptap/core\";\nimport \"@tiptap/extension-text-style\";\n\nexport default Extension.create({\n name: \"HighlightInternal\",\n\n addOptions() {\n return { types: [\"textStyle\"] };\n },\n\n addGlobalAttributes() {\n return [\n {\n types: this.options.types,\n attributes: {\n backgroundColor: {\n default: null,\n parseHTML: element =>\n element.style.backgroundColor.replace(/['\"]+/g, \"\"),\n renderHTML: attributes => {\n if (!attributes.backgroundColor) {\n return {};\n }\n\n return {\n style: `background-color: ${attributes.backgroundColor}`,\n };\n },\n },\n },\n },\n ];\n },\n\n addCommands() {\n return {\n setHighlightInternal:\n color =>\n ({ chain }) =>\n chain().setMark(\"textStyle\", { backgroundColor: color }).run(),\n unsetHighlightInternal:\n () =>\n ({ chain }) =>\n chain().setMark(\"textStyle\", { backgroundColor: null }).run(),\n };\n },\n});\n","import { BulletList } from \"@tiptap/extension-list\";\n\nexport default BulletList.configure({\n HTMLAttributes: { class: \"bulletList\" },\n itemTypeName: \"listItem\",\n});\n","import { NodeViewContent, NodeViewWrapper } from \"@tiptap/react\";\nimport { findBy } from \"neetocist\";\nimport { Megaphone } from \"neetoicons/misc\";\n\nimport { CALLOUT_TYPES } from \"components/Editor/Menu/Fixed/components/CalloutDropdown/constants\";\n\nconst CalloutComponent = ({ node }) => {\n const { type } = node.attrs;\n const Icon = findBy({ type }, CALLOUT_TYPES)?.icon || Megaphone;\n\n return (\n <NodeViewWrapper\n className={`neeto-editor__callout neeto-editor__callout--${type} group`}\n data-emoji={type}\n >\n <div className=\"callout-container\">\n <span className=\"callout-emoji\">\n <Icon />\n </span>\n <NodeViewContent\n className=\"callout-content\"\n data-testid=\"callout-content\"\n />\n </div>\n </NodeViewWrapper>\n );\n};\n\nexport default CalloutComponent;\n","import { Node, mergeAttributes } from \"@tiptap/core\";\nimport { ReactNodeViewRenderer } from \"@tiptap/react\";\nimport { findBy } from \"neetocist\";\nimport { Megaphone } from \"neetoicons/misc\";\nimport ReactDOM from \"react-dom/server\";\n\nimport { CALLOUT_TYPES } from \"components/Editor/Menu/Fixed/components/CalloutDropdown/constants\";\n\nimport CalloutComponent from \"./CalloutComponent\";\n\nexport default Node.create({\n name: \"callout\",\n\n inline: false,\n\n group: \"block\",\n\n content: \"block+\",\n\n defining: true,\n\n draggable: true,\n\n addAttributes() {\n return {\n type: {\n default: \"default\",\n parseHTML: element => element.getAttribute(\"data-type\") || \"default\",\n renderHTML: attributes => ({ \"data-type\": attributes.type }),\n },\n };\n },\n\n parseHTML() {\n return [{ tag: \"div[data-emoji]\", contentElement: \".callout-content\" }];\n },\n\n renderHTML({ HTMLAttributes, node }) {\n const { type } = node.attrs;\n const Icon = findBy({ type }, CALLOUT_TYPES)?.icon || Megaphone;\n // eslint-disable-next-line react/jsx-filename-extension\n const svgString = ReactDOM.renderToStaticMarkup(<Icon />);\n\n const svgContainer = document.createElement(\"div\");\n svgContainer.innerHTML = svgString;\n const svgNode = svgContainer.firstChild;\n\n return [\n \"div\",\n mergeAttributes(this.options.HTMLAttributes, HTMLAttributes, {\n class: `neeto-editor__callout neeto-editor__callout--${type}`,\n \"data-emoji\": type,\n }),\n [\n \"div\",\n { class: \"callout-container\" },\n [\"span\", { class: \"callout-emoji\" }, svgNode],\n [\"div\", { class: \"callout-content\" }, 0],\n ],\n ];\n },\n\n addNodeView() {\n return ReactNodeViewRenderer(CalloutComponent);\n },\n\n addCommands() {\n return {\n setCallout:\n (attributes = {}) =>\n ({ chain }) => {\n const { type = \"default\" } = attributes;\n\n return chain()\n .toggleWrap(this.name, { type })\n .command(({ tr, state, dispatch }) => {\n const { selection } = state;\n const { $from } = selection;\n\n const calloutNode = $from.node($from.depth - 1);\n\n if (calloutNode?.type.name === \"callout\") {\n const pos = $from.after($from.depth - 1);\n const nextNode = state.doc.nodeAt(pos);\n\n if (!nextNode || nextNode.type.name !== \"paragraph\") {\n tr.insert(pos, state.schema.nodes.paragraph.create());\n }\n }\n\n if (dispatch) {\n dispatch(tr);\n }\n\n return true;\n })\n .focus()\n .run();\n },\n };\n },\n\n addKeyboardShortcuts() {\n return {\n Backspace: () => {\n const { state, commands } = this.editor;\n const { $from, empty } = state.selection;\n\n if (!empty) return false;\n\n if ($from.parentOffset === 0) {\n const currentNode = $from.parent;\n\n if (currentNode.content.size === 0) {\n return commands.lift(this.name);\n }\n\n const calloutNode = $from.node($from.depth - 1);\n if (calloutNode?.type.name === \"callout\") {\n return commands.lift(this.name);\n }\n }\n\n return false;\n },\n ArrowDown: () => {\n const { state, commands } = this.editor;\n const { $from, empty } = state.selection;\n\n if (!empty) return false;\n\n const currentNode = $from.parent;\n const calloutNode = $from.node($from.depth - 1);\n\n if (calloutNode?.type.name === \"callout\") {\n const isAtEnd = $from.parentOffset === currentNode.content.size;\n\n const calloutContent = calloutNode.content;\n const currentNodeIndex = $from.index($from.depth - 1);\n const isLastNode = currentNodeIndex === calloutContent.childCount - 1;\n\n if (isAtEnd && isLastNode) {\n const pos = $from.after($from.depth - 1);\n\n if (pos < state.doc.content.size) {\n const nextNode = state.doc.nodeAt(pos);\n if (nextNode) {\n const endPos = pos + nextNode.nodeSize - 1;\n\n return commands.setTextSelection(endPos);\n }\n\n return commands.setTextSelection(pos);\n }\n\n return (\n commands.insertContentAt(pos, { type: \"paragraph\" }) &&\n commands.setTextSelection(pos + 1)\n );\n }\n }\n\n return false;\n },\n };\n },\n});\n","import { t } from \"i18next\";\nimport { lowlight } from \"lowlight\";\n\nexport const SORTED_LANGUAGE_LIST = [\n ...lowlight.listLanguages(),\n \"html\",\n].sort();\n\nexport const LINE_NUMBER_OPTIONS = [\n { label: t(\"neetoEditor.codeblock.showLineNumbers\"), value: \"true\" },\n { label: t(\"neetoEditor.codeblock.hideLineNumbers\"), value: \"false\" },\n];\n","/* eslint-disable @bigbinary/neeto/file-name-and-export-name-standards */\nimport { Plugin, PluginKey } from \"prosemirror-state\";\nimport { Decoration, DecorationSet } from \"prosemirror-view\";\n\nconst codeBlockHighlightKey = new PluginKey(\"codeBlockHighlight\");\n\nfunction createLineDecoration(from, lineNumber) {\n return Decoration.widget(from, view => {\n const line = document.createElement(\"div\");\n line.className = \"highlighted-line\";\n line.setAttribute(\"data-line-number\", lineNumber.toString());\n\n // Set the height of the highlight to match the line height\n const lineElement = view.domAtPos(from).node;\n if (lineElement instanceof Element) {\n const lineHeight = window.getComputedStyle(lineElement).lineHeight;\n line.style.height = lineHeight;\n }\n\n return line;\n });\n}\n\nfunction getLineRanges(node, pos) {\n const lines = node.textContent.split(\"\\n\");\n let currentPos = pos + 1; // +1 to skip the opening tag of the code block\n\n return lines.map((line, index) => {\n const from = currentPos;\n const to = from + line.length; // +1 for newline, except last line\n currentPos = to + (index < lines.length - 1 ? 1 : 0);\n\n return { from, to, lineNumber: index + 1 };\n });\n}\n\nconst codeBlockHighlightPlugin = new Plugin({\n key: codeBlockHighlightKey,\n state: {\n init() {\n return DecorationSet.empty;\n },\n apply(tr, set) {\n set = set.map(tr.mapping, tr.doc);\n\n if (tr.getMeta(codeBlockHighlightKey)) {\n const decorations = [];\n tr.doc.descendants((node, pos) => {\n if (node.type.name !== \"codeBlock\") return;\n\n const highlightedLines = node.attrs.highlightedLines || [];\n const lineRanges = getLineRanges(node, pos);\n\n lineRanges.forEach(({ from, lineNumber }) => {\n if (highlightedLines.includes(lineNumber)) {\n decorations.push(createLineDecoration(from, lineNumber));\n }\n });\n });\n\n return DecorationSet.create(tr.doc, decorations);\n }\n\n return set;\n },\n },\n props: {\n decorations(state) {\n return this.getState(state);\n },\n },\n});\n\nexport { codeBlockHighlightPlugin, codeBlockHighlightKey };\n","import React, { useRef, useState, useCallback, useEffect } from \"react\";\n\nimport { NodeViewWrapper, NodeViewContent } from \"@tiptap/react\";\nimport { Down, Highlight } from \"neetoicons\";\nimport CopyToClipboardButton from \"neetomolecules/CopyToClipboardButton\";\nimport { Dropdown, Input, Button } from \"neetoui\";\nimport { difference, intersection, union } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { LINE_NUMBER_OPTIONS, SORTED_LANGUAGE_LIST } from \"./constants\";\nimport { codeBlockHighlightKey } from \"./plugins\";\n\nconst { Menu, MenuItem } = Dropdown;\n\nconst CodeBlockComponent = ({ node, editor, updateAttributes }) => {\n const [keyword, setKeyword] = useState(\"\");\n const [showHighlightButton, setShowHighlightButton] = useState(false);\n const [showLineNumbers, setShowLineNumbers] = useState(\n node.attrs.linenumbers\n );\n const ref = useRef();\n\n const { t } = useTranslation();\n\n const filteredAndSortedLanguageList = SORTED_LANGUAGE_LIST.filter(language =>\n language.includes(keyword)\n );\n\n const handleLanguageSelect = language => {\n updateAttributes({ language });\n setKeyword(\"\");\n editor?.commands?.focus();\n };\n\n const handleContentMount = node => {\n if (ref.current && node?.offsetHeight) {\n ref.current.style.minHeight = `${node.offsetHeight}px`;\n }\n };\n\n const handleSelectionChange = useCallback(() => {\n const { from, to } = editor.state.selection;\n const isCodeBlockSelected = editor.isActive(\"codeBlock\");\n setShowHighlightButton(isCodeBlockSelected && from !== to);\n }, [editor]);\n\n useEffect(() => {\n editor.on(\"selectionUpdate\", handleSelectionChange);\n\n return () => {\n editor.off(\"selectionUpdate\", handleSelectionChange);\n };\n }, [editor, handleSelectionChange]);\n\n useEffect(() => {\n editor.view.dispatch(editor.state.tr.setMeta(codeBlockHighlightKey, true));\n }, []);\n\n const handleHighlight = () => {\n const { from, to } = editor.state.selection;\n const $from = editor.state.doc.resolve(from);\n\n const codeBlock = $from.node($from.depth);\n const codeBlockStart = $from.start($from.depth);\n\n const textBeforeSelection = codeBlock.textBetween(0, from - codeBlockStart);\n const startLine = textBeforeSelection.split(\"\\n\").length;\n const selectedText = codeBlock.textBetween(\n from - codeBlockStart,\n to - codeBlockStart\n );\n const selectedLines = selectedText.split(\"\\n\");\n\n const newSelectedLines = selectedLines.map((_, index) => startLine + index);\n const currentHighlightedLines = codeBlock.attrs.highlightedLines || [];\n\n // Check the overlap between new selection and current highlights\n const overlapLines = intersection(\n currentHighlightedLines,\n newSelectedLines\n );\n\n let highlightedLines;\n\n if (overlapLines.length === newSelectedLines.length) {\n // If the new selection is entirely within currently highlighted lines,\n // remove the highlight from the selected lines\n highlightedLines = difference(currentHighlightedLines, newSelectedLines);\n } else {\n // Add unhighlighted lines in the new selection to the highlight list\n highlightedLines = union(currentHighlightedLines, newSelectedLines);\n }\n\n editor.commands.updateAttributes(codeBlock.type, { highlightedLines });\n // Trigger the plugin to update decorations\n editor.view.dispatch(editor.state.tr.setMeta(codeBlockHighlightKey, true));\n };\n\n return (\n <NodeViewWrapper\n className=\"ne-codeblock-nodeview-wrapper\"\n data-testid=\"neeto-editor-code-block\"\n >\n <div {...{ ref }}>\n <pre ref={handleContentMount}>\n <div\n className=\"neeto-editor-codeblock-options\"\n contentEditable={false}\n >\n <Dropdown\n appendTo={() => document.body}\n buttonSize=\"small\"\n buttonStyle=\"tertiary\"\n icon={Down}\n strategy=\"fixed\"\n zIndex={99999}\n label={\n showLineNumbers === \"true\"\n ? LINE_NUMBER_OPTIONS[0].label\n : LINE_NUMBER_OPTIONS[1].label\n }\n >\n <Menu className=\"neeto-editor-codeblock-options__menu\">\n {LINE_NUMBER_OPTIONS.map(({ label, value }) => (\n <MenuItem.Button\n key={label}\n onClick={() => {\n setShowLineNumbers(value);\n updateAttributes({ linenumbers: value });\n }}\n >\n {label}\n </MenuItem.Button>\n ))}\n </Menu>\n </Dropdown>\n <Dropdown\n appendTo={() => document.body}\n buttonSize=\"small\"\n buttonStyle=\"tertiary\"\n icon={Down}\n label={node.attrs?.language || t(\"neetoEditor.common.auto\")}\n strategy=\"fixed\"\n zIndex={99999}\n >\n <Input\n autoFocus\n className=\"neeto-editor-codeblock-options__input\"\n placeholder={t(\"neetoEditor.placeholders.searchLanguages\")}\n size=\"small\"\n value={keyword}\n onChange={e => setKeyword(e.target.value)}\n onClick={e => {\n e.preventDefault();\n e.stopPropagation();\n }}\n />\n <Menu className=\"neeto-editor-codeblock-options__menu\">\n {filteredAndSortedLanguageList.map(language => (\n <MenuItem.Button\n key={language}\n onClick={() => handleLanguageSelect(language)}\n >\n {language || t(\"neetoEditor.common.auto\")}\n </MenuItem.Button>\n ))}\n </Menu>\n </Dropdown>\n <CopyToClipboardButton\n size=\"small\"\n style=\"tertiary\"\n value={node?.content?.content[0]?.text}\n />\n {showHighlightButton && (\n <Button\n icon={Highlight}\n size=\"small\"\n style=\"tertiary\"\n tooltipProps={{ content: t(\"neetoEditor.menu.highlight\") }}\n onClick={handleHighlight}\n />\n )}\n </div>\n <NodeViewContent as=\"code\" />\n </pre>\n </div>\n </NodeViewWrapper>\n );\n};\n\nexport default CodeBlockComponent;\n","import CodeBlockLowlight from \"@tiptap/extension-code-block-lowlight\";\nimport { ReactNodeViewRenderer } from \"@tiptap/react\";\nimport { lowlight } from \"lowlight\";\n\nimport CodeBlockComponent from \"./CodeBlockComponent\";\nimport { codeBlockHighlightPlugin } from \"./plugins\";\n\nexport default CodeBlockLowlight.extend({\n addAttributes() {\n return {\n ...this.parent?.(),\n highlightedLines: {\n default: [],\n parseHTML: element =>\n element.dataset.highlightedLines\n ?.split(\",\")\n .map(Number)\n .filter(Boolean) || [],\n renderHTML: attributes => ({\n \"data-highlighted-lines\":\n attributes.highlightedLines?.join(\",\") ?? \"\",\n }),\n },\n linenumbers: {\n default: \"false\",\n parseHTML: element => element.dataset.linenumbers || \"false\",\n renderHTML: attributes =>\n attributes.linenumbers === \"true\"\n ? { \"data-linenumbers\": \"true\" }\n : {},\n },\n };\n },\n addProseMirrorPlugins() {\n return [...(this.parent?.() || []), codeBlockHighlightPlugin];\n },\n addNodeView() {\n return ReactNodeViewRenderer(CodeBlockComponent);\n },\n}).configure({ lowlight, defaultLanguage: \"plaintext\" });\n","import { Extension } from \"@tiptap/core\";\n\nexport default Extension.create({\n name: \"paste-unformatted\",\n\n addCommands() {\n return {\n pasteUnformatted:\n () =>\n async ({ editor }) => {\n const text = await navigator.clipboard.readText();\n editor.commands.insertContent(text);\n },\n };\n },\n});\n","import { Extension } from \"@tiptap/core\";\nimport { Plugin, PluginKey } from \"@tiptap/pm/state\";\nimport { Decoration, DecorationSet } from \"@tiptap/pm/view\";\n\nconst DeletedArticleDecoration = Extension.create({\n name: \"deletedArticleDecoration\",\n\n addOptions() {\n return { deletedArticleIds: new Set() };\n },\n\n addProseMirrorPlugins() {\n return [\n new Plugin({\n key: new PluginKey(\"deletedArticleDecoration\"),\n props: {\n decorations: ({ doc }) => {\n const decorations = [];\n\n doc.descendants((node, pos) => {\n if (!node.marks) return;\n\n node.marks.forEach(mark => {\n if (\n !(\n mark.type.name === \"link\" &&\n mark.attrs[\"data-neeto-kb-article\"] === \"true\" &&\n mark.attrs[\"data-article-id\"]\n )\n ) {\n return;\n }\n\n const articleId = mark.attrs[\"data-article-id\"];\n if (!this.options.deletedArticleIds.has(articleId)) return;\n\n const decoration = Decoration.inline(pos, pos + node.nodeSize, {\n \"data-article-deleted\": \"true\",\n class: \"neeto-kb-article-deleted\",\n });\n decorations.push(decoration);\n });\n });\n\n return DecorationSet.create(doc, decorations);\n },\n },\n }),\n ];\n },\n\n addCommands() {\n return {\n updateDeletedArticles: deletedArticleIds => () => {\n this.options.deletedArticleIds = deletedArticleIds;\n this.editor.view.updateState(this.editor.state);\n\n return true;\n },\n };\n },\n});\n\nexport default DeletedArticleDecoration;\n","import { Node } from \"@tiptap/core\";\nimport { PluginKey } from \"@tiptap/pm/state\";\nimport { ReactRenderer } from \"@tiptap/react\";\nimport Suggestion from \"@tiptap/suggestion\";\nimport tippy from \"tippy.js\";\n\nimport EmojiPickerMenu from \"./EmojiPickerMenu\";\n\nconst EmojiPickerPluginKey = new PluginKey(\"emoji-picker\");\n\nconst EmojiPicker = Node.create({\n name: \"emojiPicker\",\n\n group: \"inline\",\n\n inline: true,\n\n selectable: false,\n\n atom: true,\n\n addOptions() {\n return {\n suggestion: {\n char: \"::\",\n startOfLine: false,\n pluginKey: EmojiPickerPluginKey,\n items: () => [],\n\n render: () => {\n let reactRenderer;\n let popup;\n\n return {\n onStart(props) {\n reactRenderer = new ReactRenderer(EmojiPickerMenu, {\n props,\n editor: props.editor,\n });\n\n popup = tippy(\"body\", {\n theme: \"light\",\n getReferenceClientRect: props.clientRect,\n appendTo: () => document.body,\n content: reactRenderer.element,\n showOnCreate: true,\n interactive: true,\n trigger: \"manual\",\n placement: \"bottom-start\",\n zIndex: 99999,\n });\n },\n\n onKeyDown(props) {\n return reactRenderer.ref?.onKeyDown(props);\n },\n\n onExit() {\n popup[0].destroy();\n reactRenderer.destroy();\n },\n };\n },\n },\n };\n },\n\n addProseMirrorPlugins() {\n return [Suggestion({ editor: this.editor, ...this.options.suggestion })];\n },\n});\n\nexport default EmojiPicker;\n","export const DEFAULT_EMOJI_PRIORITIES_LIST = [\n \"+1\",\n \"-1\",\n \"heart\",\n \"heart_eyes\",\n \"tada\",\n \"partying_face\",\n \"joy\",\n \"sob\",\n \"white_frowning_face\",\n \"rocket\",\n \"eyes\",\n \"raised_hands\",\n \"open_mouth\",\n];\n\nexport const EMOJI_QUERY_REGEX = /^[a-z0-9_+-]+$/i;\n","import { DEFAULT_EMOJI_PRIORITIES_LIST } from \"./constants\";\n\nexport const filterEmojiSuggestions = (suggestions, frequentlyUsedEmojis) => {\n const mergedEmojiList = DEFAULT_EMOJI_PRIORITIES_LIST.concat(\n frequentlyUsedEmojis.filter(\n emoji => !DEFAULT_EMOJI_PRIORITIES_LIST.includes(emoji)\n )\n );\n\n return suggestions\n .sort((a, b) => {\n const aIndex = mergedEmojiList.indexOf(a.id);\n const bIndex = mergedEmojiList.indexOf(b.id);\n if (aIndex === -1 && bIndex === -1) {\n return 0;\n } else if (aIndex === -1) {\n return 1;\n } else if (bIndex === -1) {\n return -1;\n }\n\n return aIndex - bIndex;\n })\n .slice(0, 5);\n};\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { init, SearchIndex } from \"emoji-mart\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Spinner } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\n\nimport emojiPickerApi from \"apis/emoji_picker\";\n\nimport { filterEmojiSuggestions } from \"./utils\";\n\nclass EmojiSuggestionMenu extends React.Component {\n state = {\n isLoading: false,\n selectedIndex: 0,\n emojiSuggestions: [],\n frequentlyUsedEmojis: {},\n };\n\n componentDidMount() {\n this.setState({\n frequentlyUsedEmojis: Object.keys(\n JSON.parse(localStorage.getItem(\"emoji-mart.frequently\") || \"{}\")\n ),\n });\n\n init({\n data: this.fetchEmojiData,\n theme: \"light\",\n previewPosition: \"none\",\n });\n this.searchEmojiAndSetState();\n }\n\n componentDidUpdate(oldProps) {\n if (this.props.query !== oldProps.query) {\n this.searchEmojiAndSetState();\n }\n }\n\n fetchEmojiData = async () => {\n this.setState({ isLoading: true });\n try {\n const { data } = await emojiPickerApi.fetch();\n this.setState({ isLoading: false });\n\n return data;\n } catch {\n this.setState({ isLoading: false });\n\n return {};\n }\n };\n\n searchEmoji = async () =>\n this.props.query ? SearchIndex.search(this.props.query) : [];\n\n searchEmojiAndSetState = async () => {\n try {\n const suggestions = await this.searchEmoji();\n const frequentlyUsedEmojis = this.state.frequentlyUsedEmojis;\n this.setState({\n emojiSuggestions: filterEmojiSuggestions(\n suggestions,\n frequentlyUsedEmojis\n ),\n });\n } catch {\n this.setState({ emojiSuggestions: [] });\n }\n };\n\n setEditorState = async () => {\n const suggestions = await this.searchEmoji();\n this.props.editor\n .chain()\n .focus()\n .deleteRange(this.props.range)\n .setEmoji(suggestions[0])\n .run();\n };\n\n onKeyDown = ({ event }) => {\n if (isEmpty(this.state.emojiSuggestions)) {\n return false;\n }\n\n if (event.key === \"ArrowLeft\" || event.key === \"ArrowDown\") {\n this.setState(({ selectedIndex, emojiSuggestions }) => ({\n selectedIndex:\n (selectedIndex + emojiSuggestions.length - 1) %\n emojiSuggestions.length,\n }));\n\n return true;\n }\n\n if (event.key === \"ArrowRight\" || event.key === \"ArrowUp\") {\n this.setState(({ selectedIndex, emojiSuggestions }) => ({\n selectedIndex: (selectedIndex + 1) % emojiSuggestions.length,\n }));\n\n return true;\n }\n\n if (event.key === \"Enter\") {\n this.selectItem(this.state.selectedIndex);\n\n return true;\n }\n\n if (event.key === \"Escape\") {\n this.props.editor.chain().focus().insertContent(\" \").run();\n\n return true;\n }\n\n return false;\n };\n\n selectItem = index => {\n this.props.editor\n .chain()\n .focus()\n .deleteRange(this.props.range)\n .setEmoji(this.state.emojiSuggestions[index])\n .run();\n };\n\n render() {\n if (isEmpty(this.state.emojiSuggestions)) {\n return null;\n }\n\n return (\n <div className=\"neeto-editor-emoji-suggestion\">\n {this.state.isLoading && <Spinner />}\n {!this.state.isLoading &&\n (isNotEmpty(this.state.emojiSuggestions) ? (\n this.state.emojiSuggestions.map((emoji, index) => (\n <div\n data-testid={`neeto-editor-emoji-suggestion-${emoji.id}`}\n key={emoji.id}\n className={classnames(\"neeto-editor-emoji-suggestion__item\", {\n \"neeto-editor-emoji-suggestion__item--selected\":\n index === this.state.selectedIndex,\n })}\n onClick={() => this.selectItem(index)}\n >\n {emoji.skins[0].native}\n </div>\n ))\n ) : (\n <p>No results</p>\n ))}\n </div>\n );\n }\n}\n\nexport default EmojiSuggestionMenu;\n","import { Node, mergeAttributes } from \"@tiptap/core\";\nimport { PluginKey } from \"@tiptap/pm/state\";\nimport { ReactRenderer } from \"@tiptap/react\";\nimport Suggestion from \"@tiptap/suggestion\";\nimport { isNil } from \"ramda\";\nimport tippy from \"tippy.js\";\n\nimport { EMOJI_QUERY_REGEX } from \"./constants\";\nimport EmojiSuggestionMenu from \"./EmojiSuggestionMenu\";\n\nconst EmojiSuggestionPluginKey = new PluginKey(\"emoji-suggestion\");\nconst EmojiSuggestion = Node.create({\n name: \"emojiSuggestion\",\n\n group: \"inline\",\n\n inline: true,\n\n selectable: false,\n\n atom: true,\n\n addOptions() {\n return {\n HTMLAttributes: { class: \"neeto-editor-emoji\" },\n renderEmoji({ node }) {\n return node.attrs.label;\n },\n suggestion: {},\n };\n },\n\n addAttributes() {\n return {\n label: {\n default: null,\n parseHTML: element => element.getAttribute(\"data-label\"),\n renderHTML: attributes => {\n if (!attributes.label) {\n return {};\n }\n\n return { \"data-label\": attributes.label };\n },\n },\n };\n },\n\n parseHTML() {\n return [{ tag: \"span[data-emoji]\" }];\n },\n\n renderHTML({ node, HTMLAttributes }) {\n return [\n \"span\",\n mergeAttributes(\n { \"data-emoji\": \"\" },\n this.options.HTMLAttributes,\n HTMLAttributes\n ),\n this.options.renderEmoji({ node }),\n ];\n },\n\n renderText({ node }) {\n return this.options.renderEmoji({ node });\n },\n\n addCommands() {\n return {\n setEmoji:\n emoji =>\n ({ chain }) =>\n chain()\n .focus()\n .insertContent([\n {\n type: this.name,\n attrs: {\n label: emoji?.native || emoji?.skins[0]?.native || \"\",\n },\n },\n { type: \"text\", text: \" \" },\n ])\n .run(),\n };\n },\n\n addProseMirrorPlugins() {\n return [Suggestion({ editor: this.editor, ...this.options.suggestion })];\n },\n});\n\nconst suggestionConfig = {\n char: \":\",\n startOfLine: false,\n pluginKey: EmojiSuggestionPluginKey,\n command: ({ editor, range, props }) => {\n editor.chain().focus().deleteRange(range).setEmoji(props).run();\n },\n\n items: () => [],\n\n render: () => {\n let reactRenderer;\n let popup;\n\n return {\n onStart(props) {\n if (props.editor.view.input.lastKeyCode === 37) {\n reactRenderer = null;\n popup = null;\n }\n },\n\n onUpdate(props) {\n const isArrowNavigation =\n props.editor.view.input.lastKeyCode === 39 ||\n props.editor.view.input.lastKeyCode === 37;\n\n if (\n !isArrowNavigation &&\n props.query.length === 1 &&\n EMOJI_QUERY_REGEX.test(props.query)\n ) {\n reactRenderer = new ReactRenderer(EmojiSuggestionMenu, {\n props,\n editor: props.editor,\n });\n\n popup = tippy(\"body\", {\n theme: \"light\",\n getReferenceClientRect: props.clientRect,\n appendTo: () => document.body,\n content: reactRenderer.element,\n showOnCreate: true,\n interactive: true,\n trigger: \"manual\",\n placement: \"top-start\",\n zIndex: 99999,\n });\n }\n reactRenderer && reactRenderer.updateProps(props);\n\n !isNil(popup) &&\n popup[0]?.setProps({\n getReferenceClientRect: props.clientRect,\n });\n },\n\n onKeyDown(props) {\n return reactRenderer?.ref?.onKeyDown(props);\n },\n\n onExit() {\n !isNil(popup) && popup[0]?.destroy();\n reactRenderer?.destroy();\n reactRenderer = null;\n },\n };\n },\n};\n\nexport default EmojiSuggestion.configure({ suggestion: suggestionConfig });\n","import \"src/styles/editor/_image-skeleton.scss\";\n\nconst imageSkeletonContainer = document.createElement(\"div\");\nimageSkeletonContainer.classList.add(\"neeto-editor-image__skeleton\");\n\nconst imageSkeleton = document.createElement(\"div\");\nimageSkeleton.classList.add(\"skeleton\");\n\nimageSkeletonContainer.appendChild(imageSkeleton);\n\nexport const IMAGE_PLACEHOLDER = imageSkeletonContainer;\n\nexport const LARGE_IMAGE_ERROR = \"IMAGE_SIZE_LARGER\";\n","import { useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { Close } from \"neetoicons\";\nimport { Button, Modal, Spinner } from \"neetoui\";\nimport { isNil } from \"ramda\";\n\nconst ImagePreviewModal = ({ previewUrl, setPreviewUrl }) => {\n const [isLoading, setIsLoading] = useState(true);\n\n const handleImageLoad = () => setIsLoading(false);\n\n const handleClose = () => {\n setIsLoading(true);\n setPreviewUrl(null);\n };\n\n return (\n <Modal\n className=\"image-preview-neeto-ui-modal\"\n closeButton={false}\n isOpen={isPresent(previewUrl)}\n size=\"fullScreen\"\n onClose={handleClose}\n >\n <>\n {isLoading || isNil(previewUrl) ? (\n <div className=\"spinner-wrapper\">\n <Spinner className=\"spinner\" theme=\"light\" />\n </div>\n ) : (\n <Button\n className=\"image-preview-neeto-ui-modal__close-btn\"\n icon={Close}\n style=\"secondary\"\n onClick={handleClose}\n onKeyDown={e => e.key === \"Escape\" && handleClose}\n />\n )}\n <img\n alt=\"Preview\"\n src={previewUrl}\n className={classNames({\n \"display-none\": isLoading || isNil(previewUrl),\n })}\n onLoad={handleImageLoad}\n />\n </>\n </Modal>\n );\n};\n\nexport default ImagePreviewModal;\n","import { MenuHorizontal, AspectRatio, Down } from \"neetoicons\";\nimport { Button, Dropdown, Tooltip } from \"neetoui\";\n\nimport { buildImageOptions } from \"../../MediaUploader/utils\";\n\nconst { Menu: DropdownMenu, MenuItem } = Dropdown;\n\nconst Menu = ({\n align,\n border,\n editor,\n updateAttributes,\n deleteNode,\n showAspectRatio,\n}) => {\n const menuOptions = buildImageOptions(border, showAspectRatio);\n\n const handleClick = (alignPos, borderToggle) => {\n if (borderToggle) {\n updateAttributes({ border: !border });\n } else if (alignPos) {\n updateAttributes({ align: alignPos });\n } else {\n deleteNode();\n }\n editor.commands.focus();\n };\n\n return (\n <Dropdown\n buttonProps={{ className: \"neeto-editor__image-menu-btn\" }}\n buttonSize=\"large\"\n buttonStyle=\"tertiary\"\n className=\"neeto-editor__image-menu neeto-editor-bubble-menu\"\n icon={MenuHorizontal}\n position=\"top\"\n strategy=\"fixed\"\n theme=\"light neeto-editor-common-submenu-tippy-box\"\n >\n {menuOptions.map(\n ({ Icon, optionName, alignPos, type, items, border, borderToggle }) =>\n type === \"button\" ? (\n <Button\n className=\"neeto-editor-bubble-menu__item\"\n data-testid={`neeto-editor-image-menu-${optionName}`}\n icon={Icon}\n key={optionName}\n tooltipProps={{ content: optionName, position: \"top\" }}\n style={\n alignPos === align || (borderToggle && border)\n ? \"secondary\"\n : \"text\"\n }\n onClick={() => handleClick(alignPos, borderToggle)}\n />\n ) : (\n <Dropdown\n key={optionName}\n position=\"bottom-start\"\n strategy=\"fixed\"\n buttonProps={{\n tooltipProps: {\n content: optionName,\n position: \"top\",\n delay: [500],\n },\n }}\n customTarget={\n <MenuItem.Button className=\"neeto-editor-bubble-menu__item !relative\">\n <Tooltip content={optionName} position=\"top\">\n <div className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-justify-center gap-x-1\">\n <AspectRatio size={18} />\n <Down size={14} />\n </div>\n </Tooltip>\n </MenuItem.Button>\n }\n onClick={event => event.stopPropagation()}\n >\n <DropdownMenu className=\"mb-0\">\n {items?.map(({ ratio, icon: Icon }) => (\n <MenuItem.Button\n key={ratio}\n onClick={() => updateAttributes({ aspectRatio: ratio })}\n >\n {Icon && <Icon size={18} />}\n {ratio}\n </MenuItem.Button>\n ))}\n </DropdownMenu>\n </Dropdown>\n )\n )}\n </Dropdown>\n );\n};\n\nexport default Menu;\n","import { useRef, useState } from \"react\";\n\nimport { NodeViewContent, NodeViewWrapper } from \"@tiptap/react\";\nimport classNames from \"classnames\";\nimport { isNotPresent } from \"neetocist\";\nimport { Spinner } from \"neetoui\";\nimport { isEmpty, mergeRight } from \"ramda\";\nimport { Resizable } from \"re-resizable\";\n\nimport ImagePreviewModal from \"./ImagePreviewModal\";\nimport Menu from \"./Menu\";\n\nconst ImageComponent = ({\n node,\n editor,\n getPos,\n updateAttributes,\n deleteNode,\n}) => {\n const { src, figheight, figwidth, align, alt, border } = node.attrs;\n\n const [captionWidth, setCaptionWidth] = useState(figwidth || 0);\n const [previewUrl, setPreviewUrl] = useState(null);\n const figureRef = useRef(null);\n\n const { view } = editor;\n let height = figheight;\n let width = figwidth;\n const caption = node?.content?.content?.[0]?.text || \"\";\n\n const editorElement = figureRef.current?.closest(\".neeto-editor\");\n const maxImageWidth = editorElement?.offsetWidth - 50;\n\n const handleResizeStop = (_event, _direction, ref) => {\n height = ref.offsetHeight;\n width = ref.offsetWidth;\n\n if (width > maxImageWidth) {\n width = maxImageWidth;\n const aspectRatio = ref.offsetHeight / ref.offsetWidth;\n height = width * aspectRatio;\n }\n setCaptionWidth(width);\n view.dispatch(\n view.state.tr.setNodeMarkup(\n getPos(),\n undefined,\n mergeRight(node.attrs, {\n figheight: height,\n figwidth: width,\n height,\n width,\n })\n )\n );\n editor.commands.focus();\n };\n\n if (isNotPresent(src) && isNotPresent(alt)) return null;\n\n return (\n <NodeViewWrapper\n data-testid=\"neeto-editor-image-wrapper\"\n className={classNames(\n \"neeto-editor__image-wrapper\",\n `neeto-editor__image--${align}`,\n { \"neeto-editor__image--bordered\": border }\n )}\n >\n <figure ref={figureRef}>\n <Menu {...{ align, border, deleteNode, editor, updateAttributes }} />\n {src ? (\n <Resizable\n lockAspectRatio\n className=\"neeto-editor__image\"\n minWidth=\"50px\"\n size={{ height, width }}\n onResizeStop={handleResizeStop}\n onResize={(_event, _direction, ref) =>\n setCaptionWidth(ref.offsetWidth)\n }\n >\n <img\n {...{ ...node.attrs, src }}\n alt={caption}\n data-border={border}\n onClick={e => {\n e.stopPropagation();\n setPreviewUrl(src);\n }}\n />\n </Resizable>\n ) : (\n <div className=\"neeto-editor__image-placeholder\">\n <Spinner />\n </div>\n )}\n <NodeViewContent\n as=\"figcaption\"\n className={classNames({ \"is-empty\": isEmpty(caption) })}\n style={{ width: `${captionWidth}px` }}\n />\n </figure>\n <ImagePreviewModal {...{ previewUrl, setPreviewUrl }} />\n </NodeViewWrapper>\n );\n};\n\nexport default ImageComponent;\n","import { mergeAttributes, Node } from \"@tiptap/core\";\nimport { Plugin, Selection } from \"@tiptap/pm/state\";\nimport { ReactNodeViewRenderer } from \"@tiptap/react\";\nimport classnames from \"classnames\";\nimport { t } from \"i18next\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Toastr } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\n\nimport { DIRECT_UPLOAD_ENDPOINT } from \"src/common/constants\";\nimport DirectUpload from \"utils/DirectUpload\";\n\nimport { LARGE_IMAGE_ERROR } from \"./constants\";\nimport ImageComponent from \"./ImageComponent\";\n\nconst upload = async (file, url) => {\n if (file.size <= globalProps.endUserUploadedFileSizeLimitInMb * 1024 * 1024) {\n const uploader = new DirectUpload({ file, url });\n const response = await uploader.create();\n\n return response.data?.blob_url || response.blob_url;\n }\n\n throw new Error(LARGE_IMAGE_ERROR);\n};\n\nconst findNextTextPos = (editor, pos) => {\n const doc = editor.state.doc;\n let foundPos = -1;\n\n doc.nodesBetween(pos, doc.content.size, (node, nodePos) => {\n if (foundPos >= pos) return false;\n else if (!node.type.isTextblock) return true;\n foundPos = nodePos;\n\n return false;\n });\n\n return foundPos;\n};\n\nexport default Node.create({\n name: \"image\",\n\n addOptions() {\n return { HTMLAttributes: {}, openImageInNewTab: true };\n },\n\n group: \"block\",\n\n content: \"inline*\",\n\n draggable: false,\n\n isolating: true,\n\n addAttributes() {\n return {\n id: {\n default: null,\n parseHTML: element => element.getAttribute(\"id\"),\n },\n\n src: {\n default: null,\n parseHTML: element => element.querySelector(\"img\")?.getAttribute(\"src\"),\n },\n\n alt: {\n default: \"image\",\n parseHTML: element =>\n element.querySelector(\"img\")?.getAttribute(\"alt\") || \"image\",\n },\n\n figheight: {\n default: \"auto\",\n parseHTML: element =>\n element.querySelector(\"img\")?.getAttribute(\"figheight\"),\n },\n\n figwidth: {\n default: 500,\n parseHTML: element =>\n element.querySelector(\"img\")?.getAttribute(\"figwidth\"),\n },\n\n align: {\n default: \"left\",\n parseHTML: element =>\n element.querySelector(\"img\")?.getAttribute(\"align\"),\n },\n\n border: {\n default: true,\n parseHTML: element =>\n element.querySelector(\"img\")?.getAttribute(\"data-border\") === \"true\",\n },\n };\n },\n\n parseHTML() {\n return [{ tag: \"figure\" }];\n },\n\n renderHTML({ node, HTMLAttributes }) {\n const { align, src, figheight, figwidth, border } = node.attrs;\n\n if (!src) return [\"span\"];\n\n const openImageInNewTab = this.options.openImageInNewTab;\n\n const wrapperDivAttrs = {\n class: classnames(\n \"neeto-editor__image-wrapper\",\n `neeto-editor__image--${align}`,\n { \"neeto-editor__image--bordered\": border }\n ),\n };\n\n const wrapperLinkPointerEventsStyle = openImageInNewTab\n ? \"\"\n : \"pointer-events:none;\";\n\n const heightStyle = figheight === \"auto\" ? \"auto\" : `${figheight}px`;\n const wrapperLinkAttrs = {\n href: src,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n class: \"neeto-editor__image\",\n style: `height:${heightStyle};width:${figwidth}px;display:inline-block;${wrapperLinkPointerEventsStyle}`,\n };\n\n const captionAttrs = { style: `width:${figwidth}px;` };\n\n return [\n \"div\",\n wrapperDivAttrs,\n [\n \"figure\",\n this.options.HTMLAttributes,\n [\n \"a\",\n wrapperLinkAttrs,\n [\n \"img\",\n mergeAttributes(HTMLAttributes, {\n draggable: false,\n contenteditable: false,\n \"data-border\": border,\n }),\n ],\n ],\n [\"figcaption\", captionAttrs, 0],\n ],\n ];\n },\n\n addNodeView() {\n return ReactNodeViewRenderer(ImageComponent);\n },\n\n addCommands() {\n return {\n setFigure:\n ({ caption, ...attrs }) =>\n ({ chain }) =>\n chain()\n .insertContent({\n type: this.name,\n attrs,\n content: caption ? [{ type: \"text\", text: caption }] : [],\n })\n .run(),\n };\n },\n\n addKeyboardShortcuts() {\n return {\n Enter: () => {\n const head = this.editor.state.selection.$head;\n if (head.node().type.name !== \"image\") return false;\n\n const chain = this.editor.chain();\n const tail = head.after();\n\n let nextTextPos = findNextTextPos(this.editor, tail);\n if (nextTextPos < 0) {\n chain.insertContentAt(tail, { type: \"paragraph\", content: \"\" });\n nextTextPos = tail;\n }\n\n chain\n .setTextSelection(nextTextPos + 1) // Node boundary + 1\n .focus()\n .run();\n\n return true;\n },\n // The caption shares its textblock with the non-editable image above it,\n // so the native caret can't move up past the image. Handle it manually.\n ArrowUp: () => {\n const { state, view } = this.editor;\n const { $head, empty } = state.selection;\n if (!empty || $head.parent.type.name !== this.name) return false;\n\n const lineTop = view.coordsAtPos($head.start());\n const caret = view.coordsAtPos($head.pos);\n if (caret.top >= lineTop.bottom) return false; // Not on the first line\n\n const before = $head.before();\n if (before === 0) {\n return this.editor\n .chain()\n .insertContentAt(0, { type: \"paragraph\" })\n .setTextSelection(1)\n .scrollIntoView()\n .run();\n }\n\n const tr = state.tr.setSelection(\n Selection.near(state.doc.resolve(before), -1)\n );\n view.dispatch(tr.scrollIntoView());\n\n return true;\n },\n };\n },\n\n addProseMirrorPlugins() {\n return [\n new Plugin({\n props: {\n handleDOMEvents: {\n paste(view, event) {\n const {\n schema,\n selection: {\n $anchor: { pos },\n },\n } = view.state;\n\n // Microsoft Excel and a few other products might copy content as\n // both `text/plain` and `text/html`. If `text/plain` exists,\n // an early return will ensure that it fallbacks to tiptap's\n // default paste behavior.\n const text = event?.clipboardData?.getData(\"text/plain\");\n const hasFiles = event.clipboardData?.files?.length;\n\n if (!hasFiles) return;\n\n if (hasFiles && text) {\n event.preventDefault();\n const plainText =\n new DOMParser().parseFromString(text, \"text/html\").body\n .textContent ?? \"\";\n view.pasteText(plainText);\n\n return;\n }\n\n const images = Array.from(event.clipboardData.files).filter(\n file => /image/i.test(file.type)\n );\n\n if (isEmpty(images)) return;\n\n event.preventDefault();\n\n const currentPos = pos;\n\n images.forEach(async image => {\n let emptyImageNode;\n const id = Math.random().toString(36).substring(7);\n try {\n emptyImageNode = schema.nodes.image.create({\n id,\n src: \"\",\n alt: t(\"neetoEditor.attachments.uploading\"),\n });\n\n const tr = view.state.tr\n .insert(currentPos, emptyImageNode)\n .setMeta(\"addToHistory\", false);\n view.dispatch(tr);\n\n const url = await upload(image, DIRECT_UPLOAD_ENDPOINT);\n if (url) {\n const imageNode = schema.nodes.image.create({\n id,\n src: url,\n alt: \"image\",\n });\n\n const { tr, doc } = view.state;\n let nodePos = -1;\n doc.descendants((node, pos) => {\n if (node.type.name === \"image\" && node.attrs.id === id) {\n nodePos = pos;\n\n return false;\n }\n\n return true;\n });\n\n if (nodePos !== -1) {\n tr.replaceWith(\n nodePos,\n nodePos + emptyImageNode.nodeSize,\n imageNode\n ).setMeta(\"addToHistory\", false);\n view.dispatch(tr);\n }\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Failed to insert the image\", error);\n\n const doc = view.state.doc;\n const tr = view.state.tr;\n doc.descendants((node, pos) => {\n if (node.type.name === \"image\" && node.attrs.id === id) {\n tr.delete(pos, pos + emptyImageNode.nodeSize).setMeta(\n \"addToHistory\",\n false\n );\n\n return false;\n }\n\n return true;\n });\n view.dispatch(tr);\n\n if (error.message === LARGE_IMAGE_ERROR) {\n Toastr.error(\n t(\"neetoEditor.error.imageSizeIsShouldBeLess\", {\n limit: globalProps.endUserUploadedFileSizeLimitInMb,\n })\n );\n } else {\n Toastr.error(t(\"neetoEditor.error.imageUploadFailed\"));\n }\n }\n });\n },\n },\n },\n }),\n ];\n },\n});\n","import { mergeAttributes, Node } from \"@tiptap/core\";\n\nexport default Node.create({\n name: \"figcaption\",\n\n content: \"text*\",\n\n selectable: false,\n\n draggable: false,\n\n parseHTML() {\n return [{ tag: \"figcaption\" }];\n },\n\n renderHTML({ HTMLAttributes }) {\n return [\"figcaption\", mergeAttributes(HTMLAttributes), 0];\n },\n});\n","import Italic from \"@tiptap/extension-italic\";\n\nexport default Italic.extend({\n addInputRules() {\n return [];\n },\n addPasteRules() {\n return [];\n },\n});\n","import { Extension } from \"@tiptap/core\";\n\nconst KeyboardShortcuts = ({ onSubmit, shortcuts, isBlockQuoteActive }) =>\n Extension.create({\n name: \"keyboard-shortcuts\",\n\n addKeyboardShortcuts() {\n return {\n \"Mod-Enter\": () => {\n onSubmit?.(this.editor.getHTML());\n\n return true;\n },\n \"Mod-Shift-b\": () => {\n if (isBlockQuoteActive) {\n this.editor.chain().focus().toggleBlockquote().run();\n\n return true;\n }\n\n return false;\n },\n ...shortcuts,\n };\n },\n });\n\nexport default {\n configure: ({ onSubmit, shortcuts, isBlockQuoteActive }) =>\n KeyboardShortcuts({ onSubmit, shortcuts, isBlockQuoteActive }),\n};\n","export const LINK_MARKDOWN_INPUT_REGEX =\n /(?:^|\\s)\\[([^\\]]*)?\\]\\((\\S+)(?: [\"“](.+)[\"”])?\\)$/i;\n","import { InputRule, markInputRule, mergeAttributes } from \"@tiptap/core\";\nimport { Link } from \"@tiptap/extension-link\";\nimport { Fragment, Slice } from \"@tiptap/pm/model\";\nimport { Plugin } from \"@tiptap/pm/state\";\n\nimport { LINK_MARKDOWN_INPUT_REGEX } from \"./constants\";\n\nconst linkInputRule = config => {\n const defaultMarkInputRule = markInputRule(config);\n\n return new InputRule({\n find: config.find,\n handler(props) {\n try {\n const { tr } = props.state;\n defaultMarkInputRule.handler(props);\n tr.setMeta(\"preventAutolink\", true);\n } catch (error) {\n // https://app.honeybadger.io/projects/94805/faults/108936285\n if (!(error instanceof RangeError)) throw error;\n }\n },\n });\n};\n\n// TipTap's paste handler links the selected text only when the pasted text is\n// exactly a URL, so a URL copied with surrounding whitespace replaces the\n// selection instead. Hand it a trimmed copy of the pasted text.\nconst withTrimmedLinkPaste = plugin => {\n const { handlePaste } = plugin.props;\n\n return new Plugin({\n ...plugin.spec,\n props: {\n ...plugin.props,\n handlePaste: (view, event, slice) => {\n let textContent = \"\";\n slice.content.forEach(node => {\n textContent += node.textContent;\n });\n const trimmedText = textContent.trim();\n\n if (!trimmedText || trimmedText === textContent) {\n return handlePaste(view, event, slice);\n }\n\n const trimmedSlice = new Slice(\n Fragment.from(view.state.schema.text(trimmedText)),\n 0,\n 0\n );\n\n return handlePaste(view, event, trimmedSlice);\n },\n },\n });\n};\n\nexport default Link.extend({\n inclusive: false,\n addAttributes() {\n return {\n ...this.parent?.(),\n title: { default: null },\n \"data-neeto-kb-article\": {\n default: null,\n parseHTML: element => element.getAttribute(\"data-neeto-kb-article\"),\n renderHTML: attributes =>\n attributes[\"data-neeto-kb-article\"]\n ? { \"data-neeto-kb-article\": attributes[\"data-neeto-kb-article\"] }\n : {},\n },\n \"data-article-id\": {\n default: null,\n parseHTML: element => element.getAttribute(\"data-article-id\"),\n renderHTML: attributes =>\n attributes[\"data-article-id\"]\n ? { \"data-article-id\": attributes[\"data-article-id\"] }\n : {},\n },\n \"data-article-deleted\": {\n default: null,\n parseHTML: element => element.getAttribute(\"data-article-deleted\"),\n renderHTML: attributes =>\n attributes[\"data-article-deleted\"]\n ? { \"data-article-deleted\": attributes[\"data-article-deleted\"] }\n : {},\n },\n };\n },\n\n parseHTML() {\n return [\n {\n tag: 'a[href]:not([data-type=\"button\"]):not([href *= \"javascript:\" i])',\n },\n ];\n },\n renderHTML({ HTMLAttributes }) {\n return [\n \"a\",\n mergeAttributes(this.options.HTMLAttributes, HTMLAttributes, {\n class: \"link\",\n }),\n 0,\n ];\n },\n\n addProseMirrorPlugins() {\n // Match on the handlePaste prop rather than TipTap's internal plugin key;\n // the paste handler is the only Link plugin that handles pastes.\n return (this.parent?.() ?? []).map(plugin =>\n plugin.props.handlePaste ? withTrimmedLinkPaste(plugin) : plugin\n );\n },\n\n addInputRules() {\n return [\n linkInputRule({\n find: LINK_MARKDOWN_INPUT_REGEX,\n type: this.type,\n getAttributes(match) {\n return {\n title: match.pop()?.trim(),\n href: match.pop()?.trim(),\n };\n },\n }),\n ];\n },\n});\n","import React from \"react\";\n\nimport classNames from \"classnames\";\nimport { t } from \"i18next\";\nimport { Avatar, Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\n\nimport { scrollHandler } from \"utils/scrollhandler\";\n\nexport class MentionList extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = { selectedIndex: 0 };\n this.mentionRef = React.createRef();\n }\n\n componentDidUpdate(prevProps) {\n const { items } = this.props;\n if (items !== prevProps.items) {\n this.setState({ selectedIndex: 0 });\n }\n\n scrollHandler({\n wrapperRef: this.mentionRef,\n index: this.state.selectedIndex,\n });\n }\n\n selectItem = index => {\n const { items, command } = this.props;\n const item = items[index];\n\n if (item) {\n command({ label: item.name, id: item.key });\n }\n };\n\n upHandler = () => {\n const { items } = this.props;\n this.setState(prevState => {\n const { selectedIndex } = prevState;\n const nextSelectedIndex =\n (selectedIndex + items.length - 1) % items.length;\n\n return { selectedIndex: nextSelectedIndex };\n });\n };\n\n downHandler = () => {\n const { items } = this.props;\n this.setState(prevState => {\n const { selectedIndex } = prevState;\n const nextSelectedIndex = (selectedIndex + 1) % items.length;\n\n return { selectedIndex: nextSelectedIndex };\n });\n };\n\n enterHandler = () => {\n const { selectedIndex } = this.state;\n this.selectItem(selectedIndex);\n };\n\n tabHandler = () => {\n const { selectedIndex } = this.state;\n this.selectItem(selectedIndex);\n };\n\n onKeyDown = ({ event }) => {\n const keyDownHandlers = {\n ArrowUp: this.upHandler,\n ArrowDown: this.downHandler,\n Enter: this.enterHandler,\n Tab: this.tabHandler,\n };\n\n if (Object.prototype.hasOwnProperty.call(keyDownHandlers, event.key)) {\n keyDownHandlers[event.key]();\n\n return true;\n }\n\n return false;\n };\n\n render() {\n const { selectedIndex } = this.state;\n const { items } = this.props;\n\n if (isEmpty(items)) {\n return (\n <div className=\"neeto-editor-mentions__wrapper\">\n <p className=\"neeto-editor-mentions__item\">\n {t(\"neetoEditor.error.noResults\")}\n </p>\n </div>\n );\n }\n\n // Rendered with plain elements instead of neetoUI's Dropdown.Menu. That Menu\n // auto-focuses its <ul> on mount, which pulls focus out of the editor and\n // breaks mention typing/arrow navigation (the list is driven entirely by the\n // editor's keydown). neetoUI's class names are kept so the popup styling is\n // unchanged.\n return (\n <div className=\"neeto-ui-dropdown__popup\">\n <ul\n className=\"neeto-ui-dropdown__popup-menu neeto-editor-mentions__wrapper\"\n data-testid=\"neeto-editor-mention-list\"\n ref={this.mentionRef}\n >\n {items.map(({ key, name, imageUrl }, index) => (\n <li\n className=\"neeto-ui-dropdown__popup-menu-item\"\n key={key}\n role=\"menuitem\"\n >\n <button\n data-testid={`neeto-editor-mention-list-${name}`}\n type=\"button\"\n className={classNames(\n \"neeto-ui-dropdown__popup-menu-item-btn neeto-editor-mentions__item\",\n { active: index === selectedIndex }\n )}\n onClick={() => this.selectItem(index)}\n >\n <Avatar size=\"small\" user={{ name, imageUrl }} />\n <Typography style=\"body2\">{name}</Typography>\n </button>\n </li>\n ))}\n </ul>\n </div>\n );\n }\n}\n","export const createMentionSuggestions =\n (mentions = []) =>\n ({ query = \"\" }) => {\n if (!query) {\n return mentions.slice(0, 10);\n }\n\n return mentions\n .filter(mention =>\n mention.name\n .replace(/\\s/g, \"\")\n .toLowerCase()\n .includes(query.trim().toLowerCase())\n )\n .slice(0, 10);\n };\n","import Mention from \"@tiptap/extension-mention\";\nimport { ReactRenderer } from \"@tiptap/react\";\nimport tippy from \"tippy.js\";\n\nimport { MentionList } from \"./MentionList\";\nimport { createMentionSuggestions } from \"./utils\";\n\nconst suggestion = {\n render: () => {\n let reactRenderer;\n let popup;\n\n return {\n onStart: props => {\n reactRenderer = new ReactRenderer(MentionList, {\n props,\n editor: props.editor,\n });\n\n popup = tippy(\"body\", {\n theme: \"light neeto-editor-mentions-tooltip\",\n getReferenceClientRect: props.clientRect,\n appendTo: () => document.body,\n content: reactRenderer.element,\n showOnCreate: true,\n interactive: true,\n trigger: \"manual\",\n placement: \"bottom-start\",\n zIndex: 99999,\n arrow: false,\n });\n },\n\n onUpdate(props) {\n reactRenderer.updateProps(props);\n\n popup[0].setProps({\n getReferenceClientRect: props.clientRect,\n });\n },\n\n onKeyDown(props) {\n if (props.event.key === \"Escape\") {\n popup[0].hide();\n\n return true;\n }\n\n return reactRenderer.ref?.onKeyDown(props);\n },\n\n onExit() {\n popup?.[0]?.destroy();\n reactRenderer?.destroy();\n },\n };\n },\n};\n\nconst Mentions = Mention.extend({\n addCommands() {\n return {\n setMention:\n ({ id, label }) =>\n ({ chain }) => {\n chain()\n .focus()\n .insertContent([\n { type: this.name, attrs: { id, label } },\n { type: \"text\", text: \" \" },\n ])\n .run();\n },\n };\n },\n});\n\nexport default {\n configure: ({ suggestion: suggestionConfig = {}, ...otherConfig }) =>\n Mentions.configure({\n ...otherConfig,\n suggestion: { ...suggestion, ...suggestionConfig },\n }),\n};\n\nexport { createMentionSuggestions };\n","import { OrderedList } from \"@tiptap/extension-list\";\n\nexport default OrderedList.configure({\n HTMLAttributes: { class: \"orderedList\" },\n itemTypeName: \"listItem\",\n});\n","import { Extension } from \"@tiptap/core\";\nimport { Plugin } from \"@tiptap/pm/state\";\nimport { Decoration, DecorationSet } from \"@tiptap/pm/view\";\nimport { t } from \"i18next\";\n\nconst Placeholder = Extension.create({\n name: \"placeholder\",\n\n addOptions() {\n return {\n excludeNodeTypes: [\"variable\", \"codeBlock\"],\n emptyEditorClass: \"is-editor-empty\",\n emptyNodeClass: \"is-empty\",\n placeholder: t(\"neetoEditor.placeholders.writeSomething\"),\n slashCommandsPlaceholder: t(\n \"neetoEditor.placeholders.typeSlashForCommands\"\n ),\n showOnlyWhenEditable: true,\n showOnlyCurrent: false,\n includeChildren: false,\n };\n },\n\n addProseMirrorPlugins() {\n return [\n new Plugin({\n props: {\n decorations: ({ doc, selection }) => {\n const active =\n this.editor.isEditable || !this.options.showOnlyWhenEditable;\n const { anchor } = selection;\n const decorations = [];\n\n if (!active) {\n return null;\n }\n\n doc.descendants((node, pos) => {\n const hasAnchor = anchor >= pos && anchor <= pos + node.nodeSize;\n const isEmpty = !node.isLeaf && !node.childCount;\n\n const isExcluded = this.options.excludeNodeTypes.includes(\n node.type.name\n );\n\n if (\n (hasAnchor || !this.options.showOnlyCurrent) &&\n !isExcluded &&\n isEmpty\n ) {\n const classes = [this.options.emptyNodeClass];\n\n let placeholderText = this.options.placeholder;\n\n if (this.editor.isEmpty) {\n classes.push(this.options.emptyEditorClass);\n\n if (\n this.options.isSlashCommandsActive &&\n !this.options.placeholder\n ) {\n placeholderText = this.options.slashCommandsPlaceholder;\n }\n } else if (\n hasAnchor &&\n this.editor.isFocused &&\n this.options.isSlashCommandsActive &&\n node.type.name === \"paragraph\"\n ) {\n classes.push(\"is-current-slash-placeholder\");\n placeholderText = this.options.slashCommandsPlaceholder;\n }\n\n const decoration = Decoration.node(pos, pos + node.nodeSize, {\n class: classes.join(\" \"),\n \"data-placeholder\": placeholderText,\n });\n decorations.push(decoration);\n }\n\n return this.options.includeChildren;\n });\n\n return DecorationSet.create(doc, decorations);\n },\n },\n }),\n ];\n },\n});\n\nexport default Placeholder;\n","import Document from \"@tiptap/extension-document\";\nimport { Plugin, PluginKey } from \"@tiptap/pm/state\";\nimport { Decoration, DecorationSet } from \"@tiptap/pm/view\";\n\nexport default Document.extend({\n name: \"selectionDecorator\",\n addProseMirrorPlugins() {\n return [\n new Plugin({\n key: new PluginKey(\"selectionDecorator\"),\n state: {\n init() {\n return {\n decorations: DecorationSet.empty,\n selectedTextDecoration: null,\n };\n },\n apply(tr, oldState) {\n const { doc, selection } = tr;\n let { decorations, selectedTextDecoration } = oldState;\n\n if (selectedTextDecoration) {\n decorations = decorations.remove([selectedTextDecoration]);\n }\n\n if (!selection.empty) {\n selectedTextDecoration = Decoration.inline(\n selection.from,\n selection.to,\n { class: \"selected-text\" }\n );\n decorations = decorations.add(doc, [selectedTextDecoration]);\n } else {\n selectedTextDecoration = null;\n }\n\n return { decorations, selectedTextDecoration };\n },\n },\n props: {\n decorations(state) {\n return this.getState(state).decorations;\n },\n },\n }),\n ];\n },\n});\n","import React, { forwardRef } from \"react\";\n\nimport Tippy from \"@tippyjs/react\";\nimport classnames from \"classnames\";\nimport { isNotPresent } from \"neetocist\";\n\nimport { scrollHandler } from \"utils/scrollhandler\";\n\nclass Menu extends React.Component {\n constructor(props) {\n super(props);\n this.state = { selectedIndex: 0 };\n this.menuRef = React.createRef();\n }\n\n componentDidMount() {\n const { menuIndex, activeMenuIndex } = this.props;\n const isCurrentMenuActive = menuIndex === activeMenuIndex;\n if (isCurrentMenuActive) {\n document.addEventListener(\"keydown\", this.keydownHandler);\n }\n }\n\n componentWillUnmount() {\n document.removeEventListener(\"keydown\", this.keydownHandler);\n }\n\n componentDidUpdate(oldProps) {\n const { items, menuIndex, activeMenuIndex } = this.props;\n const isCurrentMenuActive = menuIndex === activeMenuIndex;\n\n if (items !== oldProps.items) this.setState({ selectedIndex: 0 });\n\n scrollHandler({\n wrapperRef: this.menuRef,\n index: this.state.selectedIndex,\n });\n\n if (isCurrentMenuActive) {\n document.addEventListener(\"keydown\", this.keydownHandler);\n } else document.removeEventListener(\"keydown\", this.keydownHandler);\n }\n\n keydownHandler = event => {\n const listeners = {\n Enter: this.enterHandler,\n ArrowUp: this.upHandler,\n ArrowDown: this.downHandler,\n ArrowLeft: this.leftArrowHandler,\n ArrowRight: this.rightArrowHandler,\n };\n\n if (event.key in listeners) listeners[event.key](event);\n };\n\n selectItem = index => {\n const { items, editor, range } = this.props;\n const selectedItem = items[index];\n const hasCommand = selectedItem && selectedItem.command;\n if (hasCommand) selectedItem.command({ editor, range });\n };\n\n upHandler = () => {\n const { items } = this.props;\n const { selectedIndex } = this.state;\n this.setState({\n selectedIndex: (selectedIndex + items.length - 1) % items.length,\n });\n };\n\n downHandler = () => {\n const { items } = this.props;\n const { selectedIndex } = this.state;\n this.setState({ selectedIndex: (selectedIndex + 1) % items.length });\n };\n\n enterHandler = () => {\n const { selectedIndex } = this.state;\n this.selectItem(selectedIndex);\n };\n\n leftArrowHandler = () => {\n const { menuIndex, setActiveMenuIndex } = this.props;\n if (menuIndex > 0) setActiveMenuIndex(menuIndex - 1);\n };\n\n rightArrowHandler = () => {\n const { menuIndex, setActiveMenuIndex, items } = this.props;\n const { selectedIndex } = this.state;\n const selectedItem = items[selectedIndex];\n const hasSubItems = selectedItem && !isNotPresent(selectedItem.items);\n if (hasSubItems) setActiveMenuIndex(menuIndex + 1);\n };\n\n render() {\n const { items, menuIndex, activeMenuIndex } = this.props;\n const { selectedIndex } = this.state;\n const isCurrentMenuActive = menuIndex === activeMenuIndex;\n\n return (\n <div\n className=\"neeto-editor-slash-commands__wrapper\"\n data-testid=\"neeto-editor-slash-commands-wrapper\"\n ref={this.menuRef}\n >\n {items.map((item, index) => {\n const isLeafNode = isNotPresent(item.items);\n\n const nodeElement = (\n <MenuItem\n {...{ index, item }}\n key={item.optionName}\n selectItem={() => this.selectItem(index)}\n selectedIndex={isCurrentMenuActive ? selectedIndex : -1}\n onHover={() => this.setState({ selectedIndex: index })}\n />\n );\n\n if (isLeafNode) return nodeElement;\n\n return (\n <Tippy\n interactive\n key={item.optionName}\n placement=\"right\"\n theme=\"light neeto-editor-slash-commands-tippy\"\n visible={selectedIndex === index}\n content={\n <Menu\n {...this.props}\n items={item.items}\n menuIndex={menuIndex + 1}\n />\n }\n onCreate={({ popper }) => (popper.style.width = \"max-content\")}\n onHide={() => {\n this.isSubmenuOpened = false;\n }}\n onShow={() => {\n this.isSubmenuOpened = true;\n }}\n >\n {nodeElement}\n </Tippy>\n );\n })}\n </div>\n );\n }\n}\n\n// eslint-disable-next-line react/display-name\nconst MenuItem = forwardRef(\n ({ item, selectedIndex, index, selectItem, onHover }, ref) => {\n const { Icon } = item;\n\n return (\n <button\n {...{ ref }}\n data-testid={`neeto-editor-command-list-item-${index}`}\n className={classnames(\"neeto-editor-slash-commands__item\", {\n active: index === selectedIndex,\n })}\n onClick={selectItem}\n onMouseEnter={onHover}\n >\n {Icon && <Icon size={20} />}\n <span className=\"neeto-editor-slash-commands__item-content\">\n <span\n className=\"neeto-editor-slash-commands__item-title\"\n data-testid=\"neeto-editor-command-list-item-block-heading\"\n >\n {item.title}\n </span>\n </span>\n </button>\n );\n }\n);\n\nexport default Menu;\n","import React from \"react\";\n\nimport Menu from \"./Menu\";\n\nclass CommandsList extends React.Component {\n state = { activeMenuIndex: 0 };\n\n onKeyDown = ({ event }) =>\n [\"Enter\", \"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\"].includes(\n event.key\n );\n\n setActiveMenuIndex = index => this.setState({ activeMenuIndex: index });\n\n render() {\n return (\n <Menu\n {...this.props}\n activeMenuIndex={this.state.activeMenuIndex}\n items={this.props.items}\n menuIndex={0}\n setActiveMenuIndex={this.setActiveMenuIndex}\n />\n );\n }\n}\n\nexport default CommandsList;\n","import { t } from \"i18next\";\nimport { noop } from \"neetocist\";\nimport {\n TextP,\n TextH1,\n TextH2,\n TextH3,\n TextH4,\n TextH5,\n ListDot,\n ListNumber,\n Checkbox,\n Blockquote,\n ImageUpload,\n CodeBlock,\n Smiley,\n Minus,\n Video,\n Notes,\n Column,\n TextBold,\n TextItalic,\n Underline,\n Link,\n Attachment,\n MessageSquare,\n File,\n} from \"neetoicons\";\n\nimport { EDITOR_OPTIONS } from \"common/constants\";\n\nexport const MENU_ITEMS = [\n {\n optionName: EDITOR_OPTIONS.PARAGRAPH,\n title: t(\"neetoEditor.menu.normalText\"),\n description: t(\"neetoEditor.menu.normalTextDescription\"),\n Icon: TextP,\n command: ({ editor, range }) => {\n editor.chain().focus().deleteRange(range).setNode(\"paragraph\").run();\n },\n },\n {\n optionName: EDITOR_OPTIONS.BOLD,\n title: t(\"neetoEditor.menu.bold\"),\n description: t(\"neetoEditor.menu.boldDescription\"),\n Icon: TextBold,\n command: ({ editor, range }) => {\n editor.chain().focus().deleteRange(range).toggleBold().run();\n },\n },\n {\n optionName: EDITOR_OPTIONS.ITALIC,\n title: t(\"neetoEditor.menu.italic\"),\n description: t(\"neetoEditor.menu.italicDescription\"),\n Icon: TextItalic,\n command: ({ editor, range }) => {\n editor.chain().focus().deleteRange(range).toggleItalic().run();\n },\n },\n {\n optionName: EDITOR_OPTIONS.UNDERLINE,\n title: t(\"neetoEditor.menu.underline\"),\n description: t(\"neetoEditor.menu.underlineDescription\"),\n Icon: Underline,\n command: ({ editor, range }) => {\n editor.chain().focus().deleteRange(range).toggleUnderline().run();\n },\n },\n {\n optionName: EDITOR_OPTIONS.H1,\n title: t(\"neetoEditor.menu.heading1\"),\n description: t(\"neetoEditor.menu.h1Description\"),\n Icon: TextH1,\n command: ({ editor, range }) => {\n editor\n .chain()\n .focus()\n .deleteRange(range)\n .setNode(\"heading\", { level: 1 })\n .run();\n },\n },\n {\n optionName: EDITOR_OPTIONS.H2,\n title: t(\"neetoEditor.menu.heading2\"),\n description: t(\"neetoEditor.menu.h2Description\"),\n Icon: TextH2,\n command: ({ editor, range }) => {\n editor\n .chain()\n .focus()\n .deleteRange(range)\n .setNode(\"heading\", { level: 2 })\n .run();\n },\n },\n {\n optionName: EDITOR_OPTIONS.H3,\n title: t(\"neetoEditor.menu.heading3\"),\n description: t(\"neetoEditor.menu.h3Description\"),\n Icon: TextH3,\n command: ({ editor, range }) => {\n editor\n .chain()\n .focus()\n .deleteRange(range)\n .setNode(\"heading\", { level: 3 })\n .run();\n },\n },\n {\n optionName: EDITOR_OPTIONS.H4,\n title: t(\"neetoEditor.menu.heading4\"),\n description: t(\"neetoEditor.menu.h4Description\"),\n Icon: TextH4,\n command: ({ editor, range }) => {\n editor\n .chain()\n .focus()\n .deleteRange(range)\n .setNode(\"heading\", { level: 4 })\n .run();\n },\n },\n {\n optionName: EDITOR_OPTIONS.H5,\n title: t(\"neetoEditor.menu.heading5\"),\n description: t(\"neetoEditor.menu.h5Description\"),\n Icon: TextH5,\n command: ({ editor, range }) => {\n editor\n .chain()\n .focus()\n .deleteRange(range)\n .setNode(\"heading\", { level: 5 })\n .run();\n },\n },\n {\n optionName: EDITOR_OPTIONS.LIST_ORDERED,\n title: t(\"neetoEditor.menu.numberedList\"),\n description: t(\"neetoEditor.menu.numberedListDescription\"),\n Icon: ListNumber,\n command: ({ editor, range }) => {\n editor.chain().focus().deleteRange(range).toggleOrderedList().run();\n },\n },\n {\n optionName: EDITOR_OPTIONS.LIST_BULLETS,\n title: t(\"neetoEditor.menu.bulletList\"),\n description: t(\"neetoEditor.menu.bulletListDescription\"),\n Icon: ListDot,\n command: ({ editor, range }) => {\n editor.chain().focus().deleteRange(range).toggleBulletList().run();\n },\n },\n {\n optionName: EDITOR_OPTIONS.LINK,\n title: t(\"neetoEditor.menu.link\"),\n description: t(\"neetoEditor.menu.linkDescription\"),\n Icon: Link,\n command: noop,\n },\n {\n optionName: EDITOR_OPTIONS.NEETO_KB_ARTICLE,\n title: t(\"neetoEditor.menu.linkToNeetoKbArticle\"),\n description: t(\"neetoEditor.menu.linkToNeetoKbArticleDescription\"),\n Icon: File,\n command: noop,\n },\n {\n optionName: EDITOR_OPTIONS.ATTACHMENTS,\n title: t(\"neetoEditor.menu.file\"),\n description: t(\"neetoEditor.menu.attachmentsDescription\"),\n Icon: Attachment,\n command: noop,\n },\n {\n optionName: EDITOR_OPTIONS.TODO_LIST,\n title: t(\"neetoEditor.menu.todoList\"),\n description: t(\"neetoEditor.menu.todoListDescription\"),\n Icon: Checkbox,\n command: ({ editor, range }) => {\n editor.chain().focus().deleteRange(range).toggleTaskList().run();\n },\n },\n {\n optionName: EDITOR_OPTIONS.IMAGE_UPLOAD,\n title: t(\"neetoEditor.menu.image\"),\n description: t(\"neetoEditor.menu.imageDescription\"),\n Icon: ImageUpload,\n command: noop,\n },\n {\n optionName: EDITOR_OPTIONS.VIDEO_UPLOAD,\n title: t(\"neetoEditor.menu.video\"),\n description: t(\"neetoEditor.menu.videoDescription\"),\n Icon: Video,\n command: noop,\n },\n {\n optionName: EDITOR_OPTIONS.BLOCKQUOTE,\n title: t(\"neetoEditor.menu.blockQuote\"),\n description: t(\"neetoEditor.menu.blockQuoteDescription\"),\n Icon: Blockquote,\n command: ({ editor, range }) => {\n editor.chain().focus().deleteRange(range).toggleBlockquote().run();\n },\n },\n {\n optionName: EDITOR_OPTIONS.CODE_BLOCK,\n title: t(\"neetoEditor.menu.codeBlock\"),\n description: t(\"neetoEditor.menu.codeDescription\"),\n Icon: CodeBlock,\n command: ({ editor, range }) => {\n editor.chain().focus().deleteRange(range).toggleCodeBlock().run();\n },\n },\n {\n optionName: EDITOR_OPTIONS.EMOJI,\n title: t(\"neetoEditor.menu.emoji\"),\n description: t(\"neetoEditor.menu.emojiDescription\"),\n Icon: Smiley,\n command: ({ editor, range }) => {\n editor.chain().focus().deleteRange(range).insertContent(\"::\").run();\n },\n },\n {\n optionName: EDITOR_OPTIONS.DIVIDER,\n title: t(\"neetoEditor.menu.divider\"),\n description: t(\"neetoEditor.menu.dividerDescription\"),\n Icon: Minus,\n command: ({ editor, range }) => {\n editor.chain().focus().deleteRange(range).setHorizontalRule().run();\n },\n },\n {\n optionName: EDITOR_OPTIONS.PASTE_UNFORMATTED,\n title: t(\"neetoEditor.menu.pasteUnformatted\"),\n description: t(\"neetoEditor.menu.pasteUnformattedDescription\"),\n Icon: Notes,\n command: ({ editor, range }) =>\n editor.chain().focus().deleteRange(range).pasteUnformatted().run(),\n },\n {\n optionName: EDITOR_OPTIONS.TABLE,\n title: t(\"neetoEditor.menu.table\"),\n description: t(\"neetoEditor.menu.tableDescription\"),\n Icon: Column,\n command: ({ editor, range }) =>\n editor\n .chain()\n .focus()\n .deleteRange(range)\n .insertTable({ rows: 3, cols: 3, withHeaderRow: true })\n .run(),\n },\n {\n optionName: EDITOR_OPTIONS.CALLOUT,\n title: t(\"neetoEditor.menu.callout\"),\n description: t(\"neetoEditor.menu.calloutDescription\"),\n Icon: MessageSquare,\n command: ({ editor, range }) => {\n editor\n .chain()\n .focus()\n .deleteRange(range)\n .setCallout({ type: \"default\" })\n .run();\n },\n items: [\n {\n optionName: `${EDITOR_OPTIONS.CALLOUT}_default`,\n title: t(\"neetoEditor.menu.calloutDefault\"),\n description: t(\"neetoEditor.menu.calloutDescription\"),\n command: ({ editor, range }) => {\n editor\n .chain()\n .focus()\n .deleteRange(range)\n .setCallout({ type: \"default\" })\n .run();\n },\n },\n {\n optionName: `${EDITOR_OPTIONS.CALLOUT}_info`,\n title: t(\"neetoEditor.menu.calloutInfo\"),\n description: t(\"neetoEditor.menu.calloutDescription\"),\n command: ({ editor, range }) => {\n editor\n .chain()\n .focus()\n .deleteRange(range)\n .setCallout({ type: \"info\" })\n .run();\n },\n },\n {\n optionName: `${EDITOR_OPTIONS.CALLOUT}_warning`,\n title: t(\"neetoEditor.menu.calloutWarning\"),\n description: t(\"neetoEditor.menu.calloutDescription\"),\n command: ({ editor, range }) => {\n editor\n .chain()\n .focus()\n .deleteRange(range)\n .setCallout({ type: \"warning\" })\n .run();\n },\n },\n {\n optionName: `${EDITOR_OPTIONS.CALLOUT}_error`,\n title: t(\"neetoEditor.menu.calloutError\"),\n description: t(\"neetoEditor.menu.calloutDescription\"),\n command: ({ editor, range }) => {\n editor\n .chain()\n .focus()\n .deleteRange(range)\n .setCallout({ type: \"error\" })\n .run();\n },\n },\n {\n optionName: `${EDITOR_OPTIONS.CALLOUT}_success`,\n title: t(\"neetoEditor.menu.calloutSuccess\"),\n description: t(\"neetoEditor.menu.calloutDescription\"),\n command: ({ editor, range }) => {\n editor\n .chain()\n .focus()\n .deleteRange(range)\n .setCallout({ type: \"success\" })\n .run();\n },\n },\n ],\n },\n];\n\nexport const NO_RESULT_MENU_ITEM = {\n title: t(\"neetoEditor.menu.noResults\"),\n command: ({ editor, range }) => {\n editor.chain().focus().deleteRange(range).run();\n },\n};\n","import { assoc } from \"ramda\";\n\nimport { EDITOR_OPTIONS } from \"common/constants\";\n\nimport { MENU_ITEMS } from \"./constants\";\n\nconst imageCommand =\n setMediaUploader =>\n ({ editor, range }) => {\n setMediaUploader(assoc(\"image\", true));\n editor.chain().focus().deleteRange(range).run();\n };\n\nconst videoCommand =\n setMediaUploader =>\n ({ editor, range }) => {\n setMediaUploader(assoc(\"video\", true));\n editor.chain().focus().deleteRange(range).run();\n };\n\nconst linkCommand =\n setIsAddLinkActive =>\n ({ editor, range }) => {\n setIsAddLinkActive(true);\n editor.chain().focus().deleteRange(range).run();\n };\n\nconst attachmentCommand =\n attachmentProps =>\n ({ editor, range }) => {\n attachmentProps?.handleUploadAttachments();\n editor.chain().focus().deleteRange(range).run();\n };\n\nconst neetoKbArticleCommand =\n setIsNeetoKbArticleActive =>\n ({ editor, range }) => {\n // Get cursor position for positioning the modal\n const cursorPos = editor.view.coordsAtPos(range.from);\n setIsNeetoKbArticleActive({\n active: true,\n editor,\n range,\n cursorPos,\n });\n editor.chain().focus().deleteRange(range).run();\n };\n\nexport const buildCommandItems = ({\n options,\n addonCommands,\n setMediaUploader,\n setIsAddLinkActive,\n attachmentProps,\n setIsNeetoKbArticleActive,\n}) => {\n const commandItems = MENU_ITEMS.map(item => {\n if (item.optionName === EDITOR_OPTIONS.IMAGE_UPLOAD) {\n return assoc(\"command\", imageCommand(setMediaUploader), item);\n } else if (item.optionName === EDITOR_OPTIONS.VIDEO_UPLOAD) {\n return assoc(\"command\", videoCommand(setMediaUploader), item);\n } else if (item.optionName === EDITOR_OPTIONS.LINK) {\n return assoc(\"command\", linkCommand(setIsAddLinkActive), item);\n } else if (item.optionName === EDITOR_OPTIONS.ATTACHMENTS) {\n return assoc(\"command\", attachmentCommand(attachmentProps), item);\n } else if (item.optionName === EDITOR_OPTIONS.NEETO_KB_ARTICLE) {\n return assoc(\n \"command\",\n neetoKbArticleCommand(setIsNeetoKbArticleActive),\n item\n );\n }\n\n return item;\n });\n\n const permittedCommandItems = commandItems.filter(({ optionName }) =>\n options.includes(optionName)\n );\n\n const adddonCommandItems = addonCommands.map(command => ({\n ...command,\n title: command.label,\n Icon: command.icon,\n }));\n\n return [...permittedCommandItems, ...adddonCommandItems];\n};\n","import { Extension } from \"@tiptap/core\";\nimport { PluginKey } from \"@tiptap/pm/state\";\nimport { ReactRenderer } from \"@tiptap/react\";\nimport Suggestion from \"@tiptap/suggestion\";\nimport { isEmpty } from \"ramda\";\nimport tippy from \"tippy.js\";\n\nimport {\n highlightFocussedNode,\n resetFocussedNode,\n} from \"utils/focusHighlighter\";\nimport { fuzzySearch } from \"utils/fuzzySearch\";\n\nimport CommandsList from \"./CommandsList\";\nimport { NO_RESULT_MENU_ITEM } from \"./constants\";\nimport { buildCommandItems } from \"./utils\";\n\nconst CommandsPluginKey = new PluginKey(\"commands\");\n\nexport default {\n configure: ({\n addonCommands,\n options,\n setMediaUploader,\n setIsAddLinkActive,\n attachmentProps,\n setIsNeetoKbArticleActive,\n }) => {\n const commandItems = buildCommandItems({\n options,\n addonCommands,\n setMediaUploader,\n setIsAddLinkActive,\n attachmentProps,\n setIsNeetoKbArticleActive,\n });\n\n return Extension.create({\n name: \"slash-commands\",\n\n addOptions() {\n return {\n HTMLAttributes: { class: \"commands\" },\n suggestion: {\n char: \"/\",\n startOfLine: false,\n pluginKey: CommandsPluginKey,\n command: ({ editor, range, props }) => {\n props.command({ editor, range });\n },\n\n items: ({ query }) => {\n if (!query) return commandItems;\n const filteredItems = fuzzySearch(commandItems, query);\n\n return isEmpty(filteredItems)\n ? [NO_RESULT_MENU_ITEM]\n : filteredItems;\n },\n\n render: () => {\n let reactRenderer;\n let popup;\n\n return {\n onStart: props => {\n if (\n props.editor.isActive(\"image\") ||\n props.editor.isActive(\"codeBlock\")\n ) {\n return;\n }\n\n reactRenderer = new ReactRenderer(CommandsList, {\n props,\n editor: props.editor,\n });\n\n popup = tippy(\"body\", {\n getReferenceClientRect: props.clientRect,\n appendTo: () => document.body,\n content: reactRenderer.element,\n showOnCreate: true,\n interactive: true,\n trigger: \"manual\",\n placement: \"bottom-start\",\n arrow: false,\n zIndex: 99999,\n role: \"dropdown\",\n theme: \"light neeto-editor-slash-commands-tippy\",\n });\n\n highlightFocussedNode();\n },\n onUpdate(props) {\n if (\n props.editor.isActive(\"image\") ||\n props.editor.isActive(\"codeBlock\")\n ) {\n return;\n }\n reactRenderer?.updateProps(props);\n\n popup[0].setProps({\n getReferenceClientRect: props.clientRect,\n });\n },\n onKeyDown(props) {\n if (props.event.key === \"Escape\") {\n popup[0].hide();\n\n return true;\n }\n\n return reactRenderer && reactRenderer?.ref?.onKeyDown(props);\n },\n onExit() {\n popup && popup[0].destroy();\n reactRenderer && reactRenderer.destroy();\n resetFocussedNode();\n },\n };\n },\n },\n };\n },\n\n addProseMirrorPlugins() {\n return [\n Suggestion({\n editor: this.editor,\n ...this.options.suggestion,\n }),\n ];\n },\n });\n },\n};\n","import { mergeAttributes } from \"@tiptap/core\";\nimport Mention from \"@tiptap/extension-mention\";\nimport { PluginKey } from \"@tiptap/pm/state\";\nimport { ReactRenderer } from \"@tiptap/react\";\nimport tippy from \"tippy.js\";\n\nimport { MentionList } from \"../Mention/MentionList\";\nimport { createMentionSuggestions } from \"../Mention/utils\";\n\nconst SpecialMentionPluginKey = new PluginKey(\"special-mention\");\n\nconst renderLabel = ({ options, node }) =>\n `${options.suggestion.char}${node.attrs.label ?? node.attrs.id}`;\n\nconst suggestion = {\n char: \"@@\",\n pluginKey: SpecialMentionPluginKey,\n\n render: () => {\n let reactRenderer;\n let popup;\n\n return {\n onStart: props => {\n reactRenderer = new ReactRenderer(MentionList, {\n props,\n editor: props.editor,\n });\n\n popup = tippy(\"body\", {\n theme: \"light neeto-editor-mentions-tooltip\",\n getReferenceClientRect: props.clientRect,\n appendTo: () => document.body,\n content: reactRenderer.element,\n showOnCreate: true,\n interactive: true,\n trigger: \"manual\",\n placement: \"bottom-start\",\n zIndex: 99999,\n arrow: false,\n });\n },\n\n onUpdate(props) {\n reactRenderer.updateProps(props);\n\n popup[0].setProps({\n getReferenceClientRect: props.clientRect,\n });\n },\n\n onKeyDown(props) {\n if (props.event.key === \"Escape\") {\n popup[0].hide();\n\n return true;\n }\n\n return reactRenderer.ref?.onKeyDown(props);\n },\n\n onExit() {\n popup[0].destroy();\n reactRenderer.destroy();\n },\n };\n },\n};\n\nconst SpecialMentions = Mention.extend({\n name: \"special-mention\",\n\n renderHTML({ node, HTMLAttributes }) {\n return [\n \"span\",\n mergeAttributes(\n { \"data-type\": this.name },\n this.options.HTMLAttributes,\n HTMLAttributes\n ),\n renderLabel({ options: this.options, node }),\n ];\n },\n});\n\nexport default {\n configure: ({ suggestion: suggestionConfig = {}, ...otherConfig }) =>\n SpecialMentions.configure({\n ...otherConfig,\n suggestion: { ...suggestion, ...suggestionConfig },\n }),\n};\n\nexport { createMentionSuggestions };\n","import { noop } from \"neetocist\";\n\nfunction updateColumns(node, colgroup, table, cellMinWidth) {\n let totalWidth = 0;\n let fixedWidth = true;\n let nextDOM = colgroup.firstChild;\n const row = node.firstChild;\n\n for (let i = 0, col = 0; i < row.childCount; i += 1) {\n const { colspan, colwidth } = row.child(i).attrs;\n\n for (let j = 0; j < colspan; j += 1, col += 1) {\n const hasWidth = colwidth && colwidth[j];\n const cssWidth = hasWidth ? `${hasWidth}px` : \"\";\n\n totalWidth += hasWidth || cellMinWidth;\n\n if (!hasWidth) {\n fixedWidth = false;\n }\n\n if (!nextDOM) {\n colgroup.appendChild(document.createElement(\"col\")).style.width =\n cssWidth;\n } else {\n if (nextDOM.style.width !== cssWidth) {\n nextDOM.style.width = cssWidth;\n }\n\n nextDOM = nextDOM.nextSibling;\n }\n }\n }\n\n while (nextDOM) {\n const after = nextDOM.nextSibling;\n\n nextDOM.parentNode.removeChild(nextDOM);\n nextDOM = after;\n }\n\n if (fixedWidth) {\n table.style.width = `${totalWidth}px`;\n table.style.minWidth = \"\";\n } else {\n table.style.width = \"\";\n table.style.minWidth = `${totalWidth}px`;\n }\n}\n\nexport class TableView {\n constructor(node, cellMinWidth) {\n this.node = node;\n this.cellMinWidth = cellMinWidth;\n this.dom = document.createElement(\"div\");\n\n const alignmentSuffix = node.attrs?.textAlign || \"left\";\n const alignmentClass = `neeto-editor-table--${alignmentSuffix}`;\n this.dom.className = `neeto-editor-table ${alignmentClass}`;\n this.wrapper = document.createElement(\"div\");\n this.wrapper.className = \"neeto-editor-table__wrapper\";\n this.table = this.dom\n .appendChild(this.wrapper)\n .appendChild(document.createElement(\"table\"));\n this.colgroup = this.table.appendChild(document.createElement(\"colgroup\"));\n this.wrapper.appendChild(\n this.buildController({\n className: \"neeto-editor-table__add-column\",\n handleClick: this.insertColumn,\n })\n );\n\n this.dom.appendChild(\n this.buildController({\n className: \"neeto-editor-table__add-row\",\n handleClick: () => this.table.insertRow(),\n })\n );\n updateColumns(node, this.colgroup, this.table, cellMinWidth);\n this.contentDOM = this.table.appendChild(document.createElement(\"tbody\"));\n }\n\n update(node) {\n if (node.type !== this.node.type) {\n return false;\n }\n\n this.node = node;\n updateColumns(node, this.colgroup, this.table, this.cellMinWidth);\n\n const alignmentSuffix = node.attrs?.textAlign || \"left\";\n const currentAlignmentClass = `neeto-editor-table--${alignmentSuffix}`;\n\n this.dom.classList.remove(\n \"neeto-editor-table--left\",\n \"neeto-editor-table--center\",\n \"neeto-editor-table--right\"\n );\n\n this.dom.classList.add(currentAlignmentClass);\n\n return true;\n }\n\n ignoreMutation(mutation) {\n return (\n mutation.type === \"attributes\" &&\n (mutation.target === this.table ||\n this.colgroup.contains(mutation.target))\n );\n }\n\n buildController = ({ className = \"\", handleClick = noop }) => {\n const controller = document.createElement(\"div\");\n const icon = document.createElement(\"p\");\n controller.className = className;\n controller.onclick = handleClick;\n icon.textContent = \"+\";\n controller.appendChild(icon);\n\n return controller;\n };\n\n insertColumn = () => {\n this.table.querySelectorAll(\"tr\").forEach(tr => {\n if (tr.firstChild?.nodeName === \"TH\") {\n const th = document.createElement(\"th\");\n th.appendChild(document.createElement(\"p\"));\n tr.appendChild(th);\n } else {\n const td = document.createElement(\"td\");\n td.appendChild(document.createElement(\"p\"));\n tr.appendChild(td);\n }\n });\n };\n}\n","import { Table as TiptapTable } from \"@tiptap/extension-table\";\n\nimport { TableView } from \"./TableView\";\n\nconst Table = TiptapTable.extend({\n addOptions() {\n return {\n HTMLAttributes: {},\n resizable: true,\n handleWidth: 5,\n cellMinWidth: 100,\n View: TableView,\n lastColumnResizable: true,\n allowTableNodeSelection: true,\n };\n },\n\n parseHTML() {\n const getAlignmentFromElement = element => {\n if (!element) return null;\n\n const dataAlign = element.getAttribute(\"data-text-align\");\n if (dataAlign) return dataAlign;\n\n if (element.classList.contains(\"neeto-editor-table--center\")) {\n return \"center\";\n }\n\n if (element.classList.contains(\"neeto-editor-table--right\")) {\n return \"right\";\n }\n\n if (element.classList.contains(\"neeto-editor-table--left\")) {\n return \"left\";\n }\n\n return null;\n };\n\n return [\n {\n tag: \"table\",\n priority: 100,\n getAttrs: node => {\n const alignment = getAlignmentFromElement(node);\n if (alignment) {\n return { textAlign: alignment };\n }\n\n const parent = node.parentElement;\n if (parent && parent.classList.contains(\"table-responsive\")) {\n const parentAlignment = getAlignmentFromElement(parent);\n if (parentAlignment) {\n return { textAlign: parentAlignment };\n }\n }\n\n return { textAlign: \"left\" };\n },\n },\n ];\n },\n\n addAttributes() {\n return {\n ...this.parent?.(),\n textAlign: {\n default: \"left\",\n renderHTML: attributes => {\n if (!attributes.textAlign) return {};\n\n return {\n class: `neeto-editor-table--${attributes.textAlign}`,\n \"data-text-align\": attributes.textAlign,\n };\n },\n },\n };\n },\n\n renderHTML({ node }) {\n let totalWidth = 0;\n let fixedWidth = true;\n\n const colgroups = [];\n const cellMinWidth = this.options?.cellMinWidth ?? 100;\n const firstRow = node.content?.firstChild;\n\n if (firstRow && firstRow.childCount) {\n for (let i = 0; i < firstRow.childCount; i++) {\n const cell = firstRow.child(i);\n const { colspan, colwidth } = cell.attrs;\n const span = colspan || 1;\n\n for (let j = 0; j < span; j++) {\n const hasWidth = colwidth && colwidth[j];\n totalWidth += Number(hasWidth) || cellMinWidth;\n if (!hasWidth) fixedWidth = false;\n\n const style = hasWidth\n ? `min-width: ${cellMinWidth}px; width: ${Number(hasWidth)}px;`\n : `min-width: ${cellMinWidth}px;`;\n\n colgroups.push([\"col\", { style }]);\n }\n }\n }\n\n let tableStyle = \"\";\n if (totalWidth > 0) {\n tableStyle = fixedWidth\n ? `width: ${totalWidth}px;`\n : `min-width: ${totalWidth}px;`;\n }\n\n const alignmentClass = node.attrs?.textAlign\n ? `neeto-editor-table--${node.attrs.textAlign}`\n : \"neeto-editor-table--left\";\n\n return [\n \"div\",\n {\n class: `table-responsive ${alignmentClass}`,\n \"data-text-align\": node.attrs?.textAlign || \"left\",\n },\n [\n \"table\",\n tableStyle ? { style: tableStyle } : {},\n [\"colgroup\", ...colgroups],\n [\"tbody\", 0],\n ],\n ];\n },\n\n addKeyboardShortcuts() {\n return {\n ...this.parent?.(),\n \"Mod-alt-t\": () =>\n this.editor\n .chain()\n .focus()\n .insertTable({ rows: 3, cols: 3, withHeaderRow: true })\n .updateAttributes(\"table\", { textAlign: \"left\" })\n .run(),\n };\n },\n});\n\nexport default Table.configure({});\n","import { TaskItem, TaskList } from \"@tiptap/extension-list\";\n\nexport const TodoListExtension = TaskList.extend({\n name: \"todoList\",\n addKeyboardShortcuts() {\n return {\n \"Mod-Shift-9\": () => this.editor.commands.toggleTaskList(),\n };\n },\n});\n\nexport const TodoItemExtension = TaskItem.extend({\n addKeyboardShortcuts() {\n return {\n Enter: () => this.editor.commands.splitListItem(this.name),\n Tab: () => this.editor.commands.sinkListItem(this.name),\n \"Shift-Tab\": () => this.editor.commands.liftListItem(this.name),\n };\n },\n}).configure({ nested: true });\n\nexport default TodoListExtension;\n","export const MAX_VARIABLE_NAME_DISPLAY_LENGTH = 25;\n","import { NodeViewWrapper } from \"@tiptap/react\";\nimport { Tooltip } from \"neetoui\";\n\nimport { MAX_VARIABLE_NAME_DISPLAY_LENGTH } from \"./constants\";\n\nconst VariableComponent = ({ node, extension }) => {\n const { id, label } = node.attrs;\n\n const variableName = label || id;\n const shouldTruncate = variableName.length > MAX_VARIABLE_NAME_DISPLAY_LENGTH;\n\n return (\n <NodeViewWrapper\n as=\"span\"\n className=\"neeto-editor-variable\"\n data-label={id}\n data-variable=\"\"\n >\n {extension.options.charOpen}\n <Tooltip content={variableName} disabled={!shouldTruncate} position=\"top\">\n {variableName?.substr(0, MAX_VARIABLE_NAME_DISPLAY_LENGTH)?.trim()}\n {shouldTruncate && \"...\"}\n </Tooltip>\n {extension.options.charClose}\n </NodeViewWrapper>\n );\n};\n\nexport default VariableComponent;\n","import { Node, mergeAttributes } from \"@tiptap/core\";\nimport { PluginKey } from \"@tiptap/pm/state\";\nimport { ReactNodeViewRenderer } from \"@tiptap/react\";\n\nimport VariableComponent from \"./VariableComponent\";\n\nconst VariablePluginKey = new PluginKey(\"variables\");\nconst Variable = Node.create({\n name: \"variable\",\n addOptions() {\n return {\n HTMLAttributes: { class: \"neeto-editor-variable\" },\n charOpen: \"{{\",\n charClose: \"}}\",\n renderLabel({ options, node }) {\n return `${options.charOpen}${node.attrs.id || node.attrs.label}${\n options.charClose\n }`;\n },\n suggestion: {},\n };\n },\n group: \"inline\",\n inline: true,\n selectable: false,\n atom: true,\n addAttributes() {\n return {\n id: {\n default: null,\n parseHTML: element => element.getAttribute(\"data-id\"),\n renderHTML: attributes => {\n if (!attributes.id) return {};\n\n return { \"data-id\": attributes.id };\n },\n },\n label: {\n default: null,\n parseHTML: element => element.getAttribute(\"data-label\"),\n renderHTML: attributes => {\n if (!attributes.label) return {};\n\n return { \"data-label\": attributes.label };\n },\n },\n };\n },\n\n parseHTML() {\n return [{ tag: \"span[data-variable]\" }];\n },\n\n renderHTML({ node, HTMLAttributes }) {\n return [\n \"span\",\n mergeAttributes(\n { \"data-variable\": \"\" },\n this.options.HTMLAttributes,\n HTMLAttributes\n ),\n this.options.renderLabel({ options: this.options, node }),\n ];\n },\n\n renderText({ node }) {\n return this.options.renderLabel({ options: this.options, node });\n },\n\n addNodeView() {\n return ReactNodeViewRenderer(VariableComponent);\n },\n\n addCommands() {\n return {\n setVariable:\n attributes =>\n ({ chain }) => {\n chain()\n .focus()\n .insertContent([\n { type: this.name, attrs: attributes },\n { type: \"text\", text: \" \" },\n ])\n .run();\n },\n };\n },\n});\n\nexport default Variable;\n\nexport { VariablePluginKey };\n","import { useRef, useState } from \"react\";\n\nimport { NodeViewContent, NodeViewWrapper } from \"@tiptap/react\";\nimport classNames from \"classnames\";\nimport { isNotPresent } from \"neetocist\";\nimport { isEmpty, mergeRight } from \"ramda\";\nimport { Resizable } from \"re-resizable\";\n\nimport Menu from \"../Image/Menu\";\n\nconst VideoComponent = ({\n node,\n editor,\n getPos,\n updateAttributes,\n deleteNode,\n}) => {\n const { src, vidheight, vidwidth, align, border } = node.attrs;\n\n const [captionWidth, setCaptionWidth] = useState(vidwidth || 0);\n\n const figureRef = useRef(null);\n\n const { view } = editor;\n let height = vidheight;\n let width = vidwidth;\n const caption = node?.content?.content[0]?.text || \"\";\n\n const editorElement = figureRef.current?.closest(\".neeto-editor\");\n const maxVideoWidth = editorElement?.offsetWidth - 50;\n\n const handleResize = (_event, _direction, ref) => {\n height = ref.offsetHeight;\n width = ref.offsetWidth;\n\n if (width > maxVideoWidth) {\n width = maxVideoWidth;\n const aspectRatio = ref.offsetHeight / ref.offsetWidth;\n height = width * aspectRatio;\n }\n setCaptionWidth(width);\n view.dispatch(\n view.state.tr.setNodeMarkup(\n getPos(),\n undefined,\n mergeRight(node.attrs, {\n vidheight: height,\n vidwidth: width,\n height,\n width,\n })\n )\n );\n editor.commands.focus();\n };\n\n if (isNotPresent(src)) return null;\n\n return (\n <NodeViewWrapper\n className={classNames(\n \"neeto-editor__image-wrapper\",\n `neeto-editor__image--${align}`,\n { \"neeto-editor__image--bordered\": border }\n )}\n >\n <figure ref={figureRef}>\n <Menu {...{ align, border, deleteNode, editor, updateAttributes }} />\n <Resizable\n lockAspectRatio\n className=\"neeto-editor__image\"\n size={{ height, width }}\n onResizeStop={handleResize}\n onResize={(_event, _direction, ref) =>\n setCaptionWidth(ref.offsetWidth)\n }\n >\n <video\n controls\n {...{ ...node.attrs, src }}\n alt={caption}\n data-border={border}\n preload=\"metadata\"\n />\n </Resizable>\n <NodeViewContent\n as=\"figcaption\"\n className={classNames({ \"is-empty\": isEmpty(caption) })}\n style={{ width: `${captionWidth}px` }}\n />\n </figure>\n </NodeViewWrapper>\n );\n};\n\nexport default VideoComponent;\n","import { NodeViewWrapper } from \"@tiptap/react\";\nimport classnames from \"classnames\";\nimport { mergeRight } from \"ramda\";\nimport { Resizable } from \"re-resizable\";\n\nimport Menu from \"../Image/Menu\";\n\nconst EmbedComponent = ({\n node,\n editor,\n getPos,\n updateAttributes,\n deleteNode,\n}) => {\n const { figheight, figwidth, align, border, aspectRatio } = node.attrs;\n const { view } = editor;\n let height = figheight;\n let width = figwidth;\n\n const handleResize = (_event, _direction, ref) => {\n height = ref.offsetHeight;\n width = ref.offsetWidth;\n view.dispatch(\n view.state.tr.setNodeMarkup(\n getPos(),\n undefined,\n mergeRight(node.attrs, {\n figheight: height,\n figwidth: width,\n height,\n width,\n })\n )\n );\n editor.commands.focus();\n };\n\n return (\n <NodeViewWrapper\n data-testid=\"neeto-editor-video-wrapper\"\n className={classnames(\n \"neeto-editor__video-wrapper\",\n `neeto-editor__video--${align}`,\n { \"neeto-editor__video--bordered\": border }\n )}\n >\n <Resizable\n lockAspectRatio\n size={{ height, width }}\n className={classnames(\"neeto-editor__video-iframe\", {\n \"neeto-editor-aspect-1-1\": aspectRatio === \"1/1\",\n \"neeto-editor-aspect-16-9\": aspectRatio === \"16/9\",\n \"neeto-editor-aspect-9-16\": aspectRatio === \"9/16\",\n \"neeto-editor-aspect-4-3\": aspectRatio === \"4/3\",\n \"neeto-editor-aspect-3-2\": aspectRatio === \"3/2\",\n })}\n onResizeStop={handleResize}\n >\n <Menu\n {...{ align, border, deleteNode, editor, updateAttributes }}\n showAspectRatio\n />\n <iframe {...node.attrs} allowFullScreen data-border={border} />\n </Resizable>\n </NodeViewWrapper>\n );\n};\n\nexport default EmbedComponent;\n","import { mergeAttributes, Node, PasteRule } from \"@tiptap/core\";\nimport { TextSelection } from \"@tiptap/pm/state\";\nimport { ReactNodeViewRenderer } from \"@tiptap/react\";\nimport classnames from \"classnames\";\n\nimport { COMBINED_REGEX } from \"common/constants\";\n\nimport VideoComponent from \"./VideoComponent\";\n\nimport { DEFAULT_ASPECT_RATIO } from \"../../MediaUploader/constants\";\nimport EmbedComponent from \"../Embeds/EmbedComponent\";\nimport { validateUrl } from \"../Embeds/utils\";\n\nconst getSharedAttributes = () => ({\n src: {\n default: null,\n parseHTML: element => {\n if (element.tagName === \"IFRAME\") return element.getAttribute(\"src\");\n\n const iframe = element.querySelector(\"iframe\");\n const video = element.querySelector(\"video\");\n\n return iframe?.getAttribute(\"src\") || video?.getAttribute(\"src\");\n },\n },\n align: {\n default: \"left\",\n parseHTML: element =>\n element.getAttribute(\"align\") ||\n element.querySelector(\"video\")?.getAttribute(\"align\"),\n },\n videoType: {\n default: \"upload\",\n parseHTML: element => {\n const iframe =\n element.tagName === \"IFRAME\"\n ? element\n : element.querySelector(\"iframe\");\n\n return iframe ? \"embed\" : \"upload\";\n },\n },\n border: {\n default: true,\n parseHTML: element =>\n element.querySelector(\"video\")?.getAttribute(\"data-border\") === \"true\" ||\n element.querySelector(\"iframe\")?.getAttribute(\"data-border\") === \"true\",\n },\n});\n\nconst getUploadAttributes = () => ({\n alt: {\n default: \"\",\n parseHTML: element => element.querySelector(\"video\")?.getAttribute(\"alt\"),\n },\n vidheight: {\n default: \"fit-content\",\n parseHTML: element =>\n element.querySelector(\"video\")?.getAttribute(\"vidheight\"),\n },\n vidwidth: {\n default: 502,\n parseHTML: element =>\n element.querySelector(\"video\")?.getAttribute(\"vidwidth\"),\n },\n});\n\nconst getEmbedAttributes = () => ({\n figheight: {\n default: 281,\n parseHTML: element => element.getAttribute(\"figheight\"),\n },\n figwidth: {\n default: 500,\n parseHTML: element => element.getAttribute(\"figwidth\"),\n },\n aspectRatio: {\n default: DEFAULT_ASPECT_RATIO,\n parseHTML: element => {\n const iframe = element.querySelector(\".neeto-editor__video-iframe\");\n\n return iframe?.getAttribute(\"data-aspect-ratio\") || DEFAULT_ASPECT_RATIO;\n },\n },\n title: { default: null },\n originalUrl: {\n default: \"\",\n parseHTML: element => {\n const iframe = element.querySelector(\".neeto-editor__video-iframe\");\n\n return (\n iframe?.getAttribute(\"data-original-url\") ||\n iframe?.querySelector(\"iframe\")?.getAttribute(\"data-original-url\") ||\n \"\"\n );\n },\n },\n frameBorder: \"0\",\n allow:\n \"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; fullscreen\",\n allowfullscreen: true,\n});\n\nconst renderEmbedHTML = (node, HTMLAttributes, options) => {\n const { align, figheight, figwidth, border, aspectRatio, originalUrl } =\n node.attrs;\n\n return [\n \"div\",\n {\n class: classnames(\n \"neeto-editor__video-wrapper\",\n `neeto-editor__video--${align}`,\n { \"neeto-editor__video--bordered\": border }\n ),\n },\n [\n \"div\",\n {\n class: classnames(\"neeto-editor__video-iframe\", {\n \"neeto-editor-aspect-1-1\": aspectRatio === \"1/1\",\n \"neeto-editor-aspect-16-9\": aspectRatio === \"16/9\",\n \"neeto-editor-aspect-9-16\": aspectRatio === \"9/16\",\n \"neeto-editor-aspect-4-3\": aspectRatio === \"4/3\",\n \"neeto-editor-aspect-3-2\": aspectRatio === \"3/2\",\n }),\n style: `width: ${figwidth}px; height: ${figheight}px;`,\n \"data-aspect-ratio\": aspectRatio,\n },\n [\n \"iframe\",\n mergeAttributes(options.HTMLAttributes, {\n ...HTMLAttributes,\n allowfullscreen: true,\n \"data-border\": border,\n \"data-original-url\": originalUrl,\n }),\n ],\n ],\n ];\n};\n\nconst renderUploadHTML = (node, HTMLAttributes, options) => {\n const { align, vidheight, vidwidth, border } = node.attrs;\n\n const wrapperDivAttrs = {\n class: classnames(\n \"neeto-editor__image-wrapper\",\n `neeto-editor__image--${align}`,\n { \"neeto-editor__image--bordered\": border }\n ),\n };\n\n const heightStyle =\n vidheight === \"fit-content\" ? \"fit-content\" : `${vidheight}px`;\n\n const wrapperLinkAttrs = {\n rel: \"noopener noreferrer\",\n class: \"neeto-editor__image\",\n style: `height:${heightStyle};width:${vidwidth}px;display:inline-block;`,\n };\n\n const captionAttrs = { style: `width:${vidwidth}px;` };\n\n return [\n \"div\",\n wrapperDivAttrs,\n [\n \"figure\",\n mergeAttributes(options.HTMLAttributes, { \"data-video\": \"\" }),\n [\n \"a\",\n wrapperLinkAttrs,\n [\n \"video\",\n mergeAttributes(HTMLAttributes, {\n preload: \"metadata\",\n controls: true,\n draggable: false,\n contenteditable: false,\n \"data-border\": border,\n }),\n ],\n ],\n [\"figcaption\", captionAttrs, 0],\n ],\n ];\n};\n\nconst handleVideoPaste = ({ state, range, match }) => {\n state.tr.delete(range.from, range.to);\n state.tr.setSelection(TextSelection.create(state.doc, range.from + 1));\n\n const validatedUrl = validateUrl(match[0]);\n if (validatedUrl) {\n const node = state.schema.nodes[\"unified-video\"].create({\n src: validatedUrl,\n videoType: \"embed\",\n originalUrl: match[0],\n });\n\n state.tr.insert(range.from, node);\n state.tr.insert(\n range.from + node.nodeSize + 1,\n state.schema.nodes.paragraph.create()\n );\n\n state.tr.setSelection(\n TextSelection.create(state.tr.doc, range.from + node.nodeSize + 1)\n );\n }\n};\n\nconst UnifiedVideoExtension = Node.create({\n name: \"unified-video\",\n\n addOptions() {\n return { HTMLAttributes: {} };\n },\n\n group: \"block\",\n content: \"inline*\",\n draggable: true,\n isolating: true,\n\n addAttributes() {\n return {\n ...getSharedAttributes(),\n ...getUploadAttributes(),\n ...getEmbedAttributes(),\n };\n },\n\n parseHTML() {\n return [\n {\n tag: \"div.neeto-editor__image-wrapper\",\n getAttrs: node => {\n const figure = node.querySelector(\"figure[data-video]\");\n\n if (!figure) return false;\n\n const videoSrc = figure.querySelector(\"video\")?.getAttribute(\"src\");\n const iframeSrc = figure.querySelector(\"iframe\")?.getAttribute(\"src\");\n\n if (!videoSrc && !iframeSrc) return false;\n\n return node.style.fontWeight !== \"normal\" && null;\n },\n contentElement: \"figcaption\",\n },\n {\n tag: \"iframe[src]\",\n // iframes inside our own embed markup are consumed by the\n // div.neeto-editor__video-wrapper rule below.\n getAttrs: element =>\n element.closest(\"div.neeto-editor__video-wrapper\") ? false : null,\n },\n {\n tag: \"div.neeto-editor__video-wrapper\",\n getAttrs: element =>\n element.querySelector(\"iframe[src]\") ? null : false,\n },\n ];\n },\n\n renderHTML({ node, HTMLAttributes }) {\n const { videoType } = node.attrs;\n\n return videoType === \"embed\"\n ? renderEmbedHTML(node, HTMLAttributes, this.options)\n : renderUploadHTML(node, HTMLAttributes, this.options);\n },\n\n addNodeView() {\n return ReactNodeViewRenderer(({ node, ...props }) => {\n const { videoType } = node.attrs;\n\n return videoType === \"embed\" ? (\n <EmbedComponent {...{ ...props, node }} />\n ) : (\n <VideoComponent {...{ ...props, node }} />\n );\n });\n },\n\n addCommands() {\n return {\n setVideo:\n ({ caption, ...attrs }) =>\n ({ chain }) =>\n chain()\n .insertContent({\n type: this.name,\n attrs: { ...attrs, videoType: \"upload\" },\n content: caption ? [{ type: \"text\", text: caption }] : [],\n })\n .command(({ tr, commands }) => {\n const { doc, selection } = tr;\n const position = doc.resolve(selection.to).end();\n\n return commands.setTextSelection(position);\n })\n .run(),\n\n setExternalVideo:\n options =>\n ({ commands }) =>\n commands.insertContent({\n type: this.name,\n attrs: { ...options, videoType: \"embed\" },\n }),\n };\n },\n\n addPasteRules() {\n return [\n new PasteRule({\n find: COMBINED_REGEX,\n handler: handleVideoPaste,\n }),\n ];\n },\n});\n\nexport default UnifiedVideoExtension;\n","import Code from \"@tiptap/extension-code\";\nimport Collaboration from \"@tiptap/extension-collaboration\";\nimport CollaborationCaret from \"@tiptap/extension-collaboration-caret\";\nimport Document from \"@tiptap/extension-document\";\nimport Highlight from \"@tiptap/extension-highlight\";\nimport { ListItem } from \"@tiptap/extension-list\";\nimport { TableCell, TableHeader, TableRow } from \"@tiptap/extension-table\";\nimport { Color, TextStyle } from \"@tiptap/extension-text-style\";\nimport Underline from \"@tiptap/extension-underline\";\nimport { CharacterCount, Focus } from \"@tiptap/extensions\";\nimport StarterKit from \"@tiptap/starter-kit\";\nimport { isEmpty } from \"ramda\";\n\nimport { EDITOR_OPTIONS } from \"common/constants\";\nimport safeSplitBlock from \"common/safeSplitBlock\";\nimport { buildLevelsFromOptions } from \"components/Editor/utils\";\n\nimport HighlightInternal from \"../BackgroundColor/ExtensionConfig\";\nimport BulletList from \"../BulletList/ExtensionConfig\";\nimport Callout from \"../Callout/ExtensionConfig\";\nimport CodeBlock from \"../CodeBlock/ExtensionConfig\";\nimport CustomCommands from \"../CustomCommands/ExtensionConfig\";\nimport DeletedArticleDecoration from \"../DeletedArticleDecoration/ExtensionConfig\";\nimport EmojiPicker from \"../Emoji/EmojiPicker/ExtensionConfig\";\nimport EmojiSuggestion from \"../Emoji/EmojiSuggestion/ExtensionConfig\";\nimport ImageExtension from \"../Image/ExtensionConfig\";\nimport FigCaption from \"../Image/FigCaption\";\nimport Italic from \"../Italic/ExtensionConfig\";\nimport KeyboardShortcuts from \"../KeyboardShortcuts/ExtensionConfig\";\nimport Link from \"../Link/ExtensionConfig\";\nimport Mention, { createMentionSuggestions } from \"../Mention/ExtensionConfig\";\nimport OrderedList from \"../OrderedList/ExtensionConfig\";\nimport Placeholder from \"../Placeholder/ExtensionConfig\";\nimport SelectionDecoration from \"../SelectionDecoration/ExtensionConfig\";\nimport SlashCommands from \"../SlashCommands/ExtensionConfig\";\nimport SpecialMentions from \"../SpecialMentions/ExtensionConfig\";\nimport Table from \"../Table/ExtensionConfig\";\nimport {\n TodoListExtension,\n TodoItemExtension,\n} from \"../TodoList/ExtensionConfig\";\nimport Variable from \"../Variable/ExtensionConfig\";\nimport UnifiedVideoExtension from \"../Video/ExtensionConfig\";\n\nconst useCustomExtensions = ({\n placeholder,\n extensions,\n mentions,\n variables,\n isSlashCommandsActive,\n options,\n addonCommands,\n onSubmit,\n keyboardShortcuts,\n setMediaUploader,\n setIsAddLinkActive,\n attachmentProps,\n openImageInNewTab,\n openLinkInNewTab,\n enableReactNodeViewOptimization,\n collaborationProvider,\n setIsNeetoKbArticleActive,\n}) => {\n let customExtensions = [\n CharacterCount,\n Code,\n CodeBlock.configure({ enableReactNodeViewOptimization }),\n CustomCommands,\n Document,\n FigCaption,\n HighlightInternal,\n SelectionDecoration,\n Focus.configure({ mode: \"shallowest\" }),\n Highlight,\n ImageExtension.configure({\n openImageInNewTab,\n enableReactNodeViewOptimization,\n }),\n Link.configure({\n HTMLAttributes: { target: openLinkInNewTab ? \"_blank\" : null },\n }),\n Placeholder.configure({ placeholder, isSlashCommandsActive }),\n StarterKit.configure({\n document: false,\n codeBlock: false,\n code: false,\n bulletList: false,\n listItem: false, // Disable ListItem from StarterKit since we add it conditionally below\n blockquote: options.includes(EDITOR_OPTIONS.BLOCKQUOTE),\n orderedList: false,\n italic: false,\n link: false, // v3 StarterKit bundles Link; we register a custom Link extension\n underline: false, // v3 StarterKit bundles Underline; we register it explicitly below\n listKeymap: {\n // TodoList renames Tiptap's taskList wrapper to todoList\n listTypes: [\n { itemName: \"listItem\", wrapperNames: [\"bulletList\", \"orderedList\"] },\n { itemName: \"taskItem\", wrapperNames: [\"todoList\"] },\n ],\n },\n trailingNode: false, // new in v3 StarterKit; disabled to keep v2 behavior\n undoRedo: !collaborationProvider,\n heading: { levels: buildLevelsFromOptions(options) },\n }),\n safeSplitBlock,\n TextStyle,\n Underline,\n Italic,\n KeyboardShortcuts.configure({\n onSubmit,\n shortcuts: keyboardShortcuts,\n isBlockQuoteActive: options.includes(EDITOR_OPTIONS.BLOCKQUOTE),\n }),\n EmojiSuggestion,\n EmojiPicker,\n ];\n\n if (options.includes(EDITOR_OPTIONS.VIDEO_UPLOAD)) {\n customExtensions.push(UnifiedVideoExtension);\n }\n\n if (options.includes(EDITOR_OPTIONS.NEETO_KB_ARTICLE)) {\n customExtensions.push(\n DeletedArticleDecoration.configure({\n deletedArticleIds: new Set(),\n })\n );\n }\n\n if (options.includes(EDITOR_OPTIONS.TABLE)) {\n customExtensions.push(\n Table.configure({ resizable: true }),\n TableRow,\n TableHeader,\n TableCell\n );\n }\n\n if (\n options.includes(EDITOR_OPTIONS.TEXT_COLOR) ||\n options.includes(EDITOR_OPTIONS.HIGHLIGHT)\n ) {\n customExtensions.push(Color);\n }\n\n if (options.includes(EDITOR_OPTIONS.LIST_BULLETS)) {\n customExtensions.push(BulletList);\n }\n\n if (options.includes(EDITOR_OPTIONS.LIST_ORDERED)) {\n customExtensions.push(OrderedList);\n }\n\n if (\n options.includes(EDITOR_OPTIONS.LIST_BULLETS) ||\n options.includes(EDITOR_OPTIONS.LIST_ORDERED)\n ) {\n customExtensions.push(ListItem);\n }\n\n if (options.includes(EDITOR_OPTIONS.CALLOUT)) {\n customExtensions.push(Callout);\n }\n\n if (options.includes(EDITOR_OPTIONS.TODO_LIST)) {\n customExtensions.push(TodoListExtension);\n customExtensions.push(TodoItemExtension);\n }\n\n if (isSlashCommandsActive) {\n customExtensions.push(\n SlashCommands.configure({\n options,\n addonCommands,\n setMediaUploader,\n setIsAddLinkActive,\n attachmentProps,\n setIsNeetoKbArticleActive,\n })\n );\n }\n\n if (!isEmpty(mentions)) {\n const items = createMentionSuggestions(mentions);\n\n customExtensions.push(Mention.configure({ suggestion: { items } }));\n\n customExtensions.push(SpecialMentions.configure({ suggestion: { items } }));\n }\n\n if (!isEmpty(variables)) {\n customExtensions.push(Variable);\n }\n\n if (collaborationProvider) {\n customExtensions.push(\n Collaboration.configure({\n document: collaborationProvider.document ?? collaborationProvider.doc,\n })\n );\n\n customExtensions.push(\n CollaborationCaret.configure({\n provider: collaborationProvider,\n })\n );\n }\n\n customExtensions = customExtensions.concat(extensions);\n\n return customExtensions;\n};\n\nexport default useCustomExtensions;\n","import React from \"react\";\n\nimport classNames from \"classnames\";\nimport { isNotEmpty } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Typography as NeetoUITypography } from \"neetoui\";\n\nimport { decodeHtmlEntities } from \"src/utils/common\";\n\nconst ArticlesList = withT(\n ({\n t,\n articles = [],\n onSelectArticle,\n highlightedIndex = 0,\n containerRef,\n }) => (\n <div className=\"max-h-40 overflow-y-auto\" ref={containerRef}>\n {isNotEmpty(articles) ? (\n <div className=\"space-y-1\">\n {articles.map((article, index) => (\n <button\n data-index={index}\n key={article?.id}\n className={classNames(\n \"hover:neeto-ui-bg-gray-200 focus:neeto-ui-bg-gray-200 neeto-ui-rounded w-full p-2 text-left focus:outline-none\",\n { \"neeto-ui-bg-gray-200\": index === highlightedIndex }\n )}\n onClick={() => onSelectArticle?.(article)}\n >\n <div className=\"neeto-ui-text-sm neeto-ui-font-medium\">\n {decodeHtmlEntities(article?.title)}\n </div>\n </button>\n ))}\n </div>\n ) : (\n <div className=\"neeto-ui-text-gray-500 py-4 text-center\">\n <NeetoUITypography style=\"body2\">\n {t(\"neetoEditor.error.noResults\")}\n </NeetoUITypography>\n </div>\n )}\n </div>\n )\n);\n\nexport default ArticlesList;\n","import { useState, useEffect, useCallback } from \"react\";\n\nconst useArticleNavigation = ({\n articles = [],\n articlesContainerRef,\n mode,\n onClose,\n handleModalArticleSelect,\n searchTerm,\n}) => {\n const [highlightedIndex, setHighlightedIndex] = useState(0);\n\n useEffect(() => {\n setHighlightedIndex(0);\n }, [articles, searchTerm]);\n\n useEffect(() => {\n if (!articlesContainerRef?.current || !articles?.length) return;\n\n const container = articlesContainerRef.current;\n const highlightedItem = container.querySelector(\n `[data-index=\"${highlightedIndex}\"]`\n );\n\n if (!highlightedItem) return;\n\n const containerRect = container.getBoundingClientRect();\n const itemRect = highlightedItem.getBoundingClientRect();\n\n const isItemAbove = itemRect.top < containerRect.top;\n const isItemBelow = itemRect.bottom > containerRect.bottom;\n\n if (isItemAbove) {\n container.scrollTop -= containerRect.top - itemRect.top;\n } else if (isItemBelow) {\n container.scrollTop += itemRect.bottom - containerRect.bottom;\n }\n }, [highlightedIndex, articles.length, articlesContainerRef]);\n\n const navigationHandlers = {\n down: prev => (prev < articles.length - 1 ? prev + 1 : 0),\n up: prev => (prev > 0 ? prev - 1 : articles.length - 1),\n };\n\n const keyActions = {\n Escape: () => onClose?.(),\n ArrowDown: () => setHighlightedIndex(navigationHandlers[\"down\"]),\n ArrowUp: () => setHighlightedIndex(navigationHandlers[\"up\"]),\n Tab: event =>\n setHighlightedIndex(navigationHandlers[event.shiftKey ? \"up\" : \"down\"]),\n Enter: () => {\n if (articles[highlightedIndex]) {\n handleModalArticleSelect?.(articles[highlightedIndex]);\n }\n },\n };\n\n const handleKeyboardNavigation = useCallback(\n event => {\n if (mode !== \"modal\") return;\n\n const action = keyActions[event.key];\n if (!action) return;\n\n event.preventDefault();\n action(event);\n },\n [mode, articles, highlightedIndex, onClose, handleModalArticleSelect]\n );\n\n useEffect(() => {\n if (mode !== \"modal\") return undefined;\n\n document.addEventListener(\"keydown\", handleKeyboardNavigation);\n\n return () => {\n document.removeEventListener(\"keydown\", handleKeyboardNavigation);\n };\n }, [mode, handleKeyboardNavigation]);\n\n return { highlightedIndex };\n};\n\nexport default useArticleNavigation;\n","import React, { useState, useEffect, useRef } from \"react\";\n\nimport { findBy } from \"neetocist\";\nimport Search from \"neetomolecules/Search\";\nimport { Select, Spinner as NeetoUISpinner } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchKbArticles } from \"hooks/reactQuery/kbArticle/useArticleFetching\";\n\nimport ArticlesList from \"./ArticlesList\";\nimport {\n MODE,\n MODAL_BOTTOM_MARGIN,\n MODAL_LEFT_OFFSET,\n MODAL_TOP_OFFSET,\n MODAL_TRANSFORM_Y,\n MODAL_TRANSFORM_X,\n} from \"./constants\";\nimport useArticleNavigation from \"./hooks/useArticleNavigation\";\nimport { buildArticleFullUrl, createArticleOptions } from \"./utils\";\n\nconst ArticlePicker = ({\n mode = MODE.MODAL,\n cursorPos,\n onClose,\n isLoading: externalIsLoading,\n options: externalOptions,\n value,\n onChange,\n placeholder,\n label,\n name,\n className,\n strategy,\n onArticleSelect,\n}) => {\n const { t } = useTranslation();\n const [searchTerm, setSearchTerm] = useState(\"\");\n const modalRef = useRef(null);\n const articlesContainerRef = useRef(null);\n\n const { data: articles = [], isLoading: isLoadingArticles } =\n useFetchKbArticles({\n searchTerm,\n reactQueryOptions: { enabled: !externalOptions },\n });\n\n const isLoading = externalIsLoading || isLoadingArticles;\n\n const selectOptions =\n mode === MODE.SELECT ? createArticleOptions(articles) : [];\n\n const handleModalArticleSelect = article => {\n if (mode !== MODE.MODAL || !article) return;\n\n const articleWithUrl = {\n ...article,\n full_url: buildArticleFullUrl(article.slug),\n };\n\n onArticleSelect(article, articleWithUrl);\n onClose?.();\n };\n\n const { highlightedIndex } = useArticleNavigation({\n articles,\n articlesContainerRef,\n mode,\n onClose,\n handleModalArticleSelect,\n searchTerm,\n });\n\n const handleSelectChange = (selectedValue, formikHelpers) => {\n const selectedOption = findBy(\n { value: selectedValue?.value },\n selectOptions\n );\n\n if (selectedOption?.data?.type === \"article\" && onChange) {\n onChange(selectedValue, formikHelpers);\n }\n };\n\n useEffect(() => {\n if (mode !== MODE.MODAL || !modalRef.current || !cursorPos) return;\n\n const modal = modalRef.current;\n\n const modalRect = modal.getBoundingClientRect();\n const modalWidth = modalRect.width || 320;\n const modalHeight = modalRect.height || 200;\n\n const maxLeft = window.innerWidth - modalWidth;\n const maxTop = window.innerHeight - modalHeight - MODAL_BOTTOM_MARGIN;\n\n const adjustedLeft = Math.min(cursorPos.left - MODAL_LEFT_OFFSET, maxLeft);\n const adjustedTop = Math.min(cursorPos.top - MODAL_TOP_OFFSET, maxTop);\n\n Object.assign(modal.style, {\n position: \"fixed\",\n top: `${adjustedTop}px`,\n left: `${adjustedLeft}px`,\n transform: `translateY(${MODAL_TRANSFORM_Y}px) translateX(${MODAL_TRANSFORM_X}px)`,\n zIndex: 99999,\n });\n }, [mode, cursorPos]);\n\n useEffect(() => {\n if (mode !== MODE.MODAL) return undefined;\n\n const handleClickOutside = event => {\n if (modalRef.current && !modalRef.current.contains(event.target)) {\n onClose?.();\n }\n };\n\n document.addEventListener(\"mousedown\", handleClickOutside);\n\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [mode, onClose]);\n\n if (mode === MODE.MODAL) {\n return (\n <div className=\"ne-article-picker-popover w-80 border\" ref={modalRef}>\n <div className=\"mb-4\">\n <Search\n autoFocus\n placeholder={t(\"neetoEditor.placeholders.searchArticles\")}\n onSearch={setSearchTerm}\n />\n </div>\n {isLoading ? (\n <div className=\"flex items-center justify-center py-8\">\n <NeetoUISpinner />\n </div>\n ) : (\n <div>\n <ArticlesList\n {...{ articles, highlightedIndex, searchTerm }}\n containerRef={articlesContainerRef}\n onSelectArticle={handleModalArticleSelect}\n />\n </div>\n )}\n </div>\n );\n }\n\n return (\n <Select\n {...{ className, isLoading, label, name, placeholder, strategy, value }}\n isSearchable\n options={externalOptions || selectOptions}\n onChange={handleSelectChange}\n />\n );\n};\n\nexport default ArticlePicker;\n","import React from \"react\";\n\nimport ArticlePicker from \"./ArticlePicker\";\nimport { MODE } from \"./constants\";\n\nconst ArticleSelector = ({\n editor,\n cursorPos,\n onClose,\n deletedArticlesHook,\n}) => {\n const handleArticleSelect = (article, detailedArticle) => {\n if (!detailedArticle.full_url) return;\n const { from, to } = editor.state.selection;\n\n const linkText = detailedArticle.title || article.title;\n const isDeleted = deletedArticlesHook?.isArticleDeleted(article.id);\n\n const attrs = {\n href: detailedArticle.full_url,\n \"data-neeto-kb-article\": \"true\",\n \"data-article-id\": article.id,\n \"data-article-deleted\": isDeleted ? \"true\" : null,\n title: detailedArticle.title || article.title,\n };\n\n const linkMark = editor.state.schema.marks.link.create(attrs);\n const linkTextWithMark = editor.state.schema.text(linkText, [linkMark]);\n\n const tr = editor.state.tr.replaceWith(from, to, linkTextWithMark);\n editor.view.dispatch(tr);\n editor.view.focus();\n };\n\n return (\n <ArticlePicker\n {...{ cursorPos, deletedArticlesHook, editor, onClose }}\n mode={MODE.MODAL}\n onArticleSelect={handleArticleSelect}\n />\n );\n};\n\nexport default ArticleSelector;\n","import { CellSelection } from \"@tiptap/pm/tables\";\nimport { t } from \"i18next\";\nimport { isNotPresent } from \"neetocist\";\nimport {\n DeleteRow,\n DeleteColumn,\n DeleteTable,\n InsertRow,\n InsertColumn,\n MergeSplit,\n ToggleHeaderRow,\n} from \"neetoicons\";\n\nconst shouldShowMergeCellToggler = selection => {\n if (isNotPresent(selection)) return false;\n\n if (selection instanceof CellSelection) return true;\n\n let depth = selection.$from.depth;\n\n while (depth > 0) {\n const node = selection.$from.node(depth);\n const nodeRoleInTable = node?.type?.spec?.tableRole;\n if (nodeRoleInTable === \"cell\" || nodeRoleInTable === \"header_cell\") {\n const { colspan, rowspan } = node.attrs;\n\n return colspan > 1 || rowspan > 1;\n }\n depth -= 1;\n }\n\n return false;\n};\n\nconst setTableAlignment = (editor, alignment) => {\n const { state, view } = editor;\n const { selection } = state;\n\n let tableNode = null;\n let tablePos = null;\n\n state.doc.descendants((node, pos) => {\n if (\n node.type.name === \"table\" &&\n pos <= selection.from &&\n selection.from <= pos + node.nodeSize\n ) {\n tableNode = node;\n tablePos = pos;\n\n return false;\n }\n\n return true;\n });\n\n if (tableNode && tablePos !== null) {\n const tr = state.tr;\n const currentAttrs = tableNode?.attrs || {};\n const newAttrs = { ...currentAttrs, textAlign: alignment };\n\n tr.setNodeMarkup(tablePos, null, newAttrs);\n view.dispatch(tr);\n }\n};\n\nexport const tableActions = ({ editor }) => [\n {\n type: \"dropdown\",\n label: t(\"neetoEditor.table.textAlign\"),\n items: [\n {\n type: \"left\",\n command: () => setTableAlignment(editor, \"left\"),\n tooltipLabel: t(\"neetoEditor.table.leftAlign\"),\n },\n {\n type: \"center\",\n command: () => setTableAlignment(editor, \"center\"),\n tooltipLabel: t(\"neetoEditor.table.centerAlign\"),\n },\n {\n type: \"right\",\n command: () => setTableAlignment(editor, \"right\"),\n tooltipLabel: t(\"neetoEditor.table.rightAlign\"),\n },\n ],\n },\n {\n label: t(\"neetoEditor.table.insertRow\"),\n command: () => editor.commands.addRowAfter(),\n icon: InsertRow,\n },\n {\n label: t(\"neetoEditor.table.insertColumn\"),\n command: () => editor.commands.addColumnAfter(),\n icon: InsertColumn,\n },\n {\n label: t(\"neetoEditor.table.deleteRow\"),\n command: () => editor.chain().focus().deleteRow().run(),\n icon: DeleteRow,\n isVisible: true,\n },\n {\n label: t(\"neetoEditor.table.deleteColumn\"),\n command: () => editor.chain().focus().deleteColumn().run(),\n icon: DeleteColumn,\n },\n {\n label: t(\"neetoEditor.table.mergeSplit\"),\n command: () => editor.chain().focus().mergeOrSplit().run(),\n icon: MergeSplit,\n isHidden: !shouldShowMergeCellToggler(editor.state?.selection),\n },\n {\n label: t(\"neetoEditor.table.toggleHeaderRow\"),\n command: () => editor.chain().focus().toggleHeaderRow().run(),\n icon: ToggleHeaderRow,\n },\n {\n label: t(\"neetoEditor.table.delete\"),\n command: () => editor.commands.deleteTable(),\n icon: DeleteTable,\n },\n];\n","import { useCallback } from \"react\";\n\nimport { BubbleMenu } from \"@tiptap/react/menus\";\nimport { CenterAlign, Down, LeftAlign, RightAlign } from \"neetoicons\";\nimport { Button, Dropdown } from \"neetoui\";\n\nimport { tableActions } from \"./utils\";\n\nconst { Menu, MenuItem } = Dropdown;\n\nconst alignmentIcons = {\n left: LeftAlign,\n center: CenterAlign,\n right: RightAlign,\n};\n\nconst TableActionMenu = ({ editor }) => {\n const getReferenceClientRect = useCallback(() => {\n if (!editor) return new DOMRect(0, 0, 0, 0);\n\n const { $anchor: anchor } = editor.state?.selection ?? {};\n const node = editor.view.domAtPos(anchor?.pos)?.node;\n const element = node?.nodeType === 3 ? node?.parentElement : node;\n\n return element?.getBoundingClientRect() || new DOMRect(0, 0, 0, 0);\n }, [editor]);\n\n const shouldShow = useCallback(\n () => editor?.isFocused && editor?.isActive(\"table\"),\n [editor]\n );\n\n if (!editor) return null;\n\n return (\n <BubbleMenu\n {...{ editor, shouldShow }}\n className=\"neeto-editor-bubble-menu\"\n style={{ zIndex: 99999 }}\n getReferencedVirtualElement={() => ({\n getBoundingClientRect: getReferenceClientRect,\n })}\n options={{\n offset: { mainAxis: 10, crossAxis: 10 },\n flip: false,\n }}\n >\n {tableActions({ editor }).map(action => {\n if (action.isHidden) return null;\n\n if (action.type) {\n return (\n <Dropdown\n appendTo={() => document.body}\n className=\"neeto-editor-table-bubble-menu__dropdown\"\n closeOnSelect={false}\n key={action.label}\n position=\"bottom-start\"\n strategy=\"fixed\"\n buttonProps={{\n className: \"neeto-editor-table-bubble-menu__dropdown-item\",\n icon: Down,\n iconPosition: \"right\",\n iconSize: 16,\n label: <LeftAlign />,\n size: \"small\",\n style: \"text\",\n tooltipProps: {\n content: action.label,\n position: \"top\",\n delay: [500],\n },\n }}\n >\n <Menu className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-justify-center\">\n {action.items?.map(({ type, command, tooltipLabel }) => {\n const IconComponent = alignmentIcons[type];\n\n return (\n <MenuItem key={type}>\n <Button\n className=\"neeto-editor-table-bubble-menu__item\"\n icon={IconComponent}\n style=\"text\"\n tooltipProps={{\n content: tooltipLabel,\n position: \"bottom\",\n delay: [500],\n }}\n onClick={command}\n />\n </MenuItem>\n );\n })}\n </Menu>\n </Dropdown>\n );\n }\n\n return (\n <Button\n className=\"neeto-editor-table-bubble-menu__item\"\n icon={action.icon}\n iconSize={18}\n key={action.label}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: action.label,\n position: \"top\",\n delay: [500],\n }}\n onClick={action.command}\n />\n );\n })}\n </BubbleMenu>\n );\n};\n\nexport default TableActionMenu;\n","import React from \"react\";\n\nimport { withT } from \"neetocommons/react-utils\";\nimport { Button, Modal } from \"neetoui\";\n\nconst KbArticleDeletedModal = withT(({ t, isOpen, onClose }) => (\n <Modal {...{ isOpen, onClose }}>\n <Modal.Header>\n <h2>{t(\"neetoEditor.linkKb.articleDeletedTitle\")}</h2>\n </Modal.Header>\n <Modal.Body>\n <p>{t(\"neetoEditor.linkKb.articleDeletedDescription\")}</p>\n </Modal.Body>\n <Modal.Footer>\n <Button label={t(\"neetoEditor.common.close\")} onClick={onClose} />\n </Modal.Footer>\n </Modal>\n));\n\nexport default KbArticleDeletedModal;\n","import React from \"react\";\n\nimport { Button } from \"neetoui\";\nimport { Form, Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { decodeHtmlEntities } from \"src/utils/common\";\n\nimport ArticlePicker from \"./ArticlePicker\";\nimport { MODE } from \"./constants\";\n\nconst KbArticleEdit = ({\n linkAttributes,\n getCurrentTextContent,\n getCurrentArticleOption,\n handleKbArticleSubmit,\n handleSelectChange,\n handleKeyDown,\n isLoadingKbData,\n selectOptions,\n setIsEditing,\n}) => {\n const initialValues = {\n textContent:\n getCurrentTextContent?.() ||\n decodeHtmlEntities(linkAttributes?.title || \"\") ||\n \"\",\n pageSelection: getCurrentArticleOption(),\n };\n\n const { t } = useTranslation();\n\n return (\n <Form\n className=\"w-64\"\n formikProps={{\n initialValues,\n onSubmit: handleKbArticleSubmit,\n enableReinitialize: true,\n }}\n >\n {({ dirty, isSubmitting, setFieldValue, values }) => (\n <div className=\"flex w-full flex-col items-start gap-2\">\n <Input\n required\n unlimitedChars\n className=\"w-full\"\n data-testid=\"neeto-editor-edit-kb-link-text-input\"\n label={t(\"neetoEditor.common.text\")}\n name=\"textContent\"\n placeholder={t(\"neetoEditor.placeholders.enterText\")}\n onKeyDown={handleKeyDown}\n />\n <ArticlePicker\n className=\"w-full\"\n data-testid=\"neeto-editor-edit-kb-link-page-select\"\n isLoading={isLoadingKbData}\n label={t(\"neetoEditor.linkKb.articleLabel\")}\n mode={MODE.SELECT}\n name=\"pageSelection\"\n options={selectOptions}\n placeholder={t(\"neetoEditor.linkKb.selectArticle\")}\n strategy=\"fixed\"\n value={values.pageSelection}\n onChange={value => handleSelectChange(value, { setFieldValue })}\n />\n <div className=\"ne-link-popover__edit-prompt-buttons\">\n <Button\n data-testid=\"neeto-editor-edit-kb-link-done\"\n disabled={!dirty}\n label={t(\"neetoEditor.common.done\")}\n loading={isSubmitting}\n size=\"small\"\n type=\"submit\"\n />\n <Button\n data-testid=\"neeto-editor-edit-kb-link-cancel\"\n label={t(\"neetoEditor.common.cancel\")}\n size=\"small\"\n style=\"text\"\n onClick={() => setIsEditing(false)}\n />\n </div>\n </div>\n )}\n </Form>\n );\n};\n\nexport default KbArticleEdit;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Edit, Articles } from \"neetoicons\";\nimport CopyToClipboardButton from \"neetomolecules/CopyToClipboardButton\";\nimport { Button } from \"neetoui\";\n\nimport { decodeHtmlEntities } from \"src/utils/common\";\n\nconst KbArticleView = withT(\n ({ t, linkAttributes, isDeleted, onEdit, onDeletedClick, currentText }) => (\n <div>\n <div className=\"flex items-center gap-3\">\n <Articles className=\"neeto-ui-text-gray-600\" size={16} />\n <a\n href={linkAttributes?.href}\n rel=\"noreferrer\"\n target=\"_blank\"\n className={classnames(\"ne-link-popover__kb-article-link\", {\n \"ne-link-popover__kb-article-link--deleted\": isDeleted,\n })}\n onClick={event => {\n if (!isDeleted) return;\n event.preventDefault();\n onDeletedClick?.();\n }}\n >\n {currentText ||\n decodeHtmlEntities(linkAttributes?.title || \"\") ||\n linkAttributes?.href}\n </a>\n <div className=\"flex items-center gap-0.5\">\n <CopyToClipboardButton\n size=\"small\"\n style=\"text\"\n value={linkAttributes?.href}\n />\n <Button\n className=\"ne-link-popover__option-button mx-0\"\n data-testid=\"neeto-editor-link-popover-edit\"\n icon={Edit}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoEditor.common.edit\"),\n position: \"top\",\n }}\n onClick={onEdit}\n />\n </div>\n </div>\n {isDeleted && (\n <div className=\"neeto-ui-rounded mt-2 p-2 text-sm\">\n {t(\"neetoEditor.linkKb.articleDeletedDescription\")}\n </div>\n )}\n </div>\n )\n);\n\nexport default KbArticleView;\n","import { useEffect, useState, useRef } from \"react\";\n\nimport { getMarkRange, getMarkType } from \"@tiptap/react\";\nimport { findBy } from \"neetocist\";\nimport { useOnClickOutside } from \"neetocommons/react-utils\";\nimport { Button, Checkbox } from \"neetoui\";\nimport { Form, Input } from \"neetoui/formik\";\nimport { equals, isNil } from \"ramda\";\nimport { createPortal } from \"react-dom\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchKbArticles } from \"hooks/reactQuery/kbArticle/useArticleFetching\";\nimport { decodeHtmlEntities } from \"src/utils/common\";\n\nimport { LINK_VALIDATION_SCHEMA } from \"./constants\";\nimport KbArticleDeletedModal from \"./CustomExtensions/LinkKbArticles/KbArticleDeletedModal\";\nimport KbArticleEdit from \"./CustomExtensions/LinkKbArticles/KbArticleEdit\";\nimport KbArticleView from \"./CustomExtensions/LinkKbArticles/KbArticleView\";\nimport {\n buildArticleFullUrl,\n createArticleOptions,\n} from \"./CustomExtensions/LinkKbArticles/utils\";\nimport { getLinkPopoverPosition } from \"./Menu/Fixed/utils\";\nimport { validateAndFormatUrl } from \"./utils\";\n\nconst LinkPopOver = ({ editor, deletedArticlesHook }) => {\n const { view } = editor || {};\n const { from } = editor.state.selection;\n const initialTextContent = view?.state?.doc?.nodeAt(from)?.text || \"\";\n\n const [arrowPosition, setArrowPosition] = useState({ top: 0, left: 0 });\n const [popoverPosition, setPopoverPosition] = useState({ top: 0, left: 0 });\n const [isEditing, setIsEditing] = useState(false);\n const [isLinkActive, setIsLinkActive] = useState(editor?.isActive(\"link\"));\n const [linkAttributes, setLinkAttributes] = useState(\n editor?.getAttributes(\"link\")\n );\n\n const [showDeletedModal, setShowDeletedModal] = useState(false);\n\n const popoverRef = useRef(null);\n\n const { t } = useTranslation();\n const isNeetoKbArticle = linkAttributes?.[\"data-neeto-kb-article\"] === \"true\";\n\n const { data: articles = [], isLoading: isLoadingKbData } =\n useFetchKbArticles({\n searchTerm: \"\",\n reactQueryOptions: { enabled: isEditing && isNeetoKbArticle },\n });\n\n const selectOptions = createArticleOptions(articles);\n\n const handleSelectChange = (value, { setFieldValue }) => {\n const selectedOption = findBy({ value: value?.value }, selectOptions);\n\n if (selectedOption?.data?.type === \"article\") {\n setFieldValue(\"pageSelection\", value);\n }\n };\n\n const updatePopoverPosition = () => {\n if (!view) return;\n\n const { arrowPosition, popoverPosition } = getLinkPopoverPosition(\n editor,\n popoverRef\n );\n\n setPopoverPosition({\n top: parseInt(popoverPosition.top),\n left: parseInt(popoverPosition.left),\n });\n\n setArrowPosition({\n top: parseInt(arrowPosition.top),\n left: parseInt(arrowPosition.left),\n });\n };\n\n const handleUnlink = () =>\n editor.chain().focus().extendMarkRange(\"link\").unsetLink().run();\n\n const removePopover = () => {\n setIsEditing(false);\n setIsLinkActive(false);\n };\n\n const popoverStyle = {\n display: \"block\",\n position: \"fixed\",\n top: popoverPosition.top,\n left: popoverPosition.left,\n transform: `translateY(52px) translateX(${isEditing ? \"8px\" : \"3px\"})`,\n };\n\n const handleSubmit = ({ textContent, urlString, openInNewTab }) => {\n const formattedUrl = validateAndFormatUrl(urlString);\n if (equals(textContent, initialTextContent)) {\n editor\n .chain()\n .focus()\n .extendMarkRange(\"link\")\n .setLink({\n href: formattedUrl,\n target: openInNewTab ? \"_blank\" : \"_self\",\n })\n .run();\n\n setIsEditing(false);\n\n return;\n }\n const { state, dispatch } = editor.view;\n const type = getMarkType(\"link\", state.schema);\n const { $to } = state.selection;\n const { from = null, to = null } = getMarkRange($to, type) || {};\n\n if (isNil(from) || isNil(to)) return;\n\n const attrs = {\n href: formattedUrl,\n target: openInNewTab ? \"_blank\" : \"_self\",\n };\n\n const linkMark = state.schema.marks.link.create(attrs);\n const linkTextWithMark = state.schema.text(textContent, [linkMark]);\n\n const tr = state.tr.replaceWith(from, to, linkTextWithMark);\n\n dispatch(tr);\n\n setIsEditing(false);\n editor.view.focus();\n editor.commands.extendMarkRange(\"link\");\n };\n\n const handleKbArticleSubmit = ({ textContent, pageSelection }) => {\n if (!pageSelection || pageSelection === \"\") {\n const { state, dispatch } = editor.view;\n const type = getMarkType(\"link\", state.schema);\n const { $to } = state.selection;\n const { from = null, to = null } = getMarkRange($to, type) || {};\n\n if (isNil(from) || isNil(to)) return;\n\n const articleId = linkAttributes?.[\"data-article-id\"];\n const isDeleted = deletedArticlesHook?.isArticleDeleted(articleId);\n\n const attrs = {\n href: linkAttributes?.href,\n \"data-neeto-kb-article\": linkAttributes?.[\"data-neeto-kb-article\"],\n \"data-article-id\": articleId,\n \"data-article-deleted\": isDeleted ? \"true\" : null,\n title: textContent || decodeHtmlEntities(linkAttributes?.title || \"\"),\n };\n\n const linkMark = state.schema.marks.link.create(attrs);\n const linkTextWithMark = state.schema.text(textContent, [linkMark]);\n\n const tr = state.tr.replaceWith(from, to, linkTextWithMark);\n dispatch(tr);\n\n setIsEditing(false);\n editor.view.focus();\n editor.commands.extendMarkRange(\"link\");\n\n return;\n }\n\n const selectedOption = findBy(\n { value: pageSelection?.value },\n selectOptions\n );\n\n if (!selectedOption) return;\n\n const { data } = selectedOption;\n\n if (data?.type === \"article\") {\n const full_url = buildArticleFullUrl(data.slug);\n\n if (full_url) {\n const { state, dispatch } = editor.view;\n const type = getMarkType(\"link\", state.schema);\n const { $to } = state.selection;\n const { from = null, to = null } = getMarkRange($to, type) || {};\n\n if (isNil(from) || isNil(to)) return;\n\n const isDeleted = deletedArticlesHook?.isArticleDeleted(data.id);\n\n const attrs = {\n href: full_url,\n \"data-neeto-kb-article\": \"true\",\n \"data-article-id\": data.id,\n \"data-article-deleted\": isDeleted ? \"true\" : null,\n title: decodeHtmlEntities(data.title || \"\"),\n };\n\n const linkMark = state.schema.marks.link.create(attrs);\n const linkTextWithMark = state.schema.text(\n textContent || decodeHtmlEntities(data.title || \"\"),\n [linkMark]\n );\n\n const tr = state.tr.replaceWith(from, to, linkTextWithMark);\n dispatch(tr);\n\n setIsEditing(false);\n editor.view.focus();\n editor.commands.extendMarkRange(\"link\");\n }\n }\n };\n\n const handleKeyDown = event =>\n equals(event.key, \"Escape\") && setIsEditing(false);\n\n useOnClickOutside(popoverRef, removePopover, { enabled: true });\n\n useEffect(() => {\n const isActive = editor?.isActive(\"link\");\n\n setIsLinkActive(isActive);\n if (isActive) {\n updatePopoverPosition();\n const currentLinkAttributes = editor?.getAttributes(\"link\");\n\n setLinkAttributes(currentLinkAttributes);\n }\n }, [view?.state?.selection?.$from?.pos, isEditing]);\n\n const getCurrentArticleOption = () => {\n const articleId = linkAttributes?.[\"data-article-id\"];\n if (!articleId) return \"\";\n\n const currentArticleOption = findBy(\n { data: { type: \"article\", id: articleId } },\n selectOptions || []\n );\n\n if (!currentArticleOption && linkAttributes?.title) {\n return {\n label: decodeHtmlEntities(linkAttributes.title),\n value: articleId,\n };\n }\n\n return currentArticleOption || \"\";\n };\n\n const getCurrentTextContent = () => {\n const { state } = editor.view;\n const type = getMarkType(\"link\", state.schema);\n const { $to } = state.selection;\n const { from = null, to = null } = getMarkRange($to, type) || {};\n\n if (from !== null && to !== null) {\n return state.doc.textBetween(from, to);\n }\n const { $from } = state.selection;\n\n return state.doc.textBetween($from.pos, $to.pos);\n };\n\n const renderEditingMode = () => {\n const initialValues = {\n textContent: initialTextContent,\n urlString: linkAttributes?.href || \"\",\n openInNewTab: linkAttributes?.target === \"_blank\",\n };\n\n return (\n <Form\n key={`${linkAttributes?.href}-${linkAttributes?.target}`}\n formikProps={{\n initialValues,\n onSubmit: handleSubmit,\n validationSchema: LINK_VALIDATION_SCHEMA,\n }}\n >\n {({ dirty, isSubmitting, setFieldValue, values }) => (\n <>\n <Input\n required\n data-testid=\"neeto-editor-edit-link-text-input\"\n label={t(\"neetoEditor.common.text\")}\n name=\"textContent\"\n placeholder={t(\"neetoEditor.placeholders.enterText\")}\n style={{ width: \"250px\" }}\n onKeyDown={handleKeyDown}\n />\n <Input\n autoFocus\n required\n className=\"ne-link-popover__url-input\"\n data-testid=\"neeto-editor-edit-link-url-input\"\n label={t(\"neetoEditor.common.url\")}\n name=\"urlString\"\n placeholder={t(\"neetoEditor.placeholders.url\")}\n style={{ width: \"250px\" }}\n onKeyDown={handleKeyDown}\n />\n <Checkbox\n checked={values.openInNewTab}\n className=\"ne-link-popover__checkbox\"\n label={t(\"neetoEditor.common.openInNewTab\")}\n onChange={() => {\n setFieldValue(\"openInNewTab\", !values.openInNewTab);\n }}\n />\n <div className=\"ne-link-popover__edit-prompt-buttons\">\n <Button\n data-testid=\"neeto-editor-edit-link\"\n disabled={!dirty}\n label={t(\"neetoEditor.menu.link\")}\n loading={isSubmitting}\n size=\"small\"\n type=\"submit\"\n />\n <Button\n data-testid=\"neeto-editor-edit-link-cancel\"\n label={t(\"neetoEditor.common.cancel\")}\n size=\"small\"\n style=\"text\"\n onClick={() => setIsEditing(false)}\n />\n </div>\n </>\n )}\n </Form>\n );\n };\n\n const renderEditingModeForKbArticle = () => (\n <KbArticleEdit\n {...{\n getCurrentArticleOption,\n getCurrentTextContent,\n handleKbArticleSubmit,\n handleKeyDown,\n handleSelectChange,\n isLoadingKbData,\n linkAttributes,\n selectOptions,\n setIsEditing,\n }}\n />\n );\n\n const renderViewModeForKbArticle = () => {\n const articleId = linkAttributes?.[\"data-article-id\"];\n const isDeleted = deletedArticlesHook?.isArticleDeleted(articleId);\n\n return (\n <KbArticleView\n {...{ isDeleted, linkAttributes }}\n currentText={getCurrentTextContent()}\n onEdit={() => setIsEditing(true)}\n onDeletedClick={() => {\n removePopover();\n setShowDeletedModal(true);\n }}\n />\n );\n };\n\n const renderViewMode = () => (\n <>\n <a\n href={linkAttributes?.href}\n rel=\"noreferrer noopener\"\n target={linkAttributes?.target || \"_self\"}\n >\n {linkAttributes?.href}\n </a>\n {\" - \"}\n <Button\n className=\"ne-link-popover__option-button\"\n data-testid=\"neeto-editor-link-popover-edit\"\n label={t(\"neetoEditor.common.edit\")}\n size=\"small\"\n style=\"link\"\n onClick={() => setIsEditing(true)}\n />\n <span>|</span>\n <Button\n className=\"ne-link-popover__option-button\"\n data-testid=\"neeto-editor-link-popover-unlink\"\n label={t(\"neetoEditor.common.unlink\")}\n size=\"small\"\n style=\"link\"\n onClick={handleUnlink}\n />\n </>\n );\n\n const renderPopoverContent = () => {\n if (isEditing) {\n return isNeetoKbArticle\n ? renderEditingModeForKbArticle()\n : renderEditingMode();\n }\n\n return isNeetoKbArticle ? renderViewModeForKbArticle() : renderViewMode();\n };\n\n return (\n <>\n {createPortal(\n isLinkActive ? (\n <>\n <div\n className=\"ne-link-arrow fade-in\"\n style={{ top: arrowPosition.top, left: arrowPosition.left }}\n />\n <div\n className=\"ne-link-popover fade-in\"\n id=\"ne-link-view-popover\"\n ref={popoverRef}\n style={popoverStyle}\n >\n {renderPopoverContent()}\n </div>\n </>\n ) : null,\n document.body\n )}\n <KbArticleDeletedModal\n isOpen={showDeletedModal}\n onClose={() => setShowDeletedModal(false)}\n />\n </>\n );\n};\n\nexport default LinkPopOver;\n","import {\n forwardRef,\n useImperativeHandle,\n useState,\n useRef,\n memo,\n useEffect,\n} from \"react\";\n\nimport { EditorView } from \"@tiptap/pm/view\";\nimport { useEditor, EditorContent, useEditorState } from \"@tiptap/react\";\nimport classnames from \"classnames\";\nimport { noop, slugify } from \"neetocist\";\nimport { useFuncDebounce } from \"neetocommons/react-utils\";\nimport { Label } from \"neetoui\";\nimport { createPortal } from \"react-dom\";\n\nimport { EDITOR_OPTIONS, EDITOR_SIZES } from \"common/constants\";\nimport ErrorWrapper from \"components/Common/ErrorWrapper\";\nimport { useDeletedArticles } from \"hooks/reactQuery/kbArticle/useDeletedArticles\";\nimport useEditorWarnings from \"hooks/useEditorWarnings\";\nimport \"src/styles/editor/index.scss\";\nimport { removeEmptyTags } from \"src/utils\";\n\nimport { DEFAULT_EDITOR_OPTIONS } from \"./constants\";\nimport CharacterCountWrapper from \"./CustomExtensions/CharacterCount\";\nimport useCustomExtensions from \"./CustomExtensions/hooks/useCustomExtensions\";\nimport ArticleSelector from \"./CustomExtensions/LinkKbArticles/ArticleSelector\";\nimport TableActionMenu from \"./CustomExtensions/Table/TableActionMenu\";\nimport LinkPopOver from \"./LinkPopOver\";\nimport MediaUploader from \"./MediaUploader\";\nimport Menu from \"./Menu\";\nimport MenuDynamicVariables from \"./Menu/DynamicVariables\";\nimport LinkAddPopOver from \"./Menu/Fixed/components/LinkAddPopOver\";\nimport {\n getEditorStyles,\n clipboardTextParser,\n handlePaste,\n setInitialPosition,\n transformPastedHTML,\n} from \"./utils\";\n\nimport Attachments from \"../Attachments\";\n\nconst Editor = (\n {\n addonCommands = [],\n addons = [],\n attachments = [],\n attachmentsConfig = {},\n autoFocus = false,\n className,\n contentClassName,\n contentWrapperClassName,\n errorWrapperClassName,\n contentAttributes = {},\n menuClassName,\n attachmentsClassName,\n isMenuIndependent = false,\n defaults = DEFAULT_EDITOR_OPTIONS,\n editorSecrets = {},\n error = null,\n extensions = [],\n hideSlashCommands = true,\n initialValue = \"\",\n isCharacterCountActive = false,\n keyboardShortcuts = [],\n label = \"\",\n mentions = [],\n menuType = \"fixed\",\n placeholder,\n required = false,\n rows = 6,\n tooltips = {},\n variables = [],\n disableTrimOnBlur = false,\n onChange = noop,\n onFocus = noop,\n onBlur = noop,\n onSubmit = noop,\n onChangeAttachments = noop,\n children,\n openImageInNewTab = true,\n openLinkInNewTab = false,\n showAssetLibrary = true,\n collaborationProvider = null,\n enableReactNodeViewOptimization = false,\n size = EDITOR_SIZES.SMALL,\n otherAttachmentProps = {},\n ...otherProps\n },\n ref\n) => {\n const [isAttachmentsUploading, setIsAttachmentsUploading] = useState(false);\n const wrapperRef = useRef(null);\n const isArticleOptActive = addons.includes(EDITOR_OPTIONS.NEETO_KB_ARTICLE);\n const isAttachmentsActive = addons.includes(EDITOR_OPTIONS.ATTACHMENTS);\n const isMediaUploaderActive =\n addons.includes(EDITOR_OPTIONS.IMAGE_UPLOAD) ||\n addons.includes(EDITOR_OPTIONS.VIDEO_UPLOAD);\n const isFixedMenuActive = menuType === \"fixed\";\n const isBubbleMenuActive = menuType === \"bubble\";\n const isSlashCommandsActive =\n !hideSlashCommands || (isBubbleMenuActive && !hideSlashCommands);\n const isPlaceholderActive = !!placeholder || isSlashCommandsActive;\n const [isAddLinkActive, setIsAddLinkActive] = useState(false);\n const [mediaUploader, setMediaUploader] = useState({\n image: false,\n video: false,\n });\n\n const [neetoKbArticleState, setNeetoKbArticleState] = useState({\n active: false,\n editor: null,\n range: null,\n cursorPos: null,\n });\n\n const addAttachmentsRef = useRef(null);\n\n const attachmentProps = {\n handleUploadAttachments: () =>\n addAttachmentsRef.current?.handleUploadAttachments(),\n isDisabled: isAttachmentsUploading,\n };\n\n const debouncedOnChangeHandler = useFuncDebounce(({ editor }) => {\n if (!editor.isDestroyed) onChange(editor.getHTML());\n }, 100);\n\n useEffect(() => debouncedOnChangeHandler.cancel, []);\n\n const handleBlur = props => {\n const { editor } = props;\n if (!disableTrimOnBlur) {\n const content = editor.getHTML();\n const trimmedContent = removeEmptyTags(content);\n\n if (content !== trimmedContent) onChange(trimmedContent);\n }\n onBlur(props);\n };\n\n const customExtensions = useCustomExtensions({\n placeholder,\n extensions,\n mentions,\n variables,\n isSlashCommandsActive,\n options: [...defaults, ...addons],\n addonCommands,\n onSubmit,\n keyboardShortcuts,\n setMediaUploader,\n setIsAddLinkActive,\n attachmentProps,\n openImageInNewTab,\n openLinkInNewTab,\n enableReactNodeViewOptimization,\n collaborationProvider,\n setIsNeetoKbArticleActive: setNeetoKbArticleState,\n });\n useEditorWarnings({ initialValue });\n\n const editorClasses = classnames(\"neeto-editor\", {\n \"fixed-menu-active\": isFixedMenuActive,\n \"bubble-menu-active\": isBubbleMenuActive,\n \"placeholder-active\": isPlaceholderActive,\n \"attachments-active\": isAttachmentsActive,\n \"neeto-editor-size--large\": size === EDITOR_SIZES.LARGE,\n \"neeto-editor-size--medium\": size === EDITOR_SIZES.MEDIUM,\n \"neeto-editor-size--small\": size === EDITOR_SIZES.SMALL,\n [contentClassName]: contentClassName,\n });\n\n const ariaAttributes = {\n role: \"textbox\",\n \"aria-label\": \"editor-content\",\n \"aria-multiline\": \"true\",\n \"aria-labelledby\": \"labelId\",\n \"aria-required\": required,\n \"aria-roledescription\": \"editor\",\n };\n\n const editor = useEditor({\n extensions: customExtensions,\n content: initialValue,\n injectCSS: false,\n immediatelyRender: false,\n shouldRerenderOnTransaction: false,\n autofocus: autoFocus && \"end\",\n editorProps: {\n attributes: {\n class: editorClasses,\n style: getEditorStyles({ rows }),\n \"data-testid\": \"neeto-editor-content\",\n ...ariaAttributes,\n ...contentAttributes,\n },\n clipboardTextParser,\n handlePaste,\n transformPastedHTML,\n },\n parseOptions: { preserveWhitespace: true },\n onCreate: ({ editor }) => !autoFocus && setInitialPosition(editor),\n onUpdate: debouncedOnChangeHandler,\n onFocus,\n onBlur: handleBlur,\n });\n\n useEditorState({\n editor,\n selector: () => ({\n isMediaUploaderActive,\n isLinkActive: editor?.isActive(\"link\"),\n }),\n });\n\n const deletedArticlesHook = useDeletedArticles(\n isArticleOptActive ? editor : null\n );\n\n /* Make editor object available to the parent */\n useImperativeHandle(\n ref,\n () => ({ editor, focus: () => editor?.commands?.focus?.() }),\n [editor]\n );\n\n // Cleanup NeetoKB article state when editor changes\n useEffect(() => {\n if (!editor && neetoKbArticleState.active) {\n setNeetoKbArticleState({\n active: false,\n editor: null,\n range: null,\n cursorPos: null,\n });\n }\n }, [editor, neetoKbArticleState.active]);\n\n useEffect(() => {\n if (!editor || !deletedArticlesHook.deletedArticleIds.size) return;\n\n editor.commands.updateDeletedArticles(\n deletedArticlesHook.deletedArticleIds\n );\n }, [editor, deletedArticlesHook.deletedArticleIds]);\n\n // https://github.com/ueberdosis/tiptap/issues/1451#issuecomment-953348865\n EditorView.prototype.updateState = function updateState(state) {\n if (!this.docView) return;\n this.updateStateInner(state, this.state.plugins !== state.plugins);\n };\n\n return (\n <div\n data-testid=\"neeto-editor-wrapper\"\n ref={wrapperRef}\n className={classnames({\n [className]: className,\n \"ne-attachments__wrapper\": isAttachmentsActive,\n })}\n >\n {label && (\n <Label\n {...{ required }}\n className=\"neeto-ui-mb-2\"\n data-testid={`${slugify(label)}-editor-label`}\n >\n {label}\n </Label>\n )}\n <ErrorWrapper {...{ error }} className={errorWrapperClassName}>\n <>\n {menuType !== \"none\" && (\n <Menu\n {...{\n addonCommands,\n addons,\n attachmentProps,\n defaults,\n editor,\n editorSecrets,\n mentions,\n menuType,\n neetoKbArticleState,\n openLinkInNewTab,\n showAssetLibrary,\n tooltips,\n variables,\n }}\n className={menuClassName}\n isIndependant={isMenuIndependent}\n setIsNeetoKbArticleActive={setNeetoKbArticleState}\n />\n )}\n {children}\n {menuType === \"none\" && (\n <div className=\"neeto-editor-fixed-menu-standalone-variables-wrapper\">\n <MenuDynamicVariables {...{ editor, variables }} standalone />\n </div>\n )}\n <EditorContent\n className={contentWrapperClassName}\n {...{ editor, ...otherProps }}\n />\n {isMediaUploaderActive && (\n <MediaUploader\n {...{ editor, mediaUploader, showAssetLibrary }}\n onClose={() => setMediaUploader({ image: false, video: false })}\n />\n )}\n {isAttachmentsActive && (\n <Attachments\n {...{ attachments }}\n config={attachmentsConfig}\n dragDropRef={wrapperRef}\n isIndependent={false}\n ref={addAttachmentsRef}\n setIsUploading={setIsAttachmentsUploading}\n className={classnames(\"ne-attachments--integrated\", {\n [attachmentsClassName]: attachmentsClassName,\n })}\n onChange={onChangeAttachments}\n {...otherAttachmentProps}\n />\n )}\n {editor?.isActive(\"link\") && (\n <LinkPopOver {...{ deletedArticlesHook, editor }} />\n )}\n {isAddLinkActive && (\n <LinkAddPopOver\n {...{\n editor,\n isAddLinkActive,\n openLinkInNewTab,\n setIsAddLinkActive,\n }}\n />\n )}\n {neetoKbArticleState.active &&\n neetoKbArticleState.cursorPos &&\n createPortal(\n <ArticleSelector\n {...{ deletedArticlesHook }}\n cursorPos={neetoKbArticleState.cursorPos}\n editor={neetoKbArticleState.editor}\n onClose={() =>\n setNeetoKbArticleState({\n active: false,\n editor: null,\n range: null,\n cursorPos: null,\n })\n }\n />,\n document.body\n )}\n <TableActionMenu {...{ editor }} appendTo={wrapperRef} />\n {isCharacterCountActive && <CharacterCountWrapper {...{ editor }} />}\n </>\n </ErrorWrapper>\n </div>\n );\n};\n\nEditor.displayName = \"NeetoEditor\";\n\nexport default memo(forwardRef(Editor));\n"],"names":["ErrorWrapper","_ref","error","children","className","isError","isNotPresent","wrapperClasses","classnames","_defineProperty","getErrorMessage","message","is","String","Array","Object","_jsxs","_Fragment","_jsx","memo","CharacterCountWrapper","editor","characters","useEditorState","selector","_ref2","_editor$storage$chara","storage","characterCount","Extension","create","name","addOptions","types","addGlobalAttributes","options","attributes","backgroundColor","parseHTML","element","style","replace","renderHTML","concat","addCommands","setHighlightInternal","color","chain","setMark","run","unsetHighlightInternal","BulletList","configure","HTMLAttributes","itemTypeName","CalloutComponent","_findBy","node","type","attrs","Icon","findBy","CALLOUT_TYPES","icon","Megaphone","NodeViewWrapper","NodeViewContent","Node","inline","group","content","defining","draggable","addAttributes","getAttribute","tag","contentElement","svgString","ReactDOM","renderToStaticMarkup","svgContainer","document","createElement","innerHTML","svgNode","firstChild","mergeAttributes","addNodeView","ReactNodeViewRenderer","_this","setCallout","arguments","length","undefined","_attributes$type","toggleWrap","command","_ref3","tr","state","dispatch","selection","$from","calloutNode","depth","pos","after","nextNode","doc","nodeAt","insert","schema","nodes","paragraph","focus","addKeyboardShortcuts","_this2","Backspace","_this2$editor","commands","_state$selection","empty","parentOffset","currentNode","parent","size","lift","ArrowDown","_this2$editor2","_state$selection2","isAtEnd","calloutContent","currentNodeIndex","index","isLastNode","childCount","endPos","nodeSize","setTextSelection","insertContentAt","SORTED_LANGUAGE_LIST","_toConsumableArray","lowlight","listLanguages","sort","LINE_NUMBER_OPTIONS","label","t","value","codeBlockHighlightKey","PluginKey","createLineDecoration","from","lineNumber","Decoration","widget","view","line","setAttribute","toString","lineElement","domAtPos","Element","lineHeight","window","getComputedStyle","height","getLineRanges","lines","textContent","split","currentPos","map","to","codeBlockHighlightPlugin","Plugin","key","init","DecorationSet","apply","set","mapping","getMeta","decorations","descendants","highlightedLines","lineRanges","forEach","includes","push","props","getState","Menu","Dropdown","MenuItem","CodeBlockComponent","_node$attrs","_node$content","updateAttributes","_useState","useState","_useState2","_slicedToArray","keyword","setKeyword","_useState3","_useState4","showHighlightButton","setShowHighlightButton","_useState5","linenumbers","_useState6","showLineNumbers","setShowLineNumbers","ref","useRef","_useTranslation","useTranslation","filteredAndSortedLanguageList","filter","language","handleLanguageSelect","_editor$commands","handleContentMount","current","offsetHeight","minHeight","handleSelectionChange","useCallback","_editor$state$selecti","isCodeBlockSelected","isActive","useEffect","on","off","setMeta","handleHighlight","_editor$state$selecti2","resolve","codeBlock","codeBlockStart","start","textBeforeSelection","textBetween","startLine","selectedText","selectedLines","newSelectedLines","_","currentHighlightedLines","overlapLines","intersection","difference","union","contentEditable","appendTo","body","buttonSize","buttonStyle","Down","strategy","zIndex","Button","onClick","Input","autoFocus","placeholder","onChange","e","target","preventDefault","stopPropagation","CopyToClipboardButton","text","Highlight","tooltipProps","as","CodeBlockLowlight","extend","_this$parent","_objectSpread","call","_element$dataset$high","dataset","Number","Boolean","_attributes$highlight","_attributes$highlight2","join","addProseMirrorPlugins","_this$parent2","defaultLanguage","pasteUnformatted","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","navigator","clipboard","readText","sent","insertContent","stop","_x","DeletedArticleDecoration","deletedArticleIds","Set","marks","articleId","has","decoration","updateDeletedArticles","updateState","EmojiPickerPluginKey","EmojiPicker","selectable","atom","suggestion","startOfLine","pluginKey","items","render","reactRenderer","popup","onStart","ReactRenderer","EmojiPickerMenu","tippy","theme","getReferenceClientRect","clientRect","showOnCreate","interactive","trigger","placement","onKeyDown","_reactRenderer$ref","onExit","destroy","Suggestion","DEFAULT_EMOJI_PRIORITIES_LIST","EMOJI_QUERY_REGEX","filterEmojiSuggestions","suggestions","frequentlyUsedEmojis","mergedEmojiList","emoji","a","b","aIndex","indexOf","id","bIndex","slice","EmojiSuggestionMenu","_React$Component","_classCallCheck","_len","args","_key","_callSuper","isLoading","selectedIndex","emojiSuggestions","_yield$emojiPickerApi","data","setState","emojiPickerApi","fetch","abrupt","t0","_callee2","_callee2$","_context2","query","SearchIndex","search","_callee3","_callee3$","_context3","searchEmoji","_callee4","_callee4$","_context4","deleteRange","range","setEmoji","_ref5","event","isEmpty","_ref6","_ref7","selectItem","_inherits","_createClass","componentDidMount","keys","JSON","parse","localStorage","getItem","fetchEmojiData","previewPosition","searchEmojiAndSetState","componentDidUpdate","oldProps","Spinner","isNotEmpty","skins","React","Component","EmojiSuggestionPluginKey","EmojiSuggestion","renderEmoji","renderText","_ref4","_emoji$skins$","suggestionConfig","input","lastKeyCode","onUpdate","_popup$","isArrowNavigation","test","updateProps","isNil","setProps","_reactRenderer","_popup$2","_reactRenderer2","imageSkeletonContainer","classList","add","imageSkeleton","appendChild","LARGE_IMAGE_ERROR","ImagePreviewModal","previewUrl","setPreviewUrl","setIsLoading","handleImageLoad","handleClose","Modal","closeButton","isOpen","isPresent","onClose","Close","alt","src","classNames","onLoad","DropdownMenu","align","border","deleteNode","showAspectRatio","menuOptions","buildImageOptions","handleClick","alignPos","borderToggle","buttonProps","MenuHorizontal","position","optionName","delay","customTarget","Tooltip","AspectRatio","ratio","aspectRatio","ImageComponent","_figureRef$current","getPos","figheight","figwidth","captionWidth","setCaptionWidth","figureRef","width","caption","editorElement","closest","maxImageWidth","offsetWidth","handleResizeStop","_event","_direction","setNodeMarkup","mergeRight","Resizable","lockAspectRatio","minWidth","onResizeStop","onResize","upload","file","url","_response$data","uploader","response","globalProps","endUserUploadedFileSizeLimitInMb","DirectUpload","blob_url","Error","_x2","findNextTextPos","foundPos","nodesBetween","nodePos","isTextblock","openImageInNewTab","isolating","_element$querySelecto","querySelector","_element$querySelecto2","_element$querySelecto3","_element$querySelecto4","_element$querySelecto5","_element$querySelecto6","wrapperDivAttrs","wrapperLinkPointerEventsStyle","heightStyle","wrapperLinkAttrs","href","rel","captionAttrs","contenteditable","setFigure","_objectWithoutProperties","_excluded","Enter","head","$head","tail","nextTextPos","ArrowUp","lineTop","coordsAtPos","caret","top","bottom","before","scrollIntoView","setSelection","Selection","near","handleDOMEvents","paste","_event$clipboardData","_event$clipboardData2","_view$state","$anchor","clipboardData","getData","hasFiles","files","_DOMParser$parseFromS","plainText","DOMParser","parseFromString","pasteText","images","image","emptyImageNode","imageNode","_view$state2","_tr","_doc","_tr2","Math","random","substring","DIRECT_UPLOAD_ENDPOINT","replaceWith","console","Toastr","limit","_x3","Italic","addInputRules","addPasteRules","KeyboardShortcuts","onSubmit","shortcuts","isBlockQuoteActive","ModEnter","getHTML","ModShiftB","toggleBlockquote","LINK_MARKDOWN_INPUT_REGEX","linkInputRule","config","defaultMarkInputRule","markInputRule","InputRule","find","handler","RangeError","withTrimmedLinkPaste","plugin","handlePaste","spec","trimmedText","trim","trimmedSlice","Slice","Fragment","Link","inclusive","title","_this$parent3","getAttributes","match","_match$pop","_match$pop2","pop","MentionList","_this$props","item","prevState","nextSelectedIndex","keyDownHandlers","upHandler","downHandler","enterHandler","Tab","tabHandler","prototype","hasOwnProperty","mentionRef","createRef","prevProps","scrollHandler","wrapperRef","imageUrl","role","active","Avatar","user","Typography","createMentionSuggestions","mentions","_ref$query","mention","toLowerCase","arrow","hide","_popup","Mentions","Mention","setMention","_ref3$suggestion","otherConfig","OrderedList","Placeholder","excludeNodeTypes","emptyEditorClass","emptyNodeClass","slashCommandsPlaceholder","showOnlyWhenEditable","showOnlyCurrent","includeChildren","isEditable","anchor","hasAnchor","isLeaf","isExcluded","classes","placeholderText","isSlashCommandsActive","isFocused","Document","selectedTextDecoration","oldState","remove","listeners","ArrowLeft","leftArrowHandler","ArrowRight","rightArrowHandler","selectedItem","hasCommand","_this$props2","menuIndex","setActiveMenuIndex","_this$props3","hasSubItems","menuRef","_this$props4","activeMenuIndex","isCurrentMenuActive","addEventListener","keydownHandler","componentWillUnmount","removeEventListener","_this$props5","_this$props6","isLeafNode","nodeElement","_createElement","onHover","Tippy","visible","onCreate","popper","onHide","isSubmenuOpened","onShow","forwardRef","onMouseEnter","CommandsList","MENU_ITEMS","EDITOR_OPTIONS","PARAGRAPH","description","TextP","setNode","BOLD","TextBold","toggleBold","ITALIC","TextItalic","toggleItalic","UNDERLINE","Underline","toggleUnderline","H1","TextH1","level","H2","TextH2","H3","TextH3","H4","TextH4","_ref8","H5","TextH5","_ref9","LIST_ORDERED","ListNumber","_ref0","toggleOrderedList","LIST_BULLETS","ListDot","_ref1","toggleBulletList","LINK","noop","NEETO_KB_ARTICLE","File","ATTACHMENTS","Attachment","TODO_LIST","Checkbox","_ref10","toggleTaskList","IMAGE_UPLOAD","ImageUpload","VIDEO_UPLOAD","Video","BLOCKQUOTE","Blockquote","_ref11","CODE_BLOCK","CodeBlock","_ref12","toggleCodeBlock","EMOJI","Smiley","_ref13","DIVIDER","Minus","_ref14","setHorizontalRule","PASTE_UNFORMATTED","Notes","_ref15","TABLE","Column","_ref16","insertTable","rows","cols","withHeaderRow","CALLOUT","MessageSquare","_ref17","_ref18","_ref19","_ref20","_ref21","_ref22","NO_RESULT_MENU_ITEM","_ref23","imageCommand","setMediaUploader","assoc","videoCommand","linkCommand","setIsAddLinkActive","attachmentCommand","attachmentProps","handleUploadAttachments","neetoKbArticleCommand","setIsNeetoKbArticleActive","cursorPos","buildCommandItems","addonCommands","commandItems","permittedCommandItems","adddonCommandItems","CommandsPluginKey","filteredItems","fuzzySearch","highlightFocussedNode","resetFocussedNode","SpecialMentionPluginKey","renderLabel","_node$attrs$label","SpecialMentions","updateColumns","colgroup","table","cellMinWidth","totalWidth","fixedWidth","nextDOM","row","i","col","_row$child$attrs","child","colspan","colwidth","j","hasWidth","cssWidth","nextSibling","parentNode","removeChild","TableView","_ref$className","_ref$handleClick","controller","onclick","querySelectorAll","_tr$firstChild","nodeName","th","td","dom","alignmentSuffix","textAlign","alignmentClass","wrapper","buildController","insertColumn","insertRow","contentDOM","update","_node$attrs2","currentAlignmentClass","ignoreMutation","mutation","contains","Table","TiptapTable","resizable","handleWidth","View","lastColumnResizable","allowTableNodeSelection","getAlignmentFromElement","dataAlign","priority","getAttrs","alignment","parentElement","parentAlignment","_this$options$cellMin","_this$options","colgroups","firstRow","cell","_cell$attrs","span","tableStyle","ModAltT","TodoListExtension","TaskList","ModShift9","TodoItemExtension","TaskItem","splitListItem","sinkListItem","ShiftTab","liftListItem","nested","MAX_VARIABLE_NAME_DISPLAY_LENGTH","VariableComponent","_variableName$substr","extension","variableName","shouldTruncate","charOpen","disabled","substr","charClose","Variable","setVariable","VideoComponent","vidheight","vidwidth","maxVideoWidth","handleResize","controls","preload","EmbedComponent","allowFullScreen","getSharedAttributes","tagName","iframe","video","videoType","getUploadAttributes","getEmbedAttributes","DEFAULT_ASPECT_RATIO","originalUrl","_iframe$querySelector","frameBorder","allow","allowfullscreen","renderEmbedHTML","renderUploadHTML","handleVideoPaste","TextSelection","validatedUrl","validateUrl","UnifiedVideoExtension","_figure$querySelector","_figure$querySelector2","figure","videoSrc","iframeSrc","fontWeight","setVideo","_excluded2","end","setExternalVideo","PasteRule","COMBINED_REGEX","useCustomExtensions","extensions","variables","keyboardShortcuts","openLinkInNewTab","enableReactNodeViewOptimization","collaborationProvider","customExtensions","CharacterCount","Code","CustomCommands","FigCaption","HighlightInternal","SelectionDecoration","Focus","mode","ImageExtension","StarterKit","code","bulletList","listItem","blockquote","orderedList","italic","link","underline","listKeymap","listTypes","itemName","wrapperNames","trailingNode","undoRedo","heading","levels","buildLevelsFromOptions","safeSplitBlock","TextStyle","TableRow","TableHeader","TableCell","TEXT_COLOR","HIGHLIGHT","Color","ListItem","Callout","SlashCommands","_collaborationProvide","Collaboration","CollaborationCaret","provider","ArticlesList","withT","_ref$articles","articles","onSelectArticle","_ref$highlightedIndex","highlightedIndex","containerRef","article","decodeHtmlEntities","NeetoUITypography","useArticleNavigation","articlesContainerRef","handleModalArticleSelect","searchTerm","setHighlightedIndex","container","highlightedItem","containerRect","getBoundingClientRect","itemRect","isItemAbove","isItemBelow","scrollTop","navigationHandlers","down","up","keyActions","Escape","shiftKey","handleKeyboardNavigation","action","ArticlePicker","_ref$mode","MODE","MODAL","externalIsLoading","externalOptions","onArticleSelect","setSearchTerm","modalRef","_useFetchKbArticles","useFetchKbArticles","reactQueryOptions","enabled","_useFetchKbArticles$d","isLoadingArticles","selectOptions","SELECT","createArticleOptions","articleWithUrl","full_url","buildArticleFullUrl","slug","_useArticleNavigation","handleSelectChange","selectedValue","formikHelpers","_selectedOption$data","selectedOption","modal","modalRect","modalWidth","modalHeight","maxLeft","innerWidth","maxTop","innerHeight","MODAL_BOTTOM_MARGIN","adjustedLeft","min","left","MODAL_LEFT_OFFSET","adjustedTop","MODAL_TOP_OFFSET","assign","transform","MODAL_TRANSFORM_Y","MODAL_TRANSFORM_X","handleClickOutside","Search","onSearch","NeetoUISpinner","Select","isSearchable","ArticleSelector","deletedArticlesHook","handleArticleSelect","detailedArticle","linkText","isDeleted","isArticleDeleted","linkMark","linkTextWithMark","shouldShowMergeCellToggler","CellSelection","_node$type","nodeRoleInTable","tableRole","rowspan","setTableAlignment","tableNode","tablePos","_tableNode","currentAttrs","newAttrs","tableActions","_editor$state","tooltipLabel","addRowAfter","InsertRow","addColumnAfter","InsertColumn","deleteRow","DeleteRow","isVisible","deleteColumn","DeleteColumn","mergeOrSplit","MergeSplit","isHidden","toggleHeaderRow","ToggleHeaderRow","deleteTable","DeleteTable","alignmentIcons","LeftAlign","center","CenterAlign","right","RightAlign","TableActionMenu","_editor$view$domAtPos","DOMRect","nodeType","shouldShow","BubbleMenu","getReferencedVirtualElement","offset","mainAxis","crossAxis","flip","_action$items","closeOnSelect","iconPosition","iconSize","IconComponent","KbArticleDeletedModal","Header","Body","Footer","KbArticleEdit","linkAttributes","getCurrentTextContent","getCurrentArticleOption","handleKbArticleSubmit","handleKeyDown","isLoadingKbData","setIsEditing","initialValues","pageSelection","Form","formikProps","enableReinitialize","dirty","isSubmitting","setFieldValue","values","required","unlimitedChars","loading","KbArticleView","onEdit","onDeletedClick","currentText","Articles","Edit","LinkPopOver","initialTextContent","arrowPosition","setArrowPosition","popoverPosition","setPopoverPosition","isEditing","_useState7","_useState8","isLinkActive","setIsLinkActive","_useState9","_useState0","setLinkAttributes","_useState1","_useState10","showDeletedModal","setShowDeletedModal","popoverRef","isNeetoKbArticle","updatePopoverPosition","_getLinkPopoverPositi","getLinkPopoverPosition","parseInt","handleUnlink","extendMarkRange","unsetLink","removePopover","popoverStyle","display","handleSubmit","urlString","openInNewTab","formattedUrl","validateAndFormatUrl","equals","setLink","_editor$view","getMarkType","$to","getMarkRange","_ref5$from","_ref5$to","_editor$view2","_ref7$from","_ref7$to","_editor$view3","_ref8$from","_ref8$to","useOnClickOutside","currentLinkAttributes","currentArticleOption","_ref9$from","_ref9$to","renderEditingMode","validationSchema","LINK_VALIDATION_SCHEMA","checked","renderEditingModeForKbArticle","renderViewModeForKbArticle","renderViewMode","renderPopoverContent","createPortal","Editor","_ref$addonCommands","_ref$addons","addons","_ref$attachments","attachments","_ref$attachmentsConfi","attachmentsConfig","_ref$autoFocus","contentClassName","contentWrapperClassName","errorWrapperClassName","_ref$contentAttribute","contentAttributes","menuClassName","attachmentsClassName","_ref$isMenuIndependen","isMenuIndependent","_ref$defaults","defaults","DEFAULT_EDITOR_OPTIONS","_ref$editorSecrets","editorSecrets","_ref$error","_ref$extensions","_ref$hideSlashCommand","hideSlashCommands","_ref$initialValue","initialValue","_ref$isCharacterCount","isCharacterCountActive","_ref$keyboardShortcut","_ref$label","_ref$mentions","_ref$menuType","menuType","_ref$required","_ref$rows","_ref$tooltips","tooltips","_ref$variables","_ref$disableTrimOnBlu","disableTrimOnBlur","_ref$onChange","_ref$onFocus","onFocus","_ref$onBlur","onBlur","_ref$onSubmit","_ref$onChangeAttachme","onChangeAttachments","_ref$openImageInNewTa","_ref$openLinkInNewTab","_ref$showAssetLibrary","showAssetLibrary","_ref$collaborationPro","_ref$enableReactNodeV","_ref$size","EDITOR_SIZES","SMALL","_ref$otherAttachmentP","otherAttachmentProps","otherProps","isAttachmentsUploading","setIsAttachmentsUploading","isArticleOptActive","isAttachmentsActive","isMediaUploaderActive","isFixedMenuActive","isBubbleMenuActive","isPlaceholderActive","isAddLinkActive","mediaUploader","neetoKbArticleState","setNeetoKbArticleState","addAttachmentsRef","_addAttachmentsRef$cu","isDisabled","debouncedOnChangeHandler","useFuncDebounce","isDestroyed","cancel","handleBlur","trimmedContent","removeEmptyTags","useEditorWarnings","editorClasses","LARGE","MEDIUM","ariaAttributes","useEditor","injectCSS","immediatelyRender","shouldRerenderOnTransaction","autofocus","editorProps","getEditorStyles","clipboardTextParser","transformPastedHTML","parseOptions","preserveWhitespace","setInitialPosition","useDeletedArticles","useImperativeHandle","_editor$commands$focu","EditorView","docView","updateStateInner","plugins","Label","slugify","isIndependant","MenuDynamicVariables","standalone","EditorContent","MediaUploader","Attachments","dragDropRef","isIndependent","setIsUploading","LinkAddPopOver","displayName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Editor.cjs.js","sources":["../../app/javascript/src/components/Common/ErrorWrapper.jsx","../../app/javascript/src/components/Editor/CustomExtensions/CharacterCount/index.jsx","../../app/javascript/src/components/Editor/CustomExtensions/BackgroundColor/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/BulletList/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/Callout/CalloutComponent.jsx","../../app/javascript/src/components/Editor/CustomExtensions/Callout/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/CodeBlock/constants.js","../../app/javascript/src/components/Editor/CustomExtensions/CodeBlock/plugins.js","../../app/javascript/src/components/Editor/CustomExtensions/CodeBlock/CodeBlockComponent.jsx","../../app/javascript/src/components/Editor/CustomExtensions/CodeBlock/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/CustomCommands/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/DeletedArticleDecoration/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/Emoji/EmojiPicker/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/Emoji/EmojiSuggestion/constants.js","../../app/javascript/src/components/Editor/CustomExtensions/Emoji/EmojiSuggestion/utils.js","../../app/javascript/src/components/Editor/CustomExtensions/Emoji/EmojiSuggestion/EmojiSuggestionMenu.jsx","../../app/javascript/src/components/Editor/CustomExtensions/Emoji/EmojiSuggestion/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/Image/constants.js","../../app/javascript/src/components/Editor/CustomExtensions/Image/ImagePreviewModal.jsx","../../app/javascript/src/components/Editor/CustomExtensions/Image/Menu.jsx","../../app/javascript/src/components/Editor/CustomExtensions/Image/ImageComponent.jsx","../../app/javascript/src/components/Editor/CustomExtensions/Image/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/Image/FigCaption.js","../../app/javascript/src/components/Editor/CustomExtensions/Italic/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/KeyboardShortcuts/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/Link/constants.js","../../app/javascript/src/components/Editor/CustomExtensions/Link/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/Mention/MentionList.jsx","../../app/javascript/src/components/Editor/CustomExtensions/Mention/utils.js","../../app/javascript/src/components/Editor/CustomExtensions/Mention/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/OrderedList/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/Placeholder/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/SelectionDecoration/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/SlashCommands/Menu.jsx","../../app/javascript/src/components/Editor/CustomExtensions/SlashCommands/CommandsList.jsx","../../app/javascript/src/components/Editor/CustomExtensions/SlashCommands/constants.js","../../app/javascript/src/components/Editor/CustomExtensions/SlashCommands/utils.js","../../app/javascript/src/components/Editor/CustomExtensions/SlashCommands/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/SpecialMentions/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/Table/TableView.js","../../app/javascript/src/components/Editor/CustomExtensions/Table/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/TodoList/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/Variable/constants.js","../../app/javascript/src/components/Editor/CustomExtensions/Variable/VariableComponent.jsx","../../app/javascript/src/components/Editor/CustomExtensions/Variable/ExtensionConfig.js","../../app/javascript/src/components/Editor/CustomExtensions/Video/VideoComponent.jsx","../../app/javascript/src/components/Editor/CustomExtensions/Embeds/EmbedComponent.jsx","../../app/javascript/src/components/Editor/CustomExtensions/Video/ExtensionConfig.jsx","../../app/javascript/src/components/Editor/CustomExtensions/hooks/useCustomExtensions.js","../../app/javascript/src/components/Editor/CustomExtensions/LinkKbArticles/ArticlesList.jsx","../../app/javascript/src/components/Editor/CustomExtensions/LinkKbArticles/hooks/useArticleNavigation.js","../../app/javascript/src/components/Editor/CustomExtensions/LinkKbArticles/ArticlePicker.jsx","../../app/javascript/src/components/Editor/CustomExtensions/LinkKbArticles/ArticleSelector.jsx","../../app/javascript/src/components/Editor/CustomExtensions/Table/utils.js","../../app/javascript/src/components/Editor/CustomExtensions/Table/TableActionMenu.jsx","../../app/javascript/src/components/Editor/CustomExtensions/LinkKbArticles/KbArticleDeletedModal.jsx","../../app/javascript/src/components/Editor/CustomExtensions/LinkKbArticles/KbArticleEdit.jsx","../../app/javascript/src/components/Editor/CustomExtensions/LinkKbArticles/KbArticleView.jsx","../../app/javascript/src/components/Editor/LinkPopOver.jsx","../../app/javascript/src/components/Editor/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNotPresent } from \"neetocist\";\nimport { is } from \"ramda\";\n\nconst ErrorWrapper = ({ error, children, className }) => {\n const isError = !isNotPresent(error);\n const wrapperClasses = classnames({\n \"neeto-editor-error\": isError,\n [className]: className,\n });\n\n const getErrorMessage = () => {\n if (!error) return null;\n\n let message;\n\n if (is(String, error)) {\n message = error;\n } else if (is(Array, error)) {\n message = error[0];\n } else if (is(Object, error)) {\n message = error.message;\n }\n\n if (isNotPresent(message)) return null;\n\n return message;\n };\n\n return (\n <>\n <div className={wrapperClasses}>{children}</div>\n {isError && (\n <p className=\"neeto-ui-input__error\" data-testid=\"neeto-editor-error-text\">\n {getErrorMessage()}\n </p>\n )}\n </>\n );\n};\n\nexport default memo(ErrorWrapper);\n","import { useEditorState } from \"@tiptap/react\";\n\nconst CharacterCountWrapper = ({ editor, children }) => {\n const characters = useEditorState({\n editor,\n selector: ({ editor }) => editor?.storage.characterCount.characters() ?? 0,\n });\n\n if (!editor) return children;\n\n return (\n <>\n {children}\n <p\n className=\"neeto-editor-character-count\"\n data-testid=\"neeto-editor-character-count\"\n >\n {characters} characters\n </p>\n </>\n );\n};\n\nexport default CharacterCountWrapper;\n","import { Extension } from \"@tiptap/core\";\nimport \"@tiptap/extension-text-style\";\n\nexport default Extension.create({\n name: \"HighlightInternal\",\n\n addOptions() {\n return { types: [\"textStyle\"] };\n },\n\n addGlobalAttributes() {\n return [\n {\n types: this.options.types,\n attributes: {\n backgroundColor: {\n default: null,\n parseHTML: element =>\n element.style.backgroundColor.replace(/['\"]+/g, \"\"),\n renderHTML: attributes => {\n if (!attributes.backgroundColor) {\n return {};\n }\n\n return {\n style: `background-color: ${attributes.backgroundColor}`,\n };\n },\n },\n },\n },\n ];\n },\n\n addCommands() {\n return {\n setHighlightInternal:\n color =>\n ({ chain }) =>\n chain().setMark(\"textStyle\", { backgroundColor: color }).run(),\n unsetHighlightInternal:\n () =>\n ({ chain }) =>\n chain().setMark(\"textStyle\", { backgroundColor: null }).run(),\n };\n },\n});\n","import { BulletList } from \"@tiptap/extension-list\";\n\nexport default BulletList.configure({\n HTMLAttributes: { class: \"bulletList\" },\n itemTypeName: \"listItem\",\n});\n","import { NodeViewContent, NodeViewWrapper } from \"@tiptap/react\";\nimport { findBy } from \"neetocist\";\nimport { Megaphone } from \"neetoicons/misc\";\n\nimport { CALLOUT_TYPES } from \"components/Editor/Menu/Fixed/components/CalloutDropdown/constants\";\n\nconst CalloutComponent = ({ node }) => {\n const { type } = node.attrs;\n const Icon = findBy({ type }, CALLOUT_TYPES)?.icon || Megaphone;\n\n return (\n <NodeViewWrapper\n className={`neeto-editor__callout neeto-editor__callout--${type} group`}\n data-emoji={type}\n >\n <div className=\"callout-container\">\n <span className=\"callout-emoji\">\n <Icon />\n </span>\n <NodeViewContent\n className=\"callout-content\"\n data-testid=\"callout-content\"\n />\n </div>\n </NodeViewWrapper>\n );\n};\n\nexport default CalloutComponent;\n","import { Node, mergeAttributes } from \"@tiptap/core\";\nimport { ReactNodeViewRenderer } from \"@tiptap/react\";\nimport { findBy } from \"neetocist\";\nimport { Megaphone } from \"neetoicons/misc\";\nimport ReactDOM from \"react-dom/server\";\n\nimport { CALLOUT_TYPES } from \"components/Editor/Menu/Fixed/components/CalloutDropdown/constants\";\n\nimport CalloutComponent from \"./CalloutComponent\";\n\nexport default Node.create({\n name: \"callout\",\n\n inline: false,\n\n group: \"block\",\n\n content: \"block+\",\n\n defining: true,\n\n draggable: true,\n\n addAttributes() {\n return {\n type: {\n default: \"default\",\n parseHTML: element => element.getAttribute(\"data-type\") || \"default\",\n renderHTML: attributes => ({ \"data-type\": attributes.type }),\n },\n };\n },\n\n parseHTML() {\n return [{ tag: \"div[data-emoji]\", contentElement: \".callout-content\" }];\n },\n\n renderHTML({ HTMLAttributes, node }) {\n const { type } = node.attrs;\n const Icon = findBy({ type }, CALLOUT_TYPES)?.icon || Megaphone;\n // eslint-disable-next-line react/jsx-filename-extension\n const svgString = ReactDOM.renderToStaticMarkup(<Icon />);\n\n const svgContainer = document.createElement(\"div\");\n svgContainer.innerHTML = svgString;\n const svgNode = svgContainer.firstChild;\n\n return [\n \"div\",\n mergeAttributes(this.options.HTMLAttributes, HTMLAttributes, {\n class: `neeto-editor__callout neeto-editor__callout--${type}`,\n \"data-emoji\": type,\n }),\n [\n \"div\",\n { class: \"callout-container\" },\n [\"span\", { class: \"callout-emoji\" }, svgNode],\n [\"div\", { class: \"callout-content\" }, 0],\n ],\n ];\n },\n\n addNodeView() {\n return ReactNodeViewRenderer(CalloutComponent);\n },\n\n addCommands() {\n return {\n setCallout:\n (attributes = {}) =>\n ({ chain }) => {\n const { type = \"default\" } = attributes;\n\n return chain()\n .toggleWrap(this.name, { type })\n .command(({ tr, state, dispatch }) => {\n const { selection } = state;\n const { $from } = selection;\n\n const calloutNode = $from.node($from.depth - 1);\n\n if (calloutNode?.type.name === \"callout\") {\n const pos = $from.after($from.depth - 1);\n const nextNode = state.doc.nodeAt(pos);\n\n if (!nextNode || nextNode.type.name !== \"paragraph\") {\n tr.insert(pos, state.schema.nodes.paragraph.create());\n }\n }\n\n if (dispatch) {\n dispatch(tr);\n }\n\n return true;\n })\n .focus()\n .run();\n },\n };\n },\n\n addKeyboardShortcuts() {\n return {\n Backspace: () => {\n const { state, commands } = this.editor;\n const { $from, empty } = state.selection;\n\n if (!empty) return false;\n\n if ($from.parentOffset === 0) {\n const currentNode = $from.parent;\n\n if (currentNode.content.size === 0) {\n return commands.lift(this.name);\n }\n\n const calloutNode = $from.node($from.depth - 1);\n if (calloutNode?.type.name === \"callout\") {\n return commands.lift(this.name);\n }\n }\n\n return false;\n },\n ArrowDown: () => {\n const { state, commands } = this.editor;\n const { $from, empty } = state.selection;\n\n if (!empty) return false;\n\n const currentNode = $from.parent;\n const calloutNode = $from.node($from.depth - 1);\n\n if (calloutNode?.type.name === \"callout\") {\n const isAtEnd = $from.parentOffset === currentNode.content.size;\n\n const calloutContent = calloutNode.content;\n const currentNodeIndex = $from.index($from.depth - 1);\n const isLastNode = currentNodeIndex === calloutContent.childCount - 1;\n\n if (isAtEnd && isLastNode) {\n const pos = $from.after($from.depth - 1);\n\n if (pos < state.doc.content.size) {\n const nextNode = state.doc.nodeAt(pos);\n if (nextNode) {\n const endPos = pos + nextNode.nodeSize - 1;\n\n return commands.setTextSelection(endPos);\n }\n\n return commands.setTextSelection(pos);\n }\n\n return (\n commands.insertContentAt(pos, { type: \"paragraph\" }) &&\n commands.setTextSelection(pos + 1)\n );\n }\n }\n\n return false;\n },\n };\n },\n});\n","import { t } from \"i18next\";\nimport { lowlight } from \"lowlight\";\n\nexport const SORTED_LANGUAGE_LIST = [\n ...lowlight.listLanguages(),\n \"html\",\n].sort();\n\nexport const LINE_NUMBER_OPTIONS = [\n { label: t(\"neetoEditor.codeblock.showLineNumbers\"), value: \"true\" },\n { label: t(\"neetoEditor.codeblock.hideLineNumbers\"), value: \"false\" },\n];\n","/* eslint-disable @bigbinary/neeto/file-name-and-export-name-standards */\nimport { Plugin, PluginKey } from \"prosemirror-state\";\nimport { Decoration, DecorationSet } from \"prosemirror-view\";\n\nconst codeBlockHighlightKey = new PluginKey(\"codeBlockHighlight\");\n\nfunction createLineDecoration(from, lineNumber) {\n return Decoration.widget(from, view => {\n const line = document.createElement(\"div\");\n line.className = \"highlighted-line\";\n line.setAttribute(\"data-line-number\", lineNumber.toString());\n\n // Set the height of the highlight to match the line height\n const lineElement = view.domAtPos(from).node;\n if (lineElement instanceof Element) {\n const lineHeight = window.getComputedStyle(lineElement).lineHeight;\n line.style.height = lineHeight;\n }\n\n return line;\n });\n}\n\nfunction getLineRanges(node, pos) {\n const lines = node.textContent.split(\"\\n\");\n let currentPos = pos + 1; // +1 to skip the opening tag of the code block\n\n return lines.map((line, index) => {\n const from = currentPos;\n const to = from + line.length; // +1 for newline, except last line\n currentPos = to + (index < lines.length - 1 ? 1 : 0);\n\n return { from, to, lineNumber: index + 1 };\n });\n}\n\nconst codeBlockHighlightPlugin = new Plugin({\n key: codeBlockHighlightKey,\n state: {\n init() {\n return DecorationSet.empty;\n },\n apply(tr, set) {\n set = set.map(tr.mapping, tr.doc);\n\n if (tr.getMeta(codeBlockHighlightKey)) {\n const decorations = [];\n tr.doc.descendants((node, pos) => {\n if (node.type.name !== \"codeBlock\") return;\n\n const highlightedLines = node.attrs.highlightedLines || [];\n const lineRanges = getLineRanges(node, pos);\n\n lineRanges.forEach(({ from, lineNumber }) => {\n if (highlightedLines.includes(lineNumber)) {\n decorations.push(createLineDecoration(from, lineNumber));\n }\n });\n });\n\n return DecorationSet.create(tr.doc, decorations);\n }\n\n return set;\n },\n },\n props: {\n decorations(state) {\n return this.getState(state);\n },\n },\n});\n\nexport { codeBlockHighlightPlugin, codeBlockHighlightKey };\n","import React, { useRef, useState, useCallback, useEffect } from \"react\";\n\nimport { NodeViewWrapper, NodeViewContent } from \"@tiptap/react\";\nimport { Down, Highlight } from \"neetoicons\";\nimport CopyToClipboardButton from \"neetomolecules/CopyToClipboardButton\";\nimport { Dropdown, Input, Button } from \"neetoui\";\nimport { difference, intersection, union } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { LINE_NUMBER_OPTIONS, SORTED_LANGUAGE_LIST } from \"./constants\";\nimport { codeBlockHighlightKey } from \"./plugins\";\n\nconst { Menu, MenuItem } = Dropdown;\n\nconst CodeBlockComponent = ({ node, editor, updateAttributes }) => {\n const [keyword, setKeyword] = useState(\"\");\n const [showHighlightButton, setShowHighlightButton] = useState(false);\n const [showLineNumbers, setShowLineNumbers] = useState(\n node.attrs.linenumbers\n );\n const ref = useRef();\n\n const { t } = useTranslation();\n\n const filteredAndSortedLanguageList = SORTED_LANGUAGE_LIST.filter(language =>\n language.includes(keyword)\n );\n\n const handleLanguageSelect = language => {\n updateAttributes({ language });\n setKeyword(\"\");\n editor?.commands?.focus();\n };\n\n const handleContentMount = node => {\n if (ref.current && node?.offsetHeight) {\n ref.current.style.minHeight = `${node.offsetHeight}px`;\n }\n };\n\n const handleSelectionChange = useCallback(() => {\n const { from, to } = editor.state.selection;\n const isCodeBlockSelected = editor.isActive(\"codeBlock\");\n setShowHighlightButton(isCodeBlockSelected && from !== to);\n }, [editor]);\n\n useEffect(() => {\n editor.on(\"selectionUpdate\", handleSelectionChange);\n\n return () => {\n editor.off(\"selectionUpdate\", handleSelectionChange);\n };\n }, [editor, handleSelectionChange]);\n\n useEffect(() => {\n editor.view.dispatch(editor.state.tr.setMeta(codeBlockHighlightKey, true));\n }, []);\n\n const handleHighlight = () => {\n const { from, to } = editor.state.selection;\n const $from = editor.state.doc.resolve(from);\n\n const codeBlock = $from.node($from.depth);\n const codeBlockStart = $from.start($from.depth);\n\n const textBeforeSelection = codeBlock.textBetween(0, from - codeBlockStart);\n const startLine = textBeforeSelection.split(\"\\n\").length;\n const selectedText = codeBlock.textBetween(\n from - codeBlockStart,\n to - codeBlockStart\n );\n const selectedLines = selectedText.split(\"\\n\");\n\n const newSelectedLines = selectedLines.map((_, index) => startLine + index);\n const currentHighlightedLines = codeBlock.attrs.highlightedLines || [];\n\n // Check the overlap between new selection and current highlights\n const overlapLines = intersection(\n currentHighlightedLines,\n newSelectedLines\n );\n\n let highlightedLines;\n\n if (overlapLines.length === newSelectedLines.length) {\n // If the new selection is entirely within currently highlighted lines,\n // remove the highlight from the selected lines\n highlightedLines = difference(currentHighlightedLines, newSelectedLines);\n } else {\n // Add unhighlighted lines in the new selection to the highlight list\n highlightedLines = union(currentHighlightedLines, newSelectedLines);\n }\n\n editor.commands.updateAttributes(codeBlock.type, { highlightedLines });\n // Trigger the plugin to update decorations\n editor.view.dispatch(editor.state.tr.setMeta(codeBlockHighlightKey, true));\n };\n\n return (\n <NodeViewWrapper\n className=\"ne-codeblock-nodeview-wrapper\"\n data-testid=\"neeto-editor-code-block\"\n >\n <div {...{ ref }}>\n <pre ref={handleContentMount}>\n <div\n className=\"neeto-editor-codeblock-options\"\n contentEditable={false}\n >\n <Dropdown\n appendTo={() => document.body}\n buttonSize=\"small\"\n buttonStyle=\"tertiary\"\n icon={Down}\n strategy=\"fixed\"\n zIndex={99999}\n label={\n showLineNumbers === \"true\"\n ? LINE_NUMBER_OPTIONS[0].label\n : LINE_NUMBER_OPTIONS[1].label\n }\n >\n <Menu className=\"neeto-editor-codeblock-options__menu\">\n {LINE_NUMBER_OPTIONS.map(({ label, value }) => (\n <MenuItem.Button\n key={label}\n onClick={() => {\n setShowLineNumbers(value);\n updateAttributes({ linenumbers: value });\n }}\n >\n {label}\n </MenuItem.Button>\n ))}\n </Menu>\n </Dropdown>\n <Dropdown\n appendTo={() => document.body}\n buttonSize=\"small\"\n buttonStyle=\"tertiary\"\n icon={Down}\n label={node.attrs?.language || t(\"neetoEditor.common.auto\")}\n strategy=\"fixed\"\n zIndex={99999}\n >\n <Input\n autoFocus\n className=\"neeto-editor-codeblock-options__input\"\n placeholder={t(\"neetoEditor.placeholders.searchLanguages\")}\n size=\"small\"\n value={keyword}\n onChange={e => setKeyword(e.target.value)}\n onClick={e => {\n e.preventDefault();\n e.stopPropagation();\n }}\n />\n <Menu className=\"neeto-editor-codeblock-options__menu\">\n {filteredAndSortedLanguageList.map(language => (\n <MenuItem.Button\n key={language}\n onClick={() => handleLanguageSelect(language)}\n >\n {language || t(\"neetoEditor.common.auto\")}\n </MenuItem.Button>\n ))}\n </Menu>\n </Dropdown>\n <CopyToClipboardButton\n size=\"small\"\n style=\"tertiary\"\n value={node?.content?.content[0]?.text}\n />\n {showHighlightButton && (\n <Button\n icon={Highlight}\n size=\"small\"\n style=\"tertiary\"\n tooltipProps={{ content: t(\"neetoEditor.menu.highlight\") }}\n onClick={handleHighlight}\n />\n )}\n </div>\n <NodeViewContent as=\"code\" />\n </pre>\n </div>\n </NodeViewWrapper>\n );\n};\n\nexport default CodeBlockComponent;\n","import CodeBlockLowlight from \"@tiptap/extension-code-block-lowlight\";\nimport { ReactNodeViewRenderer } from \"@tiptap/react\";\nimport { lowlight } from \"lowlight\";\n\nimport CodeBlockComponent from \"./CodeBlockComponent\";\nimport { codeBlockHighlightPlugin } from \"./plugins\";\n\nexport default CodeBlockLowlight.extend({\n addAttributes() {\n return {\n ...this.parent?.(),\n highlightedLines: {\n default: [],\n parseHTML: element =>\n element.dataset.highlightedLines\n ?.split(\",\")\n .map(Number)\n .filter(Boolean) || [],\n renderHTML: attributes => ({\n \"data-highlighted-lines\":\n attributes.highlightedLines?.join(\",\") ?? \"\",\n }),\n },\n linenumbers: {\n default: \"false\",\n parseHTML: element => element.dataset.linenumbers || \"false\",\n renderHTML: attributes =>\n attributes.linenumbers === \"true\"\n ? { \"data-linenumbers\": \"true\" }\n : {},\n },\n };\n },\n addProseMirrorPlugins() {\n return [...(this.parent?.() || []), codeBlockHighlightPlugin];\n },\n addNodeView() {\n return ReactNodeViewRenderer(CodeBlockComponent);\n },\n}).configure({ lowlight, defaultLanguage: \"plaintext\" });\n","import { Extension } from \"@tiptap/core\";\n\nexport default Extension.create({\n name: \"paste-unformatted\",\n\n addCommands() {\n return {\n pasteUnformatted:\n () =>\n async ({ editor }) => {\n const text = await navigator.clipboard.readText();\n editor.commands.insertContent(text);\n },\n };\n },\n});\n","import { Extension } from \"@tiptap/core\";\nimport { Plugin, PluginKey } from \"@tiptap/pm/state\";\nimport { Decoration, DecorationSet } from \"@tiptap/pm/view\";\n\nconst DeletedArticleDecoration = Extension.create({\n name: \"deletedArticleDecoration\",\n\n addOptions() {\n return { deletedArticleIds: new Set() };\n },\n\n addProseMirrorPlugins() {\n return [\n new Plugin({\n key: new PluginKey(\"deletedArticleDecoration\"),\n props: {\n decorations: ({ doc }) => {\n const decorations = [];\n\n doc.descendants((node, pos) => {\n if (!node.marks) return;\n\n node.marks.forEach(mark => {\n if (\n !(\n mark.type.name === \"link\" &&\n mark.attrs[\"data-neeto-kb-article\"] === \"true\" &&\n mark.attrs[\"data-article-id\"]\n )\n ) {\n return;\n }\n\n const articleId = mark.attrs[\"data-article-id\"];\n if (!this.options.deletedArticleIds.has(articleId)) return;\n\n const decoration = Decoration.inline(pos, pos + node.nodeSize, {\n \"data-article-deleted\": \"true\",\n class: \"neeto-kb-article-deleted\",\n });\n decorations.push(decoration);\n });\n });\n\n return DecorationSet.create(doc, decorations);\n },\n },\n }),\n ];\n },\n\n addCommands() {\n return {\n updateDeletedArticles: deletedArticleIds => () => {\n this.options.deletedArticleIds = deletedArticleIds;\n this.editor.view.updateState(this.editor.state);\n\n return true;\n },\n };\n },\n});\n\nexport default DeletedArticleDecoration;\n","import { Node } from \"@tiptap/core\";\nimport { PluginKey } from \"@tiptap/pm/state\";\nimport { ReactRenderer } from \"@tiptap/react\";\nimport Suggestion from \"@tiptap/suggestion\";\nimport tippy from \"tippy.js\";\n\nimport EmojiPickerMenu from \"./EmojiPickerMenu\";\n\nconst EmojiPickerPluginKey = new PluginKey(\"emoji-picker\");\n\nconst EmojiPicker = Node.create({\n name: \"emojiPicker\",\n\n group: \"inline\",\n\n inline: true,\n\n selectable: false,\n\n atom: true,\n\n addOptions() {\n return {\n suggestion: {\n char: \"::\",\n startOfLine: false,\n pluginKey: EmojiPickerPluginKey,\n items: () => [],\n\n render: () => {\n let reactRenderer;\n let popup;\n\n return {\n onStart(props) {\n reactRenderer = new ReactRenderer(EmojiPickerMenu, {\n props,\n editor: props.editor,\n });\n\n popup = tippy(\"body\", {\n theme: \"light\",\n getReferenceClientRect: props.clientRect,\n appendTo: () => document.body,\n content: reactRenderer.element,\n showOnCreate: true,\n interactive: true,\n trigger: \"manual\",\n placement: \"bottom-start\",\n zIndex: 99999,\n });\n },\n\n onKeyDown(props) {\n return reactRenderer.ref?.onKeyDown(props);\n },\n\n onExit() {\n popup[0].destroy();\n reactRenderer.destroy();\n },\n };\n },\n },\n };\n },\n\n addProseMirrorPlugins() {\n return [Suggestion({ editor: this.editor, ...this.options.suggestion })];\n },\n});\n\nexport default EmojiPicker;\n","export const DEFAULT_EMOJI_PRIORITIES_LIST = [\n \"+1\",\n \"-1\",\n \"heart\",\n \"heart_eyes\",\n \"tada\",\n \"partying_face\",\n \"joy\",\n \"sob\",\n \"white_frowning_face\",\n \"rocket\",\n \"eyes\",\n \"raised_hands\",\n \"open_mouth\",\n];\n\nexport const EMOJI_QUERY_REGEX = /^[a-z0-9_+-]+$/i;\n","import { DEFAULT_EMOJI_PRIORITIES_LIST } from \"./constants\";\n\nexport const filterEmojiSuggestions = (suggestions, frequentlyUsedEmojis) => {\n const mergedEmojiList = DEFAULT_EMOJI_PRIORITIES_LIST.concat(\n frequentlyUsedEmojis.filter(\n emoji => !DEFAULT_EMOJI_PRIORITIES_LIST.includes(emoji)\n )\n );\n\n return suggestions\n .sort((a, b) => {\n const aIndex = mergedEmojiList.indexOf(a.id);\n const bIndex = mergedEmojiList.indexOf(b.id);\n if (aIndex === -1 && bIndex === -1) {\n return 0;\n } else if (aIndex === -1) {\n return 1;\n } else if (bIndex === -1) {\n return -1;\n }\n\n return aIndex - bIndex;\n })\n .slice(0, 5);\n};\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { init, SearchIndex } from \"emoji-mart\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Spinner } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\n\nimport emojiPickerApi from \"apis/emoji_picker\";\n\nimport { filterEmojiSuggestions } from \"./utils\";\n\nclass EmojiSuggestionMenu extends React.Component {\n state = {\n isLoading: false,\n selectedIndex: 0,\n emojiSuggestions: [],\n frequentlyUsedEmojis: {},\n };\n\n componentDidMount() {\n this.setState({\n frequentlyUsedEmojis: Object.keys(\n JSON.parse(localStorage.getItem(\"emoji-mart.frequently\") || \"{}\")\n ),\n });\n\n init({\n data: this.fetchEmojiData,\n theme: \"light\",\n previewPosition: \"none\",\n });\n this.searchEmojiAndSetState();\n }\n\n componentDidUpdate(oldProps) {\n if (this.props.query !== oldProps.query) {\n this.searchEmojiAndSetState();\n }\n }\n\n fetchEmojiData = async () => {\n this.setState({ isLoading: true });\n try {\n const { data } = await emojiPickerApi.fetch();\n this.setState({ isLoading: false });\n\n return data;\n } catch {\n this.setState({ isLoading: false });\n\n return {};\n }\n };\n\n searchEmoji = async () =>\n this.props.query ? SearchIndex.search(this.props.query) : [];\n\n searchEmojiAndSetState = async () => {\n try {\n const suggestions = await this.searchEmoji();\n const frequentlyUsedEmojis = this.state.frequentlyUsedEmojis;\n this.setState({\n emojiSuggestions: filterEmojiSuggestions(\n suggestions,\n frequentlyUsedEmojis\n ),\n });\n } catch {\n this.setState({ emojiSuggestions: [] });\n }\n };\n\n setEditorState = async () => {\n const suggestions = await this.searchEmoji();\n this.props.editor\n .chain()\n .focus()\n .deleteRange(this.props.range)\n .setEmoji(suggestions[0])\n .run();\n };\n\n onKeyDown = ({ event }) => {\n if (isEmpty(this.state.emojiSuggestions)) {\n return false;\n }\n\n if (event.key === \"ArrowLeft\" || event.key === \"ArrowDown\") {\n this.setState(({ selectedIndex, emojiSuggestions }) => ({\n selectedIndex:\n (selectedIndex + emojiSuggestions.length - 1) %\n emojiSuggestions.length,\n }));\n\n return true;\n }\n\n if (event.key === \"ArrowRight\" || event.key === \"ArrowUp\") {\n this.setState(({ selectedIndex, emojiSuggestions }) => ({\n selectedIndex: (selectedIndex + 1) % emojiSuggestions.length,\n }));\n\n return true;\n }\n\n if (event.key === \"Enter\") {\n this.selectItem(this.state.selectedIndex);\n\n return true;\n }\n\n if (event.key === \"Escape\") {\n this.props.editor.chain().focus().insertContent(\" \").run();\n\n return true;\n }\n\n return false;\n };\n\n selectItem = index => {\n this.props.editor\n .chain()\n .focus()\n .deleteRange(this.props.range)\n .setEmoji(this.state.emojiSuggestions[index])\n .run();\n };\n\n render() {\n if (isEmpty(this.state.emojiSuggestions)) {\n return null;\n }\n\n return (\n <div className=\"neeto-editor-emoji-suggestion\">\n {this.state.isLoading && <Spinner />}\n {!this.state.isLoading &&\n (isNotEmpty(this.state.emojiSuggestions) ? (\n this.state.emojiSuggestions.map((emoji, index) => (\n <div\n data-testid={`neeto-editor-emoji-suggestion-${emoji.id}`}\n key={emoji.id}\n className={classnames(\"neeto-editor-emoji-suggestion__item\", {\n \"neeto-editor-emoji-suggestion__item--selected\":\n index === this.state.selectedIndex,\n })}\n onClick={() => this.selectItem(index)}\n >\n {emoji.skins[0].native}\n </div>\n ))\n ) : (\n <p>No results</p>\n ))}\n </div>\n );\n }\n}\n\nexport default EmojiSuggestionMenu;\n","import { Node, mergeAttributes } from \"@tiptap/core\";\nimport { PluginKey } from \"@tiptap/pm/state\";\nimport { ReactRenderer } from \"@tiptap/react\";\nimport Suggestion from \"@tiptap/suggestion\";\nimport { isNil } from \"ramda\";\nimport tippy from \"tippy.js\";\n\nimport { EMOJI_QUERY_REGEX } from \"./constants\";\nimport EmojiSuggestionMenu from \"./EmojiSuggestionMenu\";\n\nconst EmojiSuggestionPluginKey = new PluginKey(\"emoji-suggestion\");\nconst EmojiSuggestion = Node.create({\n name: \"emojiSuggestion\",\n\n group: \"inline\",\n\n inline: true,\n\n selectable: false,\n\n atom: true,\n\n addOptions() {\n return {\n HTMLAttributes: { class: \"neeto-editor-emoji\" },\n renderEmoji({ node }) {\n return node.attrs.label;\n },\n suggestion: {},\n };\n },\n\n addAttributes() {\n return {\n label: {\n default: null,\n parseHTML: element => element.getAttribute(\"data-label\"),\n renderHTML: attributes => {\n if (!attributes.label) {\n return {};\n }\n\n return { \"data-label\": attributes.label };\n },\n },\n };\n },\n\n parseHTML() {\n return [{ tag: \"span[data-emoji]\" }];\n },\n\n renderHTML({ node, HTMLAttributes }) {\n return [\n \"span\",\n mergeAttributes(\n { \"data-emoji\": \"\" },\n this.options.HTMLAttributes,\n HTMLAttributes\n ),\n this.options.renderEmoji({ node }),\n ];\n },\n\n renderText({ node }) {\n return this.options.renderEmoji({ node });\n },\n\n addCommands() {\n return {\n setEmoji:\n emoji =>\n ({ chain }) =>\n chain()\n .focus()\n .insertContent([\n {\n type: this.name,\n attrs: {\n label: emoji?.native || emoji?.skins[0]?.native || \"\",\n },\n },\n { type: \"text\", text: \" \" },\n ])\n .run(),\n };\n },\n\n addProseMirrorPlugins() {\n return [Suggestion({ editor: this.editor, ...this.options.suggestion })];\n },\n});\n\nconst suggestionConfig = {\n char: \":\",\n startOfLine: false,\n pluginKey: EmojiSuggestionPluginKey,\n command: ({ editor, range, props }) => {\n editor.chain().focus().deleteRange(range).setEmoji(props).run();\n },\n\n items: () => [],\n\n render: () => {\n let reactRenderer;\n let popup;\n\n return {\n onStart(props) {\n if (props.editor.view.input.lastKeyCode === 37) {\n reactRenderer = null;\n popup = null;\n }\n },\n\n onUpdate(props) {\n const isArrowNavigation =\n props.editor.view.input.lastKeyCode === 39 ||\n props.editor.view.input.lastKeyCode === 37;\n\n if (\n !isArrowNavigation &&\n props.query.length === 1 &&\n EMOJI_QUERY_REGEX.test(props.query)\n ) {\n reactRenderer = new ReactRenderer(EmojiSuggestionMenu, {\n props,\n editor: props.editor,\n });\n\n popup = tippy(\"body\", {\n theme: \"light\",\n getReferenceClientRect: props.clientRect,\n appendTo: () => document.body,\n content: reactRenderer.element,\n showOnCreate: true,\n interactive: true,\n trigger: \"manual\",\n placement: \"top-start\",\n zIndex: 99999,\n });\n }\n reactRenderer && reactRenderer.updateProps(props);\n\n !isNil(popup) &&\n popup[0]?.setProps({\n getReferenceClientRect: props.clientRect,\n });\n },\n\n onKeyDown(props) {\n return reactRenderer?.ref?.onKeyDown(props);\n },\n\n onExit() {\n !isNil(popup) && popup[0]?.destroy();\n reactRenderer?.destroy();\n reactRenderer = null;\n },\n };\n },\n};\n\nexport default EmojiSuggestion.configure({ suggestion: suggestionConfig });\n","import \"src/styles/editor/_image-skeleton.scss\";\n\nconst imageSkeletonContainer = document.createElement(\"div\");\nimageSkeletonContainer.classList.add(\"neeto-editor-image__skeleton\");\n\nconst imageSkeleton = document.createElement(\"div\");\nimageSkeleton.classList.add(\"skeleton\");\n\nimageSkeletonContainer.appendChild(imageSkeleton);\n\nexport const IMAGE_PLACEHOLDER = imageSkeletonContainer;\n\nexport const LARGE_IMAGE_ERROR = \"IMAGE_SIZE_LARGER\";\n","import { useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { Close } from \"neetoicons\";\nimport { Button, Modal, Spinner } from \"neetoui\";\nimport { isNil } from \"ramda\";\n\nconst ImagePreviewModal = ({ previewUrl, setPreviewUrl }) => {\n const [isLoading, setIsLoading] = useState(true);\n\n const handleImageLoad = () => setIsLoading(false);\n\n const handleClose = () => {\n setIsLoading(true);\n setPreviewUrl(null);\n };\n\n return (\n <Modal\n className=\"image-preview-neeto-ui-modal\"\n closeButton={false}\n isOpen={isPresent(previewUrl)}\n size=\"fullScreen\"\n onClose={handleClose}\n >\n <>\n {isLoading || isNil(previewUrl) ? (\n <div className=\"spinner-wrapper\">\n <Spinner className=\"spinner\" theme=\"light\" />\n </div>\n ) : (\n <Button\n className=\"image-preview-neeto-ui-modal__close-btn\"\n icon={Close}\n style=\"secondary\"\n onClick={handleClose}\n onKeyDown={e => e.key === \"Escape\" && handleClose}\n />\n )}\n <img\n alt=\"Preview\"\n src={previewUrl}\n className={classNames({\n \"display-none\": isLoading || isNil(previewUrl),\n })}\n onLoad={handleImageLoad}\n />\n </>\n </Modal>\n );\n};\n\nexport default ImagePreviewModal;\n","import { MenuHorizontal, AspectRatio, Down } from \"neetoicons\";\nimport { Button, Dropdown, Tooltip } from \"neetoui\";\n\nimport { buildImageOptions } from \"../../MediaUploader/utils\";\n\nconst { Menu: DropdownMenu, MenuItem } = Dropdown;\n\nconst Menu = ({\n align,\n border,\n editor,\n updateAttributes,\n deleteNode,\n showAspectRatio,\n}) => {\n const menuOptions = buildImageOptions(border, showAspectRatio);\n\n const handleClick = (alignPos, borderToggle) => {\n if (borderToggle) {\n updateAttributes({ border: !border });\n } else if (alignPos) {\n updateAttributes({ align: alignPos });\n } else {\n deleteNode();\n }\n editor.commands.focus();\n };\n\n return (\n <Dropdown\n buttonProps={{ className: \"neeto-editor__image-menu-btn\" }}\n buttonSize=\"large\"\n buttonStyle=\"tertiary\"\n className=\"neeto-editor__image-menu neeto-editor-bubble-menu\"\n icon={MenuHorizontal}\n position=\"top\"\n strategy=\"fixed\"\n theme=\"light neeto-editor-common-submenu-tippy-box\"\n >\n {menuOptions.map(\n ({ Icon, optionName, alignPos, type, items, border, borderToggle }) =>\n type === \"button\" ? (\n <Button\n className=\"neeto-editor-bubble-menu__item\"\n data-testid={`neeto-editor-image-menu-${optionName}`}\n icon={Icon}\n key={optionName}\n tooltipProps={{ content: optionName, position: \"top\" }}\n style={\n alignPos === align || (borderToggle && border)\n ? \"secondary\"\n : \"text\"\n }\n onClick={() => handleClick(alignPos, borderToggle)}\n />\n ) : (\n <Dropdown\n key={optionName}\n position=\"bottom-start\"\n strategy=\"fixed\"\n buttonProps={{\n tooltipProps: {\n content: optionName,\n position: \"top\",\n delay: [500],\n },\n }}\n customTarget={\n <MenuItem.Button className=\"neeto-editor-bubble-menu__item !relative\">\n <Tooltip content={optionName} position=\"top\">\n <div className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-justify-center gap-x-1\">\n <AspectRatio size={18} />\n <Down size={14} />\n </div>\n </Tooltip>\n </MenuItem.Button>\n }\n onClick={event => event.stopPropagation()}\n >\n <DropdownMenu className=\"mb-0\">\n {items?.map(({ ratio, icon: Icon }) => (\n <MenuItem.Button\n key={ratio}\n onClick={() => updateAttributes({ aspectRatio: ratio })}\n >\n {Icon && <Icon size={18} />}\n {ratio}\n </MenuItem.Button>\n ))}\n </DropdownMenu>\n </Dropdown>\n )\n )}\n </Dropdown>\n );\n};\n\nexport default Menu;\n","import { useRef, useState } from \"react\";\n\nimport { NodeViewContent, NodeViewWrapper } from \"@tiptap/react\";\nimport classNames from \"classnames\";\nimport { isNotPresent } from \"neetocist\";\nimport { Spinner } from \"neetoui\";\nimport { isEmpty, mergeRight } from \"ramda\";\nimport { Resizable } from \"re-resizable\";\n\nimport ImagePreviewModal from \"./ImagePreviewModal\";\nimport Menu from \"./Menu\";\n\nconst ImageComponent = ({\n node,\n editor,\n getPos,\n updateAttributes,\n deleteNode,\n}) => {\n const { src, figheight, figwidth, align, alt, border } = node.attrs;\n\n const [captionWidth, setCaptionWidth] = useState(figwidth || 0);\n const [previewUrl, setPreviewUrl] = useState(null);\n const figureRef = useRef(null);\n\n const { view } = editor;\n let height = figheight;\n let width = figwidth;\n const caption = node?.content?.content?.[0]?.text || \"\";\n\n const editorElement = figureRef.current?.closest(\".neeto-editor\");\n const maxImageWidth = editorElement?.offsetWidth - 50;\n\n const handleResizeStop = (_event, _direction, ref) => {\n height = ref.offsetHeight;\n width = ref.offsetWidth;\n\n if (width > maxImageWidth) {\n width = maxImageWidth;\n const aspectRatio = ref.offsetHeight / ref.offsetWidth;\n height = width * aspectRatio;\n }\n setCaptionWidth(width);\n view.dispatch(\n view.state.tr.setNodeMarkup(\n getPos(),\n undefined,\n mergeRight(node.attrs, {\n figheight: height,\n figwidth: width,\n height,\n width,\n })\n )\n );\n editor.commands.focus();\n };\n\n if (isNotPresent(src) && isNotPresent(alt)) return null;\n\n return (\n <NodeViewWrapper\n data-testid=\"neeto-editor-image-wrapper\"\n className={classNames(\n \"neeto-editor__image-wrapper\",\n `neeto-editor__image--${align}`,\n { \"neeto-editor__image--bordered\": border }\n )}\n >\n <figure ref={figureRef}>\n <Menu {...{ align, border, deleteNode, editor, updateAttributes }} />\n {src ? (\n <Resizable\n lockAspectRatio\n className=\"neeto-editor__image\"\n minWidth=\"50px\"\n size={{ height, width }}\n onResizeStop={handleResizeStop}\n onResize={(_event, _direction, ref) =>\n setCaptionWidth(ref.offsetWidth)\n }\n >\n <img\n {...{ ...node.attrs, src }}\n alt={caption}\n data-border={border}\n onClick={e => {\n e.stopPropagation();\n setPreviewUrl(src);\n }}\n />\n </Resizable>\n ) : (\n <div className=\"neeto-editor__image-placeholder\">\n <Spinner />\n </div>\n )}\n <NodeViewContent\n as=\"figcaption\"\n className={classNames({ \"is-empty\": isEmpty(caption) })}\n style={{ width: `${captionWidth}px` }}\n />\n </figure>\n <ImagePreviewModal {...{ previewUrl, setPreviewUrl }} />\n </NodeViewWrapper>\n );\n};\n\nexport default ImageComponent;\n","import { mergeAttributes, Node } from \"@tiptap/core\";\nimport { Plugin, Selection } from \"@tiptap/pm/state\";\nimport { ReactNodeViewRenderer } from \"@tiptap/react\";\nimport classnames from \"classnames\";\nimport { t } from \"i18next\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Toastr } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\n\nimport { DIRECT_UPLOAD_ENDPOINT } from \"src/common/constants\";\nimport DirectUpload from \"utils/DirectUpload\";\n\nimport { LARGE_IMAGE_ERROR } from \"./constants\";\nimport ImageComponent from \"./ImageComponent\";\n\nconst upload = async (file, url) => {\n if (file.size <= globalProps.endUserUploadedFileSizeLimitInMb * 1024 * 1024) {\n const uploader = new DirectUpload({ file, url });\n const response = await uploader.create();\n\n return response.data?.blob_url || response.blob_url;\n }\n\n throw new Error(LARGE_IMAGE_ERROR);\n};\n\nconst findNextTextPos = (editor, pos) => {\n const doc = editor.state.doc;\n let foundPos = -1;\n\n doc.nodesBetween(pos, doc.content.size, (node, nodePos) => {\n if (foundPos >= pos) return false;\n else if (!node.type.isTextblock) return true;\n foundPos = nodePos;\n\n return false;\n });\n\n return foundPos;\n};\n\nexport default Node.create({\n name: \"image\",\n\n addOptions() {\n return { HTMLAttributes: {}, openImageInNewTab: true };\n },\n\n group: \"block\",\n\n content: \"inline*\",\n\n draggable: false,\n\n isolating: true,\n\n addAttributes() {\n return {\n id: {\n default: null,\n parseHTML: element => element.getAttribute(\"id\"),\n },\n\n src: {\n default: null,\n parseHTML: element => element.querySelector(\"img\")?.getAttribute(\"src\"),\n },\n\n alt: {\n default: \"image\",\n parseHTML: element =>\n element.querySelector(\"img\")?.getAttribute(\"alt\") || \"image\",\n },\n\n figheight: {\n default: \"auto\",\n parseHTML: element =>\n element.querySelector(\"img\")?.getAttribute(\"figheight\"),\n },\n\n figwidth: {\n default: 500,\n parseHTML: element =>\n element.querySelector(\"img\")?.getAttribute(\"figwidth\"),\n },\n\n align: {\n default: \"left\",\n parseHTML: element =>\n element.querySelector(\"img\")?.getAttribute(\"align\"),\n },\n\n border: {\n default: true,\n parseHTML: element =>\n element.querySelector(\"img\")?.getAttribute(\"data-border\") === \"true\",\n },\n };\n },\n\n parseHTML() {\n return [{ tag: \"figure\" }];\n },\n\n renderHTML({ node, HTMLAttributes }) {\n const { align, src, figheight, figwidth, border } = node.attrs;\n\n if (!src) return [\"span\"];\n\n const openImageInNewTab = this.options.openImageInNewTab;\n\n const wrapperDivAttrs = {\n class: classnames(\n \"neeto-editor__image-wrapper\",\n `neeto-editor__image--${align}`,\n { \"neeto-editor__image--bordered\": border }\n ),\n };\n\n const wrapperLinkPointerEventsStyle = openImageInNewTab\n ? \"\"\n : \"pointer-events:none;\";\n\n const heightStyle = figheight === \"auto\" ? \"auto\" : `${figheight}px`;\n const wrapperLinkAttrs = {\n href: src,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n class: \"neeto-editor__image\",\n style: `height:${heightStyle};width:${figwidth}px;display:inline-block;${wrapperLinkPointerEventsStyle}`,\n };\n\n const captionAttrs = { style: `width:${figwidth}px;` };\n\n return [\n \"div\",\n wrapperDivAttrs,\n [\n \"figure\",\n this.options.HTMLAttributes,\n [\n \"a\",\n wrapperLinkAttrs,\n [\n \"img\",\n mergeAttributes(HTMLAttributes, {\n draggable: false,\n contenteditable: false,\n \"data-border\": border,\n }),\n ],\n ],\n [\"figcaption\", captionAttrs, 0],\n ],\n ];\n },\n\n addNodeView() {\n return ReactNodeViewRenderer(ImageComponent);\n },\n\n addCommands() {\n return {\n setFigure:\n ({ caption, ...attrs }) =>\n ({ chain }) =>\n chain()\n .insertContent({\n type: this.name,\n attrs,\n content: caption ? [{ type: \"text\", text: caption }] : [],\n })\n .run(),\n };\n },\n\n addKeyboardShortcuts() {\n return {\n Enter: () => {\n const head = this.editor.state.selection.$head;\n if (head.node().type.name !== \"image\") return false;\n\n const chain = this.editor.chain();\n const tail = head.after();\n\n let nextTextPos = findNextTextPos(this.editor, tail);\n if (nextTextPos < 0) {\n chain.insertContentAt(tail, { type: \"paragraph\", content: \"\" });\n nextTextPos = tail;\n }\n\n chain\n .setTextSelection(nextTextPos + 1) // Node boundary + 1\n .focus()\n .run();\n\n return true;\n },\n // The caption shares its textblock with the non-editable image above it,\n // so the native caret can't move up past the image. Handle it manually.\n ArrowUp: () => {\n const { state, view } = this.editor;\n const { $head, empty } = state.selection;\n if (!empty || $head.parent.type.name !== this.name) return false;\n\n const lineTop = view.coordsAtPos($head.start());\n const caret = view.coordsAtPos($head.pos);\n if (caret.top >= lineTop.bottom) return false; // Not on the first line\n\n const before = $head.before();\n if (before === 0) {\n return this.editor\n .chain()\n .insertContentAt(0, { type: \"paragraph\" })\n .setTextSelection(1)\n .scrollIntoView()\n .run();\n }\n\n const tr = state.tr.setSelection(\n Selection.near(state.doc.resolve(before), -1)\n );\n view.dispatch(tr.scrollIntoView());\n\n return true;\n },\n };\n },\n\n addProseMirrorPlugins() {\n return [\n new Plugin({\n props: {\n handleDOMEvents: {\n paste(view, event) {\n const {\n schema,\n selection: {\n $anchor: { pos },\n },\n } = view.state;\n\n // Microsoft Excel and a few other products might copy content as\n // both `text/plain` and `text/html`. If `text/plain` exists,\n // an early return will ensure that it fallbacks to tiptap's\n // default paste behavior.\n const text = event?.clipboardData?.getData(\"text/plain\");\n const hasFiles = event.clipboardData?.files?.length;\n\n if (!hasFiles) return;\n\n if (hasFiles && text) {\n event.preventDefault();\n const plainText =\n new DOMParser().parseFromString(text, \"text/html\").body\n .textContent ?? \"\";\n view.pasteText(plainText);\n\n return;\n }\n\n const images = Array.from(event.clipboardData.files).filter(\n file => /image/i.test(file.type)\n );\n\n if (isEmpty(images)) return;\n\n event.preventDefault();\n\n const currentPos = pos;\n\n images.forEach(async image => {\n let emptyImageNode;\n const id = Math.random().toString(36).substring(7);\n try {\n emptyImageNode = schema.nodes.image.create({\n id,\n src: \"\",\n alt: t(\"neetoEditor.attachments.uploading\"),\n });\n\n const tr = view.state.tr\n .insert(currentPos, emptyImageNode)\n .setMeta(\"addToHistory\", false);\n view.dispatch(tr);\n\n const url = await upload(image, DIRECT_UPLOAD_ENDPOINT);\n if (url) {\n const imageNode = schema.nodes.image.create({\n id,\n src: url,\n alt: \"image\",\n });\n\n const { tr, doc } = view.state;\n let nodePos = -1;\n doc.descendants((node, pos) => {\n if (node.type.name === \"image\" && node.attrs.id === id) {\n nodePos = pos;\n\n return false;\n }\n\n return true;\n });\n\n if (nodePos !== -1) {\n tr.replaceWith(\n nodePos,\n nodePos + emptyImageNode.nodeSize,\n imageNode\n ).setMeta(\"addToHistory\", false);\n view.dispatch(tr);\n }\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Failed to insert the image\", error);\n\n const doc = view.state.doc;\n const tr = view.state.tr;\n doc.descendants((node, pos) => {\n if (node.type.name === \"image\" && node.attrs.id === id) {\n tr.delete(pos, pos + emptyImageNode.nodeSize).setMeta(\n \"addToHistory\",\n false\n );\n\n return false;\n }\n\n return true;\n });\n view.dispatch(tr);\n\n if (error.message === LARGE_IMAGE_ERROR) {\n Toastr.error(\n t(\"neetoEditor.error.imageSizeIsShouldBeLess\", {\n limit: globalProps.endUserUploadedFileSizeLimitInMb,\n })\n );\n } else {\n Toastr.error(t(\"neetoEditor.error.imageUploadFailed\"));\n }\n }\n });\n },\n },\n },\n }),\n ];\n },\n});\n","import { mergeAttributes, Node } from \"@tiptap/core\";\n\nexport default Node.create({\n name: \"figcaption\",\n\n content: \"text*\",\n\n selectable: false,\n\n draggable: false,\n\n parseHTML() {\n return [{ tag: \"figcaption\" }];\n },\n\n renderHTML({ HTMLAttributes }) {\n return [\"figcaption\", mergeAttributes(HTMLAttributes), 0];\n },\n});\n","import Italic from \"@tiptap/extension-italic\";\n\nexport default Italic.extend({\n addInputRules() {\n return [];\n },\n addPasteRules() {\n return [];\n },\n});\n","import { Extension } from \"@tiptap/core\";\n\nconst KeyboardShortcuts = ({ onSubmit, shortcuts, isBlockQuoteActive }) =>\n Extension.create({\n name: \"keyboard-shortcuts\",\n\n addKeyboardShortcuts() {\n return {\n \"Mod-Enter\": () => {\n onSubmit?.(this.editor.getHTML());\n\n return true;\n },\n \"Mod-Shift-b\": () => {\n if (isBlockQuoteActive) {\n this.editor.chain().focus().toggleBlockquote().run();\n\n return true;\n }\n\n return false;\n },\n ...shortcuts,\n };\n },\n });\n\nexport default {\n configure: ({ onSubmit, shortcuts, isBlockQuoteActive }) =>\n KeyboardShortcuts({ onSubmit, shortcuts, isBlockQuoteActive }),\n};\n","export const LINK_MARKDOWN_INPUT_REGEX =\n /(?:^|\\s)\\[([^\\]]*)?\\]\\((\\S+)(?: [\"“](.+)[\"”])?\\)$/i;\n","import { InputRule, markInputRule, mergeAttributes } from \"@tiptap/core\";\nimport { Link } from \"@tiptap/extension-link\";\nimport { Fragment, Slice } from \"@tiptap/pm/model\";\nimport { Plugin } from \"@tiptap/pm/state\";\n\nimport { LINK_MARKDOWN_INPUT_REGEX } from \"./constants\";\n\nconst linkInputRule = config => {\n const defaultMarkInputRule = markInputRule(config);\n\n return new InputRule({\n find: config.find,\n handler(props) {\n try {\n const { tr } = props.state;\n defaultMarkInputRule.handler(props);\n tr.setMeta(\"preventAutolink\", true);\n } catch (error) {\n // https://app.honeybadger.io/projects/94805/faults/108936285\n if (!(error instanceof RangeError)) throw error;\n }\n },\n });\n};\n\n// TipTap's paste handler links the selected text only when the pasted text is\n// exactly a URL, so a URL copied with surrounding whitespace replaces the\n// selection instead. Hand it a trimmed copy of the pasted text.\nconst withTrimmedLinkPaste = plugin => {\n const { handlePaste } = plugin.props;\n\n return new Plugin({\n ...plugin.spec,\n props: {\n ...plugin.props,\n handlePaste: (view, event, slice) => {\n let textContent = \"\";\n slice.content.forEach(node => {\n textContent += node.textContent;\n });\n const trimmedText = textContent.trim();\n\n if (!trimmedText || trimmedText === textContent) {\n return handlePaste(view, event, slice);\n }\n\n const trimmedSlice = new Slice(\n Fragment.from(view.state.schema.text(trimmedText)),\n 0,\n 0\n );\n\n return handlePaste(view, event, trimmedSlice);\n },\n },\n });\n};\n\nexport default Link.extend({\n inclusive: false,\n addAttributes() {\n return {\n ...this.parent?.(),\n title: { default: null },\n \"data-neeto-kb-article\": {\n default: null,\n parseHTML: element => element.getAttribute(\"data-neeto-kb-article\"),\n renderHTML: attributes =>\n attributes[\"data-neeto-kb-article\"]\n ? { \"data-neeto-kb-article\": attributes[\"data-neeto-kb-article\"] }\n : {},\n },\n \"data-article-id\": {\n default: null,\n parseHTML: element => element.getAttribute(\"data-article-id\"),\n renderHTML: attributes =>\n attributes[\"data-article-id\"]\n ? { \"data-article-id\": attributes[\"data-article-id\"] }\n : {},\n },\n \"data-article-deleted\": {\n default: null,\n parseHTML: element => element.getAttribute(\"data-article-deleted\"),\n renderHTML: attributes =>\n attributes[\"data-article-deleted\"]\n ? { \"data-article-deleted\": attributes[\"data-article-deleted\"] }\n : {},\n },\n };\n },\n\n parseHTML() {\n return [\n {\n tag: 'a[href]:not([data-type=\"button\"]):not([href *= \"javascript:\" i])',\n },\n ];\n },\n renderHTML({ HTMLAttributes }) {\n return [\n \"a\",\n mergeAttributes(this.options.HTMLAttributes, HTMLAttributes, {\n class: \"link\",\n }),\n 0,\n ];\n },\n\n addProseMirrorPlugins() {\n // Match on the handlePaste prop rather than TipTap's internal plugin key;\n // the paste handler is the only Link plugin that handles pastes.\n return (this.parent?.() ?? []).map(plugin =>\n plugin.props.handlePaste ? withTrimmedLinkPaste(plugin) : plugin\n );\n },\n\n addInputRules() {\n return [\n linkInputRule({\n find: LINK_MARKDOWN_INPUT_REGEX,\n type: this.type,\n getAttributes(match) {\n return {\n title: match.pop()?.trim(),\n href: match.pop()?.trim(),\n };\n },\n }),\n ];\n },\n});\n","import React from \"react\";\n\nimport classNames from \"classnames\";\nimport { t } from \"i18next\";\nimport { Avatar, Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\n\nimport { scrollHandler } from \"utils/scrollhandler\";\n\nexport class MentionList extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = { selectedIndex: 0 };\n this.mentionRef = React.createRef();\n }\n\n componentDidUpdate(prevProps) {\n const { items } = this.props;\n if (items !== prevProps.items) {\n this.setState({ selectedIndex: 0 });\n }\n\n scrollHandler({\n wrapperRef: this.mentionRef,\n index: this.state.selectedIndex,\n });\n }\n\n selectItem = index => {\n const { items, command } = this.props;\n const item = items[index];\n\n if (item) {\n command({ label: item.name, id: item.key });\n }\n };\n\n upHandler = () => {\n const { items } = this.props;\n this.setState(prevState => {\n const { selectedIndex } = prevState;\n const nextSelectedIndex =\n (selectedIndex + items.length - 1) % items.length;\n\n return { selectedIndex: nextSelectedIndex };\n });\n };\n\n downHandler = () => {\n const { items } = this.props;\n this.setState(prevState => {\n const { selectedIndex } = prevState;\n const nextSelectedIndex = (selectedIndex + 1) % items.length;\n\n return { selectedIndex: nextSelectedIndex };\n });\n };\n\n enterHandler = () => {\n const { selectedIndex } = this.state;\n this.selectItem(selectedIndex);\n };\n\n tabHandler = () => {\n const { selectedIndex } = this.state;\n this.selectItem(selectedIndex);\n };\n\n onKeyDown = ({ event }) => {\n const keyDownHandlers = {\n ArrowUp: this.upHandler,\n ArrowDown: this.downHandler,\n Enter: this.enterHandler,\n Tab: this.tabHandler,\n };\n\n if (Object.prototype.hasOwnProperty.call(keyDownHandlers, event.key)) {\n keyDownHandlers[event.key]();\n\n return true;\n }\n\n return false;\n };\n\n render() {\n const { selectedIndex } = this.state;\n const { items } = this.props;\n\n if (isEmpty(items)) {\n return (\n <div className=\"neeto-editor-mentions__wrapper\">\n <p className=\"neeto-editor-mentions__item\">\n {t(\"neetoEditor.error.noResults\")}\n </p>\n </div>\n );\n }\n\n // Rendered with plain elements instead of neetoUI's Dropdown.Menu. That Menu\n // auto-focuses its <ul> on mount, which pulls focus out of the editor and\n // breaks mention typing/arrow navigation (the list is driven entirely by the\n // editor's keydown). neetoUI's class names are kept so the popup styling is\n // unchanged.\n return (\n <div className=\"neeto-ui-dropdown__popup\">\n <ul\n className=\"neeto-ui-dropdown__popup-menu neeto-editor-mentions__wrapper\"\n data-testid=\"neeto-editor-mention-list\"\n ref={this.mentionRef}\n >\n {items.map(({ key, name, imageUrl }, index) => (\n <li\n className=\"neeto-ui-dropdown__popup-menu-item\"\n key={key}\n role=\"menuitem\"\n >\n <button\n data-testid={`neeto-editor-mention-list-${name}`}\n type=\"button\"\n className={classNames(\n \"neeto-ui-dropdown__popup-menu-item-btn neeto-editor-mentions__item\",\n { active: index === selectedIndex }\n )}\n onClick={() => this.selectItem(index)}\n >\n <Avatar size=\"small\" user={{ name, imageUrl }} />\n <Typography style=\"body2\">{name}</Typography>\n </button>\n </li>\n ))}\n </ul>\n </div>\n );\n }\n}\n","export const createMentionSuggestions =\n (mentions = []) =>\n ({ query = \"\" }) => {\n if (!query) {\n return mentions.slice(0, 10);\n }\n\n return mentions\n .filter(mention =>\n mention.name\n .replace(/\\s/g, \"\")\n .toLowerCase()\n .includes(query.trim().toLowerCase())\n )\n .slice(0, 10);\n };\n","import Mention from \"@tiptap/extension-mention\";\nimport { ReactRenderer } from \"@tiptap/react\";\nimport tippy from \"tippy.js\";\n\nimport { MentionList } from \"./MentionList\";\nimport { createMentionSuggestions } from \"./utils\";\n\nconst suggestion = {\n render: () => {\n let reactRenderer;\n let popup;\n\n return {\n onStart: props => {\n reactRenderer = new ReactRenderer(MentionList, {\n props,\n editor: props.editor,\n });\n\n popup = tippy(\"body\", {\n theme: \"light neeto-editor-mentions-tooltip\",\n getReferenceClientRect: props.clientRect,\n appendTo: () => document.body,\n content: reactRenderer.element,\n showOnCreate: true,\n interactive: true,\n trigger: \"manual\",\n placement: \"bottom-start\",\n zIndex: 99999,\n arrow: false,\n });\n },\n\n onUpdate(props) {\n reactRenderer.updateProps(props);\n\n popup[0].setProps({\n getReferenceClientRect: props.clientRect,\n });\n },\n\n onKeyDown(props) {\n if (props.event.key === \"Escape\") {\n popup[0].hide();\n\n return true;\n }\n\n return reactRenderer.ref?.onKeyDown(props);\n },\n\n onExit() {\n popup?.[0]?.destroy();\n reactRenderer?.destroy();\n },\n };\n },\n};\n\nconst Mentions = Mention.extend({\n addCommands() {\n return {\n setMention:\n ({ id, label }) =>\n ({ chain }) => {\n chain()\n .focus()\n .insertContent([\n { type: this.name, attrs: { id, label } },\n { type: \"text\", text: \" \" },\n ])\n .run();\n },\n };\n },\n});\n\nexport default {\n configure: ({ suggestion: suggestionConfig = {}, ...otherConfig }) =>\n Mentions.configure({\n ...otherConfig,\n suggestion: { ...suggestion, ...suggestionConfig },\n }),\n};\n\nexport { createMentionSuggestions };\n","import { OrderedList } from \"@tiptap/extension-list\";\n\nexport default OrderedList.configure({\n HTMLAttributes: { class: \"orderedList\" },\n itemTypeName: \"listItem\",\n});\n","import { Extension } from \"@tiptap/core\";\nimport { Plugin } from \"@tiptap/pm/state\";\nimport { Decoration, DecorationSet } from \"@tiptap/pm/view\";\nimport { t } from \"i18next\";\n\nconst Placeholder = Extension.create({\n name: \"placeholder\",\n\n addOptions() {\n return {\n excludeNodeTypes: [\"variable\", \"codeBlock\"],\n emptyEditorClass: \"is-editor-empty\",\n emptyNodeClass: \"is-empty\",\n placeholder: t(\"neetoEditor.placeholders.writeSomething\"),\n slashCommandsPlaceholder: t(\n \"neetoEditor.placeholders.typeSlashForCommands\"\n ),\n showOnlyWhenEditable: true,\n showOnlyCurrent: false,\n includeChildren: false,\n };\n },\n\n addProseMirrorPlugins() {\n return [\n new Plugin({\n props: {\n decorations: ({ doc, selection }) => {\n const active =\n this.editor.isEditable || !this.options.showOnlyWhenEditable;\n const { anchor } = selection;\n const decorations = [];\n\n if (!active) {\n return null;\n }\n\n doc.descendants((node, pos) => {\n const hasAnchor = anchor >= pos && anchor <= pos + node.nodeSize;\n const isEmpty = !node.isLeaf && !node.childCount;\n\n const isExcluded = this.options.excludeNodeTypes.includes(\n node.type.name\n );\n\n if (\n (hasAnchor || !this.options.showOnlyCurrent) &&\n !isExcluded &&\n isEmpty\n ) {\n const classes = [this.options.emptyNodeClass];\n\n let placeholderText = this.options.placeholder;\n\n if (this.editor.isEmpty) {\n classes.push(this.options.emptyEditorClass);\n\n if (\n this.options.isSlashCommandsActive &&\n !this.options.placeholder\n ) {\n placeholderText = this.options.slashCommandsPlaceholder;\n }\n } else if (\n hasAnchor &&\n this.editor.isFocused &&\n this.options.isSlashCommandsActive &&\n node.type.name === \"paragraph\"\n ) {\n classes.push(\"is-current-slash-placeholder\");\n placeholderText = this.options.slashCommandsPlaceholder;\n }\n\n const decoration = Decoration.node(pos, pos + node.nodeSize, {\n class: classes.join(\" \"),\n \"data-placeholder\": placeholderText,\n });\n decorations.push(decoration);\n }\n\n return this.options.includeChildren;\n });\n\n return DecorationSet.create(doc, decorations);\n },\n },\n }),\n ];\n },\n});\n\nexport default Placeholder;\n","import Document from \"@tiptap/extension-document\";\nimport { Plugin, PluginKey } from \"@tiptap/pm/state\";\nimport { Decoration, DecorationSet } from \"@tiptap/pm/view\";\n\nexport default Document.extend({\n name: \"selectionDecorator\",\n addProseMirrorPlugins() {\n const { editor } = this;\n\n return [\n new Plugin({\n key: new PluginKey(\"selectionDecorator\"),\n state: {\n init() {\n return {\n decorations: DecorationSet.empty,\n selectedTextDecoration: null,\n };\n },\n apply(tr, oldState) {\n const { doc, selection } = tr;\n let { decorations, selectedTextDecoration } = oldState;\n\n if (selectedTextDecoration) {\n decorations = decorations.remove([selectedTextDecoration]);\n }\n\n if (!selection.empty) {\n selectedTextDecoration = Decoration.inline(\n selection.from,\n selection.to,\n { class: \"selected-text\" }\n );\n decorations = decorations.add(doc, [selectedTextDecoration]);\n } else {\n selectedTextDecoration = null;\n }\n\n return { decorations, selectedTextDecoration };\n },\n },\n props: {\n decorations(state) {\n if (editor.isFocused) return DecorationSet.empty;\n\n return this.getState(state).decorations;\n },\n },\n }),\n ];\n },\n});\n","import React, { forwardRef } from \"react\";\n\nimport Tippy from \"@tippyjs/react\";\nimport classnames from \"classnames\";\nimport { isNotPresent } from \"neetocist\";\n\nimport { scrollHandler } from \"utils/scrollhandler\";\n\nclass Menu extends React.Component {\n constructor(props) {\n super(props);\n this.state = { selectedIndex: 0 };\n this.menuRef = React.createRef();\n }\n\n componentDidMount() {\n const { menuIndex, activeMenuIndex } = this.props;\n const isCurrentMenuActive = menuIndex === activeMenuIndex;\n if (isCurrentMenuActive) {\n document.addEventListener(\"keydown\", this.keydownHandler);\n }\n }\n\n componentWillUnmount() {\n document.removeEventListener(\"keydown\", this.keydownHandler);\n }\n\n componentDidUpdate(oldProps) {\n const { items, menuIndex, activeMenuIndex } = this.props;\n const isCurrentMenuActive = menuIndex === activeMenuIndex;\n\n if (items !== oldProps.items) this.setState({ selectedIndex: 0 });\n\n scrollHandler({\n wrapperRef: this.menuRef,\n index: this.state.selectedIndex,\n });\n\n if (isCurrentMenuActive) {\n document.addEventListener(\"keydown\", this.keydownHandler);\n } else document.removeEventListener(\"keydown\", this.keydownHandler);\n }\n\n keydownHandler = event => {\n const listeners = {\n Enter: this.enterHandler,\n ArrowUp: this.upHandler,\n ArrowDown: this.downHandler,\n ArrowLeft: this.leftArrowHandler,\n ArrowRight: this.rightArrowHandler,\n };\n\n if (event.key in listeners) listeners[event.key](event);\n };\n\n selectItem = index => {\n const { items, editor, range } = this.props;\n const selectedItem = items[index];\n const hasCommand = selectedItem && selectedItem.command;\n if (hasCommand) selectedItem.command({ editor, range });\n };\n\n upHandler = () => {\n const { items } = this.props;\n const { selectedIndex } = this.state;\n this.setState({\n selectedIndex: (selectedIndex + items.length - 1) % items.length,\n });\n };\n\n downHandler = () => {\n const { items } = this.props;\n const { selectedIndex } = this.state;\n this.setState({ selectedIndex: (selectedIndex + 1) % items.length });\n };\n\n enterHandler = () => {\n const { selectedIndex } = this.state;\n this.selectItem(selectedIndex);\n };\n\n leftArrowHandler = () => {\n const { menuIndex, setActiveMenuIndex } = this.props;\n if (menuIndex > 0) setActiveMenuIndex(menuIndex - 1);\n };\n\n rightArrowHandler = () => {\n const { menuIndex, setActiveMenuIndex, items } = this.props;\n const { selectedIndex } = this.state;\n const selectedItem = items[selectedIndex];\n const hasSubItems = selectedItem && !isNotPresent(selectedItem.items);\n if (hasSubItems) setActiveMenuIndex(menuIndex + 1);\n };\n\n render() {\n const { items, menuIndex, activeMenuIndex } = this.props;\n const { selectedIndex } = this.state;\n const isCurrentMenuActive = menuIndex === activeMenuIndex;\n\n return (\n <div\n className=\"neeto-editor-slash-commands__wrapper\"\n data-testid=\"neeto-editor-slash-commands-wrapper\"\n ref={this.menuRef}\n >\n {items.map((item, index) => {\n const isLeafNode = isNotPresent(item.items);\n\n const nodeElement = (\n <MenuItem\n {...{ index, item }}\n key={item.optionName}\n selectItem={() => this.selectItem(index)}\n selectedIndex={isCurrentMenuActive ? selectedIndex : -1}\n onHover={() => this.setState({ selectedIndex: index })}\n />\n );\n\n if (isLeafNode) return nodeElement;\n\n return (\n <Tippy\n interactive\n key={item.optionName}\n placement=\"right\"\n theme=\"light neeto-editor-slash-commands-tippy\"\n visible={selectedIndex === index}\n content={\n <Menu\n {...this.props}\n items={item.items}\n menuIndex={menuIndex + 1}\n />\n }\n onCreate={({ popper }) => (popper.style.width = \"max-content\")}\n onHide={() => {\n this.isSubmenuOpened = false;\n }}\n onShow={() => {\n this.isSubmenuOpened = true;\n }}\n >\n {nodeElement}\n </Tippy>\n );\n })}\n </div>\n );\n }\n}\n\n// eslint-disable-next-line react/display-name\nconst MenuItem = forwardRef(\n ({ item, selectedIndex, index, selectItem, onHover }, ref) => {\n const { Icon } = item;\n\n return (\n <button\n {...{ ref }}\n data-testid={`neeto-editor-command-list-item-${index}`}\n className={classnames(\"neeto-editor-slash-commands__item\", {\n active: index === selectedIndex,\n })}\n onClick={selectItem}\n onMouseEnter={onHover}\n >\n {Icon && <Icon size={20} />}\n <span className=\"neeto-editor-slash-commands__item-content\">\n <span\n className=\"neeto-editor-slash-commands__item-title\"\n data-testid=\"neeto-editor-command-list-item-block-heading\"\n >\n {item.title}\n </span>\n </span>\n </button>\n );\n }\n);\n\nexport default Menu;\n","import React from \"react\";\n\nimport Menu from \"./Menu\";\n\nclass CommandsList extends React.Component {\n state = { activeMenuIndex: 0 };\n\n onKeyDown = ({ event }) =>\n [\"Enter\", \"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\"].includes(\n event.key\n );\n\n setActiveMenuIndex = index => this.setState({ activeMenuIndex: index });\n\n render() {\n return (\n <Menu\n {...this.props}\n activeMenuIndex={this.state.activeMenuIndex}\n items={this.props.items}\n menuIndex={0}\n setActiveMenuIndex={this.setActiveMenuIndex}\n />\n );\n }\n}\n\nexport default CommandsList;\n","import { t } from \"i18next\";\nimport { noop } from \"neetocist\";\nimport {\n TextP,\n TextH1,\n TextH2,\n TextH3,\n TextH4,\n TextH5,\n ListDot,\n ListNumber,\n Checkbox,\n Blockquote,\n ImageUpload,\n CodeBlock,\n Smiley,\n Minus,\n Video,\n Notes,\n Column,\n TextBold,\n TextItalic,\n Underline,\n Link,\n Attachment,\n MessageSquare,\n File,\n} from \"neetoicons\";\n\nimport { EDITOR_OPTIONS } from \"common/constants\";\n\nexport const MENU_ITEMS = [\n {\n optionName: EDITOR_OPTIONS.PARAGRAPH,\n title: t(\"neetoEditor.menu.normalText\"),\n description: t(\"neetoEditor.menu.normalTextDescription\"),\n Icon: TextP,\n command: ({ editor, range }) => {\n editor.chain().focus().deleteRange(range).setNode(\"paragraph\").run();\n },\n },\n {\n optionName: EDITOR_OPTIONS.BOLD,\n title: t(\"neetoEditor.menu.bold\"),\n description: t(\"neetoEditor.menu.boldDescription\"),\n Icon: TextBold,\n command: ({ editor, range }) => {\n editor.chain().focus().deleteRange(range).toggleBold().run();\n },\n },\n {\n optionName: EDITOR_OPTIONS.ITALIC,\n title: t(\"neetoEditor.menu.italic\"),\n description: t(\"neetoEditor.menu.italicDescription\"),\n Icon: TextItalic,\n command: ({ editor, range }) => {\n editor.chain().focus().deleteRange(range).toggleItalic().run();\n },\n },\n {\n optionName: EDITOR_OPTIONS.UNDERLINE,\n title: t(\"neetoEditor.menu.underline\"),\n description: t(\"neetoEditor.menu.underlineDescription\"),\n Icon: Underline,\n command: ({ editor, range }) => {\n editor.chain().focus().deleteRange(range).toggleUnderline().run();\n },\n },\n {\n optionName: EDITOR_OPTIONS.H1,\n title: t(\"neetoEditor.menu.heading1\"),\n description: t(\"neetoEditor.menu.h1Description\"),\n Icon: TextH1,\n command: ({ editor, range }) => {\n editor\n .chain()\n .focus()\n .deleteRange(range)\n .setNode(\"heading\", { level: 1 })\n .run();\n },\n },\n {\n optionName: EDITOR_OPTIONS.H2,\n title: t(\"neetoEditor.menu.heading2\"),\n description: t(\"neetoEditor.menu.h2Description\"),\n Icon: TextH2,\n command: ({ editor, range }) => {\n editor\n .chain()\n .focus()\n .deleteRange(range)\n .setNode(\"heading\", { level: 2 })\n .run();\n },\n },\n {\n optionName: EDITOR_OPTIONS.H3,\n title: t(\"neetoEditor.menu.heading3\"),\n description: t(\"neetoEditor.menu.h3Description\"),\n Icon: TextH3,\n command: ({ editor, range }) => {\n editor\n .chain()\n .focus()\n .deleteRange(range)\n .setNode(\"heading\", { level: 3 })\n .run();\n },\n },\n {\n optionName: EDITOR_OPTIONS.H4,\n title: t(\"neetoEditor.menu.heading4\"),\n description: t(\"neetoEditor.menu.h4Description\"),\n Icon: TextH4,\n command: ({ editor, range }) => {\n editor\n .chain()\n .focus()\n .deleteRange(range)\n .setNode(\"heading\", { level: 4 })\n .run();\n },\n },\n {\n optionName: EDITOR_OPTIONS.H5,\n title: t(\"neetoEditor.menu.heading5\"),\n description: t(\"neetoEditor.menu.h5Description\"),\n Icon: TextH5,\n command: ({ editor, range }) => {\n editor\n .chain()\n .focus()\n .deleteRange(range)\n .setNode(\"heading\", { level: 5 })\n .run();\n },\n },\n {\n optionName: EDITOR_OPTIONS.LIST_ORDERED,\n title: t(\"neetoEditor.menu.numberedList\"),\n description: t(\"neetoEditor.menu.numberedListDescription\"),\n Icon: ListNumber,\n command: ({ editor, range }) => {\n editor.chain().focus().deleteRange(range).toggleOrderedList().run();\n },\n },\n {\n optionName: EDITOR_OPTIONS.LIST_BULLETS,\n title: t(\"neetoEditor.menu.bulletList\"),\n description: t(\"neetoEditor.menu.bulletListDescription\"),\n Icon: ListDot,\n command: ({ editor, range }) => {\n editor.chain().focus().deleteRange(range).toggleBulletList().run();\n },\n },\n {\n optionName: EDITOR_OPTIONS.LINK,\n title: t(\"neetoEditor.menu.link\"),\n description: t(\"neetoEditor.menu.linkDescription\"),\n Icon: Link,\n command: noop,\n },\n {\n optionName: EDITOR_OPTIONS.NEETO_KB_ARTICLE,\n title: t(\"neetoEditor.menu.linkToNeetoKbArticle\"),\n description: t(\"neetoEditor.menu.linkToNeetoKbArticleDescription\"),\n Icon: File,\n command: noop,\n },\n {\n optionName: EDITOR_OPTIONS.ATTACHMENTS,\n title: t(\"neetoEditor.menu.file\"),\n description: t(\"neetoEditor.menu.attachmentsDescription\"),\n Icon: Attachment,\n command: noop,\n },\n {\n optionName: EDITOR_OPTIONS.TODO_LIST,\n title: t(\"neetoEditor.menu.todoList\"),\n description: t(\"neetoEditor.menu.todoListDescription\"),\n Icon: Checkbox,\n command: ({ editor, range }) => {\n editor.chain().focus().deleteRange(range).toggleTaskList().run();\n },\n },\n {\n optionName: EDITOR_OPTIONS.IMAGE_UPLOAD,\n title: t(\"neetoEditor.menu.image\"),\n description: t(\"neetoEditor.menu.imageDescription\"),\n Icon: ImageUpload,\n command: noop,\n },\n {\n optionName: EDITOR_OPTIONS.VIDEO_UPLOAD,\n title: t(\"neetoEditor.menu.video\"),\n description: t(\"neetoEditor.menu.videoDescription\"),\n Icon: Video,\n command: noop,\n },\n {\n optionName: EDITOR_OPTIONS.BLOCKQUOTE,\n title: t(\"neetoEditor.menu.blockQuote\"),\n description: t(\"neetoEditor.menu.blockQuoteDescription\"),\n Icon: Blockquote,\n command: ({ editor, range }) => {\n editor.chain().focus().deleteRange(range).toggleBlockquote().run();\n },\n },\n {\n optionName: EDITOR_OPTIONS.CODE_BLOCK,\n title: t(\"neetoEditor.menu.codeBlock\"),\n description: t(\"neetoEditor.menu.codeDescription\"),\n Icon: CodeBlock,\n command: ({ editor, range }) => {\n editor.chain().focus().deleteRange(range).toggleCodeBlock().run();\n },\n },\n {\n optionName: EDITOR_OPTIONS.EMOJI,\n title: t(\"neetoEditor.menu.emoji\"),\n description: t(\"neetoEditor.menu.emojiDescription\"),\n Icon: Smiley,\n command: ({ editor, range }) => {\n editor.chain().focus().deleteRange(range).insertContent(\"::\").run();\n },\n },\n {\n optionName: EDITOR_OPTIONS.DIVIDER,\n title: t(\"neetoEditor.menu.divider\"),\n description: t(\"neetoEditor.menu.dividerDescription\"),\n Icon: Minus,\n command: ({ editor, range }) => {\n editor.chain().focus().deleteRange(range).setHorizontalRule().run();\n },\n },\n {\n optionName: EDITOR_OPTIONS.PASTE_UNFORMATTED,\n title: t(\"neetoEditor.menu.pasteUnformatted\"),\n description: t(\"neetoEditor.menu.pasteUnformattedDescription\"),\n Icon: Notes,\n command: ({ editor, range }) =>\n editor.chain().focus().deleteRange(range).pasteUnformatted().run(),\n },\n {\n optionName: EDITOR_OPTIONS.TABLE,\n title: t(\"neetoEditor.menu.table\"),\n description: t(\"neetoEditor.menu.tableDescription\"),\n Icon: Column,\n command: ({ editor, range }) =>\n editor\n .chain()\n .focus()\n .deleteRange(range)\n .insertTable({ rows: 3, cols: 3, withHeaderRow: true })\n .run(),\n },\n {\n optionName: EDITOR_OPTIONS.CALLOUT,\n title: t(\"neetoEditor.menu.callout\"),\n description: t(\"neetoEditor.menu.calloutDescription\"),\n Icon: MessageSquare,\n command: ({ editor, range }) => {\n editor\n .chain()\n .focus()\n .deleteRange(range)\n .setCallout({ type: \"default\" })\n .run();\n },\n items: [\n {\n optionName: `${EDITOR_OPTIONS.CALLOUT}_default`,\n title: t(\"neetoEditor.menu.calloutDefault\"),\n description: t(\"neetoEditor.menu.calloutDescription\"),\n command: ({ editor, range }) => {\n editor\n .chain()\n .focus()\n .deleteRange(range)\n .setCallout({ type: \"default\" })\n .run();\n },\n },\n {\n optionName: `${EDITOR_OPTIONS.CALLOUT}_info`,\n title: t(\"neetoEditor.menu.calloutInfo\"),\n description: t(\"neetoEditor.menu.calloutDescription\"),\n command: ({ editor, range }) => {\n editor\n .chain()\n .focus()\n .deleteRange(range)\n .setCallout({ type: \"info\" })\n .run();\n },\n },\n {\n optionName: `${EDITOR_OPTIONS.CALLOUT}_warning`,\n title: t(\"neetoEditor.menu.calloutWarning\"),\n description: t(\"neetoEditor.menu.calloutDescription\"),\n command: ({ editor, range }) => {\n editor\n .chain()\n .focus()\n .deleteRange(range)\n .setCallout({ type: \"warning\" })\n .run();\n },\n },\n {\n optionName: `${EDITOR_OPTIONS.CALLOUT}_error`,\n title: t(\"neetoEditor.menu.calloutError\"),\n description: t(\"neetoEditor.menu.calloutDescription\"),\n command: ({ editor, range }) => {\n editor\n .chain()\n .focus()\n .deleteRange(range)\n .setCallout({ type: \"error\" })\n .run();\n },\n },\n {\n optionName: `${EDITOR_OPTIONS.CALLOUT}_success`,\n title: t(\"neetoEditor.menu.calloutSuccess\"),\n description: t(\"neetoEditor.menu.calloutDescription\"),\n command: ({ editor, range }) => {\n editor\n .chain()\n .focus()\n .deleteRange(range)\n .setCallout({ type: \"success\" })\n .run();\n },\n },\n ],\n },\n];\n\nexport const NO_RESULT_MENU_ITEM = {\n title: t(\"neetoEditor.menu.noResults\"),\n command: ({ editor, range }) => {\n editor.chain().focus().deleteRange(range).run();\n },\n};\n","import { assoc } from \"ramda\";\n\nimport { EDITOR_OPTIONS } from \"common/constants\";\n\nimport { MENU_ITEMS } from \"./constants\";\n\nconst imageCommand =\n setMediaUploader =>\n ({ editor, range }) => {\n setMediaUploader(assoc(\"image\", true));\n editor.chain().focus().deleteRange(range).run();\n };\n\nconst videoCommand =\n setMediaUploader =>\n ({ editor, range }) => {\n setMediaUploader(assoc(\"video\", true));\n editor.chain().focus().deleteRange(range).run();\n };\n\nconst linkCommand =\n setIsAddLinkActive =>\n ({ editor, range }) => {\n setIsAddLinkActive(true);\n editor.chain().focus().deleteRange(range).run();\n };\n\nconst attachmentCommand =\n attachmentProps =>\n ({ editor, range }) => {\n attachmentProps?.handleUploadAttachments();\n editor.chain().focus().deleteRange(range).run();\n };\n\nconst neetoKbArticleCommand =\n setIsNeetoKbArticleActive =>\n ({ editor, range }) => {\n // Get cursor position for positioning the modal\n const cursorPos = editor.view.coordsAtPos(range.from);\n setIsNeetoKbArticleActive({\n active: true,\n editor,\n range,\n cursorPos,\n });\n editor.chain().focus().deleteRange(range).run();\n };\n\nexport const buildCommandItems = ({\n options,\n addonCommands,\n setMediaUploader,\n setIsAddLinkActive,\n attachmentProps,\n setIsNeetoKbArticleActive,\n}) => {\n const commandItems = MENU_ITEMS.map(item => {\n if (item.optionName === EDITOR_OPTIONS.IMAGE_UPLOAD) {\n return assoc(\"command\", imageCommand(setMediaUploader), item);\n } else if (item.optionName === EDITOR_OPTIONS.VIDEO_UPLOAD) {\n return assoc(\"command\", videoCommand(setMediaUploader), item);\n } else if (item.optionName === EDITOR_OPTIONS.LINK) {\n return assoc(\"command\", linkCommand(setIsAddLinkActive), item);\n } else if (item.optionName === EDITOR_OPTIONS.ATTACHMENTS) {\n return assoc(\"command\", attachmentCommand(attachmentProps), item);\n } else if (item.optionName === EDITOR_OPTIONS.NEETO_KB_ARTICLE) {\n return assoc(\n \"command\",\n neetoKbArticleCommand(setIsNeetoKbArticleActive),\n item\n );\n }\n\n return item;\n });\n\n const permittedCommandItems = commandItems.filter(({ optionName }) =>\n options.includes(optionName)\n );\n\n const adddonCommandItems = addonCommands.map(command => ({\n ...command,\n title: command.label,\n Icon: command.icon,\n }));\n\n return [...permittedCommandItems, ...adddonCommandItems];\n};\n","import { Extension } from \"@tiptap/core\";\nimport { PluginKey } from \"@tiptap/pm/state\";\nimport { ReactRenderer } from \"@tiptap/react\";\nimport Suggestion from \"@tiptap/suggestion\";\nimport { isEmpty } from \"ramda\";\nimport tippy from \"tippy.js\";\n\nimport {\n highlightFocussedNode,\n resetFocussedNode,\n} from \"utils/focusHighlighter\";\nimport { fuzzySearch } from \"utils/fuzzySearch\";\n\nimport CommandsList from \"./CommandsList\";\nimport { NO_RESULT_MENU_ITEM } from \"./constants\";\nimport { buildCommandItems } from \"./utils\";\n\nconst CommandsPluginKey = new PluginKey(\"commands\");\n\nexport default {\n configure: ({\n addonCommands,\n options,\n setMediaUploader,\n setIsAddLinkActive,\n attachmentProps,\n setIsNeetoKbArticleActive,\n }) => {\n const commandItems = buildCommandItems({\n options,\n addonCommands,\n setMediaUploader,\n setIsAddLinkActive,\n attachmentProps,\n setIsNeetoKbArticleActive,\n });\n\n return Extension.create({\n name: \"slash-commands\",\n\n addOptions() {\n return {\n HTMLAttributes: { class: \"commands\" },\n suggestion: {\n char: \"/\",\n startOfLine: false,\n pluginKey: CommandsPluginKey,\n command: ({ editor, range, props }) => {\n props.command({ editor, range });\n },\n\n items: ({ query }) => {\n if (!query) return commandItems;\n const filteredItems = fuzzySearch(commandItems, query);\n\n return isEmpty(filteredItems)\n ? [NO_RESULT_MENU_ITEM]\n : filteredItems;\n },\n\n render: () => {\n let reactRenderer;\n let popup;\n\n return {\n onStart: props => {\n if (\n props.editor.isActive(\"image\") ||\n props.editor.isActive(\"codeBlock\")\n ) {\n return;\n }\n\n reactRenderer = new ReactRenderer(CommandsList, {\n props,\n editor: props.editor,\n });\n\n popup = tippy(\"body\", {\n getReferenceClientRect: props.clientRect,\n appendTo: () => document.body,\n content: reactRenderer.element,\n showOnCreate: true,\n interactive: true,\n trigger: \"manual\",\n placement: \"bottom-start\",\n arrow: false,\n zIndex: 99999,\n role: \"dropdown\",\n theme: \"light neeto-editor-slash-commands-tippy\",\n });\n\n highlightFocussedNode();\n },\n onUpdate(props) {\n if (\n props.editor.isActive(\"image\") ||\n props.editor.isActive(\"codeBlock\")\n ) {\n return;\n }\n reactRenderer?.updateProps(props);\n\n popup[0].setProps({\n getReferenceClientRect: props.clientRect,\n });\n },\n onKeyDown(props) {\n if (props.event.key === \"Escape\") {\n popup[0].hide();\n\n return true;\n }\n\n return reactRenderer && reactRenderer?.ref?.onKeyDown(props);\n },\n onExit() {\n popup && popup[0].destroy();\n reactRenderer && reactRenderer.destroy();\n resetFocussedNode();\n },\n };\n },\n },\n };\n },\n\n addProseMirrorPlugins() {\n return [\n Suggestion({\n editor: this.editor,\n ...this.options.suggestion,\n }),\n ];\n },\n });\n },\n};\n","import { mergeAttributes } from \"@tiptap/core\";\nimport Mention from \"@tiptap/extension-mention\";\nimport { PluginKey } from \"@tiptap/pm/state\";\nimport { ReactRenderer } from \"@tiptap/react\";\nimport tippy from \"tippy.js\";\n\nimport { MentionList } from \"../Mention/MentionList\";\nimport { createMentionSuggestions } from \"../Mention/utils\";\n\nconst SpecialMentionPluginKey = new PluginKey(\"special-mention\");\n\nconst renderLabel = ({ options, node }) =>\n `${options.suggestion.char}${node.attrs.label ?? node.attrs.id}`;\n\nconst suggestion = {\n char: \"@@\",\n pluginKey: SpecialMentionPluginKey,\n\n render: () => {\n let reactRenderer;\n let popup;\n\n return {\n onStart: props => {\n reactRenderer = new ReactRenderer(MentionList, {\n props,\n editor: props.editor,\n });\n\n popup = tippy(\"body\", {\n theme: \"light neeto-editor-mentions-tooltip\",\n getReferenceClientRect: props.clientRect,\n appendTo: () => document.body,\n content: reactRenderer.element,\n showOnCreate: true,\n interactive: true,\n trigger: \"manual\",\n placement: \"bottom-start\",\n zIndex: 99999,\n arrow: false,\n });\n },\n\n onUpdate(props) {\n reactRenderer.updateProps(props);\n\n popup[0].setProps({\n getReferenceClientRect: props.clientRect,\n });\n },\n\n onKeyDown(props) {\n if (props.event.key === \"Escape\") {\n popup[0].hide();\n\n return true;\n }\n\n return reactRenderer.ref?.onKeyDown(props);\n },\n\n onExit() {\n popup[0].destroy();\n reactRenderer.destroy();\n },\n };\n },\n};\n\nconst SpecialMentions = Mention.extend({\n name: \"special-mention\",\n\n renderHTML({ node, HTMLAttributes }) {\n return [\n \"span\",\n mergeAttributes(\n { \"data-type\": this.name },\n this.options.HTMLAttributes,\n HTMLAttributes\n ),\n renderLabel({ options: this.options, node }),\n ];\n },\n});\n\nexport default {\n configure: ({ suggestion: suggestionConfig = {}, ...otherConfig }) =>\n SpecialMentions.configure({\n ...otherConfig,\n suggestion: { ...suggestion, ...suggestionConfig },\n }),\n};\n\nexport { createMentionSuggestions };\n","import { noop } from \"neetocist\";\n\nfunction updateColumns(node, colgroup, table, cellMinWidth) {\n let totalWidth = 0;\n let fixedWidth = true;\n let nextDOM = colgroup.firstChild;\n const row = node.firstChild;\n\n for (let i = 0, col = 0; i < row.childCount; i += 1) {\n const { colspan, colwidth } = row.child(i).attrs;\n\n for (let j = 0; j < colspan; j += 1, col += 1) {\n const hasWidth = colwidth && colwidth[j];\n const cssWidth = hasWidth ? `${hasWidth}px` : \"\";\n\n totalWidth += hasWidth || cellMinWidth;\n\n if (!hasWidth) {\n fixedWidth = false;\n }\n\n if (!nextDOM) {\n colgroup.appendChild(document.createElement(\"col\")).style.width =\n cssWidth;\n } else {\n if (nextDOM.style.width !== cssWidth) {\n nextDOM.style.width = cssWidth;\n }\n\n nextDOM = nextDOM.nextSibling;\n }\n }\n }\n\n while (nextDOM) {\n const after = nextDOM.nextSibling;\n\n nextDOM.parentNode.removeChild(nextDOM);\n nextDOM = after;\n }\n\n if (fixedWidth) {\n table.style.width = `${totalWidth}px`;\n table.style.minWidth = \"\";\n } else {\n table.style.width = \"\";\n table.style.minWidth = `${totalWidth}px`;\n }\n}\n\nexport class TableView {\n constructor(node, cellMinWidth) {\n this.node = node;\n this.cellMinWidth = cellMinWidth;\n this.dom = document.createElement(\"div\");\n\n const alignmentSuffix = node.attrs?.textAlign || \"left\";\n const alignmentClass = `neeto-editor-table--${alignmentSuffix}`;\n this.dom.className = `neeto-editor-table ${alignmentClass}`;\n this.wrapper = document.createElement(\"div\");\n this.wrapper.className = \"neeto-editor-table__wrapper\";\n this.table = this.dom\n .appendChild(this.wrapper)\n .appendChild(document.createElement(\"table\"));\n this.colgroup = this.table.appendChild(document.createElement(\"colgroup\"));\n this.wrapper.appendChild(\n this.buildController({\n className: \"neeto-editor-table__add-column\",\n handleClick: this.insertColumn,\n })\n );\n\n this.dom.appendChild(\n this.buildController({\n className: \"neeto-editor-table__add-row\",\n handleClick: () => this.table.insertRow(),\n })\n );\n updateColumns(node, this.colgroup, this.table, cellMinWidth);\n this.contentDOM = this.table.appendChild(document.createElement(\"tbody\"));\n }\n\n update(node) {\n if (node.type !== this.node.type) {\n return false;\n }\n\n this.node = node;\n updateColumns(node, this.colgroup, this.table, this.cellMinWidth);\n\n const alignmentSuffix = node.attrs?.textAlign || \"left\";\n const currentAlignmentClass = `neeto-editor-table--${alignmentSuffix}`;\n\n this.dom.classList.remove(\n \"neeto-editor-table--left\",\n \"neeto-editor-table--center\",\n \"neeto-editor-table--right\"\n );\n\n this.dom.classList.add(currentAlignmentClass);\n\n return true;\n }\n\n ignoreMutation(mutation) {\n return (\n mutation.type === \"attributes\" &&\n (mutation.target === this.table ||\n this.colgroup.contains(mutation.target))\n );\n }\n\n buildController = ({ className = \"\", handleClick = noop }) => {\n const controller = document.createElement(\"div\");\n const icon = document.createElement(\"p\");\n controller.className = className;\n controller.onclick = handleClick;\n icon.textContent = \"+\";\n controller.appendChild(icon);\n\n return controller;\n };\n\n insertColumn = () => {\n this.table.querySelectorAll(\"tr\").forEach(tr => {\n if (tr.firstChild?.nodeName === \"TH\") {\n const th = document.createElement(\"th\");\n th.appendChild(document.createElement(\"p\"));\n tr.appendChild(th);\n } else {\n const td = document.createElement(\"td\");\n td.appendChild(document.createElement(\"p\"));\n tr.appendChild(td);\n }\n });\n };\n}\n","import { Table as TiptapTable } from \"@tiptap/extension-table\";\n\nimport { TableView } from \"./TableView\";\n\nconst Table = TiptapTable.extend({\n addOptions() {\n return {\n HTMLAttributes: {},\n resizable: true,\n handleWidth: 5,\n cellMinWidth: 100,\n View: TableView,\n lastColumnResizable: true,\n allowTableNodeSelection: true,\n };\n },\n\n parseHTML() {\n const getAlignmentFromElement = element => {\n if (!element) return null;\n\n const dataAlign = element.getAttribute(\"data-text-align\");\n if (dataAlign) return dataAlign;\n\n if (element.classList.contains(\"neeto-editor-table--center\")) {\n return \"center\";\n }\n\n if (element.classList.contains(\"neeto-editor-table--right\")) {\n return \"right\";\n }\n\n if (element.classList.contains(\"neeto-editor-table--left\")) {\n return \"left\";\n }\n\n return null;\n };\n\n return [\n {\n tag: \"table\",\n priority: 100,\n getAttrs: node => {\n const alignment = getAlignmentFromElement(node);\n if (alignment) {\n return { textAlign: alignment };\n }\n\n const parent = node.parentElement;\n if (parent && parent.classList.contains(\"table-responsive\")) {\n const parentAlignment = getAlignmentFromElement(parent);\n if (parentAlignment) {\n return { textAlign: parentAlignment };\n }\n }\n\n return { textAlign: \"left\" };\n },\n },\n ];\n },\n\n addAttributes() {\n return {\n ...this.parent?.(),\n textAlign: {\n default: \"left\",\n renderHTML: attributes => {\n if (!attributes.textAlign) return {};\n\n return {\n class: `neeto-editor-table--${attributes.textAlign}`,\n \"data-text-align\": attributes.textAlign,\n };\n },\n },\n };\n },\n\n renderHTML({ node }) {\n let totalWidth = 0;\n let fixedWidth = true;\n\n const colgroups = [];\n const cellMinWidth = this.options?.cellMinWidth ?? 100;\n const firstRow = node.content?.firstChild;\n\n if (firstRow && firstRow.childCount) {\n for (let i = 0; i < firstRow.childCount; i++) {\n const cell = firstRow.child(i);\n const { colspan, colwidth } = cell.attrs;\n const span = colspan || 1;\n\n for (let j = 0; j < span; j++) {\n const hasWidth = colwidth && colwidth[j];\n totalWidth += Number(hasWidth) || cellMinWidth;\n if (!hasWidth) fixedWidth = false;\n\n const style = hasWidth\n ? `min-width: ${cellMinWidth}px; width: ${Number(hasWidth)}px;`\n : `min-width: ${cellMinWidth}px;`;\n\n colgroups.push([\"col\", { style }]);\n }\n }\n }\n\n let tableStyle = \"\";\n if (totalWidth > 0) {\n tableStyle = fixedWidth\n ? `width: ${totalWidth}px;`\n : `min-width: ${totalWidth}px;`;\n }\n\n const alignmentClass = node.attrs?.textAlign\n ? `neeto-editor-table--${node.attrs.textAlign}`\n : \"neeto-editor-table--left\";\n\n return [\n \"div\",\n {\n class: `table-responsive ${alignmentClass}`,\n \"data-text-align\": node.attrs?.textAlign || \"left\",\n },\n [\n \"table\",\n tableStyle ? { style: tableStyle } : {},\n [\"colgroup\", ...colgroups],\n [\"tbody\", 0],\n ],\n ];\n },\n\n addKeyboardShortcuts() {\n return {\n ...this.parent?.(),\n \"Mod-alt-t\": () =>\n this.editor\n .chain()\n .focus()\n .insertTable({ rows: 3, cols: 3, withHeaderRow: true })\n .updateAttributes(\"table\", { textAlign: \"left\" })\n .run(),\n };\n },\n});\n\nexport default Table.configure({});\n","import { TaskItem, TaskList } from \"@tiptap/extension-list\";\n\nexport const TodoListExtension = TaskList.extend({\n name: \"todoList\",\n addKeyboardShortcuts() {\n return {\n \"Mod-Shift-9\": () => this.editor.commands.toggleTaskList(),\n };\n },\n});\n\nexport const TodoItemExtension = TaskItem.extend({\n addKeyboardShortcuts() {\n return {\n Enter: () => this.editor.commands.splitListItem(this.name),\n Tab: () => this.editor.commands.sinkListItem(this.name),\n \"Shift-Tab\": () => this.editor.commands.liftListItem(this.name),\n };\n },\n}).configure({ nested: true });\n\nexport default TodoListExtension;\n","export const MAX_VARIABLE_NAME_DISPLAY_LENGTH = 25;\n","import { NodeViewWrapper } from \"@tiptap/react\";\nimport { Tooltip } from \"neetoui\";\n\nimport { MAX_VARIABLE_NAME_DISPLAY_LENGTH } from \"./constants\";\n\nconst VariableComponent = ({ node, extension }) => {\n const { id, label } = node.attrs;\n\n const variableName = label || id;\n const shouldTruncate = variableName.length > MAX_VARIABLE_NAME_DISPLAY_LENGTH;\n\n return (\n <NodeViewWrapper\n as=\"span\"\n className=\"neeto-editor-variable\"\n data-label={id}\n data-variable=\"\"\n >\n {extension.options.charOpen}\n <Tooltip content={variableName} disabled={!shouldTruncate} position=\"top\">\n {variableName?.substr(0, MAX_VARIABLE_NAME_DISPLAY_LENGTH)?.trim()}\n {shouldTruncate && \"...\"}\n </Tooltip>\n {extension.options.charClose}\n </NodeViewWrapper>\n );\n};\n\nexport default VariableComponent;\n","import { Node, mergeAttributes } from \"@tiptap/core\";\nimport { PluginKey } from \"@tiptap/pm/state\";\nimport { ReactNodeViewRenderer } from \"@tiptap/react\";\n\nimport VariableComponent from \"./VariableComponent\";\n\nconst VariablePluginKey = new PluginKey(\"variables\");\nconst Variable = Node.create({\n name: \"variable\",\n addOptions() {\n return {\n HTMLAttributes: { class: \"neeto-editor-variable\" },\n charOpen: \"{{\",\n charClose: \"}}\",\n renderLabel({ options, node }) {\n return `${options.charOpen}${node.attrs.id || node.attrs.label}${\n options.charClose\n }`;\n },\n suggestion: {},\n };\n },\n group: \"inline\",\n inline: true,\n selectable: false,\n atom: true,\n addAttributes() {\n return {\n id: {\n default: null,\n parseHTML: element => element.getAttribute(\"data-id\"),\n renderHTML: attributes => {\n if (!attributes.id) return {};\n\n return { \"data-id\": attributes.id };\n },\n },\n label: {\n default: null,\n parseHTML: element => element.getAttribute(\"data-label\"),\n renderHTML: attributes => {\n if (!attributes.label) return {};\n\n return { \"data-label\": attributes.label };\n },\n },\n };\n },\n\n parseHTML() {\n return [{ tag: \"span[data-variable]\" }];\n },\n\n renderHTML({ node, HTMLAttributes }) {\n return [\n \"span\",\n mergeAttributes(\n { \"data-variable\": \"\" },\n this.options.HTMLAttributes,\n HTMLAttributes\n ),\n this.options.renderLabel({ options: this.options, node }),\n ];\n },\n\n renderText({ node }) {\n return this.options.renderLabel({ options: this.options, node });\n },\n\n addNodeView() {\n return ReactNodeViewRenderer(VariableComponent);\n },\n\n addCommands() {\n return {\n setVariable:\n attributes =>\n ({ chain }) => {\n chain()\n .focus()\n .insertContent([\n { type: this.name, attrs: attributes },\n { type: \"text\", text: \" \" },\n ])\n .run();\n },\n };\n },\n});\n\nexport default Variable;\n\nexport { VariablePluginKey };\n","import { useRef, useState } from \"react\";\n\nimport { NodeViewContent, NodeViewWrapper } from \"@tiptap/react\";\nimport classNames from \"classnames\";\nimport { isNotPresent } from \"neetocist\";\nimport { isEmpty, mergeRight } from \"ramda\";\nimport { Resizable } from \"re-resizable\";\n\nimport Menu from \"../Image/Menu\";\n\nconst VideoComponent = ({\n node,\n editor,\n getPos,\n updateAttributes,\n deleteNode,\n}) => {\n const { src, vidheight, vidwidth, align, border } = node.attrs;\n\n const [captionWidth, setCaptionWidth] = useState(vidwidth || 0);\n\n const figureRef = useRef(null);\n\n const { view } = editor;\n let height = vidheight;\n let width = vidwidth;\n const caption = node?.content?.content[0]?.text || \"\";\n\n const editorElement = figureRef.current?.closest(\".neeto-editor\");\n const maxVideoWidth = editorElement?.offsetWidth - 50;\n\n const handleResize = (_event, _direction, ref) => {\n height = ref.offsetHeight;\n width = ref.offsetWidth;\n\n if (width > maxVideoWidth) {\n width = maxVideoWidth;\n const aspectRatio = ref.offsetHeight / ref.offsetWidth;\n height = width * aspectRatio;\n }\n setCaptionWidth(width);\n view.dispatch(\n view.state.tr.setNodeMarkup(\n getPos(),\n undefined,\n mergeRight(node.attrs, {\n vidheight: height,\n vidwidth: width,\n height,\n width,\n })\n )\n );\n editor.commands.focus();\n };\n\n if (isNotPresent(src)) return null;\n\n return (\n <NodeViewWrapper\n className={classNames(\n \"neeto-editor__image-wrapper\",\n `neeto-editor__image--${align}`,\n { \"neeto-editor__image--bordered\": border }\n )}\n >\n <figure ref={figureRef}>\n <Menu {...{ align, border, deleteNode, editor, updateAttributes }} />\n <Resizable\n lockAspectRatio\n className=\"neeto-editor__image\"\n size={{ height, width }}\n onResizeStop={handleResize}\n onResize={(_event, _direction, ref) =>\n setCaptionWidth(ref.offsetWidth)\n }\n >\n <video\n controls\n {...{ ...node.attrs, src }}\n alt={caption}\n data-border={border}\n preload=\"metadata\"\n />\n </Resizable>\n <NodeViewContent\n as=\"figcaption\"\n className={classNames({ \"is-empty\": isEmpty(caption) })}\n style={{ width: `${captionWidth}px` }}\n />\n </figure>\n </NodeViewWrapper>\n );\n};\n\nexport default VideoComponent;\n","import { NodeViewWrapper } from \"@tiptap/react\";\nimport classnames from \"classnames\";\nimport { mergeRight } from \"ramda\";\nimport { Resizable } from \"re-resizable\";\n\nimport Menu from \"../Image/Menu\";\n\nconst EmbedComponent = ({\n node,\n editor,\n getPos,\n updateAttributes,\n deleteNode,\n}) => {\n const { figheight, figwidth, align, border, aspectRatio } = node.attrs;\n const { view } = editor;\n let height = figheight;\n let width = figwidth;\n\n const handleResize = (_event, _direction, ref) => {\n height = ref.offsetHeight;\n width = ref.offsetWidth;\n view.dispatch(\n view.state.tr.setNodeMarkup(\n getPos(),\n undefined,\n mergeRight(node.attrs, {\n figheight: height,\n figwidth: width,\n height,\n width,\n })\n )\n );\n editor.commands.focus();\n };\n\n return (\n <NodeViewWrapper\n data-testid=\"neeto-editor-video-wrapper\"\n className={classnames(\n \"neeto-editor__video-wrapper\",\n `neeto-editor__video--${align}`,\n { \"neeto-editor__video--bordered\": border }\n )}\n >\n <Resizable\n lockAspectRatio\n size={{ height, width }}\n className={classnames(\"neeto-editor__video-iframe\", {\n \"neeto-editor-aspect-1-1\": aspectRatio === \"1/1\",\n \"neeto-editor-aspect-16-9\": aspectRatio === \"16/9\",\n \"neeto-editor-aspect-9-16\": aspectRatio === \"9/16\",\n \"neeto-editor-aspect-4-3\": aspectRatio === \"4/3\",\n \"neeto-editor-aspect-3-2\": aspectRatio === \"3/2\",\n })}\n onResizeStop={handleResize}\n >\n <Menu\n {...{ align, border, deleteNode, editor, updateAttributes }}\n showAspectRatio\n />\n <iframe {...node.attrs} allowFullScreen data-border={border} />\n </Resizable>\n </NodeViewWrapper>\n );\n};\n\nexport default EmbedComponent;\n","import { mergeAttributes, Node, PasteRule } from \"@tiptap/core\";\nimport { TextSelection } from \"@tiptap/pm/state\";\nimport { ReactNodeViewRenderer } from \"@tiptap/react\";\nimport classnames from \"classnames\";\n\nimport { COMBINED_REGEX } from \"common/constants\";\n\nimport VideoComponent from \"./VideoComponent\";\n\nimport { DEFAULT_ASPECT_RATIO } from \"../../MediaUploader/constants\";\nimport EmbedComponent from \"../Embeds/EmbedComponent\";\nimport { validateUrl } from \"../Embeds/utils\";\n\nconst getSharedAttributes = () => ({\n src: {\n default: null,\n parseHTML: element => {\n if (element.tagName === \"IFRAME\") return element.getAttribute(\"src\");\n\n const iframe = element.querySelector(\"iframe\");\n const video = element.querySelector(\"video\");\n\n return iframe?.getAttribute(\"src\") || video?.getAttribute(\"src\");\n },\n },\n align: {\n default: \"left\",\n parseHTML: element =>\n element.getAttribute(\"align\") ||\n element.querySelector(\"video\")?.getAttribute(\"align\"),\n },\n videoType: {\n default: \"upload\",\n parseHTML: element => {\n const iframe =\n element.tagName === \"IFRAME\"\n ? element\n : element.querySelector(\"iframe\");\n\n return iframe ? \"embed\" : \"upload\";\n },\n },\n border: {\n default: true,\n parseHTML: element =>\n element.querySelector(\"video\")?.getAttribute(\"data-border\") === \"true\" ||\n element.querySelector(\"iframe\")?.getAttribute(\"data-border\") === \"true\",\n },\n});\n\nconst getUploadAttributes = () => ({\n alt: {\n default: \"\",\n parseHTML: element => element.querySelector(\"video\")?.getAttribute(\"alt\"),\n },\n vidheight: {\n default: \"fit-content\",\n parseHTML: element =>\n element.querySelector(\"video\")?.getAttribute(\"vidheight\"),\n },\n vidwidth: {\n default: 502,\n parseHTML: element =>\n element.querySelector(\"video\")?.getAttribute(\"vidwidth\"),\n },\n});\n\nconst getEmbedAttributes = () => ({\n figheight: {\n default: 281,\n parseHTML: element => element.getAttribute(\"figheight\"),\n },\n figwidth: {\n default: 500,\n parseHTML: element => element.getAttribute(\"figwidth\"),\n },\n aspectRatio: {\n default: DEFAULT_ASPECT_RATIO,\n parseHTML: element => {\n const iframe = element.querySelector(\".neeto-editor__video-iframe\");\n\n return iframe?.getAttribute(\"data-aspect-ratio\") || DEFAULT_ASPECT_RATIO;\n },\n },\n title: { default: null },\n originalUrl: {\n default: \"\",\n parseHTML: element => {\n const iframe = element.querySelector(\".neeto-editor__video-iframe\");\n\n return (\n iframe?.getAttribute(\"data-original-url\") ||\n iframe?.querySelector(\"iframe\")?.getAttribute(\"data-original-url\") ||\n \"\"\n );\n },\n },\n frameBorder: \"0\",\n allow:\n \"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; fullscreen\",\n allowfullscreen: true,\n});\n\nconst renderEmbedHTML = (node, HTMLAttributes, options) => {\n const { align, figheight, figwidth, border, aspectRatio, originalUrl } =\n node.attrs;\n\n return [\n \"div\",\n {\n class: classnames(\n \"neeto-editor__video-wrapper\",\n `neeto-editor__video--${align}`,\n { \"neeto-editor__video--bordered\": border }\n ),\n },\n [\n \"div\",\n {\n class: classnames(\"neeto-editor__video-iframe\", {\n \"neeto-editor-aspect-1-1\": aspectRatio === \"1/1\",\n \"neeto-editor-aspect-16-9\": aspectRatio === \"16/9\",\n \"neeto-editor-aspect-9-16\": aspectRatio === \"9/16\",\n \"neeto-editor-aspect-4-3\": aspectRatio === \"4/3\",\n \"neeto-editor-aspect-3-2\": aspectRatio === \"3/2\",\n }),\n style: `width: ${figwidth}px; height: ${figheight}px;`,\n \"data-aspect-ratio\": aspectRatio,\n },\n [\n \"iframe\",\n mergeAttributes(options.HTMLAttributes, {\n ...HTMLAttributes,\n allowfullscreen: true,\n \"data-border\": border,\n \"data-original-url\": originalUrl,\n }),\n ],\n ],\n ];\n};\n\nconst renderUploadHTML = (node, HTMLAttributes, options) => {\n const { align, vidheight, vidwidth, border } = node.attrs;\n\n const wrapperDivAttrs = {\n class: classnames(\n \"neeto-editor__image-wrapper\",\n `neeto-editor__image--${align}`,\n { \"neeto-editor__image--bordered\": border }\n ),\n };\n\n const heightStyle =\n vidheight === \"fit-content\" ? \"fit-content\" : `${vidheight}px`;\n\n const wrapperLinkAttrs = {\n rel: \"noopener noreferrer\",\n class: \"neeto-editor__image\",\n style: `height:${heightStyle};width:${vidwidth}px;display:inline-block;`,\n };\n\n const captionAttrs = { style: `width:${vidwidth}px;` };\n\n return [\n \"div\",\n wrapperDivAttrs,\n [\n \"figure\",\n mergeAttributes(options.HTMLAttributes, { \"data-video\": \"\" }),\n [\n \"a\",\n wrapperLinkAttrs,\n [\n \"video\",\n mergeAttributes(HTMLAttributes, {\n preload: \"metadata\",\n controls: true,\n draggable: false,\n contenteditable: false,\n \"data-border\": border,\n }),\n ],\n ],\n [\"figcaption\", captionAttrs, 0],\n ],\n ];\n};\n\nconst handleVideoPaste = ({ state, range, match }) => {\n state.tr.delete(range.from, range.to);\n state.tr.setSelection(TextSelection.create(state.doc, range.from + 1));\n\n const validatedUrl = validateUrl(match[0]);\n if (validatedUrl) {\n const node = state.schema.nodes[\"unified-video\"].create({\n src: validatedUrl,\n videoType: \"embed\",\n originalUrl: match[0],\n });\n\n state.tr.insert(range.from, node);\n state.tr.insert(\n range.from + node.nodeSize + 1,\n state.schema.nodes.paragraph.create()\n );\n\n state.tr.setSelection(\n TextSelection.create(state.tr.doc, range.from + node.nodeSize + 1)\n );\n }\n};\n\nconst UnifiedVideoExtension = Node.create({\n name: \"unified-video\",\n\n addOptions() {\n return { HTMLAttributes: {} };\n },\n\n group: \"block\",\n content: \"inline*\",\n draggable: true,\n isolating: true,\n\n addAttributes() {\n return {\n ...getSharedAttributes(),\n ...getUploadAttributes(),\n ...getEmbedAttributes(),\n };\n },\n\n parseHTML() {\n return [\n {\n tag: \"div.neeto-editor__image-wrapper\",\n getAttrs: node => {\n const figure = node.querySelector(\"figure[data-video]\");\n\n if (!figure) return false;\n\n const videoSrc = figure.querySelector(\"video\")?.getAttribute(\"src\");\n const iframeSrc = figure.querySelector(\"iframe\")?.getAttribute(\"src\");\n\n if (!videoSrc && !iframeSrc) return false;\n\n return node.style.fontWeight !== \"normal\" && null;\n },\n contentElement: \"figcaption\",\n },\n {\n tag: \"iframe[src]\",\n // iframes inside our own embed markup are consumed by the\n // div.neeto-editor__video-wrapper rule below.\n getAttrs: element =>\n element.closest(\"div.neeto-editor__video-wrapper\") ? false : null,\n },\n {\n tag: \"div.neeto-editor__video-wrapper\",\n getAttrs: element =>\n element.querySelector(\"iframe[src]\") ? null : false,\n },\n ];\n },\n\n renderHTML({ node, HTMLAttributes }) {\n const { videoType } = node.attrs;\n\n return videoType === \"embed\"\n ? renderEmbedHTML(node, HTMLAttributes, this.options)\n : renderUploadHTML(node, HTMLAttributes, this.options);\n },\n\n addNodeView() {\n return ReactNodeViewRenderer(({ node, ...props }) => {\n const { videoType } = node.attrs;\n\n return videoType === \"embed\" ? (\n <EmbedComponent {...{ ...props, node }} />\n ) : (\n <VideoComponent {...{ ...props, node }} />\n );\n });\n },\n\n addCommands() {\n return {\n setVideo:\n ({ caption, ...attrs }) =>\n ({ chain }) =>\n chain()\n .insertContent({\n type: this.name,\n attrs: { ...attrs, videoType: \"upload\" },\n content: caption ? [{ type: \"text\", text: caption }] : [],\n })\n .command(({ tr, commands }) => {\n const { doc, selection } = tr;\n const position = doc.resolve(selection.to).end();\n\n return commands.setTextSelection(position);\n })\n .run(),\n\n setExternalVideo:\n options =>\n ({ commands }) =>\n commands.insertContent({\n type: this.name,\n attrs: { ...options, videoType: \"embed\" },\n }),\n };\n },\n\n addPasteRules() {\n return [\n new PasteRule({\n find: COMBINED_REGEX,\n handler: handleVideoPaste,\n }),\n ];\n },\n});\n\nexport default UnifiedVideoExtension;\n","import Code from \"@tiptap/extension-code\";\nimport Collaboration from \"@tiptap/extension-collaboration\";\nimport CollaborationCaret from \"@tiptap/extension-collaboration-caret\";\nimport Document from \"@tiptap/extension-document\";\nimport Highlight from \"@tiptap/extension-highlight\";\nimport { ListItem } from \"@tiptap/extension-list\";\nimport { TableCell, TableHeader, TableRow } from \"@tiptap/extension-table\";\nimport { Color, TextStyle } from \"@tiptap/extension-text-style\";\nimport Underline from \"@tiptap/extension-underline\";\nimport { CharacterCount, Focus } from \"@tiptap/extensions\";\nimport StarterKit from \"@tiptap/starter-kit\";\nimport { isEmpty } from \"ramda\";\n\nimport { EDITOR_OPTIONS } from \"common/constants\";\nimport safeSplitBlock from \"common/safeSplitBlock\";\nimport { buildLevelsFromOptions } from \"components/Editor/utils\";\n\nimport HighlightInternal from \"../BackgroundColor/ExtensionConfig\";\nimport BulletList from \"../BulletList/ExtensionConfig\";\nimport Callout from \"../Callout/ExtensionConfig\";\nimport CodeBlock from \"../CodeBlock/ExtensionConfig\";\nimport CustomCommands from \"../CustomCommands/ExtensionConfig\";\nimport DeletedArticleDecoration from \"../DeletedArticleDecoration/ExtensionConfig\";\nimport EmojiPicker from \"../Emoji/EmojiPicker/ExtensionConfig\";\nimport EmojiSuggestion from \"../Emoji/EmojiSuggestion/ExtensionConfig\";\nimport ImageExtension from \"../Image/ExtensionConfig\";\nimport FigCaption from \"../Image/FigCaption\";\nimport Italic from \"../Italic/ExtensionConfig\";\nimport KeyboardShortcuts from \"../KeyboardShortcuts/ExtensionConfig\";\nimport Link from \"../Link/ExtensionConfig\";\nimport Mention, { createMentionSuggestions } from \"../Mention/ExtensionConfig\";\nimport OrderedList from \"../OrderedList/ExtensionConfig\";\nimport Placeholder from \"../Placeholder/ExtensionConfig\";\nimport SelectionDecoration from \"../SelectionDecoration/ExtensionConfig\";\nimport SlashCommands from \"../SlashCommands/ExtensionConfig\";\nimport SpecialMentions from \"../SpecialMentions/ExtensionConfig\";\nimport Table from \"../Table/ExtensionConfig\";\nimport {\n TodoListExtension,\n TodoItemExtension,\n} from \"../TodoList/ExtensionConfig\";\nimport Variable from \"../Variable/ExtensionConfig\";\nimport UnifiedVideoExtension from \"../Video/ExtensionConfig\";\n\nconst useCustomExtensions = ({\n placeholder,\n extensions,\n mentions,\n variables,\n isSlashCommandsActive,\n options,\n addonCommands,\n onSubmit,\n keyboardShortcuts,\n setMediaUploader,\n setIsAddLinkActive,\n attachmentProps,\n openImageInNewTab,\n openLinkInNewTab,\n enableReactNodeViewOptimization,\n collaborationProvider,\n setIsNeetoKbArticleActive,\n}) => {\n let customExtensions = [\n CharacterCount,\n Code,\n CodeBlock.configure({ enableReactNodeViewOptimization }),\n CustomCommands,\n Document,\n FigCaption,\n HighlightInternal,\n SelectionDecoration,\n Focus.configure({ mode: \"shallowest\" }),\n Highlight,\n ImageExtension.configure({\n openImageInNewTab,\n enableReactNodeViewOptimization,\n }),\n Link.configure({\n HTMLAttributes: { target: openLinkInNewTab ? \"_blank\" : null },\n }),\n Placeholder.configure({ placeholder, isSlashCommandsActive }),\n StarterKit.configure({\n document: false,\n codeBlock: false,\n code: false,\n bulletList: false,\n listItem: false, // Disable ListItem from StarterKit since we add it conditionally below\n blockquote: options.includes(EDITOR_OPTIONS.BLOCKQUOTE),\n orderedList: false,\n italic: false,\n link: false, // v3 StarterKit bundles Link; we register a custom Link extension\n underline: false, // v3 StarterKit bundles Underline; we register it explicitly below\n listKeymap: {\n // TodoList renames Tiptap's taskList wrapper to todoList\n listTypes: [\n { itemName: \"listItem\", wrapperNames: [\"bulletList\", \"orderedList\"] },\n { itemName: \"taskItem\", wrapperNames: [\"todoList\"] },\n ],\n },\n trailingNode: false, // new in v3 StarterKit; disabled to keep v2 behavior\n undoRedo: !collaborationProvider,\n heading: { levels: buildLevelsFromOptions(options) },\n }),\n safeSplitBlock,\n TextStyle,\n Underline,\n Italic,\n KeyboardShortcuts.configure({\n onSubmit,\n shortcuts: keyboardShortcuts,\n isBlockQuoteActive: options.includes(EDITOR_OPTIONS.BLOCKQUOTE),\n }),\n EmojiSuggestion,\n EmojiPicker,\n ];\n\n if (options.includes(EDITOR_OPTIONS.VIDEO_UPLOAD)) {\n customExtensions.push(UnifiedVideoExtension);\n }\n\n if (options.includes(EDITOR_OPTIONS.NEETO_KB_ARTICLE)) {\n customExtensions.push(\n DeletedArticleDecoration.configure({\n deletedArticleIds: new Set(),\n })\n );\n }\n\n if (options.includes(EDITOR_OPTIONS.TABLE)) {\n customExtensions.push(\n Table.configure({ resizable: true }),\n TableRow,\n TableHeader,\n TableCell\n );\n }\n\n if (\n options.includes(EDITOR_OPTIONS.TEXT_COLOR) ||\n options.includes(EDITOR_OPTIONS.HIGHLIGHT)\n ) {\n customExtensions.push(Color);\n }\n\n if (options.includes(EDITOR_OPTIONS.LIST_BULLETS)) {\n customExtensions.push(BulletList);\n }\n\n if (options.includes(EDITOR_OPTIONS.LIST_ORDERED)) {\n customExtensions.push(OrderedList);\n }\n\n if (\n options.includes(EDITOR_OPTIONS.LIST_BULLETS) ||\n options.includes(EDITOR_OPTIONS.LIST_ORDERED)\n ) {\n customExtensions.push(ListItem);\n }\n\n if (options.includes(EDITOR_OPTIONS.CALLOUT)) {\n customExtensions.push(Callout);\n }\n\n if (options.includes(EDITOR_OPTIONS.TODO_LIST)) {\n customExtensions.push(TodoListExtension);\n customExtensions.push(TodoItemExtension);\n }\n\n if (isSlashCommandsActive) {\n customExtensions.push(\n SlashCommands.configure({\n options,\n addonCommands,\n setMediaUploader,\n setIsAddLinkActive,\n attachmentProps,\n setIsNeetoKbArticleActive,\n })\n );\n }\n\n if (!isEmpty(mentions)) {\n const items = createMentionSuggestions(mentions);\n\n customExtensions.push(Mention.configure({ suggestion: { items } }));\n\n customExtensions.push(SpecialMentions.configure({ suggestion: { items } }));\n }\n\n if (!isEmpty(variables)) {\n customExtensions.push(Variable);\n }\n\n if (collaborationProvider) {\n customExtensions.push(\n Collaboration.configure({\n document: collaborationProvider.document ?? collaborationProvider.doc,\n })\n );\n\n customExtensions.push(\n CollaborationCaret.configure({\n provider: collaborationProvider,\n })\n );\n }\n\n customExtensions = customExtensions.concat(extensions);\n\n return customExtensions;\n};\n\nexport default useCustomExtensions;\n","import React from \"react\";\n\nimport classNames from \"classnames\";\nimport { isNotEmpty } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Typography as NeetoUITypography } from \"neetoui\";\n\nimport { decodeHtmlEntities } from \"src/utils/common\";\n\nconst ArticlesList = withT(\n ({\n t,\n articles = [],\n onSelectArticle,\n highlightedIndex = 0,\n containerRef,\n }) => (\n <div className=\"max-h-40 overflow-y-auto\" ref={containerRef}>\n {isNotEmpty(articles) ? (\n <div className=\"space-y-1\">\n {articles.map((article, index) => (\n <button\n data-index={index}\n key={article?.id}\n className={classNames(\n \"hover:neeto-ui-bg-gray-200 focus:neeto-ui-bg-gray-200 neeto-ui-rounded w-full p-2 text-left focus:outline-none\",\n { \"neeto-ui-bg-gray-200\": index === highlightedIndex }\n )}\n onClick={() => onSelectArticle?.(article)}\n >\n <div className=\"neeto-ui-text-sm neeto-ui-font-medium\">\n {decodeHtmlEntities(article?.title)}\n </div>\n </button>\n ))}\n </div>\n ) : (\n <div className=\"neeto-ui-text-gray-500 py-4 text-center\">\n <NeetoUITypography style=\"body2\">\n {t(\"neetoEditor.error.noResults\")}\n </NeetoUITypography>\n </div>\n )}\n </div>\n )\n);\n\nexport default ArticlesList;\n","import { useState, useEffect, useCallback } from \"react\";\n\nconst useArticleNavigation = ({\n articles = [],\n articlesContainerRef,\n mode,\n onClose,\n handleModalArticleSelect,\n searchTerm,\n}) => {\n const [highlightedIndex, setHighlightedIndex] = useState(0);\n\n useEffect(() => {\n setHighlightedIndex(0);\n }, [articles, searchTerm]);\n\n useEffect(() => {\n if (!articlesContainerRef?.current || !articles?.length) return;\n\n const container = articlesContainerRef.current;\n const highlightedItem = container.querySelector(\n `[data-index=\"${highlightedIndex}\"]`\n );\n\n if (!highlightedItem) return;\n\n const containerRect = container.getBoundingClientRect();\n const itemRect = highlightedItem.getBoundingClientRect();\n\n const isItemAbove = itemRect.top < containerRect.top;\n const isItemBelow = itemRect.bottom > containerRect.bottom;\n\n if (isItemAbove) {\n container.scrollTop -= containerRect.top - itemRect.top;\n } else if (isItemBelow) {\n container.scrollTop += itemRect.bottom - containerRect.bottom;\n }\n }, [highlightedIndex, articles.length, articlesContainerRef]);\n\n const navigationHandlers = {\n down: prev => (prev < articles.length - 1 ? prev + 1 : 0),\n up: prev => (prev > 0 ? prev - 1 : articles.length - 1),\n };\n\n const keyActions = {\n Escape: () => onClose?.(),\n ArrowDown: () => setHighlightedIndex(navigationHandlers[\"down\"]),\n ArrowUp: () => setHighlightedIndex(navigationHandlers[\"up\"]),\n Tab: event =>\n setHighlightedIndex(navigationHandlers[event.shiftKey ? \"up\" : \"down\"]),\n Enter: () => {\n if (articles[highlightedIndex]) {\n handleModalArticleSelect?.(articles[highlightedIndex]);\n }\n },\n };\n\n const handleKeyboardNavigation = useCallback(\n event => {\n if (mode !== \"modal\") return;\n\n const action = keyActions[event.key];\n if (!action) return;\n\n event.preventDefault();\n action(event);\n },\n [mode, articles, highlightedIndex, onClose, handleModalArticleSelect]\n );\n\n useEffect(() => {\n if (mode !== \"modal\") return undefined;\n\n document.addEventListener(\"keydown\", handleKeyboardNavigation);\n\n return () => {\n document.removeEventListener(\"keydown\", handleKeyboardNavigation);\n };\n }, [mode, handleKeyboardNavigation]);\n\n return { highlightedIndex };\n};\n\nexport default useArticleNavigation;\n","import React, { useState, useEffect, useRef } from \"react\";\n\nimport { findBy } from \"neetocist\";\nimport Search from \"neetomolecules/Search\";\nimport { Select, Spinner as NeetoUISpinner } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchKbArticles } from \"hooks/reactQuery/kbArticle/useArticleFetching\";\n\nimport ArticlesList from \"./ArticlesList\";\nimport {\n MODE,\n MODAL_BOTTOM_MARGIN,\n MODAL_LEFT_OFFSET,\n MODAL_TOP_OFFSET,\n MODAL_TRANSFORM_Y,\n MODAL_TRANSFORM_X,\n} from \"./constants\";\nimport useArticleNavigation from \"./hooks/useArticleNavigation\";\nimport { buildArticleFullUrl, createArticleOptions } from \"./utils\";\n\nconst ArticlePicker = ({\n mode = MODE.MODAL,\n cursorPos,\n onClose,\n isLoading: externalIsLoading,\n options: externalOptions,\n value,\n onChange,\n placeholder,\n label,\n name,\n className,\n strategy,\n onArticleSelect,\n}) => {\n const { t } = useTranslation();\n const [searchTerm, setSearchTerm] = useState(\"\");\n const modalRef = useRef(null);\n const articlesContainerRef = useRef(null);\n\n const { data: articles = [], isLoading: isLoadingArticles } =\n useFetchKbArticles({\n searchTerm,\n reactQueryOptions: { enabled: !externalOptions },\n });\n\n const isLoading = externalIsLoading || isLoadingArticles;\n\n const selectOptions =\n mode === MODE.SELECT ? createArticleOptions(articles) : [];\n\n const handleModalArticleSelect = article => {\n if (mode !== MODE.MODAL || !article) return;\n\n const articleWithUrl = {\n ...article,\n full_url: buildArticleFullUrl(article.slug),\n };\n\n onArticleSelect(article, articleWithUrl);\n onClose?.();\n };\n\n const { highlightedIndex } = useArticleNavigation({\n articles,\n articlesContainerRef,\n mode,\n onClose,\n handleModalArticleSelect,\n searchTerm,\n });\n\n const handleSelectChange = (selectedValue, formikHelpers) => {\n const selectedOption = findBy(\n { value: selectedValue?.value },\n selectOptions\n );\n\n if (selectedOption?.data?.type === \"article\" && onChange) {\n onChange(selectedValue, formikHelpers);\n }\n };\n\n useEffect(() => {\n if (mode !== MODE.MODAL || !modalRef.current || !cursorPos) return;\n\n const modal = modalRef.current;\n\n const modalRect = modal.getBoundingClientRect();\n const modalWidth = modalRect.width || 320;\n const modalHeight = modalRect.height || 200;\n\n const maxLeft = window.innerWidth - modalWidth;\n const maxTop = window.innerHeight - modalHeight - MODAL_BOTTOM_MARGIN;\n\n const adjustedLeft = Math.min(cursorPos.left - MODAL_LEFT_OFFSET, maxLeft);\n const adjustedTop = Math.min(cursorPos.top - MODAL_TOP_OFFSET, maxTop);\n\n Object.assign(modal.style, {\n position: \"fixed\",\n top: `${adjustedTop}px`,\n left: `${adjustedLeft}px`,\n transform: `translateY(${MODAL_TRANSFORM_Y}px) translateX(${MODAL_TRANSFORM_X}px)`,\n zIndex: 99999,\n });\n }, [mode, cursorPos]);\n\n useEffect(() => {\n if (mode !== MODE.MODAL) return undefined;\n\n const handleClickOutside = event => {\n if (modalRef.current && !modalRef.current.contains(event.target)) {\n onClose?.();\n }\n };\n\n document.addEventListener(\"mousedown\", handleClickOutside);\n\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [mode, onClose]);\n\n if (mode === MODE.MODAL) {\n return (\n <div className=\"ne-article-picker-popover w-80 border\" ref={modalRef}>\n <div className=\"mb-4\">\n <Search\n autoFocus\n placeholder={t(\"neetoEditor.placeholders.searchArticles\")}\n onSearch={setSearchTerm}\n />\n </div>\n {isLoading ? (\n <div className=\"flex items-center justify-center py-8\">\n <NeetoUISpinner />\n </div>\n ) : (\n <div>\n <ArticlesList\n {...{ articles, highlightedIndex, searchTerm }}\n containerRef={articlesContainerRef}\n onSelectArticle={handleModalArticleSelect}\n />\n </div>\n )}\n </div>\n );\n }\n\n return (\n <Select\n {...{ className, isLoading, label, name, placeholder, strategy, value }}\n isSearchable\n options={externalOptions || selectOptions}\n onChange={handleSelectChange}\n />\n );\n};\n\nexport default ArticlePicker;\n","import React from \"react\";\n\nimport ArticlePicker from \"./ArticlePicker\";\nimport { MODE } from \"./constants\";\n\nconst ArticleSelector = ({\n editor,\n cursorPos,\n onClose,\n deletedArticlesHook,\n}) => {\n const handleArticleSelect = (article, detailedArticle) => {\n if (!detailedArticle.full_url) return;\n const { from, to } = editor.state.selection;\n\n const linkText = detailedArticle.title || article.title;\n const isDeleted = deletedArticlesHook?.isArticleDeleted(article.id);\n\n const attrs = {\n href: detailedArticle.full_url,\n \"data-neeto-kb-article\": \"true\",\n \"data-article-id\": article.id,\n \"data-article-deleted\": isDeleted ? \"true\" : null,\n title: detailedArticle.title || article.title,\n };\n\n const linkMark = editor.state.schema.marks.link.create(attrs);\n const linkTextWithMark = editor.state.schema.text(linkText, [linkMark]);\n\n const tr = editor.state.tr.replaceWith(from, to, linkTextWithMark);\n editor.view.dispatch(tr);\n editor.view.focus();\n };\n\n return (\n <ArticlePicker\n {...{ cursorPos, deletedArticlesHook, editor, onClose }}\n mode={MODE.MODAL}\n onArticleSelect={handleArticleSelect}\n />\n );\n};\n\nexport default ArticleSelector;\n","import { CellSelection } from \"@tiptap/pm/tables\";\nimport { t } from \"i18next\";\nimport { isNotPresent } from \"neetocist\";\nimport {\n DeleteRow,\n DeleteColumn,\n DeleteTable,\n InsertRow,\n InsertColumn,\n MergeSplit,\n ToggleHeaderRow,\n} from \"neetoicons\";\n\nconst shouldShowMergeCellToggler = selection => {\n if (isNotPresent(selection)) return false;\n\n if (selection instanceof CellSelection) return true;\n\n let depth = selection.$from.depth;\n\n while (depth > 0) {\n const node = selection.$from.node(depth);\n const nodeRoleInTable = node?.type?.spec?.tableRole;\n if (nodeRoleInTable === \"cell\" || nodeRoleInTable === \"header_cell\") {\n const { colspan, rowspan } = node.attrs;\n\n return colspan > 1 || rowspan > 1;\n }\n depth -= 1;\n }\n\n return false;\n};\n\nconst setTableAlignment = (editor, alignment) => {\n const { state, view } = editor;\n const { selection } = state;\n\n let tableNode = null;\n let tablePos = null;\n\n state.doc.descendants((node, pos) => {\n if (\n node.type.name === \"table\" &&\n pos <= selection.from &&\n selection.from <= pos + node.nodeSize\n ) {\n tableNode = node;\n tablePos = pos;\n\n return false;\n }\n\n return true;\n });\n\n if (tableNode && tablePos !== null) {\n const tr = state.tr;\n const currentAttrs = tableNode?.attrs || {};\n const newAttrs = { ...currentAttrs, textAlign: alignment };\n\n tr.setNodeMarkup(tablePos, null, newAttrs);\n view.dispatch(tr);\n }\n};\n\nexport const tableActions = ({ editor }) => [\n {\n type: \"dropdown\",\n label: t(\"neetoEditor.table.textAlign\"),\n items: [\n {\n type: \"left\",\n command: () => setTableAlignment(editor, \"left\"),\n tooltipLabel: t(\"neetoEditor.table.leftAlign\"),\n },\n {\n type: \"center\",\n command: () => setTableAlignment(editor, \"center\"),\n tooltipLabel: t(\"neetoEditor.table.centerAlign\"),\n },\n {\n type: \"right\",\n command: () => setTableAlignment(editor, \"right\"),\n tooltipLabel: t(\"neetoEditor.table.rightAlign\"),\n },\n ],\n },\n {\n label: t(\"neetoEditor.table.insertRow\"),\n command: () => editor.commands.addRowAfter(),\n icon: InsertRow,\n },\n {\n label: t(\"neetoEditor.table.insertColumn\"),\n command: () => editor.commands.addColumnAfter(),\n icon: InsertColumn,\n },\n {\n label: t(\"neetoEditor.table.deleteRow\"),\n command: () => editor.chain().focus().deleteRow().run(),\n icon: DeleteRow,\n isVisible: true,\n },\n {\n label: t(\"neetoEditor.table.deleteColumn\"),\n command: () => editor.chain().focus().deleteColumn().run(),\n icon: DeleteColumn,\n },\n {\n label: t(\"neetoEditor.table.mergeSplit\"),\n command: () => editor.chain().focus().mergeOrSplit().run(),\n icon: MergeSplit,\n isHidden: !shouldShowMergeCellToggler(editor.state?.selection),\n },\n {\n label: t(\"neetoEditor.table.toggleHeaderRow\"),\n command: () => editor.chain().focus().toggleHeaderRow().run(),\n icon: ToggleHeaderRow,\n },\n {\n label: t(\"neetoEditor.table.delete\"),\n command: () => editor.commands.deleteTable(),\n icon: DeleteTable,\n },\n];\n","import { useCallback } from \"react\";\n\nimport { BubbleMenu } from \"@tiptap/react/menus\";\nimport { CenterAlign, Down, LeftAlign, RightAlign } from \"neetoicons\";\nimport { Button, Dropdown } from \"neetoui\";\n\nimport { tableActions } from \"./utils\";\n\nconst { Menu, MenuItem } = Dropdown;\n\nconst alignmentIcons = {\n left: LeftAlign,\n center: CenterAlign,\n right: RightAlign,\n};\n\nconst TableActionMenu = ({ editor }) => {\n const getReferenceClientRect = useCallback(() => {\n if (!editor) return new DOMRect(0, 0, 0, 0);\n\n const { $anchor: anchor } = editor.state?.selection ?? {};\n const node = editor.view.domAtPos(anchor?.pos)?.node;\n const element = node?.nodeType === 3 ? node?.parentElement : node;\n\n return element?.getBoundingClientRect() || new DOMRect(0, 0, 0, 0);\n }, [editor]);\n\n const shouldShow = useCallback(\n () => editor?.isFocused && editor?.isActive(\"table\"),\n [editor]\n );\n\n if (!editor) return null;\n\n return (\n <BubbleMenu\n {...{ editor, shouldShow }}\n className=\"neeto-editor-bubble-menu\"\n style={{ zIndex: 99999 }}\n getReferencedVirtualElement={() => ({\n getBoundingClientRect: getReferenceClientRect,\n })}\n options={{\n offset: { mainAxis: 10, crossAxis: 10 },\n flip: false,\n }}\n >\n {tableActions({ editor }).map(action => {\n if (action.isHidden) return null;\n\n if (action.type) {\n return (\n <Dropdown\n appendTo={() => document.body}\n className=\"neeto-editor-table-bubble-menu__dropdown\"\n closeOnSelect={false}\n key={action.label}\n position=\"bottom-start\"\n strategy=\"fixed\"\n buttonProps={{\n className: \"neeto-editor-table-bubble-menu__dropdown-item\",\n icon: Down,\n iconPosition: \"right\",\n iconSize: 16,\n label: <LeftAlign />,\n size: \"small\",\n style: \"text\",\n tooltipProps: {\n content: action.label,\n position: \"top\",\n delay: [500],\n },\n }}\n >\n <Menu className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-justify-center\">\n {action.items?.map(({ type, command, tooltipLabel }) => {\n const IconComponent = alignmentIcons[type];\n\n return (\n <MenuItem key={type}>\n <Button\n className=\"neeto-editor-table-bubble-menu__item\"\n icon={IconComponent}\n style=\"text\"\n tooltipProps={{\n content: tooltipLabel,\n position: \"bottom\",\n delay: [500],\n }}\n onClick={command}\n />\n </MenuItem>\n );\n })}\n </Menu>\n </Dropdown>\n );\n }\n\n return (\n <Button\n className=\"neeto-editor-table-bubble-menu__item\"\n icon={action.icon}\n iconSize={18}\n key={action.label}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: action.label,\n position: \"top\",\n delay: [500],\n }}\n onClick={action.command}\n />\n );\n })}\n </BubbleMenu>\n );\n};\n\nexport default TableActionMenu;\n","import React from \"react\";\n\nimport { withT } from \"neetocommons/react-utils\";\nimport { Button, Modal } from \"neetoui\";\n\nconst KbArticleDeletedModal = withT(({ t, isOpen, onClose }) => (\n <Modal {...{ isOpen, onClose }}>\n <Modal.Header>\n <h2>{t(\"neetoEditor.linkKb.articleDeletedTitle\")}</h2>\n </Modal.Header>\n <Modal.Body>\n <p>{t(\"neetoEditor.linkKb.articleDeletedDescription\")}</p>\n </Modal.Body>\n <Modal.Footer>\n <Button label={t(\"neetoEditor.common.close\")} onClick={onClose} />\n </Modal.Footer>\n </Modal>\n));\n\nexport default KbArticleDeletedModal;\n","import React from \"react\";\n\nimport { Button } from \"neetoui\";\nimport { Form, Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { decodeHtmlEntities } from \"src/utils/common\";\n\nimport ArticlePicker from \"./ArticlePicker\";\nimport { MODE } from \"./constants\";\n\nconst KbArticleEdit = ({\n linkAttributes,\n getCurrentTextContent,\n getCurrentArticleOption,\n handleKbArticleSubmit,\n handleSelectChange,\n handleKeyDown,\n isLoadingKbData,\n selectOptions,\n setIsEditing,\n}) => {\n const initialValues = {\n textContent:\n getCurrentTextContent?.() ||\n decodeHtmlEntities(linkAttributes?.title || \"\") ||\n \"\",\n pageSelection: getCurrentArticleOption(),\n };\n\n const { t } = useTranslation();\n\n return (\n <Form\n className=\"w-64\"\n formikProps={{\n initialValues,\n onSubmit: handleKbArticleSubmit,\n enableReinitialize: true,\n }}\n >\n {({ dirty, isSubmitting, setFieldValue, values }) => (\n <div className=\"flex w-full flex-col items-start gap-2\">\n <Input\n required\n unlimitedChars\n className=\"w-full\"\n data-testid=\"neeto-editor-edit-kb-link-text-input\"\n label={t(\"neetoEditor.common.text\")}\n name=\"textContent\"\n placeholder={t(\"neetoEditor.placeholders.enterText\")}\n onKeyDown={handleKeyDown}\n />\n <ArticlePicker\n className=\"w-full\"\n data-testid=\"neeto-editor-edit-kb-link-page-select\"\n isLoading={isLoadingKbData}\n label={t(\"neetoEditor.linkKb.articleLabel\")}\n mode={MODE.SELECT}\n name=\"pageSelection\"\n options={selectOptions}\n placeholder={t(\"neetoEditor.linkKb.selectArticle\")}\n strategy=\"fixed\"\n value={values.pageSelection}\n onChange={value => handleSelectChange(value, { setFieldValue })}\n />\n <div className=\"ne-link-popover__edit-prompt-buttons\">\n <Button\n data-testid=\"neeto-editor-edit-kb-link-done\"\n disabled={!dirty}\n label={t(\"neetoEditor.common.done\")}\n loading={isSubmitting}\n size=\"small\"\n type=\"submit\"\n />\n <Button\n data-testid=\"neeto-editor-edit-kb-link-cancel\"\n label={t(\"neetoEditor.common.cancel\")}\n size=\"small\"\n style=\"text\"\n onClick={() => setIsEditing(false)}\n />\n </div>\n </div>\n )}\n </Form>\n );\n};\n\nexport default KbArticleEdit;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Edit, Articles } from \"neetoicons\";\nimport CopyToClipboardButton from \"neetomolecules/CopyToClipboardButton\";\nimport { Button } from \"neetoui\";\n\nimport { decodeHtmlEntities } from \"src/utils/common\";\n\nconst KbArticleView = withT(\n ({ t, linkAttributes, isDeleted, onEdit, onDeletedClick, currentText }) => (\n <div>\n <div className=\"flex items-center gap-3\">\n <Articles className=\"neeto-ui-text-gray-600\" size={16} />\n <a\n href={linkAttributes?.href}\n rel=\"noreferrer\"\n target=\"_blank\"\n className={classnames(\"ne-link-popover__kb-article-link\", {\n \"ne-link-popover__kb-article-link--deleted\": isDeleted,\n })}\n onClick={event => {\n if (!isDeleted) return;\n event.preventDefault();\n onDeletedClick?.();\n }}\n >\n {currentText ||\n decodeHtmlEntities(linkAttributes?.title || \"\") ||\n linkAttributes?.href}\n </a>\n <div className=\"flex items-center gap-0.5\">\n <CopyToClipboardButton\n size=\"small\"\n style=\"text\"\n value={linkAttributes?.href}\n />\n <Button\n className=\"ne-link-popover__option-button mx-0\"\n data-testid=\"neeto-editor-link-popover-edit\"\n icon={Edit}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoEditor.common.edit\"),\n position: \"top\",\n }}\n onClick={onEdit}\n />\n </div>\n </div>\n {isDeleted && (\n <div className=\"neeto-ui-rounded mt-2 p-2 text-sm\">\n {t(\"neetoEditor.linkKb.articleDeletedDescription\")}\n </div>\n )}\n </div>\n )\n);\n\nexport default KbArticleView;\n","import { useEffect, useState, useRef } from \"react\";\n\nimport { getMarkRange, getMarkType } from \"@tiptap/react\";\nimport { findBy } from \"neetocist\";\nimport { useOnClickOutside } from \"neetocommons/react-utils\";\nimport { Button, Checkbox } from \"neetoui\";\nimport { Form, Input } from \"neetoui/formik\";\nimport { equals, isNil } from \"ramda\";\nimport { createPortal } from \"react-dom\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchKbArticles } from \"hooks/reactQuery/kbArticle/useArticleFetching\";\nimport { decodeHtmlEntities } from \"src/utils/common\";\n\nimport { LINK_VALIDATION_SCHEMA } from \"./constants\";\nimport KbArticleDeletedModal from \"./CustomExtensions/LinkKbArticles/KbArticleDeletedModal\";\nimport KbArticleEdit from \"./CustomExtensions/LinkKbArticles/KbArticleEdit\";\nimport KbArticleView from \"./CustomExtensions/LinkKbArticles/KbArticleView\";\nimport {\n buildArticleFullUrl,\n createArticleOptions,\n} from \"./CustomExtensions/LinkKbArticles/utils\";\nimport { getLinkPopoverPosition } from \"./Menu/Fixed/utils\";\nimport { validateAndFormatUrl } from \"./utils\";\n\nconst LinkPopOver = ({ editor, deletedArticlesHook }) => {\n const { view } = editor || {};\n const { from } = editor.state.selection;\n const initialTextContent = view?.state?.doc?.nodeAt(from)?.text || \"\";\n\n const [arrowPosition, setArrowPosition] = useState({ top: 0, left: 0 });\n const [popoverPosition, setPopoverPosition] = useState({ top: 0, left: 0 });\n const [isEditing, setIsEditing] = useState(false);\n const [isLinkActive, setIsLinkActive] = useState(editor?.isActive(\"link\"));\n const [linkAttributes, setLinkAttributes] = useState(\n editor?.getAttributes(\"link\")\n );\n\n const [showDeletedModal, setShowDeletedModal] = useState(false);\n\n const popoverRef = useRef(null);\n\n const { t } = useTranslation();\n const isNeetoKbArticle = linkAttributes?.[\"data-neeto-kb-article\"] === \"true\";\n\n const { data: articles = [], isLoading: isLoadingKbData } =\n useFetchKbArticles({\n searchTerm: \"\",\n reactQueryOptions: { enabled: isEditing && isNeetoKbArticle },\n });\n\n const selectOptions = createArticleOptions(articles);\n\n const handleSelectChange = (value, { setFieldValue }) => {\n const selectedOption = findBy({ value: value?.value }, selectOptions);\n\n if (selectedOption?.data?.type === \"article\") {\n setFieldValue(\"pageSelection\", value);\n }\n };\n\n const updatePopoverPosition = () => {\n if (!view) return;\n\n const { arrowPosition, popoverPosition } = getLinkPopoverPosition(\n editor,\n popoverRef\n );\n\n setPopoverPosition({\n top: parseInt(popoverPosition.top),\n left: parseInt(popoverPosition.left),\n });\n\n setArrowPosition({\n top: parseInt(arrowPosition.top),\n left: parseInt(arrowPosition.left),\n });\n };\n\n const handleUnlink = () =>\n editor.chain().focus().extendMarkRange(\"link\").unsetLink().run();\n\n const removePopover = () => {\n setIsEditing(false);\n setIsLinkActive(false);\n };\n\n const popoverStyle = {\n display: \"block\",\n position: \"fixed\",\n top: popoverPosition.top,\n left: popoverPosition.left,\n transform: `translateY(52px) translateX(${isEditing ? \"8px\" : \"3px\"})`,\n };\n\n const handleSubmit = ({ textContent, urlString, openInNewTab }) => {\n const formattedUrl = validateAndFormatUrl(urlString);\n if (equals(textContent, initialTextContent)) {\n editor\n .chain()\n .focus()\n .extendMarkRange(\"link\")\n .setLink({\n href: formattedUrl,\n target: openInNewTab ? \"_blank\" : \"_self\",\n })\n .run();\n\n setIsEditing(false);\n\n return;\n }\n const { state, dispatch } = editor.view;\n const type = getMarkType(\"link\", state.schema);\n const { $to } = state.selection;\n const { from = null, to = null } = getMarkRange($to, type) || {};\n\n if (isNil(from) || isNil(to)) return;\n\n const attrs = {\n href: formattedUrl,\n target: openInNewTab ? \"_blank\" : \"_self\",\n };\n\n const linkMark = state.schema.marks.link.create(attrs);\n const linkTextWithMark = state.schema.text(textContent, [linkMark]);\n\n const tr = state.tr.replaceWith(from, to, linkTextWithMark);\n\n dispatch(tr);\n\n setIsEditing(false);\n editor.view.focus();\n editor.commands.extendMarkRange(\"link\");\n };\n\n const handleKbArticleSubmit = ({ textContent, pageSelection }) => {\n if (!pageSelection || pageSelection === \"\") {\n const { state, dispatch } = editor.view;\n const type = getMarkType(\"link\", state.schema);\n const { $to } = state.selection;\n const { from = null, to = null } = getMarkRange($to, type) || {};\n\n if (isNil(from) || isNil(to)) return;\n\n const articleId = linkAttributes?.[\"data-article-id\"];\n const isDeleted = deletedArticlesHook?.isArticleDeleted(articleId);\n\n const attrs = {\n href: linkAttributes?.href,\n \"data-neeto-kb-article\": linkAttributes?.[\"data-neeto-kb-article\"],\n \"data-article-id\": articleId,\n \"data-article-deleted\": isDeleted ? \"true\" : null,\n title: textContent || decodeHtmlEntities(linkAttributes?.title || \"\"),\n };\n\n const linkMark = state.schema.marks.link.create(attrs);\n const linkTextWithMark = state.schema.text(textContent, [linkMark]);\n\n const tr = state.tr.replaceWith(from, to, linkTextWithMark);\n dispatch(tr);\n\n setIsEditing(false);\n editor.view.focus();\n editor.commands.extendMarkRange(\"link\");\n\n return;\n }\n\n const selectedOption = findBy(\n { value: pageSelection?.value },\n selectOptions\n );\n\n if (!selectedOption) return;\n\n const { data } = selectedOption;\n\n if (data?.type === \"article\") {\n const full_url = buildArticleFullUrl(data.slug);\n\n if (full_url) {\n const { state, dispatch } = editor.view;\n const type = getMarkType(\"link\", state.schema);\n const { $to } = state.selection;\n const { from = null, to = null } = getMarkRange($to, type) || {};\n\n if (isNil(from) || isNil(to)) return;\n\n const isDeleted = deletedArticlesHook?.isArticleDeleted(data.id);\n\n const attrs = {\n href: full_url,\n \"data-neeto-kb-article\": \"true\",\n \"data-article-id\": data.id,\n \"data-article-deleted\": isDeleted ? \"true\" : null,\n title: decodeHtmlEntities(data.title || \"\"),\n };\n\n const linkMark = state.schema.marks.link.create(attrs);\n const linkTextWithMark = state.schema.text(\n textContent || decodeHtmlEntities(data.title || \"\"),\n [linkMark]\n );\n\n const tr = state.tr.replaceWith(from, to, linkTextWithMark);\n dispatch(tr);\n\n setIsEditing(false);\n editor.view.focus();\n editor.commands.extendMarkRange(\"link\");\n }\n }\n };\n\n const handleKeyDown = event =>\n equals(event.key, \"Escape\") && setIsEditing(false);\n\n useOnClickOutside(popoverRef, removePopover, { enabled: true });\n\n useEffect(() => {\n const isActive = editor?.isActive(\"link\");\n\n setIsLinkActive(isActive);\n if (isActive) {\n updatePopoverPosition();\n const currentLinkAttributes = editor?.getAttributes(\"link\");\n\n setLinkAttributes(currentLinkAttributes);\n }\n }, [view?.state?.selection?.$from?.pos, isEditing]);\n\n const getCurrentArticleOption = () => {\n const articleId = linkAttributes?.[\"data-article-id\"];\n if (!articleId) return \"\";\n\n const currentArticleOption = findBy(\n { data: { type: \"article\", id: articleId } },\n selectOptions || []\n );\n\n if (!currentArticleOption && linkAttributes?.title) {\n return {\n label: decodeHtmlEntities(linkAttributes.title),\n value: articleId,\n };\n }\n\n return currentArticleOption || \"\";\n };\n\n const getCurrentTextContent = () => {\n const { state } = editor.view;\n const type = getMarkType(\"link\", state.schema);\n const { $to } = state.selection;\n const { from = null, to = null } = getMarkRange($to, type) || {};\n\n if (from !== null && to !== null) {\n return state.doc.textBetween(from, to);\n }\n const { $from } = state.selection;\n\n return state.doc.textBetween($from.pos, $to.pos);\n };\n\n const renderEditingMode = () => {\n const initialValues = {\n textContent: initialTextContent,\n urlString: linkAttributes?.href || \"\",\n openInNewTab: linkAttributes?.target === \"_blank\",\n };\n\n return (\n <Form\n key={`${linkAttributes?.href}-${linkAttributes?.target}`}\n formikProps={{\n initialValues,\n onSubmit: handleSubmit,\n validationSchema: LINK_VALIDATION_SCHEMA,\n }}\n >\n {({ dirty, isSubmitting, setFieldValue, values }) => (\n <>\n <Input\n required\n data-testid=\"neeto-editor-edit-link-text-input\"\n label={t(\"neetoEditor.common.text\")}\n name=\"textContent\"\n placeholder={t(\"neetoEditor.placeholders.enterText\")}\n style={{ width: \"250px\" }}\n onKeyDown={handleKeyDown}\n />\n <Input\n autoFocus\n required\n className=\"ne-link-popover__url-input\"\n data-testid=\"neeto-editor-edit-link-url-input\"\n label={t(\"neetoEditor.common.url\")}\n name=\"urlString\"\n placeholder={t(\"neetoEditor.placeholders.url\")}\n style={{ width: \"250px\" }}\n onKeyDown={handleKeyDown}\n />\n <Checkbox\n checked={values.openInNewTab}\n className=\"ne-link-popover__checkbox\"\n label={t(\"neetoEditor.common.openInNewTab\")}\n onChange={() => {\n setFieldValue(\"openInNewTab\", !values.openInNewTab);\n }}\n />\n <div className=\"ne-link-popover__edit-prompt-buttons\">\n <Button\n data-testid=\"neeto-editor-edit-link\"\n disabled={!dirty}\n label={t(\"neetoEditor.menu.link\")}\n loading={isSubmitting}\n size=\"small\"\n type=\"submit\"\n />\n <Button\n data-testid=\"neeto-editor-edit-link-cancel\"\n label={t(\"neetoEditor.common.cancel\")}\n size=\"small\"\n style=\"text\"\n onClick={() => setIsEditing(false)}\n />\n </div>\n </>\n )}\n </Form>\n );\n };\n\n const renderEditingModeForKbArticle = () => (\n <KbArticleEdit\n {...{\n getCurrentArticleOption,\n getCurrentTextContent,\n handleKbArticleSubmit,\n handleKeyDown,\n handleSelectChange,\n isLoadingKbData,\n linkAttributes,\n selectOptions,\n setIsEditing,\n }}\n />\n );\n\n const renderViewModeForKbArticle = () => {\n const articleId = linkAttributes?.[\"data-article-id\"];\n const isDeleted = deletedArticlesHook?.isArticleDeleted(articleId);\n\n return (\n <KbArticleView\n {...{ isDeleted, linkAttributes }}\n currentText={getCurrentTextContent()}\n onEdit={() => setIsEditing(true)}\n onDeletedClick={() => {\n removePopover();\n setShowDeletedModal(true);\n }}\n />\n );\n };\n\n const renderViewMode = () => (\n <>\n <a\n href={linkAttributes?.href}\n rel=\"noreferrer noopener\"\n target={linkAttributes?.target || \"_self\"}\n >\n {linkAttributes?.href}\n </a>\n {\" - \"}\n <Button\n className=\"ne-link-popover__option-button\"\n data-testid=\"neeto-editor-link-popover-edit\"\n label={t(\"neetoEditor.common.edit\")}\n size=\"small\"\n style=\"link\"\n onClick={() => setIsEditing(true)}\n />\n <span>|</span>\n <Button\n className=\"ne-link-popover__option-button\"\n data-testid=\"neeto-editor-link-popover-unlink\"\n label={t(\"neetoEditor.common.unlink\")}\n size=\"small\"\n style=\"link\"\n onClick={handleUnlink}\n />\n </>\n );\n\n const renderPopoverContent = () => {\n if (isEditing) {\n return isNeetoKbArticle\n ? renderEditingModeForKbArticle()\n : renderEditingMode();\n }\n\n return isNeetoKbArticle ? renderViewModeForKbArticle() : renderViewMode();\n };\n\n return (\n <>\n {createPortal(\n isLinkActive ? (\n <>\n <div\n className=\"ne-link-arrow fade-in\"\n style={{ top: arrowPosition.top, left: arrowPosition.left }}\n />\n <div\n className=\"ne-link-popover fade-in\"\n id=\"ne-link-view-popover\"\n ref={popoverRef}\n style={popoverStyle}\n >\n {renderPopoverContent()}\n </div>\n </>\n ) : null,\n document.body\n )}\n <KbArticleDeletedModal\n isOpen={showDeletedModal}\n onClose={() => setShowDeletedModal(false)}\n />\n </>\n );\n};\n\nexport default LinkPopOver;\n","import {\n forwardRef,\n useImperativeHandle,\n useState,\n useRef,\n memo,\n useEffect,\n} from \"react\";\n\nimport { EditorView } from \"@tiptap/pm/view\";\nimport { useEditor, EditorContent, useEditorState } from \"@tiptap/react\";\nimport classnames from \"classnames\";\nimport { noop, slugify } from \"neetocist\";\nimport { useFuncDebounce } from \"neetocommons/react-utils\";\nimport { Label } from \"neetoui\";\nimport { createPortal } from \"react-dom\";\n\nimport { EDITOR_OPTIONS, EDITOR_SIZES } from \"common/constants\";\nimport ErrorWrapper from \"components/Common/ErrorWrapper\";\nimport { useDeletedArticles } from \"hooks/reactQuery/kbArticle/useDeletedArticles\";\nimport useEditorWarnings from \"hooks/useEditorWarnings\";\nimport \"src/styles/editor/index.scss\";\nimport { removeEmptyTags } from \"src/utils\";\n\nimport { DEFAULT_EDITOR_OPTIONS } from \"./constants\";\nimport CharacterCountWrapper from \"./CustomExtensions/CharacterCount\";\nimport useCustomExtensions from \"./CustomExtensions/hooks/useCustomExtensions\";\nimport ArticleSelector from \"./CustomExtensions/LinkKbArticles/ArticleSelector\";\nimport TableActionMenu from \"./CustomExtensions/Table/TableActionMenu\";\nimport LinkPopOver from \"./LinkPopOver\";\nimport MediaUploader from \"./MediaUploader\";\nimport Menu from \"./Menu\";\nimport MenuDynamicVariables from \"./Menu/DynamicVariables\";\nimport LinkAddPopOver from \"./Menu/Fixed/components/LinkAddPopOver\";\nimport {\n getEditorStyles,\n clipboardTextParser,\n handlePaste,\n setInitialPosition,\n transformPastedHTML,\n} from \"./utils\";\n\nimport Attachments from \"../Attachments\";\n\nconst Editor = (\n {\n addonCommands = [],\n addons = [],\n attachments = [],\n attachmentsConfig = {},\n autoFocus = false,\n className,\n contentClassName,\n contentWrapperClassName,\n errorWrapperClassName,\n contentAttributes = {},\n menuClassName,\n attachmentsClassName,\n isMenuIndependent = false,\n defaults = DEFAULT_EDITOR_OPTIONS,\n editorSecrets = {},\n error = null,\n extensions = [],\n hideSlashCommands = true,\n initialValue = \"\",\n isCharacterCountActive = false,\n keyboardShortcuts = [],\n label = \"\",\n mentions = [],\n menuType = \"fixed\",\n placeholder,\n required = false,\n rows = 6,\n tooltips = {},\n variables = [],\n disableTrimOnBlur = false,\n onChange = noop,\n onFocus = noop,\n onBlur = noop,\n onSubmit = noop,\n onChangeAttachments = noop,\n children,\n openImageInNewTab = true,\n openLinkInNewTab = false,\n showAssetLibrary = true,\n collaborationProvider = null,\n enableReactNodeViewOptimization = false,\n size = EDITOR_SIZES.SMALL,\n otherAttachmentProps = {},\n ...otherProps\n },\n ref\n) => {\n const [isAttachmentsUploading, setIsAttachmentsUploading] = useState(false);\n const wrapperRef = useRef(null);\n const isArticleOptActive = addons.includes(EDITOR_OPTIONS.NEETO_KB_ARTICLE);\n const isAttachmentsActive = addons.includes(EDITOR_OPTIONS.ATTACHMENTS);\n const isMediaUploaderActive =\n addons.includes(EDITOR_OPTIONS.IMAGE_UPLOAD) ||\n addons.includes(EDITOR_OPTIONS.VIDEO_UPLOAD);\n const isFixedMenuActive = menuType === \"fixed\";\n const isBubbleMenuActive = menuType === \"bubble\";\n const isSlashCommandsActive =\n !hideSlashCommands || (isBubbleMenuActive && !hideSlashCommands);\n const isPlaceholderActive = !!placeholder || isSlashCommandsActive;\n const [isAddLinkActive, setIsAddLinkActive] = useState(false);\n const [mediaUploader, setMediaUploader] = useState({\n image: false,\n video: false,\n });\n\n const [neetoKbArticleState, setNeetoKbArticleState] = useState({\n active: false,\n editor: null,\n range: null,\n cursorPos: null,\n });\n\n const addAttachmentsRef = useRef(null);\n\n const attachmentProps = {\n handleUploadAttachments: () =>\n addAttachmentsRef.current?.handleUploadAttachments(),\n isDisabled: isAttachmentsUploading,\n };\n\n const debouncedOnChangeHandler = useFuncDebounce(({ editor }) => {\n if (!editor.isDestroyed) onChange(editor.getHTML());\n }, 100);\n\n useEffect(() => debouncedOnChangeHandler.cancel, []);\n\n const handleBlur = props => {\n const { editor } = props;\n if (!disableTrimOnBlur) {\n const content = editor.getHTML();\n const trimmedContent = removeEmptyTags(content);\n\n if (content !== trimmedContent) onChange(trimmedContent);\n }\n onBlur(props);\n };\n\n const customExtensions = useCustomExtensions({\n placeholder,\n extensions,\n mentions,\n variables,\n isSlashCommandsActive,\n options: [...defaults, ...addons],\n addonCommands,\n onSubmit,\n keyboardShortcuts,\n setMediaUploader,\n setIsAddLinkActive,\n attachmentProps,\n openImageInNewTab,\n openLinkInNewTab,\n enableReactNodeViewOptimization,\n collaborationProvider,\n setIsNeetoKbArticleActive: setNeetoKbArticleState,\n });\n useEditorWarnings({ initialValue });\n\n const editorClasses = classnames(\"neeto-editor\", {\n \"fixed-menu-active\": isFixedMenuActive,\n \"bubble-menu-active\": isBubbleMenuActive,\n \"placeholder-active\": isPlaceholderActive,\n \"attachments-active\": isAttachmentsActive,\n \"neeto-editor-size--large\": size === EDITOR_SIZES.LARGE,\n \"neeto-editor-size--medium\": size === EDITOR_SIZES.MEDIUM,\n \"neeto-editor-size--small\": size === EDITOR_SIZES.SMALL,\n [contentClassName]: contentClassName,\n });\n\n const ariaAttributes = {\n role: \"textbox\",\n \"aria-label\": \"editor-content\",\n \"aria-multiline\": \"true\",\n \"aria-labelledby\": \"labelId\",\n \"aria-required\": required,\n \"aria-roledescription\": \"editor\",\n };\n\n const editor = useEditor({\n extensions: customExtensions,\n content: initialValue,\n injectCSS: false,\n immediatelyRender: false,\n shouldRerenderOnTransaction: false,\n autofocus: autoFocus && \"end\",\n editorProps: {\n attributes: {\n class: editorClasses,\n style: getEditorStyles({ rows }),\n \"data-testid\": \"neeto-editor-content\",\n ...ariaAttributes,\n ...contentAttributes,\n },\n clipboardTextParser,\n handlePaste,\n transformPastedHTML,\n },\n parseOptions: { preserveWhitespace: true },\n onCreate: ({ editor }) => !autoFocus && setInitialPosition(editor),\n onUpdate: debouncedOnChangeHandler,\n onFocus,\n onBlur: handleBlur,\n });\n\n useEditorState({\n editor,\n selector: () => ({\n isMediaUploaderActive,\n isLinkActive: editor?.isActive(\"link\"),\n }),\n });\n\n const deletedArticlesHook = useDeletedArticles(\n isArticleOptActive ? editor : null\n );\n\n /* Make editor object available to the parent */\n useImperativeHandle(\n ref,\n () => ({ editor, focus: () => editor?.commands?.focus?.() }),\n [editor]\n );\n\n // Cleanup NeetoKB article state when editor changes\n useEffect(() => {\n if (!editor && neetoKbArticleState.active) {\n setNeetoKbArticleState({\n active: false,\n editor: null,\n range: null,\n cursorPos: null,\n });\n }\n }, [editor, neetoKbArticleState.active]);\n\n useEffect(() => {\n if (!editor || !deletedArticlesHook.deletedArticleIds.size) return;\n\n editor.commands.updateDeletedArticles(\n deletedArticlesHook.deletedArticleIds\n );\n }, [editor, deletedArticlesHook.deletedArticleIds]);\n\n // https://github.com/ueberdosis/tiptap/issues/1451#issuecomment-953348865\n EditorView.prototype.updateState = function updateState(state) {\n if (!this.docView) return;\n this.updateStateInner(state, this.state.plugins !== state.plugins);\n };\n\n return (\n <div\n data-testid=\"neeto-editor-wrapper\"\n ref={wrapperRef}\n className={classnames({\n [className]: className,\n \"ne-attachments__wrapper\": isAttachmentsActive,\n })}\n >\n {label && (\n <Label\n {...{ required }}\n className=\"neeto-ui-mb-2\"\n data-testid={`${slugify(label)}-editor-label`}\n >\n {label}\n </Label>\n )}\n <ErrorWrapper {...{ error }} className={errorWrapperClassName}>\n <>\n {menuType !== \"none\" && (\n <Menu\n {...{\n addonCommands,\n addons,\n attachmentProps,\n defaults,\n editor,\n editorSecrets,\n mentions,\n menuType,\n neetoKbArticleState,\n openLinkInNewTab,\n showAssetLibrary,\n tooltips,\n variables,\n }}\n className={menuClassName}\n isIndependant={isMenuIndependent}\n setIsNeetoKbArticleActive={setNeetoKbArticleState}\n />\n )}\n {children}\n {menuType === \"none\" && (\n <div className=\"neeto-editor-fixed-menu-standalone-variables-wrapper\">\n <MenuDynamicVariables {...{ editor, variables }} standalone />\n </div>\n )}\n <EditorContent\n className={contentWrapperClassName}\n {...{ editor, ...otherProps }}\n />\n {isMediaUploaderActive && (\n <MediaUploader\n {...{ editor, mediaUploader, showAssetLibrary }}\n onClose={() => setMediaUploader({ image: false, video: false })}\n />\n )}\n {isAttachmentsActive && (\n <Attachments\n {...{ attachments }}\n config={attachmentsConfig}\n dragDropRef={wrapperRef}\n isIndependent={false}\n ref={addAttachmentsRef}\n setIsUploading={setIsAttachmentsUploading}\n className={classnames(\"ne-attachments--integrated\", {\n [attachmentsClassName]: attachmentsClassName,\n })}\n onChange={onChangeAttachments}\n {...otherAttachmentProps}\n />\n )}\n {editor?.isActive(\"link\") && (\n <LinkPopOver {...{ deletedArticlesHook, editor }} />\n )}\n {isAddLinkActive && (\n <LinkAddPopOver\n {...{\n editor,\n isAddLinkActive,\n openLinkInNewTab,\n setIsAddLinkActive,\n }}\n />\n )}\n {neetoKbArticleState.active &&\n neetoKbArticleState.cursorPos &&\n createPortal(\n <ArticleSelector\n {...{ deletedArticlesHook }}\n cursorPos={neetoKbArticleState.cursorPos}\n editor={neetoKbArticleState.editor}\n onClose={() =>\n setNeetoKbArticleState({\n active: false,\n editor: null,\n range: null,\n cursorPos: null,\n })\n }\n />,\n document.body\n )}\n <TableActionMenu {...{ editor }} appendTo={wrapperRef} />\n {isCharacterCountActive && <CharacterCountWrapper {...{ editor }} />}\n </>\n </ErrorWrapper>\n </div>\n );\n};\n\nEditor.displayName = \"NeetoEditor\";\n\nexport default memo(forwardRef(Editor));\n"],"names":["ErrorWrapper","_ref","error","children","className","isError","isNotPresent","wrapperClasses","classnames","_defineProperty","getErrorMessage","message","is","String","Array","Object","_jsxs","_Fragment","_jsx","memo","CharacterCountWrapper","editor","characters","useEditorState","selector","_ref2","_editor$storage$chara","storage","characterCount","Extension","create","name","addOptions","types","addGlobalAttributes","options","attributes","backgroundColor","parseHTML","element","style","replace","renderHTML","concat","addCommands","setHighlightInternal","color","chain","setMark","run","unsetHighlightInternal","BulletList","configure","HTMLAttributes","itemTypeName","CalloutComponent","_findBy","node","type","attrs","Icon","findBy","CALLOUT_TYPES","icon","Megaphone","NodeViewWrapper","NodeViewContent","Node","inline","group","content","defining","draggable","addAttributes","getAttribute","tag","contentElement","svgString","ReactDOM","renderToStaticMarkup","svgContainer","document","createElement","innerHTML","svgNode","firstChild","mergeAttributes","addNodeView","ReactNodeViewRenderer","_this","setCallout","arguments","length","undefined","_attributes$type","toggleWrap","command","_ref3","tr","state","dispatch","selection","$from","calloutNode","depth","pos","after","nextNode","doc","nodeAt","insert","schema","nodes","paragraph","focus","addKeyboardShortcuts","_this2","Backspace","_this2$editor","commands","_state$selection","empty","parentOffset","currentNode","parent","size","lift","ArrowDown","_this2$editor2","_state$selection2","isAtEnd","calloutContent","currentNodeIndex","index","isLastNode","childCount","endPos","nodeSize","setTextSelection","insertContentAt","SORTED_LANGUAGE_LIST","_toConsumableArray","lowlight","listLanguages","sort","LINE_NUMBER_OPTIONS","label","t","value","codeBlockHighlightKey","PluginKey","createLineDecoration","from","lineNumber","Decoration","widget","view","line","setAttribute","toString","lineElement","domAtPos","Element","lineHeight","window","getComputedStyle","height","getLineRanges","lines","textContent","split","currentPos","map","to","codeBlockHighlightPlugin","Plugin","key","init","DecorationSet","apply","set","mapping","getMeta","decorations","descendants","highlightedLines","lineRanges","forEach","includes","push","props","getState","Menu","Dropdown","MenuItem","CodeBlockComponent","_node$attrs","_node$content","updateAttributes","_useState","useState","_useState2","_slicedToArray","keyword","setKeyword","_useState3","_useState4","showHighlightButton","setShowHighlightButton","_useState5","linenumbers","_useState6","showLineNumbers","setShowLineNumbers","ref","useRef","_useTranslation","useTranslation","filteredAndSortedLanguageList","filter","language","handleLanguageSelect","_editor$commands","handleContentMount","current","offsetHeight","minHeight","handleSelectionChange","useCallback","_editor$state$selecti","isCodeBlockSelected","isActive","useEffect","on","off","setMeta","handleHighlight","_editor$state$selecti2","resolve","codeBlock","codeBlockStart","start","textBeforeSelection","textBetween","startLine","selectedText","selectedLines","newSelectedLines","_","currentHighlightedLines","overlapLines","intersection","difference","union","contentEditable","appendTo","body","buttonSize","buttonStyle","Down","strategy","zIndex","Button","onClick","Input","autoFocus","placeholder","onChange","e","target","preventDefault","stopPropagation","CopyToClipboardButton","text","Highlight","tooltipProps","as","CodeBlockLowlight","extend","_this$parent","_objectSpread","call","_element$dataset$high","dataset","Number","Boolean","_attributes$highlight","_attributes$highlight2","join","addProseMirrorPlugins","_this$parent2","defaultLanguage","pasteUnformatted","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","navigator","clipboard","readText","sent","insertContent","stop","_x","DeletedArticleDecoration","deletedArticleIds","Set","marks","articleId","has","decoration","updateDeletedArticles","updateState","EmojiPickerPluginKey","EmojiPicker","selectable","atom","suggestion","startOfLine","pluginKey","items","render","reactRenderer","popup","onStart","ReactRenderer","EmojiPickerMenu","tippy","theme","getReferenceClientRect","clientRect","showOnCreate","interactive","trigger","placement","onKeyDown","_reactRenderer$ref","onExit","destroy","Suggestion","DEFAULT_EMOJI_PRIORITIES_LIST","EMOJI_QUERY_REGEX","filterEmojiSuggestions","suggestions","frequentlyUsedEmojis","mergedEmojiList","emoji","a","b","aIndex","indexOf","id","bIndex","slice","EmojiSuggestionMenu","_React$Component","_classCallCheck","_len","args","_key","_callSuper","isLoading","selectedIndex","emojiSuggestions","_yield$emojiPickerApi","data","setState","emojiPickerApi","fetch","abrupt","t0","_callee2","_callee2$","_context2","query","SearchIndex","search","_callee3","_callee3$","_context3","searchEmoji","_callee4","_callee4$","_context4","deleteRange","range","setEmoji","_ref5","event","isEmpty","_ref6","_ref7","selectItem","_inherits","_createClass","componentDidMount","keys","JSON","parse","localStorage","getItem","fetchEmojiData","previewPosition","searchEmojiAndSetState","componentDidUpdate","oldProps","Spinner","isNotEmpty","skins","React","Component","EmojiSuggestionPluginKey","EmojiSuggestion","renderEmoji","renderText","_ref4","_emoji$skins$","suggestionConfig","input","lastKeyCode","onUpdate","_popup$","isArrowNavigation","test","updateProps","isNil","setProps","_reactRenderer","_popup$2","_reactRenderer2","imageSkeletonContainer","classList","add","imageSkeleton","appendChild","LARGE_IMAGE_ERROR","ImagePreviewModal","previewUrl","setPreviewUrl","setIsLoading","handleImageLoad","handleClose","Modal","closeButton","isOpen","isPresent","onClose","Close","alt","src","classNames","onLoad","DropdownMenu","align","border","deleteNode","showAspectRatio","menuOptions","buildImageOptions","handleClick","alignPos","borderToggle","buttonProps","MenuHorizontal","position","optionName","delay","customTarget","Tooltip","AspectRatio","ratio","aspectRatio","ImageComponent","_figureRef$current","getPos","figheight","figwidth","captionWidth","setCaptionWidth","figureRef","width","caption","editorElement","closest","maxImageWidth","offsetWidth","handleResizeStop","_event","_direction","setNodeMarkup","mergeRight","Resizable","lockAspectRatio","minWidth","onResizeStop","onResize","upload","file","url","_response$data","uploader","response","globalProps","endUserUploadedFileSizeLimitInMb","DirectUpload","blob_url","Error","_x2","findNextTextPos","foundPos","nodesBetween","nodePos","isTextblock","openImageInNewTab","isolating","_element$querySelecto","querySelector","_element$querySelecto2","_element$querySelecto3","_element$querySelecto4","_element$querySelecto5","_element$querySelecto6","wrapperDivAttrs","wrapperLinkPointerEventsStyle","heightStyle","wrapperLinkAttrs","href","rel","captionAttrs","contenteditable","setFigure","_objectWithoutProperties","_excluded","Enter","head","$head","tail","nextTextPos","ArrowUp","lineTop","coordsAtPos","caret","top","bottom","before","scrollIntoView","setSelection","Selection","near","handleDOMEvents","paste","_event$clipboardData","_event$clipboardData2","_view$state","$anchor","clipboardData","getData","hasFiles","files","_DOMParser$parseFromS","plainText","DOMParser","parseFromString","pasteText","images","image","emptyImageNode","imageNode","_view$state2","_tr","_doc","_tr2","Math","random","substring","DIRECT_UPLOAD_ENDPOINT","replaceWith","console","Toastr","limit","_x3","Italic","addInputRules","addPasteRules","KeyboardShortcuts","onSubmit","shortcuts","isBlockQuoteActive","ModEnter","getHTML","ModShiftB","toggleBlockquote","LINK_MARKDOWN_INPUT_REGEX","linkInputRule","config","defaultMarkInputRule","markInputRule","InputRule","find","handler","RangeError","withTrimmedLinkPaste","plugin","handlePaste","spec","trimmedText","trim","trimmedSlice","Slice","Fragment","Link","inclusive","title","_this$parent3","getAttributes","match","_match$pop","_match$pop2","pop","MentionList","_this$props","item","prevState","nextSelectedIndex","keyDownHandlers","upHandler","downHandler","enterHandler","Tab","tabHandler","prototype","hasOwnProperty","mentionRef","createRef","prevProps","scrollHandler","wrapperRef","imageUrl","role","active","Avatar","user","Typography","createMentionSuggestions","mentions","_ref$query","mention","toLowerCase","arrow","hide","_popup","Mentions","Mention","setMention","_ref3$suggestion","otherConfig","OrderedList","Placeholder","excludeNodeTypes","emptyEditorClass","emptyNodeClass","slashCommandsPlaceholder","showOnlyWhenEditable","showOnlyCurrent","includeChildren","isEditable","anchor","hasAnchor","isLeaf","isExcluded","classes","placeholderText","isSlashCommandsActive","isFocused","Document","selectedTextDecoration","oldState","remove","listeners","ArrowLeft","leftArrowHandler","ArrowRight","rightArrowHandler","selectedItem","hasCommand","_this$props2","menuIndex","setActiveMenuIndex","_this$props3","hasSubItems","menuRef","_this$props4","activeMenuIndex","isCurrentMenuActive","addEventListener","keydownHandler","componentWillUnmount","removeEventListener","_this$props5","_this$props6","isLeafNode","nodeElement","_createElement","onHover","Tippy","visible","onCreate","popper","onHide","isSubmenuOpened","onShow","forwardRef","onMouseEnter","CommandsList","MENU_ITEMS","EDITOR_OPTIONS","PARAGRAPH","description","TextP","setNode","BOLD","TextBold","toggleBold","ITALIC","TextItalic","toggleItalic","UNDERLINE","Underline","toggleUnderline","H1","TextH1","level","H2","TextH2","H3","TextH3","H4","TextH4","_ref8","H5","TextH5","_ref9","LIST_ORDERED","ListNumber","_ref0","toggleOrderedList","LIST_BULLETS","ListDot","_ref1","toggleBulletList","LINK","noop","NEETO_KB_ARTICLE","File","ATTACHMENTS","Attachment","TODO_LIST","Checkbox","_ref10","toggleTaskList","IMAGE_UPLOAD","ImageUpload","VIDEO_UPLOAD","Video","BLOCKQUOTE","Blockquote","_ref11","CODE_BLOCK","CodeBlock","_ref12","toggleCodeBlock","EMOJI","Smiley","_ref13","DIVIDER","Minus","_ref14","setHorizontalRule","PASTE_UNFORMATTED","Notes","_ref15","TABLE","Column","_ref16","insertTable","rows","cols","withHeaderRow","CALLOUT","MessageSquare","_ref17","_ref18","_ref19","_ref20","_ref21","_ref22","NO_RESULT_MENU_ITEM","_ref23","imageCommand","setMediaUploader","assoc","videoCommand","linkCommand","setIsAddLinkActive","attachmentCommand","attachmentProps","handleUploadAttachments","neetoKbArticleCommand","setIsNeetoKbArticleActive","cursorPos","buildCommandItems","addonCommands","commandItems","permittedCommandItems","adddonCommandItems","CommandsPluginKey","filteredItems","fuzzySearch","highlightFocussedNode","resetFocussedNode","SpecialMentionPluginKey","renderLabel","_node$attrs$label","SpecialMentions","updateColumns","colgroup","table","cellMinWidth","totalWidth","fixedWidth","nextDOM","row","i","col","_row$child$attrs","child","colspan","colwidth","j","hasWidth","cssWidth","nextSibling","parentNode","removeChild","TableView","_ref$className","_ref$handleClick","controller","onclick","querySelectorAll","_tr$firstChild","nodeName","th","td","dom","alignmentSuffix","textAlign","alignmentClass","wrapper","buildController","insertColumn","insertRow","contentDOM","update","_node$attrs2","currentAlignmentClass","ignoreMutation","mutation","contains","Table","TiptapTable","resizable","handleWidth","View","lastColumnResizable","allowTableNodeSelection","getAlignmentFromElement","dataAlign","priority","getAttrs","alignment","parentElement","parentAlignment","_this$options$cellMin","_this$options","colgroups","firstRow","cell","_cell$attrs","span","tableStyle","ModAltT","TodoListExtension","TaskList","ModShift9","TodoItemExtension","TaskItem","splitListItem","sinkListItem","ShiftTab","liftListItem","nested","MAX_VARIABLE_NAME_DISPLAY_LENGTH","VariableComponent","_variableName$substr","extension","variableName","shouldTruncate","charOpen","disabled","substr","charClose","Variable","setVariable","VideoComponent","vidheight","vidwidth","maxVideoWidth","handleResize","controls","preload","EmbedComponent","allowFullScreen","getSharedAttributes","tagName","iframe","video","videoType","getUploadAttributes","getEmbedAttributes","DEFAULT_ASPECT_RATIO","originalUrl","_iframe$querySelector","frameBorder","allow","allowfullscreen","renderEmbedHTML","renderUploadHTML","handleVideoPaste","TextSelection","validatedUrl","validateUrl","UnifiedVideoExtension","_figure$querySelector","_figure$querySelector2","figure","videoSrc","iframeSrc","fontWeight","setVideo","_excluded2","end","setExternalVideo","PasteRule","COMBINED_REGEX","useCustomExtensions","extensions","variables","keyboardShortcuts","openLinkInNewTab","enableReactNodeViewOptimization","collaborationProvider","customExtensions","CharacterCount","Code","CustomCommands","FigCaption","HighlightInternal","SelectionDecoration","Focus","mode","ImageExtension","StarterKit","code","bulletList","listItem","blockquote","orderedList","italic","link","underline","listKeymap","listTypes","itemName","wrapperNames","trailingNode","undoRedo","heading","levels","buildLevelsFromOptions","safeSplitBlock","TextStyle","TableRow","TableHeader","TableCell","TEXT_COLOR","HIGHLIGHT","Color","ListItem","Callout","SlashCommands","_collaborationProvide","Collaboration","CollaborationCaret","provider","ArticlesList","withT","_ref$articles","articles","onSelectArticle","_ref$highlightedIndex","highlightedIndex","containerRef","article","decodeHtmlEntities","NeetoUITypography","useArticleNavigation","articlesContainerRef","handleModalArticleSelect","searchTerm","setHighlightedIndex","container","highlightedItem","containerRect","getBoundingClientRect","itemRect","isItemAbove","isItemBelow","scrollTop","navigationHandlers","down","up","keyActions","Escape","shiftKey","handleKeyboardNavigation","action","ArticlePicker","_ref$mode","MODE","MODAL","externalIsLoading","externalOptions","onArticleSelect","setSearchTerm","modalRef","_useFetchKbArticles","useFetchKbArticles","reactQueryOptions","enabled","_useFetchKbArticles$d","isLoadingArticles","selectOptions","SELECT","createArticleOptions","articleWithUrl","full_url","buildArticleFullUrl","slug","_useArticleNavigation","handleSelectChange","selectedValue","formikHelpers","_selectedOption$data","selectedOption","modal","modalRect","modalWidth","modalHeight","maxLeft","innerWidth","maxTop","innerHeight","MODAL_BOTTOM_MARGIN","adjustedLeft","min","left","MODAL_LEFT_OFFSET","adjustedTop","MODAL_TOP_OFFSET","assign","transform","MODAL_TRANSFORM_Y","MODAL_TRANSFORM_X","handleClickOutside","Search","onSearch","NeetoUISpinner","Select","isSearchable","ArticleSelector","deletedArticlesHook","handleArticleSelect","detailedArticle","linkText","isDeleted","isArticleDeleted","linkMark","linkTextWithMark","shouldShowMergeCellToggler","CellSelection","_node$type","nodeRoleInTable","tableRole","rowspan","setTableAlignment","tableNode","tablePos","_tableNode","currentAttrs","newAttrs","tableActions","_editor$state","tooltipLabel","addRowAfter","InsertRow","addColumnAfter","InsertColumn","deleteRow","DeleteRow","isVisible","deleteColumn","DeleteColumn","mergeOrSplit","MergeSplit","isHidden","toggleHeaderRow","ToggleHeaderRow","deleteTable","DeleteTable","alignmentIcons","LeftAlign","center","CenterAlign","right","RightAlign","TableActionMenu","_editor$view$domAtPos","DOMRect","nodeType","shouldShow","BubbleMenu","getReferencedVirtualElement","offset","mainAxis","crossAxis","flip","_action$items","closeOnSelect","iconPosition","iconSize","IconComponent","KbArticleDeletedModal","Header","Body","Footer","KbArticleEdit","linkAttributes","getCurrentTextContent","getCurrentArticleOption","handleKbArticleSubmit","handleKeyDown","isLoadingKbData","setIsEditing","initialValues","pageSelection","Form","formikProps","enableReinitialize","dirty","isSubmitting","setFieldValue","values","required","unlimitedChars","loading","KbArticleView","onEdit","onDeletedClick","currentText","Articles","Edit","LinkPopOver","initialTextContent","arrowPosition","setArrowPosition","popoverPosition","setPopoverPosition","isEditing","_useState7","_useState8","isLinkActive","setIsLinkActive","_useState9","_useState0","setLinkAttributes","_useState1","_useState10","showDeletedModal","setShowDeletedModal","popoverRef","isNeetoKbArticle","updatePopoverPosition","_getLinkPopoverPositi","getLinkPopoverPosition","parseInt","handleUnlink","extendMarkRange","unsetLink","removePopover","popoverStyle","display","handleSubmit","urlString","openInNewTab","formattedUrl","validateAndFormatUrl","equals","setLink","_editor$view","getMarkType","$to","getMarkRange","_ref5$from","_ref5$to","_editor$view2","_ref7$from","_ref7$to","_editor$view3","_ref8$from","_ref8$to","useOnClickOutside","currentLinkAttributes","currentArticleOption","_ref9$from","_ref9$to","renderEditingMode","validationSchema","LINK_VALIDATION_SCHEMA","checked","renderEditingModeForKbArticle","renderViewModeForKbArticle","renderViewMode","renderPopoverContent","createPortal","Editor","_ref$addonCommands","_ref$addons","addons","_ref$attachments","attachments","_ref$attachmentsConfi","attachmentsConfig","_ref$autoFocus","contentClassName","contentWrapperClassName","errorWrapperClassName","_ref$contentAttribute","contentAttributes","menuClassName","attachmentsClassName","_ref$isMenuIndependen","isMenuIndependent","_ref$defaults","defaults","DEFAULT_EDITOR_OPTIONS","_ref$editorSecrets","editorSecrets","_ref$error","_ref$extensions","_ref$hideSlashCommand","hideSlashCommands","_ref$initialValue","initialValue","_ref$isCharacterCount","isCharacterCountActive","_ref$keyboardShortcut","_ref$label","_ref$mentions","_ref$menuType","menuType","_ref$required","_ref$rows","_ref$tooltips","tooltips","_ref$variables","_ref$disableTrimOnBlu","disableTrimOnBlur","_ref$onChange","_ref$onFocus","onFocus","_ref$onBlur","onBlur","_ref$onSubmit","_ref$onChangeAttachme","onChangeAttachments","_ref$openImageInNewTa","_ref$openLinkInNewTab","_ref$showAssetLibrary","showAssetLibrary","_ref$collaborationPro","_ref$enableReactNodeV","_ref$size","EDITOR_SIZES","SMALL","_ref$otherAttachmentP","otherAttachmentProps","otherProps","isAttachmentsUploading","setIsAttachmentsUploading","isArticleOptActive","isAttachmentsActive","isMediaUploaderActive","isFixedMenuActive","isBubbleMenuActive","isPlaceholderActive","isAddLinkActive","mediaUploader","neetoKbArticleState","setNeetoKbArticleState","addAttachmentsRef","_addAttachmentsRef$cu","isDisabled","debouncedOnChangeHandler","useFuncDebounce","isDestroyed","cancel","handleBlur","trimmedContent","removeEmptyTags","useEditorWarnings","editorClasses","LARGE","MEDIUM","ariaAttributes","useEditor","injectCSS","immediatelyRender","shouldRerenderOnTransaction","autofocus","editorProps","getEditorStyles","clipboardTextParser","transformPastedHTML","parseOptions","preserveWhitespace","setInitialPosition","useDeletedArticles","useImperativeHandle","_editor$commands$focu","EditorView","docView","updateStateInner","plugins","Label","slugify","isIndependant","MenuDynamicVariables","standalone","EditorContent","MediaUploader","Attachments","dragDropRef","isIndependent","setIsUploading","LinkAddPopOver","displayName"],"mappings":"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"}
|