@stll/folio-core 0.15.2 → 0.15.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai-edits/apply.js +2 -2
- package/dist/ai-edits/blockRange.js +1 -1
- package/dist/ai-edits/headless.js +9 -9
- package/dist/ai-edits/index.js +5 -5
- package/dist/ai-edits/read.js +1 -1
- package/dist/ai-edits/table-cell-mutations.js +2 -2
- package/dist/compat/eigenpal.js +19 -19
- package/dist/content-controls/mutateContentControls.js +1 -1
- package/dist/controller/contentControlWidgetController.js +1 -1
- package/dist/controller/headerFooterEditorManager.js +5 -5
- package/dist/controller/hiddenEditorManager.js +5 -5
- package/dist/controller/layoutPipeline.js +10 -10
- package/dist/controller/noteEditorManager.js +5 -5
- package/dist/docx/blockContentParser.js +4 -4
- package/dist/docx/commentParser.js +2 -2
- package/dist/docx/documentParser.js +27 -3
- package/dist/docx/encryption/agileDecryption.js +1 -1
- package/dist/docx/encryption/encryptionInfo.js +1 -1
- package/dist/docx/encryption/index.js +1 -1
- package/dist/docx/encryption/openEncryptedDocx.js +3 -3
- package/dist/docx/fieldParser.js +1 -1
- package/dist/docx/footnoteParser.js +2 -2
- package/dist/docx/groupDrawingParser.js +1 -1
- package/dist/docx/headerFooterParser.js +3 -3
- package/dist/docx/hyperlinkParser.js +1 -1
- package/dist/docx/imageParser.js +3 -3
- package/dist/docx/index.js +1 -1
- package/dist/docx/paragraphParser.js +4 -4
- package/dist/docx/paragraphTextBoxEnrichment.js +4 -4
- package/dist/docx/parser.js +7 -7
- package/dist/docx/rezip.js +9 -9
- package/dist/docx/runParser.js +6 -6
- package/dist/docx/sectionParser.js +2 -2
- package/dist/docx/selectiveSave.js +7 -7
- package/dist/docx/serializer/commentSerializer.js +2 -2
- package/dist/docx/serializer/documentSerializer.js +7 -3
- package/dist/docx/serializer/headerFooterSerializer.js +3 -3
- package/dist/docx/serializer/noteSerializer.js +2 -2
- package/dist/docx/serializer/numberingSerializer.js +1 -1
- package/dist/docx/serializer/paragraphSerializer.js +2 -2
- package/dist/docx/serializer/runSerializer.js +3 -3
- package/dist/docx/serializer/sectionPropertiesSerializer.js +1 -1
- package/dist/docx/serializer/stylesSerializer.js +3 -3
- package/dist/docx/serializer/tableSerializer.js +1 -1
- package/dist/docx/server/docxToMarkdown.js +1 -1
- package/dist/docx/server/evaluateDocxXmlPatchProposal.js +1 -1
- package/dist/docx/server/extractDocxText.js +1 -1
- package/dist/docx/server/validateDocxConformance.js +3 -3
- package/dist/docx/shapeParser.js +1 -1
- package/dist/docx/styleParser.js +3 -3
- package/dist/docx/tableParser.js +3 -3
- package/dist/docx/textBoxParser.js +1 -1
- package/dist/docx/vmlImageParser.js +2 -2
- package/dist/fonts/embeddedFonts.js +2 -2
- package/dist/index.js +18 -18
- package/dist/layout-bridge/convert/footnoteLayout.js +2 -2
- package/dist/layout-bridge/convert/headerFooterLayout.js +2 -2
- package/dist/layout-bridge/convert/paragraphFrames.js +2 -2
- package/dist/layout-bridge/convert/toFlowBlocks.js +10 -10
- package/dist/layout-bridge/engine/clickToPosition.js +2 -2
- package/dist/layout-bridge/engine/hitTest.js +1 -1
- package/dist/layout-bridge/engine/measuring/index.js +6 -6
- package/dist/layout-bridge/engine/selectionRects.js +5 -5
- package/dist/layout-engine/index.js +6 -6
- package/dist/layout-engine/measure/cache.js +2 -2
- package/dist/layout-engine/measure/index.js +6 -6
- package/dist/layout-engine/measure/lineBreaks.js +1 -1
- package/dist/layout-engine/measure/listMarkerWidth.js +1 -1
- package/dist/layout-engine/measure/measureBlocks.js +7 -7
- package/dist/layout-engine/measure/measureContainer.js +3 -3
- package/dist/layout-engine/measure/measureHelpers.js +1 -1
- package/dist/layout-engine/measure/measureParagraph.js +7 -7
- package/dist/layout-engine/measure/tableCellFlow.js +1 -1
- package/dist/layout-engine/paginator.js +1 -1
- package/dist/layout-engine/tableRowBreak.js +2 -2
- package/dist/layout-painter/index.js +5 -5
- package/dist/layout-painter/registry/modules/textBox.js +1 -1
- package/dist/layout-painter/renderImage.js +1 -1
- package/dist/layout-painter/renderPage.js +7 -7
- package/dist/layout-painter/renderParagraph.js +13 -13
- package/dist/layout-painter/renderTable.js +6 -6
- package/dist/layout-painter/renderTextBox.js +1 -1
- package/dist/managers/DocumentLoaderManager.js +3 -3
- package/dist/managers/TableSelectionManager.js +1 -1
- package/dist/managers/editorShortcuts.js +1 -1
- package/dist/markdown/fromMarkdown.js +1 -1
- package/dist/markdown/index.js +1 -1
- package/dist/markdown/renderRuns.js +1 -1
- package/dist/markdown/renderTable.js +1 -1
- package/dist/model.js +2 -2
- package/dist/prosemirror/commands/comments.js +3 -3
- package/dist/prosemirror/commands/contentControls.js +1 -1
- package/dist/prosemirror/commands/contentControlsBlockFill.js +1 -1
- package/dist/prosemirror/commands/formatting.js +1 -1
- package/dist/prosemirror/commands/hyperlink.js +1 -1
- package/dist/prosemirror/commands/image.js +2 -2
- package/dist/prosemirror/commands/index.js +6 -6
- package/dist/prosemirror/commands/propertyChangeScope.js +1 -1
- package/dist/prosemirror/commands/tableCellMergeResolution.js +1 -1
- package/dist/prosemirror/commentOps.js +1 -1
- package/dist/prosemirror/conversion/fromProseDoc.js +4 -4
- package/dist/prosemirror/conversion/index.js +1 -1
- package/dist/prosemirror/conversion/toProseDoc.js +8 -8
- package/dist/prosemirror/extensions/StarterKit.js +4 -4
- package/dist/prosemirror/extensions/core/ParagraphExtension.js +4 -4
- package/dist/prosemirror/extensions/features/AutoBidiDetectionExtension.js +2 -2
- package/dist/prosemirror/extensions/features/BaseKeymapExtension.js +3 -3
- package/dist/prosemirror/extensions/features/BidiShortcutExtension.js +2 -2
- package/dist/prosemirror/extensions/features/ContentControlWidgetsExtension.js +1 -1
- package/dist/prosemirror/extensions/features/ImagePasteExtension.js +2 -2
- package/dist/prosemirror/extensions/features/ListExtension.js +3 -3
- package/dist/prosemirror/extensions/features/ParaIdAllocatorExtension.js +1 -1
- package/dist/prosemirror/extensions/features/PasteCleanupExtension.js +2 -2
- package/dist/prosemirror/extensions/features/PasteStyleInlinerExtension.js +1 -1
- package/dist/prosemirror/extensions/features/SelectionTrackerExtension.js +1 -1
- package/dist/prosemirror/extensions/marks/CharacterSpacingExtension.js +1 -1
- package/dist/prosemirror/extensions/marks/HighlightExtension.js +1 -1
- package/dist/prosemirror/extensions/marks/HyperlinkExtension.js +1 -1
- package/dist/prosemirror/extensions/marks/RunShadingExtension.js +1 -1
- package/dist/prosemirror/extensions/marks/TextColorExtension.js +1 -1
- package/dist/prosemirror/extensions/marks/TrackedChangeExtensions.js +1 -1
- package/dist/prosemirror/extensions/nodes/FieldExtension.js +1 -1
- package/dist/prosemirror/extensions/nodes/TableExtension.js +1 -1
- package/dist/prosemirror/index.js +15 -15
- package/dist/prosemirror/insertOperations.js +3 -3
- package/dist/prosemirror/plugins/templateDirectives.js +1 -1
- package/dist/prosemirror/styles/styleResolver.js +1 -1
- package/dist/redline.js +1 -1
- package/dist/render-dom/BodySelectionOverlay.js +2 -2
- package/dist/server.js +15 -15
- package/dist/style-sets/extract.js +1 -1
- package/dist/utils/formatToStyle.js +1 -1
- package/dist/version-comparison.js +2 -2
- package/package.json +2 -2
package/dist/docx/runParser.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { EmphasisMarkSchema, FontHintSchema, FontThemeSchema, HighlightColorSchema, PositionalTabAlignmentSchema, PositionalTabLeaderSchema, PositionalTabRelativeToSchema, ShadingPatternSchema, TextEffectSchema, ThemeColorSlotSchema, UnderlineStyleSchema, narrowEnum } from "./parserEnums.js";
|
|
2
|
-
import { cloneWithXmlnsDeclarations, elementToXml, findAllDeep, findChild, findChildren, getAttribute, getChildElements, getLocalName, getTextContent, mergeXmlnsDeclarations, parseBooleanElement, parseNumericAttribute } from "./xmlParser.js";
|
|
3
|
-
import { isTextBoxDrawing } from "./textBoxParser.js";
|
|
4
|
-
import { parseImage } from "./imageParser.js";
|
|
5
1
|
import { parseGroupDrawing } from "./groupDrawingParser.js";
|
|
2
|
+
import { parseImage } from "./imageParser.js";
|
|
3
|
+
import { EmphasisMarkSchema, FontHintSchema, FontThemeSchema, HighlightColorSchema, PositionalTabAlignmentSchema, PositionalTabLeaderSchema, PositionalTabRelativeToSchema, ShadingPatternSchema, TextEffectSchema, ThemeColorSlotSchema, UnderlineStyleSchema, narrowEnum } from "./parserEnums.js";
|
|
6
4
|
import { parseShapeFromDrawing, shouldPreserveRawShapeDrawing } from "./shapeParser.js";
|
|
7
|
-
import {
|
|
8
|
-
import { resolveThemeFontRef } from "./themeParser.js";
|
|
5
|
+
import { isTextBoxDrawing } from "./textBoxParser.js";
|
|
9
6
|
import { requiresXmlSpacePreserve } from "./textWhitespace.js";
|
|
7
|
+
import { resolveThemeFontRef } from "./themeParser.js";
|
|
8
|
+
import { parseVmlImageContent } from "./vmlImageParser.js";
|
|
9
|
+
import { cloneWithXmlnsDeclarations, elementToXml, findAllDeep, findChild, findChildren, getAttribute, getChildElements, getLocalName, getTextContent, mergeXmlnsDeclarations, parseBooleanElement, parseNumericAttribute } from "./xmlParser.js";
|
|
10
10
|
import { normalizeRevisionId } from "@stll/docx-core/model";
|
|
11
11
|
//#region src/docx/runParser.ts
|
|
12
12
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { BorderStyleSchema, ThemeColorSlotSchema, narrowEnum } from "./parserEnums.js";
|
|
2
|
-
import { findChild, findChildren, getAttribute, getChildElements, getLocalName, parseBooleanElement, parseNumericAttribute } from "./xmlParser.js";
|
|
3
1
|
import { parseFooterReference, parseHeaderReference } from "./headerFooterRefParser.js";
|
|
4
2
|
import { parseEndnoteProperties, parseFootnoteProperties } from "./notePropertiesParser.js";
|
|
3
|
+
import { BorderStyleSchema, ThemeColorSlotSchema, narrowEnum } from "./parserEnums.js";
|
|
4
|
+
import { findChild, findChildren, getAttribute, getChildElements, getLocalName, parseBooleanElement, parseNumericAttribute } from "./xmlParser.js";
|
|
5
5
|
import { normalizeRevisionId } from "@stll/docx-core/model";
|
|
6
6
|
//#region src/docx/sectionParser.ts
|
|
7
7
|
/**
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { parseNumbering } from "./numberingParser.js";
|
|
2
|
-
import { RELATIONSHIP_TYPES } from "./relsParser.js";
|
|
3
1
|
import { parseCommentsExtended } from "./commentParser.js";
|
|
4
|
-
import { validateFolioDocumentModel } from "./modelValidation.js";
|
|
5
|
-
import { isPreservableDocxEntry } from "./unzip.js";
|
|
6
|
-
import { hasUnsynthesizedReplyRanges } from "./commentReplyMarkers.js";
|
|
7
2
|
import { withoutOrphanCommentRanges } from "./commentRangeIntegrity.js";
|
|
3
|
+
import { hasUnsynthesizedReplyRanges } from "./commentReplyMarkers.js";
|
|
4
|
+
import { validateFolioDocumentModel } from "./modelValidation.js";
|
|
8
5
|
import { isNewDataUrlDrawing } from "./newImage.js";
|
|
6
|
+
import { parseNumbering } from "./numberingParser.js";
|
|
7
|
+
import { RELATIONSHIP_TYPES } from "./relsParser.js";
|
|
8
|
+
import { COMMENTS_CONTENT_TYPE, COMMENTS_EXTENDED_PART_LOWER, addCommentsExtendedOverride, addCommentsExtendedRelationship, applyUpdatesToZip, collectHeaderFooterUpdates, findMaxRId, hasModelDrivenPictureWatermark, hasUnmaterializedHeaderFooter, updateCoreProperties } from "./rezip.js";
|
|
9
|
+
import "./selectiveSaveFlags.js";
|
|
9
10
|
import { buildPatchedDocumentXml, buildPatchedNoteXml, buildPatchedNumberingXml, collectChangedNumberingDefs, collectParaIds } from "./selectiveXmlPatch.js";
|
|
10
11
|
import { ensureThreadedCommentParaIds, serializeComments, serializeCommentsExtended } from "./serializer/commentSerializer.js";
|
|
11
12
|
import { serializeDocument } from "./serializer/documentSerializer.js";
|
|
12
13
|
import { serializeEndnotes, serializeFootnotes } from "./serializer/noteSerializer.js";
|
|
13
14
|
import { serializeNumberingXml } from "./serializer/numberingSerializer.js";
|
|
14
|
-
import {
|
|
15
|
-
import "./selectiveSaveFlags.js";
|
|
15
|
+
import { isPreservableDocxEntry } from "./unzip.js";
|
|
16
16
|
//#region src/docx/selectiveSave.ts
|
|
17
17
|
/**
|
|
18
18
|
* Check if document content has new images (data: URL without rId) or
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { deterministicHexId } from "../../utils/hexId.js";
|
|
2
|
-
import { escapeXml } from "./xmlUtils.js";
|
|
3
|
-
import { serializeTextFormatting } from "./runSerializer.js";
|
|
4
2
|
import { serializeParagraph } from "./paragraphSerializer.js";
|
|
3
|
+
import { serializeTextFormatting } from "./runSerializer.js";
|
|
4
|
+
import { escapeXml } from "./xmlUtils.js";
|
|
5
5
|
//#region src/docx/serializer/commentSerializer.ts
|
|
6
6
|
/**
|
|
7
7
|
* Comment Serializer
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { serializeBlockSdt } from "./blockSdtSerializer.js";
|
|
2
|
+
import { serializeParagraph } from "./paragraphSerializer.js";
|
|
2
3
|
import { resetAutoIdCounter } from "./runSerializer.js";
|
|
3
4
|
import { serializeSectionProperties } from "./sectionPropertiesSerializer.js";
|
|
4
|
-
import {
|
|
5
|
-
import { serializeBlockSdt } from "./blockSdtSerializer.js";
|
|
5
|
+
import { serializeTable } from "./tableSerializer.js";
|
|
6
6
|
//#region src/docx/serializer/documentSerializer.ts
|
|
7
7
|
/**
|
|
8
8
|
* Standard OOXML namespaces for document.xml
|
|
9
9
|
*/
|
|
10
10
|
const NAMESPACES = {
|
|
11
|
+
a: "http://schemas.openxmlformats.org/drawingml/2006/main",
|
|
11
12
|
wpc: "http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas",
|
|
12
13
|
cx: "http://schemas.microsoft.com/office/drawing/2014/chartex",
|
|
13
14
|
cx1: "http://schemas.microsoft.com/office/drawing/2015/9/8/chartex",
|
|
@@ -23,6 +24,7 @@ const NAMESPACES = {
|
|
|
23
24
|
am3d: "http://schemas.microsoft.com/office/drawing/2017/model3d",
|
|
24
25
|
o: "urn:schemas-microsoft-com:office:office",
|
|
25
26
|
oel: "http://schemas.microsoft.com/office/2019/extlst",
|
|
27
|
+
pic: "http://schemas.openxmlformats.org/drawingml/2006/picture",
|
|
26
28
|
r: "http://schemas.openxmlformats.org/officeDocument/2006/relationships",
|
|
27
29
|
m: "http://schemas.openxmlformats.org/officeDocument/2006/math",
|
|
28
30
|
v: "urn:schemas-microsoft-com:vml",
|
|
@@ -47,9 +49,11 @@ const NAMESPACES = {
|
|
|
47
49
|
*/
|
|
48
50
|
function buildNamespaceDeclarations() {
|
|
49
51
|
const declared = {
|
|
52
|
+
a: NAMESPACES.a,
|
|
50
53
|
wpc: NAMESPACES.wpc,
|
|
51
54
|
mc: NAMESPACES.mc,
|
|
52
55
|
o: NAMESPACES.o,
|
|
56
|
+
pic: NAMESPACES.pic,
|
|
53
57
|
r: NAMESPACES.r,
|
|
54
58
|
m: NAMESPACES.m,
|
|
55
59
|
v: NAMESPACES.v,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { canReplayHeaderFooterVerbatim, getHeaderFooterVerbatimXml } from "../headerFooterVerbatim.js";
|
|
2
|
-
import { escapeXml } from "./xmlUtils.js";
|
|
3
|
-
import { serializeTable } from "./tableSerializer.js";
|
|
4
|
-
import { serializeParagraph } from "./paragraphSerializer.js";
|
|
5
2
|
import { serializeBlockSdt } from "./blockSdtSerializer.js";
|
|
3
|
+
import { serializeParagraph } from "./paragraphSerializer.js";
|
|
4
|
+
import { serializeTable } from "./tableSerializer.js";
|
|
5
|
+
import { escapeXml } from "./xmlUtils.js";
|
|
6
6
|
//#region src/docx/serializer/headerFooterSerializer.ts
|
|
7
7
|
const NAMESPACES = {
|
|
8
8
|
wpc: "http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { serializeTable } from "./tableSerializer.js";
|
|
2
|
-
import { serializeParagraph } from "./paragraphSerializer.js";
|
|
3
1
|
import { serializeBlockSdt } from "./blockSdtSerializer.js";
|
|
2
|
+
import { serializeParagraph } from "./paragraphSerializer.js";
|
|
3
|
+
import { serializeTable } from "./tableSerializer.js";
|
|
4
4
|
//#region src/docx/serializer/noteSerializer.ts
|
|
5
5
|
const NAMESPACES = {
|
|
6
6
|
wpc: "http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { escapeXml, intAttr } from "./xmlUtils.js";
|
|
2
1
|
import { serializeTextFormatting } from "./runSerializer.js";
|
|
2
|
+
import { escapeXml, intAttr } from "./xmlUtils.js";
|
|
3
3
|
//#region src/docx/serializer/numberingSerializer.ts
|
|
4
4
|
const W_NS = "http://schemas.openxmlformats.org/wordprocessingml/2006/main";
|
|
5
5
|
/**
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { numPrEqual } from "../numberingParser.js";
|
|
2
1
|
import { isValidHexColor } from "../../utils/colorResolver.js";
|
|
2
|
+
import { numPrEqual } from "../numberingParser.js";
|
|
3
3
|
import { reconcileRawSdtPr } from "../sdtPropertiesPatch.js";
|
|
4
|
-
import { escapeXml, intAttr, isSingleWellFormedElement } from "./xmlUtils.js";
|
|
5
4
|
import { serializeBorder } from "./borderSerializer.js";
|
|
6
5
|
import { serializeRun, serializeTextFormatting } from "./runSerializer.js";
|
|
7
6
|
import { serializeSectionProperties } from "./sectionPropertiesSerializer.js";
|
|
7
|
+
import { escapeXml, intAttr, isSingleWellFormedElement } from "./xmlUtils.js";
|
|
8
8
|
import { normalizeRevisionId } from "@stll/docx-core/model";
|
|
9
9
|
//#region src/docx/serializer/paragraphSerializer.ts
|
|
10
10
|
/**
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { HIGHLIGHT_COLOR_VALUES } from "../../types/documentEnumValues.js";
|
|
2
|
-
import { THEME_COLOR_TO_DRAWING_SCHEME } from "../drawingUtils.js";
|
|
3
2
|
import { isValidHexColor } from "../../utils/colorResolver.js";
|
|
3
|
+
import { THEME_COLOR_TO_DRAWING_SCHEME } from "../drawingUtils.js";
|
|
4
4
|
import { requiresXmlSpacePreserve } from "../textWhitespace.js";
|
|
5
|
-
import { escapeXml, intAttr } from "./xmlUtils.js";
|
|
6
|
-
import { serializeTable } from "./tableSerializer.js";
|
|
7
5
|
import { serializeParagraph } from "./paragraphSerializer.js";
|
|
6
|
+
import { serializeTable } from "./tableSerializer.js";
|
|
7
|
+
import { escapeXml, intAttr } from "./xmlUtils.js";
|
|
8
8
|
import { panic } from "better-result";
|
|
9
9
|
import { normalizeRevisionId } from "@stll/docx-core/model";
|
|
10
10
|
//#region src/docx/serializer/runSerializer.ts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getUnserializedSectionPropertyChildNames } from "../sectionParser.js";
|
|
2
|
-
import { escapeXml, intAttr } from "./xmlUtils.js";
|
|
3
2
|
import { serializeBorder } from "./borderSerializer.js";
|
|
3
|
+
import { escapeXml, intAttr } from "./xmlUtils.js";
|
|
4
4
|
import { normalizeRevisionId } from "@stll/docx-core/model";
|
|
5
5
|
//#region src/docx/serializer/sectionPropertiesSerializer.ts
|
|
6
6
|
const serializeHeaderReference = (ref) => `<w:headerReference w:type="${ref.type}" r:id="${ref.rId}"/>`;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { escapeXml } from "./xmlUtils.js";
|
|
2
|
-
import { serializeTableCellFormatting, serializeTableFormatting, serializeTableRowFormatting } from "./tableSerializer.js";
|
|
3
|
-
import { serializeTextFormatting } from "./runSerializer.js";
|
|
4
1
|
import { serializeParagraphFormatting } from "./paragraphSerializer.js";
|
|
2
|
+
import { serializeTextFormatting } from "./runSerializer.js";
|
|
3
|
+
import { serializeTableCellFormatting, serializeTableFormatting, serializeTableRowFormatting } from "./tableSerializer.js";
|
|
4
|
+
import { escapeXml } from "./xmlUtils.js";
|
|
5
5
|
//#region src/docx/serializer/stylesSerializer.ts
|
|
6
6
|
const W_NS = "http://schemas.openxmlformats.org/wordprocessingml/2006/main";
|
|
7
7
|
const serializeStylesXml = (definitions) => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { isValidHexColor } from "../../utils/colorResolver.js";
|
|
2
|
-
import { escapeXml, intAttr } from "./xmlUtils.js";
|
|
3
2
|
import { serializeBorder } from "./borderSerializer.js";
|
|
3
|
+
import { escapeXml, intAttr } from "./xmlUtils.js";
|
|
4
4
|
import { normalizeRevisionId } from "@stll/docx-core/model";
|
|
5
5
|
//#region src/docx/serializer/tableSerializer.ts
|
|
6
6
|
function normalizeTrackedChangeInfo(info) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { DocxArchiveError } from "./boundedArchive.js";
|
|
2
1
|
import { getDocxXmlSafetyIssue } from "../xmlSafety.js";
|
|
2
|
+
import { DocxArchiveError } from "./boundedArchive.js";
|
|
3
3
|
import { FolioDocxPackageInspectionError, inspectDocxPackage } from "./inspectDocxPackage.js";
|
|
4
4
|
import { TaggedError, panic } from "better-result";
|
|
5
5
|
import { createHash } from "node:crypto";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { findAllDeep, findChild, findDeep, getAttribute, getAttributeAnyPrefix, getLocalName, getTextContent, parseXml } from "../xmlParser.js";
|
|
2
1
|
import { RELATIONSHIP_TYPES, parseRelationships } from "../relsParser.js";
|
|
2
|
+
import { findAllDeep, findChild, findDeep, getAttribute, getAttributeAnyPrefix, getLocalName, getTextContent, parseXml } from "../xmlParser.js";
|
|
3
3
|
import { loadDocxArchive } from "./boundedArchive.js";
|
|
4
4
|
//#region src/docx/server/extractDocxText.ts
|
|
5
5
|
const DOCUMENT_RELS_PATH = "word/_rels/document.xml.rels";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { findChildByLocalName, getAttributeAnyPrefix, getLocalName, getNamespacePrefix, parseXmlDocument } from "../xmlParser.js";
|
|
2
1
|
import { detectDocxConformanceClass } from "../conformance.js";
|
|
3
|
-
import { DocxModelValidationError, validateFolioDocumentModel } from "../modelValidation.js";
|
|
4
2
|
import { DOCX_CONTAINER_TYPES, detectDocxContainerType } from "../encryption/containerFormat.js";
|
|
3
|
+
import { DocxModelValidationError, validateFolioDocumentModel } from "../modelValidation.js";
|
|
5
4
|
import { DocxParseError, parseDocx } from "../parser.js";
|
|
6
|
-
import {
|
|
5
|
+
import { findChildByLocalName, getAttributeAnyPrefix, getLocalName, getNamespacePrefix, parseXmlDocument } from "../xmlParser.js";
|
|
7
6
|
import { getDocxXmlSafetyIssue } from "../xmlSafety.js";
|
|
7
|
+
import { DocxArchiveError, loadDocxArchive } from "./boundedArchive.js";
|
|
8
8
|
import { DOCX_CONFORMANCE_CLASSES } from "@stll/docx-core/model";
|
|
9
9
|
//#region src/docx/server/validateDocxConformance.ts
|
|
10
10
|
const FOLIO_DOCX_CONFORMANCE_REPORT_VERSION = 1;
|
package/dist/docx/shapeParser.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { parseAnchorPosition, parseAnchorWrap, parseFill, parseOutline } from "./drawingUtils.js";
|
|
1
2
|
import { ShapeTypeSchema, narrowEnum } from "./parserEnums.js";
|
|
2
3
|
import { findAllDeep, findChildByLocalName, getAttribute, parseNumericAttribute } from "./xmlParser.js";
|
|
3
|
-
import { parseAnchorPosition, parseAnchorWrap, parseFill, parseOutline } from "./drawingUtils.js";
|
|
4
4
|
//#region src/docx/shapeParser.ts
|
|
5
5
|
/** Convert OOXML rotation (1/60000ths of a degree) to degrees. */
|
|
6
6
|
function rotToDegrees(rot) {
|
package/dist/docx/styleParser.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { BorderStyleSchema, ConditionalStyleTypeSchema, EmphasisMarkSchema, FontHintSchema, FontThemeSchema, HighlightColorSchema, LineSpacingRuleSchema, ParagraphAlignmentSchema, ShadingPatternSchema, StyleTypeSchema, TabLeaderSchema, TabStopAlignmentSchema, TableCellTextDirectionSchema, TableRowHeightRuleSchema, TableWidthTypeSchema, TextEffectSchema, ThemeColorSlotSchema, UnderlineStyleSchema, narrowEnum } from "./parserEnums.js";
|
|
2
|
-
import { findChild, findChildren, getAttribute, getLocalName, parseBooleanElement, parseNumberingLevelAttribute, parseNumericAttribute, parseTableMeasurementValue, parseXmlDocument } from "./xmlParser.js";
|
|
3
|
-
import { mergeTextFormatting } from "../utils/textFormattingMerge.js";
|
|
4
1
|
import { mergeParagraphFormatting } from "../utils/paragraphFormattingMerge.js";
|
|
2
|
+
import { mergeTextFormatting } from "../utils/textFormattingMerge.js";
|
|
3
|
+
import { BorderStyleSchema, ConditionalStyleTypeSchema, EmphasisMarkSchema, FontHintSchema, FontThemeSchema, HighlightColorSchema, LineSpacingRuleSchema, ParagraphAlignmentSchema, ShadingPatternSchema, StyleTypeSchema, TabLeaderSchema, TabStopAlignmentSchema, TableCellTextDirectionSchema, TableRowHeightRuleSchema, TableWidthTypeSchema, TextEffectSchema, ThemeColorSlotSchema, UnderlineStyleSchema, narrowEnum } from "./parserEnums.js";
|
|
5
4
|
import { resolveThemeFontRef } from "./themeParser.js";
|
|
5
|
+
import { findChild, findChildren, getAttribute, getLocalName, parseBooleanElement, parseNumberingLevelAttribute, parseNumericAttribute, parseTableMeasurementValue, parseXmlDocument } from "./xmlParser.js";
|
|
6
6
|
//#region src/docx/styleParser.ts
|
|
7
7
|
/**
|
|
8
8
|
* Parse text formatting properties (w:rPr)
|
package/dist/docx/tableParser.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { BorderStyleSchema, FloatingTableXSpecSchema, FloatingTableYSpecSchema, ShadingPatternSchema, TableCellTextDirectionSchema, ThemeColorSlotSchema, narrowEnum } from "./parserEnums.js";
|
|
2
|
-
import { findChild, findChildByLocalName, findChildren, getAttribute, getChildElements, getLocalName, mergeXmlnsDeclarations, parseBooleanElement, parseNumericAttribute, parseTableMeasurementValue } from "./xmlParser.js";
|
|
3
1
|
import { parseBookmarkEnd, parseBookmarkStart } from "./bookmarkParser.js";
|
|
4
|
-
import { parseParagraph } from "./paragraphParser.js";
|
|
5
2
|
import { appendBookmarkMarkerToLastParagraphInBlocks, appendBookmarkMarkerToLastParagraphInCells, prependBookmarkMarkersToFirstParagraphInBlocks, prependBookmarkMarkersToFirstParagraphInCell } from "./bookmarkPlacement.js";
|
|
3
|
+
import { parseParagraph } from "./paragraphParser.js";
|
|
6
4
|
import { enrichParagraphTextBoxes } from "./paragraphTextBoxEnrichment.js";
|
|
5
|
+
import { BorderStyleSchema, FloatingTableXSpecSchema, FloatingTableYSpecSchema, ShadingPatternSchema, TableCellTextDirectionSchema, ThemeColorSlotSchema, narrowEnum } from "./parserEnums.js";
|
|
6
|
+
import { findChild, findChildByLocalName, findChildren, getAttribute, getChildElements, getLocalName, mergeXmlnsDeclarations, parseBooleanElement, parseNumericAttribute, parseTableMeasurementValue } from "./xmlParser.js";
|
|
7
7
|
import { normalizeRevisionId } from "@stll/docx-core/model";
|
|
8
8
|
//#region src/docx/tableParser.ts
|
|
9
9
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { findByFullName, findChildByLocalName, findChildrenByLocalName, getAttribute, getChildElements, parseNumericAttribute } from "./xmlParser.js";
|
|
2
1
|
import { emuToPixels } from "../utils/units.js";
|
|
3
2
|
import { parseAnchorPosition, parseAnchorWrap, parseFill, parseOutline, resolveColorValueToHex } from "./drawingUtils.js";
|
|
3
|
+
import { findByFullName, findChildByLocalName, findChildrenByLocalName, getAttribute, getChildElements, parseNumericAttribute } from "./xmlParser.js";
|
|
4
4
|
//#region src/docx/textBoxParser.ts
|
|
5
5
|
/** Default text box margins in EMUs (0.1 inch) */
|
|
6
6
|
const DEFAULT_MARGIN_EMU = 91440;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { cloneWithXmlnsDeclarations, elementToXml, findAllDeep, findChild, findDeep, getAttribute, getChildElements, getLocalName } from "./xmlParser.js";
|
|
2
|
-
import { pixelsToEmu } from "../utils/units.js";
|
|
3
1
|
import { sanitizeImageSrc } from "../utils/sanitizeImageSrc.js";
|
|
2
|
+
import { pixelsToEmu } from "../utils/units.js";
|
|
4
3
|
import { resolveImageData } from "./imageParser.js";
|
|
5
4
|
import { isWatermarkShape } from "./watermarkParser.js";
|
|
5
|
+
import { cloneWithXmlnsDeclarations, elementToXml, findAllDeep, findChild, findDeep, getAttribute, getChildElements, getLocalName } from "./xmlParser.js";
|
|
6
6
|
//#region src/docx/vmlImageParser.ts
|
|
7
7
|
const MAX_VML_PREVIEW_SHAPES = 256;
|
|
8
8
|
const MAX_VML_PREVIEW_DIMENSION_PX = 2e4;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { parseRelationships, resolveRelativePath } from "../docx/relsParser.js";
|
|
2
|
-
import { generateHexId } from "../utils/hexId.js";
|
|
3
2
|
import { unzipDocx } from "../docx/unzip.js";
|
|
4
|
-
import {
|
|
3
|
+
import { generateHexId } from "../utils/hexId.js";
|
|
5
4
|
import { parseEmbeddedFontTable } from "./embeddedFontTable.js";
|
|
5
|
+
import { deobfuscateFont, isValidFontKey } from "./fontDeobfuscation.js";
|
|
6
6
|
//#region src/fonts/embeddedFonts.ts
|
|
7
7
|
/**
|
|
8
8
|
* Embedded-font extraction.
|
package/dist/index.js
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { deriveBlockId, getFolioParaIdFromBlockId, isFolioBlockId, isSequentialFolioBlockId } from "./types/block-id.js";
|
|
1
|
+
import { applyFolioAIEditOperations } from "./ai-edits/apply.js";
|
|
3
2
|
import { createFolioAIEditSnapshot, hashFolioAIBlockText, normalizeFolioAIBlockText } from "./ai-edits/snapshot.js";
|
|
4
3
|
import { diffWordSegments } from "./ai-edits/word-diff.js";
|
|
5
|
-
import {
|
|
4
|
+
import { applySuggestions } from "./ai-suggestions/apply.js";
|
|
5
|
+
import { isSuggestionStale, resolveSuggestionAnchor } from "./ai-suggestions/conflict.js";
|
|
6
|
+
import { buildPositionalText } from "./ai-suggestions/text-positions.js";
|
|
7
|
+
import { DEFAULT_AI_SUGGESTION_PRESETS } from "./ai-suggestions/types.js";
|
|
6
8
|
import { FOLIO_DOCUMENT_OPERATION_BATCH_MODES, FOLIO_DOCUMENT_OPERATION_CONTRACT_VERSION, FOLIO_DOCUMENT_OPERATION_MODES, FOLIO_DOCUMENT_OPERATION_MODES_BY_TYPE, FOLIO_DOCUMENT_OPERATION_PRECONDITIONS, FOLIO_DOCUMENT_OPERATION_STORIES, FOLIO_DOCUMENT_OPERATION_TYPES, InvalidFolioDocumentOperationBatchError, UnsupportedFolioDocumentOperationVersionError, applyFolioDocumentOperations, assertSupportedFolioDocumentOperationVersion, getFolioDocumentOperationCapabilities, getFolioDocumentOperationIssues, getFolioDocumentOperationReceipts, isFolioDocumentOperationModeSupported, isSupportedFolioDocumentOperationVersion, parseFolioDocumentOperationBatch } from "./document-operations.js";
|
|
7
|
-
import { DOCUMENT_PRESET_VERSION, DOCUMENT_STYLE_SET_VERSION } from "./style-sets/types.js";
|
|
8
|
-
import { createEmptyDocument } from "./utils/createDocument.js";
|
|
9
|
-
import { mergeDocumentContent } from "./utils/mergeDocumentContent.js";
|
|
10
|
-
import { extractDocumentStyleSet, extractDocumentStyleSetFromDocx, inspectDocumentStyles, inspectDocumentStylesFromDocx } from "./style-sets/extract.js";
|
|
11
|
-
import { STELLA_STYLE_SET_NAME, createStellaStyleDocumentPreset, createStellaStyleSet } from "./style-sets/stellaStyle.js";
|
|
12
|
-
import { createDocx } from "./docx/rezip.js";
|
|
13
9
|
import { inspectDocxCompatibility } from "./docx/compatibility.js";
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import { setAISuggestionsMeta, setFocusedSuggestionMeta } from "./prosemirror/plugins/aiSuggestionDecorations.js";
|
|
10
|
+
import { createDocx } from "./docx/rezip.js";
|
|
11
|
+
import { buildEmbeddedFontFamilyMap, extractEmbeddedFonts, getEmbeddedFontFaces, scopeEmbeddedFontFamily } from "./fonts/embeddedFonts.js";
|
|
12
|
+
import { fromMarkdown } from "./markdown/fromMarkdown.js";
|
|
13
|
+
import { toMarkdown, toMarkdownResult } from "./markdown/index.js";
|
|
19
14
|
import { scrollFolioPositionIntoView } from "./paged-layout/scrollToPmPosition.js";
|
|
20
15
|
import { getFolioCaretViewportRect, getFolioSelectionViewportRect } from "./paged-layout/selectionViewportRect.js";
|
|
21
16
|
import { createAICitationDecorationsPlugin, setAICitationsMeta, setActiveCitationMeta } from "./prosemirror/plugins/aiCitationDecorations.js";
|
|
17
|
+
import { setAISuggestionsMeta, setFocusedSuggestionMeta } from "./prosemirror/plugins/aiSuggestionDecorations.js";
|
|
22
18
|
import { anonymizationDecorationsKey, getAnonymizationMatches, setAnonymizationTermsMeta } from "./prosemirror/plugins/anonymizationDecorations.js";
|
|
19
|
+
import { DEFAULT_AUTOCOMPLETE_DEAD_ZONE_NODES, acceptAutocompleteSuggestion, acceptAutocompleteWord, appendAutocompleteToken, autocompleteSuggestionKey, autocompleteSuggestionPlugin, clearAutocompleteSuggestion, finishAutocompleteSuggestion, getAutocompleteSuggestion, shouldTriggerAutocomplete, startAutocompleteSuggestion } from "./prosemirror/plugins/autocompleteSuggestion.js";
|
|
23
20
|
import { getTemplateDirectives, scanDirectives } from "./prosemirror/plugins/templateDirectives.js";
|
|
24
21
|
import { setTemplatePreviewValues } from "./prosemirror/plugins/templatePreviewValues.js";
|
|
25
22
|
import { clearTemplateSlashMenu, consumeTemplateSlashQuery, getTemplateSlashMenu, resetTemplateSlashQuery, templateSlashMenuKey } from "./prosemirror/plugins/templateSlashMenu.js";
|
|
26
|
-
import {
|
|
27
|
-
import {
|
|
28
|
-
import {
|
|
29
|
-
import {
|
|
23
|
+
import { extractDocumentStyleSet, extractDocumentStyleSetFromDocx, inspectDocumentStyles, inspectDocumentStylesFromDocx } from "./style-sets/extract.js";
|
|
24
|
+
import { STELLA_STYLE_SET_NAME, createStellaStyleDocumentPreset, createStellaStyleSet } from "./style-sets/stellaStyle.js";
|
|
25
|
+
import { DOCUMENT_PRESET_VERSION, DOCUMENT_STYLE_SET_VERSION } from "./style-sets/types.js";
|
|
26
|
+
import { deriveBlockId, getFolioParaIdFromBlockId, isFolioBlockId, isSequentialFolioBlockId } from "./types/block-id.js";
|
|
27
|
+
import { createEmptyDocument } from "./utils/createDocument.js";
|
|
28
|
+
import { getGoogleFontsEnabled, setEmbeddedFontFamilyMap, setGoogleFontsEnabled } from "./utils/fontResolver.js";
|
|
29
|
+
import { mergeDocumentContent } from "./utils/mergeDocumentContent.js";
|
|
30
30
|
import { DOCX_CONFORMANCE_CLASSES } from "@stll/docx-core/model";
|
|
31
31
|
export { DEFAULT_AI_SUGGESTION_PRESETS, DEFAULT_AUTOCOMPLETE_DEAD_ZONE_NODES, DOCUMENT_PRESET_VERSION, DOCUMENT_STYLE_SET_VERSION, DOCX_CONFORMANCE_CLASSES, FOLIO_DOCUMENT_OPERATION_BATCH_MODES, FOLIO_DOCUMENT_OPERATION_CONTRACT_VERSION, FOLIO_DOCUMENT_OPERATION_MODES, FOLIO_DOCUMENT_OPERATION_MODES_BY_TYPE, FOLIO_DOCUMENT_OPERATION_PRECONDITIONS, FOLIO_DOCUMENT_OPERATION_STORIES, FOLIO_DOCUMENT_OPERATION_TYPES, InvalidFolioDocumentOperationBatchError, STELLA_STYLE_SET_NAME, UnsupportedFolioDocumentOperationVersionError, acceptAutocompleteSuggestion, acceptAutocompleteWord, anonymizationDecorationsKey, appendAutocompleteToken, applyFolioAIEditOperations, applyFolioDocumentOperations, applySuggestions, assertSupportedFolioDocumentOperationVersion, autocompleteSuggestionKey, autocompleteSuggestionPlugin, buildEmbeddedFontFamilyMap, buildPositionalText, clearAutocompleteSuggestion, clearTemplateSlashMenu, consumeTemplateSlashQuery, createAICitationDecorationsPlugin, createDocx, createEmptyDocument, createFolioAIEditSnapshot, createStellaStyleDocumentPreset, createStellaStyleSet, deriveBlockId, diffWordSegments, extractDocumentStyleSet, extractDocumentStyleSetFromDocx, extractEmbeddedFonts, finishAutocompleteSuggestion, fromMarkdown, getAnonymizationMatches, getAutocompleteSuggestion, getEmbeddedFontFaces, getFolioCaretViewportRect, getFolioDocumentOperationCapabilities, getFolioDocumentOperationIssues, getFolioDocumentOperationReceipts, getFolioParaIdFromBlockId, getFolioSelectionViewportRect, getGoogleFontsEnabled, getTemplateDirectives, getTemplateSlashMenu, hashFolioAIBlockText, inspectDocumentStyles, inspectDocumentStylesFromDocx, inspectDocxCompatibility, isFolioBlockId, isFolioDocumentOperationModeSupported, isSequentialFolioBlockId, isSuggestionStale, isSupportedFolioDocumentOperationVersion, mergeDocumentContent, normalizeFolioAIBlockText, parseFolioDocumentOperationBatch, resetTemplateSlashQuery, resolveSuggestionAnchor, scanDirectives, scopeEmbeddedFontFamily, scrollFolioPositionIntoView, setAICitationsMeta, setAISuggestionsMeta, setActiveCitationMeta, setAnonymizationTermsMeta, setEmbeddedFontFamilyMap, setFocusedSuggestionMeta, setGoogleFontsEnabled, setTemplatePreviewValues, shouldTriggerAutocomplete, startAutocompleteSuggestion, templateSlashMenuKey, toMarkdown, toMarkdownResult };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { footnoteToProseDoc } from "../../prosemirror/conversion/toProseDoc.js";
|
|
2
|
-
import { DEFAULT_TEXTBOX_MARGINS, FOOTNOTE_ENTRY_MARGIN_BOTTOM, FOOTNOTE_FALLBACK_LINE_HEIGHT, FOOTNOTE_SEPARATOR_HEIGHT } from "../../layout-engine/types.js";
|
|
3
1
|
import { measureParagraph } from "../../layout-engine/measure/measureParagraph.js";
|
|
4
2
|
import { layoutTextBoxContent } from "../../layout-engine/measure/textBoxParagraphLayout.js";
|
|
3
|
+
import { DEFAULT_TEXTBOX_MARGINS, FOOTNOTE_ENTRY_MARGIN_BOTTOM, FOOTNOTE_FALLBACK_LINE_HEIGHT, FOOTNOTE_SEPARATOR_HEIGHT } from "../../layout-engine/types.js";
|
|
4
|
+
import { footnoteToProseDoc } from "../../prosemirror/conversion/toProseDoc.js";
|
|
5
5
|
import { toFlowBlocks } from "./toFlowBlocks.js";
|
|
6
6
|
//#region src/layout-bridge/convert/footnoteLayout.ts
|
|
7
7
|
/** Default footnote font size in points */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { emuToPixels } from "../../utils/units.js";
|
|
2
|
-
import { headerFooterToProseDoc } from "../../prosemirror/conversion/toProseDoc.js";
|
|
3
1
|
import { isFloatingImageRun, isFloatingTextBoxBlock } from "../../layout-engine/types.js";
|
|
2
|
+
import { headerFooterToProseDoc } from "../../prosemirror/conversion/toProseDoc.js";
|
|
3
|
+
import { emuToPixels } from "../../utils/units.js";
|
|
4
4
|
import { toFlowBlocks } from "./toFlowBlocks.js";
|
|
5
5
|
//#region src/layout-bridge/convert/headerFooterLayout.ts
|
|
6
6
|
function isAnchoredImageRun(run) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { pixelsToEmu } from "../../utils/units.js";
|
|
2
|
-
import { setTextBoxGroupId } from "../../layout-engine/textBoxGroup.js";
|
|
3
1
|
import { getParagraphFrame, markParagraphFrameTextBox } from "../../layout-engine/paragraphFrame.js";
|
|
2
|
+
import { setTextBoxGroupId } from "../../layout-engine/textBoxGroup.js";
|
|
3
|
+
import { pixelsToEmu } from "../../utils/units.js";
|
|
4
4
|
//#region src/layout-bridge/convert/paragraphFrames.ts
|
|
5
5
|
const FRAME_PROPERTIES = [
|
|
6
6
|
"width",
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { expectBlockSdtAttrs, expectCharacterSpacingMarkAttrs, expectCommentMarkAttrs, expectEmphasisMarkAttrs, expectFieldAttrs, expectFontFamilyMarkAttrs, expectFontSizeMarkAttrs, expectFootnoteRefMarkAttrs, expectHardBreakAttrs, expectHighlightMarkAttrs, expectHyperlinkMarkAttrs, expectImageAttrs, expectLanguageMarkAttrs, expectMathAttrs, expectParagraphAttrs, expectRunFormattingOverrideMarkAttrs, expectRunShadingMarkAttrs, expectTableAttrs, expectTableCellAttrs, expectTableRowAttrs, expectTextBoxAttrs, expectTextColorMarkAttrs, expectTextEffectMarkAttrs, expectTrackedChangeMarkAttrs, expectUnderlineMarkAttrs } from "../../prosemirror/attrs/index.js";
|
|
1
|
+
import { convertBulletToUnicode } from "../../docx/bulletMarkers.js";
|
|
2
|
+
import { resolveDocumentGridLinePitch } from "../../docx/documentGrid.js";
|
|
4
3
|
import { padDecimal } from "../../docx/numberingParser.js";
|
|
5
|
-
import {
|
|
4
|
+
import { setParagraphFrame } from "../../layout-engine/paragraphFrame.js";
|
|
5
|
+
import { setTextBoxGroupId } from "../../layout-engine/textBoxGroup.js";
|
|
6
|
+
import { DEFAULT_TEXTBOX_MARGINS } from "../../layout-engine/types.js";
|
|
7
|
+
import { expectBlockSdtAttrs, expectCharacterSpacingMarkAttrs, expectCommentMarkAttrs, expectEmphasisMarkAttrs, expectFieldAttrs, expectFontFamilyMarkAttrs, expectFontSizeMarkAttrs, expectFootnoteRefMarkAttrs, expectHardBreakAttrs, expectHighlightMarkAttrs, expectHyperlinkMarkAttrs, expectImageAttrs, expectLanguageMarkAttrs, expectMathAttrs, expectParagraphAttrs, expectRunFormattingOverrideMarkAttrs, expectRunShadingMarkAttrs, expectTableAttrs, expectTableCellAttrs, expectTableRowAttrs, expectTextBoxAttrs, expectTextColorMarkAttrs, expectTextEffectMarkAttrs, expectTrackedChangeMarkAttrs, expectUnderlineMarkAttrs } from "../../prosemirror/attrs/index.js";
|
|
6
8
|
import { autospacingMatchesBase } from "../../prosemirror/autospacingBase.js";
|
|
7
|
-
import { assertValidProseMirrorDocument } from "../../prosemirror/validation.js";
|
|
8
9
|
import { runShadingAttrsToShading } from "../../prosemirror/conversion/runShadingMark.js";
|
|
10
|
+
import { directionIsRtl } from "../../prosemirror/paragraphDirection.js";
|
|
11
|
+
import { assertValidProseMirrorDocument } from "../../prosemirror/validation.js";
|
|
12
|
+
import { NUMBER_FORMAT_VALUES } from "../../types/documentEnumValues.js";
|
|
9
13
|
import { resolveColor, resolveHighlightToCss } from "../../utils/colorResolver.js";
|
|
10
14
|
import { resolveThemeFont } from "../../utils/fontResolver.js";
|
|
11
15
|
import { resolveShadingFill } from "../../utils/formatToStyle.js";
|
|
12
|
-
import {
|
|
13
|
-
import { DEFAULT_TEXTBOX_MARGINS } from "../../layout-engine/types.js";
|
|
14
|
-
import { resolveDocumentGridLinePitch } from "../../docx/documentGrid.js";
|
|
15
|
-
import { setTextBoxGroupId } from "../../layout-engine/textBoxGroup.js";
|
|
16
|
-
import { setParagraphFrame } from "../../layout-engine/paragraphFrame.js";
|
|
16
|
+
import { AUTO_PARAGRAPH_SPACING_PX, halfPointsToPixels, halfPointsToPoints, pointsToPixels } from "../../utils/units.js";
|
|
17
17
|
import { getColumns } from "../sectionColumns.js";
|
|
18
18
|
import { groupParagraphFrames } from "./paragraphFrames.js";
|
|
19
19
|
//#region src/layout-bridge/convert/toFlowBlocks.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { measuredLineAdvance, measuredLineContentOffset } from "../../layout-engine/lineFlow.js";
|
|
2
2
|
import { buildRunFontStyle, findCharacterAtX } from "../../layout-engine/measure/measureHelpers.js";
|
|
3
|
+
import { measureRun } from "../../layout-engine/measure/measureProvider.js";
|
|
3
4
|
import { inlineImageBoundingBox } from "../../utils/rotationBoundingBox.js";
|
|
4
|
-
import { measuredLineAdvance, measuredLineContentOffset } from "../../layout-engine/lineFlow.js";
|
|
5
5
|
//#region src/layout-bridge/engine/clickToPosition.ts
|
|
6
6
|
/**
|
|
7
7
|
* Click-to-Position Mapping
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { getHeaderRowsHeight } from "../../layout-engine/index.js";
|
|
1
2
|
import { measuredLineRangeHeight } from "../../layout-engine/lineFlow.js";
|
|
2
3
|
import { getTableRowLeadingWidth } from "../../layout-engine/types.js";
|
|
3
|
-
import { getHeaderRowsHeight } from "../../layout-engine/index.js";
|
|
4
4
|
//#region src/layout-bridge/engine/hitTest.ts
|
|
5
5
|
/**
|
|
6
6
|
* Hit Testing Utilities
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { getFontMetrics, measureRun, measureText, measureTextWidth } from "../../../layout-engine/measure/measureProvider.js";
|
|
2
|
-
import { buildFontString, findCharacterAtX, getXForCharacter, halfPtToPx, ptToPx, pxToHalfPt, pxToPt, pxToTwips, twipsToPx } from "../../../layout-engine/measure/measureHelpers.js";
|
|
3
|
-
import { defaultLineBreakProvider, getLineBreakProvider, getLineBreakProviderGeneration, resetLineBreakProvider, setLineBreakProvider } from "../../../layout-engine/measure/lineBreakProvider.js";
|
|
4
|
-
import { clampFloatingWrapMargins } from "../../../layout-engine/measure/clampFloatingWrapMargins.js";
|
|
5
|
-
import { getFloatingAvailableWidth, getFloatingMargins, rectsToFloatingZones } from "../../../layout-engine/measure/floatingZones.js";
|
|
6
|
-
import { MIN_WRAP_SEGMENT_WIDTH, findClearLineY, getRunCharWidths, measureParagraph, measureParagraphs } from "../../../layout-engine/measure/measureParagraph.js";
|
|
7
1
|
import { clearAllCaches, clearFontMetricsCache, clearParagraphMeasureCache, clearTextWidthCache, getCachedFontMetrics, getCachedParagraphMeasure, getCachedTextWidth, getFontCacheSize, getParagraphCacheSize, getTextCacheSize, getTotalCacheSize, hashParagraphBlock, setCachedFontMetrics, setCachedParagraphMeasure, setCachedTextWidth, setFontCacheSize, setParagraphCacheSize, setTextCacheSize } from "../../../layout-engine/measure/cache.js";
|
|
2
|
+
import { clampFloatingWrapMargins } from "../../../layout-engine/measure/clampFloatingWrapMargins.js";
|
|
8
3
|
import { isWorkerFontMetricsEnabled, setFolioMeasurementFlags } from "../../../layout-engine/measure/featureFlags.js";
|
|
4
|
+
import { getFloatingAvailableWidth, getFloatingMargins, rectsToFloatingZones } from "../../../layout-engine/measure/floatingZones.js";
|
|
5
|
+
import { defaultLineBreakProvider, getLineBreakProvider, getLineBreakProviderGeneration, resetLineBreakProvider, setLineBreakProvider } from "../../../layout-engine/measure/lineBreakProvider.js";
|
|
9
6
|
import { getCanvasContext, resetCanvasContext } from "../../../layout-engine/measure/measureContainer.js";
|
|
7
|
+
import { buildFontString, findCharacterAtX, getXForCharacter, halfPtToPx, ptToPx, pxToHalfPt, pxToPt, pxToTwips, twipsToPx } from "../../../layout-engine/measure/measureHelpers.js";
|
|
8
|
+
import { MIN_WRAP_SEGMENT_WIDTH, findClearLineY, getRunCharWidths, measureParagraph, measureParagraphs } from "../../../layout-engine/measure/measureParagraph.js";
|
|
9
|
+
import { getFontMetrics, measureRun, measureText, measureTextWidth } from "../../../layout-engine/measure/measureProvider.js";
|
|
10
10
|
export { MIN_WRAP_SEGMENT_WIDTH, buildFontString, clampFloatingWrapMargins, clearAllCaches, clearFontMetricsCache, clearParagraphMeasureCache, clearTextWidthCache, defaultLineBreakProvider, findCharacterAtX, findClearLineY, getCachedFontMetrics, getCachedParagraphMeasure, getCachedTextWidth, getCanvasContext, getFloatingAvailableWidth, getFloatingMargins, getFontCacheSize, getFontMetrics, getLineBreakProvider, getLineBreakProviderGeneration, getParagraphCacheSize, getRunCharWidths, getTextCacheSize, getTotalCacheSize, getXForCharacter, halfPtToPx, hashParagraphBlock, isWorkerFontMetricsEnabled, measureParagraph, measureParagraphs, measureRun, measureText, measureTextWidth, ptToPx, pxToHalfPt, pxToPt, pxToTwips, rectsToFloatingZones, resetCanvasContext, resetLineBreakProvider, setCachedFontMetrics, setCachedParagraphMeasure, setCachedTextWidth, setFolioMeasurementFlags, setFontCacheSize, setLineBreakProvider, setParagraphCacheSize, setTextCacheSize, twipsToPx };
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { buildRunFontStyle } from "../../layout-engine/measure/measureHelpers.js";
|
|
3
|
-
import { inlineImageBoundingBox } from "../../utils/rotationBoundingBox.js";
|
|
1
|
+
import { getHeaderRowsHeight } from "../../layout-engine/index.js";
|
|
4
2
|
import { measuredLineContentOffset } from "../../layout-engine/lineFlow.js";
|
|
5
|
-
import {
|
|
3
|
+
import { buildRunFontStyle } from "../../layout-engine/measure/measureHelpers.js";
|
|
6
4
|
import { measureParagraph } from "../../layout-engine/measure/measureParagraph.js";
|
|
5
|
+
import { measureRun } from "../../layout-engine/measure/measureProvider.js";
|
|
7
6
|
import { buildTableCellFloatingZones, getTableCellContentWidth, getTableCellFloatingImages } from "../../layout-engine/measure/tableCellFloating.js";
|
|
8
|
-
import {
|
|
7
|
+
import { getTableRowLeadingWidth } from "../../layout-engine/types.js";
|
|
8
|
+
import { inlineImageBoundingBox } from "../../utils/rotationBoundingBox.js";
|
|
9
9
|
import { getPageTop } from "./hitTest.js";
|
|
10
10
|
//#region src/layout-bridge/engine/selectionRects.ts
|
|
11
11
|
/**
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { emuToPixels } from "../utils/units.js";
|
|
2
|
+
import { resolveSectionHeaderFooterRefs } from "./headerFooterRefs.js";
|
|
3
|
+
import { calculateChainHeight, computeKeepNextChains, getMidChainIndices, hasKeepLines, hasPageBreakBefore } from "./keep-together.js";
|
|
2
4
|
import { measuredLineAdvance } from "./lineFlow.js";
|
|
3
|
-
import { DEFAULT_TEXTBOX_MARGINS, DEFAULT_TEXTBOX_WIDTH, FOOTNOTE_ENTRY_MARGIN_BOTTOM, FOOTNOTE_FALLBACK_LINE_HEIGHT, FOOTNOTE_SEPARATOR_HEIGHT, floatingTextBoxReservesBand, floatingTextBoxWrapsText, getTableRowLeadingWidth, isFloatingImageRun, isFloatingTextBoxBlock, isTextWrappingFloatingImageRun, tableColumnsArePinned } from "./types.js";
|
|
4
5
|
import { resolveFloatingTableX } from "./measure/floatingTablePosition.js";
|
|
5
|
-
import { collapseParagraphSpacing, getParagraphSpacingAfter, getParagraphSpacingBefore, paragraphsShareStyle, resolveEffectiveParagraphSpacingTree } from "./paragraphSpacing.js";
|
|
6
|
-
import { calculateChainHeight, computeKeepNextChains, getMidChainIndices, hasKeepLines, hasPageBreakBefore } from "./keep-together.js";
|
|
7
6
|
import { createPaginator } from "./paginator.js";
|
|
8
7
|
import { getParagraphFragmentPmRange } from "./paragraphFragmentRange.js";
|
|
8
|
+
import { collapseParagraphSpacing, getParagraphSpacingAfter, getParagraphSpacingBefore, paragraphsShareStyle, resolveEffectiveParagraphSpacingTree } from "./paragraphSpacing.js";
|
|
9
|
+
import { assertExhaustiveFlowBlock, findPageIndexContainingPmPos } from "./pmPageIndex.js";
|
|
9
10
|
import { INITIAL_RENDERED_BREAK_STATE, reconcileAfterBlock, reconcileBreakBeforeBlock, recordReflowBoundary } from "./renderedBreakReconciliation.js";
|
|
11
|
+
import { applyPendingToActive, createInitialSectionState, getEffectiveColumns, getEffectiveMargins, getEffectivePageSize, scheduleSectionBreak } from "./section-breaks.js";
|
|
10
12
|
import { buildTableRowBreakInfo, getRowContinuationSkip, snapRowBreak } from "./tableRowBreak.js";
|
|
11
13
|
import { bandFragmentX, bandTopContentY, isPageFrameRelativeAnchor } from "./textBoxFlow.js";
|
|
12
|
-
import {
|
|
13
|
-
import { applyPendingToActive, createInitialSectionState, getEffectiveColumns, getEffectiveMargins, getEffectivePageSize, scheduleSectionBreak } from "./section-breaks.js";
|
|
14
|
-
import { assertExhaustiveFlowBlock, findPageIndexContainingPmPos } from "./pmPageIndex.js";
|
|
14
|
+
import { DEFAULT_TEXTBOX_MARGINS, DEFAULT_TEXTBOX_WIDTH, FOOTNOTE_ENTRY_MARGIN_BOTTOM, FOOTNOTE_FALLBACK_LINE_HEIGHT, FOOTNOTE_SEPARATOR_HEIGHT, floatingTextBoxReservesBand, floatingTextBoxWrapsText, getTableRowLeadingWidth, isFloatingImageRun, isFloatingTextBoxBlock, isTextWrappingFloatingImageRun, tableColumnsArePinned } from "./types.js";
|
|
15
15
|
import { panic } from "better-result";
|
|
16
16
|
//#region src/layout-engine/index.ts
|
|
17
17
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { clearFontResolvedCache } from "./measureHelpers.js";
|
|
2
|
-
import { getLineBreakProviderGeneration } from "./lineBreakProvider.js";
|
|
3
1
|
import { lineBreakPolicyCacheParts } from "./effectiveLineBreakPolicy.js";
|
|
2
|
+
import { getLineBreakProviderGeneration } from "./lineBreakProvider.js";
|
|
3
|
+
import { clearFontResolvedCache } from "./measureHelpers.js";
|
|
4
4
|
//#region src/layout-engine/measure/cache.ts
|
|
5
5
|
/**
|
|
6
6
|
* Default max entries for text width cache
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { buildFontString, findCharacterAtX, getXForCharacter, halfPtToPx, ptToPx, pxToHalfPt, pxToPt, pxToTwips, twipsToPx } from "./measureHelpers.js";
|
|
3
|
-
import { defaultLineBreakProvider, getLineBreakProvider, getLineBreakProviderGeneration, resetLineBreakProvider, setLineBreakProvider } from "./lineBreakProvider.js";
|
|
1
|
+
import { clearAllCaches, clearFontMetricsCache, clearParagraphMeasureCache, clearTextWidthCache, getCachedFontMetrics, getCachedParagraphMeasure, getCachedTextWidth, getFontCacheSize, getParagraphCacheSize, getTextCacheSize, getTotalCacheSize, hashParagraphBlock, setCachedFontMetrics, setCachedParagraphMeasure, setCachedTextWidth, setFontCacheSize, setParagraphCacheSize, setTextCacheSize } from "./cache.js";
|
|
4
2
|
import { clampFloatingWrapMargins } from "./clampFloatingWrapMargins.js";
|
|
3
|
+
import { isWorkerFontMetricsEnabled, setFolioMeasurementFlags } from "./featureFlags.js";
|
|
4
|
+
import { resolveFloatingTableX } from "./floatingTablePosition.js";
|
|
5
5
|
import { getFloatingAvailableWidth, getFloatingMargins, rectsToFloatingZones } from "./floatingZones.js";
|
|
6
|
+
import { defaultLineBreakProvider, getLineBreakProvider, getLineBreakProviderGeneration, resetLineBreakProvider, setLineBreakProvider } from "./lineBreakProvider.js";
|
|
7
|
+
import { buildFontString, findCharacterAtX, getXForCharacter, halfPtToPx, ptToPx, pxToHalfPt, pxToPt, pxToTwips, twipsToPx } from "./measureHelpers.js";
|
|
6
8
|
import { getRunCharWidths, measureParagraph, measureParagraphs } from "./measureParagraph.js";
|
|
7
|
-
import {
|
|
8
|
-
import { clearAllCaches, clearFontMetricsCache, clearParagraphMeasureCache, clearTextWidthCache, getCachedFontMetrics, getCachedParagraphMeasure, getCachedTextWidth, getFontCacheSize, getParagraphCacheSize, getTextCacheSize, getTotalCacheSize, hashParagraphBlock, setCachedFontMetrics, setCachedParagraphMeasure, setCachedTextWidth, setFontCacheSize, setParagraphCacheSize, setTextCacheSize } from "./cache.js";
|
|
9
|
-
import { isWorkerFontMetricsEnabled, setFolioMeasurementFlags } from "./featureFlags.js";
|
|
9
|
+
import { getFontMetrics, getMeasureProvider, measureRun, measureText, measureTextWidth, resetMeasureProvider, setMeasureProvider } from "./measureProvider.js";
|
|
10
10
|
export { buildFontString, clampFloatingWrapMargins, clearAllCaches, clearFontMetricsCache, clearParagraphMeasureCache, clearTextWidthCache, defaultLineBreakProvider, findCharacterAtX, getCachedFontMetrics, getCachedParagraphMeasure, getCachedTextWidth, getFloatingAvailableWidth, getFloatingMargins, getFontCacheSize, getFontMetrics, getLineBreakProvider, getLineBreakProviderGeneration, getMeasureProvider, getParagraphCacheSize, getRunCharWidths, getTextCacheSize, getTotalCacheSize, getXForCharacter, halfPtToPx, hashParagraphBlock, isWorkerFontMetricsEnabled, measureParagraph, measureParagraphs, measureRun, measureText, measureTextWidth, ptToPx, pxToHalfPt, pxToPt, pxToTwips, rectsToFloatingZones, resetLineBreakProvider, resetMeasureProvider, resolveFloatingTableX, setCachedFontMetrics, setCachedParagraphMeasure, setCachedTextWidth, setFolioMeasurementFlags, setFontCacheSize, setLineBreakProvider, setMeasureProvider, setParagraphCacheSize, setTextCacheSize, twipsToPx };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { defaultLineBreakProvider, getLineBreakProvider } from "./lineBreakProvider.js";
|
|
2
1
|
import { isCjkCodePoint } from "../../utils/scriptSegments.js";
|
|
2
|
+
import { defaultLineBreakProvider, getLineBreakProvider } from "./lineBreakProvider.js";
|
|
3
3
|
//#region src/layout-engine/measure/lineBreaks.ts
|
|
4
4
|
/**
|
|
5
5
|
* Indices in `text` where a line may end. Latin text breaks after
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { measureTextWidth } from "./measureProvider.js";
|
|
2
1
|
import { ptToPx } from "./measureHelpers.js";
|
|
2
|
+
import { measureTextWidth } from "./measureProvider.js";
|
|
3
3
|
//#region src/layout-engine/measure/listMarkerWidth.ts
|
|
4
4
|
const DEFAULT_FONT_FAMILY = "Calibri";
|
|
5
5
|
const DEFAULT_FONT_SIZE = 11;
|