docxmlater 10.4.0 → 11.0.4
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/README.md +3 -3
- package/dist/constants/legacyCompatFlags.d.ts +1 -1
- package/dist/constants/legacyCompatFlags.d.ts.map +1 -1
- package/dist/constants/legacyCompatFlags.js.map +1 -1
- package/dist/core/Document.d.ts +75 -67
- package/dist/core/Document.d.ts.map +1 -1
- package/dist/core/Document.js +618 -414
- package/dist/core/Document.js.map +1 -1
- package/dist/core/DocumentContent.d.ts +11 -10
- package/dist/core/DocumentContent.d.ts.map +1 -1
- package/dist/core/DocumentContent.js +19 -19
- package/dist/core/DocumentContent.js.map +1 -1
- package/dist/core/DocumentEvents.d.ts +39 -0
- package/dist/core/DocumentEvents.d.ts.map +1 -0
- package/dist/core/DocumentEvents.js +51 -0
- package/dist/core/DocumentEvents.js.map +1 -0
- package/dist/core/DocumentGenerator.d.ts +11 -11
- package/dist/core/DocumentGenerator.d.ts.map +1 -1
- package/dist/core/DocumentGenerator.js +72 -52
- package/dist/core/DocumentGenerator.js.map +1 -1
- package/dist/core/DocumentParser.d.ts +15 -15
- package/dist/core/DocumentParser.d.ts.map +1 -1
- package/dist/core/DocumentParser.js +2100 -1076
- package/dist/core/DocumentParser.js.map +1 -1
- package/dist/core/DocumentValidator.d.ts +3 -3
- package/dist/core/DocumentValidator.d.ts.map +1 -1
- package/dist/core/DocumentValidator.js +31 -31
- package/dist/core/DocumentValidator.js.map +1 -1
- package/dist/core/ElementRegistry.d.ts +22 -0
- package/dist/core/ElementRegistry.d.ts.map +1 -0
- package/dist/core/ElementRegistry.js +27 -0
- package/dist/core/ElementRegistry.js.map +1 -0
- package/dist/core/Relationship.js +4 -4
- package/dist/core/Relationship.js.map +1 -1
- package/dist/core/RelationshipManager.d.ts +1 -1
- package/dist/core/RelationshipManager.d.ts.map +1 -1
- package/dist/core/RelationshipManager.js +32 -32
- package/dist/core/RelationshipManager.js.map +1 -1
- package/dist/elements/AlternateContent.d.ts +1 -1
- package/dist/elements/AlternateContent.d.ts.map +1 -1
- package/dist/elements/AlternateContent.js.map +1 -1
- package/dist/elements/Bookmark.d.ts +6 -1
- package/dist/elements/Bookmark.d.ts.map +1 -1
- package/dist/elements/Bookmark.js +19 -3
- package/dist/elements/Bookmark.js.map +1 -1
- package/dist/elements/BookmarkManager.d.ts +1 -1
- package/dist/elements/BookmarkManager.d.ts.map +1 -1
- package/dist/elements/BookmarkManager.js +7 -7
- package/dist/elements/BookmarkManager.js.map +1 -1
- package/dist/elements/Comment.d.ts +2 -2
- package/dist/elements/Comment.d.ts.map +1 -1
- package/dist/elements/Comment.js +4 -4
- package/dist/elements/Comment.js.map +1 -1
- package/dist/elements/CommentManager.d.ts +2 -2
- package/dist/elements/CommentManager.d.ts.map +1 -1
- package/dist/elements/CommentManager.js +9 -9
- package/dist/elements/CommentManager.js.map +1 -1
- package/dist/elements/CommonTypes.d.ts +9 -4
- package/dist/elements/CommonTypes.d.ts.map +1 -1
- package/dist/elements/CommonTypes.js +1 -0
- package/dist/elements/CommonTypes.js.map +1 -1
- package/dist/elements/CustomXml.d.ts +1 -1
- package/dist/elements/CustomXml.d.ts.map +1 -1
- package/dist/elements/CustomXml.js.map +1 -1
- package/dist/elements/Endnote.d.ts +2 -2
- package/dist/elements/Endnote.d.ts.map +1 -1
- package/dist/elements/Endnote.js +9 -9
- package/dist/elements/Endnote.js.map +1 -1
- package/dist/elements/EndnoteManager.d.ts +1 -1
- package/dist/elements/EndnoteManager.d.ts.map +1 -1
- package/dist/elements/EndnoteManager.js +11 -11
- package/dist/elements/EndnoteManager.js.map +1 -1
- package/dist/elements/Field.d.ts +9 -5
- package/dist/elements/Field.d.ts.map +1 -1
- package/dist/elements/Field.js +21 -9
- package/dist/elements/Field.js.map +1 -1
- package/dist/elements/FieldHelpers.d.ts +1 -1
- package/dist/elements/FieldHelpers.d.ts.map +1 -1
- package/dist/elements/FieldHelpers.js +10 -10
- package/dist/elements/FieldHelpers.js.map +1 -1
- package/dist/elements/Footer.d.ts +3 -3
- package/dist/elements/Footer.d.ts.map +1 -1
- package/dist/elements/Footer.js +5 -5
- package/dist/elements/Footer.js.map +1 -1
- package/dist/elements/Footnote.d.ts +2 -2
- package/dist/elements/Footnote.d.ts.map +1 -1
- package/dist/elements/Footnote.js +9 -9
- package/dist/elements/Footnote.js.map +1 -1
- package/dist/elements/FootnoteManager.d.ts +1 -1
- package/dist/elements/FootnoteManager.d.ts.map +1 -1
- package/dist/elements/FootnoteManager.js +11 -11
- package/dist/elements/FootnoteManager.js.map +1 -1
- package/dist/elements/Header.d.ts +3 -3
- package/dist/elements/Header.d.ts.map +1 -1
- package/dist/elements/Header.js +5 -5
- package/dist/elements/Header.js.map +1 -1
- package/dist/elements/HeaderFooterManager.d.ts +2 -2
- package/dist/elements/HeaderFooterManager.d.ts.map +1 -1
- package/dist/elements/HeaderFooterManager.js.map +1 -1
- package/dist/elements/Hyperlink.d.ts +5 -5
- package/dist/elements/Hyperlink.d.ts.map +1 -1
- package/dist/elements/Hyperlink.js +29 -29
- package/dist/elements/Hyperlink.js.map +1 -1
- package/dist/elements/Image.d.ts +1 -1
- package/dist/elements/Image.d.ts.map +1 -1
- package/dist/elements/Image.js +67 -67
- package/dist/elements/Image.js.map +1 -1
- package/dist/elements/ImageManager.d.ts +1 -1
- package/dist/elements/ImageManager.d.ts.map +1 -1
- package/dist/elements/ImageManager.js +4 -4
- package/dist/elements/ImageManager.js.map +1 -1
- package/dist/elements/ImageRun.d.ts +3 -3
- package/dist/elements/ImageRun.d.ts.map +1 -1
- package/dist/elements/ImageRun.js +2 -2
- package/dist/elements/ImageRun.js.map +1 -1
- package/dist/elements/MathElement.d.ts +1 -1
- package/dist/elements/MathElement.d.ts.map +1 -1
- package/dist/elements/MathElement.js.map +1 -1
- package/dist/elements/Paragraph.d.ts +34 -19
- package/dist/elements/Paragraph.d.ts.map +1 -1
- package/dist/elements/Paragraph.js +286 -231
- package/dist/elements/Paragraph.js.map +1 -1
- package/dist/elements/PreservedElement.d.ts +1 -1
- package/dist/elements/PreservedElement.d.ts.map +1 -1
- package/dist/elements/PreservedElement.js.map +1 -1
- package/dist/elements/PropertyChangeTypes.d.ts +2 -2
- package/dist/elements/PropertyChangeTypes.d.ts.map +1 -1
- package/dist/elements/PropertyChangeTypes.js.map +1 -1
- package/dist/elements/RangeMarker.d.ts +14 -1
- package/dist/elements/RangeMarker.d.ts.map +1 -1
- package/dist/elements/RangeMarker.js +46 -8
- package/dist/elements/RangeMarker.js.map +1 -1
- package/dist/elements/RegisteredBodyElement.d.ts +15 -0
- package/dist/elements/RegisteredBodyElement.d.ts.map +1 -0
- package/dist/elements/RegisteredBodyElement.js +44 -0
- package/dist/elements/RegisteredBodyElement.js.map +1 -0
- package/dist/elements/Revision.d.ts +8 -8
- package/dist/elements/Revision.d.ts.map +1 -1
- package/dist/elements/Revision.js +12 -12
- package/dist/elements/Revision.js.map +1 -1
- package/dist/elements/RevisionContent.d.ts +3 -3
- package/dist/elements/RevisionContent.d.ts.map +1 -1
- package/dist/elements/RevisionContent.js.map +1 -1
- package/dist/elements/RevisionManager.d.ts +2 -2
- package/dist/elements/RevisionManager.d.ts.map +1 -1
- package/dist/elements/RevisionManager.js +2 -2
- package/dist/elements/RevisionManager.js.map +1 -1
- package/dist/elements/Run.d.ts +16 -10
- package/dist/elements/Run.d.ts.map +1 -1
- package/dist/elements/Run.js +199 -173
- package/dist/elements/Run.js.map +1 -1
- package/dist/elements/Section.d.ts +4 -2
- package/dist/elements/Section.d.ts.map +1 -1
- package/dist/elements/Section.js +152 -145
- package/dist/elements/Section.js.map +1 -1
- package/dist/elements/Shape.d.ts +3 -3
- package/dist/elements/Shape.d.ts.map +1 -1
- package/dist/elements/Shape.js +12 -12
- package/dist/elements/Shape.js.map +1 -1
- package/dist/elements/StructuredDocumentTag.d.ts +3 -3
- package/dist/elements/StructuredDocumentTag.d.ts.map +1 -1
- package/dist/elements/StructuredDocumentTag.js +39 -39
- package/dist/elements/StructuredDocumentTag.js.map +1 -1
- package/dist/elements/Table.d.ts +16 -10
- package/dist/elements/Table.d.ts.map +1 -1
- package/dist/elements/Table.js +118 -89
- package/dist/elements/Table.js.map +1 -1
- package/dist/elements/TableCell.d.ts +11 -11
- package/dist/elements/TableCell.d.ts.map +1 -1
- package/dist/elements/TableCell.js +108 -78
- package/dist/elements/TableCell.js.map +1 -1
- package/dist/elements/TableGridChange.d.ts +1 -1
- package/dist/elements/TableGridChange.d.ts.map +1 -1
- package/dist/elements/TableGridChange.js +3 -3
- package/dist/elements/TableGridChange.js.map +1 -1
- package/dist/elements/TableOfContents.d.ts +1 -1
- package/dist/elements/TableOfContents.d.ts.map +1 -1
- package/dist/elements/TableOfContents.js +2 -2
- package/dist/elements/TableOfContents.js.map +1 -1
- package/dist/elements/TableOfContentsElement.d.ts +2 -2
- package/dist/elements/TableOfContentsElement.d.ts.map +1 -1
- package/dist/elements/TableOfContentsElement.js +5 -5
- package/dist/elements/TableOfContentsElement.js.map +1 -1
- package/dist/elements/TableRow.d.ts +18 -7
- package/dist/elements/TableRow.d.ts.map +1 -1
- package/dist/elements/TableRow.js +127 -74
- package/dist/elements/TableRow.js.map +1 -1
- package/dist/elements/TextBox.d.ts +4 -4
- package/dist/elements/TextBox.d.ts.map +1 -1
- package/dist/elements/TextBox.js +6 -6
- package/dist/elements/TextBox.js.map +1 -1
- package/dist/esm/constants/legacyCompatFlags.js +97 -0
- package/dist/esm/constants/legacyCompatFlags.js.map +1 -0
- package/dist/esm/constants/limits.js +36 -0
- package/dist/esm/constants/limits.js.map +1 -0
- package/dist/esm/core/Document.js +8498 -0
- package/dist/esm/core/Document.js.map +1 -0
- package/dist/esm/core/DocumentContent.js +190 -0
- package/dist/esm/core/DocumentContent.js.map +1 -0
- package/dist/esm/core/DocumentEvents.js +47 -0
- package/dist/esm/core/DocumentEvents.js.map +1 -0
- package/dist/esm/core/DocumentGenerator.js +764 -0
- package/dist/esm/core/DocumentGenerator.js.map +1 -0
- package/dist/esm/core/DocumentIdManager.js +67 -0
- package/dist/esm/core/DocumentIdManager.js.map +1 -0
- package/dist/esm/core/DocumentParser.js +8760 -0
- package/dist/esm/core/DocumentParser.js.map +1 -0
- package/dist/esm/core/DocumentValidator.js +222 -0
- package/dist/esm/core/DocumentValidator.js.map +1 -0
- package/dist/esm/core/ElementRegistry.js +24 -0
- package/dist/esm/core/ElementRegistry.js.map +1 -0
- package/dist/esm/core/Relationship.js +177 -0
- package/dist/esm/core/Relationship.js.map +1 -0
- package/dist/esm/core/RelationshipManager.js +202 -0
- package/dist/esm/core/RelationshipManager.js.map +1 -0
- package/dist/esm/elements/AlternateContent.js +19 -0
- package/dist/esm/elements/AlternateContent.js.map +1 -0
- package/dist/esm/elements/Bookmark.js +115 -0
- package/dist/esm/elements/Bookmark.js.map +1 -0
- package/dist/esm/elements/BookmarkManager.js +99 -0
- package/dist/esm/elements/BookmarkManager.js.map +1 -0
- package/dist/esm/elements/Comment.js +181 -0
- package/dist/esm/elements/Comment.js.map +1 -0
- package/dist/esm/elements/CommentManager.js +233 -0
- package/dist/esm/elements/CommentManager.js.map +1 -0
- package/dist/esm/elements/CommonTypes.js +106 -0
- package/dist/esm/elements/CommonTypes.js.map +1 -0
- package/dist/esm/elements/CustomXml.js +19 -0
- package/dist/esm/elements/CustomXml.js.map +1 -0
- package/dist/esm/elements/Endnote.js +107 -0
- package/dist/esm/elements/Endnote.js.map +1 -0
- package/dist/esm/elements/EndnoteManager.js +119 -0
- package/dist/esm/elements/EndnoteManager.js.map +1 -0
- package/dist/esm/elements/Field.js +856 -0
- package/dist/esm/elements/Field.js.map +1 -0
- package/dist/esm/elements/FieldHelpers.js +134 -0
- package/dist/esm/elements/FieldHelpers.js.map +1 -0
- package/dist/esm/elements/FontManager.js +158 -0
- package/dist/esm/elements/FontManager.js.map +1 -0
- package/dist/esm/elements/Footer.js +141 -0
- package/dist/esm/elements/Footer.js.map +1 -0
- package/dist/esm/elements/Footnote.js +107 -0
- package/dist/esm/elements/Footnote.js.map +1 -0
- package/dist/esm/elements/FootnoteManager.js +119 -0
- package/dist/esm/elements/FootnoteManager.js.map +1 -0
- package/dist/esm/elements/Header.js +141 -0
- package/dist/esm/elements/Header.js.map +1 -0
- package/dist/esm/elements/HeaderFooterManager.js +87 -0
- package/dist/esm/elements/HeaderFooterManager.js.map +1 -0
- package/dist/esm/elements/Hyperlink.js +586 -0
- package/dist/esm/elements/Hyperlink.js.map +1 -0
- package/dist/esm/elements/Image.js +1288 -0
- package/dist/esm/elements/Image.js.map +1 -0
- package/dist/esm/elements/ImageManager.js +223 -0
- package/dist/esm/elements/ImageManager.js.map +1 -0
- package/dist/esm/elements/ImageRun.js +29 -0
- package/dist/esm/elements/ImageRun.js.map +1 -0
- package/dist/esm/elements/MathElement.js +37 -0
- package/dist/esm/elements/MathElement.js.map +1 -0
- package/dist/esm/elements/Paragraph.js +2308 -0
- package/dist/esm/elements/Paragraph.js.map +1 -0
- package/dist/esm/elements/PreservedElement.js +29 -0
- package/dist/esm/elements/PreservedElement.js.map +1 -0
- package/dist/esm/elements/PropertyChangeTypes.js +53 -0
- package/dist/esm/elements/PropertyChangeTypes.js.map +1 -0
- package/dist/esm/elements/RangeMarker.js +219 -0
- package/dist/esm/elements/RangeMarker.js.map +1 -0
- package/dist/esm/elements/RegisteredBodyElement.js +40 -0
- package/dist/esm/elements/RegisteredBodyElement.js.map +1 -0
- package/dist/esm/elements/Revision.js +498 -0
- package/dist/esm/elements/Revision.js.map +1 -0
- package/dist/esm/elements/RevisionContent.js +18 -0
- package/dist/esm/elements/RevisionContent.js.map +1 -0
- package/dist/esm/elements/RevisionManager.js +486 -0
- package/dist/esm/elements/RevisionManager.js.map +1 -0
- package/dist/esm/elements/Run.js +1465 -0
- package/dist/esm/elements/Run.js.map +1 -0
- package/dist/esm/elements/Section.js +978 -0
- package/dist/esm/elements/Section.js.map +1 -0
- package/dist/esm/elements/Shape.js +493 -0
- package/dist/esm/elements/Shape.js.map +1 -0
- package/dist/esm/elements/StructuredDocumentTag.js +471 -0
- package/dist/esm/elements/StructuredDocumentTag.js.map +1 -0
- package/dist/esm/elements/Table.js +1456 -0
- package/dist/esm/elements/Table.js.map +1 -0
- package/dist/esm/elements/TableCell.js +835 -0
- package/dist/esm/elements/TableCell.js.map +1 -0
- package/dist/esm/elements/TableGridChange.js +52 -0
- package/dist/esm/elements/TableGridChange.js.map +1 -0
- package/dist/esm/elements/TableOfContents.js +389 -0
- package/dist/esm/elements/TableOfContents.js.map +1 -0
- package/dist/esm/elements/TableOfContentsElement.js +29 -0
- package/dist/esm/elements/TableOfContentsElement.js.map +1 -0
- package/dist/esm/elements/TableRow.js +555 -0
- package/dist/esm/elements/TableRow.js.map +1 -0
- package/dist/esm/elements/TextBox.js +459 -0
- package/dist/esm/elements/TextBox.js.map +1 -0
- package/dist/esm/formatting/AbstractNumbering.js +325 -0
- package/dist/esm/formatting/AbstractNumbering.js.map +1 -0
- package/dist/esm/formatting/NumberingInstance.js +150 -0
- package/dist/esm/formatting/NumberingInstance.js.map +1 -0
- package/dist/esm/formatting/NumberingLevel.js +608 -0
- package/dist/esm/formatting/NumberingLevel.js.map +1 -0
- package/dist/esm/formatting/NumberingManager.js +423 -0
- package/dist/esm/formatting/NumberingManager.js.map +1 -0
- package/dist/esm/formatting/Style.js +1151 -0
- package/dist/esm/formatting/Style.js.map +1 -0
- package/dist/esm/formatting/StylesManager.js +557 -0
- package/dist/esm/formatting/StylesManager.js.map +1 -0
- package/dist/esm/helpers/CleanupHelper.js +350 -0
- package/dist/esm/helpers/CleanupHelper.js.map +1 -0
- package/dist/esm/images/ImageOptimizer.js +161 -0
- package/dist/esm/images/ImageOptimizer.js.map +1 -0
- package/dist/esm/index.js +75 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/internal.js +16 -0
- package/dist/esm/internal.js.map +1 -0
- package/dist/esm/managers/DrawingManager.js +163 -0
- package/dist/esm/managers/DrawingManager.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/processors/ChangelogGenerator.js +970 -0
- package/dist/esm/processors/ChangelogGenerator.js.map +1 -0
- package/dist/esm/processors/CompatibilityUpgrader.js +130 -0
- package/dist/esm/processors/CompatibilityUpgrader.js.map +1 -0
- package/dist/esm/processors/InMemoryRevisionAcceptor.js +530 -0
- package/dist/esm/processors/InMemoryRevisionAcceptor.js.map +1 -0
- package/dist/esm/processors/MoveOperationHelper.js +57 -0
- package/dist/esm/processors/MoveOperationHelper.js.map +1 -0
- package/dist/esm/processors/RevisionAwareProcessor.js +232 -0
- package/dist/esm/processors/RevisionAwareProcessor.js.map +1 -0
- package/dist/esm/processors/RevisionWalker.js +278 -0
- package/dist/esm/processors/RevisionWalker.js.map +1 -0
- package/dist/{utils → esm/processors}/SelectiveRevisionAcceptor.js +81 -42
- package/dist/esm/processors/SelectiveRevisionAcceptor.js.map +1 -0
- package/dist/esm/processors/ShadingResolver.js +66 -0
- package/dist/esm/processors/ShadingResolver.js.map +1 -0
- package/dist/esm/processors/acceptRevisions.js +416 -0
- package/dist/esm/processors/acceptRevisions.js.map +1 -0
- package/dist/esm/processors/cnfStyleDecoder.js +89 -0
- package/dist/esm/processors/cnfStyleDecoder.js.map +1 -0
- package/dist/esm/processors/stripTrackedChanges.js +201 -0
- package/dist/esm/processors/stripTrackedChanges.js.map +1 -0
- package/dist/esm/tracking/DocumentTrackingContext.js +531 -0
- package/dist/esm/tracking/DocumentTrackingContext.js.map +1 -0
- package/dist/esm/tracking/TrackingContext.js +2 -0
- package/dist/esm/tracking/TrackingContext.js.map +1 -0
- package/dist/esm/types/compatibility-types.js +8 -0
- package/dist/esm/types/compatibility-types.js.map +1 -0
- package/dist/esm/types/document-types.js +2 -0
- package/dist/esm/types/document-types.js.map +1 -0
- package/dist/esm/types/formatting.js +2 -0
- package/dist/esm/types/formatting.js.map +1 -0
- package/dist/esm/types/list-types.js +2 -0
- package/dist/esm/types/list-types.js.map +1 -0
- package/dist/esm/types/settings-types.js +2 -0
- package/dist/esm/types/settings-types.js.map +1 -0
- package/dist/esm/types/styleConfig.js +2 -0
- package/dist/esm/types/styleConfig.js.map +1 -0
- package/dist/esm/utils/KeyedRegistry.js +32 -0
- package/dist/esm/utils/KeyedRegistry.js.map +1 -0
- package/dist/esm/utils/corruptionDetection.js +155 -0
- package/dist/esm/utils/corruptionDetection.js.map +1 -0
- package/dist/esm/utils/dateFormatting.js +4 -0
- package/dist/esm/utils/dateFormatting.js.map +1 -0
- package/dist/esm/utils/deepClone.js +40 -0
- package/dist/esm/utils/deepClone.js.map +1 -0
- package/dist/esm/utils/deepEqual.js +47 -0
- package/dist/esm/utils/deepEqual.js.map +1 -0
- package/dist/esm/utils/diagnostics.js +69 -0
- package/dist/esm/utils/diagnostics.js.map +1 -0
- package/dist/esm/utils/errorHandling.js +36 -0
- package/dist/esm/utils/errorHandling.js.map +1 -0
- package/dist/esm/utils/formatting.js +93 -0
- package/dist/esm/utils/formatting.js.map +1 -0
- package/dist/esm/utils/list-detection.js +148 -0
- package/dist/esm/utils/list-detection.js.map +1 -0
- package/dist/esm/utils/logger.js +205 -0
- package/dist/esm/utils/logger.js.map +1 -0
- package/dist/esm/utils/parsingHelpers.js +56 -0
- package/dist/esm/utils/parsingHelpers.js.map +1 -0
- package/dist/esm/utils/textDiff.js +42 -0
- package/dist/esm/utils/textDiff.js.map +1 -0
- package/dist/esm/utils/units.js +152 -0
- package/dist/esm/utils/units.js.map +1 -0
- package/dist/esm/utils/validation.js +285 -0
- package/dist/esm/utils/validation.js.map +1 -0
- package/dist/esm/utils/xmlSanitization.js +54 -0
- package/dist/esm/utils/xmlSanitization.js.map +1 -0
- package/dist/esm/validation/RevisionAutoFixer.js +340 -0
- package/dist/esm/validation/RevisionAutoFixer.js.map +1 -0
- package/dist/esm/validation/RevisionValidator.js +240 -0
- package/dist/esm/validation/RevisionValidator.js.map +1 -0
- package/dist/esm/validation/ValidationRuleRegistry.js +40 -0
- package/dist/esm/validation/ValidationRuleRegistry.js.map +1 -0
- package/dist/esm/validation/ValidationRules.js +92 -0
- package/dist/esm/validation/ValidationRules.js.map +1 -0
- package/dist/esm/validation/index.js +4 -0
- package/dist/esm/validation/index.js.map +1 -0
- package/dist/esm/xml/XMLBuilder.js +434 -0
- package/dist/esm/xml/XMLBuilder.js.map +1 -0
- package/dist/esm/xml/XMLParser.js +486 -0
- package/dist/esm/xml/XMLParser.js.map +1 -0
- package/dist/esm/zip/ZipHandler.js +298 -0
- package/dist/esm/zip/ZipHandler.js.map +1 -0
- package/dist/esm/zip/ZipReader.js +147 -0
- package/dist/esm/zip/ZipReader.js.map +1 -0
- package/dist/esm/zip/ZipWriter.js +199 -0
- package/dist/esm/zip/ZipWriter.js.map +1 -0
- package/dist/esm/zip/errors.js +43 -0
- package/dist/esm/zip/errors.js.map +1 -0
- package/dist/esm/zip/types.js +31 -0
- package/dist/esm/zip/types.js.map +1 -0
- package/dist/formatting/AbstractNumbering.d.ts +2 -2
- package/dist/formatting/AbstractNumbering.d.ts.map +1 -1
- package/dist/formatting/AbstractNumbering.js +33 -33
- package/dist/formatting/AbstractNumbering.js.map +1 -1
- package/dist/formatting/NumberingInstance.d.ts +2 -2
- package/dist/formatting/NumberingInstance.d.ts.map +1 -1
- package/dist/formatting/NumberingInstance.js +7 -7
- package/dist/formatting/NumberingInstance.js.map +1 -1
- package/dist/formatting/NumberingLevel.d.ts +11 -2
- package/dist/formatting/NumberingLevel.d.ts.map +1 -1
- package/dist/formatting/NumberingLevel.js +111 -25
- package/dist/formatting/NumberingLevel.js.map +1 -1
- package/dist/formatting/NumberingManager.d.ts +4 -4
- package/dist/formatting/NumberingManager.d.ts.map +1 -1
- package/dist/formatting/NumberingManager.js +28 -28
- package/dist/formatting/NumberingManager.js.map +1 -1
- package/dist/formatting/Style.d.ts +14 -7
- package/dist/formatting/Style.d.ts.map +1 -1
- package/dist/formatting/Style.js +309 -112
- package/dist/formatting/Style.js.map +1 -1
- package/dist/formatting/StylesManager.d.ts +2 -2
- package/dist/formatting/StylesManager.d.ts.map +1 -1
- package/dist/formatting/StylesManager.js +52 -52
- package/dist/formatting/StylesManager.js.map +1 -1
- package/dist/helpers/CleanupHelper.d.ts +1 -1
- package/dist/helpers/CleanupHelper.d.ts.map +1 -1
- package/dist/helpers/CleanupHelper.js +15 -15
- package/dist/helpers/CleanupHelper.js.map +1 -1
- package/dist/index.d.ts +81 -90
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +286 -317
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +16 -0
- package/dist/internal.d.ts.map +1 -0
- package/dist/internal.js +42 -0
- package/dist/internal.js.map +1 -0
- package/dist/managers/DrawingManager.d.ts +3 -3
- package/dist/managers/DrawingManager.d.ts.map +1 -1
- package/dist/managers/DrawingManager.js +12 -12
- package/dist/managers/DrawingManager.js.map +1 -1
- package/dist/{utils → processors}/ChangelogGenerator.d.ts +2 -2
- package/dist/processors/ChangelogGenerator.d.ts.map +1 -0
- package/dist/{utils → processors}/ChangelogGenerator.js +2 -2
- package/dist/processors/ChangelogGenerator.js.map +1 -0
- package/dist/processors/CompatibilityUpgrader.d.ts.map +1 -0
- package/dist/{utils → processors}/CompatibilityUpgrader.js +10 -10
- package/dist/processors/CompatibilityUpgrader.js.map +1 -0
- package/dist/{utils → processors}/InMemoryRevisionAcceptor.d.ts +3 -3
- package/dist/processors/InMemoryRevisionAcceptor.d.ts.map +1 -0
- package/dist/{utils → processors}/InMemoryRevisionAcceptor.js +84 -27
- package/dist/processors/InMemoryRevisionAcceptor.js.map +1 -0
- package/dist/{utils → processors}/MoveOperationHelper.d.ts +4 -4
- package/dist/processors/MoveOperationHelper.d.ts.map +1 -0
- package/dist/{utils → processors}/MoveOperationHelper.js +10 -10
- package/dist/processors/MoveOperationHelper.js.map +1 -0
- package/dist/{utils → processors}/RevisionAwareProcessor.d.ts +3 -3
- package/dist/processors/RevisionAwareProcessor.d.ts.map +1 -0
- package/dist/{utils → processors}/RevisionAwareProcessor.js +2 -2
- package/dist/processors/RevisionAwareProcessor.js.map +1 -0
- package/dist/{utils → processors}/RevisionWalker.d.ts +2 -1
- package/dist/processors/RevisionWalker.d.ts.map +1 -0
- package/dist/{utils → processors}/RevisionWalker.js +28 -0
- package/dist/processors/RevisionWalker.js.map +1 -0
- package/dist/{utils → processors}/SelectiveRevisionAcceptor.d.ts +4 -3
- package/dist/processors/SelectiveRevisionAcceptor.d.ts.map +1 -0
- package/dist/processors/SelectiveRevisionAcceptor.js +402 -0
- package/dist/processors/SelectiveRevisionAcceptor.js.map +1 -0
- package/dist/processors/ShadingResolver.d.ts +6 -0
- package/dist/processors/ShadingResolver.d.ts.map +1 -0
- package/dist/{utils → processors}/ShadingResolver.js +2 -2
- package/dist/processors/ShadingResolver.js.map +1 -0
- package/dist/{utils → processors}/acceptRevisions.d.ts +1 -1
- package/dist/processors/acceptRevisions.d.ts.map +1 -0
- package/dist/{utils → processors}/acceptRevisions.js +24 -4
- package/dist/processors/acceptRevisions.js.map +1 -0
- package/dist/{utils → processors}/cnfStyleDecoder.d.ts +1 -1
- package/dist/processors/cnfStyleDecoder.d.ts.map +1 -0
- package/dist/processors/cnfStyleDecoder.js.map +1 -0
- package/dist/processors/stripTrackedChanges.d.ts +3 -0
- package/dist/processors/stripTrackedChanges.d.ts.map +1 -0
- package/dist/{utils → processors}/stripTrackedChanges.js +16 -6
- package/dist/processors/stripTrackedChanges.js.map +1 -0
- package/dist/tracking/DocumentTrackingContext.d.ts +4 -4
- package/dist/tracking/DocumentTrackingContext.d.ts.map +1 -1
- package/dist/tracking/DocumentTrackingContext.js +38 -43
- package/dist/tracking/DocumentTrackingContext.js.map +1 -1
- package/dist/tracking/TrackingContext.d.ts +8 -8
- package/dist/tracking/TrackingContext.d.ts.map +1 -1
- package/dist/tracking/TrackingContext.js.map +1 -1
- package/dist/types/document-types.d.ts +28 -0
- package/dist/types/document-types.d.ts.map +1 -0
- package/dist/types/document-types.js +3 -0
- package/dist/types/document-types.js.map +1 -0
- package/dist/types/formatting.d.ts +4 -4
- package/dist/types/formatting.d.ts.map +1 -1
- package/dist/types/formatting.js.map +1 -1
- package/dist/types/settings-types.d.ts +6 -0
- package/dist/types/settings-types.d.ts.map +1 -1
- package/dist/types/settings-types.js.map +1 -1
- package/dist/utils/KeyedRegistry.d.ts +13 -0
- package/dist/utils/KeyedRegistry.d.ts.map +1 -0
- package/dist/utils/KeyedRegistry.js +36 -0
- package/dist/utils/KeyedRegistry.js.map +1 -0
- package/dist/utils/corruptionDetection.d.ts +1 -1
- package/dist/utils/corruptionDetection.d.ts.map +1 -1
- package/dist/utils/corruptionDetection.js +4 -4
- package/dist/utils/corruptionDetection.js.map +1 -1
- package/dist/utils/deepEqual.d.ts +2 -0
- package/dist/utils/deepEqual.d.ts.map +1 -0
- package/dist/utils/deepEqual.js +50 -0
- package/dist/utils/deepEqual.js.map +1 -0
- package/dist/utils/list-detection.d.ts +2 -2
- package/dist/utils/list-detection.d.ts.map +1 -1
- package/dist/utils/list-detection.js.map +1 -1
- package/dist/utils/parsingHelpers.d.ts +1 -1
- package/dist/utils/parsingHelpers.d.ts.map +1 -1
- package/dist/utils/parsingHelpers.js +2 -2
- package/dist/utils/parsingHelpers.js.map +1 -1
- package/dist/utils/validation.js +7 -7
- package/dist/utils/validation.js.map +1 -1
- package/dist/utils/xmlSanitization.js +2 -2
- package/dist/utils/xmlSanitization.js.map +1 -1
- package/dist/validation/RevisionAutoFixer.d.ts +4 -4
- package/dist/validation/RevisionAutoFixer.d.ts.map +1 -1
- package/dist/validation/RevisionAutoFixer.js +11 -11
- package/dist/validation/RevisionAutoFixer.js.map +1 -1
- package/dist/validation/RevisionValidator.d.ts +5 -4
- package/dist/validation/RevisionValidator.d.ts.map +1 -1
- package/dist/validation/RevisionValidator.js +29 -30
- package/dist/validation/RevisionValidator.js.map +1 -1
- package/dist/validation/ValidationRuleRegistry.d.ts +27 -0
- package/dist/validation/ValidationRuleRegistry.d.ts.map +1 -0
- package/dist/validation/ValidationRuleRegistry.js +43 -0
- package/dist/validation/ValidationRuleRegistry.js.map +1 -0
- package/dist/validation/index.d.ts +3 -3
- package/dist/validation/index.d.ts.map +1 -1
- package/dist/validation/index.js +10 -10
- package/dist/validation/index.js.map +1 -1
- package/dist/xml/XMLBuilder.d.ts +6 -1
- package/dist/xml/XMLBuilder.d.ts.map +1 -1
- package/dist/xml/XMLBuilder.js +11 -6
- package/dist/xml/XMLBuilder.js.map +1 -1
- package/dist/xml/XMLParser.js +6 -6
- package/dist/xml/XMLParser.js.map +1 -1
- package/dist/zip/ZipHandler.d.ts +1 -1
- package/dist/zip/ZipHandler.d.ts.map +1 -1
- package/dist/zip/ZipHandler.js +8 -8
- package/dist/zip/ZipHandler.js.map +1 -1
- package/dist/zip/ZipReader.d.ts +1 -1
- package/dist/zip/ZipReader.d.ts.map +1 -1
- package/dist/zip/ZipReader.js +14 -14
- package/dist/zip/ZipReader.js.map +1 -1
- package/dist/zip/ZipWriter.d.ts +1 -1
- package/dist/zip/ZipWriter.d.ts.map +1 -1
- package/dist/zip/ZipWriter.js +10 -10
- package/dist/zip/ZipWriter.js.map +1 -1
- package/package.json +20 -4
- package/src/constants/legacyCompatFlags.ts +1 -1
- package/src/core/Document.ts +478 -167
- package/src/core/DocumentContent.ts +14 -11
- package/src/core/DocumentEvents.ts +90 -0
- package/src/core/DocumentGenerator.ts +49 -22
- package/src/core/DocumentParser.ts +2235 -620
- package/src/core/DocumentValidator.ts +7 -7
- package/src/core/ElementRegistry.ts +69 -0
- package/src/core/Relationship.ts +1 -1
- package/src/core/RelationshipManager.ts +4 -4
- package/src/elements/AlternateContent.ts +1 -1
- package/src/elements/Bookmark.ts +52 -4
- package/src/elements/BookmarkManager.ts +2 -2
- package/src/elements/Comment.ts +3 -3
- package/src/elements/CommentManager.ts +4 -4
- package/src/elements/CommonTypes.ts +45 -7
- package/src/elements/CustomXml.ts +1 -1
- package/src/elements/Endnote.ts +2 -2
- package/src/elements/EndnoteManager.ts +3 -3
- package/src/elements/Field.ts +44 -10
- package/src/elements/FieldHelpers.ts +2 -2
- package/src/elements/Footer.ts +4 -4
- package/src/elements/Footnote.ts +2 -2
- package/src/elements/FootnoteManager.ts +3 -3
- package/src/elements/Header.ts +4 -4
- package/src/elements/HeaderFooterManager.ts +2 -2
- package/src/elements/Hyperlink.ts +16 -12
- package/src/elements/Image.ts +3 -3
- package/src/elements/ImageManager.ts +2 -2
- package/src/elements/ImageRun.ts +3 -3
- package/src/elements/MathElement.ts +1 -1
- package/src/elements/Paragraph.ts +221 -88
- package/src/elements/PreservedElement.ts +1 -1
- package/src/elements/PropertyChangeTypes.ts +2 -2
- package/src/elements/RangeMarker.ts +153 -12
- package/src/elements/RegisteredBodyElement.ts +52 -0
- package/src/elements/Revision.ts +14 -14
- package/src/elements/RevisionContent.ts +3 -3
- package/src/elements/RevisionManager.ts +3 -3
- package/src/elements/Run.ts +221 -94
- package/src/elements/Section.ts +136 -69
- package/src/elements/Shape.ts +4 -4
- package/src/elements/StructuredDocumentTag.ts +3 -3
- package/src/elements/Table.ts +91 -27
- package/src/elements/TableCell.ts +62 -34
- package/src/elements/TableGridChange.ts +1 -1
- package/src/elements/TableOfContents.ts +1 -1
- package/src/elements/TableOfContentsElement.ts +2 -2
- package/src/elements/TableRow.ts +192 -48
- package/src/elements/TextBox.ts +5 -5
- package/src/formatting/AbstractNumbering.ts +3 -3
- package/src/formatting/NumberingInstance.ts +2 -2
- package/src/formatting/NumberingLevel.ts +201 -10
- package/src/formatting/NumberingManager.ts +5 -5
- package/src/formatting/Style.ts +382 -86
- package/src/formatting/StylesManager.ts +4 -4
- package/src/helpers/CleanupHelper.ts +6 -6
- package/src/index.ts +118 -127
- package/src/internal.ts +79 -0
- package/src/managers/DrawingManager.ts +3 -3
- package/src/{utils → processors}/ChangelogGenerator.ts +3 -3
- package/src/{utils → processors}/CompatibilityUpgrader.ts +2 -2
- package/src/{utils → processors}/InMemoryRevisionAcceptor.ts +100 -12
- package/src/{utils → processors}/MoveOperationHelper.ts +5 -5
- package/src/{utils → processors}/RevisionAwareProcessor.ts +3 -3
- package/src/{utils → processors}/RevisionWalker.ts +42 -1
- package/src/{utils → processors}/SelectiveRevisionAcceptor.ts +98 -39
- package/src/{utils → processors}/ShadingResolver.ts +5 -5
- package/src/{utils → processors}/acceptRevisions.ts +77 -9
- package/src/{utils → processors}/cnfStyleDecoder.ts +1 -1
- package/src/{utils → processors}/stripTrackedChanges.ts +35 -10
- package/src/tracking/DocumentTrackingContext.ts +12 -14
- package/src/tracking/TrackingContext.ts +8 -8
- package/src/types/document-types.ts +53 -0
- package/src/types/formatting.ts +4 -4
- package/src/types/settings-types.ts +32 -0
- package/src/utils/KeyedRegistry.ts +41 -0
- package/src/utils/corruptionDetection.ts +2 -2
- package/src/utils/deepEqual.ts +58 -0
- package/src/utils/list-detection.ts +2 -2
- package/src/utils/parsingHelpers.ts +11 -3
- package/src/utils/validation.ts +3 -3
- package/src/utils/xmlSanitization.ts +1 -1
- package/src/validation/RevisionAutoFixer.ts +5 -5
- package/src/validation/RevisionValidator.ts +39 -28
- package/src/validation/ValidationRuleRegistry.ts +86 -0
- package/src/validation/index.ts +3 -3
- package/src/xml/XMLBuilder.ts +13 -3
- package/src/xml/XMLParser.ts +2 -2
- package/src/zip/ZipHandler.ts +4 -4
- package/src/zip/ZipReader.ts +3 -3
- package/src/zip/ZipWriter.ts +3 -3
- package/dist/utils/ChangelogGenerator.d.ts.map +0 -1
- package/dist/utils/ChangelogGenerator.js.map +0 -1
- package/dist/utils/CompatibilityUpgrader.d.ts.map +0 -1
- package/dist/utils/CompatibilityUpgrader.js.map +0 -1
- package/dist/utils/InMemoryRevisionAcceptor.d.ts.map +0 -1
- package/dist/utils/InMemoryRevisionAcceptor.js.map +0 -1
- package/dist/utils/MoveOperationHelper.d.ts.map +0 -1
- package/dist/utils/MoveOperationHelper.js.map +0 -1
- package/dist/utils/RevisionAwareProcessor.d.ts.map +0 -1
- package/dist/utils/RevisionAwareProcessor.js.map +0 -1
- package/dist/utils/RevisionWalker.d.ts.map +0 -1
- package/dist/utils/RevisionWalker.js.map +0 -1
- package/dist/utils/SelectiveRevisionAcceptor.d.ts.map +0 -1
- package/dist/utils/SelectiveRevisionAcceptor.js.map +0 -1
- package/dist/utils/ShadingResolver.d.ts +0 -6
- package/dist/utils/ShadingResolver.d.ts.map +0 -1
- package/dist/utils/ShadingResolver.js.map +0 -1
- package/dist/utils/acceptRevisions.d.ts.map +0 -1
- package/dist/utils/acceptRevisions.js.map +0 -1
- package/dist/utils/cnfStyleDecoder.d.ts.map +0 -1
- package/dist/utils/cnfStyleDecoder.js.map +0 -1
- package/dist/utils/stripTrackedChanges.d.ts +0 -3
- package/dist/utils/stripTrackedChanges.d.ts.map +0 -1
- package/dist/utils/stripTrackedChanges.js.map +0 -1
- package/src/__tests__/helper-methods.test.ts +0 -512
- package/src/constants/CLAUDE.md +0 -28
- package/src/core/CLAUDE.md +0 -113
- package/src/elements/CLAUDE.md +0 -142
- package/src/formatting/CLAUDE.md +0 -78
- package/src/managers/CLAUDE.md +0 -47
- package/src/tracking/CLAUDE.md +0 -30
- package/src/types/CLAUDE.md +0 -39
- package/src/utils/CLAUDE.md +0 -168
- package/src/validation/CLAUDE.md +0 -40
- package/src/xml/CLAUDE.md +0 -65
- package/src/zip/CLAUDE.md +0 -55
- /package/dist/{utils → processors}/CompatibilityUpgrader.d.ts +0 -0
- /package/dist/{utils → processors}/cnfStyleDecoder.js +0 -0
package/src/elements/Run.ts
CHANGED
|
@@ -3,25 +3,25 @@
|
|
|
3
3
|
* A run is the smallest unit of text formatting in a Word document
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { deepClone } from '../utils/deepClone';
|
|
7
|
-
import { formatDateForXml } from '../utils/dateFormatting';
|
|
8
|
-
import { isEqualFormatting } from '../utils/formatting';
|
|
9
|
-
import { logSerialization, logTextDirection } from '../utils/diagnostics';
|
|
10
|
-
import { defaultLogger } from '../utils/logger';
|
|
11
|
-
import { normalizeColor, validateRunText } from '../utils/validation';
|
|
12
|
-
import { pointsToHalfPoints } from '../utils/units';
|
|
13
|
-
import { diffText, diffHasUnchangedParts } from '../utils/textDiff';
|
|
14
|
-
import { getActiveConditionalsInPriorityOrder } from '../
|
|
15
|
-
import { XMLBuilder, XMLElement } from '../xml/XMLBuilder';
|
|
6
|
+
import { deepClone } from '../utils/deepClone.js';
|
|
7
|
+
import { formatDateForXml } from '../utils/dateFormatting.js';
|
|
8
|
+
import { isEqualFormatting } from '../utils/formatting.js';
|
|
9
|
+
import { logSerialization, logTextDirection } from '../utils/diagnostics.js';
|
|
10
|
+
import { defaultLogger } from '../utils/logger.js';
|
|
11
|
+
import { normalizeColor, validateRunText } from '../utils/validation.js';
|
|
12
|
+
import { pointsToHalfPoints } from '../utils/units.js';
|
|
13
|
+
import { diffText, diffHasUnchangedParts } from '../utils/textDiff.js';
|
|
14
|
+
import { getActiveConditionalsInPriorityOrder } from '../processors/cnfStyleDecoder.js';
|
|
15
|
+
import { XMLBuilder, XMLElement } from '../xml/XMLBuilder.js';
|
|
16
16
|
import {
|
|
17
17
|
ShadingPattern as CommonShadingPattern,
|
|
18
18
|
ShadingConfig,
|
|
19
19
|
buildShadingAttributes,
|
|
20
|
-
|
|
21
|
-
} from './CommonTypes';
|
|
22
|
-
import type { RunPropertyChange } from './PropertyChangeTypes';
|
|
20
|
+
FullBorderStyle,
|
|
21
|
+
} from './CommonTypes.js';
|
|
22
|
+
import type { RunPropertyChange } from './PropertyChangeTypes.js';
|
|
23
23
|
// Type-only import to avoid circular dependency (Revision imports Run)
|
|
24
|
-
import type { Revision as RevisionType } from './Revision';
|
|
24
|
+
import type { Revision as RevisionType } from './Revision.js';
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
27
|
* Run content element types
|
|
@@ -51,8 +51,10 @@ export type RunContentType =
|
|
|
51
51
|
| 'symbol' // <w:sym/> - Symbol character with font and char code
|
|
52
52
|
| 'positionTab' // <w:ptab/> - Absolute position tab
|
|
53
53
|
| 'embeddedObject' // <w:object> - Embedded OLE object (preserved as raw XML)
|
|
54
|
-
| 'footnoteReference' // <w:footnoteReference/> - Footnote reference marker
|
|
55
|
-
| 'endnoteReference'
|
|
54
|
+
| 'footnoteReference' // <w:footnoteReference/> - Footnote reference marker (body side)
|
|
55
|
+
| 'endnoteReference' // <w:endnoteReference/> - Endnote reference marker (body side)
|
|
56
|
+
| 'footnoteRef' // <w:footnoteRef/> - Auto-numbered mark INSIDE a footnote body (§17.11.14)
|
|
57
|
+
| 'endnoteRef'; // <w:endnoteRef/> - Auto-numbered mark INSIDE an endnote body (§17.11.3)
|
|
56
58
|
|
|
57
59
|
/**
|
|
58
60
|
* Break type for <w:br> elements
|
|
@@ -103,13 +105,26 @@ export interface RunContent {
|
|
|
103
105
|
footnoteId?: number;
|
|
104
106
|
/** Endnote ID (only for 'endnoteReference' type, w:endnoteReference w:id) */
|
|
105
107
|
endnoteId?: number;
|
|
108
|
+
/**
|
|
109
|
+
* `w:customMarkFollows` — ST_OnOff attribute on footnoteReference /
|
|
110
|
+
* endnoteReference per ECMA-376 §17.11.13 / §17.11.2. When true, the
|
|
111
|
+
* auto-numbered reference mark is suppressed and a custom glyph
|
|
112
|
+
* rendered in the immediately following run becomes the display mark.
|
|
113
|
+
* Losing this on round-trip causes Word to render BOTH the automatic
|
|
114
|
+
* number AND the custom glyph (doubled mark).
|
|
115
|
+
*/
|
|
116
|
+
customMarkFollows?: boolean;
|
|
106
117
|
}
|
|
107
118
|
|
|
108
119
|
/**
|
|
109
|
-
* Border style for text
|
|
110
|
-
*
|
|
120
|
+
* Border style for text per ECMA-376 Part 1 §17.18.2 ST_Border.
|
|
121
|
+
* Widened from ExtendedBorderStyle (10 values) to FullBorderStyle (25+
|
|
122
|
+
* values incl. triple, dotDash/dotDotDash variants, multi-line gaps,
|
|
123
|
+
* and inset/outset effects). TextBorder is the character-level border
|
|
124
|
+
* on runs; anything ST_Border permits is spec-valid here.
|
|
125
|
+
* @see CommonTypes.FullBorderStyle for the canonical definition
|
|
111
126
|
*/
|
|
112
|
-
export type TextBorderStyle =
|
|
127
|
+
export type TextBorderStyle = FullBorderStyle;
|
|
113
128
|
|
|
114
129
|
/**
|
|
115
130
|
* Text border definition
|
|
@@ -123,6 +138,16 @@ export interface TextBorder {
|
|
|
123
138
|
color?: string;
|
|
124
139
|
/** Space between border and text in points */
|
|
125
140
|
space?: number;
|
|
141
|
+
/** Theme color reference (ST_ThemeColor per §17.18.97) */
|
|
142
|
+
themeColor?: string;
|
|
143
|
+
/** Theme tint (2-hex-digit string) */
|
|
144
|
+
themeTint?: string;
|
|
145
|
+
/** Theme shade (2-hex-digit string) */
|
|
146
|
+
themeShade?: string;
|
|
147
|
+
/** Border casts a shadow (CT_OnOff on CT_Border §17.18.2) */
|
|
148
|
+
shadow?: boolean;
|
|
149
|
+
/** Border is part of a frame around the text (CT_OnOff) */
|
|
150
|
+
frame?: boolean;
|
|
126
151
|
}
|
|
127
152
|
|
|
128
153
|
/**
|
|
@@ -286,7 +311,32 @@ export interface RunFormatting {
|
|
|
286
311
|
/** Language code (e.g., 'en-US', 'fr-FR', 'es-ES') or CT_Language object */
|
|
287
312
|
language?: string | LanguageConfig;
|
|
288
313
|
/** Underline text. Use "none" to explicitly override style underline. */
|
|
289
|
-
|
|
314
|
+
/**
|
|
315
|
+
* Underline style. `true` / `false` are shorthand for on/off with the
|
|
316
|
+
* default (single-line) style; the string literals correspond to the
|
|
317
|
+
* full ST_Underline enumeration per ECMA-376 §17.3.2.40. `'none'`
|
|
318
|
+
* explicitly overrides a style-inherited underline.
|
|
319
|
+
*/
|
|
320
|
+
underline?:
|
|
321
|
+
| boolean
|
|
322
|
+
| 'single'
|
|
323
|
+
| 'words'
|
|
324
|
+
| 'double'
|
|
325
|
+
| 'thick'
|
|
326
|
+
| 'dotted'
|
|
327
|
+
| 'dottedHeavy'
|
|
328
|
+
| 'dash'
|
|
329
|
+
| 'dashedHeavy'
|
|
330
|
+
| 'dashLong'
|
|
331
|
+
| 'dashLongHeavy'
|
|
332
|
+
| 'dotDash'
|
|
333
|
+
| 'dashDotHeavy'
|
|
334
|
+
| 'dotDotDash'
|
|
335
|
+
| 'dashDotDotHeavy'
|
|
336
|
+
| 'wave'
|
|
337
|
+
| 'wavyHeavy'
|
|
338
|
+
| 'wavyDouble'
|
|
339
|
+
| 'none';
|
|
290
340
|
/** Underline color in hex format (without #) per ECMA-376 Part 1 §17.3.2.40 */
|
|
291
341
|
underlineColor?: string;
|
|
292
342
|
/** Underline theme color reference per ECMA-376 Part 1 §17.3.2.40 */
|
|
@@ -426,10 +476,10 @@ export interface RunFormatting {
|
|
|
426
476
|
export class Run {
|
|
427
477
|
private content: RunContent[];
|
|
428
478
|
private formatting: RunFormatting;
|
|
429
|
-
private trackingContext?: import('../tracking/TrackingContext').TrackingContext;
|
|
479
|
+
private trackingContext?: import('../tracking/TrackingContext.js').TrackingContext;
|
|
430
480
|
private propertyChangeRevision?: RunPropertyChange;
|
|
431
481
|
/** Parent paragraph reference for automatic tracking */
|
|
432
|
-
private _parentParagraph?: import('./Paragraph').Paragraph;
|
|
482
|
+
private _parentParagraph?: import('./Paragraph.js').Paragraph;
|
|
433
483
|
|
|
434
484
|
/**
|
|
435
485
|
* Creates a new Run
|
|
@@ -855,7 +905,7 @@ export class Run {
|
|
|
855
905
|
* Gets the underline style
|
|
856
906
|
* @returns Underline style (string, boolean, or undefined)
|
|
857
907
|
*/
|
|
858
|
-
getUnderline():
|
|
908
|
+
getUnderline(): RunFormatting['underline'] {
|
|
859
909
|
return this.formatting.underline;
|
|
860
910
|
}
|
|
861
911
|
|
|
@@ -1189,7 +1239,7 @@ export class Run {
|
|
|
1189
1239
|
* Called by Document when track changes is enabled.
|
|
1190
1240
|
* @internal
|
|
1191
1241
|
*/
|
|
1192
|
-
_setTrackingContext(context: import('../tracking/TrackingContext').TrackingContext): void {
|
|
1242
|
+
_setTrackingContext(context: import('../tracking/TrackingContext.js').TrackingContext): void {
|
|
1193
1243
|
this.trackingContext = context;
|
|
1194
1244
|
}
|
|
1195
1245
|
|
|
@@ -1197,7 +1247,7 @@ export class Run {
|
|
|
1197
1247
|
* Sets the parent paragraph reference for this run
|
|
1198
1248
|
* @internal Used for content tracking
|
|
1199
1249
|
*/
|
|
1200
|
-
_setParentParagraph(paragraph: import('./Paragraph').Paragraph): void {
|
|
1250
|
+
_setParentParagraph(paragraph: import('./Paragraph.js').Paragraph): void {
|
|
1201
1251
|
this._parentParagraph = paragraph;
|
|
1202
1252
|
}
|
|
1203
1253
|
|
|
@@ -1205,7 +1255,7 @@ export class Run {
|
|
|
1205
1255
|
* Gets the parent paragraph reference
|
|
1206
1256
|
* @internal Used for content tracking
|
|
1207
1257
|
*/
|
|
1208
|
-
_getParentParagraph(): import('./Paragraph').Paragraph | undefined {
|
|
1258
|
+
_getParentParagraph(): import('./Paragraph.js').Paragraph | undefined {
|
|
1209
1259
|
return this._parentParagraph;
|
|
1210
1260
|
}
|
|
1211
1261
|
|
|
@@ -2389,9 +2439,23 @@ export class Run {
|
|
|
2389
2439
|
}
|
|
2390
2440
|
}
|
|
2391
2441
|
}
|
|
2392
|
-
|
|
2393
|
-
|
|
2394
|
-
|
|
2442
|
+
// Only wrap in <w:ffData> when there is at least one child. CT_FFData
|
|
2443
|
+
// §17.16.17.10 declares its content model as `<xsd:choice minOccurs="1">`
|
|
2444
|
+
// — emitting empty `<w:ffData/>` fails strict OOXML validation with
|
|
2445
|
+
// "The element has incomplete content". Falling back to the plain
|
|
2446
|
+
// self-closing <w:fldChar/> path produces schema-valid output.
|
|
2447
|
+
if (ffDataChildren.length > 0) {
|
|
2448
|
+
runChildren.push(
|
|
2449
|
+
XMLBuilder.w('fldChar', fldCharAttrs, [XMLBuilder.w('ffData', {}, ffDataChildren)])
|
|
2450
|
+
);
|
|
2451
|
+
} else {
|
|
2452
|
+
runChildren.push(
|
|
2453
|
+
XMLBuilder.wSelf(
|
|
2454
|
+
'fldChar',
|
|
2455
|
+
Object.keys(fldCharAttrs).length > 0 ? fldCharAttrs : undefined
|
|
2456
|
+
)
|
|
2457
|
+
);
|
|
2458
|
+
}
|
|
2395
2459
|
} else {
|
|
2396
2460
|
runChildren.push(
|
|
2397
2461
|
XMLBuilder.wSelf(
|
|
@@ -2448,42 +2512,84 @@ export class Run {
|
|
|
2448
2512
|
runChildren.push(XMLBuilder.wSelf('yearLong'));
|
|
2449
2513
|
break;
|
|
2450
2514
|
|
|
2451
|
-
// Symbol character (w:sym) per ECMA-376 Part 1 §17.3.3.30
|
|
2515
|
+
// Symbol character (w:sym) per ECMA-376 Part 1 §17.3.3.30. CT_Sym
|
|
2516
|
+
// declares BOTH `w:font` (ST_String) and `w:char` (ST_ShortHexNumber)
|
|
2517
|
+
// as REQUIRED. Emitting the element without either fails strict
|
|
2518
|
+
// OOXML schema validation, so skip emission entirely when the
|
|
2519
|
+
// RunContent is missing one — keeps the output schema-valid at the
|
|
2520
|
+
// cost of dropping an incomplete symbol. Consumers should always
|
|
2521
|
+
// set both `symbolFont` and `symbolChar` together.
|
|
2452
2522
|
case 'symbol': {
|
|
2453
|
-
|
|
2454
|
-
|
|
2455
|
-
|
|
2456
|
-
|
|
2523
|
+
if (!contentElement.symbolFont || !contentElement.symbolChar) break;
|
|
2524
|
+
runChildren.push(
|
|
2525
|
+
XMLBuilder.wSelf('sym', {
|
|
2526
|
+
'w:font': contentElement.symbolFont,
|
|
2527
|
+
'w:char': contentElement.symbolChar,
|
|
2528
|
+
})
|
|
2529
|
+
);
|
|
2457
2530
|
break;
|
|
2458
2531
|
}
|
|
2459
2532
|
|
|
2460
|
-
// Absolute position tab (w:ptab) per ECMA-376 Part 1 §17.3.3.23
|
|
2533
|
+
// Absolute position tab (w:ptab) per ECMA-376 Part 1 §17.3.3.23.
|
|
2534
|
+
// CT_PTab declares all three of `w:alignment` / `w:relativeTo` /
|
|
2535
|
+
// `w:leader` as REQUIRED attributes; omitting any fails strict
|
|
2536
|
+
// OOXML schema validation. Supply the spec defaults
|
|
2537
|
+
// (left / margin / none per ST_PTabAlignment, ST_PTabRelativeTo,
|
|
2538
|
+
// ST_PTabLeader) whenever the corresponding field is unset.
|
|
2461
2539
|
case 'positionTab': {
|
|
2462
|
-
const ptabAttrs: Record<string, string> = {
|
|
2463
|
-
|
|
2464
|
-
|
|
2465
|
-
|
|
2466
|
-
|
|
2540
|
+
const ptabAttrs: Record<string, string> = {
|
|
2541
|
+
'w:alignment': contentElement.ptabAlignment ?? 'left',
|
|
2542
|
+
'w:relativeTo': contentElement.ptabRelativeTo ?? 'margin',
|
|
2543
|
+
'w:leader': contentElement.ptabLeader ?? 'none',
|
|
2544
|
+
};
|
|
2467
2545
|
runChildren.push(XMLBuilder.wSelf('ptab', ptabAttrs));
|
|
2468
2546
|
break;
|
|
2469
2547
|
}
|
|
2470
2548
|
|
|
2471
|
-
// Footnote reference (w:footnoteReference) per ECMA-376 Part 1 §17.11.13
|
|
2549
|
+
// Footnote reference (w:footnoteReference) per ECMA-376 Part 1 §17.11.13.
|
|
2550
|
+
// CT_FtnEdnRef (§17.11.12) declares `w:id` as REQUIRED — skip emission
|
|
2551
|
+
// entirely when it's missing to keep the output schema-valid rather
|
|
2552
|
+
// than produce `<w:footnoteReference/>` with no attributes. Use
|
|
2553
|
+
// `!== undefined` so id=0 (a valid explicit value) is preserved.
|
|
2554
|
+
// Emit w:customMarkFollows only when explicitly true — the schema
|
|
2555
|
+
// default is false, so dropping `false`/`undefined` keeps the output
|
|
2556
|
+
// minimal without semantic change.
|
|
2472
2557
|
case 'footnoteReference': {
|
|
2473
|
-
|
|
2474
|
-
|
|
2558
|
+
if (contentElement.footnoteId === undefined) break;
|
|
2559
|
+
const fnAttrs: Record<string, string | number> = {
|
|
2560
|
+
'w:id': contentElement.footnoteId,
|
|
2561
|
+
};
|
|
2562
|
+
if (contentElement.customMarkFollows === true) fnAttrs['w:customMarkFollows'] = '1';
|
|
2475
2563
|
runChildren.push(XMLBuilder.wSelf('footnoteReference', fnAttrs));
|
|
2476
2564
|
break;
|
|
2477
2565
|
}
|
|
2478
2566
|
|
|
2479
|
-
// Endnote reference (w:endnoteReference) per ECMA-376 Part 1 §17.11.2
|
|
2567
|
+
// Endnote reference (w:endnoteReference) per ECMA-376 Part 1 §17.11.2.
|
|
2568
|
+
// Same CT_FtnEdnRef schema: `w:id` is REQUIRED; ST_OnOff treatment
|
|
2569
|
+
// for w:customMarkFollows matches the footnote branch above.
|
|
2480
2570
|
case 'endnoteReference': {
|
|
2481
|
-
|
|
2482
|
-
|
|
2571
|
+
if (contentElement.endnoteId === undefined) break;
|
|
2572
|
+
const enAttrs: Record<string, string | number> = {
|
|
2573
|
+
'w:id': contentElement.endnoteId,
|
|
2574
|
+
};
|
|
2575
|
+
if (contentElement.customMarkFollows === true) enAttrs['w:customMarkFollows'] = '1';
|
|
2483
2576
|
runChildren.push(XMLBuilder.wSelf('endnoteReference', enAttrs));
|
|
2484
2577
|
break;
|
|
2485
2578
|
}
|
|
2486
2579
|
|
|
2580
|
+
// Footnote auto-numbered mark (w:footnoteRef) per ECMA-376 §17.11.14.
|
|
2581
|
+
// Empty element with no attributes; appears INSIDE a footnote body to
|
|
2582
|
+
// render the auto-generated footnote number as the displayed mark.
|
|
2583
|
+
case 'footnoteRef':
|
|
2584
|
+
runChildren.push(XMLBuilder.wSelf('footnoteRef'));
|
|
2585
|
+
break;
|
|
2586
|
+
|
|
2587
|
+
// Endnote auto-numbered mark (w:endnoteRef) per ECMA-376 §17.11.3.
|
|
2588
|
+
// Empty element with no attributes; appears INSIDE an endnote body.
|
|
2589
|
+
case 'endnoteRef':
|
|
2590
|
+
runChildren.push(XMLBuilder.wSelf('endnoteRef'));
|
|
2591
|
+
break;
|
|
2592
|
+
|
|
2487
2593
|
// Embedded OLE object (w:object) - preserved as raw XML
|
|
2488
2594
|
case 'embeddedObject':
|
|
2489
2595
|
if (contentElement.rawXml) {
|
|
@@ -2784,29 +2890,25 @@ export class Run {
|
|
|
2784
2890
|
rPrChildren.push(XMLBuilder.wSelf('dstrike', { 'w:val': formatting.dstrike ? '1' : '0' }));
|
|
2785
2891
|
}
|
|
2786
2892
|
|
|
2787
|
-
// 11.
|
|
2788
|
-
|
|
2789
|
-
|
|
2893
|
+
// 11–15. CT_OnOff text effects (OnOffType, accept full ST_OnOff).
|
|
2894
|
+
// Emit w:val="0" for explicit false so override-of-style semantics survive
|
|
2895
|
+
// round-trip, including inside rPrChange tracked history. (Previously each
|
|
2896
|
+
// of these tested `if (formatting.x)` and emitted nothing for false,
|
|
2897
|
+
// silently dropping the override.)
|
|
2898
|
+
if (formatting.outline !== undefined) {
|
|
2899
|
+
rPrChildren.push(XMLBuilder.wSelf('outline', { 'w:val': formatting.outline ? '1' : '0' }));
|
|
2790
2900
|
}
|
|
2791
|
-
|
|
2792
|
-
|
|
2793
|
-
if (formatting.shadow) {
|
|
2794
|
-
rPrChildren.push(XMLBuilder.wSelf('shadow', { 'w:val': '1' }));
|
|
2901
|
+
if (formatting.shadow !== undefined) {
|
|
2902
|
+
rPrChildren.push(XMLBuilder.wSelf('shadow', { 'w:val': formatting.shadow ? '1' : '0' }));
|
|
2795
2903
|
}
|
|
2796
|
-
|
|
2797
|
-
|
|
2798
|
-
if (formatting.emboss) {
|
|
2799
|
-
rPrChildren.push(XMLBuilder.wSelf('emboss', { 'w:val': '1' }));
|
|
2904
|
+
if (formatting.emboss !== undefined) {
|
|
2905
|
+
rPrChildren.push(XMLBuilder.wSelf('emboss', { 'w:val': formatting.emboss ? '1' : '0' }));
|
|
2800
2906
|
}
|
|
2801
|
-
|
|
2802
|
-
|
|
2803
|
-
if (formatting.imprint) {
|
|
2804
|
-
rPrChildren.push(XMLBuilder.wSelf('imprint', { 'w:val': '1' }));
|
|
2907
|
+
if (formatting.imprint !== undefined) {
|
|
2908
|
+
rPrChildren.push(XMLBuilder.wSelf('imprint', { 'w:val': formatting.imprint ? '1' : '0' }));
|
|
2805
2909
|
}
|
|
2806
|
-
|
|
2807
|
-
|
|
2808
|
-
if (formatting.noProof) {
|
|
2809
|
-
rPrChildren.push(XMLBuilder.wSelf('noProof', { 'w:val': '1' }));
|
|
2910
|
+
if (formatting.noProof !== undefined) {
|
|
2911
|
+
rPrChildren.push(XMLBuilder.wSelf('noProof', { 'w:val': formatting.noProof ? '1' : '0' }));
|
|
2810
2912
|
}
|
|
2811
2913
|
|
|
2812
2914
|
// 16. w:snapToGrid — Snap to grid
|
|
@@ -2818,14 +2920,16 @@ export class Run {
|
|
|
2818
2920
|
);
|
|
2819
2921
|
}
|
|
2820
2922
|
|
|
2821
|
-
// 17. w:vanish — Hidden text
|
|
2822
|
-
if (formatting.vanish) {
|
|
2823
|
-
rPrChildren.push(XMLBuilder.wSelf('vanish', { 'w:val': '1' }));
|
|
2923
|
+
// 17. w:vanish — Hidden text (CT_OnOff). Explicit false must round-trip.
|
|
2924
|
+
if (formatting.vanish !== undefined) {
|
|
2925
|
+
rPrChildren.push(XMLBuilder.wSelf('vanish', { 'w:val': formatting.vanish ? '1' : '0' }));
|
|
2824
2926
|
}
|
|
2825
2927
|
|
|
2826
|
-
// 18. w:webHidden — Web hidden
|
|
2827
|
-
if (formatting.webHidden) {
|
|
2828
|
-
rPrChildren.push(
|
|
2928
|
+
// 18. w:webHidden — Web hidden (CT_OnOff).
|
|
2929
|
+
if (formatting.webHidden !== undefined) {
|
|
2930
|
+
rPrChildren.push(
|
|
2931
|
+
XMLBuilder.wSelf('webHidden', { 'w:val': formatting.webHidden ? '1' : '0' })
|
|
2932
|
+
);
|
|
2829
2933
|
}
|
|
2830
2934
|
|
|
2831
2935
|
// 19. w:color — Text color
|
|
@@ -2920,17 +3024,30 @@ export class Run {
|
|
|
2920
3024
|
rPrChildren.push(XMLBuilder.wSelf('effect', { 'w:val': formatting.effect }));
|
|
2921
3025
|
}
|
|
2922
3026
|
|
|
2923
|
-
// 29. w:bdr — Text border
|
|
3027
|
+
// 29. w:bdr — Text (character) border per ECMA-376 §17.3.2.5. CT_Border
|
|
3028
|
+
// (§17.18.2) requires `w:val`, so default to "nil" when the consumer
|
|
3029
|
+
// set only size/color/space. Full CT_Border attribute set emitted
|
|
3030
|
+
// (themeColor/themeTint/themeShade/shadow/frame) for themed-character-
|
|
3031
|
+
// border fidelity.
|
|
2924
3032
|
if (formatting.border) {
|
|
2925
|
-
const
|
|
2926
|
-
|
|
2927
|
-
if (
|
|
2928
|
-
if (
|
|
2929
|
-
if (
|
|
2930
|
-
|
|
2931
|
-
|
|
2932
|
-
|
|
2933
|
-
|
|
3033
|
+
const b = formatting.border;
|
|
3034
|
+
const bdrAttrs: Record<string, string | number> = { 'w:val': b.style ?? 'nil' };
|
|
3035
|
+
if (b.size !== undefined) bdrAttrs['w:sz'] = b.size;
|
|
3036
|
+
if (b.color) bdrAttrs['w:color'] = b.color;
|
|
3037
|
+
if (b.space !== undefined) bdrAttrs['w:space'] = b.space;
|
|
3038
|
+
const bb = b as {
|
|
3039
|
+
themeColor?: string;
|
|
3040
|
+
themeTint?: string;
|
|
3041
|
+
themeShade?: string;
|
|
3042
|
+
shadow?: boolean;
|
|
3043
|
+
frame?: boolean;
|
|
3044
|
+
};
|
|
3045
|
+
if (bb.themeColor) bdrAttrs['w:themeColor'] = bb.themeColor;
|
|
3046
|
+
if (bb.themeTint) bdrAttrs['w:themeTint'] = bb.themeTint;
|
|
3047
|
+
if (bb.themeShade) bdrAttrs['w:themeShade'] = bb.themeShade;
|
|
3048
|
+
if (bb.shadow !== undefined) bdrAttrs['w:shadow'] = bb.shadow ? '1' : '0';
|
|
3049
|
+
if (bb.frame !== undefined) bdrAttrs['w:frame'] = bb.frame ? '1' : '0';
|
|
3050
|
+
rPrChildren.push(XMLBuilder.wSelf('bdr', bdrAttrs));
|
|
2934
3051
|
}
|
|
2935
3052
|
|
|
2936
3053
|
// 30. w:shd — Character shading
|
|
@@ -2955,14 +3072,14 @@ export class Run {
|
|
|
2955
3072
|
rPrChildren.push(XMLBuilder.wSelf('vertAlign', { 'w:val': 'baseline' }));
|
|
2956
3073
|
}
|
|
2957
3074
|
|
|
2958
|
-
// 33. w:rtl — Right-to-left text
|
|
2959
|
-
if (formatting.rtl) {
|
|
2960
|
-
rPrChildren.push(XMLBuilder.wSelf('rtl', { 'w:val': '1' }));
|
|
3075
|
+
// 33. w:rtl — Right-to-left text (CT_OnOff).
|
|
3076
|
+
if (formatting.rtl !== undefined) {
|
|
3077
|
+
rPrChildren.push(XMLBuilder.wSelf('rtl', { 'w:val': formatting.rtl ? '1' : '0' }));
|
|
2961
3078
|
}
|
|
2962
3079
|
|
|
2963
|
-
// 34. w:cs — Complex script flag
|
|
2964
|
-
if (formatting.complexScript) {
|
|
2965
|
-
rPrChildren.push(XMLBuilder.wSelf('cs', { 'w:val': '1' }));
|
|
3080
|
+
// 34. w:cs — Complex script flag (CT_OnOff).
|
|
3081
|
+
if (formatting.complexScript !== undefined) {
|
|
3082
|
+
rPrChildren.push(XMLBuilder.wSelf('cs', { 'w:val': formatting.complexScript ? '1' : '0' }));
|
|
2966
3083
|
}
|
|
2967
3084
|
|
|
2968
3085
|
// 35. w:em — Emphasis marks
|
|
@@ -2985,14 +3102,22 @@ export class Run {
|
|
|
2985
3102
|
}
|
|
2986
3103
|
}
|
|
2987
3104
|
|
|
2988
|
-
// 37. w:eastAsianLayout — East Asian layout
|
|
3105
|
+
// 37. w:eastAsianLayout — East Asian layout per ECMA-376 §17.3.2.10.
|
|
3106
|
+
// `w:vert` / `w:vertCompress` / `w:combine` are ST_OnOff attributes
|
|
3107
|
+
// with NO spec-mandated default — preserve the explicit-false form
|
|
3108
|
+
// (`w:vert="0"`) so an override of a style-inherited true round-trips
|
|
3109
|
+
// intact. The parser (main + rPrChange) stores `false` when the
|
|
3110
|
+
// source had `w:vert="0"`; emitting only when truthy would drop
|
|
3111
|
+
// those overrides.
|
|
2989
3112
|
if (formatting.eastAsianLayout) {
|
|
2990
3113
|
const layout = formatting.eastAsianLayout;
|
|
2991
3114
|
const attrs: Record<string, string | number> = {};
|
|
2992
3115
|
if (layout.id !== undefined) attrs['w:id'] = layout.id;
|
|
2993
|
-
if (layout.vert) attrs['w:vert'] = '1';
|
|
2994
|
-
if (layout.vertCompress
|
|
2995
|
-
|
|
3116
|
+
if (layout.vert !== undefined) attrs['w:vert'] = layout.vert ? '1' : '0';
|
|
3117
|
+
if (layout.vertCompress !== undefined) {
|
|
3118
|
+
attrs['w:vertCompress'] = layout.vertCompress ? '1' : '0';
|
|
3119
|
+
}
|
|
3120
|
+
if (layout.combine !== undefined) attrs['w:combine'] = layout.combine ? '1' : '0';
|
|
2996
3121
|
if (layout.combineBrackets) attrs['w:combineBrackets'] = layout.combineBrackets;
|
|
2997
3122
|
|
|
2998
3123
|
if (Object.keys(attrs).length > 0) {
|
|
@@ -3000,9 +3125,11 @@ export class Run {
|
|
|
3000
3125
|
}
|
|
3001
3126
|
}
|
|
3002
3127
|
|
|
3003
|
-
// 38. w:specVanish — Special vanish
|
|
3004
|
-
if (formatting.specVanish) {
|
|
3005
|
-
rPrChildren.push(
|
|
3128
|
+
// 38. w:specVanish — Special vanish (CT_OnOff).
|
|
3129
|
+
if (formatting.specVanish !== undefined) {
|
|
3130
|
+
rPrChildren.push(
|
|
3131
|
+
XMLBuilder.wSelf('specVanish', { 'w:val': formatting.specVanish ? '1' : '0' })
|
|
3132
|
+
);
|
|
3006
3133
|
}
|
|
3007
3134
|
|
|
3008
3135
|
// 39. w:oMath — (not currently generated)
|