@stll/folio-core 0.46.0 → 0.47.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/dist/ai-edits/apply.js +26 -24
- package/dist/ai-edits/headless.js +1 -1
- package/dist/ai-edits/read.d.ts +1 -0
- package/dist/ai-edits/read.js +1 -0
- package/dist/ai-edits/snapshot.js +32 -27
- package/dist/ai-edits/table-cell-mutations.js +15 -7
- package/dist/ai-edits/table-geometry.js +21 -18
- package/dist/ai-edits/table-template.js +2 -2
- package/dist/compare/content-alignment.js +108 -12
- package/dist/compare/content-types.d.ts +8 -2
- package/dist/compare/content.js +2 -11
- package/dist/compare/plan.js +7 -4
- package/dist/compare/section-boundary-properties.js +1 -2
- package/dist/content-controls/checkboxDisplay.d.ts +8 -2
- package/dist/content-controls/checkboxDisplay.js +11 -5
- package/dist/content-controls/mutateContentControls.js +41 -42
- package/dist/controller/layoutPipeline.js +8 -3
- package/dist/display-list/build/buildDisplayList.js +7 -7
- package/dist/display-list/build/imagePrimitives.d.ts +4 -4
- package/dist/display-list/build/imagePrimitives.js +38 -20
- package/dist/display-list/build/pageBorderPrimitives.js +2 -1
- package/dist/display-list/build/paragraphPrimitives.js +93 -13
- package/dist/display-list/build/previewPrimitives.d.ts +10 -0
- package/dist/display-list/build/previewPrimitives.js +89 -0
- package/dist/display-list/build/strokes.d.ts +177 -8
- package/dist/display-list/build/strokes.js +167 -47
- package/dist/display-list/build/tablePrimitives.js +4 -2
- package/dist/display-list/build/textBoxPrimitives.js +6 -4
- package/dist/display-list/build/textDecorations.d.ts +15 -1
- package/dist/display-list/build/textDecorations.js +15 -1
- package/dist/display-list/dom/renderDisplayListToDom.js +1 -19
- package/dist/display-list/primitives.d.ts +13 -2
- package/dist/display-list/primitives.js +36 -1
- package/dist/document-operations.js +2 -1
- package/dist/docx/attributeRemainder.d.ts +34 -1
- package/dist/docx/attributeRemainder.js +49 -3
- package/dist/docx/blockContentParser.d.ts +2 -0
- package/dist/docx/blockContentParser.js +39 -67
- package/dist/docx/blockPlainText.js +3 -1
- package/dist/docx/borderParser.js +26 -11
- package/dist/docx/builtInStyles.d.ts +8 -16
- package/dist/docx/builtInStyles.js +54 -17
- package/dist/docx/commentAnchorIndex.js +1 -1
- package/dist/docx/commentParser.js +3 -3
- package/dist/docx/commentRangeIntegrity.js +1 -1
- package/dist/docx/commentRangeJoin.js +1 -1
- package/dist/docx/commentReferenceNormalization.js +3 -2
- package/dist/docx/commentReplyMarkers.js +1 -1
- package/dist/docx/compatibility.js +56 -42
- package/dist/docx/containerChildren.d.ts +110 -13
- package/dist/docx/containerChildren.gen.d.ts +16 -1
- package/dist/docx/containerChildren.gen.js +18 -1
- package/dist/docx/containerChildren.js +63 -13
- package/dist/docx/diagramPreview.d.ts +14 -2
- package/dist/docx/diagramPreview.js +81 -169
- package/dist/docx/documentParser.js +4 -1
- package/dist/docx/drawingAnchor.d.ts +87 -0
- package/dist/docx/drawingAnchor.js +201 -0
- package/dist/docx/drawingUtils.d.ts +43 -38
- package/dist/docx/drawingUtils.js +205 -118
- package/dist/docx/fontTableParser.js +102 -41
- package/dist/docx/footnoteParser.js +10 -6
- package/dist/docx/groupDrawingParser.js +4 -3
- package/dist/docx/headerFooterReferenceNormalization.js +1 -1
- package/dist/docx/hyperlinkParser.d.ts +45 -7
- package/dist/docx/hyperlinkParser.js +126 -57
- package/dist/docx/imageParser.js +127 -107
- package/dist/docx/index.d.ts +2 -1
- package/dist/docx/index.js +2 -1
- package/dist/docx/inlineContentRemovals.d.ts +28 -0
- package/dist/docx/inlineContentRemovals.js +46 -0
- package/dist/docx/inlineWrapperContent.d.ts +84 -3
- package/dist/docx/inlineWrapperContent.js +85 -4
- package/dist/docx/inlineWrapperParser.d.ts +11 -0
- package/dist/docx/inlineWrapperParser.js +60 -0
- package/dist/docx/nonVisualDrawingProps.d.ts +5 -13
- package/dist/docx/normalizeBaseDirection.js +4 -2
- package/dist/docx/numberingParser.d.ts +25 -2
- package/dist/docx/numberingParser.js +264 -361
- package/dist/docx/numberingReference.d.ts +9 -16
- package/dist/docx/numberingReference.js +17 -16
- package/dist/docx/numberingReferenceNormalization.js +7 -7
- package/dist/docx/ooxmlCounterFormatter.d.ts +1 -1
- package/dist/docx/ooxmlCounterFormatter.js +4 -1
- package/dist/docx/paraIdAttribute.d.ts +91 -1
- package/dist/docx/paraIdAttribute.js +79 -1
- package/dist/docx/paragraphParser.d.ts +9 -24
- package/dist/docx/paragraphParser.js +212 -396
- package/dist/docx/paragraphProperties.d.ts +23 -0
- package/dist/docx/paragraphProperties.js +279 -0
- package/dist/docx/paragraphPropertySource.js +2 -0
- package/dist/docx/paragraphTextBoxEnrichment.d.ts +2 -1
- package/dist/docx/paragraphTextBoxEnrichment.js +14 -7
- package/dist/docx/paragraphTraversal.d.ts +14 -10
- package/dist/docx/paragraphTraversal.js +47 -49
- package/dist/docx/parseWarningMessage.js +3 -0
- package/dist/docx/parserEnums.d.ts +6 -8
- package/dist/docx/parserEnums.js +4 -6
- package/dist/docx/preservedRunContent.js +16 -6
- package/dist/docx/previewBudget.d.ts +44 -23
- package/dist/docx/previewBudget.js +61 -30
- package/dist/docx/propertyElementAttributes.d.ts +178 -0
- package/dist/docx/propertyElementAttributes.js +114 -0
- package/dist/docx/renderedPageBreakNormalization.js +2 -2
- package/dist/docx/rezip.d.ts +28 -2
- package/dist/docx/rezip.js +78 -9
- package/dist/docx/runConsolidator.d.ts +42 -2
- package/dist/docx/runConsolidator.js +60 -6
- package/dist/docx/runParser.d.ts +54 -18
- package/dist/docx/runParser.js +379 -295
- package/dist/docx/runPayload.d.ts +5 -0
- package/dist/docx/runPayload.js +4 -0
- package/dist/docx/sdtProperties.d.ts +39 -5
- package/dist/docx/sdtProperties.js +205 -84
- package/dist/docx/sdtPropertiesPatch.d.ts +5 -9
- package/dist/docx/sdtPropertiesPatch.js +68 -112
- package/dist/docx/sectionParser.d.ts +1 -2
- package/dist/docx/sectionParser.js +236 -240
- package/dist/docx/selectiveSave.js +3 -2
- package/dist/docx/selectiveXmlPatch.d.ts +21 -2
- package/dist/docx/selectiveXmlPatch.js +195 -99
- package/dist/docx/serializer/blockSdtSerializer.js +2 -96
- package/dist/docx/serializer/borderSerializer.d.ts +5 -5
- package/dist/docx/serializer/borderSerializer.js +10 -8
- package/dist/docx/serializer/documentSerializer.js +3 -0
- package/dist/docx/serializer/fontTableSerializer.js +31 -3
- package/dist/docx/serializer/headerFooterSerializer.js +3 -0
- package/dist/docx/serializer/markupRangeAttributes.d.ts +9 -1
- package/dist/docx/serializer/markupRangeAttributes.js +9 -1
- package/dist/docx/serializer/noteSerializer.js +3 -0
- package/dist/docx/serializer/numberingSerializer.d.ts +1 -6
- package/dist/docx/serializer/numberingSerializer.js +81 -79
- package/dist/docx/serializer/paragraphSerializer.d.ts +1 -9
- package/dist/docx/serializer/paragraphSerializer.js +88 -188
- package/dist/docx/serializer/runSerializer.d.ts +1 -5
- package/dist/docx/serializer/runSerializer.js +109 -59
- package/dist/docx/serializer/sdtPropertiesSerializer.d.ts +26 -0
- package/dist/docx/serializer/sdtPropertiesSerializer.js +111 -0
- package/dist/docx/serializer/sectionPropertiesSerializer.js +34 -45
- package/dist/docx/serializer/settingsSerializer.js +6 -4
- package/dist/docx/serializer/stylesSerializer.js +8 -11
- package/dist/docx/serializer/tableSerializer.js +268 -100
- package/dist/docx/serializer/textFormattingSerializer.d.ts +28 -4
- package/dist/docx/serializer/textFormattingSerializer.js +111 -101
- package/dist/docx/serializer/xmlUtils.d.ts +1 -1
- package/dist/docx/serializer/xmlUtils.js +1 -1
- package/dist/docx/server/createBilingualDocument.js +18 -16
- package/dist/docx/server/migrateYjsAttrSchema.js +3 -3
- package/dist/docx/settingsParser.js +7 -4
- package/dist/docx/shadingParser.d.ts +2 -1
- package/dist/docx/shadingParser.js +43 -7
- package/dist/docx/shapeParser.js +8 -3
- package/dist/docx/strictNames.d.ts +11 -0
- package/dist/docx/strictNames.gen.d.ts +45 -0
- package/dist/docx/strictNames.gen.js +50 -0
- package/dist/docx/strictNames.js +43 -0
- package/dist/docx/strictValueEncodings.gen.js +133 -131
- package/dist/docx/styleParser.js +17 -349
- package/dist/docx/tableParser.d.ts +10 -1
- package/dist/docx/tableParser.js +505 -181
- package/dist/docx/textBoxParser.d.ts +3 -1
- package/dist/docx/textBoxParser.js +18 -8
- package/dist/docx/themeColorAttribute.d.ts +13 -0
- package/dist/docx/themeColorAttribute.js +24 -0
- package/dist/docx/trackedMoveRangeNormalization.js +2 -1
- package/dist/docx/vmlImageParser.d.ts +13 -4
- package/dist/docx/vmlImageParser.js +74 -31
- package/dist/docx/vmlPreview.js +2 -2
- package/dist/docx/wrapPolygon.d.ts +30 -0
- package/dist/docx/wrapPolygon.js +70 -0
- package/dist/docx/xmlParser.d.ts +14 -1
- package/dist/docx/xmlParser.js +18 -2
- package/dist/fonts/embeddedFonts.js +3 -3
- package/dist/headless-layout.js +2 -0
- package/dist/i18n/messages/catalogs.gen.d.ts +68 -0
- package/dist/i18n/messages/catalogs.gen.js +102 -34
- package/dist/i18n/messages/messages.gen.d.ts +4 -0
- package/dist/internal/headlessRevisionResolution.js +9 -0
- package/dist/internal/pageBreakRunSourceDescendantIndex.js +3 -1
- package/dist/internal/paragraphFormattingSerialization.d.ts +20 -9
- package/dist/internal/paragraphFormattingSerialization.js +118 -83
- package/dist/layout-bridge/convert/footnoteLayout.d.ts +1 -0
- package/dist/layout-bridge/convert/footnoteLayout.js +1 -0
- package/dist/layout-bridge/convert/headerFooterLayout.d.ts +1 -0
- package/dist/layout-bridge/convert/headerFooterLayout.js +2 -0
- package/dist/layout-bridge/convert/toFlowBlocks.d.ts +17 -12
- package/dist/layout-bridge/convert/toFlowBlocks.js +177 -101
- package/dist/layout-engine/index.d.ts +2 -2
- package/dist/layout-engine/index.js +53 -17
- package/dist/layout-engine/measure/measureBlocks.d.ts +3 -0
- package/dist/layout-engine/measure/measureBlocks.js +6 -10
- package/dist/layout-engine/measure/tableCellGrid.js +2 -1
- package/dist/layout-engine/measure/tableFragmentBorderGeometry.js +2 -1
- package/dist/layout-engine/measure/tableInlinePlacement.js +2 -5
- package/dist/layout-engine/paragraphSequence.js +3 -2
- package/dist/layout-engine/renderedBreakReconciliation.js +2 -1
- package/dist/layout-engine/section-breaks.d.ts +49 -2
- package/dist/layout-engine/section-breaks.js +55 -4
- package/dist/layout-engine/types.d.ts +47 -17
- package/dist/layout-engine/types.js +16 -1
- package/dist/layout-painter/borderStroke.d.ts +18 -4
- package/dist/layout-painter/renderPage.js +6 -4
- package/dist/layout-painter/renderParagraph.d.ts +2 -1
- package/dist/layout-painter/renderParagraph.js +13 -26
- package/dist/layout-painter/renderTable.d.ts +4 -1
- package/dist/layout-painter/renderTable.js +22 -22
- package/dist/layout-painter/renderTextBox.js +5 -3
- package/dist/markdown/renderBlock.js +3 -1
- package/dist/markdown/renderRuns.js +7 -2
- package/dist/markdown/renderTable.js +2 -1
- package/dist/model.d.ts +3 -3
- package/dist/model.js +2 -2
- package/dist/paged-layout/sectionBlockWidths.d.ts +3 -0
- package/dist/paged-layout/sectionBlockWidths.js +26 -4
- package/dist/prosemirror/attrs/index.d.ts +22 -4
- package/dist/prosemirror/attrs/index.js +498 -60
- package/dist/prosemirror/bookmarkBoundaryAttrs.d.ts +9 -1
- package/dist/prosemirror/bookmarkBoundaryAttrs.js +22 -3
- package/dist/prosemirror/commands/comments.js +68 -53
- package/dist/prosemirror/commands/contentControls.js +24 -19
- package/dist/prosemirror/commands/image.d.ts +1 -1
- package/dist/prosemirror/commands/image.js +4 -1
- package/dist/prosemirror/commands/paragraph.d.ts +2 -1
- package/dist/prosemirror/commands/propertyChangeScope.d.ts +12 -4
- package/dist/prosemirror/commands/propertyChangeScope.js +22 -4
- package/dist/prosemirror/commands/sectionBreak.d.ts +33 -1
- package/dist/prosemirror/commands/sectionBreak.js +187 -11
- package/dist/prosemirror/conversion/fromProseDoc.d.ts +18 -2
- package/dist/prosemirror/conversion/fromProseDoc.js +330 -183
- package/dist/prosemirror/conversion/index.d.ts +2 -2
- package/dist/prosemirror/conversion/preservedSinkCarriers.d.ts +39 -0
- package/dist/prosemirror/conversion/preservedSinkCarriers.js +19 -0
- package/dist/prosemirror/conversion/runShadingMark.js +14 -1
- package/dist/prosemirror/conversion/sdtAttrs.d.ts +10 -1
- package/dist/prosemirror/conversion/sdtAttrs.js +19 -5
- package/dist/prosemirror/conversion/toProseDoc.js +371 -141
- package/dist/prosemirror/emptyRangeAnchor.d.ts +53 -0
- package/dist/prosemirror/emptyRangeAnchor.js +158 -0
- package/dist/prosemirror/extensions/StarterKit.js +8 -2
- package/dist/prosemirror/extensions/core/DocExtension.js +1 -1
- package/dist/prosemirror/extensions/core/ParagraphExtension.js +19 -15
- package/dist/prosemirror/extensions/features/BaseKeymapExtension.js +3 -2
- package/dist/prosemirror/extensions/features/ListExtension.js +43 -24
- package/dist/prosemirror/extensions/features/ParagraphChangeTrackerExtension.js +4 -3
- package/dist/prosemirror/extensions/features/PasteCleanupExtension.d.ts +3 -3
- package/dist/prosemirror/extensions/features/PasteCleanupExtension.js +5 -5
- package/dist/prosemirror/extensions/features/pasteCleanup.d.ts +3 -1
- package/dist/prosemirror/extensions/features/pasteCleanup.js +56 -2
- package/dist/prosemirror/extensions/features/pastedHeadingStyles.js +5 -4
- package/dist/prosemirror/extensions/markRegistry.d.ts +26 -2
- package/dist/prosemirror/extensions/markRegistry.js +73 -10
- package/dist/prosemirror/extensions/marks/InlineWrapperExtension.js +17 -3
- package/dist/prosemirror/extensions/marks/RunIdentityExtension.d.ts +26 -0
- package/dist/prosemirror/extensions/marks/RunIdentityExtension.js +134 -0
- package/dist/prosemirror/extensions/marks/TrackedChangeExtensions.js +2 -1
- package/dist/prosemirror/extensions/marks/UnderlineExtension.js +12 -18
- package/dist/prosemirror/extensions/marks/markUtils.js +2 -1
- package/dist/prosemirror/extensions/nodes/BlockBookmarkBoundaryExtension.d.ts +29 -0
- package/dist/prosemirror/extensions/nodes/BlockBookmarkBoundaryExtension.js +46 -0
- package/dist/prosemirror/extensions/nodes/BlockSdtExtension.d.ts +4 -3
- package/dist/prosemirror/extensions/nodes/BlockSdtExtension.js +18 -13
- package/dist/prosemirror/extensions/nodes/BookmarkBoundaryExtension.js +28 -53
- package/dist/prosemirror/extensions/nodes/CommentReferenceExtension.js +10 -0
- package/dist/prosemirror/extensions/nodes/ImageExtension.js +8 -1
- package/dist/prosemirror/extensions/nodes/MoveRangeBoundaryExtension.d.ts +11 -0
- package/dist/prosemirror/extensions/nodes/MoveRangeBoundaryExtension.js +43 -0
- package/dist/prosemirror/extensions/nodes/RangeAnchorExtension.d.ts +13 -0
- package/dist/prosemirror/extensions/nodes/RangeAnchorExtension.js +65 -0
- package/dist/prosemirror/extensions/nodes/SdtExtension.d.ts +3 -1
- package/dist/prosemirror/extensions/nodes/SdtExtension.js +22 -16
- package/dist/prosemirror/extensions/nodes/ShapeExtension.js +4 -0
- package/dist/prosemirror/extensions/nodes/TableExtension.js +141 -123
- package/dist/prosemirror/extensions/nodes/TextBoxExtension.js +4 -0
- package/dist/prosemirror/extensions/nodes/bookmarkBoundaryDom.d.ts +23 -0
- package/dist/prosemirror/extensions/nodes/bookmarkBoundaryDom.js +57 -0
- package/dist/prosemirror/extensions/types.d.ts +12 -3
- package/dist/prosemirror/index.d.ts +4 -2
- package/dist/prosemirror/index.js +2 -1
- package/dist/prosemirror/inlineWrapperStack.js +20 -3
- package/dist/prosemirror/listMarker.d.ts +2 -2
- package/dist/prosemirror/listMarker.js +7 -8
- package/dist/prosemirror/listRenderingAttrs.js +11 -1
- package/dist/prosemirror/listState.d.ts +62 -0
- package/dist/prosemirror/listState.js +49 -0
- package/dist/prosemirror/moveRangeBoundaryAttrs.d.ts +13 -0
- package/dist/prosemirror/moveRangeBoundaryAttrs.js +114 -0
- package/dist/prosemirror/numberedRefFields.js +4 -4
- package/dist/prosemirror/numberingAttr.d.ts +55 -0
- package/dist/prosemirror/numberingAttr.js +74 -0
- package/dist/prosemirror/outlineLevelAttr.d.ts +29 -0
- package/dist/prosemirror/outlineLevelAttr.js +42 -0
- package/dist/prosemirror/paragraphFormattingProvenance.d.ts +9 -0
- package/dist/prosemirror/paragraphFormattingProvenance.js +4 -1
- package/dist/prosemirror/plugins/selectionTracker.d.ts +3 -6
- package/dist/prosemirror/plugins/selectionTracker.js +3 -10
- package/dist/prosemirror/rangeAnchorAttrs.d.ts +14 -0
- package/dist/prosemirror/rangeAnchorAttrs.js +101 -0
- package/dist/prosemirror/replacedAnnotations.d.ts +1 -1
- package/dist/prosemirror/replacedAnnotations.js +24 -6
- package/dist/prosemirror/revisionCarriers.d.ts +86 -2
- package/dist/prosemirror/revisionCarriers.js +86 -60
- package/dist/prosemirror/runFormattingInlineCarriers.d.ts +2 -0
- package/dist/prosemirror/runFormattingInlineCarriers.js +2 -0
- package/dist/prosemirror/runIdentity.d.ts +28 -0
- package/dist/prosemirror/runIdentity.js +36 -0
- package/dist/prosemirror/runStyleFormatting.js +1 -1
- package/dist/prosemirror/schema/index.d.ts +2 -2
- package/dist/prosemirror/schema/marks.d.ts +23 -4
- package/dist/prosemirror/schema/nodes.d.ts +220 -24
- package/dist/prosemirror/sectionCarrier.d.ts +37 -0
- package/dist/prosemirror/sectionCarrier.js +40 -0
- package/dist/prosemirror/selectionState.d.ts +3 -0
- package/dist/prosemirror/selectionState.js +4 -1
- package/dist/prosemirror/styles/resolvedStyleAttrs.d.ts +5 -4
- package/dist/prosemirror/styles/resolvedStyleAttrs.js +15 -13
- package/dist/prosemirror/tableResize.js +5 -6
- package/dist/prosemirror/trackedRunInlineAtoms.d.ts +2 -0
- package/dist/prosemirror/trackedRunInlineAtoms.js +2 -0
- package/dist/prosemirror/utils/extractTrackedChanges.d.ts +10 -11
- package/dist/prosemirror/utils/extractTrackedChanges.js +109 -92
- package/dist/prosemirror/validation.js +17 -6
- package/dist/prosemirror/yjsDocumentMetadata.d.ts +2 -2
- package/dist/prosemirror/yjsDocumentMetadata.js +428 -7
- package/dist/prosemirror/zeroWidthAnchors.js +4 -0
- package/dist/style-sets/extract.js +4 -4
- package/dist/style-sets/stellaStyle.js +36 -23
- package/dist/types/colors.d.ts +2 -2
- package/dist/types/content.d.ts +2 -2
- package/dist/types/documentEnumValues.d.ts +53 -26
- package/dist/types/documentEnumValues.js +72 -174
- package/dist/types/formatting.d.ts +2 -2
- package/dist/types/index.d.ts +9 -2
- package/dist/utils/borderCss.d.ts +246 -0
- package/dist/utils/borderCss.js +325 -0
- package/dist/utils/colorResolver.d.ts +4 -3
- package/dist/utils/colorResolver.js +45 -76
- package/dist/utils/createDocument.js +24 -6
- package/dist/utils/findReplace.js +52 -10
- package/dist/utils/formatToStyle.d.ts +84 -2
- package/dist/utils/formatToStyle.js +133 -52
- package/dist/utils/headingCollector.js +3 -2
- package/dist/utils/mergeDocumentContent.js +5 -3
- package/dist/utils/paragraphFormattingMerge.js +27 -6
- package/dist/utils/replaceText.js +1 -1
- package/dist/utils/tableOperations.d.ts +5 -3
- package/dist/utils/tableOperations.js +14 -1
- package/dist/utils/tablePlacement.d.ts +7 -0
- package/dist/utils/tablePlacement.js +14 -0
- package/dist/utils/textDirectionFlow.d.ts +15 -0
- package/dist/utils/textDirectionFlow.js +38 -0
- package/dist/utils/textFormattingMerge.js +16 -4
- package/package.json +10 -10
- package/dist/ai-edits/__fixtures__/paragraphs.d.ts +0 -17
- package/dist/ai-edits/__fixtures__/paragraphs.js +0 -33
- package/dist/compare/__fixtures__/body-sequence.d.ts +0 -119
- package/dist/compare/__fixtures__/body-sequence.js +0 -225
- package/dist/compare/__fixtures__/nested-table.d.ts +0 -16
- package/dist/compare/__fixtures__/nested-table.js +0 -50
- package/dist/compare/__fixtures__/numbered-list.d.ts +0 -34
- package/dist/compare/__fixtures__/numbered-list.js +0 -85
- package/dist/docx/bookmarkPlacement.d.ts +0 -9
- package/dist/docx/bookmarkPlacement.js +0 -52
- package/dist/fonts/embeddedFontTable.d.ts +0 -45
- package/dist/fonts/embeddedFontTable.js +0 -80
- package/dist/prosemirror/extensions/marks/PageBreakRunOwnerExtension.d.ts +0 -13
- package/dist/prosemirror/extensions/marks/PageBreakRunOwnerExtension.js +0 -39
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { document_d_exports } from "../types/document.js";
|
|
2
|
-
//#region src/docx/bookmarkPlacement.d.ts
|
|
3
|
-
type BookmarkMarker = document_d_exports.BookmarkStart | document_d_exports.BookmarkEnd;
|
|
4
|
-
declare const appendBookmarkMarkerToLastParagraphInBlocks: (blocks: readonly document_d_exports.BlockContent[], marker: BookmarkMarker) => boolean;
|
|
5
|
-
declare const prependBookmarkMarkersToFirstParagraphInBlocks: (blocks: readonly document_d_exports.BlockContent[], markers: readonly BookmarkMarker[]) => boolean;
|
|
6
|
-
declare const appendBookmarkMarkerToLastParagraphInCells: (cells: readonly document_d_exports.TableCell[], marker: BookmarkMarker) => boolean;
|
|
7
|
-
declare const prependBookmarkMarkersToFirstParagraphInCell: (cell: document_d_exports.TableCell, markers: readonly BookmarkMarker[]) => boolean;
|
|
8
|
-
//#endregion
|
|
9
|
-
export { BookmarkMarker, appendBookmarkMarkerToLastParagraphInBlocks, appendBookmarkMarkerToLastParagraphInCells, prependBookmarkMarkersToFirstParagraphInBlocks, prependBookmarkMarkersToFirstParagraphInCell };
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
//#region src/docx/bookmarkPlacement.ts
|
|
2
|
-
const appendBookmarkMarkerToLastParagraphInBlocks = (blocks, marker) => {
|
|
3
|
-
for (let index = blocks.length - 1; index >= 0; index -= 1) {
|
|
4
|
-
const block = blocks[index];
|
|
5
|
-
if (block && appendBookmarkMarkerToLastParagraph(block, marker)) return true;
|
|
6
|
-
}
|
|
7
|
-
return false;
|
|
8
|
-
};
|
|
9
|
-
const prependBookmarkMarkersToFirstParagraphInBlocks = (blocks, markers) => {
|
|
10
|
-
if (markers.length === 0) return true;
|
|
11
|
-
for (const block of blocks) if (prependBookmarkMarkersToFirstParagraph(block, markers)) return true;
|
|
12
|
-
return false;
|
|
13
|
-
};
|
|
14
|
-
const appendBookmarkMarkerToLastParagraphInCells = (cells, marker) => {
|
|
15
|
-
for (let index = cells.length - 1; index >= 0; index -= 1) {
|
|
16
|
-
const cell = cells[index];
|
|
17
|
-
if (cell && appendBookmarkMarkerToLastParagraphInBlocks(cell.content, marker)) return true;
|
|
18
|
-
}
|
|
19
|
-
return false;
|
|
20
|
-
};
|
|
21
|
-
const prependBookmarkMarkersToFirstParagraphInCell = (cell, markers) => prependBookmarkMarkersToFirstParagraphInBlocks(cell.content, markers);
|
|
22
|
-
const appendBookmarkMarkerToLastParagraph = (block, marker) => {
|
|
23
|
-
if (block.type === "paragraph") {
|
|
24
|
-
block.content.push(marker);
|
|
25
|
-
return true;
|
|
26
|
-
}
|
|
27
|
-
if (block.type === "table") return appendBookmarkMarkerToLastParagraphInTable(block, marker);
|
|
28
|
-
if (block.type === "preservedBlock") return false;
|
|
29
|
-
return appendBookmarkMarkerToLastParagraphInBlocks(block.content, marker);
|
|
30
|
-
};
|
|
31
|
-
const appendBookmarkMarkerToLastParagraphInTable = (table, marker) => {
|
|
32
|
-
for (let rowIndex = table.rows.length - 1; rowIndex >= 0; rowIndex -= 1) {
|
|
33
|
-
const row = table.rows[rowIndex];
|
|
34
|
-
if (row && appendBookmarkMarkerToLastParagraphInCells(row.cells, marker)) return true;
|
|
35
|
-
}
|
|
36
|
-
return false;
|
|
37
|
-
};
|
|
38
|
-
const prependBookmarkMarkersToFirstParagraph = (block, markers) => {
|
|
39
|
-
if (block.type === "paragraph") {
|
|
40
|
-
block.content.unshift(...markers);
|
|
41
|
-
return true;
|
|
42
|
-
}
|
|
43
|
-
if (block.type === "table") return prependBookmarkMarkersToFirstParagraphInTable(block, markers);
|
|
44
|
-
if (block.type === "preservedBlock") return false;
|
|
45
|
-
return prependBookmarkMarkersToFirstParagraphInBlocks(block.content, markers);
|
|
46
|
-
};
|
|
47
|
-
const prependBookmarkMarkersToFirstParagraphInTable = (table, markers) => {
|
|
48
|
-
for (const row of table.rows) for (const cell of row.cells) if (prependBookmarkMarkersToFirstParagraphInCell(cell, markers)) return true;
|
|
49
|
-
return false;
|
|
50
|
-
};
|
|
51
|
-
//#endregion
|
|
52
|
-
export { appendBookmarkMarkerToLastParagraphInBlocks, appendBookmarkMarkerToLastParagraphInCells, prependBookmarkMarkersToFirstParagraphInBlocks, prependBookmarkMarkersToFirstParagraphInCell };
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
//#region src/fonts/embeddedFontTable.d.ts
|
|
2
|
-
/**
|
|
3
|
-
* Parses the embedded-font references out of `word/fontTable.xml`.
|
|
4
|
-
*
|
|
5
|
-
* The shared docx model (`@stll/docx-core`) keeps only the embed relationship
|
|
6
|
-
* ids and drops the `w:fontKey` GUID, which is exactly the value needed to
|
|
7
|
-
* de-obfuscate the `.odttf` binary. This parser therefore reads the font table
|
|
8
|
-
* directly and keeps the full embed reference (rel id, key, subsetted flag).
|
|
9
|
-
*
|
|
10
|
-
* Structure:
|
|
11
|
-
* ```xml
|
|
12
|
-
* <w:fonts>
|
|
13
|
-
* <w:font w:name="My Brand Sans">
|
|
14
|
-
* <w:embedRegular r:id="rId1" w:fontKey="{GUID}" w:subsetted="true"/>
|
|
15
|
-
* </w:font>
|
|
16
|
-
* </w:fonts>
|
|
17
|
-
* ```
|
|
18
|
-
*
|
|
19
|
-
* Ported from eigenpal/docx-editor (see NOTICE.md).
|
|
20
|
-
*/
|
|
21
|
-
/** A single embedded face referenced from a `w:embed*` element. */
|
|
22
|
-
type EmbeddedFontFaceRef = {
|
|
23
|
-
/** Relationship id (`r:id`) resolved via `word/_rels/fontTable.xml.rels`. */
|
|
24
|
-
relId: string;
|
|
25
|
-
/** Obfuscation key GUID (`w:fontKey`), e.g. `{XXXXXXXX-...}`. */
|
|
26
|
-
fontKey?: string;
|
|
27
|
-
/** Whether the embedded face is subsetted (`w:subsetted`). */
|
|
28
|
-
subsetted?: boolean;
|
|
29
|
-
};
|
|
30
|
-
/** One `<w:font>` entry with whichever of the four embed faces it declares. */
|
|
31
|
-
type EmbeddedFontEntry = {
|
|
32
|
-
name: string;
|
|
33
|
-
embedRegular?: EmbeddedFontFaceRef;
|
|
34
|
-
embedBold?: EmbeddedFontFaceRef;
|
|
35
|
-
embedItalic?: EmbeddedFontFaceRef;
|
|
36
|
-
embedBoldItalic?: EmbeddedFontFaceRef;
|
|
37
|
-
};
|
|
38
|
-
/**
|
|
39
|
-
* Parse `word/fontTable.xml` into the list of font entries that declare at
|
|
40
|
-
* least one embedded face. Entries with no embeds are still returned (callers
|
|
41
|
-
* filter), and missing/unparseable input yields an empty list.
|
|
42
|
-
*/
|
|
43
|
-
declare function parseEmbeddedFontTable(fontTableXml: string | null | undefined): EmbeddedFontEntry[];
|
|
44
|
-
//#endregion
|
|
45
|
-
export { EmbeddedFontEntry, EmbeddedFontFaceRef, parseEmbeddedFontTable };
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { findChild, findChildren, getAttribute, parseXmlDocument } from "../docx/xmlParser.js";
|
|
2
|
-
//#region src/fonts/embeddedFontTable.ts
|
|
3
|
-
/**
|
|
4
|
-
* Parses the embedded-font references out of `word/fontTable.xml`.
|
|
5
|
-
*
|
|
6
|
-
* The shared docx model (`@stll/docx-core`) keeps only the embed relationship
|
|
7
|
-
* ids and drops the `w:fontKey` GUID, which is exactly the value needed to
|
|
8
|
-
* de-obfuscate the `.odttf` binary. This parser therefore reads the font table
|
|
9
|
-
* directly and keeps the full embed reference (rel id, key, subsetted flag).
|
|
10
|
-
*
|
|
11
|
-
* Structure:
|
|
12
|
-
* ```xml
|
|
13
|
-
* <w:fonts>
|
|
14
|
-
* <w:font w:name="My Brand Sans">
|
|
15
|
-
* <w:embedRegular r:id="rId1" w:fontKey="{GUID}" w:subsetted="true"/>
|
|
16
|
-
* </w:font>
|
|
17
|
-
* </w:fonts>
|
|
18
|
-
* ```
|
|
19
|
-
*
|
|
20
|
-
* Ported from eigenpal/docx-editor (see NOTICE.md).
|
|
21
|
-
*/
|
|
22
|
-
/** The four `w:embed*` local names paired with the entry field they populate. */
|
|
23
|
-
const EMBED_ELEMENTS = [
|
|
24
|
-
{
|
|
25
|
-
element: "embedRegular",
|
|
26
|
-
field: "embedRegular"
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
element: "embedBold",
|
|
30
|
-
field: "embedBold"
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
element: "embedItalic",
|
|
34
|
-
field: "embedItalic"
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
element: "embedBoldItalic",
|
|
38
|
-
field: "embedBoldItalic"
|
|
39
|
-
}
|
|
40
|
-
];
|
|
41
|
-
function parseEmbed(font, localName) {
|
|
42
|
-
const el = findChild(font, "w", localName);
|
|
43
|
-
if (!el) return;
|
|
44
|
-
const relId = getAttribute(el, "r", "id");
|
|
45
|
-
if (!relId) return;
|
|
46
|
-
const ref = { relId };
|
|
47
|
-
const fontKey = getAttribute(el, "w", "fontKey");
|
|
48
|
-
if (fontKey) ref.fontKey = fontKey;
|
|
49
|
-
const subsetted = getAttribute(el, "w", "subsetted");
|
|
50
|
-
if (subsetted === "true" || subsetted === "1") ref.subsetted = true;
|
|
51
|
-
return ref;
|
|
52
|
-
}
|
|
53
|
-
function parseFontEntry(font) {
|
|
54
|
-
const name = getAttribute(font, "w", "name");
|
|
55
|
-
if (!name) return null;
|
|
56
|
-
const entry = { name };
|
|
57
|
-
for (const { element, field } of EMBED_ELEMENTS) {
|
|
58
|
-
const ref = parseEmbed(font, element);
|
|
59
|
-
if (ref) entry[field] = ref;
|
|
60
|
-
}
|
|
61
|
-
return entry;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Parse `word/fontTable.xml` into the list of font entries that declare at
|
|
65
|
-
* least one embedded face. Entries with no embeds are still returned (callers
|
|
66
|
-
* filter), and missing/unparseable input yields an empty list.
|
|
67
|
-
*/
|
|
68
|
-
function parseEmbeddedFontTable(fontTableXml) {
|
|
69
|
-
if (!fontTableXml || fontTableXml.trim().length === 0) return [];
|
|
70
|
-
const root = parseXmlDocument(fontTableXml);
|
|
71
|
-
if (!root) return [];
|
|
72
|
-
const entries = [];
|
|
73
|
-
for (const font of findChildren(root, "w", "font")) {
|
|
74
|
-
const entry = parseFontEntry(font);
|
|
75
|
-
if (entry) entries.push(entry);
|
|
76
|
-
}
|
|
77
|
-
return entries;
|
|
78
|
-
}
|
|
79
|
-
//#endregion
|
|
80
|
-
export { parseEmbeddedFontTable };
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { MarkExtension } from "../types.js";
|
|
2
|
-
//#region src/prosemirror/extensions/marks/PageBreakRunOwnerExtension.d.ts
|
|
3
|
-
/**
|
|
4
|
-
* Editor-only identity for the authored run surrounding a page-break atom.
|
|
5
|
-
*
|
|
6
|
-
* Ordinary formatting marks cannot distinguish two adjacent source runs with
|
|
7
|
-
* identical properties. This mark is added only to a run containing an
|
|
8
|
-
* explicit page break, so every sibling carrier can be rejoined exactly on
|
|
9
|
-
* save without changing the generic run-coalescing model.
|
|
10
|
-
*/
|
|
11
|
-
declare const PageBreakRunOwnerExtension: (options?: Partial<Record<string, unknown>> | undefined) => MarkExtension;
|
|
12
|
-
//#endregion
|
|
13
|
-
export { PageBreakRunOwnerExtension };
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { expectPageBreakRunOwnerMarkAttrs } from "../../attrs/index.js";
|
|
2
|
-
import { createMarkExtension } from "../create.js";
|
|
3
|
-
//#region src/prosemirror/extensions/marks/PageBreakRunOwnerExtension.ts
|
|
4
|
-
/**
|
|
5
|
-
* Editor-only identity for the authored run surrounding a page-break atom.
|
|
6
|
-
*
|
|
7
|
-
* Ordinary formatting marks cannot distinguish two adjacent source runs with
|
|
8
|
-
* identical properties. This mark is added only to a run containing an
|
|
9
|
-
* explicit page break, so every sibling carrier can be rejoined exactly on
|
|
10
|
-
* save without changing the generic run-coalescing model.
|
|
11
|
-
*/
|
|
12
|
-
const CANONICAL_OWNER_ID = /^(?:0|[1-9]\d*)$/u;
|
|
13
|
-
const PageBreakRunOwnerExtension = createMarkExtension({
|
|
14
|
-
name: "pageBreakRunOwner",
|
|
15
|
-
schemaMarkName: "pageBreakRunOwner",
|
|
16
|
-
markSpec: {
|
|
17
|
-
attrs: { id: {} },
|
|
18
|
-
inclusive: false,
|
|
19
|
-
parseDOM: [{
|
|
20
|
-
tag: "span[data-docx-page-break-run-owner]",
|
|
21
|
-
getAttrs(dom) {
|
|
22
|
-
const rawId = dom.dataset["docxPageBreakRunOwner"];
|
|
23
|
-
if (rawId === void 0 || !CANONICAL_OWNER_ID.test(rawId)) return false;
|
|
24
|
-
const id = Number(rawId);
|
|
25
|
-
return Number.isSafeInteger(id) ? { id } : false;
|
|
26
|
-
}
|
|
27
|
-
}],
|
|
28
|
-
toDOM(mark) {
|
|
29
|
-
const { id } = expectPageBreakRunOwnerMarkAttrs(mark);
|
|
30
|
-
return [
|
|
31
|
-
"span",
|
|
32
|
-
{ "data-docx-page-break-run-owner": String(id) },
|
|
33
|
-
0
|
|
34
|
-
];
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
//#endregion
|
|
39
|
-
export { PageBreakRunOwnerExtension };
|