@tiptap/core
Patch Changes
-
711c2e3: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate
When the
Imageextension was configured withinline: trueorresizeenabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populatedataTransfer.files, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run. -
711c2e3: Add
clearablemark option (defaulttrue).unsetAllMarksnow skips marks withclearable: false, so semantic marks like comments are not removed by "clear formatting". -
711c2e3: Add
attrsEqualandmarksEqualutility functions to@tiptap/core.attrsEqualcompares two attribute objects for equality regardless of key ordering.marksEqualcompares two arrays of mark objects by type and attributes usingattrsEqual. -
711c2e3: Fix plain-text copy of table cell selections including content from unselected cells in between. Each selected range is now serialized independently and joined in document order, so dragging upward (reverse selection) also produces output in document order.
-
Updated dependencies [711c2e3]
- @tiptap/pm@3.25.0
@tiptap/extension-file-handler
Patch Changes
-
711c2e3: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate
When the
Imageextension was configured withinline: trueorresizeenabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populatedataTransfer.files, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run. -
Updated dependencies [711c2e3]
-
Updated dependencies [711c2e3]
-
Updated dependencies [711c2e3]
-
Updated dependencies [711c2e3]
-
Updated dependencies [711c2e3]
- @tiptap/core@3.25.0
- @tiptap/pm@3.25.0
- @tiptap/extension-text-style@3.25.0
@tiptap/extension-image
Patch Changes
-
711c2e3: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate
When the
Imageextension was configured withinline: trueorresizeenabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populatedataTransfer.files, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run. -
711c2e3: Fix
HTMLAttributesnot being applied to the editor DOM whenresizeis enabled. TheaddNodeViewpath was using only the resolved node attributes and skipping the user-configuredHTMLAttributesoption. Now it merges them consistently with howrenderHTMLalready works. -
Updated dependencies [711c2e3]
-
Updated dependencies [711c2e3]
-
Updated dependencies [711c2e3]
-
Updated dependencies [711c2e3]
- @tiptap/core@3.25.0
@tiptap/extension-list
Minor Changes
- 711c2e3:
ListKeymap's Backspace handler now lifts the current list item before merging. At the start of a non-first list item, the item is lifted out of its wrapping list (splitting the list around it) instead of immediately joining its content into the previous item. A second Backspace then hits the existing "paragraph after a list" branch and merges the lifted textblock's content into the previous list's last item. Mirrors the two-step behavior introduced for blockquote in #7891.
Patch Changes
- 711c2e3: Fix delete at the end of a list item with a branching nested sublist. Nested items are hoisted to the parent list instead of being node-selected and deleted on the next keypress.
- Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- @tiptap/core@3.25.0
- @tiptap/pm@3.25.0
@tiptap/extensions
Minor Changes
- 711c2e3: Allow
emptyNodeClassin the Placeholder extension to accept a function that returns a dynamic CSS class name per node
Patch Changes
- Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- @tiptap/core@3.25.0
- @tiptap/pm@3.25.0
@tiptap/static-renderer
Patch Changes
- 711c2e3: Fix blockquote markdown rendering to add a trailing newline so subsequent content is not incorrectly included in the blockquote
- 711c2e3: Fix the types of the JSON static renderers (
renderJSONContentToReactElementandrenderJSONContentToString): you can now passJSONContentdirectly and read node fields likenode.textin your mappings without type errors or casts. - Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- @tiptap/core@3.25.0
- @tiptap/pm@3.25.0
@tiptap/extension-table
Patch Changes
- 711c2e3: Fix
HTMLAttributesnot being applied to the<table>element whenresizableis disabled (the default). TheTableViewnode view (introduced in 3.23) bypassedrenderHTMLand never applied user-configured attributes likeclassordata-*to the rendered table element. - Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- @tiptap/core@3.25.0
- @tiptap/pm@3.25.0
@tiptap/pm
Patch Changes
- 711c2e3: Bump
prosemirror-tablesto^1.8.0sofindTableis available from@tiptap/pm, and align the related ProseMirror dependencies with the versions required byprosemirror-tables.
@tiptap/extension-unique-id
Patch Changes
- 711c2e3: Fix memory leak when destroying an editor before the collaboration provider syncs. The
syncedlistener registered inonCreatewas only removed once the event fired, so destroying the editor first left thecreateIdsclosure (and the whole editor it captures) referenced by the shared provider. The listener is now also detached on destroy, so the editor can be garbage collected. - Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- @tiptap/core@3.25.0
- @tiptap/pm@3.25.0
@tiptap/extension-code
Patch Changes
- 711c2e3: Fixed a bug where typing a character before an inline code markdown shortcut (e.g.
afollowed by backtick-delimited code) would delete the preceding character. The preceding character is now preserved. - Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- @tiptap/core@3.25.0
@tiptap/extension-collaboration-caret
Patch Changes
- 711c2e3: Fix crash when awareness state value is null or undefined (e.g. after a client disconnects)
- Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- @tiptap/core@3.25.0
- @tiptap/pm@3.25.0
@tiptap/extension-collaboration
Patch Changes
- 711c2e3: Fixed
onContentErrornot being triggered when invalid collaborative content is detected. ThefilterTransactionhook now allows the transaction through to keep ProseMirror state in sync with Yjs, ensuring thecontentErrorevent fires correctly. - Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- @tiptap/core@3.25.0
- @tiptap/pm@3.25.0
@tiptap/markdown
Patch Changes
- 711c2e3: Fix backslash-escape handling in the Markdown parser and serializer. Parsing a backslash-escaped markdown character (e.g.
\*,\_,\\) now correctly produces a literal text node, instead of silently dropping the character. On serialization, characters that have special meaning in markdown inline syntax (*,_,`,[,],\,~) are now backslash-escaped in non-code text nodes to prevent them from being misinterpreted as formatting delimiters when the output is parsed again. - Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- @tiptap/core@3.25.0
- @tiptap/pm@3.25.0
@tiptap/vue-3
Patch Changes
- 711c2e3: Fix
VueNodeViewRendererthrashing the DOM whencontentDOMis null for non-leaf nodes. The renderer now always creates a contentDOM element for non-leaf nodes (matching React's behavior), so ProseMirror has a valid element to render children into even when the NodeView component does not includeNodeViewContentor renders it conditionally. - Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- @tiptap/core@3.25.0
- @tiptap/pm@3.25.0
@tiptap/vue-2
Patch Changes
- 711c2e3: Fix
VueNodeViewRendererthrashing the DOM whencontentDOMis null for non-leaf nodes. The renderer now always creates a contentDOM element for non-leaf nodes (matching React's behavior), so ProseMirror has a valid element to render children into even when the NodeView component does not includeNodeViewContentor renders it conditionally. - Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- Updated dependencies [711c2e3]
- @tiptap/core@3.25.0
- @tiptap/pm@3.25.0