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,75 @@
|
|
|
1
|
+
import { ParagraphBlock, ParagraphMeasure } from '../../contracts/src/index.js';
|
|
2
|
+
/** Drop cached text widths and the canvas context. Call when registered font faces may have changed. */
|
|
3
|
+
export declare function clearRemeasureTextCaches(): void;
|
|
4
|
+
/**
|
|
5
|
+
* Re-measure a paragraph block to fit within a specified maximum width.
|
|
6
|
+
*
|
|
7
|
+
* This function performs fast, canvas-based text measurement and line breaking for
|
|
8
|
+
* paragraphs that need to be reflowed due to column width changes (e.g., when a
|
|
9
|
+
* document transitions from single-column to multi-column layout, or when floating
|
|
10
|
+
* images reduce available width). It implements a greedy line-breaking algorithm
|
|
11
|
+
* with support for tab stops, indentation, and word wrapping.
|
|
12
|
+
*
|
|
13
|
+
* Why remeasurement is needed:
|
|
14
|
+
* - Paragraphs are initially measured at document load for the widest column width
|
|
15
|
+
* - When placed in narrower columns, text must reflow to fit the reduced width
|
|
16
|
+
* - Floating images can further reduce available width, requiring dynamic remeasurement
|
|
17
|
+
* - Remeasurement is expensive, so it's only performed when necessary (width changes)
|
|
18
|
+
*
|
|
19
|
+
* Measurement approach:
|
|
20
|
+
* - Uses HTML5 Canvas API for accurate text width measurement (same as initial measurement)
|
|
21
|
+
* - Performs greedy word-based line breaking (breaks at whitespace when text exceeds maxWidth)
|
|
22
|
+
* - Respects paragraph indents (left, right, firstLine, hanging)
|
|
23
|
+
* - Processes tab stops using OOXML tab stop resolution algorithm
|
|
24
|
+
* - Falls back to estimated widths if canvas context is unavailable (server-side rendering)
|
|
25
|
+
*
|
|
26
|
+
* Limitations:
|
|
27
|
+
* - Does NOT perform full typography measurement (ascent, descent, font metrics)
|
|
28
|
+
* - Line height is estimated from paragraph spacing and max font size.
|
|
29
|
+
* - Does NOT handle complex features like drop caps, justified alignment compression, or bidirectional text
|
|
30
|
+
* - Intended as a fast path for width-constrained remeasurement, not full initial measurement
|
|
31
|
+
*
|
|
32
|
+
* @param block - The paragraph block to measure, containing runs of text/tabs/images and formatting attributes.
|
|
33
|
+
* Must have a valid runs array with text runs that have fontSize and fontFamily properties.
|
|
34
|
+
* @param maxWidth - Maximum available width in pixels for the paragraph content.
|
|
35
|
+
* This should be the column width minus left and right indents, adjusted for any floating images.
|
|
36
|
+
* Must be a positive number for meaningful line breaking.
|
|
37
|
+
* @param firstLineIndent - Additional indent to apply to the first line in pixels (default: 0).
|
|
38
|
+
* Used for in-flow list markers in firstLineIndentMode where the marker consumes horizontal space
|
|
39
|
+
* on the first line. For standard hanging indent lists, this should be 0 as the marker is positioned
|
|
40
|
+
* absolutely outside the text flow.
|
|
41
|
+
* @returns A ParagraphMeasure object containing:
|
|
42
|
+
* - kind: 'paragraph' (discriminator for measure type)
|
|
43
|
+
* - lines: Array of Line objects with fromRun/toRun/fromChar/toChar boundaries, width, and lineHeight
|
|
44
|
+
* - totalHeight: Sum of all line heights in pixels
|
|
45
|
+
* Note: Does NOT include full typography metrics (ascent, descent) - these are computed by the full measurer
|
|
46
|
+
*
|
|
47
|
+
* @throws Does not throw exceptions, but will produce degraded output if:
|
|
48
|
+
* - maxWidth is zero or negative (lines will be very narrow or degenerate)
|
|
49
|
+
* - block.runs is empty or invalid (will produce empty or minimal measure)
|
|
50
|
+
* - Canvas context is unavailable (will use fallback width estimation)
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```typescript
|
|
54
|
+
* const block: ParagraphBlock = {
|
|
55
|
+
* kind: 'paragraph',
|
|
56
|
+
* id: 'p1',
|
|
57
|
+
* runs: [
|
|
58
|
+
* { text: 'Hello world', fontFamily: 'Arial', fontSize: 16 }
|
|
59
|
+
* ],
|
|
60
|
+
* attrs: {
|
|
61
|
+
* indent: { left: 20, right: 20, firstLine: 0, hanging: 0 }
|
|
62
|
+
* }
|
|
63
|
+
* };
|
|
64
|
+
*
|
|
65
|
+
* // Remeasure for a narrower column width
|
|
66
|
+
* const measure = remeasureParagraph(block, 200);
|
|
67
|
+
* // Returns: { kind: 'paragraph', lines: [...], totalHeight: 38.4 }
|
|
68
|
+
* // (text breaks into 2 lines of ~19.2px each)
|
|
69
|
+
*
|
|
70
|
+
* // Remeasure with first line indent for list marker
|
|
71
|
+
* const measureWithIndent = remeasureParagraph(block, 200, 30);
|
|
72
|
+
* // First line has only 170px available (200 - 30), subsequent lines have full 200px
|
|
73
|
+
* ```
|
|
74
|
+
*/
|
|
75
|
+
export declare function remeasureParagraph(block: ParagraphBlock, maxWidth: number, firstLineIndent?: number): ParagraphMeasure;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { FlowBlock, PageNumberChapterSeparator, PageNumberFormat } from '../../contracts/src/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Placeholder for a total-page-count field whose source document carries no
|
|
4
|
+
* cached result while pagination is still provisional. An em dash reads as
|
|
5
|
+
* "value not yet known" without committing to a wrong number.
|
|
6
|
+
*/
|
|
7
|
+
export declare const PROVISIONAL_PAGE_COUNT_PLACEHOLDER = "\u2014";
|
|
8
|
+
/**
|
|
9
|
+
* Options for {@link resolveHeaderFooterTokens}.
|
|
10
|
+
*/
|
|
11
|
+
export interface ResolveHeaderFooterTokensOptions {
|
|
12
|
+
/**
|
|
13
|
+
* When `false`, document-total fields (`NUMPAGES` / `SECTIONPAGES`) are NOT
|
|
14
|
+
* substituted with the supplied totals: the run keeps its source-cached DOCX
|
|
15
|
+
* result text, falling back to {@link PROVISIONAL_PAGE_COUNT_PLACEHOLDER}
|
|
16
|
+
* when no cached result exists. `PAGE` always resolves — the physical page
|
|
17
|
+
* a header/footer paints on is known even under partial pagination.
|
|
18
|
+
* Defaults to `true` (exact totals), preserving existing caller behavior.
|
|
19
|
+
*/
|
|
20
|
+
pageCountFieldsExact?: boolean;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Resolves page number tokens in a batch of header or footer blocks.
|
|
24
|
+
*
|
|
25
|
+
* Headers and footers can contain the same token types as body content
|
|
26
|
+
* (pageNumber, totalPageCount, sectionPageCount), but they need to be resolved to the specific
|
|
27
|
+
* page where the header/footer will appear. This function mutates the blocks
|
|
28
|
+
* in-place to replace token placeholders with actual values.
|
|
29
|
+
*
|
|
30
|
+
* The function processes all variants in the batch (default, first, even, odd),
|
|
31
|
+
* applying the same page context to all. This is correct because a single batch
|
|
32
|
+
* represents headers/footers for one specific page.
|
|
33
|
+
*
|
|
34
|
+
* IMPORTANT: This function modifies blocks in-place. The calling code should
|
|
35
|
+
* ensure that blocks are not shared between multiple page contexts, or should
|
|
36
|
+
* create copies before calling this function.
|
|
37
|
+
*
|
|
38
|
+
* @param blocks - Array of FlowBlocks for a single header/footer variant
|
|
39
|
+
* @param pageNumber - Current page number (1-indexed) where this header/footer appears
|
|
40
|
+
* @param totalPages - Total number of pages in the document
|
|
41
|
+
* @param pageNumberText - Optional preformatted page number string (e.g., "-1-")
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```typescript
|
|
45
|
+
* // Resolve tokens for the header that will appear on page 3
|
|
46
|
+
* const headerBlocks = adapter.getBlocks('header', 'default');
|
|
47
|
+
* resolveHeaderFooterTokens(headerBlocks, 3, 10);
|
|
48
|
+
* // Now headerBlocks contain "3" instead of "0" for PAGE field
|
|
49
|
+
* // and "10" for NUMPAGES field
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export declare function resolveHeaderFooterTokens(blocks: FlowBlock[], pageNumber: number, totalPages: number, pageNumberText?: string, displayPageNumber?: number, sectionPageCount?: number, pageNumberFormat?: PageNumberFormat, chapterNumberText?: string, chapterSeparator?: PageNumberChapterSeparator, options?: ResolveHeaderFooterTokensOptions): void;
|
|
53
|
+
/**
|
|
54
|
+
* Creates a deep copy of header/footer blocks to avoid mutating shared data.
|
|
55
|
+
*
|
|
56
|
+
* Since token resolution modifies blocks in-place, and the same header/footer
|
|
57
|
+
* content may be used across multiple pages (with different page numbers),
|
|
58
|
+
* we need to create independent copies for each page.
|
|
59
|
+
*
|
|
60
|
+
* This function performs a deep clone of the block structure, including runs
|
|
61
|
+
* and all nested properties, to ensure complete isolation.
|
|
62
|
+
*
|
|
63
|
+
* @param blocks - Original blocks to copy
|
|
64
|
+
* @returns Deep copy of the blocks
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```typescript
|
|
68
|
+
* const originalBlocks = adapter.getBlocks('header', 'default');
|
|
69
|
+
* const blocksForPage1 = cloneHeaderFooterBlocks(originalBlocks);
|
|
70
|
+
* const blocksForPage2 = cloneHeaderFooterBlocks(originalBlocks);
|
|
71
|
+
* // Now we can resolve tokens differently for each page
|
|
72
|
+
* resolveHeaderFooterTokens(blocksForPage1, 1, 10);
|
|
73
|
+
* resolveHeaderFooterTokens(blocksForPage2, 2, 10);
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
export declare function cloneHeaderFooterBlocks(blocks: FlowBlock[]): FlowBlock[];
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { NeutralTextDirection } from '../../contracts/src/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Whether a measured line's visible text mixes content that breaks the
|
|
4
|
+
* single-level RTL reverse mapping.
|
|
5
|
+
*
|
|
6
|
+
* Returns `true` (→ caller fails closed with `unsupported-complex-bidi`) when
|
|
7
|
+
* the text contains either:
|
|
8
|
+
* - any Unicode number (a weak-direction numeric run that the UBA can render
|
|
9
|
+
* as a contiguous number, not where a pure reverse would place it), or
|
|
10
|
+
* - a strong-LTR letter (any Unicode letter outside the strong-RTL ranges).
|
|
11
|
+
*
|
|
12
|
+
* Pure Hebrew/Arabic text with neutral punctuation, spaces, and RTL marks
|
|
13
|
+
* returns `false` and is safe to mirror. Conservative by design: when in doubt
|
|
14
|
+
* the caller fails closed rather than emit a mirrored-twice caret.
|
|
15
|
+
*/
|
|
16
|
+
export declare function lineHasComplexBidiContent(text: string): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Container-space x for a logical advance (px measured from the logical line
|
|
19
|
+
* start, as returned by `measureCharacterX(..., 'left')`).
|
|
20
|
+
*
|
|
21
|
+
* LTR: `contentLeft + advance`. RTL: mirrored about the content box so the
|
|
22
|
+
* logical start sits at the visual right edge.
|
|
23
|
+
*/
|
|
24
|
+
export declare function logicalAdvanceToContainerX(direction: NeutralTextDirection, contentLeft: number, contentWidth: number, advance: number): number;
|
|
25
|
+
/**
|
|
26
|
+
* Logical advance (px from the logical line start, clamped to
|
|
27
|
+
* `[0, contentWidth]`) for a container-space x.
|
|
28
|
+
*
|
|
29
|
+
* The exact inverse of {@link logicalAdvanceToContainerX}: feed the result to
|
|
30
|
+
* `findCharacterAtX(..., 'left')` to recover the logical character offset for
|
|
31
|
+
* either direction. For RTL the visual-left edge maps to the logical end and the
|
|
32
|
+
* visual-right edge maps to the logical start.
|
|
33
|
+
*/
|
|
34
|
+
export declare function containerXToLogicalAdvance(direction: NeutralTextDirection, contentLeft: number, contentWidth: number, containerX: number): number;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Run } from '../../contracts/src/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Builds a deterministic substring for measure-cache keys and dirty-run comparison.
|
|
4
|
+
*
|
|
5
|
+
* Include every run property that affects text measurement or painted output but is not
|
|
6
|
+
* covered elsewhere (e.g. tracked-change / comment keys). When adding a new visual
|
|
7
|
+
* property, update this function only — `cache.ts` and `diff.ts` both depend on it.
|
|
8
|
+
*
|
|
9
|
+
* @param run - Flow run (text, tab, image, etc.); unknown fields are ignored safely.
|
|
10
|
+
* @returns Stable string encoding bold/italic/underline/strike/color/font/highlight/link.
|
|
11
|
+
*/
|
|
12
|
+
export declare const hashRunVisualMarks: (run: Run) => string;
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime Safety Net
|
|
3
|
+
*
|
|
4
|
+
* Automatic fallback system that monitors for errors and performance degradation.
|
|
5
|
+
* Triggers fallback to legacy behavior when issues are detected, then attempts
|
|
6
|
+
* recovery after a cooldown period.
|
|
7
|
+
*
|
|
8
|
+
* Fallback Triggers:
|
|
9
|
+
* - Consecutive errors exceeding threshold
|
|
10
|
+
* - Latency exceeding configured budgets
|
|
11
|
+
* - Manual fallback request
|
|
12
|
+
*
|
|
13
|
+
* Recovery Strategy:
|
|
14
|
+
* - Cooldown period after fallback
|
|
15
|
+
* - Automatic recovery attempt
|
|
16
|
+
* - Error count reset on successful operations
|
|
17
|
+
*
|
|
18
|
+
* @module safety-net
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* Reason for triggering fallback to legacy behavior.
|
|
22
|
+
*/
|
|
23
|
+
export type FallbackReason = 'error' | 'latency' | 'budget_exceeded' | 'manual';
|
|
24
|
+
/**
|
|
25
|
+
* Configuration for the safety net system.
|
|
26
|
+
*/
|
|
27
|
+
export interface SafetyConfig {
|
|
28
|
+
/** Maximum consecutive errors before triggering fallback */
|
|
29
|
+
maxConsecutiveErrors: number;
|
|
30
|
+
/** Maximum layout duration in ms before triggering fallback */
|
|
31
|
+
maxLayoutDuration: number;
|
|
32
|
+
/** Maximum cursor update latency in ms before triggering fallback */
|
|
33
|
+
maxCursorLatency: number;
|
|
34
|
+
/** Cooldown period in ms before attempting recovery */
|
|
35
|
+
cooldownPeriod: number;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Safety net for automatic fallback and recovery.
|
|
39
|
+
*
|
|
40
|
+
* Monitors system health and triggers fallback when performance degrades
|
|
41
|
+
* or errors accumulate. Attempts recovery after cooldown.
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```typescript
|
|
45
|
+
* const safety = new SafetyNet({
|
|
46
|
+
* maxConsecutiveErrors: 3,
|
|
47
|
+
* maxLayoutDuration: 100,
|
|
48
|
+
* cooldownPeriod: 5000,
|
|
49
|
+
* });
|
|
50
|
+
*
|
|
51
|
+
* // Set fallback handler
|
|
52
|
+
* safety.setFallbackHandler((reason) => {
|
|
53
|
+
* console.warn(`Fallback triggered: ${reason}`);
|
|
54
|
+
* // Disable optimizations
|
|
55
|
+
* });
|
|
56
|
+
*
|
|
57
|
+
* // Record errors
|
|
58
|
+
* try {
|
|
59
|
+
* performOptimizedLayout();
|
|
60
|
+
* safety.reset(); // Success - clear error count
|
|
61
|
+
* } catch (err) {
|
|
62
|
+
* safety.recordError(err);
|
|
63
|
+
* if (safety.isFallbackActive()) {
|
|
64
|
+
* // Use legacy code path
|
|
65
|
+
* }
|
|
66
|
+
* }
|
|
67
|
+
*
|
|
68
|
+
* // Record latency
|
|
69
|
+
* safety.recordLatency('layout', layoutDuration);
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
export declare class SafetyNet {
|
|
73
|
+
private config;
|
|
74
|
+
private errorCount;
|
|
75
|
+
private fallbackActive;
|
|
76
|
+
private fallbackReason;
|
|
77
|
+
private cooldownTimer;
|
|
78
|
+
private onFallback;
|
|
79
|
+
private onRecovery;
|
|
80
|
+
/**
|
|
81
|
+
* Creates a new safety net instance.
|
|
82
|
+
*
|
|
83
|
+
* @param config - Safety configuration
|
|
84
|
+
*/
|
|
85
|
+
constructor(config?: Partial<SafetyConfig>);
|
|
86
|
+
/**
|
|
87
|
+
* Records an error occurrence.
|
|
88
|
+
*
|
|
89
|
+
* Increments error count and triggers fallback if threshold exceeded.
|
|
90
|
+
*
|
|
91
|
+
* @param error - Error that occurred
|
|
92
|
+
*
|
|
93
|
+
* @example
|
|
94
|
+
* ```typescript
|
|
95
|
+
* try {
|
|
96
|
+
* dangerousOperation();
|
|
97
|
+
* } catch (err) {
|
|
98
|
+
* safety.recordError(err);
|
|
99
|
+
* }
|
|
100
|
+
* ```
|
|
101
|
+
*/
|
|
102
|
+
recordError(error: Error): void;
|
|
103
|
+
/**
|
|
104
|
+
* Records a latency measurement.
|
|
105
|
+
*
|
|
106
|
+
* Triggers fallback if latency exceeds configured budget.
|
|
107
|
+
*
|
|
108
|
+
* @param metric - Metric name ('layout' or 'cursor')
|
|
109
|
+
* @param value - Measured latency in ms
|
|
110
|
+
*
|
|
111
|
+
* @example
|
|
112
|
+
* ```typescript
|
|
113
|
+
* const duration = measureLayoutDuration();
|
|
114
|
+
* safety.recordLatency('layout', duration);
|
|
115
|
+
* ```
|
|
116
|
+
*/
|
|
117
|
+
recordLatency(metric: string, value: number): void;
|
|
118
|
+
/**
|
|
119
|
+
* Checks if fallback mode is currently active.
|
|
120
|
+
*
|
|
121
|
+
* @returns True if system is in fallback mode
|
|
122
|
+
*
|
|
123
|
+
* @example
|
|
124
|
+
* ```typescript
|
|
125
|
+
* if (safety.isFallbackActive()) {
|
|
126
|
+
* // Use legacy code path
|
|
127
|
+
* } else {
|
|
128
|
+
* // Use optimized code path
|
|
129
|
+
* }
|
|
130
|
+
* ```
|
|
131
|
+
*/
|
|
132
|
+
isFallbackActive(): boolean;
|
|
133
|
+
/**
|
|
134
|
+
* Gets the reason for current fallback state.
|
|
135
|
+
*
|
|
136
|
+
* @returns Fallback reason, or null if not in fallback
|
|
137
|
+
*
|
|
138
|
+
* @example
|
|
139
|
+
* ```typescript
|
|
140
|
+
* const reason = safety.getFallbackReason();
|
|
141
|
+
* if (reason) {
|
|
142
|
+
* console.log(`System in fallback due to: ${reason}`);
|
|
143
|
+
* }
|
|
144
|
+
* ```
|
|
145
|
+
*/
|
|
146
|
+
getFallbackReason(): FallbackReason | null;
|
|
147
|
+
/**
|
|
148
|
+
* Manually triggers fallback mode.
|
|
149
|
+
*
|
|
150
|
+
* Useful for testing or manual intervention.
|
|
151
|
+
*
|
|
152
|
+
* @param reason - Reason for manual fallback
|
|
153
|
+
*
|
|
154
|
+
* @example
|
|
155
|
+
* ```typescript
|
|
156
|
+
* // Force fallback for testing
|
|
157
|
+
* safety.triggerFallback('manual');
|
|
158
|
+
* ```
|
|
159
|
+
*/
|
|
160
|
+
triggerFallback(reason: FallbackReason): void;
|
|
161
|
+
/**
|
|
162
|
+
* Attempts to recover from fallback state.
|
|
163
|
+
*
|
|
164
|
+
* Returns true if recovery successful, false if still in cooldown.
|
|
165
|
+
*
|
|
166
|
+
* @returns True if recovered, false if still in cooldown
|
|
167
|
+
*
|
|
168
|
+
* @example
|
|
169
|
+
* ```typescript
|
|
170
|
+
* if (safety.attemptRecovery()) {
|
|
171
|
+
* console.log('Recovery successful');
|
|
172
|
+
* }
|
|
173
|
+
* ```
|
|
174
|
+
*/
|
|
175
|
+
attemptRecovery(): boolean;
|
|
176
|
+
/**
|
|
177
|
+
* Sets the fallback handler callback.
|
|
178
|
+
*
|
|
179
|
+
* Called when fallback is triggered.
|
|
180
|
+
*
|
|
181
|
+
* @param handler - Callback function to handle fallback
|
|
182
|
+
*
|
|
183
|
+
* @example
|
|
184
|
+
* ```typescript
|
|
185
|
+
* safety.setFallbackHandler((reason) => {
|
|
186
|
+
* // Disable optimizations and use legacy path
|
|
187
|
+
* console.warn('Fallback triggered:', reason);
|
|
188
|
+
* });
|
|
189
|
+
* ```
|
|
190
|
+
*/
|
|
191
|
+
setFallbackHandler(handler: (reason: FallbackReason) => void): void;
|
|
192
|
+
/**
|
|
193
|
+
* Sets the recovery handler callback.
|
|
194
|
+
*
|
|
195
|
+
* Called when recovery from fallback is attempted.
|
|
196
|
+
*
|
|
197
|
+
* @param handler - Callback function to handle recovery
|
|
198
|
+
*
|
|
199
|
+
* @example
|
|
200
|
+
* ```typescript
|
|
201
|
+
* safety.setRecoveryHandler(() => {
|
|
202
|
+
* // Re-enable optimizations
|
|
203
|
+
* console.log('Recovered from fallback');
|
|
204
|
+
* });
|
|
205
|
+
* ```
|
|
206
|
+
*/
|
|
207
|
+
setRecoveryHandler(handler: () => void): void;
|
|
208
|
+
/**
|
|
209
|
+
* Resets the error count.
|
|
210
|
+
*
|
|
211
|
+
* Call this after successful operations to prevent false positives.
|
|
212
|
+
*
|
|
213
|
+
* @example
|
|
214
|
+
* ```typescript
|
|
215
|
+
* try {
|
|
216
|
+
* performLayout();
|
|
217
|
+
* safety.reset(); // Success - clear errors
|
|
218
|
+
* } catch (err) {
|
|
219
|
+
* safety.recordError(err);
|
|
220
|
+
* }
|
|
221
|
+
* ```
|
|
222
|
+
*/
|
|
223
|
+
reset(): void;
|
|
224
|
+
/**
|
|
225
|
+
* Schedules automatic recovery after cooldown period.
|
|
226
|
+
*/
|
|
227
|
+
private scheduleRecovery;
|
|
228
|
+
/**
|
|
229
|
+
* Cleans up timers and resources.
|
|
230
|
+
*
|
|
231
|
+
* Call this when destroying the safety net.
|
|
232
|
+
*/
|
|
233
|
+
destroy(): void;
|
|
234
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { FlowBlock, SectionMetadata, SectionRefType } from '../../contracts/src/index.js';
|
|
2
|
+
import { HeaderFooterConstraints } from '../../layout-engine/src/index.js';
|
|
3
|
+
export type HeaderFooterSectionKind = 'header' | 'footer';
|
|
4
|
+
export type HeaderFooterRefs = Partial<Record<SectionRefType, string>>;
|
|
5
|
+
export type SectionAwareHeaderFooterMeasurementGroup = {
|
|
6
|
+
rId: string;
|
|
7
|
+
sectionIndices: Set<number>;
|
|
8
|
+
sectionConstraints: HeaderFooterConstraints;
|
|
9
|
+
effectiveWidth: number;
|
|
10
|
+
};
|
|
11
|
+
export declare function buildSectionAwareHeaderFooterLayoutKey(rId: string, sectionIndex: number): string;
|
|
12
|
+
export declare function buildSectionContentWidth(section: SectionMetadata, fallback: HeaderFooterConstraints): number;
|
|
13
|
+
export declare function buildEffectiveHeaderFooterRefsBySection(sectionMetadata: SectionMetadata[], kind: HeaderFooterSectionKind): Map<number, HeaderFooterRefs>;
|
|
14
|
+
export declare function collectReferencedHeaderFooterRIds(effectiveRefsBySection: Map<number, HeaderFooterRefs>): Set<string>;
|
|
15
|
+
export declare function buildSectionAwareHeaderFooterMeasurementGroups(kind: HeaderFooterSectionKind, blocksByRId: Map<string, FlowBlock[]> | undefined, sectionMetadata: SectionMetadata[], fallbackConstraints: HeaderFooterConstraints): SectionAwareHeaderFooterMeasurementGroup[];
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Table Handler
|
|
3
|
+
*
|
|
4
|
+
* Manages table-specific layout behavior during editing, including
|
|
5
|
+
* column width recalculation debouncing and cell edit tracking.
|
|
6
|
+
*
|
|
7
|
+
* Strategy:
|
|
8
|
+
* 1. Track table states (column widths, row heights)
|
|
9
|
+
* 2. Mark tables dirty on cell edits
|
|
10
|
+
* 3. Debounce column width recalculation
|
|
11
|
+
* 4. Provide table state for incremental layout
|
|
12
|
+
*
|
|
13
|
+
* @module table-handler
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Layout state for a single table.
|
|
17
|
+
*/
|
|
18
|
+
export interface TableLayoutState {
|
|
19
|
+
/** Table block index */
|
|
20
|
+
tableIndex: number;
|
|
21
|
+
/** Column widths in pixels */
|
|
22
|
+
columnWidths: number[];
|
|
23
|
+
/** Row heights in pixels */
|
|
24
|
+
rowHeights: number[];
|
|
25
|
+
/** Whether table needs recalculation */
|
|
26
|
+
dirty: boolean;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* TableHandler manages table-specific layout optimizations.
|
|
30
|
+
*/
|
|
31
|
+
export declare class TableHandler {
|
|
32
|
+
private tableStates;
|
|
33
|
+
private columnRecalcDebounce;
|
|
34
|
+
private recalcTimers;
|
|
35
|
+
/**
|
|
36
|
+
* Handle edit within a table cell.
|
|
37
|
+
*
|
|
38
|
+
* @param tableIndex - Block index of the table
|
|
39
|
+
* @param cellIndex - Index of the edited cell
|
|
40
|
+
*/
|
|
41
|
+
onCellEdit(tableIndex: number, _cellIndex: number): void;
|
|
42
|
+
/**
|
|
43
|
+
* Get table state for layout.
|
|
44
|
+
*
|
|
45
|
+
* @param tableIndex - Table block index
|
|
46
|
+
* @returns Table state if exists, undefined otherwise
|
|
47
|
+
*/
|
|
48
|
+
getTableState(tableIndex: number): TableLayoutState | undefined;
|
|
49
|
+
/**
|
|
50
|
+
* Mark table columns for recalculation.
|
|
51
|
+
*
|
|
52
|
+
* @param tableIndex - Table block index
|
|
53
|
+
*/
|
|
54
|
+
markColumnsDirty(tableIndex: number): void;
|
|
55
|
+
/**
|
|
56
|
+
* Should column width recalculation be deferred?
|
|
57
|
+
*
|
|
58
|
+
* @returns True if recalculation is pending
|
|
59
|
+
*/
|
|
60
|
+
shouldDeferColumnRecalc(): boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Update table layout state after recalculation.
|
|
63
|
+
*
|
|
64
|
+
* @param tableIndex - Table block index
|
|
65
|
+
* @param columnWidths - New column widths
|
|
66
|
+
* @param rowHeights - New row heights
|
|
67
|
+
*/
|
|
68
|
+
updateTableState(tableIndex: number, columnWidths: number[], rowHeights: number[]): void;
|
|
69
|
+
/**
|
|
70
|
+
* Clear all table states.
|
|
71
|
+
*/
|
|
72
|
+
clear(): void;
|
|
73
|
+
/**
|
|
74
|
+
* Get all dirty table indices.
|
|
75
|
+
*
|
|
76
|
+
* @returns Array of table indices needing recalculation
|
|
77
|
+
*/
|
|
78
|
+
getDirtyTables(): number[];
|
|
79
|
+
/**
|
|
80
|
+
* Schedule column width recalculation with debouncing.
|
|
81
|
+
*
|
|
82
|
+
* @param tableIndex - Table block index
|
|
83
|
+
* @private
|
|
84
|
+
*/
|
|
85
|
+
private scheduleColumnRecalc;
|
|
86
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { FlowBlock } from '../../contracts/src/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Represents a boundary range with start and end positions
|
|
4
|
+
*/
|
|
5
|
+
export type BoundaryRange = {
|
|
6
|
+
from: number;
|
|
7
|
+
to: number;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Find word boundaries around a given position in a block
|
|
11
|
+
* Uses Unicode word boundary detection
|
|
12
|
+
*/
|
|
13
|
+
export declare function findWordBoundaries(blocks: FlowBlock[], pos: number): BoundaryRange | null;
|
|
14
|
+
/**
|
|
15
|
+
* Find paragraph boundaries (entire block) around a given position
|
|
16
|
+
*/
|
|
17
|
+
export declare function findParagraphBoundaries(blocks: FlowBlock[], pos: number): BoundaryRange | null;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { FlowBlock, Line, Run } from '../../contracts/src/index.js';
|
|
2
|
+
import { FontMeasureContext } from '../../../shared/font-system/src/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Generates a CSS font string from a run's formatting properties.
|
|
5
|
+
*
|
|
6
|
+
* @param run - The text or tab run to generate font string for
|
|
7
|
+
* @returns CSS font string (e.g., "italic bold 16px Arial")
|
|
8
|
+
*/
|
|
9
|
+
export declare function getRunFontString(run: Run, fontContext?: FontMeasureContext): string;
|
|
10
|
+
/**
|
|
11
|
+
* Measure the X position for a specific character offset within a line.
|
|
12
|
+
* Uses Canvas measureText for pixel-perfect accuracy.
|
|
13
|
+
*
|
|
14
|
+
* @param block - The paragraph block containing the line
|
|
15
|
+
* @param line - The line to measure within
|
|
16
|
+
* @param charOffset - Character offset from the start of the line (0-based)
|
|
17
|
+
* @param availableWidthOverride - Optional override for available width
|
|
18
|
+
* @param alignmentOverride - Optional override for text alignment (e.g., 'left' for list items
|
|
19
|
+
* which are always rendered left-aligned in the DOM regardless of paragraph alignment)
|
|
20
|
+
* @returns The X coordinate (in pixels) from the start of the line
|
|
21
|
+
*/
|
|
22
|
+
export declare function measureCharacterX(block: FlowBlock, line: Line, charOffset: number, availableWidthOverride?: number, alignmentOverride?: string, fontContext?: FontMeasureContext): number;
|
|
23
|
+
/**
|
|
24
|
+
* Convert a character offset within a line back to a ProseMirror position.
|
|
25
|
+
*
|
|
26
|
+
* This function is the inverse of finding a character offset from a PM position.
|
|
27
|
+
* It accounts for PM position gaps that can occur between runs due to wrapper nodes
|
|
28
|
+
* (e.g., inline formatting marks, link nodes) that don't correspond to visible characters.
|
|
29
|
+
*
|
|
30
|
+
* Algorithm:
|
|
31
|
+
* 1. Iterate through runs in the line, tracking cumulative character offset
|
|
32
|
+
* 2. For each run, determine its character length (accounting for tabs as 1 character)
|
|
33
|
+
* 3. When the target charOffset falls within a run:
|
|
34
|
+
* - Calculate the offset within that run
|
|
35
|
+
* - Add to the run's pmStart to get the final PM position
|
|
36
|
+
* 4. If charOffset exceeds all runs, return the last known PM position
|
|
37
|
+
*
|
|
38
|
+
* Edge Cases:
|
|
39
|
+
* - **Character offset beyond line bounds**: Returns the last PM position in the line (clamped to end)
|
|
40
|
+
* - **Negative character offset**: Clamped to 0, returns fallbackPmStart
|
|
41
|
+
* - **Runs with missing PM data**: Falls back to fallbackPmStart + charOffset calculation
|
|
42
|
+
* - **Non-paragraph blocks**: Returns fallbackPmStart + charOffset (simple arithmetic fallback)
|
|
43
|
+
* - **Empty runs**: Skipped during iteration, don't contribute to character count
|
|
44
|
+
* - **Tab runs**: Counted as 1 character regardless of visual width
|
|
45
|
+
*
|
|
46
|
+
* @param block - The paragraph block containing the line
|
|
47
|
+
* @param line - The line to map within
|
|
48
|
+
* @param charOffset - Character offset from start of line (0-based)
|
|
49
|
+
* @param fallbackPmStart - PM position to use when run PM data is missing or invalid
|
|
50
|
+
* @returns ProseMirror position corresponding to the character offset
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```typescript
|
|
54
|
+
* // Line with runs: "Hello" (PM 0-5) + "World" (PM 7-12), gap at 5-7
|
|
55
|
+
* const block = { kind: 'paragraph', runs: [...] };
|
|
56
|
+
* const line = { fromRun: 0, toRun: 1, ... };
|
|
57
|
+
*
|
|
58
|
+
* // Character 3 maps to PM position 3 (within "Hello")
|
|
59
|
+
* charOffsetToPm(block, line, 3, 0); // returns 3
|
|
60
|
+
*
|
|
61
|
+
* // Character 7 maps to PM position 9 (within "World", accounting for gap)
|
|
62
|
+
* charOffsetToPm(block, line, 7, 0); // returns 9
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
export declare function charOffsetToPm(block: FlowBlock, line: Line, charOffset: number, fallbackPmStart: number): number;
|
|
66
|
+
export declare function findCharacterAtX(block: FlowBlock, line: Line, x: number, pmStart: number, availableWidthOverride?: number, alignmentOverride?: string, fontContext?: FontMeasureContext): {
|
|
67
|
+
charOffset: number;
|
|
68
|
+
pmPosition: number;
|
|
69
|
+
};
|