@stll/folio-core 0.15.0 → 0.15.2
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.d.ts +2 -2
- package/dist/ai-edits/blockRange.d.ts +3 -17
- package/dist/ai-edits/clean-text.d.ts +0 -1
- package/dist/ai-edits/headless.d.ts +23 -19
- package/dist/ai-edits/read.d.ts +8 -5
- package/dist/ai-edits/scoped-reading.d.ts +0 -1
- package/dist/ai-edits/snapshot.d.ts +1 -7
- package/dist/ai-edits/table-cell-mutations.d.ts +4 -31
- package/dist/ai-edits/table-row-column-mutations.d.ts +9 -39
- package/dist/ai-edits/table-targets.d.ts +0 -1
- package/dist/ai-edits/types.d.ts +32 -17
- package/dist/ai-suggestions/apply.d.ts +0 -1
- package/dist/ai-suggestions/conflict.d.ts +0 -1
- package/dist/ai-suggestions/text-positions.d.ts +2 -2
- package/dist/ai-suggestions/types.d.ts +27 -13
- package/dist/content-controls/errors.d.ts +0 -1
- package/dist/content-controls/findContentControls.d.ts +6 -4
- package/dist/content-controls/mutateContentControls.d.ts +0 -1
- package/dist/controller/activeEditorStory.d.ts +1 -6
- package/dist/controller/collaborationModules.d.ts +0 -1
- package/dist/controller/contentControlWidgetController.d.ts +0 -1
- package/dist/controller/folioEditor.d.ts +2 -2
- package/dist/controller/folioEditorEvents.d.ts +5 -3
- package/dist/controller/fontReadiness.d.ts +0 -1
- package/dist/controller/headerFooterEditorManager.d.ts +1 -5
- package/dist/controller/hiddenEditorApi.d.ts +35 -18
- package/dist/controller/hiddenEditorManager.d.ts +5 -3
- package/dist/controller/latestRequestGate.d.ts +3 -1
- package/dist/controller/layoutPipeline.d.ts +1 -1
- package/dist/controller/layoutScheduler.d.ts +8 -5
- package/dist/controller/layoutSession.d.ts +0 -1
- package/dist/controller/noteEditorManager.d.ts +0 -1
- package/dist/document-operations.d.ts +5 -12
- package/dist/document-stories.d.ts +0 -1
- package/dist/docx/blockContentParser.d.ts +0 -1
- package/dist/docx/blockContentParser.js +1 -0
- package/dist/docx/bookmarkParser.d.ts +5 -3
- package/dist/docx/bookmarkPlacement.d.ts +0 -1
- package/dist/docx/commentParser.d.ts +0 -1
- package/dist/docx/commentParser.js +30 -2
- package/dist/docx/commentRangeIntegrity.d.ts +0 -1
- package/dist/docx/commentReferenceNormalization.d.ts +1 -9
- package/dist/docx/commentReplyMarkers.d.ts +0 -1
- package/dist/docx/compatibility.d.ts +0 -1
- package/dist/docx/conformance.d.ts +0 -1
- package/dist/docx/corePropertiesParser.d.ts +0 -1
- package/dist/docx/documentParser.d.ts +0 -1
- package/dist/docx/documentParser.js +3 -1
- package/dist/docx/drawingIdNormalization.d.ts +5 -0
- package/dist/docx/drawingIdNormalization.js +35 -0
- package/dist/docx/drawingUtils.d.ts +24 -3
- package/dist/docx/drawingUtils.js +134 -28
- package/dist/docx/encryption/agileDecryption.d.ts +0 -1
- package/dist/docx/encryption/cryptoBytes.js +4 -1
- package/dist/docx/encryption/openEncryptedDocx.d.ts +5 -2
- package/dist/docx/ensureParaIds.d.ts +7 -3
- package/dist/docx/fieldParser.d.ts +23 -11
- package/dist/docx/fontTableParser.d.ts +0 -1
- package/dist/docx/footnoteParser.d.ts +26 -13
- package/dist/docx/footnoteParser.js +4 -2
- package/dist/docx/groupDrawingParser.d.ts +0 -1
- package/dist/docx/headerFooterParser.d.ts +9 -5
- package/dist/docx/headerFooterRefParser.d.ts +0 -1
- package/dist/docx/headerFooterReferenceNormalization.d.ts +1 -6
- package/dist/docx/headerFooterVerbatim.d.ts +4 -3
- package/dist/docx/headerFooterVerbatim.js +6 -1
- package/dist/docx/hyperlinkParser.d.ts +0 -1
- package/dist/docx/hyperlinkParser.js +1 -9
- package/dist/docx/imageParser.d.ts +0 -1
- package/dist/docx/imageParser.js +15 -7
- package/dist/docx/mathToMathml.d.ts +0 -1
- package/dist/docx/metadataPrivacy.d.ts +1 -3
- package/dist/docx/modelValidation.d.ts +0 -1
- package/dist/docx/newImage.d.ts +11 -0
- package/dist/docx/newImage.js +11 -0
- package/dist/docx/normalizeBaseDirection.d.ts +0 -1
- package/dist/docx/notePropertiesParser.d.ts +0 -1
- package/dist/docx/numberingParser.d.ts +10 -6
- package/dist/docx/numberingParser.js +4 -2
- package/dist/docx/numberingReferenceNormalization.d.ts +1 -9
- package/dist/docx/paragraphParser.d.ts +0 -1
- package/dist/docx/paragraphParser.js +31 -15
- package/dist/docx/paragraphTextBoxEnrichment.d.ts +0 -1
- package/dist/docx/paragraphTextBoxEnrichment.js +2 -1
- package/dist/docx/paragraphTraversal.d.ts +5 -10
- package/dist/docx/paragraphTraversal.js +20 -13
- package/dist/docx/parser.d.ts +15 -8
- package/dist/docx/parser.js +22 -1
- package/dist/docx/parserEnums.d.ts +5 -2
- package/dist/docx/parserEnums.js +6 -2
- package/dist/docx/relsParser.d.ts +1 -0
- package/dist/docx/renderedPageBreakNormalization.d.ts +12 -0
- package/dist/docx/renderedPageBreakNormalization.js +59 -0
- package/dist/docx/replyToComment.d.ts +2 -2
- package/dist/docx/rezip.d.ts +6 -7
- package/dist/docx/rezip.js +136 -102
- package/dist/docx/runConsolidator.d.ts +0 -1
- package/dist/docx/runConsolidator.js +0 -1
- package/dist/docx/runParser.d.ts +0 -1
- package/dist/docx/runParser.js +25 -12
- package/dist/docx/sdtProperties.d.ts +0 -1
- package/dist/docx/sdtPropertiesPatch.d.ts +0 -1
- package/dist/docx/sectionParser.d.ts +0 -1
- package/dist/docx/selectiveSave.d.ts +5 -3
- package/dist/docx/selectiveSave.js +2 -2
- package/dist/docx/selectiveSaveFlags.d.ts +4 -2
- package/dist/docx/selectiveXmlPatch.js +20 -8
- package/dist/docx/serializer/blockSdtSerializer.d.ts +0 -1
- package/dist/docx/serializer/blockSdtSerializer.js +2 -1
- package/dist/docx/serializer/borderSerializer.d.ts +0 -1
- package/dist/docx/serializer/commentSerializer.d.ts +0 -1
- package/dist/docx/serializer/commentSerializer.js +19 -40
- package/dist/docx/serializer/documentSerializer.d.ts +0 -1
- package/dist/docx/serializer/documentSerializer.js +1 -1
- package/dist/docx/serializer/fontTableSerializer.d.ts +0 -1
- package/dist/docx/serializer/headerFooterSerializer.d.ts +0 -1
- package/dist/docx/serializer/headerFooterSerializer.js +1 -1
- package/dist/docx/serializer/noteSerializer.d.ts +0 -1
- package/dist/docx/serializer/noteSerializer.js +1 -1
- package/dist/docx/serializer/numberingSerializer.d.ts +0 -1
- package/dist/docx/serializer/paragraphSerializer.d.ts +0 -1
- package/dist/docx/serializer/paragraphSerializer.js +10 -23
- package/dist/docx/serializer/runSerializer.d.ts +0 -1
- package/dist/docx/serializer/runSerializer.js +53 -32
- package/dist/docx/serializer/sectionPropertiesSerializer.d.ts +0 -1
- package/dist/docx/serializer/sectionPropertiesSerializer.js +7 -5
- package/dist/docx/serializer/settingsSerializer.d.ts +0 -1
- package/dist/docx/serializer/stylesSerializer.d.ts +0 -1
- package/dist/docx/serializer/tableSerializer.d.ts +0 -1
- package/dist/docx/serializer/tableSerializer.js +2 -0
- package/dist/docx/serializer/themeSerializer.d.ts +0 -1
- package/dist/docx/serializer/xmlUtils.js +10 -1
- package/dist/docx/server/applyDocxXmlPatchProposal.d.ts +3 -10
- package/dist/docx/server/docxToMarkdown.d.ts +0 -1
- package/dist/docx/server/evaluateDocxXmlPatchProposal.d.ts +3 -9
- package/dist/docx/server/inspectDocxPackage.d.ts +3 -8
- package/dist/docx/server/validateDocxConformance.d.ts +0 -1
- package/dist/docx/settingsParser.d.ts +2 -2
- package/dist/docx/shapeParser.d.ts +0 -1
- package/dist/docx/shapeParser.js +16 -123
- package/dist/docx/streamingXmlParser.d.ts +16 -0
- package/dist/docx/streamingXmlParser.js +248 -0
- package/dist/docx/styleParser.d.ts +0 -1
- package/dist/docx/styleParser.js +6 -4
- package/dist/docx/tableParser.d.ts +1 -2
- package/dist/docx/tableParser.js +11 -12
- package/dist/docx/textBoxParser.d.ts +1 -2
- package/dist/docx/textBoxParser.js +5 -2
- package/dist/docx/textWhitespace.d.ts +4 -0
- package/dist/docx/textWhitespace.js +4 -0
- package/dist/docx/themeParser.d.ts +0 -1
- package/dist/docx/trackedMoveRangeNormalization.d.ts +1 -8
- package/dist/docx/unzip.d.ts +6 -3
- package/dist/docx/unzip.js +96 -40
- package/dist/docx/vmlImageParser.d.ts +0 -1
- package/dist/docx/vmlImageParser.js +3 -1
- package/dist/docx/watermarkParser.d.ts +0 -1
- package/dist/docx/xmlParser.d.ts +21 -8
- package/dist/docx/xmlParser.js +126 -43
- package/dist/fields/bookmarkPages.d.ts +0 -1
- package/dist/fields/bookmarkText.d.ts +0 -1
- package/dist/fields/evaluateField.d.ts +5 -3
- package/dist/fields/fieldContext.d.ts +11 -5
- package/dist/fields/resolveFieldValues.d.ts +4 -3
- package/dist/fields/sectionPageCounts.d.ts +0 -1
- package/dist/fields/seqValues.d.ts +0 -1
- package/dist/fonts/embeddedFontTable.d.ts +5 -2
- package/dist/fonts/embeddedFonts.d.ts +15 -7
- package/dist/index.d.ts +1 -0
- package/dist/layout-bridge/cellSelectionHighlight.d.ts +0 -1
- package/dist/layout-bridge/convert/footnoteLayout.d.ts +5 -3
- package/dist/layout-bridge/convert/headerFooterLayout.d.ts +2 -2
- package/dist/layout-bridge/convert/paragraphFrames.d.ts +0 -1
- package/dist/layout-bridge/convert/templatePreviewFlow.d.ts +8 -8
- package/dist/layout-bridge/convert/toFlowBlocks.d.ts +25 -13
- package/dist/layout-bridge/convert/wrapEditorViewAsSurface.d.ts +3 -2
- package/dist/layout-bridge/dom/findHfPmSpans.d.ts +2 -1
- package/dist/layout-bridge/dom/noteStoryDom.d.ts +0 -1
- package/dist/layout-bridge/engine/clickToPosition.d.ts +5 -3
- package/dist/layout-bridge/engine/hitTest.d.ts +40 -19
- package/dist/layout-bridge/engine/selectionRects.d.ts +16 -8
- package/dist/layout-bridge/engine/tableWidthUtils.d.ts +0 -1
- package/dist/layout-bridge/headerFooterLayout.d.ts +0 -1
- package/dist/layout-bridge/sectionColumns.d.ts +0 -1
- package/dist/layout-bridge/tableInsertHover.d.ts +8 -4
- package/dist/layout-engine/headerFooterRefs.d.ts +0 -1
- package/dist/layout-engine/index.d.ts +0 -1
- package/dist/layout-engine/justificationCompatibility.d.ts +0 -1
- package/dist/layout-engine/keep-together.d.ts +7 -4
- package/dist/layout-engine/layoutInstrumentation.d.ts +0 -1
- package/dist/layout-engine/lineFlow.d.ts +0 -1
- package/dist/layout-engine/measure/cache.d.ts +0 -1
- package/dist/layout-engine/measure/effectiveLineBreakPolicy.d.ts +6 -7
- package/dist/layout-engine/measure/floatingTablePosition.d.ts +0 -1
- package/dist/layout-engine/measure/floatingZones.d.ts +14 -6
- package/dist/layout-engine/measure/font-metrics.worker.d.ts +0 -1
- package/dist/layout-engine/measure/lineBreakProvider.d.ts +20 -9
- package/dist/layout-engine/measure/lineBreaks.d.ts +0 -1
- package/dist/layout-engine/measure/listMarkerWidth.d.ts +0 -1
- package/dist/layout-engine/measure/measureBlocks.d.ts +1 -0
- package/dist/layout-engine/measure/measureContainer.d.ts +0 -1
- package/dist/layout-engine/measure/measureHelpers.d.ts +0 -1
- package/dist/layout-engine/measure/measureParagraph.d.ts +3 -2
- package/dist/layout-engine/measure/measureParagraph.js +23 -3
- package/dist/layout-engine/measure/measureProvider.d.ts +0 -1
- package/dist/layout-engine/measure/measureTypes.d.ts +4 -2
- package/dist/layout-engine/measure/measureWorker.d.ts +0 -1
- package/dist/layout-engine/measure/measureWorkerProtocol.d.ts +0 -1
- package/dist/layout-engine/measure/tableCellFloating.d.ts +0 -1
- package/dist/layout-engine/measure/tableCellFlow.d.ts +0 -1
- package/dist/layout-engine/measure/tableCellGrid.d.ts +0 -1
- package/dist/layout-engine/measure/textBoxParagraphLayout.d.ts +0 -1
- package/dist/layout-engine/measure/textMeasurementPolicy.d.ts +0 -1
- package/dist/layout-engine/paginator.d.ts +66 -33
- package/dist/layout-engine/paragraphFragmentRange.d.ts +0 -1
- package/dist/layout-engine/paragraphFrame.d.ts +0 -1
- package/dist/layout-engine/paragraphSequence.d.ts +0 -1
- package/dist/layout-engine/paragraphSpacing.d.ts +1 -5
- package/dist/layout-engine/pmPageIndex.d.ts +0 -1
- package/dist/layout-engine/renderedBreakReconciliation.d.ts +2 -17
- package/dist/layout-engine/section-breaks.d.ts +34 -17
- package/dist/layout-engine/tableRowBreak.d.ts +4 -3
- package/dist/layout-engine/textBoxFlow.d.ts +0 -1
- package/dist/layout-engine/textBoxGroup.d.ts +0 -1
- package/dist/layout-engine/types.d.ts +382 -189
- package/dist/layout-painter/anchoredImagePosition.d.ts +0 -1
- package/dist/layout-painter/borderStroke.d.ts +0 -1
- package/dist/layout-painter/imageLayout.d.ts +14 -7
- package/dist/layout-painter/index.d.ts +9 -5
- package/dist/layout-painter/registry/modules/image.d.ts +0 -1
- package/dist/layout-painter/registry/modules/paragraph.d.ts +0 -1
- package/dist/layout-painter/registry/modules/table.d.ts +0 -1
- package/dist/layout-painter/registry/modules/textBox.d.ts +0 -1
- package/dist/layout-painter/registry/modules.d.ts +0 -1
- package/dist/layout-painter/registry/registry.d.ts +0 -1
- package/dist/layout-painter/registry/types.d.ts +0 -1
- package/dist/layout-painter/renderFragment.d.ts +2 -2
- package/dist/layout-painter/renderImage.d.ts +0 -1
- package/dist/layout-painter/renderPage.d.ts +71 -42
- package/dist/layout-painter/renderParagraph.d.ts +28 -14
- package/dist/layout-painter/renderParagraph.js +6 -2
- package/dist/layout-painter/renderTable.d.ts +0 -1
- package/dist/layout-painter/renderTextBox.d.ts +0 -1
- package/dist/layout-painter/renderUtils.d.ts +17 -9
- package/dist/layout-painter/renderWatermark.d.ts +2 -2
- package/dist/layout-painter/sdtBoundary.d.ts +0 -1
- package/dist/managers/AutoSaveManager.d.ts +22 -11
- package/dist/managers/ClipboardManager.d.ts +0 -1
- package/dist/managers/ContextMenuManager.d.ts +5 -8
- package/dist/managers/DocumentLoaderManager.d.ts +12 -6
- package/dist/managers/EditorModeManager.d.ts +3 -2
- package/dist/managers/ErrorManager.d.ts +0 -1
- package/dist/managers/FindReplaceManager.d.ts +0 -1
- package/dist/managers/HistoryManager.d.ts +19 -9
- package/dist/managers/TableSelectionManager.d.ts +0 -1
- package/dist/managers/editorShortcuts.d.ts +4 -6
- package/dist/markdown/annotations.d.ts +0 -1
- package/dist/markdown/fromMarkdown.d.ts +0 -1
- package/dist/markdown/images.d.ts +0 -1
- package/dist/markdown/index.d.ts +0 -1
- package/dist/markdown/internals.d.ts +0 -1
- package/dist/markdown/renderBlock.d.ts +0 -1
- package/dist/markdown/renderParagraph.d.ts +0 -1
- package/dist/markdown/renderRuns.d.ts +0 -1
- package/dist/markdown/renderTable.d.ts +0 -1
- package/dist/markdown/trailers.d.ts +0 -1
- package/dist/markdown/types.d.ts +39 -18
- package/dist/model.d.ts +3 -5
- package/dist/model.js +2 -2
- package/dist/paged-layout/incrementalMeasure.d.ts +1 -10
- package/dist/paged-layout/pageText.d.ts +1 -1
- package/dist/paged-layout/paragraphFlash.d.ts +0 -1
- package/dist/paged-layout/paragraphFlashTypes.d.ts +5 -2
- package/dist/paged-layout/rangeProjection.d.ts +10 -5
- package/dist/paged-layout/scrollNavigation.d.ts +0 -1
- package/dist/paged-layout/scrollPageInfo.d.ts +12 -13
- package/dist/paged-layout/scrollToPmPosition.d.ts +0 -1
- package/dist/paged-layout/sectionBlockWidths.d.ts +2 -11
- package/dist/paged-layout/sectionGeometry.d.ts +0 -1
- package/dist/paged-layout/selectionViewportRect.d.ts +0 -1
- package/dist/paged-layout/transactionDirtyRange.d.ts +0 -1
- package/dist/paged-layout/zoomScrollAnchor.d.ts +2 -12
- package/dist/prosemirror/attrs/index.d.ts +6 -4
- package/dist/prosemirror/attrs/index.js +22 -2
- package/dist/prosemirror/autospacingBase.d.ts +0 -1
- package/dist/prosemirror/cellDragSelection.d.ts +6 -4
- package/dist/prosemirror/commands/comments.d.ts +6 -4
- package/dist/prosemirror/commands/contentControls.d.ts +5 -3
- package/dist/prosemirror/commands/contentControlsBlockFill.d.ts +1 -1
- package/dist/prosemirror/commands/formatPainter.d.ts +0 -1
- package/dist/prosemirror/commands/formatting.d.ts +1 -1
- package/dist/prosemirror/commands/hyperlink.d.ts +4 -9
- package/dist/prosemirror/commands/image.d.ts +0 -1
- package/dist/prosemirror/commands/pageBreak.d.ts +0 -1
- package/dist/prosemirror/commands/paragraph.d.ts +0 -1
- package/dist/prosemirror/commands/pastePlainText.d.ts +0 -1
- package/dist/prosemirror/commands/propertyChangeScope.d.ts +0 -1
- package/dist/prosemirror/commands/sectionBreak.d.ts +0 -1
- package/dist/prosemirror/commands/table.d.ts +0 -1
- package/dist/prosemirror/commands/tableCellMergeResolution.d.ts +0 -1
- package/dist/prosemirror/commentIdAllocator.d.ts +2 -2
- package/dist/prosemirror/commentOps.d.ts +0 -1
- package/dist/prosemirror/conversion/effectiveTableCellFormatting.d.ts +1 -10
- package/dist/prosemirror/conversion/fromProseDoc.d.ts +0 -1
- package/dist/prosemirror/conversion/fromProseDoc.js +17 -10
- package/dist/prosemirror/conversion/runShadingMark.d.ts +0 -1
- package/dist/prosemirror/conversion/sdtAttrs.d.ts +0 -1
- package/dist/prosemirror/conversion/toProseDoc.d.ts +3 -2
- package/dist/prosemirror/conversion/toProseDoc.js +17 -3
- package/dist/prosemirror/extensions/ExtensionManager.d.ts +0 -1
- package/dist/prosemirror/extensions/StarterKit.d.ts +7 -4
- package/dist/prosemirror/extensions/core/DocExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/core/HistoryExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/core/ParagraphExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/core/TextExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/create.d.ts +0 -1
- package/dist/prosemirror/extensions/features/AutoBidiDetectionExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/features/BaseKeymapExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/features/BidiShortcutExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/features/ContentControlWidgetsExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/features/DropCursorExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/features/EmptyParagraphFormatExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/features/GapCursorExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/features/ImageDragExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/features/ImagePasteExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/features/ListExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/features/ParaIdAllocatorExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/features/ParagraphChangeTrackerExtension.d.ts +7 -4
- package/dist/prosemirror/extensions/features/PasteCleanupExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/features/PasteStyleInlinerExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/features/SelectionTrackerExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/features/bidiShortcutController.d.ts +3 -1
- package/dist/prosemirror/extensions/marks/AllCapsExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/marks/BoldExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/marks/CharacterSpacingExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/marks/CharacterStyleExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/marks/CommentExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/marks/FontFamilyExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/marks/FontFamilyExtension.js +1 -0
- package/dist/prosemirror/extensions/marks/FontSizeExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/marks/FootnoteRefExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/marks/HiddenTextExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/marks/HighlightExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/marks/HyperlinkExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/marks/ItalicExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/marks/LanguageExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/marks/RtlExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/marks/RunFormattingOverrideExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/marks/RunShadingExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/marks/SmallCapsExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/marks/StrikeExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/marks/SubscriptExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/marks/SuperscriptExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/marks/TextColorExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/marks/TextEffectExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/marks/TextEffectsExtensions.d.ts +0 -1
- package/dist/prosemirror/extensions/marks/TrackedChangeExtensions.d.ts +0 -1
- package/dist/prosemirror/extensions/marks/UnderlineExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/marks/markUtils.d.ts +0 -1
- package/dist/prosemirror/extensions/marks/markUtils.js +4 -1
- package/dist/prosemirror/extensions/nodes/BlockSdtExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/nodes/FieldExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/nodes/HardBreakExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/nodes/HorizontalRuleExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/nodes/ImageExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/nodes/ImageExtension.js +2 -0
- package/dist/prosemirror/extensions/nodes/MathExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/nodes/PageBreakExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/nodes/RenderedPageBreakExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/nodes/SdtExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/nodes/ShapeExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/nodes/ShapeExtension.js +2 -0
- package/dist/prosemirror/extensions/nodes/TabExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/nodes/TabExtension.js +32 -9
- package/dist/prosemirror/extensions/nodes/TableExtension.d.ts +4 -3
- package/dist/prosemirror/extensions/nodes/TextBoxAnchorExtension.d.ts +0 -1
- package/dist/prosemirror/extensions/nodes/TextBoxExtension.d.ts +53 -27
- package/dist/prosemirror/extensions/types.d.ts +0 -1
- package/dist/prosemirror/findReplaceSelection.d.ts +5 -3
- package/dist/prosemirror/imageCommit.d.ts +0 -1
- package/dist/prosemirror/index.d.ts +4 -0
- package/dist/prosemirror/insertOperations.d.ts +0 -1
- package/dist/prosemirror/paraText.d.ts +0 -1
- package/dist/prosemirror/plugins/aiCitationDecorations.d.ts +2 -2
- package/dist/prosemirror/plugins/aiSuggestionDecorations.d.ts +0 -1
- package/dist/prosemirror/plugins/anonymizationDecorations.d.ts +9 -7
- package/dist/prosemirror/plugins/autocompleteSuggestion.d.ts +2 -2
- package/dist/prosemirror/plugins/contentControlWidgets.d.ts +4 -7
- package/dist/prosemirror/plugins/createDocScanPlugin.d.ts +3 -8
- package/dist/prosemirror/plugins/documentStyles.d.ts +0 -1
- package/dist/prosemirror/plugins/pmTextScan.d.ts +2 -2
- package/dist/prosemirror/plugins/revisionIds.d.ts +0 -1
- package/dist/prosemirror/plugins/selectionTracker.d.ts +23 -12
- package/dist/prosemirror/plugins/suggestionMode.d.ts +0 -1
- package/dist/prosemirror/plugins/templateDirectives.d.ts +10 -8
- package/dist/prosemirror/plugins/templatePreviewValues.d.ts +10 -5
- package/dist/prosemirror/plugins/templateSlashMenu.d.ts +2 -2
- package/dist/prosemirror/queries.d.ts +0 -1
- package/dist/prosemirror/schema/index.d.ts +2 -3
- package/dist/prosemirror/schema/marks.d.ts +8 -5
- package/dist/prosemirror/schema/nodes.d.ts +344 -164
- package/dist/prosemirror/selectionState.d.ts +13 -7
- package/dist/prosemirror/styles/resolvedStyleAttrs.d.ts +0 -1
- package/dist/prosemirror/styles/styleResolver.d.ts +3 -2
- package/dist/prosemirror/tableCellMergeRevision.d.ts +0 -1
- package/dist/prosemirror/tableResize.d.ts +0 -1
- package/dist/prosemirror/textBoxAnchorAttrs.d.ts +0 -1
- package/dist/prosemirror/utils/extractTrackedChanges.d.ts +8 -5
- package/dist/prosemirror/utils/findParagraphByParaId.d.ts +0 -1
- package/dist/prosemirror/utils/tabCalculator.d.ts +18 -7
- package/dist/prosemirror/utils/visualLineNavigation.d.ts +0 -1
- package/dist/prosemirror/validation.d.ts +0 -1
- package/dist/prosemirror/validation.js +5 -3
- package/dist/redline.d.ts +16 -8
- package/dist/render-dom/BodySelectionOverlay.d.ts +1 -9
- package/dist/render-dom/HeaderFooterSelectionOverlay.d.ts +0 -1
- package/dist/render-dom/RemoteSelectionOverlay.d.ts +1 -8
- package/dist/render-dom/resolveSidebarItemPositions.d.ts +1 -9
- package/dist/style-engine/styleEngine.d.ts +21 -11
- package/dist/style-sets/extract.d.ts +4 -3
- package/dist/style-sets/stellaStyle.d.ts +0 -1
- package/dist/style-sets/types.d.ts +0 -1
- package/dist/symbols.d.ts +6 -2
- package/dist/types/block-id.d.ts +3 -6
- package/dist/types/content.d.ts +2 -2
- package/dist/types/document.d.ts +0 -3
- package/dist/types/documentEnumValues.d.ts +5 -1
- package/dist/types/documentEnumValues.js +19 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/utils/clipboard.d.ts +17 -8
- package/dist/utils/colorResolver.d.ts +9 -5
- package/dist/utils/createDocument.d.ts +19 -10
- package/dist/utils/documentLoaderBehavior.d.ts +1 -5
- package/dist/utils/docxInput.js +1 -0
- package/dist/utils/findReplace.d.ts +0 -1
- package/dist/utils/fontFamilyMerge.d.ts +0 -1
- package/dist/utils/fontResolver.d.ts +10 -4
- package/dist/utils/formatToStyle.d.ts +0 -1
- package/dist/utils/headerFooter.d.ts +8 -16
- package/dist/utils/headingCollector.d.ts +7 -4
- package/dist/utils/mergeDocumentContent.d.ts +0 -1
- package/dist/utils/paragraphFormattingMerge.d.ts +0 -1
- package/dist/utils/replaceText.d.ts +0 -1
- package/dist/utils/rotationBoundingBox.d.ts +0 -1
- package/dist/utils/tableOperations.d.ts +0 -1
- package/dist/utils/textFormattingMerge.d.ts +0 -1
- package/dist/version-comparison.d.ts +12 -6
- package/dist/watermark/index.d.ts +0 -1
- package/package.json +3 -3
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ImageHorizontalAlignmentSchema, ImageHorizontalRelativeToSchema, ImageVerticalAlignmentSchema, ImageVerticalRelativeToSchema, ImageWrapTextSchema, ShapeOutlineStyleSchema, narrowEnum } from "./parserEnums.js";
|
|
2
|
-
import { findByFullName, getAttribute, getChildElements, getTextContent, parseNumericAttribute } from "./xmlParser.js";
|
|
2
|
+
import { elementToXml, findByFullName, findChildByLocalName, findChildrenByLocalName, getAttribute, getChildElements, getTextContent, parseNumericAttribute } from "./xmlParser.js";
|
|
3
3
|
//#region src/docx/drawingUtils.ts
|
|
4
4
|
/**
|
|
5
5
|
* Map OOXML scheme names to standard theme color slots.
|
|
@@ -24,6 +24,28 @@ const SCHEME_TO_THEME_COLOR = {
|
|
|
24
24
|
folHlink: "folHlink"
|
|
25
25
|
};
|
|
26
26
|
/**
|
|
27
|
+
* Map normalized theme color slots back to DrawingML scheme color names.
|
|
28
|
+
* DrawingML uses bg1/bg2/tx1/tx2 where the document model uses descriptive names.
|
|
29
|
+
*/
|
|
30
|
+
const THEME_COLOR_TO_DRAWING_SCHEME = {
|
|
31
|
+
dk1: "dk1",
|
|
32
|
+
lt1: "lt1",
|
|
33
|
+
dk2: "dk2",
|
|
34
|
+
lt2: "lt2",
|
|
35
|
+
accent1: "accent1",
|
|
36
|
+
accent2: "accent2",
|
|
37
|
+
accent3: "accent3",
|
|
38
|
+
accent4: "accent4",
|
|
39
|
+
accent5: "accent5",
|
|
40
|
+
accent6: "accent6",
|
|
41
|
+
hlink: "hlink",
|
|
42
|
+
folHlink: "folHlink",
|
|
43
|
+
background1: "bg1",
|
|
44
|
+
text1: "tx1",
|
|
45
|
+
background2: "bg2",
|
|
46
|
+
text2: "tx2"
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
27
49
|
* sRGB hex per OOXML (ST_HexColorRGB): exactly six hex digits, case-insensitive.
|
|
28
50
|
* Anything else is rejected so untrusted DOCX input cannot smuggle markup through
|
|
29
51
|
* downstream renderers that interpolate the value into HTML/SVG.
|
|
@@ -97,9 +119,8 @@ function parseColorElement(element) {
|
|
|
97
119
|
*/
|
|
98
120
|
function parseFill(spPr) {
|
|
99
121
|
if (!spPr) return;
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
const solidFill = children.find((el) => el.name === "a:solidFill");
|
|
122
|
+
if (findChildByLocalName(spPr, "noFill")) return { type: "none" };
|
|
123
|
+
const solidFill = findChildByLocalName(spPr, "solidFill");
|
|
103
124
|
if (solidFill) {
|
|
104
125
|
const color = parseColorElement(solidFill);
|
|
105
126
|
return color !== void 0 ? {
|
|
@@ -107,31 +128,105 @@ function parseFill(spPr) {
|
|
|
107
128
|
color
|
|
108
129
|
} : { type: "solid" };
|
|
109
130
|
}
|
|
110
|
-
|
|
131
|
+
const gradientFill = findChildByLocalName(spPr, "gradFill");
|
|
132
|
+
if (gradientFill) return parseGradientFill(gradientFill);
|
|
133
|
+
}
|
|
134
|
+
function parseGradientFill(gradientFill) {
|
|
135
|
+
let type = "linear";
|
|
136
|
+
let angle;
|
|
137
|
+
const linear = findChildByLocalName(gradientFill, "lin");
|
|
138
|
+
if (linear) {
|
|
139
|
+
const authoredAngle = getAttribute(linear, null, "ang");
|
|
140
|
+
if (authoredAngle) {
|
|
141
|
+
const parsedAngle = Number.parseInt(authoredAngle, 10);
|
|
142
|
+
angle = Number.isNaN(parsedAngle) ? void 0 : parsedAngle / 6e4;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
const path = findChildByLocalName(gradientFill, "path");
|
|
146
|
+
if (path) {
|
|
147
|
+
const pathType = getAttribute(path, null, "path");
|
|
148
|
+
if (pathType === "circle") type = "radial";
|
|
149
|
+
else if (pathType === "rect") type = "rectangular";
|
|
150
|
+
else type = "path";
|
|
151
|
+
}
|
|
152
|
+
const stops = [];
|
|
153
|
+
const stopList = findChildByLocalName(gradientFill, "gsLst");
|
|
154
|
+
if (stopList) for (const stop of findChildrenByLocalName(stopList, "gs")) {
|
|
155
|
+
const authoredPosition = getAttribute(stop, null, "pos");
|
|
156
|
+
const parsedPosition = authoredPosition ? Number.parseInt(authoredPosition, 10) : 0;
|
|
157
|
+
const color = parseColorElement(stop);
|
|
158
|
+
if (color) stops.push({
|
|
159
|
+
position: Number.isNaN(parsedPosition) ? 0 : parsedPosition,
|
|
160
|
+
color
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
return {
|
|
164
|
+
type: "gradient",
|
|
165
|
+
rawXml: elementToXml(gradientFill),
|
|
166
|
+
gradient: {
|
|
167
|
+
type,
|
|
168
|
+
...angle !== void 0 ? { angle } : {},
|
|
169
|
+
stops
|
|
170
|
+
}
|
|
171
|
+
};
|
|
111
172
|
}
|
|
112
173
|
/**
|
|
113
174
|
* Parse outline from shape properties (a:ln).
|
|
114
175
|
*/
|
|
115
176
|
function parseOutline(spPr) {
|
|
116
|
-
const ln = spPr ?
|
|
177
|
+
const ln = spPr ? findChildByLocalName(spPr, "ln") : null;
|
|
117
178
|
if (!ln) return;
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
const outline = {};
|
|
179
|
+
if (findChildByLocalName(ln, "noFill")) return;
|
|
180
|
+
const outline = { rawXml: elementToXml(ln) };
|
|
121
181
|
const w = getAttribute(ln, null, "w");
|
|
122
|
-
if (w)
|
|
123
|
-
|
|
182
|
+
if (w) {
|
|
183
|
+
const parsed = Number.parseInt(w, 10);
|
|
184
|
+
if (!Number.isNaN(parsed)) outline.width = parsed;
|
|
185
|
+
}
|
|
186
|
+
const cap = getAttribute(ln, null, "cap");
|
|
187
|
+
if (cap === "flat") outline.cap = "flat";
|
|
188
|
+
else if (cap === "rnd") outline.cap = "round";
|
|
189
|
+
else if (cap === "sq") outline.cap = "square";
|
|
190
|
+
if (findChildByLocalName(ln, "bevel")) outline.join = "bevel";
|
|
191
|
+
else if (findChildByLocalName(ln, "round")) outline.join = "round";
|
|
192
|
+
else if (findChildByLocalName(ln, "miter")) outline.join = "miter";
|
|
193
|
+
const solidFill = findChildByLocalName(ln, "solidFill");
|
|
124
194
|
if (solidFill) {
|
|
125
195
|
const color = parseColorElement(solidFill);
|
|
126
196
|
if (color !== void 0) outline.color = color;
|
|
127
197
|
}
|
|
128
|
-
const prstDash =
|
|
198
|
+
const prstDash = findChildByLocalName(ln, "prstDash");
|
|
129
199
|
if (prstDash) {
|
|
130
200
|
const val = narrowEnum(getAttribute(prstDash, null, "val"), ShapeOutlineStyleSchema);
|
|
131
201
|
if (val) outline.style = val;
|
|
132
202
|
}
|
|
203
|
+
const headEnd = findChildByLocalName(ln, "headEnd");
|
|
204
|
+
if (headEnd) outline.headEnd = parseLineEnd(headEnd);
|
|
205
|
+
const tailEnd = findChildByLocalName(ln, "tailEnd");
|
|
206
|
+
if (tailEnd) outline.tailEnd = parseLineEnd(tailEnd);
|
|
133
207
|
return outline;
|
|
134
208
|
}
|
|
209
|
+
const LINE_END_TYPES = [
|
|
210
|
+
"none",
|
|
211
|
+
"triangle",
|
|
212
|
+
"stealth",
|
|
213
|
+
"diamond",
|
|
214
|
+
"oval",
|
|
215
|
+
"arrow"
|
|
216
|
+
];
|
|
217
|
+
function parseLineEnd(element) {
|
|
218
|
+
const authoredType = getAttribute(element, null, "type");
|
|
219
|
+
const type = LINE_END_TYPES.find((allowed) => allowed === authoredType) ?? "none";
|
|
220
|
+
const authoredWidth = getAttribute(element, null, "w");
|
|
221
|
+
const authoredLength = getAttribute(element, null, "len");
|
|
222
|
+
const width = authoredWidth === "sm" || authoredWidth === "med" || authoredWidth === "lg" ? authoredWidth : void 0;
|
|
223
|
+
const length = authoredLength === "sm" || authoredLength === "med" || authoredLength === "lg" ? authoredLength : void 0;
|
|
224
|
+
return {
|
|
225
|
+
type,
|
|
226
|
+
...width !== void 0 ? { width } : {},
|
|
227
|
+
...length !== void 0 ? { length } : {}
|
|
228
|
+
};
|
|
229
|
+
}
|
|
135
230
|
/**
|
|
136
231
|
* Parse horizontal position from wp:positionH element.
|
|
137
232
|
*/
|
|
@@ -140,11 +235,11 @@ function parsePositionH(posH) {
|
|
|
140
235
|
const relativeTo = narrowEnum(getAttribute(posH, null, "relativeFrom"), ImageHorizontalRelativeToSchema) ?? "column";
|
|
141
236
|
const alignEl = findByFullName(posH, "wp:align");
|
|
142
237
|
if (alignEl) {
|
|
143
|
-
const
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
238
|
+
const alignment = narrowEnum(getTextContent(alignEl), ImageHorizontalAlignmentSchema);
|
|
239
|
+
if (alignment) return {
|
|
240
|
+
relativeTo,
|
|
241
|
+
alignment
|
|
242
|
+
};
|
|
148
243
|
}
|
|
149
244
|
const posOffsetEl = findByFullName(posH, "wp:posOffset");
|
|
150
245
|
if (posOffsetEl) {
|
|
@@ -155,7 +250,10 @@ function parsePositionH(posH) {
|
|
|
155
250
|
posOffset: Number.isNaN(posOffset) ? 0 : posOffset
|
|
156
251
|
};
|
|
157
252
|
}
|
|
158
|
-
return {
|
|
253
|
+
return {
|
|
254
|
+
relativeTo,
|
|
255
|
+
posOffset: 0
|
|
256
|
+
};
|
|
159
257
|
}
|
|
160
258
|
/**
|
|
161
259
|
* Parse vertical position from wp:positionV element.
|
|
@@ -165,11 +263,11 @@ function parsePositionV(posV) {
|
|
|
165
263
|
const relativeTo = narrowEnum(getAttribute(posV, null, "relativeFrom"), ImageVerticalRelativeToSchema) ?? "paragraph";
|
|
166
264
|
const alignEl = findByFullName(posV, "wp:align");
|
|
167
265
|
if (alignEl) {
|
|
168
|
-
const
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
266
|
+
const alignment = narrowEnum(getTextContent(alignEl), ImageVerticalAlignmentSchema);
|
|
267
|
+
if (alignment) return {
|
|
268
|
+
relativeTo,
|
|
269
|
+
alignment
|
|
270
|
+
};
|
|
173
271
|
}
|
|
174
272
|
const posOffsetEl = findByFullName(posV, "wp:posOffset");
|
|
175
273
|
if (posOffsetEl) {
|
|
@@ -180,7 +278,10 @@ function parsePositionV(posV) {
|
|
|
180
278
|
posOffset: Number.isNaN(posOffset) ? 0 : posOffset
|
|
181
279
|
};
|
|
182
280
|
}
|
|
183
|
-
return {
|
|
281
|
+
return {
|
|
282
|
+
relativeTo,
|
|
283
|
+
posOffset: 0
|
|
284
|
+
};
|
|
184
285
|
}
|
|
185
286
|
/**
|
|
186
287
|
* Parse position for anchored drawings (combines positionH + positionV).
|
|
@@ -188,10 +289,15 @@ function parsePositionV(posV) {
|
|
|
188
289
|
function parseAnchorPosition(anchor) {
|
|
189
290
|
const positionH = findByFullName(anchor, "wp:positionH");
|
|
190
291
|
const positionV = findByFullName(anchor, "wp:positionV");
|
|
191
|
-
if (!positionH && !positionV) return;
|
|
192
292
|
return {
|
|
193
|
-
horizontal: parsePositionH(positionH) ?? {
|
|
194
|
-
|
|
293
|
+
horizontal: parsePositionH(positionH) ?? {
|
|
294
|
+
relativeTo: "column",
|
|
295
|
+
posOffset: 0
|
|
296
|
+
},
|
|
297
|
+
vertical: parsePositionV(positionV) ?? {
|
|
298
|
+
relativeTo: "paragraph",
|
|
299
|
+
posOffset: 0
|
|
300
|
+
}
|
|
195
301
|
};
|
|
196
302
|
}
|
|
197
303
|
/** Known wrap element names */
|
|
@@ -302,4 +408,4 @@ function resolveColorValueToHex(color) {
|
|
|
302
408
|
if (color.themeColor) return `#${DEFAULT_THEME_COLOR_HEX[color.themeColor] ?? "000000"}`;
|
|
303
409
|
}
|
|
304
410
|
//#endregion
|
|
305
|
-
export { WRAP_ELEMENT_NAMES, parseAnchorPosition, parseAnchorWrap, parseColorElement, parseFill, parseOutline, parsePositionH, parsePositionV, parseWrapElement, resolveColorValueToHex };
|
|
411
|
+
export { THEME_COLOR_TO_DRAWING_SCHEME, WRAP_ELEMENT_NAMES, parseAnchorPosition, parseAnchorWrap, parseColorElement, parseFill, parseOutline, parsePositionH, parsePositionV, parseWrapElement, resolveColorValueToHex };
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { AgileKeyMaterial } from "./encryptionInfo.js";
|
|
2
|
-
|
|
3
2
|
//#region src/docx/encryption/agileDecryption.d.ts
|
|
4
3
|
declare const decryptAgileEncryptedPackage: (password: string, material: AgileKeyMaterial, encryptedPackage: Uint8Array) => Promise<Uint8Array>;
|
|
5
4
|
//#endregion
|
|
@@ -34,7 +34,10 @@ const bytesEqual = (left, right) => {
|
|
|
34
34
|
for (let i = 0; i < left.length; i++) mismatch |= left[i] ^ right[i];
|
|
35
35
|
return mismatch === 0;
|
|
36
36
|
};
|
|
37
|
-
const toArrayBuffer = (bytes) =>
|
|
37
|
+
const toArrayBuffer = (bytes) => {
|
|
38
|
+
if (bytes.buffer instanceof ArrayBuffer && bytes.byteOffset === 0 && bytes.byteLength === bytes.buffer.byteLength) return bytes.buffer;
|
|
39
|
+
return bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength);
|
|
40
|
+
};
|
|
38
41
|
const decodeBase64 = (encoded) => {
|
|
39
42
|
if (typeof atob === "function") {
|
|
40
43
|
const binary = atob(encoded);
|
|
@@ -7,10 +7,13 @@
|
|
|
7
7
|
* @see https://learn.microsoft.com/en-us/openspecs/office_file_formats/ms-offcrypto/
|
|
8
8
|
*/
|
|
9
9
|
type DecryptDocxOptions = {
|
|
10
|
-
/** Password for Agile-encrypted .docx files (Office 2010+). */
|
|
10
|
+
/** Password for Agile-encrypted .docx files (Office 2010+). */
|
|
11
|
+
password?: string | undefined;
|
|
11
12
|
};
|
|
12
13
|
type DecryptDocxResult = {
|
|
13
|
-
/** Plaintext OOXML ZIP bytes, or the original buffer when unencrypted. */
|
|
14
|
+
/** Plaintext OOXML ZIP bytes, or the original buffer when unencrypted. */
|
|
15
|
+
data: ArrayBuffer;
|
|
16
|
+
/** True when the input was an encrypted CFB container and decryption ran. */
|
|
14
17
|
wasEncrypted: boolean;
|
|
15
18
|
};
|
|
16
19
|
/**
|
|
@@ -7,9 +7,13 @@ declare const EnsureParaIdsError_base: import("better-result").TaggedErrorClass<
|
|
|
7
7
|
declare class EnsureParaIdsError extends EnsureParaIdsError_base {}
|
|
8
8
|
/** Counts and normalized bytes returned by {@link ensureParaIds}. */
|
|
9
9
|
type EnsureParaIdsResult = {
|
|
10
|
-
/** The normalized `.docx`; the input bytes verbatim when `alreadyComplete`. */
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
/** The normalized `.docx`; the input bytes verbatim when `alreadyComplete`. */
|
|
11
|
+
docx: Uint8Array;
|
|
12
|
+
/** Paragraphs that received a paraId (missing or all-zero before). */
|
|
13
|
+
assigned: number;
|
|
14
|
+
/** Duplicate paraIds reassigned (the first occurrence keeps the id). */
|
|
15
|
+
deduplicated: number;
|
|
16
|
+
/** True when the input already had full, unique coverage. */
|
|
13
17
|
alreadyComplete: boolean;
|
|
14
18
|
};
|
|
15
19
|
/** Controls mutation of package metadata that has security implications. */
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { document_d_exports } from "../types/document.js";
|
|
2
2
|
import { StyleMap } from "./styleParser.js";
|
|
3
3
|
import { XmlElement } from "./xmlParser.js";
|
|
4
|
-
|
|
5
4
|
//#region src/docx/fieldParser.d.ts
|
|
6
5
|
/**
|
|
7
6
|
* All known field types from OOXML specification
|
|
@@ -33,16 +32,22 @@ declare function isKnownFieldType(type: string): type is document_d_exports.Fiel
|
|
|
33
32
|
* Parsed field instruction with arguments and switches
|
|
34
33
|
*/
|
|
35
34
|
type ParsedFieldInstruction = {
|
|
36
|
-
/** Field type */
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
/** Field type */
|
|
36
|
+
type: document_d_exports.FieldType;
|
|
37
|
+
/** Raw instruction string */
|
|
38
|
+
raw: string;
|
|
39
|
+
/** Field argument (e.g., property name for DOCPROPERTY, bookmark name for REF) */
|
|
40
|
+
argument?: string;
|
|
41
|
+
/** Field switches (e.g., \* MERGEFORMAT, \@ "date format") */
|
|
39
42
|
switches: FieldSwitch[];
|
|
40
43
|
};
|
|
41
44
|
/**
|
|
42
45
|
* Field switch parsed from instruction
|
|
43
46
|
*/
|
|
44
47
|
type FieldSwitch = {
|
|
45
|
-
/** Switch character (e.g., '*', '@', '#', 'h', 'p') */
|
|
48
|
+
/** Switch character (e.g., '*', '@', '#', 'h', 'p') */
|
|
49
|
+
switch: string;
|
|
50
|
+
/** Switch value if any */
|
|
46
51
|
value?: string;
|
|
47
52
|
};
|
|
48
53
|
/**
|
|
@@ -83,12 +88,19 @@ type ComplexFieldState = "outside" | "code" | "result";
|
|
|
83
88
|
* Complex field parsing context
|
|
84
89
|
*/
|
|
85
90
|
type ComplexFieldContext = {
|
|
86
|
-
/** Current state */
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
91
|
+
/** Current state */
|
|
92
|
+
state: ComplexFieldState;
|
|
93
|
+
/** Accumulated instruction text */
|
|
94
|
+
instruction: string;
|
|
95
|
+
/** Runs in the field code section */
|
|
96
|
+
codeRuns: document_d_exports.Run[];
|
|
97
|
+
/** Runs in the result section */
|
|
98
|
+
resultRuns: document_d_exports.Run[];
|
|
99
|
+
/** Whether field is locked */
|
|
100
|
+
fldLock: boolean;
|
|
101
|
+
/** Whether field needs update */
|
|
102
|
+
dirty: boolean;
|
|
103
|
+
/** Nesting level (for nested fields) */
|
|
92
104
|
nestingLevel: number;
|
|
93
105
|
};
|
|
94
106
|
/**
|
|
@@ -2,30 +2,43 @@ import { document_d_exports } from "../types/document.js";
|
|
|
2
2
|
import { NumberingMap } from "./numberingParser.js";
|
|
3
3
|
import { StyleMap } from "./styleParser.js";
|
|
4
4
|
import { parseEndnoteProperties, parseFootnoteProperties } from "./notePropertiesParser.js";
|
|
5
|
-
|
|
6
5
|
//#region src/docx/footnoteParser.d.ts
|
|
7
6
|
/**
|
|
8
7
|
* Footnote map returned by parseFootnotes
|
|
9
8
|
*/
|
|
10
9
|
type FootnoteMap = {
|
|
11
|
-
/** All footnotes indexed by ID */
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
10
|
+
/** All footnotes indexed by ID */
|
|
11
|
+
byId: Map<number, document_d_exports.Footnote>;
|
|
12
|
+
/** Array of all footnotes in document order */
|
|
13
|
+
footnotes: document_d_exports.Footnote[];
|
|
14
|
+
/** Get footnote by ID */
|
|
15
|
+
getFootnote: (id: number) => document_d_exports.Footnote | undefined;
|
|
16
|
+
/** Check if footnote exists */
|
|
17
|
+
hasFootnote: (id: number) => boolean;
|
|
18
|
+
/** Get all normal (non-separator) footnotes */
|
|
19
|
+
getNormalFootnotes: () => document_d_exports.Footnote[];
|
|
20
|
+
/** Get separator footnote if exists */
|
|
21
|
+
getSeparator: () => document_d_exports.Footnote | undefined;
|
|
22
|
+
/** Get continuation separator if exists */
|
|
17
23
|
getContinuationSeparator: () => document_d_exports.Footnote | undefined;
|
|
18
24
|
};
|
|
19
25
|
/**
|
|
20
26
|
* Endnote map returned by parseEndnotes
|
|
21
27
|
*/
|
|
22
28
|
type EndnoteMap = {
|
|
23
|
-
/** All endnotes indexed by ID */
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
+
/** All endnotes indexed by ID */
|
|
30
|
+
byId: Map<number, document_d_exports.Endnote>;
|
|
31
|
+
/** Array of all endnotes in document order */
|
|
32
|
+
endnotes: document_d_exports.Endnote[];
|
|
33
|
+
/** Get endnote by ID */
|
|
34
|
+
getEndnote: (id: number) => document_d_exports.Endnote | undefined;
|
|
35
|
+
/** Check if endnote exists */
|
|
36
|
+
hasEndnote: (id: number) => boolean;
|
|
37
|
+
/** Get all normal (non-separator) endnotes */
|
|
38
|
+
getNormalEndnotes: () => document_d_exports.Endnote[];
|
|
39
|
+
/** Get separator endnote if exists */
|
|
40
|
+
getSeparator: () => document_d_exports.Endnote | undefined;
|
|
41
|
+
/** Get continuation separator if exists */
|
|
29
42
|
getContinuationSeparator: () => document_d_exports.Endnote | undefined;
|
|
30
43
|
};
|
|
31
44
|
/**
|
|
@@ -30,8 +30,10 @@ function parseNoteBlockContent(element, styles, theme, numbering, rels, media) {
|
|
|
30
30
|
for (const child of getChildElements(element)) {
|
|
31
31
|
const localName = getLocalName(child.name ?? "");
|
|
32
32
|
if (localName === "p") blocks.push(parseParagraph(child, styles, theme, numbering, rels));
|
|
33
|
-
else if (localName === "tbl")
|
|
34
|
-
|
|
33
|
+
else if (localName === "tbl") {
|
|
34
|
+
const table = parseTable(child, styles, theme, numbering, rels, media);
|
|
35
|
+
if (table) blocks.push(table);
|
|
36
|
+
} else if (localName === "sdt") {
|
|
35
37
|
const sdtPr = findChild(child, "w", "sdtPr");
|
|
36
38
|
const sdtEndPr = findChild(child, "w", "sdtEndPr");
|
|
37
39
|
const sdtContent = findChild(child, "w", "sdtContent");
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { document_d_exports } from "../types/document.js";
|
|
2
2
|
import { XmlElement } from "./xmlParser.js";
|
|
3
|
-
|
|
4
3
|
//#region src/docx/groupDrawingParser.d.ts
|
|
5
4
|
/** Parse a WordprocessingGroup drawing into a safe SVG-backed image preview. */
|
|
6
5
|
declare const parseGroupDrawing: (drawing: XmlElement, rels?: document_d_exports.RelationshipMap, media?: Map<string, document_d_exports.MediaFile>) => document_d_exports.Image | null;
|
|
@@ -2,16 +2,20 @@ import { document_d_exports } from "../types/document.js";
|
|
|
2
2
|
import { NumberingMap } from "./numberingParser.js";
|
|
3
3
|
import { StyleMap } from "./styleParser.js";
|
|
4
4
|
import { parseFooterReference, parseFooterReferences, parseHeaderReference, parseHeaderReferences } from "./headerFooterRefParser.js";
|
|
5
|
-
|
|
6
5
|
//#region src/docx/headerFooterParser.d.ts
|
|
7
6
|
/**
|
|
8
7
|
* Map of header/footer ID to HeaderFooter content
|
|
9
8
|
*/
|
|
10
9
|
type HeaderFooterMap = {
|
|
11
|
-
/** Map of rId to HeaderFooter */
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
/** Map of rId to HeaderFooter */
|
|
11
|
+
byId: Map<string, document_d_exports.HeaderFooter>;
|
|
12
|
+
/** Get header/footer by rId */
|
|
13
|
+
get: (rId: string) => document_d_exports.HeaderFooter | undefined;
|
|
14
|
+
/** Check if header/footer exists */
|
|
15
|
+
has: (rId: string) => boolean;
|
|
16
|
+
/** Get all headers/footers */
|
|
17
|
+
getAll: () => document_d_exports.HeaderFooter[];
|
|
18
|
+
/** Get by type */
|
|
15
19
|
getByType: (type: document_d_exports.HeaderFooterType) => document_d_exports.HeaderFooter | undefined;
|
|
16
20
|
};
|
|
17
21
|
/**
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { document_d_exports } from "../types/document.js";
|
|
2
|
-
|
|
3
2
|
//#region src/docx/headerFooterReferenceNormalization.d.ts
|
|
4
3
|
type NormalizeHeaderFooterReferencesInput = {
|
|
5
4
|
documentBody: document_d_exports.DocumentBody;
|
|
@@ -10,10 +9,6 @@ type NormalizeHeaderFooterReferencesResult = {
|
|
|
10
9
|
removedDanglingHeaderReferences: number;
|
|
11
10
|
removedDanglingFooterReferences: number;
|
|
12
11
|
};
|
|
13
|
-
declare const normalizeHeaderFooterReferences: ({
|
|
14
|
-
documentBody,
|
|
15
|
-
headers,
|
|
16
|
-
footers
|
|
17
|
-
}: NormalizeHeaderFooterReferencesInput) => NormalizeHeaderFooterReferencesResult;
|
|
12
|
+
declare const normalizeHeaderFooterReferences: ({ documentBody, headers, footers }: NormalizeHeaderFooterReferencesInput) => NormalizeHeaderFooterReferencesResult;
|
|
18
13
|
//#endregion
|
|
19
14
|
export { normalizeHeaderFooterReferences };
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { document_d_exports } from "../types/document.js";
|
|
2
|
-
|
|
3
2
|
//#region src/docx/headerFooterVerbatim.d.ts
|
|
4
3
|
/**
|
|
5
4
|
* Folio extension on {@link HeaderFooter}: original part XML captured at parse
|
|
@@ -8,12 +7,14 @@ import { document_d_exports } from "../types/document.js";
|
|
|
8
7
|
* Cleared on first edit.
|
|
9
8
|
*/
|
|
10
9
|
type HeaderFooterWithVerbatim = document_d_exports.HeaderFooter & {
|
|
11
|
-
verbatimXml?: string;
|
|
10
|
+
verbatimXml?: string;
|
|
11
|
+
/** Fingerprint of modeled fields at parse time; verbatim replay is safe only while it matches. */
|
|
12
12
|
verbatimFingerprint?: string;
|
|
13
13
|
};
|
|
14
14
|
declare const getHeaderFooterVerbatimXml: (hf: document_d_exports.HeaderFooter) => string | undefined;
|
|
15
15
|
declare const canReplayHeaderFooterVerbatim: (hf: document_d_exports.HeaderFooter) => boolean;
|
|
16
16
|
declare const assignHeaderFooterVerbatimXml: (hf: document_d_exports.HeaderFooter, xml: string) => void;
|
|
17
|
+
declare const refreshHeaderFooterVerbatimFingerprint: (hf: document_d_exports.HeaderFooter) => void;
|
|
17
18
|
declare const clearHeaderFooterVerbatimXml: (hf: document_d_exports.HeaderFooter) => void;
|
|
18
19
|
//#endregion
|
|
19
|
-
export { HeaderFooterWithVerbatim, assignHeaderFooterVerbatimXml, canReplayHeaderFooterVerbatim, clearHeaderFooterVerbatimXml, getHeaderFooterVerbatimXml };
|
|
20
|
+
export { HeaderFooterWithVerbatim, assignHeaderFooterVerbatimXml, canReplayHeaderFooterVerbatim, clearHeaderFooterVerbatimXml, getHeaderFooterVerbatimXml, refreshHeaderFooterVerbatimFingerprint };
|
|
@@ -16,10 +16,15 @@ const assignHeaderFooterVerbatimXml = (hf, xml) => {
|
|
|
16
16
|
ext.verbatimXml = xml;
|
|
17
17
|
ext.verbatimFingerprint = headerFooterSerializationFingerprint(hf);
|
|
18
18
|
};
|
|
19
|
+
const refreshHeaderFooterVerbatimFingerprint = (hf) => {
|
|
20
|
+
const ext = hf;
|
|
21
|
+
if (!ext.verbatimXml) return;
|
|
22
|
+
ext.verbatimFingerprint = headerFooterSerializationFingerprint(hf);
|
|
23
|
+
};
|
|
19
24
|
const clearHeaderFooterVerbatimXml = (hf) => {
|
|
20
25
|
const ext = hf;
|
|
21
26
|
delete ext.verbatimXml;
|
|
22
27
|
delete ext.verbatimFingerprint;
|
|
23
28
|
};
|
|
24
29
|
//#endregion
|
|
25
|
-
export { assignHeaderFooterVerbatimXml, canReplayHeaderFooterVerbatim, clearHeaderFooterVerbatimXml, getHeaderFooterVerbatimXml };
|
|
30
|
+
export { assignHeaderFooterVerbatimXml, canReplayHeaderFooterVerbatim, clearHeaderFooterVerbatimXml, getHeaderFooterVerbatimXml, refreshHeaderFooterVerbatimFingerprint };
|
|
@@ -1,16 +1,8 @@
|
|
|
1
|
-
import { getAttribute, getChildElements, mergeXmlnsDeclarations, parseNumericAttribute } from "./xmlParser.js";
|
|
1
|
+
import { getAttribute, getChildElements, getLocalName, mergeXmlnsDeclarations, parseNumericAttribute } from "./xmlParser.js";
|
|
2
2
|
import { sanitizeExternalUrl, sanitizeLinkTarget } from "../utils/urlSecurity.js";
|
|
3
3
|
import { parseRun } from "./runParser.js";
|
|
4
4
|
//#region src/docx/hyperlinkParser.ts
|
|
5
5
|
/**
|
|
6
|
-
* Get the local name of an element (without namespace prefix)
|
|
7
|
-
*/
|
|
8
|
-
function getLocalName(name) {
|
|
9
|
-
if (!name) return "";
|
|
10
|
-
const colonIndex = name.indexOf(":");
|
|
11
|
-
return colonIndex !== -1 ? name.slice(colonIndex + 1) : name;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
6
|
* Parse bookmark start (w:bookmarkStart)
|
|
15
7
|
*
|
|
16
8
|
* Used for internal hyperlink targets within the document.
|
package/dist/docx/imageParser.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { findByFullName, findChild, getAttribute, getChildElements, parseNumericAttribute } from "./xmlParser.js";
|
|
2
2
|
import { emuToPixels } from "../utils/units.js";
|
|
3
|
+
import { WRAP_ELEMENT_NAMES, parsePositionH, parsePositionV, parseWrapElement } from "./drawingUtils.js";
|
|
3
4
|
import { sanitizeExternalUrl } from "../utils/urlSecurity.js";
|
|
4
5
|
import { sanitizeImageSrc } from "../utils/sanitizeImageSrc.js";
|
|
5
|
-
import { WRAP_ELEMENT_NAMES, parsePositionH, parsePositionV, parseWrapElement } from "./drawingUtils.js";
|
|
6
6
|
import { resolveTarget } from "./relsParser.js";
|
|
7
7
|
import { isTextBoxDrawing } from "./textBoxParser.js";
|
|
8
8
|
//#region src/docx/imageParser.ts
|
|
@@ -325,8 +325,9 @@ function parseInline(inlineEl, rels, media) {
|
|
|
325
325
|
wrap
|
|
326
326
|
};
|
|
327
327
|
if (props.id) image.id = props.id;
|
|
328
|
-
if (props.
|
|
329
|
-
if (props.
|
|
328
|
+
if (props.name !== void 0) image.docPrName = props.name;
|
|
329
|
+
if (props.alt !== void 0) image.alt = props.alt;
|
|
330
|
+
if (props.title !== void 0) image.title = props.title;
|
|
330
331
|
if (props.decorative) image.decorative = true;
|
|
331
332
|
const safeSrc = sanitizeImageSrc(imageData.src);
|
|
332
333
|
if (safeSrc) image.src = safeSrc;
|
|
@@ -338,7 +339,10 @@ function parseInline(inlineEl, rels, media) {
|
|
|
338
339
|
if (opacity !== void 0) image.opacity = opacity;
|
|
339
340
|
if (props.hlinkRId && rels) {
|
|
340
341
|
const safeHref = sanitizeExternalUrl(resolveTarget(rels, props.hlinkRId));
|
|
341
|
-
if (safeHref)
|
|
342
|
+
if (safeHref) {
|
|
343
|
+
image.hlinkHref = safeHref;
|
|
344
|
+
image.hlinkRId = props.hlinkRId;
|
|
345
|
+
}
|
|
342
346
|
}
|
|
343
347
|
return image;
|
|
344
348
|
}
|
|
@@ -391,8 +395,9 @@ function parseAnchor(anchorEl, rels, media) {
|
|
|
391
395
|
wrap
|
|
392
396
|
};
|
|
393
397
|
if (props.id) image.id = props.id;
|
|
394
|
-
if (props.
|
|
395
|
-
if (props.
|
|
398
|
+
if (props.name !== void 0) image.docPrName = props.name;
|
|
399
|
+
if (props.alt !== void 0) image.alt = props.alt;
|
|
400
|
+
if (props.title !== void 0) image.title = props.title;
|
|
396
401
|
if (props.decorative) image.decorative = true;
|
|
397
402
|
const safeSrc = sanitizeImageSrc(imageData.src);
|
|
398
403
|
if (safeSrc) image.src = safeSrc;
|
|
@@ -407,7 +412,10 @@ function parseAnchor(anchorEl, rels, media) {
|
|
|
407
412
|
if (allowOverlap !== void 0) image.allowOverlap = allowOverlap;
|
|
408
413
|
if (props.hlinkRId && rels) {
|
|
409
414
|
const safeHref = sanitizeExternalUrl(resolveTarget(rels, props.hlinkRId));
|
|
410
|
-
if (safeHref)
|
|
415
|
+
if (safeHref) {
|
|
416
|
+
image.hlinkHref = safeHref;
|
|
417
|
+
image.hlinkRId = props.hlinkRId;
|
|
418
|
+
}
|
|
411
419
|
}
|
|
412
420
|
return image;
|
|
413
421
|
}
|