@stll/folio-core 0.0.1-placeholder.0 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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 +58 -0
- package/dist/types/block-id.js +61 -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,305 @@
|
|
|
1
|
+
import { findByFullName, getAttribute, getChildElements, getTextContent, parseNumericAttribute } from "./xmlParser.js";
|
|
2
|
+
import { ImageHorizontalAlignmentSchema, ImageHorizontalRelativeToSchema, ImageVerticalAlignmentSchema, ImageVerticalRelativeToSchema, ImageWrapTextSchema, ShapeOutlineStyleSchema, narrowEnum } from "./parserEnums.js";
|
|
3
|
+
//#region src/docx/drawingUtils.ts
|
|
4
|
+
/**
|
|
5
|
+
* Map OOXML scheme names to standard theme color slots.
|
|
6
|
+
* Used when parsing a:schemeClr elements in DrawingML.
|
|
7
|
+
*/
|
|
8
|
+
const SCHEME_TO_THEME_COLOR = {
|
|
9
|
+
accent1: "accent1",
|
|
10
|
+
accent2: "accent2",
|
|
11
|
+
accent3: "accent3",
|
|
12
|
+
accent4: "accent4",
|
|
13
|
+
accent5: "accent5",
|
|
14
|
+
accent6: "accent6",
|
|
15
|
+
dk1: "dk1",
|
|
16
|
+
lt1: "lt1",
|
|
17
|
+
dk2: "dk2",
|
|
18
|
+
lt2: "lt2",
|
|
19
|
+
tx1: "text1",
|
|
20
|
+
tx2: "text2",
|
|
21
|
+
bg1: "background1",
|
|
22
|
+
bg2: "background2",
|
|
23
|
+
hlink: "hlink",
|
|
24
|
+
folHlink: "folHlink"
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* sRGB hex per OOXML (ST_HexColorRGB): exactly six hex digits, case-insensitive.
|
|
28
|
+
* Anything else is rejected so untrusted DOCX input cannot smuggle markup through
|
|
29
|
+
* downstream renderers that interpolate the value into HTML/SVG.
|
|
30
|
+
*/
|
|
31
|
+
const HEX_COLOR_RE = /^[0-9A-Fa-f]{6}$/u;
|
|
32
|
+
function isHexColor(val) {
|
|
33
|
+
return typeof val === "string" && HEX_COLOR_RE.test(val);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Common preset color names to RGB hex values.
|
|
37
|
+
*/
|
|
38
|
+
const PRESET_COLORS = {
|
|
39
|
+
black: "000000",
|
|
40
|
+
white: "FFFFFF",
|
|
41
|
+
red: "FF0000",
|
|
42
|
+
green: "00FF00",
|
|
43
|
+
blue: "0000FF",
|
|
44
|
+
yellow: "FFFF00",
|
|
45
|
+
cyan: "00FFFF",
|
|
46
|
+
magenta: "FF00FF"
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Apply color modifiers (shade, tint) from child elements of a color element.
|
|
50
|
+
* Converts DrawingML 100000ths-scale values to hex (0-FF) for OOXML compatibility.
|
|
51
|
+
*/
|
|
52
|
+
function applyColorModifiers(color, element) {
|
|
53
|
+
const children = getChildElements(element);
|
|
54
|
+
const shade = children.find((el) => el.name === "a:shade");
|
|
55
|
+
if (shade) {
|
|
56
|
+
const val = getAttribute(shade, null, "val");
|
|
57
|
+
if (val) color.themeShade = Math.round(Number.parseInt(val, 10) / 1e5 * 255).toString(16).padStart(2, "0").toUpperCase();
|
|
58
|
+
}
|
|
59
|
+
const tint = children.find((el) => el.name === "a:tint");
|
|
60
|
+
if (tint) {
|
|
61
|
+
const val = getAttribute(tint, null, "val");
|
|
62
|
+
if (val) color.themeTint = Math.round(Number.parseInt(val, 10) / 1e5 * 255).toString(16).padStart(2, "0").toUpperCase();
|
|
63
|
+
}
|
|
64
|
+
return color;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Parse a color value from a DrawingML element.
|
|
68
|
+
* Handles: a:srgbClr, a:schemeClr, a:sysClr, a:prstClr
|
|
69
|
+
* Applies shade/tint modifiers when present.
|
|
70
|
+
*/
|
|
71
|
+
function parseColorElement(element) {
|
|
72
|
+
if (!element) return;
|
|
73
|
+
const children = getChildElements(element);
|
|
74
|
+
const srgbClr = children.find((el) => el.name === "a:srgbClr");
|
|
75
|
+
if (srgbClr) {
|
|
76
|
+
const val = getAttribute(srgbClr, null, "val");
|
|
77
|
+
if (isHexColor(val)) return applyColorModifiers({ rgb: val.toUpperCase() }, srgbClr);
|
|
78
|
+
}
|
|
79
|
+
const schemeClr = children.find((el) => el.name === "a:schemeClr");
|
|
80
|
+
if (schemeClr) {
|
|
81
|
+
const val = getAttribute(schemeClr, null, "val");
|
|
82
|
+
if (val) return applyColorModifiers({ themeColor: SCHEME_TO_THEME_COLOR[val] ?? "dk1" }, schemeClr);
|
|
83
|
+
}
|
|
84
|
+
const sysClr = children.find((el) => el.name === "a:sysClr");
|
|
85
|
+
if (sysClr) {
|
|
86
|
+
const lastClr = getAttribute(sysClr, null, "lastClr");
|
|
87
|
+
return { rgb: isHexColor(lastClr) ? lastClr.toUpperCase() : "000000" };
|
|
88
|
+
}
|
|
89
|
+
const prstClr = children.find((el) => el.name === "a:prstClr");
|
|
90
|
+
if (prstClr) {
|
|
91
|
+
const val = getAttribute(prstClr, null, "val");
|
|
92
|
+
if (val && PRESET_COLORS[val]) return { rgb: PRESET_COLORS[val] };
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Parse fill from shape properties (a:solidFill, a:noFill, a:gradFill).
|
|
97
|
+
*/
|
|
98
|
+
function parseFill(spPr) {
|
|
99
|
+
if (!spPr) return;
|
|
100
|
+
const children = getChildElements(spPr);
|
|
101
|
+
if (children.some((el) => el.name === "a:noFill")) return { type: "none" };
|
|
102
|
+
const solidFill = children.find((el) => el.name === "a:solidFill");
|
|
103
|
+
if (solidFill) {
|
|
104
|
+
const color = parseColorElement(solidFill);
|
|
105
|
+
return color !== void 0 ? {
|
|
106
|
+
type: "solid",
|
|
107
|
+
color
|
|
108
|
+
} : { type: "solid" };
|
|
109
|
+
}
|
|
110
|
+
if (children.some((el) => el.name === "a:gradFill")) return { type: "gradient" };
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Parse outline from shape properties (a:ln).
|
|
114
|
+
*/
|
|
115
|
+
function parseOutline(spPr) {
|
|
116
|
+
const ln = spPr ? findByFullName(spPr, "a:ln") : null;
|
|
117
|
+
if (!ln) return;
|
|
118
|
+
const children = getChildElements(ln);
|
|
119
|
+
if (children.some((el) => el.name === "a:noFill")) return;
|
|
120
|
+
const outline = {};
|
|
121
|
+
const w = getAttribute(ln, null, "w");
|
|
122
|
+
if (w) outline.width = Number.parseInt(w, 10);
|
|
123
|
+
const solidFill = children.find((el) => el.name === "a:solidFill");
|
|
124
|
+
if (solidFill) {
|
|
125
|
+
const color = parseColorElement(solidFill);
|
|
126
|
+
if (color !== void 0) outline.color = color;
|
|
127
|
+
}
|
|
128
|
+
const prstDash = children.find((el) => el.name === "a:prstDash");
|
|
129
|
+
if (prstDash) {
|
|
130
|
+
const val = narrowEnum(getAttribute(prstDash, null, "val"), ShapeOutlineStyleSchema);
|
|
131
|
+
if (val) outline.style = val;
|
|
132
|
+
}
|
|
133
|
+
return outline;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Parse horizontal position from wp:positionH element.
|
|
137
|
+
*/
|
|
138
|
+
function parsePositionH(posH) {
|
|
139
|
+
if (!posH) return;
|
|
140
|
+
const relativeTo = narrowEnum(getAttribute(posH, null, "relativeFrom"), ImageHorizontalRelativeToSchema) ?? "column";
|
|
141
|
+
const alignEl = findByFullName(posH, "wp:align");
|
|
142
|
+
if (alignEl) {
|
|
143
|
+
const text = getTextContent(alignEl);
|
|
144
|
+
const result = { relativeTo };
|
|
145
|
+
const alignment = narrowEnum(text, ImageHorizontalAlignmentSchema);
|
|
146
|
+
if (alignment) result.alignment = alignment;
|
|
147
|
+
return result;
|
|
148
|
+
}
|
|
149
|
+
const posOffsetEl = findByFullName(posH, "wp:posOffset");
|
|
150
|
+
if (posOffsetEl) {
|
|
151
|
+
const text = getTextContent(posOffsetEl);
|
|
152
|
+
const posOffset = Number.parseInt(text, 10);
|
|
153
|
+
return {
|
|
154
|
+
relativeTo,
|
|
155
|
+
posOffset: Number.isNaN(posOffset) ? 0 : posOffset
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
return { relativeTo };
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Parse vertical position from wp:positionV element.
|
|
162
|
+
*/
|
|
163
|
+
function parsePositionV(posV) {
|
|
164
|
+
if (!posV) return;
|
|
165
|
+
const relativeTo = narrowEnum(getAttribute(posV, null, "relativeFrom"), ImageVerticalRelativeToSchema) ?? "paragraph";
|
|
166
|
+
const alignEl = findByFullName(posV, "wp:align");
|
|
167
|
+
if (alignEl) {
|
|
168
|
+
const text = getTextContent(alignEl);
|
|
169
|
+
const result = { relativeTo };
|
|
170
|
+
const alignment = narrowEnum(text, ImageVerticalAlignmentSchema);
|
|
171
|
+
if (alignment) result.alignment = alignment;
|
|
172
|
+
return result;
|
|
173
|
+
}
|
|
174
|
+
const posOffsetEl = findByFullName(posV, "wp:posOffset");
|
|
175
|
+
if (posOffsetEl) {
|
|
176
|
+
const text = getTextContent(posOffsetEl);
|
|
177
|
+
const posOffset = Number.parseInt(text, 10);
|
|
178
|
+
return {
|
|
179
|
+
relativeTo,
|
|
180
|
+
posOffset: Number.isNaN(posOffset) ? 0 : posOffset
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
return { relativeTo };
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Parse position for anchored drawings (combines positionH + positionV).
|
|
187
|
+
*/
|
|
188
|
+
function parseAnchorPosition(anchor) {
|
|
189
|
+
const positionH = findByFullName(anchor, "wp:positionH");
|
|
190
|
+
const positionV = findByFullName(anchor, "wp:positionV");
|
|
191
|
+
if (!positionH && !positionV) return;
|
|
192
|
+
return {
|
|
193
|
+
horizontal: parsePositionH(positionH) ?? { relativeTo: "column" },
|
|
194
|
+
vertical: parsePositionV(positionV) ?? { relativeTo: "paragraph" }
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
/** Known wrap element names */
|
|
198
|
+
const WRAP_ELEMENT_NAMES = [
|
|
199
|
+
"wp:wrapNone",
|
|
200
|
+
"wp:wrapSquare",
|
|
201
|
+
"wp:wrapTight",
|
|
202
|
+
"wp:wrapThrough",
|
|
203
|
+
"wp:wrapTopAndBottom"
|
|
204
|
+
];
|
|
205
|
+
/**
|
|
206
|
+
* Parse wrap settings from a wrap element.
|
|
207
|
+
*
|
|
208
|
+
* Distance attributes (distT/distB/distL/distR) can appear on both
|
|
209
|
+
* the anchor element and the wrap child. Wrap child values take priority;
|
|
210
|
+
* anchor-level values are used as fallbacks.
|
|
211
|
+
*/
|
|
212
|
+
function parseWrapElement(wrapEl, behindDoc, anchorDistances) {
|
|
213
|
+
if (!wrapEl) {
|
|
214
|
+
const wrap = { type: behindDoc ? "behind" : "inFront" };
|
|
215
|
+
if (anchorDistances?.distT !== void 0) wrap.distT = anchorDistances.distT;
|
|
216
|
+
if (anchorDistances?.distB !== void 0) wrap.distB = anchorDistances.distB;
|
|
217
|
+
if (anchorDistances?.distL !== void 0) wrap.distL = anchorDistances.distL;
|
|
218
|
+
if (anchorDistances?.distR !== void 0) wrap.distR = anchorDistances.distR;
|
|
219
|
+
return wrap;
|
|
220
|
+
}
|
|
221
|
+
const wrapType = (wrapEl.name || "").replace("wp:", "");
|
|
222
|
+
let type;
|
|
223
|
+
switch (wrapType) {
|
|
224
|
+
case "wrapNone":
|
|
225
|
+
type = behindDoc ? "behind" : "inFront";
|
|
226
|
+
break;
|
|
227
|
+
case "wrapSquare":
|
|
228
|
+
type = "square";
|
|
229
|
+
break;
|
|
230
|
+
case "wrapTight":
|
|
231
|
+
type = "tight";
|
|
232
|
+
break;
|
|
233
|
+
case "wrapThrough":
|
|
234
|
+
type = "through";
|
|
235
|
+
break;
|
|
236
|
+
case "wrapTopAndBottom":
|
|
237
|
+
type = "topAndBottom";
|
|
238
|
+
break;
|
|
239
|
+
default: type = "square";
|
|
240
|
+
}
|
|
241
|
+
const wrap = { type };
|
|
242
|
+
const wrapText = narrowEnum(getAttribute(wrapEl, null, "wrapText"), ImageWrapTextSchema);
|
|
243
|
+
if (wrapText) wrap.wrapText = wrapText;
|
|
244
|
+
const distT = parseNumericAttribute(wrapEl, null, "distT") ?? anchorDistances?.distT;
|
|
245
|
+
const distB = parseNumericAttribute(wrapEl, null, "distB") ?? anchorDistances?.distB;
|
|
246
|
+
const distL = parseNumericAttribute(wrapEl, null, "distL") ?? anchorDistances?.distL;
|
|
247
|
+
const distR = parseNumericAttribute(wrapEl, null, "distR") ?? anchorDistances?.distR;
|
|
248
|
+
if (distT !== void 0) wrap.distT = distT;
|
|
249
|
+
if (distB !== void 0) wrap.distB = distB;
|
|
250
|
+
if (distL !== void 0) wrap.distL = distL;
|
|
251
|
+
if (distR !== void 0) wrap.distR = distR;
|
|
252
|
+
return wrap;
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Parse wrap from an anchor element (finds wrap child internally).
|
|
256
|
+
*/
|
|
257
|
+
function parseAnchorWrap(anchor) {
|
|
258
|
+
const children = getChildElements(anchor);
|
|
259
|
+
const behindDoc = getAttribute(anchor, null, "behindDoc") === "1";
|
|
260
|
+
const wrapEl = children.find((el) => WRAP_ELEMENT_NAMES.includes(el.name ?? ""));
|
|
261
|
+
const distT = parseNumericAttribute(anchor, null, "distT");
|
|
262
|
+
const distB = parseNumericAttribute(anchor, null, "distB");
|
|
263
|
+
const distL = parseNumericAttribute(anchor, null, "distL");
|
|
264
|
+
const distR = parseNumericAttribute(anchor, null, "distR");
|
|
265
|
+
const anchorDistances = {
|
|
266
|
+
...distT != null ? { distT } : {},
|
|
267
|
+
...distB != null ? { distB } : {},
|
|
268
|
+
...distL != null ? { distL } : {},
|
|
269
|
+
...distR != null ? { distR } : {}
|
|
270
|
+
};
|
|
271
|
+
return parseWrapElement(wrapEl ?? null, behindDoc, anchorDistances);
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Default theme color fallbacks (Office 2016 defaults).
|
|
275
|
+
* Used when resolving theme colors without a Theme object.
|
|
276
|
+
*/
|
|
277
|
+
const DEFAULT_THEME_COLOR_HEX = {
|
|
278
|
+
accent1: "5B9BD5",
|
|
279
|
+
accent2: "ED7D31",
|
|
280
|
+
accent3: "A5A5A5",
|
|
281
|
+
accent4: "FFC000",
|
|
282
|
+
accent5: "4472C4",
|
|
283
|
+
accent6: "70AD47",
|
|
284
|
+
dk1: "000000",
|
|
285
|
+
lt1: "FFFFFF",
|
|
286
|
+
dk2: "1F497D",
|
|
287
|
+
lt2: "EEECE1",
|
|
288
|
+
text1: "000000",
|
|
289
|
+
text2: "1F497D",
|
|
290
|
+
background1: "FFFFFF",
|
|
291
|
+
background2: "EEECE1",
|
|
292
|
+
hlink: "0563C1",
|
|
293
|
+
folHlink: "954F72"
|
|
294
|
+
};
|
|
295
|
+
/**
|
|
296
|
+
* Resolve a ColorValue to a CSS hex string using default theme colors.
|
|
297
|
+
* For use when no Theme object is available (e.g., shape/text box parsing).
|
|
298
|
+
*/
|
|
299
|
+
function resolveColorValueToHex(color) {
|
|
300
|
+
if (!color) return;
|
|
301
|
+
if (color.rgb) return `#${color.rgb}`;
|
|
302
|
+
if (color.themeColor) return `#${DEFAULT_THEME_COLOR_HEX[color.themeColor] ?? "000000"}`;
|
|
303
|
+
}
|
|
304
|
+
//#endregion
|
|
305
|
+
export { WRAP_ELEMENT_NAMES, parseAnchorPosition, parseAnchorWrap, parseColorElement, parseFill, parseOutline, parsePositionH, parsePositionV, parseWrapElement, resolveColorValueToHex };
|
|
@@ -0,0 +1,228 @@
|
|
|
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/fieldParser.d.ts
|
|
6
|
+
/**
|
|
7
|
+
* All known field types from OOXML specification
|
|
8
|
+
*/
|
|
9
|
+
declare const KNOWN_FIELD_TYPES: readonly document_d_exports.FieldType[];
|
|
10
|
+
/**
|
|
11
|
+
* Parse field type from instruction string
|
|
12
|
+
*
|
|
13
|
+
* Field instructions follow the format: FIELDNAME [arguments] [switches]
|
|
14
|
+
* Examples:
|
|
15
|
+
* - "PAGE \\* MERGEFORMAT"
|
|
16
|
+
* - "DATE \\@ \"MMMM d, yyyy\""
|
|
17
|
+
* - "MERGEFIELD client_name \\* Upper"
|
|
18
|
+
* - "REF _Ref123456 \\h"
|
|
19
|
+
*
|
|
20
|
+
* @param instruction - The field instruction string
|
|
21
|
+
* @returns The detected field type
|
|
22
|
+
*/
|
|
23
|
+
declare function parseFieldType(instruction: string): document_d_exports.FieldType;
|
|
24
|
+
/**
|
|
25
|
+
* Check if a field type is a known type. The sentinel "UNKNOWN" value
|
|
26
|
+
* is not considered a "known" type even though it belongs to FieldType.
|
|
27
|
+
*
|
|
28
|
+
* @param type - Field type string to check
|
|
29
|
+
* @returns true if it's a known field type
|
|
30
|
+
*/
|
|
31
|
+
declare function isKnownFieldType(type: string): type is document_d_exports.FieldType;
|
|
32
|
+
/**
|
|
33
|
+
* Parsed field instruction with arguments and switches
|
|
34
|
+
*/
|
|
35
|
+
type ParsedFieldInstruction = {
|
|
36
|
+
/** Field type */type: document_d_exports.FieldType; /** Raw instruction string */
|
|
37
|
+
raw: string; /** Field argument (e.g., property name for DOCPROPERTY, bookmark name for REF) */
|
|
38
|
+
argument?: string; /** Field switches (e.g., \* MERGEFORMAT, \@ "date format") */
|
|
39
|
+
switches: FieldSwitch[];
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Field switch parsed from instruction
|
|
43
|
+
*/
|
|
44
|
+
type FieldSwitch = {
|
|
45
|
+
/** Switch character (e.g., '*', '@', '#', 'h', 'p') */switch: string; /** Switch value if any */
|
|
46
|
+
value?: string;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Parse a complete field instruction into structured data
|
|
50
|
+
*
|
|
51
|
+
* @param instruction - Raw instruction string
|
|
52
|
+
* @returns Parsed instruction object
|
|
53
|
+
*/
|
|
54
|
+
declare function parseFieldInstruction(instruction: string): ParsedFieldInstruction;
|
|
55
|
+
/**
|
|
56
|
+
* Get the format switch value (\* or \@)
|
|
57
|
+
*
|
|
58
|
+
* @param instruction - Parsed instruction
|
|
59
|
+
* @returns Format string or undefined
|
|
60
|
+
*/
|
|
61
|
+
declare function getFormatSwitch(instruction: ParsedFieldInstruction): string | undefined;
|
|
62
|
+
/**
|
|
63
|
+
* Check if field has MERGEFORMAT switch (preserve formatting)
|
|
64
|
+
*
|
|
65
|
+
* @param instruction - Parsed instruction
|
|
66
|
+
* @returns true if MERGEFORMAT is present
|
|
67
|
+
*/
|
|
68
|
+
declare function hasMergeFormat(instruction: ParsedFieldInstruction): boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Parse a simple field element (w:fldSimple)
|
|
71
|
+
*
|
|
72
|
+
* @param node - The w:fldSimple XML element
|
|
73
|
+
* @param styles - Style definitions for parsing content runs
|
|
74
|
+
* @param theme - Theme for color/font resolution
|
|
75
|
+
* @returns Parsed SimpleField object
|
|
76
|
+
*/
|
|
77
|
+
declare function parseSimpleField(node: XmlElement, styles: StyleMap | null, theme: document_d_exports.Theme | null): document_d_exports.SimpleField;
|
|
78
|
+
/**
|
|
79
|
+
* State machine for tracking complex field parsing
|
|
80
|
+
*/
|
|
81
|
+
type ComplexFieldState = "outside" | "code" | "result";
|
|
82
|
+
/**
|
|
83
|
+
* Complex field parsing context
|
|
84
|
+
*/
|
|
85
|
+
type ComplexFieldContext = {
|
|
86
|
+
/** Current state */state: ComplexFieldState; /** Accumulated instruction text */
|
|
87
|
+
instruction: string; /** Runs in the field code section */
|
|
88
|
+
codeRuns: document_d_exports.Run[]; /** Runs in the result section */
|
|
89
|
+
resultRuns: document_d_exports.Run[]; /** Whether field is locked */
|
|
90
|
+
fldLock: boolean; /** Whether field needs update */
|
|
91
|
+
dirty: boolean; /** Nesting level (for nested fields) */
|
|
92
|
+
nestingLevel: number;
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* Create a new complex field context
|
|
96
|
+
*/
|
|
97
|
+
declare function createComplexFieldContext(): ComplexFieldContext;
|
|
98
|
+
/**
|
|
99
|
+
* Reset the context for a new field
|
|
100
|
+
*/
|
|
101
|
+
declare function resetComplexFieldContext(ctx: ComplexFieldContext): void;
|
|
102
|
+
/**
|
|
103
|
+
* Finalize a complex field from its context
|
|
104
|
+
*
|
|
105
|
+
* @param ctx - The field context
|
|
106
|
+
* @returns The parsed ComplexField
|
|
107
|
+
*/
|
|
108
|
+
declare function finalizeComplexField(ctx: ComplexFieldContext): document_d_exports.ComplexField;
|
|
109
|
+
/**
|
|
110
|
+
* Get the current display value of a field
|
|
111
|
+
*
|
|
112
|
+
* @param field - The field (simple or complex)
|
|
113
|
+
* @returns The display text
|
|
114
|
+
*/
|
|
115
|
+
declare function getFieldDisplayValue(field: document_d_exports.Field): string;
|
|
116
|
+
/**
|
|
117
|
+
* Check if field represents a page number
|
|
118
|
+
*
|
|
119
|
+
* @param field - The field to check
|
|
120
|
+
* @returns true if this is a page number field
|
|
121
|
+
*/
|
|
122
|
+
declare function isPageNumberField(field: document_d_exports.Field): boolean;
|
|
123
|
+
/**
|
|
124
|
+
* Check if field represents total page count
|
|
125
|
+
*
|
|
126
|
+
* @param field - The field to check
|
|
127
|
+
* @returns true if this is a total pages field
|
|
128
|
+
*/
|
|
129
|
+
declare function isTotalPagesField(field: document_d_exports.Field): boolean;
|
|
130
|
+
/**
|
|
131
|
+
* Check if field is a date/time field
|
|
132
|
+
*
|
|
133
|
+
* @param field - The field to check
|
|
134
|
+
* @returns true if this is a date/time field
|
|
135
|
+
*/
|
|
136
|
+
declare function isDateTimeField(field: document_d_exports.Field): boolean;
|
|
137
|
+
/**
|
|
138
|
+
* Check if field is a document property field
|
|
139
|
+
*
|
|
140
|
+
* @param field - The field to check
|
|
141
|
+
* @returns true if this is a document property field
|
|
142
|
+
*/
|
|
143
|
+
declare function isDocPropertyField(field: document_d_exports.Field): boolean;
|
|
144
|
+
/**
|
|
145
|
+
* Check if field is a cross-reference field
|
|
146
|
+
*
|
|
147
|
+
* @param field - The field to check
|
|
148
|
+
* @returns true if this is a cross-reference field
|
|
149
|
+
*/
|
|
150
|
+
declare function isReferenceField(field: document_d_exports.Field): boolean;
|
|
151
|
+
/**
|
|
152
|
+
* Check if field is a mail merge field
|
|
153
|
+
*
|
|
154
|
+
* @param field - The field to check
|
|
155
|
+
* @returns true if this is a mail merge field
|
|
156
|
+
*/
|
|
157
|
+
declare function isMergeField(field: document_d_exports.Field): boolean;
|
|
158
|
+
/**
|
|
159
|
+
* Check if field is a hyperlink field
|
|
160
|
+
*
|
|
161
|
+
* @param field - The field to check
|
|
162
|
+
* @returns true if this is a hyperlink field
|
|
163
|
+
*/
|
|
164
|
+
declare function isHyperlinkField(field: document_d_exports.Field): boolean;
|
|
165
|
+
/**
|
|
166
|
+
* Check if field is a TOC/Index field
|
|
167
|
+
*
|
|
168
|
+
* @param field - The field to check
|
|
169
|
+
* @returns true if this is a TOC or index field
|
|
170
|
+
*/
|
|
171
|
+
declare function isTocField(field: document_d_exports.Field): boolean;
|
|
172
|
+
/**
|
|
173
|
+
* Compute the value for a page number field
|
|
174
|
+
*
|
|
175
|
+
* @param pageNumber - Current page number
|
|
176
|
+
* @param instruction - Parsed instruction for format switches
|
|
177
|
+
* @returns Formatted page number string
|
|
178
|
+
*/
|
|
179
|
+
declare function computePageNumber(pageNumber: number, instruction?: ParsedFieldInstruction): string;
|
|
180
|
+
/**
|
|
181
|
+
* Format a date according to a format string
|
|
182
|
+
*
|
|
183
|
+
* Supports common OOXML date format codes:
|
|
184
|
+
* - M, MM, MMM, MMMM - Month
|
|
185
|
+
* - d, dd, ddd, dddd - Day
|
|
186
|
+
* - yy, yyyy - Year
|
|
187
|
+
* - h, hh, H, HH - Hour
|
|
188
|
+
* - m, mm - Minute (in time context)
|
|
189
|
+
* - s, ss - Second
|
|
190
|
+
* - AM/PM, am/pm - AM/PM indicator
|
|
191
|
+
*
|
|
192
|
+
* @param date - The date to format
|
|
193
|
+
* @param format - The format string
|
|
194
|
+
* @returns Formatted date string
|
|
195
|
+
*/
|
|
196
|
+
declare function formatDate(date: Date, format: string): string;
|
|
197
|
+
declare function collectFields(content: unknown[]): document_d_exports.Field[];
|
|
198
|
+
/**
|
|
199
|
+
* Get all fields of a specific type
|
|
200
|
+
*
|
|
201
|
+
* @param fields - Array of fields
|
|
202
|
+
* @param fieldType - The field type to filter by
|
|
203
|
+
* @returns Filtered array of fields
|
|
204
|
+
*/
|
|
205
|
+
declare function getFieldsByType(fields: document_d_exports.Field[], fieldType: document_d_exports.FieldType): document_d_exports.Field[];
|
|
206
|
+
/**
|
|
207
|
+
* Find all page number fields
|
|
208
|
+
*
|
|
209
|
+
* @param fields - Array of fields
|
|
210
|
+
* @returns Array of PAGE fields
|
|
211
|
+
*/
|
|
212
|
+
declare function getPageNumberFields(fields: document_d_exports.Field[]): document_d_exports.Field[];
|
|
213
|
+
/**
|
|
214
|
+
* Find all merge fields
|
|
215
|
+
*
|
|
216
|
+
* @param fields - Array of fields
|
|
217
|
+
* @returns Array of MERGEFIELD fields
|
|
218
|
+
*/
|
|
219
|
+
declare function getMergeFields(fields: document_d_exports.Field[]): document_d_exports.Field[];
|
|
220
|
+
/**
|
|
221
|
+
* Extract merge field names from fields
|
|
222
|
+
*
|
|
223
|
+
* @param fields - Array of fields
|
|
224
|
+
* @returns Array of merge field names
|
|
225
|
+
*/
|
|
226
|
+
declare function getMergeFieldNames(fields: document_d_exports.Field[]): string[];
|
|
227
|
+
//#endregion
|
|
228
|
+
export { ComplexFieldContext, ComplexFieldState, FieldSwitch, KNOWN_FIELD_TYPES, ParsedFieldInstruction, collectFields, computePageNumber, createComplexFieldContext, finalizeComplexField, formatDate, getFieldDisplayValue, getFieldsByType, getFormatSwitch, getMergeFieldNames, getMergeFields, getPageNumberFields, hasMergeFormat, isDateTimeField, isDocPropertyField, isHyperlinkField, isKnownFieldType, isMergeField, isPageNumberField, isReferenceField, isTocField, isTotalPagesField, parseFieldInstruction, parseFieldType, parseSimpleField, resetComplexFieldContext };
|