docxmlater 10.0.2 → 10.0.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/README.md +2 -2
- package/dist/constants/legacyCompatFlags.d.ts.map +1 -1
- package/dist/constants/legacyCompatFlags.js.map +1 -1
- package/dist/constants/limits.d.ts +0 -27
- package/dist/constants/limits.d.ts.map +1 -1
- package/dist/constants/limits.js +13 -13
- package/dist/constants/limits.js.map +1 -1
- package/dist/core/Document.d.ts +23 -19
- package/dist/core/Document.d.ts.map +1 -1
- package/dist/core/Document.js +197 -63
- package/dist/core/Document.js.map +1 -1
- package/dist/core/DocumentContent.d.ts.map +1 -1
- package/dist/core/DocumentContent.js.map +1 -1
- package/dist/core/DocumentGenerator.d.ts.map +1 -1
- package/dist/core/DocumentGenerator.js +59 -24
- package/dist/core/DocumentGenerator.js.map +1 -1
- package/dist/core/DocumentIdManager.d.ts.map +1 -1
- package/dist/core/DocumentIdManager.js.map +1 -1
- package/dist/core/DocumentParser.d.ts +6 -6
- package/dist/core/DocumentParser.d.ts.map +1 -1
- package/dist/core/DocumentParser.js +60 -54
- package/dist/core/DocumentParser.js.map +1 -1
- package/dist/core/DocumentValidator.d.ts.map +1 -1
- package/dist/core/DocumentValidator.js.map +1 -1
- package/dist/core/Relationship.d.ts.map +1 -1
- package/dist/core/Relationship.js +1 -1
- package/dist/core/Relationship.js.map +1 -1
- package/dist/core/RelationshipManager.js +3 -3
- package/dist/core/RelationshipManager.js.map +1 -1
- package/dist/elements/AlternateContent.js.map +1 -1
- package/dist/elements/Bookmark.d.ts.map +1 -1
- package/dist/elements/Bookmark.js.map +1 -1
- package/dist/elements/BookmarkManager.d.ts.map +1 -1
- package/dist/elements/BookmarkManager.js.map +1 -1
- package/dist/elements/Comment.js +1 -1
- package/dist/elements/Comment.js.map +1 -1
- package/dist/elements/CommentManager.d.ts.map +1 -1
- package/dist/elements/CommentManager.js +8 -2
- package/dist/elements/CommentManager.js.map +1 -1
- package/dist/elements/CommonTypes.d.ts.map +1 -1
- package/dist/elements/CommonTypes.js +1 -2
- package/dist/elements/CommonTypes.js.map +1 -1
- package/dist/elements/CustomXml.js.map +1 -1
- package/dist/elements/Endnote.d.ts.map +1 -1
- package/dist/elements/Endnote.js.map +1 -1
- package/dist/elements/EndnoteManager.d.ts.map +1 -1
- package/dist/elements/EndnoteManager.js.map +1 -1
- package/dist/elements/Field.d.ts.map +1 -1
- package/dist/elements/Field.js +31 -28
- package/dist/elements/Field.js.map +1 -1
- package/dist/elements/FieldHelpers.d.ts.map +1 -1
- package/dist/elements/FieldHelpers.js +6 -6
- package/dist/elements/FieldHelpers.js.map +1 -1
- package/dist/elements/FontManager.d.ts.map +1 -1
- package/dist/elements/FontManager.js.map +1 -1
- package/dist/elements/Footer.js.map +1 -1
- package/dist/elements/Footnote.d.ts.map +1 -1
- package/dist/elements/Footnote.js.map +1 -1
- package/dist/elements/FootnoteManager.d.ts.map +1 -1
- package/dist/elements/FootnoteManager.js.map +1 -1
- package/dist/elements/Header.js.map +1 -1
- package/dist/elements/HeaderFooterManager.js.map +1 -1
- package/dist/elements/Hyperlink.d.ts.map +1 -1
- package/dist/elements/Hyperlink.js +5 -5
- package/dist/elements/Hyperlink.js.map +1 -1
- package/dist/elements/Image.d.ts +2 -2
- package/dist/elements/Image.d.ts.map +1 -1
- package/dist/elements/Image.js +21 -5
- package/dist/elements/Image.js.map +1 -1
- package/dist/elements/ImageManager.d.ts.map +1 -1
- package/dist/elements/ImageManager.js +2 -2
- package/dist/elements/ImageManager.js.map +1 -1
- package/dist/elements/ImageRun.js.map +1 -1
- package/dist/elements/MathElement.js.map +1 -1
- package/dist/elements/Paragraph.d.ts.map +1 -1
- package/dist/elements/Paragraph.js +128 -117
- package/dist/elements/Paragraph.js.map +1 -1
- package/dist/elements/PreservedElement.js.map +1 -1
- package/dist/elements/PropertyChangeTypes.js.map +1 -1
- package/dist/elements/RangeMarker.js.map +1 -1
- package/dist/elements/Revision.d.ts +1 -0
- package/dist/elements/Revision.d.ts.map +1 -1
- package/dist/elements/Revision.js +44 -5
- package/dist/elements/Revision.js.map +1 -1
- package/dist/elements/RevisionContent.js.map +1 -1
- package/dist/elements/RevisionManager.d.ts.map +1 -1
- package/dist/elements/RevisionManager.js.map +1 -1
- package/dist/elements/Run.d.ts.map +1 -1
- package/dist/elements/Run.js +1 -3
- package/dist/elements/Run.js.map +1 -1
- package/dist/elements/Section.d.ts.map +1 -1
- package/dist/elements/Section.js +127 -118
- package/dist/elements/Section.js.map +1 -1
- package/dist/elements/Shape.d.ts.map +1 -1
- package/dist/elements/Shape.js +21 -0
- package/dist/elements/Shape.js.map +1 -1
- package/dist/elements/StructuredDocumentTag.d.ts.map +1 -1
- package/dist/elements/StructuredDocumentTag.js +20 -8
- package/dist/elements/StructuredDocumentTag.js.map +1 -1
- package/dist/elements/Table.d.ts +2 -2
- package/dist/elements/Table.d.ts.map +1 -1
- package/dist/elements/Table.js +29 -35
- package/dist/elements/Table.js.map +1 -1
- package/dist/elements/TableCell.d.ts +2 -2
- package/dist/elements/TableCell.d.ts.map +1 -1
- package/dist/elements/TableCell.js +63 -67
- package/dist/elements/TableCell.js.map +1 -1
- package/dist/elements/TableGridChange.js.map +1 -1
- package/dist/elements/TableOfContents.d.ts +6 -6
- package/dist/elements/TableOfContents.d.ts.map +1 -1
- package/dist/elements/TableOfContents.js.map +1 -1
- package/dist/elements/TableOfContentsElement.js.map +1 -1
- package/dist/elements/TableRow.d.ts.map +1 -1
- package/dist/elements/TableRow.js +65 -47
- package/dist/elements/TableRow.js.map +1 -1
- package/dist/elements/TextBox.d.ts.map +1 -1
- package/dist/elements/TextBox.js +1 -1
- package/dist/elements/TextBox.js.map +1 -1
- package/dist/formatting/AbstractNumbering.d.ts +1 -1
- package/dist/formatting/AbstractNumbering.d.ts.map +1 -1
- package/dist/formatting/AbstractNumbering.js +11 -11
- package/dist/formatting/AbstractNumbering.js.map +1 -1
- package/dist/formatting/NumberingInstance.d.ts.map +1 -1
- package/dist/formatting/NumberingInstance.js +4 -4
- package/dist/formatting/NumberingInstance.js.map +1 -1
- package/dist/formatting/NumberingLevel.d.ts.map +1 -1
- package/dist/formatting/NumberingLevel.js +26 -26
- package/dist/formatting/NumberingLevel.js.map +1 -1
- package/dist/formatting/NumberingManager.d.ts +1 -1
- package/dist/formatting/NumberingManager.d.ts.map +1 -1
- package/dist/formatting/NumberingManager.js.map +1 -1
- package/dist/formatting/Style.d.ts.map +1 -1
- package/dist/formatting/Style.js +87 -95
- package/dist/formatting/Style.js.map +1 -1
- package/dist/formatting/StylesManager.d.ts +3 -3
- package/dist/formatting/StylesManager.d.ts.map +1 -1
- package/dist/formatting/StylesManager.js.map +1 -1
- package/dist/helpers/CleanupHelper.js.map +1 -1
- package/dist/images/ImageOptimizer.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/managers/DrawingManager.d.ts.map +1 -1
- package/dist/managers/DrawingManager.js.map +1 -1
- package/dist/tracking/DocumentTrackingContext.js.map +1 -1
- package/dist/tracking/TrackingContext.js.map +1 -1
- package/dist/types/compatibility-types.js.map +1 -1
- package/dist/types/formatting.js.map +1 -1
- package/dist/types/list-types.d.ts +4 -4
- package/dist/types/list-types.d.ts.map +1 -1
- package/dist/types/list-types.js.map +1 -1
- package/dist/types/settings-types.js.map +1 -1
- package/dist/types/styleConfig.js.map +1 -1
- package/dist/utils/ChangelogGenerator.d.ts.map +1 -1
- package/dist/utils/ChangelogGenerator.js.map +1 -1
- package/dist/utils/CompatibilityUpgrader.d.ts.map +1 -1
- package/dist/utils/CompatibilityUpgrader.js +7 -7
- package/dist/utils/CompatibilityUpgrader.js.map +1 -1
- package/dist/utils/InMemoryRevisionAcceptor.js +1 -1
- package/dist/utils/InMemoryRevisionAcceptor.js.map +1 -1
- package/dist/utils/MoveOperationHelper.js.map +1 -1
- package/dist/utils/RevisionAwareProcessor.js.map +1 -1
- package/dist/utils/RevisionWalker.js.map +1 -1
- package/dist/utils/SelectiveRevisionAcceptor.js.map +1 -1
- package/dist/utils/ShadingResolver.js +1 -1
- package/dist/utils/ShadingResolver.js.map +1 -1
- package/dist/utils/acceptRevisions.d.ts +0 -28
- package/dist/utils/acceptRevisions.d.ts.map +1 -1
- package/dist/utils/acceptRevisions.js +5 -7
- package/dist/utils/acceptRevisions.js.map +1 -1
- package/dist/utils/cnfStyleDecoder.js +1 -1
- package/dist/utils/cnfStyleDecoder.js.map +1 -1
- package/dist/utils/corruptionDetection.js.map +1 -1
- package/dist/utils/dateFormatting.js.map +1 -1
- package/dist/utils/deepClone.d.ts +0 -1
- package/dist/utils/deepClone.d.ts.map +1 -1
- package/dist/utils/deepClone.js +0 -7
- package/dist/utils/deepClone.js.map +1 -1
- package/dist/utils/diagnostics.d.ts +2 -2
- package/dist/utils/diagnostics.d.ts.map +1 -1
- package/dist/utils/diagnostics.js.map +1 -1
- package/dist/utils/errorHandling.js.map +1 -1
- package/dist/utils/formatting.js.map +1 -1
- 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 +3 -3
- package/dist/utils/list-detection.js.map +1 -1
- package/dist/utils/logger.d.ts +2 -4
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +0 -2
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/parsingHelpers.js.map +1 -1
- package/dist/utils/stripTrackedChanges.d.ts +0 -19
- package/dist/utils/stripTrackedChanges.d.ts.map +1 -1
- package/dist/utils/stripTrackedChanges.js +0 -2
- package/dist/utils/stripTrackedChanges.js.map +1 -1
- package/dist/utils/textDiff.js.map +1 -1
- package/dist/utils/units.js.map +1 -1
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js.map +1 -1
- package/dist/utils/xmlSanitization.js.map +1 -1
- package/dist/validation/RevisionAutoFixer.js.map +1 -1
- package/dist/validation/RevisionValidator.js.map +1 -1
- package/dist/validation/ValidationRules.js.map +1 -1
- package/dist/validation/index.js.map +1 -1
- package/dist/xml/XMLBuilder.d.ts.map +1 -1
- package/dist/xml/XMLBuilder.js +10 -0
- package/dist/xml/XMLBuilder.js.map +1 -1
- package/dist/xml/XMLParser.d.ts.map +1 -1
- package/dist/xml/XMLParser.js +4 -5
- package/dist/xml/XMLParser.js.map +1 -1
- package/dist/zip/ZipHandler.js.map +1 -1
- package/dist/zip/ZipReader.js.map +1 -1
- package/dist/zip/ZipWriter.js.map +1 -1
- package/dist/zip/errors.js.map +1 -1
- package/dist/zip/types.js.map +1 -1
- package/package.json +34 -4
- package/src/__tests__/helper-methods.test.ts +512 -0
- package/src/constants/legacyCompatFlags.ts +138 -0
- package/src/constants/limits.ts +50 -0
- package/src/core/CLAUDE.md +109 -0
- package/src/core/Document.ts +15569 -0
- package/src/core/DocumentContent.ts +467 -0
- package/src/core/DocumentGenerator.ts +1104 -0
- package/src/core/DocumentIdManager.ts +158 -0
- package/src/core/DocumentParser.ts +10107 -0
- package/src/core/DocumentValidator.ts +372 -0
- package/src/core/Relationship.ts +367 -0
- package/src/core/RelationshipManager.ts +428 -0
- package/src/elements/AlternateContent.ts +42 -0
- package/src/elements/Bookmark.ts +210 -0
- package/src/elements/BookmarkManager.ts +250 -0
- package/src/elements/CLAUDE.md +126 -0
- package/src/elements/Comment.ts +359 -0
- package/src/elements/CommentManager.ts +502 -0
- package/src/elements/CommonTypes.ts +549 -0
- package/src/elements/CustomXml.ts +36 -0
- package/src/elements/Endnote.ts +217 -0
- package/src/elements/EndnoteManager.ts +249 -0
- package/src/elements/Field.ts +1233 -0
- package/src/elements/FieldHelpers.ts +333 -0
- package/src/elements/FontManager.ts +339 -0
- package/src/elements/Footer.ts +269 -0
- package/src/elements/Footnote.ts +217 -0
- package/src/elements/FootnoteManager.ts +249 -0
- package/src/elements/Header.ts +269 -0
- package/src/elements/HeaderFooterManager.ts +219 -0
- package/src/elements/Hyperlink.ts +1146 -0
- package/src/elements/Image.ts +1756 -0
- package/src/elements/ImageManager.ts +432 -0
- package/src/elements/ImageRun.ts +59 -0
- package/src/elements/MathElement.ts +65 -0
- package/src/elements/Paragraph.ts +4227 -0
- package/src/elements/PreservedElement.ts +53 -0
- package/src/elements/PropertyChangeTypes.ts +442 -0
- package/src/elements/RangeMarker.ts +400 -0
- package/src/elements/Revision.ts +1217 -0
- package/src/elements/RevisionContent.ts +73 -0
- package/src/elements/RevisionManager.ts +1070 -0
- package/src/elements/Run.ts +3068 -0
- package/src/elements/Section.ts +1421 -0
- package/src/elements/Shape.ts +873 -0
- package/src/elements/StructuredDocumentTag.ts +978 -0
- package/src/elements/Table.ts +2524 -0
- package/src/elements/TableCell.ts +1586 -0
- package/src/elements/TableGridChange.ts +151 -0
- package/src/elements/TableOfContents.ts +691 -0
- package/src/elements/TableOfContentsElement.ts +89 -0
- package/src/elements/TableRow.ts +906 -0
- package/src/elements/TextBox.ts +768 -0
- package/src/formatting/AbstractNumbering.ts +548 -0
- package/src/formatting/CLAUDE.md +74 -0
- package/src/formatting/NumberingInstance.ts +212 -0
- package/src/formatting/NumberingLevel.ts +1006 -0
- package/src/formatting/NumberingManager.ts +827 -0
- package/src/formatting/Style.ts +1833 -0
- package/src/formatting/StylesManager.ts +1005 -0
- package/src/helpers/CleanupHelper.ts +524 -0
- package/src/images/ImageOptimizer.ts +274 -0
- package/src/index.ts +554 -0
- package/src/managers/CLAUDE.md +47 -0
- package/src/managers/DrawingManager.ts +319 -0
- package/src/tracking/DocumentTrackingContext.ts +643 -0
- package/src/tracking/TrackingContext.ts +173 -0
- package/src/types/compatibility-types.ts +49 -0
- package/src/types/formatting.ts +210 -0
- package/src/types/list-types.ts +152 -0
- package/src/types/settings-types.ts +59 -0
- package/src/types/styleConfig.ts +189 -0
- package/src/utils/CLAUDE.md +153 -0
- package/src/utils/ChangelogGenerator.ts +1581 -0
- package/src/utils/CompatibilityUpgrader.ts +237 -0
- package/src/utils/InMemoryRevisionAcceptor.ts +668 -0
- package/src/utils/MoveOperationHelper.ts +238 -0
- package/src/utils/RevisionAwareProcessor.ts +526 -0
- package/src/utils/RevisionWalker.ts +457 -0
- package/src/utils/SelectiveRevisionAcceptor.ts +613 -0
- package/src/utils/ShadingResolver.ts +107 -0
- package/src/utils/acceptRevisions.ts +714 -0
- package/src/utils/cnfStyleDecoder.ts +217 -0
- package/src/utils/corruptionDetection.ts +345 -0
- package/src/utils/dateFormatting.ts +20 -0
- package/src/utils/deepClone.ts +78 -0
- package/src/utils/diagnostics.ts +129 -0
- package/src/utils/errorHandling.ts +80 -0
- package/src/utils/formatting.ts +213 -0
- package/src/utils/list-detection.ts +274 -0
- package/src/utils/logger.ts +404 -0
- package/src/utils/parsingHelpers.ts +190 -0
- package/src/utils/stripTrackedChanges.ts +353 -0
- package/src/utils/textDiff.ts +100 -0
- package/src/utils/units.ts +421 -0
- package/src/utils/validation.ts +542 -0
- package/src/utils/xmlSanitization.ts +182 -0
- package/src/validation/RevisionAutoFixer.ts +542 -0
- package/src/validation/RevisionValidator.ts +460 -0
- package/src/validation/ValidationRules.ts +338 -0
- package/src/validation/index.ts +30 -0
- package/src/xml/CLAUDE.md +65 -0
- package/src/xml/XMLBuilder.ts +871 -0
- package/src/xml/XMLParser.ts +919 -0
- package/src/zip/CLAUDE.md +55 -0
- package/src/zip/ZipHandler.ts +637 -0
- package/src/zip/ZipReader.ts +299 -0
- package/src/zip/ZipWriter.ts +390 -0
- package/src/zip/errors.ts +69 -0
- package/src/zip/types.ts +116 -0
- package/dist/core/ListNormalizer.d.ts +0 -23
- package/dist/core/ListNormalizer.d.ts.map +0 -1
- package/dist/core/ListNormalizer.js +0 -624
- package/dist/core/ListNormalizer.js.map +0 -1
- package/dist/images/index.d.ts +0 -2
- package/dist/images/index.d.ts.map +0 -1
- package/dist/images/index.js +0 -8
- package/dist/images/index.js.map +0 -1
- package/dist/ms-doc/cfb/CFBReader.d.ts +0 -35
- package/dist/ms-doc/cfb/CFBReader.d.ts.map +0 -1
- package/dist/ms-doc/cfb/CFBReader.js +0 -360
- package/dist/ms-doc/cfb/CFBReader.js.map +0 -1
- package/dist/ms-doc/converter/DocToDocxConverter.d.ts +0 -55
- package/dist/ms-doc/converter/DocToDocxConverter.d.ts.map +0 -1
- package/dist/ms-doc/converter/DocToDocxConverter.js +0 -324
- package/dist/ms-doc/converter/DocToDocxConverter.js.map +0 -1
- package/dist/ms-doc/fib/FIB.d.ts +0 -18
- package/dist/ms-doc/fib/FIB.d.ts.map +0 -1
- package/dist/ms-doc/fib/FIB.js +0 -342
- package/dist/ms-doc/fib/FIB.js.map +0 -1
- package/dist/ms-doc/fields/FieldParser.d.ts +0 -31
- package/dist/ms-doc/fields/FieldParser.d.ts.map +0 -1
- package/dist/ms-doc/fields/FieldParser.js +0 -266
- package/dist/ms-doc/fields/FieldParser.js.map +0 -1
- package/dist/ms-doc/images/PictureExtractor.d.ts +0 -22
- package/dist/ms-doc/images/PictureExtractor.d.ts.map +0 -1
- package/dist/ms-doc/images/PictureExtractor.js +0 -233
- package/dist/ms-doc/images/PictureExtractor.js.map +0 -1
- package/dist/ms-doc/index.d.ts +0 -20
- package/dist/ms-doc/index.d.ts.map +0 -1
- package/dist/ms-doc/index.js +0 -59
- package/dist/ms-doc/index.js.map +0 -1
- package/dist/ms-doc/properties/SPRM.d.ts +0 -210
- package/dist/ms-doc/properties/SPRM.d.ts.map +0 -1
- package/dist/ms-doc/properties/SPRM.js +0 -633
- package/dist/ms-doc/properties/SPRM.js.map +0 -1
- package/dist/ms-doc/sections/SectionParser.d.ts +0 -25
- package/dist/ms-doc/sections/SectionParser.d.ts.map +0 -1
- package/dist/ms-doc/sections/SectionParser.js +0 -214
- package/dist/ms-doc/sections/SectionParser.js.map +0 -1
- package/dist/ms-doc/styles/StyleSheet.d.ts +0 -23
- package/dist/ms-doc/styles/StyleSheet.d.ts.map +0 -1
- package/dist/ms-doc/styles/StyleSheet.js +0 -268
- package/dist/ms-doc/styles/StyleSheet.js.map +0 -1
- package/dist/ms-doc/subdocuments/SubdocumentParser.d.ts +0 -61
- package/dist/ms-doc/subdocuments/SubdocumentParser.d.ts.map +0 -1
- package/dist/ms-doc/subdocuments/SubdocumentParser.js +0 -208
- package/dist/ms-doc/subdocuments/SubdocumentParser.js.map +0 -1
- package/dist/ms-doc/tables/TableParser.d.ts +0 -29
- package/dist/ms-doc/tables/TableParser.d.ts.map +0 -1
- package/dist/ms-doc/tables/TableParser.js +0 -176
- package/dist/ms-doc/tables/TableParser.js.map +0 -1
- package/dist/ms-doc/text/PieceTable.d.ts +0 -21
- package/dist/ms-doc/text/PieceTable.d.ts.map +0 -1
- package/dist/ms-doc/text/PieceTable.js +0 -171
- package/dist/ms-doc/text/PieceTable.js.map +0 -1
- package/dist/ms-doc/types/Constants.d.ts +0 -99
- package/dist/ms-doc/types/Constants.d.ts.map +0 -1
- package/dist/ms-doc/types/Constants.js +0 -102
- package/dist/ms-doc/types/Constants.js.map +0 -1
- package/dist/ms-doc/types/DocTypes.d.ts +0 -368
- package/dist/ms-doc/types/DocTypes.d.ts.map +0 -1
- package/dist/ms-doc/types/DocTypes.js +0 -3
- package/dist/ms-doc/types/DocTypes.js.map +0 -1
- package/dist/tracking/index.d.ts +0 -3
- package/dist/tracking/index.d.ts.map +0 -1
- package/dist/tracking/index.js +0 -6
- package/dist/tracking/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Run.d.ts","sourceRoot":"","sources":["../../src/elements/Run.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Run.d.ts","sourceRoot":"","sources":["../../src/elements/Run.ts"],"names":[],"mappings":"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"}
|
package/dist/elements/Run.js
CHANGED
|
@@ -1126,9 +1126,7 @@ class Run {
|
|
|
1126
1126
|
}
|
|
1127
1127
|
if (formatting.color || formatting.themeColor) {
|
|
1128
1128
|
const colorAttrs = {};
|
|
1129
|
-
|
|
1130
|
-
colorAttrs["w:val"] = formatting.color;
|
|
1131
|
-
}
|
|
1129
|
+
colorAttrs["w:val"] = formatting.color || "000000";
|
|
1132
1130
|
if (formatting.themeColor) {
|
|
1133
1131
|
colorAttrs["w:themeColor"] = formatting.themeColor;
|
|
1134
1132
|
}
|
package/dist/elements/Run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Run.js","sourceRoot":"","sources":["../../src/elements/Run.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Run.js","sourceRoot":"","sources":["../../src/elements/Run.ts"],"names":[],"mappings":"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","sourcesContent":["/**\r\n * Run - Represents a run of text with uniform formatting\r\n * A run is the smallest unit of text formatting in a Word document\r\n */\r\n\r\nimport { deepClone } from \"../utils/deepClone\";\r\nimport { formatDateForXml } from \"../utils/dateFormatting\";\r\nimport { logSerialization, logTextDirection } from \"../utils/diagnostics\";\r\nimport { defaultLogger } from \"../utils/logger\";\r\nimport { normalizeColor, validateRunText } from \"../utils/validation\";\r\nimport { pointsToHalfPoints } from \"../utils/units\";\r\nimport { diffText, diffHasUnchangedParts } from \"../utils/textDiff\";\r\nimport { getActiveConditionalsInPriorityOrder } from \"../utils/cnfStyleDecoder\";\r\nimport { XMLBuilder, XMLElement } from \"../xml/XMLBuilder\";\r\nimport {\r\n ShadingPattern as CommonShadingPattern,\r\n ShadingConfig,\r\n buildShadingAttributes,\r\n ExtendedBorderStyle,\r\n BorderDefinition,\r\n} from \"./CommonTypes\";\r\nimport type { RunPropertyChange } from \"./PropertyChangeTypes\";\r\n// Type-only import to avoid circular dependency (Revision imports Run)\r\nimport type { Revision as RevisionType } from \"./Revision\";\r\n\r\n/**\r\n * Run content element types\r\n * Per ECMA-376 Part 1 §17.3.3 EG_RunInnerContent, runs can contain multiple types of content\r\n */\r\nexport type RunContentType =\r\n | \"text\" // <w:t> - Regular text\r\n | \"tab\" // <w:tab/> - Tab character (used in TOC entries)\r\n | \"break\" // <w:br/> - Line/page/column break\r\n | \"carriageReturn\" // <w:cr/> - Carriage return\r\n | \"softHyphen\" // <w:softHyphen/> - Optional hyphen\r\n | \"noBreakHyphen\" // <w:noBreakHyphen/> - Non-breaking hyphen\r\n | \"instructionText\" // <w:instrText> - Field instruction text\r\n | \"fieldChar\" // <w:fldChar/> - Field character markers\r\n | \"vml\" // <w:pict> - VML/legacy graphics (preserved as raw XML)\r\n | \"lastRenderedPageBreak\" // <w:lastRenderedPageBreak/> - Last rendered page break position\r\n | \"separator\" // <w:separator/> - Footnote/endnote separator line\r\n | \"continuationSeparator\" // <w:continuationSeparator/> - Continuation separator line\r\n | \"pageNumber\" // <w:pgNum/> - Page number field\r\n | \"annotationRef\" // <w:annotationRef/> - Annotation reference marker\r\n | \"dayShort\" // <w:dayShort/> - Short date day field\r\n | \"dayLong\" // <w:dayLong/> - Long date day field\r\n | \"monthShort\" // <w:monthShort/> - Short month field\r\n | \"monthLong\" // <w:monthLong/> - Long month field\r\n | \"yearShort\" // <w:yearShort/> - Short year field\r\n | \"yearLong\" // <w:yearLong/> - Long year field\r\n | \"symbol\" // <w:sym/> - Symbol character with font and char code\r\n | \"positionTab\" // <w:ptab/> - Absolute position tab\r\n | \"embeddedObject\" // <w:object> - Embedded OLE object (preserved as raw XML)\r\n | \"footnoteReference\" // <w:footnoteReference/> - Footnote reference marker\r\n | \"endnoteReference\"; // <w:endnoteReference/> - Endnote reference marker\r\n\r\n/**\r\n * Break type for <w:br> elements\r\n * Per ECMA-376 Part 1 §17.18.3\r\n */\r\nexport type BreakType = \"page\" | \"column\" | \"textWrapping\";\r\n\r\n/**\r\n * Run content element\r\n * Represents a single content element within a run (text, tab, break, etc.)\r\n */\r\nexport interface RunContent {\r\n /** Type of content element */\r\n type: RunContentType;\r\n /** Text value (for 'text' and 'instructionText' types) */\r\n value?: string;\r\n /** Break type (only for 'break' type) */\r\n breakType?: BreakType;\r\n /** Field character subtype (only for 'fieldChar' type) */\r\n fieldCharType?: \"begin\" | \"separate\" | \"end\";\r\n /** Whether the field char is marked dirty */\r\n fieldCharDirty?: boolean;\r\n /** Whether the field char is locked */\r\n fieldCharLocked?: boolean;\r\n /** Form field data (only for 'fieldChar' type with fieldCharType='begin') per ECMA-376 Part 1 §17.16.17 */\r\n formFieldData?: FormFieldData;\r\n /** Raw XML content (for 'vml' type - preserves w:pict elements as-is) */\r\n rawXml?: string;\r\n /**\r\n * Whether this content came from a deleted section (w:delText or w:delInstrText)\r\n * Per ECMA-376 Part 1 §22.1.2.26-27, deleted content uses special elements\r\n * This flag helps with proper serialization back to w:delText/w:delInstrText\r\n */\r\n isDeleted?: boolean;\r\n /** Symbol font name (only for 'symbol' type, w:sym w:font) */\r\n symbolFont?: string;\r\n /** Symbol character code (only for 'symbol' type, w:sym w:char) */\r\n symbolChar?: string;\r\n /** Position tab alignment (only for 'positionTab' type, w:ptab w:alignment) */\r\n ptabAlignment?: string;\r\n /** Position tab relative-to (only for 'positionTab' type, w:ptab w:relativeTo) */\r\n ptabRelativeTo?: string;\r\n /** Position tab leader character (only for 'positionTab' type, w:ptab w:leader) */\r\n ptabLeader?: string;\r\n /** Footnote ID (only for 'footnoteReference' type, w:footnoteReference w:id) */\r\n footnoteId?: number;\r\n /** Endnote ID (only for 'endnoteReference' type, w:endnoteReference w:id) */\r\n endnoteId?: number;\r\n}\r\n\r\n/**\r\n * Border style for text\r\n * @see CommonTypes.ExtendedBorderStyle for the canonical definition\r\n */\r\nexport type TextBorderStyle = ExtendedBorderStyle;\r\n\r\n/**\r\n * Text border definition\r\n */\r\nexport interface TextBorder {\r\n /** Border style */\r\n style?: TextBorderStyle;\r\n /** Border size in eighths of a point */\r\n size?: number;\r\n /** Border color in hex format (without #) */\r\n color?: string;\r\n /** Space between border and text in points */\r\n space?: number;\r\n}\r\n\r\n/**\r\n * Shading pattern for text background\r\n * @see CommonTypes.ShadingPattern for the canonical definition\r\n */\r\nexport type ShadingPattern = CommonShadingPattern;\r\n\r\n/**\r\n * Character shading definition\r\n * @see ShadingConfig in CommonTypes.ts for the canonical definition\r\n */\r\nexport type CharacterShading = ShadingConfig;\r\n\r\n/**\r\n * East Asian typography layout options\r\n */\r\nexport interface EastAsianLayout {\r\n /** Layout ID for specific Asian typography */\r\n id?: number;\r\n /** Vertical text layout */\r\n vert?: boolean;\r\n /** Compress vertical text */\r\n vertCompress?: boolean;\r\n /** Combine characters into single character space */\r\n combine?: boolean;\r\n /** Bracket characters for combined text */\r\n combineBrackets?: \"none\" | \"round\" | \"square\" | \"angle\" | \"curly\";\r\n}\r\n\r\n/**\r\n * Form field text input data per ECMA-376 Part 1 §17.16.33\r\n */\r\nexport interface FormFieldTextInput {\r\n type: 'textInput';\r\n /** Input type per ECMA-376 §17.16.34 (e.g., 'regular', 'number', 'date', 'currentDate', 'currentTime', 'calculated') */\r\n inputType?: string;\r\n /** Default text value */\r\n defaultValue?: string;\r\n /** Maximum length (0 = unlimited) */\r\n maxLength?: number;\r\n /** Text format (e.g., 'UPPERCASE', 'Lowercase', 'First capital') */\r\n format?: string;\r\n}\r\n\r\n/**\r\n * Form field checkbox data per ECMA-376 Part 1 §17.16.7\r\n */\r\nexport interface FormFieldCheckBox {\r\n type: 'checkBox';\r\n /** Default state */\r\n defaultChecked?: boolean;\r\n /** Current checked state */\r\n checked?: boolean;\r\n /** Size (auto or specific in half-points) */\r\n size?: number | 'auto';\r\n}\r\n\r\n/**\r\n * Form field dropdown list data per ECMA-376 Part 1 §17.16.12\r\n */\r\nexport interface FormFieldDropDownList {\r\n type: 'dropDownList';\r\n /** Selected item index (0-based) */\r\n result?: number;\r\n /** Default item index */\r\n defaultResult?: number;\r\n /** List entries */\r\n listEntries?: string[];\r\n}\r\n\r\n/**\r\n * Form field data per ECMA-376 Part 1 §17.16.17\r\n */\r\nexport interface FormFieldData {\r\n /** Field name */\r\n name?: string;\r\n /** Whether the field is enabled */\r\n enabled?: boolean;\r\n /** Calculate on exit */\r\n calcOnExit?: boolean;\r\n /** Help text */\r\n helpText?: string;\r\n /** Status bar text */\r\n statusText?: string;\r\n /** Entry macro name */\r\n entryMacro?: string;\r\n /** Exit macro name */\r\n exitMacro?: string;\r\n /** Field-specific data */\r\n fieldType?: FormFieldTextInput | FormFieldCheckBox | FormFieldDropDownList;\r\n}\r\n\r\n/**\r\n * Emphasis mark type - decorative marks above/below text\r\n */\r\nexport type EmphasisMark = \"dot\" | \"comma\" | \"circle\" | \"underDot\";\r\n\r\n/**\r\n * Theme color values per ECMA-376 Part 1 Section 17.18.96 (ST_ThemeColor)\r\n * These reference colors defined in the document's theme (theme1.xml)\r\n */\r\nexport type ThemeColorValue =\r\n | \"dark1\"\r\n | \"light1\"\r\n | \"dark2\"\r\n | \"light2\"\r\n | \"accent1\"\r\n | \"accent2\"\r\n | \"accent3\"\r\n | \"accent4\"\r\n | \"accent5\"\r\n | \"accent6\"\r\n | \"hyperlink\"\r\n | \"followedHyperlink\"\r\n | \"background1\"\r\n | \"text1\"\r\n | \"background2\"\r\n | \"text2\";\r\n\r\n/**\r\n * Text formatting options for a run\r\n */\r\nexport interface RunFormatting {\r\n /** Character style reference - links to a character style definition */\r\n characterStyle?: string;\r\n /** Text border - draws a border around the text */\r\n border?: TextBorder;\r\n /** Character shading - background color/pattern for text */\r\n shading?: CharacterShading;\r\n /** Emphasis mark - decorative mark above/below text (e.g., dot, comma) */\r\n emphasis?: EmphasisMark;\r\n /** Bold text */\r\n bold?: boolean;\r\n /** Italic text */\r\n italic?: boolean;\r\n /** Bold text for complex scripts (RTL languages like Arabic, Hebrew) */\r\n complexScriptBold?: boolean;\r\n /** Italic text for complex scripts (RTL languages like Arabic, Hebrew) */\r\n complexScriptItalic?: boolean;\r\n /** Character spacing (letter spacing) in twips (1/20th of a point) */\r\n characterSpacing?: number;\r\n /** Horizontal scaling percentage (e.g., 200 = 200% width, 50 = 50% width) */\r\n scaling?: number;\r\n /** Vertical position in half-points (positive = raised, negative = lowered) */\r\n position?: number;\r\n /** Kerning threshold in half-points (font size at which kerning starts) */\r\n kerning?: number;\r\n /** Language code (e.g., 'en-US', 'fr-FR', 'es-ES') */\r\n language?: string;\r\n /** Underline text. Use \"none\" to explicitly override style underline. */\r\n underline?: boolean | \"single\" | \"double\" | \"thick\" | \"dotted\" | \"dash\" | \"none\";\r\n /** Underline color in hex format (without #) per ECMA-376 Part 1 §17.3.2.40 */\r\n underlineColor?: string;\r\n /** Underline theme color reference per ECMA-376 Part 1 §17.3.2.40 */\r\n underlineThemeColor?: ThemeColorValue;\r\n /** Underline theme tint (0-255) per ECMA-376 Part 1 §17.3.2.40 */\r\n underlineThemeTint?: number;\r\n /** Underline theme shade (0-255) per ECMA-376 Part 1 §17.3.2.40 */\r\n underlineThemeShade?: number;\r\n /** Strikethrough text */\r\n strike?: boolean;\r\n /** Double strikethrough */\r\n dstrike?: boolean;\r\n /** Subscript */\r\n subscript?: boolean;\r\n /** Superscript */\r\n superscript?: boolean;\r\n /** Font name */\r\n font?: string;\r\n /** Font size in points (half-points for Word) */\r\n size?: number;\r\n /** Font size for complex scripts (RTL languages) in points. If not set, uses size. */\r\n sizeCs?: number;\r\n /** Text color in hex format (without #) */\r\n color?: string;\r\n /**\r\n * Theme color reference for text color per ECMA-376 Part 1 Section 17.3.2.6\r\n * When set, the color is derived from the document's theme rather than a fixed hex value\r\n */\r\n themeColor?: ThemeColorValue;\r\n /**\r\n * Theme color tint (0-255, where 0=no tint, 255=full tint toward white)\r\n * Applied to themeColor to create lighter variations\r\n */\r\n themeTint?: number;\r\n /**\r\n * Theme color shade (0-255, where 0=no shade, 255=full shade toward black)\r\n * Applied to themeColor to create darker variations\r\n */\r\n themeShade?: number;\r\n /** Highlight color */\r\n highlight?:\r\n | \"yellow\"\r\n | \"green\"\r\n | \"cyan\"\r\n | \"magenta\"\r\n | \"blue\"\r\n | \"red\"\r\n | \"darkBlue\"\r\n | \"darkCyan\"\r\n | \"darkGreen\"\r\n | \"darkMagenta\"\r\n | \"darkRed\"\r\n | \"darkYellow\"\r\n | \"darkGray\"\r\n | \"lightGray\"\r\n | \"black\"\r\n | \"white\";\r\n /** Small caps */\r\n smallCaps?: boolean;\r\n /** All caps */\r\n allCaps?: boolean;\r\n /** Outline text effect - displays text with an outline */\r\n outline?: boolean;\r\n /** Shadow text effect - displays text with a shadow */\r\n shadow?: boolean;\r\n /** Emboss text effect - displays text with a 3D embossed appearance */\r\n emboss?: boolean;\r\n /** Imprint/engrave text effect - displays text with a pressed-in appearance */\r\n imprint?: boolean;\r\n /** Right-to-left text direction (for languages like Arabic, Hebrew) */\r\n rtl?: boolean;\r\n /** Hidden/vanish text (not displayed but present in document) */\r\n vanish?: boolean;\r\n /** No proofing - skip spell check and grammar check for this text */\r\n noProof?: boolean;\r\n /** Snap to grid - align text to document grid */\r\n snapToGrid?: boolean;\r\n /** Special vanish - hidden text for specific scenarios (like TOC entries) */\r\n specVanish?: boolean;\r\n /** Text effect/animation type */\r\n effect?:\r\n | \"none\"\r\n | \"lights\"\r\n | \"blinkBackground\"\r\n | \"sparkleText\"\r\n | \"marchingBlackAnts\"\r\n | \"marchingRedAnts\"\r\n | \"shimmer\"\r\n | \"antsBlack\"\r\n | \"antsRed\";\r\n /** Fit text to width in twips (1/20th of a point) */\r\n fitText?: number;\r\n /** East Asian typography layout options */\r\n eastAsianLayout?: EastAsianLayout;\r\n /** Complex script formatting flag (w:cs) per ECMA-376 Part 1 §17.3.2.7 */\r\n complexScript?: boolean;\r\n /** Web hidden - hide text in web layout view (w:webHidden) per ECMA-376 Part 1 §17.3.2.44 */\r\n webHidden?: boolean;\r\n /** High ANSI font (w:rFonts w:hAnsi) - font for characters in the high ANSI range */\r\n fontHAnsi?: string;\r\n /** East Asian font (w:rFonts w:eastAsia) - font for East Asian characters */\r\n fontEastAsia?: string;\r\n /** Complex script font (w:rFonts w:cs) - font for complex script (RTL) characters */\r\n fontCs?: string;\r\n /** Font hint (w:rFonts w:hint) - hint for font selection: 'default' | 'eastAsia' | 'cs' */\r\n fontHint?: string;\r\n /** ASCII theme font reference (w:rFonts w:asciiTheme) per ECMA-376 Part 1 §17.3.2.26 */\r\n fontAsciiTheme?: string;\r\n /** High ANSI theme font reference (w:rFonts w:hAnsiTheme) per ECMA-376 Part 1 §17.3.2.26 */\r\n fontHAnsiTheme?: string;\r\n /** East Asian theme font reference (w:rFonts w:eastAsiaTheme) per ECMA-376 Part 1 §17.3.2.26 */\r\n fontEastAsiaTheme?: string;\r\n /** Complex script theme font reference (w:rFonts w:cstheme) per ECMA-376 Part 1 §17.3.2.26 */\r\n fontCsTheme?: string;\r\n /**\r\n * Raw w14: namespace elements from rPr (Word 2010+ text effects)\r\n * Stored as raw XML strings for passthrough round-trip fidelity.\r\n * Includes: w14:textOutline, w14:shadow, w14:reflection, w14:glow,\r\n * w14:ligatures, w14:numForm, w14:numSpacing, w14:cntxtAlts, w14:stylisticSets\r\n */\r\n rawW14Properties?: string[];\r\n /**\r\n * Automatically clean XML-like patterns from text content.\r\n * When true (default), removes XML tags like <w:t> from text to prevent display issues.\r\n * Set to false to disable auto-cleaning (useful for debugging).\r\n * Default: true (auto-clean enabled by default for defensive data handling)\r\n */\r\n cleanXmlFromText?: boolean;\r\n}\r\n\r\n/**\r\n * Represents a run of formatted text\r\n */\r\nexport class Run {\r\n private content: RunContent[];\r\n private formatting: RunFormatting;\r\n private trackingContext?: import('../tracking/TrackingContext').TrackingContext;\r\n private propertyChangeRevision?: RunPropertyChange;\r\n /** Parent paragraph reference for automatic tracking */\r\n private _parentParagraph?: import('./Paragraph').Paragraph;\r\n\r\n /**\r\n * Creates a new Run\r\n * @param text - The text content\r\n * @param formatting - Formatting options\r\n */\r\n constructor(text: string, formatting: RunFormatting = {}) {\r\n // Warn about undefined/null text to help catch data quality issues\r\n if (text === undefined || text === null) {\r\n defaultLogger.warn(\r\n `DocXML Text Validation Warning [Run constructor]:\\n` +\r\n ` - Received ${\r\n text === undefined ? \"undefined\" : \"null\"\r\n } text value\\n` +\r\n ` - Converting to empty string for Word compatibility`\r\n );\r\n }\r\n\r\n // Default to auto-cleaning XML patterns unless explicitly disabled\r\n const shouldClean = formatting.cleanXmlFromText !== false;\r\n\r\n // Validate text for XML patterns\r\n const validation = validateRunText(text, {\r\n context: \"Run constructor\",\r\n autoClean: shouldClean,\r\n warnToConsole: true, // Enable warnings to help catch data quality issues\r\n });\r\n\r\n // Use cleaned text if available and cleaning was requested\r\n const cleanedText = validation.cleanedText || text;\r\n\r\n // Convert undefined/null to empty string for consistent XML generation\r\n const normalizedText = cleanedText ?? \"\";\r\n\r\n // Parse text to extract special characters into separate content elements\r\n this.content = this.parseTextWithSpecialCharacters(normalizedText);\r\n\r\n // Remove cleanXmlFromText from formatting as it's not a display property\r\n const { cleanXmlFromText, ...displayFormatting } = formatting;\r\n this.formatting = displayFormatting;\r\n }\r\n\r\n /**\r\n * Parses text containing special characters and converts them to content elements\r\n * @param text Text that may contain tabs, newlines, non-breaking hyphens, etc.\r\n * @returns Array of content elements\r\n * @private\r\n */\r\n private parseTextWithSpecialCharacters(text: string): RunContent[] {\r\n if (!text) {\r\n return [{ type: \"text\", value: \"\" }];\r\n }\r\n\r\n const content: RunContent[] = [];\r\n let currentText = \"\";\r\n\r\n for (let i = 0; i < text.length; i++) {\r\n const char = text[i];\r\n\r\n switch (char) {\r\n case \"\\t\":\r\n // Add accumulated text before tab\r\n if (currentText) {\r\n content.push({ type: \"text\", value: currentText });\r\n currentText = \"\";\r\n }\r\n // Add tab element\r\n content.push({ type: \"tab\" });\r\n break;\r\n\r\n case \"\\n\":\r\n // Add accumulated text before newline\r\n if (currentText) {\r\n content.push({ type: \"text\", value: currentText });\r\n currentText = \"\";\r\n }\r\n // Add break element\r\n content.push({ type: \"break\" });\r\n break;\r\n\r\n case \"\\u2011\": // Non-breaking hyphen\r\n // Add accumulated text before non-breaking hyphen\r\n if (currentText) {\r\n content.push({ type: \"text\", value: currentText });\r\n currentText = \"\";\r\n }\r\n // Add non-breaking hyphen element\r\n content.push({ type: \"noBreakHyphen\" });\r\n break;\r\n\r\n case \"\\r\": // Carriage return\r\n // Add accumulated text before carriage return\r\n if (currentText) {\r\n content.push({ type: \"text\", value: currentText });\r\n currentText = \"\";\r\n }\r\n // Add carriage return element\r\n content.push({ type: \"carriageReturn\" });\r\n break;\r\n\r\n case \"\\u00AD\": // Soft hyphen\r\n // Add accumulated text before soft hyphen\r\n if (currentText) {\r\n content.push({ type: \"text\", value: currentText });\r\n currentText = \"\";\r\n }\r\n // Add soft hyphen element\r\n content.push({ type: \"softHyphen\" });\r\n break;\r\n\r\n default:\r\n // Accumulate regular text\r\n currentText += char;\r\n break;\r\n }\r\n }\r\n\r\n // Add any remaining text\r\n if (currentText) {\r\n content.push({ type: \"text\", value: currentText });\r\n }\r\n\r\n // If no content was added (empty string), add empty text element\r\n if (content.length === 0) {\r\n content.push({ type: \"text\", value: \"\" });\r\n }\r\n\r\n return content;\r\n }\r\n\r\n /**\r\n * Gets the text content from the run\r\n *\r\n * Concatenates all content elements and converts special characters\r\n * (tabs, breaks, etc.) back to their string representation.\r\n *\r\n * @returns The complete text string including tabs (\\t) and line breaks (\\n)\r\n *\r\n * @example\r\n * ```typescript\r\n * const run = new Run('Hello\\tWorld');\r\n * console.log(run.getText()); // \"Hello\\tWorld\"\r\n * ```\r\n */\r\n getText(): string {\r\n return this.content\r\n .map((c) => {\r\n switch (c.type) {\r\n case \"text\":\r\n return c.value || \"\";\r\n case \"tab\":\r\n return \"\\t\";\r\n case \"break\":\r\n return \"\\n\";\r\n case \"carriageReturn\":\r\n return \"\\r\";\r\n case \"softHyphen\":\r\n return \"\\u00AD\";\r\n case \"noBreakHyphen\":\r\n return \"\\u2011\";\r\n case \"instructionText\":\r\n return \"\";\r\n case \"fieldChar\":\r\n return \"\";\r\n default:\r\n return \"\";\r\n }\r\n })\r\n .join(\"\");\r\n }\r\n\r\n /**\r\n * Sets the text content of the run\r\n *\r\n * Replaces all existing content with new text. Special characters like\r\n * tabs (\\t) and newlines (\\n) are automatically converted to their\r\n * corresponding XML elements.\r\n *\r\n * @remarks\r\n * When change tracking is enabled and this run has a parent paragraph,\r\n * calling `setText()` will replace this run in the paragraph's content\r\n * array with multiple new elements (unchanged runs + revision wrappers).\r\n * After this call, the original run reference may no longer be present\r\n * in the paragraph — callers should re-query the paragraph content\r\n * rather than continuing to use the original run reference.\r\n *\r\n * @param text - The new text content\r\n *\r\n * @example\r\n * ```typescript\r\n * const run = new Run('Old text');\r\n * run.setText('New text');\r\n * run.setText('Text with\\ttab'); // Tab is preserved\r\n * ```\r\n */\r\n setText(text: string): void {\r\n // Capture old text and content for tracking before any changes\r\n const oldText = this.getText();\r\n const oldContent = [...this.content];\r\n\r\n // Warn about undefined/null text to help catch data quality issues\r\n if (text === undefined || text === null) {\r\n defaultLogger.warn(\r\n `DocXML Text Validation Warning [Run.setText]:\\n` +\r\n ` - Received ${\r\n text === undefined ? \"undefined\" : \"null\"\r\n } text value\\n` +\r\n ` - Converting to empty string for Word compatibility`\r\n );\r\n }\r\n\r\n // Respect original cleanXmlFromText setting (Issue #9 fix)\r\n // This ensures consistent behavior with constructor\r\n const shouldClean = this.formatting.cleanXmlFromText !== false;\r\n\r\n // Validate text for XML patterns\r\n const validation = validateRunText(text, {\r\n context: \"Run.setText\",\r\n autoClean: shouldClean,\r\n warnToConsole: true, // Enable warnings to help catch data quality issues\r\n });\r\n\r\n // Use cleaned text if available and cleaning was requested\r\n const cleanedText = validation.cleanedText || text;\r\n\r\n // Convert undefined/null to empty string for consistent XML generation\r\n const normalizedText = cleanedText ?? \"\";\r\n\r\n // Check if current content is all instructionText - preserve the type\r\n // This is critical for TOC field instructions and other field codes\r\n // Without this, calling setText() on a run with instrText would convert it to w:t\r\n // which causes field instruction codes to appear as visible text in Word\r\n const isAllInstructionText = this.content.length > 0 &&\r\n this.content.every(c => c.type === \"instructionText\");\r\n\r\n if (isAllInstructionText) {\r\n // Preserve instructionText type - just update the value\r\n this.content = [{ type: \"instructionText\", value: normalizedText }];\r\n } else {\r\n // Normal behavior - parse text to extract special characters into separate content elements\r\n this.content = this.parseTextWithSpecialCharacters(normalizedText);\r\n }\r\n\r\n // Track text change if tracking is enabled and text actually changed\r\n if (this.trackingContext?.isEnabled() && this._parentParagraph && oldText !== normalizedText && oldText) {\r\n // Check if original content had non-text types that getText() can't faithfully represent\r\n // (VML, fieldChar, symbol, embeddedObject) — if so, fall back to whole-run replacement\r\n const hasNonTextContent = oldContent.some(c =>\r\n c.type === 'vml' || c.type === 'fieldChar' || c.type === 'symbol' || c.type === 'embeddedObject'\r\n );\r\n\r\n const segments = hasNonTextContent ? [] : diffText(oldText, normalizedText);\r\n const useGranular = !hasNonTextContent && diffHasUnchangedParts(segments);\r\n\r\n if (useGranular) {\r\n // Fine-grained tracking: split into unchanged runs + delete/insert revisions\r\n const revManager = this.trackingContext.getRevisionManager();\r\n const now = new Date();\r\n const newContent: (Run | RevisionType)[] = [];\r\n\r\n for (const seg of segments) {\r\n if (seg.type === 'equal') {\r\n // Create a new run with the same formatting for the unchanged portion\r\n const equalRun = this.clone();\r\n equalRun.content = this.parseTextWithSpecialCharacters(seg.text);\r\n equalRun._setTrackingContext(this.trackingContext);\r\n equalRun._setParentParagraph(this._parentParagraph);\r\n newContent.push(equalRun);\r\n } else if (seg.type === 'delete') {\r\n const delRun = this.clone();\r\n delRun.content = this.parseTextWithSpecialCharacters(seg.text);\r\n const delRev = this.trackingContext.createDeletion(delRun, now);\r\n revManager.register(delRev);\r\n newContent.push(delRev);\r\n } else if (seg.type === 'insert') {\r\n const insRun = this.clone();\r\n insRun.content = this.parseTextWithSpecialCharacters(seg.text);\r\n const insRev = this.trackingContext.createInsertion(insRun, now);\r\n revManager.register(insRev);\r\n newContent.push(insRev);\r\n }\r\n }\r\n\r\n this._parentParagraph.replaceContent(this, newContent);\r\n } else {\r\n // Whole-run fallback: complete replacement (no shared text, or non-text content)\r\n const revManager = this.trackingContext.getRevisionManager();\r\n const now = new Date();\r\n\r\n const deleteRun = this.clone();\r\n deleteRun.content = this.parseTextWithSpecialCharacters(oldText);\r\n\r\n const deleteRev = this.trackingContext.createDeletion(deleteRun, now);\r\n revManager.register(deleteRev);\r\n\r\n const insertRev = this.trackingContext.createInsertion(this, now);\r\n revManager.register(insertRev);\r\n\r\n this._parentParagraph.replaceContent(this, [deleteRev, insertRev]);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Gets a copy of the run formatting\r\n *\r\n * Returns a copy of all formatting properties including font, size,\r\n * bold, italic, color, and all other formatting attributes.\r\n *\r\n * @returns Copy of the run formatting object\r\n *\r\n * @example\r\n * ```typescript\r\n * const formatting = run.getFormatting();\r\n * console.log(`Font: ${formatting.font}, Size: ${formatting.size}pt`);\r\n * if (formatting.bold) {\r\n * console.log('Text is bold');\r\n * }\r\n * ```\r\n */\r\n getFormatting(): RunFormatting {\r\n return { ...this.formatting };\r\n }\r\n\r\n /**\r\n * Gets the bold formatting value\r\n * @returns True if bold, false otherwise\r\n */\r\n getBold(): boolean {\r\n return this.formatting.bold ?? false;\r\n }\r\n\r\n /**\r\n * Gets the italic formatting value\r\n * @returns True if italic, false otherwise\r\n */\r\n getItalic(): boolean {\r\n return this.formatting.italic ?? false;\r\n }\r\n\r\n /**\r\n * Gets the underline style\r\n * @returns Underline style (string, boolean, or undefined)\r\n */\r\n getUnderline(): boolean | \"none\" | \"single\" | \"double\" | \"dotted\" | \"thick\" | \"dash\" | undefined {\r\n return this.formatting.underline;\r\n }\r\n\r\n /**\r\n * Gets the strikethrough formatting value\r\n * @returns True if strikethrough, false otherwise\r\n */\r\n getStrike(): boolean {\r\n return this.formatting.strike ?? false;\r\n }\r\n\r\n /**\r\n * Gets the font family name\r\n * @returns Font name or undefined if not set\r\n */\r\n getFont(): string | undefined {\r\n return this.formatting.font;\r\n }\r\n\r\n /**\r\n * Gets the font size in half-points\r\n * @returns Size in half-points or undefined if not set\r\n */\r\n getSize(): number | undefined {\r\n return this.formatting.size;\r\n }\r\n\r\n /**\r\n * Gets the text color as hex string\r\n * @returns Color hex string or undefined if not set\r\n */\r\n getColor(): string | undefined {\r\n return this.formatting.color;\r\n }\r\n\r\n /**\r\n * Gets the highlight color\r\n * @returns Highlight color name or undefined if not set\r\n */\r\n getHighlight(): string | undefined {\r\n return this.formatting.highlight;\r\n }\r\n\r\n /**\r\n * Gets the subscript formatting value\r\n * @returns True if subscript, false otherwise\r\n */\r\n getSubscript(): boolean {\r\n return this.formatting.subscript ?? false;\r\n }\r\n\r\n /**\r\n * Gets the superscript formatting value\r\n * @returns True if superscript, false otherwise\r\n */\r\n getSuperscript(): boolean {\r\n return this.formatting.superscript ?? false;\r\n }\r\n\r\n /**\r\n * Gets whether the run is right-to-left text\r\n * @returns True if RTL, false otherwise\r\n */\r\n isRTL(): boolean {\r\n return this.formatting.rtl ?? false;\r\n }\r\n\r\n /**\r\n * Gets the small caps formatting value\r\n * @returns True if small caps, false otherwise\r\n */\r\n getSmallCaps(): boolean {\r\n return this.formatting.smallCaps ?? false;\r\n }\r\n\r\n /**\r\n * Gets the all caps formatting value\r\n * @returns True if all caps, false otherwise\r\n */\r\n getAllCaps(): boolean {\r\n return this.formatting.allCaps ?? false;\r\n }\r\n\r\n /**\r\n * Gets effective bold formatting, resolving from:\r\n * 1. Direct formatting on this run\r\n * 2. Table conditional formatting (if in a table cell)\r\n *\r\n * @returns True if text should render bold, undefined if not determinable\r\n *\r\n * @example\r\n * ```typescript\r\n * // Check effective bold (considers table conditional formatting)\r\n * const isBold = run.getEffectiveBold();\r\n * if (isBold) {\r\n * console.log('Text appears bold (direct or via table style)');\r\n * }\r\n * ```\r\n */\r\n getEffectiveBold(): boolean | undefined {\r\n // Direct formatting takes highest precedence\r\n if (this.formatting.bold !== undefined) {\r\n return this.formatting.bold;\r\n }\r\n\r\n // Check table conditional formatting\r\n return this.getConditionalFormattingProperty(\"bold\");\r\n }\r\n\r\n /**\r\n * Gets effective italic formatting, resolving from:\r\n * 1. Direct formatting on this run\r\n * 2. Table conditional formatting (if in a table cell)\r\n *\r\n * @returns True if text should render italic, undefined if not determinable\r\n */\r\n getEffectiveItalic(): boolean | undefined {\r\n if (this.formatting.italic !== undefined) {\r\n return this.formatting.italic;\r\n }\r\n return this.getConditionalFormattingProperty(\"italic\");\r\n }\r\n\r\n /**\r\n * Gets effective color formatting, resolving from:\r\n * 1. Direct formatting on this run\r\n * 2. Table conditional formatting (if in a table cell)\r\n *\r\n * @returns Hex color string or undefined\r\n */\r\n getEffectiveColor(): string | undefined {\r\n if (this.formatting.color !== undefined) {\r\n return this.formatting.color;\r\n }\r\n return this.getConditionalFormattingProperty(\"color\");\r\n }\r\n\r\n /**\r\n * Gets effective font formatting, resolving from:\r\n * 1. Direct formatting on this run\r\n * 2. Table conditional formatting (if in a table cell)\r\n *\r\n * @returns Font name or undefined\r\n */\r\n getEffectiveFont(): string | undefined {\r\n if (this.formatting.font !== undefined) {\r\n return this.formatting.font;\r\n }\r\n return this.getConditionalFormattingProperty(\"font\");\r\n }\r\n\r\n /**\r\n * Gets effective font size formatting, resolving from:\r\n * 1. Direct formatting on this run\r\n * 2. Table conditional formatting (if in a table cell)\r\n *\r\n * @returns Font size in points or undefined\r\n */\r\n getEffectiveSize(): number | undefined {\r\n if (this.formatting.size !== undefined) {\r\n return this.formatting.size;\r\n }\r\n return this.getConditionalFormattingProperty(\"size\");\r\n }\r\n\r\n /**\r\n * Checks if this run has the \"Hyperlink\" character style applied.\r\n *\r\n * This is useful when applying bulk style changes to a document,\r\n * to avoid overwriting hyperlink formatting (which would make\r\n * hyperlinks appear as plain text).\r\n *\r\n * @returns True if the run has \"Hyperlink\" character style\r\n *\r\n * @example\r\n * ```typescript\r\n * // Skip hyperlink-styled runs when applying color changes\r\n * for (const para of doc.getParagraphs()) {\r\n * for (const run of para.getRuns()) {\r\n * if (run.isHyperlinkStyled()) {\r\n * continue; // Preserve hyperlink formatting\r\n * }\r\n * run.setColor('000000');\r\n * }\r\n * }\r\n * ```\r\n */\r\n isHyperlinkStyled(): boolean {\r\n return this.formatting.characterStyle === \"Hyperlink\";\r\n }\r\n\r\n /**\r\n * Gets a specific property from table conditional formatting.\r\n * Traverses the parent chain to find conditional formatting from table styles.\r\n * @internal\r\n */\r\n private getConditionalFormattingProperty<K extends keyof RunFormatting>(\r\n property: K\r\n ): RunFormatting[K] | undefined {\r\n // Need parent paragraph to access cell context\r\n const para = this._parentParagraph;\r\n if (!para) return undefined;\r\n\r\n // Check if paragraph is in a table cell\r\n const cell = para._getParentCell();\r\n if (!cell) return undefined;\r\n\r\n // Get the cnfStyle (which conditionals apply)\r\n const cnfStyle = para.getTableConditionalStyle();\r\n if (!cnfStyle) return undefined;\r\n\r\n // Decode cnfStyle to find active conditionals\r\n const activeConditionals = getActiveConditionalsInPriorityOrder(cnfStyle);\r\n\r\n // Try explicit table style first\r\n const tableStyleId = cell.getTableStyleId();\r\n const stylesManager = para._getStylesManager();\r\n\r\n if (tableStyleId && stylesManager) {\r\n const style = stylesManager.getStyle(tableStyleId);\r\n if (style) {\r\n const tableStyleProps = style.getProperties().tableStyle;\r\n if (tableStyleProps?.conditionalFormatting) {\r\n // Check active conditionals in priority order (corners > edges > banding)\r\n for (const conditionalType of activeConditionals) {\r\n const conditional = tableStyleProps.conditionalFormatting.find(\r\n (cf) => cf.type === conditionalType\r\n );\r\n if (conditional?.runFormatting?.[property] !== undefined) {\r\n return conditional.runFormatting[property];\r\n }\r\n }\r\n\r\n // Fallback: check wholeTable conditional (applies to all cells)\r\n const wholeTable = tableStyleProps.conditionalFormatting.find(\r\n (cf) => cf.type === \"wholeTable\"\r\n );\r\n if (wholeTable?.runFormatting?.[property] !== undefined) {\r\n return wholeTable.runFormatting[property];\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Apply Word's default formatting when no explicit style\r\n // Per Word behavior: firstRow, firstCol, lastRow, lastCol get bold by default\r\n if (property === \"bold\" && activeConditionals.length > 0) {\r\n const table = cell._getParentRow()?._getParentTable();\r\n if (table) {\r\n const tblLookFlags = table.getTblLookFlags();\r\n\r\n // Check if cell's conditional matches enabled tblLook flags\r\n for (const conditionalType of activeConditionals) {\r\n if (conditionalType === \"firstRow\" && tblLookFlags.firstRow)\r\n return true as RunFormatting[K];\r\n if (conditionalType === \"lastRow\" && tblLookFlags.lastRow)\r\n return true as RunFormatting[K];\r\n if (conditionalType === \"firstCol\" && tblLookFlags.firstColumn)\r\n return true as RunFormatting[K];\r\n if (conditionalType === \"lastCol\" && tblLookFlags.lastColumn)\r\n return true as RunFormatting[K];\r\n }\r\n }\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n /**\r\n * Sets character style reference\r\n * Per ECMA-376 Part 1 §17.3.2.36\r\n * @param styleId - Character style ID to apply\r\n * @returns This run for chaining\r\n */\r\n setCharacterStyle(styleId: string): this {\r\n const previousValue = this.formatting.characterStyle;\r\n this.formatting.characterStyle = styleId;\r\n if (this.trackingContext?.isEnabled() && previousValue !== styleId) {\r\n this.trackingContext.trackRunPropertyChange(this, 'characterStyle', previousValue, styleId);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets text border\r\n * Per ECMA-376 Part 1 §17.3.2.5\r\n * @param border - Border definition\r\n * @returns This run for chaining\r\n */\r\n setBorder(border: TextBorder): this {\r\n const previousValue = this.formatting.border;\r\n this.formatting.border = border;\r\n if (this.trackingContext?.isEnabled() && previousValue !== border) {\r\n this.trackingContext.trackRunPropertyChange(this, 'border', previousValue, border);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets character shading (background)\r\n * Per ECMA-376 Part 1 §17.3.2.32\r\n * @param shading - Shading definition\r\n * @returns This run for chaining\r\n */\r\n setShading(shading: CharacterShading): this {\r\n const previousValue = this.formatting.shading;\r\n this.formatting.shading = shading;\r\n if (this.trackingContext?.isEnabled() && previousValue !== shading) {\r\n this.trackingContext.trackRunPropertyChange(this, 'shading', previousValue, shading);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets emphasis mark\r\n * Per ECMA-376 Part 1 §17.3.2.13\r\n * @param emphasis - Emphasis mark type ('dot', 'comma', 'circle', 'underDot')\r\n * @returns This run for chaining\r\n */\r\n setEmphasis(emphasis: EmphasisMark): this {\r\n const previousValue = this.formatting.emphasis;\r\n this.formatting.emphasis = emphasis;\r\n if (this.trackingContext?.isEnabled() && previousValue !== emphasis) {\r\n this.trackingContext.trackRunPropertyChange(this, 'emphasis', previousValue, emphasis);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets the tracking context for automatic change tracking.\r\n * Called by Document when track changes is enabled.\r\n * @internal\r\n */\r\n _setTrackingContext(context: import('../tracking/TrackingContext').TrackingContext): void {\r\n this.trackingContext = context;\r\n }\r\n\r\n /**\r\n * Sets the parent paragraph reference for this run\r\n * @internal Used for content tracking\r\n */\r\n _setParentParagraph(paragraph: import('./Paragraph').Paragraph): void {\r\n this._parentParagraph = paragraph;\r\n }\r\n\r\n /**\r\n * Gets the parent paragraph reference\r\n * @internal Used for content tracking\r\n */\r\n _getParentParagraph(): import('./Paragraph').Paragraph | undefined {\r\n return this._parentParagraph;\r\n }\r\n\r\n /**\r\n * Gets the property change revision for this run (if any)\r\n *\r\n * Property change revisions (w:rPrChange) track formatting changes to runs.\r\n * They contain the PREVIOUS properties before the change was made.\r\n *\r\n * @returns Property change revision or undefined if not set\r\n *\r\n * @example\r\n * ```typescript\r\n * const propChange = run.getPropertyChangeRevision();\r\n * if (propChange) {\r\n * console.log(`Changed by ${propChange.author} on ${propChange.date}`);\r\n * console.log(`Previous: ${JSON.stringify(propChange.previousProperties)}`);\r\n * }\r\n * ```\r\n */\r\n getPropertyChangeRevision(): RunPropertyChange | undefined {\r\n return this.propertyChangeRevision;\r\n }\r\n\r\n /**\r\n * Sets the property change revision for this run\r\n *\r\n * Property change revisions (w:rPrChange) are stored inside the run properties\r\n * element (w:rPr) and track what the previous formatting was before a change.\r\n * This is used for round-trip preservation of tracked changes.\r\n *\r\n * @param propChange - Property change revision data\r\n * @returns This run for method chaining\r\n *\r\n * @example\r\n * ```typescript\r\n * run.setPropertyChangeRevision({\r\n * id: 1,\r\n * author: 'John Doe',\r\n * date: new Date(),\r\n * previousProperties: { bold: true }\r\n * });\r\n * ```\r\n */\r\n setPropertyChangeRevision(propChange: RunPropertyChange): this {\r\n this.propertyChangeRevision = propChange;\r\n return this;\r\n }\r\n\r\n /**\r\n * Clears the property change revision for this run\r\n *\r\n * @returns This run for method chaining\r\n */\r\n clearPropertyChangeRevision(): this {\r\n this.propertyChangeRevision = undefined;\r\n return this;\r\n }\r\n\r\n /**\r\n * Checks if this run has a property change revision\r\n *\r\n * @returns True if a property change revision is set\r\n */\r\n hasPropertyChangeRevision(): boolean {\r\n return this.propertyChangeRevision !== undefined;\r\n }\r\n\r\n /**\r\n * Sets bold formatting\r\n *\r\n * Makes the text bold or removes bold formatting.\r\n *\r\n * @param bold - If true, applies bold; if false, removes bold (default: true)\r\n * @returns This run instance for method chaining\r\n *\r\n * @example\r\n * ```typescript\r\n * run.setBold(); // Apply bold\r\n * run.setBold(true); // Apply bold\r\n * run.setBold(false); // Remove bold\r\n * ```\r\n */\r\n setBold(bold = true): this {\r\n const previousValue = this.formatting.bold;\r\n this.formatting.bold = bold;\r\n if (this.trackingContext?.isEnabled() && previousValue !== bold) {\r\n this.trackingContext.trackRunPropertyChange(this, 'bold', previousValue, bold);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets italic formatting\r\n *\r\n * Makes the text italic or removes italic formatting.\r\n *\r\n * @param italic - If true, applies italic; if false, removes italic (default: true)\r\n * @returns This run instance for method chaining\r\n *\r\n * @example\r\n * ```typescript\r\n * run.setItalic(); // Apply italic\r\n * run.setItalic(true); // Apply italic\r\n * run.setItalic(false); // Remove italic\r\n * ```\r\n */\r\n setItalic(italic = true): this {\r\n const previousValue = this.formatting.italic;\r\n this.formatting.italic = italic;\r\n if (this.trackingContext?.isEnabled() && previousValue !== italic) {\r\n this.trackingContext.trackRunPropertyChange(this, 'italic', previousValue, italic);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets bold formatting for complex scripts (RTL languages)\r\n * Per ECMA-376 Part 1 §17.3.2.3\r\n * @param bold - Whether text is bold for complex scripts\r\n */\r\n setComplexScriptBold(bold = true): this {\r\n const previousValue = this.formatting.complexScriptBold;\r\n this.formatting.complexScriptBold = bold;\r\n if (this.trackingContext?.isEnabled() && previousValue !== bold) {\r\n this.trackingContext.trackRunPropertyChange(this, 'complexScriptBold', previousValue, bold);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets italic formatting for complex scripts (RTL languages)\r\n * Per ECMA-376 Part 1 §17.3.2.17\r\n * @param italic - Whether text is italic for complex scripts\r\n */\r\n setComplexScriptItalic(italic = true): this {\r\n const previousValue = this.formatting.complexScriptItalic;\r\n this.formatting.complexScriptItalic = italic;\r\n if (this.trackingContext?.isEnabled() && previousValue !== italic) {\r\n this.trackingContext.trackRunPropertyChange(this, 'complexScriptItalic', previousValue, italic);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets character spacing (letter spacing)\r\n * Per ECMA-376 Part 1 §17.3.2.33\r\n * @param spacing - Spacing in twips (1/20th of a point). Positive values expand, negative values condense.\r\n */\r\n setCharacterSpacing(spacing: number): this {\r\n const previousValue = this.formatting.characterSpacing;\r\n this.formatting.characterSpacing = spacing;\r\n if (this.trackingContext?.isEnabled() && previousValue !== spacing) {\r\n this.trackingContext.trackRunPropertyChange(this, 'characterSpacing', previousValue, spacing);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets horizontal text scaling\r\n * Per ECMA-376 Part 1 §17.3.2.43\r\n * @param scaling - Scaling percentage (e.g., 200 = 200% width, 50 = 50% width). Default is 100.\r\n */\r\n setScaling(scaling: number): this {\r\n const previousValue = this.formatting.scaling;\r\n this.formatting.scaling = scaling;\r\n if (this.trackingContext?.isEnabled() && previousValue !== scaling) {\r\n this.trackingContext.trackRunPropertyChange(this, 'scaling', previousValue, scaling);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets vertical text position\r\n * Per ECMA-376 Part 1 §17.3.2.31\r\n * @param position - Position in half-points. Positive values raise text, negative values lower it.\r\n */\r\n setPosition(position: number): this {\r\n const previousValue = this.formatting.position;\r\n this.formatting.position = position;\r\n if (this.trackingContext?.isEnabled() && previousValue !== position) {\r\n this.trackingContext.trackRunPropertyChange(this, 'position', previousValue, position);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets kerning threshold\r\n * Per ECMA-376 Part 1 §17.3.2.20\r\n * @param kerning - Font size in half-points at which kerning starts. 0 disables kerning.\r\n */\r\n setKerning(kerning: number): this {\r\n const previousValue = this.formatting.kerning;\r\n this.formatting.kerning = kerning;\r\n if (this.trackingContext?.isEnabled() && previousValue !== kerning) {\r\n this.trackingContext.trackRunPropertyChange(this, 'kerning', previousValue, kerning);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets language\r\n * Per ECMA-376 Part 1 §17.3.2.20\r\n * @param language - Language code (e.g., 'en-US', 'fr-FR', 'es-ES')\r\n */\r\n setLanguage(language: string): this {\r\n const previousValue = this.formatting.language;\r\n this.formatting.language = language;\r\n if (this.trackingContext?.isEnabled() && previousValue !== language) {\r\n this.trackingContext.trackRunPropertyChange(this, 'language', previousValue, language);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets underline formatting\r\n *\r\n * Applies various underline styles or removes underlining.\r\n *\r\n * @param underline - Underline style or boolean (default: true = 'single')\r\n * - true or 'single': Single underline\r\n * - 'double': Double underline\r\n * - 'thick': Thick underline\r\n * - 'dotted': Dotted underline\r\n * - 'dash': Dashed underline\r\n * - false: No underline\r\n * @returns This run instance for method chaining\r\n *\r\n * @example\r\n * ```typescript\r\n * run.setUnderline(); // Single underline\r\n * run.setUnderline('double'); // Double underline\r\n * run.setUnderline(false); // Remove underline\r\n * ```\r\n */\r\n setUnderline(underline: RunFormatting[\"underline\"] = true): this {\r\n const previousValue = this.formatting.underline;\r\n this.formatting.underline = underline;\r\n if (this.trackingContext?.isEnabled() && previousValue !== underline) {\r\n this.trackingContext.trackRunPropertyChange(this, 'underline', previousValue, underline);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets underline color per ECMA-376 Part 1 §17.3.2.40\r\n * @param color - Color in hex format (without #)\r\n * @returns This run for method chaining\r\n */\r\n setUnderlineColor(color: string): this {\r\n this.formatting.underlineColor = normalizeColor(color);\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets underline theme color per ECMA-376 Part 1 §17.3.2.40\r\n * @param themeColor - Theme color reference\r\n * @param themeTint - Optional tint (0-255)\r\n * @param themeShade - Optional shade (0-255)\r\n * @returns This run for method chaining\r\n */\r\n setUnderlineThemeColor(themeColor: ThemeColorValue, themeTint?: number, themeShade?: number): this {\r\n this.formatting.underlineThemeColor = themeColor;\r\n if (themeTint !== undefined) this.formatting.underlineThemeTint = themeTint;\r\n if (themeShade !== undefined) this.formatting.underlineThemeShade = themeShade;\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets strikethrough formatting\r\n *\r\n * Adds or removes a line through the text.\r\n *\r\n * @param strike - If true, applies strikethrough; if false, removes it (default: true)\r\n * @returns This run instance for method chaining\r\n *\r\n * @example\r\n * ```typescript\r\n * run.setStrike(); // Apply strikethrough\r\n * run.setStrike(false); // Remove strikethrough\r\n * ```\r\n */\r\n setStrike(strike = true): this {\r\n const previousValue = this.formatting.strike;\r\n this.formatting.strike = strike;\r\n if (this.trackingContext?.isEnabled() && previousValue !== strike) {\r\n this.trackingContext.trackRunPropertyChange(this, 'strike', previousValue, strike);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets subscript formatting\r\n *\r\n * Lowers the text below the baseline (e.g., H₂O).\r\n * Automatically removes superscript if set.\r\n *\r\n * @param subscript - If true, applies subscript; if false, removes it (default: true)\r\n * @returns This run instance for method chaining\r\n *\r\n * @example\r\n * ```typescript\r\n * run.setText('H₂O');\r\n * run.setSubscript(); // Format as subscript\r\n * ```\r\n */\r\n setSubscript(subscript = true): this {\r\n const previousValue = this.formatting.subscript;\r\n this.formatting.subscript = subscript;\r\n if (subscript) {\r\n this.formatting.superscript = false;\r\n }\r\n if (this.trackingContext?.isEnabled() && previousValue !== subscript) {\r\n this.trackingContext.trackRunPropertyChange(this, 'subscript', previousValue, subscript);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets superscript formatting\r\n *\r\n * Raises the text above the baseline (e.g., x²).\r\n * Automatically removes subscript if set.\r\n *\r\n * @param superscript - If true, applies superscript; if false, removes it (default: true)\r\n * @returns This run instance for method chaining\r\n *\r\n * @example\r\n * ```typescript\r\n * run.setText('x²');\r\n * run.setSuperscript(); // Format as superscript\r\n * ```\r\n */\r\n setSuperscript(superscript = true): this {\r\n const previousValue = this.formatting.superscript;\r\n this.formatting.superscript = superscript;\r\n if (superscript) {\r\n this.formatting.subscript = false;\r\n }\r\n if (this.trackingContext?.isEnabled() && previousValue !== superscript) {\r\n this.trackingContext.trackRunPropertyChange(this, 'superscript', previousValue, superscript);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets font family and optionally size\r\n *\r\n * Changes the font family (typeface) and optionally the font size.\r\n *\r\n * @param font - Font family name (e.g., 'Arial', 'Times New Roman', 'Verdana')\r\n * @param size - Optional font size in points\r\n * @returns This run instance for method chaining\r\n *\r\n * @example\r\n * ```typescript\r\n * run.setFont('Arial'); // Change font only\r\n * run.setFont('Verdana', 14); // Change font and size\r\n * ```\r\n */\r\n setFont(font: string, size?: number): this {\r\n const previousFont = this.formatting.font;\r\n const previousSize = this.formatting.size;\r\n this.formatting.font = font;\r\n if (size !== undefined) {\r\n this.formatting.size = size;\r\n }\r\n if (this.trackingContext?.isEnabled()) {\r\n if (previousFont !== font) {\r\n this.trackingContext.trackRunPropertyChange(this, 'font', previousFont, font);\r\n }\r\n if (size !== undefined && previousSize !== size) {\r\n this.trackingContext.trackRunPropertyChange(this, 'size', previousSize, size);\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets font size\r\n *\r\n * Changes the size of the text in points.\r\n *\r\n * @param size - Font size in points (e.g., 12 for 12pt text)\r\n * @returns This run instance for method chaining\r\n *\r\n * @example\r\n * ```typescript\r\n * run.setSize(12); // 12pt text\r\n * run.setSize(18); // 18pt text\r\n * ```\r\n */\r\n setSize(size: number): this {\r\n const previousValue = this.formatting.size;\r\n this.formatting.size = size;\r\n if (this.trackingContext?.isEnabled() && previousValue !== size) {\r\n this.trackingContext.trackRunPropertyChange(this, 'size', previousValue, size);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets font size for complex scripts (RTL languages like Arabic, Hebrew)\r\n *\r\n * Sets the font size used for complex script text (w:szCs element).\r\n * If not set, the regular size is used for both regular and complex script text.\r\n *\r\n * @param size - Font size in points for complex scripts\r\n * @returns This run instance for method chaining\r\n *\r\n * @example\r\n * ```typescript\r\n * run.setSize(12).setSizeCs(14); // 12pt for regular, 14pt for complex scripts\r\n * ```\r\n */\r\n setSizeCs(size: number): this {\r\n const previousValue = this.formatting.sizeCs;\r\n this.formatting.sizeCs = size;\r\n if (this.trackingContext?.isEnabled() && previousValue !== size) {\r\n this.trackingContext.trackRunPropertyChange(this, 'sizeCs', previousValue, size);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets text color\r\n *\r\n * Sets the foreground (text) color using hexadecimal format.\r\n * Color is automatically normalized to uppercase without the # prefix.\r\n *\r\n * @param color - Color in hex format (with or without # prefix)\r\n * @returns This run instance for method chaining\r\n *\r\n * @throws Error if color format is invalid (not 6 hex characters)\r\n *\r\n * @example\r\n * ```typescript\r\n * run.setColor('FF0000'); // Red text\r\n * run.setColor('#0000FF'); // Blue text (# is removed)\r\n * run.setColor('00FF00'); // Green text\r\n * ```\r\n */\r\n setColor(color: string): this {\r\n const previousValue = this.formatting.color;\r\n const normalizedColor = normalizeColor(color);\r\n this.formatting.color = normalizedColor;\r\n if (this.trackingContext?.isEnabled() && previousValue !== normalizedColor) {\r\n this.trackingContext.trackRunPropertyChange(this, 'color', previousValue, normalizedColor);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets theme color reference for text\r\n *\r\n * Uses a color from the document's theme instead of a fixed hex value.\r\n * Theme colors automatically update when the document theme changes.\r\n *\r\n * @param themeColor - Theme color reference (e.g., 'accent1', 'dark1', 'hyperlink')\r\n * @returns This run instance for method chaining\r\n *\r\n * @example\r\n * ```typescript\r\n * run.setThemeColor('accent1'); // Use theme accent color 1\r\n * run.setThemeColor('hyperlink'); // Use theme hyperlink color\r\n * ```\r\n */\r\n setThemeColor(themeColor: ThemeColorValue): this {\r\n const previousValue = this.formatting.themeColor;\r\n this.formatting.themeColor = themeColor;\r\n if (this.trackingContext?.isEnabled() && previousValue !== themeColor) {\r\n this.trackingContext.trackRunPropertyChange(this, 'themeColor', previousValue, themeColor);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets theme color tint for lighter variations\r\n *\r\n * Applied to the theme color to create a lighter shade.\r\n * The tint value is a percentage where 0 = no change and 255 = white.\r\n *\r\n * @param themeTint - Tint value (0-255, toward white)\r\n * @returns This run instance for method chaining\r\n *\r\n * @example\r\n * ```typescript\r\n * run.setThemeColor('accent1').setThemeTint(128); // 50% tint toward white\r\n * ```\r\n */\r\n setThemeTint(themeTint: number): this {\r\n const previousValue = this.formatting.themeTint;\r\n this.formatting.themeTint = themeTint;\r\n if (this.trackingContext?.isEnabled() && previousValue !== themeTint) {\r\n this.trackingContext.trackRunPropertyChange(this, 'themeTint', previousValue, themeTint);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets theme color shade for darker variations\r\n *\r\n * Applied to the theme color to create a darker shade.\r\n * The shade value is a percentage where 0 = no change and 255 = black.\r\n *\r\n * @param themeShade - Shade value (0-255, toward black)\r\n * @returns This run instance for method chaining\r\n *\r\n * @example\r\n * ```typescript\r\n * run.setThemeColor('accent1').setThemeShade(128); // 50% shade toward black\r\n * ```\r\n */\r\n setThemeShade(themeShade: number): this {\r\n const previousValue = this.formatting.themeShade;\r\n this.formatting.themeShade = themeShade;\r\n if (this.trackingContext?.isEnabled() && previousValue !== themeShade) {\r\n this.trackingContext.trackRunPropertyChange(this, 'themeShade', previousValue, themeShade);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets highlight (background) color\r\n *\r\n * Applies a background highlight color to the text, similar to using\r\n * a highlighter marker.\r\n *\r\n * @param highlight - Highlight color name\r\n * - Standard colors: 'yellow', 'green', 'cyan', 'magenta', 'blue', 'red'\r\n * - Dark variants: 'darkBlue', 'darkCyan', 'darkGreen', 'darkMagenta', 'darkRed', 'darkYellow'\r\n * - Grayscale: 'darkGray', 'lightGray', 'black', 'white'\r\n * @returns This run instance for method chaining\r\n *\r\n * @example\r\n * ```typescript\r\n * run.setHighlight('yellow'); // Yellow highlight\r\n * run.setHighlight('darkGreen'); // Dark green highlight\r\n * ```\r\n */\r\n setHighlight(highlight: RunFormatting[\"highlight\"]): this {\r\n const previousValue = this.formatting.highlight;\r\n this.formatting.highlight = highlight;\r\n if (this.trackingContext?.isEnabled() && previousValue !== highlight) {\r\n this.trackingContext.trackRunPropertyChange(this, 'highlight', previousValue, highlight);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets small caps formatting\r\n *\r\n * Formats lowercase letters as smaller versions of capital letters.\r\n *\r\n * @param smallCaps - If true, applies small caps; if false, removes it (default: true)\r\n * @returns This run instance for method chaining\r\n *\r\n * @example\r\n * ```typescript\r\n * run.setText('Small Caps Text');\r\n * run.setSmallCaps(); // SMALL CAPS TEXT\r\n * ```\r\n */\r\n setSmallCaps(smallCaps = true): this {\r\n const previousValue = this.formatting.smallCaps;\r\n this.formatting.smallCaps = smallCaps;\r\n if (this.trackingContext?.isEnabled() && previousValue !== smallCaps) {\r\n this.trackingContext.trackRunPropertyChange(this, 'smallCaps', previousValue, smallCaps);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets all caps formatting\r\n *\r\n * Displays all text in capital letters regardless of original case.\r\n *\r\n * @param allCaps - If true, applies all caps; if false, removes it (default: true)\r\n * @returns This run instance for method chaining\r\n *\r\n * @example\r\n * ```typescript\r\n * run.setText('All Caps Text');\r\n * run.setAllCaps(); // ALL CAPS TEXT\r\n * ```\r\n */\r\n setAllCaps(allCaps = true): this {\r\n const previousValue = this.formatting.allCaps;\r\n this.formatting.allCaps = allCaps;\r\n if (this.trackingContext?.isEnabled() && previousValue !== allCaps) {\r\n this.trackingContext.trackRunPropertyChange(this, 'allCaps', previousValue, allCaps);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets outline text effect\r\n * @param outline - Whether to apply outline effect (default: true)\r\n * @returns This run for method chaining\r\n */\r\n setOutline(outline = true): this {\r\n const previousValue = this.formatting.outline;\r\n this.formatting.outline = outline;\r\n if (this.trackingContext?.isEnabled() && previousValue !== outline) {\r\n this.trackingContext.trackRunPropertyChange(this, 'outline', previousValue, outline);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets shadow text effect\r\n * @param shadow - Whether to apply shadow effect (default: true)\r\n * @returns This run for method chaining\r\n */\r\n setShadow(shadow = true): this {\r\n const previousValue = this.formatting.shadow;\r\n this.formatting.shadow = shadow;\r\n if (this.trackingContext?.isEnabled() && previousValue !== shadow) {\r\n this.trackingContext.trackRunPropertyChange(this, 'shadow', previousValue, shadow);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets emboss text effect\r\n * @param emboss - Whether to apply emboss effect (default: true)\r\n * @returns This run for method chaining\r\n */\r\n setEmboss(emboss = true): this {\r\n const previousValue = this.formatting.emboss;\r\n this.formatting.emboss = emboss;\r\n if (this.trackingContext?.isEnabled() && previousValue !== emboss) {\r\n this.trackingContext.trackRunPropertyChange(this, 'emboss', previousValue, emboss);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets imprint/engrave text effect\r\n * @param imprint - Whether to apply imprint effect (default: true)\r\n * @returns This run for method chaining\r\n */\r\n setImprint(imprint = true): this {\r\n const previousValue = this.formatting.imprint;\r\n this.formatting.imprint = imprint;\r\n if (this.trackingContext?.isEnabled() && previousValue !== imprint) {\r\n this.trackingContext.trackRunPropertyChange(this, 'imprint', previousValue, imprint);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets right-to-left text direction\r\n * @param rtl - Whether text is RTL (default: true)\r\n * @returns This run for method chaining\r\n */\r\n setRTL(rtl = true): this {\r\n const previousValue = this.formatting.rtl;\r\n this.formatting.rtl = rtl;\r\n if (this.trackingContext?.isEnabled() && previousValue !== rtl) {\r\n this.trackingContext.trackRunPropertyChange(this, 'rtl', previousValue, rtl);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets hidden/vanish text\r\n * @param vanish - Whether text is hidden (default: true)\r\n * @returns This run for method chaining\r\n */\r\n setVanish(vanish = true): this {\r\n const previousValue = this.formatting.vanish;\r\n this.formatting.vanish = vanish;\r\n if (this.trackingContext?.isEnabled() && previousValue !== vanish) {\r\n this.trackingContext.trackRunPropertyChange(this, 'vanish', previousValue, vanish);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets no proofing (skip spell/grammar check)\r\n * @param noProof - Whether to skip proofing (default: true)\r\n * @returns This run for method chaining\r\n */\r\n setNoProof(noProof = true): this {\r\n const previousValue = this.formatting.noProof;\r\n this.formatting.noProof = noProof;\r\n if (this.trackingContext?.isEnabled() && previousValue !== noProof) {\r\n this.trackingContext.trackRunPropertyChange(this, 'noProof', previousValue, noProof);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets snap to grid alignment\r\n * @param snapToGrid - Whether to snap to grid (default: true)\r\n * @returns This run for method chaining\r\n */\r\n setSnapToGrid(snapToGrid = true): this {\r\n const previousValue = this.formatting.snapToGrid;\r\n this.formatting.snapToGrid = snapToGrid;\r\n if (this.trackingContext?.isEnabled() && previousValue !== snapToGrid) {\r\n this.trackingContext.trackRunPropertyChange(this, 'snapToGrid', previousValue, snapToGrid);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets special vanish (hidden for specific scenarios like TOC)\r\n * @param specVanish - Whether to apply special vanish (default: true)\r\n * @returns This run for method chaining\r\n */\r\n setSpecVanish(specVanish = true): this {\r\n const previousValue = this.formatting.specVanish;\r\n this.formatting.specVanish = specVanish;\r\n if (this.trackingContext?.isEnabled() && previousValue !== specVanish) {\r\n this.trackingContext.trackRunPropertyChange(this, 'specVanish', previousValue, specVanish);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets complex script formatting flag (w:cs)\r\n * @param complexScript - Whether complex script formatting applies (default: true)\r\n * @returns This run for method chaining\r\n */\r\n setComplexScript(complexScript = true): this {\r\n const previousValue = this.formatting.complexScript;\r\n this.formatting.complexScript = complexScript;\r\n if (this.trackingContext?.isEnabled() && previousValue !== complexScript) {\r\n this.trackingContext.trackRunPropertyChange(this, 'complexScript', previousValue, complexScript);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets web hidden flag (w:webHidden) - hide text in web layout view\r\n * @param webHidden - Whether text is hidden in web view (default: true)\r\n * @returns This run for method chaining\r\n */\r\n setWebHidden(webHidden = true): this {\r\n const previousValue = this.formatting.webHidden;\r\n this.formatting.webHidden = webHidden;\r\n if (this.trackingContext?.isEnabled() && previousValue !== webHidden) {\r\n this.trackingContext.trackRunPropertyChange(this, 'webHidden', previousValue, webHidden);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets the High ANSI font (w:rFonts w:hAnsi)\r\n * @param font - Font name for high ANSI characters\r\n * @returns This run for method chaining\r\n */\r\n setFontHAnsi(font: string): this {\r\n const previousValue = this.formatting.fontHAnsi;\r\n this.formatting.fontHAnsi = font;\r\n if (this.trackingContext?.isEnabled() && previousValue !== font) {\r\n this.trackingContext.trackRunPropertyChange(this, 'fontHAnsi', previousValue, font);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets the East Asian font (w:rFonts w:eastAsia)\r\n * @param font - Font name for East Asian characters\r\n * @returns This run for method chaining\r\n */\r\n setFontEastAsia(font: string): this {\r\n const previousValue = this.formatting.fontEastAsia;\r\n this.formatting.fontEastAsia = font;\r\n if (this.trackingContext?.isEnabled() && previousValue !== font) {\r\n this.trackingContext.trackRunPropertyChange(this, 'fontEastAsia', previousValue, font);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets the complex script font (w:rFonts w:cs)\r\n * @param font - Font name for complex script (RTL) characters\r\n * @returns This run for method chaining\r\n */\r\n setFontCs(font: string): this {\r\n const previousValue = this.formatting.fontCs;\r\n this.formatting.fontCs = font;\r\n if (this.trackingContext?.isEnabled() && previousValue !== font) {\r\n this.trackingContext.trackRunPropertyChange(this, 'fontCs', previousValue, font);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets the font hint (w:rFonts w:hint)\r\n * @param hint - Font selection hint: 'default', 'eastAsia', or 'cs'\r\n * @returns This run for method chaining\r\n */\r\n setFontHint(hint: string): this {\r\n const previousValue = this.formatting.fontHint;\r\n this.formatting.fontHint = hint;\r\n if (this.trackingContext?.isEnabled() && previousValue !== hint) {\r\n this.trackingContext.trackRunPropertyChange(this, 'fontHint', previousValue, hint);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets the ASCII theme font reference (w:rFonts w:asciiTheme)\r\n * @param theme - Theme font name (e.g., 'majorHAnsi', 'minorHAnsi')\r\n * @returns This run for method chaining\r\n */\r\n setFontAsciiTheme(theme: string): this {\r\n this.formatting.fontAsciiTheme = theme;\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets the High ANSI theme font reference (w:rFonts w:hAnsiTheme)\r\n * @param theme - Theme font name\r\n * @returns This run for method chaining\r\n */\r\n setFontHAnsiTheme(theme: string): this {\r\n this.formatting.fontHAnsiTheme = theme;\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets the East Asian theme font reference (w:rFonts w:eastAsiaTheme)\r\n * @param theme - Theme font name\r\n * @returns This run for method chaining\r\n */\r\n setFontEastAsiaTheme(theme: string): this {\r\n this.formatting.fontEastAsiaTheme = theme;\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets the complex script theme font reference (w:rFonts w:cstheme)\r\n * @param theme - Theme font name\r\n * @returns This run for method chaining\r\n */\r\n setFontCsTheme(theme: string): this {\r\n this.formatting.fontCsTheme = theme;\r\n return this;\r\n }\r\n\r\n /**\r\n * Adds a raw w14: property XML string for passthrough (Word 2010+ text effects).\r\n *\r\n * **Warning:** The input XML is embedded directly in the output without sanitization.\r\n * Only pass trusted w14 namespace elements (e.g., w14:textOutline, w14:ligatures).\r\n * Do not pass user-controlled or untrusted input to this method.\r\n *\r\n * @param rawXml - The raw XML string for a w14: element (e.g., '<w14:textOutline ...>...</w14:textOutline>')\r\n * @returns This run for method chaining\r\n */\r\n addRawW14Property(rawXml: string): this {\r\n if (!this.formatting.rawW14Properties) {\r\n this.formatting.rawW14Properties = [];\r\n }\r\n this.formatting.rawW14Properties.push(rawXml);\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets text effect/animation\r\n * @param effect - Effect type (e.g., 'shimmer', 'sparkleText')\r\n * @returns This run for method chaining\r\n */\r\n setEffect(\r\n effect:\r\n | \"none\"\r\n | \"lights\"\r\n | \"blinkBackground\"\r\n | \"sparkleText\"\r\n | \"marchingBlackAnts\"\r\n | \"marchingRedAnts\"\r\n | \"shimmer\"\r\n | \"antsBlack\"\r\n | \"antsRed\"\r\n ): this {\r\n const previousValue = this.formatting.effect;\r\n this.formatting.effect = effect;\r\n if (this.trackingContext?.isEnabled() && previousValue !== effect) {\r\n this.trackingContext.trackRunPropertyChange(this, 'effect', previousValue, effect);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets fit text to width\r\n * @param width - Width in twips (1/20th of a point)\r\n * @returns This run for method chaining\r\n */\r\n setFitText(width: number): this {\r\n const previousValue = this.formatting.fitText;\r\n this.formatting.fitText = width;\r\n if (this.trackingContext?.isEnabled() && previousValue !== width) {\r\n this.trackingContext.trackRunPropertyChange(this, 'fitText', previousValue, width);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets East Asian typography layout\r\n * @param layout - East Asian layout options\r\n * @returns This run for method chaining\r\n */\r\n setEastAsianLayout(layout: EastAsianLayout): this {\r\n const previousValue = this.formatting.eastAsianLayout;\r\n this.formatting.eastAsianLayout = layout;\r\n if (this.trackingContext?.isEnabled() && previousValue !== layout) {\r\n this.trackingContext.trackRunPropertyChange(this, 'eastAsianLayout', previousValue, layout);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Converts the run to WordprocessingML XML element\r\n *\r\n * **ECMA-376 Compliance:** Properties are generated in the order specified by\r\n * ECMA-376 Part 1 §17.3.2.28 to ensure strict OpenXML conformance.\r\n *\r\n * Per spec, the order is:\r\n * 1. rFonts (font family)\r\n * 2. b (bold)\r\n * 3. i (italic)\r\n * 4. caps/smallCaps (capitalization)\r\n * 5. strike/dstrike (strikethrough)\r\n * 6. u (underline)\r\n * 7. sz/szCs (font size)\r\n * 8. color (text color)\r\n * 9. highlight (highlight color)\r\n * 10. vertAlign (subscript/superscript)\r\n *\r\n * @returns XMLElement representing the run\r\n */\r\n toXML(): XMLElement {\r\n // Get text for diagnostic logging (backward compatibility)\r\n const text = this.getText();\r\n\r\n // Diagnostic logging before serialization\r\n logSerialization(`Serializing run: \"${text}\"`, {\r\n rtl: this.formatting.rtl || false,\r\n });\r\n if (this.formatting.rtl) {\r\n logTextDirection(`Run with RTL being serialized: \"${text}\"`);\r\n }\r\n\r\n // Build the run element\r\n const runChildren: XMLElement[] = [];\r\n\r\n // Add run properties using the static helper\r\n const rPr = Run.generateRunPropertiesXML(this.formatting);\r\n if (rPr || this.propertyChangeRevision) {\r\n // If we have a property change revision, we need to add w:rPrChange to the w:rPr element\r\n // Per ECMA-376, w:rPrChange must come after all other run properties\r\n const rPrElement = rPr || { name: 'w:rPr', attributes: {}, children: [] };\r\n\r\n if (this.propertyChangeRevision) {\r\n // Reuse generateRunPropertiesXML for full ECMA-376 property coverage\r\n // This ensures all 30+ run properties are serialized in correct schema order,\r\n // rather than the subset previously handled by manual serialization.\r\n const prevRPr = this.propertyChangeRevision.previousProperties\r\n ? Run.generateRunPropertiesXML(this.propertyChangeRevision.previousProperties as RunFormatting)\r\n : null;\r\n const rPrChangeChildren: XMLElement[] = prevRPr ? [prevRPr] : [];\r\n\r\n // Create w:rPrChange element with attributes\r\n const rPrChange: XMLElement = {\r\n name: 'w:rPrChange',\r\n attributes: {\r\n 'w:id': this.propertyChangeRevision.id.toString(),\r\n 'w:author': this.propertyChangeRevision.author,\r\n 'w:date': formatDateForXml(this.propertyChangeRevision.date),\r\n },\r\n children: rPrChangeChildren,\r\n };\r\n\r\n // Add rPrChange to rPr children (must come last per ECMA-376)\r\n if (rPrElement.children) {\r\n rPrElement.children.push(rPrChange);\r\n } else {\r\n rPrElement.children = [rPrChange];\r\n }\r\n }\r\n\r\n runChildren.push(rPrElement);\r\n }\r\n\r\n // Add run content elements (text, tabs, breaks, etc.) in order\r\n for (const contentElement of this.content) {\r\n switch (contentElement.type) {\r\n case \"text\":\r\n // Always generate <w:t> element, even for empty strings\r\n // This ensures proper Word compatibility and round-trip preservation\r\n runChildren.push(\r\n XMLBuilder.w(\r\n \"t\",\r\n {\r\n \"xml:space\": \"preserve\",\r\n },\r\n [contentElement.value || \"\"]\r\n )\r\n );\r\n break;\r\n\r\n case \"tab\":\r\n runChildren.push(XMLBuilder.wSelf(\"tab\"));\r\n break;\r\n\r\n case \"break\":\r\n {\r\n const attrs: Record<string, string> = {};\r\n if (contentElement.breakType) {\r\n attrs[\"w:type\"] = contentElement.breakType;\r\n }\r\n runChildren.push(\r\n XMLBuilder.wSelf(\r\n \"br\",\r\n Object.keys(attrs).length > 0 ? attrs : undefined\r\n )\r\n );\r\n }\r\n break;\r\n\r\n case \"carriageReturn\":\r\n runChildren.push(XMLBuilder.wSelf(\"cr\"));\r\n break;\r\n\r\n case \"softHyphen\":\r\n runChildren.push(XMLBuilder.wSelf(\"softHyphen\"));\r\n break;\r\n\r\n case \"noBreakHyphen\":\r\n runChildren.push(XMLBuilder.wSelf(\"noBreakHyphen\"));\r\n break;\r\n\r\n case \"instructionText\":\r\n runChildren.push(\r\n XMLBuilder.w(\"instrText\", { \"xml:space\": \"preserve\" }, [\r\n contentElement.value || \"\",\r\n ])\r\n );\r\n break;\r\n\r\n case \"fieldChar\": {\r\n if (!contentElement.fieldCharType) {\r\n break;\r\n }\r\n const fldCharAttrs: Record<string, string> = {\r\n \"w:fldCharType\": contentElement.fieldCharType,\r\n };\r\n if (contentElement.fieldCharDirty !== undefined) {\r\n fldCharAttrs[\"w:dirty\"] = contentElement.fieldCharDirty ? \"1\" : \"0\";\r\n }\r\n if (contentElement.fieldCharLocked !== undefined) {\r\n fldCharAttrs[\"w:fldLock\"] = contentElement.fieldCharLocked ? \"1\" : \"0\";\r\n }\r\n // Generate ffData for begin field chars with form field data\r\n if (contentElement.formFieldData && contentElement.fieldCharType === \"begin\") {\r\n const ffDataChildren: (string | XMLElement)[] = [];\r\n const ffd = contentElement.formFieldData;\r\n if (ffd.name !== undefined) {\r\n ffDataChildren.push(XMLBuilder.wSelf(\"name\", { \"w:val\": ffd.name }));\r\n }\r\n if (ffd.enabled !== undefined) {\r\n if (ffd.enabled) {\r\n ffDataChildren.push(XMLBuilder.wSelf(\"enabled\"));\r\n } else {\r\n ffDataChildren.push(XMLBuilder.wSelf(\"enabled\", { \"w:val\": \"0\" }));\r\n }\r\n }\r\n if (ffd.calcOnExit !== undefined) {\r\n ffDataChildren.push(XMLBuilder.wSelf(\"calcOnExit\", { \"w:val\": ffd.calcOnExit ? \"1\" : \"0\" }));\r\n }\r\n if (ffd.helpText) {\r\n ffDataChildren.push(XMLBuilder.wSelf(\"helpText\", { \"w:type\": \"text\", \"w:val\": ffd.helpText }));\r\n }\r\n if (ffd.statusText) {\r\n ffDataChildren.push(XMLBuilder.wSelf(\"statusText\", { \"w:type\": \"text\", \"w:val\": ffd.statusText }));\r\n }\r\n if (ffd.entryMacro) {\r\n ffDataChildren.push(XMLBuilder.wSelf(\"entryMacro\", { \"w:val\": ffd.entryMacro }));\r\n }\r\n if (ffd.exitMacro) {\r\n ffDataChildren.push(XMLBuilder.wSelf(\"exitMacro\", { \"w:val\": ffd.exitMacro }));\r\n }\r\n if (ffd.fieldType) {\r\n switch (ffd.fieldType.type) {\r\n case 'textInput': {\r\n const tiChildren: (string | XMLElement)[] = [];\r\n if (ffd.fieldType.inputType) {\r\n tiChildren.push(XMLBuilder.wSelf(\"type\", { \"w:val\": ffd.fieldType.inputType }));\r\n }\r\n if (ffd.fieldType.defaultValue !== undefined) {\r\n tiChildren.push(XMLBuilder.wSelf(\"default\", { \"w:val\": ffd.fieldType.defaultValue }));\r\n }\r\n if (ffd.fieldType.maxLength !== undefined) {\r\n tiChildren.push(XMLBuilder.wSelf(\"maxLength\", { \"w:val\": ffd.fieldType.maxLength.toString() }));\r\n }\r\n if (ffd.fieldType.format) {\r\n tiChildren.push(XMLBuilder.wSelf(\"format\", { \"w:val\": ffd.fieldType.format }));\r\n }\r\n ffDataChildren.push(XMLBuilder.w(\"textInput\", {}, tiChildren));\r\n break;\r\n }\r\n case 'checkBox': {\r\n const cbChildren: (string | XMLElement)[] = [];\r\n if (ffd.fieldType.size !== undefined && ffd.fieldType.size !== 'auto') {\r\n cbChildren.push(XMLBuilder.wSelf(\"size\", { \"w:val\": ffd.fieldType.size.toString() }));\r\n } else {\r\n cbChildren.push(XMLBuilder.wSelf(\"sizeAuto\"));\r\n }\r\n if (ffd.fieldType.defaultChecked !== undefined) {\r\n cbChildren.push(XMLBuilder.wSelf(\"default\", { \"w:val\": ffd.fieldType.defaultChecked ? \"1\" : \"0\" }));\r\n }\r\n if (ffd.fieldType.checked !== undefined) {\r\n cbChildren.push(XMLBuilder.wSelf(\"checked\", { \"w:val\": ffd.fieldType.checked ? \"1\" : \"0\" }));\r\n }\r\n ffDataChildren.push(XMLBuilder.w(\"checkBox\", {}, cbChildren));\r\n break;\r\n }\r\n case 'dropDownList': {\r\n const ddChildren: (string | XMLElement)[] = [];\r\n if (ffd.fieldType.result !== undefined) {\r\n ddChildren.push(XMLBuilder.wSelf(\"result\", { \"w:val\": ffd.fieldType.result.toString() }));\r\n }\r\n if (ffd.fieldType.defaultResult !== undefined) {\r\n ddChildren.push(XMLBuilder.wSelf(\"default\", { \"w:val\": ffd.fieldType.defaultResult.toString() }));\r\n }\r\n if (ffd.fieldType.listEntries) {\r\n for (const entry of ffd.fieldType.listEntries) {\r\n ddChildren.push(XMLBuilder.wSelf(\"listEntry\", { \"w:val\": entry }));\r\n }\r\n }\r\n ffDataChildren.push(XMLBuilder.w(\"ddList\", {}, ddChildren));\r\n break;\r\n }\r\n }\r\n }\r\n runChildren.push(\r\n XMLBuilder.w(\"fldChar\", fldCharAttrs, [XMLBuilder.w(\"ffData\", {}, ffDataChildren)])\r\n );\r\n } else {\r\n runChildren.push(\r\n XMLBuilder.wSelf(\r\n \"fldChar\",\r\n Object.keys(fldCharAttrs).length > 0 ? fldCharAttrs : undefined\r\n )\r\n );\r\n }\r\n break;\r\n }\r\n\r\n // Simple marker elements (self-closing, no attributes)\r\n case \"lastRenderedPageBreak\":\r\n runChildren.push(XMLBuilder.wSelf(\"lastRenderedPageBreak\"));\r\n break;\r\n\r\n case \"separator\":\r\n runChildren.push(XMLBuilder.wSelf(\"separator\"));\r\n break;\r\n\r\n case \"continuationSeparator\":\r\n runChildren.push(XMLBuilder.wSelf(\"continuationSeparator\"));\r\n break;\r\n\r\n case \"pageNumber\":\r\n runChildren.push(XMLBuilder.wSelf(\"pgNum\"));\r\n break;\r\n\r\n case \"annotationRef\":\r\n runChildren.push(XMLBuilder.wSelf(\"annotationRef\"));\r\n break;\r\n\r\n case \"dayShort\":\r\n runChildren.push(XMLBuilder.wSelf(\"dayShort\"));\r\n break;\r\n\r\n case \"dayLong\":\r\n runChildren.push(XMLBuilder.wSelf(\"dayLong\"));\r\n break;\r\n\r\n case \"monthShort\":\r\n runChildren.push(XMLBuilder.wSelf(\"monthShort\"));\r\n break;\r\n\r\n case \"monthLong\":\r\n runChildren.push(XMLBuilder.wSelf(\"monthLong\"));\r\n break;\r\n\r\n case \"yearShort\":\r\n runChildren.push(XMLBuilder.wSelf(\"yearShort\"));\r\n break;\r\n\r\n case \"yearLong\":\r\n runChildren.push(XMLBuilder.wSelf(\"yearLong\"));\r\n break;\r\n\r\n // Symbol character (w:sym) per ECMA-376 Part 1 §17.3.3.30\r\n case \"symbol\": {\r\n const symAttrs: Record<string, string> = {};\r\n if (contentElement.symbolFont) symAttrs[\"w:font\"] = contentElement.symbolFont;\r\n if (contentElement.symbolChar) symAttrs[\"w:char\"] = contentElement.symbolChar;\r\n runChildren.push(XMLBuilder.wSelf(\"sym\", symAttrs));\r\n break;\r\n }\r\n\r\n // Absolute position tab (w:ptab) per ECMA-376 Part 1 §17.3.3.23\r\n case \"positionTab\": {\r\n const ptabAttrs: Record<string, string> = {};\r\n if (contentElement.ptabAlignment) ptabAttrs[\"w:alignment\"] = contentElement.ptabAlignment;\r\n if (contentElement.ptabRelativeTo) ptabAttrs[\"w:relativeTo\"] = contentElement.ptabRelativeTo;\r\n if (contentElement.ptabLeader) ptabAttrs[\"w:leader\"] = contentElement.ptabLeader;\r\n runChildren.push(XMLBuilder.wSelf(\"ptab\", ptabAttrs));\r\n break;\r\n }\r\n\r\n // Footnote reference (w:footnoteReference) per ECMA-376 Part 1 §17.11.13\r\n case \"footnoteReference\": {\r\n const fnAttrs: Record<string, string | number> = {};\r\n if (contentElement.footnoteId !== undefined) fnAttrs[\"w:id\"] = contentElement.footnoteId;\r\n runChildren.push(XMLBuilder.wSelf(\"footnoteReference\", fnAttrs));\r\n break;\r\n }\r\n\r\n // Endnote reference (w:endnoteReference) per ECMA-376 Part 1 §17.11.2\r\n case \"endnoteReference\": {\r\n const enAttrs: Record<string, string | number> = {};\r\n if (contentElement.endnoteId !== undefined) enAttrs[\"w:id\"] = contentElement.endnoteId;\r\n runChildren.push(XMLBuilder.wSelf(\"endnoteReference\", enAttrs));\r\n break;\r\n }\r\n\r\n // Embedded OLE object (w:object) - preserved as raw XML\r\n case \"embeddedObject\":\r\n if (contentElement.rawXml) {\r\n runChildren.push({\r\n name: \"__rawXml\",\r\n rawXml: contentElement.rawXml,\r\n });\r\n }\r\n break;\r\n\r\n case \"vml\":\r\n // VML graphics (w:pict) - include raw XML without modification\r\n // This preserves legacy Word graphics like icons and symbols\r\n if (contentElement.rawXml) {\r\n // Use special __rawXml element name for passthrough (no wrapper element)\r\n runChildren.push({\r\n name: \"__rawXml\",\r\n rawXml: contentElement.rawXml,\r\n });\r\n }\r\n break;\r\n }\r\n }\r\n\r\n return XMLBuilder.w(\"r\", undefined, runChildren);\r\n }\r\n\r\n /**\r\n * Checks if the run contains non-empty text\r\n *\r\n * @returns True if the run has text content with length > 0\r\n *\r\n * @example\r\n * ```typescript\r\n * const run1 = new Run('Hello');\r\n * const run2 = new Run('');\r\n * console.log(run1.hasText()); // true\r\n * console.log(run2.hasText()); // false\r\n * ```\r\n */\r\n hasText(): boolean {\r\n const text = this.getText();\r\n return text.length > 0;\r\n }\r\n\r\n /**\r\n * Checks if the run has any formatting properties\r\n *\r\n * @returns True if any formatting properties (bold, italic, font, etc.) are set\r\n *\r\n * @example\r\n * ```typescript\r\n * const run1 = new Run('Text', { bold: true });\r\n * const run2 = new Run('Text');\r\n * console.log(run1.hasFormatting()); // true\r\n * console.log(run2.hasFormatting()); // false\r\n * ```\r\n */\r\n hasFormatting(): boolean {\r\n return Object.keys(this.formatting).length > 0;\r\n }\r\n\r\n /**\r\n * Checks if the run is valid\r\n *\r\n * A run is considered valid if it has either text content or formatting.\r\n * An empty run with no formatting is invalid.\r\n *\r\n * @returns True if the run has text content or formatting properties\r\n *\r\n * @example\r\n * ```typescript\r\n * const run1 = new Run('Text');\r\n * const run2 = new Run('', { bold: true });\r\n * const run3 = new Run('');\r\n * console.log(run1.isValid()); // true (has text)\r\n * console.log(run2.isValid()); // true (has formatting)\r\n * console.log(run3.isValid()); // false (empty and unformatted)\r\n * ```\r\n */\r\n isValid(): boolean {\r\n return this.hasText() || this.hasFormatting();\r\n }\r\n\r\n /**\r\n * Gets the run content elements\r\n *\r\n * Returns the internal content structure including text elements,\r\n * tabs, breaks, and other special characters.\r\n *\r\n * @returns Array of RunContent elements\r\n *\r\n * @example\r\n * ```typescript\r\n * const content = run.getContent();\r\n * for (const element of content) {\r\n * console.log(`Type: ${element.type}, Value: ${element.value || 'N/A'}`);\r\n * }\r\n * ```\r\n */\r\n getContent(): RunContent[] {\r\n return [...this.content];\r\n }\r\n\r\n /**\r\n * Adds a tab character to the run\r\n *\r\n * Inserts a tab character, commonly used in TOC entries to separate\r\n * heading text from page numbers, or for general text alignment.\r\n *\r\n * @returns This run instance for method chaining\r\n *\r\n * @example\r\n * ```typescript\r\n * const run = new Run('Heading');\r\n * run.addTab();\r\n * run.appendText('Page 5'); // \"Heading\\tPage 5\"\r\n * ```\r\n */\r\n addTab(): this {\r\n this.content.push({ type: \"tab\" });\r\n return this;\r\n }\r\n\r\n /**\r\n * Adds a line, page, or column break to the run\r\n *\r\n * Inserts a break element for line breaks, page breaks, or column breaks.\r\n *\r\n * @param breakType - Type of break (default: line break if not specified)\r\n * - undefined or 'textWrapping': Line break (like pressing Enter within a paragraph)\r\n * - 'page': Page break\r\n * - 'column': Column break\r\n * @returns This run instance for method chaining\r\n *\r\n * @example\r\n * ```typescript\r\n * run.addBreak(); // Line break\r\n * run.addBreak('page'); // Page break\r\n * run.addBreak('column'); // Column break\r\n * ```\r\n */\r\n addBreak(breakType?: BreakType): this {\r\n this.content.push({ type: \"break\", breakType });\r\n return this;\r\n }\r\n\r\n /**\r\n * Appends text to the run\r\n *\r\n * Adds additional text as a new content element without replacing\r\n * existing content. Useful for building text incrementally.\r\n *\r\n * @param text - Text to append\r\n * @returns This run instance for method chaining\r\n *\r\n * @example\r\n * ```typescript\r\n * const run = new Run('Hello');\r\n * run.appendText(' ');\r\n * run.appendText('World'); // \"Hello World\"\r\n * ```\r\n */\r\n appendText(text: string): this {\r\n if (text) {\r\n this.content.push({ type: \"text\", value: text });\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Adds a carriage return to the run\r\n * @returns This run for method chaining\r\n */\r\n addCarriageReturn(): this {\r\n this.content.push({ type: \"carriageReturn\" });\r\n return this;\r\n }\r\n\r\n /**\r\n * Creates a Run from an array of content elements\r\n * Factory method for advanced use cases (used by DocumentParser)\r\n * @param content - Array of run content elements\r\n * @param formatting - Run formatting options\r\n * @returns New Run instance\r\n */\r\n static createFromContent(\r\n content: RunContent[],\r\n formatting: RunFormatting = {}\r\n ): Run {\r\n const run = Object.create(Run.prototype) as Run;\r\n run.content = content;\r\n const { cleanXmlFromText, ...displayFormatting } = formatting;\r\n run.formatting = displayFormatting;\r\n return run;\r\n }\r\n\r\n /**\r\n * Generates run properties XML (<w:rPr>) from RunFormatting\r\n * This is a static helper used by both Run and Paragraph (for paragraph mark properties)\r\n *\r\n * Per ECMA-376 Part 1 §17.3.2.28, properties must be in specific order for strict compliance\r\n *\r\n * @param formatting - Run formatting options\r\n * @returns XMLElement representing <w:rPr> or null if no formatting\r\n */\r\n static generateRunPropertiesXML(\r\n formatting: RunFormatting\r\n ): XMLElement | null {\r\n const rPrChildren: XMLElement[] = [];\r\n\r\n // ECMA-376 Part 1 §17.3.2.28 CT_RPr element ordering\r\n // Elements MUST appear in this exact sequence for Word compatibility\r\n\r\n // 1. w:rStyle — Character style reference\r\n if (formatting.characterStyle) {\r\n rPrChildren.push(\r\n XMLBuilder.wSelf(\"rStyle\", {\r\n \"w:val\": formatting.characterStyle,\r\n })\r\n );\r\n }\r\n\r\n // 2. w:rFonts — Font family\r\n if (formatting.font || formatting.fontHAnsi || formatting.fontEastAsia || formatting.fontCs || formatting.fontHint ||\r\n formatting.fontAsciiTheme || formatting.fontHAnsiTheme || formatting.fontEastAsiaTheme || formatting.fontCsTheme) {\r\n const rFontsAttrs: Record<string, string> = {};\r\n if (formatting.font) rFontsAttrs[\"w:ascii\"] = formatting.font;\r\n rFontsAttrs[\"w:hAnsi\"] = formatting.fontHAnsi || formatting.font || \"\";\r\n if (formatting.fontEastAsia) rFontsAttrs[\"w:eastAsia\"] = formatting.fontEastAsia;\r\n rFontsAttrs[\"w:cs\"] = formatting.fontCs || formatting.font || \"\";\r\n if (formatting.fontHint) rFontsAttrs[\"w:hint\"] = formatting.fontHint;\r\n // Theme font references per ECMA-376 Part 1 §17.3.2.26\r\n if (formatting.fontAsciiTheme) rFontsAttrs[\"w:asciiTheme\"] = formatting.fontAsciiTheme;\r\n if (formatting.fontHAnsiTheme) rFontsAttrs[\"w:hAnsiTheme\"] = formatting.fontHAnsiTheme;\r\n if (formatting.fontEastAsiaTheme) rFontsAttrs[\"w:eastAsiaTheme\"] = formatting.fontEastAsiaTheme;\r\n if (formatting.fontCsTheme) rFontsAttrs[\"w:cstheme\"] = formatting.fontCsTheme;\r\n\r\n // Remove empty string values (only include attributes that have actual values)\r\n for (const key of Object.keys(rFontsAttrs)) {\r\n if (rFontsAttrs[key] === \"\") delete rFontsAttrs[key];\r\n }\r\n\r\n if (Object.keys(rFontsAttrs).length > 0) {\r\n rPrChildren.push(XMLBuilder.wSelf(\"rFonts\", rFontsAttrs));\r\n }\r\n }\r\n\r\n // 3. w:b — Bold\r\n if (formatting.bold) {\r\n rPrChildren.push(XMLBuilder.wSelf(\"b\", { \"w:val\": \"1\" }));\r\n }\r\n\r\n // 4. w:bCs — Bold complex script\r\n if (formatting.complexScriptBold) {\r\n rPrChildren.push(XMLBuilder.wSelf(\"bCs\", { \"w:val\": \"1\" }));\r\n }\r\n\r\n // 5. w:i — Italic\r\n if (formatting.italic) {\r\n rPrChildren.push(XMLBuilder.wSelf(\"i\", { \"w:val\": \"1\" }));\r\n }\r\n\r\n // 6. w:iCs — Italic complex script\r\n if (formatting.complexScriptItalic) {\r\n rPrChildren.push(XMLBuilder.wSelf(\"iCs\", { \"w:val\": \"1\" }));\r\n }\r\n\r\n // 7. w:caps — All caps\r\n if (formatting.allCaps) {\r\n rPrChildren.push(XMLBuilder.wSelf(\"caps\", { \"w:val\": \"1\" }));\r\n }\r\n\r\n // 8. w:smallCaps — Small caps\r\n if (formatting.smallCaps) {\r\n rPrChildren.push(XMLBuilder.wSelf(\"smallCaps\", { \"w:val\": \"1\" }));\r\n }\r\n\r\n // 9. w:strike — Single strikethrough\r\n if (formatting.strike) {\r\n rPrChildren.push(XMLBuilder.wSelf(\"strike\", { \"w:val\": \"1\" }));\r\n }\r\n\r\n // 10. w:dstrike — Double strikethrough\r\n if (formatting.dstrike) {\r\n rPrChildren.push(XMLBuilder.wSelf(\"dstrike\", { \"w:val\": \"1\" }));\r\n }\r\n\r\n // 11. w:outline — Outline text effect\r\n if (formatting.outline) {\r\n rPrChildren.push(XMLBuilder.wSelf(\"outline\", { \"w:val\": \"1\" }));\r\n }\r\n\r\n // 12. w:shadow — Shadow text effect\r\n if (formatting.shadow) {\r\n rPrChildren.push(XMLBuilder.wSelf(\"shadow\", { \"w:val\": \"1\" }));\r\n }\r\n\r\n // 13. w:emboss — Emboss text effect\r\n if (formatting.emboss) {\r\n rPrChildren.push(XMLBuilder.wSelf(\"emboss\", { \"w:val\": \"1\" }));\r\n }\r\n\r\n // 14. w:imprint — Imprint/engrave text effect\r\n if (formatting.imprint) {\r\n rPrChildren.push(XMLBuilder.wSelf(\"imprint\", { \"w:val\": \"1\" }));\r\n }\r\n\r\n // 15. w:noProof — No proofing\r\n if (formatting.noProof) {\r\n rPrChildren.push(XMLBuilder.wSelf(\"noProof\", { \"w:val\": \"1\" }));\r\n }\r\n\r\n // 16. w:snapToGrid — Snap to grid\r\n if (formatting.snapToGrid) {\r\n rPrChildren.push(XMLBuilder.wSelf(\"snapToGrid\", { \"w:val\": \"1\" }));\r\n }\r\n\r\n // 17. w:vanish — Hidden text\r\n if (formatting.vanish) {\r\n rPrChildren.push(XMLBuilder.wSelf(\"vanish\", { \"w:val\": \"1\" }));\r\n }\r\n\r\n // 18. w:webHidden — Web hidden\r\n if (formatting.webHidden) {\r\n rPrChildren.push(XMLBuilder.wSelf(\"webHidden\", { \"w:val\": \"1\" }));\r\n }\r\n\r\n // 19. w:color — Text color\r\n // Supports both hex colors and theme color references\r\n // w:val is REQUIRED per ECMA-376 — defaults to \"000000\" when only themeColor is set\r\n if (formatting.color || formatting.themeColor) {\r\n const colorAttrs: Record<string, string> = {};\r\n\r\n colorAttrs[\"w:val\"] = formatting.color || \"000000\";\r\n if (formatting.themeColor) {\r\n colorAttrs[\"w:themeColor\"] = formatting.themeColor;\r\n }\r\n if (formatting.themeTint !== undefined) {\r\n colorAttrs[\"w:themeTint\"] = formatting.themeTint\r\n .toString(16)\r\n .toUpperCase()\r\n .padStart(2, \"0\");\r\n }\r\n if (formatting.themeShade !== undefined) {\r\n colorAttrs[\"w:themeShade\"] = formatting.themeShade\r\n .toString(16)\r\n .toUpperCase()\r\n .padStart(2, \"0\");\r\n }\r\n\r\n rPrChildren.push(XMLBuilder.wSelf(\"color\", colorAttrs));\r\n }\r\n\r\n // 20. w:spacing — Character spacing\r\n if (formatting.characterSpacing !== undefined) {\r\n rPrChildren.push(\r\n XMLBuilder.wSelf(\"spacing\", { \"w:val\": formatting.characterSpacing })\r\n );\r\n }\r\n\r\n // 21. w:w — Horizontal scaling\r\n if (formatting.scaling !== undefined) {\r\n rPrChildren.push(XMLBuilder.wSelf(\"w\", { \"w:val\": formatting.scaling }));\r\n }\r\n\r\n // 22. w:kern — Kerning\r\n if (formatting.kerning !== undefined && formatting.kerning !== null) {\r\n rPrChildren.push(\r\n XMLBuilder.wSelf(\"kern\", { \"w:val\": formatting.kerning })\r\n );\r\n }\r\n\r\n // 23. w:position — Vertical position\r\n if (formatting.position !== undefined) {\r\n rPrChildren.push(\r\n XMLBuilder.wSelf(\"position\", { \"w:val\": formatting.position })\r\n );\r\n }\r\n\r\n // 24/25. w:sz / w:szCs — Font size / Font size complex script\r\n if (formatting.size !== undefined) {\r\n const halfPoints = pointsToHalfPoints(formatting.size);\r\n rPrChildren.push(XMLBuilder.wSelf(\"sz\", { \"w:val\": halfPoints }));\r\n const csHalfPoints = formatting.sizeCs !== undefined ? pointsToHalfPoints(formatting.sizeCs) : halfPoints;\r\n rPrChildren.push(XMLBuilder.wSelf(\"szCs\", { \"w:val\": csHalfPoints }));\r\n } else if (formatting.sizeCs !== undefined) {\r\n const csHalfPoints = pointsToHalfPoints(formatting.sizeCs);\r\n rPrChildren.push(XMLBuilder.wSelf(\"szCs\", { \"w:val\": csHalfPoints }));\r\n }\r\n\r\n // 26. w:highlight — Highlight color\r\n if (formatting.highlight) {\r\n rPrChildren.push(\r\n XMLBuilder.wSelf(\"highlight\", { \"w:val\": formatting.highlight })\r\n );\r\n }\r\n\r\n // 27. w:u — Underline\r\n // When a character style is applied (e.g., Hyperlink) and underline is explicitly false,\r\n // we need to output <w:u w:val=\"none\"/> to prevent the style's underline from being inherited.\r\n if (formatting.underline) {\r\n const underlineValue =\r\n typeof formatting.underline === \"string\"\r\n ? formatting.underline\r\n : \"single\";\r\n const uAttrs: Record<string, string | number> = { \"w:val\": underlineValue };\r\n if (formatting.underlineColor) uAttrs[\"w:color\"] = formatting.underlineColor;\r\n if (formatting.underlineThemeColor) uAttrs[\"w:themeColor\"] = formatting.underlineThemeColor;\r\n if (formatting.underlineThemeTint !== undefined) uAttrs[\"w:themeTint\"] = formatting.underlineThemeTint.toString(16).toUpperCase().padStart(2, '0');\r\n if (formatting.underlineThemeShade !== undefined) uAttrs[\"w:themeShade\"] = formatting.underlineThemeShade.toString(16).toUpperCase().padStart(2, '0');\r\n rPrChildren.push(XMLBuilder.wSelf(\"u\", uAttrs));\r\n } else if (formatting.underline === false && formatting.characterStyle) {\r\n rPrChildren.push(XMLBuilder.wSelf(\"u\", { \"w:val\": \"none\" }));\r\n }\r\n\r\n // 28. w:effect — Text effect/animation\r\n if (formatting.effect) {\r\n rPrChildren.push(\r\n XMLBuilder.wSelf(\"effect\", { \"w:val\": formatting.effect })\r\n );\r\n }\r\n\r\n // 29. w:bdr — Text border\r\n if (formatting.border) {\r\n const bdrAttrs: Record<string, string | number> = {};\r\n if (formatting.border.style) bdrAttrs[\"w:val\"] = formatting.border.style;\r\n if (formatting.border.size !== undefined)\r\n bdrAttrs[\"w:sz\"] = formatting.border.size;\r\n if (formatting.border.color)\r\n bdrAttrs[\"w:color\"] = formatting.border.color;\r\n if (formatting.border.space !== undefined)\r\n bdrAttrs[\"w:space\"] = formatting.border.space;\r\n\r\n if (Object.keys(bdrAttrs).length > 0) {\r\n rPrChildren.push(XMLBuilder.wSelf(\"bdr\", bdrAttrs));\r\n }\r\n }\r\n\r\n // 30. w:shd — Character shading\r\n if (formatting.shading) {\r\n const shdAttrs = buildShadingAttributes(formatting.shading);\r\n if (Object.keys(shdAttrs).length > 0) {\r\n rPrChildren.push(XMLBuilder.wSelf(\"shd\", shdAttrs));\r\n }\r\n }\r\n\r\n // 31. w:fitText — Fit text to width\r\n if (formatting.fitText !== undefined) {\r\n rPrChildren.push(\r\n XMLBuilder.wSelf(\"fitText\", { \"w:val\": formatting.fitText })\r\n );\r\n }\r\n\r\n // 32. w:vertAlign — Subscript/superscript\r\n if (formatting.subscript) {\r\n rPrChildren.push(XMLBuilder.wSelf(\"vertAlign\", { \"w:val\": \"subscript\" }));\r\n }\r\n if (formatting.superscript) {\r\n rPrChildren.push(\r\n XMLBuilder.wSelf(\"vertAlign\", { \"w:val\": \"superscript\" })\r\n );\r\n }\r\n\r\n // 33. w:rtl — Right-to-left text\r\n if (formatting.rtl) {\r\n rPrChildren.push(XMLBuilder.wSelf(\"rtl\", { \"w:val\": \"1\" }));\r\n }\r\n\r\n // 34. w:cs — Complex script flag\r\n if (formatting.complexScript) {\r\n rPrChildren.push(XMLBuilder.wSelf(\"cs\", { \"w:val\": \"1\" }));\r\n }\r\n\r\n // 35. w:em — Emphasis marks\r\n if (formatting.emphasis) {\r\n rPrChildren.push(\r\n XMLBuilder.wSelf(\"em\", { \"w:val\": formatting.emphasis })\r\n );\r\n }\r\n\r\n // 36. w:lang — Language\r\n if (formatting.language) {\r\n rPrChildren.push(\r\n XMLBuilder.wSelf(\"lang\", { \"w:val\": formatting.language })\r\n );\r\n }\r\n\r\n // 37. w:eastAsianLayout — East Asian layout\r\n if (formatting.eastAsianLayout) {\r\n const layout = formatting.eastAsianLayout;\r\n const attrs: Record<string, string | number> = {};\r\n if (layout.id !== undefined) attrs[\"w:id\"] = layout.id;\r\n if (layout.vert) attrs[\"w:vert\"] = \"1\";\r\n if (layout.vertCompress) attrs[\"w:vertCompress\"] = \"1\";\r\n if (layout.combine) attrs[\"w:combine\"] = \"1\";\r\n if (layout.combineBrackets)\r\n attrs[\"w:combineBrackets\"] = layout.combineBrackets;\r\n\r\n if (Object.keys(attrs).length > 0) {\r\n rPrChildren.push(XMLBuilder.wSelf(\"eastAsianLayout\", attrs));\r\n }\r\n }\r\n\r\n // 38. w:specVanish — Special vanish\r\n if (formatting.specVanish) {\r\n rPrChildren.push(XMLBuilder.wSelf(\"specVanish\", { \"w:val\": \"1\" }));\r\n }\r\n\r\n // 39. w:oMath — (not currently generated)\r\n\r\n // 40. Raw w14: namespace elements (Word 2010+ text effects, after all schema elements)\r\n if (formatting.rawW14Properties && formatting.rawW14Properties.length > 0) {\r\n for (const rawXml of formatting.rawW14Properties) {\r\n rPrChildren.push({ name: \"__rawXml\", rawXml } as XMLElement);\r\n }\r\n }\r\n\r\n // Return null if no properties (prevents empty <w:rPr/> elements)\r\n if (rPrChildren.length === 0) {\r\n return null;\r\n }\r\n\r\n return XMLBuilder.w(\"rPr\", undefined, rPrChildren);\r\n }\r\n\r\n /**\r\n * Creates a new Run instance\r\n *\r\n * Factory method for creating a Run with text and optional formatting.\r\n *\r\n * @param text - The text content\r\n * @param formatting - Optional formatting to apply\r\n * @returns New Run instance\r\n *\r\n * @example\r\n * ```typescript\r\n * const run = Run.create('Hello World');\r\n * const boldRun = Run.create('Bold Text', { bold: true });\r\n * ```\r\n */\r\n static create(text: string, formatting?: RunFormatting): Run {\r\n return new Run(text, formatting);\r\n }\r\n\r\n /**\r\n * Creates a deep clone of this run\r\n * @returns New Run instance with copied text and formatting\r\n * @example\r\n * ```typescript\r\n * const original = new Run('Hello', { bold: true });\r\n * const copy = original.clone();\r\n * copy.setText('World'); // Original unchanged\r\n * ```\r\n */\r\n clone(): Run {\r\n // Deep copy content and formatting to avoid shared references\r\n const clonedContent: RunContent[] = deepClone(this.content);\r\n const clonedFormatting: RunFormatting = deepClone(this.formatting);\r\n return Run.createFromContent(clonedContent, clonedFormatting);\r\n }\r\n\r\n /**\r\n * Inserts text at a specific position\r\n * NOTE: This flattens run content (loses tabs/breaks). Use with caution.\r\n * @param index - Position to insert at (0-based)\r\n * @param text - Text to insert\r\n * @returns This run for chaining\r\n * @example\r\n * ```typescript\r\n * const run = new Run('Hello World');\r\n * run.insertText(6, 'Beautiful '); // \"Hello Beautiful World\"\r\n * ```\r\n */\r\n insertText(index: number, text: string): this {\r\n const currentText = this.getText();\r\n if (index < 0) index = 0;\r\n if (index > currentText.length) index = currentText.length;\r\n\r\n const newText =\r\n currentText.slice(0, index) + text + currentText.slice(index);\r\n this.setText(newText);\r\n return this;\r\n }\r\n\r\n /**\r\n * Replaces text in a specific range\r\n * NOTE: This flattens run content (loses tabs/breaks). Use with caution.\r\n * @param start - Start position (0-based, inclusive)\r\n * @param end - End position (0-based, exclusive)\r\n * @param text - Replacement text\r\n * @returns This run for chaining\r\n * @example\r\n * ```typescript\r\n * const run = new Run('Hello World');\r\n * run.replaceText(0, 5, 'Hi'); // \"Hi World\"\r\n * ```\r\n */\r\n replaceText(start: number, end: number, text: string): this {\r\n const currentText = this.getText();\r\n if (start < 0) start = 0;\r\n if (end > currentText.length) end = currentText.length;\r\n if (start > end) [start, end] = [end, start]; // Swap if reversed\r\n\r\n const newText = currentText.slice(0, start) + text + currentText.slice(end);\r\n this.setText(newText);\r\n return this;\r\n }\r\n\r\n /**\r\n * Clears run formatting properties that conflict with a style definition.\r\n * Uses smart clearing: only removes properties that DIFFER from the style.\r\n * Preserves properties not defined in the style (e.g., if style doesn't define bold, keeps run's bold).\r\n *\r\n * This is critical for allowing style definitions to apply properly, as direct formatting\r\n * in document.xml ALWAYS overrides style definitions in styles.xml per ECMA-376 §17.7.2.\r\n *\r\n * @param styleRunFormatting - Run formatting from the style definition to compare against\r\n * @returns This run for method chaining\r\n * @example\r\n * ```typescript\r\n * // Style says: black, 14pt Verdana\r\n * // Run has: red, 12pt Arial, bold\r\n * run.clearFormattingConflicts({\r\n * color: '000000',\r\n * size: 14,\r\n * font: 'Verdana'\r\n * });\r\n * // Result: Run keeps bold (not in style), but color/size/font are cleared\r\n * ```\r\n */\r\n clearFormattingConflicts(styleRunFormatting: RunFormatting): this {\r\n // For each property in run's formatting, check if it conflicts with style\r\n const conflictingProperties: (keyof RunFormatting)[] = [];\r\n\r\n // Compare each property\r\n for (const key in this.formatting) {\r\n const propKey = key as keyof RunFormatting;\r\n\r\n // Skip if style doesn't define this property (preserve run's property)\r\n if (styleRunFormatting[propKey] === undefined) {\r\n continue;\r\n }\r\n\r\n // If style defines this property AND run's value differs, it's a conflict\r\n if (this.formatting[propKey] !== styleRunFormatting[propKey]) {\r\n conflictingProperties.push(propKey);\r\n }\r\n }\r\n\r\n // Clear conflicting properties\r\n for (const prop of conflictingProperties) {\r\n delete this.formatting[prop];\r\n }\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Clears run formatting properties that MATCH a style definition.\r\n * The inverse of clearFormattingConflicts: removes properties whose values\r\n * are identical to the style, so the run inherits those values from the style.\r\n * Preserves properties that differ from the style (direct overrides) and\r\n * properties not defined in the style.\r\n *\r\n * This enables style inheritance: when direct formatting matches the style,\r\n * removing it allows future style definition changes to propagate automatically.\r\n *\r\n * @param styleRunFormatting - Run formatting from the style definition to compare against\r\n * @returns This run for method chaining\r\n * @example\r\n * ```typescript\r\n * // Style says: black, 12pt Verdana\r\n * // Run has: black, 12pt Verdana, bold\r\n * run.clearMatchingFormatting({\r\n * color: '000000',\r\n * size: 12,\r\n * font: 'Verdana'\r\n * });\r\n * // Result: color/size/font cleared (inherit from style), bold kept (not in style)\r\n * ```\r\n */\r\n clearMatchingFormatting(styleRunFormatting: Partial<RunFormatting>): this {\r\n const matchingProperties: (keyof RunFormatting)[] = [];\r\n\r\n for (const key in this.formatting) {\r\n const propKey = key as keyof RunFormatting;\r\n\r\n // Skip if style doesn't define this property (preserve run's property)\r\n if (styleRunFormatting[propKey] === undefined) {\r\n continue;\r\n }\r\n\r\n // If run's value matches the style, it's redundant direct formatting\r\n if (this.formatting[propKey] === styleRunFormatting[propKey]) {\r\n matchingProperties.push(propKey);\r\n }\r\n }\r\n\r\n // Clear matching properties so run inherits from style\r\n for (const prop of matchingProperties) {\r\n delete this.formatting[prop];\r\n }\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Clears all formatting from this run\r\n *\r\n * Removes all direct formatting properties, leaving only the text content.\r\n * This is useful for applying clean styles without formatting overrides.\r\n *\r\n * @returns This run for chaining\r\n * @example\r\n * ```typescript\r\n * run.clearFormatting();\r\n * ```\r\n */\r\n clearFormatting(): this {\r\n this.formatting = {};\r\n return this;\r\n }\r\n}\r\n"]}
|