@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,61 @@
|
|
|
1
|
+
import { FlowBlock, Fragment, ImageBlock, ImageMeasure, Measure, ParagraphBlock, ParagraphMeasure, TableBlock, TableMeasure, TextBoxBlock, TextBoxMeasure } from "../../layout-engine/types.js";
|
|
2
|
+
import { RenderContext } from "../renderUtils.js";
|
|
3
|
+
|
|
4
|
+
//#region src/layout-painter/registry/types.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Resolve the concrete Fragment subtype for a given kind discriminator.
|
|
7
|
+
*/
|
|
8
|
+
type FragmentFor<TKind extends Fragment["kind"]> = Extract<Fragment, {
|
|
9
|
+
kind: TKind;
|
|
10
|
+
}>;
|
|
11
|
+
/**
|
|
12
|
+
* Maps Fragment kind -> concrete Block subtype. The block lookup table
|
|
13
|
+
* passes a `FlowBlock`; modules use this to narrow to the block they need
|
|
14
|
+
* without unsafe casts.
|
|
15
|
+
*/
|
|
16
|
+
type BlockFor<TKind extends Fragment["kind"]> = TKind extends "paragraph" ? ParagraphBlock : TKind extends "table" ? TableBlock : TKind extends "image" ? ImageBlock : TKind extends "textBox" ? TextBoxBlock : FlowBlock;
|
|
17
|
+
/**
|
|
18
|
+
* Maps Fragment kind -> concrete Measure subtype. Same intent as `BlockFor`.
|
|
19
|
+
*/
|
|
20
|
+
type MeasureFor<TKind extends Fragment["kind"]> = TKind extends "paragraph" ? ParagraphMeasure : TKind extends "table" ? TableMeasure : TKind extends "image" ? ImageMeasure : TKind extends "textBox" ? TextBoxMeasure : Measure;
|
|
21
|
+
/**
|
|
22
|
+
* Inputs handed to a feature module's render function.
|
|
23
|
+
*/
|
|
24
|
+
type FeatureRenderInput<TKind extends Fragment["kind"]> = {
|
|
25
|
+
fragment: FragmentFor<TKind>;
|
|
26
|
+
block: BlockFor<TKind>;
|
|
27
|
+
measure: MeasureFor<TKind>;
|
|
28
|
+
context: RenderContext;
|
|
29
|
+
doc: Document;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* One renderer for one OOXML fragment kind. Pure — no instance state.
|
|
33
|
+
*/
|
|
34
|
+
type FeatureModule<TKind extends Fragment["kind"] = Fragment["kind"]> = {
|
|
35
|
+
readonly kind: TKind;
|
|
36
|
+
render: (input: FeatureRenderInput<TKind>) => HTMLElement;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Dispatch input: caller hands the registry the still-untyped fragment plus
|
|
40
|
+
* its associated block/measure, and the registry narrows by kind.
|
|
41
|
+
*/
|
|
42
|
+
type FeatureDispatchInput = {
|
|
43
|
+
fragment: Fragment;
|
|
44
|
+
block: FlowBlock | undefined;
|
|
45
|
+
measure: Measure | undefined;
|
|
46
|
+
context: RenderContext;
|
|
47
|
+
doc: Document;
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Fallback hook invoked when no module matches the fragment's kind (or when
|
|
51
|
+
* block/measure are missing for a fragment that needs them). Mirrors the
|
|
52
|
+
* existing `renderFragment` placeholder behaviour so partial registries stay
|
|
53
|
+
* safe at runtime.
|
|
54
|
+
*/
|
|
55
|
+
type FeatureFallback = (input: {
|
|
56
|
+
fragment: Fragment;
|
|
57
|
+
context: RenderContext;
|
|
58
|
+
doc: Document;
|
|
59
|
+
}) => HTMLElement;
|
|
60
|
+
//#endregion
|
|
61
|
+
export { BlockFor, FeatureDispatchInput, FeatureFallback, FeatureModule, FeatureRenderInput, FragmentFor, MeasureFor };
|
|
File without changes
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Fragment } from "../layout-engine/types.js";
|
|
2
|
+
import { RenderContext } from "./renderUtils.js";
|
|
3
|
+
|
|
4
|
+
//#region src/layout-painter/renderFragment.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* CSS class names for fragment elements
|
|
7
|
+
*/
|
|
8
|
+
declare const FRAGMENT_CLASS_NAMES: {
|
|
9
|
+
fragment: string;
|
|
10
|
+
paragraph: string;
|
|
11
|
+
table: string;
|
|
12
|
+
image: string;
|
|
13
|
+
line: string;
|
|
14
|
+
run: string;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Options for rendering fragments
|
|
18
|
+
*/
|
|
19
|
+
type RenderFragmentOptions = {
|
|
20
|
+
/** Document to create elements in */document?: Document;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Render a fragment to DOM
|
|
24
|
+
*
|
|
25
|
+
* @param fragment - The fragment to render
|
|
26
|
+
* @param context - Rendering context
|
|
27
|
+
* @param options - Rendering options
|
|
28
|
+
* @returns The fragment DOM element
|
|
29
|
+
*/
|
|
30
|
+
declare function renderFragment(fragment: Fragment, context: RenderContext, options?: RenderFragmentOptions): HTMLElement;
|
|
31
|
+
//#endregion
|
|
32
|
+
export { FRAGMENT_CLASS_NAMES, RenderFragmentOptions, renderFragment };
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { applySdtDataAttrs } from "./sdtBoundary.js";
|
|
2
|
+
//#region src/layout-painter/renderFragment.ts
|
|
3
|
+
/**
|
|
4
|
+
* CSS class names for fragment elements
|
|
5
|
+
*/
|
|
6
|
+
const FRAGMENT_CLASS_NAMES = {
|
|
7
|
+
fragment: "layout-fragment",
|
|
8
|
+
paragraph: "layout-fragment-paragraph",
|
|
9
|
+
table: "layout-fragment-table",
|
|
10
|
+
image: "layout-fragment-image",
|
|
11
|
+
line: "layout-line",
|
|
12
|
+
run: "layout-run"
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Check if fragment is a paragraph fragment
|
|
16
|
+
*/
|
|
17
|
+
function isParagraphFragment(fragment) {
|
|
18
|
+
return fragment.kind === "paragraph";
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Check if fragment is a table fragment
|
|
22
|
+
*/
|
|
23
|
+
function isTableFragment(fragment) {
|
|
24
|
+
return fragment.kind === "table";
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Check if fragment is an image fragment
|
|
28
|
+
*/
|
|
29
|
+
function isImageFragment(fragment) {
|
|
30
|
+
return fragment.kind === "image";
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Apply base fragment styles
|
|
34
|
+
*/
|
|
35
|
+
function applyBaseFragmentStyles(element) {
|
|
36
|
+
element.style.position = "absolute";
|
|
37
|
+
element.style.overflow = "hidden";
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Render a paragraph fragment
|
|
41
|
+
*
|
|
42
|
+
* Note: The actual lines/runs are rendered separately since we need
|
|
43
|
+
* access to the original ParagraphBlock and ParagraphMeasure.
|
|
44
|
+
* This creates a placeholder that will be filled by the full painter.
|
|
45
|
+
*/
|
|
46
|
+
function renderParagraphFragmentPlaceholder(fragment, _context, doc) {
|
|
47
|
+
const el = doc.createElement("div");
|
|
48
|
+
el.className = `${FRAGMENT_CLASS_NAMES.fragment} ${FRAGMENT_CLASS_NAMES.paragraph}`;
|
|
49
|
+
applyBaseFragmentStyles(el);
|
|
50
|
+
el.dataset["blockId"] = String(fragment.blockId);
|
|
51
|
+
el.dataset["fromLine"] = String(fragment.fromLine);
|
|
52
|
+
el.dataset["toLine"] = String(fragment.toLine);
|
|
53
|
+
if (fragment.pmStart !== void 0) el.dataset["pmStart"] = String(fragment.pmStart);
|
|
54
|
+
if (fragment.pmEnd !== void 0) el.dataset["pmEnd"] = String(fragment.pmEnd);
|
|
55
|
+
if (fragment.continuesFromPrev) el.dataset["continuesFromPrev"] = "true";
|
|
56
|
+
if (fragment.continuesOnNext) el.dataset["continuesOnNext"] = "true";
|
|
57
|
+
applySdtDataAttrs(el, fragment.sdtGroups);
|
|
58
|
+
return el;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Render a table fragment
|
|
62
|
+
*
|
|
63
|
+
* Note: Similar to paragraphs, actual table rendering requires
|
|
64
|
+
* access to the TableBlock. This creates a placeholder.
|
|
65
|
+
*/
|
|
66
|
+
function renderTableFragmentPlaceholder(fragment, _context, doc) {
|
|
67
|
+
const el = doc.createElement("div");
|
|
68
|
+
el.className = `${FRAGMENT_CLASS_NAMES.fragment} ${FRAGMENT_CLASS_NAMES.table}`;
|
|
69
|
+
applyBaseFragmentStyles(el);
|
|
70
|
+
el.dataset["blockId"] = String(fragment.blockId);
|
|
71
|
+
el.dataset["fromRow"] = String(fragment.fromRow);
|
|
72
|
+
el.dataset["toRow"] = String(fragment.toRow);
|
|
73
|
+
if (fragment.pmStart !== void 0) el.dataset["pmStart"] = String(fragment.pmStart);
|
|
74
|
+
if (fragment.pmEnd !== void 0) el.dataset["pmEnd"] = String(fragment.pmEnd);
|
|
75
|
+
applySdtDataAttrs(el, fragment.sdtGroups);
|
|
76
|
+
return el;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Render an image fragment
|
|
80
|
+
*/
|
|
81
|
+
function renderImageFragmentPlaceholder(fragment, _context, doc) {
|
|
82
|
+
const el = doc.createElement("div");
|
|
83
|
+
el.className = `${FRAGMENT_CLASS_NAMES.fragment} ${FRAGMENT_CLASS_NAMES.image}`;
|
|
84
|
+
applyBaseFragmentStyles(el);
|
|
85
|
+
el.dataset["blockId"] = String(fragment.blockId);
|
|
86
|
+
if (fragment.pmStart !== void 0) el.dataset["pmStart"] = String(fragment.pmStart);
|
|
87
|
+
if (fragment.pmEnd !== void 0) el.dataset["pmEnd"] = String(fragment.pmEnd);
|
|
88
|
+
if (fragment.isAnchored) el.dataset["anchored"] = "true";
|
|
89
|
+
if (fragment.zIndex !== void 0) el.style.zIndex = String(fragment.zIndex);
|
|
90
|
+
return el;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Render a fragment to DOM
|
|
94
|
+
*
|
|
95
|
+
* @param fragment - The fragment to render
|
|
96
|
+
* @param context - Rendering context
|
|
97
|
+
* @param options - Rendering options
|
|
98
|
+
* @returns The fragment DOM element
|
|
99
|
+
*/
|
|
100
|
+
function renderFragment(fragment, context, options = {}) {
|
|
101
|
+
const doc = options.document ?? document;
|
|
102
|
+
if (isParagraphFragment(fragment)) return renderParagraphFragmentPlaceholder(fragment, context, doc);
|
|
103
|
+
if (isTableFragment(fragment)) return renderTableFragmentPlaceholder(fragment, context, doc);
|
|
104
|
+
if (isImageFragment(fragment)) return renderImageFragmentPlaceholder(fragment, context, doc);
|
|
105
|
+
const el = doc.createElement("div");
|
|
106
|
+
el.className = FRAGMENT_CLASS_NAMES.fragment;
|
|
107
|
+
applyBaseFragmentStyles(el);
|
|
108
|
+
const unknownFragment = fragment;
|
|
109
|
+
if (unknownFragment.blockId !== void 0) el.dataset["blockId"] = unknownFragment.blockId;
|
|
110
|
+
if (unknownFragment.kind) el.dataset["kind"] = unknownFragment.kind;
|
|
111
|
+
return el;
|
|
112
|
+
}
|
|
113
|
+
//#endregion
|
|
114
|
+
export { FRAGMENT_CLASS_NAMES, renderFragment };
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { ImageBlock, ImageFragment, ImageMeasure } from "../layout-engine/types.js";
|
|
2
|
+
import { RenderContext } from "./renderUtils.js";
|
|
3
|
+
|
|
4
|
+
//#region src/layout-painter/renderImage.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* CSS class names for image elements
|
|
7
|
+
*/
|
|
8
|
+
declare const IMAGE_CLASS_NAMES: {
|
|
9
|
+
image: string;
|
|
10
|
+
imageAnchored: string;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Structural shape required to apply Word's per-image visual attributes:
|
|
14
|
+
* `wp:srcRect` crop fractions and `a:alphaModFix` opacity. `ImageRun` and
|
|
15
|
+
* `ImageBlock` both satisfy this, so callers don't need an adapter.
|
|
16
|
+
*/
|
|
17
|
+
type ImageVisualAttrs = {
|
|
18
|
+
opacity?: number;
|
|
19
|
+
cropTop?: number;
|
|
20
|
+
cropRight?: number;
|
|
21
|
+
cropBottom?: number;
|
|
22
|
+
cropLeft?: number;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* True when any visual attribute is set. Cheap call-site guard so the no-op
|
|
26
|
+
* common case skips the helper call.
|
|
27
|
+
*
|
|
28
|
+
* IMPORTANT: ProseMirror schema attrs default to `null`, not `undefined`,
|
|
29
|
+
* and a `null` survives `as number | undefined` casts in the layout bridge.
|
|
30
|
+
* Use `!= null` rather than `!== undefined` so default-null opacity / crop
|
|
31
|
+
* fields are not read as `0` (`null < 1` is `true`, `Math.max(0, null)` is
|
|
32
|
+
* `0`) — that bug otherwise hides every plain image behind `opacity: 0`.
|
|
33
|
+
*/
|
|
34
|
+
declare function hasImageVisualAttrs(v: ImageVisualAttrs): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Apply Word's `<a:srcRect>` crop to an `<img>` whose parent already has
|
|
37
|
+
* `overflow: hidden` and is sized to the *visible* (cropped) dimensions
|
|
38
|
+
* (this matches `wp:extent` semantics: in Word the extent is the cropped
|
|
39
|
+
* frame, with `<a:stretch><a:fillRect/>` stretching the cropped source to
|
|
40
|
+
* fill it).
|
|
41
|
+
*
|
|
42
|
+
* Implementation: scale the `<img>` up so the visible region fills the
|
|
43
|
+
* parent, then shift it by the negative crop offsets so only that region
|
|
44
|
+
* remains in view. A naive `clip-path: inset(...)` is wrong here — it would
|
|
45
|
+
* leave the bitmap rendered at full extent size (so the wrong region shows)
|
|
46
|
+
* and only mask the rest, producing a squished image with blank bands.
|
|
47
|
+
*
|
|
48
|
+
* `fw = 1/(1-left-right)` and `fh = 1/(1-top-bottom)` are the inverse
|
|
49
|
+
* remaining-fractions; multiplying by 100% gives the upscaled width/height
|
|
50
|
+
* so the cropped slice exactly covers the parent.
|
|
51
|
+
*
|
|
52
|
+
* Caller should gate with `hasImageVisualAttrs(v)` to avoid the function
|
|
53
|
+
* call for plain images.
|
|
54
|
+
*/
|
|
55
|
+
declare function applyImageVisualAttrs(img: HTMLImageElement, v: ImageVisualAttrs): void;
|
|
56
|
+
/**
|
|
57
|
+
* Create an inline-block `<span>` wrapper sized to the visible (cropped)
|
|
58
|
+
* dimensions with `overflow: hidden`, then size+scale+shift the `<img>`
|
|
59
|
+
* inside it so only the cropped region of the bitmap is visible. See
|
|
60
|
+
* `applyImageVisualAttrs` for the geometry rationale.
|
|
61
|
+
*
|
|
62
|
+
* Use this for inline runs and block images where the painter does not
|
|
63
|
+
* already provide an overflow-clipped container.
|
|
64
|
+
*/
|
|
65
|
+
declare function wrapImageWithCrop(img: HTMLImageElement, v: ImageVisualAttrs, doc: Document, outerStyle: {
|
|
66
|
+
display: "inline-block" | "block";
|
|
67
|
+
widthPx: number;
|
|
68
|
+
heightPx: number;
|
|
69
|
+
}): HTMLElement;
|
|
70
|
+
/**
|
|
71
|
+
* Options for rendering an image fragment
|
|
72
|
+
*/
|
|
73
|
+
type RenderImageFragmentOptions = {
|
|
74
|
+
document?: Document;
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
* Render an image fragment to DOM
|
|
78
|
+
*
|
|
79
|
+
* @param fragment - The image fragment to render
|
|
80
|
+
* @param block - The full image block
|
|
81
|
+
* @param measure - The image measure
|
|
82
|
+
* @param context - Rendering context
|
|
83
|
+
* @param options - Rendering options
|
|
84
|
+
* @returns The image DOM element
|
|
85
|
+
*/
|
|
86
|
+
declare function renderImageFragment(fragment: ImageFragment, block: ImageBlock, _measure: ImageMeasure, _context: RenderContext, options?: RenderImageFragmentOptions): HTMLElement;
|
|
87
|
+
//#endregion
|
|
88
|
+
export { IMAGE_CLASS_NAMES, ImageVisualAttrs, RenderImageFragmentOptions, applyImageVisualAttrs, hasImageVisualAttrs, renderImageFragment, wrapImageWithCrop };
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
//#region src/layout-painter/renderImage.ts
|
|
2
|
+
/**
|
|
3
|
+
* CSS class names for image elements
|
|
4
|
+
*/
|
|
5
|
+
const IMAGE_CLASS_NAMES = {
|
|
6
|
+
image: "layout-image",
|
|
7
|
+
imageAnchored: "layout-image-anchored"
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* True when any visual attribute is set. Cheap call-site guard so the no-op
|
|
11
|
+
* common case skips the helper call.
|
|
12
|
+
*
|
|
13
|
+
* IMPORTANT: ProseMirror schema attrs default to `null`, not `undefined`,
|
|
14
|
+
* and a `null` survives `as number | undefined` casts in the layout bridge.
|
|
15
|
+
* Use `!= null` rather than `!== undefined` so default-null opacity / crop
|
|
16
|
+
* fields are not read as `0` (`null < 1` is `true`, `Math.max(0, null)` is
|
|
17
|
+
* `0`) — that bug otherwise hides every plain image behind `opacity: 0`.
|
|
18
|
+
*/
|
|
19
|
+
function hasImageVisualAttrs(v) {
|
|
20
|
+
if (v.opacity != null && v.opacity < 1) return true;
|
|
21
|
+
return Boolean(v.cropTop || v.cropRight || v.cropBottom || v.cropLeft);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Apply Word's `<a:srcRect>` crop to an `<img>` whose parent already has
|
|
25
|
+
* `overflow: hidden` and is sized to the *visible* (cropped) dimensions
|
|
26
|
+
* (this matches `wp:extent` semantics: in Word the extent is the cropped
|
|
27
|
+
* frame, with `<a:stretch><a:fillRect/>` stretching the cropped source to
|
|
28
|
+
* fill it).
|
|
29
|
+
*
|
|
30
|
+
* Implementation: scale the `<img>` up so the visible region fills the
|
|
31
|
+
* parent, then shift it by the negative crop offsets so only that region
|
|
32
|
+
* remains in view. A naive `clip-path: inset(...)` is wrong here — it would
|
|
33
|
+
* leave the bitmap rendered at full extent size (so the wrong region shows)
|
|
34
|
+
* and only mask the rest, producing a squished image with blank bands.
|
|
35
|
+
*
|
|
36
|
+
* `fw = 1/(1-left-right)` and `fh = 1/(1-top-bottom)` are the inverse
|
|
37
|
+
* remaining-fractions; multiplying by 100% gives the upscaled width/height
|
|
38
|
+
* so the cropped slice exactly covers the parent.
|
|
39
|
+
*
|
|
40
|
+
* Caller should gate with `hasImageVisualAttrs(v)` to avoid the function
|
|
41
|
+
* call for plain images.
|
|
42
|
+
*/
|
|
43
|
+
function applyImageVisualAttrs(img, v) {
|
|
44
|
+
if (v.opacity != null && v.opacity < 1) img.style.opacity = String(Math.max(0, v.opacity));
|
|
45
|
+
const top = v.cropTop ?? 0;
|
|
46
|
+
const right = v.cropRight ?? 0;
|
|
47
|
+
const bottom = v.cropBottom ?? 0;
|
|
48
|
+
const left = v.cropLeft ?? 0;
|
|
49
|
+
if (!(top || right || bottom || left)) return;
|
|
50
|
+
const remainingW = 1 - left - right;
|
|
51
|
+
const remainingH = 1 - top - bottom;
|
|
52
|
+
if (remainingW <= 0 || remainingH <= 0) return;
|
|
53
|
+
const fw = 1 / remainingW;
|
|
54
|
+
const fh = 1 / remainingH;
|
|
55
|
+
img.style.width = `${fw * 100}%`;
|
|
56
|
+
img.style.height = `${fh * 100}%`;
|
|
57
|
+
img.style.marginLeft = `${-left * fw * 100}%`;
|
|
58
|
+
img.style.marginTop = `${-top * fh * 100}%`;
|
|
59
|
+
img.style.objectFit = "fill";
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Create an inline-block `<span>` wrapper sized to the visible (cropped)
|
|
63
|
+
* dimensions with `overflow: hidden`, then size+scale+shift the `<img>`
|
|
64
|
+
* inside it so only the cropped region of the bitmap is visible. See
|
|
65
|
+
* `applyImageVisualAttrs` for the geometry rationale.
|
|
66
|
+
*
|
|
67
|
+
* Use this for inline runs and block images where the painter does not
|
|
68
|
+
* already provide an overflow-clipped container.
|
|
69
|
+
*/
|
|
70
|
+
function wrapImageWithCrop(img, v, doc, outerStyle) {
|
|
71
|
+
const wrapper = doc.createElement("span");
|
|
72
|
+
wrapper.style.display = outerStyle.display;
|
|
73
|
+
wrapper.style.overflow = "hidden";
|
|
74
|
+
wrapper.style.width = `${outerStyle.widthPx}px`;
|
|
75
|
+
wrapper.style.height = `${outerStyle.heightPx}px`;
|
|
76
|
+
img.style.width = "100%";
|
|
77
|
+
img.style.height = "100%";
|
|
78
|
+
applyImageVisualAttrs(img, v);
|
|
79
|
+
wrapper.append(img);
|
|
80
|
+
return wrapper;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Render an image fragment to DOM
|
|
84
|
+
*
|
|
85
|
+
* @param fragment - The image fragment to render
|
|
86
|
+
* @param block - The full image block
|
|
87
|
+
* @param measure - The image measure
|
|
88
|
+
* @param context - Rendering context
|
|
89
|
+
* @param options - Rendering options
|
|
90
|
+
* @returns The image DOM element
|
|
91
|
+
*/
|
|
92
|
+
function renderImageFragment(fragment, block, _measure, _context, options = {}) {
|
|
93
|
+
const doc = options.document ?? document;
|
|
94
|
+
const containerEl = doc.createElement("div");
|
|
95
|
+
containerEl.className = IMAGE_CLASS_NAMES.image;
|
|
96
|
+
if (fragment.isAnchored) containerEl.classList.add(IMAGE_CLASS_NAMES.imageAnchored);
|
|
97
|
+
containerEl.style.position = "absolute";
|
|
98
|
+
containerEl.style.width = `${fragment.width}px`;
|
|
99
|
+
containerEl.style.height = `${fragment.height}px`;
|
|
100
|
+
containerEl.style.overflow = "hidden";
|
|
101
|
+
if (fragment.zIndex !== void 0) containerEl.style.zIndex = String(fragment.zIndex);
|
|
102
|
+
if (block.anchor?.behindDoc) containerEl.style.zIndex = "-1";
|
|
103
|
+
containerEl.dataset["blockId"] = String(fragment.blockId);
|
|
104
|
+
if (fragment.pmStart !== void 0) containerEl.dataset["pmStart"] = String(fragment.pmStart);
|
|
105
|
+
if (fragment.pmEnd !== void 0) containerEl.dataset["pmEnd"] = String(fragment.pmEnd);
|
|
106
|
+
const imgEl = doc.createElement("img");
|
|
107
|
+
imgEl.src = block.src;
|
|
108
|
+
imgEl.alt = block.alt ?? "";
|
|
109
|
+
imgEl.style.width = "100%";
|
|
110
|
+
imgEl.style.height = "100%";
|
|
111
|
+
imgEl.style.objectFit = "contain";
|
|
112
|
+
imgEl.style.display = "block";
|
|
113
|
+
if (block.transform) imgEl.style.transform = block.transform;
|
|
114
|
+
if (hasImageVisualAttrs(block)) applyImageVisualAttrs(imgEl, block);
|
|
115
|
+
imgEl.draggable = false;
|
|
116
|
+
if (block.hlinkHref) {
|
|
117
|
+
const linkEl = doc.createElement("a");
|
|
118
|
+
linkEl.href = block.hlinkHref;
|
|
119
|
+
linkEl.target = "_blank";
|
|
120
|
+
linkEl.rel = "noopener noreferrer";
|
|
121
|
+
linkEl.style.display = "block";
|
|
122
|
+
linkEl.style.width = "100%";
|
|
123
|
+
linkEl.style.height = "100%";
|
|
124
|
+
linkEl.append(imgEl);
|
|
125
|
+
containerEl.append(linkEl);
|
|
126
|
+
} else containerEl.append(imgEl);
|
|
127
|
+
return containerEl;
|
|
128
|
+
}
|
|
129
|
+
//#endregion
|
|
130
|
+
export { IMAGE_CLASS_NAMES, applyImageVisualAttrs, hasImageVisualAttrs, renderImageFragment, wrapImageWithCrop };
|