@bigbinary/neeto-editor 1.47.116 → 1.47.118
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/Attachments.js +1 -1
- package/dist/Editor.js +2 -2
- package/dist/FormikEditor.js +1 -1
- package/dist/{chunk-C2YYL9vY.js → chunk-Ck5Gyhaq.js} +8 -4
- package/dist/chunk-Ck5Gyhaq.js.map +1 -0
- package/dist/{chunk-3JO2B_HR.js → chunk-DSFIk2ef.js} +3 -2
- package/dist/chunk-DSFIk2ef.js.map +1 -0
- package/dist/{chunk-BO6bjSuY.js → chunk-DdxH-PMo.js} +2 -2
- package/dist/{chunk-BO6bjSuY.js.map → chunk-DdxH-PMo.js.map} +1 -1
- package/dist/{chunk-CNWsmIz_.js → chunk-W5-WB6Fb.js} +11 -11
- package/dist/chunk-W5-WB6Fb.js.map +1 -0
- package/dist/cjs/Attachments.cjs.js +1 -1
- package/dist/cjs/Editor.cjs.js +2 -2
- package/dist/cjs/FormikEditor.cjs.js +1 -1
- package/dist/cjs/{chunk-BYyLrDTW.cjs.js → chunk-62QG5j0v.cjs.js} +3 -2
- package/dist/cjs/chunk-62QG5j0v.cjs.js.map +1 -0
- package/dist/cjs/{chunk-BzPTK6pP.cjs.js → chunk-Cqq9Q2Ty.cjs.js} +8 -4
- package/dist/cjs/chunk-Cqq9Q2Ty.cjs.js.map +1 -0
- package/dist/cjs/{chunk-DRB71ojr.cjs.js → chunk-D8Uup1eh.cjs.js} +2 -2
- package/dist/cjs/{chunk-DRB71ojr.cjs.js.map → chunk-D8Uup1eh.cjs.js.map} +1 -1
- package/dist/cjs/{chunk-CIuJ_EMY.cjs.js → chunk-DE_yHAbe.cjs.js} +11 -11
- package/dist/cjs/chunk-DE_yHAbe.cjs.js.map +1 -0
- package/dist/cjs/index.cjs.js +2 -2
- package/dist/cjs/v2/Editor.cjs.js +81 -43
- package/dist/cjs/v2/Editor.cjs.js.map +1 -1
- package/dist/cjs/v2/EditorContent.cjs.js +1 -1
- package/dist/cjs/v2/FormikEditor.cjs.js +1 -1
- package/dist/cjs/v2/Menu.cjs.js +1 -1
- package/dist/cjs/v2/constants.cjs.js +13 -0
- package/dist/cjs/v2/constants.cjs.js.map +1 -0
- package/dist/cjs/v2/index.cjs.js +2 -2
- package/dist/cjs/v2/utils.cjs.js +29 -0
- package/dist/cjs/v2/utils.cjs.js.map +1 -0
- package/dist/editor-stats.html +2 -2
- package/dist/index.js +2 -2
- package/dist/v2/Editor.js +84 -46
- package/dist/v2/Editor.js.map +1 -1
- package/dist/v2/EditorContent.js +1 -1
- package/dist/v2/FormikEditor.js +1 -1
- package/dist/v2/Menu.js +1 -1
- package/dist/v2/constants.js +6 -0
- package/dist/v2/constants.js.map +1 -0
- package/dist/v2/index.js +2 -2
- package/dist/v2/styles.css +1 -1
- package/dist/v2/styles.js +1 -1
- package/dist/v2/utils.js +17 -0
- package/dist/v2/utils.js.map +1 -0
- package/package.json +1 -1
- package/dist/chunk-3JO2B_HR.js.map +0 -1
- package/dist/chunk-C2YYL9vY.js.map +0 -1
- package/dist/chunk-CNWsmIz_.js.map +0 -1
- package/dist/cjs/chunk-BYyLrDTW.cjs.js.map +0 -1
- package/dist/cjs/chunk-BzPTK6pP.cjs.js.map +0 -1
- package/dist/cjs/chunk-CIuJ_EMY.cjs.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Editor.cjs.js","sources":["../../../src/v2/components/Common/ErrorWrapper.jsx","../../../src/v2/components/Editor/CustomExtensions/CharacterCount/index.jsx","../../../src/v2/components/Editor/CustomExtensions/BackgroundColor/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/BulletList/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/Callout/CalloutComponent.jsx","../../../src/v2/components/Editor/CustomExtensions/Callout/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/CodeBlock/plugins.js","../../../src/v2/components/Editor/CustomExtensions/CodeBlock/constants.js","../../../src/v2/components/Editor/CustomExtensions/CodeBlock/CodeBlockComponent.jsx","../../../src/v2/components/Editor/CustomExtensions/CodeBlock/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/CustomCommands/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/DeletedArticleDecoration/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/Emoji/EmojiPicker/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/Emoji/EmojiSuggestion/constants.js","../../../src/v2/components/Editor/CustomExtensions/Emoji/EmojiSuggestion/utils.js","../../../src/v2/components/Editor/CustomExtensions/Emoji/EmojiSuggestion/EmojiSuggestionMenu.jsx","../../../src/v2/components/Editor/CustomExtensions/Emoji/EmojiSuggestion/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/Image/constants.js","../../../src/v2/components/Editor/CustomExtensions/Image/ImagePreviewModal.jsx","../../../src/v2/components/Editor/CustomExtensions/Image/Menu.jsx","../../../src/v2/components/Editor/CustomExtensions/Image/ImageComponent.jsx","../../../src/v2/components/Editor/CustomExtensions/Image/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/Image/FigCaption.js","../../../src/v2/components/Editor/CustomExtensions/Italic/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/KeyboardShortcuts/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/Link/constants.js","../../../src/v2/components/Editor/CustomExtensions/Link/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/Mention/MentionList.jsx","../../../src/v2/components/Editor/CustomExtensions/Mention/utils.js","../../../src/v2/components/Editor/CustomExtensions/Mention/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/OrderedList/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/Placeholder/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/SelectionDecoration/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/SlashCommands/Menu.jsx","../../../src/v2/components/Editor/CustomExtensions/SlashCommands/CommandsList.jsx","../../../src/v2/components/Editor/CustomExtensions/SlashCommands/constants.js","../../../src/v2/components/Editor/CustomExtensions/SlashCommands/utils.js","../../../src/v2/components/Editor/CustomExtensions/SlashCommands/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/SpecialMentions/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/Table/TableView.js","../../../src/v2/components/Editor/CustomExtensions/Table/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/TodoList/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/Variable/constants.js","../../../src/v2/components/Editor/CustomExtensions/Variable/VariableComponent.jsx","../../../src/v2/components/Editor/CustomExtensions/Variable/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/Video/VideoComponent.jsx","../../../src/v2/components/Editor/CustomExtensions/Embeds/EmbedComponent.jsx","../../../src/v2/components/Editor/CustomExtensions/Video/ExtensionConfig.jsx","../../../src/v2/components/Editor/CustomExtensions/hooks/useCustomExtensions.js","../../../src/v2/components/Editor/CustomExtensions/LinkKbArticles/constants.js","../../../src/v2/components/Editor/CustomExtensions/LinkKbArticles/hooks/useArticleNavigation.js","../../../src/v2/components/Editor/CustomExtensions/LinkKbArticles/utils.js","../../../src/v2/components/Editor/CustomExtensions/LinkKbArticles/ArticlesList.jsx","../../../src/v2/components/Editor/CustomExtensions/LinkKbArticles/ArticlePicker.jsx","../../../src/v2/components/Editor/CustomExtensions/LinkKbArticles/ArticleSelector.jsx","../../../src/v2/components/Editor/CustomExtensions/Table/utils.js","../../../src/v2/components/Editor/CustomExtensions/Table/TableActionMenu.jsx","../../../src/v2/components/Editor/CustomExtensions/LinkKbArticles/KbArticleDeletedModal.jsx","../../../src/v2/components/Editor/CustomExtensions/LinkKbArticles/KbArticleEdit.jsx","../../../src/v2/components/Editor/CustomExtensions/LinkKbArticles/KbArticleView.jsx","../../../src/v2/components/Editor/LinkPopOver.jsx","../../../src/v2/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\n className=\"neeto-ui-input__error\"\n data-testid=\"neeto-editor-error-text\"\n >\n {getErrorMessage()}\n </p>\n )}\n </>\n );\n};\n\nexport default memo(ErrorWrapper);\n","const CharacterCountWrapper = ({ editor, children }) => {\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 {editor.storage.characterCount.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 \"src/v2/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 \"src/v2/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","/* 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 { 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","import { useRef, useState, useCallback, useEffect } from \"react\";\n\nimport { Button, DropdownMenu, Input } from \"@bigbinary/neeto-atoms\";\nimport { NodeViewWrapper, NodeViewContent } from \"@tiptap/react\";\nimport { ChevronDown, Highlighter } from \"lucide-react\";\nimport CopyToClipboardButton from \"neetomolecules/v2/CopyToClipboardButton\";\nimport { difference, intersection, union } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n LINE_NUMBER_OPTIONS,\n SORTED_LANGUAGE_LIST,\n} from \"src/v2/components/Editor/CustomExtensions/CodeBlock/constants\";\nimport { codeBlockHighlightKey } from \"src/v2/components/Editor/CustomExtensions/CodeBlock/plugins\";\n\nconst { Menu, MenuItem } = DropdownMenu;\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 const overlapLines = intersection(\n currentHighlightedLines,\n newSelectedLines\n );\n\n let highlightedLines;\n\n if (overlapLines.length === newSelectedLines.length) {\n highlightedLines = difference(currentHighlightedLines, newSelectedLines);\n } else {\n highlightedLines = union(currentHighlightedLines, newSelectedLines);\n }\n\n editor.commands.updateAttributes(codeBlock.type, { highlightedLines });\n editor.view.dispatch(editor.state.tr.setMeta(codeBlockHighlightKey, true));\n };\n\n return (\n <NodeViewWrapper\n className=\"ne-codeblock-nodeview-wrapper ne-codeblock--v2\"\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 <DropdownMenu\n buttonProps={{ size: \"sm\", variant: \"secondary\" }}\n dropdownProps={{ className: \"ne-editor-dropdown\" }}\n icon={ChevronDown}\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\n key={label}\n onClick={() => {\n setShowLineNumbers(value);\n updateAttributes({ linenumbers: value });\n }}\n >\n {label}\n </MenuItem>\n ))}\n </Menu>\n </DropdownMenu>\n <DropdownMenu\n buttonProps={{ size: \"sm\", variant: \"secondary\" }}\n dropdownProps={{ className: \"ne-editor-dropdown\" }}\n icon={ChevronDown}\n label={node.attrs?.language || t(\"neetoEditor.common.auto\")}\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\n key={language}\n onClick={() => handleLanguageSelect(language)}\n >\n {language || t(\"neetoEditor.common.auto\")}\n </MenuItem>\n ))}\n </Menu>\n </DropdownMenu>\n <CopyToClipboardButton\n size=\"sm\"\n value={node?.content?.content[0]?.text}\n variant=\"ghost\"\n />\n {showHighlightButton && (\n <Button\n icon={Highlighter}\n size=\"sm\"\n tooltipProps={{ content: t(\"neetoEditor.menu.highlight\") }}\n variant=\"secondary\"\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 { codeBlockHighlightPlugin } from \"src/v2/components/Editor/CustomExtensions/CodeBlock/plugins\";\n\nimport CodeBlockComponent from \"./CodeBlockComponent\";\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 { Spinner } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { init, SearchIndex } from \"emoji-mart\";\nimport { isNotEmpty } from \"neetocist\";\nimport { isEmpty } from \"ramda\";\n\nimport emojiPickerApi from \"apis/emoji_picker\";\nimport { filterEmojiSuggestions } from \"src/v2/components/Editor/CustomExtensions/Emoji/EmojiSuggestion/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 // eslint-disable-next-line @bigbinary/neeto/no-local-storage\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 // eslint-disable-next-line require-await\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 \"src/v2/components/Editor/CustomExtensions/Emoji/EmojiSuggestion/constants\";\n\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","const 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 { Button, Dialog, Spinner } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\nimport { X } from \"lucide-react\";\nimport { isPresent } from \"neetocist\";\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 <Dialog\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\" />\n </div>\n ) : (\n <Button\n className=\"image-preview-neeto-ui-modal__close-btn\"\n icon={X}\n variant=\"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 </Dialog>\n );\n};\n\nexport default ImagePreviewModal;\n","import { Button, DropdownMenu, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport { t } from \"i18next\";\nimport {\n AlignCenter,\n AlignLeft,\n AlignRight,\n ChevronDown,\n Ellipsis,\n Ratio,\n RectangleHorizontal,\n RectangleVertical,\n Square,\n SquareDashed,\n Trash2,\n} from \"lucide-react\";\n\nconst { Menu: DropdownMenuList, MenuItem } = DropdownMenu;\n\nconst buildImageOptions = (border, showAspectRatio) => {\n const options = [\n {\n Icon: AlignLeft,\n type: \"button\",\n alignPos: \"left\",\n optionName: t(\"neetoEditor.menu.alignLeft\"),\n },\n {\n Icon: AlignCenter,\n type: \"button\",\n alignPos: \"center\",\n optionName: t(\"neetoEditor.menu.alignCenter\"),\n },\n {\n Icon: AlignRight,\n type: \"button\",\n alignPos: \"right\",\n optionName: t(\"neetoEditor.menu.alignRight\"),\n },\n ];\n\n if (showAspectRatio) {\n options.push({\n Icon: Ratio,\n type: \"dropdown\",\n alignPos: \"center\",\n optionName: t(\"neetoEditor.menu.aspectRatio\"),\n items: [\n { ratio: \"16/9\", tooltipLabel: \"16/9\", icon: RectangleHorizontal },\n { ratio: \"9/16\", tooltipLabel: \"9/16\", icon: RectangleVertical },\n { ratio: \"4/3\", tooltipLabel: \"4/3\", icon: RectangleHorizontal },\n { ratio: \"3/2\", tooltipLabel: \"3/2\", icon: RectangleHorizontal },\n { ratio: \"1/1\", tooltipLabel: \"1/1\", icon: Square },\n ],\n });\n }\n\n options.push(\n {\n Icon: border ? SquareDashed : Square,\n type: \"button\",\n alignPos: \"center\",\n borderToggle: true,\n optionName: border\n ? t(\"neetoEditor.menu.removeBorder\")\n : t(\"neetoEditor.menu.addBorder\"),\n },\n {\n Icon: Trash2,\n type: \"button\",\n optionName: t(\"neetoEditor.menu.delete\"),\n }\n );\n\n return options;\n};\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 <DropdownMenu\n position=\"top-end\"\n customTarget={\n <Button\n className=\"neeto-editor__image-menu-btn\"\n icon={Ellipsis}\n size=\"lg\"\n variant=\"secondary\"\n />\n }\n dropdownProps={{\n className: \"ne-editor-dropdown w-auto flex flex-row items-center gap-1\",\n }}\n >\n {menuOptions.map(\n ({ Icon, optionName, alignPos, type, items, border, borderToggle }) =>\n type === \"button\" ? (\n <Button\n className=\"ne-toolbar-item\"\n data-testid={`neeto-editor-image-menu-${optionName}`}\n icon={Icon}\n key={optionName}\n tooltipProps={{ content: optionName, position: \"top\" }}\n variant={\n alignPos === align || (borderToggle && border)\n ? \"secondary\"\n : \"ghost\"\n }\n onClick={() => handleClick(alignPos, borderToggle)}\n />\n ) : (\n <DropdownMenu\n dropdownProps={{ className: \"ne-editor-dropdown\" }}\n key={optionName}\n position=\"bottom-start\"\n buttonProps={{\n tooltipProps: {\n content: optionName,\n position: \"top\",\n },\n }}\n customTarget={\n <MenuItem className=\"ne-toolbar-item !relative\">\n <Tooltip content={optionName} position=\"top\">\n <div className=\"flex items-center justify-center gap-x-1\">\n <Ratio size={18} />\n <ChevronDown size={14} />\n </div>\n </Tooltip>\n </MenuItem>\n }\n onClick={event => event.stopPropagation()}\n >\n <DropdownMenuList className=\"mb-0\">\n {items?.map(({ ratio, icon: Icon }) => (\n <MenuItem\n key={ratio}\n prefix={Icon ? <Icon size={16} /> : undefined}\n onClick={() => updateAttributes({ aspectRatio: ratio })}\n >\n {ratio}\n </MenuItem>\n ))}\n </DropdownMenuList>\n </DropdownMenu>\n )\n )}\n </DropdownMenu>\n );\n};\n\nexport default Menu;\n","import { useRef, useState } from \"react\";\n\nimport { Spinner } from \"@bigbinary/neeto-atoms\";\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 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 { Toastr } from \"@bigbinary/neeto-atoms\";\nimport { mergeAttributes, Node } from \"@tiptap/core\";\nimport { Plugin } from \"@tiptap/pm/state\";\nimport { ReactNodeViewRenderer } from \"@tiptap/react\";\nimport classnames from \"classnames\";\nimport { t } from \"i18next\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport { isEmpty } from \"ramda\";\n\nimport { DIRECT_UPLOAD_ENDPOINT } from \"src/common/constants\";\nimport { LARGE_IMAGE_ERROR } from \"src/v2/components/Editor/CustomExtensions/Image/constants\";\nimport DirectUpload from \"utils/DirectUpload\";\n\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 };\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\";\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\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 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 { Avatar, Typography } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\nimport { t } from \"i18next\";\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 // Plain <button>s instead of `DropdownMenu.MenuItem`. The popup is portaled\n // into document.body by tippy, so it sits outside any `DropdownMenu` Root\n // — Radix's `MenuItem` would call `useMenuScope` and throw\n // \"MenuItem must be used within Menu\". Styling lives in _v2-toolbar.scss\n // under `.neeto-editor-mentions__wrapper` / `__item`.\n return (\n <div\n className=\"neeto-editor-mentions__wrapper\"\n data-testid=\"neeto-editor-mention-list\"\n ref={this.mentionRef}\n >\n {items.map(({ key, name, imageUrl }, index) => (\n <button\n data-testid={`neeto-editor-mention-list-${name}`}\n key={key}\n type=\"button\"\n className={classNames(\"neeto-editor-mentions__item\", {\n active: index === selectedIndex,\n })}\n onClick={() => this.selectItem(index)}\n >\n <Avatar size=\"sm\" user={{ name, imageUrl }} />\n <Typography variant=\"body2\">{name}</Typography>\n </button>\n ))}\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.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 { EDITOR_OPTIONS } from \"common/constants\";\nimport { 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\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 { EDITOR_OPTIONS } from \"common/constants\";\nimport { assoc } from \"ramda\";\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 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 from \"@tiptap/extension-task-item\";\nimport TaskList from \"@tiptap/extension-task-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 { Tooltip } from \"@bigbinary/neeto-atoms\";\nimport { NodeViewWrapper } from \"@tiptap/react\";\n\nimport { MAX_VARIABLE_NAME_DISPLAY_LENGTH } from \"src/v2/components/Editor/CustomExtensions/Variable/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\";\nimport { COMBINED_REGEX } from \"common/constants\";\n\nimport { validateUrl } from \"src/v2/components/Editor/CustomExtensions/Embeds/utils\";\nimport { DEFAULT_ASPECT_RATIO } from \"src/v2/components/Editor/MediaUploader/constants\";\n\nimport VideoComponent from \"./VideoComponent\";\n\nimport EmbedComponent from \"../Embeds/EmbedComponent\";\n\nconst getSharedAttributes = () => ({\n src: {\n default: null,\n parseHTML: element => {\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 = 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 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 } = 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 }),\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 });\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 videoEl = figure.querySelector(\"video\");\n const iframeEl = figure.querySelector(\"iframe\");\n\n if (!videoEl && !iframeEl) return false;\n\n return node.style.fontWeight !== \"normal\" && null;\n },\n contentElement: \"figcaption\",\n },\n { tag: \"iframe[src]\" },\n { tag: \"div.neeto-editor__video-wrapper\" },\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 CharacterCount from \"@tiptap/extension-character-count\";\nimport Code from \"@tiptap/extension-code\";\nimport Collaboration from \"@tiptap/extension-collaboration\";\nimport CollaborationCursor from \"@tiptap/extension-collaboration-cursor\";\nimport Color from \"@tiptap/extension-color\";\nimport Document from \"@tiptap/extension-document\";\nimport Focus from \"@tiptap/extension-focus\";\nimport Highlight from \"@tiptap/extension-highlight\";\nimport ListItem from \"@tiptap/extension-list-item\";\nimport TableCell from \"@tiptap/extension-table-cell\";\nimport TableHeader from \"@tiptap/extension-table-header\";\nimport TableRow from \"@tiptap/extension-table-row\";\nimport TextStyle from \"@tiptap/extension-text-style\";\nimport Underline from \"@tiptap/extension-underline\";\nimport StarterKit from \"@tiptap/starter-kit\";\nimport { EDITOR_OPTIONS } from \"common/constants\";\nimport { isEmpty } from \"ramda\";\n\nimport { buildLevelsFromOptions } from \"src/v2/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,\n blockquote: options.includes(EDITOR_OPTIONS.BLOCKQUOTE),\n orderedList: false,\n italic: false,\n history: !collaborationProvider,\n heading: { levels: buildLevelsFromOptions(options) },\n }),\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 CollaborationCursor.configure({\n provider: collaborationProvider,\n })\n );\n }\n\n customExtensions = customExtensions.concat(extensions);\n\n return customExtensions;\n};\n\nexport default useCustomExtensions;\n","import { globalProps } from \"neetocommons/v2/initializers\";\n\nexport const NEETO_KB_ENDPOINT = globalProps?.kbUrl;\nexport const NEETO_KB_ARTICLES_URL = \"/api/v1/articles\";\nexport const NEETO_KB_CATEGORIES_URL = \"/api/v1/categories\";\n\nexport const MODE = { MODAL: \"modal\", SELECT: \"select\" };\n\nexport const MODAL_BOTTOM_MARGIN = 50;\nexport const MODAL_LEFT_OFFSET = 50;\nexport const MODAL_TOP_OFFSET = 22;\nexport const MODAL_TRANSFORM_Y = 52;\nexport const MODAL_TRANSFORM_X = 8;\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 { decodeHtmlEntities } from \"src/utils/common\";\n\nimport { NEETO_KB_ENDPOINT } from \"./constants\";\n\nexport const buildArticleFullUrl = slug =>\n slug ? `${NEETO_KB_ENDPOINT}/articles/${slug}` : null;\n\nexport const createArticleOptions = articles =>\n articles.map(article => ({\n label: decodeHtmlEntities(article.title),\n value: article.id,\n data: { type: \"article\", ...article },\n }));\n\nexport const extractKbArticleIds = editor => {\n if (!editor) return [];\n\n const articleIds = [];\n const { doc } = editor.state;\n\n doc.descendants(node => {\n if (node.marks) {\n node.marks.forEach(mark => {\n if (\n mark.type.name === \"link\" &&\n mark.attrs[\"data-neeto-kb-article\"] === \"true\" &&\n mark.attrs[\"data-article-id\"]\n ) {\n articleIds.push(mark.attrs[\"data-article-id\"]);\n }\n });\n }\n });\n\n return [...new Set(articleIds)];\n};\n","import React from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\nimport { isNotEmpty } from \"neetocist\";\nimport { withT } from \"neetocommons/v2/react-utils\";\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 \"w-full rounded p-2 text-left hover:bg-gray-200 focus:bg-gray-200 focus:outline-none\",\n { \"bg-gray-200\": index === highlightedIndex }\n )}\n onClick={() => onSelectArticle?.(article)}\n >\n <div className=\"text-sm font-medium\">\n {decodeHtmlEntities(article?.title)}\n </div>\n </button>\n ))}\n </div>\n ) : (\n <div className=\"py-4 text-center text-gray-500\">\n <Typography variant=\"body2\">\n {t(\"neetoEditor.error.noResults\")}\n </Typography>\n </div>\n )}\n </div>\n )\n);\n\nexport default ArticlesList;\n","import React, { useState, useEffect, useRef } from \"react\";\n\nimport { Select, Spinner } from \"@bigbinary/neeto-atoms\";\nimport { findBy } from \"neetocist\";\nimport Search from \"neetomolecules/v2/Search\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchKbArticles } from \"hooks/reactQuery/kbArticle/useArticleFetching\";\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 \"src/v2/components/Editor/CustomExtensions/LinkKbArticles/constants\";\nimport useArticleNavigation from \"src/v2/components/Editor/CustomExtensions/LinkKbArticles/hooks/useArticleNavigation\";\nimport {\n buildArticleFullUrl,\n createArticleOptions,\n} from \"src/v2/components/Editor/CustomExtensions/LinkKbArticles/utils\";\n\nimport ArticlesList from \"./ArticlesList\";\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 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 = selectedValueString => {\n const options = externalOptions || selectOptions;\n const selectedOption = findBy({ value: selectedValueString }, options);\n\n if (selectedOption?.data?.type === \"article\" && onChange) {\n onChange(\n { value: selectedOption.value, label: selectedOption.label },\n undefined\n );\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 <Spinner />\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, label, name, placeholder }}\n isSearchable\n isDisabled={isLoading}\n options={externalOptions || selectOptions}\n value={typeof value === \"object\" ? value?.value : value}\n onChange={handleSelectChange}\n />\n );\n};\n\nexport default ArticlePicker;\n","import React from \"react\";\n\nimport { MODE } from \"src/v2/components/Editor/CustomExtensions/LinkKbArticles/constants\";\n\nimport ArticlePicker from \"./ArticlePicker\";\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, useState } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@bigbinary/neeto-atoms/primitives/Popover\";\nimport { BubbleMenu } from \"@tiptap/react\";\nimport { AlignCenter, AlignLeft, AlignRight } from \"lucide-react\";\nimport { flushSync } from \"react-dom\";\nimport { sticky } from \"tippy.js\";\n\nimport { tableActions } from \"src/v2/components/Editor/CustomExtensions/Table/utils\";\n\nconst alignmentIcons = {\n left: AlignLeft,\n center: AlignCenter,\n right: AlignRight,\n};\n\nconst TableActionMenu = ({ editor }) => {\n const [isAlignmentOpen, setIsAlignmentOpen] = useState(false);\n\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 tippyOptions={{\n arrow: false,\n offset: [10, 10],\n zIndex: 99999,\n theme: \"light neeto-editor-bubble-menu-tippy-box\",\n popperOptions: {\n modifiers: [{ name: \"flip\", enabled: false }],\n },\n getReferenceClientRect,\n plugins: [sticky],\n sticky: \"popper\",\n }}\n >\n {tableActions({ editor }).map(action => {\n if (action.isHidden) return null;\n\n if (action.type) {\n return (\n <Popover\n key={action.label}\n open={isAlignmentOpen}\n onOpenChange={setIsAlignmentOpen}\n >\n <PopoverTrigger asChild>\n <Button\n className=\"ne-toolbar-item\"\n icon={AlignLeft}\n size=\"sm\"\n tooltipProps={{ content: action.label, position: \"top\" }}\n variant=\"ghost\"\n />\n </PopoverTrigger>\n <PopoverContent\n align=\"start\"\n className=\"ne-editor-dropdown data-[state=closed]:hidden w-auto p-1\"\n side=\"bottom\"\n onOpenAutoFocus={e => e.preventDefault()}\n >\n <div className=\"flex flex-row items-center gap-1\">\n {action.items?.map(({ type, command, tooltipLabel }) => {\n const IconComponent = alignmentIcons[type];\n\n return (\n <Button\n className=\"ne-toolbar-item\"\n icon={IconComponent}\n key={type}\n tooltipProps={{\n content: tooltipLabel,\n position: \"bottom\",\n }}\n variant=\"ghost\"\n onClick={() => {\n flushSync(() => setIsAlignmentOpen(false));\n command();\n }}\n />\n );\n })}\n </div>\n </PopoverContent>\n </Popover>\n );\n }\n\n return (\n <Button\n className=\"ne-toolbar-item\"\n icon={action.icon}\n key={action.label}\n size=\"sm\"\n tooltipProps={{ content: action.label, position: \"top\" }}\n variant=\"ghost\"\n onClick={action.command}\n />\n );\n })}\n </BubbleMenu>\n );\n};\n\nexport default TableActionMenu;\n","import React from \"react\";\n\nimport { Button, Dialog } from \"@bigbinary/neeto-atoms\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nconst KbArticleDeletedModal = withT(({ t, isOpen, onClose }) => (\n <Dialog {...{ isOpen, onClose }}>\n <Dialog.Header>\n <Dialog.Title>{t(\"neetoEditor.linkKb.articleDeletedTitle\")}</Dialog.Title>\n </Dialog.Header>\n <Dialog.Body>\n <p>{t(\"neetoEditor.linkKb.articleDeletedDescription\")}</p>\n </Dialog.Body>\n <Dialog.Footer>\n <Button label={t(\"neetoEditor.common.close\")} onClick={onClose} />\n </Dialog.Footer>\n </Dialog>\n));\n\nexport default KbArticleDeletedModal;\n","import React from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\nimport { Form, Input } from \"@bigbinary/neeto-atoms/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { decodeHtmlEntities } from \"src/utils/common\";\nimport { MODE } from \"src/v2/components/Editor/CustomExtensions/LinkKbArticles/constants\";\n\nimport ArticlePicker from \"./ArticlePicker\";\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 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=\"sm\"\n type=\"submit\"\n />\n <Button\n data-testid=\"neeto-editor-edit-kb-link-cancel\"\n label={t(\"neetoEditor.common.cancel\")}\n size=\"sm\"\n variant=\"ghost\"\n onClick={() => setIsEditing(false)}\n />\n </div>\n </div>\n )}\n </Form>\n );\n};\n\nexport default KbArticleEdit;\n","import { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { BookOpen, Pencil } from \"lucide-react\";\nimport { withT } from \"neetocommons/v2/react-utils\";\nimport CopyToClipboardButton from \"neetomolecules/v2/CopyToClipboardButton\";\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 <BookOpen className=\"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=\"sm\"\n value={linkAttributes?.href}\n variant=\"ghost\"\n />\n <Button\n className=\"ne-link-popover__option-button mx-0\"\n data-testid=\"neeto-editor-link-popover-edit\"\n icon={Pencil}\n size=\"sm\"\n variant=\"ghost\"\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=\"mt-2 rounded 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 { Button, Checkbox } from \"@bigbinary/neeto-atoms\";\nimport { Form, Input } from \"@bigbinary/neeto-atoms/formik\";\nimport { getMarkRange, getMarkType } from \"@tiptap/react\";\nimport { findBy } from \"neetocist\";\nimport { useOnClickOutside } from \"neetocommons/v2/react-utils\";\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\";\nimport { LINK_VALIDATION_SCHEMA } from \"src/v2/components/Editor/constants\";\nimport {\n buildArticleFullUrl,\n createArticleOptions,\n} from \"src/v2/components/Editor/CustomExtensions/LinkKbArticles/utils\";\nimport { getLinkPopoverPosition } from \"src/v2/components/Editor/Menu/Fixed/utils\";\nimport { validateAndFormatUrl } from \"src/v2/components/Editor/utils\";\n\nimport KbArticleDeletedModal from \"./CustomExtensions/LinkKbArticles/KbArticleDeletedModal\";\nimport KbArticleEdit from \"./CustomExtensions/LinkKbArticles/KbArticleEdit\";\nimport KbArticleView from \"./CustomExtensions/LinkKbArticles/KbArticleView\";\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 onCheckedChange={checked => {\n setFieldValue(\"openInNewTab\", Boolean(checked));\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=\"sm\"\n type=\"submit\"\n />\n <Button\n data-testid=\"neeto-editor-edit-link-cancel\"\n label={t(\"neetoEditor.common.cancel\")}\n size=\"sm\"\n variant=\"ghost\"\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=\"sm\"\n variant=\"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=\"sm\"\n variant=\"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 { Label } from \"@bigbinary/neeto-atoms\";\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/v2/react-utils\";\nimport { createPortal } from \"react-dom\";\n\nimport { useDeletedArticles } from \"hooks/reactQuery/kbArticle/useDeletedArticles\";\nimport useEditorWarnings from \"hooks/useEditorWarnings\";\nimport { EDITOR_OPTIONS, EDITOR_SIZES } from \"src/common/constants\";\nimport { removeEmptyTags } from \"src/utils\";\nimport ErrorWrapper from \"src/v2/components/Common/ErrorWrapper\";\nimport { DEFAULT_EDITOR_OPTIONS } from \"src/v2/components/Editor/constants\";\nimport {\n clipboardTextParser,\n getEditorStyles,\n setInitialPosition,\n transformPastedHTML,\n} from \"src/v2/components/Editor/utils\";\n\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\";\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(\n ({ editor }) => onChange(editor.getHTML()),\n 100\n );\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 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 useImperativeHandle(\n ref,\n () => ({ editor, focus: () => editor?.commands?.focus?.() }),\n [editor]\n );\n\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 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(\"ne-editor--v2\", {\n [className]: className,\n \"ne-attachments__wrapper\": isAttachmentsActive,\n })}\n >\n {label && (\n <Label\n {...{ required }}\n className=\"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","storage","characterCount","characters","Extension","create","name","addOptions","types","addGlobalAttributes","options","attributes","backgroundColor","parseHTML","element","style","replace","renderHTML","concat","addCommands","setHighlightInternal","color","chain","setMark","run","unsetHighlightInternal","_ref2","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","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","SORTED_LANGUAGE_LIST","_toConsumableArray","lowlight","listLanguages","sort","LINE_NUMBER_OPTIONS","label","t","value","Menu","DropdownMenu","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","buttonProps","variant","dropdownProps","ChevronDown","onClick","Input","autoFocus","placeholder","onChange","e","target","preventDefault","stopPropagation","CopyToClipboardButton","text","Button","Highlighter","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","appendTo","body","showOnCreate","interactive","trigger","placement","zIndex","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","Dialog","closeButton","isOpen","isPresent","onClose","X","alt","src","classNames","onLoad","DropdownMenuList","buildImageOptions","border","showAspectRatio","AlignLeft","alignPos","optionName","AlignCenter","AlignRight","Ratio","ratio","tooltipLabel","RectangleHorizontal","RectangleVertical","Square","SquareDashed","borderToggle","Trash2","align","deleteNode","menuOptions","handleClick","position","customTarget","Ellipsis","Tooltip","prefix","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","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","Link","inclusive","title","getAttributes","match","_match$pop","_match$pop2","pop","trim","MentionList","_this$props","item","prevState","nextSelectedIndex","keyDownHandlers","ArrowUp","upHandler","downHandler","enterHandler","Tab","tabHandler","prototype","hasOwnProperty","mentionRef","createRef","prevProps","scrollHandler","wrapperRef","imageUrl","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","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","coordsAtPos","buildCommandItems","addonCommands","commandItems","permittedCommandItems","adddonCommandItems","CommandsPluginKey","filteredItems","fuzzySearch","role","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","iframe","video","videoType","getUploadAttributes","getEmbedAttributes","DEFAULT_ASPECT_RATIO","frameBorder","allow","allowfullscreen","renderEmbedHTML","renderUploadHTML","handleVideoPaste","setSelection","TextSelection","validatedUrl","validateUrl","UnifiedVideoExtension","figure","videoEl","iframeEl","fontWeight","setVideo","_excluded2","end","setExternalVideo","PasteRule","COMBINED_REGEX","useCustomExtensions","extensions","variables","keyboardShortcuts","openLinkInNewTab","enableReactNodeViewOptimization","collaborationProvider","customExtensions","CharacterCount","Code","CustomCommands","FigCaption","HighlightInternal","SelectionDecoration","Focus","mode","Highlight","ImageExtension","StarterKit","code","bulletList","listItem","blockquote","orderedList","italic","history","heading","levels","buildLevelsFromOptions","TextStyle","TableRow","TableHeader","TableCell","TEXT_COLOR","HIGHLIGHT","Color","ListItem","Callout","SlashCommands","_collaborationProvide","Collaboration","CollaborationCursor","provider","NEETO_KB_ENDPOINT","kbUrl","MODE","MODAL","SELECT","MODAL_BOTTOM_MARGIN","MODAL_LEFT_OFFSET","MODAL_TOP_OFFSET","MODAL_TRANSFORM_Y","MODAL_TRANSFORM_X","useArticleNavigation","_ref$articles","articles","articlesContainerRef","handleModalArticleSelect","searchTerm","highlightedIndex","setHighlightedIndex","container","highlightedItem","containerRect","getBoundingClientRect","itemRect","isItemAbove","top","isItemBelow","bottom","scrollTop","navigationHandlers","down","up","keyActions","Escape","shiftKey","handleKeyboardNavigation","action","buildArticleFullUrl","slug","createArticleOptions","article","decodeHtmlEntities","ArticlesList","withT","onSelectArticle","_ref$highlightedIndex","containerRef","ArticlePicker","_ref$mode","externalIsLoading","externalOptions","onArticleSelect","setSearchTerm","modalRef","_useFetchKbArticles","useFetchKbArticles","reactQueryOptions","enabled","_useFetchKbArticles$d","isLoadingArticles","selectOptions","articleWithUrl","full_url","_useArticleNavigation","handleSelectChange","selectedValueString","_selectedOption$data","selectedOption","modal","modalRect","modalWidth","modalHeight","maxLeft","innerWidth","maxTop","innerHeight","adjustedLeft","min","left","adjustedTop","assign","transform","handleClickOutside","Search","onSearch","Select","isSearchable","isDisabled","_typeof","ArticleSelector","deletedArticlesHook","handleArticleSelect","detailedArticle","linkText","isDeleted","isArticleDeleted","linkMark","link","linkTextWithMark","shouldShowMergeCellToggler","CellSelection","_node$type","nodeRoleInTable","spec","tableRole","rowspan","setTableAlignment","tableNode","tablePos","_tableNode","currentAttrs","newAttrs","tableActions","_editor$state","addRowAfter","InsertRow","addColumnAfter","InsertColumn","deleteRow","DeleteRow","isVisible","deleteColumn","DeleteColumn","mergeOrSplit","MergeSplit","isHidden","toggleHeaderRow","ToggleHeaderRow","deleteTable","DeleteTable","alignmentIcons","center","right","TableActionMenu","isAlignmentOpen","setIsAlignmentOpen","_editor$view$domAtPos","DOMRect","nodeType","shouldShow","isFocused","BubbleMenu","tippyOptions","offset","popperOptions","modifiers","plugins","sticky","_action$items","Popover","open","onOpenChange","PopoverTrigger","asChild","PopoverContent","side","onOpenAutoFocus","IconComponent","flushSync","KbArticleDeletedModal","Header","Title","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","BookOpen","Pencil","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","onCheckedChange","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","debouncedOnChangeHandler","useFuncDebounce","handleBlur","trimmedContent","removeEmptyTags","useEditorWarnings","editorClasses","LARGE","MEDIUM","ariaAttributes","useEditor","injectCSS","immediatelyRender","shouldRerenderOnTransaction","autofocus","editorProps","getEditorStyles","clipboardTextParser","transformPastedHTML","parseOptions","preserveWhitespace","setInitialPosition","useEditorState","selector","useDeletedArticles","useImperativeHandle","_editor$commands$focu","EditorView","docView","updateStateInner","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":["../../../src/v2/components/Common/ErrorWrapper.jsx","../../../src/v2/components/Editor/CustomExtensions/CharacterCount/index.jsx","../../../src/v2/components/Editor/CustomExtensions/BackgroundColor/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/BulletList/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/Callout/CalloutComponent.jsx","../../../src/v2/components/Editor/CustomExtensions/Callout/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/CodeBlock/plugins.js","../../../src/v2/components/Editor/CustomExtensions/CodeBlock/constants.js","../../../src/v2/components/Editor/CustomExtensions/CodeBlock/CodeBlockComponent.jsx","../../../src/v2/components/Editor/CustomExtensions/CodeBlock/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/CustomCommands/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/DeletedArticleDecoration/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/EditorContainer/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/Emoji/EmojiPicker/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/Emoji/EmojiSuggestion/constants.js","../../../src/v2/components/Editor/CustomExtensions/Emoji/EmojiSuggestion/utils.js","../../../src/v2/components/Editor/CustomExtensions/Emoji/EmojiSuggestion/EmojiSuggestionMenu.jsx","../../../src/v2/components/Editor/CustomExtensions/Emoji/EmojiSuggestion/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/Image/constants.js","../../../src/v2/components/Editor/CustomExtensions/Image/ImagePreviewModal.jsx","../../../src/v2/components/Editor/CustomExtensions/Image/Menu.jsx","../../../src/v2/components/Editor/CustomExtensions/Image/ImageComponent.jsx","../../../src/v2/components/Editor/CustomExtensions/Image/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/Image/FigCaption.js","../../../src/v2/components/Editor/CustomExtensions/Italic/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/KeyboardShortcuts/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/Link/constants.js","../../../src/v2/components/Editor/CustomExtensions/Link/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/Mention/MentionList.jsx","../../../src/v2/components/Editor/CustomExtensions/Mention/utils.js","../../../src/v2/components/Editor/CustomExtensions/Mention/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/OrderedList/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/Placeholder/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/SelectionDecoration/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/SlashCommands/Menu.jsx","../../../src/v2/components/Editor/CustomExtensions/SlashCommands/CommandsList.jsx","../../../src/v2/components/Editor/CustomExtensions/SlashCommands/constants.js","../../../src/v2/components/Editor/CustomExtensions/SlashCommands/utils.js","../../../src/v2/components/Editor/CustomExtensions/SlashCommands/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/SpecialMentions/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/Table/TableView.js","../../../src/v2/components/Editor/CustomExtensions/Table/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/TodoList/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/Variable/constants.js","../../../src/v2/components/Editor/CustomExtensions/Variable/VariableComponent.jsx","../../../src/v2/components/Editor/CustomExtensions/Variable/ExtensionConfig.js","../../../src/v2/components/Editor/CustomExtensions/Video/VideoComponent.jsx","../../../src/v2/components/Editor/CustomExtensions/Embeds/EmbedComponent.jsx","../../../src/v2/components/Editor/CustomExtensions/Video/ExtensionConfig.jsx","../../../src/v2/components/Editor/CustomExtensions/hooks/useCustomExtensions.js","../../../src/v2/components/Editor/CustomExtensions/LinkKbArticles/constants.js","../../../src/v2/components/Editor/CustomExtensions/LinkKbArticles/hooks/useArticleNavigation.js","../../../src/v2/components/Editor/CustomExtensions/LinkKbArticles/utils.js","../../../src/v2/components/Editor/CustomExtensions/LinkKbArticles/ArticlesList.jsx","../../../src/v2/components/Editor/CustomExtensions/LinkKbArticles/ArticlePicker.jsx","../../../src/v2/components/Editor/CustomExtensions/LinkKbArticles/ArticleSelector.jsx","../../../src/v2/components/Editor/CustomExtensions/Table/utils.js","../../../src/v2/components/Editor/CustomExtensions/Table/TableActionMenu.jsx","../../../src/v2/components/Editor/CustomExtensions/LinkKbArticles/KbArticleDeletedModal.jsx","../../../src/v2/components/Editor/CustomExtensions/LinkKbArticles/KbArticleEdit.jsx","../../../src/v2/components/Editor/CustomExtensions/LinkKbArticles/KbArticleView.jsx","../../../src/v2/components/Editor/LinkPopOver.jsx","../../../src/v2/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\n className=\"neeto-ui-input__error\"\n data-testid=\"neeto-editor-error-text\"\n >\n {getErrorMessage()}\n </p>\n )}\n </>\n );\n};\n\nexport default memo(ErrorWrapper);\n","const CharacterCountWrapper = ({ editor, children }) => {\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 {editor.storage.characterCount.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 \"src/v2/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 \"src/v2/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","/* 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 { 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","import { useRef, useState, useCallback, useEffect } from \"react\";\n\nimport { Button, DropdownMenu, Input } from \"@bigbinary/neeto-atoms\";\nimport { NodeViewWrapper, NodeViewContent } from \"@tiptap/react\";\nimport { ChevronDown, Highlighter } from \"lucide-react\";\nimport CopyToClipboardButton from \"neetomolecules/v2/CopyToClipboardButton\";\nimport { difference, intersection, union } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n LINE_NUMBER_OPTIONS,\n SORTED_LANGUAGE_LIST,\n} from \"src/v2/components/Editor/CustomExtensions/CodeBlock/constants\";\nimport { codeBlockHighlightKey } from \"src/v2/components/Editor/CustomExtensions/CodeBlock/plugins\";\n\nconst { Menu, MenuItem } = DropdownMenu;\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 const overlapLines = intersection(\n currentHighlightedLines,\n newSelectedLines\n );\n\n let highlightedLines;\n\n if (overlapLines.length === newSelectedLines.length) {\n highlightedLines = difference(currentHighlightedLines, newSelectedLines);\n } else {\n highlightedLines = union(currentHighlightedLines, newSelectedLines);\n }\n\n editor.commands.updateAttributes(codeBlock.type, { highlightedLines });\n editor.view.dispatch(editor.state.tr.setMeta(codeBlockHighlightKey, true));\n };\n\n return (\n <NodeViewWrapper\n className=\"ne-codeblock-nodeview-wrapper ne-codeblock--v2\"\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 <DropdownMenu\n buttonProps={{ size: \"sm\", variant: \"secondary\" }}\n dropdownProps={{ className: \"ne-editor-dropdown\" }}\n icon={ChevronDown}\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\n key={label}\n onClick={() => {\n setShowLineNumbers(value);\n updateAttributes({ linenumbers: value });\n }}\n >\n {label}\n </MenuItem>\n ))}\n </Menu>\n </DropdownMenu>\n <DropdownMenu\n buttonProps={{ size: \"sm\", variant: \"secondary\" }}\n dropdownProps={{ className: \"ne-editor-dropdown\" }}\n icon={ChevronDown}\n label={node.attrs?.language || t(\"neetoEditor.common.auto\")}\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\n key={language}\n onClick={() => handleLanguageSelect(language)}\n >\n {language || t(\"neetoEditor.common.auto\")}\n </MenuItem>\n ))}\n </Menu>\n </DropdownMenu>\n <CopyToClipboardButton\n size=\"sm\"\n value={node?.content?.content[0]?.text}\n variant=\"ghost\"\n />\n {showHighlightButton && (\n <Button\n icon={Highlighter}\n size=\"sm\"\n tooltipProps={{ content: t(\"neetoEditor.menu.highlight\") }}\n variant=\"secondary\"\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 { codeBlockHighlightPlugin } from \"src/v2/components/Editor/CustomExtensions/CodeBlock/plugins\";\n\nimport CodeBlockComponent from \"./CodeBlockComponent\";\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 { Extension } from \"@tiptap/core\";\n\nconst EditorContainer = Extension.create({\n name: \"editorContainer\",\n\n addOptions() {\n return { containerRef: null };\n },\n\n addStorage() {\n return { containerRef: null };\n },\n\n onBeforeCreate() {\n this.storage.containerRef = this.options.containerRef;\n },\n});\n\nexport default EditorContainer;\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: () =>\n props.editor?.storage?.editorContainer?.containerRef\n ?.current ?? 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 { Spinner } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { init, SearchIndex } from \"emoji-mart\";\nimport { isNotEmpty } from \"neetocist\";\nimport { isEmpty } from \"ramda\";\n\nimport emojiPickerApi from \"apis/emoji_picker\";\nimport { filterEmojiSuggestions } from \"src/v2/components/Editor/CustomExtensions/Emoji/EmojiSuggestion/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 // eslint-disable-next-line @bigbinary/neeto/no-local-storage\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 // eslint-disable-next-line require-await\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 \"src/v2/components/Editor/CustomExtensions/Emoji/EmojiSuggestion/constants\";\n\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: () =>\n props.editor?.storage?.editorContainer?.containerRef?.current ??\n 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","const 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 { useEffect, useRef, useState } from \"react\";\n\nimport { Button, Spinner } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { X } from \"lucide-react\";\nimport { isPresent } from \"neetocist\";\nimport { useOnClickOutside } from \"neetocommons/v2/react-utils\";\nimport { createPortal } from \"react-dom\";\n\nconst ImagePreviewModal = ({ previewUrl, setPreviewUrl }) => {\n const [isLoading, setIsLoading] = useState(true);\n\n const imagePreviewRef = useRef(null);\n\n const handleClose = () => {\n setIsLoading(true);\n setPreviewUrl(null);\n };\n\n useOnClickOutside(imagePreviewRef, handleClose, {\n enabled: isPresent(previewUrl),\n });\n\n useEffect(() => {\n if (!previewUrl || !imagePreviewRef.current) return;\n\n imagePreviewRef.current.setAttribute(\"tabindex\", \"-1\");\n imagePreviewRef.current.focus();\n }, [previewUrl]);\n\n const handleKeyDown = e => {\n e.stopPropagation();\n e.key === \"Escape\" && handleClose();\n };\n\n if (!isPresent(previewUrl)) return null;\n\n return createPortal(\n <div className=\"ne-image-preview-wrapper active\">\n {isLoading && <Spinner className=\"ne-image-preview-wrapper__spinner\" />}\n <div\n className={classnames(\"ne-image-preview\", {\n \"image-loaded\": !isLoading,\n })}\n >\n {!isLoading && (\n <div className=\"close-button\">\n <Button icon={X} variant=\"secondary\" onClick={handleClose} />\n </div>\n )}\n <img\n alt=\"Preview\"\n ref={imagePreviewRef}\n src={previewUrl}\n onKeyDown={handleKeyDown}\n onLoad={() => setIsLoading(false)}\n />\n </div>\n </div>,\n document.body\n );\n};\n\nexport default ImagePreviewModal;\n","import { Button, DropdownMenu, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport { t } from \"i18next\";\nimport {\n AlignCenter,\n AlignLeft,\n AlignRight,\n ChevronDown,\n Ellipsis,\n Ratio,\n RectangleHorizontal,\n RectangleVertical,\n Square,\n SquareDashed,\n Trash2,\n} from \"lucide-react\";\n\nconst { Menu: DropdownMenuList, MenuItem } = DropdownMenu;\n\nconst buildImageOptions = (border, showAspectRatio) => {\n const options = [\n {\n Icon: AlignLeft,\n type: \"button\",\n alignPos: \"left\",\n optionName: t(\"neetoEditor.menu.alignLeft\"),\n },\n {\n Icon: AlignCenter,\n type: \"button\",\n alignPos: \"center\",\n optionName: t(\"neetoEditor.menu.alignCenter\"),\n },\n {\n Icon: AlignRight,\n type: \"button\",\n alignPos: \"right\",\n optionName: t(\"neetoEditor.menu.alignRight\"),\n },\n ];\n\n if (showAspectRatio) {\n options.push({\n Icon: Ratio,\n type: \"dropdown\",\n alignPos: \"center\",\n optionName: t(\"neetoEditor.menu.aspectRatio\"),\n items: [\n { ratio: \"16/9\", tooltipLabel: \"16/9\", icon: RectangleHorizontal },\n { ratio: \"9/16\", tooltipLabel: \"9/16\", icon: RectangleVertical },\n { ratio: \"4/3\", tooltipLabel: \"4/3\", icon: RectangleHorizontal },\n { ratio: \"3/2\", tooltipLabel: \"3/2\", icon: RectangleHorizontal },\n { ratio: \"1/1\", tooltipLabel: \"1/1\", icon: Square },\n ],\n });\n }\n\n options.push(\n {\n Icon: border ? SquareDashed : Square,\n type: \"button\",\n alignPos: \"center\",\n borderToggle: true,\n optionName: border\n ? t(\"neetoEditor.menu.removeBorder\")\n : t(\"neetoEditor.menu.addBorder\"),\n },\n {\n Icon: Trash2,\n type: \"button\",\n optionName: t(\"neetoEditor.menu.delete\"),\n }\n );\n\n return options;\n};\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 <DropdownMenu\n position=\"top-end\"\n customTarget={\n <Button\n className=\"neeto-editor__image-menu-btn\"\n icon={Ellipsis}\n size=\"lg\"\n variant=\"secondary\"\n />\n }\n dropdownProps={{\n className: \"ne-editor-dropdown w-auto flex flex-row items-center gap-1\",\n }}\n >\n {menuOptions.map(\n ({ Icon, optionName, alignPos, type, items, border, borderToggle }) =>\n type === \"button\" ? (\n <Button\n className=\"ne-toolbar-item\"\n data-testid={`neeto-editor-image-menu-${optionName}`}\n icon={Icon}\n key={optionName}\n tooltipProps={{ content: optionName, position: \"top\" }}\n variant={\n alignPos === align || (borderToggle && border)\n ? \"secondary\"\n : \"ghost\"\n }\n onClick={() => handleClick(alignPos, borderToggle)}\n />\n ) : (\n <DropdownMenu\n dropdownProps={{ className: \"ne-editor-dropdown\" }}\n key={optionName}\n position=\"bottom-start\"\n buttonProps={{\n tooltipProps: {\n content: optionName,\n position: \"top\",\n },\n }}\n customTarget={\n <MenuItem className=\"ne-toolbar-item !relative\">\n <Tooltip content={optionName} position=\"top\">\n <div className=\"flex items-center justify-center gap-x-1\">\n <Ratio size={18} />\n <ChevronDown size={14} />\n </div>\n </Tooltip>\n </MenuItem>\n }\n onClick={event => event.stopPropagation()}\n >\n <DropdownMenuList className=\"mb-0\">\n {items?.map(({ ratio, icon: Icon }) => (\n <MenuItem\n key={ratio}\n prefix={Icon ? <Icon size={16} /> : undefined}\n onClick={() => updateAttributes({ aspectRatio: ratio })}\n >\n {ratio}\n </MenuItem>\n ))}\n </DropdownMenuList>\n </DropdownMenu>\n )\n )}\n </DropdownMenu>\n );\n};\n\nexport default Menu;\n","import { useRef, useState } from \"react\";\n\nimport { Spinner } from \"@bigbinary/neeto-atoms\";\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 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 { Toastr } from \"@bigbinary/neeto-atoms\";\nimport { mergeAttributes, Node } from \"@tiptap/core\";\nimport { Plugin } from \"@tiptap/pm/state\";\nimport { ReactNodeViewRenderer } from \"@tiptap/react\";\nimport classnames from \"classnames\";\nimport { t } from \"i18next\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport { isEmpty } from \"ramda\";\n\nimport { DIRECT_UPLOAD_ENDPOINT } from \"src/common/constants\";\nimport { LARGE_IMAGE_ERROR } from \"src/v2/components/Editor/CustomExtensions/Image/constants\";\nimport DirectUpload from \"utils/DirectUpload\";\n\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 };\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\";\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\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 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 { Avatar, Typography } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\nimport { t } from \"i18next\";\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 // Plain <button>s instead of `DropdownMenu.MenuItem`. The popup is portaled\n // into document.body by tippy, so it sits outside any `DropdownMenu` Root\n // — Radix's `MenuItem` would call `useMenuScope` and throw\n // \"MenuItem must be used within Menu\". Styling lives in _v2-toolbar.scss\n // under `.neeto-editor-mentions__wrapper` / `__item`.\n return (\n <div\n className=\"neeto-editor-mentions__wrapper\"\n data-testid=\"neeto-editor-mention-list\"\n ref={this.mentionRef}\n >\n {items.map(({ key, name, imageUrl }, index) => (\n <button\n data-testid={`neeto-editor-mention-list-${name}`}\n key={key}\n type=\"button\"\n className={classNames(\"neeto-editor-mentions__item\", {\n active: index === selectedIndex,\n })}\n onClick={() => this.selectItem(index)}\n >\n <Avatar size=\"sm\" user={{ name, imageUrl }} />\n <Typography variant=\"body2\">{name}</Typography>\n </button>\n ))}\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: () =>\n props.editor?.storage?.editorContainer?.containerRef?.current ??\n 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.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 { EDITOR_OPTIONS } from \"common/constants\";\nimport { 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\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 { EDITOR_OPTIONS } from \"common/constants\";\nimport { assoc } from \"ramda\";\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: () =>\n props.editor?.storage?.editorContainer?.containerRef\n ?.current ?? 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: () =>\n props.editor?.storage?.editorContainer?.containerRef?.current ??\n 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 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 from \"@tiptap/extension-task-item\";\nimport TaskList from \"@tiptap/extension-task-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 { Tooltip } from \"@bigbinary/neeto-atoms\";\nimport { NodeViewWrapper } from \"@tiptap/react\";\n\nimport { MAX_VARIABLE_NAME_DISPLAY_LENGTH } from \"src/v2/components/Editor/CustomExtensions/Variable/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\";\nimport { COMBINED_REGEX } from \"common/constants\";\n\nimport { validateUrl } from \"src/v2/components/Editor/CustomExtensions/Embeds/utils\";\nimport { DEFAULT_ASPECT_RATIO } from \"src/v2/components/Editor/MediaUploader/constants\";\n\nimport VideoComponent from \"./VideoComponent\";\n\nimport EmbedComponent from \"../Embeds/EmbedComponent\";\n\nconst getSharedAttributes = () => ({\n src: {\n default: null,\n parseHTML: element => {\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 = 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 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 } = 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 }),\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 });\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 videoEl = figure.querySelector(\"video\");\n const iframeEl = figure.querySelector(\"iframe\");\n\n if (!videoEl && !iframeEl) return false;\n\n return node.style.fontWeight !== \"normal\" && null;\n },\n contentElement: \"figcaption\",\n },\n { tag: \"iframe[src]\" },\n { tag: \"div.neeto-editor__video-wrapper\" },\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 CharacterCount from \"@tiptap/extension-character-count\";\nimport Code from \"@tiptap/extension-code\";\nimport Collaboration from \"@tiptap/extension-collaboration\";\nimport CollaborationCursor from \"@tiptap/extension-collaboration-cursor\";\nimport Color from \"@tiptap/extension-color\";\nimport Document from \"@tiptap/extension-document\";\nimport Focus from \"@tiptap/extension-focus\";\nimport Highlight from \"@tiptap/extension-highlight\";\nimport ListItem from \"@tiptap/extension-list-item\";\nimport TableCell from \"@tiptap/extension-table-cell\";\nimport TableHeader from \"@tiptap/extension-table-header\";\nimport TableRow from \"@tiptap/extension-table-row\";\nimport TextStyle from \"@tiptap/extension-text-style\";\nimport Underline from \"@tiptap/extension-underline\";\nimport StarterKit from \"@tiptap/starter-kit\";\nimport { EDITOR_OPTIONS } from \"common/constants\";\nimport { isEmpty } from \"ramda\";\n\nimport { buildLevelsFromOptions } from \"src/v2/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 EditorContainer from \"../EditorContainer/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 containerRef,\n}) => {\n let customExtensions = [\n EditorContainer.configure({ containerRef }),\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,\n blockquote: options.includes(EDITOR_OPTIONS.BLOCKQUOTE),\n orderedList: false,\n italic: false,\n history: !collaborationProvider,\n heading: { levels: buildLevelsFromOptions(options) },\n }),\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 CollaborationCursor.configure({\n provider: collaborationProvider,\n })\n );\n }\n\n customExtensions = customExtensions.concat(extensions);\n\n return customExtensions;\n};\n\nexport default useCustomExtensions;\n","import { globalProps } from \"neetocommons/v2/initializers\";\n\nexport const NEETO_KB_ENDPOINT = globalProps?.kbUrl;\nexport const NEETO_KB_ARTICLES_URL = \"/api/v1/articles\";\nexport const NEETO_KB_CATEGORIES_URL = \"/api/v1/categories\";\n\nexport const MODE = { MODAL: \"modal\", SELECT: \"select\" };\n\nexport const MODAL_BOTTOM_MARGIN = 50;\nexport const MODAL_LEFT_OFFSET = 50;\nexport const MODAL_TOP_OFFSET = 22;\nexport const MODAL_TRANSFORM_Y = 52;\nexport const MODAL_TRANSFORM_X = 8;\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 { decodeHtmlEntities } from \"src/utils/common\";\n\nimport { NEETO_KB_ENDPOINT } from \"./constants\";\n\nexport const buildArticleFullUrl = slug =>\n slug ? `${NEETO_KB_ENDPOINT}/articles/${slug}` : null;\n\nexport const createArticleOptions = articles =>\n articles.map(article => ({\n label: decodeHtmlEntities(article.title),\n value: article.id,\n data: { type: \"article\", ...article },\n }));\n\nexport const extractKbArticleIds = editor => {\n if (!editor) return [];\n\n const articleIds = [];\n const { doc } = editor.state;\n\n doc.descendants(node => {\n if (node.marks) {\n node.marks.forEach(mark => {\n if (\n mark.type.name === \"link\" &&\n mark.attrs[\"data-neeto-kb-article\"] === \"true\" &&\n mark.attrs[\"data-article-id\"]\n ) {\n articleIds.push(mark.attrs[\"data-article-id\"]);\n }\n });\n }\n });\n\n return [...new Set(articleIds)];\n};\n","import React from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\nimport { isNotEmpty } from \"neetocist\";\nimport { withT } from \"neetocommons/v2/react-utils\";\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 \"w-full rounded p-2 text-left hover:bg-gray-200 focus:bg-gray-200 focus:outline-none\",\n { \"bg-gray-200\": index === highlightedIndex }\n )}\n onClick={() => onSelectArticle?.(article)}\n >\n <div className=\"text-sm font-medium\">\n {decodeHtmlEntities(article?.title)}\n </div>\n </button>\n ))}\n </div>\n ) : (\n <div className=\"py-4 text-center text-gray-500\">\n <Typography variant=\"body2\">\n {t(\"neetoEditor.error.noResults\")}\n </Typography>\n </div>\n )}\n </div>\n )\n);\n\nexport default ArticlesList;\n","import React, { useState, useEffect, useRef } from \"react\";\n\nimport { Select, Spinner } from \"@bigbinary/neeto-atoms\";\nimport { findBy } from \"neetocist\";\nimport Search from \"neetomolecules/v2/Search\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchKbArticles } from \"hooks/reactQuery/kbArticle/useArticleFetching\";\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 \"src/v2/components/Editor/CustomExtensions/LinkKbArticles/constants\";\nimport useArticleNavigation from \"src/v2/components/Editor/CustomExtensions/LinkKbArticles/hooks/useArticleNavigation\";\nimport {\n buildArticleFullUrl,\n createArticleOptions,\n} from \"src/v2/components/Editor/CustomExtensions/LinkKbArticles/utils\";\n\nimport ArticlesList from \"./ArticlesList\";\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 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 = selectedValueString => {\n const options = externalOptions || selectOptions;\n const selectedOption = findBy({ value: selectedValueString }, options);\n\n if (selectedOption?.data?.type === \"article\" && onChange) {\n onChange(\n { value: selectedOption.value, label: selectedOption.label },\n undefined\n );\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 <Spinner />\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, label, name, placeholder }}\n isSearchable\n isDisabled={isLoading}\n options={externalOptions || selectOptions}\n value={typeof value === \"object\" ? value?.value : value}\n onChange={handleSelectChange}\n />\n );\n};\n\nexport default ArticlePicker;\n","import React from \"react\";\n\nimport { MODE } from \"src/v2/components/Editor/CustomExtensions/LinkKbArticles/constants\";\n\nimport ArticlePicker from \"./ArticlePicker\";\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, useState } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@bigbinary/neeto-atoms/primitives/Popover\";\nimport { BubbleMenu } from \"@tiptap/react\";\nimport { AlignCenter, AlignLeft, AlignRight } from \"lucide-react\";\nimport { flushSync } from \"react-dom\";\nimport { sticky } from \"tippy.js\";\n\nimport { tableActions } from \"src/v2/components/Editor/CustomExtensions/Table/utils\";\n\nconst alignmentIcons = {\n left: AlignLeft,\n center: AlignCenter,\n right: AlignRight,\n};\n\nconst TableActionMenu = ({ editor }) => {\n const [isAlignmentOpen, setIsAlignmentOpen] = useState(false);\n\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 tippyOptions={{\n arrow: false,\n offset: [10, 10],\n zIndex: 99999,\n theme: \"light neeto-editor-bubble-menu-tippy-box\",\n popperOptions: {\n modifiers: [{ name: \"flip\", enabled: false }],\n },\n getReferenceClientRect,\n plugins: [sticky],\n sticky: \"popper\",\n }}\n >\n {tableActions({ editor }).map(action => {\n if (action.isHidden) return null;\n\n if (action.type) {\n return (\n <Popover\n key={action.label}\n open={isAlignmentOpen}\n onOpenChange={setIsAlignmentOpen}\n >\n <PopoverTrigger asChild>\n <Button\n className=\"ne-toolbar-item\"\n icon={AlignLeft}\n size=\"sm\"\n tooltipProps={{ content: action.label, position: \"top\" }}\n variant=\"ghost\"\n />\n </PopoverTrigger>\n <PopoverContent\n align=\"start\"\n className=\"ne-editor-dropdown data-[state=closed]:hidden w-auto p-1\"\n side=\"bottom\"\n onOpenAutoFocus={e => e.preventDefault()}\n >\n <div className=\"flex flex-row items-center gap-1\">\n {action.items?.map(({ type, command, tooltipLabel }) => {\n const IconComponent = alignmentIcons[type];\n\n return (\n <Button\n className=\"ne-toolbar-item\"\n icon={IconComponent}\n key={type}\n tooltipProps={{\n content: tooltipLabel,\n position: \"bottom\",\n }}\n variant=\"ghost\"\n onClick={() => {\n flushSync(() => setIsAlignmentOpen(false));\n command();\n }}\n />\n );\n })}\n </div>\n </PopoverContent>\n </Popover>\n );\n }\n\n return (\n <Button\n className=\"ne-toolbar-item\"\n icon={action.icon}\n key={action.label}\n size=\"sm\"\n tooltipProps={{ content: action.label, position: \"top\" }}\n variant=\"ghost\"\n onClick={action.command}\n />\n );\n })}\n </BubbleMenu>\n );\n};\n\nexport default TableActionMenu;\n","import React from \"react\";\n\nimport { Button, Dialog } from \"@bigbinary/neeto-atoms\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nconst KbArticleDeletedModal = withT(({ t, isOpen, onClose }) => (\n <Dialog {...{ isOpen, onClose }}>\n <Dialog.Header>\n <Dialog.Title>{t(\"neetoEditor.linkKb.articleDeletedTitle\")}</Dialog.Title>\n </Dialog.Header>\n <Dialog.Body>\n <p>{t(\"neetoEditor.linkKb.articleDeletedDescription\")}</p>\n </Dialog.Body>\n <Dialog.Footer>\n <Button label={t(\"neetoEditor.common.close\")} onClick={onClose} />\n </Dialog.Footer>\n </Dialog>\n));\n\nexport default KbArticleDeletedModal;\n","import React from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\nimport { Form, Input } from \"@bigbinary/neeto-atoms/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { decodeHtmlEntities } from \"src/utils/common\";\nimport { MODE } from \"src/v2/components/Editor/CustomExtensions/LinkKbArticles/constants\";\n\nimport ArticlePicker from \"./ArticlePicker\";\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 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=\"sm\"\n type=\"submit\"\n />\n <Button\n data-testid=\"neeto-editor-edit-kb-link-cancel\"\n label={t(\"neetoEditor.common.cancel\")}\n size=\"sm\"\n variant=\"ghost\"\n onClick={() => setIsEditing(false)}\n />\n </div>\n </div>\n )}\n </Form>\n );\n};\n\nexport default KbArticleEdit;\n","import { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { BookOpen, Pencil } from \"lucide-react\";\nimport { withT } from \"neetocommons/v2/react-utils\";\nimport CopyToClipboardButton from \"neetomolecules/v2/CopyToClipboardButton\";\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 <BookOpen className=\"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=\"sm\"\n value={linkAttributes?.href}\n variant=\"ghost\"\n />\n <Button\n className=\"ne-link-popover__option-button mx-0\"\n data-testid=\"neeto-editor-link-popover-edit\"\n icon={Pencil}\n size=\"sm\"\n variant=\"ghost\"\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=\"mt-2 rounded 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 { Button, Checkbox } from \"@bigbinary/neeto-atoms\";\nimport { Form, Input } from \"@bigbinary/neeto-atoms/formik\";\nimport { getMarkRange, getMarkType } from \"@tiptap/react\";\nimport { findBy } from \"neetocist\";\nimport { useOnClickOutside } from \"neetocommons/v2/react-utils\";\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\";\nimport { LINK_VALIDATION_SCHEMA } from \"src/v2/components/Editor/constants\";\nimport {\n buildArticleFullUrl,\n createArticleOptions,\n} from \"src/v2/components/Editor/CustomExtensions/LinkKbArticles/utils\";\nimport { getLinkPopoverPosition } from \"src/v2/components/Editor/Menu/Fixed/utils\";\nimport { validateAndFormatUrl } from \"src/v2/components/Editor/utils\";\n\nimport KbArticleDeletedModal from \"./CustomExtensions/LinkKbArticles/KbArticleDeletedModal\";\nimport KbArticleEdit from \"./CustomExtensions/LinkKbArticles/KbArticleEdit\";\nimport KbArticleView from \"./CustomExtensions/LinkKbArticles/KbArticleView\";\n\nconst LinkPopOver = ({ editor, deletedArticlesHook, containerRef }) => {\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 onCheckedChange={checked => {\n setFieldValue(\"openInNewTab\", Boolean(checked));\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=\"sm\"\n type=\"submit\"\n />\n <Button\n data-testid=\"neeto-editor-edit-link-cancel\"\n label={t(\"neetoEditor.common.cancel\")}\n size=\"sm\"\n variant=\"ghost\"\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=\"sm\"\n variant=\"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=\"sm\"\n variant=\"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 containerRef?.current ?? 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 { Label } from \"@bigbinary/neeto-atoms\";\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/v2/react-utils\";\nimport { createPortal } from \"react-dom\";\n\nimport { useDeletedArticles } from \"hooks/reactQuery/kbArticle/useDeletedArticles\";\nimport useEditorWarnings from \"hooks/useEditorWarnings\";\nimport { EDITOR_OPTIONS, EDITOR_SIZES } from \"src/common/constants\";\nimport { removeEmptyTags } from \"src/utils\";\nimport ErrorWrapper from \"src/v2/components/Common/ErrorWrapper\";\nimport { DEFAULT_EDITOR_OPTIONS } from \"src/v2/components/Editor/constants\";\nimport {\n clipboardTextParser,\n getEditorStyles,\n setInitialPosition,\n transformPastedHTML,\n} from \"src/v2/components/Editor/utils\";\n\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\";\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(\n ({ editor }) => onChange(editor.getHTML()),\n 100\n );\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 containerRef: wrapperRef,\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 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 useImperativeHandle(\n ref,\n () => ({ editor, focus: () => editor?.commands?.focus?.() }),\n [editor]\n );\n\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 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(\"ne-editor--v2\", {\n [className]: className,\n \"ne-attachments__wrapper\": isAttachmentsActive,\n })}\n >\n {label && (\n <Label\n {...{ required }}\n className=\"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 containerRef={wrapperRef}\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\n {...{ deletedArticlesHook, editor }}\n containerRef={wrapperRef}\n />\n )}\n {isAddLinkActive && (\n <LinkAddPopOver\n {...{\n editor,\n isAddLinkActive,\n openLinkInNewTab,\n setIsAddLinkActive,\n }}\n containerRef={wrapperRef}\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 wrapperRef.current ?? 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","storage","characterCount","characters","Extension","create","name","addOptions","types","addGlobalAttributes","options","attributes","backgroundColor","parseHTML","element","style","replace","renderHTML","concat","addCommands","setHighlightInternal","color","chain","setMark","run","unsetHighlightInternal","_ref2","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","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","SORTED_LANGUAGE_LIST","_toConsumableArray","lowlight","listLanguages","sort","LINE_NUMBER_OPTIONS","label","t","value","Menu","DropdownMenu","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","buttonProps","variant","dropdownProps","ChevronDown","onClick","Input","autoFocus","placeholder","onChange","e","target","preventDefault","stopPropagation","CopyToClipboardButton","text","Button","Highlighter","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","EditorContainer","containerRef","addStorage","onBeforeCreate","EmojiPickerPluginKey","EmojiPicker","selectable","atom","suggestion","startOfLine","pluginKey","items","render","reactRenderer","popup","onStart","ReactRenderer","EmojiPickerMenu","tippy","theme","getReferenceClientRect","clientRect","appendTo","_props$editor$storage","_props$editor","editorContainer","body","showOnCreate","interactive","trigger","placement","zIndex","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","imagePreviewRef","handleClose","useOnClickOutside","enabled","isPresent","handleKeyDown","createPortal","X","alt","src","onLoad","DropdownMenuList","buildImageOptions","border","showAspectRatio","AlignLeft","alignPos","optionName","AlignCenter","AlignRight","Ratio","ratio","tooltipLabel","RectangleHorizontal","RectangleVertical","Square","SquareDashed","borderToggle","Trash2","align","deleteNode","menuOptions","handleClick","position","customTarget","Ellipsis","Tooltip","prefix","aspectRatio","ImageComponent","_figureRef$current","getPos","figheight","figwidth","captionWidth","setCaptionWidth","figureRef","width","caption","editorElement","closest","maxImageWidth","offsetWidth","handleResizeStop","_event","_direction","setNodeMarkup","mergeRight","classNames","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","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","Link","inclusive","title","getAttributes","match","_match$pop","_match$pop2","pop","trim","MentionList","_this$props","item","prevState","nextSelectedIndex","keyDownHandlers","ArrowUp","upHandler","downHandler","enterHandler","Tab","tabHandler","prototype","hasOwnProperty","mentionRef","createRef","prevProps","scrollHandler","wrapperRef","imageUrl","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","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","coordsAtPos","buildCommandItems","addonCommands","commandItems","permittedCommandItems","adddonCommandItems","CommandsPluginKey","filteredItems","fuzzySearch","role","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","iframe","video","videoType","getUploadAttributes","getEmbedAttributes","DEFAULT_ASPECT_RATIO","frameBorder","allow","allowfullscreen","renderEmbedHTML","renderUploadHTML","handleVideoPaste","setSelection","TextSelection","validatedUrl","validateUrl","UnifiedVideoExtension","figure","videoEl","iframeEl","fontWeight","setVideo","_excluded2","end","setExternalVideo","PasteRule","COMBINED_REGEX","useCustomExtensions","extensions","variables","keyboardShortcuts","openLinkInNewTab","enableReactNodeViewOptimization","collaborationProvider","customExtensions","CharacterCount","Code","CustomCommands","FigCaption","HighlightInternal","SelectionDecoration","Focus","mode","Highlight","ImageExtension","StarterKit","code","bulletList","listItem","blockquote","orderedList","italic","history","heading","levels","buildLevelsFromOptions","TextStyle","TableRow","TableHeader","TableCell","TEXT_COLOR","HIGHLIGHT","Color","ListItem","Callout","SlashCommands","_collaborationProvide","Collaboration","CollaborationCursor","provider","NEETO_KB_ENDPOINT","kbUrl","MODE","MODAL","SELECT","MODAL_BOTTOM_MARGIN","MODAL_LEFT_OFFSET","MODAL_TOP_OFFSET","MODAL_TRANSFORM_Y","MODAL_TRANSFORM_X","useArticleNavigation","_ref$articles","articles","articlesContainerRef","onClose","handleModalArticleSelect","searchTerm","highlightedIndex","setHighlightedIndex","container","highlightedItem","containerRect","getBoundingClientRect","itemRect","isItemAbove","top","isItemBelow","bottom","scrollTop","navigationHandlers","down","up","keyActions","Escape","shiftKey","handleKeyboardNavigation","action","buildArticleFullUrl","slug","createArticleOptions","article","decodeHtmlEntities","ArticlesList","withT","onSelectArticle","_ref$highlightedIndex","ArticlePicker","_ref$mode","externalIsLoading","externalOptions","onArticleSelect","setSearchTerm","modalRef","_useFetchKbArticles","useFetchKbArticles","reactQueryOptions","_useFetchKbArticles$d","isLoadingArticles","selectOptions","articleWithUrl","full_url","_useArticleNavigation","handleSelectChange","selectedValueString","_selectedOption$data","selectedOption","modal","modalRect","modalWidth","modalHeight","maxLeft","innerWidth","maxTop","innerHeight","adjustedLeft","min","left","adjustedTop","assign","transform","handleClickOutside","Search","onSearch","Select","isSearchable","isDisabled","_typeof","ArticleSelector","deletedArticlesHook","handleArticleSelect","detailedArticle","linkText","isDeleted","isArticleDeleted","linkMark","link","linkTextWithMark","shouldShowMergeCellToggler","CellSelection","_node$type","nodeRoleInTable","spec","tableRole","rowspan","setTableAlignment","tableNode","tablePos","_tableNode","currentAttrs","newAttrs","tableActions","_editor$state","addRowAfter","InsertRow","addColumnAfter","InsertColumn","deleteRow","DeleteRow","isVisible","deleteColumn","DeleteColumn","mergeOrSplit","MergeSplit","isHidden","toggleHeaderRow","ToggleHeaderRow","deleteTable","DeleteTable","alignmentIcons","center","right","TableActionMenu","isAlignmentOpen","setIsAlignmentOpen","_editor$view$domAtPos","DOMRect","nodeType","shouldShow","isFocused","BubbleMenu","tippyOptions","offset","popperOptions","modifiers","plugins","sticky","_action$items","Popover","open","onOpenChange","PopoverTrigger","asChild","PopoverContent","side","onOpenAutoFocus","IconComponent","flushSync","KbArticleDeletedModal","isOpen","Dialog","Header","Title","Body","Footer","KbArticleEdit","linkAttributes","getCurrentTextContent","getCurrentArticleOption","handleKbArticleSubmit","isLoadingKbData","setIsEditing","initialValues","pageSelection","Form","formikProps","enableReinitialize","dirty","isSubmitting","setFieldValue","values","required","unlimitedChars","loading","KbArticleView","onEdit","onDeletedClick","currentText","BookOpen","Pencil","LinkPopOver","_containerRef$current","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","currentLinkAttributes","currentArticleOption","_ref9$from","_ref9$to","renderEditingMode","validationSchema","LINK_VALIDATION_SCHEMA","checked","onCheckedChange","renderEditingModeForKbArticle","renderViewModeForKbArticle","renderViewMode","renderPopoverContent","Editor","_wrapperRef$current","_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","debouncedOnChangeHandler","useFuncDebounce","handleBlur","trimmedContent","removeEmptyTags","useEditorWarnings","editorClasses","LARGE","MEDIUM","ariaAttributes","useEditor","injectCSS","immediatelyRender","shouldRerenderOnTransaction","autofocus","editorProps","getEditorStyles","clipboardTextParser","transformPastedHTML","parseOptions","preserveWhitespace","setInitialPosition","useEditorState","selector","useDeletedArticles","useImperativeHandle","_editor$commands$focu","EditorView","docView","updateStateInner","Label","slugify","isIndependant","MenuDynamicVariables","standalone","EditorContent","MediaUploader","Attachments","dragDropRef","isIndependent","setIsUploading","LinkAddPopOver","displayName"],"mappings":"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"}
|