superdoc 2.2.1 → 2.3.0
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/AGENTS.md +337 -0
- package/LICENSE +661 -0
- package/NOTICE +8 -0
- package/README.md +107 -0
- package/dist/chunks/FindReplaceSurface-BEW-1NhM.es.js +344 -0
- package/dist/chunks/FindReplaceSurface-DLxnCQOB.cjs +346 -0
- package/dist/chunks/PasswordPromptSurface-BA6HHqEa.es.js +111 -0
- package/dist/chunks/PasswordPromptSurface-DMbfDvpQ.cjs +113 -0
- package/dist/chunks/PdfViewer-CNOtyS-I.es.js +531 -0
- package/dist/chunks/PdfViewer-CoFiGAhm.cjs +535 -0
- package/dist/chunks/_plugin-vue_export-helper-BTwbGDKw.cjs +11 -0
- package/dist/chunks/_plugin-vue_export-helper-CInC0bKI.es.js +6 -0
- package/dist/chunks/blank-docx-CJAXnJKp.es.js +2 -0
- package/dist/chunks/blank-docx-DA-G-3VB.cjs +7 -0
- package/dist/chunks/constants-CY3R3_kF.es.js +3 -0
- package/dist/chunks/constants-sbCZ2O_A.cjs +14 -0
- package/dist/chunks/create-super-doc-ui-CXCqHc2m.cjs +9451 -0
- package/dist/chunks/create-super-doc-ui-fxF2Q8Ib.es.js +9188 -0
- package/dist/chunks/eventemitter3-B60Fsz-a.es.js +131 -0
- package/dist/chunks/eventemitter3-DCfwFVNn.cjs +137 -0
- package/dist/chunks/jszip-BdUBlUeG.cjs +4679 -0
- package/dist/chunks/jszip-DzmwAHr3.es.js +4650 -0
- package/dist/chunks/rolldown-runtime-BJVcqBbz.es.js +43 -0
- package/dist/chunks/rolldown-runtime-_dR15c8t.cjs +68 -0
- package/dist/chunks/uuid-B2Sqk-3p.es.js +32 -0
- package/dist/chunks/uuid-CFp0WGVU.cjs +38 -0
- package/dist/collaboration-upgrade-engine.cjs +37 -0
- package/dist/collaboration-upgrade-engine.es.js +30 -0
- package/dist/document-api/src/authorities/authorities.d.ts +29 -0
- package/dist/document-api/src/authorities/authorities.types.d.ts +113 -0
- package/dist/document-api/src/blocks/blocks.d.ts +29 -0
- package/dist/document-api/src/bookmarks/bookmarks.d.ts +15 -0
- package/dist/document-api/src/bookmarks/bookmarks.types.d.ts +82 -0
- package/dist/document-api/src/capabilities/capabilities.d.ts +82 -0
- package/dist/document-api/src/captions/captions.d.ts +17 -0
- package/dist/document-api/src/captions/captions.types.d.ts +61 -0
- package/dist/document-api/src/citations/citations.d.ts +39 -0
- package/dist/document-api/src/citations/citations.types.d.ts +151 -0
- package/dist/document-api/src/clear-content/clear-content.d.ts +25 -0
- package/dist/document-api/src/clipboard/clipboard.d.ts +11 -0
- package/dist/document-api/src/comments/comments.d.ts +222 -0
- package/dist/document-api/src/comments/comments.types.d.ts +227 -0
- package/dist/document-api/src/content-controls/content-controls.d.ts +136 -0
- package/dist/document-api/src/content-controls/content-controls.types.d.ts +453 -0
- package/dist/document-api/src/contract/command-catalog.d.ts +17 -0
- package/dist/document-api/src/contract/index.d.ts +9 -0
- package/dist/document-api/src/contract/metadata-types.d.ts +30 -0
- package/dist/document-api/src/contract/operation-definitions.d.ts +3645 -0
- package/dist/document-api/src/contract/operation-map.d.ts +5 -0
- package/dist/document-api/src/contract/operation-registry.d.ts +2002 -0
- package/dist/document-api/src/contract/reference-aliases.d.ts +19 -0
- package/dist/document-api/src/contract/reference-doc-map.d.ts +12 -0
- package/dist/document-api/src/contract/schemas.d.ts +35 -0
- package/dist/document-api/src/contract/step-op-catalog.d.ts +26 -0
- package/dist/document-api/src/contract/types.d.ts +31 -0
- package/dist/document-api/src/create/create.d.ts +27 -0
- package/dist/document-api/src/cross-refs/cross-refs.d.ts +15 -0
- package/dist/document-api/src/cross-refs/cross-refs.types.d.ts +68 -0
- package/dist/document-api/src/customXml/customXml.d.ts +19 -0
- package/dist/document-api/src/customXml/customXml.types.d.ts +148 -0
- package/dist/document-api/src/delete/delete.d.ts +20 -0
- package/dist/document-api/src/diff/diff.d.ts +14 -0
- package/dist/document-api/src/diff/diff.types.d.ts +83 -0
- package/dist/document-api/src/diff/index.d.ts +3 -0
- package/dist/document-api/src/errors.d.ts +11 -0
- package/dist/document-api/src/export/export.d.ts +10 -0
- package/dist/document-api/src/export/export.types.d.ts +40 -0
- package/dist/document-api/src/extract/extract.d.ts +15 -0
- package/dist/document-api/src/fields/fields.d.ts +15 -0
- package/dist/document-api/src/fields/fields.types.d.ts +90 -0
- package/dist/document-api/src/find/find.d.ts +52 -0
- package/dist/document-api/src/footnotes/footnotes.d.ts +17 -0
- package/dist/document-api/src/footnotes/footnotes.types.d.ts +104 -0
- package/dist/document-api/src/format/format.d.ts +92 -0
- package/dist/document-api/src/format/inline-run-patch.d.ts +138 -0
- package/dist/document-api/src/get/get.d.ts +19 -0
- package/dist/document-api/src/get-html/get-html.d.ts +27 -0
- package/dist/document-api/src/get-markdown/get-markdown.d.ts +22 -0
- package/dist/document-api/src/get-node/get-node.d.ts +46 -0
- package/dist/document-api/src/get-text/get-text.d.ts +22 -0
- package/dist/document-api/src/header-footers/header-footers.d.ts +37 -0
- package/dist/document-api/src/header-footers/header-footers.types.d.ts +116 -0
- package/dist/document-api/src/history/history.d.ts +38 -0
- package/dist/document-api/src/history/history.types.d.ts +100 -0
- package/dist/document-api/src/hyperlinks/hyperlinks.d.ts +17 -0
- package/dist/document-api/src/hyperlinks/hyperlinks.types.d.ts +112 -0
- package/dist/document-api/src/images/images.d.ts +63 -0
- package/dist/document-api/src/images/images.types.d.ts +209 -0
- package/dist/document-api/src/images/z-order.d.ts +10 -0
- package/dist/document-api/src/index/index.d.ts +29 -0
- package/dist/document-api/src/index/index.types.d.ts +125 -0
- package/dist/document-api/src/index.d.ts +560 -0
- package/dist/document-api/src/info/info.d.ts +19 -0
- package/dist/document-api/src/inline-semantics/directives.d.ts +95 -0
- package/dist/document-api/src/inline-semantics/error-types.d.ts +68 -0
- package/dist/document-api/src/inline-semantics/index.d.ts +20 -0
- package/dist/document-api/src/inline-semantics/property-ids.d.ts +24 -0
- package/dist/document-api/src/inline-semantics/token-parsers.d.ts +59 -0
- package/dist/document-api/src/inline-semantics/token-sets.d.ts +34 -0
- package/dist/document-api/src/insert/insert.d.ts +65 -0
- package/dist/document-api/src/invoke/invoke.d.ts +17 -0
- package/dist/document-api/src/lists/lists.d.ts +100 -0
- package/dist/document-api/src/lists/lists.types.d.ts +499 -0
- package/dist/document-api/src/markdown-to-fragment/markdown-to-fragment.d.ts +15 -0
- package/dist/document-api/src/metadata/anchored-metadata.d.ts +33 -0
- package/dist/document-api/src/metadata/anchored-metadata.types.d.ts +175 -0
- package/dist/document-api/src/paragraphs/paragraphs.d.ts +84 -0
- package/dist/document-api/src/paragraphs/paragraphs.types.d.ts +214 -0
- package/dist/document-api/src/permission-ranges/permission-ranges.d.ts +15 -0
- package/dist/document-api/src/permission-ranges/permission-ranges.types.d.ts +49 -0
- package/dist/document-api/src/plan/plan.d.ts +73 -0
- package/dist/document-api/src/protection/protection.d.ts +11 -0
- package/dist/document-api/src/protection/protection.types.d.ts +47 -0
- package/dist/document-api/src/ranges/index.d.ts +2 -0
- package/dist/document-api/src/ranges/ranges.types.d.ts +121 -0
- package/dist/document-api/src/ranges/resolve.d.ts +2 -0
- package/dist/document-api/src/receipt-bridge.d.ts +30 -0
- package/dist/document-api/src/replace/replace.d.ts +24 -0
- package/dist/document-api/src/sections/sections.d.ts +42 -0
- package/dist/document-api/src/sections/sections.types.d.ts +236 -0
- package/dist/document-api/src/selection/selection.d.ts +23 -0
- package/dist/document-api/src/selection/selection.types.d.ts +85 -0
- package/dist/document-api/src/selection-mutation.d.ts +46 -0
- package/dist/document-api/src/styles/apply.d.ts +142 -0
- package/dist/document-api/src/styles/catalog.d.ts +154 -0
- package/dist/document-api/src/styles/index.d.ts +14 -0
- package/dist/document-api/src/styles/registry.d.ts +43 -0
- package/dist/document-api/src/styles/schema.d.ts +9 -0
- package/dist/document-api/src/styles/validation.d.ts +38 -0
- package/dist/document-api/src/tables/color-formats.d.ts +12 -0
- package/dist/document-api/src/tables/tables.d.ts +83 -0
- package/dist/document-api/src/templates/apply.d.ts +160 -0
- package/dist/document-api/src/templates/index.d.ts +7 -0
- package/dist/document-api/src/toc/toc.d.ts +25 -0
- package/dist/document-api/src/toc/toc.types.d.ts +247 -0
- package/dist/document-api/src/track-changes/track-changes.d.ts +177 -0
- package/dist/document-api/src/types/adapter-result.d.ts +10 -0
- package/dist/document-api/src/types/address.d.ts +169 -0
- package/dist/document-api/src/types/base.d.ts +89 -0
- package/dist/document-api/src/types/blocks.types.d.ts +190 -0
- package/dist/document-api/src/types/clipboard.d.ts +216 -0
- package/dist/document-api/src/types/comments.types.d.ts +17 -0
- package/dist/document-api/src/types/create.types.d.ts +56 -0
- package/dist/document-api/src/types/discovery.d.ts +99 -0
- package/dist/document-api/src/types/extract.types.d.ts +163 -0
- package/dist/document-api/src/types/fragment.d.ts +29 -0
- package/dist/document-api/src/types/index.d.ts +30 -0
- package/dist/document-api/src/types/info.types.d.ts +109 -0
- package/dist/document-api/src/types/inline.types.d.ts +28 -0
- package/dist/document-api/src/types/media.types.d.ts +72 -0
- package/dist/document-api/src/types/mutation-plan.types.d.ts +264 -0
- package/dist/document-api/src/types/node.d.ts +9 -0
- package/dist/document-api/src/types/paragraph.types.d.ts +61 -0
- package/dist/document-api/src/types/placement.d.ts +24 -0
- package/dist/document-api/src/types/query-match.types.d.ts +212 -0
- package/dist/document-api/src/types/query.d.ts +133 -0
- package/dist/document-api/src/types/receipt.d.ts +191 -0
- package/dist/document-api/src/types/references.types.d.ts +9 -0
- package/dist/document-api/src/types/sd-contract.d.ts +54 -0
- package/dist/document-api/src/types/sd-envelope.d.ts +59 -0
- package/dist/document-api/src/types/sd-nodes.d.ts +375 -0
- package/dist/document-api/src/types/sd-objects.d.ts +144 -0
- package/dist/document-api/src/types/sd-props.d.ts +240 -0
- package/dist/document-api/src/types/sd-sections.d.ts +126 -0
- package/dist/document-api/src/types/sd-styles.d.ts +36 -0
- package/dist/document-api/src/types/step-manifest.types.d.ts +30 -0
- package/dist/document-api/src/types/story.types.d.ts +123 -0
- package/dist/document-api/src/types/structural-input.d.ts +40 -0
- package/dist/document-api/src/types/structured.types.d.ts +21 -0
- package/dist/document-api/src/types/style-policy.types.d.ts +49 -0
- package/dist/document-api/src/types/table-operations.types.d.ts +618 -0
- package/dist/document-api/src/types/tables.types.d.ts +43 -0
- package/dist/document-api/src/types/toc.types.d.ts +1 -0
- package/dist/document-api/src/types/track-changes.types.d.ts +703 -0
- package/dist/document-api/src/validation/create-location-validator.d.ts +2 -0
- package/dist/document-api/src/validation/fragment-validator.d.ts +13 -0
- package/dist/document-api/src/validation/selection-target-validator.d.ts +7 -0
- package/dist/document-api/src/validation/story-validator.d.ts +12 -0
- package/dist/document-api/src/validation-primitives.d.ts +29 -0
- package/dist/document-api/src/write/locator.d.ts +24 -0
- package/dist/document-api/src/write/write.d.ts +73 -0
- package/dist/images/altText_add.svg +3 -0
- package/dist/images/altText_disclaimer.svg +3 -0
- package/dist/images/altText_done.svg +3 -0
- package/dist/images/altText_spinner.svg +30 -0
- package/dist/images/altText_warning.svg +3 -0
- package/dist/images/annotation-check.svg +11 -0
- package/dist/images/annotation-comment.svg +16 -0
- package/dist/images/annotation-help.svg +26 -0
- package/dist/images/annotation-insert.svg +10 -0
- package/dist/images/annotation-key.svg +11 -0
- package/dist/images/annotation-newparagraph.svg +11 -0
- package/dist/images/annotation-noicon.svg +7 -0
- package/dist/images/annotation-note.svg +42 -0
- package/dist/images/annotation-paperclip.svg +6 -0
- package/dist/images/annotation-paragraph.svg +16 -0
- package/dist/images/annotation-pushpin.svg +7 -0
- package/dist/images/checkmark.svg +5 -0
- package/dist/images/comment-actionsButton.svg +3 -0
- package/dist/images/comment-closeButton.svg +3 -0
- package/dist/images/comment-editButton.svg +8 -0
- package/dist/images/comment-popup-editButton.svg +5 -0
- package/dist/images/cursor-editorFreeHighlight.svg +6 -0
- package/dist/images/cursor-editorFreeText.svg +3 -0
- package/dist/images/cursor-editorInk.svg +4 -0
- package/dist/images/cursor-editorTextHighlight.svg +8 -0
- package/dist/images/editor-toolbar-delete.svg +5 -0
- package/dist/images/editor-toolbar-edit.svg +3 -0
- package/dist/images/findbarButton-next.svg +3 -0
- package/dist/images/findbarButton-previous.svg +3 -0
- package/dist/images/gv-toolbarButton-download.svg +3 -0
- package/dist/images/loading-icon.gif +0 -0
- package/dist/images/loading.svg +1 -0
- package/dist/images/messageBar_closingButton.svg +3 -0
- package/dist/images/messageBar_info.svg +3 -0
- package/dist/images/messageBar_warning.svg +3 -0
- package/dist/images/pages_closeButton.svg +3 -0
- package/dist/images/pages_selected.svg +7 -0
- package/dist/images/pages_viewArrow.svg +3 -0
- package/dist/images/pages_viewButton.svg +3 -0
- package/dist/images/secondaryToolbarButton-documentProperties.svg +3 -0
- package/dist/images/secondaryToolbarButton-firstPage.svg +3 -0
- package/dist/images/secondaryToolbarButton-handTool.svg +3 -0
- package/dist/images/secondaryToolbarButton-lastPage.svg +3 -0
- package/dist/images/secondaryToolbarButton-rotateCcw.svg +3 -0
- package/dist/images/secondaryToolbarButton-rotateCw.svg +3 -0
- package/dist/images/secondaryToolbarButton-scrollHorizontal.svg +3 -0
- package/dist/images/secondaryToolbarButton-scrollPage.svg +3 -0
- package/dist/images/secondaryToolbarButton-scrollVertical.svg +3 -0
- package/dist/images/secondaryToolbarButton-scrollWrapped.svg +3 -0
- package/dist/images/secondaryToolbarButton-selectTool.svg +3 -0
- package/dist/images/secondaryToolbarButton-spreadEven.svg +3 -0
- package/dist/images/secondaryToolbarButton-spreadNone.svg +3 -0
- package/dist/images/secondaryToolbarButton-spreadOdd.svg +3 -0
- package/dist/images/toolbarButton-bookmark.svg +3 -0
- package/dist/images/toolbarButton-currentOutlineItem.svg +3 -0
- package/dist/images/toolbarButton-download.svg +4 -0
- package/dist/images/toolbarButton-editorFreeText.svg +5 -0
- package/dist/images/toolbarButton-editorHighlight.svg +6 -0
- package/dist/images/toolbarButton-editorInk.svg +4 -0
- package/dist/images/toolbarButton-editorSignature.svg +6 -0
- package/dist/images/toolbarButton-editorStamp.svg +8 -0
- package/dist/images/toolbarButton-menuArrow.svg +3 -0
- package/dist/images/toolbarButton-openFile.svg +3 -0
- package/dist/images/toolbarButton-pageDown.svg +3 -0
- package/dist/images/toolbarButton-pageUp.svg +3 -0
- package/dist/images/toolbarButton-presentationMode.svg +3 -0
- package/dist/images/toolbarButton-print.svg +3 -0
- package/dist/images/toolbarButton-search.svg +3 -0
- package/dist/images/toolbarButton-secondaryToolbarToggle.svg +3 -0
- package/dist/images/toolbarButton-viewAttachments.svg +3 -0
- package/dist/images/toolbarButton-viewLayers.svg +3 -0
- package/dist/images/toolbarButton-viewOutline.svg +3 -0
- package/dist/images/toolbarButton-viewThumbnail.svg +3 -0
- package/dist/images/toolbarButton-viewsManagerToggle.svg +3 -0
- package/dist/images/toolbarButton-zoomIn.svg +3 -0
- package/dist/images/toolbarButton-zoomOut.svg +3 -0
- package/dist/images/treeitem-collapsed.svg +1 -0
- package/dist/images/treeitem-expanded.svg +1 -0
- package/dist/layout-engine/contracts/src/author-colors.d.ts +56 -0
- package/dist/layout-engine/contracts/src/cell-spacing.d.ts +12 -0
- package/dist/layout-engine/contracts/src/clip-path-inset.d.ts +27 -0
- package/dist/layout-engine/contracts/src/column-layout.d.ts +79 -0
- package/dist/layout-engine/contracts/src/direction-context.d.ts +219 -0
- package/dist/layout-engine/contracts/src/drawing-taxonomy.d.ts +126 -0
- package/dist/layout-engine/contracts/src/engines/image-wrap.d.ts +54 -0
- package/dist/layout-engine/contracts/src/engines/index.d.ts +17 -0
- package/dist/layout-engine/contracts/src/engines/lists.d.ts +57 -0
- package/dist/layout-engine/contracts/src/engines/paragraph.d.ts +59 -0
- package/dist/layout-engine/contracts/src/engines/tables.d.ts +89 -0
- package/dist/layout-engine/contracts/src/engines/tabs.d.ts +117 -0
- package/dist/layout-engine/contracts/src/graphic-placement.d.ts +76 -0
- package/dist/layout-engine/contracts/src/header-footer-inheritance.d.ts +22 -0
- package/dist/layout-engine/contracts/src/header-footer-resolution.d.ts +28 -0
- package/dist/layout-engine/contracts/src/incremental-dependency.d.ts +10 -0
- package/dist/layout-engine/contracts/src/index.d.ts +2459 -0
- package/dist/layout-engine/contracts/src/justify-utils.d.ts +98 -0
- package/dist/layout-engine/contracts/src/layout-identity.d.ts +136 -0
- package/dist/layout-engine/contracts/src/ooxml-z-index.d.ts +46 -0
- package/dist/layout-engine/contracts/src/page-number-formatting.d.ts +26 -0
- package/dist/layout-engine/contracts/src/page-ref-anchor.d.ts +2 -0
- package/dist/layout-engine/contracts/src/pm-range.d.ts +45 -0
- package/dist/layout-engine/contracts/src/resolved-layout.d.ts +541 -0
- package/dist/layout-engine/contracts/src/run-helpers.d.ts +23 -0
- package/dist/layout-engine/contracts/src/sdt-container.d.ts +13 -0
- package/dist/layout-engine/contracts/src/segment-geometry.d.ts +192 -0
- package/dist/layout-engine/contracts/src/semantic-colors.d.ts +150 -0
- package/dist/layout-engine/contracts/src/table-cell-spacing.d.ts +12 -0
- package/dist/layout-engine/contracts/src/table-column-rescale.d.ts +13 -0
- package/dist/layout-engine/contracts/src/vertical-text.d.ts +43 -0
- package/dist/layout-engine/dom-contract/src/class-names.d.ts +62 -0
- package/dist/layout-engine/dom-contract/src/data-attrs.d.ts +103 -0
- package/dist/layout-engine/dom-contract/src/index.d.ts +18 -0
- package/dist/layout-engine/dom-contract/src/selectors.d.ts +47 -0
- package/dist/layout-engine/layout-bridge/src/cache-warmer.d.ts +73 -0
- package/dist/layout-engine/layout-bridge/src/cache.d.ts +143 -0
- package/dist/layout-engine/layout-bridge/src/cacheInvalidation.d.ts +117 -0
- package/dist/layout-engine/layout-bridge/src/cursor-renderer.d.ts +201 -0
- package/dist/layout-engine/layout-bridge/src/debounced-passes.d.ts +130 -0
- package/dist/layout-engine/layout-bridge/src/diff.d.ts +36 -0
- package/dist/layout-engine/layout-bridge/src/dirty-tracker.d.ts +128 -0
- package/dist/layout-engine/layout-bridge/src/dom-mapping.d.ts +80 -0
- package/dist/layout-engine/layout-bridge/src/featureFlags.d.ts +95 -0
- package/dist/layout-engine/layout-bridge/src/field-annotation-key.d.ts +2 -0
- package/dist/layout-engine/layout-bridge/src/focus-watchdog.d.ts +170 -0
- package/dist/layout-engine/layout-bridge/src/font-metrics-cache.d.ts +164 -0
- package/dist/layout-engine/layout-bridge/src/footnote-scorer.d.ts +63 -0
- package/dist/layout-engine/layout-bridge/src/headerFooterUtils.d.ts +218 -0
- package/dist/layout-engine/layout-bridge/src/ime-handler.d.ts +81 -0
- package/dist/layout-engine/layout-bridge/src/incrementalLayout.d.ts +390 -0
- package/dist/layout-engine/layout-bridge/src/index.d.ts +211 -0
- package/dist/layout-engine/layout-bridge/src/instrumentation.d.ts +245 -0
- package/dist/layout-engine/layout-bridge/src/layoutHeaderFooter.d.ts +123 -0
- package/dist/layout-engine/layout-bridge/src/list-indent-utils.d.ts +205 -0
- package/dist/layout-engine/layout-bridge/src/local-paragraph-layout.d.ts +93 -0
- package/dist/layout-engine/layout-bridge/src/neutral-hit.d.ts +142 -0
- package/dist/layout-engine/layout-bridge/src/neutral-segment-geometry.d.ts +32 -0
- package/dist/layout-engine/layout-bridge/src/page-geometry-helper.d.ts +197 -0
- package/dist/layout-engine/layout-bridge/src/paragraph-hash-utils.d.ts +126 -0
- package/dist/layout-engine/layout-bridge/src/paragraph-line-cache.d.ts +152 -0
- package/dist/layout-engine/layout-bridge/src/performance-metrics.d.ts +249 -0
- package/dist/layout-engine/layout-bridge/src/pm-dom-fallback.d.ts +188 -0
- package/dist/layout-engine/layout-bridge/src/pm-position-validator.d.ts +100 -0
- package/dist/layout-engine/layout-bridge/src/position-hit.d.ts +167 -0
- package/dist/layout-engine/layout-bridge/src/remeasure.d.ts +75 -0
- package/dist/layout-engine/layout-bridge/src/resolveHeaderFooterTokens.d.ts +76 -0
- package/dist/layout-engine/layout-bridge/src/rtl-text-geometry.d.ts +34 -0
- package/dist/layout-engine/layout-bridge/src/run-visual-marks.d.ts +12 -0
- package/dist/layout-engine/layout-bridge/src/safety-net.d.ts +234 -0
- package/dist/layout-engine/layout-bridge/src/sectionAwareHeaderFooter.d.ts +15 -0
- package/dist/layout-engine/layout-bridge/src/table-handler.d.ts +86 -0
- package/dist/layout-engine/layout-bridge/src/text-boundaries.d.ts +17 -0
- package/dist/layout-engine/layout-bridge/src/text-measurement.d.ts +69 -0
- package/dist/layout-engine/layout-bridge/src/track-changes-handler.d.ts +90 -0
- package/dist/layout-engine/layout-bridge/src/tracked-changes-utils.d.ts +41 -0
- package/dist/layout-engine/layout-engine/src/anchors.d.ts +52 -0
- package/dist/layout-engine/layout-engine/src/column-balancing.d.ts +255 -0
- package/dist/layout-engine/layout-engine/src/column-utils.d.ts +1 -0
- package/dist/layout-engine/layout-engine/src/floating-objects.d.ts +60 -0
- package/dist/layout-engine/layout-engine/src/floating-table-anchor.d.ts +21 -0
- package/dist/layout-engine/layout-engine/src/index.d.ts +349 -0
- package/dist/layout-engine/layout-engine/src/layout-drawing.d.ts +60 -0
- package/dist/layout-engine/layout-engine/src/layout-image.d.ts +16 -0
- package/dist/layout-engine/layout-engine/src/layout-paragraph.d.ts +101 -0
- package/dist/layout-engine/layout-engine/src/layout-table.d.ts +71 -0
- package/dist/layout-engine/layout-engine/src/layout-textbox.d.ts +4 -0
- package/dist/layout-engine/layout-engine/src/layout-utils.d.ts +104 -0
- package/dist/layout-engine/layout-engine/src/normalize-header-footer-fragments.d.ts +45 -0
- package/dist/layout-engine/layout-engine/src/pageNumbering.d.ts +73 -0
- package/dist/layout-engine/layout-engine/src/paginator.d.ts +131 -0
- package/dist/layout-engine/layout-engine/src/paragraph-layout-eligibility.d.ts +1 -0
- package/dist/layout-engine/layout-engine/src/resolvePageRefs.d.ts +31 -0
- package/dist/layout-engine/layout-engine/src/resolvePageTokens.d.ts +82 -0
- package/dist/layout-engine/layout-engine/src/section-breaks.d.ts +98 -0
- package/dist/layout-engine/layout-engine/src/section-props.d.ts +65 -0
- package/dist/layout-engine/layout-engine/src/table-cell-slice.d.ts +98 -0
- package/dist/layout-engine/painters/dom/src/_test-utils.d.ts +21 -0
- package/dist/layout-engine/painters/dom/src/chart-renderer.d.ts +13 -0
- package/dist/layout-engine/painters/dom/src/constants.d.ts +10 -0
- package/dist/layout-engine/painters/dom/src/css-token.d.ts +10 -0
- package/dist/layout-engine/painters/dom/src/features/feature-registry.d.ts +41 -0
- package/dist/layout-engine/painters/dom/src/features/inline-direction/index.d.ts +22 -0
- package/dist/layout-engine/painters/dom/src/features/inline-direction/rtl-styles.d.ts +27 -0
- package/dist/layout-engine/painters/dom/src/features/inline-direction/run-direction.d.ts +75 -0
- package/dist/layout-engine/painters/dom/src/features/math/converters/accent.d.ts +25 -0
- package/dist/layout-engine/painters/dom/src/features/math/converters/bar.d.ts +16 -0
- package/dist/layout-engine/painters/dom/src/features/math/converters/box.d.ts +38 -0
- package/dist/layout-engine/painters/dom/src/features/math/converters/delimiter.d.ts +13 -0
- package/dist/layout-engine/painters/dom/src/features/math/converters/equation-array.d.ts +19 -0
- package/dist/layout-engine/painters/dom/src/features/math/converters/fraction.d.ts +13 -0
- package/dist/layout-engine/painters/dom/src/features/math/converters/function.d.ts +16 -0
- package/dist/layout-engine/painters/dom/src/features/math/converters/group-character.d.ts +26 -0
- package/dist/layout-engine/painters/dom/src/features/math/converters/index.d.ts +27 -0
- package/dist/layout-engine/painters/dom/src/features/math/converters/lower-limit.d.ts +13 -0
- package/dist/layout-engine/painters/dom/src/features/math/converters/math-run.d.ts +47 -0
- package/dist/layout-engine/painters/dom/src/features/math/converters/matrix.d.ts +23 -0
- package/dist/layout-engine/painters/dom/src/features/math/converters/nary.d.ts +23 -0
- package/dist/layout-engine/painters/dom/src/features/math/converters/phantom.d.ts +17 -0
- package/dist/layout-engine/painters/dom/src/features/math/converters/pre-sub-superscript.d.ts +25 -0
- package/dist/layout-engine/painters/dom/src/features/math/converters/radical.d.ts +14 -0
- package/dist/layout-engine/painters/dom/src/features/math/converters/sub-superscript.d.ts +13 -0
- package/dist/layout-engine/painters/dom/src/features/math/converters/subscript.d.ts +13 -0
- package/dist/layout-engine/painters/dom/src/features/math/converters/superscript.d.ts +13 -0
- package/dist/layout-engine/painters/dom/src/features/math/converters/upper-limit.d.ts +13 -0
- package/dist/layout-engine/painters/dom/src/features/math/index.d.ts +14 -0
- package/dist/layout-engine/painters/dom/src/features/math/omml-to-mathml.d.ts +18 -0
- package/dist/layout-engine/painters/dom/src/features/math/types.d.ts +41 -0
- package/dist/layout-engine/painters/dom/src/images/drawing-image.d.ts +5 -0
- package/dist/layout-engine/painters/dom/src/images/hyperlink.d.ts +2 -0
- package/dist/layout-engine/painters/dom/src/images/image-block.d.ts +15 -0
- package/dist/layout-engine/painters/dom/src/images/image-clip-path.d.ts +17 -0
- package/dist/layout-engine/painters/dom/src/images/image-fragment.d.ts +34 -0
- package/dist/layout-engine/painters/dom/src/images/image-selectors.d.ts +9 -0
- package/dist/layout-engine/painters/dom/src/images/types.d.ts +2 -0
- package/dist/layout-engine/painters/dom/src/index.d.ts +125 -0
- package/dist/layout-engine/painters/dom/src/page-content.d.ts +209 -0
- package/dist/layout-engine/painters/dom/src/paragraph/block-version.d.ts +8 -0
- package/dist/layout-engine/painters/dom/src/paragraph/borders/border-layer.d.ts +59 -0
- package/dist/layout-engine/painters/dom/src/paragraph/borders/group-analysis.d.ts +38 -0
- package/dist/layout-engine/painters/dom/src/paragraph/borders/index.d.ts +18 -0
- package/dist/layout-engine/painters/dom/src/paragraph/frame.d.ts +3 -0
- package/dist/layout-engine/painters/dom/src/paragraph/indentation.d.ts +25 -0
- package/dist/layout-engine/painters/dom/src/paragraph/list-marker.d.ts +51 -0
- package/dist/layout-engine/painters/dom/src/paragraph/marker-tracked-change.d.ts +34 -0
- package/dist/layout-engine/painters/dom/src/paragraph/renderParagraphContent.d.ts +87 -0
- package/dist/layout-engine/painters/dom/src/paragraph/renderParagraphFragment.d.ts +33 -0
- package/dist/layout-engine/painters/dom/src/paragraph/styles.d.ts +3 -0
- package/dist/layout-engine/painters/dom/src/paragraph-hash-utils.d.ts +13 -0
- package/dist/layout-engine/painters/dom/src/pm-position-validation.d.ts +149 -0
- package/dist/layout-engine/painters/dom/src/renderer.d.ts +681 -0
- package/dist/layout-engine/painters/dom/src/ruler/index.d.ts +41 -0
- package/dist/layout-engine/painters/dom/src/ruler/ruler-core.d.ts +195 -0
- package/dist/layout-engine/painters/dom/src/ruler/ruler-renderer.d.ts +97 -0
- package/dist/layout-engine/painters/dom/src/ruler/ruler-styles.d.ts +31 -0
- package/dist/layout-engine/painters/dom/src/runs/field-annotation-run.d.ts +14 -0
- package/dist/layout-engine/painters/dom/src/runs/font-synthesis.d.ts +1 -0
- package/dist/layout-engine/painters/dom/src/runs/formatting-marks.d.ts +3 -0
- package/dist/layout-engine/painters/dom/src/runs/hash.d.ts +82 -0
- package/dist/layout-engine/painters/dom/src/runs/image-run.d.ts +37 -0
- package/dist/layout-engine/painters/dom/src/runs/index.d.ts +13 -0
- package/dist/layout-engine/painters/dom/src/runs/links.d.ts +58 -0
- package/dist/layout-engine/painters/dom/src/runs/math-run.d.ts +7 -0
- package/dist/layout-engine/painters/dom/src/runs/render-line.d.ts +2 -0
- package/dist/layout-engine/painters/dom/src/runs/render-run.d.ts +12 -0
- package/dist/layout-engine/painters/dom/src/runs/tab-run.d.ts +66 -0
- package/dist/layout-engine/painters/dom/src/runs/text-run.d.ts +35 -0
- package/dist/layout-engine/painters/dom/src/runs/tracked-changes.d.ts +90 -0
- package/dist/layout-engine/painters/dom/src/runs/types.d.ts +67 -0
- package/dist/layout-engine/painters/dom/src/sdt/boundaries.d.ts +16 -0
- package/dist/layout-engine/painters/dom/src/sdt/container.d.ts +32 -0
- package/dist/layout-engine/painters/dom/src/sdt/dataset.d.ts +7 -0
- package/dist/layout-engine/painters/dom/src/sdt/inline.d.ts +9 -0
- package/dist/layout-engine/painters/dom/src/sdt/snapshot.d.ts +29 -0
- package/dist/layout-engine/painters/dom/src/styles.d.ts +71 -0
- package/dist/layout-engine/painters/dom/src/svg-utils.d.ts +101 -0
- package/dist/layout-engine/painters/dom/src/table/border-utils.d.ts +185 -0
- package/dist/layout-engine/painters/dom/src/table/grid-geometry.d.ts +69 -0
- package/dist/layout-engine/painters/dom/src/table/renderTableCell.d.ts +170 -0
- package/dist/layout-engine/painters/dom/src/table/renderTableFragment.d.ts +132 -0
- package/dist/layout-engine/painters/dom/src/table/renderTableRow.d.ts +146 -0
- package/dist/layout-engine/painters/dom/src/test-utils/normalize-line.d.ts +39 -0
- package/dist/layout-engine/painters/dom/src/utils/anchor-helpers.d.ts +3 -0
- package/dist/layout-engine/painters/dom/src/utils/apply-styles.d.ts +1 -0
- package/dist/layout-engine/painters/dom/src/utils/layout-identity.d.ts +9 -0
- package/dist/layout-engine/painters/dom/src/utils/source-anchor.d.ts +2 -0
- package/dist/layout-engine/style-engine/src/bench/resolveSdtMetadata.bench.d.ts +1 -0
- package/dist/layout-engine/style-engine/src/cascade.d.ts +43 -0
- package/dist/layout-engine/style-engine/src/index.d.ts +121 -0
- package/dist/layout-engine/style-engine/src/normalize/colors.d.ts +13 -0
- package/dist/layout-engine/style-engine/src/normalize/index.d.ts +13 -0
- package/dist/layout-engine/style-engine/src/normalize/paragraph-attrs.d.ts +3 -0
- package/dist/layout-engine/style-engine/src/normalize/run-attrs.d.ts +17 -0
- package/dist/layout-engine/style-engine/src/normalize/types.d.ts +36 -0
- package/dist/layout-engine/style-engine/src/normalize/units.d.ts +13 -0
- package/dist/layout-engine/style-engine/src/ooxml/index.d.ts +64 -0
- package/dist/layout-engine/style-engine/src/ooxml/numbering-types.d.ts +126 -0
- package/dist/layout-engine/style-engine/src/ooxml/styles-types.d.ts +363 -0
- package/dist/layout-engine/style-engine/src/ooxml/table-style-selection.d.ts +86 -0
- package/dist/layout-engine/style-engine/src/ooxml/types.d.ts +459 -0
- package/dist/layout-engine/style-engine/src/ooxml/word-style-model/parse-theme.d.ts +33 -0
- package/dist/layout-engine/style-engine/src/ooxml/word-style-model/parse-xml.d.ts +29 -0
- package/dist/public/ui-react.cjs +175 -0
- package/dist/public/ui-react.es.js +159 -0
- package/dist/public/ui.cjs +5 -0
- package/dist/public/ui.es.js +2 -0
- package/dist/shared/common/comments-types.d.ts +102 -0
- package/dist/shared/common/layout-constants.d.ts +7 -0
- package/dist/shared/common/list-marker-utils.d.ts +186 -0
- package/dist/shared/common/list-numbering/index.d.ts +16 -0
- package/dist/shared/font-system/src/activation.d.ts +64 -0
- package/dist/shared/font-system/src/bundled-manifest.d.ts +32 -0
- package/dist/shared/font-system/src/bundled.d.ts +41 -0
- package/dist/shared/font-system/src/document-font-options.d.ts +53 -0
- package/dist/shared/font-system/src/epoch.d.ts +6 -0
- package/dist/shared/font-system/src/font-offerings.d.ts +120 -0
- package/dist/shared/font-system/src/index.d.ts +35 -0
- package/dist/shared/font-system/src/os2.d.ts +30 -0
- package/dist/shared/font-system/src/registry.d.ts +188 -0
- package/dist/shared/font-system/src/report.d.ts +98 -0
- package/dist/shared/font-system/src/resolver.d.ts +215 -0
- package/dist/shared/font-system/src/substitution-evidence.d.ts +103 -0
- package/dist/shared/font-system/src/types.d.ts +128 -0
- package/dist/style.css +3316 -0
- package/dist/style.layered.css +3316 -0
- package/dist/superdoc/src/SuperDoc.vue.d.ts +88 -0
- package/dist/superdoc/src/cdn-entry.d.ts +2 -0
- package/dist/superdoc/src/components/CommentsLayer/CommentDialog.vue.d.ts +62 -0
- package/dist/superdoc/src/components/CommentsLayer/CommentHeader.vue.d.ts +26 -0
- package/dist/superdoc/src/components/CommentsLayer/CommentInput.vue.d.ts +19 -0
- package/dist/superdoc/src/components/CommentsLayer/CommentsDropdown.vue.d.ts +30 -0
- package/dist/superdoc/src/components/CommentsLayer/InternalDropdown.vue.d.ts +10 -0
- package/dist/superdoc/src/components/CommentsLayer/collect-removed-comment-ids.d.ts +1 -0
- package/dist/superdoc/src/components/CommentsLayer/collect-tracked-change-thread.d.ts +6 -0
- package/dist/superdoc/src/components/CommentsLayer/comment-schemas.d.ts +18 -0
- package/dist/superdoc/src/components/CommentsLayer/commentsList/commentsList.vue.d.ts +9 -0
- package/dist/superdoc/src/components/CommentsLayer/commentsList/super-comments-list.d.ts +21 -0
- package/dist/superdoc/src/components/CommentsLayer/floating-comment-positioning.d.ts +28 -0
- package/dist/superdoc/src/components/CommentsLayer/helpers.d.ts +7 -0
- package/dist/superdoc/src/components/CommentsLayer/tracked-change-threading.d.ts +2 -0
- package/dist/superdoc/src/components/CommentsLayer/types.d.ts +3 -0
- package/dist/superdoc/src/components/CommentsLayer/use-comment.d.ts +8 -0
- package/dist/superdoc/src/components/CommentsLayer/use-conversation.d.ts +22 -0
- package/dist/superdoc/src/components/CommentsLayer/use-floating-comment.d.ts +11 -0
- package/dist/superdoc/src/components/HtmlViewer/HtmlViewer.vue.d.ts +10 -0
- package/dist/superdoc/src/components/PdfViewer/PdfViewer.vue.d.ts +61 -0
- package/dist/superdoc/src/components/PdfViewer/PdfViewerDocument.vue.d.ts +21 -0
- package/dist/superdoc/src/components/PdfViewer/PdfViewerPage.vue.d.ts +24 -0
- package/dist/superdoc/src/components/Whiteboard/WhiteboardLayer.vue.d.ts +19 -0
- package/dist/superdoc/src/components/Whiteboard/WhiteboardPage.vue.d.ts +17 -0
- package/dist/superdoc/src/components/Whiteboard/use-whiteboard.d.ts +18 -0
- package/dist/superdoc/src/components/surfaces/FindReplaceSurface.vue.d.ts +19 -0
- package/dist/superdoc/src/components/surfaces/PasswordPromptSurface.vue.d.ts +17 -0
- package/dist/superdoc/src/components/surfaces/SurfaceDialog.vue.d.ts +12 -0
- package/dist/superdoc/src/components/surfaces/SurfaceExternalMount.vue.d.ts +19 -0
- package/dist/superdoc/src/components/surfaces/SurfaceFloating.vue.d.ts +10 -0
- package/dist/superdoc/src/components/surfaces/SurfaceHost.vue.d.ts +31 -0
- package/dist/superdoc/src/components/surfaces/focusable-selector.d.ts +5 -0
- package/dist/superdoc/src/composables/find-shortcut-owner.d.ts +32 -0
- package/dist/superdoc/src/composables/replace-continuation.d.ts +37 -0
- package/dist/superdoc/src/composables/use-ai.d.ts +10 -0
- package/dist/superdoc/src/composables/use-comment-small-screen.d.ts +10 -0
- package/dist/superdoc/src/composables/use-compact-comment-popover.d.ts +21 -0
- package/dist/superdoc/src/composables/use-document.d.ts +34 -0
- package/dist/superdoc/src/composables/use-field.d.ts +33 -0
- package/dist/superdoc/src/composables/use-find-replace.d.ts +83 -0
- package/dist/superdoc/src/composables/use-high-contrast-mode.d.ts +4 -0
- package/dist/superdoc/src/composables/use-link-popover.d.ts +221 -0
- package/dist/superdoc/src/composables/use-password-prompt.d.ts +33 -0
- package/dist/superdoc/src/composables/use-selected-text.d.ts +16 -0
- package/dist/superdoc/src/composables/use-viewport-fit.d.ts +50 -0
- package/dist/superdoc/src/composables/useUiFontFamily.d.ts +24 -0
- package/dist/superdoc/src/core/EventEmitter.d.ts +55 -0
- package/dist/superdoc/src/core/SuperDoc.d.ts +775 -0
- package/dist/superdoc/src/core/collaboration/collaboration-comments.d.ts +4 -0
- package/dist/superdoc/src/core/collaboration/collaboration.d.ts +28 -0
- package/dist/superdoc/src/core/collaboration/helpers.d.ts +8 -0
- package/dist/superdoc/src/core/collaboration/permissions.d.ts +19 -0
- package/dist/superdoc/src/core/collaboration/resolve-v2-collaboration-target.d.ts +99 -0
- package/dist/superdoc/src/core/collaboration/room-overwrite.d.ts +22 -0
- package/dist/superdoc/src/core/collaboration/v2-awareness-bridge.d.ts +57 -0
- package/dist/superdoc/src/core/config/merge-defined.d.ts +35 -0
- package/dist/superdoc/src/core/config/normalize-interaction-config.d.ts +15 -0
- package/dist/superdoc/src/core/config/normalize-surfaces-config.d.ts +23 -0
- package/dist/superdoc/src/core/config/normalize-ui-config.d.ts +62 -0
- package/dist/superdoc/src/core/create-app.d.ts +32 -0
- package/dist/superdoc/src/core/editor-runtime/conformance/fake-v2-runtime.d.ts +9 -0
- package/dist/superdoc/src/core/editor-runtime/editor-runtime-registry.d.ts +117 -0
- package/dist/superdoc/src/core/editor-runtime/index.d.ts +1 -0
- package/dist/superdoc/src/core/editor-runtime/root-marker.d.ts +33 -0
- package/dist/superdoc/src/core/editor-runtime/types.d.ts +405 -0
- package/dist/superdoc/src/core/editor-runtime/v2/v2-editor-runtime-adapter.d.ts +185 -0
- package/dist/superdoc/src/core/editor-runtime/v2/v2-session-shortcut-routes.d.ts +47 -0
- package/dist/superdoc/src/core/extensions/define.d.ts +56 -0
- package/dist/superdoc/src/core/extensions/index.d.ts +2 -0
- package/dist/superdoc/src/core/extensions/types.d.ts +519 -0
- package/dist/superdoc/src/core/helpers/export.d.ts +2 -0
- package/dist/superdoc/src/core/helpers/file.d.ts +43 -0
- package/dist/superdoc/src/core/helpers/normalize-track-changes-config.d.ts +60 -0
- package/dist/superdoc/src/core/helpers/normalize-user.d.ts +13 -0
- package/dist/superdoc/src/core/index.d.ts +1 -0
- package/dist/superdoc/src/core/pdf/helpers/constants.d.ts +2 -0
- package/dist/superdoc/src/core/pdf/helpers/floor.d.ts +1 -0
- package/dist/superdoc/src/core/pdf/helpers/range.d.ts +1 -0
- package/dist/superdoc/src/core/pdf/helpers/read-file.d.ts +1 -0
- package/dist/superdoc/src/core/pdf/pdf-adapter.d.ts +66 -0
- package/dist/superdoc/src/core/surface-manager.d.ts +90 -0
- package/dist/superdoc/src/core/theme/create-theme.d.ts +82 -0
- package/dist/superdoc/src/core/types/index.d.ts +3006 -0
- package/dist/superdoc/src/core/v2-integration/browser-peer-runtime.d.ts +3 -0
- package/dist/superdoc/src/core/v2-integration/cdn-engine-loader.d.ts +16 -0
- package/dist/superdoc/src/core/v2-integration/v2-integration.d.ts +97 -0
- package/dist/superdoc/src/core/whiteboard/Whiteboard.d.ts +247 -0
- package/dist/superdoc/src/core/whiteboard/WhiteboardPage.d.ts +251 -0
- package/dist/superdoc/src/core/whiteboard/WhiteboardRenderer.d.ts +2 -0
- package/dist/superdoc/src/core/whiteboard/helpers/createTextarea.d.ts +1 -0
- package/dist/superdoc/src/core/whiteboard/helpers/flattenPoints.d.ts +1 -0
- package/dist/superdoc/src/core/whiteboard/helpers/getRandomId.d.ts +1 -0
- package/dist/superdoc/src/helpers/collect-touched-tracked-change-ids.d.ts +11 -0
- package/dist/superdoc/src/helpers/comment-focus.d.ts +4 -0
- package/dist/superdoc/src/helpers/comment-small-screen.d.ts +14 -0
- package/dist/superdoc/src/helpers/deprecation.d.ts +26 -0
- package/dist/superdoc/src/helpers/floor.d.ts +1 -0
- package/dist/superdoc/src/helpers/group-changes.d.ts +1 -0
- package/dist/superdoc/src/helpers/interaction-trace.d.ts +26 -0
- package/dist/superdoc/src/helpers/selection-source.d.ts +1 -0
- package/dist/superdoc/src/helpers/transaction-touches-structural-change.d.ts +19 -0
- package/dist/superdoc/src/helpers/use-selection.d.ts +17 -0
- package/dist/superdoc/src/helpers/v2-author-required-rejection.d.ts +22 -0
- package/dist/superdoc/src/helpers/v2-remote-review-hydration.d.ts +12 -0
- package/dist/superdoc/src/helpers/v2-review-mutation-impact.d.ts +15 -0
- package/dist/superdoc/src/helpers/v2-review-mutation-reconciler.d.ts +19 -0
- package/dist/superdoc/src/helpers/v2-review-target.d.ts +7 -0
- package/dist/superdoc/src/helpers/v2-selection-sync.d.ts +12 -0
- package/dist/superdoc/src/helpers/v2-typing-mutation-event.d.ts +5 -0
- package/dist/superdoc/src/icons.d.ts +11 -0
- package/dist/superdoc/src/index.d.cts +13 -0
- package/dist/superdoc/src/index.d.ts +11 -0
- package/dist/superdoc/src/internal/toolbar/built-in/AIWriter.vue.d.ts +21 -0
- package/dist/superdoc/src/internal/toolbar/built-in/AlignmentButtons.vue.d.ts +6 -0
- package/dist/superdoc/src/internal/toolbar/built-in/ButtonGroup.vue.d.ts +10 -0
- package/dist/superdoc/src/internal/toolbar/built-in/DocumentMode.vue.d.ts +10 -0
- package/dist/superdoc/src/internal/toolbar/built-in/FontFamilyCombobox.vue.d.ts +10 -0
- package/dist/superdoc/src/internal/toolbar/built-in/FontSizeCombobox.vue.d.ts +10 -0
- package/dist/superdoc/src/internal/toolbar/built-in/IconGrid.vue.d.ts +14 -0
- package/dist/superdoc/src/internal/toolbar/built-in/IconGridRow.vue.d.ts +13 -0
- package/dist/superdoc/src/internal/toolbar/built-in/LinkInput.vue.d.ts +37 -0
- package/dist/superdoc/src/internal/toolbar/built-in/LinkedStyle.vue.d.ts +12 -0
- package/dist/superdoc/src/internal/toolbar/built-in/OverflowMenu.vue.d.ts +10 -0
- package/dist/superdoc/src/internal/toolbar/built-in/SdTooltip.vue.d.ts +34 -0
- package/dist/superdoc/src/internal/toolbar/built-in/StyleButtonsList.vue.d.ts +14 -0
- package/dist/superdoc/src/internal/toolbar/built-in/TableActions.vue.d.ts +8 -0
- package/dist/superdoc/src/internal/toolbar/built-in/TableGrid.vue.d.ts +6 -0
- package/dist/superdoc/src/internal/toolbar/built-in/Toolbar.vue.d.ts +4 -0
- package/dist/superdoc/src/internal/toolbar/built-in/ToolbarButton.vue.d.ts +24 -0
- package/dist/superdoc/src/internal/toolbar/built-in/ToolbarButtonIcon.vue.d.ts +11 -0
- package/dist/superdoc/src/internal/toolbar/built-in/ToolbarComboBox.vue.d.ts +18 -0
- package/dist/superdoc/src/internal/toolbar/built-in/ToolbarDropdown.vue.d.ts +38 -0
- package/dist/superdoc/src/internal/toolbar/built-in/ToolbarSeparator.vue.d.ts +8 -0
- package/dist/superdoc/src/internal/toolbar/built-in/color-dropdown-helpers.d.ts +24 -0
- package/dist/superdoc/src/internal/toolbar/built-in/constants.d.ts +102 -0
- package/dist/superdoc/src/internal/toolbar/built-in/default-items.d.ts +17 -0
- package/dist/superdoc/src/internal/toolbar/built-in/font-options.d.ts +1 -0
- package/dist/superdoc/src/internal/toolbar/built-in/font-typeahead.d.ts +11 -0
- package/dist/superdoc/src/internal/toolbar/built-in/format-negation.d.ts +5 -0
- package/dist/superdoc/src/internal/toolbar/built-in/general.d.ts +1 -0
- package/dist/superdoc/src/internal/toolbar/built-in/helpers.d.ts +5 -0
- package/dist/superdoc/src/internal/toolbar/built-in/list-style-buttons.d.ts +10 -0
- package/dist/superdoc/src/internal/toolbar/built-in/scroll-helpers.d.ts +4 -0
- package/dist/superdoc/src/internal/toolbar/built-in/toolbar-focus-helpers.d.ts +1 -0
- package/dist/superdoc/src/internal/toolbar/built-in/toolbarIcons.d.ts +76 -0
- package/dist/superdoc/src/internal/toolbar/built-in/toolbarTexts.d.ts +58 -0
- package/dist/superdoc/src/internal/toolbar/built-in/url-safety.d.ts +8 -0
- package/dist/superdoc/src/internal/toolbar/built-in/use-toolbar-item.d.ts +48 -0
- package/dist/superdoc/src/internal/toolbar/built-in-toolbar.d.ts +237 -0
- package/dist/superdoc/src/internal/toolbar/compatibility-catalog.d.ts +59 -0
- package/dist/superdoc/src/internal/toolbar/image-upload.d.ts +63 -0
- package/dist/superdoc/src/internal/toolbar/index.d.ts +10 -0
- package/dist/superdoc/src/main.d.ts +1 -0
- package/dist/superdoc/src/public/browser-document-api.d.ts +53 -0
- package/dist/superdoc/src/public/collaboration-upgrade-engine.d.cts +26 -0
- package/dist/superdoc/src/public/collaboration-upgrade-engine.d.ts +130 -0
- package/dist/superdoc/src/public/index.d.cts +359 -0
- package/dist/superdoc/src/public/index.d.ts +179 -0
- package/dist/superdoc/src/public/ui/commands.d.ts +249 -0
- package/dist/superdoc/src/public/ui/create-super-doc-ui.d.ts +18 -0
- package/dist/superdoc/src/public/ui/entity-at.d.ts +29 -0
- package/dist/superdoc/src/public/ui/equality.d.ts +10 -0
- package/dist/superdoc/src/public/ui/format-painter-helpers.d.ts +36 -0
- package/dist/superdoc/src/public/ui/react.d.ts +81 -0
- package/dist/superdoc/src/public/ui/reasons.d.ts +99 -0
- package/dist/superdoc/src/public/ui/types.d.ts +1425 -0
- package/dist/superdoc/src/public/ui-react.d.cts +20 -0
- package/dist/superdoc/src/public/ui-react.d.ts +20 -0
- package/dist/superdoc/src/public/ui.d.cts +194 -0
- package/dist/superdoc/src/public/ui.d.ts +29 -0
- package/dist/superdoc/src/stores/comments-store.d.ts +676 -0
- package/dist/superdoc/src/stores/helpers/floating-comment-instances.d.ts +14 -0
- package/dist/superdoc/src/stores/helpers/tracked-change-thread-index.d.ts +14 -0
- package/dist/superdoc/src/stores/hrbr-fields-store.d.ts +43 -0
- package/dist/superdoc/src/stores/superdoc-store.d.ts +2182 -0
- package/dist/superdoc.cjs +36521 -0
- package/dist/superdoc.es.js +36449 -0
- package/dist/word-layout/src/index.d.ts +64 -0
- package/dist/word-layout/src/list-marker.d.ts +68 -0
- package/dist/word-layout/src/marker-utils.d.ts +20 -0
- package/dist/word-layout/src/numbering-manager.d.ts +85 -0
- package/dist/word-layout/src/tab-layout.d.ts +193 -0
- package/dist/word-layout/src/types.d.ts +106 -0
- package/dist/word-layout/src/unit-conversions.d.ts +120 -0
- package/dist-cdn/style.layered.css +2 -0
- package/dist-cdn/superdoc.min.css +2 -0
- package/dist-cdn/superdoc.min.js +108 -0
- package/package.json +137 -24
- package/.npmignore +0 -4
- package/data.json +0 -17
- package/index.js +0 -2
- package/lib/Augmenter.js +0 -27
- package/lib/Runner.js +0 -80
- package/lib/Stopper.js +0 -71
- package/test/superdoc.js +0 -126
- package/utils/app.js +0 -18
- package/utils/server.js +0 -2
- package/web/index.js +0 -54
- package/web/public/style.css +0 -76
- package/web/views/index.ejs +0 -53
- package/web/views/layout.ejs +0 -13
- package/web/views/method.ejs +0 -59
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import { BorderSpec, CellBorders, TableBorderValue, TableBorders, TableFragment } from '../../../../contracts/src/index.js';
|
|
2
|
+
import { TableCellGridPosition } from './grid-geometry.js';
|
|
3
|
+
/**
|
|
4
|
+
* Applies a border specification to one side of an HTML element.
|
|
5
|
+
*
|
|
6
|
+
* Converts BorderSpec format to CSS border properties and applies them to the specified
|
|
7
|
+
* side of the element. Handles style conversion (e.g., 'single' → 'solid'), color validation,
|
|
8
|
+
* and special cases like 'thick' borders which use doubled width.
|
|
9
|
+
*
|
|
10
|
+
* @param element - The HTML element to apply the border to
|
|
11
|
+
* @param side - Which side of the element to apply the border ('Top', 'Right', 'Bottom', or 'Left')
|
|
12
|
+
* @param border - The border specification to apply, or undefined to skip
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* const cell = document.createElement('td');
|
|
17
|
+
* applyBorder(cell, 'Top', { style: 'single', width: 2, color: '#FF0000' });
|
|
18
|
+
* // Sets cell.style.borderTop = '2px solid #FF0000'
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export declare const applyBorder: (element: HTMLElement, side: "Top" | "Right" | "Bottom" | "Left", border?: BorderSpec) => void;
|
|
22
|
+
/**
|
|
23
|
+
* Applies border specifications to all four sides of a table cell element.
|
|
24
|
+
*
|
|
25
|
+
* Convenience function that applies borders to top, right, bottom, and left sides
|
|
26
|
+
* of an element using applyBorder(). Only applies borders for sides that are defined
|
|
27
|
+
* in the CellBorders object.
|
|
28
|
+
*
|
|
29
|
+
* @param element - The HTML element (typically a table cell) to apply borders to
|
|
30
|
+
* @param borders - Cell border specifications for each side, or undefined to skip
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```typescript
|
|
34
|
+
* const cell = document.createElement('td');
|
|
35
|
+
* applyCellBorders(cell, {
|
|
36
|
+
* top: { style: 'single', width: 1, color: '#000000' },
|
|
37
|
+
* left: { style: 'double', width: 2, color: '#FF0000' }
|
|
38
|
+
* });
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export declare const applyCellBorders: (element: HTMLElement, borders?: CellBorders) => void;
|
|
42
|
+
/**
|
|
43
|
+
* Converts a TableBorderValue to a BorderSpec for rendering.
|
|
44
|
+
*
|
|
45
|
+
* Handles conversion of table-level border values (which may include {none: true} markers)
|
|
46
|
+
* to BorderSpec format used by the DOM renderer. Supports both 'width' and legacy 'size'
|
|
47
|
+
* properties.
|
|
48
|
+
*
|
|
49
|
+
* @param value - Table border value to convert, or null/undefined
|
|
50
|
+
* @returns BorderSpec for rendering, or undefined if value is null/undefined
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```typescript
|
|
54
|
+
* const spec = borderValueToSpec({ style: 'single', width: 2, color: '#FF0000' });
|
|
55
|
+
* // Returns: { style: 'single', width: 2, color: '#FF0000' }
|
|
56
|
+
*
|
|
57
|
+
* const none = borderValueToSpec({ none: true });
|
|
58
|
+
* // Returns: { style: 'none', width: 0 }
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
export declare const borderValueToSpec: (value?: TableBorderValue | null) => BorderSpec | undefined;
|
|
62
|
+
/**
|
|
63
|
+
* Resolves a table border value with fallback support.
|
|
64
|
+
*
|
|
65
|
+
* Attempts to use the explicit border value first, falling back to the fallback value
|
|
66
|
+
* if the explicit value is undefined or null. This is used when cell borders can come
|
|
67
|
+
* from either cell-specific definitions or table-level definitions.
|
|
68
|
+
*
|
|
69
|
+
* @param explicit - Primary border value to use (e.g., from cell attributes)
|
|
70
|
+
* @param fallback - Fallback border value (e.g., from table borders)
|
|
71
|
+
* @returns Resolved BorderSpec, or undefined if both values are undefined/null
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```typescript
|
|
75
|
+
* const cellBorder = { style: 'double', width: 3, color: '#FF0000' };
|
|
76
|
+
* const tableBorder = { style: 'single', width: 1, color: '#000000' };
|
|
77
|
+
* const result = resolveTableBorderValue(cellBorder, tableBorder);
|
|
78
|
+
* // Returns BorderSpec from cellBorder (explicit wins)
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
export declare const resolveTableBorderValue: (explicit: TableBorderValue | undefined | null, fallback?: TableBorderValue | undefined | null) => BorderSpec | undefined;
|
|
82
|
+
export declare const isPresentBorder: (b?: BorderSpec) => b is BorderSpec;
|
|
83
|
+
/**
|
|
84
|
+
* True when a border is EXPLICITLY set to none/nil (`w:val="nil"`/`"none"`), as opposed to
|
|
85
|
+
* simply unset/absent. The distinction matters for shared interior edges (§17.4.66): an
|
|
86
|
+
* explicit none on BOTH adjacent cells suppresses the divider, while an unset side inherits
|
|
87
|
+
* the table's insideH/insideV. Accepts either a CellBorders BorderSpec (`{style:'none'}`) or
|
|
88
|
+
* a TableBorderValue (`{none:true}`).
|
|
89
|
+
*/
|
|
90
|
+
export declare const isExplicitNoneBorder: (b?: unknown) => boolean;
|
|
91
|
+
/**
|
|
92
|
+
* OOXML cell-border conflict resolution (ECMA-376 §17.4.66).
|
|
93
|
+
*
|
|
94
|
+
* With zero cell spacing, two cells sharing an edge each specify a border; the spec
|
|
95
|
+
* collapses them to a SINGLE displayed border:
|
|
96
|
+
* 1. If either side is nil/none/absent, the opposing (present) border is displayed.
|
|
97
|
+
* 2. Otherwise the border with greater weight wins, where
|
|
98
|
+
* weight = (#lines in the style) × (style number).
|
|
99
|
+
* 3. Equal weight → the style higher on the precedence list (single first) wins.
|
|
100
|
+
* 4. Identical style → the color with the smaller brightness (R+B+2G, then B+2G, then
|
|
101
|
+
* G) wins; finally the first border (reading order) wins.
|
|
102
|
+
*
|
|
103
|
+
* @param a - One side's border (the owning cell's, e.g. the lower/right cell)
|
|
104
|
+
* @param b - The opposing side's border (e.g. the upper/left neighbor)
|
|
105
|
+
* @returns The single BorderSpec to display, or undefined if neither is present.
|
|
106
|
+
*/
|
|
107
|
+
export declare const resolveBorderConflict: (a?: BorderSpec, b?: BorderSpec) => BorderSpec | undefined;
|
|
108
|
+
/**
|
|
109
|
+
* Creates a border overlay element for a table fragment.
|
|
110
|
+
*
|
|
111
|
+
* Generates an absolutely-positioned div that renders table-level borders (top, right,
|
|
112
|
+
* bottom, left) on top of the table content. This is used to apply outer table borders
|
|
113
|
+
* without affecting the table's internal layout.
|
|
114
|
+
*
|
|
115
|
+
* @param doc - Document object for creating the overlay element
|
|
116
|
+
* @param fragment - Table fragment containing dimensions for the overlay
|
|
117
|
+
* @param tableBorders - Table border specifications
|
|
118
|
+
* @returns HTMLElement overlay with borders applied, or null if no borders are defined
|
|
119
|
+
*
|
|
120
|
+
* @example
|
|
121
|
+
* ```typescript
|
|
122
|
+
* const overlay = createTableBorderOverlay(document, fragment, {
|
|
123
|
+
* top: { style: 'single', width: 2, color: '#000000' },
|
|
124
|
+
* bottom: { style: 'single', width: 2, color: '#000000' }
|
|
125
|
+
* });
|
|
126
|
+
* if (overlay) container.appendChild(overlay);
|
|
127
|
+
* ```
|
|
128
|
+
*/
|
|
129
|
+
export declare const createTableBorderOverlay: (doc: Document, fragment: TableFragment, tableBorders: TableBorders) => HTMLElement | null;
|
|
130
|
+
/**
|
|
131
|
+
* Resolves cell-specific borders based on cell position within a table.
|
|
132
|
+
*
|
|
133
|
+
* Implements a **single-owner border model** to prevent double borders when
|
|
134
|
+
* rendering tables with absolutely-positioned divs (which don't support CSS
|
|
135
|
+
* border-collapse). Each shared border is owned by exactly one cell:
|
|
136
|
+
*
|
|
137
|
+
* - TOP border: Cell owns its own top (first row uses table.top, others use insideH)
|
|
138
|
+
* - LEFT border: Cell owns its own left (first col uses table.left, others use insideV)
|
|
139
|
+
* - BOTTOM border: Only last row renders it (using table.bottom)
|
|
140
|
+
* - RIGHT border: Only last column renders it (using table.right)
|
|
141
|
+
*
|
|
142
|
+
* This ensures each border line is rendered exactly once, eliminating the
|
|
143
|
+
* double-border issue that occurs when adjacent cells both render their
|
|
144
|
+
* shared edge.
|
|
145
|
+
*
|
|
146
|
+
* @param tableBorders - Table-level border definitions
|
|
147
|
+
* @param cellPosition - Cell position and span within the table grid
|
|
148
|
+
* @returns CellBorders object with resolved borders for all four sides
|
|
149
|
+
*
|
|
150
|
+
* @example
|
|
151
|
+
* ```typescript
|
|
152
|
+
* // For a 3x3 table:
|
|
153
|
+
* // Cell (0,0): top=table.top, left=table.left, bottom=undefined, right=undefined
|
|
154
|
+
* // Cell (1,1): top=insideH, left=insideV, bottom=undefined, right=undefined
|
|
155
|
+
* // Cell (2,2): top=insideH, left=insideV, bottom=table.bottom, right=table.right
|
|
156
|
+
* ```
|
|
157
|
+
*/
|
|
158
|
+
/**
|
|
159
|
+
* Checks whether a CellBorders object has at least one explicitly defined side.
|
|
160
|
+
*
|
|
161
|
+
* Returns false when borders is undefined/null or when all four sides are undefined.
|
|
162
|
+
* Used to distinguish "no borders attribute" from "borders attribute present but empty"
|
|
163
|
+
* (intentionally borderless).
|
|
164
|
+
*
|
|
165
|
+
* @param cellBorders - Cell border definitions to check
|
|
166
|
+
* @returns True if at least one side (top, right, bottom, left) is defined
|
|
167
|
+
*/
|
|
168
|
+
export declare const hasExplicitCellBorders: (cellBorders?: CellBorders) => cellBorders is CellBorders;
|
|
169
|
+
export declare const resolveTableCellBorders: (tableBorders: {
|
|
170
|
+
top?: TableBorderValue;
|
|
171
|
+
bottom?: TableBorderValue;
|
|
172
|
+
left?: TableBorderValue;
|
|
173
|
+
right?: TableBorderValue;
|
|
174
|
+
insideH?: TableBorderValue;
|
|
175
|
+
insideV?: TableBorderValue;
|
|
176
|
+
}, cellPosition: TableCellGridPosition) => CellBorders;
|
|
177
|
+
/**
|
|
178
|
+
* Swap left↔right on table borders for RTL tables (ECMA-376 Part 4 §14.3.2, §14.3.6).
|
|
179
|
+
* insideH/insideV and top/bottom are not affected by direction.
|
|
180
|
+
*/
|
|
181
|
+
export declare const swapTableBordersLR: (borders: TableBorders | undefined) => TableBorders | undefined;
|
|
182
|
+
/**
|
|
183
|
+
* Swap left↔right on cell borders for RTL tables (ECMA-376 Part 4 §14.3.1, §14.3.5).
|
|
184
|
+
*/
|
|
185
|
+
export declare const swapCellBordersLR: (borders: CellBorders | undefined) => CellBorders | undefined;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Grid position for a rendered table cell.
|
|
3
|
+
*
|
|
4
|
+
* The position describes the cell's occupied rectangle in table grid coordinates,
|
|
5
|
+
* not just the anchor column where the physical cell starts.
|
|
6
|
+
*/
|
|
7
|
+
export type TableCellGridPosition = {
|
|
8
|
+
/** Zero-based absolute row index where the cell starts. */
|
|
9
|
+
rowIndex: number;
|
|
10
|
+
/** Number of rows occupied by the cell. Defaults to 1 when omitted or invalid. */
|
|
11
|
+
rowSpan?: number;
|
|
12
|
+
/** Zero-based absolute grid column where the cell starts. */
|
|
13
|
+
gridColumnStart: number;
|
|
14
|
+
/** Number of columns occupied by the cell. Defaults to 1 when omitted or invalid. */
|
|
15
|
+
colSpan?: number;
|
|
16
|
+
/** Total row count in the table. */
|
|
17
|
+
totalRows: number;
|
|
18
|
+
/** Total column count in the table grid. */
|
|
19
|
+
totalCols: number;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Normalized grid bounds for a rendered table cell.
|
|
23
|
+
*
|
|
24
|
+
* The exclusive end indexes make edge checks straightforward:
|
|
25
|
+
* - `endColExclusive === totalCols` means the cell touches the right table edge
|
|
26
|
+
* - `endRowExclusive === totalRows` means the cell touches the bottom table edge
|
|
27
|
+
*/
|
|
28
|
+
export type TableCellGridBounds = {
|
|
29
|
+
/** Inclusive starting row index. */
|
|
30
|
+
startRow: number;
|
|
31
|
+
/** Exclusive ending row index. */
|
|
32
|
+
endRowExclusive: number;
|
|
33
|
+
/** Inclusive starting column index. */
|
|
34
|
+
startCol: number;
|
|
35
|
+
/** Exclusive ending column index. */
|
|
36
|
+
endColExclusive: number;
|
|
37
|
+
/** Whether the cell touches the table's top outer edge. */
|
|
38
|
+
touchesTopEdge: boolean;
|
|
39
|
+
/** Whether the cell touches the table's bottom outer edge. */
|
|
40
|
+
touchesBottomEdge: boolean;
|
|
41
|
+
/** Whether the cell touches the table's left outer edge. */
|
|
42
|
+
touchesLeftEdge: boolean;
|
|
43
|
+
/** Whether the cell touches the table's right outer edge. */
|
|
44
|
+
touchesRightEdge: boolean;
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Computes the normalized grid bounds for a table cell.
|
|
48
|
+
*
|
|
49
|
+
* The DOM table painter uses these bounds to decide whether a cell owns
|
|
50
|
+
* the table's outer borders under the single-owner collapsed-border model.
|
|
51
|
+
*
|
|
52
|
+
* @param position - Cell position and span within the table grid
|
|
53
|
+
* @returns Normalized bounds plus edge-contact flags
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```typescript
|
|
57
|
+
* const bounds = getTableCellGridBounds({
|
|
58
|
+
* rowIndex: 0,
|
|
59
|
+
* rowSpan: 1,
|
|
60
|
+
* gridColumnStart: 0,
|
|
61
|
+
* colSpan: 2,
|
|
62
|
+
* totalRows: 5,
|
|
63
|
+
* totalCols: 2,
|
|
64
|
+
* });
|
|
65
|
+
*
|
|
66
|
+
* bounds.touchesRightEdge; // true
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
69
|
+
export declare const getTableCellGridBounds: (position: TableCellGridPosition) => TableCellGridBounds;
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import { CellBorders, DrawingBlock, DrawingMeasure, ImageBlock, Line, ParagraphBlock, SdtMetadata, TableBlock, TableCell, TableMeasure } from '../../../../contracts/src/index.js';
|
|
2
|
+
import { ResolvePhysicalFamily } from '../../../../../shared/font-system/src/index.js';
|
|
3
|
+
import { FragmentRenderContext } from '../renderer.js';
|
|
4
|
+
import { SdtAncestorOptions } from '../sdt/container.js';
|
|
5
|
+
type TableRowMeasure = TableMeasure['rows'][number];
|
|
6
|
+
type TableCellMeasure = TableRowMeasure['cells'][number];
|
|
7
|
+
type TableCellBlock = NonNullable<TableCell['blocks']>[number];
|
|
8
|
+
type TableCellBlockMeasure = NonNullable<TableCellMeasure['blocks']>[number];
|
|
9
|
+
type ResolveCellAnchoredTopParams = {
|
|
10
|
+
anchor: ImageBlock['anchor'] | DrawingBlock['anchor'];
|
|
11
|
+
anchorParagraphId?: string;
|
|
12
|
+
cellBlocks: TableCellBlock[];
|
|
13
|
+
blockMeasures: TableCellBlockMeasure[];
|
|
14
|
+
globalFromLine: number;
|
|
15
|
+
globalToLine: number;
|
|
16
|
+
paddingTop: number;
|
|
17
|
+
objectHeight: number;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Compute the total segment count for a cell's blocks, matching the layout engine's
|
|
21
|
+
* recursive getCellLines() expansion. Paragraph blocks contribute their line count,
|
|
22
|
+
* embedded tables contribute the sum of their rows' recursive segment counts,
|
|
23
|
+
* and other blocks (images, drawings) contribute 1 segment.
|
|
24
|
+
*/
|
|
25
|
+
export declare function getCellSegmentCount(cell: TableCellMeasure): number;
|
|
26
|
+
type CellAnchoredTop = {
|
|
27
|
+
top: number;
|
|
28
|
+
/**
|
|
29
|
+
* True only when the anchor paragraph was found and used as the base. Fallback results
|
|
30
|
+
* (page/margin bases, missing/unresolvable anchorParagraphId) keep the legacy
|
|
31
|
+
* top-of-cell invariant and must NOT be shifted by the vertical-alignment offset.
|
|
32
|
+
*/
|
|
33
|
+
paragraphResolved: boolean;
|
|
34
|
+
};
|
|
35
|
+
export declare const resolveCellAnchoredTop: (params: ResolveCellAnchoredTopParams) => CellAnchoredTop | null;
|
|
36
|
+
/**
|
|
37
|
+
* Dependencies required for rendering a table cell.
|
|
38
|
+
*
|
|
39
|
+
* Contains positioning, sizing, content, and rendering functions needed to
|
|
40
|
+
* create a table cell DOM element with its content.
|
|
41
|
+
*/
|
|
42
|
+
type TableCellRenderDependencies = {
|
|
43
|
+
/** Document object for creating DOM elements */
|
|
44
|
+
doc: Document;
|
|
45
|
+
/** Horizontal position (left edge) in pixels */
|
|
46
|
+
x: number;
|
|
47
|
+
/** Vertical position (top edge) in pixels */
|
|
48
|
+
y: number;
|
|
49
|
+
/** Height of the row containing this cell */
|
|
50
|
+
rowHeight: number;
|
|
51
|
+
/** Measurement data for this cell (width, paragraph layout) */
|
|
52
|
+
cellMeasure: TableRowMeasure['cells'][number];
|
|
53
|
+
/** Cell data (content, attributes), or undefined for empty cells */
|
|
54
|
+
cell?: TableBlock['rows'][number]['cells'][number];
|
|
55
|
+
/** Resolved borders for this cell */
|
|
56
|
+
borders?: CellBorders;
|
|
57
|
+
/** Whether to apply default border if no borders specified */
|
|
58
|
+
useDefaultBorder?: boolean;
|
|
59
|
+
/** Function to render a line of paragraph content */
|
|
60
|
+
renderLine: (block: ParagraphBlock, line: Line, context: FragmentRenderContext, lineIndex: number, isLastLine: boolean, resolvedListTextStartPx?: number) => HTMLElement;
|
|
61
|
+
/** Optional callback invoked after a table line's final styles/markers are applied. */
|
|
62
|
+
captureLineSnapshot?: (lineEl: HTMLElement, context: FragmentRenderContext, options?: {
|
|
63
|
+
inTableParagraph?: boolean;
|
|
64
|
+
wrapperEl?: HTMLElement;
|
|
65
|
+
}) => void;
|
|
66
|
+
/**
|
|
67
|
+
* Optional callback function to render drawing content (vectorShapes, shapeGroups).
|
|
68
|
+
* If provided, this callback is used to render DrawingBlocks with drawingKind of 'vectorShape' or 'shapeGroup'.
|
|
69
|
+
* The callback receives a DrawingBlock and must return an HTMLElement.
|
|
70
|
+
* The returned element will have width: 100% and height: 100% styles applied automatically.
|
|
71
|
+
* If undefined, a placeholder element with diagonal stripes pattern is rendered instead.
|
|
72
|
+
*/
|
|
73
|
+
renderDrawingContent?: (block: DrawingBlock, interactionHost: HTMLElement, measure: DrawingMeasure) => HTMLElement;
|
|
74
|
+
/** Rendering context */
|
|
75
|
+
context: FragmentRenderContext;
|
|
76
|
+
/** Function to apply SDT metadata as data attributes */
|
|
77
|
+
applySdtDataset: (el: HTMLElement | null, metadata?: SdtMetadata | null) => void;
|
|
78
|
+
/** Built-in SDT chrome rendering mode. */
|
|
79
|
+
chrome?: 'default' | 'none';
|
|
80
|
+
/** Ancestor SDT container key for suppressing duplicate container styling in cells */
|
|
81
|
+
ancestorContainerKey?: string | null;
|
|
82
|
+
/** Ancestor SDT metadata for suppressing duplicate id-less container styling in cells */
|
|
83
|
+
ancestorContainerSdt?: SdtMetadata | null;
|
|
84
|
+
/** Ancestor SDT keys for suppressing duplicate container styling in cells */
|
|
85
|
+
ancestorContainerKeys?: SdtAncestorOptions['ancestorContainerKeys'];
|
|
86
|
+
/** Ancestor SDT metadata chain for suppressing duplicate id-less container styling in cells */
|
|
87
|
+
ancestorContainerSdts?: SdtAncestorOptions['ancestorContainerSdts'];
|
|
88
|
+
/** Receives notification when this cell or descendants render SDT container chrome */
|
|
89
|
+
onSdtContainerChrome?: () => void;
|
|
90
|
+
/** Table indent in pixels (applied to table fragment positioning) */
|
|
91
|
+
tableIndent?: number;
|
|
92
|
+
/** Whether the table is visually right-to-left (w:bidiVisual, ECMA-376 §17.4.1) */
|
|
93
|
+
isRtl?: boolean;
|
|
94
|
+
/** Computed cell width from rescaled columnWidths (overrides cellMeasure.width when present) */
|
|
95
|
+
cellWidth?: number;
|
|
96
|
+
/** Starting line index for partial row rendering (inclusive) */
|
|
97
|
+
fromLine?: number;
|
|
98
|
+
/** Ending line index for partial row rendering (exclusive), -1 means render to end */
|
|
99
|
+
toLine?: number;
|
|
100
|
+
/**
|
|
101
|
+
* Per-document logical->physical font resolver for in-cell list markers and drop caps. Threaded
|
|
102
|
+
* from the renderer's per-document resolver so they paint the same physical family they were
|
|
103
|
+
* measured in. Undefined falls back to the global resolver.
|
|
104
|
+
*/
|
|
105
|
+
resolvePhysical?: ResolvePhysicalFamily;
|
|
106
|
+
};
|
|
107
|
+
/**
|
|
108
|
+
* Result of rendering a table cell.
|
|
109
|
+
*/
|
|
110
|
+
export type TableCellRenderResult = {
|
|
111
|
+
/** The cell container element (with borders, background, sizing, and content as child) */
|
|
112
|
+
cellElement: HTMLElement;
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* Renders a table cell as a DOM element.
|
|
116
|
+
*
|
|
117
|
+
* Creates a single cell element with content as a child:
|
|
118
|
+
* - cellElement: Absolutely-positioned container with borders, background, sizing, padding,
|
|
119
|
+
* and content rendered inside. Cell uses overflow:hidden to clip any overflow.
|
|
120
|
+
*
|
|
121
|
+
* Handles:
|
|
122
|
+
* - Cell borders (explicit or default)
|
|
123
|
+
* - Background colors
|
|
124
|
+
* - Vertical alignment (top, center, bottom)
|
|
125
|
+
* - Cell padding (applied directly to cell element)
|
|
126
|
+
* - Empty cells
|
|
127
|
+
*
|
|
128
|
+
* **Multi-Block Cell Rendering:**
|
|
129
|
+
* - Iterates through all blocks in the cell (cell.blocks or cell.paragraph)
|
|
130
|
+
* - Each block is rendered sequentially and stacked vertically
|
|
131
|
+
* - Only paragraph blocks are currently rendered (other block types are ignored)
|
|
132
|
+
*
|
|
133
|
+
* **Backward Compatibility:**
|
|
134
|
+
* - Supports legacy cell.paragraph field (single paragraph)
|
|
135
|
+
* - Falls back to empty array if neither cell.blocks nor cell.paragraph is present
|
|
136
|
+
* - Handles mismatches between blockMeasures and cellBlocks arrays using bounds checking
|
|
137
|
+
*
|
|
138
|
+
* **Empty Cell Handling:**
|
|
139
|
+
* - Cells with no blocks render only the cell container (no content inside)
|
|
140
|
+
* - Empty blocks arrays are safe (no content rendered)
|
|
141
|
+
*
|
|
142
|
+
* @param deps - All dependencies required for rendering
|
|
143
|
+
* @returns Object containing cellElement (content is rendered inside as child)
|
|
144
|
+
*
|
|
145
|
+
* @example
|
|
146
|
+
* ```typescript
|
|
147
|
+
* const { cellElement } = renderTableCell({
|
|
148
|
+
* doc: document,
|
|
149
|
+
* x: 100,
|
|
150
|
+
* y: 50,
|
|
151
|
+
* rowHeight: 30,
|
|
152
|
+
* cellMeasure,
|
|
153
|
+
* cell,
|
|
154
|
+
* borders,
|
|
155
|
+
* useDefaultBorder: false,
|
|
156
|
+
* renderLine,
|
|
157
|
+
* renderDrawingContent: (block) => {
|
|
158
|
+
* // Custom drawing renderer for vectorShapes and shapeGroups
|
|
159
|
+
* const el = document.createElement('div');
|
|
160
|
+
* // Render drawing content...
|
|
161
|
+
* return el;
|
|
162
|
+
* },
|
|
163
|
+
* context,
|
|
164
|
+
* applySdtDataset
|
|
165
|
+
* });
|
|
166
|
+
* container.appendChild(cellElement);
|
|
167
|
+
* ```
|
|
168
|
+
*/
|
|
169
|
+
export declare const renderTableCell: (deps: TableCellRenderDependencies) => TableCellRenderResult;
|
|
170
|
+
export {};
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { DrawingBlock, DrawingMeasure, Fragment, Line, ParagraphBlock, SdtMetadata, TableBlock, TableFragment, TableMeasure } from '../../../../contracts/src/index.js';
|
|
2
|
+
import { ResolvePhysicalFamily } from '../../../../../shared/font-system/src/index.js';
|
|
3
|
+
import { FragmentRenderContext } from '../renderer.js';
|
|
4
|
+
import { SdtAncestorOptions, SdtBoundaryOptions } from '../sdt/container.js';
|
|
5
|
+
type ApplyStylesFn = (el: HTMLElement, styles: Partial<CSSStyleDeclaration>) => void;
|
|
6
|
+
/**
|
|
7
|
+
* Dependencies required for rendering a table fragment.
|
|
8
|
+
*
|
|
9
|
+
* Encapsulates all external dependencies needed to render a table, including
|
|
10
|
+
* document access, rendering context, pre-resolved table data, and helper functions.
|
|
11
|
+
*/
|
|
12
|
+
export type TableRenderDependencies = {
|
|
13
|
+
/** Document object for creating DOM elements */
|
|
14
|
+
doc: Document;
|
|
15
|
+
/** Table fragment to render (contains dimensions and row range) */
|
|
16
|
+
fragment: TableFragment;
|
|
17
|
+
/** Rendering context (section info, etc.) */
|
|
18
|
+
context: FragmentRenderContext;
|
|
19
|
+
/** Pre-extracted TableBlock (replaces blockLookup.get()) */
|
|
20
|
+
block: TableBlock;
|
|
21
|
+
/** Pre-extracted TableMeasure (replaces blockLookup.get()) */
|
|
22
|
+
measure: TableMeasure;
|
|
23
|
+
/** Pre-computed cell spacing in pixels */
|
|
24
|
+
cellSpacingPx: number;
|
|
25
|
+
/** Pre-computed effective column widths (fragment.columnWidths ?? measure.columnWidths) */
|
|
26
|
+
effectiveColumnWidths: number[];
|
|
27
|
+
/** Optional SDT boundary overrides for container styling */
|
|
28
|
+
sdtBoundary?: SdtBoundaryOptions;
|
|
29
|
+
/** Ancestor SDT key used to suppress duplicate container chrome in nested tables */
|
|
30
|
+
ancestorContainerKey?: string | null;
|
|
31
|
+
/** Ancestor SDT metadata used to suppress duplicate id-less container chrome in nested tables */
|
|
32
|
+
ancestorContainerSdt?: SdtMetadata | null;
|
|
33
|
+
/** Ancestor SDT keys used to suppress duplicate container chrome in nested tables */
|
|
34
|
+
ancestorContainerKeys?: SdtAncestorOptions['ancestorContainerKeys'];
|
|
35
|
+
/** Ancestor SDT metadata chain used to suppress duplicate id-less container chrome in nested tables */
|
|
36
|
+
ancestorContainerSdts?: SdtAncestorOptions['ancestorContainerSdts'];
|
|
37
|
+
/** Receives notification when this table fragment or descendants render SDT container chrome */
|
|
38
|
+
onSdtContainerChrome?: () => void;
|
|
39
|
+
/** Built-in SDT chrome rendering mode. */
|
|
40
|
+
chrome?: 'default' | 'none';
|
|
41
|
+
/** Function to render a line of paragraph content */
|
|
42
|
+
renderLine: (block: ParagraphBlock, line: Line, context: FragmentRenderContext, lineIndex: number, isLastLine: boolean) => HTMLElement;
|
|
43
|
+
/** Optional callback invoked after a table line's final styles/markers are applied. */
|
|
44
|
+
captureLineSnapshot?: (lineEl: HTMLElement, context: FragmentRenderContext, options?: {
|
|
45
|
+
inTableParagraph?: boolean;
|
|
46
|
+
wrapperEl?: HTMLElement;
|
|
47
|
+
}) => void;
|
|
48
|
+
/** Function to render drawing content (images, shapes, shape groups) */
|
|
49
|
+
renderDrawingContent?: (block: DrawingBlock, interactionHost: HTMLElement, measure: DrawingMeasure) => HTMLElement;
|
|
50
|
+
/** Function to apply fragment positioning and dimensions */
|
|
51
|
+
applyFragmentFrame: (el: HTMLElement, fragment: Fragment) => void;
|
|
52
|
+
/** Function to apply SDT metadata as data attributes */
|
|
53
|
+
applySdtDataset: (el: HTMLElement | null, metadata?: SdtMetadata | null) => void;
|
|
54
|
+
/** Function to apply container SDT metadata as data attributes */
|
|
55
|
+
applyContainerSdtDataset?: (el: HTMLElement | null, metadata?: SdtMetadata | null) => void;
|
|
56
|
+
/** Function to apply CSS styles to an element */
|
|
57
|
+
applyStyles: ApplyStylesFn;
|
|
58
|
+
/**
|
|
59
|
+
* Per-document logical->physical font resolver for in-cell list markers and drop caps. Threaded
|
|
60
|
+
* from the renderer's per-document resolver so they paint the same physical family they were
|
|
61
|
+
* measured in. Undefined falls back to the global resolver.
|
|
62
|
+
*/
|
|
63
|
+
resolvePhysical?: ResolvePhysicalFamily;
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Renders a table fragment as a DOM element.
|
|
67
|
+
*
|
|
68
|
+
* Creates a container div with absolutely-positioned rows and cells. Handles:
|
|
69
|
+
* - Table border overlays for outer borders
|
|
70
|
+
* - Border collapse settings
|
|
71
|
+
* - Cell spacing
|
|
72
|
+
* - Row-by-row rendering with proper positioning
|
|
73
|
+
* - Metadata embedding for interactive table resizing
|
|
74
|
+
*
|
|
75
|
+
* **Error Handling:**
|
|
76
|
+
* If the document is unavailable, returns an error placeholder instead of
|
|
77
|
+
* throwing. Table block/measure validation is performed by the caller before
|
|
78
|
+
* invoking this helper.
|
|
79
|
+
*
|
|
80
|
+
* **SDT Container Styling:**
|
|
81
|
+
* If the table block has SDT metadata (`block.attrs?.sdt`), applies appropriate
|
|
82
|
+
* container styling via `applySdtContainerChrome()`:
|
|
83
|
+
* - Document sections: Gray border with hover tooltip
|
|
84
|
+
* - Structured content blocks: Blue border with label
|
|
85
|
+
* Uses type-safe helper functions to avoid unsafe type assertions.
|
|
86
|
+
*
|
|
87
|
+
* **Metadata Embedding:**
|
|
88
|
+
* Embeds column boundary metadata in the `data-table-boundaries` attribute
|
|
89
|
+
* using a compact JSON format:
|
|
90
|
+
* ```json
|
|
91
|
+
* {
|
|
92
|
+
* "columns": [
|
|
93
|
+
* {"i": 0, "x": 0, "w": 100, "min": 25, "r": 1},
|
|
94
|
+
* {"i": 1, "x": 100, "w": 150, "min": 30, "r": 1}
|
|
95
|
+
* ],
|
|
96
|
+
* "rows": [
|
|
97
|
+
* {"i": 0, "y": 0, "h": 30, "min": 10, "r": 1},
|
|
98
|
+
* {"i": 1, "y": 34, "h": 25, "min": 10, "r": 1}
|
|
99
|
+
* ]
|
|
100
|
+
* }
|
|
101
|
+
* ```
|
|
102
|
+
* Where for columns: i=index, x=position, w=width, min=minWidth, r=resizable(0/1)
|
|
103
|
+
* Where for rows: i=index, y=position, h=height, min=minHeight, r=resizable(0/1)
|
|
104
|
+
*
|
|
105
|
+
* **Edge Cases:**
|
|
106
|
+
* - Missing metadata: Element created without data-table-boundaries attribute
|
|
107
|
+
* - Empty columnBoundaries: Creates empty columns array in JSON
|
|
108
|
+
* - Missing block ID: Element created without data-sd-block-id attribute
|
|
109
|
+
*
|
|
110
|
+
* @param deps - All dependencies required for rendering
|
|
111
|
+
* @returns HTMLElement containing the rendered table fragment, or error placeholder
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* ```typescript
|
|
115
|
+
* const tableElement = renderTableFragment({
|
|
116
|
+
* doc: document,
|
|
117
|
+
* fragment: tableFragment,
|
|
118
|
+
* context: renderContext,
|
|
119
|
+
* block: tableBlock,
|
|
120
|
+
* measure: tableMeasure,
|
|
121
|
+
* cellSpacingPx: 0,
|
|
122
|
+
* effectiveColumnWidths: tableMeasure.columnWidths,
|
|
123
|
+
* renderLine,
|
|
124
|
+
* applyFragmentFrame,
|
|
125
|
+
* applySdtDataset,
|
|
126
|
+
* applyStyles
|
|
127
|
+
* });
|
|
128
|
+
* container.appendChild(tableElement);
|
|
129
|
+
* ```
|
|
130
|
+
*/
|
|
131
|
+
export declare const renderTableFragment: (deps: TableRenderDependencies) => HTMLElement;
|
|
132
|
+
export {};
|