@stll/folio-core 0.52.0 → 0.54.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -0
- package/dist/ai-edits/apply.d.ts +26 -1
- package/dist/ai-edits/apply.js +1779 -141
- package/dist/ai-edits/batch-claims.d.ts +145 -0
- package/dist/ai-edits/batch-claims.js +275 -0
- package/dist/ai-edits/blockRange.js +9 -3
- package/dist/ai-edits/character-boundaries.d.ts +43 -0
- package/dist/ai-edits/character-boundaries.js +95 -0
- package/dist/ai-edits/clean-text.d.ts +33 -3
- package/dist/ai-edits/clean-text.js +52 -6
- package/dist/ai-edits/comment-lifecycle.d.ts +18 -0
- package/dist/ai-edits/comment-lifecycle.js +52 -0
- package/dist/ai-edits/headless.d.ts +91 -7
- package/dist/ai-edits/headless.js +520 -51
- package/dist/ai-edits/index.d.ts +2 -1
- package/dist/ai-edits/index.js +2 -1
- package/dist/ai-edits/minimal-replacement.d.ts +21 -6
- package/dist/ai-edits/minimal-replacement.js +134 -15
- package/dist/ai-edits/newListNumbering.d.ts +23 -0
- package/dist/ai-edits/newListNumbering.js +94 -0
- package/dist/ai-edits/note-references.d.ts +96 -0
- package/dist/ai-edits/note-references.js +139 -0
- package/dist/ai-edits/pending-suggestions.d.ts +79 -0
- package/dist/ai-edits/pending-suggestions.js +306 -0
- package/dist/ai-edits/read.d.ts +6 -4
- package/dist/ai-edits/read.js +113 -50
- package/dist/ai-edits/result-validation.d.ts +29 -0
- package/dist/ai-edits/result-validation.js +164 -0
- package/dist/ai-edits/revisionStretches.d.ts +17 -0
- package/dist/ai-edits/revisionStretches.js +80 -0
- package/dist/ai-edits/snapshot.d.ts +36 -3
- package/dist/ai-edits/snapshot.js +180 -25
- package/dist/ai-edits/table-cell-mutations.d.ts +4 -2
- package/dist/ai-edits/table-cell-mutations.js +6 -2
- package/dist/ai-edits/table-geometry.d.ts +1 -1
- package/dist/ai-edits/table-row-column-mutations.d.ts +44 -17
- package/dist/ai-edits/table-row-column-mutations.js +86 -34
- package/dist/ai-edits/types.d.ts +155 -16
- package/dist/compare/compare.d.ts +1 -1
- package/dist/compare/compare.js +65 -16
- package/dist/compare/content-alignment.d.ts +5 -1
- package/dist/compare/content-alignment.js +52 -34
- package/dist/compare/content-types.d.ts +7 -0
- package/dist/compare/content.d.ts +4 -1
- package/dist/compare/content.js +6 -1
- package/dist/compare/formatting.js +2 -1
- package/dist/compare/inline-atoms.d.ts +21 -4
- package/dist/compare/inline-atoms.js +138 -16
- package/dist/compare/inline-provenance.js +1 -1
- package/dist/compare/plan.js +10 -5
- package/dist/compare/scenario.js +14 -3
- package/dist/compare/section-boundary-properties.js +1 -1
- package/dist/compare/types.d.ts +4 -2
- package/dist/compare/types.js +2 -1
- package/dist/compare/verification.d.ts +1 -1
- package/dist/compare/verification.js +15 -3
- package/dist/controller/committedLayoutDiff.d.ts +25 -0
- package/dist/controller/committedLayoutDiff.js +71 -0
- package/dist/controller/contentControlWidgetController.d.ts +1 -1
- package/dist/controller/folioEditor.d.ts +1 -1
- package/dist/controller/fontReadiness.d.ts +70 -3
- package/dist/controller/fontReadiness.js +100 -10
- package/dist/controller/headerFooterEditorManager.js +6 -1
- package/dist/controller/layoutPipeline.d.ts +12 -10
- package/dist/controller/layoutPipeline.js +65 -11
- package/dist/controller/layoutRunOptions.d.ts +24 -0
- package/dist/controller/layoutRunOptions.js +17 -0
- package/dist/controller/layoutScheduler.d.ts +19 -14
- package/dist/controller/layoutScheduler.js +15 -12
- package/dist/controller/layoutSession.d.ts +26 -2
- package/dist/controller/layoutSession.js +1 -1
- package/dist/controller/noteEditorManager.js +8 -3
- package/dist/document-operations.d.ts +11 -2
- package/dist/document-operations.js +230 -21
- package/dist/docx/altChunk.d.ts +8 -0
- package/dist/docx/altChunk.js +17 -0
- package/dist/docx/archiveInflation.d.ts +127 -0
- package/dist/docx/archiveInflation.js +181 -0
- package/dist/docx/attributeRemainder.d.ts +1 -1
- package/dist/docx/blockContentParser.d.ts +64 -1
- package/dist/docx/blockContentParser.js +17 -4
- package/dist/docx/blockCustomXmlShell.d.ts +7 -0
- package/dist/docx/blockCustomXmlShell.js +14 -0
- package/dist/docx/blockPlainText.js +7 -0
- package/dist/docx/commentAnchorIndex.js +1 -1
- package/dist/docx/commentRangeIntegrity.js +8 -3
- package/dist/docx/commentReferenceNormalization.js +1 -1
- package/dist/docx/commentReplyMarkers.js +20 -1
- package/dist/docx/compatibility.d.ts +1 -1
- package/dist/docx/compatibility.js +34 -13
- package/dist/docx/containerChildren.gen.d.ts +1 -1
- package/dist/docx/containerChildren.gen.js +1 -0
- package/dist/docx/documentParser.js +12 -12
- package/dist/docx/drawingIdNormalization.d.ts +3 -1
- package/dist/docx/drawingIdNormalization.js +6 -1
- package/dist/docx/ensureParaIds.js +119 -97
- package/dist/docx/footnoteParser.js +8 -4
- package/dist/docx/headerFooterParser.js +3 -3
- package/dist/docx/headerFooterReferenceNormalization.d.ts +20 -1
- package/dist/docx/headerFooterReferenceNormalization.js +52 -27
- package/dist/docx/hyperlinkParser.d.ts +1 -1
- package/dist/docx/index.d.ts +1 -1
- package/dist/docx/listNumberingInstances.d.ts +59 -0
- package/dist/docx/listNumberingInstances.js +249 -0
- package/dist/docx/metadataPrivacy.js +24 -1
- package/dist/docx/normalizeBaseDirection.js +2 -1
- package/dist/docx/noteReferenceMark.d.ts +15 -0
- package/dist/docx/noteReferenceMark.js +48 -0
- package/dist/docx/opaqueCarrier.d.ts +7 -0
- package/dist/docx/opaqueCarrier.js +38 -0
- package/dist/docx/packageParts.js +4 -1
- package/dist/docx/paragraphParser.js +96 -27
- package/dist/docx/paragraphPropertySource.d.ts +4 -2
- package/dist/docx/paragraphPropertySource.js +10 -2
- package/dist/docx/paragraphTraversal.js +1 -0
- package/dist/docx/parseWarningMessage.js +4 -1
- package/dist/docx/parser.js +175 -22
- package/dist/docx/rezip.js +31 -7
- package/dist/docx/sdtProperties.js +1 -1
- package/dist/docx/sdtPropertiesPatch.js +3 -0
- package/dist/docx/selectiveSave.js +16 -9
- package/dist/docx/selectiveXmlPatch.d.ts +3 -1
- package/dist/docx/selectiveXmlPatch.js +186 -39
- package/dist/docx/serializer/blockCustomXmlSerializer.d.ts +5 -0
- package/dist/docx/serializer/blockCustomXmlSerializer.js +4 -0
- package/dist/docx/serializer/documentSerializer.js +2 -0
- package/dist/docx/serializer/headerFooterSerializer.js +2 -0
- package/dist/docx/serializer/noteSerializer.js +3 -1
- package/dist/docx/serializer/paragraphSerializer.js +33 -9
- package/dist/docx/serializer/tableSerializer.js +25 -38
- package/dist/docx/server/boundedArchive.d.ts +8 -13
- package/dist/docx/server/boundedArchive.js +70 -59
- package/dist/docx/server/createBilingualDocument.js +3 -3
- package/dist/docx/server/extractDocxText.d.ts +8 -2
- package/dist/docx/server/extractDocxText.js +2 -2
- package/dist/docx/server/validateDocxConformance.d.ts +1 -1
- package/dist/docx/server/validateDocxConformance.js +1 -0
- package/dist/docx/tableParser.d.ts +157 -1
- package/dist/docx/tableParser.js +89 -10
- package/dist/docx/textBoxParser.js +1 -1
- package/dist/docx/unzip.d.ts +20 -2
- package/dist/docx/unzip.js +136 -25
- package/dist/docx/wordprocessingPrefixes.d.ts +78 -0
- package/dist/docx/wordprocessingPrefixes.js +286 -0
- package/dist/fonts/embeddedFonts.js +1 -1
- package/dist/i18n/messages/catalogs.gen.d.ts +170 -34
- package/dist/i18n/messages/catalogs.gen.js +187 -51
- package/dist/i18n/messages/messages.gen.d.ts +10 -2
- package/dist/internal/compare/inline-presentation.d.ts +2 -1
- package/dist/internal/compare/inline-presentation.js +11 -10
- package/dist/internal/headlessRevisionResolutionGuard.d.ts +2 -8
- package/dist/internal/headlessRevisionResolutionGuard.js +2 -11
- package/dist/internal/indexedPositionMap.d.ts +11 -0
- package/dist/internal/indexedPositionMap.js +42 -0
- package/dist/internal/pageBreakRunSourceDescendantIndex.js +2 -1
- package/dist/internal/revisionResolutionEdits.d.ts +13 -0
- package/dist/internal/revisionResolutionEdits.js +19 -0
- package/dist/internal/revisionResolutionInline.d.ts +24 -0
- package/dist/internal/{headlessRevisionResolution.js → revisionResolutionInline.js} +61 -43
- package/dist/internal/revisionResolutionStep.d.ts +34 -0
- package/dist/internal/revisionResolutionStep.js +282 -0
- package/dist/internal/revisionResolutionTracking.d.ts +11 -0
- package/dist/internal/revisionResolutionTracking.js +124 -0
- package/dist/internal/wholeStoryRevisionResolution.d.ts +56 -0
- package/dist/internal/wholeStoryRevisionResolution.js +600 -0
- package/dist/layout-bridge/convert/markupViewFlow.d.ts +20 -0
- package/dist/layout-bridge/convert/markupViewFlow.js +123 -0
- package/dist/layout-bridge/convert/tableConversion.js +1 -1
- package/dist/layout-bridge/convert/toFlowBlocks.js +10 -1
- package/dist/layout-engine/layoutInstrumentation.d.ts +9 -1
- package/dist/layout-engine/layoutInstrumentation.js +4 -1
- package/dist/layout-engine/measure/cache.d.ts +18 -1
- package/dist/layout-engine/measure/cache.js +31 -1
- package/dist/layout-engine/measure/font-metrics.worker.js +3 -7
- package/dist/layout-engine/measure/measureContainer.js +7 -47
- package/dist/layout-engine/measure/measureHelpers.d.ts +6 -1
- package/dist/layout-engine/measure/measureHelpers.js +22 -2
- package/dist/layout-engine/measure/measureParagraph.js +2 -2
- package/dist/layout-engine/measure/measureWorker.js +2 -3
- package/dist/layout-engine/measure/measureWorkerProtocol.d.ts +6 -7
- package/dist/layout-engine/measure/measureWorkerProtocol.js +1 -2
- package/dist/layout-engine/measure/paragraphMeasureShared.d.ts +12 -1
- package/dist/layout-engine/measure/paragraphMeasureShared.js +14 -1
- package/dist/layout-engine/types.d.ts +6 -0
- package/dist/layout-painter/renderPage.js +1 -0
- package/dist/layout-painter/renderParagraph.js +1 -1
- package/dist/managers/ContextMenuManager.js +5 -2
- package/dist/managers/types.d.ts +3 -0
- package/dist/markdown/escape.d.ts +2 -2
- package/dist/markdown/escape.js +4 -5
- package/dist/markdown/fromMarkdown.js +2 -1
- package/dist/markdown/internals.d.ts +11 -1
- package/dist/markdown/internals.js +24 -3
- package/dist/markdown/renderBlock.js +121 -25
- package/dist/markdown/renderParagraph.d.ts +13 -1
- package/dist/markdown/renderParagraph.js +85 -38
- package/dist/markdown/renderRuns.d.ts +10 -1
- package/dist/markdown/renderRuns.js +323 -69
- package/dist/markdown/renderTable.js +24 -12
- package/dist/markdown/trailers.js +2 -2
- package/dist/markdown/types.d.ts +29 -7
- package/dist/paged-layout/incrementalMeasure.d.ts +1 -2
- package/dist/paged-layout/incrementalMeasure.js +1 -9
- package/dist/paged-layout/transactionDirtyRange.d.ts +1 -3
- package/dist/paged-layout/transactionDirtyRange.js +29 -41
- package/dist/panel-layout.d.ts +83 -0
- package/dist/panel-layout.js +96 -0
- package/dist/prosemirror/anchoredTextBoxes.d.ts +37 -0
- package/dist/prosemirror/anchoredTextBoxes.js +156 -0
- package/dist/prosemirror/attrs/index.d.ts +6 -2
- package/dist/prosemirror/attrs/index.js +172 -1
- package/dist/prosemirror/clearRunColor.d.ts +6 -0
- package/dist/prosemirror/clearRunColor.js +46 -0
- package/dist/prosemirror/commands/comments.d.ts +7 -8
- package/dist/prosemirror/commands/comments.js +281 -212
- package/dist/prosemirror/commands/contentControls.d.ts +1 -1
- package/dist/prosemirror/commands/formatPainter.d.ts +1 -1
- package/dist/prosemirror/commands/formatPainter.js +1 -1
- package/dist/prosemirror/commands/formatting.d.ts +1 -1
- package/dist/prosemirror/commands/hyperlink.js +2 -1
- package/dist/prosemirror/commands/index.d.ts +2 -2
- package/dist/prosemirror/commands/index.js +2 -2
- package/dist/prosemirror/commands/paragraph.d.ts +7 -1
- package/dist/prosemirror/commands/paragraph.js +9 -1
- package/dist/prosemirror/commands/paragraphBookmarkJoin.d.ts +13 -0
- package/dist/prosemirror/commands/paragraphBookmarkJoin.js +22 -0
- package/dist/prosemirror/commands/pastePlainText.d.ts +1 -1
- package/dist/prosemirror/commands/propertyChangeScope.d.ts +3 -2
- package/dist/prosemirror/commands/propertyChangeScope.js +24 -3
- package/dist/prosemirror/commands/resolveAllTableChanges.d.ts +40 -0
- package/dist/prosemirror/commands/resolveAllTableChanges.js +620 -0
- package/dist/prosemirror/commands/resolveNodePropertyChangeAttrs.d.ts +15 -0
- package/dist/prosemirror/commands/resolveNodePropertyChangeAttrs.js +46 -0
- package/dist/prosemirror/commands/resolveParagraphProperties.d.ts +16 -0
- package/dist/prosemirror/commands/resolveParagraphProperties.js +73 -0
- package/dist/prosemirror/commands/sectionBreak.js +2 -1
- package/dist/prosemirror/commands/tableCellMergeResolution.d.ts +15 -2
- package/dist/prosemirror/commands/tableCellMergeResolution.js +23 -7
- package/dist/prosemirror/containerFinalParagraph.d.ts +11 -5
- package/dist/prosemirror/containerFinalParagraph.js +7 -6
- package/dist/prosemirror/contentControlRevisions.d.ts +1 -1
- package/dist/prosemirror/conversion/fromProseDoc.d.ts +2 -13
- package/dist/prosemirror/conversion/fromProseDoc.js +177 -605
- package/dist/prosemirror/conversion/toProseDoc.d.ts +4 -11
- package/dist/prosemirror/conversion/toProseDoc.js +70 -154
- package/dist/prosemirror/documentSchema.d.ts +8 -0
- package/dist/prosemirror/documentSchema.js +18 -0
- package/dist/prosemirror/emptyFieldResultRuns.d.ts +18 -0
- package/dist/prosemirror/emptyFieldResultRuns.js +33 -0
- package/dist/prosemirror/extensions/ExtensionManager.d.ts +1 -1
- package/dist/prosemirror/extensions/ExtensionManager.js +3 -1
- package/dist/prosemirror/extensions/StarterKit.js +5 -1
- package/dist/prosemirror/extensions/core/DocExtension.js +1 -1
- package/dist/prosemirror/extensions/core/ParagraphExtension.js +116 -63
- package/dist/prosemirror/extensions/features/BaseKeymapExtension.js +4 -1
- package/dist/prosemirror/extensions/features/EmptyParagraphFormatExtension.js +24 -3
- package/dist/prosemirror/extensions/features/JoinedRunStyleExtension.d.ts +20 -0
- package/dist/prosemirror/extensions/features/JoinedRunStyleExtension.js +43 -0
- package/dist/prosemirror/extensions/features/ListExtension.js +167 -128
- package/dist/prosemirror/extensions/features/ParaIdAllocatorExtension.d.ts +19 -2
- package/dist/prosemirror/extensions/features/ParaIdAllocatorExtension.js +33 -20
- package/dist/prosemirror/extensions/features/ParagraphChangeTrackerExtension.d.ts +31 -2
- package/dist/prosemirror/extensions/features/ParagraphChangeTrackerExtension.js +270 -99
- package/dist/prosemirror/extensions/features/PasteCleanupExtension.js +3 -2
- package/dist/prosemirror/extensions/features/pasteCleanup.js +2 -1
- package/dist/prosemirror/extensions/features/pastedHeadingStyles.js +1 -1
- package/dist/prosemirror/extensions/features/pastedHtmlLists.d.ts +12 -0
- package/dist/prosemirror/extensions/features/pastedHtmlLists.js +124 -0
- package/dist/prosemirror/extensions/marks/FootnoteRefExtension.js +33 -11
- package/dist/prosemirror/extensions/marks/HyperlinkExtension.js +8 -4
- package/dist/prosemirror/extensions/marks/RunIdentityExtension.d.ts +21 -18
- package/dist/prosemirror/extensions/marks/RunIdentityExtension.js +37 -17
- package/dist/prosemirror/extensions/marks/StrikeExtension.js +2 -2
- package/dist/prosemirror/extensions/marks/SubscriptExtension.js +2 -2
- package/dist/prosemirror/extensions/marks/SuperscriptExtension.js +2 -2
- package/dist/prosemirror/extensions/marks/TextColorExtension.js +4 -3
- package/dist/prosemirror/extensions/marks/markUtils.d.ts +15 -8
- package/dist/prosemirror/extensions/marks/markUtils.js +25 -10
- package/dist/prosemirror/extensions/marks/noteReferenceDeletion.d.ts +12 -0
- package/dist/prosemirror/extensions/marks/noteReferenceDeletion.js +46 -0
- package/dist/prosemirror/extensions/nodes/BlockCustomXmlExtension.d.ts +6 -0
- package/dist/prosemirror/extensions/nodes/BlockCustomXmlExtension.js +52 -0
- package/dist/prosemirror/extensions/nodes/CommentReferenceExtension.js +2 -2
- package/dist/prosemirror/extensions/nodes/FieldExtension.d.ts +3 -3
- package/dist/prosemirror/extensions/nodes/FieldExtension.js +50 -15
- package/dist/prosemirror/extensions/nodes/HardBreakExtension.js +5 -3
- package/dist/prosemirror/extensions/nodes/PreservedBlockExtension.js +4 -1
- package/dist/prosemirror/extensions/nodes/TableExtension.d.ts +1 -1
- package/dist/prosemirror/extensions/nodes/TableExtension.js +121 -226
- package/dist/prosemirror/extensions/types.d.ts +11 -1
- package/dist/prosemirror/findReplaceSelection.js +1 -1
- package/dist/prosemirror/hyperlinkRemoval.d.ts +9 -0
- package/dist/prosemirror/hyperlinkRemoval.js +129 -0
- package/dist/prosemirror/index.d.ts +5 -3
- package/dist/prosemirror/index.js +5 -3
- package/dist/prosemirror/indexedNodeLookup.d.ts +17 -0
- package/dist/prosemirror/indexedNodeLookup.js +103 -0
- package/dist/prosemirror/listAutoformatMarkers.d.ts +19 -0
- package/dist/prosemirror/listAutoformatMarkers.js +98 -0
- package/dist/prosemirror/listInstanceReferences.d.ts +12 -0
- package/dist/prosemirror/listInstanceReferences.js +72 -0
- package/dist/prosemirror/listLabels.d.ts +24 -0
- package/dist/prosemirror/listLabels.js +111 -0
- package/dist/prosemirror/listNumbering.d.ts +92 -0
- package/dist/prosemirror/listNumbering.js +330 -0
- package/dist/prosemirror/listRendering.d.ts +27 -0
- package/dist/prosemirror/listRendering.js +27 -0
- package/dist/prosemirror/listRenderingAttrs.d.ts +11 -2
- package/dist/prosemirror/listRenderingAttrs.js +8 -1
- package/dist/prosemirror/markupViewNotes.d.ts +8 -0
- package/dist/prosemirror/markupViewNotes.js +49 -0
- package/dist/prosemirror/markupViewProjection.d.ts +97 -0
- package/dist/prosemirror/markupViewProjection.js +88 -0
- package/dist/prosemirror/noteReferenceReview.d.ts +77 -0
- package/dist/prosemirror/noteReferenceReview.js +332 -0
- package/dist/prosemirror/numberingAttr.d.ts +9 -1
- package/dist/prosemirror/numberingAttr.js +9 -1
- package/dist/prosemirror/outlineLevelAttr.js +1 -1
- package/dist/prosemirror/paragraphIndentation.d.ts +10 -1
- package/dist/prosemirror/paragraphIndentation.js +32 -7
- package/dist/prosemirror/paragraphMarkJoin.d.ts +21 -0
- package/dist/prosemirror/paragraphMarkJoin.js +26 -0
- package/dist/prosemirror/paragraphPropertyCarry.d.ts +64 -0
- package/dist/prosemirror/paragraphPropertyCarry.js +158 -0
- package/dist/prosemirror/plugins/createDocScanPlugin.d.ts +1 -1
- package/dist/prosemirror/plugins/documentNumbering.d.ts +27 -1
- package/dist/prosemirror/plugins/documentNumbering.js +97 -11
- package/dist/prosemirror/plugins/documentStyleState.d.ts +26 -0
- package/dist/prosemirror/plugins/documentStyleState.js +32 -0
- package/dist/prosemirror/plugins/documentStyles.d.ts +3 -13
- package/dist/prosemirror/plugins/documentStyles.js +67 -17
- package/dist/prosemirror/plugins/index.d.ts +2 -1
- package/dist/prosemirror/plugins/index.js +2 -1
- package/dist/prosemirror/plugins/paragraphStyleResolution.d.ts +15 -0
- package/dist/prosemirror/plugins/paragraphStyleResolution.js +230 -0
- package/dist/prosemirror/plugins/suggestionMode.d.ts +27 -3
- package/dist/prosemirror/plugins/suggestionMode.js +490 -63
- package/dist/prosemirror/plugins/templateDirectives.d.ts +1 -1
- package/dist/prosemirror/plugins/transactionInvariants.d.ts +32 -0
- package/dist/prosemirror/plugins/transactionInvariants.js +86 -0
- package/dist/prosemirror/positionSweep.d.ts +24 -0
- package/dist/prosemirror/positionSweep.js +222 -0
- package/dist/prosemirror/rebaseParagraphRunFormatting.d.ts +23 -3
- package/dist/prosemirror/rebaseParagraphRunFormatting.js +39 -13
- package/dist/prosemirror/rebaseParagraphRuns.d.ts +36 -0
- package/dist/prosemirror/rebaseParagraphRuns.js +99 -0
- package/dist/prosemirror/rejoinRunCarriers.d.ts +1 -1
- package/dist/prosemirror/replacedAnnotations.d.ts +33 -1
- package/dist/prosemirror/replacedAnnotations.js +170 -1
- package/dist/prosemirror/runFormattingFromMarks.d.ts +18 -0
- package/dist/prosemirror/runFormattingFromMarks.js +567 -0
- package/dist/prosemirror/runFormattingInlineCarriers.d.ts +1 -1
- package/dist/prosemirror/runFormattingReconciliation.js +10 -9
- package/dist/prosemirror/schema/index.d.ts +2 -2
- package/dist/prosemirror/schema/index.js +3 -0
- package/dist/prosemirror/schema/nodes.d.ts +44 -11
- package/dist/prosemirror/sectionMarkEdits.d.ts +20 -0
- package/dist/prosemirror/sectionMarkEdits.js +59 -0
- package/dist/prosemirror/storyListNumbering.d.ts +17 -0
- package/dist/prosemirror/storyListNumbering.js +102 -0
- package/dist/prosemirror/styles/paragraphStyleCascade.d.ts +59 -0
- package/dist/prosemirror/styles/paragraphStyleCascade.js +145 -0
- package/dist/prosemirror/styles/resolvedStyleAttrs.d.ts +21 -2
- package/dist/prosemirror/styles/resolvedStyleAttrs.js +38 -1
- package/dist/prosemirror/styles/tableStyleRegions.d.ts +31 -0
- package/dist/prosemirror/styles/tableStyleRegions.js +55 -0
- package/dist/prosemirror/tableCellPaste.d.ts +74 -0
- package/dist/prosemirror/tableCellPaste.js +525 -0
- package/dist/prosemirror/tableGridMutation.d.ts +87 -2
- package/dist/prosemirror/tableGridMutation.js +255 -2
- package/dist/prosemirror/tableRunIn.d.ts +51 -0
- package/dist/prosemirror/tableRunIn.js +165 -0
- package/dist/prosemirror/textInput.js +11 -2
- package/dist/prosemirror/trackedRevisionPath.d.ts +17 -0
- package/dist/prosemirror/trackedRevisionPath.js +32 -0
- package/dist/prosemirror/validation.js +5 -1
- package/dist/redline.js +93 -9
- package/dist/render-dom/BodySelectionOverlay.d.ts +4 -1
- package/dist/render-dom/BodySelectionOverlay.js +3 -2
- package/dist/server.d.ts +2 -2
- package/dist/utils/findReplace.js +2 -2
- package/dist/utils/mergeDocumentContent.js +1 -1
- package/dist/utils/noteReferenceLabels.d.ts +36 -0
- package/dist/utils/noteReferenceLabels.js +32 -0
- package/dist/utils/replaceText.js +1 -1
- package/dist/version-comparison.d.ts +1 -0
- package/dist/version-comparison.js +1 -0
- package/package.json +6 -5
- package/dist/internal/headlessRevisionResolution.d.ts +0 -23
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
//#region src/prosemirror/extensions/marks/noteReferenceDeletion.ts
|
|
2
|
+
/** Keep the text carrying one OOXML note reference together during deletion. */
|
|
3
|
+
const expandNoteReferenceDeletionRange = (doc, from, to) => {
|
|
4
|
+
let expandedFrom = from;
|
|
5
|
+
let expandedTo = to;
|
|
6
|
+
let intersectsReference = false;
|
|
7
|
+
doc.nodesBetween(from, to, (node, pos) => {
|
|
8
|
+
const reference = node.marks.find((mark) => mark.type.name === "footnoteRef");
|
|
9
|
+
if (!node.isText || !reference) return;
|
|
10
|
+
intersectsReference = true;
|
|
11
|
+
const $pos = doc.resolve(pos);
|
|
12
|
+
const parent = $pos.parent;
|
|
13
|
+
const index = $pos.index();
|
|
14
|
+
let referenceFrom = pos;
|
|
15
|
+
let referenceTo = pos + node.nodeSize;
|
|
16
|
+
for (let left = index - 1; left >= 0; left--) {
|
|
17
|
+
const sibling = parent.child(left);
|
|
18
|
+
if (!sibling.isText || !sibling.marks.some((mark) => mark.eq(reference))) break;
|
|
19
|
+
referenceFrom -= sibling.nodeSize;
|
|
20
|
+
}
|
|
21
|
+
for (let right = index + 1; right < parent.childCount; right++) {
|
|
22
|
+
const sibling = parent.child(right);
|
|
23
|
+
if (!sibling.isText || !sibling.marks.some((mark) => mark.eq(reference))) break;
|
|
24
|
+
referenceTo += sibling.nodeSize;
|
|
25
|
+
}
|
|
26
|
+
expandedFrom = Math.min(expandedFrom, referenceFrom);
|
|
27
|
+
expandedTo = Math.max(expandedTo, referenceTo);
|
|
28
|
+
});
|
|
29
|
+
return intersectsReference ? {
|
|
30
|
+
from: expandedFrom,
|
|
31
|
+
to: expandedTo
|
|
32
|
+
} : null;
|
|
33
|
+
};
|
|
34
|
+
/** Each whole note reference [`from`, `to`) of `doc` touches, in document order. */
|
|
35
|
+
const noteReferenceRanges = (doc, from, to) => {
|
|
36
|
+
const ranges = [];
|
|
37
|
+
doc.nodesBetween(from, to, (node, pos) => {
|
|
38
|
+
if (!node.isText || !node.marks.some((mark) => mark.type.name === "footnoteRef")) return;
|
|
39
|
+
const whole = expandNoteReferenceDeletionRange(doc, pos, pos + node.nodeSize);
|
|
40
|
+
const last = ranges.at(-1);
|
|
41
|
+
if (whole && (!last || whole.from >= last.to)) ranges.push(whole);
|
|
42
|
+
});
|
|
43
|
+
return ranges;
|
|
44
|
+
};
|
|
45
|
+
//#endregion
|
|
46
|
+
export { expandNoteReferenceDeletionRange, noteReferenceRanges };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { NodeExtension } from "../types.js";
|
|
2
|
+
//#region src/prosemirror/extensions/nodes/BlockCustomXmlExtension.d.ts
|
|
3
|
+
/** An editable block sequence inside an authored custom XML wrapper. */
|
|
4
|
+
declare const BlockCustomXmlExtension: (options?: Partial<Record<string, unknown>> | undefined) => NodeExtension;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { BlockCustomXmlExtension };
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { createNodeExtension } from "../create.js";
|
|
2
|
+
//#region src/prosemirror/extensions/nodes/BlockCustomXmlExtension.ts
|
|
3
|
+
/** An editable block sequence inside an authored custom XML wrapper. */
|
|
4
|
+
const BlockCustomXmlExtension = createNodeExtension({
|
|
5
|
+
name: "blockCustomXml",
|
|
6
|
+
schemaNodeName: "blockCustomXml",
|
|
7
|
+
nodeSpec: {
|
|
8
|
+
group: "block",
|
|
9
|
+
content: "block+",
|
|
10
|
+
isolating: true,
|
|
11
|
+
defining: true,
|
|
12
|
+
attrs: {
|
|
13
|
+
openingXml: { default: null },
|
|
14
|
+
closingXml: { default: null },
|
|
15
|
+
_originallyEmpty: { default: false }
|
|
16
|
+
},
|
|
17
|
+
parseDOM: [{
|
|
18
|
+
tag: "div[data-docx-block-custom-xml-open]",
|
|
19
|
+
getAttrs(dom) {
|
|
20
|
+
if (!(dom instanceof HTMLElement)) return false;
|
|
21
|
+
const openingXml = dom.dataset["docxBlockCustomXmlOpen"];
|
|
22
|
+
const closingXml = dom.dataset["docxBlockCustomXmlClose"];
|
|
23
|
+
if (!openingXml || !closingXml) return false;
|
|
24
|
+
return {
|
|
25
|
+
openingXml,
|
|
26
|
+
closingXml,
|
|
27
|
+
_originallyEmpty: dom.dataset["docxBlockCustomXmlEmpty"] === "true"
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
}],
|
|
31
|
+
toDOM(node) {
|
|
32
|
+
const { openingXml, closingXml, _originallyEmpty } = node.attrs;
|
|
33
|
+
if (typeof openingXml !== "string" || typeof closingXml !== "string") return [
|
|
34
|
+
"div",
|
|
35
|
+
{ class: "docx-block-custom-xml" },
|
|
36
|
+
0
|
|
37
|
+
];
|
|
38
|
+
return [
|
|
39
|
+
"div",
|
|
40
|
+
{
|
|
41
|
+
class: "docx-block-custom-xml",
|
|
42
|
+
"data-docx-block-custom-xml-open": openingXml,
|
|
43
|
+
"data-docx-block-custom-xml-close": closingXml,
|
|
44
|
+
"data-docx-block-custom-xml-empty": String(_originallyEmpty === true)
|
|
45
|
+
},
|
|
46
|
+
0
|
|
47
|
+
];
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
//#endregion
|
|
52
|
+
export { BlockCustomXmlExtension };
|
|
@@ -80,9 +80,9 @@ const CommentReferenceExtension = createNodeExtension({
|
|
|
80
80
|
}];
|
|
81
81
|
}
|
|
82
82
|
}),
|
|
83
|
-
onSchemaReady: (
|
|
83
|
+
onSchemaReady: () => ({ plugins: [new Plugin({ appendTransaction(transactions, _oldState, newState) {
|
|
84
84
|
if (!transactions.some(({ docChanged }) => docChanged)) return null;
|
|
85
|
-
const referenceType = schema.nodes[COMMENT_REFERENCE_NODE_NAME];
|
|
85
|
+
const referenceType = newState.schema.nodes[COMMENT_REFERENCE_NODE_NAME];
|
|
86
86
|
if (!referenceType) return null;
|
|
87
87
|
const repairs = planCommentReferenceRepairs(surveyCommentReferences(newState.doc));
|
|
88
88
|
if (repairs.length === 0) return null;
|
|
@@ -8,10 +8,10 @@ import { NodeExtension } from "../types.js";
|
|
|
8
8
|
* Simple fields that must preserve hyperlink structure use a distinct atomic
|
|
9
9
|
* node with inline children; their visible text comes from those children.
|
|
10
10
|
*/
|
|
11
|
-
type
|
|
11
|
+
type FieldOptions = {
|
|
12
12
|
getInternalClipboardToken?: () => string;
|
|
13
13
|
};
|
|
14
|
-
declare const FieldExtension: (options?: Partial<
|
|
15
|
-
declare const StructuredFieldExtension: (options?: Partial<
|
|
14
|
+
declare const FieldExtension: (options?: Partial<FieldOptions> | undefined) => NodeExtension;
|
|
15
|
+
declare const StructuredFieldExtension: (options?: Partial<FieldOptions> | undefined) => NodeExtension;
|
|
16
16
|
//#endregion
|
|
17
17
|
export { FieldExtension, StructuredFieldExtension };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { parseFieldInstruction } from "../../../docx/fieldParser.js";
|
|
2
|
-
import { expectFieldAttrs } from "../../attrs/index.js";
|
|
2
|
+
import { expectFieldAttrs, isValidEmptyFieldResultRuns, isValidFieldCode } from "../../attrs/index.js";
|
|
3
3
|
import { createNodeExtension } from "../create.js";
|
|
4
4
|
//#region src/prosemirror/extensions/nodes/FieldExtension.ts
|
|
5
5
|
const createFieldAttrs = () => ({
|
|
@@ -10,21 +10,48 @@ const createFieldAttrs = () => ({
|
|
|
10
10
|
fieldKind: { default: "simple" },
|
|
11
11
|
fldLock: { default: null },
|
|
12
12
|
dirty: { default: null },
|
|
13
|
-
fieldResultIsFallback: { default: null }
|
|
13
|
+
fieldResultIsFallback: { default: null },
|
|
14
|
+
formFieldDataXml: { default: null },
|
|
15
|
+
_docxEmptyResultRuns: { default: null },
|
|
16
|
+
_docxFieldCode: { default: null }
|
|
14
17
|
});
|
|
15
18
|
/** A `data-` flag a pasted field carried: absent states nothing. */
|
|
16
19
|
const statedFlag = (value) => value === void 0 ? null : value === "true";
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
20
|
+
const readEmptyResultRuns = (value) => {
|
|
21
|
+
if (value === void 0) return null;
|
|
22
|
+
try {
|
|
23
|
+
const parsed = JSON.parse(value);
|
|
24
|
+
return isValidEmptyFieldResultRuns(parsed) ? parsed : null;
|
|
25
|
+
} catch {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
const readFieldCode = (value) => {
|
|
30
|
+
if (value === void 0) return null;
|
|
31
|
+
try {
|
|
32
|
+
const parsed = JSON.parse(value);
|
|
33
|
+
return isValidFieldCode(parsed) ? parsed : null;
|
|
34
|
+
} catch {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
const readFieldDomAttrs = (dom) => {
|
|
39
|
+
const emptyResultRuns = readEmptyResultRuns(dom.dataset["emptyResultRuns"]);
|
|
40
|
+
return {
|
|
41
|
+
fieldType: dom.dataset["fieldType"] ?? "UNKNOWN",
|
|
42
|
+
instruction: dom.dataset["instruction"] ?? "",
|
|
43
|
+
displayText: (emptyResultRuns === null ? void 0 : dom.dataset["displayText"]) ?? dom.textContent ?? "",
|
|
44
|
+
fieldKind: dom.dataset["fieldKind"] ?? "simple",
|
|
45
|
+
fldLock: statedFlag(dom.dataset["fldLock"]),
|
|
46
|
+
dirty: statedFlag(dom.dataset["dirty"]),
|
|
47
|
+
fieldResultIsFallback: statedFlag(dom.dataset["fieldResultIsFallback"]),
|
|
48
|
+
formFieldDataXml: dom.dataset["formFieldDataXml"] ?? null,
|
|
49
|
+
_docxEmptyResultRuns: emptyResultRuns,
|
|
50
|
+
_docxFieldCode: readFieldCode(dom.dataset["fieldCode"])
|
|
51
|
+
};
|
|
52
|
+
};
|
|
26
53
|
const getFieldDomAttrs = (node) => {
|
|
27
|
-
const { fieldType, instruction, fieldKind, fldLock, dirty, fieldResultIsFallback } = expectFieldAttrs(node);
|
|
54
|
+
const { fieldType, instruction, fieldKind, fldLock, dirty, fieldResultIsFallback, formFieldDataXml, _docxEmptyResultRuns, _docxFieldCode } = expectFieldAttrs(node);
|
|
28
55
|
return {
|
|
29
56
|
class: `docx-field docx-field-${fieldType.toLowerCase()}`,
|
|
30
57
|
"data-field-type": fieldType,
|
|
@@ -33,6 +60,9 @@ const getFieldDomAttrs = (node) => {
|
|
|
33
60
|
...fldLock === void 0 ? {} : { "data-fld-lock": String(fldLock) },
|
|
34
61
|
...dirty === void 0 ? {} : { "data-dirty": String(dirty) },
|
|
35
62
|
...fieldResultIsFallback === void 0 ? {} : { "data-field-result-is-fallback": String(fieldResultIsFallback) },
|
|
63
|
+
...formFieldDataXml === void 0 ? {} : { "data-form-field-data-xml": formFieldDataXml },
|
|
64
|
+
..._docxEmptyResultRuns === void 0 ? {} : { "data-empty-result-runs": JSON.stringify(_docxEmptyResultRuns) },
|
|
65
|
+
..._docxFieldCode === void 0 ? {} : { "data-field-code": JSON.stringify(_docxFieldCode) },
|
|
36
66
|
style: "outline: 1px solid var(--doc-field-outline, rgba(200,200,200,0.4)); padding: 0 1px; border-radius: 2px;"
|
|
37
67
|
};
|
|
38
68
|
};
|
|
@@ -53,7 +83,7 @@ const getFieldVisibleText = (node) => {
|
|
|
53
83
|
const FieldExtension = createNodeExtension({
|
|
54
84
|
name: "field",
|
|
55
85
|
schemaNodeName: "field",
|
|
56
|
-
nodeSpec: {
|
|
86
|
+
nodeSpec: (options) => ({
|
|
57
87
|
inline: true,
|
|
58
88
|
group: "inline",
|
|
59
89
|
atom: true,
|
|
@@ -65,13 +95,18 @@ const FieldExtension = createNodeExtension({
|
|
|
65
95
|
getAttrs: readFieldDomAttrs
|
|
66
96
|
}],
|
|
67
97
|
toDOM(node) {
|
|
98
|
+
const { displayText, _docxEmptyResultRuns } = expectFieldAttrs(node);
|
|
68
99
|
return [
|
|
69
100
|
"span",
|
|
70
|
-
|
|
101
|
+
{
|
|
102
|
+
...getFieldDomAttrs(node),
|
|
103
|
+
...options.getInternalClipboardToken ? { "data-docx-internal-clipboard": options.getInternalClipboardToken() } : {},
|
|
104
|
+
..._docxEmptyResultRuns ? { "data-display-text": displayText } : {}
|
|
105
|
+
},
|
|
71
106
|
getFieldVisibleText(node)
|
|
72
107
|
];
|
|
73
108
|
}
|
|
74
|
-
}
|
|
109
|
+
})
|
|
75
110
|
});
|
|
76
111
|
const StructuredFieldExtension = createNodeExtension({
|
|
77
112
|
name: "structuredField",
|
|
@@ -41,10 +41,12 @@ const HardBreakExtension = createNodeExtension({
|
|
|
41
41
|
}
|
|
42
42
|
},
|
|
43
43
|
onSchemaReady(ctx) {
|
|
44
|
-
|
|
45
|
-
if (!hardBreakType) panic("Missing node type: hardBreak");
|
|
44
|
+
if (!ctx.schema.nodes["hardBreak"]) panic("Missing node type: hardBreak");
|
|
46
45
|
return { keyboardShortcuts: { "Shift-Enter": (state, dispatch) => {
|
|
47
|
-
if (dispatch)
|
|
46
|
+
if (dispatch) {
|
|
47
|
+
const hardBreakType = state.schema.nodes["hardBreak"] ?? panic("Missing node type: hardBreak");
|
|
48
|
+
dispatch(state.tr.replaceSelectionWith(hardBreakType.create()).scrollIntoView());
|
|
49
|
+
}
|
|
48
50
|
return true;
|
|
49
51
|
} } };
|
|
50
52
|
}
|
|
@@ -35,7 +35,10 @@ const PreservedBlockExtension = createNodeExtension({
|
|
|
35
35
|
group: "block",
|
|
36
36
|
atom: true,
|
|
37
37
|
selectable: false,
|
|
38
|
-
attrs: {
|
|
38
|
+
attrs: {
|
|
39
|
+
xml: {},
|
|
40
|
+
readerText: { default: null }
|
|
41
|
+
},
|
|
39
42
|
parseDOM: [{
|
|
40
43
|
tag: "div[data-docx-preserved-block]",
|
|
41
44
|
getAttrs(dom) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ColorValue } from "../../../types/colors.js";
|
|
2
2
|
import { AnyExtension, Extension, NodeExtension } from "../types.js";
|
|
3
|
-
import { Command, EditorState } from "prosemirror-state";
|
|
4
3
|
import { Node } from "prosemirror-model";
|
|
4
|
+
import { Command, EditorState } from "prosemirror-state";
|
|
5
5
|
//#region src/prosemirror/extensions/nodes/TableExtension.d.ts
|
|
6
6
|
type TableContextInfo = {
|
|
7
7
|
isInTable: boolean;
|