superdoc 2.2.0 → 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 -74
- package/web/views/index.ejs +0 -53
- package/web/views/layout.ejs +0 -13
- package/web/views/method.ejs +0 -59
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
import { MeasureCacheStats } from './cache.js';
|
|
2
|
+
/**
|
|
3
|
+
* Performance metrics for page token resolution.
|
|
4
|
+
* Tracks timing and iteration counts for monitoring rollout health.
|
|
5
|
+
*/
|
|
6
|
+
export interface PageTokenMetrics {
|
|
7
|
+
/** Total time spent in token resolution (milliseconds) */
|
|
8
|
+
totalTimeMs: number;
|
|
9
|
+
/** Number of convergence iterations (0 = no tokens, 1+ = resolution occurred) */
|
|
10
|
+
iterations: number;
|
|
11
|
+
/** Number of blocks affected by token resolution */
|
|
12
|
+
affectedBlocks: number;
|
|
13
|
+
/** Time spent re-measuring blocks (milliseconds) */
|
|
14
|
+
remeasureTimeMs: number;
|
|
15
|
+
/** Time spent re-running layout (milliseconds) */
|
|
16
|
+
relayoutTimeMs: number;
|
|
17
|
+
/** Whether convergence was achieved within max iterations */
|
|
18
|
+
converged: boolean;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Header/footer cache metrics.
|
|
22
|
+
* Tracks cache performance for optimization and capacity planning.
|
|
23
|
+
*/
|
|
24
|
+
export interface HeaderFooterCacheMetrics {
|
|
25
|
+
/** Cache hit count for this operation */
|
|
26
|
+
hits: number;
|
|
27
|
+
/** Cache miss count for this operation */
|
|
28
|
+
misses: number;
|
|
29
|
+
/** Hit rate percentage (0-100) */
|
|
30
|
+
hitRate: number;
|
|
31
|
+
/** Current cache size (number of entries) */
|
|
32
|
+
cacheSize: number;
|
|
33
|
+
/** Estimated memory usage (bytes) */
|
|
34
|
+
memoryEstimate: number;
|
|
35
|
+
/** Number of evictions due to LRU policy */
|
|
36
|
+
evictions: number;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Layout performance metrics.
|
|
40
|
+
* High-level timing for the entire layout operation.
|
|
41
|
+
*/
|
|
42
|
+
export interface LayoutMetrics {
|
|
43
|
+
/** Total layout time including all phases (milliseconds) */
|
|
44
|
+
totalTimeMs: number;
|
|
45
|
+
/** Measurement phase time (milliseconds) */
|
|
46
|
+
measureTimeMs: number;
|
|
47
|
+
/** Initial pagination time (milliseconds) */
|
|
48
|
+
paginationTimeMs: number;
|
|
49
|
+
/** Token resolution phase time (milliseconds) */
|
|
50
|
+
tokenResolutionTimeMs: number;
|
|
51
|
+
/** Header/footer layout time (milliseconds) */
|
|
52
|
+
headerFooterTimeMs: number;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Debug logger for page token resolution.
|
|
56
|
+
* Only logs when SD_DEBUG_PAGE_TOKENS is enabled.
|
|
57
|
+
*/
|
|
58
|
+
export declare const PageTokenLogger: {
|
|
59
|
+
/**
|
|
60
|
+
* Logs the start of token resolution.
|
|
61
|
+
*
|
|
62
|
+
* @param iteration - Current iteration number (0-based)
|
|
63
|
+
* @param totalPages - Total number of pages in the document
|
|
64
|
+
*/
|
|
65
|
+
logIterationStart(iteration: number, totalPages: number): void;
|
|
66
|
+
/**
|
|
67
|
+
* Logs affected blocks during token resolution.
|
|
68
|
+
*
|
|
69
|
+
* @param iteration - Current iteration number (0-based)
|
|
70
|
+
* @param affectedBlockIds - Set of affected block IDs
|
|
71
|
+
* @param blockSamples - Sample block IDs for debugging (first 5)
|
|
72
|
+
*/
|
|
73
|
+
logAffectedBlocks(iteration: number, affectedBlockIds: Set<string>, blockSamples?: string[]): void;
|
|
74
|
+
/**
|
|
75
|
+
* Logs convergence status.
|
|
76
|
+
*
|
|
77
|
+
* @param iteration - Final iteration number
|
|
78
|
+
* @param converged - Whether convergence was achieved
|
|
79
|
+
* @param totalTimeMs - Total time spent in token resolution
|
|
80
|
+
*/
|
|
81
|
+
logConvergence(iteration: number, converged: boolean, totalTimeMs: number): void;
|
|
82
|
+
/**
|
|
83
|
+
* Logs token resolution error.
|
|
84
|
+
*
|
|
85
|
+
* @param blockId - Block ID where error occurred
|
|
86
|
+
* @param error - Error object
|
|
87
|
+
*/
|
|
88
|
+
logError(blockId: string, error: unknown): void;
|
|
89
|
+
/**
|
|
90
|
+
* Logs re-measurement details.
|
|
91
|
+
*
|
|
92
|
+
* @param blockCount - Number of blocks being re-measured
|
|
93
|
+
* @param timeMs - Time spent re-measuring
|
|
94
|
+
*/
|
|
95
|
+
logRemeasure(blockCount: number, timeMs: number): void;
|
|
96
|
+
};
|
|
97
|
+
/**
|
|
98
|
+
* Debug logger for header/footer cache operations.
|
|
99
|
+
* Only logs when SD_DEBUG_HF_CACHE is enabled.
|
|
100
|
+
*/
|
|
101
|
+
export declare const HeaderFooterCacheLogger: {
|
|
102
|
+
/**
|
|
103
|
+
* Logs cache hit for a header/footer variant.
|
|
104
|
+
*
|
|
105
|
+
* @param variantType - Variant type (default, first, even, odd)
|
|
106
|
+
* @param pageNumber - Page number being cached
|
|
107
|
+
* @param bucket - Digit bucket (d1, d2, d3, d4) or 'exact'
|
|
108
|
+
*/
|
|
109
|
+
logCacheHit(variantType: string, pageNumber: number, bucket: string): void;
|
|
110
|
+
/**
|
|
111
|
+
* Logs cache miss for a header/footer variant.
|
|
112
|
+
*
|
|
113
|
+
* @param variantType - Variant type (default, first, even, odd)
|
|
114
|
+
* @param pageNumber - Page number being cached
|
|
115
|
+
* @param bucket - Digit bucket (d1, d2, d3, d4) or 'exact'
|
|
116
|
+
*/
|
|
117
|
+
logCacheMiss(variantType: string, pageNumber: number, bucket: string): void;
|
|
118
|
+
/**
|
|
119
|
+
* Logs cache invalidation.
|
|
120
|
+
*
|
|
121
|
+
* @param reason - Reason for invalidation
|
|
122
|
+
* @param affectedBlockIds - Block IDs being invalidated
|
|
123
|
+
*/
|
|
124
|
+
logInvalidation(reason: string, affectedBlockIds: string[]): void;
|
|
125
|
+
/**
|
|
126
|
+
* Logs cache statistics.
|
|
127
|
+
*
|
|
128
|
+
* @param stats - Cache statistics object
|
|
129
|
+
*/
|
|
130
|
+
logStats(stats: MeasureCacheStats): void;
|
|
131
|
+
/**
|
|
132
|
+
* Logs bucketing decision for large documents.
|
|
133
|
+
*
|
|
134
|
+
* @param totalPages - Total number of pages
|
|
135
|
+
* @param useBucketing - Whether bucketing is being used
|
|
136
|
+
* @param buckets - Buckets needed (if bucketing enabled)
|
|
137
|
+
*/
|
|
138
|
+
logBucketingDecision(totalPages: number, useBucketing: boolean, buckets?: string[]): void;
|
|
139
|
+
};
|
|
140
|
+
/**
|
|
141
|
+
* Metrics collector for performance monitoring.
|
|
142
|
+
* Collects metrics even when debug logging is disabled, for production monitoring.
|
|
143
|
+
*/
|
|
144
|
+
export declare class MetricsCollector {
|
|
145
|
+
private pageTokenMetrics;
|
|
146
|
+
private headerFooterCacheMetrics;
|
|
147
|
+
private layoutMetrics;
|
|
148
|
+
/**
|
|
149
|
+
* Records page token resolution metrics.
|
|
150
|
+
*
|
|
151
|
+
* @param metrics - Page token metrics
|
|
152
|
+
*/
|
|
153
|
+
recordPageTokenMetrics(metrics: PageTokenMetrics): void;
|
|
154
|
+
/**
|
|
155
|
+
* Records header/footer cache metrics.
|
|
156
|
+
*
|
|
157
|
+
* @param stats - Cache statistics
|
|
158
|
+
*/
|
|
159
|
+
recordHeaderFooterCacheMetrics(stats: MeasureCacheStats): void;
|
|
160
|
+
/**
|
|
161
|
+
* Records overall layout metrics.
|
|
162
|
+
*
|
|
163
|
+
* @param metrics - Layout metrics
|
|
164
|
+
*/
|
|
165
|
+
recordLayoutMetrics(metrics: LayoutMetrics): void;
|
|
166
|
+
/**
|
|
167
|
+
* Gets all collected metrics.
|
|
168
|
+
*
|
|
169
|
+
* @returns Object with all metrics or null if not collected
|
|
170
|
+
*/
|
|
171
|
+
getMetrics(): {
|
|
172
|
+
pageTokens: PageTokenMetrics | null;
|
|
173
|
+
headerFooterCache: HeaderFooterCacheMetrics | null;
|
|
174
|
+
layout: LayoutMetrics | null;
|
|
175
|
+
};
|
|
176
|
+
/**
|
|
177
|
+
* Resets all collected metrics.
|
|
178
|
+
*/
|
|
179
|
+
reset(): void;
|
|
180
|
+
/**
|
|
181
|
+
* Checks for page token rollback triggers and logs warnings.
|
|
182
|
+
*
|
|
183
|
+
* Rollback triggers (from plan):
|
|
184
|
+
* - Convergence > 2 iterations
|
|
185
|
+
* - Token resolution time > 100ms per layout run
|
|
186
|
+
*
|
|
187
|
+
* @param metrics - Page token metrics
|
|
188
|
+
*/
|
|
189
|
+
private checkPageTokenRollbackTriggers;
|
|
190
|
+
/**
|
|
191
|
+
* Checks for cache rollback triggers and logs warnings.
|
|
192
|
+
*
|
|
193
|
+
* Rollback triggers (from plan):
|
|
194
|
+
* - Cache thrash (hit rate below 30%)
|
|
195
|
+
* - Excessive memory usage (>1MB per 100 pages)
|
|
196
|
+
*
|
|
197
|
+
* @param metrics - Header/footer cache metrics
|
|
198
|
+
*/
|
|
199
|
+
private checkCacheRollbackTriggers;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Global metrics collector instance.
|
|
203
|
+
* Can be accessed for monitoring and debugging.
|
|
204
|
+
*/
|
|
205
|
+
export declare const globalMetrics: MetricsCollector;
|
|
206
|
+
/**
|
|
207
|
+
* Logger for layout version events.
|
|
208
|
+
* Guards all logging behind SD_DEBUG_LAYOUT_VERSION flag for zero overhead in production.
|
|
209
|
+
*/
|
|
210
|
+
export declare const LayoutVersionLogger: {
|
|
211
|
+
/**
|
|
212
|
+
* Log when selection overlay attempts to use stale layout.
|
|
213
|
+
*
|
|
214
|
+
* @param versionGap - Number of PM versions ahead of layout
|
|
215
|
+
* @param stalenessDuration - How long layout has been stale (ms)
|
|
216
|
+
*/
|
|
217
|
+
logStaleLayoutRead(versionGap: number, stalenessDuration: number): void;
|
|
218
|
+
/**
|
|
219
|
+
* Log when geometry fallback is used due to missing pmStart/pmEnd.
|
|
220
|
+
*
|
|
221
|
+
* @param reason - Why fallback was needed
|
|
222
|
+
* @param pos - PM position that failed
|
|
223
|
+
*/
|
|
224
|
+
logGeometryFallback(reason: string, pos: number): void;
|
|
225
|
+
/**
|
|
226
|
+
* Log when layout catches up to current PM state.
|
|
227
|
+
*
|
|
228
|
+
* @param versionGap - How many versions layout was behind
|
|
229
|
+
* @param stalenessDuration - Total duration layout was stale (ms)
|
|
230
|
+
*/
|
|
231
|
+
logLayoutCaughtUp(versionGap: number, stalenessDuration: number): void;
|
|
232
|
+
/**
|
|
233
|
+
* Log PM transaction that increments version.
|
|
234
|
+
*
|
|
235
|
+
* @param newVersion - New PM version after transaction
|
|
236
|
+
*/
|
|
237
|
+
logPmTransaction(newVersion: number): void;
|
|
238
|
+
/**
|
|
239
|
+
* Log layout completion.
|
|
240
|
+
*
|
|
241
|
+
* @param version - Version of the completed layout
|
|
242
|
+
* @param isStale - Whether layout is still stale after this completion
|
|
243
|
+
*/
|
|
244
|
+
logLayoutComplete(version: number, isStale: boolean): void;
|
|
245
|
+
};
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { FlowBlock, HeaderFooterLayout, Measure, PageNumberChapterSeparator, PageNumberFormat, ParagraphBlock, ParagraphMeasure } from '../../contracts/src/index.js';
|
|
2
|
+
import { HeaderFooterConstraints } from '../../layout-engine/src/index.js';
|
|
3
|
+
import { MeasureCache } from './cache.js';
|
|
4
|
+
import { ResolveHeaderFooterTokensOptions } from './resolveHeaderFooterTokens.js';
|
|
5
|
+
export type HeaderFooterBatch = Partial<Record<'default' | 'first' | 'even' | 'odd', FlowBlock[]>>;
|
|
6
|
+
export type MeasureResolver = (block: FlowBlock, constraints: {
|
|
7
|
+
maxWidth: number;
|
|
8
|
+
maxHeight: number;
|
|
9
|
+
}) => Promise<Measure>;
|
|
10
|
+
export type HeaderFooterBatchResult = Partial<Record<'default' | 'first' | 'even' | 'odd', {
|
|
11
|
+
blocks: FlowBlock[];
|
|
12
|
+
measures: Measure[];
|
|
13
|
+
layout: HeaderFooterLayout;
|
|
14
|
+
}>>;
|
|
15
|
+
/**
|
|
16
|
+
* Page resolver callback for header/footer token resolution.
|
|
17
|
+
* Provides display page information for a specific physical page number.
|
|
18
|
+
*
|
|
19
|
+
* @param pageNumber - Physical page number (1-indexed)
|
|
20
|
+
* @returns Display page information including formatted text and total pages
|
|
21
|
+
*/
|
|
22
|
+
export type PageResolver = (pageNumber: number) => {
|
|
23
|
+
displayText: string;
|
|
24
|
+
displayNumber?: number;
|
|
25
|
+
totalPages: number;
|
|
26
|
+
sectionPageCount?: number;
|
|
27
|
+
pageFormat?: PageNumberFormat;
|
|
28
|
+
chapterNumberText?: string;
|
|
29
|
+
chapterSeparator?: PageNumberChapterSeparator;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Digit bucket for page number caching strategy.
|
|
33
|
+
* Different digit lengths require different measurements due to width changes.
|
|
34
|
+
*/
|
|
35
|
+
export type DigitBucket = 'd1' | 'd2' | 'd3' | 'd4';
|
|
36
|
+
/**
|
|
37
|
+
* Determines the digit bucket for a given page number.
|
|
38
|
+
*
|
|
39
|
+
* Bucket strategy:
|
|
40
|
+
* - d1: 1-9 (single digit)
|
|
41
|
+
* - d2: 10-99 (two digits)
|
|
42
|
+
* - d3: 100-999 (three digits)
|
|
43
|
+
* - d4: 1000+ (four or more digits)
|
|
44
|
+
*
|
|
45
|
+
* This bucketing allows us to cache header/footer layouts by digit width,
|
|
46
|
+
* reducing the number of unique layouts we need to measure and store.
|
|
47
|
+
*
|
|
48
|
+
* @param pageNumber - Page number to bucket (1-indexed)
|
|
49
|
+
* @returns Digit bucket identifier
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```typescript
|
|
53
|
+
* getBucketForPageNumber(5); // 'd1'
|
|
54
|
+
* getBucketForPageNumber(42); // 'd2'
|
|
55
|
+
* getBucketForPageNumber(123); // 'd3'
|
|
56
|
+
* getBucketForPageNumber(1000); // 'd4'
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export declare function getBucketForPageNumber(pageNumber: number): DigitBucket;
|
|
60
|
+
/**
|
|
61
|
+
* Gets a representative page number for a digit bucket.
|
|
62
|
+
*
|
|
63
|
+
* The representative page is used for measurement and layout.
|
|
64
|
+
* We choose mid-range values to get realistic measurements:
|
|
65
|
+
* - d1: 5 (middle of 1-9)
|
|
66
|
+
* - d2: 50 (middle of 10-99)
|
|
67
|
+
* - d3: 500 (middle of 100-999)
|
|
68
|
+
* - d4: 5000 (representative of 1000+)
|
|
69
|
+
*
|
|
70
|
+
* @param bucket - Digit bucket identifier
|
|
71
|
+
* @returns Representative page number for the bucket
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```typescript
|
|
75
|
+
* getBucketRepresentative('d1'); // 5
|
|
76
|
+
* getBucketRepresentative('d2'); // 50
|
|
77
|
+
* getBucketRepresentative('d3'); // 500
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
export declare function getBucketRepresentative(bucket: DigitBucket): number;
|
|
81
|
+
export declare class HeaderFooterLayoutCache {
|
|
82
|
+
private readonly cache;
|
|
83
|
+
/** Drop every cached header/footer measure (equivalence-oracle cold start). */
|
|
84
|
+
clear(): void;
|
|
85
|
+
measureBlocks(blocks: FlowBlock[], constraints: {
|
|
86
|
+
width: number;
|
|
87
|
+
height: number;
|
|
88
|
+
}, measureBlock: MeasureResolver, fontSignature?: string): Promise<Measure[]>;
|
|
89
|
+
invalidate(blockIds: string[]): void;
|
|
90
|
+
/**
|
|
91
|
+
* Gets cache statistics for monitoring and debugging.
|
|
92
|
+
*
|
|
93
|
+
* @returns Cache statistics object
|
|
94
|
+
*/
|
|
95
|
+
getStats(): ReturnType<MeasureCache<Measure>['getStats']>;
|
|
96
|
+
}
|
|
97
|
+
/** Invalidate header/footer measure cache entries for the given block IDs. */
|
|
98
|
+
export declare function invalidateHeaderFooterMeasureCache(blockIds: string[]): void;
|
|
99
|
+
/**
|
|
100
|
+
* Layouts header/footer variants with intelligent caching and page number resolution.
|
|
101
|
+
*
|
|
102
|
+
* Features:
|
|
103
|
+
* - Resolves page tokens using section-aware display page numbers
|
|
104
|
+
* - Uses digit bucketing to optimize caching for large documents
|
|
105
|
+
* - Clones blocks per page/bucket to avoid mutating shared source data
|
|
106
|
+
* - Produces HeaderFooterLayout with per-page fragments
|
|
107
|
+
*
|
|
108
|
+
* Key behaviors:
|
|
109
|
+
* 1. If no pageResolver provided: falls back to simple single-page layout (backward compatibility)
|
|
110
|
+
* 2. If variant has no tokens: creates one layout reused across all pages (fast path)
|
|
111
|
+
* 3. For small docs (<100 pages): creates per-page layouts
|
|
112
|
+
* 4. For large docs (>=100 pages): uses digit bucketing (d1, d2, d3, d4)
|
|
113
|
+
* unless PAGE tokens use non-decimal field formatting
|
|
114
|
+
*
|
|
115
|
+
* @param sections - Header/footer variants (default, first, even, odd)
|
|
116
|
+
* @param constraints - Layout constraints (width, height, margins)
|
|
117
|
+
* @param measureBlock - Function to measure individual blocks
|
|
118
|
+
* @param cache - Measurement cache instance (optional, uses shared cache by default)
|
|
119
|
+
* @param totalPages - Total page count for backward compatibility (deprecated, use pageResolver)
|
|
120
|
+
* @param pageResolver - Callback to resolve display page info for a physical page number
|
|
121
|
+
* @returns Batch result with layouts, blocks, and measures for each variant
|
|
122
|
+
*/
|
|
123
|
+
export declare function layoutHeaderFooterWithCache(sections: HeaderFooterBatch, constraints: HeaderFooterConstraints, measureBlock: MeasureResolver, cache?: HeaderFooterLayoutCache, totalPages?: number, pageResolver?: PageResolver, kind?: 'header' | 'footer', fontSignature?: string, remeasureParagraph?: (block: ParagraphBlock, maxWidth: number, firstLineIndent?: number) => ParagraphMeasure, options?: ResolveHeaderFooterTokensOptions): Promise<HeaderFooterBatchResult>;
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import { ParagraphBlock, ParagraphIndent, WordLayoutConfig } from '../../contracts/src/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Utilities for list item detection and text indent calculation.
|
|
4
|
+
*
|
|
5
|
+
* These functions provide consistent logic for determining whether a block is a list item
|
|
6
|
+
* and calculating the correct text start position based on list type (standard hanging indent
|
|
7
|
+
* vs. firstLineIndentMode).
|
|
8
|
+
*
|
|
9
|
+
* **Background:**
|
|
10
|
+
* SuperDoc supports two distinct list rendering modes:
|
|
11
|
+
* 1. **Standard hanging indent lists**: Marker sits in the hanging indent area, text starts at paraIndentLeft
|
|
12
|
+
* 2. **First-line indent mode lists**: Marker is positioned at paraIndentLeft + firstLine, text starts at textStartPx
|
|
13
|
+
*
|
|
14
|
+
* The first-line indent mode is used by input-rule-created lists (e.g., typing "1. " or "- ") and requires
|
|
15
|
+
* special handling to match Word's rendering behavior.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Extracts word layout configuration from paragraph attributes with type safety.
|
|
19
|
+
*
|
|
20
|
+
* @param block - The paragraph block to extract configuration from
|
|
21
|
+
* @returns Typed word layout configuration, or undefined if not present
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* const config = getWordLayoutConfig(paragraphBlock);
|
|
26
|
+
* if (config?.firstLineIndentMode) {
|
|
27
|
+
* const textStart = config.textStartPx ?? 0;
|
|
28
|
+
* }
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export declare function getWordLayoutConfig(block: ParagraphBlock | undefined): WordLayoutConfig | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* Determines if a block is a list item based on multiple detection signals.
|
|
34
|
+
*
|
|
35
|
+
* This function uses explicit list signals:
|
|
36
|
+
* 1. **Marker width**: Primary signal - lists always have markers
|
|
37
|
+
* 2. **List attributes**: Explicit list metadata from ProseMirror
|
|
38
|
+
*
|
|
39
|
+
* Paragraph indentation alone is not a list signal: ordinary Word paragraphs
|
|
40
|
+
* can use the same left + hanging-indent geometry without a marker.
|
|
41
|
+
*
|
|
42
|
+
* @param markerWidth - The measured width of the list marker in pixels (0 for non-lists)
|
|
43
|
+
* @param block - The paragraph block to check (may be undefined for defensive coding)
|
|
44
|
+
* @returns True if the block is a list item, false otherwise
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```typescript
|
|
48
|
+
* const markerWidth = fragment.markerWidth ?? measure.marker?.markerWidth ?? 0;
|
|
49
|
+
* if (isListItem(markerWidth, block)) {
|
|
50
|
+
* // Apply list-specific text positioning
|
|
51
|
+
* }
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
export declare function isListItem(markerWidth: number, block: ParagraphBlock | undefined): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Configuration for calculating text start indent.
|
|
57
|
+
*
|
|
58
|
+
* This type defines all the parameters needed to calculate where text content
|
|
59
|
+
* starts horizontally within a paragraph fragment. It supports both standard
|
|
60
|
+
* paragraphs and list items (with standard hanging indent or first-line indent mode).
|
|
61
|
+
*
|
|
62
|
+
* All measurements are in pixels.
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* ```typescript
|
|
66
|
+
* // Standard list item (hanging indent mode)
|
|
67
|
+
* const standardListParams: TextIndentCalculationParams = {
|
|
68
|
+
* isFirstLine: true,
|
|
69
|
+
* isListItem: true,
|
|
70
|
+
* markerWidth: 18,
|
|
71
|
+
* paraIndentLeft: 36,
|
|
72
|
+
* firstLineIndent: 0,
|
|
73
|
+
* hangingIndent: 18,
|
|
74
|
+
* wordLayout: undefined
|
|
75
|
+
* };
|
|
76
|
+
* const indent = calculateTextStartIndent(standardListParams);
|
|
77
|
+
* // Returns: 36 (text starts at paraIndentLeft)
|
|
78
|
+
* ```
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* ```typescript
|
|
82
|
+
* // First-line indent mode list item (input-rule created)
|
|
83
|
+
* const firstLineIndentParams: TextIndentCalculationParams = {
|
|
84
|
+
* isFirstLine: true,
|
|
85
|
+
* isListItem: true,
|
|
86
|
+
* markerWidth: 20,
|
|
87
|
+
* paraIndentLeft: 36,
|
|
88
|
+
* firstLineIndent: 0,
|
|
89
|
+
* hangingIndent: 18,
|
|
90
|
+
* wordLayout: {
|
|
91
|
+
* firstLineIndentMode: true,
|
|
92
|
+
* textStartPx: 56 // Pre-calculated position after marker + tab
|
|
93
|
+
* }
|
|
94
|
+
* };
|
|
95
|
+
* const indent = calculateTextStartIndent(firstLineIndentParams);
|
|
96
|
+
* // Returns: 56 (from textStartPx)
|
|
97
|
+
* ```
|
|
98
|
+
*
|
|
99
|
+
* @example
|
|
100
|
+
* ```typescript
|
|
101
|
+
* // Non-list paragraph with first-line indent
|
|
102
|
+
* const paragraphParams: TextIndentCalculationParams = {
|
|
103
|
+
* isFirstLine: true,
|
|
104
|
+
* isListItem: false,
|
|
105
|
+
* markerWidth: 0,
|
|
106
|
+
* paraIndentLeft: 36,
|
|
107
|
+
* firstLineIndent: 18,
|
|
108
|
+
* hangingIndent: 0,
|
|
109
|
+
* wordLayout: undefined
|
|
110
|
+
* };
|
|
111
|
+
* const indent = calculateTextStartIndent(paragraphParams);
|
|
112
|
+
* // Returns: 54 (paraIndentLeft + firstLineIndent)
|
|
113
|
+
* ```
|
|
114
|
+
*
|
|
115
|
+
* @example
|
|
116
|
+
* ```typescript
|
|
117
|
+
* // Second line of a list item (no first-line indent applied)
|
|
118
|
+
* const secondLineParams: TextIndentCalculationParams = {
|
|
119
|
+
* isFirstLine: false,
|
|
120
|
+
* isListItem: true,
|
|
121
|
+
* markerWidth: 20,
|
|
122
|
+
* paraIndentLeft: 36,
|
|
123
|
+
* firstLineIndent: 0,
|
|
124
|
+
* hangingIndent: 18,
|
|
125
|
+
* wordLayout: { firstLineIndentMode: true, textStartPx: 56 }
|
|
126
|
+
* };
|
|
127
|
+
* const indent = calculateTextStartIndent(secondLineParams);
|
|
128
|
+
* // Returns: 36 (paraIndentLeft only, no special handling on non-first lines)
|
|
129
|
+
* ```
|
|
130
|
+
*/
|
|
131
|
+
export type TextIndentCalculationParams = {
|
|
132
|
+
/** Whether this is the first line of the paragraph fragment */
|
|
133
|
+
isFirstLine: boolean;
|
|
134
|
+
/** Whether the block is a list item (from isListItem) */
|
|
135
|
+
isListItem: boolean;
|
|
136
|
+
/** Measured marker width in pixels */
|
|
137
|
+
markerWidth: number;
|
|
138
|
+
/** Measured marker text width in pixels (optional, falls back to markerWidth) */
|
|
139
|
+
markerTextWidth?: number;
|
|
140
|
+
/** Left paragraph indent in pixels */
|
|
141
|
+
paraIndentLeft: number;
|
|
142
|
+
/** First-line indent in pixels (positive pushes first line right, negative pulls it left) */
|
|
143
|
+
firstLineIndent: number;
|
|
144
|
+
/** Hanging indent in pixels (creates space for markers) */
|
|
145
|
+
hangingIndent: number;
|
|
146
|
+
/** Word layout configuration (if present) */
|
|
147
|
+
wordLayout?: WordLayoutConfig;
|
|
148
|
+
};
|
|
149
|
+
/**
|
|
150
|
+
* Calculates the horizontal text indent adjustment for a line.
|
|
151
|
+
*
|
|
152
|
+
* This function implements the complex logic for determining where text content
|
|
153
|
+
* starts on a line, accounting for:
|
|
154
|
+
* - List markers (standard hanging indent vs. first-line indent mode)
|
|
155
|
+
* - Paragraph indents (left, first-line, hanging)
|
|
156
|
+
* - Non-list paragraphs with first-line indents
|
|
157
|
+
*
|
|
158
|
+
* **Algorithm:**
|
|
159
|
+
* 1. For list items on the first line:
|
|
160
|
+
* - Use shared `resolveListTextStartPx` as the canonical source
|
|
161
|
+
* - Fall back to explicit producer-provided `textStart` values only
|
|
162
|
+
* 2. For non-list paragraphs on the first line:
|
|
163
|
+
* - Add first-line offset (firstLineIndent - hangingIndent)
|
|
164
|
+
* 3. For all other lines:
|
|
165
|
+
* - Use paraIndentLeft only
|
|
166
|
+
*
|
|
167
|
+
* @param params - Text indent calculation parameters
|
|
168
|
+
* @returns Horizontal indent adjustment in pixels from fragment.x
|
|
169
|
+
*
|
|
170
|
+
* @example
|
|
171
|
+
* ```typescript
|
|
172
|
+
* const indent = calculateTextStartIndent({
|
|
173
|
+
* isFirstLine: true,
|
|
174
|
+
* isListItem: true,
|
|
175
|
+
* markerWidth: 20,
|
|
176
|
+
* paraIndentLeft: 36,
|
|
177
|
+
* firstLineIndent: 0,
|
|
178
|
+
* hangingIndent: 18,
|
|
179
|
+
* wordLayout: { firstLineIndentMode: true, textStartPx: 56 }
|
|
180
|
+
* });
|
|
181
|
+
* // Returns: 56 (from textStartPx)
|
|
182
|
+
* ```
|
|
183
|
+
*/
|
|
184
|
+
export declare function calculateTextStartIndent(params: TextIndentCalculationParams): number;
|
|
185
|
+
/**
|
|
186
|
+
* Safely extracts paragraph indent values with type validation.
|
|
187
|
+
*
|
|
188
|
+
* This helper function ensures all indent values are valid numbers, preventing
|
|
189
|
+
* runtime errors from malformed or missing data.
|
|
190
|
+
*
|
|
191
|
+
* @param indent - Paragraph indent object (may be undefined)
|
|
192
|
+
* @returns Object with validated numeric indent values (defaults to 0)
|
|
193
|
+
*
|
|
194
|
+
* @example
|
|
195
|
+
* ```typescript
|
|
196
|
+
* const { left, firstLine, hanging } = extractParagraphIndent(block.attrs?.indent);
|
|
197
|
+
* const textStart = left + firstLine - hanging;
|
|
198
|
+
* ```
|
|
199
|
+
*/
|
|
200
|
+
export declare function extractParagraphIndent(indent: ParagraphIndent | undefined): {
|
|
201
|
+
left: number;
|
|
202
|
+
right: number;
|
|
203
|
+
firstLine: number;
|
|
204
|
+
hanging: number;
|
|
205
|
+
};
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { FontMetricsCache } from './font-metrics-cache.js';
|
|
2
|
+
import { LineInfo } from './paragraph-line-cache.js';
|
|
3
|
+
/**
|
|
4
|
+
* Result of local paragraph layout calculation.
|
|
5
|
+
*/
|
|
6
|
+
export interface LocalLayoutResult {
|
|
7
|
+
/** Array of lines with local offsets */
|
|
8
|
+
lines: LineInfo[];
|
|
9
|
+
/** Total height of all lines in pixels */
|
|
10
|
+
totalHeight: number;
|
|
11
|
+
/** Maximum line width in pixels */
|
|
12
|
+
width: number;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* A text run with formatting information.
|
|
16
|
+
*/
|
|
17
|
+
export interface TextRun {
|
|
18
|
+
/** Text content of the run */
|
|
19
|
+
text: string;
|
|
20
|
+
/** Font key for this run */
|
|
21
|
+
fontKey: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* LocalParagraphLayout calculates line breaks for paragraphs using
|
|
25
|
+
* cached font metrics in a synchronous, fast manner.
|
|
26
|
+
*
|
|
27
|
+
* This is the P0 layout path used when:
|
|
28
|
+
* - Full layout is stale
|
|
29
|
+
* - Need immediate cursor positioning
|
|
30
|
+
* - Progressive enhancement before full layout completes
|
|
31
|
+
*
|
|
32
|
+
* Performance target: <5ms for typical paragraphs
|
|
33
|
+
*
|
|
34
|
+
* Usage:
|
|
35
|
+
* ```typescript
|
|
36
|
+
* const layoutEngine = new LocalParagraphLayout(fontMetricsCache);
|
|
37
|
+
*
|
|
38
|
+
* // Single-format paragraph
|
|
39
|
+
* const result = layoutEngine.layout(text, fontKey, maxWidth);
|
|
40
|
+
*
|
|
41
|
+
* // Multi-format paragraph
|
|
42
|
+
* const runs = [
|
|
43
|
+
* { text: 'Bold', fontKey: 'Arial|16|bold|normal' },
|
|
44
|
+
* { text: ' normal', fontKey: 'Arial|16|normal|normal' }
|
|
45
|
+
* ];
|
|
46
|
+
* const result = layoutEngine.layoutRuns(runs, maxWidth);
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
export declare class LocalParagraphLayout {
|
|
50
|
+
private fontMetricsCache;
|
|
51
|
+
/**
|
|
52
|
+
* Creates a new LocalParagraphLayout instance.
|
|
53
|
+
*
|
|
54
|
+
* @param fontMetricsCache - Font metrics cache for character width lookup
|
|
55
|
+
*/
|
|
56
|
+
constructor(fontMetricsCache: FontMetricsCache);
|
|
57
|
+
/**
|
|
58
|
+
* Calculate line breaks for a paragraph using cached font metrics.
|
|
59
|
+
* This is the P0 (sync, <5ms) layout path.
|
|
60
|
+
*
|
|
61
|
+
* Uses greedy line breaking: add words until line width exceeds maxWidth,
|
|
62
|
+
* then break to next line.
|
|
63
|
+
*
|
|
64
|
+
* @param text - Paragraph text content
|
|
65
|
+
* @param fontKey - Font key for the entire paragraph
|
|
66
|
+
* @param maxWidth - Maximum line width in pixels
|
|
67
|
+
* @returns Layout result with line information
|
|
68
|
+
*/
|
|
69
|
+
layout(text: string, fontKey: string, maxWidth: number): LocalLayoutResult;
|
|
70
|
+
/**
|
|
71
|
+
* Layout a paragraph with mixed formatting (multiple text runs).
|
|
72
|
+
*
|
|
73
|
+
* Each run can have different font properties. Line breaks are calculated
|
|
74
|
+
* considering the varying character widths across runs.
|
|
75
|
+
*
|
|
76
|
+
* @param runs - Array of text runs with formatting
|
|
77
|
+
* @param maxWidth - Maximum line width in pixels
|
|
78
|
+
* @returns Layout result with line information
|
|
79
|
+
*/
|
|
80
|
+
layoutRuns(runs: TextRun[], maxWidth: number): LocalLayoutResult;
|
|
81
|
+
/**
|
|
82
|
+
* Estimate paragraph height without full layout.
|
|
83
|
+
*
|
|
84
|
+
* Uses average character width and line height to quickly estimate
|
|
85
|
+
* how tall a paragraph will be. Useful for scroll calculations.
|
|
86
|
+
*
|
|
87
|
+
* @param textLength - Number of characters in paragraph
|
|
88
|
+
* @param fontKey - Font key for the paragraph
|
|
89
|
+
* @param maxWidth - Maximum line width in pixels
|
|
90
|
+
* @returns Estimated height in pixels
|
|
91
|
+
*/
|
|
92
|
+
estimateHeight(textLength: number, fontKey: string, maxWidth: number): number;
|
|
93
|
+
}
|