@stll/folio-core 0.0.1-placeholder.0 → 0.1.1
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/LICENSE +202 -0
- package/NOTICE.md +29 -0
- package/README.md +41 -0
- package/dist/_virtual/_rolldown/runtime.js +13 -0
- package/dist/ai-edits/apply.d.ts +35 -0
- package/dist/ai-edits/apply.js +683 -0
- package/dist/ai-edits/clean-text.d.ts +28 -0
- package/dist/ai-edits/clean-text.js +23 -0
- package/dist/ai-edits/headless.d.ts +225 -0
- package/dist/ai-edits/headless.js +513 -0
- package/dist/ai-edits/index.d.ts +6 -0
- package/dist/ai-edits/index.js +5 -0
- package/dist/ai-edits/inline-emphasis.d.ts +38 -0
- package/dist/ai-edits/inline-emphasis.js +78 -0
- package/dist/ai-edits/snapshot.d.ts +9 -0
- package/dist/ai-edits/snapshot.js +195 -0
- package/dist/ai-edits/types.d.ts +156 -0
- package/dist/ai-edits/types.js +0 -0
- package/dist/ai-edits/word-diff.d.ts +20 -0
- package/dist/ai-edits/word-diff.js +77 -0
- package/dist/ai-suggestions/apply.d.ts +17 -0
- package/dist/ai-suggestions/apply.js +64 -0
- package/dist/ai-suggestions/conflict.d.ts +22 -0
- package/dist/ai-suggestions/conflict.js +67 -0
- package/dist/ai-suggestions/text-positions.d.ts +21 -0
- package/dist/ai-suggestions/text-positions.js +48 -0
- package/dist/ai-suggestions/types.d.ts +199 -0
- package/dist/ai-suggestions/types.js +59 -0
- package/dist/content-controls/errors.d.ts +52 -0
- package/dist/content-controls/errors.js +36 -0
- package/dist/content-controls/findContentControls.d.ts +55 -0
- package/dist/content-controls/findContentControls.js +75 -0
- package/dist/content-controls/index.d.ts +4 -0
- package/dist/content-controls/index.js +4 -0
- package/dist/content-controls/mutateContentControls.d.ts +51 -0
- package/dist/content-controls/mutateContentControls.js +377 -0
- package/dist/controller/folioEditor.d.ts +21 -0
- package/dist/controller/folioEditor.js +29 -0
- package/dist/controller/folioEditorEvents.d.ts +23 -0
- package/dist/controller/folioEditorEvents.js +24 -0
- package/dist/controller/hiddenEditorApi.d.ts +35 -0
- package/dist/controller/hiddenEditorApi.js +112 -0
- package/dist/controller/hiddenEditorManager.d.ts +93 -0
- package/dist/controller/hiddenEditorManager.js +308 -0
- package/dist/controller/layoutPipeline.d.ts +63 -0
- package/dist/controller/layoutPipeline.js +406 -0
- package/dist/controller/layoutScheduler.d.ts +41 -0
- package/dist/controller/layoutScheduler.js +59 -0
- package/dist/controller/layoutSession.d.ts +24 -0
- package/dist/controller/layoutSession.js +13 -0
- package/dist/docx/blockContentParser.d.ts +13 -0
- package/dist/docx/blockContentParser.js +289 -0
- package/dist/docx/bookmarkParser.d.ts +178 -0
- package/dist/docx/bookmarkParser.js +246 -0
- package/dist/docx/bookmarkPlacement.d.ts +10 -0
- package/dist/docx/bookmarkPlacement.js +50 -0
- package/dist/docx/bulletMarkers.d.ts +4 -0
- package/dist/docx/bulletMarkers.js +42 -0
- package/dist/docx/commentParser.d.ts +34 -0
- package/dist/docx/commentParser.js +127 -0
- package/dist/docx/commentReferenceNormalization.d.ts +25 -0
- package/dist/docx/commentReferenceNormalization.js +97 -0
- package/dist/docx/commentReplyMarkers.d.ts +20 -0
- package/dist/docx/commentReplyMarkers.js +123 -0
- package/dist/docx/compatibility.d.ts +12 -0
- package/dist/docx/compatibility.js +77 -0
- package/dist/docx/documentParser.d.ts +65 -0
- package/dist/docx/documentParser.js +209 -0
- package/dist/docx/drawingUtils.d.ts +56 -0
- package/dist/docx/drawingUtils.js +305 -0
- package/dist/docx/fieldParser.d.ts +228 -0
- package/dist/docx/fieldParser.js +559 -0
- package/dist/docx/footnoteParser.d.ts +109 -0
- package/dist/docx/footnoteParser.js +270 -0
- package/dist/docx/headerFooterParser.d.ts +119 -0
- package/dist/docx/headerFooterParser.js +266 -0
- package/dist/docx/headerFooterRefParser.d.ts +22 -0
- package/dist/docx/headerFooterRefParser.js +52 -0
- package/dist/docx/headerFooterReferenceNormalization.d.ts +19 -0
- package/dist/docx/headerFooterReferenceNormalization.js +64 -0
- package/dist/docx/hyperlinkParser.d.ts +108 -0
- package/dist/docx/hyperlinkParser.js +230 -0
- package/dist/docx/imageParser.d.ts +93 -0
- package/dist/docx/imageParser.js +522 -0
- package/dist/docx/mathToMathml.d.ts +15 -0
- package/dist/docx/mathToMathml.js +357 -0
- package/dist/docx/modelValidation.d.ts +13 -0
- package/dist/docx/modelValidation.js +21 -0
- package/dist/docx/normalizeBaseDirection.d.ts +12 -0
- package/dist/docx/normalizeBaseDirection.js +81 -0
- package/dist/docx/notePropertiesParser.d.ts +16 -0
- package/dist/docx/notePropertiesParser.js +99 -0
- package/dist/docx/numberingParser.d.ts +86 -0
- package/dist/docx/numberingParser.js +735 -0
- package/dist/docx/numberingReferenceNormalization.d.ts +25 -0
- package/dist/docx/numberingReferenceNormalization.js +22 -0
- package/dist/docx/paragraphParser.d.ts +86 -0
- package/dist/docx/paragraphParser.js +1132 -0
- package/dist/docx/paragraphTraversal.d.ts +19 -0
- package/dist/docx/paragraphTraversal.js +76 -0
- package/dist/docx/parser.d.ts +67 -0
- package/dist/docx/parser.js +391 -0
- package/dist/docx/parserEnums.d.ts +45 -0
- package/dist/docx/parserEnums.js +70 -0
- package/dist/docx/relsParser.d.ts +160 -0
- package/dist/docx/relsParser.js +235 -0
- package/dist/docx/replyToComment.d.ts +29 -0
- package/dist/docx/replyToComment.js +73 -0
- package/dist/docx/rezip.d.ts +166 -0
- package/dist/docx/rezip.js +1194 -0
- package/dist/docx/runConsolidator.d.ts +57 -0
- package/dist/docx/runConsolidator.js +224 -0
- package/dist/docx/runParser.d.ts +78 -0
- package/dist/docx/runParser.js +661 -0
- package/dist/docx/sdtProperties.d.ts +15 -0
- package/dist/docx/sdtProperties.js +290 -0
- package/dist/docx/sdtPropertiesPatch.d.ts +16 -0
- package/dist/docx/sdtPropertiesPatch.js +144 -0
- package/dist/docx/sectionParser.d.ts +95 -0
- package/dist/docx/sectionParser.js +534 -0
- package/dist/docx/selectiveSave.d.ts +25 -0
- package/dist/docx/selectiveSave.js +247 -0
- package/dist/docx/selectiveSaveFlags.d.ts +33 -0
- package/dist/docx/selectiveSaveFlags.js +11 -0
- package/dist/docx/selectiveSaveTripwire.d.ts +33 -0
- package/dist/docx/selectiveSaveTripwire.js +79 -0
- package/dist/docx/selectiveXmlPatch.d.ts +103 -0
- package/dist/docx/selectiveXmlPatch.js +493 -0
- package/dist/docx/serializer/blockSdtSerializer.d.ts +6 -0
- package/dist/docx/serializer/blockSdtSerializer.js +88 -0
- package/dist/docx/serializer/borderSerializer.d.ts +25 -0
- package/dist/docx/serializer/borderSerializer.js +44 -0
- package/dist/docx/serializer/commentSerializer.d.ts +31 -0
- package/dist/docx/serializer/commentSerializer.js +184 -0
- package/dist/docx/serializer/documentSerializer.d.ts +65 -0
- package/dist/docx/serializer/documentSerializer.js +199 -0
- package/dist/docx/serializer/headerFooterSerializer.d.ts +12 -0
- package/dist/docx/serializer/headerFooterSerializer.js +84 -0
- package/dist/docx/serializer/noteSerializer.d.ts +19 -0
- package/dist/docx/serializer/noteSerializer.js +70 -0
- package/dist/docx/serializer/numberingSerializer.d.ts +12 -0
- package/dist/docx/serializer/numberingSerializer.js +93 -0
- package/dist/docx/serializer/paragraphSerializer.d.ts +48 -0
- package/dist/docx/serializer/paragraphSerializer.js +559 -0
- package/dist/docx/serializer/runSerializer.d.ts +56 -0
- package/dist/docx/serializer/runSerializer.js +621 -0
- package/dist/docx/serializer/sectionPropertiesSerializer.d.ts +6 -0
- package/dist/docx/serializer/sectionPropertiesSerializer.js +187 -0
- package/dist/docx/serializer/tableSerializer.d.ts +79 -0
- package/dist/docx/serializer/tableSerializer.js +422 -0
- package/dist/docx/serializer/xmlUtils.d.ts +20 -0
- package/dist/docx/serializer/xmlUtils.js +25 -0
- package/dist/docx/settingsParser.d.ts +8 -0
- package/dist/docx/settingsParser.js +36 -0
- package/dist/docx/shapeParser.d.ts +20 -0
- package/dist/docx/shapeParser.js +272 -0
- package/dist/docx/styleParser.d.ts +50 -0
- package/dist/docx/styleParser.js +905 -0
- package/dist/docx/tableParser.d.ts +202 -0
- package/dist/docx/tableParser.js +811 -0
- package/dist/docx/textBoxParser.d.ts +117 -0
- package/dist/docx/textBoxParser.js +262 -0
- package/dist/docx/themeParser.d.ts +77 -0
- package/dist/docx/themeParser.js +330 -0
- package/dist/docx/trackedMoveRangeNormalization.d.ts +22 -0
- package/dist/docx/trackedMoveRangeNormalization.js +100 -0
- package/dist/docx/unzip.d.ts +118 -0
- package/dist/docx/unzip.js +383 -0
- package/dist/docx/vmlImageParser.d.ts +16 -0
- package/dist/docx/vmlImageParser.js +100 -0
- package/dist/docx/watermarkParser.d.ts +45 -0
- package/dist/docx/watermarkParser.js +348 -0
- package/dist/docx/wrapTypes.d.ts +29 -0
- package/dist/docx/wrapTypes.js +48 -0
- package/dist/docx/xmlParser.d.ts +297 -0
- package/dist/docx/xmlParser.js +527 -0
- package/dist/fields/bookmarkPages.d.ts +13 -0
- package/dist/fields/bookmarkPages.js +66 -0
- package/dist/fields/bookmarkText.d.ts +16 -0
- package/dist/fields/bookmarkText.js +61 -0
- package/dist/fields/evaluateField.d.ts +23 -0
- package/dist/fields/evaluateField.js +77 -0
- package/dist/fields/fieldContext.d.ts +21 -0
- package/dist/fields/fieldContext.js +0 -0
- package/dist/fields/resolveFieldValues.d.ts +44 -0
- package/dist/fields/resolveFieldValues.js +204 -0
- package/dist/fields/sectionPageCounts.d.ts +11 -0
- package/dist/fields/sectionPageCounts.js +16 -0
- package/dist/fields/seqValues.d.ts +14 -0
- package/dist/fields/seqValues.js +36 -0
- package/dist/fonts/embeddedFontTable.d.ts +42 -0
- package/dist/fonts/embeddedFontTable.js +80 -0
- package/dist/fonts/embeddedFonts.d.ts +46 -0
- package/dist/fonts/embeddedFonts.js +112 -0
- package/dist/fonts/fontDeobfuscation.d.ts +30 -0
- package/dist/fonts/fontDeobfuscation.js +57 -0
- package/dist/index.d.ts +28 -0
- package/dist/index.js +23 -0
- package/dist/layout-bridge/convert/footnoteLayout.d.ts +57 -0
- package/dist/layout-bridge/convert/footnoteLayout.js +316 -0
- package/dist/layout-bridge/convert/headerFooterLayout.d.ts +74 -0
- package/dist/layout-bridge/convert/headerFooterLayout.js +432 -0
- package/dist/layout-bridge/convert/templatePreviewFlow.d.ts +36 -0
- package/dist/layout-bridge/convert/templatePreviewFlow.js +176 -0
- package/dist/layout-bridge/convert/toFlowBlocks.d.ts +65 -0
- package/dist/layout-bridge/convert/toFlowBlocks.js +1309 -0
- package/dist/layout-bridge/convert/wrapEditorViewAsSurface.d.ts +17 -0
- package/dist/layout-bridge/convert/wrapEditorViewAsSurface.js +36 -0
- package/dist/layout-bridge/dom/clickToPositionDom.d.ts +66 -0
- package/dist/layout-bridge/dom/clickToPositionDom.js +304 -0
- package/dist/layout-bridge/dom/findBodyPmSpans.d.ts +7 -0
- package/dist/layout-bridge/dom/findBodyPmSpans.js +17 -0
- package/dist/layout-bridge/dom/findHfPmSpans.d.ts +62 -0
- package/dist/layout-bridge/dom/findHfPmSpans.js +197 -0
- package/dist/layout-bridge/engine/clickToPosition.d.ts +66 -0
- package/dist/layout-bridge/engine/clickToPosition.js +403 -0
- package/dist/layout-bridge/engine/hitTest.d.ts +135 -0
- package/dist/layout-bridge/engine/hitTest.js +375 -0
- package/dist/layout-bridge/engine/measuring/index.d.ts +10 -0
- package/dist/layout-bridge/engine/measuring/index.js +9 -0
- package/dist/layout-bridge/engine/selectionRects.d.ts +59 -0
- package/dist/layout-bridge/engine/selectionRects.js +485 -0
- package/dist/layout-bridge/engine/tableWidthUtils.d.ts +7 -0
- package/dist/layout-bridge/engine/tableWidthUtils.js +25 -0
- package/dist/layout-engine/index.d.ts +44 -0
- package/dist/layout-engine/index.js +691 -0
- package/dist/layout-engine/keep-together.d.ts +43 -0
- package/dist/layout-engine/keep-together.js +98 -0
- package/dist/layout-engine/layoutInstrumentation.d.ts +50 -0
- package/dist/layout-engine/layoutInstrumentation.js +43 -0
- package/dist/layout-engine/lineFlow.d.ts +8 -0
- package/dist/layout-engine/lineFlow.js +17 -0
- package/dist/layout-engine/measure/cache.d.ts +93 -0
- package/dist/layout-engine/measure/cache.js +245 -0
- package/dist/layout-engine/measure/clampFloatingWrapMargins.d.ts +20 -0
- package/dist/layout-engine/measure/clampFloatingWrapMargins.js +29 -0
- package/dist/layout-engine/measure/featureFlags.d.ts +44 -0
- package/dist/layout-engine/measure/featureFlags.js +19 -0
- package/dist/layout-engine/measure/floatingZones.d.ts +89 -0
- package/dist/layout-engine/measure/floatingZones.js +152 -0
- package/dist/layout-engine/measure/font-metrics.worker.d.ts +17 -0
- package/dist/layout-engine/measure/font-metrics.worker.js +104 -0
- package/dist/layout-engine/measure/index.d.ts +9 -0
- package/dist/layout-engine/measure/index.js +8 -0
- package/dist/layout-engine/measure/listMarkerWidth.d.ts +40 -0
- package/dist/layout-engine/measure/listMarkerWidth.js +76 -0
- package/dist/layout-engine/measure/measureBlocks.d.ts +25 -0
- package/dist/layout-engine/measure/measureBlocks.js +450 -0
- package/dist/layout-engine/measure/measureContainer.d.ts +24 -0
- package/dist/layout-engine/measure/measureContainer.js +280 -0
- package/dist/layout-engine/measure/measureHelpers.d.ts +82 -0
- package/dist/layout-engine/measure/measureHelpers.js +156 -0
- package/dist/layout-engine/measure/measureParagraph.d.ts +61 -0
- package/dist/layout-engine/measure/measureParagraph.js +724 -0
- package/dist/layout-engine/measure/measureProvider.d.ts +23 -0
- package/dist/layout-engine/measure/measureProvider.js +35 -0
- package/dist/layout-engine/measure/measureTypes.d.ts +61 -0
- package/dist/layout-engine/measure/measureTypes.js +0 -0
- package/dist/layout-engine/measure/measureWorker.d.ts +54 -0
- package/dist/layout-engine/measure/measureWorker.js +249 -0
- package/dist/layout-engine/measure/measureWorkerProtocol.d.ts +88 -0
- package/dist/layout-engine/measure/measureWorkerProtocol.js +20 -0
- package/dist/layout-engine/measure/tableCellFloating.d.ts +26 -0
- package/dist/layout-engine/measure/tableCellFloating.js +99 -0
- package/dist/layout-engine/paginator.d.ts +84 -0
- package/dist/layout-engine/paginator.js +348 -0
- package/dist/layout-engine/paragraphFragmentRange.d.ts +9 -0
- package/dist/layout-engine/paragraphFragmentRange.js +40 -0
- package/dist/layout-engine/section-breaks.d.ts +78 -0
- package/dist/layout-engine/section-breaks.js +182 -0
- package/dist/layout-engine/tableRowBreak.d.ts +23 -0
- package/dist/layout-engine/tableRowBreak.js +147 -0
- package/dist/layout-engine/textBoxFlow.d.ts +50 -0
- package/dist/layout-engine/textBoxFlow.js +160 -0
- package/dist/layout-engine/types.d.ts +1031 -0
- package/dist/layout-engine/types.js +100 -0
- package/dist/layout-painter/documentColors.d.ts +4 -0
- package/dist/layout-painter/documentColors.js +40 -0
- package/dist/layout-painter/index.d.ts +110 -0
- package/dist/layout-painter/index.js +182 -0
- package/dist/layout-painter/registry/modules/image.d.ts +6 -0
- package/dist/layout-painter/registry/modules/image.js +17 -0
- package/dist/layout-painter/registry/modules/paragraph.d.ts +6 -0
- package/dist/layout-painter/registry/modules/paragraph.js +18 -0
- package/dist/layout-painter/registry/modules/table.d.ts +6 -0
- package/dist/layout-painter/registry/modules/table.js +16 -0
- package/dist/layout-painter/registry/modules/textBox.d.ts +6 -0
- package/dist/layout-painter/registry/modules/textBox.js +13 -0
- package/dist/layout-painter/registry/modules.d.ts +6 -0
- package/dist/layout-painter/registry/modules.js +26 -0
- package/dist/layout-painter/registry/registry.d.ts +24 -0
- package/dist/layout-painter/registry/registry.js +53 -0
- package/dist/layout-painter/registry/types.d.ts +61 -0
- package/dist/layout-painter/registry/types.js +0 -0
- package/dist/layout-painter/renderFragment.d.ts +32 -0
- package/dist/layout-painter/renderFragment.js +114 -0
- package/dist/layout-painter/renderImage.d.ts +88 -0
- package/dist/layout-painter/renderImage.js +130 -0
- package/dist/layout-painter/renderPage.d.ts +264 -0
- package/dist/layout-painter/renderPage.js +1795 -0
- package/dist/layout-painter/renderParagraph.d.ts +93 -0
- package/dist/layout-painter/renderParagraph.js +1300 -0
- package/dist/layout-painter/renderTable.d.ts +36 -0
- package/dist/layout-painter/renderTable.js +432 -0
- package/dist/layout-painter/renderTextBox.d.ts +22 -0
- package/dist/layout-painter/renderTextBox.js +67 -0
- package/dist/layout-painter/renderUtils.d.ts +42 -0
- package/dist/layout-painter/renderUtils.js +30 -0
- package/dist/layout-painter/renderWatermark.d.ts +16 -0
- package/dist/layout-painter/renderWatermark.js +61 -0
- package/dist/layout-painter/sdtBoundary.d.ts +6 -0
- package/dist/layout-painter/sdtBoundary.js +28 -0
- package/dist/managers/ContextMenuManager.d.ts +28 -0
- package/dist/managers/ContextMenuManager.js +48 -0
- package/dist/managers/DocumentLoaderManager.d.ts +47 -0
- package/dist/managers/DocumentLoaderManager.js +69 -0
- package/dist/managers/EditorModeManager.d.ts +28 -0
- package/dist/managers/EditorModeManager.js +50 -0
- package/dist/managers/ErrorManager.d.ts +26 -0
- package/dist/managers/ErrorManager.js +85 -0
- package/dist/managers/FindReplaceManager.d.ts +54 -0
- package/dist/managers/FindReplaceManager.js +104 -0
- package/dist/managers/HistoryManager.d.ts +92 -0
- package/dist/managers/HistoryManager.js +193 -0
- package/dist/managers/Subscribable.d.ts +34 -0
- package/dist/managers/Subscribable.js +46 -0
- package/dist/managers/TableSelectionManager.d.ts +74 -0
- package/dist/managers/TableSelectionManager.js +225 -0
- package/dist/managers/editorShortcuts.d.ts +42 -0
- package/dist/managers/editorShortcuts.js +60 -0
- package/dist/managers/types.d.ts +41 -0
- package/dist/managers/types.js +0 -0
- package/dist/markdown/annotations.d.ts +14 -0
- package/dist/markdown/annotations.js +42 -0
- package/dist/markdown/escape.d.ts +36 -0
- package/dist/markdown/escape.js +59 -0
- package/dist/markdown/fromMarkdown.d.ts +11 -0
- package/dist/markdown/fromMarkdown.js +223 -0
- package/dist/markdown/headings.d.ts +13 -0
- package/dist/markdown/headings.js +20 -0
- package/dist/markdown/images.d.ts +13 -0
- package/dist/markdown/images.js +63 -0
- package/dist/markdown/index.d.ts +18 -0
- package/dist/markdown/index.js +33 -0
- package/dist/markdown/internals.d.ts +15 -0
- package/dist/markdown/internals.js +35 -0
- package/dist/markdown/renderBlock.d.ts +7 -0
- package/dist/markdown/renderBlock.js +68 -0
- package/dist/markdown/renderParagraph.d.ts +11 -0
- package/dist/markdown/renderParagraph.js +64 -0
- package/dist/markdown/renderRuns.d.ts +11 -0
- package/dist/markdown/renderRuns.js +265 -0
- package/dist/markdown/renderTable.d.ts +8 -0
- package/dist/markdown/renderTable.js +229 -0
- package/dist/markdown/trailers.d.ts +13 -0
- package/dist/markdown/trailers.js +54 -0
- package/dist/markdown/types.d.ts +118 -0
- package/dist/markdown/types.js +0 -0
- package/dist/model.d.ts +13 -0
- package/dist/model.js +4 -0
- package/dist/paged-layout/LayoutSelectionGate.d.ts +80 -0
- package/dist/paged-layout/LayoutSelectionGate.js +131 -0
- package/dist/paged-layout/headerFooterMargins.d.ts +73 -0
- package/dist/paged-layout/headerFooterMargins.js +120 -0
- package/dist/paged-layout/hiddenEditorScroll.d.ts +4 -0
- package/dist/paged-layout/hiddenEditorScroll.js +4 -0
- package/dist/paged-layout/incrementalMeasure.d.ts +33 -0
- package/dist/paged-layout/incrementalMeasure.js +56 -0
- package/dist/paged-layout/rangeProjection.d.ts +51 -0
- package/dist/paged-layout/rangeProjection.js +153 -0
- package/dist/paged-layout/readOnlyEditAttempt.d.ts +5 -0
- package/dist/paged-layout/readOnlyEditAttempt.js +22 -0
- package/dist/paged-layout/scrollNavigation.d.ts +23 -0
- package/dist/paged-layout/scrollNavigation.js +31 -0
- package/dist/paged-layout/scrollPageInfo.d.ts +41 -0
- package/dist/paged-layout/scrollPageInfo.js +34 -0
- package/dist/paged-layout/scrollToPmPosition.d.ts +17 -0
- package/dist/paged-layout/scrollToPmPosition.js +95 -0
- package/dist/paged-layout/sectionBlockWidths.d.ts +35 -0
- package/dist/paged-layout/sectionBlockWidths.js +52 -0
- package/dist/paged-layout/sectionGeometry.d.ts +21 -0
- package/dist/paged-layout/sectionGeometry.js +36 -0
- package/dist/paged-layout/selectionViewportRect.d.ts +29 -0
- package/dist/paged-layout/selectionViewportRect.js +55 -0
- package/dist/paged-layout/tableColumnResize.d.ts +19 -0
- package/dist/paged-layout/tableColumnResize.js +28 -0
- package/dist/paged-layout/tableInsertButtonGeometry.d.ts +15 -0
- package/dist/paged-layout/tableInsertButtonGeometry.js +15 -0
- package/dist/paged-layout/transactionDirtyRange.d.ts +7 -0
- package/dist/paged-layout/transactionDirtyRange.js +27 -0
- package/dist/paged-layout/zoomScrollAnchor.d.ts +40 -0
- package/dist/paged-layout/zoomScrollAnchor.js +25 -0
- package/dist/prosemirror/attrs/index.d.ts +80 -0
- package/dist/prosemirror/attrs/index.js +1218 -0
- package/dist/prosemirror/autospacingBase.d.ts +11 -0
- package/dist/prosemirror/autospacingBase.js +16 -0
- package/dist/prosemirror/commands/comments.d.ts +93 -0
- package/dist/prosemirror/commands/comments.js +435 -0
- package/dist/prosemirror/commands/contentControls.d.ts +45 -0
- package/dist/prosemirror/commands/contentControls.js +294 -0
- package/dist/prosemirror/commands/contentControlsBlockFill.d.ts +15 -0
- package/dist/prosemirror/commands/contentControlsBlockFill.js +19 -0
- package/dist/prosemirror/commands/formatPainter.d.ts +31 -0
- package/dist/prosemirror/commands/formatPainter.js +130 -0
- package/dist/prosemirror/commands/formatting.d.ts +32 -0
- package/dist/prosemirror/commands/formatting.js +45 -0
- package/dist/prosemirror/commands/hyperlink.d.ts +31 -0
- package/dist/prosemirror/commands/hyperlink.js +79 -0
- package/dist/prosemirror/commands/image.d.ts +59 -0
- package/dist/prosemirror/commands/image.js +219 -0
- package/dist/prosemirror/commands/index.d.ts +13 -0
- package/dist/prosemirror/commands/index.js +13 -0
- package/dist/prosemirror/commands/pageBreak.d.ts +10 -0
- package/dist/prosemirror/commands/pageBreak.js +47 -0
- package/dist/prosemirror/commands/paragraph.d.ts +39 -0
- package/dist/prosemirror/commands/paragraph.js +64 -0
- package/dist/prosemirror/commands/pastePlainText.d.ts +39 -0
- package/dist/prosemirror/commands/pastePlainText.js +67 -0
- package/dist/prosemirror/commands/table.d.ts +83 -0
- package/dist/prosemirror/commands/table.js +105 -0
- package/dist/prosemirror/conversion/fromProseDoc.d.ts +27 -0
- package/dist/prosemirror/conversion/fromProseDoc.js +1550 -0
- package/dist/prosemirror/conversion/index.d.ts +4 -0
- package/dist/prosemirror/conversion/index.js +4 -0
- package/dist/prosemirror/conversion/runShadingMark.d.ts +16 -0
- package/dist/prosemirror/conversion/runShadingMark.js +39 -0
- package/dist/prosemirror/conversion/toProseDoc.d.ts +39 -0
- package/dist/prosemirror/conversion/toProseDoc.js +1404 -0
- package/dist/prosemirror/extensions/ExtensionManager.d.ts +43 -0
- package/dist/prosemirror/extensions/ExtensionManager.js +86 -0
- package/dist/prosemirror/extensions/StarterKit.d.ts +16 -0
- package/dist/prosemirror/extensions/StarterKit.js +132 -0
- package/dist/prosemirror/extensions/core/DocExtension.d.ts +9 -0
- package/dist/prosemirror/extensions/core/DocExtension.js +12 -0
- package/dist/prosemirror/extensions/core/HistoryExtension.d.ts +13 -0
- package/dist/prosemirror/extensions/core/HistoryExtension.js +28 -0
- package/dist/prosemirror/extensions/core/ParagraphExtension.d.ts +25 -0
- package/dist/prosemirror/extensions/core/ParagraphExtension.js +619 -0
- package/dist/prosemirror/extensions/core/TextExtension.d.ts +9 -0
- package/dist/prosemirror/extensions/core/TextExtension.js +12 -0
- package/dist/prosemirror/extensions/create.d.ts +17 -0
- package/dist/prosemirror/extensions/create.js +129 -0
- package/dist/prosemirror/extensions/features/AutoBidiDetectionExtension.d.ts +23 -0
- package/dist/prosemirror/extensions/features/AutoBidiDetectionExtension.js +106 -0
- package/dist/prosemirror/extensions/features/BaseKeymapExtension.d.ts +8 -0
- package/dist/prosemirror/extensions/features/BaseKeymapExtension.js +172 -0
- package/dist/prosemirror/extensions/features/BidiShortcutExtension.d.ts +16 -0
- package/dist/prosemirror/extensions/features/BidiShortcutExtension.js +38 -0
- package/dist/prosemirror/extensions/features/ContentControlWidgetsExtension.d.ts +16 -0
- package/dist/prosemirror/extensions/features/ContentControlWidgetsExtension.js +21 -0
- package/dist/prosemirror/extensions/features/DropCursorExtension.d.ts +12 -0
- package/dist/prosemirror/extensions/features/DropCursorExtension.js +20 -0
- package/dist/prosemirror/extensions/features/EmptyParagraphFormatExtension.d.ts +8 -0
- package/dist/prosemirror/extensions/features/EmptyParagraphFormatExtension.js +44 -0
- package/dist/prosemirror/extensions/features/GapCursorExtension.d.ts +19 -0
- package/dist/prosemirror/extensions/features/GapCursorExtension.js +24 -0
- package/dist/prosemirror/extensions/features/ImageDragExtension.d.ts +15 -0
- package/dist/prosemirror/extensions/features/ImageDragExtension.js +66 -0
- package/dist/prosemirror/extensions/features/ImagePasteExtension.d.ts +12 -0
- package/dist/prosemirror/extensions/features/ImagePasteExtension.js +91 -0
- package/dist/prosemirror/extensions/features/ListExtension.d.ts +14 -0
- package/dist/prosemirror/extensions/features/ListExtension.js +340 -0
- package/dist/prosemirror/extensions/features/ParaIdAllocatorExtension.d.ts +9 -0
- package/dist/prosemirror/extensions/features/ParaIdAllocatorExtension.js +60 -0
- package/dist/prosemirror/extensions/features/ParagraphChangeTrackerExtension.d.ts +35 -0
- package/dist/prosemirror/extensions/features/ParagraphChangeTrackerExtension.js +188 -0
- package/dist/prosemirror/extensions/features/PasteCleanupExtension.d.ts +20 -0
- package/dist/prosemirror/extensions/features/PasteCleanupExtension.js +34 -0
- package/dist/prosemirror/extensions/features/PasteStyleInlinerExtension.d.ts +20 -0
- package/dist/prosemirror/extensions/features/PasteStyleInlinerExtension.js +145 -0
- package/dist/prosemirror/extensions/features/SelectionTrackerExtension.d.ts +10 -0
- package/dist/prosemirror/extensions/features/SelectionTrackerExtension.js +17 -0
- package/dist/prosemirror/extensions/features/bidiShortcutController.d.ts +31 -0
- package/dist/prosemirror/extensions/features/bidiShortcutController.js +27 -0
- package/dist/prosemirror/extensions/features/pasteCleanup.d.ts +31 -0
- package/dist/prosemirror/extensions/features/pasteCleanup.js +159 -0
- package/dist/prosemirror/extensions/marks/AllCapsExtension.d.ts +9 -0
- package/dist/prosemirror/extensions/marks/AllCapsExtension.js +24 -0
- package/dist/prosemirror/extensions/marks/BoldExtension.d.ts +9 -0
- package/dist/prosemirror/extensions/marks/BoldExtension.js +41 -0
- package/dist/prosemirror/extensions/marks/CharacterSpacingExtension.d.ts +14 -0
- package/dist/prosemirror/extensions/marks/CharacterSpacingExtension.js +64 -0
- package/dist/prosemirror/extensions/marks/CharacterStyleExtension.d.ts +23 -0
- package/dist/prosemirror/extensions/marks/CharacterStyleExtension.js +47 -0
- package/dist/prosemirror/extensions/marks/CommentExtension.d.ts +12 -0
- package/dist/prosemirror/extensions/marks/CommentExtension.js +38 -0
- package/dist/prosemirror/extensions/marks/FontFamilyExtension.d.ts +9 -0
- package/dist/prosemirror/extensions/marks/FontFamilyExtension.js +55 -0
- package/dist/prosemirror/extensions/marks/FontSizeExtension.d.ts +9 -0
- package/dist/prosemirror/extensions/marks/FontSizeExtension.js +47 -0
- package/dist/prosemirror/extensions/marks/FootnoteRefExtension.d.ts +11 -0
- package/dist/prosemirror/extensions/marks/FootnoteRefExtension.js +92 -0
- package/dist/prosemirror/extensions/marks/HiddenTextExtension.d.ts +23 -0
- package/dist/prosemirror/extensions/marks/HiddenTextExtension.js +35 -0
- package/dist/prosemirror/extensions/marks/HighlightExtension.d.ts +10 -0
- package/dist/prosemirror/extensions/marks/HighlightExtension.js +115 -0
- package/dist/prosemirror/extensions/marks/HyperlinkExtension.d.ts +13 -0
- package/dist/prosemirror/extensions/marks/HyperlinkExtension.js +146 -0
- package/dist/prosemirror/extensions/marks/ItalicExtension.d.ts +9 -0
- package/dist/prosemirror/extensions/marks/ItalicExtension.js +34 -0
- package/dist/prosemirror/extensions/marks/RtlExtension.d.ts +6 -0
- package/dist/prosemirror/extensions/marks/RtlExtension.js +21 -0
- package/dist/prosemirror/extensions/marks/RunFormattingOverrideExtension.d.ts +11 -0
- package/dist/prosemirror/extensions/marks/RunFormattingOverrideExtension.js +75 -0
- package/dist/prosemirror/extensions/marks/RunShadingExtension.d.ts +6 -0
- package/dist/prosemirror/extensions/marks/RunShadingExtension.js +38 -0
- package/dist/prosemirror/extensions/marks/SmallCapsExtension.d.ts +9 -0
- package/dist/prosemirror/extensions/marks/SmallCapsExtension.js +24 -0
- package/dist/prosemirror/extensions/marks/StrikeExtension.d.ts +9 -0
- package/dist/prosemirror/extensions/marks/StrikeExtension.js +33 -0
- package/dist/prosemirror/extensions/marks/SubscriptExtension.d.ts +9 -0
- package/dist/prosemirror/extensions/marks/SubscriptExtension.js +25 -0
- package/dist/prosemirror/extensions/marks/SuperscriptExtension.d.ts +9 -0
- package/dist/prosemirror/extensions/marks/SuperscriptExtension.js +25 -0
- package/dist/prosemirror/extensions/marks/TextColorExtension.d.ts +9 -0
- package/dist/prosemirror/extensions/marks/TextColorExtension.js +50 -0
- package/dist/prosemirror/extensions/marks/TextEffectExtension.d.ts +6 -0
- package/dist/prosemirror/extensions/marks/TextEffectExtension.js +35 -0
- package/dist/prosemirror/extensions/marks/TextEffectsExtensions.d.ts +31 -0
- package/dist/prosemirror/extensions/marks/TextEffectsExtensions.js +134 -0
- package/dist/prosemirror/extensions/marks/TrackedChangeExtensions.d.ts +22 -0
- package/dist/prosemirror/extensions/marks/TrackedChangeExtensions.js +113 -0
- package/dist/prosemirror/extensions/marks/UnderlineExtension.d.ts +9 -0
- package/dist/prosemirror/extensions/marks/UnderlineExtension.js +60 -0
- package/dist/prosemirror/extensions/marks/markUtils.d.ts +34 -0
- package/dist/prosemirror/extensions/marks/markUtils.js +233 -0
- package/dist/prosemirror/extensions/nodes/BlockSdtExtension.d.ts +22 -0
- package/dist/prosemirror/extensions/nodes/BlockSdtExtension.js +122 -0
- package/dist/prosemirror/extensions/nodes/FieldExtension.d.ts +12 -0
- package/dist/prosemirror/extensions/nodes/FieldExtension.js +87 -0
- package/dist/prosemirror/extensions/nodes/HardBreakExtension.d.ts +9 -0
- package/dist/prosemirror/extensions/nodes/HardBreakExtension.js +38 -0
- package/dist/prosemirror/extensions/nodes/HorizontalRuleExtension.d.ts +9 -0
- package/dist/prosemirror/extensions/nodes/HorizontalRuleExtension.js +18 -0
- package/dist/prosemirror/extensions/nodes/ImageExtension.d.ts +9 -0
- package/dist/prosemirror/extensions/nodes/ImageExtension.js +132 -0
- package/dist/prosemirror/extensions/nodes/MathExtension.d.ts +13 -0
- package/dist/prosemirror/extensions/nodes/MathExtension.js +56 -0
- package/dist/prosemirror/extensions/nodes/PageBreakExtension.d.ts +9 -0
- package/dist/prosemirror/extensions/nodes/PageBreakExtension.js +20 -0
- package/dist/prosemirror/extensions/nodes/SdtExtension.d.ts +12 -0
- package/dist/prosemirror/extensions/nodes/SdtExtension.js +107 -0
- package/dist/prosemirror/extensions/nodes/ShapeExtension.d.ts +30 -0
- package/dist/prosemirror/extensions/nodes/ShapeExtension.js +502 -0
- package/dist/prosemirror/extensions/nodes/TabExtension.d.ts +9 -0
- package/dist/prosemirror/extensions/nodes/TabExtension.js +27 -0
- package/dist/prosemirror/extensions/nodes/TableExtension.d.ts +34 -0
- package/dist/prosemirror/extensions/nodes/TableExtension.js +1972 -0
- package/dist/prosemirror/extensions/nodes/TextBoxExtension.d.ts +34 -0
- package/dist/prosemirror/extensions/nodes/TextBoxExtension.js +150 -0
- package/dist/prosemirror/extensions/types.d.ts +101 -0
- package/dist/prosemirror/extensions/types.js +10 -0
- package/dist/prosemirror/findReplaceSelection.d.ts +23 -0
- package/dist/prosemirror/findReplaceSelection.js +86 -0
- package/dist/prosemirror/index.d.ts +25 -0
- package/dist/prosemirror/index.js +23 -0
- package/dist/prosemirror/insertOperations.d.ts +12 -0
- package/dist/prosemirror/insertOperations.js +19 -0
- package/dist/prosemirror/paragraphDirection.d.ts +42 -0
- package/dist/prosemirror/paragraphDirection.js +33 -0
- package/dist/prosemirror/plugins/aiCitationDecorations.d.ts +40 -0
- package/dist/prosemirror/plugins/aiCitationDecorations.js +90 -0
- package/dist/prosemirror/plugins/aiSuggestionDecorations.d.ts +42 -0
- package/dist/prosemirror/plugins/aiSuggestionDecorations.js +135 -0
- package/dist/prosemirror/plugins/anonymizationDecorations.d.ts +60 -0
- package/dist/prosemirror/plugins/anonymizationDecorations.js +120 -0
- package/dist/prosemirror/plugins/autocompleteSuggestion.d.ts +123 -0
- package/dist/prosemirror/plugins/autocompleteSuggestion.js +283 -0
- package/dist/prosemirror/plugins/contentControlWidgets.d.ts +56 -0
- package/dist/prosemirror/plugins/contentControlWidgets.js +192 -0
- package/dist/prosemirror/plugins/createDocScanPlugin.d.ts +37 -0
- package/dist/prosemirror/plugins/createDocScanPlugin.js +55 -0
- package/dist/prosemirror/plugins/documentStyles.d.ts +18 -0
- package/dist/prosemirror/plugins/documentStyles.js +46 -0
- package/dist/prosemirror/plugins/index.d.ts +3 -0
- package/dist/prosemirror/plugins/index.js +3 -0
- package/dist/prosemirror/plugins/pmTextScan.d.ts +19 -0
- package/dist/prosemirror/plugins/pmTextScan.js +39 -0
- package/dist/prosemirror/plugins/selectionTracker.d.ts +43 -0
- package/dist/prosemirror/plugins/selectionTracker.js +179 -0
- package/dist/prosemirror/plugins/suggestionMode.d.ts +70 -0
- package/dist/prosemirror/plugins/suggestionMode.js +489 -0
- package/dist/prosemirror/plugins/templateDirectives.d.ts +25 -0
- package/dist/prosemirror/plugins/templateDirectives.js +67 -0
- package/dist/prosemirror/plugins/templatePreviewValues.d.ts +49 -0
- package/dist/prosemirror/plugins/templatePreviewValues.js +117 -0
- package/dist/prosemirror/plugins/templateSlashMenu.d.ts +57 -0
- package/dist/prosemirror/plugins/templateSlashMenu.js +184 -0
- package/dist/prosemirror/schema/index.d.ts +15 -0
- package/dist/prosemirror/schema/index.js +20 -0
- package/dist/prosemirror/schema/marks.d.ts +118 -0
- package/dist/prosemirror/schema/marks.js +0 -0
- package/dist/prosemirror/schema/nodes.d.ts +389 -0
- package/dist/prosemirror/schema/nodes.js +0 -0
- package/dist/prosemirror/selectionState.d.ts +23 -0
- package/dist/prosemirror/selectionState.js +111 -0
- package/dist/prosemirror/styles/index.d.ts +2 -0
- package/dist/prosemirror/styles/index.js +2 -0
- package/dist/prosemirror/styles/resolvedStyleAttrs.d.ts +32 -0
- package/dist/prosemirror/styles/resolvedStyleAttrs.js +108 -0
- package/dist/prosemirror/styles/styleResolver.d.ts +94 -0
- package/dist/prosemirror/styles/styleResolver.js +200 -0
- package/dist/prosemirror/utils/findParagraphByParaId.d.ts +26 -0
- package/dist/prosemirror/utils/findParagraphByParaId.js +37 -0
- package/dist/prosemirror/utils/tabCalculator.d.ts +110 -0
- package/dist/prosemirror/utils/tabCalculator.js +137 -0
- package/dist/prosemirror/validation.d.ts +20 -0
- package/dist/prosemirror/validation.js +177 -0
- package/dist/server.d.ts +7 -0
- package/dist/server.js +6 -0
- package/dist/style-engine/index.d.ts +3 -0
- package/dist/style-engine/index.js +2 -0
- package/dist/style-engine/styleEngine.d.ts +67 -0
- package/dist/style-engine/styleEngine.js +70 -0
- package/dist/types/block-id.d.ts +66 -0
- package/dist/types/block-id.js +73 -0
- package/dist/types/colors.d.ts +2 -0
- package/dist/types/colors.js +0 -0
- package/dist/types/content.d.ts +2 -0
- package/dist/types/content.js +0 -0
- package/dist/types/document.d.ts +7 -0
- package/dist/types/document.js +0 -0
- package/dist/types/documentEnumValues.d.ts +89 -0
- package/dist/types/documentEnumValues.js +693 -0
- package/dist/types/formatting.d.ts +2 -0
- package/dist/types/formatting.js +0 -0
- package/dist/types/index.d.ts +107 -0
- package/dist/types/index.js +0 -0
- package/dist/utils/authorColors.d.ts +16 -0
- package/dist/utils/authorColors.js +30 -0
- package/dist/utils/baseDirection.d.ts +23 -0
- package/dist/utils/baseDirection.js +34 -0
- package/dist/utils/clipboard.d.ts +126 -0
- package/dist/utils/clipboard.js +622 -0
- package/dist/utils/colorResolver.d.ts +158 -0
- package/dist/utils/colorResolver.js +557 -0
- package/dist/utils/createDocument.d.ts +50 -0
- package/dist/utils/createDocument.js +262 -0
- package/dist/utils/documentLoaderBehavior.d.ts +22 -0
- package/dist/utils/documentLoaderBehavior.js +14 -0
- package/dist/utils/docxInput.d.ts +22 -0
- package/dist/utils/docxInput.js +16 -0
- package/dist/utils/domGuards.d.ts +59 -0
- package/dist/utils/domGuards.js +82 -0
- package/dist/utils/fontFamilyMerge.d.ts +7 -0
- package/dist/utils/fontFamilyMerge.js +31 -0
- package/dist/utils/fontLoader.d.ts +50 -0
- package/dist/utils/fontLoader.js +177 -0
- package/dist/utils/fontResolver.d.ts +61 -0
- package/dist/utils/fontResolver.js +651 -0
- package/dist/utils/fontWeights.d.ts +4 -0
- package/dist/utils/fontWeights.js +4 -0
- package/dist/utils/formatToStyle.d.ts +103 -0
- package/dist/utils/formatToStyle.js +289 -0
- package/dist/utils/headerFooter.d.ts +74 -0
- package/dist/utils/headerFooter.js +257 -0
- package/dist/utils/headingCollector.d.ts +22 -0
- package/dist/utils/headingCollector.js +36 -0
- package/dist/utils/hexId.d.ts +33 -0
- package/dist/utils/hexId.js +37 -0
- package/dist/utils/imageValidation.d.ts +5 -0
- package/dist/utils/imageValidation.js +31 -0
- package/dist/utils/paragraphFormattingMerge.d.ts +14 -0
- package/dist/utils/paragraphFormattingMerge.js +68 -0
- package/dist/utils/replaceText.d.ts +17 -0
- package/dist/utils/replaceText.js +161 -0
- package/dist/utils/rotationBoundingBox.d.ts +12 -0
- package/dist/utils/rotationBoundingBox.js +36 -0
- package/dist/utils/scriptSegments.d.ts +36 -0
- package/dist/utils/scriptSegments.js +52 -0
- package/dist/utils/tableOperations.d.ts +87 -0
- package/dist/utils/tableOperations.js +259 -0
- package/dist/utils/textFormattingMerge.d.ts +6 -0
- package/dist/utils/textFormattingMerge.js +31 -0
- package/dist/utils/tiffConverter.d.ts +18 -0
- package/dist/utils/tiffConverter.js +83 -0
- package/dist/utils/units.d.ts +99 -0
- package/dist/utils/units.js +139 -0
- package/dist/utils/urlSecurity.d.ts +7 -0
- package/dist/utils/urlSecurity.js +65 -0
- package/dist/watermark/index.d.ts +39 -0
- package/dist/watermark/index.js +149 -0
- package/package.json +122 -2
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { findChildren, getAttribute } from "./xmlParser.js";
|
|
2
|
+
//#region src/docx/headerFooterRefParser.ts
|
|
3
|
+
/**
|
|
4
|
+
* Parse header type attribute
|
|
5
|
+
*/
|
|
6
|
+
function parseHeaderFooterType(typeAttr) {
|
|
7
|
+
switch (typeAttr) {
|
|
8
|
+
case "first": return "first";
|
|
9
|
+
case "even": return "even";
|
|
10
|
+
default: return "default";
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
function parseHeaderFooterReference(element) {
|
|
14
|
+
const typeAttr = getAttribute(element, "w", "type");
|
|
15
|
+
const rId = getAttribute(element, "r", "id") ?? "";
|
|
16
|
+
return {
|
|
17
|
+
type: parseHeaderFooterType(typeAttr),
|
|
18
|
+
rId
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Parse a header reference from sectPr (w:headerReference)
|
|
23
|
+
*/
|
|
24
|
+
function parseHeaderReference(element) {
|
|
25
|
+
return parseHeaderFooterReference(element);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Parse a footer reference from sectPr (w:footerReference)
|
|
29
|
+
*/
|
|
30
|
+
function parseFooterReference(element) {
|
|
31
|
+
return parseHeaderFooterReference(element);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Parse all header references from a sectPr element
|
|
35
|
+
*/
|
|
36
|
+
function parseHeaderReferences(sectPr) {
|
|
37
|
+
const refs = [];
|
|
38
|
+
const headerRefElements = findChildren(sectPr, "w", "headerReference");
|
|
39
|
+
for (const el of headerRefElements) refs.push(parseHeaderReference(el));
|
|
40
|
+
return refs;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Parse all footer references from a sectPr element
|
|
44
|
+
*/
|
|
45
|
+
function parseFooterReferences(sectPr) {
|
|
46
|
+
const refs = [];
|
|
47
|
+
const footerRefElements = findChildren(sectPr, "w", "footerReference");
|
|
48
|
+
for (const el of footerRefElements) refs.push(parseFooterReference(el));
|
|
49
|
+
return refs;
|
|
50
|
+
}
|
|
51
|
+
//#endregion
|
|
52
|
+
export { parseFooterReference, parseFooterReferences, parseHeaderReference, parseHeaderReferences };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { document_d_exports } from "../types/document.js";
|
|
2
|
+
|
|
3
|
+
//#region src/docx/headerFooterReferenceNormalization.d.ts
|
|
4
|
+
type NormalizeHeaderFooterReferencesInput = {
|
|
5
|
+
documentBody: document_d_exports.DocumentBody;
|
|
6
|
+
headers?: Map<string, document_d_exports.HeaderFooter>;
|
|
7
|
+
footers?: Map<string, document_d_exports.HeaderFooter>;
|
|
8
|
+
};
|
|
9
|
+
type NormalizeHeaderFooterReferencesResult = {
|
|
10
|
+
removedDanglingHeaderReferences: number;
|
|
11
|
+
removedDanglingFooterReferences: number;
|
|
12
|
+
};
|
|
13
|
+
declare const normalizeHeaderFooterReferences: ({
|
|
14
|
+
documentBody,
|
|
15
|
+
headers,
|
|
16
|
+
footers
|
|
17
|
+
}: NormalizeHeaderFooterReferencesInput) => NormalizeHeaderFooterReferencesResult;
|
|
18
|
+
//#endregion
|
|
19
|
+
export { normalizeHeaderFooterReferences };
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
//#region src/docx/headerFooterReferenceNormalization.ts
|
|
2
|
+
const normalizeHeaderFooterReferences = ({ documentBody, headers, footers }) => {
|
|
3
|
+
const seenSectionProperties = /* @__PURE__ */ new Set();
|
|
4
|
+
let removedDanglingHeaderReferences = 0;
|
|
5
|
+
let removedDanglingFooterReferences = 0;
|
|
6
|
+
const normalizeSectionProperties = (sectionProperties) => {
|
|
7
|
+
if (!sectionProperties || seenSectionProperties.has(sectionProperties)) return;
|
|
8
|
+
seenSectionProperties.add(sectionProperties);
|
|
9
|
+
const headerResult = removeDanglingReferences(sectionProperties.headerReferences, headers);
|
|
10
|
+
if (headerResult.changed) {
|
|
11
|
+
removedDanglingHeaderReferences += headerResult.removed;
|
|
12
|
+
if (headerResult.references.length > 0) sectionProperties.headerReferences = headerResult.references;
|
|
13
|
+
else delete sectionProperties.headerReferences;
|
|
14
|
+
}
|
|
15
|
+
const footerResult = removeDanglingReferences(sectionProperties.footerReferences, footers);
|
|
16
|
+
if (footerResult.changed) {
|
|
17
|
+
removedDanglingFooterReferences += footerResult.removed;
|
|
18
|
+
if (footerResult.references.length > 0) sectionProperties.footerReferences = footerResult.references;
|
|
19
|
+
else delete sectionProperties.footerReferences;
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
const normalizeParagraph = (paragraph) => {
|
|
23
|
+
normalizeSectionProperties(paragraph.sectionProperties);
|
|
24
|
+
};
|
|
25
|
+
const normalizeTable = (table) => {
|
|
26
|
+
for (const row of table.rows) for (const cell of row.cells) normalizeBlocks(cell.content);
|
|
27
|
+
};
|
|
28
|
+
const normalizeBlock = (block) => {
|
|
29
|
+
if (block.type === "paragraph") {
|
|
30
|
+
normalizeParagraph(block);
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
if (block.type === "table") {
|
|
34
|
+
normalizeTable(block);
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
normalizeBlocks(block.content);
|
|
38
|
+
};
|
|
39
|
+
const normalizeBlocks = (blocks) => {
|
|
40
|
+
for (const block of blocks) normalizeBlock(block);
|
|
41
|
+
};
|
|
42
|
+
normalizeBlocks(documentBody.content);
|
|
43
|
+
normalizeSectionProperties(documentBody.finalSectionProperties);
|
|
44
|
+
for (const section of documentBody.sections ?? []) normalizeSectionProperties(section.properties);
|
|
45
|
+
return {
|
|
46
|
+
removedDanglingHeaderReferences,
|
|
47
|
+
removedDanglingFooterReferences
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
const removeDanglingReferences = (references, validParts) => {
|
|
51
|
+
if (!references || !validParts) return {
|
|
52
|
+
changed: false,
|
|
53
|
+
references: references ?? [],
|
|
54
|
+
removed: 0
|
|
55
|
+
};
|
|
56
|
+
const kept = references.filter((reference) => validParts.has(reference.rId));
|
|
57
|
+
return {
|
|
58
|
+
changed: kept.length !== references.length,
|
|
59
|
+
references: kept,
|
|
60
|
+
removed: references.length - kept.length
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
//#endregion
|
|
64
|
+
export { normalizeHeaderFooterReferences };
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { document_d_exports } from "../types/document.js";
|
|
2
|
+
import { StyleMap } from "./styleParser.js";
|
|
3
|
+
import { XmlElement } from "./xmlParser.js";
|
|
4
|
+
|
|
5
|
+
//#region src/docx/hyperlinkParser.d.ts
|
|
6
|
+
/**
|
|
7
|
+
* Parse a hyperlink element (w:hyperlink)
|
|
8
|
+
*
|
|
9
|
+
* Handles both external links (via r:id relationship) and internal
|
|
10
|
+
* links (via w:anchor bookmark reference).
|
|
11
|
+
*
|
|
12
|
+
* @param node - The w:hyperlink XML element
|
|
13
|
+
* @param rels - Relationship map to resolve r:id references
|
|
14
|
+
* @param styles - Style map for resolving run styles
|
|
15
|
+
* @param theme - Theme for resolving colors/fonts
|
|
16
|
+
* @param media - Media files map for image data
|
|
17
|
+
* @returns Parsed Hyperlink object
|
|
18
|
+
*/
|
|
19
|
+
declare function parseHyperlink(node: XmlElement, rels: document_d_exports.RelationshipMap | null, styles?: StyleMap | null, theme?: document_d_exports.Theme | null, media?: Map<string, document_d_exports.MediaFile> | null, rootXmlns?: Record<string, string>): document_d_exports.Hyperlink;
|
|
20
|
+
/**
|
|
21
|
+
* Get the display text of a hyperlink
|
|
22
|
+
*
|
|
23
|
+
* Concatenates text from all child runs.
|
|
24
|
+
*
|
|
25
|
+
* @param hyperlink - Parsed Hyperlink object
|
|
26
|
+
* @returns Display text string
|
|
27
|
+
*/
|
|
28
|
+
declare function getHyperlinkText(hyperlink: document_d_exports.Hyperlink): string;
|
|
29
|
+
/**
|
|
30
|
+
* Check if a hyperlink is an external link
|
|
31
|
+
*
|
|
32
|
+
* @param hyperlink - Parsed Hyperlink object
|
|
33
|
+
* @returns true if this links to an external URL
|
|
34
|
+
*/
|
|
35
|
+
declare function isExternalLink(hyperlink: document_d_exports.Hyperlink): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Check if a hyperlink is an internal bookmark link
|
|
38
|
+
*
|
|
39
|
+
* @param hyperlink - Parsed Hyperlink object
|
|
40
|
+
* @returns true if this links to an internal bookmark
|
|
41
|
+
*/
|
|
42
|
+
declare function isInternalLink(hyperlink: document_d_exports.Hyperlink): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Get the resolved URL of a hyperlink
|
|
45
|
+
*
|
|
46
|
+
* For external links, returns the full URL.
|
|
47
|
+
* For internal links, returns the anchor prefixed with #.
|
|
48
|
+
* Returns undefined if the link couldn't be resolved.
|
|
49
|
+
*
|
|
50
|
+
* @param hyperlink - Parsed Hyperlink object
|
|
51
|
+
* @returns Resolved URL or undefined
|
|
52
|
+
*/
|
|
53
|
+
declare function getHyperlinkUrl(hyperlink: document_d_exports.Hyperlink): string | undefined;
|
|
54
|
+
/**
|
|
55
|
+
* Check if a hyperlink has any content (runs)
|
|
56
|
+
*
|
|
57
|
+
* @param hyperlink - Parsed Hyperlink object
|
|
58
|
+
* @returns true if hyperlink has child runs
|
|
59
|
+
*/
|
|
60
|
+
declare function hasContent(hyperlink: document_d_exports.Hyperlink): boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Get all runs from a hyperlink
|
|
63
|
+
*
|
|
64
|
+
* @param hyperlink - Parsed Hyperlink object
|
|
65
|
+
* @returns Array of Run objects
|
|
66
|
+
*/
|
|
67
|
+
declare function getHyperlinkRuns(hyperlink: document_d_exports.Hyperlink): document_d_exports.Run[];
|
|
68
|
+
/**
|
|
69
|
+
* Resolve a hyperlink's rId to a URL using a relationship map
|
|
70
|
+
*
|
|
71
|
+
* This is useful when you have a hyperlink that was parsed without
|
|
72
|
+
* relationship context and need to resolve it later.
|
|
73
|
+
*
|
|
74
|
+
* @param hyperlink - Parsed Hyperlink object (will be modified)
|
|
75
|
+
* @param rels - Relationship map to resolve against
|
|
76
|
+
* @returns The resolved URL or undefined
|
|
77
|
+
*/
|
|
78
|
+
declare function resolveHyperlinkUrl(hyperlink: document_d_exports.Hyperlink, rels: document_d_exports.RelationshipMap): string | undefined;
|
|
79
|
+
/**
|
|
80
|
+
* Create an internal hyperlink to a bookmark
|
|
81
|
+
*
|
|
82
|
+
* Utility function for creating hyperlinks programmatically.
|
|
83
|
+
*
|
|
84
|
+
* @param anchor - Bookmark name to link to
|
|
85
|
+
* @param children - Child runs for display text
|
|
86
|
+
* @param options - Optional properties (tooltip, etc.)
|
|
87
|
+
* @returns New Hyperlink object
|
|
88
|
+
*/
|
|
89
|
+
declare function createInternalHyperlink(anchor: string, children: document_d_exports.Run[], options?: {
|
|
90
|
+
tooltip?: string;
|
|
91
|
+
}): document_d_exports.Hyperlink;
|
|
92
|
+
/**
|
|
93
|
+
* Create an external hyperlink
|
|
94
|
+
*
|
|
95
|
+
* Utility function for creating hyperlinks programmatically.
|
|
96
|
+
* Note: The rId would need to be assigned when serializing.
|
|
97
|
+
*
|
|
98
|
+
* @param url - External URL
|
|
99
|
+
* @param children - Child runs for display text
|
|
100
|
+
* @param options - Optional properties (tooltip, target, etc.)
|
|
101
|
+
* @returns New Hyperlink object
|
|
102
|
+
*/
|
|
103
|
+
declare function createExternalHyperlink(url: string, children: document_d_exports.Run[], options?: {
|
|
104
|
+
tooltip?: string;
|
|
105
|
+
target?: string;
|
|
106
|
+
}): document_d_exports.Hyperlink;
|
|
107
|
+
//#endregion
|
|
108
|
+
export { createExternalHyperlink, createInternalHyperlink, getHyperlinkRuns, getHyperlinkText, getHyperlinkUrl, hasContent, isExternalLink, isInternalLink, parseHyperlink, resolveHyperlinkUrl };
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import { getAttribute, getChildElements, mergeXmlnsDeclarations, parseNumericAttribute } from "./xmlParser.js";
|
|
2
|
+
import { parseRun } from "./runParser.js";
|
|
3
|
+
import { sanitizeExternalUrl, sanitizeLinkTarget } from "../utils/urlSecurity.js";
|
|
4
|
+
//#region src/docx/hyperlinkParser.ts
|
|
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
|
+
* Parse bookmark start (w:bookmarkStart)
|
|
15
|
+
*
|
|
16
|
+
* Used for internal hyperlink targets within the document.
|
|
17
|
+
*/
|
|
18
|
+
function parseBookmarkStart(node) {
|
|
19
|
+
const bookmark = {
|
|
20
|
+
type: "bookmarkStart",
|
|
21
|
+
id: parseNumericAttribute(node, "w", "id") ?? 0,
|
|
22
|
+
name: getAttribute(node, "w", "name") ?? ""
|
|
23
|
+
};
|
|
24
|
+
const colFirst = parseNumericAttribute(node, "w", "colFirst");
|
|
25
|
+
if (colFirst !== void 0) bookmark.colFirst = colFirst;
|
|
26
|
+
const colLast = parseNumericAttribute(node, "w", "colLast");
|
|
27
|
+
if (colLast !== void 0) bookmark.colLast = colLast;
|
|
28
|
+
return bookmark;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Parse bookmark end (w:bookmarkEnd)
|
|
32
|
+
*/
|
|
33
|
+
function parseBookmarkEnd(node) {
|
|
34
|
+
return {
|
|
35
|
+
type: "bookmarkEnd",
|
|
36
|
+
id: parseNumericAttribute(node, "w", "id") ?? 0
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Parse a hyperlink element (w:hyperlink)
|
|
41
|
+
*
|
|
42
|
+
* Handles both external links (via r:id relationship) and internal
|
|
43
|
+
* links (via w:anchor bookmark reference).
|
|
44
|
+
*
|
|
45
|
+
* @param node - The w:hyperlink XML element
|
|
46
|
+
* @param rels - Relationship map to resolve r:id references
|
|
47
|
+
* @param styles - Style map for resolving run styles
|
|
48
|
+
* @param theme - Theme for resolving colors/fonts
|
|
49
|
+
* @param media - Media files map for image data
|
|
50
|
+
* @returns Parsed Hyperlink object
|
|
51
|
+
*/
|
|
52
|
+
function parseHyperlink(node, rels, styles = null, theme = null, media = null, rootXmlns = {}) {
|
|
53
|
+
const hyperlink = {
|
|
54
|
+
type: "hyperlink",
|
|
55
|
+
children: []
|
|
56
|
+
};
|
|
57
|
+
const rId = getAttribute(node, "r", "id");
|
|
58
|
+
if (rId) {
|
|
59
|
+
hyperlink.rId = rId;
|
|
60
|
+
if (rels) {
|
|
61
|
+
const rel = rels.get(rId);
|
|
62
|
+
if (rel) {
|
|
63
|
+
const safeHref = sanitizeExternalUrl(rel.target);
|
|
64
|
+
if (safeHref) hyperlink.href = safeHref;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
const anchor = getAttribute(node, "w", "anchor");
|
|
69
|
+
if (anchor) {
|
|
70
|
+
hyperlink.anchor = anchor;
|
|
71
|
+
if (!hyperlink.href) hyperlink.href = `#${anchor}`;
|
|
72
|
+
}
|
|
73
|
+
const tooltip = getAttribute(node, "w", "tooltip");
|
|
74
|
+
if (tooltip) hyperlink.tooltip = tooltip;
|
|
75
|
+
const tgtFrame = getAttribute(node, "w", "tgtFrame");
|
|
76
|
+
if (tgtFrame) hyperlink.target = sanitizeLinkTarget(tgtFrame);
|
|
77
|
+
const history = getAttribute(node, "w", "history");
|
|
78
|
+
if (history === "1" || history === "true") hyperlink.history = true;
|
|
79
|
+
const docLocation = getAttribute(node, "w", "docLocation");
|
|
80
|
+
if (docLocation) hyperlink.docLocation = docLocation;
|
|
81
|
+
const inScopeXmlns = mergeXmlnsDeclarations(rootXmlns, node);
|
|
82
|
+
const children = getChildElements(node);
|
|
83
|
+
for (const child of children) switch (getLocalName(child.name)) {
|
|
84
|
+
case "r":
|
|
85
|
+
hyperlink.children.push(parseRun(child, styles, theme, rels, media, inScopeXmlns));
|
|
86
|
+
break;
|
|
87
|
+
case "bookmarkStart":
|
|
88
|
+
hyperlink.children.push(parseBookmarkStart(child));
|
|
89
|
+
break;
|
|
90
|
+
case "bookmarkEnd":
|
|
91
|
+
hyperlink.children.push(parseBookmarkEnd(child));
|
|
92
|
+
break;
|
|
93
|
+
default: break;
|
|
94
|
+
}
|
|
95
|
+
return hyperlink;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Get the display text of a hyperlink
|
|
99
|
+
*
|
|
100
|
+
* Concatenates text from all child runs.
|
|
101
|
+
*
|
|
102
|
+
* @param hyperlink - Parsed Hyperlink object
|
|
103
|
+
* @returns Display text string
|
|
104
|
+
*/
|
|
105
|
+
function getHyperlinkText(hyperlink) {
|
|
106
|
+
let text = "";
|
|
107
|
+
for (const child of hyperlink.children) if (child.type === "run") {
|
|
108
|
+
for (const content of child.content) if (content.type === "text") text += content.text;
|
|
109
|
+
else if (content.type === "tab") text += " ";
|
|
110
|
+
}
|
|
111
|
+
return text;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Check if a hyperlink is an external link
|
|
115
|
+
*
|
|
116
|
+
* @param hyperlink - Parsed Hyperlink object
|
|
117
|
+
* @returns true if this links to an external URL
|
|
118
|
+
*/
|
|
119
|
+
function isExternalLink(hyperlink) {
|
|
120
|
+
if (hyperlink.href) return sanitizeExternalUrl(hyperlink.href) !== void 0;
|
|
121
|
+
return !!hyperlink.rId && !hyperlink.anchor;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Check if a hyperlink is an internal bookmark link
|
|
125
|
+
*
|
|
126
|
+
* @param hyperlink - Parsed Hyperlink object
|
|
127
|
+
* @returns true if this links to an internal bookmark
|
|
128
|
+
*/
|
|
129
|
+
function isInternalLink(hyperlink) {
|
|
130
|
+
return !!hyperlink.anchor;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Get the resolved URL of a hyperlink
|
|
134
|
+
*
|
|
135
|
+
* For external links, returns the full URL.
|
|
136
|
+
* For internal links, returns the anchor prefixed with #.
|
|
137
|
+
* Returns undefined if the link couldn't be resolved.
|
|
138
|
+
*
|
|
139
|
+
* @param hyperlink - Parsed Hyperlink object
|
|
140
|
+
* @returns Resolved URL or undefined
|
|
141
|
+
*/
|
|
142
|
+
function getHyperlinkUrl(hyperlink) {
|
|
143
|
+
return hyperlink.href;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Check if a hyperlink has any content (runs)
|
|
147
|
+
*
|
|
148
|
+
* @param hyperlink - Parsed Hyperlink object
|
|
149
|
+
* @returns true if hyperlink has child runs
|
|
150
|
+
*/
|
|
151
|
+
function hasContent(hyperlink) {
|
|
152
|
+
return hyperlink.children.some((child) => child.type === "run");
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Get all runs from a hyperlink
|
|
156
|
+
*
|
|
157
|
+
* @param hyperlink - Parsed Hyperlink object
|
|
158
|
+
* @returns Array of Run objects
|
|
159
|
+
*/
|
|
160
|
+
function getHyperlinkRuns(hyperlink) {
|
|
161
|
+
return hyperlink.children.filter((child) => child.type === "run");
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Resolve a hyperlink's rId to a URL using a relationship map
|
|
165
|
+
*
|
|
166
|
+
* This is useful when you have a hyperlink that was parsed without
|
|
167
|
+
* relationship context and need to resolve it later.
|
|
168
|
+
*
|
|
169
|
+
* @param hyperlink - Parsed Hyperlink object (will be modified)
|
|
170
|
+
* @param rels - Relationship map to resolve against
|
|
171
|
+
* @returns The resolved URL or undefined
|
|
172
|
+
*/
|
|
173
|
+
function resolveHyperlinkUrl(hyperlink, rels) {
|
|
174
|
+
if (hyperlink.rId) {
|
|
175
|
+
const rel = rels.get(hyperlink.rId);
|
|
176
|
+
if (rel) {
|
|
177
|
+
const safeHref = sanitizeExternalUrl(rel.target);
|
|
178
|
+
if (safeHref) {
|
|
179
|
+
hyperlink.href = safeHref;
|
|
180
|
+
return hyperlink.href;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
if (hyperlink.anchor && !hyperlink.href) {
|
|
185
|
+
hyperlink.href = `#${hyperlink.anchor}`;
|
|
186
|
+
return hyperlink.href;
|
|
187
|
+
}
|
|
188
|
+
return hyperlink.href;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Create an internal hyperlink to a bookmark
|
|
192
|
+
*
|
|
193
|
+
* Utility function for creating hyperlinks programmatically.
|
|
194
|
+
*
|
|
195
|
+
* @param anchor - Bookmark name to link to
|
|
196
|
+
* @param children - Child runs for display text
|
|
197
|
+
* @param options - Optional properties (tooltip, etc.)
|
|
198
|
+
* @returns New Hyperlink object
|
|
199
|
+
*/
|
|
200
|
+
function createInternalHyperlink(anchor, children, options) {
|
|
201
|
+
return {
|
|
202
|
+
type: "hyperlink",
|
|
203
|
+
anchor,
|
|
204
|
+
href: `#${anchor}`,
|
|
205
|
+
...options?.tooltip !== void 0 ? { tooltip: options.tooltip } : {},
|
|
206
|
+
children
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Create an external hyperlink
|
|
211
|
+
*
|
|
212
|
+
* Utility function for creating hyperlinks programmatically.
|
|
213
|
+
* Note: The rId would need to be assigned when serializing.
|
|
214
|
+
*
|
|
215
|
+
* @param url - External URL
|
|
216
|
+
* @param children - Child runs for display text
|
|
217
|
+
* @param options - Optional properties (tooltip, target, etc.)
|
|
218
|
+
* @returns New Hyperlink object
|
|
219
|
+
*/
|
|
220
|
+
function createExternalHyperlink(url, children, options) {
|
|
221
|
+
return {
|
|
222
|
+
type: "hyperlink",
|
|
223
|
+
href: url,
|
|
224
|
+
...options?.tooltip !== void 0 ? { tooltip: options.tooltip } : {},
|
|
225
|
+
...options?.target !== void 0 ? { target: options.target } : {},
|
|
226
|
+
children
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
//#endregion
|
|
230
|
+
export { createExternalHyperlink, createInternalHyperlink, getHyperlinkRuns, getHyperlinkText, getHyperlinkUrl, hasContent, isExternalLink, isInternalLink, parseHyperlink, resolveHyperlinkUrl };
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { document_d_exports } from "../types/document.js";
|
|
2
|
+
import { XmlElement } from "./xmlParser.js";
|
|
3
|
+
|
|
4
|
+
//#region src/docx/imageParser.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Resolve image data from relationships and media map
|
|
7
|
+
*
|
|
8
|
+
* @param rId - Relationship ID (e.g., "rId1")
|
|
9
|
+
* @param rels - Relationship map
|
|
10
|
+
* @param media - Media files map
|
|
11
|
+
* @returns Object with src (data URL or blob), mimeType, and filename
|
|
12
|
+
*/
|
|
13
|
+
declare function resolveImageData(rId: string, rels: document_d_exports.RelationshipMap | undefined, media: Map<string, document_d_exports.MediaFile> | undefined): {
|
|
14
|
+
src?: string;
|
|
15
|
+
mimeType?: string;
|
|
16
|
+
filename?: string;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Parse a w:drawing element
|
|
20
|
+
*
|
|
21
|
+
* The drawing element contains either wp:inline or wp:anchor.
|
|
22
|
+
*
|
|
23
|
+
* @param drawingEl - The w:drawing element
|
|
24
|
+
* @param rels - Relationship map for resolving rId
|
|
25
|
+
* @param media - Media files map
|
|
26
|
+
* @returns Parsed Image object or null if not an image
|
|
27
|
+
*/
|
|
28
|
+
declare function parseDrawing(drawingEl: XmlElement, rels: document_d_exports.RelationshipMap | undefined, media: Map<string, document_d_exports.MediaFile> | undefined): document_d_exports.Image | null;
|
|
29
|
+
/**
|
|
30
|
+
* Parse an image from a w:drawing element
|
|
31
|
+
*
|
|
32
|
+
* This is the main entry point for image parsing.
|
|
33
|
+
*
|
|
34
|
+
* @param node - The w:drawing XML element
|
|
35
|
+
* @param rels - Relationship map for resolving rId
|
|
36
|
+
* @param media - Media files map
|
|
37
|
+
* @returns Parsed Image object or null if parsing fails
|
|
38
|
+
*/
|
|
39
|
+
declare function parseImage(node: XmlElement, rels: document_d_exports.RelationshipMap | undefined, media: Map<string, document_d_exports.MediaFile> | undefined): document_d_exports.Image | null;
|
|
40
|
+
/**
|
|
41
|
+
* Check if an image is inline (not floating)
|
|
42
|
+
*/
|
|
43
|
+
declare function isInlineImage(image: document_d_exports.Image): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Check if an image is floating (anchored)
|
|
46
|
+
*/
|
|
47
|
+
declare function isFloatingImage(image: document_d_exports.Image): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Check if an image is behind text
|
|
50
|
+
*/
|
|
51
|
+
declare function isBehindText(image: document_d_exports.Image): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Check if an image is in front of text
|
|
54
|
+
*/
|
|
55
|
+
declare function isInFrontOfText(image: document_d_exports.Image): boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Get image width in pixels
|
|
58
|
+
*/
|
|
59
|
+
declare function getImageWidthPx(image: document_d_exports.Image): number;
|
|
60
|
+
/**
|
|
61
|
+
* Get image height in pixels
|
|
62
|
+
*/
|
|
63
|
+
declare function getImageHeightPx(image: document_d_exports.Image): number;
|
|
64
|
+
/**
|
|
65
|
+
* Get image dimensions in pixels
|
|
66
|
+
*/
|
|
67
|
+
declare function getImageDimensionsPx(image: document_d_exports.Image): {
|
|
68
|
+
width: number;
|
|
69
|
+
height: number;
|
|
70
|
+
};
|
|
71
|
+
/**
|
|
72
|
+
* Check if image has alt text (for accessibility)
|
|
73
|
+
*/
|
|
74
|
+
declare function hasAltText(image: document_d_exports.Image): boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Check if image is decorative (should be ignored by screen readers)
|
|
77
|
+
*/
|
|
78
|
+
declare function isDecorativeImage(image: document_d_exports.Image): boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Get wrap distances in pixels
|
|
81
|
+
*/
|
|
82
|
+
declare function getWrapDistancesPx(image: document_d_exports.Image): {
|
|
83
|
+
top: number;
|
|
84
|
+
bottom: number;
|
|
85
|
+
left: number;
|
|
86
|
+
right: number;
|
|
87
|
+
};
|
|
88
|
+
/**
|
|
89
|
+
* Check if image needs text wrapping
|
|
90
|
+
*/
|
|
91
|
+
declare function needsTextWrapping(image: document_d_exports.Image): boolean;
|
|
92
|
+
//#endregion
|
|
93
|
+
export { getImageDimensionsPx, getImageHeightPx, getImageWidthPx, getWrapDistancesPx, hasAltText, isBehindText, isDecorativeImage, isFloatingImage, isInFrontOfText, isInlineImage, needsTextWrapping, parseDrawing, parseImage, resolveImageData };
|