diff --git a/packages/super-editor/src/extensions/comment/comments-plugin.js b/packages/super-editor/src/extensions/comment/comments-plugin.js index fa48409d50..6eada6eed2 100644 --- a/packages/super-editor/src/extensions/comment/comments-plugin.js +++ b/packages/super-editor/src/extensions/comment/comments-plugin.js @@ -118,6 +118,8 @@ export const CommentsPlugin = Extension.create({ let shouldUpdate; let activeThreadId; + if (editor.options.isHeadless) return []; + const commentsPlugin = new Plugin({ key: CommentsPluginKey, diff --git a/packages/super-editor/src/extensions/index.js b/packages/super-editor/src/extensions/index.js index 2e494114c7..8622beba37 100644 --- a/packages/super-editor/src/extensions/index.js +++ b/packages/super-editor/src/extensions/index.js @@ -55,23 +55,43 @@ import { LinkedStyles } from './linked-styles/linked-styles.js'; // Helpers import { trackChangesHelpers } from './track-changes/index.js'; -const getRichTextExtensions = () => [ - Bold, - Color, - Document, - History, - Italic, - Link, - Paragraph, - Strike, - Text, - TextStyle, - Underline, - Placeholder, - PopoverPlugin, - Mention, - Highlight, -]; +const getRichTextExtensions = () => { + return [ + Bold, + Color, + Document, + FontFamily, + FontSize, + History, + Heading, + Italic, + LineHeight, + Link, + Paragraph, + LineBreak, + HardBreak, + Strike, + Text, + TextAlign, + TextIndent, + TextStyle, + Underline, + Placeholder, + PopoverPlugin, + Mention, + Highlight, + FormatCommands, + Table, + TableRow, + TableCell, + TableHeader, + FieldAnnotation, + DropCursor, + TrackInsert, + TrackDelete, + TrackFormat, + ]; +}; const getStarterExtensions = () => { return [ diff --git a/packages/super-editor/src/extensions/paragraph/paragraph.js b/packages/super-editor/src/extensions/paragraph/paragraph.js index af0735ffad..d0923e5883 100644 --- a/packages/super-editor/src/extensions/paragraph/paragraph.js +++ b/packages/super-editor/src/extensions/paragraph/paragraph.js @@ -49,6 +49,17 @@ export const Paragraph = Node.create({ }, filename: { rendered: false }, rsidRDefault: { rendered: false }, + + // Experimental + isEditable: { + renderDOM: ({ isEditable }) => { + let style = ''; + if (isEditable === false) { + style = 'opacity: 0.5; cursor: default; pointer-events: none; user-select: none;'; + } + return { style, contenteditable: isEditable === false ? false : true }; + }, + } }; }, diff --git a/packages/super-editor/src/tests/export/export-helpers/export-helpers.js b/packages/super-editor/src/tests/export/export-helpers/export-helpers.js index cddb4f19fd..2c5c17ad3d 100644 --- a/packages/super-editor/src/tests/export/export-helpers/export-helpers.js +++ b/packages/super-editor/src/tests/export/export-helpers/export-helpers.js @@ -59,6 +59,7 @@ export const getExportedResult = async (name, comments = []) => { extensions: getStarterExtensions(), documentId: 'test-doc', content: docx, + mode: 'docx', media, mediaFiles, fonts,