@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,50 @@
|
|
|
1
|
+
import { document_d_exports } from "../types/document.js";
|
|
2
|
+
|
|
3
|
+
//#region src/utils/createDocument.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Options for creating an empty document
|
|
6
|
+
*/
|
|
7
|
+
type CreateEmptyDocumentOptions = {
|
|
8
|
+
/** Page width in twips (default: 12240 = 8.5 inches) */pageWidth?: number; /** Page height in twips (default: 15840 = 11 inches) */
|
|
9
|
+
pageHeight?: number; /** Page orientation (default: 'portrait') */
|
|
10
|
+
orientation?: "portrait" | "landscape"; /** Top margin in twips (default: 1440 = 1 inch) */
|
|
11
|
+
marginTop?: number; /** Bottom margin in twips (default: 1440 = 1 inch) */
|
|
12
|
+
marginBottom?: number; /** Left margin in twips (default: 1440 = 1 inch) */
|
|
13
|
+
marginLeft?: number; /** Right margin in twips (default: 1440 = 1 inch) */
|
|
14
|
+
marginRight?: number; /** Initial text content (default: empty string) */
|
|
15
|
+
initialText?: string;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Create an empty document with a single paragraph
|
|
19
|
+
*
|
|
20
|
+
* @param options - Optional configuration for the document
|
|
21
|
+
* @returns A new empty Document object
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```ts
|
|
25
|
+
* // Create a blank document
|
|
26
|
+
* const doc = createEmptyDocument();
|
|
27
|
+
*
|
|
28
|
+
* // Create with custom margins
|
|
29
|
+
* const doc = createEmptyDocument({
|
|
30
|
+
* marginTop: 720, // 0.5 inch
|
|
31
|
+
* marginBottom: 720,
|
|
32
|
+
* });
|
|
33
|
+
*
|
|
34
|
+
* // Create with initial text
|
|
35
|
+
* const doc = createEmptyDocument({
|
|
36
|
+
* initialText: 'Hello, World!'
|
|
37
|
+
* });
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
declare function createEmptyDocument(options?: CreateEmptyDocumentOptions): document_d_exports.Document;
|
|
41
|
+
/**
|
|
42
|
+
* Create a document with a single paragraph containing the given text
|
|
43
|
+
*
|
|
44
|
+
* @param text - The text content for the document
|
|
45
|
+
* @param options - Optional configuration for the document
|
|
46
|
+
* @returns A new Document object with the specified text
|
|
47
|
+
*/
|
|
48
|
+
declare function createDocumentWithText(text: string, options?: Omit<CreateEmptyDocumentOptions, "initialText">): document_d_exports.Document;
|
|
49
|
+
//#endregion
|
|
50
|
+
export { CreateEmptyDocumentOptions, createDocumentWithText, createEmptyDocument };
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
//#region src/utils/createDocument.ts
|
|
2
|
+
/**
|
|
3
|
+
* Get default paragraph styles (matching Google Docs defaults)
|
|
4
|
+
*
|
|
5
|
+
* Font sizes are in half-points (e.g., 22 = 11pt, 40 = 20pt)
|
|
6
|
+
* Colors are RGB hex without # prefix
|
|
7
|
+
*/
|
|
8
|
+
function getDefaultStyles() {
|
|
9
|
+
return [
|
|
10
|
+
{
|
|
11
|
+
styleId: "Normal",
|
|
12
|
+
type: "paragraph",
|
|
13
|
+
name: "Normal",
|
|
14
|
+
default: true,
|
|
15
|
+
qFormat: true,
|
|
16
|
+
uiPriority: 0,
|
|
17
|
+
rPr: {
|
|
18
|
+
fontSize: 22,
|
|
19
|
+
fontFamily: {
|
|
20
|
+
ascii: "Arial",
|
|
21
|
+
hAnsi: "Arial"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
pPr: { lineSpacing: 276 }
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
styleId: "Title",
|
|
28
|
+
type: "paragraph",
|
|
29
|
+
name: "Title",
|
|
30
|
+
basedOn: "Normal",
|
|
31
|
+
next: "Normal",
|
|
32
|
+
qFormat: true,
|
|
33
|
+
uiPriority: 10,
|
|
34
|
+
rPr: {
|
|
35
|
+
fontSize: 52,
|
|
36
|
+
bold: true,
|
|
37
|
+
fontFamily: {
|
|
38
|
+
ascii: "Arial",
|
|
39
|
+
hAnsi: "Arial"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
pPr: { lineSpacing: 240 }
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
styleId: "Subtitle",
|
|
46
|
+
type: "paragraph",
|
|
47
|
+
name: "Subtitle",
|
|
48
|
+
basedOn: "Normal",
|
|
49
|
+
next: "Normal",
|
|
50
|
+
qFormat: true,
|
|
51
|
+
uiPriority: 11,
|
|
52
|
+
rPr: {
|
|
53
|
+
fontSize: 30,
|
|
54
|
+
color: { rgb: "666666" },
|
|
55
|
+
fontFamily: {
|
|
56
|
+
ascii: "Arial",
|
|
57
|
+
hAnsi: "Arial"
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
pPr: { lineSpacing: 240 }
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
styleId: "Heading1",
|
|
64
|
+
type: "paragraph",
|
|
65
|
+
name: "Heading 1",
|
|
66
|
+
basedOn: "Normal",
|
|
67
|
+
next: "Normal",
|
|
68
|
+
qFormat: true,
|
|
69
|
+
uiPriority: 9,
|
|
70
|
+
rPr: {
|
|
71
|
+
fontSize: 40,
|
|
72
|
+
bold: true,
|
|
73
|
+
fontFamily: {
|
|
74
|
+
ascii: "Arial",
|
|
75
|
+
hAnsi: "Arial"
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
pPr: {
|
|
79
|
+
spaceBefore: 400,
|
|
80
|
+
spaceAfter: 120,
|
|
81
|
+
lineSpacing: 240
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
styleId: "Heading2",
|
|
86
|
+
type: "paragraph",
|
|
87
|
+
name: "Heading 2",
|
|
88
|
+
basedOn: "Normal",
|
|
89
|
+
next: "Normal",
|
|
90
|
+
qFormat: true,
|
|
91
|
+
uiPriority: 9,
|
|
92
|
+
rPr: {
|
|
93
|
+
fontSize: 32,
|
|
94
|
+
bold: true,
|
|
95
|
+
fontFamily: {
|
|
96
|
+
ascii: "Arial",
|
|
97
|
+
hAnsi: "Arial"
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
pPr: {
|
|
101
|
+
spaceBefore: 360,
|
|
102
|
+
spaceAfter: 80,
|
|
103
|
+
lineSpacing: 240
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
styleId: "Heading3",
|
|
108
|
+
type: "paragraph",
|
|
109
|
+
name: "Heading 3",
|
|
110
|
+
basedOn: "Normal",
|
|
111
|
+
next: "Normal",
|
|
112
|
+
qFormat: true,
|
|
113
|
+
uiPriority: 9,
|
|
114
|
+
rPr: {
|
|
115
|
+
fontSize: 28,
|
|
116
|
+
bold: true,
|
|
117
|
+
fontFamily: {
|
|
118
|
+
ascii: "Arial",
|
|
119
|
+
hAnsi: "Arial"
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
pPr: {
|
|
123
|
+
spaceBefore: 320,
|
|
124
|
+
spaceAfter: 80,
|
|
125
|
+
lineSpacing: 240
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
styleId: "Heading4",
|
|
130
|
+
type: "paragraph",
|
|
131
|
+
name: "Heading 4",
|
|
132
|
+
basedOn: "Normal",
|
|
133
|
+
next: "Normal",
|
|
134
|
+
qFormat: true,
|
|
135
|
+
uiPriority: 9,
|
|
136
|
+
rPr: {
|
|
137
|
+
fontSize: 24,
|
|
138
|
+
bold: true,
|
|
139
|
+
fontFamily: {
|
|
140
|
+
ascii: "Arial",
|
|
141
|
+
hAnsi: "Arial"
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
pPr: {
|
|
145
|
+
spaceBefore: 280,
|
|
146
|
+
spaceAfter: 80,
|
|
147
|
+
lineSpacing: 240
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
];
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Get default section properties (US Letter, 1 inch margins)
|
|
154
|
+
*/
|
|
155
|
+
function getDefaultSectionProperties() {
|
|
156
|
+
return {
|
|
157
|
+
pageWidth: 12240,
|
|
158
|
+
pageHeight: 15840,
|
|
159
|
+
orientation: "portrait",
|
|
160
|
+
marginTop: 1440,
|
|
161
|
+
marginBottom: 1440,
|
|
162
|
+
marginLeft: 1440,
|
|
163
|
+
marginRight: 1440,
|
|
164
|
+
headerDistance: 720,
|
|
165
|
+
footerDistance: 720,
|
|
166
|
+
gutter: 0,
|
|
167
|
+
columnCount: 1,
|
|
168
|
+
columnSpace: 720,
|
|
169
|
+
equalWidth: true,
|
|
170
|
+
sectionStart: "nextPage",
|
|
171
|
+
verticalAlign: "top"
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Create an empty document with a single paragraph
|
|
176
|
+
*
|
|
177
|
+
* @param options - Optional configuration for the document
|
|
178
|
+
* @returns A new empty Document object
|
|
179
|
+
*
|
|
180
|
+
* @example
|
|
181
|
+
* ```ts
|
|
182
|
+
* // Create a blank document
|
|
183
|
+
* const doc = createEmptyDocument();
|
|
184
|
+
*
|
|
185
|
+
* // Create with custom margins
|
|
186
|
+
* const doc = createEmptyDocument({
|
|
187
|
+
* marginTop: 720, // 0.5 inch
|
|
188
|
+
* marginBottom: 720,
|
|
189
|
+
* });
|
|
190
|
+
*
|
|
191
|
+
* // Create with initial text
|
|
192
|
+
* const doc = createEmptyDocument({
|
|
193
|
+
* initialText: 'Hello, World!'
|
|
194
|
+
* });
|
|
195
|
+
* ```
|
|
196
|
+
*/
|
|
197
|
+
function createEmptyDocument(options = {}) {
|
|
198
|
+
const sectionProps = getDefaultSectionProperties();
|
|
199
|
+
if (options.pageWidth !== void 0) sectionProps.pageWidth = Math.round(options.pageWidth);
|
|
200
|
+
if (options.pageHeight !== void 0) sectionProps.pageHeight = Math.round(options.pageHeight);
|
|
201
|
+
if (options.orientation !== void 0) sectionProps.orientation = options.orientation;
|
|
202
|
+
if (options.marginTop !== void 0) sectionProps.marginTop = Math.round(options.marginTop);
|
|
203
|
+
if (options.marginBottom !== void 0) sectionProps.marginBottom = Math.round(options.marginBottom);
|
|
204
|
+
if (options.marginLeft !== void 0) sectionProps.marginLeft = Math.round(options.marginLeft);
|
|
205
|
+
if (options.marginRight !== void 0) sectionProps.marginRight = Math.round(options.marginRight);
|
|
206
|
+
const textContent = {
|
|
207
|
+
type: "text",
|
|
208
|
+
text: options.initialText || ""
|
|
209
|
+
};
|
|
210
|
+
return {
|
|
211
|
+
package: {
|
|
212
|
+
document: {
|
|
213
|
+
content: [{
|
|
214
|
+
type: "paragraph",
|
|
215
|
+
content: [{
|
|
216
|
+
type: "run",
|
|
217
|
+
content: options.initialText ? [textContent] : [],
|
|
218
|
+
formatting: {
|
|
219
|
+
fontSize: 22,
|
|
220
|
+
fontFamily: {
|
|
221
|
+
ascii: "Arial",
|
|
222
|
+
hAnsi: "Arial"
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}],
|
|
226
|
+
formatting: { lineSpacing: 276 }
|
|
227
|
+
}],
|
|
228
|
+
finalSectionProperties: sectionProps
|
|
229
|
+
},
|
|
230
|
+
styles: {
|
|
231
|
+
docDefaults: {
|
|
232
|
+
rPr: {
|
|
233
|
+
fontSize: 22,
|
|
234
|
+
fontFamily: {
|
|
235
|
+
ascii: "Arial",
|
|
236
|
+
hAnsi: "Arial"
|
|
237
|
+
}
|
|
238
|
+
},
|
|
239
|
+
pPr: { lineSpacing: 276 }
|
|
240
|
+
},
|
|
241
|
+
styles: getDefaultStyles()
|
|
242
|
+
}
|
|
243
|
+
},
|
|
244
|
+
templateVariables: [],
|
|
245
|
+
warnings: []
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Create a document with a single paragraph containing the given text
|
|
250
|
+
*
|
|
251
|
+
* @param text - The text content for the document
|
|
252
|
+
* @param options - Optional configuration for the document
|
|
253
|
+
* @returns A new Document object with the specified text
|
|
254
|
+
*/
|
|
255
|
+
function createDocumentWithText(text, options = {}) {
|
|
256
|
+
return createEmptyDocument({
|
|
257
|
+
...options,
|
|
258
|
+
initialText: text
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
//#endregion
|
|
262
|
+
export { createDocumentWithText, createEmptyDocument };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { document_d_exports } from "../types/document.js";
|
|
2
|
+
import { DocxInput } from "./docxInput.js";
|
|
3
|
+
|
|
4
|
+
//#region src/utils/documentLoaderBehavior.d.ts
|
|
5
|
+
type DocumentLoadSource = {
|
|
6
|
+
type: "buffer";
|
|
7
|
+
buffer: DocxInput;
|
|
8
|
+
} | {
|
|
9
|
+
type: "parsed-document";
|
|
10
|
+
document: document_d_exports.Document;
|
|
11
|
+
} | {
|
|
12
|
+
type: "none";
|
|
13
|
+
};
|
|
14
|
+
declare const getDocumentLoadSource: ({
|
|
15
|
+
documentBuffer,
|
|
16
|
+
initialDocument
|
|
17
|
+
}: {
|
|
18
|
+
documentBuffer: DocxInput | null | undefined;
|
|
19
|
+
initialDocument: document_d_exports.Document | null | undefined;
|
|
20
|
+
}) => DocumentLoadSource;
|
|
21
|
+
//#endregion
|
|
22
|
+
export { DocumentLoadSource, getDocumentLoadSource };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
//#region src/utils/documentLoaderBehavior.ts
|
|
2
|
+
const getDocumentLoadSource = ({ documentBuffer, initialDocument }) => {
|
|
3
|
+
if (documentBuffer) return {
|
|
4
|
+
type: "buffer",
|
|
5
|
+
buffer: documentBuffer
|
|
6
|
+
};
|
|
7
|
+
if (initialDocument) return {
|
|
8
|
+
type: "parsed-document",
|
|
9
|
+
document: initialDocument
|
|
10
|
+
};
|
|
11
|
+
return { type: "none" };
|
|
12
|
+
};
|
|
13
|
+
//#endregion
|
|
14
|
+
export { getDocumentLoadSource };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
//#region src/utils/docxInput.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Flexible input types for DOCX documents.
|
|
4
|
+
*
|
|
5
|
+
* Accepts any common binary format so consumers don't need to manually
|
|
6
|
+
* convert before passing data to the editor or parser.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Any binary representation of a DOCX file that the editor can consume.
|
|
10
|
+
*
|
|
11
|
+
* - `ArrayBuffer` — from `FileReader.readAsArrayBuffer()` or `fetch().arrayBuffer()`
|
|
12
|
+
* - `Uint8Array` — from Node.js `fs.readFile()` or streaming APIs
|
|
13
|
+
* - `Blob` — from drag-and-drop or `<input type="file">`
|
|
14
|
+
* - `File` — subclass of Blob, from `<input type="file">`
|
|
15
|
+
*/
|
|
16
|
+
type DocxInput = ArrayBuffer | Uint8Array | Blob | File;
|
|
17
|
+
/**
|
|
18
|
+
* Normalize any {@link DocxInput} into an `ArrayBuffer` for internal use.
|
|
19
|
+
*/
|
|
20
|
+
declare function toArrayBuffer(input: DocxInput): Promise<ArrayBuffer>;
|
|
21
|
+
//#endregion
|
|
22
|
+
export { DocxInput, toArrayBuffer };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
//#region src/utils/docxInput.ts
|
|
2
|
+
/**
|
|
3
|
+
* Normalize any {@link DocxInput} into an `ArrayBuffer` for internal use.
|
|
4
|
+
*/
|
|
5
|
+
function toArrayBuffer(input) {
|
|
6
|
+
if (input instanceof ArrayBuffer) return Promise.resolve(input);
|
|
7
|
+
if (input instanceof Uint8Array) {
|
|
8
|
+
const copy = new ArrayBuffer(input.byteLength);
|
|
9
|
+
new Uint8Array(copy).set(input);
|
|
10
|
+
return Promise.resolve(copy);
|
|
11
|
+
}
|
|
12
|
+
if (input instanceof Blob) return input.arrayBuffer();
|
|
13
|
+
return Promise.reject(/* @__PURE__ */ new TypeError(`Unsupported DocxInput type: ${typeof input}`));
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
16
|
+
export { toArrayBuffer };
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
//#region src/utils/domGuards.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Runtime-checked DOM narrowing helpers.
|
|
4
|
+
*
|
|
5
|
+
* The folio editor frequently narrows DOM nodes from `Element` to
|
|
6
|
+
* `HTMLElement` (for `.dataset`, `.style`, `.closest()` callbacks)
|
|
7
|
+
* and from `Element | null` query results to specific subtypes.
|
|
8
|
+
* The native TS types are correct but conservative: these helpers
|
|
9
|
+
* replace ad-hoc `as HTMLElement` casts with `instanceof` checks
|
|
10
|
+
* so a mismatched runtime value is caught at the narrowing point
|
|
11
|
+
* instead of leaking through.
|
|
12
|
+
*
|
|
13
|
+
* Prefer these helpers over inline casts in folio DOM code.
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Find the first element in `elements` that is an HTMLElement and
|
|
17
|
+
* matches the predicate. Returns `null` if no match.
|
|
18
|
+
*/
|
|
19
|
+
declare const findHtmlElement: (elements: readonly Element[], predicate: (el: HTMLElement) => boolean) => HTMLElement | null;
|
|
20
|
+
/**
|
|
21
|
+
* Query a single descendant element matching `selector` and return
|
|
22
|
+
* it only if it's an HTMLElement; null otherwise.
|
|
23
|
+
*
|
|
24
|
+
* Equivalent to `el.querySelector<HTMLElement>(selector)` but with
|
|
25
|
+
* a runtime instanceof check (querySelector's generic does not
|
|
26
|
+
* actually validate at runtime).
|
|
27
|
+
*/
|
|
28
|
+
declare const queryHtmlElement: (root: ParentNode, selector: string) => HTMLElement | null;
|
|
29
|
+
/**
|
|
30
|
+
* Walk ancestors of `node` and return the nearest one matching
|
|
31
|
+
* `selector` that is an HTMLElement.
|
|
32
|
+
*/
|
|
33
|
+
declare const closestHtmlElement: (node: Element | null, selector: string) => HTMLElement | null;
|
|
34
|
+
/**
|
|
35
|
+
* Return `el.children[index]` only if it is an HTMLElement;
|
|
36
|
+
* `undefined` otherwise.
|
|
37
|
+
*/
|
|
38
|
+
declare const childHtmlElement: (el: Element, index: number) => HTMLElement | undefined;
|
|
39
|
+
/**
|
|
40
|
+
* `querySelectorAll` that returns only HTMLElements.
|
|
41
|
+
*
|
|
42
|
+
* Use at trusted DOM sources (layout containers rendered by
|
|
43
|
+
* `LayoutPainter`, our own `Toolbar`/`Sidebar` markup) where the
|
|
44
|
+
* matched nodes are guaranteed by construction to be HTMLElements.
|
|
45
|
+
* The instanceof filter runs once at the source so downstream
|
|
46
|
+
* iteration is statically-typed and pays zero per-element cost.
|
|
47
|
+
*/
|
|
48
|
+
declare const htmlQueryAll: (root: ParentNode, selector: string) => HTMLElement[];
|
|
49
|
+
/**
|
|
50
|
+
* Assert that `node` is an HTMLElement, throwing if not.
|
|
51
|
+
*
|
|
52
|
+
* Use at a single trusted boundary where the surrounding code
|
|
53
|
+
* relies on the node being an HTMLElement (e.g., immediately
|
|
54
|
+
* after `pagesContainerRef.current` is null-checked). Downstream
|
|
55
|
+
* code reads from the asserted variable with zero runtime cost.
|
|
56
|
+
*/
|
|
57
|
+
declare const assertHtmlElement: (node: Node | null | undefined, description?: string) => HTMLElement;
|
|
58
|
+
//#endregion
|
|
59
|
+
export { assertHtmlElement, childHtmlElement, closestHtmlElement, findHtmlElement, htmlQueryAll, queryHtmlElement };
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
//#region src/utils/domGuards.ts
|
|
2
|
+
/**
|
|
3
|
+
* Runtime-checked DOM narrowing helpers.
|
|
4
|
+
*
|
|
5
|
+
* The folio editor frequently narrows DOM nodes from `Element` to
|
|
6
|
+
* `HTMLElement` (for `.dataset`, `.style`, `.closest()` callbacks)
|
|
7
|
+
* and from `Element | null` query results to specific subtypes.
|
|
8
|
+
* The native TS types are correct but conservative: these helpers
|
|
9
|
+
* replace ad-hoc `as HTMLElement` casts with `instanceof` checks
|
|
10
|
+
* so a mismatched runtime value is caught at the narrowing point
|
|
11
|
+
* instead of leaking through.
|
|
12
|
+
*
|
|
13
|
+
* Prefer these helpers over inline casts in folio DOM code.
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Find the first element in `elements` that is an HTMLElement and
|
|
17
|
+
* matches the predicate. Returns `null` if no match.
|
|
18
|
+
*/
|
|
19
|
+
const findHtmlElement = (elements, predicate) => {
|
|
20
|
+
for (const el of elements) if (el instanceof HTMLElement && predicate(el)) return el;
|
|
21
|
+
return null;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Query a single descendant element matching `selector` and return
|
|
25
|
+
* it only if it's an HTMLElement; null otherwise.
|
|
26
|
+
*
|
|
27
|
+
* Equivalent to `el.querySelector<HTMLElement>(selector)` but with
|
|
28
|
+
* a runtime instanceof check (querySelector's generic does not
|
|
29
|
+
* actually validate at runtime).
|
|
30
|
+
*/
|
|
31
|
+
const queryHtmlElement = (root, selector) => {
|
|
32
|
+
const found = root.querySelector(selector);
|
|
33
|
+
return found instanceof HTMLElement ? found : null;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Walk ancestors of `node` and return the nearest one matching
|
|
37
|
+
* `selector` that is an HTMLElement.
|
|
38
|
+
*/
|
|
39
|
+
const closestHtmlElement = (node, selector) => {
|
|
40
|
+
if (!node) return null;
|
|
41
|
+
const found = node.closest(selector);
|
|
42
|
+
return found instanceof HTMLElement ? found : null;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Return `el.children[index]` only if it is an HTMLElement;
|
|
46
|
+
* `undefined` otherwise.
|
|
47
|
+
*/
|
|
48
|
+
const childHtmlElement = (el, index) => {
|
|
49
|
+
const child = el.children[index];
|
|
50
|
+
return child instanceof HTMLElement ? child : void 0;
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* `querySelectorAll` that returns only HTMLElements.
|
|
54
|
+
*
|
|
55
|
+
* Use at trusted DOM sources (layout containers rendered by
|
|
56
|
+
* `LayoutPainter`, our own `Toolbar`/`Sidebar` markup) where the
|
|
57
|
+
* matched nodes are guaranteed by construction to be HTMLElements.
|
|
58
|
+
* The instanceof filter runs once at the source so downstream
|
|
59
|
+
* iteration is statically-typed and pays zero per-element cost.
|
|
60
|
+
*/
|
|
61
|
+
const htmlQueryAll = (root, selector) => {
|
|
62
|
+
const out = [];
|
|
63
|
+
for (const el of root.querySelectorAll(selector)) if (el instanceof HTMLElement) out.push(el);
|
|
64
|
+
return out;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Assert that `node` is an HTMLElement, throwing if not.
|
|
68
|
+
*
|
|
69
|
+
* Use at a single trusted boundary where the surrounding code
|
|
70
|
+
* relies on the node being an HTMLElement (e.g., immediately
|
|
71
|
+
* after `pagesContainerRef.current` is null-checked). Downstream
|
|
72
|
+
* code reads from the asserted variable with zero runtime cost.
|
|
73
|
+
*/
|
|
74
|
+
const assertHtmlElement = (node, description) => {
|
|
75
|
+
if (!(node instanceof HTMLElement)) {
|
|
76
|
+
const where = description ? ` (${description})` : "";
|
|
77
|
+
throw new TypeError(`Expected HTMLElement${where}`);
|
|
78
|
+
}
|
|
79
|
+
return node;
|
|
80
|
+
};
|
|
81
|
+
//#endregion
|
|
82
|
+
export { assertHtmlElement, childHtmlElement, closestHtmlElement, findHtmlElement, htmlQueryAll, queryHtmlElement };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { document_d_exports } from "../types/document.js";
|
|
2
|
+
|
|
3
|
+
//#region src/utils/fontFamilyMerge.d.ts
|
|
4
|
+
type FontFamily = NonNullable<document_d_exports.TextFormatting["fontFamily"]>;
|
|
5
|
+
declare function mergeFontFamily(target: FontFamily | undefined, source: FontFamily): FontFamily;
|
|
6
|
+
//#endregion
|
|
7
|
+
export { mergeFontFamily };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
//#region src/utils/fontFamilyMerge.ts
|
|
2
|
+
function mergeFontFamily(target, source) {
|
|
3
|
+
const result = {};
|
|
4
|
+
const src = source;
|
|
5
|
+
const replacesAscii = source.ascii !== void 0 || source.asciiTheme !== void 0;
|
|
6
|
+
const replacesHAnsi = source.hAnsi !== void 0 || source.hAnsiTheme !== void 0;
|
|
7
|
+
const replacesEastAsia = source.eastAsia !== void 0 || source.eastAsiaTheme !== void 0;
|
|
8
|
+
const replacesCs = source.cs !== void 0 || source.csTheme !== void 0;
|
|
9
|
+
if (target) for (const key of Object.keys(target)) {
|
|
10
|
+
if (replacesAscii && (key === "ascii" || key === "asciiTheme") || replacesHAnsi && (key === "hAnsi" || key === "hAnsiTheme") || replacesEastAsia && (key === "eastAsia" || key === "eastAsiaTheme") || replacesCs && (key === "cs" || key === "csTheme")) continue;
|
|
11
|
+
result[key] = target[key];
|
|
12
|
+
}
|
|
13
|
+
const pairs = [
|
|
14
|
+
["ascii", "asciiTheme"],
|
|
15
|
+
["hAnsi", "hAnsiTheme"],
|
|
16
|
+
["eastAsia", "eastAsiaTheme"],
|
|
17
|
+
["cs", "csTheme"]
|
|
18
|
+
];
|
|
19
|
+
const pairKeys = /* @__PURE__ */ new Set();
|
|
20
|
+
for (const [explicit, theme] of pairs) {
|
|
21
|
+
pairKeys.add(explicit);
|
|
22
|
+
pairKeys.add(theme);
|
|
23
|
+
if (src[explicit] === void 0 && src[theme] === void 0) continue;
|
|
24
|
+
if (src[explicit] !== void 0) result[explicit] = src[explicit];
|
|
25
|
+
if (src[theme] !== void 0) result[theme] = src[theme];
|
|
26
|
+
}
|
|
27
|
+
for (const key of Object.keys(src)) if (!pairKeys.has(key) && src[key] !== void 0) result[key] = src[key];
|
|
28
|
+
return result;
|
|
29
|
+
}
|
|
30
|
+
//#endregion
|
|
31
|
+
export { mergeFontFamily };
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
//#region src/utils/fontLoader.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Font Loader
|
|
4
|
+
*
|
|
5
|
+
* Manages font availability for the DOCX editor. Fonts are bundled via
|
|
6
|
+
* fontsource packages (WOFF2, no external requests). This module
|
|
7
|
+
* tracks which fonts are loaded and provides callbacks for re-rendering
|
|
8
|
+
* when fonts become available.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Mapping from common Office/system fonts to bundled Croscore equivalents.
|
|
12
|
+
* The CSS @font-face aliases in font-aliases.css handle the visual mapping;
|
|
13
|
+
* this map is used for font availability checks and preloading.
|
|
14
|
+
*/
|
|
15
|
+
declare const FONT_MAPPING: Record<string, string>;
|
|
16
|
+
/**
|
|
17
|
+
* Mark a font as loaded. For bundled fonts this is immediate;
|
|
18
|
+
* for others it checks CSS Font Loading API.
|
|
19
|
+
*/
|
|
20
|
+
declare function loadFont(fontFamily: string): Promise<boolean>;
|
|
21
|
+
/**
|
|
22
|
+
* Load multiple fonts.
|
|
23
|
+
*/
|
|
24
|
+
declare function loadFonts(families: string[]): Promise<void>;
|
|
25
|
+
/**
|
|
26
|
+
* Load fonts with mapping: maps Office font names to bundled equivalents
|
|
27
|
+
* and marks them as loaded.
|
|
28
|
+
*/
|
|
29
|
+
declare function loadFontsWithMapping(families: string[] | undefined): Promise<void>;
|
|
30
|
+
declare function isFontLoaded(fontFamily: string): boolean;
|
|
31
|
+
declare function isLoading(): boolean;
|
|
32
|
+
declare function getLoadedFonts(): string[];
|
|
33
|
+
declare function onFontsLoaded(callback: (fonts: string[]) => void): () => void;
|
|
34
|
+
/**
|
|
35
|
+
* Check if a font is available using canvas measurement.
|
|
36
|
+
*/
|
|
37
|
+
declare function canRenderFont(fontFamily: string, fallbackFont?: string): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Load a font from a raw buffer (e.g., embedded in DOCX).
|
|
40
|
+
*/
|
|
41
|
+
declare function loadFontFromBuffer(fontFamily: string, buffer: ArrayBuffer, options?: {
|
|
42
|
+
weight?: number | string;
|
|
43
|
+
style?: "normal" | "italic";
|
|
44
|
+
}): Promise<boolean>;
|
|
45
|
+
/**
|
|
46
|
+
* Preload common document fonts (no-op now since fonts are bundled).
|
|
47
|
+
*/
|
|
48
|
+
declare function preloadCommonFonts(): void;
|
|
49
|
+
//#endregion
|
|
50
|
+
export { FONT_MAPPING, canRenderFont, getLoadedFonts, isFontLoaded, isLoading, loadFont, loadFontFromBuffer, loadFonts, loadFontsWithMapping, onFontsLoaded, preloadCommonFonts };
|