@stll/folio-core 0.52.0 → 0.54.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/README.md +23 -0
- package/dist/ai-edits/apply.d.ts +26 -1
- package/dist/ai-edits/apply.js +1779 -141
- package/dist/ai-edits/batch-claims.d.ts +145 -0
- package/dist/ai-edits/batch-claims.js +275 -0
- package/dist/ai-edits/blockRange.js +9 -3
- package/dist/ai-edits/character-boundaries.d.ts +43 -0
- package/dist/ai-edits/character-boundaries.js +95 -0
- package/dist/ai-edits/clean-text.d.ts +33 -3
- package/dist/ai-edits/clean-text.js +52 -6
- package/dist/ai-edits/comment-lifecycle.d.ts +18 -0
- package/dist/ai-edits/comment-lifecycle.js +52 -0
- package/dist/ai-edits/headless.d.ts +91 -7
- package/dist/ai-edits/headless.js +520 -51
- package/dist/ai-edits/index.d.ts +2 -1
- package/dist/ai-edits/index.js +2 -1
- package/dist/ai-edits/minimal-replacement.d.ts +21 -6
- package/dist/ai-edits/minimal-replacement.js +134 -15
- package/dist/ai-edits/newListNumbering.d.ts +23 -0
- package/dist/ai-edits/newListNumbering.js +94 -0
- package/dist/ai-edits/note-references.d.ts +96 -0
- package/dist/ai-edits/note-references.js +139 -0
- package/dist/ai-edits/pending-suggestions.d.ts +79 -0
- package/dist/ai-edits/pending-suggestions.js +306 -0
- package/dist/ai-edits/read.d.ts +6 -4
- package/dist/ai-edits/read.js +113 -50
- package/dist/ai-edits/result-validation.d.ts +29 -0
- package/dist/ai-edits/result-validation.js +164 -0
- package/dist/ai-edits/revisionStretches.d.ts +17 -0
- package/dist/ai-edits/revisionStretches.js +80 -0
- package/dist/ai-edits/snapshot.d.ts +36 -3
- package/dist/ai-edits/snapshot.js +180 -25
- package/dist/ai-edits/table-cell-mutations.d.ts +4 -2
- package/dist/ai-edits/table-cell-mutations.js +6 -2
- package/dist/ai-edits/table-geometry.d.ts +1 -1
- package/dist/ai-edits/table-row-column-mutations.d.ts +44 -17
- package/dist/ai-edits/table-row-column-mutations.js +86 -34
- package/dist/ai-edits/types.d.ts +155 -16
- package/dist/compare/compare.d.ts +1 -1
- package/dist/compare/compare.js +65 -16
- package/dist/compare/content-alignment.d.ts +5 -1
- package/dist/compare/content-alignment.js +52 -34
- package/dist/compare/content-types.d.ts +7 -0
- package/dist/compare/content.d.ts +4 -1
- package/dist/compare/content.js +6 -1
- package/dist/compare/formatting.js +2 -1
- package/dist/compare/inline-atoms.d.ts +21 -4
- package/dist/compare/inline-atoms.js +138 -16
- package/dist/compare/inline-provenance.js +1 -1
- package/dist/compare/plan.js +10 -5
- package/dist/compare/scenario.js +14 -3
- package/dist/compare/section-boundary-properties.js +1 -1
- package/dist/compare/types.d.ts +4 -2
- package/dist/compare/types.js +2 -1
- package/dist/compare/verification.d.ts +1 -1
- package/dist/compare/verification.js +15 -3
- package/dist/controller/committedLayoutDiff.d.ts +25 -0
- package/dist/controller/committedLayoutDiff.js +71 -0
- package/dist/controller/contentControlWidgetController.d.ts +1 -1
- package/dist/controller/folioEditor.d.ts +1 -1
- package/dist/controller/fontReadiness.d.ts +70 -3
- package/dist/controller/fontReadiness.js +100 -10
- package/dist/controller/headerFooterEditorManager.js +6 -1
- package/dist/controller/layoutPipeline.d.ts +12 -10
- package/dist/controller/layoutPipeline.js +65 -11
- package/dist/controller/layoutRunOptions.d.ts +24 -0
- package/dist/controller/layoutRunOptions.js +17 -0
- package/dist/controller/layoutScheduler.d.ts +19 -14
- package/dist/controller/layoutScheduler.js +15 -12
- package/dist/controller/layoutSession.d.ts +26 -2
- package/dist/controller/layoutSession.js +1 -1
- package/dist/controller/noteEditorManager.js +8 -3
- package/dist/document-operations.d.ts +11 -2
- package/dist/document-operations.js +230 -21
- package/dist/docx/altChunk.d.ts +8 -0
- package/dist/docx/altChunk.js +17 -0
- package/dist/docx/archiveInflation.d.ts +127 -0
- package/dist/docx/archiveInflation.js +181 -0
- package/dist/docx/attributeRemainder.d.ts +1 -1
- package/dist/docx/blockContentParser.d.ts +64 -1
- package/dist/docx/blockContentParser.js +17 -4
- package/dist/docx/blockCustomXmlShell.d.ts +7 -0
- package/dist/docx/blockCustomXmlShell.js +14 -0
- package/dist/docx/blockPlainText.js +7 -0
- package/dist/docx/commentAnchorIndex.js +1 -1
- package/dist/docx/commentRangeIntegrity.js +8 -3
- package/dist/docx/commentReferenceNormalization.js +1 -1
- package/dist/docx/commentReplyMarkers.js +20 -1
- package/dist/docx/compatibility.d.ts +1 -1
- package/dist/docx/compatibility.js +34 -13
- package/dist/docx/containerChildren.gen.d.ts +1 -1
- package/dist/docx/containerChildren.gen.js +1 -0
- package/dist/docx/documentParser.js +12 -12
- package/dist/docx/drawingIdNormalization.d.ts +3 -1
- package/dist/docx/drawingIdNormalization.js +6 -1
- package/dist/docx/ensureParaIds.js +119 -97
- package/dist/docx/footnoteParser.js +8 -4
- package/dist/docx/headerFooterParser.js +3 -3
- package/dist/docx/headerFooterReferenceNormalization.d.ts +20 -1
- package/dist/docx/headerFooterReferenceNormalization.js +52 -27
- package/dist/docx/hyperlinkParser.d.ts +1 -1
- package/dist/docx/index.d.ts +1 -1
- package/dist/docx/listNumberingInstances.d.ts +59 -0
- package/dist/docx/listNumberingInstances.js +249 -0
- package/dist/docx/metadataPrivacy.js +24 -1
- package/dist/docx/normalizeBaseDirection.js +2 -1
- package/dist/docx/noteReferenceMark.d.ts +15 -0
- package/dist/docx/noteReferenceMark.js +48 -0
- package/dist/docx/opaqueCarrier.d.ts +7 -0
- package/dist/docx/opaqueCarrier.js +38 -0
- package/dist/docx/packageParts.js +4 -1
- package/dist/docx/paragraphParser.js +96 -27
- package/dist/docx/paragraphPropertySource.d.ts +4 -2
- package/dist/docx/paragraphPropertySource.js +10 -2
- package/dist/docx/paragraphTraversal.js +1 -0
- package/dist/docx/parseWarningMessage.js +4 -1
- package/dist/docx/parser.js +175 -22
- package/dist/docx/rezip.js +31 -7
- package/dist/docx/sdtProperties.js +1 -1
- package/dist/docx/sdtPropertiesPatch.js +3 -0
- package/dist/docx/selectiveSave.js +16 -9
- package/dist/docx/selectiveXmlPatch.d.ts +3 -1
- package/dist/docx/selectiveXmlPatch.js +186 -39
- package/dist/docx/serializer/blockCustomXmlSerializer.d.ts +5 -0
- package/dist/docx/serializer/blockCustomXmlSerializer.js +4 -0
- package/dist/docx/serializer/documentSerializer.js +2 -0
- package/dist/docx/serializer/headerFooterSerializer.js +2 -0
- package/dist/docx/serializer/noteSerializer.js +3 -1
- package/dist/docx/serializer/paragraphSerializer.js +33 -9
- package/dist/docx/serializer/tableSerializer.js +25 -38
- package/dist/docx/server/boundedArchive.d.ts +8 -13
- package/dist/docx/server/boundedArchive.js +70 -59
- package/dist/docx/server/createBilingualDocument.js +3 -3
- package/dist/docx/server/extractDocxText.d.ts +8 -2
- package/dist/docx/server/extractDocxText.js +2 -2
- package/dist/docx/server/validateDocxConformance.d.ts +1 -1
- package/dist/docx/server/validateDocxConformance.js +1 -0
- package/dist/docx/tableParser.d.ts +157 -1
- package/dist/docx/tableParser.js +89 -10
- package/dist/docx/textBoxParser.js +1 -1
- package/dist/docx/unzip.d.ts +20 -2
- package/dist/docx/unzip.js +136 -25
- package/dist/docx/wordprocessingPrefixes.d.ts +78 -0
- package/dist/docx/wordprocessingPrefixes.js +286 -0
- package/dist/fonts/embeddedFonts.js +1 -1
- package/dist/i18n/messages/catalogs.gen.d.ts +170 -34
- package/dist/i18n/messages/catalogs.gen.js +187 -51
- package/dist/i18n/messages/messages.gen.d.ts +10 -2
- package/dist/internal/compare/inline-presentation.d.ts +2 -1
- package/dist/internal/compare/inline-presentation.js +11 -10
- package/dist/internal/headlessRevisionResolutionGuard.d.ts +2 -8
- package/dist/internal/headlessRevisionResolutionGuard.js +2 -11
- package/dist/internal/indexedPositionMap.d.ts +11 -0
- package/dist/internal/indexedPositionMap.js +42 -0
- package/dist/internal/pageBreakRunSourceDescendantIndex.js +2 -1
- package/dist/internal/revisionResolutionEdits.d.ts +13 -0
- package/dist/internal/revisionResolutionEdits.js +19 -0
- package/dist/internal/revisionResolutionInline.d.ts +24 -0
- package/dist/internal/{headlessRevisionResolution.js → revisionResolutionInline.js} +61 -43
- package/dist/internal/revisionResolutionStep.d.ts +34 -0
- package/dist/internal/revisionResolutionStep.js +282 -0
- package/dist/internal/revisionResolutionTracking.d.ts +11 -0
- package/dist/internal/revisionResolutionTracking.js +124 -0
- package/dist/internal/wholeStoryRevisionResolution.d.ts +56 -0
- package/dist/internal/wholeStoryRevisionResolution.js +600 -0
- package/dist/layout-bridge/convert/markupViewFlow.d.ts +20 -0
- package/dist/layout-bridge/convert/markupViewFlow.js +123 -0
- package/dist/layout-bridge/convert/tableConversion.js +1 -1
- package/dist/layout-bridge/convert/toFlowBlocks.js +10 -1
- package/dist/layout-engine/layoutInstrumentation.d.ts +9 -1
- package/dist/layout-engine/layoutInstrumentation.js +4 -1
- package/dist/layout-engine/measure/cache.d.ts +18 -1
- package/dist/layout-engine/measure/cache.js +31 -1
- package/dist/layout-engine/measure/font-metrics.worker.js +3 -7
- package/dist/layout-engine/measure/measureContainer.js +7 -47
- package/dist/layout-engine/measure/measureHelpers.d.ts +6 -1
- package/dist/layout-engine/measure/measureHelpers.js +22 -2
- package/dist/layout-engine/measure/measureParagraph.js +2 -2
- package/dist/layout-engine/measure/measureWorker.js +2 -3
- package/dist/layout-engine/measure/measureWorkerProtocol.d.ts +6 -7
- package/dist/layout-engine/measure/measureWorkerProtocol.js +1 -2
- package/dist/layout-engine/measure/paragraphMeasureShared.d.ts +12 -1
- package/dist/layout-engine/measure/paragraphMeasureShared.js +14 -1
- package/dist/layout-engine/types.d.ts +6 -0
- package/dist/layout-painter/renderPage.js +1 -0
- package/dist/layout-painter/renderParagraph.js +1 -1
- package/dist/managers/ContextMenuManager.js +5 -2
- package/dist/managers/types.d.ts +3 -0
- package/dist/markdown/escape.d.ts +2 -2
- package/dist/markdown/escape.js +4 -5
- package/dist/markdown/fromMarkdown.js +2 -1
- package/dist/markdown/internals.d.ts +11 -1
- package/dist/markdown/internals.js +24 -3
- package/dist/markdown/renderBlock.js +121 -25
- package/dist/markdown/renderParagraph.d.ts +13 -1
- package/dist/markdown/renderParagraph.js +85 -38
- package/dist/markdown/renderRuns.d.ts +10 -1
- package/dist/markdown/renderRuns.js +323 -69
- package/dist/markdown/renderTable.js +24 -12
- package/dist/markdown/trailers.js +2 -2
- package/dist/markdown/types.d.ts +29 -7
- package/dist/paged-layout/incrementalMeasure.d.ts +1 -2
- package/dist/paged-layout/incrementalMeasure.js +1 -9
- package/dist/paged-layout/transactionDirtyRange.d.ts +1 -3
- package/dist/paged-layout/transactionDirtyRange.js +29 -41
- package/dist/panel-layout.d.ts +83 -0
- package/dist/panel-layout.js +96 -0
- package/dist/prosemirror/anchoredTextBoxes.d.ts +37 -0
- package/dist/prosemirror/anchoredTextBoxes.js +156 -0
- package/dist/prosemirror/attrs/index.d.ts +6 -2
- package/dist/prosemirror/attrs/index.js +172 -1
- package/dist/prosemirror/clearRunColor.d.ts +6 -0
- package/dist/prosemirror/clearRunColor.js +46 -0
- package/dist/prosemirror/commands/comments.d.ts +7 -8
- package/dist/prosemirror/commands/comments.js +281 -212
- package/dist/prosemirror/commands/contentControls.d.ts +1 -1
- package/dist/prosemirror/commands/formatPainter.d.ts +1 -1
- package/dist/prosemirror/commands/formatPainter.js +1 -1
- package/dist/prosemirror/commands/formatting.d.ts +1 -1
- package/dist/prosemirror/commands/hyperlink.js +2 -1
- package/dist/prosemirror/commands/index.d.ts +2 -2
- package/dist/prosemirror/commands/index.js +2 -2
- package/dist/prosemirror/commands/paragraph.d.ts +7 -1
- package/dist/prosemirror/commands/paragraph.js +9 -1
- package/dist/prosemirror/commands/paragraphBookmarkJoin.d.ts +13 -0
- package/dist/prosemirror/commands/paragraphBookmarkJoin.js +22 -0
- package/dist/prosemirror/commands/pastePlainText.d.ts +1 -1
- package/dist/prosemirror/commands/propertyChangeScope.d.ts +3 -2
- package/dist/prosemirror/commands/propertyChangeScope.js +24 -3
- package/dist/prosemirror/commands/resolveAllTableChanges.d.ts +40 -0
- package/dist/prosemirror/commands/resolveAllTableChanges.js +620 -0
- package/dist/prosemirror/commands/resolveNodePropertyChangeAttrs.d.ts +15 -0
- package/dist/prosemirror/commands/resolveNodePropertyChangeAttrs.js +46 -0
- package/dist/prosemirror/commands/resolveParagraphProperties.d.ts +16 -0
- package/dist/prosemirror/commands/resolveParagraphProperties.js +73 -0
- package/dist/prosemirror/commands/sectionBreak.js +2 -1
- package/dist/prosemirror/commands/tableCellMergeResolution.d.ts +15 -2
- package/dist/prosemirror/commands/tableCellMergeResolution.js +23 -7
- package/dist/prosemirror/containerFinalParagraph.d.ts +11 -5
- package/dist/prosemirror/containerFinalParagraph.js +7 -6
- package/dist/prosemirror/contentControlRevisions.d.ts +1 -1
- package/dist/prosemirror/conversion/fromProseDoc.d.ts +2 -13
- package/dist/prosemirror/conversion/fromProseDoc.js +177 -605
- package/dist/prosemirror/conversion/toProseDoc.d.ts +4 -11
- package/dist/prosemirror/conversion/toProseDoc.js +70 -154
- package/dist/prosemirror/documentSchema.d.ts +8 -0
- package/dist/prosemirror/documentSchema.js +18 -0
- package/dist/prosemirror/emptyFieldResultRuns.d.ts +18 -0
- package/dist/prosemirror/emptyFieldResultRuns.js +33 -0
- package/dist/prosemirror/extensions/ExtensionManager.d.ts +1 -1
- package/dist/prosemirror/extensions/ExtensionManager.js +3 -1
- package/dist/prosemirror/extensions/StarterKit.js +5 -1
- package/dist/prosemirror/extensions/core/DocExtension.js +1 -1
- package/dist/prosemirror/extensions/core/ParagraphExtension.js +116 -63
- package/dist/prosemirror/extensions/features/BaseKeymapExtension.js +4 -1
- package/dist/prosemirror/extensions/features/EmptyParagraphFormatExtension.js +24 -3
- package/dist/prosemirror/extensions/features/JoinedRunStyleExtension.d.ts +20 -0
- package/dist/prosemirror/extensions/features/JoinedRunStyleExtension.js +43 -0
- package/dist/prosemirror/extensions/features/ListExtension.js +167 -128
- package/dist/prosemirror/extensions/features/ParaIdAllocatorExtension.d.ts +19 -2
- package/dist/prosemirror/extensions/features/ParaIdAllocatorExtension.js +33 -20
- package/dist/prosemirror/extensions/features/ParagraphChangeTrackerExtension.d.ts +31 -2
- package/dist/prosemirror/extensions/features/ParagraphChangeTrackerExtension.js +270 -99
- package/dist/prosemirror/extensions/features/PasteCleanupExtension.js +3 -2
- package/dist/prosemirror/extensions/features/pasteCleanup.js +2 -1
- package/dist/prosemirror/extensions/features/pastedHeadingStyles.js +1 -1
- package/dist/prosemirror/extensions/features/pastedHtmlLists.d.ts +12 -0
- package/dist/prosemirror/extensions/features/pastedHtmlLists.js +124 -0
- package/dist/prosemirror/extensions/marks/FootnoteRefExtension.js +33 -11
- package/dist/prosemirror/extensions/marks/HyperlinkExtension.js +8 -4
- package/dist/prosemirror/extensions/marks/RunIdentityExtension.d.ts +21 -18
- package/dist/prosemirror/extensions/marks/RunIdentityExtension.js +37 -17
- package/dist/prosemirror/extensions/marks/StrikeExtension.js +2 -2
- package/dist/prosemirror/extensions/marks/SubscriptExtension.js +2 -2
- package/dist/prosemirror/extensions/marks/SuperscriptExtension.js +2 -2
- package/dist/prosemirror/extensions/marks/TextColorExtension.js +4 -3
- package/dist/prosemirror/extensions/marks/markUtils.d.ts +15 -8
- package/dist/prosemirror/extensions/marks/markUtils.js +25 -10
- package/dist/prosemirror/extensions/marks/noteReferenceDeletion.d.ts +12 -0
- package/dist/prosemirror/extensions/marks/noteReferenceDeletion.js +46 -0
- package/dist/prosemirror/extensions/nodes/BlockCustomXmlExtension.d.ts +6 -0
- package/dist/prosemirror/extensions/nodes/BlockCustomXmlExtension.js +52 -0
- package/dist/prosemirror/extensions/nodes/CommentReferenceExtension.js +2 -2
- package/dist/prosemirror/extensions/nodes/FieldExtension.d.ts +3 -3
- package/dist/prosemirror/extensions/nodes/FieldExtension.js +50 -15
- package/dist/prosemirror/extensions/nodes/HardBreakExtension.js +5 -3
- package/dist/prosemirror/extensions/nodes/PreservedBlockExtension.js +4 -1
- package/dist/prosemirror/extensions/nodes/TableExtension.d.ts +1 -1
- package/dist/prosemirror/extensions/nodes/TableExtension.js +121 -226
- package/dist/prosemirror/extensions/types.d.ts +11 -1
- package/dist/prosemirror/findReplaceSelection.js +1 -1
- package/dist/prosemirror/hyperlinkRemoval.d.ts +9 -0
- package/dist/prosemirror/hyperlinkRemoval.js +129 -0
- package/dist/prosemirror/index.d.ts +5 -3
- package/dist/prosemirror/index.js +5 -3
- package/dist/prosemirror/indexedNodeLookup.d.ts +17 -0
- package/dist/prosemirror/indexedNodeLookup.js +103 -0
- package/dist/prosemirror/listAutoformatMarkers.d.ts +19 -0
- package/dist/prosemirror/listAutoformatMarkers.js +98 -0
- package/dist/prosemirror/listInstanceReferences.d.ts +12 -0
- package/dist/prosemirror/listInstanceReferences.js +72 -0
- package/dist/prosemirror/listLabels.d.ts +24 -0
- package/dist/prosemirror/listLabels.js +111 -0
- package/dist/prosemirror/listNumbering.d.ts +92 -0
- package/dist/prosemirror/listNumbering.js +330 -0
- package/dist/prosemirror/listRendering.d.ts +27 -0
- package/dist/prosemirror/listRendering.js +27 -0
- package/dist/prosemirror/listRenderingAttrs.d.ts +11 -2
- package/dist/prosemirror/listRenderingAttrs.js +8 -1
- package/dist/prosemirror/markupViewNotes.d.ts +8 -0
- package/dist/prosemirror/markupViewNotes.js +49 -0
- package/dist/prosemirror/markupViewProjection.d.ts +97 -0
- package/dist/prosemirror/markupViewProjection.js +88 -0
- package/dist/prosemirror/noteReferenceReview.d.ts +77 -0
- package/dist/prosemirror/noteReferenceReview.js +332 -0
- package/dist/prosemirror/numberingAttr.d.ts +9 -1
- package/dist/prosemirror/numberingAttr.js +9 -1
- package/dist/prosemirror/outlineLevelAttr.js +1 -1
- package/dist/prosemirror/paragraphIndentation.d.ts +10 -1
- package/dist/prosemirror/paragraphIndentation.js +32 -7
- package/dist/prosemirror/paragraphMarkJoin.d.ts +21 -0
- package/dist/prosemirror/paragraphMarkJoin.js +26 -0
- package/dist/prosemirror/paragraphPropertyCarry.d.ts +64 -0
- package/dist/prosemirror/paragraphPropertyCarry.js +158 -0
- package/dist/prosemirror/plugins/createDocScanPlugin.d.ts +1 -1
- package/dist/prosemirror/plugins/documentNumbering.d.ts +27 -1
- package/dist/prosemirror/plugins/documentNumbering.js +97 -11
- package/dist/prosemirror/plugins/documentStyleState.d.ts +26 -0
- package/dist/prosemirror/plugins/documentStyleState.js +32 -0
- package/dist/prosemirror/plugins/documentStyles.d.ts +3 -13
- package/dist/prosemirror/plugins/documentStyles.js +67 -17
- package/dist/prosemirror/plugins/index.d.ts +2 -1
- package/dist/prosemirror/plugins/index.js +2 -1
- package/dist/prosemirror/plugins/paragraphStyleResolution.d.ts +15 -0
- package/dist/prosemirror/plugins/paragraphStyleResolution.js +230 -0
- package/dist/prosemirror/plugins/suggestionMode.d.ts +27 -3
- package/dist/prosemirror/plugins/suggestionMode.js +490 -63
- package/dist/prosemirror/plugins/templateDirectives.d.ts +1 -1
- package/dist/prosemirror/plugins/transactionInvariants.d.ts +32 -0
- package/dist/prosemirror/plugins/transactionInvariants.js +86 -0
- package/dist/prosemirror/positionSweep.d.ts +24 -0
- package/dist/prosemirror/positionSweep.js +222 -0
- package/dist/prosemirror/rebaseParagraphRunFormatting.d.ts +23 -3
- package/dist/prosemirror/rebaseParagraphRunFormatting.js +39 -13
- package/dist/prosemirror/rebaseParagraphRuns.d.ts +36 -0
- package/dist/prosemirror/rebaseParagraphRuns.js +99 -0
- package/dist/prosemirror/rejoinRunCarriers.d.ts +1 -1
- package/dist/prosemirror/replacedAnnotations.d.ts +33 -1
- package/dist/prosemirror/replacedAnnotations.js +170 -1
- package/dist/prosemirror/runFormattingFromMarks.d.ts +18 -0
- package/dist/prosemirror/runFormattingFromMarks.js +567 -0
- package/dist/prosemirror/runFormattingInlineCarriers.d.ts +1 -1
- package/dist/prosemirror/runFormattingReconciliation.js +10 -9
- package/dist/prosemirror/schema/index.d.ts +2 -2
- package/dist/prosemirror/schema/index.js +3 -0
- package/dist/prosemirror/schema/nodes.d.ts +44 -11
- package/dist/prosemirror/sectionMarkEdits.d.ts +20 -0
- package/dist/prosemirror/sectionMarkEdits.js +59 -0
- package/dist/prosemirror/storyListNumbering.d.ts +17 -0
- package/dist/prosemirror/storyListNumbering.js +102 -0
- package/dist/prosemirror/styles/paragraphStyleCascade.d.ts +59 -0
- package/dist/prosemirror/styles/paragraphStyleCascade.js +145 -0
- package/dist/prosemirror/styles/resolvedStyleAttrs.d.ts +21 -2
- package/dist/prosemirror/styles/resolvedStyleAttrs.js +38 -1
- package/dist/prosemirror/styles/tableStyleRegions.d.ts +31 -0
- package/dist/prosemirror/styles/tableStyleRegions.js +55 -0
- package/dist/prosemirror/tableCellPaste.d.ts +74 -0
- package/dist/prosemirror/tableCellPaste.js +525 -0
- package/dist/prosemirror/tableGridMutation.d.ts +87 -2
- package/dist/prosemirror/tableGridMutation.js +255 -2
- package/dist/prosemirror/tableRunIn.d.ts +51 -0
- package/dist/prosemirror/tableRunIn.js +165 -0
- package/dist/prosemirror/textInput.js +11 -2
- package/dist/prosemirror/trackedRevisionPath.d.ts +17 -0
- package/dist/prosemirror/trackedRevisionPath.js +32 -0
- package/dist/prosemirror/validation.js +5 -1
- package/dist/redline.js +93 -9
- package/dist/render-dom/BodySelectionOverlay.d.ts +4 -1
- package/dist/render-dom/BodySelectionOverlay.js +3 -2
- package/dist/server.d.ts +2 -2
- package/dist/utils/findReplace.js +2 -2
- package/dist/utils/mergeDocumentContent.js +1 -1
- package/dist/utils/noteReferenceLabels.d.ts +36 -0
- package/dist/utils/noteReferenceLabels.js +32 -0
- package/dist/utils/replaceText.js +1 -1
- package/dist/version-comparison.d.ts +1 -0
- package/dist/version-comparison.js +1 -0
- package/package.json +6 -5
- package/dist/internal/headlessRevisionResolution.d.ts +0 -23
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { document_d_exports } from "../types/document.js";
|
|
2
|
+
import { Node } from "prosemirror-model";
|
|
3
|
+
import { ValidateDocumentModelIssue } from "@stll/docx-core";
|
|
4
|
+
//#region src/ai-edits/result-validation.d.ts
|
|
5
|
+
/** What the story's package knows that the story itself does not. */
|
|
6
|
+
type FolioOperationResultValidationContext = {
|
|
7
|
+
/**
|
|
8
|
+
* The document's numbering definitions; `null` when the story states none,
|
|
9
|
+
* `undefined` when it cannot say (no numbering plugin), which leaves
|
|
10
|
+
* numbering references unchecked.
|
|
11
|
+
*/
|
|
12
|
+
numbering: document_d_exports.NumberingDefinitions | null | undefined;
|
|
13
|
+
/** Comment ids the batch allocated; the host holds the comments themselves. */
|
|
14
|
+
createdCommentIds: readonly number[];
|
|
15
|
+
/**
|
|
16
|
+
* The author the host stamps on those comments, when the batch names one;
|
|
17
|
+
* the host writes the batch's author, so a blank one fails there too.
|
|
18
|
+
*/
|
|
19
|
+
commentAuthor?: string;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* The save-validator errors the batch introduced: errors in the changed window
|
|
23
|
+
* of `after` that the same window of `before` did not already report. Empty
|
|
24
|
+
* when the result is as saveable as the story it started from.
|
|
25
|
+
*/
|
|
26
|
+
declare const findIntroducedModelErrors: (before: Node, after: Node, context: FolioOperationResultValidationContext) => ValidateDocumentModelIssue[];
|
|
27
|
+
declare const describeModelError: ({ path, message }: ValidateDocumentModelIssue) => string;
|
|
28
|
+
//#endregion
|
|
29
|
+
export { FolioOperationResultValidationContext, describeModelError, findIntroducedModelErrors };
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { validateFolioDocumentModel } from "../docx/modelValidation.js";
|
|
2
|
+
import { proseDocToBlocks } from "../prosemirror/conversion/fromProseDoc.js";
|
|
3
|
+
import { sectionPropertiesOf } from "../prosemirror/sectionCarrier.js";
|
|
4
|
+
import { anchoredCommentIdsInProseDoc } from "./comment-lifecycle.js";
|
|
5
|
+
import { Fragment } from "prosemirror-model";
|
|
6
|
+
//#region src/ai-edits/result-validation.ts
|
|
7
|
+
/**
|
|
8
|
+
* The check an operation batch's result passes before it is committed.
|
|
9
|
+
*
|
|
10
|
+
* An operation that reaches the document is a promise that the document can
|
|
11
|
+
* still be saved: the batch reports it as applied, issues a receipt and an
|
|
12
|
+
* undo handle, and the next thing the caller does may be `save()`. The model
|
|
13
|
+
* validator the save runs (`validateFolioDocumentModel`, the one
|
|
14
|
+
* `repackDocx` asserts) is therefore the judge here too, run on what the
|
|
15
|
+
* batch produced, while the batch can still be refused.
|
|
16
|
+
*
|
|
17
|
+
* Two constraints shape it:
|
|
18
|
+
*
|
|
19
|
+
* - Cost. Converting a whole story back to the model and validating it costs
|
|
20
|
+
* about as much as the apply itself on a long document. A batch only
|
|
21
|
+
* changes the top-level blocks it touched, and ProseMirror keeps every
|
|
22
|
+
* untouched child node by identity, so only the window between the first
|
|
23
|
+
* and the last changed child is converted and validated.
|
|
24
|
+
* - Blame. The apply layer holds the story, not the package: comments, notes
|
|
25
|
+
* and header/footer parts are the host's. A window can therefore report an
|
|
26
|
+
* error the batch did not cause (a comment the package defines, a range the
|
|
27
|
+
* window cuts). Only an error the same window did not already have before
|
|
28
|
+
* the batch counts; an error the document already carried is the
|
|
29
|
+
* document's, and refusing every later edit near it would help no one.
|
|
30
|
+
*/
|
|
31
|
+
/**
|
|
32
|
+
* The top-level children that differ between two versions of one story,
|
|
33
|
+
* found by node identity from both ends. `null` when every child is shared.
|
|
34
|
+
*/
|
|
35
|
+
const changedTopLevelWindow = (before, after) => {
|
|
36
|
+
if (before === after) return null;
|
|
37
|
+
const beforeCount = before.childCount;
|
|
38
|
+
const afterCount = after.childCount;
|
|
39
|
+
let from = 0;
|
|
40
|
+
while (from < beforeCount && from < afterCount && before.child(from) === after.child(from)) from += 1;
|
|
41
|
+
let beforeTo = beforeCount;
|
|
42
|
+
let afterTo = afterCount;
|
|
43
|
+
while (beforeTo > from && afterTo > from && before.child(beforeTo - 1) === after.child(afterTo - 1)) {
|
|
44
|
+
beforeTo -= 1;
|
|
45
|
+
afterTo -= 1;
|
|
46
|
+
}
|
|
47
|
+
if (from === beforeTo && from === afterTo) return null;
|
|
48
|
+
return {
|
|
49
|
+
from,
|
|
50
|
+
beforeTo,
|
|
51
|
+
afterTo
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
const TOP_LEVEL_PATH = /^package\.document\.content\[(\d+)\]/u;
|
|
55
|
+
/** Rebase a window-relative block path onto the story's own block index. */
|
|
56
|
+
const rebasePath = (path, offset) => path.replace(TOP_LEVEL_PATH, (_match, index) => `package.document.content[${String(Number(index) + offset)}]`);
|
|
57
|
+
const syntheticComment = (id, author) => ({
|
|
58
|
+
id,
|
|
59
|
+
author,
|
|
60
|
+
content: []
|
|
61
|
+
});
|
|
62
|
+
/** A story can identify its existing references even though the host owns the parts. */
|
|
63
|
+
const knownSectionParts = (doc) => {
|
|
64
|
+
const headers = /* @__PURE__ */ new Map();
|
|
65
|
+
const footers = /* @__PURE__ */ new Map();
|
|
66
|
+
doc.descendants((node) => {
|
|
67
|
+
if (node.type.name !== "paragraph") return true;
|
|
68
|
+
const section = sectionPropertiesOf(node);
|
|
69
|
+
for (const { rId, type } of section?.headerReferences ?? []) headers.set(rId, {
|
|
70
|
+
type: "header",
|
|
71
|
+
hdrFtrType: type,
|
|
72
|
+
content: []
|
|
73
|
+
});
|
|
74
|
+
for (const { rId, type } of section?.footerReferences ?? []) footers.set(rId, {
|
|
75
|
+
type: "footer",
|
|
76
|
+
hdrFtrType: type,
|
|
77
|
+
content: []
|
|
78
|
+
});
|
|
79
|
+
return false;
|
|
80
|
+
});
|
|
81
|
+
return {
|
|
82
|
+
headers,
|
|
83
|
+
footers
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
const windowErrors = ({ doc, from, to, context, knownParts, knownCommentIds }) => {
|
|
87
|
+
if (to <= from) return [];
|
|
88
|
+
const children = [];
|
|
89
|
+
for (let index = from; index < to; index += 1) children.push(doc.child(index));
|
|
90
|
+
let content;
|
|
91
|
+
try {
|
|
92
|
+
content = proseDocToBlocks(doc.copy(Fragment.fromArray(children)), []);
|
|
93
|
+
} catch (error) {
|
|
94
|
+
return [{
|
|
95
|
+
path: `package.document.content[${String(from)}]`,
|
|
96
|
+
message: `The content cannot be converted for saving: ${error instanceof Error ? error.message : String(error)}`,
|
|
97
|
+
severity: "error"
|
|
98
|
+
}];
|
|
99
|
+
}
|
|
100
|
+
return validateFolioDocumentModel({ package: {
|
|
101
|
+
document: {
|
|
102
|
+
content,
|
|
103
|
+
comments: [...[...knownCommentIds ?? []].map((id) => syntheticComment(id, "")), ...context.createdCommentIds.filter((id) => !knownCommentIds?.has(id)).map((id) => syntheticComment(id, context.commentAuthor ?? ""))]
|
|
104
|
+
},
|
|
105
|
+
...context.numbering !== null && context.numbering !== void 0 && { numbering: context.numbering },
|
|
106
|
+
...knownParts && {
|
|
107
|
+
headers: knownParts.headers,
|
|
108
|
+
footers: knownParts.footers
|
|
109
|
+
}
|
|
110
|
+
} }).issues.filter((issue) => issue.severity === "error" && !(context.numbering === void 0 && issue.path.endsWith(".numPr.numId"))).map(({ path, message, severity }) => ({
|
|
111
|
+
path: rebasePath(path, from),
|
|
112
|
+
message,
|
|
113
|
+
severity
|
|
114
|
+
}));
|
|
115
|
+
};
|
|
116
|
+
/**
|
|
117
|
+
* The save-validator errors the batch introduced: errors in the changed window
|
|
118
|
+
* of `after` that the same window of `before` did not already report. Empty
|
|
119
|
+
* when the result is as saveable as the story it started from.
|
|
120
|
+
*/
|
|
121
|
+
const findIntroducedModelErrors = (before, after, context) => {
|
|
122
|
+
const window = changedTopLevelWindow(before, after);
|
|
123
|
+
if (window === null) return [];
|
|
124
|
+
let afterErrors = windowErrors({
|
|
125
|
+
doc: after,
|
|
126
|
+
from: window.from,
|
|
127
|
+
to: window.afterTo,
|
|
128
|
+
context
|
|
129
|
+
});
|
|
130
|
+
let parts;
|
|
131
|
+
if (afterErrors.some(({ message }) => message.startsWith("Section references missing "))) parts = knownSectionParts(before);
|
|
132
|
+
let knownCommentIds;
|
|
133
|
+
if (afterErrors.some(({ message }) => /^Comment \d+ is referenced but not present/u.test(message))) knownCommentIds = anchoredCommentIdsInProseDoc(before);
|
|
134
|
+
if (parts || knownCommentIds) afterErrors = windowErrors({
|
|
135
|
+
doc: after,
|
|
136
|
+
from: window.from,
|
|
137
|
+
to: window.afterTo,
|
|
138
|
+
context,
|
|
139
|
+
...parts !== void 0 && { knownParts: parts },
|
|
140
|
+
...knownCommentIds !== void 0 && { knownCommentIds }
|
|
141
|
+
});
|
|
142
|
+
if (afterErrors.length === 0) return afterErrors;
|
|
143
|
+
const known = /* @__PURE__ */ new Map();
|
|
144
|
+
for (const { message } of windowErrors({
|
|
145
|
+
doc: before,
|
|
146
|
+
from: window.from,
|
|
147
|
+
to: window.beforeTo,
|
|
148
|
+
context: {
|
|
149
|
+
...context,
|
|
150
|
+
createdCommentIds: []
|
|
151
|
+
},
|
|
152
|
+
...parts !== void 0 && { knownParts: parts },
|
|
153
|
+
...knownCommentIds !== void 0 && { knownCommentIds }
|
|
154
|
+
})) known.set(message, (known.get(message) ?? 0) + 1);
|
|
155
|
+
return afterErrors.filter(({ message }) => {
|
|
156
|
+
const remaining = known.get(message) ?? 0;
|
|
157
|
+
if (remaining === 0) return true;
|
|
158
|
+
known.set(message, remaining - 1);
|
|
159
|
+
return false;
|
|
160
|
+
});
|
|
161
|
+
};
|
|
162
|
+
const describeModelError = ({ path, message }) => `The result would not save: ${path}: ${message}`;
|
|
163
|
+
//#endregion
|
|
164
|
+
export { describeModelError, findIntroducedModelErrors };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Transaction } from "prosemirror-state";
|
|
2
|
+
//#region src/ai-edits/revisionStretches.d.ts
|
|
3
|
+
type SeparateRevisionStretchesOptions = {
|
|
4
|
+
tr: Transaction;
|
|
5
|
+
revisionSeed: number;
|
|
6
|
+
};
|
|
7
|
+
type SeparatedRevisionStretches = {
|
|
8
|
+
nextRevisionId: number;
|
|
9
|
+
/** Each fresh id, with the revision whose stretch it now names. */
|
|
10
|
+
minted: {
|
|
11
|
+
revisionId: number;
|
|
12
|
+
from: number;
|
|
13
|
+
}[];
|
|
14
|
+
};
|
|
15
|
+
declare const separateRevisionStretches: ({ tr, revisionSeed }: SeparateRevisionStretchesOptions) => SeparatedRevisionStretches;
|
|
16
|
+
//#endregion
|
|
17
|
+
export { SeparatedRevisionStretches, separateRevisionStretches };
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { expectTrackedChangeMarkAttrs } from "../prosemirror/attrs/index.js";
|
|
2
|
+
//#region src/ai-edits/revisionStretches.ts
|
|
3
|
+
const INLINE_REVISION_MARKS = /* @__PURE__ */ new Set(["insertion", "deletion"]);
|
|
4
|
+
const separateRevisionStretches = ({ tr, revisionSeed }) => {
|
|
5
|
+
let nextRevisionId = revisionSeed;
|
|
6
|
+
const minted = [];
|
|
7
|
+
const retargets = [];
|
|
8
|
+
let stretches = /* @__PURE__ */ new Map();
|
|
9
|
+
tr.doc.descendants((node, pos) => {
|
|
10
|
+
if (node.isTextblock) {
|
|
11
|
+
stretches = /* @__PURE__ */ new Map();
|
|
12
|
+
return true;
|
|
13
|
+
}
|
|
14
|
+
if (!node.isInline || !(node.isLeaf || node.isText)) return true;
|
|
15
|
+
const layersOf = (mark) => {
|
|
16
|
+
const attrs = expectTrackedChangeMarkAttrs(mark);
|
|
17
|
+
return [...(attrs._docxRevisionAncestors ?? []).flatMap((ancestor) => ancestor.type === "insertion" || ancestor.type === "deletion" ? [{
|
|
18
|
+
kind: ancestor.type,
|
|
19
|
+
revisionId: ancestor.revisionId
|
|
20
|
+
}] : []), {
|
|
21
|
+
kind: mark.type.name,
|
|
22
|
+
revisionId: attrs.revisionId
|
|
23
|
+
}];
|
|
24
|
+
};
|
|
25
|
+
const revisionMarks = node.marks.filter((mark) => INLINE_REVISION_MARKS.has(mark.type.name) && expectTrackedChangeMarkAttrs(mark).moveKind === void 0);
|
|
26
|
+
const carried = new Set(revisionMarks.flatMap((mark) => layersOf(mark).map(({ kind, revisionId }) => `${kind}:${String(revisionId)}`)));
|
|
27
|
+
if (node.type.name !== "commentReference") {
|
|
28
|
+
for (const [key, stretch] of stretches) if (!carried.has(key)) stretch.interrupted = true;
|
|
29
|
+
}
|
|
30
|
+
for (const mark of revisionMarks) {
|
|
31
|
+
const ids = /* @__PURE__ */ new Map();
|
|
32
|
+
for (const { kind, revisionId } of layersOf(mark)) {
|
|
33
|
+
const key = `${kind}:${String(revisionId)}`;
|
|
34
|
+
let stretch = stretches.get(key);
|
|
35
|
+
if (!stretch) {
|
|
36
|
+
stretch = {
|
|
37
|
+
id: revisionId,
|
|
38
|
+
interrupted: false
|
|
39
|
+
};
|
|
40
|
+
stretches.set(key, stretch);
|
|
41
|
+
} else if (stretch.interrupted) {
|
|
42
|
+
const fresh = nextRevisionId++;
|
|
43
|
+
minted.push({
|
|
44
|
+
revisionId: fresh,
|
|
45
|
+
from: revisionId
|
|
46
|
+
});
|
|
47
|
+
stretch = {
|
|
48
|
+
id: fresh,
|
|
49
|
+
interrupted: false
|
|
50
|
+
};
|
|
51
|
+
stretches.set(key, stretch);
|
|
52
|
+
}
|
|
53
|
+
if (stretch.id !== revisionId) ids.set(revisionId, stretch.id);
|
|
54
|
+
}
|
|
55
|
+
if (ids.size > 0) retargets.push({
|
|
56
|
+
from: pos,
|
|
57
|
+
to: pos + node.nodeSize,
|
|
58
|
+
mark,
|
|
59
|
+
ids
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
return true;
|
|
63
|
+
});
|
|
64
|
+
for (const { from, to, mark, ids } of retargets) {
|
|
65
|
+
const attrs = expectTrackedChangeMarkAttrs(mark);
|
|
66
|
+
const ancestors = attrs._docxRevisionAncestors;
|
|
67
|
+
tr.removeMark(from, to, mark);
|
|
68
|
+
tr.addMark(from, to, mark.type.create({
|
|
69
|
+
...mark.attrs,
|
|
70
|
+
revisionId: ids.get(attrs.revisionId) ?? attrs.revisionId,
|
|
71
|
+
...ancestors && { _docxRevisionAncestors: ancestors.map((ancestor) => Object.assign(structuredClone(ancestor), { revisionId: ids.get(ancestor.revisionId) ?? ancestor.revisionId })) }
|
|
72
|
+
}));
|
|
73
|
+
}
|
|
74
|
+
return {
|
|
75
|
+
nextRevisionId,
|
|
76
|
+
minted
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
//#endregion
|
|
80
|
+
export { separateRevisionStretches };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { FolioAIBlock, FolioAIBlockStructuralBoundary, FolioAIEditSnapshot, FolioAITextRangeHandle } from "./types.js";
|
|
2
|
+
import { NoteReferenceLabels } from "./note-references.js";
|
|
2
3
|
import { CleanBlockText } from "./clean-text.js";
|
|
3
4
|
import { RunStyleResolver } from "../prosemirror/runStyleFormatting.js";
|
|
4
5
|
import { Node } from "prosemirror-model";
|
|
@@ -67,10 +68,12 @@ declare const isFolioAIContentBlock: ({ text }: Pick<FolioAIBlock, "text">) => b
|
|
|
67
68
|
declare const trailingBodyBlockId: ({ blocks }: FolioAIEditSnapshot) => string | null;
|
|
68
69
|
declare const hashFolioAIBlockText: (text: string) => string;
|
|
69
70
|
/**
|
|
70
|
-
* Canonical public projection of the clean view's
|
|
71
|
+
* Canonical public projection of the clean view's inline structure.
|
|
71
72
|
*
|
|
72
73
|
* A field boundary stays internal: it marks text the reader already sees, so it
|
|
73
|
-
* belongs to range resolution rather than to a block's published structure.
|
|
74
|
+
* belongs to range resolution rather than to a block's published structure. A
|
|
75
|
+
* note reference is published: its marker reads like text, and a reader has to
|
|
76
|
+
* be able to tell it is not.
|
|
74
77
|
*/
|
|
75
78
|
declare const projectFolioAIBlockStructuralBoundaries: ({ structuralBoundaries }: Pick<CleanBlockText, "structuralBoundaries">) => readonly FolioAIBlockStructuralBoundary[];
|
|
76
79
|
/** Stable precondition fingerprint for a block's zero-width structure. */
|
|
@@ -90,6 +93,36 @@ declare const createFolioAITextRangeHandle: ({ blockId, text, startOffset, endOf
|
|
|
90
93
|
* whole subtree, so a table nested inside a hidden row is hidden with it.
|
|
91
94
|
*/
|
|
92
95
|
declare const isHiddenTableRow: (node: Node) => boolean;
|
|
96
|
+
/**
|
|
97
|
+
* The marker every footnote/endnote reference of a story reads as: numbered in
|
|
98
|
+
* reading order over the blocks {@link createFolioAIEditSnapshot} reads (a
|
|
99
|
+
* hidden row's references are as absent as its text), so the applier, the
|
|
100
|
+
* range resolvers and the snapshot all read the same text.
|
|
101
|
+
*
|
|
102
|
+
* The story is numbered on the first label asked for, not here: a reader
|
|
103
|
+
* whose walk meets no reference (most documents, and every revision-stats
|
|
104
|
+
* read) never pays for a second walk of the story.
|
|
105
|
+
*/
|
|
106
|
+
declare const collectNoteReferenceLabels: (doc: Node) => NoteReferenceLabels;
|
|
107
|
+
/**
|
|
108
|
+
* @internal The markers a comparison reads a revised story's references as:
|
|
109
|
+
* each note the base story references keeps the base's marker, and a note
|
|
110
|
+
* only the revised story references is numbered after them.
|
|
111
|
+
*
|
|
112
|
+
* Each story's own reading-order numbering would renumber every later marker
|
|
113
|
+
* of the revised story as soon as a reference is added or removed before it,
|
|
114
|
+
* and a text comparison would then read a reference both stories keep as an
|
|
115
|
+
* edit of it. Numbering the revised story on from the base keeps a kept
|
|
116
|
+
* reference's marker identical, and makes a reference the comparison brings
|
|
117
|
+
* write the marker the base story (which the edits resolve against) gives it.
|
|
118
|
+
*/
|
|
119
|
+
declare const alignedNoteReferenceLabels: (base: Node, revised: Node) => NoteReferenceLabels;
|
|
120
|
+
/**
|
|
121
|
+
* @internal The same snapshot with every note reference read through `labels`
|
|
122
|
+
* rather than the story's own numbering. Only the text and structural
|
|
123
|
+
* boundaries can change: block ids, anchors and the source document do not.
|
|
124
|
+
*/
|
|
125
|
+
declare const relabelFolioAIEditSnapshotNoteReferences: (snapshot: FolioAIEditSnapshot, labels: NoteReferenceLabels) => FolioAIEditSnapshot;
|
|
93
126
|
/** One table of a story, numbered the way {@link createFolioAIEditSnapshot} numbers it. */
|
|
94
127
|
type FolioStoryTable = {
|
|
95
128
|
/** Document-order index over every table, nested ones included. */
|
|
@@ -110,4 +143,4 @@ declare const createFolioAIEditSnapshot: (doc: Node) => FolioAIEditSnapshot;
|
|
|
110
143
|
/** @internal Use for an EditorState that owns the document's style resolver. */
|
|
111
144
|
declare const createFolioAIEditSnapshotWithStyleResolver: (doc: Node, styleResolver: RunStyleResolver | null) => FolioAIEditSnapshot;
|
|
112
145
|
//#endregion
|
|
113
|
-
export { FolioStoryTable, createFolioAIEditSnapshot, createFolioAIEditSnapshotWithStyleResolver, createFolioAITextRangeHandle, detachFolioAIEditSnapshotExternalHyperlinks, folioStoryTables, hashFolioAIBlockStructuralBoundaries, hashFolioAIBlockText, isFolioAIContentBlock, isHiddenTableRow, normalizeFolioAIBlockText, numberingReferenceKeysOf, projectFolioAIBlockStructuralBoundaries, remapFolioAIEditSnapshotNumberingReferences, remapFolioAIEditSnapshotStyleReferences, sourceDocumentOf, storyTablesOf, styleResolverOf, trailingBodyBlockId };
|
|
146
|
+
export { FolioStoryTable, alignedNoteReferenceLabels, collectNoteReferenceLabels, createFolioAIEditSnapshot, createFolioAIEditSnapshotWithStyleResolver, createFolioAITextRangeHandle, detachFolioAIEditSnapshotExternalHyperlinks, folioStoryTables, hashFolioAIBlockStructuralBoundaries, hashFolioAIBlockText, isFolioAIContentBlock, isHiddenTableRow, normalizeFolioAIBlockText, numberingReferenceKeysOf, projectFolioAIBlockStructuralBoundaries, relabelFolioAIEditSnapshotNoteReferences, remapFolioAIEditSnapshotNumberingReferences, remapFolioAIEditSnapshotStyleReferences, sourceDocumentOf, storyTablesOf, styleResolverOf, trailingBodyBlockId };
|