@stll/folio-core 0.52.0 → 0.54.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -0
- package/dist/ai-edits/apply.d.ts +26 -1
- package/dist/ai-edits/apply.js +1779 -141
- package/dist/ai-edits/batch-claims.d.ts +145 -0
- package/dist/ai-edits/batch-claims.js +275 -0
- package/dist/ai-edits/blockRange.js +9 -3
- package/dist/ai-edits/character-boundaries.d.ts +43 -0
- package/dist/ai-edits/character-boundaries.js +95 -0
- package/dist/ai-edits/clean-text.d.ts +33 -3
- package/dist/ai-edits/clean-text.js +52 -6
- package/dist/ai-edits/comment-lifecycle.d.ts +18 -0
- package/dist/ai-edits/comment-lifecycle.js +52 -0
- package/dist/ai-edits/headless.d.ts +91 -7
- package/dist/ai-edits/headless.js +520 -51
- package/dist/ai-edits/index.d.ts +2 -1
- package/dist/ai-edits/index.js +2 -1
- package/dist/ai-edits/minimal-replacement.d.ts +21 -6
- package/dist/ai-edits/minimal-replacement.js +134 -15
- package/dist/ai-edits/newListNumbering.d.ts +23 -0
- package/dist/ai-edits/newListNumbering.js +94 -0
- package/dist/ai-edits/note-references.d.ts +96 -0
- package/dist/ai-edits/note-references.js +139 -0
- package/dist/ai-edits/pending-suggestions.d.ts +79 -0
- package/dist/ai-edits/pending-suggestions.js +306 -0
- package/dist/ai-edits/read.d.ts +6 -4
- package/dist/ai-edits/read.js +113 -50
- package/dist/ai-edits/result-validation.d.ts +29 -0
- package/dist/ai-edits/result-validation.js +164 -0
- package/dist/ai-edits/revisionStretches.d.ts +17 -0
- package/dist/ai-edits/revisionStretches.js +80 -0
- package/dist/ai-edits/snapshot.d.ts +36 -3
- package/dist/ai-edits/snapshot.js +180 -25
- package/dist/ai-edits/table-cell-mutations.d.ts +4 -2
- package/dist/ai-edits/table-cell-mutations.js +6 -2
- package/dist/ai-edits/table-geometry.d.ts +1 -1
- package/dist/ai-edits/table-row-column-mutations.d.ts +44 -17
- package/dist/ai-edits/table-row-column-mutations.js +86 -34
- package/dist/ai-edits/types.d.ts +155 -16
- package/dist/compare/compare.d.ts +1 -1
- package/dist/compare/compare.js +65 -16
- package/dist/compare/content-alignment.d.ts +5 -1
- package/dist/compare/content-alignment.js +52 -34
- package/dist/compare/content-types.d.ts +7 -0
- package/dist/compare/content.d.ts +4 -1
- package/dist/compare/content.js +6 -1
- package/dist/compare/formatting.js +2 -1
- package/dist/compare/inline-atoms.d.ts +21 -4
- package/dist/compare/inline-atoms.js +138 -16
- package/dist/compare/inline-provenance.js +1 -1
- package/dist/compare/plan.js +10 -5
- package/dist/compare/scenario.js +14 -3
- package/dist/compare/section-boundary-properties.js +1 -1
- package/dist/compare/types.d.ts +4 -2
- package/dist/compare/types.js +2 -1
- package/dist/compare/verification.d.ts +1 -1
- package/dist/compare/verification.js +15 -3
- package/dist/controller/committedLayoutDiff.d.ts +25 -0
- package/dist/controller/committedLayoutDiff.js +71 -0
- package/dist/controller/contentControlWidgetController.d.ts +1 -1
- package/dist/controller/folioEditor.d.ts +1 -1
- package/dist/controller/fontReadiness.d.ts +70 -3
- package/dist/controller/fontReadiness.js +100 -10
- package/dist/controller/headerFooterEditorManager.js +6 -1
- package/dist/controller/layoutPipeline.d.ts +12 -10
- package/dist/controller/layoutPipeline.js +65 -11
- package/dist/controller/layoutRunOptions.d.ts +24 -0
- package/dist/controller/layoutRunOptions.js +17 -0
- package/dist/controller/layoutScheduler.d.ts +19 -14
- package/dist/controller/layoutScheduler.js +15 -12
- package/dist/controller/layoutSession.d.ts +26 -2
- package/dist/controller/layoutSession.js +1 -1
- package/dist/controller/noteEditorManager.js +8 -3
- package/dist/document-operations.d.ts +11 -2
- package/dist/document-operations.js +230 -21
- package/dist/docx/altChunk.d.ts +8 -0
- package/dist/docx/altChunk.js +17 -0
- package/dist/docx/archiveInflation.d.ts +127 -0
- package/dist/docx/archiveInflation.js +181 -0
- package/dist/docx/attributeRemainder.d.ts +1 -1
- package/dist/docx/blockContentParser.d.ts +64 -1
- package/dist/docx/blockContentParser.js +17 -4
- package/dist/docx/blockCustomXmlShell.d.ts +7 -0
- package/dist/docx/blockCustomXmlShell.js +14 -0
- package/dist/docx/blockPlainText.js +7 -0
- package/dist/docx/commentAnchorIndex.js +1 -1
- package/dist/docx/commentRangeIntegrity.js +8 -3
- package/dist/docx/commentReferenceNormalization.js +1 -1
- package/dist/docx/commentReplyMarkers.js +20 -1
- package/dist/docx/compatibility.d.ts +1 -1
- package/dist/docx/compatibility.js +34 -13
- package/dist/docx/containerChildren.gen.d.ts +1 -1
- package/dist/docx/containerChildren.gen.js +1 -0
- package/dist/docx/documentParser.js +12 -12
- package/dist/docx/drawingIdNormalization.d.ts +3 -1
- package/dist/docx/drawingIdNormalization.js +6 -1
- package/dist/docx/ensureParaIds.js +119 -97
- package/dist/docx/footnoteParser.js +8 -4
- package/dist/docx/headerFooterParser.js +3 -3
- package/dist/docx/headerFooterReferenceNormalization.d.ts +20 -1
- package/dist/docx/headerFooterReferenceNormalization.js +52 -27
- package/dist/docx/hyperlinkParser.d.ts +1 -1
- package/dist/docx/index.d.ts +1 -1
- package/dist/docx/listNumberingInstances.d.ts +59 -0
- package/dist/docx/listNumberingInstances.js +249 -0
- package/dist/docx/metadataPrivacy.js +24 -1
- package/dist/docx/normalizeBaseDirection.js +2 -1
- package/dist/docx/noteReferenceMark.d.ts +15 -0
- package/dist/docx/noteReferenceMark.js +48 -0
- package/dist/docx/opaqueCarrier.d.ts +7 -0
- package/dist/docx/opaqueCarrier.js +38 -0
- package/dist/docx/packageParts.js +4 -1
- package/dist/docx/paragraphParser.js +96 -27
- package/dist/docx/paragraphPropertySource.d.ts +4 -2
- package/dist/docx/paragraphPropertySource.js +10 -2
- package/dist/docx/paragraphTraversal.js +1 -0
- package/dist/docx/parseWarningMessage.js +4 -1
- package/dist/docx/parser.js +175 -22
- package/dist/docx/rezip.js +31 -7
- package/dist/docx/sdtProperties.js +1 -1
- package/dist/docx/sdtPropertiesPatch.js +3 -0
- package/dist/docx/selectiveSave.js +16 -9
- package/dist/docx/selectiveXmlPatch.d.ts +3 -1
- package/dist/docx/selectiveXmlPatch.js +186 -39
- package/dist/docx/serializer/blockCustomXmlSerializer.d.ts +5 -0
- package/dist/docx/serializer/blockCustomXmlSerializer.js +4 -0
- package/dist/docx/serializer/documentSerializer.js +2 -0
- package/dist/docx/serializer/headerFooterSerializer.js +2 -0
- package/dist/docx/serializer/noteSerializer.js +3 -1
- package/dist/docx/serializer/paragraphSerializer.js +33 -9
- package/dist/docx/serializer/tableSerializer.js +25 -38
- package/dist/docx/server/boundedArchive.d.ts +8 -13
- package/dist/docx/server/boundedArchive.js +70 -59
- package/dist/docx/server/createBilingualDocument.js +3 -3
- package/dist/docx/server/extractDocxText.d.ts +8 -2
- package/dist/docx/server/extractDocxText.js +2 -2
- package/dist/docx/server/validateDocxConformance.d.ts +1 -1
- package/dist/docx/server/validateDocxConformance.js +1 -0
- package/dist/docx/tableParser.d.ts +157 -1
- package/dist/docx/tableParser.js +89 -10
- package/dist/docx/textBoxParser.js +1 -1
- package/dist/docx/unzip.d.ts +20 -2
- package/dist/docx/unzip.js +136 -25
- package/dist/docx/wordprocessingPrefixes.d.ts +78 -0
- package/dist/docx/wordprocessingPrefixes.js +286 -0
- package/dist/fonts/embeddedFonts.js +1 -1
- package/dist/i18n/messages/catalogs.gen.d.ts +170 -34
- package/dist/i18n/messages/catalogs.gen.js +187 -51
- package/dist/i18n/messages/messages.gen.d.ts +10 -2
- package/dist/internal/compare/inline-presentation.d.ts +2 -1
- package/dist/internal/compare/inline-presentation.js +11 -10
- package/dist/internal/headlessRevisionResolutionGuard.d.ts +2 -8
- package/dist/internal/headlessRevisionResolutionGuard.js +2 -11
- package/dist/internal/indexedPositionMap.d.ts +11 -0
- package/dist/internal/indexedPositionMap.js +42 -0
- package/dist/internal/pageBreakRunSourceDescendantIndex.js +2 -1
- package/dist/internal/revisionResolutionEdits.d.ts +13 -0
- package/dist/internal/revisionResolutionEdits.js +19 -0
- package/dist/internal/revisionResolutionInline.d.ts +24 -0
- package/dist/internal/{headlessRevisionResolution.js → revisionResolutionInline.js} +61 -43
- package/dist/internal/revisionResolutionStep.d.ts +34 -0
- package/dist/internal/revisionResolutionStep.js +282 -0
- package/dist/internal/revisionResolutionTracking.d.ts +11 -0
- package/dist/internal/revisionResolutionTracking.js +124 -0
- package/dist/internal/wholeStoryRevisionResolution.d.ts +56 -0
- package/dist/internal/wholeStoryRevisionResolution.js +600 -0
- package/dist/layout-bridge/convert/markupViewFlow.d.ts +20 -0
- package/dist/layout-bridge/convert/markupViewFlow.js +123 -0
- package/dist/layout-bridge/convert/tableConversion.js +1 -1
- package/dist/layout-bridge/convert/toFlowBlocks.js +10 -1
- package/dist/layout-engine/layoutInstrumentation.d.ts +9 -1
- package/dist/layout-engine/layoutInstrumentation.js +4 -1
- package/dist/layout-engine/measure/cache.d.ts +18 -1
- package/dist/layout-engine/measure/cache.js +31 -1
- package/dist/layout-engine/measure/font-metrics.worker.js +3 -7
- package/dist/layout-engine/measure/measureContainer.js +7 -47
- package/dist/layout-engine/measure/measureHelpers.d.ts +6 -1
- package/dist/layout-engine/measure/measureHelpers.js +22 -2
- package/dist/layout-engine/measure/measureParagraph.js +2 -2
- package/dist/layout-engine/measure/measureWorker.js +2 -3
- package/dist/layout-engine/measure/measureWorkerProtocol.d.ts +6 -7
- package/dist/layout-engine/measure/measureWorkerProtocol.js +1 -2
- package/dist/layout-engine/measure/paragraphMeasureShared.d.ts +12 -1
- package/dist/layout-engine/measure/paragraphMeasureShared.js +14 -1
- package/dist/layout-engine/types.d.ts +6 -0
- package/dist/layout-painter/renderPage.js +1 -0
- package/dist/layout-painter/renderParagraph.js +1 -1
- package/dist/managers/ContextMenuManager.js +5 -2
- package/dist/managers/types.d.ts +3 -0
- package/dist/markdown/escape.d.ts +2 -2
- package/dist/markdown/escape.js +4 -5
- package/dist/markdown/fromMarkdown.js +2 -1
- package/dist/markdown/internals.d.ts +11 -1
- package/dist/markdown/internals.js +24 -3
- package/dist/markdown/renderBlock.js +121 -25
- package/dist/markdown/renderParagraph.d.ts +13 -1
- package/dist/markdown/renderParagraph.js +85 -38
- package/dist/markdown/renderRuns.d.ts +10 -1
- package/dist/markdown/renderRuns.js +323 -69
- package/dist/markdown/renderTable.js +24 -12
- package/dist/markdown/trailers.js +2 -2
- package/dist/markdown/types.d.ts +29 -7
- package/dist/paged-layout/incrementalMeasure.d.ts +1 -2
- package/dist/paged-layout/incrementalMeasure.js +1 -9
- package/dist/paged-layout/transactionDirtyRange.d.ts +1 -3
- package/dist/paged-layout/transactionDirtyRange.js +29 -41
- package/dist/panel-layout.d.ts +83 -0
- package/dist/panel-layout.js +96 -0
- package/dist/prosemirror/anchoredTextBoxes.d.ts +37 -0
- package/dist/prosemirror/anchoredTextBoxes.js +156 -0
- package/dist/prosemirror/attrs/index.d.ts +6 -2
- package/dist/prosemirror/attrs/index.js +172 -1
- package/dist/prosemirror/clearRunColor.d.ts +6 -0
- package/dist/prosemirror/clearRunColor.js +46 -0
- package/dist/prosemirror/commands/comments.d.ts +7 -8
- package/dist/prosemirror/commands/comments.js +281 -212
- package/dist/prosemirror/commands/contentControls.d.ts +1 -1
- package/dist/prosemirror/commands/formatPainter.d.ts +1 -1
- package/dist/prosemirror/commands/formatPainter.js +1 -1
- package/dist/prosemirror/commands/formatting.d.ts +1 -1
- package/dist/prosemirror/commands/hyperlink.js +2 -1
- package/dist/prosemirror/commands/index.d.ts +2 -2
- package/dist/prosemirror/commands/index.js +2 -2
- package/dist/prosemirror/commands/paragraph.d.ts +7 -1
- package/dist/prosemirror/commands/paragraph.js +9 -1
- package/dist/prosemirror/commands/paragraphBookmarkJoin.d.ts +13 -0
- package/dist/prosemirror/commands/paragraphBookmarkJoin.js +22 -0
- package/dist/prosemirror/commands/pastePlainText.d.ts +1 -1
- package/dist/prosemirror/commands/propertyChangeScope.d.ts +3 -2
- package/dist/prosemirror/commands/propertyChangeScope.js +24 -3
- package/dist/prosemirror/commands/resolveAllTableChanges.d.ts +40 -0
- package/dist/prosemirror/commands/resolveAllTableChanges.js +620 -0
- package/dist/prosemirror/commands/resolveNodePropertyChangeAttrs.d.ts +15 -0
- package/dist/prosemirror/commands/resolveNodePropertyChangeAttrs.js +46 -0
- package/dist/prosemirror/commands/resolveParagraphProperties.d.ts +16 -0
- package/dist/prosemirror/commands/resolveParagraphProperties.js +73 -0
- package/dist/prosemirror/commands/sectionBreak.js +2 -1
- package/dist/prosemirror/commands/tableCellMergeResolution.d.ts +15 -2
- package/dist/prosemirror/commands/tableCellMergeResolution.js +23 -7
- package/dist/prosemirror/containerFinalParagraph.d.ts +11 -5
- package/dist/prosemirror/containerFinalParagraph.js +7 -6
- package/dist/prosemirror/contentControlRevisions.d.ts +1 -1
- package/dist/prosemirror/conversion/fromProseDoc.d.ts +2 -13
- package/dist/prosemirror/conversion/fromProseDoc.js +177 -605
- package/dist/prosemirror/conversion/toProseDoc.d.ts +4 -11
- package/dist/prosemirror/conversion/toProseDoc.js +70 -154
- package/dist/prosemirror/documentSchema.d.ts +8 -0
- package/dist/prosemirror/documentSchema.js +18 -0
- package/dist/prosemirror/emptyFieldResultRuns.d.ts +18 -0
- package/dist/prosemirror/emptyFieldResultRuns.js +33 -0
- package/dist/prosemirror/extensions/ExtensionManager.d.ts +1 -1
- package/dist/prosemirror/extensions/ExtensionManager.js +3 -1
- package/dist/prosemirror/extensions/StarterKit.js +5 -1
- package/dist/prosemirror/extensions/core/DocExtension.js +1 -1
- package/dist/prosemirror/extensions/core/ParagraphExtension.js +116 -63
- package/dist/prosemirror/extensions/features/BaseKeymapExtension.js +4 -1
- package/dist/prosemirror/extensions/features/EmptyParagraphFormatExtension.js +24 -3
- package/dist/prosemirror/extensions/features/JoinedRunStyleExtension.d.ts +20 -0
- package/dist/prosemirror/extensions/features/JoinedRunStyleExtension.js +43 -0
- package/dist/prosemirror/extensions/features/ListExtension.js +167 -128
- package/dist/prosemirror/extensions/features/ParaIdAllocatorExtension.d.ts +19 -2
- package/dist/prosemirror/extensions/features/ParaIdAllocatorExtension.js +33 -20
- package/dist/prosemirror/extensions/features/ParagraphChangeTrackerExtension.d.ts +31 -2
- package/dist/prosemirror/extensions/features/ParagraphChangeTrackerExtension.js +270 -99
- package/dist/prosemirror/extensions/features/PasteCleanupExtension.js +3 -2
- package/dist/prosemirror/extensions/features/pasteCleanup.js +2 -1
- package/dist/prosemirror/extensions/features/pastedHeadingStyles.js +1 -1
- package/dist/prosemirror/extensions/features/pastedHtmlLists.d.ts +12 -0
- package/dist/prosemirror/extensions/features/pastedHtmlLists.js +124 -0
- package/dist/prosemirror/extensions/marks/FootnoteRefExtension.js +33 -11
- package/dist/prosemirror/extensions/marks/HyperlinkExtension.js +8 -4
- package/dist/prosemirror/extensions/marks/RunIdentityExtension.d.ts +21 -18
- package/dist/prosemirror/extensions/marks/RunIdentityExtension.js +37 -17
- package/dist/prosemirror/extensions/marks/StrikeExtension.js +2 -2
- package/dist/prosemirror/extensions/marks/SubscriptExtension.js +2 -2
- package/dist/prosemirror/extensions/marks/SuperscriptExtension.js +2 -2
- package/dist/prosemirror/extensions/marks/TextColorExtension.js +4 -3
- package/dist/prosemirror/extensions/marks/markUtils.d.ts +15 -8
- package/dist/prosemirror/extensions/marks/markUtils.js +25 -10
- package/dist/prosemirror/extensions/marks/noteReferenceDeletion.d.ts +12 -0
- package/dist/prosemirror/extensions/marks/noteReferenceDeletion.js +46 -0
- package/dist/prosemirror/extensions/nodes/BlockCustomXmlExtension.d.ts +6 -0
- package/dist/prosemirror/extensions/nodes/BlockCustomXmlExtension.js +52 -0
- package/dist/prosemirror/extensions/nodes/CommentReferenceExtension.js +2 -2
- package/dist/prosemirror/extensions/nodes/FieldExtension.d.ts +3 -3
- package/dist/prosemirror/extensions/nodes/FieldExtension.js +50 -15
- package/dist/prosemirror/extensions/nodes/HardBreakExtension.js +5 -3
- package/dist/prosemirror/extensions/nodes/PreservedBlockExtension.js +4 -1
- package/dist/prosemirror/extensions/nodes/TableExtension.d.ts +1 -1
- package/dist/prosemirror/extensions/nodes/TableExtension.js +121 -226
- package/dist/prosemirror/extensions/types.d.ts +11 -1
- package/dist/prosemirror/findReplaceSelection.js +1 -1
- package/dist/prosemirror/hyperlinkRemoval.d.ts +9 -0
- package/dist/prosemirror/hyperlinkRemoval.js +129 -0
- package/dist/prosemirror/index.d.ts +5 -3
- package/dist/prosemirror/index.js +5 -3
- package/dist/prosemirror/indexedNodeLookup.d.ts +17 -0
- package/dist/prosemirror/indexedNodeLookup.js +103 -0
- package/dist/prosemirror/listAutoformatMarkers.d.ts +19 -0
- package/dist/prosemirror/listAutoformatMarkers.js +98 -0
- package/dist/prosemirror/listInstanceReferences.d.ts +12 -0
- package/dist/prosemirror/listInstanceReferences.js +72 -0
- package/dist/prosemirror/listLabels.d.ts +24 -0
- package/dist/prosemirror/listLabels.js +111 -0
- package/dist/prosemirror/listNumbering.d.ts +92 -0
- package/dist/prosemirror/listNumbering.js +330 -0
- package/dist/prosemirror/listRendering.d.ts +27 -0
- package/dist/prosemirror/listRendering.js +27 -0
- package/dist/prosemirror/listRenderingAttrs.d.ts +11 -2
- package/dist/prosemirror/listRenderingAttrs.js +8 -1
- package/dist/prosemirror/markupViewNotes.d.ts +8 -0
- package/dist/prosemirror/markupViewNotes.js +49 -0
- package/dist/prosemirror/markupViewProjection.d.ts +97 -0
- package/dist/prosemirror/markupViewProjection.js +88 -0
- package/dist/prosemirror/noteReferenceReview.d.ts +77 -0
- package/dist/prosemirror/noteReferenceReview.js +332 -0
- package/dist/prosemirror/numberingAttr.d.ts +9 -1
- package/dist/prosemirror/numberingAttr.js +9 -1
- package/dist/prosemirror/outlineLevelAttr.js +1 -1
- package/dist/prosemirror/paragraphIndentation.d.ts +10 -1
- package/dist/prosemirror/paragraphIndentation.js +32 -7
- package/dist/prosemirror/paragraphMarkJoin.d.ts +21 -0
- package/dist/prosemirror/paragraphMarkJoin.js +26 -0
- package/dist/prosemirror/paragraphPropertyCarry.d.ts +64 -0
- package/dist/prosemirror/paragraphPropertyCarry.js +158 -0
- package/dist/prosemirror/plugins/createDocScanPlugin.d.ts +1 -1
- package/dist/prosemirror/plugins/documentNumbering.d.ts +27 -1
- package/dist/prosemirror/plugins/documentNumbering.js +97 -11
- package/dist/prosemirror/plugins/documentStyleState.d.ts +26 -0
- package/dist/prosemirror/plugins/documentStyleState.js +32 -0
- package/dist/prosemirror/plugins/documentStyles.d.ts +3 -13
- package/dist/prosemirror/plugins/documentStyles.js +67 -17
- package/dist/prosemirror/plugins/index.d.ts +2 -1
- package/dist/prosemirror/plugins/index.js +2 -1
- package/dist/prosemirror/plugins/paragraphStyleResolution.d.ts +15 -0
- package/dist/prosemirror/plugins/paragraphStyleResolution.js +230 -0
- package/dist/prosemirror/plugins/suggestionMode.d.ts +27 -3
- package/dist/prosemirror/plugins/suggestionMode.js +490 -63
- package/dist/prosemirror/plugins/templateDirectives.d.ts +1 -1
- package/dist/prosemirror/plugins/transactionInvariants.d.ts +32 -0
- package/dist/prosemirror/plugins/transactionInvariants.js +86 -0
- package/dist/prosemirror/positionSweep.d.ts +24 -0
- package/dist/prosemirror/positionSweep.js +222 -0
- package/dist/prosemirror/rebaseParagraphRunFormatting.d.ts +23 -3
- package/dist/prosemirror/rebaseParagraphRunFormatting.js +39 -13
- package/dist/prosemirror/rebaseParagraphRuns.d.ts +36 -0
- package/dist/prosemirror/rebaseParagraphRuns.js +99 -0
- package/dist/prosemirror/rejoinRunCarriers.d.ts +1 -1
- package/dist/prosemirror/replacedAnnotations.d.ts +33 -1
- package/dist/prosemirror/replacedAnnotations.js +170 -1
- package/dist/prosemirror/runFormattingFromMarks.d.ts +18 -0
- package/dist/prosemirror/runFormattingFromMarks.js +567 -0
- package/dist/prosemirror/runFormattingInlineCarriers.d.ts +1 -1
- package/dist/prosemirror/runFormattingReconciliation.js +10 -9
- package/dist/prosemirror/schema/index.d.ts +2 -2
- package/dist/prosemirror/schema/index.js +3 -0
- package/dist/prosemirror/schema/nodes.d.ts +44 -11
- package/dist/prosemirror/sectionMarkEdits.d.ts +20 -0
- package/dist/prosemirror/sectionMarkEdits.js +59 -0
- package/dist/prosemirror/storyListNumbering.d.ts +17 -0
- package/dist/prosemirror/storyListNumbering.js +102 -0
- package/dist/prosemirror/styles/paragraphStyleCascade.d.ts +59 -0
- package/dist/prosemirror/styles/paragraphStyleCascade.js +145 -0
- package/dist/prosemirror/styles/resolvedStyleAttrs.d.ts +21 -2
- package/dist/prosemirror/styles/resolvedStyleAttrs.js +38 -1
- package/dist/prosemirror/styles/tableStyleRegions.d.ts +31 -0
- package/dist/prosemirror/styles/tableStyleRegions.js +55 -0
- package/dist/prosemirror/tableCellPaste.d.ts +74 -0
- package/dist/prosemirror/tableCellPaste.js +525 -0
- package/dist/prosemirror/tableGridMutation.d.ts +87 -2
- package/dist/prosemirror/tableGridMutation.js +255 -2
- package/dist/prosemirror/tableRunIn.d.ts +51 -0
- package/dist/prosemirror/tableRunIn.js +165 -0
- package/dist/prosemirror/textInput.js +11 -2
- package/dist/prosemirror/trackedRevisionPath.d.ts +17 -0
- package/dist/prosemirror/trackedRevisionPath.js +32 -0
- package/dist/prosemirror/validation.js +5 -1
- package/dist/redline.js +93 -9
- package/dist/render-dom/BodySelectionOverlay.d.ts +4 -1
- package/dist/render-dom/BodySelectionOverlay.js +3 -2
- package/dist/server.d.ts +2 -2
- package/dist/utils/findReplace.js +2 -2
- package/dist/utils/mergeDocumentContent.js +1 -1
- package/dist/utils/noteReferenceLabels.d.ts +36 -0
- package/dist/utils/noteReferenceLabels.js +32 -0
- package/dist/utils/replaceText.js +1 -1
- package/dist/version-comparison.d.ts +1 -0
- package/dist/version-comparison.js +1 -0
- package/package.json +6 -5
- package/dist/internal/headlessRevisionResolution.d.ts +0 -23
|
@@ -374,6 +374,7 @@ const readPreservedBlockAttrs = (node) => {
|
|
|
374
374
|
const issues = [];
|
|
375
375
|
expectNodeType(node, "preservedBlock", issues);
|
|
376
376
|
requiredString(attrs, "xml", "preservedBlock.attrs.xml", issues);
|
|
377
|
+
optionalString(attrs, "readerText", "preservedBlock.attrs.readerText", issues);
|
|
377
378
|
return attrsResult(attrs, issues);
|
|
378
379
|
};
|
|
379
380
|
const expectPreservedBlockAttrs = (node) => expectCachedNodeAttrs(node, preservedBlockAttrsCache, readPreservedBlockAttrs, "preservedBlock attrs");
|
|
@@ -402,6 +403,7 @@ const readTableAttrsUncached = (node) => {
|
|
|
402
403
|
optionalRecord(attrs, "_originalFormatting", "table.attrs._originalFormatting", issues);
|
|
403
404
|
optionalPositionedBookmarks(attrs, "table.attrs._bookmarks", issues);
|
|
404
405
|
optionalTablePreservedMarkup(attrs, "_preserved", "table.attrs._preserved", issues);
|
|
406
|
+
optionalTableContentCarriers(attrs, "carrierStack", "table.attrs.carrierStack", issues);
|
|
405
407
|
return attrsResult(attrs, issues);
|
|
406
408
|
};
|
|
407
409
|
const readTableAttrs = memoizeNodeAttrsReader(readTableAttrsUncached);
|
|
@@ -426,6 +428,7 @@ const readTableRowAttrsUncached = (node) => {
|
|
|
426
428
|
optionalPreservedAttributes(attrs, "_preservedAttributes", "tableRow.attrs._preservedAttributes", issues);
|
|
427
429
|
optionalPositionedBookmarks(attrs, "tableRow.attrs._bookmarks", issues);
|
|
428
430
|
optionalContentControls(attrs, "tableRow.attrs.contentControls", issues);
|
|
431
|
+
optionalTableContentCarriers(attrs, "carrierStack", "tableRow.attrs.carrierStack", issues);
|
|
429
432
|
optionalTablePreservedMarkup(attrs, "_preserved", "tableRow.attrs._preserved", issues);
|
|
430
433
|
return attrsResult(attrs, issues);
|
|
431
434
|
};
|
|
@@ -461,6 +464,7 @@ const readTableCellAttrs = (node) => {
|
|
|
461
464
|
optionalRecord(attrs, "_originalFormatting", "tableCell.attrs._originalFormatting", issues);
|
|
462
465
|
optionalTableCellRevision(attrs, issues);
|
|
463
466
|
optionalContentControls(attrs, "tableCell.attrs.contentControls", issues);
|
|
467
|
+
optionalTableContentCarriers(attrs, "carrierStack", "tableCell.attrs.carrierStack", issues);
|
|
464
468
|
optionalBoolean(attrs, "_preserveVMergeRestart", "tableCell.attrs._preserveVMergeRestart", issues);
|
|
465
469
|
return attrsResult(attrs, issues);
|
|
466
470
|
};
|
|
@@ -529,6 +533,81 @@ const readImageAttrs = (node) => {
|
|
|
529
533
|
return attrsResult(attrs, issues);
|
|
530
534
|
};
|
|
531
535
|
const expectImageAttrs = (node) => expectCachedNodeAttrs(node, imageAttrsCache, readImageAttrs, "image attrs");
|
|
536
|
+
const validateEmptyFieldResultRuns = (value, issues) => {
|
|
537
|
+
if (!Array.isArray(value) || value.length === 0) {
|
|
538
|
+
issues.push({
|
|
539
|
+
path: "field.attrs._docxEmptyResultRuns",
|
|
540
|
+
message: "Expected a nonempty array of empty runs."
|
|
541
|
+
});
|
|
542
|
+
return;
|
|
543
|
+
}
|
|
544
|
+
for (const [index, run] of value.entries()) {
|
|
545
|
+
const path = `field.attrs._docxEmptyResultRuns[${index}]`;
|
|
546
|
+
if (!isRecord(run) || run["type"] !== "run") {
|
|
547
|
+
issues.push({
|
|
548
|
+
path,
|
|
549
|
+
message: "Expected a run."
|
|
550
|
+
});
|
|
551
|
+
continue;
|
|
552
|
+
}
|
|
553
|
+
const content = run["content"];
|
|
554
|
+
if (!Array.isArray(content) || !content.every((item) => isRecord(item) && item["type"] === "text" && item["text"] === "")) issues.push({
|
|
555
|
+
path: `${path}.content`,
|
|
556
|
+
message: "Expected only empty text."
|
|
557
|
+
});
|
|
558
|
+
const formatting = run["formatting"];
|
|
559
|
+
if (formatting !== void 0) if (!isRecord(formatting)) issues.push({
|
|
560
|
+
path: `${path}.formatting`,
|
|
561
|
+
message: "Expected formatting object."
|
|
562
|
+
});
|
|
563
|
+
else validateTextFormatting(formatting, `${path}.formatting`, issues);
|
|
564
|
+
optionalPropertyChanges(run, "propertyChanges", `${path}.propertyChanges`, issues, ["runPropertyChange"]);
|
|
565
|
+
optionalPreservedAttributes(run, "preservedAttributes", `${path}.preservedAttributes`, issues);
|
|
566
|
+
}
|
|
567
|
+
};
|
|
568
|
+
const isValidEmptyFieldResultRuns = (value) => {
|
|
569
|
+
const issues = [];
|
|
570
|
+
validateEmptyFieldResultRuns(value, issues);
|
|
571
|
+
return issues.length === 0;
|
|
572
|
+
};
|
|
573
|
+
const isFieldCodeContent = (value) => {
|
|
574
|
+
if (!isRecord(value)) return false;
|
|
575
|
+
switch (value["type"]) {
|
|
576
|
+
case "text":
|
|
577
|
+
case "instrText": return typeof value["text"] === "string";
|
|
578
|
+
case "fieldChar": return value["charType"] === "begin" || value["charType"] === "separate" || value["charType"] === "end";
|
|
579
|
+
case "preservedXml": return typeof value["xml"] === "string" && isSafePreservedChildXml(value["xml"]) && typeof value["text"] === "string";
|
|
580
|
+
case "symbol": return typeof value["font"] === "string" && typeof value["char"] === "string";
|
|
581
|
+
case "footnoteRef":
|
|
582
|
+
case "endnoteRef": return typeof value["id"] === "number";
|
|
583
|
+
case "drawing": return isRecord(value["image"]);
|
|
584
|
+
case "shape": return isRecord(value["shape"]);
|
|
585
|
+
case "tab":
|
|
586
|
+
case "break":
|
|
587
|
+
case "softHyphen":
|
|
588
|
+
case "noBreakHyphen":
|
|
589
|
+
case "renderedPageBreak": return true;
|
|
590
|
+
default: return false;
|
|
591
|
+
}
|
|
592
|
+
};
|
|
593
|
+
const isValidFieldCode = (value) => {
|
|
594
|
+
if (!isRecord(value) || typeof value["instruction"] !== "string") return false;
|
|
595
|
+
const runs = value["runs"];
|
|
596
|
+
if (!Array.isArray(runs) || runs.length === 0) return false;
|
|
597
|
+
const issues = [];
|
|
598
|
+
for (const [index, run] of runs.entries()) {
|
|
599
|
+
if (!isRecord(run) || run["type"] !== "run" || !Array.isArray(run["content"])) return false;
|
|
600
|
+
if (!run["content"].every(isFieldCodeContent)) return false;
|
|
601
|
+
const path = `field.attrs._docxFieldCode.runs[${index}]`;
|
|
602
|
+
if (run["formatting"] !== void 0) {
|
|
603
|
+
if (!isRecord(run["formatting"])) return false;
|
|
604
|
+
validateTextFormatting(run["formatting"], `${path}.formatting`, issues);
|
|
605
|
+
}
|
|
606
|
+
optionalPropertyChanges(run, "propertyChanges", `${path}.propertyChanges`, issues, ["runPropertyChange"]);
|
|
607
|
+
optionalPreservedAttributes(run, "preservedAttributes", `${path}.preservedAttributes`, issues);
|
|
608
|
+
}
|
|
609
|
+
return issues.length === 0;
|
|
610
|
+
};
|
|
532
611
|
const readFieldAttrs = (node) => {
|
|
533
612
|
const attrs = attrsRecord(node.attrs);
|
|
534
613
|
const issues = [];
|
|
@@ -541,6 +620,34 @@ const readFieldAttrs = (node) => {
|
|
|
541
620
|
optionalBoolean(attrs, "fldLock", "field.attrs.fldLock", issues);
|
|
542
621
|
optionalBoolean(attrs, "dirty", "field.attrs.dirty", issues);
|
|
543
622
|
optionalBoolean(attrs, "fieldResultIsFallback", "field.attrs.fieldResultIsFallback", issues);
|
|
623
|
+
optionalString(attrs, "formFieldDataXml", "field.attrs.formFieldDataXml", issues);
|
|
624
|
+
if (attrs["fieldKind"] === "simple") {
|
|
625
|
+
if (attrs["fieldResultIsFallback"] !== void 0 && attrs["fieldResultIsFallback"] !== null) issues.push({
|
|
626
|
+
path: "field.attrs.fieldResultIsFallback",
|
|
627
|
+
message: "Simple fields cannot have a synthesized complex-field result."
|
|
628
|
+
});
|
|
629
|
+
if (attrs["formFieldDataXml"] !== void 0 && attrs["formFieldDataXml"] !== null) issues.push({
|
|
630
|
+
path: "field.attrs.formFieldDataXml",
|
|
631
|
+
message: "Simple fields cannot carry complex-field form data."
|
|
632
|
+
});
|
|
633
|
+
}
|
|
634
|
+
const emptyResultRuns = attrs["_docxEmptyResultRuns"];
|
|
635
|
+
if (emptyResultRuns !== void 0 && emptyResultRuns !== null) validateEmptyFieldResultRuns(emptyResultRuns, issues);
|
|
636
|
+
const fieldCode = attrs["_docxFieldCode"];
|
|
637
|
+
if (fieldCode !== void 0 && fieldCode !== null && !isValidFieldCode(fieldCode)) issues.push({
|
|
638
|
+
path: "field.attrs._docxFieldCode",
|
|
639
|
+
message: "Expected source field code runs."
|
|
640
|
+
});
|
|
641
|
+
if (attrs["fieldKind"] === "simple") {
|
|
642
|
+
if (fieldCode !== void 0 && fieldCode !== null) issues.push({
|
|
643
|
+
path: "field.attrs._docxFieldCode",
|
|
644
|
+
message: "Simple fields cannot carry complex-field code runs."
|
|
645
|
+
});
|
|
646
|
+
if (attrs["fieldResultIsFallback"] !== void 0 && attrs["fieldResultIsFallback"] !== null) issues.push({
|
|
647
|
+
path: "field.attrs.fieldResultIsFallback",
|
|
648
|
+
message: "Simple fields cannot have a synthesized complex-field result."
|
|
649
|
+
});
|
|
650
|
+
}
|
|
544
651
|
return attrsResult(attrs, issues);
|
|
545
652
|
};
|
|
546
653
|
const expectFieldAttrs = (node) => expectCachedNodeAttrs(node, fieldAttrsCache, readFieldAttrs, "field attrs");
|
|
@@ -563,6 +670,17 @@ const readSdtAttrs = (node) => {
|
|
|
563
670
|
};
|
|
564
671
|
const expectSdtAttrs = (node) => expectCachedNodeAttrs(node, sdtAttrsCache, readSdtAttrs, "sdt attrs");
|
|
565
672
|
const blockSdtAttrsCache = /* @__PURE__ */ new WeakMap();
|
|
673
|
+
const blockCustomXmlAttrsCache = /* @__PURE__ */ new WeakMap();
|
|
674
|
+
const readBlockCustomXmlAttrs = (node) => {
|
|
675
|
+
const attrs = attrsRecord(node.attrs);
|
|
676
|
+
const issues = [];
|
|
677
|
+
expectNodeType(node, "blockCustomXml", issues);
|
|
678
|
+
requiredString(attrs, "openingXml", "blockCustomXml.attrs.openingXml", issues);
|
|
679
|
+
requiredString(attrs, "closingXml", "blockCustomXml.attrs.closingXml", issues);
|
|
680
|
+
optionalBoolean(attrs, "_originallyEmpty", "blockCustomXml.attrs._originallyEmpty", issues);
|
|
681
|
+
return attrsResult(attrs, issues);
|
|
682
|
+
};
|
|
683
|
+
const expectBlockCustomXmlAttrs = (node) => expectCachedNodeAttrs(node, blockCustomXmlAttrsCache, readBlockCustomXmlAttrs, "blockCustomXml attrs");
|
|
566
684
|
const readBlockSdtAttrs = (node) => {
|
|
567
685
|
const attrs = attrsRecord(node.attrs);
|
|
568
686
|
const issues = [];
|
|
@@ -1724,6 +1842,57 @@ const optionalContentControls = (attrs, path, issues) => {
|
|
|
1724
1842
|
requiredString(entry, "sdtType", `${entryPath}.sdtType`, issues);
|
|
1725
1843
|
}
|
|
1726
1844
|
};
|
|
1845
|
+
const optionalTableContentCarriers = (attrs, key, path, issues) => {
|
|
1846
|
+
const value = attrs[key];
|
|
1847
|
+
if (value === void 0 || value === null) return;
|
|
1848
|
+
if (!Array.isArray(value)) {
|
|
1849
|
+
issues.push({
|
|
1850
|
+
path,
|
|
1851
|
+
message: "Expected an array."
|
|
1852
|
+
});
|
|
1853
|
+
return;
|
|
1854
|
+
}
|
|
1855
|
+
for (const [index, carrier] of value.entries()) {
|
|
1856
|
+
const carrierPath = `${path}[${index}]`;
|
|
1857
|
+
if (!isRecord(carrier)) {
|
|
1858
|
+
issues.push({
|
|
1859
|
+
path: carrierPath,
|
|
1860
|
+
message: "Expected an object."
|
|
1861
|
+
});
|
|
1862
|
+
continue;
|
|
1863
|
+
}
|
|
1864
|
+
if (carrier["type"] === "customXml") {
|
|
1865
|
+
const wrapper = carrier["wrapper"];
|
|
1866
|
+
if (!isRecord(wrapper)) {
|
|
1867
|
+
issues.push({
|
|
1868
|
+
path: `${carrierPath}.wrapper`,
|
|
1869
|
+
message: "Expected an object."
|
|
1870
|
+
});
|
|
1871
|
+
continue;
|
|
1872
|
+
}
|
|
1873
|
+
requiredNumber(wrapper, "id", `${carrierPath}.wrapper.id`, issues);
|
|
1874
|
+
requiredString(wrapper, "openingXml", `${carrierPath}.wrapper.openingXml`, issues);
|
|
1875
|
+
requiredString(wrapper, "closingXml", `${carrierPath}.wrapper.closingXml`, issues);
|
|
1876
|
+
continue;
|
|
1877
|
+
}
|
|
1878
|
+
if (carrier["type"] === "sdt") {
|
|
1879
|
+
const properties = carrier["properties"];
|
|
1880
|
+
if (!isRecord(properties)) {
|
|
1881
|
+
issues.push({
|
|
1882
|
+
path: `${carrierPath}.properties`,
|
|
1883
|
+
message: "Expected an object."
|
|
1884
|
+
});
|
|
1885
|
+
continue;
|
|
1886
|
+
}
|
|
1887
|
+
requiredString(properties, "sdtType", `${carrierPath}.properties.sdtType`, issues);
|
|
1888
|
+
continue;
|
|
1889
|
+
}
|
|
1890
|
+
issues.push({
|
|
1891
|
+
path: `${carrierPath}.type`,
|
|
1892
|
+
message: "Expected \"customXml\" or \"sdt\"."
|
|
1893
|
+
});
|
|
1894
|
+
}
|
|
1895
|
+
};
|
|
1727
1896
|
/** A table sink entry may itself sit inside a row- or cell-level control. */
|
|
1728
1897
|
const optionalTablePreservedMarkup = (attrs, key, path, issues) => {
|
|
1729
1898
|
optionalPreservedMarkup(attrs, key, path, issues);
|
|
@@ -1821,6 +1990,7 @@ const optionalPreservedMarkup = (attrs, key, path, issues) => {
|
|
|
1821
1990
|
}
|
|
1822
1991
|
requiredNumber(entry, "index", `${entryPath}.index`, issues);
|
|
1823
1992
|
requiredString(entry, "xml", `${entryPath}.xml`, issues);
|
|
1993
|
+
optionalTableContentCarriers(entry, "carrierStack", `${entryPath}.carrierStack`, issues);
|
|
1824
1994
|
const xml = entry["xml"];
|
|
1825
1995
|
if (typeof xml === "string" && !isSafePreservedChildXml(xml)) issues.push({
|
|
1826
1996
|
path: `${entryPath}.xml`,
|
|
@@ -1855,6 +2025,7 @@ const optionalPositionedBookmarks = (attrs, path, issues) => {
|
|
|
1855
2025
|
continue;
|
|
1856
2026
|
}
|
|
1857
2027
|
validateNonNegativeSafeInteger(entry["index"], `${entryPath}.index`, issues);
|
|
2028
|
+
optionalTableContentCarriers(entry, "carrierStack", `${entryPath}.carrierStack`, issues);
|
|
1858
2029
|
const marker = entry["marker"];
|
|
1859
2030
|
if (!isRecord(marker)) {
|
|
1860
2031
|
issues.push({
|
|
@@ -2839,4 +3010,4 @@ const optionalEmptyHyperlinkArray = (value, issues) => {
|
|
|
2839
3010
|
}
|
|
2840
3011
|
};
|
|
2841
3012
|
//#endregion
|
|
2842
|
-
export { expectBlockSdtAttrs, expectCharacterSpacingMarkAttrs, expectCharacterStyleMarkAttrs, expectCommentMarkAttrs, expectEmphasisMarkAttrs, expectFieldAttrs, expectFontFamilyMarkAttrs, expectFontSizeMarkAttrs, expectFootnoteRefMarkAttrs, expectHardBreakAttrs, expectHighlightMarkAttrs, expectHyperlinkMarkAttrs, expectImageAttrs, expectInlineWrapperMarkAttrs, expectLanguageMarkAttrs, expectMathAttrs, expectPageBreakRunAttrs, expectParagraphAttrs, expectPreservedBlockAttrs, expectPreservedXmlAttrs, expectRunFormattingOverrideMarkAttrs, expectRunIdentityMarkAttrs, expectRunPropertyChangeMarkAttrs, expectRunShadingMarkAttrs, expectSdtAttrs, expectShapeAttrs, expectStrikeMarkAttrs, expectSymbolAttrs, expectTabAttrs, expectTableAttrs, expectTableCellAttrs, expectTableRowAttrs, expectTextBoxAttrs, expectTextColorMarkAttrs, expectTextEffectMarkAttrs, expectTrackedChangeMarkAttrs, expectUnderlineMarkAttrs, isTrackedRevisionAncestorArray, mergeImageAttrs, mergeParagraphAttrs, mergeTableAttrs, mergeTableCellAttrs, mergeTableRowAttrs, readBlockSdtAttrs, readCharacterSpacingMarkAttrs, readCharacterStyleMarkAttrs, readCommentMarkAttrs, readEmphasisMarkAttrs, readFieldAttrs, readFontFamilyMarkAttrs, readFontSizeMarkAttrs, readFootnoteRefMarkAttrs, readHardBreakAttrs, readHighlightMarkAttrs, readHyperlinkMarkAttrs, readImageAttrs, readInlineWrapperMarkAttrs, readInlineWrapperStack, readLanguageMarkAttrs, readMathAttrs, readPageBreakRunAttrs, readParagraphAttrs, readPreservedBlockAttrs, readPreservedXmlAttrs, readRunFormattingOverrideMarkAttrs, readRunIdentityMarkAttrs, readRunPropertyChangeMarkAttrs, readRunShadingMarkAttrs, readSdtAttrs, readShapeAttrs, readStrikeMarkAttrs, readSymbolAttrs, readTabAttrs, readTableAttrs, readTableCellAttrs, readTableRowAttrs, readTextBoxAttrs, readTextColorMarkAttrs, readTextEffectMarkAttrs, readTrackedChangeMarkAttrs, readUnderlineMarkAttrs };
|
|
3013
|
+
export { expectBlockCustomXmlAttrs, expectBlockSdtAttrs, expectCharacterSpacingMarkAttrs, expectCharacterStyleMarkAttrs, expectCommentMarkAttrs, expectEmphasisMarkAttrs, expectFieldAttrs, expectFontFamilyMarkAttrs, expectFontSizeMarkAttrs, expectFootnoteRefMarkAttrs, expectHardBreakAttrs, expectHighlightMarkAttrs, expectHyperlinkMarkAttrs, expectImageAttrs, expectInlineWrapperMarkAttrs, expectLanguageMarkAttrs, expectMathAttrs, expectPageBreakRunAttrs, expectParagraphAttrs, expectPreservedBlockAttrs, expectPreservedXmlAttrs, expectRunFormattingOverrideMarkAttrs, expectRunIdentityMarkAttrs, expectRunPropertyChangeMarkAttrs, expectRunShadingMarkAttrs, expectSdtAttrs, expectShapeAttrs, expectStrikeMarkAttrs, expectSymbolAttrs, expectTabAttrs, expectTableAttrs, expectTableCellAttrs, expectTableRowAttrs, expectTextBoxAttrs, expectTextColorMarkAttrs, expectTextEffectMarkAttrs, expectTrackedChangeMarkAttrs, expectUnderlineMarkAttrs, isTrackedRevisionAncestorArray, isValidEmptyFieldResultRuns, isValidFieldCode, mergeImageAttrs, mergeParagraphAttrs, mergeTableAttrs, mergeTableCellAttrs, mergeTableRowAttrs, readBlockCustomXmlAttrs, readBlockSdtAttrs, readCharacterSpacingMarkAttrs, readCharacterStyleMarkAttrs, readCommentMarkAttrs, readEmphasisMarkAttrs, readFieldAttrs, readFontFamilyMarkAttrs, readFontSizeMarkAttrs, readFootnoteRefMarkAttrs, readHardBreakAttrs, readHighlightMarkAttrs, readHyperlinkMarkAttrs, readImageAttrs, readInlineWrapperMarkAttrs, readInlineWrapperStack, readLanguageMarkAttrs, readMathAttrs, readPageBreakRunAttrs, readParagraphAttrs, readPreservedBlockAttrs, readPreservedXmlAttrs, readRunFormattingOverrideMarkAttrs, readRunIdentityMarkAttrs, readRunPropertyChangeMarkAttrs, readRunShadingMarkAttrs, readSdtAttrs, readShapeAttrs, readStrikeMarkAttrs, readSymbolAttrs, readTabAttrs, readTableAttrs, readTableCellAttrs, readTableRowAttrs, readTextBoxAttrs, readTextColorMarkAttrs, readTextEffectMarkAttrs, readTrackedChangeMarkAttrs, readUnderlineMarkAttrs };
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { getDocumentStyleResolver } from "./plugins/documentStyleState.js";
|
|
2
|
+
import { applyMarksToRunFormattingRepresentation, selectRunFormattingCarrierRepresentations } from "./runFormattingInlineCarriers.js";
|
|
3
|
+
import { readAuthoredRunFormatting, reconcileRunFormattingMarks } from "./runFormattingReconciliation.js";
|
|
4
|
+
import { paragraphRunStyleContextAt } from "./runStyleFormatting.js";
|
|
5
|
+
//#region src/prosemirror/clearRunColor.ts
|
|
6
|
+
/** Clearing direct color reveals the run's character/paragraph style color. */
|
|
7
|
+
const clearRunColor = () => (state, dispatch) => {
|
|
8
|
+
if (!dispatch) return true;
|
|
9
|
+
const styleResolver = getDocumentStyleResolver(state);
|
|
10
|
+
const tr = state.tr;
|
|
11
|
+
const { from, to, empty } = state.selection;
|
|
12
|
+
const clearedMarks = (node, position) => {
|
|
13
|
+
const context = paragraphRunStyleContextAt({
|
|
14
|
+
doc: state.doc,
|
|
15
|
+
pos: position,
|
|
16
|
+
styleResolver
|
|
17
|
+
});
|
|
18
|
+
const { color: _color, ...authoredFormatting } = readAuthoredRunFormatting({
|
|
19
|
+
context,
|
|
20
|
+
marks: node.marks,
|
|
21
|
+
styleResolver
|
|
22
|
+
});
|
|
23
|
+
return reconcileRunFormattingMarks({
|
|
24
|
+
authoredFormatting,
|
|
25
|
+
context,
|
|
26
|
+
node,
|
|
27
|
+
styleResolver
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
if (empty) {
|
|
31
|
+
const node = state.schema.text(" ", state.storedMarks ?? state.selection.$from.marks());
|
|
32
|
+
tr.setStoredMarks(clearedMarks(node, from));
|
|
33
|
+
} else for (const representation of selectRunFormattingCarrierRepresentations({
|
|
34
|
+
doc: state.doc,
|
|
35
|
+
from,
|
|
36
|
+
to
|
|
37
|
+
})) applyMarksToRunFormattingRepresentation({
|
|
38
|
+
tr,
|
|
39
|
+
representation,
|
|
40
|
+
marks: clearedMarks(representation.node, representation.position)
|
|
41
|
+
});
|
|
42
|
+
dispatch(tr.scrollIntoView());
|
|
43
|
+
return true;
|
|
44
|
+
};
|
|
45
|
+
//#endregion
|
|
46
|
+
export { clearRunColor };
|
|
@@ -32,7 +32,8 @@ declare function acceptChange(from: number, to: number): Command;
|
|
|
32
32
|
*/
|
|
33
33
|
declare function rejectChange(from: number, to: number): Command;
|
|
34
34
|
/**
|
|
35
|
-
* Accept all tracked changes in the document.
|
|
35
|
+
* Accept all tracked changes in the document. Returns `false` while pending
|
|
36
|
+
* suggestions are present because this command cannot restage them.
|
|
36
37
|
*/
|
|
37
38
|
declare function acceptAllChanges(): Command;
|
|
38
39
|
/**
|
|
@@ -42,15 +43,11 @@ declare function rejectAllChanges(): Command;
|
|
|
42
43
|
/**
|
|
43
44
|
* Resolve a complete state synchronously for a headless reader or writer.
|
|
44
45
|
*
|
|
45
|
-
*
|
|
46
|
-
* it is deliberately not an editor command and must not be transported or
|
|
47
|
-
* mapped through concurrent edits.
|
|
46
|
+
* Uses the same single-step resolver as the interactive editor command.
|
|
48
47
|
*/
|
|
49
48
|
declare function resolveAllChangesInHeadlessState(state: EditorState, mode: ResolveMode): EditorState;
|
|
50
49
|
/**
|
|
51
|
-
* Resolve
|
|
52
|
-
* the reviewed document back to the tracked source. The bulk resolver is
|
|
53
|
-
* faster, but deliberately replaces inline content without retaining mapping.
|
|
50
|
+
* Resolve a story and retain its position map for callers addressing the tracked source.
|
|
54
51
|
*/
|
|
55
52
|
declare const resolveAllChangesInHeadlessStateWithMapping: (state: EditorState, mode: ResolveMode) => {
|
|
56
53
|
state: EditorState;
|
|
@@ -109,6 +106,8 @@ type FolioSuggestion = {
|
|
|
109
106
|
* accepting it applies (tracked vs direct).
|
|
110
107
|
*/
|
|
111
108
|
declare function getSuggestions(state: EditorState): FolioSuggestion[];
|
|
109
|
+
/** The suggestion a revision belongs to, or `null` for an ordinary tracked change. */
|
|
110
|
+
declare function suggestionIdOfRevision(state: EditorState, revisionId: number): string | null;
|
|
112
111
|
/**
|
|
113
112
|
* The document range covering every mark belonging to `suggestionId`, plus the
|
|
114
113
|
* revision ids those marks carry. Returns null when the suggestion is absent
|
|
@@ -184,4 +183,4 @@ declare function findNextChange(state: EditorState, startPos: number): ChangeRan
|
|
|
184
183
|
*/
|
|
185
184
|
declare function findPreviousChange(state: EditorState, startPos: number): ChangeRange | null;
|
|
186
185
|
//#endregion
|
|
187
|
-
export { AcceptSuggestionOptions, FolioSuggestion, ParagraphBoundaryChange, SuggestionAppliedAs, SuggestionKind, acceptAIEditRevision, acceptAllChanges, acceptAllSuggestions, acceptChange, acceptSuggestion, addCommentMark, findAIEditRevisionRange, findChangeAtPosition, findNextChange, findParagraphBoundaryChangeAtPosition, findPreviousChange, findSuggestionRange, getSuggestions, rejectAIEditRevision, rejectAllChanges, rejectAllSuggestions, rejectChange, rejectSuggestion, removeCommentMark, resolveAllChangesInHeadlessState, resolveAllChangesInHeadlessStateWithMapping };
|
|
186
|
+
export { AcceptSuggestionOptions, FolioSuggestion, ParagraphBoundaryChange, SuggestionAppliedAs, SuggestionKind, acceptAIEditRevision, acceptAllChanges, acceptAllSuggestions, acceptChange, acceptSuggestion, addCommentMark, findAIEditRevisionRange, findChangeAtPosition, findNextChange, findParagraphBoundaryChangeAtPosition, findPreviousChange, findSuggestionRange, getSuggestions, rejectAIEditRevision, rejectAllChanges, rejectAllSuggestions, rejectChange, rejectSuggestion, removeCommentMark, resolveAllChangesInHeadlessState, resolveAllChangesInHeadlessStateWithMapping, suggestionIdOfRevision };
|