fix(deps): update superdoc#49
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.11.0-next.19→0.12.0-next.11.10.0-next.19→1.11.0-next.11.34.0-next.18→1.35.0-next.1Release Notes
superdoc-dev/superdoc (superdoc)
v1.35.0-next.1Compare Source
Bug Fixes
Features
v1.34.0Compare Source
What's New
Content Controls as first-class viewport entities — Hit-test and retrieve rendered rects for SDTs without DOM attribute scraping. Enables custom UI overlays and smart field chips without duplicating position logic.
ContentControls handle with React hook — Read-only programmatic access to the active set, cached list, and individual control info. Mirrors the existing comments and tracked-changes surfaces.
Metadata API for anchored payloads — Document API operations on bookmarks, comments, tracked changes, and content controls now support anchored metadata:
attach,remove,updatewith revision safety and dry-run preview.Custom XML parts CRUD — Create, patch, remove, and list custom XML data storage parts through the Document API. Full OOXML package coordination with proper rels, properties, and content-type management. (Phase A; dry-run support tracked separately.)
RTL table support — Paragraph direction toolbar buttons (headless API). Visual direction context for tables with proper border/margin mirroring per ECMA-376. Logical cell-margin start/end mapping to physical padding.
TOC toolbar item — Add, update, and manage tables of contents from the editor UI. Respects schema constraints; sanitizes nested marks on rebuild.
Format painter UX improvements — Toolbar behavior now matches Microsoft Word: one-time mode by default, click state resets on use.
Large image upload in headers/footers — Image replacement and resizing now work in header/footer contexts, matching body editing capabilities.
Improvements
Metadata API error distinction preserved —
metadata.attachnow correctly surfacesTARGET_NOT_FOUNDfor missing nodes andINVALID_TARGETfor malformed shapes, instead of collapsing both toINVALID_TARGET. Clients that branch on error code for retry logic now get the right signal.Paragraph direction resolution per ECMA-376 — Paragraph inline direction now comes from the paragraph's own
w:bidiproperty (or style cascade), not section bidi or run-count heuristics. Latin paragraphs in RTL sections now render left-aligned, matching Word.Table cell margins round-trip faithful — Logical
w:start/w:endattributes on cell margins now import and export correctly. Cell-level exceptions now properly override table-level defaults instead of silently dropping.Theme fonts preserved on round-trip — Documents with
w:*ThemerFont slots (per-script theme references) now round-trip without losing the theme linkage to font resolution. User font overrides correctly drop theme refs.Hyperlink marks survive tracked-change field splits — Inserted hyperlinks that cross paragraph boundaries now export and re-import with the mark intact, instead of losing the link on the split portion.
EMF+ and raw-pixel image rendering — Embedded PNG/JPEG inside EMF+ payloads now render (extraction from GDI+ records). Raw-pixel EMF+ bitmaps decode and render as PNG with proper alpha handling.
SVG image MIME types corrected — Imported SVG images now export with correct content type instead of generic binary type.
Search match visibility improved — Matches now stay visible over source document highlight marks (run-level color) via
!importantCSS override. Find-and-navigation focus behavior corrected to keep focus on search input through repeated Enter/Shift+Enter.Comments and tracked changes round-trip together — Comments anchored to tracked changes now resolve cascading when accepting/rejecting the TC, and properly thread as replies under the TC bubble on re-import (regardless of file origin).
Numbered list definitions preserved — Documents with tentative numbering (definitions not yet applied) now preserve those unused definitions on export instead of stripping them. Active numbering stays unchanged.
Type safety hardened —
EditorTransactionEvent.transactionnow typed asTransactioninstead ofany.Config.onAwarenessUpdate.statesnow properly typed asAwarenessState[]. Deep type audit strengthened via consumer matrix and package-shape verification.Default paragraph properties no longer injected —
w:bCs,w:iCs, and explicithighlight=noneare no longer auto-generated on round-trip when absent from source, reducing export size and eliminating false-positive "intentional" toggles.Paragraph margin twips normalized on export — Float-valued
w:pgMarattributes (inherited from upstream pipelines) now export as integer twips per ECMA-376 §17.6.11, satisfying strict consumers.Explicit inline bidi preserved —
w:bidiVisual w:val="0"(explicit false for table visual direction) now exports correctly instead of being conflated with absent bidi, restoring the cascade-override semantics.RTL date rendering matches Word — RTL date tokens now render with the same visual order Word produces (via per-run
dirisolation and Unicode RLM markers around separators).Content control defaults standardized — Newly created controls now default to
richTexttype with explicitw:richTextin SDTPR (matching Word) instead of the untypedunknown. Imported typeless Word controls properly resolve torichTextper ECMA-376 §17.5.2.26.Content control mutations respect locking — Programmatic updates to locked SDTs now use
AttrStepsand inner-range writes instead of wrapper replacement, bypassing lock filters. Operations liketext.setValueandreplaceContentnow succeed onsdtLockedcontrols as the spec permits.Paragraph indentation respects style cascade — Increase/Decrease Indent now correctly read style-derived indent on cache miss instead of crashing before initial render.
Fixes
Slash menu dismissal restored — Context menu now closes correctly on Backspace/Delete/Escape/ArrowLeft with proper slash reinsertion logic (slash-triggered opens only). Pressing
/immediately after dismissal no longer inserts a literal slash. Menu headers and empty states now visible during filter.Toolbar dropdown keyboard focus — Dropdown can reopen via Enter after Escape restores focus to the trigger button. Split buttons unaffected.
Block SDT deletion — Delete key now removes block-level content controls when cursor is at the first position (matching Backspace behavior).
Mixed-bidi Backspace — Backspace at mixed-direction boundaries now routes through the canonical command chain instead of bypassing undo grouping, history boundaries, and tracked-change wrapping setup.
Hebrew/Arabic presentation forms recognized — Strong-RTL character detection now includes Hebrew and Arabic presentation-form blocks (FB1D-FB4F, FB50-FDFF, FE70-FEFF), fixing mixed-bidi-backspace boundary detection for runs using legacy fonts.
Native caret refinement gated — Browser native-selection caret fallback now only applies to the local user's caret, not arbitrary positions queried by remote-cursor manager or arrow-nav binary search.
Revision safety on metadata dry-run —
metadata.attachandmetadata.removenow checkexpectedRevisionbefore returning early ondryRun: true, catching stale revisions instead of falsely reporting success.Copy-slice metadata hidden — Slice metadata on copied content no longer surfaces in pasted result.
Hidden inline SDT visibility —
w15:appearance="hidden"SDTs now truly transparent: chrome suppressed, alias label omitted from DOM, text excluded from copy-paste and screen readers.SDT temporary property imported —
w:temporaryflag now imports and surfaces throughContentControlProperties.temporary(previously always undefined even when source XML said true).Find input focus restored — Pressing Enter in search input now re-focuses the input after navigation, allowing repeated Enter/Shift+Enter to advance through matches without focus stealing to the editor.
Cross-page search scroll stabilized — Match navigation now scrolls matches into view reliably by preventing focus-steal scroll conflicts, consuming selection-update flags, and re-asserting scroll position on the next frame to catch late displacement.
Section direction doesn't cascade to paragraphs — Body
w:bidion headers/footers no longer incorrectly applied to contained paragraphs (ECMA-376 §17.6.1 compliance).Comment position readback aligned with write model —
editor.doc.bookmarks.list()now returns offsets matching the write-side flattened model instead of counting inline wrapper tokens, eliminating drift.Duplicate Comment-TC anchor resolve — Accepting/rejecting a tracked change no longer incorrectly resolves unrelated comments in multi-document sessions (scoped by document ID).
Comment highlight specificity restored — Comment inline background-color no longer clobbered by lock-hover styles in viewing mode, and hidden inline SDTs excluded from lock-hover styling.
Paragraph font preservation — Runs imported with multiple theme slots (e.g., ascii/hAnsi/cs themed) now survive user font overrides correctly (primary slot comparison only, per-script extras ignored as non-intent signal).
Paragraph link round-trip —
w:commentRangeStartnow folds into tracked-change wrapper as first child instead of sitting as sibling, preserving TC-comment linkage on re-import. Replies under TC bubbles now thread correctly on re-import regardless of file origin.Custom XML schemaRefs distinction — Omitted vs. empty distinction for
<schemaRefs>element now preserved on round-trip (ECMA-376 §22.5.2.3): omitted means "app infers," empty means "no schemas," populated means "use these."Package declaration emit honest — Release pipeline now gates stable releases with same package-shape and deep-type-audit checks as @next, preventing unverified publishes on latest tag.
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.