@stll/folio-core 0.61.0 → 0.63.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 +17 -6
- package/dist/ai-edits/apply.d.ts +40 -10
- package/dist/ai-edits/apply.js +563 -219
- package/dist/ai-edits/batch-claims.d.ts +13 -4
- package/dist/ai-edits/batch-claims.js +6 -6
- package/dist/ai-edits/block-identity.d.ts +3 -4
- package/dist/ai-edits/block-identity.js +15 -1
- package/dist/ai-edits/blockRange.d.ts +7 -7
- package/dist/ai-edits/blockRange.js +2 -1
- package/dist/ai-edits/character-boundaries.d.ts +5 -6
- package/dist/ai-edits/clean-text.d.ts +8 -8
- package/dist/ai-edits/comment-lifecycle.d.ts +15 -6
- package/dist/ai-edits/comment-lifecycle.js +74 -23
- package/dist/ai-edits/headless.d.ts +39 -37
- package/dist/ai-edits/headless.js +160 -59
- package/dist/ai-edits/index.d.ts +2 -1
- package/dist/ai-edits/index.js +2 -1
- package/dist/ai-edits/inline-emphasis.d.ts +5 -6
- package/dist/ai-edits/minimal-replacement.d.ts +12 -13
- package/dist/ai-edits/newListNumbering.d.ts +16 -3
- package/dist/ai-edits/newListNumbering.js +97 -34
- package/dist/ai-edits/note-references.d.ts +14 -14
- package/dist/ai-edits/note-story-inventory.d.ts +2 -2
- package/dist/ai-edits/pending-suggestions.d.ts +8 -8
- package/dist/ai-edits/pending-suggestions.js +5 -1
- package/dist/ai-edits/read.d.ts +10 -11
- package/dist/ai-edits/read.js +6 -0
- package/dist/ai-edits/referenceClassification.d.ts +2 -2
- package/dist/ai-edits/removed-blocks.d.ts +20 -0
- package/dist/ai-edits/removed-blocks.js +69 -0
- package/dist/ai-edits/result-validation.d.ts +4 -5
- package/dist/ai-edits/result-validation.js +4 -3
- package/dist/ai-edits/revisionStretches.d.ts +3 -3
- package/dist/ai-edits/revisionStretches.js +17 -0
- package/dist/ai-edits/scoped-reading.d.ts +3 -4
- package/dist/ai-edits/snapshot.d.ts +24 -23
- package/dist/ai-edits/snapshot.js +44 -30
- package/dist/ai-edits/table-cell-mutations.d.ts +6 -6
- package/dist/ai-edits/table-cell-mutations.js +7 -4
- package/dist/ai-edits/table-geometry.d.ts +6 -6
- package/dist/ai-edits/table-mutation-plan.d.ts +5 -5
- package/dist/ai-edits/table-mutation-plan.js +1 -4
- package/dist/ai-edits/table-row-column-mutations.d.ts +16 -16
- package/dist/ai-edits/table-targets.d.ts +8 -9
- package/dist/ai-edits/table-template.d.ts +6 -6
- package/dist/ai-edits/types.d.ts +48 -44
- package/dist/ai-edits/word-diff.d.ts +12 -13
- package/dist/ai-edits/word-diff.js +23 -21
- package/dist/ai-suggestions/apply.d.ts +3 -3
- package/dist/ai-suggestions/apply.js +0 -12
- package/dist/ai-suggestions/conflict.d.ts +4 -5
- package/dist/ai-suggestions/conflict.js +3 -1
- package/dist/ai-suggestions/text-positions.d.ts +3 -4
- package/dist/ai-suggestions/types.d.ts +13 -14
- package/dist/compare/column-alignment.d.ts +4 -5
- package/dist/compare/compare.d.ts +12 -12
- package/dist/compare/compare.js +2 -1
- package/dist/compare/content-alignment.d.ts +16 -16
- package/dist/compare/content-alignment.js +29 -25
- package/dist/compare/content-types.d.ts +23 -24
- package/dist/compare/content.d.ts +23 -23
- package/dist/compare/formatting.d.ts +2 -2
- package/dist/compare/import-style-closure.d.ts +2 -2
- package/dist/compare/inline-atom-resources.d.ts +2 -3
- package/dist/compare/inline-atoms.d.ts +6 -7
- package/dist/compare/inline-provenance.d.ts +6 -7
- package/dist/compare/inline-provenance.js +22 -20
- package/dist/compare/inserted-resource-snapshot.d.ts +3 -3
- package/dist/compare/plan.d.ts +5 -6
- package/dist/compare/plan.js +5 -6
- package/dist/compare/reproducible-package.d.ts +2 -3
- package/dist/compare/reproducible-package.js +1 -1
- package/dist/compare/scenario.d.ts +9 -9
- package/dist/compare/section-boundary-properties.d.ts +6 -6
- package/dist/compare/section-boundary-properties.js +4 -4
- package/dist/compare/style-resources.d.ts +5 -6
- package/dist/compare/types.d.ts +21 -21
- package/dist/compare/verification.d.ts +11 -11
- package/dist/content-controls/checkboxDisplay.d.ts +2 -2
- package/dist/content-controls/checkboxDisplay.js +2 -1
- package/dist/content-controls/errors.d.ts +4 -4
- package/dist/content-controls/findContentControls.d.ts +7 -8
- package/dist/content-controls/mutateContentControls.d.ts +17 -6
- package/dist/content-controls/mutateContentControls.js +3 -2
- package/dist/controller/activeEditorStory.d.ts +4 -5
- package/dist/controller/canonicalClipboard.d.ts +3 -3
- package/dist/controller/canonicalClipboard.js +3 -1
- package/dist/controller/canonicalClipboardResources.d.ts +3 -3
- package/dist/controller/canonicalClipboardResources.js +3 -2
- package/dist/controller/canonicalComments.d.ts +5 -5
- package/dist/controller/canonicalComposition.d.ts +2 -2
- package/dist/controller/canonicalComposition.js +11 -14
- package/dist/controller/canonicalInlineProjection.d.ts +8 -7
- package/dist/controller/canonicalInlineProjection.js +68 -37
- package/dist/controller/canonicalInput.d.ts +3 -3
- package/dist/controller/canonicalInput.js +1 -3
- package/dist/controller/canonicalInputTimer.d.ts +5 -6
- package/dist/controller/canonicalListRendering.d.ts +2 -3
- package/dist/controller/canonicalOperations.d.ts +6 -6
- package/dist/controller/canonicalPublicOperations.d.ts +13 -13
- package/dist/controller/canonicalPublicOperations.js +12 -14
- package/dist/controller/canonicalReview.d.ts +2 -2
- package/dist/controller/canonicalSelection.d.ts +2 -2
- package/dist/controller/canonicalSelection.js +15 -0
- package/dist/controller/canonicalSession.d.ts +22 -14
- package/dist/controller/canonicalSession.js +229 -42
- package/dist/controller/canonicalStoryEditor.d.ts +2 -2
- package/dist/controller/canonicalStructure.d.ts +3 -3
- package/dist/controller/canonicalStructure.js +144 -21
- package/dist/controller/canonicalTocSelection.d.ts +2 -2
- package/dist/controller/collaborationModules.d.ts +2 -3
- package/dist/controller/committedLayoutDiff.d.ts +4 -5
- package/dist/controller/contentControlWidgetController.d.ts +7 -8
- package/dist/controller/folioEditor.d.ts +6 -6
- package/dist/controller/folioEditorEvents.d.ts +7 -8
- package/dist/controller/fontReadiness.d.ts +12 -12
- package/dist/controller/fontReadiness.js +123 -31
- package/dist/controller/headerFooterEditorManager.d.ts +9 -10
- package/dist/controller/headerFooterEditorManager.js +3 -10
- package/dist/controller/hiddenEditorApi.d.ts +5 -5
- package/dist/controller/hiddenEditorManager.d.ts +13 -13
- package/dist/controller/hiddenEditorManager.js +2 -0
- package/dist/controller/hyphenationReadiness.d.ts +4 -5
- package/dist/controller/hyphenationReadiness.js +0 -1
- package/dist/controller/latestRequestGate.d.ts +3 -4
- package/dist/controller/layoutPipeline.d.ts +7 -8
- package/dist/controller/layoutPipeline.js +16 -5
- package/dist/controller/layoutRunOptions.d.ts +4 -5
- package/dist/controller/layoutScheduler.d.ts +8 -9
- package/dist/controller/layoutSession.d.ts +7 -7
- package/dist/controller/noteEditorManager.d.ts +8 -8
- package/dist/controller/noteEditorManager.js +0 -1
- package/dist/controller/readOnlySelection.d.ts +12 -0
- package/dist/controller/readOnlySelection.js +62 -0
- package/dist/display-list/build/buildContext.d.ts +8 -6
- package/dist/display-list/build/buildDisplayList.d.ts +6 -6
- package/dist/display-list/build/buildDisplayList.js +20 -2
- package/dist/display-list/build/colors.d.ts +6 -7
- package/dist/display-list/build/commentAnnotations.d.ts +3 -4
- package/dist/display-list/build/floatingImages.d.ts +5 -6
- package/dist/display-list/build/fontTable.d.ts +4 -5
- package/dist/display-list/build/fontTable.js +2 -1
- package/dist/display-list/build/furniture.d.ts +7 -6
- package/dist/display-list/build/furniture.js +1 -0
- package/dist/display-list/build/glyphs.d.ts +7 -7
- package/dist/display-list/build/glyphs.js +17 -26
- package/dist/display-list/build/headerFooterPrimitives.d.ts +4 -5
- package/dist/display-list/build/headerFooterPrimitives.js +5 -1
- package/dist/display-list/build/imagePrimitives.d.ts +5 -5
- package/dist/display-list/build/imagePrimitives.js +22 -13
- package/dist/display-list/build/pageBorderPrimitives.d.ts +4 -5
- package/dist/display-list/build/pageBorderPrimitives.js +8 -11
- package/dist/display-list/build/pageFurniture.d.ts +6 -7
- package/dist/display-list/build/pageFurniture.js +5 -1
- package/dist/display-list/build/paragraphPrimitives.d.ts +5 -4
- package/dist/display-list/build/paragraphPrimitives.js +147 -104
- package/dist/display-list/build/previewPrimitives.d.ts +2 -3
- package/dist/display-list/build/previewPrimitives.js +38 -9
- package/dist/display-list/build/regions.d.ts +5 -5
- package/dist/display-list/build/storyPrimitives.d.ts +4 -4
- package/dist/display-list/build/strokes.d.ts +10 -10
- package/dist/display-list/build/tablePrimitives.d.ts +5 -5
- package/dist/display-list/build/tablePrimitives.js +15 -2
- package/dist/display-list/build/textBoxPrimitives.d.ts +3 -4
- package/dist/display-list/build/textBoxPrimitives.js +4 -0
- package/dist/display-list/build/textDecorations.d.ts +10 -11
- package/dist/display-list/build/unsupported.d.ts +4 -5
- package/dist/display-list/build/watermarkPrimitives.d.ts +5 -4
- package/dist/display-list/build/watermarkPrimitives.js +5 -17
- package/dist/display-list/dom/renderDisplayListToDom.d.ts +8 -8
- package/dist/display-list/dom/renderDisplayListToDom.js +60 -15
- package/dist/display-list/editor/displayListPagePainter.d.ts +4 -5
- package/dist/display-list/editor/pageRenderer.d.ts +5 -6
- package/dist/display-list/editor/pageRenderer.js +1 -0
- package/dist/display-list/html/renderDisplayListToHtml.d.ts +5 -6
- package/dist/display-list/pageResourceOwnership.d.ts +4 -0
- package/dist/display-list/pageResourceOwnership.js +32 -0
- package/dist/display-list/primitives.d.ts +13 -13
- package/dist/display-list/primitives.js +2 -0
- package/dist/display-list/selectDisplayPages.d.ts +2 -3
- package/dist/display-list/types.d.ts +61 -36
- package/dist/document-operations.d.ts +56 -44
- package/dist/document-operations.js +37 -2
- package/dist/document-stories.d.ts +3 -4
- package/dist/docx/altChunk.d.ts +5 -6
- package/dist/docx/appVersionNormalization.d.ts +4 -4
- package/dist/docx/archiveInflation.d.ts +16 -16
- package/dist/docx/archiveInflation.js +1 -1
- package/dist/docx/attributeRemainder.d.ts +8 -8
- package/dist/docx/attributeRemainder.js +34 -0
- package/dist/docx/blockContentParser.d.ts +15 -7
- package/dist/docx/blockContentParser.js +5 -6
- package/dist/docx/blockCustomXmlShell.d.ts +2 -3
- package/dist/docx/blockPlainText.d.ts +3 -4
- package/dist/docx/blockPlainText.js +5 -1
- package/dist/docx/bookmarkIdNormalization.d.ts +2 -3
- package/dist/docx/bookmarkIds.d.ts +5 -6
- package/dist/docx/bookmarkParser.d.ts +20 -21
- package/dist/docx/bookmarkParser.js +3 -2
- package/dist/docx/borderParser.d.ts +2 -3
- package/dist/docx/builtInStyles.d.ts +11 -11
- package/dist/docx/bulletMarkers.d.ts +8 -3
- package/dist/docx/bulletMarkers.js +3 -43
- package/dist/docx/canonicalModel.d.ts +2 -0
- package/dist/docx/canonicalModel.js +1 -0
- package/dist/docx/canonicalResourceSave.d.ts +3 -3
- package/dist/docx/canonicalSave.d.ts +3 -3
- package/dist/docx/canonicalSessionInput.d.ts +3 -3
- package/dist/docx/canonicalStoryRepack.d.ts +2 -2
- package/dist/docx/chartPreview.d.ts +6 -0
- package/dist/docx/chartPreview.js +302 -0
- package/dist/docx/commentAnchorIndex.d.ts +6 -5
- package/dist/docx/commentAnchorIndex.js +236 -1
- package/dist/docx/commentIdNormalization.d.ts +4 -5
- package/dist/docx/commentParser.d.ts +4 -5
- package/dist/docx/commentParser.js +2 -1
- package/dist/docx/commentRangeIntegrity.d.ts +6 -5
- package/dist/docx/commentRangeIntegrity.js +17 -1
- package/dist/docx/commentRangeJoin.d.ts +2 -3
- package/dist/docx/commentReferenceCompletion.d.ts +2 -3
- package/dist/docx/commentReferenceNormalization.d.ts +4 -4
- package/dist/docx/commentReplyMarkers.d.ts +3 -4
- package/dist/docx/commentTextParagraph.d.ts +2 -3
- package/dist/docx/commentThreadKey.d.ts +2 -3
- package/dist/docx/compatibility.d.ts +12 -13
- package/dist/docx/conformance.d.ts +2 -3
- package/dist/docx/conformance.js +1 -1
- package/dist/docx/containerChildren.d.ts +18 -18
- package/dist/docx/containerChildren.gen.d.ts +5 -6
- package/dist/docx/contentTypeRegistry.d.ts +2 -2
- package/dist/docx/corePropertiesParser.d.ts +2 -2
- package/dist/docx/danglingRelationshipReferences.d.ts +3 -3
- package/dist/docx/defaultParagraphStyle.d.ts +6 -6
- package/dist/docx/diagramPreview.d.ts +5 -4
- package/dist/docx/diagramPreview.js +8 -3
- package/dist/docx/documentClone.js +1 -2
- package/dist/docx/documentGrid.d.ts +2 -2
- package/dist/docx/documentParser.d.ts +11 -11
- package/dist/docx/documentSectionFacts.d.ts +5 -6
- package/dist/docx/drawingAnchor.d.ts +14 -14
- package/dist/docx/drawingGroupChildren.d.ts +8 -8
- package/dist/docx/drawingIdNormalization.d.ts +3 -4
- package/dist/docx/drawingRelationships.d.ts +2 -2
- package/dist/docx/drawingUtils.d.ts +16 -17
- package/dist/docx/drawingUtils.js +4 -2
- package/dist/docx/encryption/agileDecryption.d.ts +2 -3
- package/dist/docx/encryption/compoundFile.d.ts +5 -6
- package/dist/docx/encryption/containerFormat.d.ts +4 -5
- package/dist/docx/encryption/cryptoBytes.d.ts +8 -9
- package/dist/docx/encryption/encryptionInfo.d.ts +5 -6
- package/dist/docx/encryption/errors.d.ts +5 -5
- package/dist/docx/encryption/openEncryptedDocx.d.ts +5 -6
- package/dist/docx/ensureParaIds.d.ts +6 -6
- package/dist/docx/ensureParaIds.js +1 -1
- package/dist/docx/fieldParser.d.ts +32 -33
- package/dist/docx/fieldParser.js +8 -6
- package/dist/docx/fieldState.d.ts +5 -6
- package/dist/docx/foldedListNumberFields.d.ts +15 -16
- package/dist/docx/fontTableParser.d.ts +2 -3
- package/dist/docx/footnoteParser.d.ts +11 -11
- package/dist/docx/footnoteParser.js +19 -0
- package/dist/docx/graphicFrameLocks.d.ts +5 -6
- package/dist/docx/groupDrawingParser.d.ts +4 -5
- package/dist/docx/groupDrawingParser.js +32 -17
- package/dist/docx/headerFooterParser.d.ts +14 -14
- package/dist/docx/headerFooterRefParser.d.ts +6 -7
- package/dist/docx/headerFooterReferenceNormalization.d.ts +5 -5
- package/dist/docx/headerFooterVerbatim.d.ts +14 -14
- package/dist/docx/hyperlinkParser.d.ts +20 -21
- package/dist/docx/hyperlinkParser.js +54 -11
- package/dist/docx/imageParser.d.ts +18 -18
- package/dist/docx/imageParser.js +6 -3
- package/dist/docx/imageRawXml.d.ts +9 -10
- package/dist/docx/importedIdCollisions.d.ts +3 -4
- package/dist/docx/inlineContentRemovals.d.ts +2 -3
- package/dist/docx/inlineWrapperContent.d.ts +38 -33
- package/dist/docx/inlineWrapperContent.js +29 -23
- package/dist/docx/inlineWrapperParser.d.ts +4 -5
- package/dist/docx/inlineWrapperParser.js +14 -0
- package/dist/docx/linkedSdtPreservation.d.ts +3 -3
- package/dist/docx/listMarkerComputation.d.ts +4 -5
- package/dist/docx/listModelNormalization.d.ts +2 -2
- package/dist/docx/listModelNormalization.js +15 -11
- package/dist/docx/listNumberingInstances.d.ts +8 -8
- package/dist/docx/listRendering.d.ts +5 -6
- package/dist/docx/listTemplate.d.ts +5 -5
- package/dist/docx/markupRangeMarker.d.ts +21 -4
- package/dist/docx/markupRangeMarker.js +35 -1
- package/dist/docx/mathToMathml.d.ts +8 -3
- package/dist/docx/mathToMathml.js +72 -4
- package/dist/docx/metadataPrivacy.d.ts +14 -14
- package/dist/docx/metadataPrivacy.js +3 -3
- package/dist/docx/metafileRaster.d.ts +4 -5
- package/dist/docx/metafileSvg.d.ts +2 -3
- package/dist/docx/metafileSvg.js +28 -39
- package/dist/docx/metafileSvgShared.d.ts +27 -0
- package/dist/docx/metafileSvgShared.js +28 -0
- package/dist/docx/modelValidation.d.ts +5 -6
- package/dist/docx/modelValidation.js +144 -1
- package/dist/docx/newImage.d.ts +2 -3
- package/dist/docx/nonVisualDrawingProps.d.ts +3 -3
- package/dist/docx/normalizeBaseDirection.d.ts +2 -3
- package/dist/docx/normalizeBaseDirection.js +6 -2
- package/dist/docx/noteIds.d.ts +2 -3
- package/dist/docx/notePropertiesParser.d.ts +3 -4
- package/dist/docx/noteReferenceMark.d.ts +6 -6
- package/dist/docx/noteReferenceStyles.d.ts +7 -8
- package/dist/docx/noteReferenceStyles.js +0 -13
- package/dist/docx/numberingIds.d.ts +3 -3
- package/dist/docx/numberingParser.d.ts +15 -16
- package/dist/docx/numberingParser.js +6 -30
- package/dist/docx/numberingReference.d.ts +2 -2
- package/dist/docx/numberingReferenceNormalization.d.ts +5 -5
- package/dist/docx/numberingReferenceNormalization.js +6 -9
- package/dist/docx/numericIdAllocator.d.ts +2 -2
- package/dist/docx/numericIdNormalization.d.ts +3 -3
- package/dist/docx/numericIdNormalization.js +0 -1
- package/dist/docx/ooxmlCounterFormatter.d.ts +3 -4
- package/dist/docx/opaqueCarrier.d.ts +5 -6
- package/dist/docx/packageParts.d.ts +8 -9
- package/dist/docx/paraIdAttribute.d.ts +11 -12
- package/dist/docx/paraIdRangeNormalization.d.ts +3 -4
- package/dist/docx/paragraphMarkPropertyPresence.d.ts +4 -5
- package/dist/docx/paragraphParser.d.ts +9 -9
- package/dist/docx/paragraphParser.js +45 -23
- package/dist/docx/paragraphProperties.d.ts +2 -3
- package/dist/docx/paragraphProperties.js +15 -2
- package/dist/docx/paragraphPropertySource.d.ts +56 -56
- package/dist/docx/paragraphPropertySource.js +37 -1
- package/dist/docx/paragraphTextBoxEnrichment.d.ts +2 -3
- package/dist/docx/paragraphTextBoxEnrichment.js +21 -6
- package/dist/docx/paragraphTraversal.d.ts +19 -10
- package/dist/docx/paragraphTraversal.js +110 -75
- package/dist/docx/parseContext.d.ts +5 -6
- package/dist/docx/parseWarningMessage.d.ts +3 -4
- package/dist/docx/parser.d.ts +11 -11
- package/dist/docx/parser.js +43 -15
- package/dist/docx/parserEnums.d.ts +37 -38
- package/dist/docx/preservedRunContent.d.ts +5 -6
- package/dist/docx/preservedRunContent.js +16 -0
- package/dist/docx/previewBudget.d.ts +6 -6
- package/dist/docx/previewBudget.js +1 -1
- package/dist/docx/propertyElementAttributes.d.ts +10 -11
- package/dist/docx/rasterMime.d.ts +4 -4
- package/dist/docx/relsParser.d.ts +20 -21
- package/dist/docx/removeHeaderFooterParts.d.ts +2 -2
- package/dist/docx/renderedPageBreakNormalization.d.ts +2 -2
- package/dist/docx/replyToComment.d.ts +4 -5
- package/dist/docx/replyToComment.js +2 -1
- package/dist/docx/reviewHistoryNamespace.d.ts +2 -3
- package/dist/docx/reviewResolutionProvenance.d.ts +15 -12
- package/dist/docx/reviewResolutionProvenance.js +15 -4
- package/dist/docx/revisionIdNormalization.d.ts +4 -4
- package/dist/docx/rezip.d.ts +40 -40
- package/dist/docx/rezip.js +113 -123
- package/dist/docx/runConsolidator.d.ts +7 -7
- package/dist/docx/runConsolidator.js +13 -0
- package/dist/docx/runParser.d.ts +12 -13
- package/dist/docx/runParser.js +31 -10
- package/dist/docx/runPayload.d.ts +2 -3
- package/dist/docx/runPropertyPresence.d.ts +7 -8
- package/dist/docx/saveDiagnostics.d.ts +3 -4
- package/dist/docx/sdtProperties.d.ts +6 -7
- package/dist/docx/sdtPropertiesPatch.d.ts +2 -3
- package/dist/docx/sectionParser.d.ts +15 -16
- package/dist/docx/sectionReferenceHistory.d.ts +6 -6
- package/dist/docx/selectedXmlIdentityScan.d.ts +2 -3
- package/dist/docx/selectiveSave.d.ts +3 -4
- package/dist/docx/selectiveSave.js +6 -3
- package/dist/docx/selectiveSaveFlags.d.ts +5 -6
- package/dist/docx/selectiveSaveFlags.js +1 -1
- package/dist/docx/selectiveSaveTripwire.d.ts +3 -4
- package/dist/docx/selectiveXmlPatch.d.ts +28 -28
- package/dist/docx/serializer/blockCustomXmlSerializer.d.ts +2 -3
- package/dist/docx/serializer/blockSdtSerializer.d.ts +2 -3
- package/dist/docx/serializer/blockSdtSerializer.js +2 -1
- package/dist/docx/serializer/borderSerializer.d.ts +2 -2
- package/dist/docx/serializer/borderSerializer.js +8 -0
- package/dist/docx/serializer/commentSerializer.d.ts +7 -8
- package/dist/docx/serializer/documentSerializer.d.ts +13 -14
- package/dist/docx/serializer/documentSerializer.js +17 -1
- package/dist/docx/serializer/fontTableSerializer.d.ts +2 -3
- package/dist/docx/serializer/groupTextBoxWriteBack.d.ts +2 -2
- package/dist/docx/serializer/groupTextBoxWriteBack.js +1 -4
- package/dist/docx/serializer/headerFooterSerializer.d.ts +2 -2
- package/dist/docx/serializer/headerFooterSerializer.js +5 -1
- package/dist/docx/serializer/markupRangeAttributes.d.ts +11 -6
- package/dist/docx/serializer/markupRangeAttributes.js +33 -6
- package/dist/docx/serializer/noteSerializer.d.ts +5 -6
- package/dist/docx/serializer/noteSerializer.js +26 -1
- package/dist/docx/serializer/numberingSerializer.d.ts +2 -3
- package/dist/docx/serializer/numberingSerializer.js +14 -0
- package/dist/docx/serializer/paragraphSerializer.d.ts +8 -9
- package/dist/docx/serializer/paragraphSerializer.js +27 -17
- package/dist/docx/serializer/partNamespaces.d.ts +9 -9
- package/dist/docx/serializer/runSerializer.d.ts +11 -12
- package/dist/docx/serializer/runSerializer.js +7 -2
- package/dist/docx/serializer/sdtPropertiesSerializer.d.ts +5 -6
- package/dist/docx/serializer/sectionPropertiesSerializer.d.ts +2 -3
- package/dist/docx/serializer/settingsSerializer.d.ts +2 -3
- package/dist/docx/serializer/settingsSerializer.js +9 -6
- package/dist/docx/serializer/stylesSerializer.d.ts +3 -4
- package/dist/docx/serializer/stylesSerializer.js +4 -1
- package/dist/docx/serializer/tableSerializer.d.ts +18 -18
- package/dist/docx/serializer/tableSerializer.js +22 -2
- package/dist/docx/serializer/textFormattingSerializer.d.ts +3 -3
- package/dist/docx/serializer/themeSerializer.d.ts +2 -3
- package/dist/docx/serializer/trackedChangeAttributes.d.ts +4 -4
- package/dist/docx/serializer/xmlUtils.d.ts +3 -4
- package/dist/docx/server/applyDocxXmlPatchProposal.d.ts +9 -9
- package/dist/docx/server/applyDocxXmlPatchProposal.js +1 -1
- package/dist/docx/server/boundedArchive.d.ts +11 -11
- package/dist/docx/server/boundedArchive.js +3 -3
- package/dist/docx/server/build.d.ts +14 -14
- package/dist/docx/server/build.js +9 -6
- package/dist/docx/server/createBilingualDocument.d.ts +13 -13
- package/dist/docx/server/createBilingualDocument.js +56 -21
- package/dist/docx/server/createBilingualDocx.d.ts +5 -6
- package/dist/docx/server/createBilingualDocx.js +7 -3
- package/dist/docx/server/docxToMarkdown.d.ts +2 -3
- package/dist/docx/server/docxToMarkdown.js +2 -1
- package/dist/docx/server/evaluateDocxXmlPatchProposal.d.ts +17 -17
- package/dist/docx/server/evaluateDocxXmlPatchProposal.js +2 -2
- package/dist/docx/server/extractDocxText.d.ts +10 -11
- package/dist/docx/server/extractDocxText.js +3 -2
- package/dist/docx/server/inspectDocxPackage.d.ts +14 -14
- package/dist/docx/server/inspectDocxPackage.js +3 -3
- package/dist/docx/server/materializeYjsDocx.d.ts +8 -8
- package/dist/docx/server/materializeYjsDocx.js +1 -1
- package/dist/docx/server/migrateYjsAttrSchema.d.ts +6 -6
- package/dist/docx/server/migrateYjsAttrSchema.js +3 -3
- package/dist/docx/server/validateDocxConformance.d.ts +14 -15
- package/dist/docx/settingsHeaderFooterUpdate.d.ts +2 -3
- package/dist/docx/settingsParser.d.ts +2 -2
- package/dist/docx/settingsParser.js +12 -0
- package/dist/docx/shadingParser.d.ts +2 -3
- package/dist/docx/shapeAlternateContent.d.ts +8 -7
- package/dist/docx/shapeAlternateContent.js +84 -9
- package/dist/docx/shapeParser.d.ts +4 -5
- package/dist/docx/shapeParser.js +2 -1
- package/dist/docx/storyBlockReplay.d.ts +5 -5
- package/dist/docx/storyBlockReplay.js +10 -2
- package/dist/docx/storyPlainText.d.ts +9 -10
- package/dist/docx/streamingXmlParser.d.ts +8 -8
- package/dist/docx/strictNames.d.ts +4 -5
- package/dist/docx/strictNames.gen.d.ts +6 -7
- package/dist/docx/strictValueEncodings.gen.d.ts +5 -6
- package/dist/docx/structuralXmlPatch.d.ts +2 -2
- package/dist/docx/styleParser.d.ts +11 -12
- package/dist/docx/styleParser.js +1 -3
- package/dist/docx/styleReferenceResolution.d.ts +3 -4
- package/dist/docx/tableLook.d.ts +7 -7
- package/dist/docx/tableParser.d.ts +47 -39
- package/dist/docx/tableParser.js +2 -4
- package/dist/docx/tableRowPropertyPresence.d.ts +5 -6
- package/dist/docx/textBoxParser.d.ts +25 -26
- package/dist/docx/textBoxParser.js +18 -19
- package/dist/docx/themeColorAttribute.d.ts +3 -4
- package/dist/docx/themeParser.d.ts +9 -10
- package/dist/docx/trackedChangeInfo.d.ts +5 -6
- package/dist/docx/trackedMoveRangeNormalization.d.ts +3 -3
- package/dist/docx/trackedMoveRangeNormalization.js +52 -21
- package/dist/docx/transitionalSpelling.d.ts +7 -8
- package/dist/docx/universalMeasure.d.ts +5 -6
- package/dist/docx/unzip.d.ts +15 -16
- package/dist/docx/unzip.js +2 -2
- package/dist/docx/verbatimCapture.d.ts +6 -6
- package/dist/docx/verbatimCapture.js +3 -2
- package/dist/docx/verticalMergeProjection.d.ts +4 -5
- package/dist/docx/verticalMergeProjection.js +1 -1
- package/dist/docx/vmlImageParser.d.ts +4 -5
- package/dist/docx/vmlPreview.d.ts +9 -10
- package/dist/docx/vmlPreview.js +0 -3
- package/dist/docx/watermarkParser.d.ts +4 -5
- package/dist/docx/wmfSvg.d.ts +10 -0
- package/dist/docx/wmfSvg.js +451 -0
- package/dist/docx/wordprocessingPrefixes.d.ts +12 -13
- package/dist/docx/wrapPolygon.d.ts +5 -6
- package/dist/docx/wrapTypes.js +1 -2
- package/dist/docx/xmlEncoding.d.ts +2 -3
- package/dist/docx/xmlNamespaceContext.d.ts +5 -6
- package/dist/docx/xmlParser.d.ts +49 -50
- package/dist/docx/xmlParser.js +12 -12
- package/dist/docx/xmlResourceLimits.d.ts +10 -10
- package/dist/docx/xmlResourceLimits.js +1 -1
- package/dist/docx/xmlSafety.d.ts +3 -4
- package/dist/export-pdf.d.ts +11 -11
- package/dist/export-pdf.js +2 -1
- package/dist/fields/bookmarkPages.d.ts +2 -3
- package/dist/fields/bookmarkText.d.ts +2 -2
- package/dist/fields/bookmarkText.js +3 -2
- package/dist/fields/evaluateField.d.ts +3 -3
- package/dist/fields/fieldContext.d.ts +2 -3
- package/dist/fields/resolveFieldValues.d.ts +7 -8
- package/dist/fields/sectionPageCounts.d.ts +2 -3
- package/dist/fields/seqValues.d.ts +2 -3
- package/dist/fonts/FontFaceLifecycle.d.ts +12 -0
- package/dist/fonts/FontFaceLifecycle.js +56 -0
- package/dist/fonts/documentFontFacts.d.ts +17 -0
- package/dist/fonts/documentFontFacts.js +41 -0
- package/dist/fonts/embeddedFontFingerprint.d.ts +2 -3
- package/dist/fonts/embeddedFontFingerprint.js +3 -2
- package/dist/fonts/embeddedFonts.d.ts +7 -8
- package/dist/fonts/fontAlternates.d.ts +4 -5
- package/dist/fonts/fontAlternates.js +2 -1
- package/dist/fonts/fontDeobfuscation.d.ts +3 -4
- package/dist/fonts/fontDeobfuscation.js +7 -3
- package/dist/fonts/fontsourceFaces.d.ts +7 -8
- package/dist/fonts/fontsourceFaces.js +16 -0
- package/dist/fonts/headlessMeasure.d.ts +10 -10
- package/dist/fonts/sfnt/parse.d.ts +5 -5
- package/dist/fonts/sfnt/parse.js +2 -1
- package/dist/fonts/sfnt/subset.d.ts +4 -4
- package/dist/fonts/sfnt/tables.d.ts +14 -14
- package/dist/fonts/sfnt/woff.d.ts +4 -4
- package/dist/headless-layout.d.ts +7 -7
- package/dist/headless-layout.js +7 -0
- package/dist/i18n/messages/ar.gen.d.ts +2 -2
- package/dist/i18n/messages/ar.gen.js +1 -0
- package/dist/i18n/messages/catalogs.gen.d.ts +19 -3
- package/dist/i18n/messages/catalogs.gen.js +17 -0
- package/dist/i18n/messages/cs.gen.d.ts +2 -2
- package/dist/i18n/messages/cs.gen.js +1 -0
- package/dist/i18n/messages/de.gen.d.ts +2 -2
- package/dist/i18n/messages/de.gen.js +1 -0
- package/dist/i18n/messages/en.gen.d.ts +2 -2
- package/dist/i18n/messages/en.gen.js +1 -0
- package/dist/i18n/messages/es.gen.d.ts +2 -2
- package/dist/i18n/messages/es.gen.js +1 -0
- package/dist/i18n/messages/et.gen.d.ts +2 -2
- package/dist/i18n/messages/et.gen.js +1 -0
- package/dist/i18n/messages/fr.gen.d.ts +2 -2
- package/dist/i18n/messages/fr.gen.js +1 -0
- package/dist/i18n/messages/he.gen.d.ts +2 -2
- package/dist/i18n/messages/he.gen.js +1 -0
- package/dist/i18n/messages/hi.gen.d.ts +2 -2
- package/dist/i18n/messages/hi.gen.js +1 -0
- package/dist/i18n/messages/hu.gen.d.ts +2 -2
- package/dist/i18n/messages/hu.gen.js +1 -0
- package/dist/i18n/messages/locales.d.ts +3 -4
- package/dist/i18n/messages/lt.gen.d.ts +2 -2
- package/dist/i18n/messages/lt.gen.js +1 -0
- package/dist/i18n/messages/lv.gen.d.ts +2 -2
- package/dist/i18n/messages/lv.gen.js +1 -0
- package/dist/i18n/messages/messages.gen.d.ts +1 -0
- package/dist/i18n/messages/pl.gen.d.ts +2 -2
- package/dist/i18n/messages/pl.gen.js +1 -0
- package/dist/i18n/messages/pt-BR.gen.d.ts +2 -2
- package/dist/i18n/messages/pt-BR.gen.js +1 -0
- package/dist/i18n/messages/sk.gen.d.ts +2 -2
- package/dist/i18n/messages/sk.gen.js +1 -0
- package/dist/i18n/messages/tr.gen.d.ts +2 -2
- package/dist/i18n/messages/tr.gen.js +1 -0
- package/dist/i18n/messages/zh-CN.gen.d.ts +2 -2
- package/dist/i18n/messages/zh-CN.gen.js +1 -0
- package/dist/i18n/messages.d.ts +4 -4
- package/dist/internal/acceptedBlockProjection.d.ts +2 -3
- package/dist/internal/acceptedBlockProjection.js +5 -1
- package/dist/internal/compare/inline-presentation.d.ts +4 -4
- package/dist/internal/headlessRevisionResolutionGuard.d.ts +2 -3
- package/dist/internal/indexedPositionMap.d.ts +2 -3
- package/dist/internal/noteMarkerAttrs.d.ts +3 -4
- package/dist/internal/pageBreakRunDescendantIndex.d.ts +3 -4
- package/dist/internal/pageBreakRunPartition.d.ts +4 -4
- package/dist/internal/pageBreakRunSourceDescendantIndex.d.ts +4 -5
- package/dist/internal/pageBreakRunSourceDescendantIndex.js +5 -1
- package/dist/internal/paragraphFormattingSerialization.d.ts +6 -6
- package/dist/internal/paragraphFormattingSerialization.js +3 -1
- package/dist/internal/prosemirrorAttrBoundary.d.ts +9 -10
- package/dist/internal/prosemirrorAttrBoundary.js +2 -1
- package/dist/internal/revisionResolutionEdits.d.ts +2 -2
- package/dist/internal/revisionResolutionInline.d.ts +4 -3
- package/dist/internal/revisionResolutionInline.js +69 -48
- package/dist/internal/revisionResolutionStep.d.ts +3 -3
- package/dist/internal/revisionResolutionTracking.d.ts +2 -2
- package/dist/internal/revisionResolutionTracking.js +3 -3
- package/dist/internal/sectionEndpointResolution.d.ts +5 -5
- package/dist/internal/sectionReferenceResolution.d.ts +6 -7
- package/dist/internal/wholeStoryRevisionResolution.d.ts +6 -4
- package/dist/internal/wholeStoryRevisionResolution.js +168 -52
- package/dist/layout-bridge/cellSelectionHighlight.d.ts +2 -3
- package/dist/layout-bridge/convert/endnoteLayout.d.ts +9 -9
- package/dist/layout-bridge/convert/endnoteLayout.js +3 -4
- package/dist/layout-bridge/convert/fixedTableColumnWidths.d.ts +2 -3
- package/dist/layout-bridge/convert/flowBlockPostprocessing.d.ts +5 -6
- package/dist/layout-bridge/convert/flowBorders.d.ts +3 -4
- package/dist/layout-bridge/convert/flowConversionShared.d.ts +9 -7
- package/dist/layout-bridge/convert/footnoteLayout.d.ts +14 -14
- package/dist/layout-bridge/convert/footnoteLayout.js +10 -0
- package/dist/layout-bridge/convert/headerFooterLayout.d.ts +13 -12
- package/dist/layout-bridge/convert/headerFooterLayout.js +10 -4
- package/dist/layout-bridge/convert/imageConversion.d.ts +6 -7
- package/dist/layout-bridge/convert/listMarkers.d.ts +9 -9
- package/dist/layout-bridge/convert/markupViewFlow.d.ts +3 -3
- package/dist/layout-bridge/convert/noteReferences.d.ts +2 -3
- package/dist/layout-bridge/convert/pageBreakSplitting.d.ts +4 -4
- package/dist/layout-bridge/convert/pageBreakSplitting.js +4 -0
- package/dist/layout-bridge/convert/paragraphAttrs.d.ts +2 -2
- package/dist/layout-bridge/convert/paragraphAttrs.js +18 -11
- package/dist/layout-bridge/convert/paragraphConversion.d.ts +4 -5
- package/dist/layout-bridge/convert/paragraphConversion.js +9 -2
- package/dist/layout-bridge/convert/paragraphFrames.d.ts +2 -2
- package/dist/layout-bridge/convert/paragraphFrames.js +1 -1
- package/dist/layout-bridge/convert/paragraphMarkFormatting.d.ts +3 -4
- package/dist/layout-bridge/convert/paragraphRuns.d.ts +3 -4
- package/dist/layout-bridge/convert/paragraphRuns.js +35 -14
- package/dist/layout-bridge/convert/runFormattingMerge.d.ts +5 -5
- package/dist/layout-bridge/convert/runFormattingMerge.js +1 -0
- package/dist/layout-bridge/convert/runMarkFormatting.d.ts +2 -3
- package/dist/layout-bridge/convert/runMarkFormatting.js +12 -4
- package/dist/layout-bridge/convert/sectionBoundaries.d.ts +6 -6
- package/dist/layout-bridge/convert/tableConversion.d.ts +3 -4
- package/dist/layout-bridge/convert/tableConversion.js +1 -1
- package/dist/layout-bridge/convert/templatePreviewFlow.d.ts +6 -7
- package/dist/layout-bridge/convert/textBoxFill.d.ts +3 -4
- package/dist/layout-bridge/convert/textFormattingConversion.d.ts +8 -7
- package/dist/layout-bridge/convert/textFormattingConversion.js +10 -1
- package/dist/layout-bridge/convert/toFlowBlocks.d.ts +3 -3
- package/dist/layout-bridge/convert/toFlowBlocks.js +19 -11
- package/dist/layout-bridge/convert/wrapEditorViewAsSurface.d.ts +3 -4
- package/dist/layout-bridge/dom/clickToPositionDom.d.ts +12 -13
- package/dist/layout-bridge/dom/clickToPositionDom.js +30 -4
- package/dist/layout-bridge/dom/findBodyPmSpans.d.ts +5 -6
- package/dist/layout-bridge/dom/findHfPmSpans.d.ts +10 -11
- package/dist/layout-bridge/dom/imeCaretAnchor.d.ts +3 -3
- package/dist/layout-bridge/dom/noteStoryDom.d.ts +2 -3
- package/dist/layout-bridge/dom/textStreamDom.d.ts +16 -9
- package/dist/layout-bridge/dom/textStreamDom.js +18 -3
- package/dist/layout-bridge/engine/clickToPosition.d.ts +8 -9
- package/dist/layout-bridge/engine/clickToPosition.js +77 -94
- package/dist/layout-bridge/engine/hitTest.d.ts +18 -19
- package/dist/layout-bridge/engine/hitTest.js +2 -1
- package/dist/layout-bridge/engine/linePmRange.d.ts +7 -0
- package/dist/layout-bridge/engine/linePmRange.js +34 -0
- package/dist/layout-bridge/engine/selectionRects.d.ts +7 -8
- package/dist/layout-bridge/engine/selectionRects.js +53 -77
- package/dist/layout-bridge/headerFooterLayout.d.ts +4 -5
- package/dist/layout-bridge/measuring/measureBlocksPipeline.d.ts +2 -3
- package/dist/layout-bridge/sectionColumns.d.ts +2 -3
- package/dist/layout-bridge/tableInsertHover.d.ts +6 -7
- package/dist/layout-engine/anchorLayoutInCellCompatibility.d.ts +2 -3
- package/dist/layout-engine/footnoteColumnReflow.d.ts +2 -2
- package/dist/layout-engine/headerFooterRefs.d.ts +2 -3
- package/dist/layout-engine/imageLayout.d.ts +2 -3
- package/dist/layout-engine/index.d.ts +3 -3
- package/dist/layout-engine/index.js +10 -7
- package/dist/layout-engine/justificationCompatibility.d.ts +2 -3
- package/dist/layout-engine/keep-together.d.ts +7 -8
- package/dist/layout-engine/keep-together.js +1 -1
- package/dist/layout-engine/layoutFlowShared.d.ts +3 -4
- package/dist/layout-engine/layoutInstrumentation.d.ts +18 -19
- package/dist/layout-engine/lineFlow.d.ts +4 -5
- package/dist/layout-engine/measure/advanceComposition.d.ts +8 -8
- package/dist/layout-engine/measure/advanceComposition.js +24 -5
- package/dist/layout-engine/measure/automaticTextSpacing.d.ts +36 -0
- package/dist/layout-engine/measure/automaticTextSpacing.js +178 -0
- package/dist/layout-engine/measure/cache.d.ts +22 -22
- package/dist/layout-engine/measure/cache.js +50 -14
- package/dist/layout-engine/measure/clampFloatingWrapMargins.d.ts +2 -3
- package/dist/layout-engine/measure/complexScriptFormatting.d.ts +5 -5
- package/dist/layout-engine/measure/crossRunWords.d.ts +8 -8
- package/dist/layout-engine/measure/crossRunWords.js +9 -4
- package/dist/layout-engine/measure/effectiveLineBreakPolicy.d.ts +3 -3
- package/dist/layout-engine/measure/effectiveLineBreakPolicy.js +3 -1
- package/dist/layout-engine/measure/featureFlags.d.ts +4 -5
- package/dist/layout-engine/measure/floatingLineClearance.d.ts +3 -4
- package/dist/layout-engine/measure/floatingTablePosition.d.ts +3 -3
- package/dist/layout-engine/measure/floatingZones.d.ts +11 -10
- package/dist/layout-engine/measure/font-metrics.worker.d.ts +3 -4
- package/dist/layout-engine/measure/hyperlinkInstance.d.ts +3 -4
- package/dist/layout-engine/measure/hyphenationDictionaries.d.ts +15 -15
- package/dist/layout-engine/measure/hyphenationDictionaries.js +4 -4
- package/dist/layout-engine/measure/hyphenationPreload.d.ts +2 -3
- package/dist/layout-engine/measure/inlineObjectMetrics.d.ts +3 -4
- package/dist/layout-engine/measure/justification.d.ts +7 -7
- package/dist/layout-engine/measure/lineBreakProvider.d.ts +16 -11
- package/dist/layout-engine/measure/lineBreakProvider.js +29 -4
- package/dist/layout-engine/measure/lineBreaks.d.ts +7 -8
- package/dist/layout-engine/measure/lineBreaks.js +5 -2
- package/dist/layout-engine/measure/lineFitting.d.ts +11 -11
- package/dist/layout-engine/measure/lineFitting.js +17 -6
- package/dist/layout-engine/measure/lineTypography.d.ts +7 -8
- package/dist/layout-engine/measure/lineTypography.js +1 -0
- package/dist/layout-engine/measure/listMarkerWidth.d.ts +9 -6
- package/dist/layout-engine/measure/listMarkerWidth.js +7 -3
- package/dist/layout-engine/measure/measureBlocks.d.ts +7 -7
- package/dist/layout-engine/measure/measureBlocks.js +13 -7
- package/dist/layout-engine/measure/measureContainer.d.ts +5 -6
- package/dist/layout-engine/measure/measureContainer.js +27 -6
- package/dist/layout-engine/measure/measureHelpers.d.ts +21 -18
- package/dist/layout-engine/measure/measureHelpers.js +12 -3
- package/dist/layout-engine/measure/measureParagraph.d.ts +5 -5
- package/dist/layout-engine/measure/measureParagraph.js +57 -11
- package/dist/layout-engine/measure/measureProvider.d.ts +15 -9
- package/dist/layout-engine/measure/measureProvider.js +66 -4
- package/dist/layout-engine/measure/measureTypes.d.ts +17 -14
- package/dist/layout-engine/measure/measureWorker.d.ts +8 -8
- package/dist/layout-engine/measure/measureWorkerProtocol.d.ts +6 -7
- package/dist/layout-engine/measure/paragraphMeasureShared.d.ts +19 -20
- package/dist/layout-engine/measure/paragraphTabs.d.ts +6 -7
- package/dist/layout-engine/measure/paragraphTabs.js +16 -17
- package/dist/layout-engine/measure/smallCapsCasing.d.ts +6 -7
- package/dist/layout-engine/measure/tabCalculator.d.ts +15 -16
- package/dist/layout-engine/measure/tableCellFloating.d.ts +6 -6
- package/dist/layout-engine/measure/tableCellFlow.d.ts +7 -7
- package/dist/layout-engine/measure/tableCellGrid.d.ts +14 -14
- package/dist/layout-engine/measure/tableFragmentBorderGeometry.d.ts +2 -2
- package/dist/layout-engine/measure/tableInlinePlacement.d.ts +3 -3
- package/dist/layout-engine/measure/textBoxParagraphLayout.d.ts +4 -4
- package/dist/layout-engine/measure/textMeasurementPolicy.d.ts +8 -8
- package/dist/layout-engine/noColumnBalanceCompatibility.d.ts +7 -0
- package/dist/layout-engine/noColumnBalanceCompatibility.js +5 -0
- package/dist/layout-engine/noteAreaFlow.d.ts +6 -7
- package/dist/layout-engine/noteAreaFlow.js +12 -6
- package/dist/layout-engine/paginator.d.ts +18 -11
- package/dist/layout-engine/paginator.js +51 -11
- package/dist/layout-engine/paragraphFragmentRange.d.ts +2 -3
- package/dist/layout-engine/paragraphFrame.d.ts +2 -21
- package/dist/layout-engine/paragraphFrame.js +1 -17
- package/dist/layout-engine/paragraphLayout.d.ts +2 -2
- package/dist/layout-engine/paragraphLayout.js +28 -9
- package/dist/layout-engine/paragraphSequence.d.ts +3 -4
- package/dist/layout-engine/paragraphSpacing.d.ts +10 -10
- package/dist/layout-engine/pmPageIndex.d.ts +3 -4
- package/dist/layout-engine/renderedBreakReconciliation.d.ts +7 -7
- package/dist/layout-engine/section-breaks.d.ts +15 -15
- package/dist/layout-engine/sectionLayout.d.ts +7 -7
- package/dist/layout-engine/sectionLayout.js +1 -4
- package/dist/layout-engine/sectionVerticalAlignment.d.ts +2 -3
- package/dist/layout-engine/tableIndentCompatibility.d.ts +2 -3
- package/dist/layout-engine/tableLayout.d.ts +4 -5
- package/dist/layout-engine/tableLayout.js +17 -9
- package/dist/layout-engine/tableRowBreak.d.ts +6 -6
- package/dist/layout-engine/tableRowBreak.js +10 -5
- package/dist/layout-engine/textBoxFlow.d.ts +6 -6
- package/dist/layout-engine/textBoxGroup.d.ts +3 -4
- package/dist/layout-engine/textBoxLayout.d.ts +2 -2
- package/dist/layout-engine/types.d.ts +113 -90
- package/dist/layout-painter/anchoredImagePosition.d.ts +4 -5
- package/dist/layout-painter/borderStroke.d.ts +4 -4
- package/dist/layout-painter/cursiveJoiners.d.ts +7 -7
- package/dist/layout-painter/documentColors.d.ts +6 -7
- package/dist/layout-painter/imageLayout.d.ts +13 -14
- package/dist/layout-painter/index.d.ts +9 -8
- package/dist/layout-painter/index.js +7 -2
- package/dist/layout-painter/registry/modules/image.d.ts +2 -3
- package/dist/layout-painter/registry/modules/paragraph.d.ts +2 -3
- package/dist/layout-painter/registry/modules/table.d.ts +2 -3
- package/dist/layout-painter/registry/modules/textBox.d.ts +2 -3
- package/dist/layout-painter/registry/modules.d.ts +2 -3
- package/dist/layout-painter/registry/registry.d.ts +4 -5
- package/dist/layout-painter/registry/types.d.ts +8 -9
- package/dist/layout-painter/renderFragment.d.ts +4 -5
- package/dist/layout-painter/renderImage.d.ts +12 -13
- package/dist/layout-painter/renderPage.d.ts +27 -25
- package/dist/layout-painter/renderPage.js +116 -31
- package/dist/layout-painter/renderParagraph.d.ts +19 -15
- package/dist/layout-painter/renderParagraph.js +186 -46
- package/dist/layout-painter/renderTable.d.ts +7 -8
- package/dist/layout-painter/renderTable.js +27 -15
- package/dist/layout-painter/renderTextBox.d.ts +5 -6
- package/dist/layout-painter/renderTextBox.js +9 -1
- package/dist/layout-painter/renderUtils.d.ts +11 -14
- package/dist/layout-painter/renderUtils.js +1 -19
- package/dist/layout-painter/renderWatermark.d.ts +5 -4
- package/dist/layout-painter/sdtBoundary.d.ts +4 -5
- package/dist/layout-painter/tableRowPaintGeometry.d.ts +2 -2
- package/dist/managers/AutoSaveManager.d.ts +11 -12
- package/dist/managers/AutoSaveManager.js +17 -3
- package/dist/managers/ClipboardManager.d.ts +7 -8
- package/dist/managers/ContextMenuManager.d.ts +3 -4
- package/dist/managers/DocumentLoaderManager.d.ts +5 -6
- package/dist/managers/EditorModeManager.d.ts +12 -12
- package/dist/managers/ErrorManager.d.ts +2 -3
- package/dist/managers/FindReplaceManager.d.ts +17 -10
- package/dist/managers/FindReplaceManager.js +15 -9
- package/dist/managers/HistoryManager.d.ts +9 -10
- package/dist/managers/Subscribable.d.ts +2 -3
- package/dist/managers/TableSelectionManager.d.ts +9 -10
- package/dist/managers/TableSelectionManager.js +3 -13
- package/dist/managers/autoSaveCodec.d.ts +8 -9
- package/dist/managers/editorShortcuts.d.ts +14 -15
- package/dist/managers/reviewDisplayMode.d.ts +4 -5
- package/dist/managers/types.d.ts +7 -8
- package/dist/markdown/annotations.d.ts +6 -7
- package/dist/markdown/escape.d.ts +6 -7
- package/dist/markdown/fromMarkdown.d.ts +2 -3
- package/dist/markdown/images.d.ts +2 -3
- package/dist/markdown/index.d.ts +3 -3
- package/dist/markdown/index.js +28 -2
- package/dist/markdown/internals.d.ts +4 -5
- package/dist/markdown/internals.js +3 -2
- package/dist/markdown/renderBlock.d.ts +2 -3
- package/dist/markdown/renderBlock.js +5 -1
- package/dist/markdown/renderParagraph.d.ts +4 -5
- package/dist/markdown/renderParagraph.js +42 -17
- package/dist/markdown/renderRuns.d.ts +3 -3
- package/dist/markdown/renderRuns.js +15 -10
- package/dist/markdown/renderTable.d.ts +2 -3
- package/dist/markdown/renderTable.js +21 -8
- package/dist/markdown/trailers.d.ts +2 -3
- package/dist/markdown/types.d.ts +7 -8
- package/dist/model.d.ts +1 -1
- package/dist/paged-layout/LayoutSelectionGate.d.ts +2 -2
- package/dist/paged-layout/blockGeometry.d.ts +5 -6
- package/dist/paged-layout/editorScrollRoot.d.ts +7 -5
- package/dist/paged-layout/editorScrollRoot.js +2 -2
- package/dist/paged-layout/fitWidthZoom.d.ts +36 -0
- package/dist/paged-layout/fitWidthZoom.js +31 -0
- package/dist/paged-layout/hiddenEditorScroll.d.ts +2 -3
- package/dist/paged-layout/incrementalMeasure.d.ts +6 -7
- package/dist/paged-layout/pageText.d.ts +2 -2
- package/dist/paged-layout/paragraphFlash.d.ts +7 -7
- package/dist/paged-layout/paragraphFlashTypes.d.ts +3 -4
- package/dist/paged-layout/rangeProjection.d.ts +11 -12
- package/dist/paged-layout/readOnlyEditAttempt.d.ts +2 -2
- package/dist/paged-layout/scrollNavigation.d.ts +5 -6
- package/dist/paged-layout/scrollPageInfo.d.ts +5 -6
- package/dist/paged-layout/scrollToPmPosition.d.ts +4 -5
- package/dist/paged-layout/sectionBlockWidths.d.ts +3 -3
- package/dist/paged-layout/sectionBlockWidths.js +0 -3
- package/dist/paged-layout/sectionGeometry.d.ts +10 -11
- package/dist/paged-layout/selectionViewportRect.d.ts +5 -6
- package/dist/paged-layout/tableColumnResize.d.ts +2 -3
- package/dist/paged-layout/tableInsertButtonGeometry.d.ts +2 -3
- package/dist/paged-layout/transactionDirtyRange.d.ts +2 -3
- package/dist/paged-layout/zoomScrollAnchor.d.ts +5 -5
- package/dist/panel-layout.d.ts +11 -12
- package/dist/pdf/contentStream.d.ts +11 -12
- package/dist/pdf/fonts.d.ts +11 -11
- package/dist/pdf/fonts.js +0 -19
- package/dist/pdf/images.d.ts +5 -5
- package/dist/pdf/images.js +5 -1
- package/dist/pdf/objects.d.ts +23 -24
- package/dist/pdf/pageSpace.d.ts +9 -10
- package/dist/pdf/paint.d.ts +6 -6
- package/dist/pdf/paint.js +28 -1
- package/dist/pdf/writePdf.d.ts +6 -6
- package/dist/prosemirror/addTrackedDeletionMark.d.ts +2 -2
- package/dist/prosemirror/alternateContentAttrs.d.ts +5 -4
- package/dist/prosemirror/alternateContentAttrs.js +13 -3
- package/dist/prosemirror/anchoredTextBoxes.d.ts +10 -11
- package/dist/prosemirror/attrs/index.d.ts +86 -86
- package/dist/prosemirror/attrs/index.js +127 -99
- package/dist/prosemirror/authoredTransformAttrs.d.ts +3 -3
- package/dist/prosemirror/autospacingBase.d.ts +5 -5
- package/dist/prosemirror/bookmarkBoundaryAttrs.d.ts +7 -7
- package/dist/prosemirror/bookmarkBoundaryAttrs.js +31 -2
- package/dist/prosemirror/bookmarkBoundaryIntegrity.d.ts +3 -4
- package/dist/prosemirror/canonicalCommands.d.ts +30 -13
- package/dist/prosemirror/canonicalCommands.js +5 -4
- package/dist/prosemirror/canonicalSelectionRange.d.ts +14 -4
- package/dist/prosemirror/canonicalSelectionRange.js +20 -1
- package/dist/prosemirror/cellDragSelection.d.ts +6 -7
- package/dist/prosemirror/cellDragSelection.js +9 -0
- package/dist/prosemirror/clearRunColor.d.ts +2 -3
- package/dist/prosemirror/clearRunColor.js +8 -5
- package/dist/prosemirror/clipboardIntent.d.ts +3 -4
- package/dist/prosemirror/commands/clearParagraphIndent.d.ts +2 -3
- package/dist/prosemirror/commands/comments.d.ts +28 -28
- package/dist/prosemirror/commands/comments.js +220 -83
- package/dist/prosemirror/commands/contentControls.d.ts +9 -9
- package/dist/prosemirror/commands/contentControls.js +2 -1
- package/dist/prosemirror/commands/contentControlsBlockFill.d.ts +2 -3
- package/dist/prosemirror/commands/contentControlsBlockFill.js +2 -1
- package/dist/prosemirror/commands/formatPainter.d.ts +5 -5
- package/dist/prosemirror/commands/formatPainter.js +14 -11
- package/dist/prosemirror/commands/formatting.d.ts +20 -20
- package/dist/prosemirror/commands/hyperlink.d.ts +5 -6
- package/dist/prosemirror/commands/hyperlink.js +7 -6
- package/dist/prosemirror/commands/image.d.ts +14 -14
- package/dist/prosemirror/commands/pageBreak.d.ts +2 -3
- package/dist/prosemirror/commands/pageBreak.js +2 -1
- package/dist/prosemirror/commands/paragraph.d.ts +35 -35
- package/dist/prosemirror/commands/paragraphBookmarkJoin.d.ts +5 -5
- package/dist/prosemirror/commands/paragraphBookmarkJoin.js +4 -7
- package/dist/prosemirror/commands/pastePlainText.d.ts +4 -5
- package/dist/prosemirror/commands/propertyChangeScope.d.ts +13 -13
- package/dist/prosemirror/commands/propertyChangeScope.js +2 -0
- package/dist/prosemirror/commands/resolveAllTableChanges.d.ts +3 -3
- package/dist/prosemirror/commands/resolveNodePropertyChangeAttrs.d.ts +3 -3
- package/dist/prosemirror/commands/resolveParagraphProperties.d.ts +3 -3
- package/dist/prosemirror/commands/resolveParagraphProperties.js +1 -1
- package/dist/prosemirror/commands/sectionBreak.d.ts +9 -8
- package/dist/prosemirror/commands/sectionBreak.js +14 -1
- package/dist/prosemirror/commands/table.d.ts +34 -34
- package/dist/prosemirror/commands/tableCellMergeResolution.d.ts +8 -8
- package/dist/prosemirror/commands/tableCellMergeResolution.js +3 -2
- package/dist/prosemirror/commands/tableMergeFoldDecisions.d.ts +4 -4
- package/dist/prosemirror/commentBoundaryOwnership.d.ts +15 -0
- package/dist/prosemirror/commentBoundaryOwnership.js +4 -0
- package/dist/prosemirror/commentIdAllocator.d.ts +8 -8
- package/dist/prosemirror/commentIdAllocator.js +2 -0
- package/dist/prosemirror/commentOps.d.ts +6 -7
- package/dist/prosemirror/commentOps.js +3 -19
- package/dist/prosemirror/commentRangeBoundaryAttrs.d.ts +16 -0
- package/dist/prosemirror/commentRangeBoundaryAttrs.js +51 -0
- package/dist/prosemirror/commentRangeInlineAtoms.d.ts +40 -0
- package/dist/prosemirror/commentRangeInlineAtoms.js +34 -0
- package/dist/prosemirror/commentReferenceAttrs.d.ts +3 -4
- package/dist/prosemirror/commentReferenceAttrs.js +4 -1
- package/dist/prosemirror/commentReferenceIntegrity.d.ts +15 -6
- package/dist/prosemirror/commentReferenceIntegrity.js +93 -1
- package/dist/prosemirror/containerFinalParagraph.d.ts +4 -4
- package/dist/prosemirror/contentControlRevisions.d.ts +7 -7
- package/dist/prosemirror/conversion/effectiveTableCellFormatting.d.ts +4 -4
- package/dist/prosemirror/conversion/fromProseDoc.d.ts +10 -10
- package/dist/prosemirror/conversion/fromProseDoc.js +478 -180
- package/dist/prosemirror/conversion/hyphenTextCarriers.d.ts +2 -3
- package/dist/prosemirror/conversion/markInterner.d.ts +2 -3
- package/dist/prosemirror/conversion/preservedSinkCarriers.d.ts +5 -5
- package/dist/prosemirror/conversion/runShadingMark.d.ts +3 -4
- package/dist/prosemirror/conversion/sdtAttrs.d.ts +6 -7
- package/dist/prosemirror/conversion/toProseDoc.d.ts +15 -9
- package/dist/prosemirror/conversion/toProseDoc.js +327 -218
- package/dist/prosemirror/copyOriginDom.d.ts +8 -0
- package/dist/prosemirror/copyOriginDom.js +21 -0
- package/dist/prosemirror/copyOriginResolution.d.ts +15 -0
- package/dist/prosemirror/copyOriginResolution.js +202 -0
- package/dist/prosemirror/documentSchema.d.ts +2 -3
- package/dist/prosemirror/emptyFieldResultRuns.d.ts +3 -3
- package/dist/prosemirror/emptyRangeAnchor.d.ts +6 -6
- package/dist/prosemirror/executeEditorCommand.d.ts +4 -5
- package/dist/prosemirror/extensions/ExtensionManager.d.ts +2 -3
- package/dist/prosemirror/extensions/StarterKit.d.ts +3 -4
- package/dist/prosemirror/extensions/StarterKit.js +5 -1
- package/dist/prosemirror/extensions/core/DocExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/core/DocExtension.js +1 -1
- package/dist/prosemirror/extensions/core/HistoryExtension.d.ts +3 -3
- package/dist/prosemirror/extensions/core/HistoryExtension.js +5 -4
- package/dist/prosemirror/extensions/core/ParagraphExtension.d.ts +8 -9
- package/dist/prosemirror/extensions/core/ParagraphExtension.js +17 -9
- package/dist/prosemirror/extensions/core/TextExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/create.d.ts +4 -5
- package/dist/prosemirror/extensions/features/AutoBidiDetectionExtension.d.ts +4 -5
- package/dist/prosemirror/extensions/features/BaseKeymapExtension.d.ts +3 -4
- package/dist/prosemirror/extensions/features/BidiShortcutExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/features/ContentControlWidgetsExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/features/DropCursorExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/features/EmptyParagraphFormatExtension.d.ts +3 -4
- package/dist/prosemirror/extensions/features/GapCursorExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/features/ImageDragExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/features/ImagePasteExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/features/ImagePasteExtension.js +2 -1
- package/dist/prosemirror/extensions/features/JoinedRunStyleExtension.d.ts +3 -4
- package/dist/prosemirror/extensions/features/ListExtension.d.ts +6 -7
- package/dist/prosemirror/extensions/features/ParaIdAllocatorExtension.d.ts +8 -8
- package/dist/prosemirror/extensions/features/ParaIdAllocatorExtension.js +17 -7
- package/dist/prosemirror/extensions/features/ParagraphChangeTrackerExtension.d.ts +18 -18
- package/dist/prosemirror/extensions/features/ParagraphChangeTrackerExtension.js +2 -1
- package/dist/prosemirror/extensions/features/PasteCleanupExtension.d.ts +2 -2
- package/dist/prosemirror/extensions/features/PasteStyleInlinerExtension.d.ts +6 -3
- package/dist/prosemirror/extensions/features/PasteStyleInlinerExtension.js +5 -2
- package/dist/prosemirror/extensions/features/SelectionTrackerExtension.d.ts +2 -2
- package/dist/prosemirror/extensions/features/SelectionTrackerExtension.js +2 -8
- package/dist/prosemirror/extensions/features/bidiShortcutController.d.ts +5 -6
- package/dist/prosemirror/extensions/features/clipboardTrackedRevisions.d.ts +4 -0
- package/dist/prosemirror/extensions/features/clipboardTrackedRevisions.js +72 -0
- package/dist/prosemirror/extensions/features/pasteCleanup.d.ts +4 -4
- package/dist/prosemirror/extensions/features/pasteCleanup.js +3 -2
- package/dist/prosemirror/extensions/features/pastedHeadingStyles.d.ts +2 -3
- package/dist/prosemirror/extensions/features/pastedHtmlLists.d.ts +3 -4
- package/dist/prosemirror/extensions/markRegistry.d.ts +4 -5
- package/dist/prosemirror/extensions/marks/AllCapsExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/marks/BoldExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/marks/CharacterSpacingExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/marks/CharacterStyleExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/marks/CommentExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/marks/FontFamilyExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/marks/FontFamilyExtension.js +12 -4
- package/dist/prosemirror/extensions/marks/FontSizeExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/marks/FootnoteRefExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/marks/FootnoteRefExtension.js +42 -4
- package/dist/prosemirror/extensions/marks/HiddenTextExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/marks/HighlightExtension.d.ts +4 -4
- package/dist/prosemirror/extensions/marks/HighlightExtension.js +6 -4
- package/dist/prosemirror/extensions/marks/HyperlinkExtension.d.ts +5 -6
- package/dist/prosemirror/extensions/marks/HyperlinkExtension.js +9 -3
- package/dist/prosemirror/extensions/marks/InlineWrapperExtension.d.ts +3 -4
- package/dist/prosemirror/extensions/marks/ItalicExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/marks/LanguageExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/marks/RtlExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/marks/RunFormattingOverrideExtension.d.ts +5 -5
- package/dist/prosemirror/extensions/marks/RunIdentityExtension.d.ts +3 -3
- package/dist/prosemirror/extensions/marks/RunShadingExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/marks/SmallCapsExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/marks/StrikeExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/marks/StrikeExtension.js +9 -3
- package/dist/prosemirror/extensions/marks/SubscriptExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/marks/SubscriptExtension.js +3 -2
- package/dist/prosemirror/extensions/marks/SuperscriptExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/marks/SuperscriptExtension.js +3 -2
- package/dist/prosemirror/extensions/marks/TextColorExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/marks/TextColorExtension.js +7 -6
- package/dist/prosemirror/extensions/marks/TextEffectExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/marks/TextEffectsExtensions.d.ts +6 -7
- package/dist/prosemirror/extensions/marks/TextEffectsExtensions.js +1 -4
- package/dist/prosemirror/extensions/marks/TrackedChangeExtensions.d.ts +4 -5
- package/dist/prosemirror/extensions/marks/TrackedChangeExtensions.js +18 -2
- package/dist/prosemirror/extensions/marks/UnderlineExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/marks/UnderlineExtension.js +10 -3
- package/dist/prosemirror/extensions/marks/markUtils.d.ts +82 -25
- package/dist/prosemirror/extensions/marks/markUtils.js +138 -74
- package/dist/prosemirror/extensions/marks/noteReferenceDeletion.d.ts +3 -3
- package/dist/prosemirror/extensions/nodes/BlockBookmarkBoundaryExtension.d.ts +6 -3
- package/dist/prosemirror/extensions/nodes/BlockBookmarkBoundaryExtension.js +4 -4
- package/dist/prosemirror/extensions/nodes/BlockCustomXmlExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/nodes/BlockMoveRangeBoundaryExtension.d.ts +24 -0
- package/dist/prosemirror/extensions/nodes/BlockMoveRangeBoundaryExtension.js +59 -0
- package/dist/prosemirror/extensions/nodes/BlockSdtExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/nodes/BookmarkBoundaryExtension.d.ts +3 -3
- package/dist/prosemirror/extensions/nodes/BookmarkBoundaryExtension.js +1 -1
- package/dist/prosemirror/extensions/nodes/CommentRangeBoundaryExtension.d.ts +10 -0
- package/dist/prosemirror/extensions/nodes/CommentRangeBoundaryExtension.js +43 -0
- package/dist/prosemirror/extensions/nodes/CommentReferenceExtension.d.ts +3 -5
- package/dist/prosemirror/extensions/nodes/CommentReferenceExtension.js +5 -73
- package/dist/prosemirror/extensions/nodes/FieldExtension.d.ts +4 -4
- package/dist/prosemirror/extensions/nodes/FieldExtension.js +12 -2
- package/dist/prosemirror/extensions/nodes/HardBreakExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/nodes/HorizontalRuleExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/nodes/ImageExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/nodes/MathExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/nodes/MoveRangeBoundaryExtension.d.ts +4 -4
- package/dist/prosemirror/extensions/nodes/MoveRangeBoundaryExtension.js +8 -4
- package/dist/prosemirror/extensions/nodes/NoteMarkerExtension.d.ts +3 -4
- package/dist/prosemirror/extensions/nodes/PageBreakExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/nodes/PageBreakRunExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/nodes/PreservedBlockExtension.d.ts +3 -4
- package/dist/prosemirror/extensions/nodes/PreservedXmlExtension.d.ts +3 -4
- package/dist/prosemirror/extensions/nodes/RangeAnchorExtension.d.ts +4 -4
- package/dist/prosemirror/extensions/nodes/RangeAnchorExtension.js +20 -4
- package/dist/prosemirror/extensions/nodes/RenderedPageBreakExtension.d.ts +3 -4
- package/dist/prosemirror/extensions/nodes/SdtExtension.d.ts +3 -4
- package/dist/prosemirror/extensions/nodes/ShapeExtension.d.ts +11 -11
- package/dist/prosemirror/extensions/nodes/ShapeExtension.js +5 -6
- package/dist/prosemirror/extensions/nodes/SymbolExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/nodes/SymbolExtension.js +3 -3
- package/dist/prosemirror/extensions/nodes/TabExtension.d.ts +2 -3
- package/dist/prosemirror/extensions/nodes/TableExtension.d.ts +10 -10
- package/dist/prosemirror/extensions/nodes/TableExtension.js +11 -13
- package/dist/prosemirror/extensions/nodes/TextBoxAnchorExtension.d.ts +3 -3
- package/dist/prosemirror/extensions/nodes/TextBoxExtension.d.ts +4 -5
- package/dist/prosemirror/extensions/nodes/bookmarkBoundaryDom.d.ts +7 -5
- package/dist/prosemirror/extensions/nodes/bookmarkBoundaryDom.js +9 -3
- package/dist/prosemirror/extensions/types.d.ts +27 -27
- package/dist/prosemirror/fieldRepresentation.d.ts +6 -5
- package/dist/prosemirror/fieldRepresentation.js +17 -5
- package/dist/prosemirror/findReplaceSelection.d.ts +44 -8
- package/dist/prosemirror/findReplaceSelection.js +143 -42
- package/dist/prosemirror/hyperlinkRemoval.d.ts +4 -4
- package/dist/prosemirror/hyperlinkRemoval.js +12 -0
- package/dist/prosemirror/imageCommit.d.ts +5 -23
- package/dist/prosemirror/imageCommit.js +1 -29
- package/dist/prosemirror/imagePictureNames.d.ts +4 -5
- package/dist/prosemirror/indexedNodeLookup.d.ts +4 -4
- package/dist/prosemirror/inlineDisplayText.d.ts +9 -0
- package/dist/prosemirror/inlineDisplayText.js +29 -0
- package/dist/prosemirror/inlineWrapperStack.d.ts +8 -9
- package/dist/prosemirror/insertOperations.d.ts +4 -4
- package/dist/prosemirror/keptRangeBoundaries.d.ts +76 -0
- package/dist/prosemirror/keptRangeBoundaries.js +381 -0
- package/dist/prosemirror/listAutoformatMarkers.d.ts +3 -4
- package/dist/prosemirror/listInstanceReferences.d.ts +3 -4
- package/dist/prosemirror/listInstanceReferences.js +1 -1
- package/dist/prosemirror/listLabels.d.ts +15 -5
- package/dist/prosemirror/listLabels.js +101 -16
- package/dist/prosemirror/listMarker.d.ts +13 -13
- package/dist/prosemirror/listMarker.js +7 -2
- package/dist/prosemirror/listNumbering.d.ts +11 -11
- package/dist/prosemirror/listNumbering.js +0 -16
- package/dist/prosemirror/listRendering.d.ts +5 -5
- package/dist/prosemirror/listRendering.js +4 -0
- package/dist/prosemirror/listRenderingAttrs.d.ts +12 -11
- package/dist/prosemirror/listRenderingAttrs.js +9 -5
- package/dist/prosemirror/listState.d.ts +9 -10
- package/dist/prosemirror/markupViewNotes.d.ts +2 -3
- package/dist/prosemirror/markupViewProjection.d.ts +9 -8
- package/dist/prosemirror/moveRangeBoundaryAttrs.d.ts +7 -6
- package/dist/prosemirror/moveRangeBoundaryAttrs.js +27 -4
- package/dist/prosemirror/noteReferenceOccurrenceId.d.ts +2 -3
- package/dist/prosemirror/noteReferenceOccurrences.d.ts +9 -9
- package/dist/prosemirror/noteReferenceReview.d.ts +13 -13
- package/dist/prosemirror/noteReferenceReview.js +4 -10
- package/dist/prosemirror/numberedRefFields.d.ts +5 -5
- package/dist/prosemirror/numberingAttr.d.ts +11 -11
- package/dist/prosemirror/outlineLevelAttr.d.ts +3 -4
- package/dist/prosemirror/pageBreakRunProjection.d.ts +5 -5
- package/dist/prosemirror/paraText.d.ts +4 -5
- package/dist/prosemirror/paragraphAlignment.d.ts +2 -3
- package/dist/prosemirror/paragraphDirection.d.ts +8 -9
- package/dist/prosemirror/paragraphFormattingProvenance.d.ts +14 -7
- package/dist/prosemirror/paragraphFormattingProvenance.js +8 -0
- package/dist/prosemirror/paragraphIndentation.d.ts +7 -7
- package/dist/prosemirror/paragraphList.d.ts +39 -0
- package/dist/prosemirror/paragraphList.js +81 -0
- package/dist/prosemirror/paragraphMarkJoin.d.ts +12 -2
- package/dist/prosemirror/paragraphMarkJoin.js +34 -3
- package/dist/prosemirror/paragraphPropertyCarry.d.ts +7 -7
- package/dist/prosemirror/paragraphSpacing.d.ts +9 -9
- package/dist/prosemirror/paragraphSpacing.js +16 -10
- package/dist/prosemirror/pluginKeyOwner.d.ts +3 -4
- package/dist/prosemirror/plugins/aiCitationDecorations.d.ts +6 -6
- package/dist/prosemirror/plugins/aiCitationDecorations.js +0 -12
- package/dist/prosemirror/plugins/aiSuggestionDecorations.d.ts +6 -6
- package/dist/prosemirror/plugins/aiSuggestionDecorations.js +0 -14
- package/dist/prosemirror/plugins/anonymizationDecorations.d.ts +9 -9
- package/dist/prosemirror/plugins/anonymizationDecorations.js +0 -18
- package/dist/prosemirror/plugins/autocompleteSuggestion.d.ts +19 -19
- package/dist/prosemirror/plugins/autocompleteSuggestion.js +3 -25
- package/dist/prosemirror/plugins/contentControlWidgets.d.ts +10 -10
- package/dist/prosemirror/plugins/contentControlWidgets.js +13 -7
- package/dist/prosemirror/plugins/createDocScanPlugin.d.ts +6 -6
- package/dist/prosemirror/plugins/documentNumbering.d.ts +11 -9
- package/dist/prosemirror/plugins/documentNumbering.js +42 -42
- package/dist/prosemirror/plugins/documentStyleState.d.ts +5 -6
- package/dist/prosemirror/plugins/documentStyles.d.ts +4 -4
- package/dist/prosemirror/plugins/documentStyles.js +2 -1
- package/dist/prosemirror/plugins/lockedControlKeyHandling.d.ts +4 -0
- package/dist/prosemirror/plugins/lockedControlKeyHandling.js +16 -0
- package/dist/prosemirror/plugins/paragraphStyleResolution.d.ts +3 -3
- package/dist/prosemirror/plugins/paragraphStyleResolution.js +23 -1
- package/dist/prosemirror/plugins/pmTextScan.d.ts +5 -6
- package/dist/prosemirror/plugins/revisionIds.d.ts +11 -11
- package/dist/prosemirror/plugins/revisionIds.js +11 -0
- package/dist/prosemirror/plugins/selectionTracker.d.ts +7 -8
- package/dist/prosemirror/plugins/suggestionMode.d.ts +16 -16
- package/dist/prosemirror/plugins/suggestionMode.js +11 -3
- package/dist/prosemirror/plugins/templateDirectives.d.ts +8 -8
- package/dist/prosemirror/plugins/templateDirectives.js +0 -17
- package/dist/prosemirror/plugins/templatePreviewValues.d.ts +12 -12
- package/dist/prosemirror/plugins/templatePreviewValues.js +0 -23
- package/dist/prosemirror/plugins/templateSlashMenu.d.ts +10 -11
- package/dist/prosemirror/plugins/templateSlashMenu.js +3 -21
- package/dist/prosemirror/plugins/transactionInvariants.d.ts +7 -8
- package/dist/prosemirror/positionSweep.d.ts +4 -5
- package/dist/prosemirror/positionSweep.js +1 -1
- package/dist/prosemirror/preservedXmlReview.d.ts +2 -3
- package/dist/prosemirror/queries.d.ts +5 -6
- package/dist/prosemirror/rangeAnchorAttrs.d.ts +4 -5
- package/dist/prosemirror/rangeAnchorAttrs.js +4 -1
- package/dist/prosemirror/rebaseParagraphRunFormatting.d.ts +3 -3
- package/dist/prosemirror/rebaseParagraphRunFormatting.js +6 -5
- package/dist/prosemirror/rebaseParagraphRuns.d.ts +4 -4
- package/dist/prosemirror/rebaseParagraphRuns.js +15 -11
- package/dist/prosemirror/rejoinRunCarriers.d.ts +3 -3
- package/dist/prosemirror/replacedAnnotations.d.ts +31 -17
- package/dist/prosemirror/replacedAnnotations.js +80 -11
- package/dist/prosemirror/revisionCarriers.d.ts +13 -13
- package/dist/prosemirror/runContentProjection.d.ts +6 -0
- package/dist/prosemirror/runContentProjection.js +24 -0
- package/dist/prosemirror/runFormattingFromMarks.d.ts +5 -6
- package/dist/prosemirror/runFormattingFromMarks.js +19 -17
- package/dist/prosemirror/runFormattingInlineCarriers.d.ts +16 -15
- package/dist/prosemirror/runFormattingInlineCarriers.js +1 -0
- package/dist/prosemirror/runFormattingMarkNames.d.ts +2 -3
- package/dist/prosemirror/runFormattingProvenance.d.ts +5 -6
- package/dist/prosemirror/runFormattingReconciliation.d.ts +4 -4
- package/dist/prosemirror/runFormattingReconciliation.js +6 -4
- package/dist/prosemirror/runIdentity.d.ts +6 -7
- package/dist/prosemirror/runIdentityAcrossRevisions.d.ts +16 -5
- package/dist/prosemirror/runIdentityAcrossRevisions.js +92 -32
- package/dist/prosemirror/runPropertyChangeResolution.d.ts +3 -3
- package/dist/prosemirror/runPropertyChangeResolution.js +11 -10
- package/dist/prosemirror/runStyleFormatting.d.ts +16 -16
- package/dist/prosemirror/runStyleFormatting.js +4 -2
- package/dist/prosemirror/schema/index.d.ts +6 -6
- package/dist/prosemirror/schema/marks.d.ts +36 -39
- package/dist/prosemirror/schema/nodes.d.ts +42 -35
- package/dist/prosemirror/sectionCarrier.d.ts +7 -8
- package/dist/prosemirror/sectionMarkEdits.d.ts +3 -4
- package/dist/prosemirror/sectionMarkEdits.js +21 -1
- package/dist/prosemirror/selectionMarks.d.ts +2 -2
- package/dist/prosemirror/selectionState.d.ts +5 -6
- package/dist/prosemirror/selectionState.js +1 -4
- package/dist/prosemirror/shapeGeometryAdjustments.d.ts +2 -3
- package/dist/prosemirror/storyListNumbering.d.ts +2 -2
- package/dist/prosemirror/storyListNumbering.js +2 -1
- package/dist/prosemirror/styles/index.js +1 -2
- package/dist/prosemirror/styles/paragraphStyleCascade.d.ts +9 -9
- package/dist/prosemirror/styles/paragraphStyleCascade.js +17 -2
- package/dist/prosemirror/styles/resolvedStyleAttrs.d.ts +8 -8
- package/dist/prosemirror/styles/styleResolver.d.ts +6 -7
- package/dist/prosemirror/styles/styleResolver.js +17 -0
- package/dist/prosemirror/styles/styleToggleCascade.d.ts +4 -4
- package/dist/prosemirror/styles/tableStyleRegions.d.ts +5 -6
- package/dist/prosemirror/tableCellMergeRevision.d.ts +3 -4
- package/dist/prosemirror/tableCellPaste.d.ts +11 -12
- package/dist/prosemirror/tableCellRevisionVisibility.d.ts +2 -3
- package/dist/prosemirror/tableGridMutation.d.ts +12 -12
- package/dist/prosemirror/tableResize.d.ts +18 -18
- package/dist/prosemirror/tableResize.js +64 -53
- package/dist/prosemirror/tableRunIn.d.ts +10 -5
- package/dist/prosemirror/tableRunIn.js +44 -9
- package/dist/prosemirror/textBoxAnchorAttrs.d.ts +3 -4
- package/dist/prosemirror/textBoxAnchorAttrs.js +4 -1
- package/dist/prosemirror/textBoxHostCollapse.d.ts +8 -0
- package/dist/prosemirror/textBoxHostCollapse.js +79 -0
- package/dist/prosemirror/textBoxHostParagraph.d.ts +2 -3
- package/dist/prosemirror/textInput.d.ts +12 -6
- package/dist/prosemirror/textInput.js +26 -2
- package/dist/prosemirror/trackedRevisionPath.d.ts +6 -6
- package/dist/prosemirror/trackedRevisionPath.js +7 -4
- package/dist/prosemirror/trackedRunInlineAtoms.d.ts +9 -9
- package/dist/prosemirror/trackedRunInlineAtoms.js +4 -3
- package/dist/prosemirror/utils/extractTrackedChanges.d.ts +4 -5
- package/dist/prosemirror/utils/findParagraphByParaId.d.ts +3 -4
- package/dist/prosemirror/utils/tabCalculator.js +1 -2
- package/dist/prosemirror/utils/visualLineNavigation.d.ts +7 -7
- package/dist/prosemirror/utils/visualLineNavigation.js +2 -14
- package/dist/prosemirror/validation.d.ts +7 -8
- package/dist/prosemirror/validation.js +25 -10
- package/dist/prosemirror/yjsDocumentMetadata.d.ts +15 -15
- package/dist/prosemirror/yjsDocumentMetadata.js +15 -12
- package/dist/prosemirror/zeroWidthAnchors.d.ts +7 -6
- package/dist/prosemirror/zeroWidthAnchors.js +53 -16
- package/dist/redline.d.ts +8 -8
- package/dist/redline.js +2 -1
- package/dist/redlineOperationLimit.d.ts +3 -3
- package/dist/render-dom/BodySelectionOverlay.d.ts +4 -5
- package/dist/render-dom/HeaderFooterSelectionOverlay.d.ts +6 -7
- package/dist/render-dom/RemoteSelectionOverlay.d.ts +5 -6
- package/dist/render-dom/RenderedDomContext.d.ts +6 -7
- package/dist/render-dom/commentAnchorAttributes.d.ts +6 -6
- package/dist/render-dom/resolveSidebarItemPositions.d.ts +5 -6
- package/dist/reviewHistoryLimits.d.ts +3 -0
- package/dist/reviewHistoryLimits.js +4 -0
- package/dist/server.d.ts +2 -1
- package/dist/server.js +2 -1
- package/dist/shaping/placeRun.d.ts +7 -8
- package/dist/shaping/shaper.d.ts +16 -16
- package/dist/style-engine/index.js +1 -2
- package/dist/style-engine/styleEngine.d.ts +5 -6
- package/dist/style-sets/extract.d.ts +8 -9
- package/dist/style-sets/stellaStyle.d.ts +4 -5
- package/dist/style-sets/styleSetNormalization.d.ts +6 -7
- package/dist/style-sets/types.d.ts +5 -6
- package/dist/symbols.d.ts +8 -9
- package/dist/types/block-id.d.ts +11 -12
- package/dist/types/canonicalCapabilities.d.ts +11 -19
- package/dist/types/canonicalCapabilities.js +5 -12
- package/dist/types/canonicalComments.d.ts +3 -4
- package/dist/types/canonicalSave.d.ts +2 -3
- package/dist/types/canonicalSections.d.ts +2 -3
- package/dist/types/documentEnumValues.d.ts +48 -49
- package/dist/types/docxSerialization.d.ts +4 -5
- package/dist/types/editor-story.d.ts +2 -3
- package/dist/types/remote-selection.d.ts +2 -3
- package/dist/types/wrap.d.ts +5 -6
- package/dist/utils/authorColors.d.ts +4 -5
- package/dist/utils/base64.d.ts +2 -2
- package/dist/utils/baseDirection.d.ts +4 -5
- package/dist/utils/borderCss.d.ts +9 -10
- package/dist/utils/boundedContentIdentity.d.ts +13 -0
- package/dist/utils/boundedContentIdentity.js +42 -0
- package/dist/utils/canonicalJson.d.ts +2 -3
- package/dist/utils/clipboard.d.ts +22 -22
- package/dist/utils/clipboard.js +9 -6
- package/dist/utils/colorResolver.d.ts +22 -23
- package/dist/utils/colorResolver.js +0 -20
- package/dist/utils/createDocument.d.ts +4 -4
- package/dist/utils/cursiveJoining.d.ts +7 -8
- package/dist/utils/documentLoaderBehavior.d.ts +3 -4
- package/dist/utils/documentPointerDown.d.ts +5 -0
- package/dist/utils/documentPointerDown.js +28 -0
- package/dist/utils/docxInput.d.ts +3 -4
- package/dist/utils/domGuards.d.ts +7 -8
- package/dist/utils/findMatchView.d.ts +32 -0
- package/dist/utils/findMatchView.js +406 -0
- package/dist/utils/findReplace.d.ts +68 -10
- package/dist/utils/findReplace.js +359 -37
- package/dist/utils/findSearchKey.d.ts +29 -0
- package/dist/utils/findSearchKey.js +34 -0
- package/dist/utils/findVerticalScrollParent.d.ts +3 -4
- package/dist/utils/fontFamilyMerge.d.ts +2 -2
- package/dist/utils/fontLoader.d.ts +12 -13
- package/dist/utils/fontResolver.d.ts +16 -14
- package/dist/utils/fontResolver.js +33 -5
- package/dist/utils/fontWeights.d.ts +2 -3
- package/dist/utils/formatToStyle.d.ts +14 -14
- package/dist/utils/formatToStyle.js +17 -15
- package/dist/utils/headerFooter.d.ts +11 -12
- package/dist/utils/headerFooter.js +10 -0
- package/dist/utils/headingCollector.d.ts +3 -4
- package/dist/utils/hexId.d.ts +6 -7
- package/dist/utils/hexId.js +1 -1
- package/dist/utils/horizontalScale.d.ts +5 -6
- package/dist/utils/htmlComments.d.ts +2 -3
- package/dist/utils/imageLuminance.d.ts +4 -5
- package/dist/utils/imageResize.d.ts +18 -0
- package/dist/utils/imageResize.js +37 -0
- package/dist/utils/imageValidation.d.ts +3 -4
- package/dist/utils/imageValidation.js +1 -1
- package/dist/utils/joiningTypes.gen.d.ts +5 -6
- package/dist/utils/mergeDocumentContent.d.ts +2 -3
- package/dist/utils/mergeDocumentContent.js +7 -0
- package/dist/utils/noteReferenceLabels.d.ts +7 -8
- package/dist/utils/ooxmlSymbol.d.ts +5 -3
- package/dist/utils/ooxmlSymbol.js +51 -1
- package/dist/utils/outlineDepth.d.ts +4 -5
- package/dist/utils/paragraphBaseDirection.d.ts +2 -3
- package/dist/utils/paragraphBaseDirection.js +2 -1
- package/dist/utils/paragraphFormattingMerge.d.ts +4 -5
- package/dist/utils/paragraphFormattingMerge.js +2 -0
- package/dist/utils/paragraphFrame.d.ts +20 -0
- package/dist/utils/paragraphFrame.js +13 -0
- package/dist/utils/paragraphInlineLayout.d.ts +101 -4
- package/dist/utils/paragraphInlineLayout.js +164 -1
- package/dist/utils/replaceText.d.ts +2 -2
- package/dist/utils/replaceText.js +138 -107
- package/dist/utils/rotationBoundingBox.d.ts +7 -8
- package/dist/utils/sanitizeImageSrc.d.ts +3 -4
- package/dist/utils/scriptSegments.d.ts +34 -16
- package/dist/utils/scriptSegments.js +26 -6
- package/dist/utils/sliceText.js +1 -2
- package/dist/utils/stripXmlDeclarations.d.ts +2 -3
- package/dist/utils/tableOfContentsStyle.d.ts +2 -2
- package/dist/utils/tableOperations.d.ts +16 -17
- package/dist/utils/tableOperations.js +44 -41
- package/dist/utils/tablePlacement.d.ts +3 -4
- package/dist/utils/textAdvanceGapsDom.d.ts +8 -0
- package/dist/utils/textAdvanceGapsDom.js +49 -0
- package/dist/utils/textDirectionFlow.d.ts +3 -4
- package/dist/utils/textEncoding.js +1 -2
- package/dist/utils/textFormattingMerge.d.ts +4 -5
- package/dist/utils/tiffConverter.d.ts +5 -6
- package/dist/utils/trailingText.d.ts +4 -5
- package/dist/utils/units.d.ts +19 -20
- package/dist/utils/urlSecurity.d.ts +6 -6
- package/dist/utils/urlSecurity.js +2 -1
- package/dist/utils/zoom.d.ts +4 -5
- package/dist/version-comparison.d.ts +28 -28
- package/dist/version-comparison.js +8 -7
- package/dist/watermark/index.d.ts +5 -5
- package/dist/watermark/index.js +9 -0
- package/package.json +16 -16
package/dist/ai-edits/apply.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isNumberingReference } from "../docx/numberingReference.js";
|
|
1
2
|
import { formattingEquals } from "../docx/runConsolidator.js";
|
|
2
3
|
import { isStyleSourcedParagraphNumbering } from "../internal/paragraphFormattingSerialization.js";
|
|
3
4
|
import { addTrackedDeletionMark } from "../prosemirror/addTrackedDeletionMark.js";
|
|
@@ -11,8 +12,8 @@ import { encloseWholeControls } from "../prosemirror/contentControlRevisions.js"
|
|
|
11
12
|
import { JOINED_RUNS_RESTYLED_META } from "../prosemirror/extensions/features/JoinedRunStyleExtension.js";
|
|
12
13
|
import { requestDeterministicParaIds } from "../prosemirror/extensions/features/ParaIdAllocatorExtension.js";
|
|
13
14
|
import { markStructuralChange } from "../prosemirror/extensions/features/ParagraphChangeTrackerExtension.js";
|
|
14
|
-
import "../prosemirror/extensions/nodes/RangeAnchorExtension.js";
|
|
15
15
|
import "../prosemirror/extensions/nodes/TextBoxAnchorExtension.js";
|
|
16
|
+
import { blockBoundariesOf, carriesCommentAnchor, inlineBoundariesOf, isBlockBoundaryNode, removeResolvedSubtree } from "../prosemirror/keptRangeBoundaries.js";
|
|
16
17
|
import { CLEARED_LIST_RENDERING_ATTRS } from "../prosemirror/listMarker.js";
|
|
17
18
|
import { effectiveParagraphNumbering, paragraphNumberingAttr, paragraphNumberingSourcesFromBoundary, readParagraphNumberingAttr, removedNumberingAttr } from "../prosemirror/numberingAttr.js";
|
|
18
19
|
import { directParagraphAlignment } from "../prosemirror/paragraphAlignment.js";
|
|
@@ -24,9 +25,8 @@ import { directParagraphSpacing, paragraphSpacingAttrPatch, paragraphSpacingEqua
|
|
|
24
25
|
import { getDocumentNumbering, getDocumentNumberingInstanceIds } from "../prosemirror/plugins/documentNumbering.js";
|
|
25
26
|
import { getDocumentStyleDefinitions, getDocumentStyleResolver } from "../prosemirror/plugins/documentStyleState.js";
|
|
26
27
|
import { claimRevisionIds, nextRevisionId, nextRevisionIdRange, reserveRevisionIds, seedRevisionIdsFromDoc } from "../prosemirror/plugins/revisionIds.js";
|
|
27
|
-
import { readRangeAnchorAttrs } from "../prosemirror/rangeAnchorAttrs.js";
|
|
28
28
|
import { rebaseParagraphRuns } from "../prosemirror/rebaseParagraphRuns.js";
|
|
29
|
-
import { NON_INCLUSIVE_MARK_DISPOSITION, addCarriedMarks, annotatedReplacement,
|
|
29
|
+
import { NON_INCLUSIVE_MARK_DISPOSITION, addCarriedMarks, annotatedReplacement, commentsAcrossBlockBoundary, commentsForTrackedInsertion, hasReplacedAnnotations, inheritedReplacementMarks, joinCommentStretches, placeTrackedInsertion, surveyReplacedAnnotations } from "../prosemirror/replacedAnnotations.js";
|
|
30
30
|
import { applyMarksToRunFormattingRepresentation, runFormattingInlineControlNodeName, selectRunFormattingCarrierRepresentations } from "../prosemirror/runFormattingInlineCarriers.js";
|
|
31
31
|
import { RUN_FORMATTING_MARK_NAMES } from "../prosemirror/runFormattingMarkNames.js";
|
|
32
32
|
import { readAuthoredRunFormatting, readAuthoredRunPropertySnapshot, reconcileRunFormattingMarks } from "../prosemirror/runFormattingReconciliation.js";
|
|
@@ -37,15 +37,16 @@ import { removeRowsWithoutCellsAfterBatch } from "../prosemirror/tableGridMutati
|
|
|
37
37
|
import { isZeroWidthAnchor } from "../prosemirror/zeroWidthAnchors.js";
|
|
38
38
|
import { getFolioParaIdFromBlockId } from "../types/block-id.js";
|
|
39
39
|
import { CANONICAL_GAP } from "../types/canonicalCapabilities.js";
|
|
40
|
-
import { BatchClaims
|
|
40
|
+
import { BatchClaims } from "./batch-claims.js";
|
|
41
41
|
import { stripBlockIdentityAttrs } from "./block-identity.js";
|
|
42
42
|
import { describeCharacterSplit } from "./character-boundaries.js";
|
|
43
43
|
import { buildCleanBlockText, resolveCleanTextRange } from "./clean-text.js";
|
|
44
44
|
import { hasInlineEmphasis, parseInlineEmphasisRuns, stripInlineEmphasisMarkers } from "./inline-emphasis.js";
|
|
45
45
|
import { applyTextChanges, changesFromSegments, keepAtomicSpans, planTextChanges, widenChangesToAtomicSpans } from "./minimal-replacement.js";
|
|
46
|
-
import { resolveNewListOperations } from "./newListNumbering.js";
|
|
46
|
+
import { assertNewListsAllocated, resolveNewListOperations, stageNewListOperations } from "./newListNumbering.js";
|
|
47
47
|
import { cutsIntoNoteReference, noteReferenceEditsAllowed, noteReferenceOf, noteReferenceSpansWithin, planChangesAroundNoteReferences, segmentsAroundNoteReferences } from "./note-references.js";
|
|
48
48
|
import { classifyResourceReference } from "./referenceClassification.js";
|
|
49
|
+
import { getFolioDocumentOperationRemovedBlockIds, getTrackedFolioDocumentOperationCarrierBlockId, getTrackedFolioDocumentOperationRemovedBlockIds } from "./removed-blocks.js";
|
|
49
50
|
import { separateRevisionStretches } from "./revisionStretches.js";
|
|
50
51
|
import { collectNoteReferenceLabels, hashFolioAIBlockStructuralBoundaries, hashFolioAIBlockText, isHiddenTableRow, normalizeFolioAIBlockText } from "./snapshot.js";
|
|
51
52
|
import { isEmptyTableCell, mergeTableRectangle, mergeTrackedVerticalTableCells, splitTableRectangle, splitTrackedVerticalTableCell } from "./table-cell-mutations.js";
|
|
@@ -58,6 +59,7 @@ import { panic } from "better-result";
|
|
|
58
59
|
import { Fragment, Mark } from "prosemirror-model";
|
|
59
60
|
import { TableMap } from "prosemirror-tables";
|
|
60
61
|
import { canSplit } from "prosemirror-transform";
|
|
62
|
+
import { contentRank, groupInsertionRuns, orderBatchOperations } from "@stll/docx-core/ops";
|
|
61
63
|
//#region src/ai-edits/apply.ts
|
|
62
64
|
const coarseWordDiff = (before, after) => {
|
|
63
65
|
if (before === after) return before.length === 0 ? [] : [{
|
|
@@ -428,7 +430,8 @@ const preserveRunFormattingAcrossTrackedStyleChange = ({ allocateRevisionInfo, n
|
|
|
428
430
|
revisionIds: []
|
|
429
431
|
};
|
|
430
432
|
const previousContext = paragraphRunStyleContext(paragraph, styleResolver);
|
|
431
|
-
const
|
|
433
|
+
const nextParagraph = paragraph.type.create(nextParagraphAttrs, paragraph.content, paragraph.marks);
|
|
434
|
+
const nextContext = paragraphRunStyleContext(nextParagraph, styleResolver);
|
|
432
435
|
const representations = selectRunFormattingCarrierRepresentations({
|
|
433
436
|
doc: tr.doc,
|
|
434
437
|
from: paragraphPosition + 1,
|
|
@@ -444,27 +447,29 @@ const preserveRunFormattingAcrossTrackedStyleChange = ({ allocateRevisionInfo, n
|
|
|
444
447
|
marks: representation.node.marks,
|
|
445
448
|
styleResolver
|
|
446
449
|
});
|
|
447
|
-
|
|
450
|
+
const nextFormatting = readAuthoredRunFormatting({
|
|
448
451
|
context: nextContext,
|
|
449
452
|
marks: representation.node.marks,
|
|
450
453
|
styleResolver
|
|
451
|
-
})
|
|
454
|
+
});
|
|
455
|
+
if (formattingEquals(previousFormatting, nextFormatting)) continue;
|
|
452
456
|
const info = allocateRevisionInfo();
|
|
453
457
|
const suggestionAttrs = info.provenance === "suggested" && info.suggestionId !== void 0 && info.suggestionId !== null ? {
|
|
454
458
|
provenance: "suggested",
|
|
455
459
|
suggestionId: info.suggestionId
|
|
456
460
|
} : {};
|
|
461
|
+
const propertyChange = propertyChangeType.create({
|
|
462
|
+
changes: [{
|
|
463
|
+
type: "runPropertyChange",
|
|
464
|
+
info,
|
|
465
|
+
...Object.keys(previousFormatting).length > 0 && { previousFormatting }
|
|
466
|
+
}],
|
|
467
|
+
...suggestionAttrs
|
|
468
|
+
});
|
|
457
469
|
applyMarksToRunFormattingRepresentation({
|
|
458
470
|
tr,
|
|
459
471
|
representation,
|
|
460
|
-
marks:
|
|
461
|
-
changes: [{
|
|
462
|
-
type: "runPropertyChange",
|
|
463
|
-
info,
|
|
464
|
-
...Object.keys(previousFormatting).length > 0 && { previousFormatting }
|
|
465
|
-
}],
|
|
466
|
-
...suggestionAttrs
|
|
467
|
-
}).addToSet(representation.node.marks)
|
|
472
|
+
marks: propertyChange.addToSet(representation.node.marks)
|
|
468
473
|
});
|
|
469
474
|
revisionIds.push(info.id);
|
|
470
475
|
}
|
|
@@ -535,9 +540,10 @@ const applyBlockParagraphProperties = ({ tr, position, node, properties, styleRe
|
|
|
535
540
|
tr,
|
|
536
541
|
revisionIds: []
|
|
537
542
|
};
|
|
543
|
+
const styled = bridgeResult.tr.setNodeMarkup(position, void 0, nextAttrs);
|
|
538
544
|
return {
|
|
539
545
|
tr: rebaseParagraphRuns({
|
|
540
|
-
tr:
|
|
546
|
+
tr: styled,
|
|
541
547
|
position,
|
|
542
548
|
previous: node,
|
|
543
549
|
styleResolver,
|
|
@@ -613,9 +619,10 @@ const applyReplaceBlockStyleId = ({ item, tr, styleResolver, revisionInfo }) =>
|
|
|
613
619
|
tr,
|
|
614
620
|
revisionIds: []
|
|
615
621
|
};
|
|
622
|
+
const styled = bridgeResult.tr.setNodeMarkup(blockPosition, void 0, nextAttrs);
|
|
616
623
|
return {
|
|
617
624
|
tr: rebaseParagraphRuns({
|
|
618
|
-
tr:
|
|
625
|
+
tr: styled,
|
|
619
626
|
position: blockPosition,
|
|
620
627
|
previous: block,
|
|
621
628
|
styleResolver,
|
|
@@ -638,22 +645,30 @@ const patchAuthoredRunFormatting = ({ authoredFormatting, formatting, includedPr
|
|
|
638
645
|
if (value === null) Reflect.deleteProperty(next, property);
|
|
639
646
|
else next[property] = value;
|
|
640
647
|
}
|
|
641
|
-
if (formatting.underline !== void 0 && includedFormattingProperty(includedProperties, "underline"))
|
|
642
|
-
|
|
648
|
+
if (formatting.underline !== void 0 && includedFormattingProperty(includedProperties, "underline")) {
|
|
649
|
+
if (formatting.underline === null) delete next.underline;
|
|
650
|
+
else next.underline = { style: formatting.underline ? "single" : "none" };
|
|
651
|
+
}
|
|
643
652
|
if (formatting.strike !== void 0 && includedFormattingProperty(includedProperties, "strike")) {
|
|
644
653
|
delete next.doubleStrike;
|
|
645
654
|
if (formatting.strike === null) delete next.strike;
|
|
646
655
|
else next.strike = formatting.strike;
|
|
647
656
|
}
|
|
648
|
-
if (formatting.fontFamily !== void 0 && includedFormattingProperty(includedProperties, "fontFamily"))
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
if (formatting.
|
|
656
|
-
|
|
657
|
+
if (formatting.fontFamily !== void 0 && includedFormattingProperty(includedProperties, "fontFamily")) {
|
|
658
|
+
if (formatting.fontFamily === null) delete next.fontFamily;
|
|
659
|
+
else next.fontFamily = {
|
|
660
|
+
ascii: formatting.fontFamily,
|
|
661
|
+
hAnsi: formatting.fontFamily
|
|
662
|
+
};
|
|
663
|
+
}
|
|
664
|
+
if (formatting.fontSizePt !== void 0 && includedFormattingProperty(includedProperties, "fontSizePt")) {
|
|
665
|
+
if (formatting.fontSizePt === null) delete next.fontSize;
|
|
666
|
+
else next.fontSize = formatting.fontSizePt * 2;
|
|
667
|
+
}
|
|
668
|
+
if (formatting.color !== void 0 && includedFormattingProperty(includedProperties, "color")) {
|
|
669
|
+
if (formatting.color === null) delete next.color;
|
|
670
|
+
else next.color = { rgb: formatting.color.replace(/^#/u, "").toUpperCase() };
|
|
671
|
+
}
|
|
657
672
|
if (formatting.highlight === false && includedFormattingProperty(includedProperties, "highlight")) delete next.highlight;
|
|
658
673
|
if (formatting.runShading === false && includedFormattingProperty(includedProperties, "runShading")) delete next.shading;
|
|
659
674
|
return next;
|
|
@@ -675,19 +690,21 @@ const applyInlineFormatting = ({ tr, from, to, formatting, includedProperties, s
|
|
|
675
690
|
marks: representation.node.marks,
|
|
676
691
|
...styleResolver !== void 0 ? { styleResolver } : {}
|
|
677
692
|
});
|
|
693
|
+
const nextAuthoredFormatting = patchAuthoredRunFormatting({
|
|
694
|
+
authoredFormatting,
|
|
695
|
+
formatting,
|
|
696
|
+
...includedProperties !== void 0 ? { includedProperties } : {}
|
|
697
|
+
});
|
|
698
|
+
const marks = reconcileRunFormattingMarks({
|
|
699
|
+
authoredFormatting: nextAuthoredFormatting,
|
|
700
|
+
context: styleContext,
|
|
701
|
+
node: representation.node,
|
|
702
|
+
...styleResolver !== void 0 ? { styleResolver } : {}
|
|
703
|
+
});
|
|
678
704
|
applyMarksToRunFormattingRepresentation({
|
|
679
705
|
tr,
|
|
680
706
|
representation,
|
|
681
|
-
marks
|
|
682
|
-
authoredFormatting: patchAuthoredRunFormatting({
|
|
683
|
-
authoredFormatting,
|
|
684
|
-
formatting,
|
|
685
|
-
...includedProperties !== void 0 ? { includedProperties } : {}
|
|
686
|
-
}),
|
|
687
|
-
context: styleContext,
|
|
688
|
-
node: representation.node,
|
|
689
|
-
...styleResolver !== void 0 ? { styleResolver } : {}
|
|
690
|
-
})
|
|
707
|
+
marks
|
|
691
708
|
});
|
|
692
709
|
}
|
|
693
710
|
return tr;
|
|
@@ -802,12 +819,13 @@ const applyTrackedInlineFormattingToRanges = ({ tr, schema, doc = tr.doc, ranges
|
|
|
802
819
|
hasPendingRunPropertyChange = true;
|
|
803
820
|
continue;
|
|
804
821
|
}
|
|
822
|
+
const nextAuthoredFormatting = patchAuthoredRunFormatting({
|
|
823
|
+
authoredFormatting: previousFormatting ?? {},
|
|
824
|
+
formatting,
|
|
825
|
+
includedProperties
|
|
826
|
+
});
|
|
805
827
|
const formattingMarks = reconcileRunFormattingMarks({
|
|
806
|
-
authoredFormatting:
|
|
807
|
-
authoredFormatting: previousFormatting ?? {},
|
|
808
|
-
formatting,
|
|
809
|
-
includedProperties
|
|
810
|
-
}),
|
|
828
|
+
authoredFormatting: nextAuthoredFormatting,
|
|
811
829
|
context: styleContext,
|
|
812
830
|
node,
|
|
813
831
|
...styleResolver !== void 0 ? { styleResolver } : {}
|
|
@@ -1061,7 +1079,8 @@ const batchClaimOf = ({ item, doc, producesTrackedChanges }) => {
|
|
|
1061
1079
|
type: "merge",
|
|
1062
1080
|
block,
|
|
1063
1081
|
next: item.blockTo,
|
|
1064
|
-
joinsNow: !producesTrackedChanges
|
|
1082
|
+
joinsNow: !producesTrackedChanges,
|
|
1083
|
+
setsProperties: item.operation.mergedParagraphProperties !== void 0
|
|
1065
1084
|
};
|
|
1066
1085
|
case "deleteBlock": {
|
|
1067
1086
|
const at = doc.resolve(block);
|
|
@@ -1294,6 +1313,17 @@ const isBatchableParagraphInsertion = (item, mode) => {
|
|
|
1294
1313
|
const isEmptyInsert = insertTexts.length === 1 && insertTexts[0]?.length === 0;
|
|
1295
1314
|
return !(mode === "tracked-changes" && item.operation.pageBreakBefore === true && isEmptyInsert);
|
|
1296
1315
|
};
|
|
1316
|
+
const insertionWithLiveAnchor = (item, tr) => {
|
|
1317
|
+
if (item.operation.type !== "insertAfterBlock" && item.operation.type !== "insertBeforeBlock") panic("Only paragraph insertions have insertion anchors", { operationId: item.operation.id });
|
|
1318
|
+
const mapped = tr.mapping.mapResult(item.blockFrom, 1);
|
|
1319
|
+
const anchor = mapped.deletedAcross ? null : tr.doc.nodeAt(mapped.pos);
|
|
1320
|
+
const paraId = item.blockNode.attrs["paraId"];
|
|
1321
|
+
if (!anchor?.isTextblock || anchor.type !== item.blockNode.type || typeof paraId === "string" && anchor.attrs["paraId"] !== paraId) return null;
|
|
1322
|
+
return {
|
|
1323
|
+
...item,
|
|
1324
|
+
blockNode: anchor
|
|
1325
|
+
};
|
|
1326
|
+
};
|
|
1297
1327
|
/** The comments running across both edges of the table at `tablePosition`: over all of it. */
|
|
1298
1328
|
const commentsAcrossTable = (doc, tablePosition) => {
|
|
1299
1329
|
const table = doc.nodeAt(tablePosition);
|
|
@@ -1366,6 +1396,57 @@ const holdsOnlyInsertedContent = (paragraph, revisions) => {
|
|
|
1366
1396
|
return whollyInserted;
|
|
1367
1397
|
};
|
|
1368
1398
|
/**
|
|
1399
|
+
* Remove the paragraph between `from` and `to`, its content with it but not
|
|
1400
|
+
* the range boundaries it holds: those stay where it was, as rejecting a
|
|
1401
|
+
* pending paragraph or accepting a deleted one leaves them. With a paragraph
|
|
1402
|
+
* after it they open that paragraph, where the joined break leaves them,
|
|
1403
|
+
* with any standing between the two; before a table they stand between
|
|
1404
|
+
* blocks; ending its container, they close the paragraph before it.
|
|
1405
|
+
*/
|
|
1406
|
+
const removeParagraph = (tr, from, to) => {
|
|
1407
|
+
const paragraph = tr.doc.nodeAt(from);
|
|
1408
|
+
const kept = paragraph === null ? [] : removeResolvedSubtree(paragraph, {
|
|
1409
|
+
mode: "reject",
|
|
1410
|
+
resolves: () => true
|
|
1411
|
+
}).kept;
|
|
1412
|
+
if (kept.length === 0) return tr.delete(from, to);
|
|
1413
|
+
const at = tr.doc.resolve(from);
|
|
1414
|
+
let followingIndex = at.index() + 1;
|
|
1415
|
+
while (isBlockBoundaryNode(at.parent.maybeChild(followingIndex))) followingIndex++;
|
|
1416
|
+
const following = at.parent.maybeChild(followingIndex);
|
|
1417
|
+
if (following?.type.name === "paragraph") {
|
|
1418
|
+
const between = [];
|
|
1419
|
+
let opening = to;
|
|
1420
|
+
for (let index = at.index() + 1; index < followingIndex; index++) {
|
|
1421
|
+
between.push(at.parent.child(index));
|
|
1422
|
+
opening += at.parent.child(index).nodeSize;
|
|
1423
|
+
}
|
|
1424
|
+
const joined = inlineBoundariesOf(between);
|
|
1425
|
+
if (joined === null) return tr.delete(from, to);
|
|
1426
|
+
return tr.insert(opening + 1, [...kept, ...joined]).delete(from, opening);
|
|
1427
|
+
}
|
|
1428
|
+
if (following !== null) {
|
|
1429
|
+
const comments = kept.filter(carriesCommentAnchor);
|
|
1430
|
+
const between = blockBoundariesOf(kept.filter((node) => !carriesCommentAnchor(node)));
|
|
1431
|
+
if (comments.length === 0) return tr.replaceWith(from, to, between);
|
|
1432
|
+
if (at.nodeBefore?.type.name !== "paragraph") return tr.replaceWith(from + 1, to - 1, kept).setNodeAttribute(from, "pPrMark", null);
|
|
1433
|
+
return tr.replaceWith(from, to, between).insert(from - 1, comments);
|
|
1434
|
+
}
|
|
1435
|
+
return tr.delete(from, to).insert(from - 1, kept);
|
|
1436
|
+
};
|
|
1437
|
+
/**
|
|
1438
|
+
* Empty the paragraph between `from` and `to`, which ends its container and
|
|
1439
|
+
* so stays: its content goes, the range boundaries it holds stay in it.
|
|
1440
|
+
*/
|
|
1441
|
+
const emptyParagraph = (tr, from, to) => {
|
|
1442
|
+
const paragraph = tr.doc.nodeAt(from);
|
|
1443
|
+
const kept = paragraph === null ? [] : removeResolvedSubtree(paragraph, {
|
|
1444
|
+
mode: "reject",
|
|
1445
|
+
resolves: () => true
|
|
1446
|
+
}).kept;
|
|
1447
|
+
return kept.length === 0 ? tr.delete(from + 1, to - 1) : tr.replaceWith(from + 1, to - 1, kept);
|
|
1448
|
+
};
|
|
1449
|
+
/**
|
|
1369
1450
|
* How to take back the paragraph at `position` when it is wholly a pending
|
|
1370
1451
|
* insertion (the break that introduced it inserted, and everything in it
|
|
1371
1452
|
* inserted text), or `null` when it is not. Such a paragraph goes outright:
|
|
@@ -1384,7 +1465,7 @@ const pendingParagraphRetraction = (doc, position) => {
|
|
|
1384
1465
|
const endsItsContainer = paragraphEndsItsContainer(at, paragraph.type.name);
|
|
1385
1466
|
if (at.parent.childCount < 2 || endsItsContainer && before?.type.name !== paragraph.type.name) return null;
|
|
1386
1467
|
let followingIndex = at.index() + 1;
|
|
1387
|
-
while (at.parent.maybeChild(followingIndex)
|
|
1468
|
+
while (isBlockBoundaryNode(at.parent.maybeChild(followingIndex))) followingIndex++;
|
|
1388
1469
|
const following = at.parent.maybeChild(followingIndex);
|
|
1389
1470
|
if (expectParagraphAttrs(paragraph).pPrMark?.kind === "moveTo" && following?.type.spec["tableRole"] === "table" && holdsOnlyInsertedContent(paragraph, "including-moves")) return { clearBreakAt: null };
|
|
1390
1471
|
if (!holdsOnlyInsertedContent(paragraph, "ordinary")) return null;
|
|
@@ -1419,6 +1500,60 @@ const holdsOnlyDeletedContent = (paragraph) => {
|
|
|
1419
1500
|
return whollyDeleted;
|
|
1420
1501
|
};
|
|
1421
1502
|
/**
|
|
1503
|
+
* Where the paragraph at `position` runs on into the next paragraph when its
|
|
1504
|
+
* added break is retracted, across the tables between them: the next
|
|
1505
|
+
* paragraph's position, or null when no table stands between or one cannot
|
|
1506
|
+
* be crossed.
|
|
1507
|
+
*
|
|
1508
|
+
* Retracting the break puts the paragraph's words in the next paragraph, so
|
|
1509
|
+
* a table between them changes sides of those words. That reads the same
|
|
1510
|
+
* only when, in each resolution, either the words or the table are gone:
|
|
1511
|
+
* words that stay on accepting may cross only a wholly deleted table, and
|
|
1512
|
+
* words that stay on rejecting only a wholly inserted one.
|
|
1513
|
+
*/
|
|
1514
|
+
const paragraphAcrossVanishingTables = (doc, position) => {
|
|
1515
|
+
const paragraph = doc.nodeAt(position);
|
|
1516
|
+
if (paragraph?.type.name !== "paragraph") return null;
|
|
1517
|
+
const $at = doc.resolve(position);
|
|
1518
|
+
const staysOnAccept = !holdsOnlyDeletedContent(paragraph);
|
|
1519
|
+
const staysOnReject = !holdsOnlyInsertedContent(paragraph, "including-moves");
|
|
1520
|
+
let next = position + paragraph.nodeSize;
|
|
1521
|
+
let crossed = false;
|
|
1522
|
+
for (let index = $at.index() + 1; index < $at.parent.childCount; index++) {
|
|
1523
|
+
const node = $at.parent.child(index);
|
|
1524
|
+
if (node.type === paragraph.type) return crossed ? next : null;
|
|
1525
|
+
if (node.type.spec["tableRole"] !== "table" || node.childCount === 0) return null;
|
|
1526
|
+
let deleted = true;
|
|
1527
|
+
let inserted = true;
|
|
1528
|
+
node.forEach((row) => {
|
|
1529
|
+
const { trIns, trDel } = expectTableRowAttrs(row);
|
|
1530
|
+
deleted &&= trDel != null;
|
|
1531
|
+
inserted &&= trIns != null;
|
|
1532
|
+
});
|
|
1533
|
+
if (staysOnAccept && !deleted || staysOnReject && !inserted) return null;
|
|
1534
|
+
next += node.nodeSize;
|
|
1535
|
+
crossed = true;
|
|
1536
|
+
}
|
|
1537
|
+
return null;
|
|
1538
|
+
};
|
|
1539
|
+
/** The paragraph a retracted added break on `predecessor` runs it into. */
|
|
1540
|
+
const retractedBreakTargetPosition = (doc, predecessor) => {
|
|
1541
|
+
const adjacent = predecessor.position + predecessor.node.nodeSize;
|
|
1542
|
+
return paragraphAcrossVanishingTables(doc, predecessor.position) ?? adjacent;
|
|
1543
|
+
};
|
|
1544
|
+
/**
|
|
1545
|
+
* Move the paragraph at `from` to just before `before`, past the tables
|
|
1546
|
+
* `paragraphAcrossVanishingTables` found it may cross; returns where it
|
|
1547
|
+
* now starts.
|
|
1548
|
+
*/
|
|
1549
|
+
const moveParagraphPastTables = (tr, from, before) => {
|
|
1550
|
+
const paragraph = tr.doc.nodeAt(from);
|
|
1551
|
+
if (!paragraph) return panic("A paragraph moved past tables vanished", { from });
|
|
1552
|
+
const target = before - paragraph.nodeSize;
|
|
1553
|
+
tr.delete(from, from + paragraph.nodeSize).insert(target, paragraph);
|
|
1554
|
+
return target;
|
|
1555
|
+
};
|
|
1556
|
+
/**
|
|
1422
1557
|
* Whether everything after `position` in its container is paragraphs pending
|
|
1423
1558
|
* deletion: a join there, once accepted, has no words after it.
|
|
1424
1559
|
*/
|
|
@@ -1446,12 +1581,22 @@ const hasDeletedContent = (paragraph) => {
|
|
|
1446
1581
|
});
|
|
1447
1582
|
return found;
|
|
1448
1583
|
};
|
|
1449
|
-
/**
|
|
1450
|
-
|
|
1584
|
+
/**
|
|
1585
|
+
* The final paragraph reached by a chain of wholly deleted paragraphs, and of
|
|
1586
|
+
* paragraphs wholly inserted under `insertedBy` (revisions of the running
|
|
1587
|
+
* batch) when given.
|
|
1588
|
+
*/
|
|
1589
|
+
const deletedFinalParagraphAfter = (at, paragraphTypeName, insertedBy) => {
|
|
1451
1590
|
let position = at.pos;
|
|
1452
1591
|
for (let index = at.index(); index < at.parent.childCount; index++) {
|
|
1453
1592
|
const paragraph = at.parent.child(index);
|
|
1454
|
-
if (paragraph.type.name !== paragraphTypeName
|
|
1593
|
+
if (paragraph.type.name !== paragraphTypeName) return null;
|
|
1594
|
+
const insertedBreak = addedBreakRevisionId(paragraph.attrs["pPrMark"]);
|
|
1595
|
+
if (index < at.parent.childCount - 1 && insertedBreak !== null && insertedBy?.has(insertedBreak) === true && holdsOnlyInsertedContent(paragraph, "ordinary")) {
|
|
1596
|
+
position += paragraph.nodeSize;
|
|
1597
|
+
continue;
|
|
1598
|
+
}
|
|
1599
|
+
if (!holdsOnlyDeletedContent(paragraph)) return null;
|
|
1455
1600
|
if (index === at.parent.childCount - 1) return paragraph.attrs["pPrMark"] == null && hasDeletedContent(paragraph) ? position : null;
|
|
1456
1601
|
if (!isPlainDeletedPPrMark(paragraph.attrs["pPrMark"])) return null;
|
|
1457
1602
|
position += paragraph.nodeSize;
|
|
@@ -1537,6 +1682,60 @@ const finalParagraphPredecessor = (doc, at) => {
|
|
|
1537
1682
|
return null;
|
|
1538
1683
|
};
|
|
1539
1684
|
/**
|
|
1685
|
+
* The paragraph whose break a recorded final deletion retires, if any. A
|
|
1686
|
+
* deletion that nothing preceded when it ran keeps its paragraph emptied, as
|
|
1687
|
+
* the deletion alone does: a paragraph the batch places before it afterwards
|
|
1688
|
+
* (an insertion after a table, a deleted table's predecessor) lands after the
|
|
1689
|
+
* deletion and keeps its own break.
|
|
1690
|
+
*/
|
|
1691
|
+
const retiredFinalBreak = (doc, at, deletion) => deletion.precededWhenDeleted ? finalParagraphPredecessor(doc, at) : null;
|
|
1692
|
+
/**
|
|
1693
|
+
* The paragraph a direct replay leaves at a container's end when the batch
|
|
1694
|
+
* deletes every paragraph back to the container's start or a table.
|
|
1695
|
+
*
|
|
1696
|
+
* Applied directly, the batch runs right to left: each deleted paragraph that
|
|
1697
|
+
* a paragraph precedes goes, and the leftmost of the run is the one emptied
|
|
1698
|
+
* and kept, with its own properties. Tracked, the run's breaks are deleted
|
|
1699
|
+
* and the container's own last mark stays on the emptied final paragraph, so
|
|
1700
|
+
* that paragraph must take the leftmost one's properties for accepting to
|
|
1701
|
+
* read the same. Paragraphs and tables an earlier batch deleted are absent
|
|
1702
|
+
* from the direct document and are looked past; a table this batch deletes
|
|
1703
|
+
* still stands when the run collapses, so the run starts after it.
|
|
1704
|
+
*
|
|
1705
|
+
* Null when a surviving paragraph precedes the run (its break retires
|
|
1706
|
+
* instead) or the run is the emptied paragraph alone.
|
|
1707
|
+
*/
|
|
1708
|
+
const collapsedFinalRunSource = (doc, at, batchRevisionIds) => {
|
|
1709
|
+
const emptied = doc.nodeAt(at);
|
|
1710
|
+
if (emptied?.type.name !== "paragraph") return null;
|
|
1711
|
+
const $emptied = doc.resolve(at);
|
|
1712
|
+
if (!paragraphEndsItsContainer($emptied, emptied.type.name)) return null;
|
|
1713
|
+
let source = null;
|
|
1714
|
+
let position = at;
|
|
1715
|
+
for (let index = $emptied.index() - 1; index >= 0; index--) {
|
|
1716
|
+
const node = $emptied.parent.child(index);
|
|
1717
|
+
position -= node.nodeSize;
|
|
1718
|
+
if (node.type.spec["tableRole"] === "table") {
|
|
1719
|
+
let deletedEarlier = node.childCount > 0;
|
|
1720
|
+
node.forEach((row) => {
|
|
1721
|
+
const { trDel } = expectTableRowAttrs(row);
|
|
1722
|
+
deletedEarlier &&= trDel != null && !batchRevisionIds.has(trDel.revisionId);
|
|
1723
|
+
});
|
|
1724
|
+
if (deletedEarlier) continue;
|
|
1725
|
+
return source;
|
|
1726
|
+
}
|
|
1727
|
+
if (node.type !== emptied.type) return source;
|
|
1728
|
+
const mark = node.attrs["pPrMark"];
|
|
1729
|
+
if (!isPlainDeletedPPrMark(mark) || !holdsOnlyDeletedContent(node)) return null;
|
|
1730
|
+
const revisionId = addedOrDeletedBreakRevisionId(mark);
|
|
1731
|
+
if (revisionId !== null && batchRevisionIds.has(revisionId)) source = {
|
|
1732
|
+
node,
|
|
1733
|
+
position
|
|
1734
|
+
};
|
|
1735
|
+
}
|
|
1736
|
+
return source;
|
|
1737
|
+
};
|
|
1738
|
+
/**
|
|
1540
1739
|
* Whether a sibling between a final carrier's predecessor and the carrier
|
|
1541
1740
|
* has its break deleted by this batch.
|
|
1542
1741
|
*/
|
|
@@ -1561,7 +1760,7 @@ const pendingRemovedFinalBreakPositions = (tr, deletions) => {
|
|
|
1561
1760
|
const positions = /* @__PURE__ */ new Set();
|
|
1562
1761
|
for (const deletion of deletions) {
|
|
1563
1762
|
const at = tr.mapping.slice(deletion.mappedFrom).map(deletion.position);
|
|
1564
|
-
const predecessor =
|
|
1763
|
+
const predecessor = retiredFinalBreak(tr.doc, at, deletion);
|
|
1565
1764
|
if (!predecessor || predecessor.node.attrs["pPrMark"] != null) continue;
|
|
1566
1765
|
positions.add(predecessor.position);
|
|
1567
1766
|
}
|
|
@@ -1594,14 +1793,14 @@ const hasDeferredParagraphPropertyWrite = ({ tr, deletions, targets, mergedPrope
|
|
|
1594
1793
|
const at = tr.mapping.slice(deletion.mappedFrom).map(deletion.position);
|
|
1595
1794
|
const target = tr.doc.nodeAt(at);
|
|
1596
1795
|
if (!target) continue;
|
|
1597
|
-
const predecessor =
|
|
1796
|
+
const predecessor = retiredFinalBreak(tr.doc, at, deletion);
|
|
1598
1797
|
if (!predecessor) continue;
|
|
1599
1798
|
const mark = predecessor.node.attrs["pPrMark"];
|
|
1600
1799
|
if (mark == null && mergedPropertyTargets.some(({ position, mappedFrom }) => {
|
|
1601
1800
|
const mapped = tr.mapping.slice(mappedFrom).mapResult(position);
|
|
1602
1801
|
return !mapped.deleted && mapped.pos === at;
|
|
1603
1802
|
})) continue;
|
|
1604
|
-
const writeTarget = mark == null ? target : tr.doc.nodeAt(
|
|
1803
|
+
const writeTarget = mark == null ? target : tr.doc.nodeAt(retractedBreakTargetPosition(tr.doc, predecessor));
|
|
1605
1804
|
if (!writeTarget || !targets.includes(writeTarget)) continue;
|
|
1606
1805
|
if (mark != null && !(addedBreakRevisionId(mark) !== null && canRetractFinalBreak({
|
|
1607
1806
|
predecessor: predecessor.node,
|
|
@@ -1635,9 +1834,9 @@ const paragraphPropertyRevisionTargets = ({ item, tr, deletedFinalParagraphs })
|
|
|
1635
1834
|
const removedBreakPositions = pendingRemovedFinalBreakPositions(tr, deletedFinalParagraphs);
|
|
1636
1835
|
for (const deletion of deletedFinalParagraphs) {
|
|
1637
1836
|
const at = tr.mapping.slice(deletion.mappedFrom).map(deletion.position);
|
|
1638
|
-
const predecessor =
|
|
1837
|
+
const predecessor = retiredFinalBreak(tr.doc, at, deletion);
|
|
1639
1838
|
if (!predecessor || addedBreakRevisionId(predecessor.node.attrs["pPrMark"]) === null) continue;
|
|
1640
|
-
const target = tr.doc.nodeAt(
|
|
1839
|
+
const target = tr.doc.nodeAt(retractedBreakTargetPosition(tr.doc, predecessor));
|
|
1641
1840
|
if (!target) continue;
|
|
1642
1841
|
if (canRetractFinalBreak({
|
|
1643
1842
|
predecessor: predecessor.node,
|
|
@@ -1685,12 +1884,41 @@ const withRetiredFinalParagraphs = ({ tr, deletions, mergedPropertyTargets, appl
|
|
|
1685
1884
|
deletion,
|
|
1686
1885
|
at: tr.mapping.slice(deletion.mappedFrom).map(deletion.position)
|
|
1687
1886
|
})).toSorted((left, right) => right.at - left.at);
|
|
1688
|
-
for (const { deletion
|
|
1887
|
+
for (const { deletion, at } of located) {
|
|
1888
|
+
const { operationId, revisionExtras } = deletion;
|
|
1689
1889
|
const emptied = tr.doc.nodeAt(at);
|
|
1690
1890
|
if (emptied?.type.name !== "paragraph") continue;
|
|
1691
|
-
const predecessor =
|
|
1692
|
-
if (!predecessor)
|
|
1693
|
-
|
|
1891
|
+
const predecessor = retiredFinalBreak(tr.doc, at, deletion);
|
|
1892
|
+
if (!predecessor) {
|
|
1893
|
+
const source = deletion.precededWhenDeleted ? collapsedFinalRunSource(tr.doc, at, batchRevisionIds) : null;
|
|
1894
|
+
if (!source) continue;
|
|
1895
|
+
const revisionId = nextRevisionId;
|
|
1896
|
+
const carried = carryParagraphProperties({
|
|
1897
|
+
tr,
|
|
1898
|
+
position: at,
|
|
1899
|
+
source: source.node,
|
|
1900
|
+
styleResolver,
|
|
1901
|
+
numbering,
|
|
1902
|
+
revision: {
|
|
1903
|
+
id: revisionId,
|
|
1904
|
+
author,
|
|
1905
|
+
date,
|
|
1906
|
+
...revisionExtras
|
|
1907
|
+
},
|
|
1908
|
+
keep: /* @__PURE__ */ new Set()
|
|
1909
|
+
});
|
|
1910
|
+
if (carried.tracked) {
|
|
1911
|
+
nextRevisionId++;
|
|
1912
|
+
addedRevisions.push({
|
|
1913
|
+
operationId,
|
|
1914
|
+
revisionId
|
|
1915
|
+
});
|
|
1916
|
+
}
|
|
1917
|
+
if (carried.changed) resolvedOperationIds.add(operationId);
|
|
1918
|
+
continue;
|
|
1919
|
+
}
|
|
1920
|
+
const { node: previous } = predecessor;
|
|
1921
|
+
let { position } = predecessor;
|
|
1694
1922
|
const mark = previous.attrs["pPrMark"];
|
|
1695
1923
|
if (mark == null) {
|
|
1696
1924
|
const revisionId = nextRevisionId++;
|
|
@@ -1735,11 +1963,13 @@ const withRetiredFinalParagraphs = ({ tr, deletions, mergedPropertyTargets, appl
|
|
|
1735
1963
|
continue;
|
|
1736
1964
|
}
|
|
1737
1965
|
if (addedBreakRevisionId(mark) !== null) {
|
|
1738
|
-
const
|
|
1966
|
+
const targetPosition = retractedBreakTargetPosition(tr.doc, predecessor);
|
|
1967
|
+
const following = tr.doc.nodeAt(targetPosition);
|
|
1739
1968
|
if (!following || !canRetractFinalBreak({
|
|
1740
1969
|
predecessor: previous,
|
|
1741
1970
|
target: following
|
|
1742
1971
|
})) continue;
|
|
1972
|
+
if (targetPosition !== position + previous.nodeSize) position = moveParagraphPastTables(tr, position, targetPosition);
|
|
1743
1973
|
joinAtParagraphMark({
|
|
1744
1974
|
tr,
|
|
1745
1975
|
paragraphPos: position,
|
|
@@ -1750,10 +1980,15 @@ const withRetiredFinalParagraphs = ({ tr, deletions, mergedPropertyTargets, appl
|
|
|
1750
1980
|
resolvedOperationIds.add(operationId);
|
|
1751
1981
|
const retracted = addedBreakRevisionId(mark);
|
|
1752
1982
|
if (retracted !== null) retractedRevisionIds.push(retracted);
|
|
1983
|
+
const carryPosition = isDeletedPPrMark(tr.doc.nodeAt(position)?.attrs["pPrMark"]) ? paragraphLeftAfter({
|
|
1984
|
+
doc: tr.doc,
|
|
1985
|
+
paragraphPos: position
|
|
1986
|
+
}) ?? position : position;
|
|
1987
|
+
const carryTarget = tr.doc.nodeAt(carryPosition) ?? following;
|
|
1753
1988
|
const revisionId = nextRevisionId;
|
|
1754
1989
|
if (carryParagraphProperties({
|
|
1755
1990
|
tr,
|
|
1756
|
-
position,
|
|
1991
|
+
position: carryPosition,
|
|
1757
1992
|
source: previous,
|
|
1758
1993
|
styleResolver,
|
|
1759
1994
|
numbering,
|
|
@@ -1763,7 +1998,7 @@ const withRetiredFinalParagraphs = ({ tr, deletions, mergedPropertyTargets, appl
|
|
|
1763
1998
|
date,
|
|
1764
1999
|
...revisionExtras
|
|
1765
2000
|
},
|
|
1766
|
-
keep: propertiesSetInBatch(
|
|
2001
|
+
keep: propertiesSetInBatch(carryTarget, batchRevisionIds)
|
|
1767
2002
|
}).tracked) {
|
|
1768
2003
|
nextRevisionId++;
|
|
1769
2004
|
addedRevisions.push({
|
|
@@ -1819,26 +2054,38 @@ const withRotatedAddedFinalBreaks = ({ tr, batchRevisionIds, revisionSeed, autho
|
|
|
1819
2054
|
const supersededDeletedBreaks = [];
|
|
1820
2055
|
const collectSupersededDeletedBreaks = (parent, contentStart) => {
|
|
1821
2056
|
let previous = null;
|
|
2057
|
+
let carriedDeletedMark = null;
|
|
2058
|
+
let carriedDeletedFormatting = null;
|
|
1822
2059
|
parent.forEach((node, offset) => {
|
|
1823
2060
|
const position = contentStart + offset;
|
|
1824
2061
|
if (node.type.name !== "paragraph") {
|
|
1825
2062
|
previous = null;
|
|
2063
|
+
carriedDeletedMark = null;
|
|
2064
|
+
carriedDeletedFormatting = null;
|
|
1826
2065
|
if (!node.isTextblock && node.childCount > 0) collectSupersededDeletedBreaks(node, position + 1);
|
|
1827
2066
|
return;
|
|
1828
2067
|
}
|
|
1829
2068
|
if (previous) {
|
|
1830
|
-
const deletedMark = previous.node.attrs["pPrMark"];
|
|
2069
|
+
const deletedMark = carriedDeletedMark ?? previous.node.attrs["pPrMark"];
|
|
1831
2070
|
const insertedMark = node.attrs["pPrMark"];
|
|
1832
2071
|
const insertedRevisionId = addedBreakRevisionId(insertedMark);
|
|
1833
2072
|
const trackedInsertion = insertedRevisionId !== null && batchRevisionIds.has(insertedRevisionId);
|
|
1834
2073
|
const suggestedInsertion = isSuggestedParagraphInsert(node);
|
|
1835
2074
|
const deletedBreakRevisionId = addedOrDeletedBreakRevisionId(deletedMark);
|
|
1836
|
-
if (isPlainDeletedPPrMark(deletedMark) && deletedBreakRevisionId !== null && !batchRevisionIds.has(deletedBreakRevisionId) && !holdsOnlyDeletedContent(previous.node) && (trackedInsertion || suggestedInsertion) && holdsOnlyInsertedContent(node, "ordinary"))
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
2075
|
+
if (isPlainDeletedPPrMark(deletedMark) && deletedBreakRevisionId !== null && !batchRevisionIds.has(deletedBreakRevisionId) && !holdsOnlyDeletedContent(previous.node) && (trackedInsertion || suggestedInsertion) && holdsOnlyInsertedContent(node, "ordinary")) {
|
|
2076
|
+
supersededDeletedBreaks.push({
|
|
2077
|
+
preceding: previous.position,
|
|
2078
|
+
inserted: position,
|
|
2079
|
+
deletedMark,
|
|
2080
|
+
precedingMark: trackedInsertion ? insertedMark : null,
|
|
2081
|
+
precedingFormatting: carriedDeletedFormatting ?? paragraphPropertiesOnReject(previous.node)
|
|
2082
|
+
});
|
|
2083
|
+
carriedDeletedMark = deletedMark;
|
|
2084
|
+
carriedDeletedFormatting ??= paragraphPropertiesOnReject(previous.node);
|
|
2085
|
+
} else {
|
|
2086
|
+
carriedDeletedMark = null;
|
|
2087
|
+
carriedDeletedFormatting = null;
|
|
2088
|
+
}
|
|
1842
2089
|
}
|
|
1843
2090
|
previous = {
|
|
1844
2091
|
node,
|
|
@@ -1847,24 +2094,26 @@ const withRotatedAddedFinalBreaks = ({ tr, batchRevisionIds, revisionSeed, autho
|
|
|
1847
2094
|
});
|
|
1848
2095
|
};
|
|
1849
2096
|
collectSupersededDeletedBreaks(tr.doc, 0);
|
|
1850
|
-
for (const { preceding, inserted, deletedMark, precedingMark } of supersededDeletedBreaks) {
|
|
2097
|
+
for (const { preceding, inserted, deletedMark, precedingMark, precedingFormatting } of supersededDeletedBreaks) {
|
|
1851
2098
|
const insertionRevisionId = addedBreakRevisionId(precedingMark);
|
|
1852
2099
|
if (insertionRevisionId !== null) {
|
|
1853
2100
|
const previous = tr.doc.nodeAt(preceding);
|
|
1854
2101
|
const current = tr.doc.nodeAt(inserted);
|
|
1855
2102
|
if (!previous || !current) panic("A shifted paragraph break lost its carrier");
|
|
1856
|
-
const previousFormatting = paragraphPropertiesOnReject(previous);
|
|
1857
2103
|
const existing = expectParagraphAttrs(current)._propertyChanges;
|
|
1858
|
-
if (
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
2104
|
+
if (hasSerializableParagraphPropertyChange(existing) || JSON.stringify(precedingFormatting) !== JSON.stringify(paragraphPropertiesSnapshot(current))) {
|
|
2105
|
+
const inverse = {
|
|
2106
|
+
type: "paragraphPropertyChange",
|
|
2107
|
+
info: {
|
|
2108
|
+
id: insertionRevisionId,
|
|
2109
|
+
author,
|
|
2110
|
+
date,
|
|
2111
|
+
...initials ? { initials } : {}
|
|
2112
|
+
},
|
|
2113
|
+
previousFormatting: precedingFormatting
|
|
2114
|
+
};
|
|
2115
|
+
tr.setNodeAttribute(inserted, "_propertyChanges", [inverse]);
|
|
2116
|
+
}
|
|
1868
2117
|
}
|
|
1869
2118
|
tr.setNodeAttribute(preceding, "pPrMark", precedingMark);
|
|
1870
2119
|
tr.setNodeAttribute(inserted, "pPrMark", deletedMark);
|
|
@@ -2020,6 +2269,7 @@ const restyledListAttrs = ({ attrs, styleNumbering, removesNumbering, numbering
|
|
|
2020
2269
|
};
|
|
2021
2270
|
};
|
|
2022
2271
|
const buildInsertedParagraphs = ({ item, schema, formattingFromStyle, mode, author, date, initials, commentMark, suggestionId, revisionSeed, isPairedMove, numbering, styleResolver }) => {
|
|
2272
|
+
assertNewListsAllocated(item.operation);
|
|
2023
2273
|
const operation = item.operation;
|
|
2024
2274
|
if (operation.type !== "insertAfterBlock" && operation.type !== "insertBeforeBlock") panic("Only paragraph insertions can build inserted paragraphs", { type: operation.type });
|
|
2025
2275
|
const insertionType = schema.marks["insertion"];
|
|
@@ -2035,6 +2285,7 @@ const buildInsertedParagraphs = ({ item, schema, formattingFromStyle, mode, auth
|
|
|
2035
2285
|
const formatsEveryParagraph = operation.formattingScope === "allParagraphs";
|
|
2036
2286
|
const baseAttrs = operation.inheritFormatting === false ? {} : {
|
|
2037
2287
|
...stripBlockIdentityAttrs(item.blockNode.attrs),
|
|
2288
|
+
_preservedAttributes: null,
|
|
2038
2289
|
_propertyChanges: null,
|
|
2039
2290
|
pPrMark: null,
|
|
2040
2291
|
_suggestedInsert: null
|
|
@@ -2189,12 +2440,13 @@ const buildInsertedParagraphs = ({ item, schema, formattingFromStyle, mode, auth
|
|
|
2189
2440
|
reconciled.push(child);
|
|
2190
2441
|
return;
|
|
2191
2442
|
}
|
|
2443
|
+
const authoredFormatting = readAuthoredRunFormatting({
|
|
2444
|
+
context: sourceContext,
|
|
2445
|
+
marks: child.marks,
|
|
2446
|
+
styleResolver
|
|
2447
|
+
});
|
|
2192
2448
|
const reconciledMarks = reconcileRunFormattingMarks({
|
|
2193
|
-
authoredFormatting
|
|
2194
|
-
context: sourceContext,
|
|
2195
|
-
marks: child.marks,
|
|
2196
|
-
styleResolver
|
|
2197
|
-
}),
|
|
2449
|
+
authoredFormatting,
|
|
2198
2450
|
context: targetContext,
|
|
2199
2451
|
node: child,
|
|
2200
2452
|
styleResolver
|
|
@@ -2259,7 +2511,8 @@ const applyFolioAIEditOperationsInternal = ({ view, snapshot, operations: reques
|
|
|
2259
2511
|
};
|
|
2260
2512
|
const styleResolver = getDocumentStyleResolver(view.state);
|
|
2261
2513
|
const styleDefinitions = getDocumentStyleDefinitions(view.state);
|
|
2262
|
-
const
|
|
2514
|
+
const operations = stageNewListOperations(requestedOperations);
|
|
2515
|
+
let numbering = getDocumentNumbering(view.state);
|
|
2263
2516
|
const formattingFromStyleForInsertion = (item) => {
|
|
2264
2517
|
if (item.operation.type !== "insertAfterBlock" && item.operation.type !== "insertBeforeBlock") return;
|
|
2265
2518
|
const anchorAttrs = expectParagraphAttrs(item.blockNode);
|
|
@@ -2274,6 +2527,7 @@ const applyFolioAIEditOperationsInternal = ({ view, snapshot, operations: reques
|
|
|
2274
2527
|
const claimedTableRows = /* @__PURE__ */ new Set();
|
|
2275
2528
|
const claimedTableColumns = /* @__PURE__ */ new Set();
|
|
2276
2529
|
const batchClaims = new BatchClaims();
|
|
2530
|
+
const removedBlocksBy = /* @__PURE__ */ new Map();
|
|
2277
2531
|
const diffText = wordDiffMode === "coarse" ? coarseWordDiff : wordDiffSessionFromOptions(wordDiff).diff;
|
|
2278
2532
|
const producesTrackedChanges = mode !== "direct";
|
|
2279
2533
|
const isSuggested = mode === "suggested";
|
|
@@ -2370,6 +2624,29 @@ const applyFolioAIEditOperationsInternal = ({ view, snapshot, operations: reques
|
|
|
2370
2624
|
continue;
|
|
2371
2625
|
}
|
|
2372
2626
|
}
|
|
2627
|
+
const targetBlockId = "range" in operation ? operation.range.blockId : operation.blockId;
|
|
2628
|
+
const removedBy = ![
|
|
2629
|
+
"insertAfterBlock",
|
|
2630
|
+
"insertBeforeBlock",
|
|
2631
|
+
"insertSignatureTable",
|
|
2632
|
+
"insertTable",
|
|
2633
|
+
"deleteTable",
|
|
2634
|
+
"insertTableRow",
|
|
2635
|
+
"deleteTableRow",
|
|
2636
|
+
"insertTableColumn",
|
|
2637
|
+
"deleteTableColumn",
|
|
2638
|
+
"mergeTableCells",
|
|
2639
|
+
"splitTableCell"
|
|
2640
|
+
].includes(operation.type) ? removedBlocksBy.get(targetBlockId) : void 0;
|
|
2641
|
+
const continuesMergeChain = operation.type === "mergeBlockWithNext" && removedBy?.type === "mergeBlockWithNext";
|
|
2642
|
+
if (removedBy !== void 0 && !continuesMergeChain) {
|
|
2643
|
+
skipped.push({
|
|
2644
|
+
id: operation.id,
|
|
2645
|
+
reason: "overlappingOperation",
|
|
2646
|
+
message: `operation ${JSON.stringify(removedBy.id)}, earlier in this batch, already claims its target.`
|
|
2647
|
+
});
|
|
2648
|
+
continue;
|
|
2649
|
+
}
|
|
2373
2650
|
const claim = batchClaimOf({
|
|
2374
2651
|
item: resolution.operation,
|
|
2375
2652
|
doc: view.state.doc,
|
|
@@ -2385,6 +2662,14 @@ const applyFolioAIEditOperationsInternal = ({ view, snapshot, operations: reques
|
|
|
2385
2662
|
continue;
|
|
2386
2663
|
}
|
|
2387
2664
|
batchClaims.add(operation.id, claim);
|
|
2665
|
+
const carrierBlockId = producesTrackedChanges ? getTrackedFolioDocumentOperationCarrierBlockId(snapshot.blocks, requestedOperations[index] ?? panic("A planned operation lost its input", { index }), removedBlocksBy) : void 0;
|
|
2666
|
+
const getRemovedBlockIds = producesTrackedChanges ? getTrackedFolioDocumentOperationRemovedBlockIds : getFolioDocumentOperationRemovedBlockIds;
|
|
2667
|
+
const requestedOperation = requestedOperations[index] ?? panic("A planned operation lost its input", { index });
|
|
2668
|
+
for (const removedBlockId of getRemovedBlockIds(snapshot.blocks, requestedOperation)) if (!removedBlocksBy.has(removedBlockId)) removedBlocksBy.set(removedBlockId, {
|
|
2669
|
+
id: operation.id,
|
|
2670
|
+
type: operation.type
|
|
2671
|
+
});
|
|
2672
|
+
if (carrierBlockId !== void 0) removedBlocksBy.delete(carrierBlockId);
|
|
2388
2673
|
if (deletion) claimedTableRows.add(`${deletion.tablePosition}:${deletion.rowIndex}`);
|
|
2389
2674
|
if (columnDeletion) claimedTableColumns.add(getTableColumnCoordinateKey(columnDeletion));
|
|
2390
2675
|
if ((operation.type === "insertAfterBlock" || operation.type === "insertBeforeBlock") && operation.lineBreakMode !== "inline" && LINE_BREAK_PATTERN.test(operation.text)) normalizations.push({
|
|
@@ -2423,8 +2708,14 @@ const applyFolioAIEditOperationsInternal = ({ view, snapshot, operations: reques
|
|
|
2423
2708
|
else counts.to += 1;
|
|
2424
2709
|
moveSideCounts.set(moveId, counts);
|
|
2425
2710
|
}
|
|
2711
|
+
const refusedMoveIds = /* @__PURE__ */ new Set();
|
|
2712
|
+
if (isSuggested) for (const candidate of executableResolved) {
|
|
2713
|
+
if (candidate.operation.type !== "insertBeforeBlock" || candidate.operation.moveId === void 0) continue;
|
|
2714
|
+
const moveId = candidate.operation.moveId;
|
|
2715
|
+
if (executableResolved.some(({ operation, blockFrom }) => operation.type === "deleteBlock" && operation.moveId === moveId && blockFrom === candidate.blockFrom)) refusedMoveIds.add(moveId);
|
|
2716
|
+
}
|
|
2426
2717
|
const isPairedMove = (moveId) => {
|
|
2427
|
-
if (moveId === void 0) return false;
|
|
2718
|
+
if (moveId === void 0 || refusedMoveIds.has(moveId)) return false;
|
|
2428
2719
|
const counts = moveSideCounts.get(moveId);
|
|
2429
2720
|
return counts?.from === 1 && counts.to === 1;
|
|
2430
2721
|
};
|
|
@@ -2479,40 +2770,76 @@ const applyFolioAIEditOperationsInternal = ({ view, snapshot, operations: reques
|
|
|
2479
2770
|
if (afterTables.get(item.blockFrom)?.has(item.blockTo)) tableAfterDeletedSplit.set(item.blockFrom, commentsAcrossBlockBoundary(view.state.doc, item.blockTo));
|
|
2480
2771
|
}
|
|
2481
2772
|
}
|
|
2482
|
-
const
|
|
2483
|
-
|
|
2484
|
-
|
|
2485
|
-
|
|
2486
|
-
|
|
2487
|
-
|
|
2488
|
-
|
|
2489
|
-
|
|
2490
|
-
|
|
2491
|
-
|
|
2492
|
-
if (
|
|
2493
|
-
|
|
2494
|
-
|
|
2495
|
-
|
|
2496
|
-
|
|
2497
|
-
|
|
2498
|
-
}
|
|
2499
|
-
|
|
2500
|
-
|
|
2501
|
-
|
|
2502
|
-
|
|
2503
|
-
|
|
2504
|
-
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
2509
|
-
|
|
2510
|
-
|
|
2511
|
-
|
|
2512
|
-
|
|
2513
|
-
|
|
2514
|
-
const
|
|
2515
|
-
|
|
2773
|
+
const batchAddress = (item) => {
|
|
2774
|
+
const cell = item.tableCellMerge ?? item.tableCellSplit;
|
|
2775
|
+
if (cell) return {
|
|
2776
|
+
type: "cell",
|
|
2777
|
+
tablePosition: cell.tablePosition,
|
|
2778
|
+
bottom: cell.rectangle.bottom,
|
|
2779
|
+
right: cell.rectangle.right,
|
|
2780
|
+
inputIndex: item.originalIndex
|
|
2781
|
+
};
|
|
2782
|
+
const column = item.tableColumnInsertion ?? item.tableColumnDeletion;
|
|
2783
|
+
if (column) return {
|
|
2784
|
+
type: "column",
|
|
2785
|
+
tablePosition: column.tablePosition,
|
|
2786
|
+
columnIndex: column.columnIndex,
|
|
2787
|
+
insertion: item.tableColumnInsertion !== void 0,
|
|
2788
|
+
inputIndex: item.originalIndex
|
|
2789
|
+
};
|
|
2790
|
+
if (ANNOTATION_OPERATION_TYPES.has(item.operation.type)) return {
|
|
2791
|
+
type: "annotation",
|
|
2792
|
+
position: item.from,
|
|
2793
|
+
inputIndex: item.originalIndex
|
|
2794
|
+
};
|
|
2795
|
+
const hasDeletedSplit = tableAfterDeletedSplit.has(item.blockFrom);
|
|
2796
|
+
return {
|
|
2797
|
+
type: "content",
|
|
2798
|
+
position: hasDeletedSplit && item.operation.type === "deleteBlock" ? item.blockTo : item.from,
|
|
2799
|
+
rank: contentRank(item.operation, { hasDeletedSplit }),
|
|
2800
|
+
inputIndex: item.originalIndex
|
|
2801
|
+
};
|
|
2802
|
+
};
|
|
2803
|
+
const executionOrder = orderBatchOperations(executableResolved, batchAddress);
|
|
2804
|
+
const allocateNewLists = ({ items }) => {
|
|
2805
|
+
const allocated = resolveNewListOperations(items.map(({ operation }) => operation), numbering);
|
|
2806
|
+
numbering = allocated.numbering;
|
|
2807
|
+
for (const [index, candidate] of items.entries()) candidate.operation = allocated.operations[index] ?? panic("A will-apply operation lost its new-list allocation", { id: candidate.operation.id });
|
|
2808
|
+
};
|
|
2809
|
+
const executionGroups = groupInsertionRuns(executionOrder, (candidate) => isBatchableParagraphInsertion(candidate, mode) ? candidate.from : null, (candidate) => candidate.operation.type === "setBlockParagraphProperties");
|
|
2810
|
+
for (const executionGroup of executionGroups) {
|
|
2811
|
+
const insertionState = tr;
|
|
2812
|
+
const insertionRun = executionGroup.flatMap((candidate) => {
|
|
2813
|
+
if (candidate.operation.type !== "insertAfterBlock" && candidate.operation.type !== "insertBeforeBlock") return [candidate];
|
|
2814
|
+
const liveCandidate = insertionWithLiveAnchor(candidate, insertionState);
|
|
2815
|
+
if (!liveCandidate) {
|
|
2816
|
+
if (!isSuggested) return [candidate];
|
|
2817
|
+
if (candidate.operation.moveId !== void 0) refusedMoveIds.add(candidate.operation.moveId);
|
|
2818
|
+
skipped.push({
|
|
2819
|
+
id: candidate.operation.id,
|
|
2820
|
+
reason: isSuggested ? "pendingDeletion" : "missingBlock"
|
|
2821
|
+
});
|
|
2822
|
+
return [];
|
|
2823
|
+
}
|
|
2824
|
+
if (isSuggested) {
|
|
2825
|
+
const blockFrom = insertionState.mapping.map(candidate.blockFrom, 1);
|
|
2826
|
+
if (isPendingDeletion(insertionState.doc, blockFrom, liveCandidate.blockNode, buildCleanBlockText(liveCandidate.blockNode, blockFrom, {
|
|
2827
|
+
fieldResults: "text",
|
|
2828
|
+
noteReferences
|
|
2829
|
+
}).text)) {
|
|
2830
|
+
if (candidate.operation.moveId !== void 0) refusedMoveIds.add(candidate.operation.moveId);
|
|
2831
|
+
skipped.push({
|
|
2832
|
+
id: candidate.operation.id,
|
|
2833
|
+
reason: "pendingDeletion"
|
|
2834
|
+
});
|
|
2835
|
+
return [];
|
|
2836
|
+
}
|
|
2837
|
+
}
|
|
2838
|
+
return [liveCandidate];
|
|
2839
|
+
});
|
|
2840
|
+
if (insertionRun.length === 0) continue;
|
|
2841
|
+
const item = insertionRun.at(0);
|
|
2842
|
+
if (!item) panic("The operation execution group was empty");
|
|
2516
2843
|
continueSharedRevisionIds();
|
|
2517
2844
|
if (mode === "tracked-changes" && writesParagraphPropertyChange(item)) {
|
|
2518
2845
|
const appliedIds = new Set(applied.map(({ id }) => id));
|
|
@@ -2538,52 +2865,47 @@ const applyFolioAIEditOperationsInternal = ({ view, snapshot, operations: reques
|
|
|
2538
2865
|
continue;
|
|
2539
2866
|
}
|
|
2540
2867
|
}
|
|
2541
|
-
if (
|
|
2542
|
-
|
|
2543
|
-
|
|
2544
|
-
|
|
2545
|
-
|
|
2546
|
-
|
|
2547
|
-
|
|
2548
|
-
|
|
2549
|
-
const
|
|
2550
|
-
const
|
|
2551
|
-
|
|
2552
|
-
|
|
2553
|
-
|
|
2554
|
-
|
|
2555
|
-
|
|
2556
|
-
|
|
2557
|
-
|
|
2558
|
-
|
|
2559
|
-
|
|
2560
|
-
|
|
2561
|
-
|
|
2562
|
-
|
|
2563
|
-
|
|
2564
|
-
|
|
2565
|
-
|
|
2566
|
-
|
|
2567
|
-
|
|
2568
|
-
|
|
2569
|
-
|
|
2570
|
-
|
|
2571
|
-
|
|
2572
|
-
|
|
2573
|
-
|
|
2574
|
-
|
|
2575
|
-
|
|
2576
|
-
},
|
|
2577
|
-
...insertionSuggestionId !== null && { suggestionId: insertionSuggestionId }
|
|
2578
|
-
});
|
|
2579
|
-
}
|
|
2580
|
-
const nodes = [];
|
|
2581
|
-
for (const group of nodeGroups.toReversed()) for (const node of group) nodes.push(node);
|
|
2582
|
-
tr = tr.insert(item.from, nodes);
|
|
2583
|
-
applied.push(...runApplied);
|
|
2584
|
-
executionIndex += insertionRun.length - 1;
|
|
2585
|
-
continue;
|
|
2868
|
+
if (insertionRun.length > 1) {
|
|
2869
|
+
allocateNewLists({
|
|
2870
|
+
status: "willApply",
|
|
2871
|
+
items: insertionRun
|
|
2872
|
+
});
|
|
2873
|
+
const nodeGroups = [];
|
|
2874
|
+
const runApplied = [];
|
|
2875
|
+
for (const insertion of insertionRun) {
|
|
2876
|
+
const insertionSuggestionId = isSuggested ? insertion.operation.suggestionId ?? insertion.operation.id : null;
|
|
2877
|
+
const built = buildInsertedParagraphs({
|
|
2878
|
+
item: insertion,
|
|
2879
|
+
schema: view.state.schema,
|
|
2880
|
+
formattingFromStyle: formattingFromStyleForInsertion(insertion),
|
|
2881
|
+
mode,
|
|
2882
|
+
author,
|
|
2883
|
+
date,
|
|
2884
|
+
initials,
|
|
2885
|
+
commentMark: null,
|
|
2886
|
+
suggestionId: insertionSuggestionId,
|
|
2887
|
+
revisionSeed,
|
|
2888
|
+
isPairedMove,
|
|
2889
|
+
numbering,
|
|
2890
|
+
styleResolver
|
|
2891
|
+
});
|
|
2892
|
+
revisionSeed = built.nextRevisionId;
|
|
2893
|
+
claimSharedRevisionIds(revisionSeed);
|
|
2894
|
+
nodeGroups.push(built.nodes);
|
|
2895
|
+
runApplied.push({
|
|
2896
|
+
id: insertion.operation.id,
|
|
2897
|
+
...built.revisionIds[0] !== void 0 && {
|
|
2898
|
+
revisionId: built.revisionIds[0],
|
|
2899
|
+
revisionIds: built.revisionIds
|
|
2900
|
+
},
|
|
2901
|
+
...insertionSuggestionId !== null && { suggestionId: insertionSuggestionId }
|
|
2902
|
+
});
|
|
2586
2903
|
}
|
|
2904
|
+
const nodes = [];
|
|
2905
|
+
for (const group of nodeGroups.toReversed()) for (const node of group) nodes.push(node);
|
|
2906
|
+
tr = tr.insert(item.from, nodes);
|
|
2907
|
+
applied.push(...runApplied);
|
|
2908
|
+
continue;
|
|
2587
2909
|
}
|
|
2588
2910
|
const provisionalCommentId = item.commentText !== void 0 ? reserveProvisionalCommentId() : void 0;
|
|
2589
2911
|
const commentMark = provisionalCommentId !== void 0 && commentType ? commentType.create({ commentId: provisionalCommentId }) : null;
|
|
@@ -2941,16 +3263,11 @@ const applyFolioAIEditOperationsInternal = ({ view, snapshot, operations: reques
|
|
|
2941
3263
|
}
|
|
2942
3264
|
case "insertAfterBlock":
|
|
2943
3265
|
case "insertBeforeBlock": {
|
|
2944
|
-
|
|
2945
|
-
|
|
2946
|
-
|
|
2947
|
-
})
|
|
2948
|
-
|
|
2949
|
-
id: item.operation.id,
|
|
2950
|
-
reason: "pendingDeletion"
|
|
2951
|
-
});
|
|
2952
|
-
continue;
|
|
2953
|
-
}
|
|
3266
|
+
allocateNewLists({
|
|
3267
|
+
status: "willApply",
|
|
3268
|
+
items: [item]
|
|
3269
|
+
});
|
|
3270
|
+
assertNewListsAllocated(item.operation);
|
|
2954
3271
|
const built = buildInsertedParagraphs({
|
|
2955
3272
|
item,
|
|
2956
3273
|
schema: view.state.schema,
|
|
@@ -3231,7 +3548,7 @@ const applyFolioAIEditOperationsInternal = ({ view, snapshot, operations: reques
|
|
|
3231
3548
|
}
|
|
3232
3549
|
if (mode === "direct") {
|
|
3233
3550
|
const at = tr.doc.resolve(item.blockFrom);
|
|
3234
|
-
tr = !paragraphEndsItsContainer(at, item.blockNode.type.name) || at.nodeBefore?.type.name === item.blockNode.type.name ? tr
|
|
3551
|
+
tr = !paragraphEndsItsContainer(at, item.blockNode.type.name) || at.nodeBefore?.type.name === item.blockNode.type.name ? removeParagraph(tr, item.blockFrom, item.blockTo) : emptyParagraph(tr, item.blockFrom, item.blockTo);
|
|
3235
3552
|
break;
|
|
3236
3553
|
}
|
|
3237
3554
|
const retraction = isPairedMove(item.operation.moveId) ? null : pendingParagraphRetraction(tr.doc, item.blockFrom);
|
|
@@ -3244,7 +3561,7 @@ const applyFolioAIEditOperationsInternal = ({ view, snapshot, operations: reques
|
|
|
3244
3561
|
continue;
|
|
3245
3562
|
}
|
|
3246
3563
|
const retracted = tr.doc.nodeAt(item.blockFrom);
|
|
3247
|
-
tr = tr
|
|
3564
|
+
tr = removeParagraph(tr, item.blockFrom, item.blockTo);
|
|
3248
3565
|
if (retraction.clearBreakAt !== null) {
|
|
3249
3566
|
tr = tr.setNodeAttribute(retraction.clearBreakAt, "pPrMark", null);
|
|
3250
3567
|
const revisionIdProperties = operationRevisionSeed;
|
|
@@ -3298,8 +3615,12 @@ const applyFolioAIEditOperationsInternal = ({ view, snapshot, operations: reques
|
|
|
3298
3615
|
});
|
|
3299
3616
|
const inlineRevisionApplied = item.from < item.to || atomRanges.length > 0;
|
|
3300
3617
|
appliedRevisionIds = inlineRevisionApplied ? [revisionId] : [];
|
|
3301
|
-
|
|
3302
|
-
const
|
|
3618
|
+
let markPosition = tr.mapping.map(item.blockFrom);
|
|
3619
|
+
const markOwner = tr.doc.nodeAt(markPosition);
|
|
3620
|
+
const across = markOwner && !isPairedMove(item.operation.moveId) && addedBreakRevisionId(markOwner.attrs["pPrMark"]) !== null ? paragraphAcrossVanishingTables(tr.doc, markPosition) : null;
|
|
3621
|
+
if (across !== null) markPosition = moveParagraphPastTables(tr, markPosition, across);
|
|
3622
|
+
const markPlace = tr.doc.resolve(markPosition);
|
|
3623
|
+
const endsItsContainer = paragraphEndsItsContainer(markPlace, item.blockNode.type.name);
|
|
3303
3624
|
const deleted = tr.doc.nodeAt(markPosition);
|
|
3304
3625
|
const following = deleted && paragraphJoinAfter(tr.doc, markPosition + deleted.nodeSize)?.next;
|
|
3305
3626
|
if (deleted && following?.type === deleted.type && !isPairedMove(item.operation.moveId) && addedBreakRevisionId(deleted.attrs["pPrMark"]) !== null) {
|
|
@@ -3345,14 +3666,16 @@ const applyFolioAIEditOperationsInternal = ({ view, snapshot, operations: reques
|
|
|
3345
3666
|
appliedRevisionIds = inlineRevisionApplied ? [revisionId, markRevisionId] : [markRevisionId];
|
|
3346
3667
|
} else if (endsItsContainer && !isPairedMove(item.operation.moveId)) deletedFinalParagraphs.push({
|
|
3347
3668
|
operationId: item.operation.id,
|
|
3669
|
+
precededWhenDeleted: finalParagraphPredecessor(tr.doc, markPosition) !== null,
|
|
3348
3670
|
position: markPosition,
|
|
3349
3671
|
mappedFrom: tr.mapping.maps.length,
|
|
3350
3672
|
revisionExtras: trackedRevisionExtras
|
|
3351
3673
|
});
|
|
3352
3674
|
else if (deleted && !isPairedMove(item.operation.moveId) && isPlainDeletedPPrMark(deleted.attrs["pPrMark"]) && holdsOnlyDeletedContent(deleted)) {
|
|
3353
|
-
const finalPosition = deletedFinalParagraphAfter(tr.doc.resolve(markPosition), deleted.type.name);
|
|
3675
|
+
const finalPosition = deletedFinalParagraphAfter(tr.doc.resolve(markPosition), deleted.type.name, new Set(applied.flatMap(({ revisionIds }) => revisionIds ?? [])));
|
|
3354
3676
|
if (finalPosition !== null) deletedFinalParagraphs.push({
|
|
3355
3677
|
operationId: item.operation.id,
|
|
3678
|
+
precededWhenDeleted: true,
|
|
3356
3679
|
position: finalPosition,
|
|
3357
3680
|
mappedFrom: tr.mapping.maps.length,
|
|
3358
3681
|
revisionExtras: trackedRevisionExtras
|
|
@@ -3533,6 +3856,11 @@ const applyFolioAIEditOperationsInternal = ({ view, snapshot, operations: reques
|
|
|
3533
3856
|
});
|
|
3534
3857
|
continue;
|
|
3535
3858
|
}
|
|
3859
|
+
allocateNewLists({
|
|
3860
|
+
status: "willApply",
|
|
3861
|
+
items: [item]
|
|
3862
|
+
});
|
|
3863
|
+
assertNewListsAllocated(item.operation);
|
|
3536
3864
|
const appliedProperties = applyBlockParagraphProperties({
|
|
3537
3865
|
tr,
|
|
3538
3866
|
position: blockPosition,
|
|
@@ -3560,16 +3888,22 @@ const applyFolioAIEditOperationsInternal = ({ view, snapshot, operations: reques
|
|
|
3560
3888
|
}
|
|
3561
3889
|
case "splitBlock": {
|
|
3562
3890
|
const splitsFromItsTextBoxes = textBoxAnchorIdsBetween(tr.doc, item.blockFrom, item.from).size > 0 && endOfParagraphWithItsTextBoxes(tr.doc, item.blockFrom) > item.blockTo;
|
|
3563
|
-
if (mode
|
|
3564
|
-
if (item.to > item.from) tr = tr.delete(item.from, item.to);
|
|
3565
|
-
tr = tr.split(item.from);
|
|
3566
|
-
if (splitsFromItsTextBoxes) gatherTextBoxesAfterParagraph(tr, item.blockFrom);
|
|
3567
|
-
} else if (splitsFromItsTextBoxes) {
|
|
3891
|
+
if (mode !== "direct" && splitsFromItsTextBoxes) {
|
|
3568
3892
|
skipped.push({
|
|
3569
3893
|
id: item.operation.id,
|
|
3570
3894
|
reason: "unsupportedBlock"
|
|
3571
3895
|
});
|
|
3572
3896
|
continue;
|
|
3897
|
+
}
|
|
3898
|
+
allocateNewLists({
|
|
3899
|
+
status: "willApply",
|
|
3900
|
+
items: [item]
|
|
3901
|
+
});
|
|
3902
|
+
assertNewListsAllocated(item.operation);
|
|
3903
|
+
if (mode === "direct") {
|
|
3904
|
+
if (item.to > item.from) tr = tr.delete(item.from, item.to);
|
|
3905
|
+
tr = tr.split(item.from);
|
|
3906
|
+
if (splitsFromItsTextBoxes) gatherTextBoxesAfterParagraph(tr, item.blockFrom);
|
|
3573
3907
|
} else {
|
|
3574
3908
|
const revisionIdMark = operationRevisionSeed++;
|
|
3575
3909
|
const info = {
|
|
@@ -3653,10 +3987,16 @@ const applyFolioAIEditOperationsInternal = ({ view, snapshot, operations: reques
|
|
|
3653
3987
|
});
|
|
3654
3988
|
continue;
|
|
3655
3989
|
}
|
|
3990
|
+
allocateNewLists({
|
|
3991
|
+
status: "willApply",
|
|
3992
|
+
items: [item]
|
|
3993
|
+
});
|
|
3994
|
+
assertNewListsAllocated(item.operation);
|
|
3656
3995
|
const separator = followedOnlyByDeletedParagraphs(tr.doc, blockTo) ? "" : item.operation.separator ?? "";
|
|
3657
3996
|
const insertAt = blockTo - 1;
|
|
3658
3997
|
let mergedPropertiesAt = blockFrom;
|
|
3659
3998
|
let mergedPropertiesRecorded = false;
|
|
3999
|
+
let mergedPropertiesApplied = false;
|
|
3660
4000
|
const second = join.next;
|
|
3661
4001
|
const spanningComments = commentsAcrossBlockBoundary(tr.doc, blockTo);
|
|
3662
4002
|
const withSeparator = (transaction) => {
|
|
@@ -3699,6 +4039,18 @@ const applyFolioAIEditOperationsInternal = ({ view, snapshot, operations: reques
|
|
|
3699
4039
|
if (joined && sectionPropertiesOf(joined) !== secondSection) tr = tr.setNodeAttribute(blockFrom, "_sectionProperties", secondSection);
|
|
3700
4040
|
const endingMark = second ? expectParagraphAttrs(second).pPrMark : null;
|
|
3701
4041
|
if (joined && (endingMark?.kind === "del" || endingMark?.kind === "moveFrom")) {
|
|
4042
|
+
if (item.operation.mergedParagraphProperties) {
|
|
4043
|
+
const ending = tr.doc.nodeAt(blockFrom) ?? joined;
|
|
4044
|
+
tr = applyBlockParagraphProperties({
|
|
4045
|
+
tr,
|
|
4046
|
+
position: blockFrom,
|
|
4047
|
+
node: ending,
|
|
4048
|
+
properties: item.operation.mergedParagraphProperties,
|
|
4049
|
+
styleResolver,
|
|
4050
|
+
numbering
|
|
4051
|
+
}).tr;
|
|
4052
|
+
mergedPropertiesApplied = true;
|
|
4053
|
+
}
|
|
3702
4054
|
const survivor = paragraphLeftAfter({
|
|
3703
4055
|
doc: tr.doc,
|
|
3704
4056
|
paragraphPos: blockFrom
|
|
@@ -3706,7 +4058,7 @@ const applyFolioAIEditOperationsInternal = ({ view, snapshot, operations: reques
|
|
|
3706
4058
|
if (survivor !== null) tr = carryParagraphProperties({
|
|
3707
4059
|
tr,
|
|
3708
4060
|
position: survivor,
|
|
3709
|
-
source: joined,
|
|
4061
|
+
source: tr.doc.nodeAt(blockFrom) ?? joined,
|
|
3710
4062
|
styleResolver,
|
|
3711
4063
|
numbering,
|
|
3712
4064
|
revision: endingMark.info
|
|
@@ -3795,7 +4147,7 @@ const applyFolioAIEditOperationsInternal = ({ view, snapshot, operations: reques
|
|
|
3795
4147
|
mergedPropertiesAt = survivorPos;
|
|
3796
4148
|
}
|
|
3797
4149
|
}
|
|
3798
|
-
if (item.operation.mergedParagraphProperties) {
|
|
4150
|
+
if (item.operation.mergedParagraphProperties && !mergedPropertiesApplied) {
|
|
3799
4151
|
const mergedParagraph = tr.doc.nodeAt(mergedPropertiesAt);
|
|
3800
4152
|
if (!mergedParagraph) panic("A resolved merge did not produce a paragraph");
|
|
3801
4153
|
const appliedProperties = applyBlockParagraphProperties({
|
|
@@ -3821,10 +4173,7 @@ const applyFolioAIEditOperationsInternal = ({ view, snapshot, operations: reques
|
|
|
3821
4173
|
});
|
|
3822
4174
|
break;
|
|
3823
4175
|
}
|
|
3824
|
-
case "commentOnBlock":
|
|
3825
|
-
if (commentMark) tr = tr.addMark(item.from, item.to, commentMark);
|
|
3826
|
-
break;
|
|
3827
|
-
default: break;
|
|
4176
|
+
case "commentOnBlock": if (commentMark) tr = tr.addMark(item.from, item.to, commentMark);
|
|
3828
4177
|
}
|
|
3829
4178
|
if (commentPlan !== null) tr = applyAlignedReplacementComments({
|
|
3830
4179
|
tr,
|
|
@@ -4043,18 +4392,27 @@ const insertCleanText = ({ tr, from, to, text, standsInFor, keepsReplacedText =
|
|
|
4043
4392
|
const annotations = surveyReplacedAnnotations(tr.doc, from, to);
|
|
4044
4393
|
const carried = standsInFor ? surveyReplacedAnnotations(tr.doc, standsInFor.from, standsInFor.to).carried : [];
|
|
4045
4394
|
const replaced = keepsReplacedText ? commentsForTrackedInsertion(tr.doc, from, [carried])[0] ?? [] : carried;
|
|
4046
|
-
|
|
4047
|
-
|
|
4048
|
-
|
|
4049
|
-
|
|
4050
|
-
|
|
4395
|
+
const baseMarks = (tr.selection.from === from && tr.selection.to === to ? tr.storedMarks : null) ?? inheritedReplacementMarks(tr.doc, from, to);
|
|
4396
|
+
if (!hasReplacedAnnotations(annotations) && replaced.length === 0 && !hasCleanTextControls(text)) {
|
|
4397
|
+
if (text.length === 0) return {
|
|
4398
|
+
transaction: tr.delete(from, to),
|
|
4399
|
+
start: from,
|
|
4400
|
+
end: from
|
|
4401
|
+
};
|
|
4402
|
+
const replacement = tr.doc.type.schema.text(text, baseMarks);
|
|
4403
|
+
return {
|
|
4404
|
+
transaction: tr.replaceWith(from, to, replacement),
|
|
4405
|
+
start: from,
|
|
4406
|
+
end: from + text.length
|
|
4407
|
+
};
|
|
4408
|
+
}
|
|
4051
4409
|
const schema = tr.doc.type.schema;
|
|
4052
4410
|
const { fragment, leadingSize, contentSize } = annotatedReplacement({
|
|
4053
4411
|
annotations,
|
|
4054
4412
|
content: Fragment.fromArray(cleanTextInlineNodes({
|
|
4055
4413
|
schema,
|
|
4056
4414
|
text,
|
|
4057
|
-
marks: addCarriedMarks(
|
|
4415
|
+
marks: addCarriedMarks(baseMarks, replaced)
|
|
4058
4416
|
}))
|
|
4059
4417
|
});
|
|
4060
4418
|
const start = from + leadingSize;
|
|
@@ -4436,23 +4794,6 @@ const applyAlignedReplacementComments = ({ tr, source, item, plan, stepsBefore,
|
|
|
4436
4794
|
for (const comment of comments) if (comment.isInSet(expected)) tr.addMark(from, from + 1, comment);
|
|
4437
4795
|
else tr.removeMark(from, from + 1, comment);
|
|
4438
4796
|
}
|
|
4439
|
-
const visible = /* @__PURE__ */ new Set();
|
|
4440
|
-
const points = /* @__PURE__ */ new Set();
|
|
4441
|
-
tr.doc.descendants((node) => {
|
|
4442
|
-
if (node.type.name === "rangeAnchor") {
|
|
4443
|
-
const attrs = readRangeAnchorAttrs(node);
|
|
4444
|
-
if (attrs.ok && attrs.value.start.type === "commentRangeStart") points.add(attrs.value.start.id);
|
|
4445
|
-
}
|
|
4446
|
-
if (!node.isInline || isZeroWidthAnchor(node) || node.marks.some((mark) => mark.type.name === "deletion")) return;
|
|
4447
|
-
for (const mark of node.marks) if (mark.type.name === "comment") visible.add(mark.attrs["commentId"]);
|
|
4448
|
-
});
|
|
4449
|
-
const at = clean.offsets[plan.spanStart];
|
|
4450
|
-
if (at === void 0) panic("Replacement lost its start gap");
|
|
4451
|
-
for (const comment of comments) {
|
|
4452
|
-
const id = comment.attrs["commentId"];
|
|
4453
|
-
if (visible.has(id) || points.has(id)) continue;
|
|
4454
|
-
tr.insert(at, commentPoint(tr.doc.type.schema, id));
|
|
4455
|
-
}
|
|
4456
4797
|
return tr;
|
|
4457
4798
|
};
|
|
4458
4799
|
/**
|
|
@@ -4715,6 +5056,7 @@ const applyMinimalTrackedReplacement = ({ tr, item, noteReferences, replacement,
|
|
|
4715
5056
|
nextTr = nextTr.addMark(run.at, end, insertion);
|
|
4716
5057
|
if (commentMark) nextTr = nextTr.addMark(run.at, end, commentMark);
|
|
4717
5058
|
}
|
|
5059
|
+
if (removedFrom !== null) nextTr = joinCommentStretches(nextTr, removedFrom);
|
|
4718
5060
|
}
|
|
4719
5061
|
return {
|
|
4720
5062
|
type: "applied",
|
|
@@ -4970,10 +5312,11 @@ const resolveOperationTarget = ({ snapshot, operation, liveBlocks, liveBlocksByP
|
|
|
4970
5312
|
};
|
|
4971
5313
|
}
|
|
4972
5314
|
if (operation.type === "insertTableRow") {
|
|
5315
|
+
const position = operation.position ?? "after";
|
|
4973
5316
|
const insertion = findTableRowInsertion({
|
|
4974
5317
|
doc,
|
|
4975
5318
|
blockFrom,
|
|
4976
|
-
position
|
|
5319
|
+
position
|
|
4977
5320
|
});
|
|
4978
5321
|
if (!insertion) return {
|
|
4979
5322
|
type: "skip",
|
|
@@ -5028,10 +5371,11 @@ const resolveOperationTarget = ({ snapshot, operation, liveBlocks, liveBlocksByP
|
|
|
5028
5371
|
};
|
|
5029
5372
|
}
|
|
5030
5373
|
if (operation.type === "insertTableColumn") {
|
|
5374
|
+
const position = operation.position ?? "after";
|
|
5031
5375
|
const insertion = findTableColumnInsertion({
|
|
5032
5376
|
doc,
|
|
5033
5377
|
blockFrom,
|
|
5034
|
-
position
|
|
5378
|
+
position
|
|
5035
5379
|
});
|
|
5036
5380
|
if (!insertion) return {
|
|
5037
5381
|
type: "skip",
|
|
@@ -5523,7 +5867,7 @@ const describeUndefinedParagraphStyle = ({ path, styleId, definedAs }, definitio
|
|
|
5523
5867
|
return `${path} "${styleId}" ${definedAs === void 0 ? "names no style in this document" : `names a ${definedAs} style, not a paragraph style`} (${available}).`;
|
|
5524
5868
|
};
|
|
5525
5869
|
/** The `w:num` id a stated numbering names, when it names one. */
|
|
5526
|
-
const statedNumberingInstance = (numbering) => numbering?.kind === "reference" ? numbering.numId : void 0;
|
|
5870
|
+
const statedNumberingInstance = (numbering) => numbering?.kind === "reference" && isNumberingReference(numbering.numId) ? numbering.numId : void 0;
|
|
5527
5871
|
/**
|
|
5528
5872
|
* Every numbering instance an operation names, with the field that names it.
|
|
5529
5873
|
* Only reference variants name an instance; inheritance, cancellation and level-only do not.
|
|
@@ -5582,4 +5926,4 @@ const getOperationQuote = (operation) => {
|
|
|
5582
5926
|
if (operation.type === "commentOnBlock") return operation.quote;
|
|
5583
5927
|
};
|
|
5584
5928
|
//#endregion
|
|
5585
|
-
export { applyFolioAIEditOperations, previewFolioAIEditOperations, previewFolioAIEditOperationsWithResult };
|
|
5929
|
+
export { applyFolioAIEditOperations, insertCleanText, previewFolioAIEditOperations, previewFolioAIEditOperationsWithResult };
|