docxmlater 10.0.1 → 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 +3 -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 +24 -19
- package/dist/core/Document.d.ts.map +1 -1
- package/dist/core/Document.js +272 -71
- 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.d.ts.map +1 -1
- package/dist/helpers/CleanupHelper.js +1 -7
- 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":"NumberingManager.js","sourceRoot":"","sources":["../../src/formatting/NumberingManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NumberingManager.js","sourceRoot":"","sources":["../../src/formatting/NumberingManager.ts"],"names":[],"mappings":"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","sourcesContent":["/**\r\n * NumberingManager - Manages numbering definitions and generates numbering.xml\r\n *\r\n * The NumberingManager is responsible for managing all abstract numbering definitions\r\n * and numbering instances in a document, and generating the numbering.xml file.\r\n */\r\n\r\nimport { XMLBuilder, XMLElement } from '../xml/XMLBuilder';\r\nimport { AbstractNumbering } from './AbstractNumbering';\r\nimport { NumberingInstance } from './NumberingInstance';\r\nimport { NumberingLevel } from './NumberingLevel';\r\nimport { defaultLogger } from '../utils/logger';\r\n\r\n/**\r\n * Options for numbering consolidation\r\n */\r\nexport interface NumberingConsolidationOptions {\r\n /** AbstractNumIds to exclude from consolidation (e.g., HLP/row-number lists) */\r\n protectedAbstractNumIds?: Set<number>;\r\n}\r\n\r\n/**\r\n * Result of numbering consolidation\r\n */\r\nexport interface NumberingConsolidationResult {\r\n abstractNumsRemoved: number;\r\n instancesRemapped: number;\r\n groupsConsolidated: number;\r\n}\r\n\r\n/**\r\n * Manages numbering definitions and instances for a document\r\n */\r\nexport class NumberingManager {\r\n private abstractNumberings: Map<number, AbstractNumbering>;\r\n private instances: Map<number, NumberingInstance>;\r\n private nextAbstractNumId: number;\r\n private nextNumId: number;\r\n\r\n // Track if numbering has been modified (for XML preservation)\r\n private _modified = false;\r\n\r\n // Track which specific definitions have been modified (for selective merging)\r\n private _modifiedAbstractNumIds = new Set<number>();\r\n private _modifiedNumIds = new Set<number>();\r\n\r\n // Track which definitions have been removed (for removal from original XML during merge)\r\n private _removedAbstractNumIds = new Set<number>();\r\n private _removedNumIds = new Set<number>();\r\n\r\n /**\r\n * Creates a new numbering manager\r\n * @param initializeDefaults Whether to initialize with default numbering definitions\r\n */\r\n constructor(initializeDefaults = false) {\r\n this.abstractNumberings = new Map();\r\n this.instances = new Map();\r\n this.nextAbstractNumId = 0;\r\n this.nextNumId = 1;\r\n\r\n if (initializeDefaults) {\r\n this.initializeDefaultNumberings();\r\n }\r\n }\r\n\r\n /**\r\n * Initializes default numbering definitions (bullet and numbered lists)\r\n */\r\n private initializeDefaultNumberings(): void {\r\n // Create default bullet list\r\n const bulletAbstract = AbstractNumbering.createBulletList(this.nextAbstractNumId++);\r\n this.addAbstractNumbering(bulletAbstract);\r\n\r\n // Create default numbered list\r\n const numberedAbstract = AbstractNumbering.createNumberedList(this.nextAbstractNumId++);\r\n this.addAbstractNumbering(numberedAbstract);\r\n }\r\n\r\n /**\r\n * Adds an abstract numbering definition\r\n * @param abstractNumbering The abstract numbering to add\r\n */\r\n addAbstractNumbering(abstractNumbering: AbstractNumbering): this {\r\n const id = abstractNumbering.getAbstractNumId();\r\n this.abstractNumberings.set(id, abstractNumbering);\r\n\r\n // Update next ID if necessary\r\n if (id >= this.nextAbstractNumId) {\r\n this.nextAbstractNumId = id + 1;\r\n }\r\n\r\n this._modified = true;\r\n this._modifiedAbstractNumIds.add(id);\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets an abstract numbering by ID\r\n * @param abstractNumId The abstract numbering ID\r\n */\r\n getAbstractNumbering(abstractNumId: number): AbstractNumbering | undefined {\r\n return this.abstractNumberings.get(abstractNumId);\r\n }\r\n\r\n /**\r\n * Gets all abstract numberings\r\n */\r\n getAllAbstractNumberings(): AbstractNumbering[] {\r\n return Array.from(this.abstractNumberings.values()).sort(\r\n (a, b) => a.getAbstractNumId() - b.getAbstractNumId()\r\n );\r\n }\r\n\r\n /**\r\n * Checks if an abstract numbering exists\r\n * @param abstractNumId The abstract numbering ID\r\n */\r\n hasAbstractNumbering(abstractNumId: number): boolean {\r\n return this.abstractNumberings.has(abstractNumId);\r\n }\r\n\r\n /**\r\n * Removes an abstract numbering\r\n * @param abstractNumId The abstract numbering ID\r\n */\r\n removeAbstractNumbering(abstractNumId: number): boolean {\r\n // Also remove all instances referencing this abstract numbering\r\n const instancesToRemove: number[] = [];\r\n this.instances.forEach((instance, numId) => {\r\n if (instance.getAbstractNumId() === abstractNumId) {\r\n instancesToRemove.push(numId);\r\n }\r\n });\r\n\r\n instancesToRemove.forEach(numId => {\r\n this.instances.delete(numId);\r\n this._removedNumIds.add(numId);\r\n });\r\n\r\n const deleted = this.abstractNumberings.delete(abstractNumId);\r\n if (deleted) {\r\n this._modified = true;\r\n this._removedAbstractNumIds.add(abstractNumId);\r\n }\r\n return deleted;\r\n }\r\n\r\n /**\r\n * Adds a numbering instance\r\n * @param instance The numbering instance to add\r\n */\r\n addInstance(instance: NumberingInstance): this {\r\n const numId = instance.getNumId();\r\n const abstractNumId = instance.getAbstractNumId();\r\n\r\n // Verify that the abstract numbering exists\r\n if (!this.hasAbstractNumbering(abstractNumId)) {\r\n throw new Error(`Abstract numbering ${abstractNumId} does not exist`);\r\n }\r\n\r\n this.instances.set(numId, instance);\r\n this._modified = true;\r\n this._modifiedNumIds.add(numId);\r\n\r\n // Update next ID if necessary\r\n if (numId >= this.nextNumId) {\r\n this.nextNumId = numId + 1;\r\n }\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Alias for addInstance for backward compatibility\r\n * @param instance The numbering instance to add\r\n */\r\n addNumberingInstance(instance: NumberingInstance): this {\r\n return this.addInstance(instance);\r\n }\r\n\r\n /**\r\n * Gets a numbering instance by ID\r\n * @param numId The numbering instance ID\r\n */\r\n getInstance(numId: number): NumberingInstance | undefined {\r\n return this.instances.get(numId);\r\n }\r\n\r\n /**\r\n * Alias for getInstance for backward compatibility\r\n * @param numId The numbering instance ID\r\n */\r\n getNumberingInstance(numId: number): NumberingInstance | undefined {\r\n return this.getInstance(numId);\r\n }\r\n\r\n /**\r\n * Gets all numbering instances\r\n */\r\n getAllInstances(): NumberingInstance[] {\r\n return Array.from(this.instances.values()).sort(\r\n (a, b) => a.getNumId() - b.getNumId()\r\n );\r\n }\r\n\r\n /**\r\n * Checks if numbering has been modified since loading\r\n * Used for XML preservation optimization\r\n * @returns True if numbering was added or modified\r\n */\r\n isModified(): boolean {\r\n return this._modified;\r\n }\r\n\r\n /**\r\n * Marks an abstract numbering as modified for XML regeneration.\r\n * Use when modifying NumberingLevel properties directly (setLeftIndent, etc.)\r\n * which don't automatically trigger the modified flag.\r\n * @param abstractNumId The abstract numbering ID to mark as modified\r\n */\r\n markAbstractNumberingModified(abstractNumId: number): void {\r\n if (this.abstractNumberings.has(abstractNumId)) {\r\n this._modified = true;\r\n this._modifiedAbstractNumIds.add(abstractNumId);\r\n }\r\n }\r\n\r\n /**\r\n * Resets the modified flag\r\n * Called after parsing to indicate that loaded numbering doesn't count as modifications\r\n */\r\n resetModified(): void {\r\n this._modified = false;\r\n this._modifiedAbstractNumIds.clear();\r\n this._modifiedNumIds.clear();\r\n this._removedAbstractNumIds.clear();\r\n this._removedNumIds.clear();\r\n }\r\n\r\n /**\r\n * Gets the IDs of abstract numberings that have been modified since loading\r\n * Used for selective merging with original numbering.xml\r\n */\r\n getModifiedAbstractNumIds(): Set<number> {\r\n return new Set(this._modifiedAbstractNumIds);\r\n }\r\n\r\n /**\r\n * Gets the IDs of numbering instances that have been modified since loading\r\n * Used for selective merging with original numbering.xml\r\n */\r\n getModifiedNumIds(): Set<number> {\r\n return new Set(this._modifiedNumIds);\r\n }\r\n\r\n /**\r\n * Gets the IDs of abstract numberings that have been removed since loading\r\n * Used for removal from original numbering.xml during merge\r\n */\r\n getRemovedAbstractNumIds(): Set<number> {\r\n return new Set(this._removedAbstractNumIds);\r\n }\r\n\r\n /**\r\n * Gets the IDs of numbering instances that have been removed since loading\r\n * Used for removal from original numbering.xml during merge\r\n */\r\n getRemovedNumIds(): Set<number> {\r\n return new Set(this._removedNumIds);\r\n }\r\n\r\n /**\r\n * Alias for getAllInstances for backward compatibility\r\n */\r\n getAllNumberingInstances(): NumberingInstance[] {\r\n return this.getAllInstances();\r\n }\r\n\r\n /**\r\n * Checks if a numbering instance exists\r\n * @param numId The numbering instance ID\r\n */\r\n hasInstance(numId: number): boolean {\r\n return this.instances.has(numId);\r\n }\r\n\r\n /**\r\n * Removes a numbering instance\r\n * @param numId The numbering instance ID\r\n */\r\n removeInstance(numId: number): boolean {\r\n const deleted = this.instances.delete(numId);\r\n if (deleted) {\r\n this._modified = true;\r\n this._removedNumIds.add(numId);\r\n }\r\n return deleted;\r\n }\r\n\r\n /**\r\n * Creates a new bullet list and returns its numId\r\n * @param levels Number of levels (default: 9)\r\n * @param bullets Array of bullet characters\r\n */\r\n createBulletList(levels = 9, bullets?: string[]): number {\r\n // Create abstract numbering\r\n const abstractNumId = this.nextAbstractNumId++;\r\n // Only pass bullets if it's defined, so defaults are used otherwise\r\n const abstractNumbering = bullets\r\n ? AbstractNumbering.createBulletList(abstractNumId, levels, bullets)\r\n : AbstractNumbering.createBulletList(abstractNumId, levels);\r\n this.addAbstractNumbering(abstractNumbering);\r\n\r\n // Create instance\r\n const numId = this.nextNumId++;\r\n const instance = NumberingInstance.create({ numId, abstractNumId });\r\n this.addInstance(instance);\r\n\r\n return numId;\r\n }\r\n\r\n /**\r\n * Creates a new numbered list and returns its numId\r\n * @param levels Number of levels (default: 9)\r\n * @param formats Array of formats for each level\r\n */\r\n createNumberedList(\r\n levels = 9,\r\n formats?: ('decimal' | 'lowerLetter' | 'lowerRoman')[]\r\n ): number {\r\n // Create abstract numbering\r\n const abstractNumId = this.nextAbstractNumId++;\r\n // Only pass formats if it's defined, so defaults are used otherwise\r\n const abstractNumbering = formats\r\n ? AbstractNumbering.createNumberedList(abstractNumId, levels, formats)\r\n : AbstractNumbering.createNumberedList(abstractNumId, levels);\r\n this.addAbstractNumbering(abstractNumbering);\r\n\r\n // Create instance\r\n const numId = this.nextNumId++;\r\n const instance = NumberingInstance.create({ numId, abstractNumId });\r\n this.addInstance(instance);\r\n\r\n return numId;\r\n }\r\n\r\n /**\r\n * Creates a new multi-level list and returns its numId\r\n */\r\n createMultiLevelList(): number {\r\n // Create abstract numbering\r\n const abstractNumId = this.nextAbstractNumId++;\r\n const abstractNumbering = AbstractNumbering.createMultiLevelList(abstractNumId);\r\n this.addAbstractNumbering(abstractNumbering);\r\n\r\n // Create instance\r\n const numId = this.nextNumId++;\r\n const instance = NumberingInstance.create({ numId, abstractNumId });\r\n this.addInstance(instance);\r\n\r\n return numId;\r\n }\r\n\r\n /**\r\n * Creates a new outline list and returns its numId\r\n */\r\n createOutlineList(): number {\r\n // Create abstract numbering\r\n const abstractNumId = this.nextAbstractNumId++;\r\n const abstractNumbering = AbstractNumbering.createOutlineList(abstractNumId);\r\n this.addAbstractNumbering(abstractNumbering);\r\n\r\n // Create instance\r\n const numId = this.nextNumId++;\r\n const instance = NumberingInstance.create({ numId, abstractNumId });\r\n this.addInstance(instance);\r\n\r\n return numId;\r\n }\r\n\r\n /**\r\n * Creates a custom list with specified levels and returns its numId\r\n * @param levels Array of numbering levels\r\n * @param name Optional name for the list\r\n */\r\n createCustomList(levels: NumberingLevel[], name?: string): number {\r\n // Create abstract numbering\r\n const abstractNumId = this.nextAbstractNumId++;\r\n const abstractNumbering = AbstractNumbering.create({\r\n abstractNumId,\r\n name,\r\n levels,\r\n });\r\n this.addAbstractNumbering(abstractNumbering);\r\n\r\n // Create instance\r\n const numId = this.nextNumId++;\r\n const instance = NumberingInstance.create({ numId, abstractNumId });\r\n this.addInstance(instance);\r\n\r\n return numId;\r\n }\r\n\r\n /**\r\n * Creates a new instance of an existing abstract numbering\r\n * @param abstractNumId The abstract numbering ID to create an instance of\r\n */\r\n createInstance(abstractNumId: number): number {\r\n if (!this.hasAbstractNumbering(abstractNumId)) {\r\n throw new Error(`Abstract numbering ${abstractNumId} does not exist`);\r\n }\r\n\r\n const numId = this.nextNumId++;\r\n const instance = NumberingInstance.create({ numId, abstractNumId });\r\n this.addInstance(instance);\r\n\r\n return numId;\r\n }\r\n\r\n /**\r\n * Gets the framework's standard indentation for a list level\r\n *\r\n * The framework uses a consistent indentation scheme:\r\n * - leftIndent: 720 + (level * 360) twips\r\n * - hangingIndent: 360 twips\r\n *\r\n * Examples:\r\n * - Level 0: 720 twips (0.5 inch) left, 360 twips hanging\r\n * - Level 1: 1080 twips (0.75 inch) left, 360 twips hanging\r\n * - Level 2: 1440 twips (1.0 inch) left, 360 twips hanging\r\n *\r\n * @param level The level (0-8)\r\n * @returns Object with leftIndent and hangingIndent in twips\r\n * @example\r\n * ```typescript\r\n * const indent = manager.getStandardIndentation(0);\r\n * // Returns: { leftIndent: 720, hangingIndent: 360 }\r\n * ```\r\n */\r\n getStandardIndentation(level: number): { leftIndent: number; hangingIndent: number } {\r\n if (level < 0 || level > 8) {\r\n throw new Error(`Invalid level ${level}. Level must be between 0 and 8.`);\r\n }\r\n\r\n return {\r\n leftIndent: 720 + (level * 360),\r\n hangingIndent: 360,\r\n };\r\n }\r\n\r\n /**\r\n * Sets custom indentation for a specific level in a numbering definition\r\n *\r\n * This updates the indentation for a specific level across ALL paragraphs\r\n * that use this numId and level combination.\r\n *\r\n * @param numId The numbering instance ID\r\n * @param level The level to modify (0-8)\r\n * @param leftIndent Left indentation in twips\r\n * @param hangingIndent Hanging indentation in twips (optional, defaults to 360)\r\n * @returns true if successful, false if numId doesn't exist\r\n * @example\r\n * ```typescript\r\n * // Set level 0 to 0.5 inch left, 0.25 inch hanging\r\n * manager.setListIndentation(1, 0, 720, 360);\r\n * ```\r\n */\r\n setListIndentation(\r\n numId: number,\r\n level: number,\r\n leftIndent: number,\r\n hangingIndent = 360\r\n ): boolean {\r\n // Validate level\r\n if (level < 0 || level > 8) {\r\n throw new Error(`Invalid level ${level}. Level must be between 0 and 8.`);\r\n }\r\n\r\n // Validate indents (clamp negatives to 0)\r\n leftIndent = Math.max(0, leftIndent);\r\n hangingIndent = Math.max(0, hangingIndent);\r\n\r\n // Get the numbering instance\r\n const instance = this.getInstance(numId);\r\n if (!instance) {\r\n defaultLogger.warn(`Numbering instance ${numId} does not exist`);\r\n return false;\r\n }\r\n\r\n // Get the abstract numbering\r\n const abstractNum = this.getAbstractNumbering(instance.getAbstractNumId());\r\n if (!abstractNum) {\r\n defaultLogger.warn(`Abstract numbering for instance ${numId} does not exist`);\r\n return false;\r\n }\r\n\r\n // Get the level from the abstract numbering\r\n const numLevel = abstractNum.getLevel(level);\r\n if (!numLevel) {\r\n defaultLogger.warn(`Level ${level} does not exist in abstract numbering`);\r\n return false;\r\n }\r\n\r\n // Update the level's indentation\r\n numLevel.setLeftIndent(leftIndent);\r\n numLevel.setHangingIndent(hangingIndent);\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Resets all levels in a numbering definition to standard indentation\r\n *\r\n * This applies the framework's standard indentation formula to all levels:\r\n * - leftIndent: 720 + (level * 360) twips\r\n * - hangingIndent: 360 twips\r\n *\r\n * @param numId The numbering instance ID\r\n * @returns true if successful, false if numId doesn't exist\r\n * @example\r\n * ```typescript\r\n * // Reset list 1 to standard indentation\r\n * manager.normalizeListIndentation(1);\r\n * ```\r\n */\r\n normalizeListIndentation(numId: number): boolean {\r\n // Get the numbering instance\r\n const instance = this.getInstance(numId);\r\n if (!instance) {\r\n defaultLogger.warn(`Numbering instance ${numId} does not exist`);\r\n return false;\r\n }\r\n\r\n // Get the abstract numbering\r\n const abstractNum = this.getAbstractNumbering(instance.getAbstractNumId());\r\n if (!abstractNum) {\r\n defaultLogger.warn(`Abstract numbering for instance ${numId} does not exist`);\r\n return false;\r\n }\r\n\r\n // Get all levels\r\n const levels = abstractNum.getAllLevels();\r\n\r\n // Apply standard indentation to each level\r\n for (const level of levels) {\r\n const standardIndent = this.getStandardIndentation(level.getLevel());\r\n level.setLeftIndent(standardIndent.leftIndent);\r\n level.setHangingIndent(standardIndent.hangingIndent);\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Normalizes indentation for all lists in the document\r\n *\r\n * Applies standard indentation to every numbering instance:\r\n * - leftIndent: 720 + (level * 360) twips\r\n * - hangingIndent: 360 twips\r\n *\r\n * This ensures consistent spacing across all lists in the document.\r\n *\r\n * @returns Number of numbering instances updated\r\n * @example\r\n * ```typescript\r\n * const count = manager.normalizeAllListIndentation();\r\n * console.log(`Normalized ${count} lists`);\r\n * ```\r\n */\r\n normalizeAllListIndentation(): number {\r\n let count = 0;\r\n\r\n // Iterate over all instances\r\n for (const instance of this.getAllInstances()) {\r\n const success = this.normalizeListIndentation(instance.getNumId());\r\n if (success) {\r\n count++;\r\n }\r\n }\r\n\r\n return count;\r\n }\r\n\r\n /**\r\n * Gets the total number of abstract numberings\r\n */\r\n getAbstractNumberingCount(): number {\r\n return this.abstractNumberings.size;\r\n }\r\n\r\n /**\r\n * Gets the total number of numbering instances\r\n */\r\n getInstanceCount(): number {\r\n return this.instances.size;\r\n }\r\n\r\n /**\r\n * Clears all numbering definitions and instances\r\n */\r\n clear(): this {\r\n this.abstractNumberings.clear();\r\n this.instances.clear();\r\n this.nextAbstractNumId = 0;\r\n this.nextNumId = 1;\r\n return this;\r\n }\r\n\r\n /**\r\n * Removes unused numbering instances and abstract numberings\r\n *\r\n * This method cleans up numbering definitions that are no longer referenced\r\n * by any paragraphs in the document. It removes:\r\n * 1. Instances not in the usedNumIds set\r\n * 2. Abstract numberings not referenced by any remaining instance\r\n *\r\n * @param usedNumIds Set of numIds currently used by paragraphs\r\n * @returns Object with counts of removed instances and abstract numberings\r\n */\r\n cleanupUnusedNumbering(usedNumIds: Set<number>): { instancesRemoved: number; abstractsRemoved: number } {\r\n let instancesRemoved = 0;\r\n let abstractsRemoved = 0;\r\n\r\n // Step 1: Remove unused instances\r\n const instancesToRemove: number[] = [];\r\n this.instances.forEach((_instance, numId) => {\r\n if (!usedNumIds.has(numId)) {\r\n instancesToRemove.push(numId);\r\n }\r\n });\r\n\r\n for (const numId of instancesToRemove) {\r\n this.instances.delete(numId);\r\n this._modified = true;\r\n this._removedNumIds.add(numId);\r\n instancesRemoved++;\r\n }\r\n\r\n // Step 2: Find abstract numberings still referenced by remaining instances\r\n const referencedAbstractNumIds = new Set<number>();\r\n this.instances.forEach(instance => {\r\n referencedAbstractNumIds.add(instance.getAbstractNumId());\r\n });\r\n\r\n // Step 3: Remove unreferenced abstract numberings\r\n const abstractsToRemove: number[] = [];\r\n this.abstractNumberings.forEach((_abstractNum, abstractNumId) => {\r\n if (!referencedAbstractNumIds.has(abstractNumId)) {\r\n abstractsToRemove.push(abstractNumId);\r\n }\r\n });\r\n\r\n for (const abstractNumId of abstractsToRemove) {\r\n this.abstractNumberings.delete(abstractNumId);\r\n this._modified = true;\r\n this._removedAbstractNumIds.add(abstractNumId);\r\n abstractsRemoved++;\r\n }\r\n\r\n return { instancesRemoved, abstractsRemoved };\r\n }\r\n\r\n /**\r\n * Consolidates duplicate abstract numbering definitions\r\n *\r\n * Groups abstractNums by a deterministic fingerprint of their level properties\r\n * (format, text, font, fontSize, color, indentation, alignment, etc.).\r\n * For each group with >1 member, picks the lowest abstractNumId as canonical,\r\n * remaps all instances pointing to non-canonical IDs, and removes duplicates.\r\n *\r\n * This is safe because multiple num instances can reference the same abstractNum —\r\n * each instance maintains its own independent counter via level overrides.\r\n *\r\n * @param options Optional configuration (e.g., protected IDs to skip)\r\n * @returns Summary of what was consolidated\r\n */\r\n consolidateNumbering(options?: NumberingConsolidationOptions): NumberingConsolidationResult {\r\n const protectedIds = options?.protectedAbstractNumIds ?? new Set<number>();\r\n\r\n // 1. Compute fingerprint for each non-protected abstractNum\r\n const fingerprintGroups = new Map<string, number[]>();\r\n for (const abstractNum of this.abstractNumberings.values()) {\r\n const id = abstractNum.getAbstractNumId();\r\n if (protectedIds.has(id)) continue;\r\n\r\n const fingerprint = this._fingerprintAbstractNum(abstractNum);\r\n const group = fingerprintGroups.get(fingerprint);\r\n if (group) {\r\n group.push(id);\r\n } else {\r\n fingerprintGroups.set(fingerprint, [id]);\r\n }\r\n }\r\n\r\n // 2. For each group with >1 member, consolidate\r\n let abstractNumsRemoved = 0;\r\n let instancesRemapped = 0;\r\n let groupsConsolidated = 0;\r\n\r\n for (const [, ids] of fingerprintGroups) {\r\n if (ids.length <= 1) continue;\r\n\r\n // Sort to pick lowest ID as canonical\r\n ids.sort((a, b) => a - b);\r\n const canonicalId = ids[0]!;\r\n const duplicateIds = new Set(ids.slice(1));\r\n\r\n groupsConsolidated++;\r\n\r\n // Remap instances pointing to duplicate abstractNums\r\n for (const instance of this.instances.values()) {\r\n if (duplicateIds.has(instance.getAbstractNumId())) {\r\n instance.setAbstractNumId(canonicalId);\r\n this._modifiedNumIds.add(instance.getNumId());\r\n instancesRemapped++;\r\n }\r\n }\r\n\r\n // Remove duplicate abstractNums\r\n for (const dupId of duplicateIds) {\r\n this.abstractNumberings.delete(dupId);\r\n this._removedAbstractNumIds.add(dupId);\r\n abstractNumsRemoved++;\r\n }\r\n }\r\n\r\n if (abstractNumsRemoved > 0) {\r\n this._modified = true;\r\n }\r\n\r\n return { abstractNumsRemoved, instancesRemapped, groupsConsolidated };\r\n }\r\n\r\n /**\r\n * Computes a deterministic fingerprint for an abstract numbering definition\r\n * based on its multiLevelType and all level properties. Name and abstractNumId\r\n * are excluded since they don't affect rendering.\r\n */\r\n private _fingerprintAbstractNum(abstractNum: AbstractNumbering): string {\r\n const parts: string[] = [\r\n abstractNum.getNumStyleLink() ?? '',\r\n abstractNum.getStyleLink() ?? '',\r\n abstractNum.getMultiLevelType(),\r\n ];\r\n\r\n for (const level of abstractNum.getAllLevels()) {\r\n const props = level.getProperties();\r\n parts.push(\r\n `${props.level}|${props.format}|${props.text}|${props.font}|${props.fontSize}|` +\r\n `${props.color}|${props.leftIndent}|${props.hangingIndent}|${props.alignment}|` +\r\n `${props.start}|${props.bold}|${props.italic}|${props.underline ?? ''}|` +\r\n `${props.suffix}|${props.isLegalNumberingStyle}|${props.lvlRestart ?? ''}`\r\n );\r\n }\r\n\r\n return parts.join('::');\r\n }\r\n\r\n /**\r\n * Generates the complete numbering.xml content\r\n */\r\n generateNumberingXml(): string {\r\n const builder = new XMLBuilder();\r\n\r\n const children: XMLElement[] = [];\r\n\r\n // Add all abstract numberings\r\n const abstractNumberings = this.getAllAbstractNumberings();\r\n abstractNumberings.forEach(abstractNum => {\r\n children.push(abstractNum.toXML());\r\n });\r\n\r\n // Add all numbering instances\r\n const instances = this.getAllInstances();\r\n instances.forEach(instance => {\r\n children.push(instance.toXML());\r\n });\r\n\r\n const numbering = XMLBuilder.w('numbering', {\r\n 'xmlns:w': 'http://schemas.openxmlformats.org/wordprocessingml/2006/main',\r\n 'xmlns:r': 'http://schemas.openxmlformats.org/officeDocument/2006/relationships'\r\n }, children);\r\n\r\n builder.element(numbering.name, numbering.attributes, numbering.children);\r\n\r\n // Generate XML with declaration\r\n return builder.build(true);\r\n }\r\n\r\n /**\r\n * Generates the numbering.xml as XMLElement (for API compatibility)\r\n */\r\n toXML(): XMLElement {\r\n const children: XMLElement[] = [];\r\n\r\n // Add all abstract numberings\r\n const abstractNumberings = this.getAllAbstractNumberings();\r\n abstractNumberings.forEach(abstractNum => {\r\n children.push(abstractNum.toXML());\r\n });\r\n\r\n // Add all numbering instances\r\n const instances = this.getAllInstances();\r\n instances.forEach(instance => {\r\n children.push(instance.toXML());\r\n });\r\n\r\n return XMLBuilder.w('numbering', {\r\n 'xmlns:w': 'http://schemas.openxmlformats.org/wordprocessingml/2006/main',\r\n 'xmlns:r': 'http://schemas.openxmlformats.org/officeDocument/2006/relationships'\r\n }, children);\r\n }\r\n\r\n /**\r\n * Creates a numbering manager with default numbering definitions\r\n */\r\n static create(): NumberingManager {\r\n return new NumberingManager(false);\r\n }\r\n\r\n /**\r\n * Creates an empty numbering manager\r\n */\r\n static createEmpty(): NumberingManager {\r\n return new NumberingManager(false);\r\n }\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Style.d.ts","sourceRoot":"","sources":["../../src/formatting/Style.ts"],"names":[],"mappings":"AAKA,OAAO,EAAc,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAA0C,MAAM,yBAAyB,CAAC;AAChG,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAO5D,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,OAAO,GAAG,WAAW,CAAC;AAK1E,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAKzD,MAAM,WAAW,gBAAgB;IAE/B,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IAErE,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAKD,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,gBAAgB,CAAC;IACvB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IAEzB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAE3B,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B;AAKD,MAAM,WAAW,WAAY,SAAQ,YAAY;IAE/C,KAAK,CAAC,EAAE,gBAAgB,CAAC;IAEzB,KAAK,CAAC,EAAE,gBAAgB,CAAC;CAC1B;AAMD,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC;AAK9C,MAAM,WAAW,WAAW;IAE1B,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAKD,MAAM,WAAW,oBAAoB;IAEnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,OAAO,CAAC,EAAE,YAAY,CAAC;IAEvB,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAE5B,SAAS,CAAC,EAAE,cAAc,CAAC;CAC5B;AAKD,MAAM,WAAW,wBAAwB;IAEvC,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAE5B,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB,iBAAiB,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;CACjD;AAKD,MAAM,WAAW,uBAAuB;IAEtC,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CAC3C;AAKD,MAAM,MAAM,yBAAyB,GACjC,YAAY,GACZ,UAAU,GACV,SAAS,GACT,UAAU,GACV,SAAS,GACT,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,CAAC;AAKb,MAAM,WAAW,0BAA0B;IAEzC,IAAI,EAAE,yBAAyB,CAAC;IAEhC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAE1C,aAAa,CAAC,EAAE,aAAa,CAAC;IAE9B,eAAe,CAAC,EAAE,oBAAoB,CAAC;IAEvC,cAAc,CAAC,EAAE,wBAAwB,CAAC;IAE1C,aAAa,CAAC,EAAE,uBAAuB,CAAC;CACzC;AAKD,MAAM,WAAW,oBAAoB;IAEnC,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAE7B,IAAI,CAAC,EAAE,wBAAwB,CAAC;IAEhC,GAAG,CAAC,EAAE,uBAAuB,CAAC;IAE9B,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,qBAAqB,CAAC,EAAE,0BAA0B,EAAE,CAAC;CACtD;AAKD,MAAM,WAAW,eAAe;IAE9B,OAAO,EAAE,MAAM,CAAC;IAEhB,IAAI,EAAE,MAAM,CAAC;IAEb,IAAI,EAAE,SAAS,CAAC;IAEhB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAE1C,KAAK,CAAC,EAAE;QACN,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IAEF,aAAa,CAAC,EAAE,aAAa,CAAC;IAE9B,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAIlC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,OAAO,CAAC,EAAE,MAAM,CAAC;IAQjB,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC7C;AAKD,qBAAa,KAAK;IAChB,OAAO,CAAC,UAAU,CAAkB;gBAMxB,UAAU,EAAE,eAAe;IAQvC,UAAU,IAAI,MAAM;IAQpB,OAAO,IAAI,MAAM;IAQjB,OAAO,IAAI,SAAS;IAQpB,aAAa,IAAI,eAAe;IAQhC,YAAY,IAAI,OAAO;IASvB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAUlC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAUjC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAU9B,sBAAsB,CAAC,UAAU,EAAE,mBAAmB,GAAG,IAAI;IAU7D,gBAAgB,CAAC,UAAU,EAAE,aAAa,GAAG,IAAI;IASjD,gBAAgB,IAAI,aAAa,GAAG,SAAS;IAQ7C,sBAAsB,IAAI,mBAAmB,GAAG,SAAS;IAUzD,uBAAuB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAS5D,uBAAuB,IAAI,oBAAoB,GAAG,SAAS;IAS3D,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAUlC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAarC,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAUpC,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAUzC,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAUhC,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAUpC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAU9B,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAUvC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAUjC,kBAAkB,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI;IAa1D,sBAAsB,CAAC,UAAU,EAAE,wBAAwB,GAAG,IAAI;IAalE,qBAAqB,CAAC,UAAU,EAAE,uBAAuB,GAAG,IAAI;IAahE,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAgBlC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAgBlC,wBAAwB,CAAC,WAAW,EAAE,0BAA0B,GAAG,IAAI;IAsBvE,OAAO,IAAI,OAAO;IAoIlB,KAAK,IAAI,UAAU;IAyLnB,OAAO,CAAC,2BAA2B;IAsEnC,OAAO,CAAC,qBAAqB;IAoE7B,OAAO,CAAC,uBAAuB;
|
|
1
|
+
{"version":3,"file":"Style.d.ts","sourceRoot":"","sources":["../../src/formatting/Style.ts"],"names":[],"mappings":"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"}
|
package/dist/formatting/Style.js
CHANGED
|
@@ -263,6 +263,9 @@ class Style {
|
|
|
263
263
|
}
|
|
264
264
|
const styleChildren = [];
|
|
265
265
|
styleChildren.push(XMLBuilder_1.XMLBuilder.wSelf("name", { "w:val": this.properties.name }));
|
|
266
|
+
if (this.properties.aliases) {
|
|
267
|
+
styleChildren.push(XMLBuilder_1.XMLBuilder.wSelf("aliases", { "w:val": this.properties.aliases }));
|
|
268
|
+
}
|
|
266
269
|
if (this.properties.basedOn) {
|
|
267
270
|
styleChildren.push(XMLBuilder_1.XMLBuilder.wSelf("basedOn", { "w:val": this.properties.basedOn }));
|
|
268
271
|
}
|
|
@@ -275,13 +278,10 @@ class Style {
|
|
|
275
278
|
if (this.properties.autoRedefine) {
|
|
276
279
|
styleChildren.push(XMLBuilder_1.XMLBuilder.wSelf("autoRedefine"));
|
|
277
280
|
}
|
|
278
|
-
if (this.properties.
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
}
|
|
282
|
-
}
|
|
283
|
-
else if (!this.properties.customStyle) {
|
|
284
|
-
styleChildren.push(XMLBuilder_1.XMLBuilder.wSelf("qFormat"));
|
|
281
|
+
if (this.properties.uiPriority !== undefined) {
|
|
282
|
+
styleChildren.push(XMLBuilder_1.XMLBuilder.wSelf("uiPriority", {
|
|
283
|
+
"w:val": String(this.properties.uiPriority),
|
|
284
|
+
}));
|
|
285
285
|
}
|
|
286
286
|
if (this.properties.semiHidden) {
|
|
287
287
|
styleChildren.push(XMLBuilder_1.XMLBuilder.wSelf("semiHidden"));
|
|
@@ -289,10 +289,13 @@ class Style {
|
|
|
289
289
|
if (this.properties.unhideWhenUsed) {
|
|
290
290
|
styleChildren.push(XMLBuilder_1.XMLBuilder.wSelf("unhideWhenUsed"));
|
|
291
291
|
}
|
|
292
|
-
if (this.properties.
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
}
|
|
292
|
+
if (this.properties.qFormat !== undefined) {
|
|
293
|
+
if (this.properties.qFormat) {
|
|
294
|
+
styleChildren.push(XMLBuilder_1.XMLBuilder.wSelf("qFormat"));
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
else if (!this.properties.customStyle) {
|
|
298
|
+
styleChildren.push(XMLBuilder_1.XMLBuilder.wSelf("qFormat"));
|
|
296
299
|
}
|
|
297
300
|
if (this.properties.locked) {
|
|
298
301
|
styleChildren.push(XMLBuilder_1.XMLBuilder.wSelf("locked"));
|
|
@@ -300,9 +303,6 @@ class Style {
|
|
|
300
303
|
if (this.properties.personal) {
|
|
301
304
|
styleChildren.push(XMLBuilder_1.XMLBuilder.wSelf("personal"));
|
|
302
305
|
}
|
|
303
|
-
if (this.properties.aliases) {
|
|
304
|
-
styleChildren.push(XMLBuilder_1.XMLBuilder.wSelf("aliases", { "w:val": this.properties.aliases }));
|
|
305
|
-
}
|
|
306
306
|
if (this.properties.paragraphFormatting || this.properties.numPr) {
|
|
307
307
|
const pPr = this.generateParagraphProperties(this.properties.paragraphFormatting || {});
|
|
308
308
|
if (this.properties.numPr) {
|
|
@@ -339,18 +339,18 @@ class Style {
|
|
|
339
339
|
styleChildren.push(tblPr);
|
|
340
340
|
}
|
|
341
341
|
}
|
|
342
|
-
if (this.properties.tableStyle.cell) {
|
|
343
|
-
const tcPr = this.generateTableCellProperties(this.properties.tableStyle.cell);
|
|
344
|
-
if (tcPr.children && tcPr.children.length > 0) {
|
|
345
|
-
styleChildren.push(tcPr);
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
342
|
if (this.properties.tableStyle.row) {
|
|
349
343
|
const trPr = this.generateTableRowProperties(this.properties.tableStyle.row);
|
|
350
344
|
if (trPr.children && trPr.children.length > 0) {
|
|
351
345
|
styleChildren.push(trPr);
|
|
352
346
|
}
|
|
353
347
|
}
|
|
348
|
+
if (this.properties.tableStyle.cell) {
|
|
349
|
+
const tcPr = this.generateTableCellProperties(this.properties.tableStyle.cell);
|
|
350
|
+
if (tcPr.children && tcPr.children.length > 0) {
|
|
351
|
+
styleChildren.push(tcPr);
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
354
|
if (this.properties.tableStyle.conditionalFormatting) {
|
|
355
355
|
for (const conditional of this.properties.tableStyle
|
|
356
356
|
.conditionalFormatting) {
|
|
@@ -365,24 +365,14 @@ class Style {
|
|
|
365
365
|
}
|
|
366
366
|
generateParagraphProperties(formatting) {
|
|
367
367
|
const pPrChildren = [];
|
|
368
|
-
if (formatting.
|
|
369
|
-
|
|
370
|
-
pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("jc", { "w:val": alignmentValue }));
|
|
368
|
+
if (formatting.keepNext) {
|
|
369
|
+
pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("keepNext"));
|
|
371
370
|
}
|
|
372
|
-
if (formatting.
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
if (ind.right !== undefined)
|
|
378
|
-
attributes["w:right"] = ind.right;
|
|
379
|
-
if (ind.firstLine !== undefined)
|
|
380
|
-
attributes["w:firstLine"] = ind.firstLine;
|
|
381
|
-
if (ind.hanging !== undefined)
|
|
382
|
-
attributes["w:hanging"] = ind.hanging;
|
|
383
|
-
if (Object.keys(attributes).length > 0) {
|
|
384
|
-
pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("ind", attributes));
|
|
385
|
-
}
|
|
371
|
+
if (formatting.keepLines) {
|
|
372
|
+
pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("keepLines"));
|
|
373
|
+
}
|
|
374
|
+
if (formatting.pageBreakBefore) {
|
|
375
|
+
pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("pageBreakBefore"));
|
|
386
376
|
}
|
|
387
377
|
if (formatting.spacing) {
|
|
388
378
|
const spc = formatting.spacing;
|
|
@@ -399,17 +389,27 @@ class Style {
|
|
|
399
389
|
pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("spacing", attributes));
|
|
400
390
|
}
|
|
401
391
|
}
|
|
392
|
+
if (formatting.indentation) {
|
|
393
|
+
const ind = formatting.indentation;
|
|
394
|
+
const attributes = {};
|
|
395
|
+
if (ind.left !== undefined)
|
|
396
|
+
attributes["w:left"] = ind.left;
|
|
397
|
+
if (ind.right !== undefined)
|
|
398
|
+
attributes["w:right"] = ind.right;
|
|
399
|
+
if (ind.firstLine !== undefined)
|
|
400
|
+
attributes["w:firstLine"] = ind.firstLine;
|
|
401
|
+
if (ind.hanging !== undefined)
|
|
402
|
+
attributes["w:hanging"] = ind.hanging;
|
|
403
|
+
if (Object.keys(attributes).length > 0) {
|
|
404
|
+
pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("ind", attributes));
|
|
405
|
+
}
|
|
406
|
+
}
|
|
402
407
|
if (formatting.contextualSpacing) {
|
|
403
408
|
pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("contextualSpacing", { "w:val": "1" }));
|
|
404
409
|
}
|
|
405
|
-
if (formatting.
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
if (formatting.keepLines) {
|
|
409
|
-
pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("keepLines"));
|
|
410
|
-
}
|
|
411
|
-
if (formatting.pageBreakBefore) {
|
|
412
|
-
pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("pageBreakBefore"));
|
|
410
|
+
if (formatting.alignment) {
|
|
411
|
+
const alignmentValue = formatting.alignment === "justify" ? "both" : formatting.alignment;
|
|
412
|
+
pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("jc", { "w:val": alignmentValue }));
|
|
413
413
|
}
|
|
414
414
|
if (formatting.outlineLevel !== undefined) {
|
|
415
415
|
pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("outlineLvl", { "w:val": formatting.outlineLevel.toString() }));
|
|
@@ -418,17 +418,24 @@ class Style {
|
|
|
418
418
|
}
|
|
419
419
|
generateRunProperties(formatting) {
|
|
420
420
|
const rPrChildren = [];
|
|
421
|
+
if (formatting.font) {
|
|
422
|
+
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("rFonts", {
|
|
423
|
+
"w:ascii": formatting.font,
|
|
424
|
+
"w:hAnsi": formatting.font,
|
|
425
|
+
"w:cs": formatting.font,
|
|
426
|
+
}));
|
|
427
|
+
}
|
|
421
428
|
if (formatting.bold) {
|
|
422
429
|
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("b"));
|
|
423
430
|
}
|
|
424
431
|
if (formatting.italic) {
|
|
425
432
|
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("i"));
|
|
426
433
|
}
|
|
427
|
-
if (formatting.
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("
|
|
434
|
+
if (formatting.allCaps) {
|
|
435
|
+
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("caps"));
|
|
436
|
+
}
|
|
437
|
+
if (formatting.smallCaps) {
|
|
438
|
+
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("smallCaps"));
|
|
432
439
|
}
|
|
433
440
|
if (formatting.strike) {
|
|
434
441
|
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("strike"));
|
|
@@ -436,45 +443,41 @@ class Style {
|
|
|
436
443
|
if (formatting.dstrike) {
|
|
437
444
|
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("dstrike"));
|
|
438
445
|
}
|
|
439
|
-
if (formatting.
|
|
440
|
-
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("
|
|
441
|
-
}
|
|
442
|
-
if (formatting.superscript) {
|
|
443
|
-
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("vertAlign", { "w:val": "superscript" }));
|
|
444
|
-
}
|
|
445
|
-
if (formatting.font) {
|
|
446
|
-
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("rFonts", {
|
|
447
|
-
"w:ascii": formatting.font,
|
|
448
|
-
"w:hAnsi": formatting.font,
|
|
449
|
-
"w:cs": formatting.font,
|
|
450
|
-
}));
|
|
446
|
+
if (formatting.color) {
|
|
447
|
+
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("color", { "w:val": formatting.color }));
|
|
451
448
|
}
|
|
452
449
|
if (formatting.size !== undefined) {
|
|
453
450
|
const halfPoints = (0, units_1.pointsToHalfPoints)(formatting.size);
|
|
454
451
|
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("sz", { "w:val": halfPoints }));
|
|
455
452
|
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("szCs", { "w:val": halfPoints }));
|
|
456
453
|
}
|
|
457
|
-
if (formatting.color) {
|
|
458
|
-
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("color", { "w:val": formatting.color }));
|
|
459
|
-
}
|
|
460
454
|
if (formatting.highlight) {
|
|
461
455
|
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("highlight", { "w:val": formatting.highlight }));
|
|
462
456
|
}
|
|
463
|
-
if (formatting.
|
|
464
|
-
|
|
457
|
+
if (formatting.underline) {
|
|
458
|
+
const underlineValue = typeof formatting.underline === "string"
|
|
459
|
+
? formatting.underline
|
|
460
|
+
: "single";
|
|
461
|
+
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("u", { "w:val": underlineValue }));
|
|
465
462
|
}
|
|
466
|
-
if (formatting.
|
|
467
|
-
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("
|
|
463
|
+
if (formatting.subscript) {
|
|
464
|
+
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("vertAlign", { "w:val": "subscript" }));
|
|
465
|
+
}
|
|
466
|
+
if (formatting.superscript) {
|
|
467
|
+
rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("vertAlign", { "w:val": "superscript" }));
|
|
468
468
|
}
|
|
469
469
|
return XMLBuilder_1.XMLBuilder.w("rPr", undefined, rPrChildren);
|
|
470
470
|
}
|
|
471
|
-
generateTableProperties(formatting, tableStyle) {
|
|
471
|
+
generateTableProperties(formatting, tableStyle, isConditional = false) {
|
|
472
472
|
const tblPrChildren = [];
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
473
|
+
if (tableStyle.rowBandSize !== undefined) {
|
|
474
|
+
tblPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("tblStyleRowBandSize", {
|
|
475
|
+
"w:val": tableStyle.rowBandSize,
|
|
476
|
+
}));
|
|
477
|
+
}
|
|
478
|
+
if (tableStyle.colBandSize !== undefined) {
|
|
479
|
+
tblPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("tblStyleColBandSize", {
|
|
480
|
+
"w:val": tableStyle.colBandSize,
|
|
478
481
|
}));
|
|
479
482
|
}
|
|
480
483
|
if (formatting.alignment) {
|
|
@@ -486,13 +489,19 @@ class Style {
|
|
|
486
489
|
"w:type": "dxa",
|
|
487
490
|
}));
|
|
488
491
|
}
|
|
492
|
+
if (formatting.indent !== undefined) {
|
|
493
|
+
tblPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("tblInd", {
|
|
494
|
+
"w:w": formatting.indent,
|
|
495
|
+
"w:type": "dxa",
|
|
496
|
+
}));
|
|
497
|
+
}
|
|
489
498
|
if (formatting.borders) {
|
|
490
499
|
const borderElements = this.generateBorderElements(formatting.borders, false);
|
|
491
500
|
if (borderElements.length > 0) {
|
|
492
501
|
tblPrChildren.push(XMLBuilder_1.XMLBuilder.w("tblBorders", undefined, borderElements));
|
|
493
502
|
}
|
|
494
503
|
}
|
|
495
|
-
if (formatting.shading) {
|
|
504
|
+
if (formatting.shading && !isConditional) {
|
|
496
505
|
tblPrChildren.push(this.generateShadingElement(formatting.shading));
|
|
497
506
|
}
|
|
498
507
|
if (formatting.cellMargins) {
|
|
@@ -525,16 +534,6 @@ class Style {
|
|
|
525
534
|
tblPrChildren.push(XMLBuilder_1.XMLBuilder.w("tblCellMar", undefined, marginElements));
|
|
526
535
|
}
|
|
527
536
|
}
|
|
528
|
-
if (tableStyle.rowBandSize !== undefined) {
|
|
529
|
-
tblPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("tblStyleRowBandSize", {
|
|
530
|
-
"w:val": tableStyle.rowBandSize,
|
|
531
|
-
}));
|
|
532
|
-
}
|
|
533
|
-
if (tableStyle.colBandSize !== undefined) {
|
|
534
|
-
tblPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("tblStyleColBandSize", {
|
|
535
|
-
"w:val": tableStyle.colBandSize,
|
|
536
|
-
}));
|
|
537
|
-
}
|
|
538
537
|
return XMLBuilder_1.XMLBuilder.w("tblPr", undefined, tblPrChildren);
|
|
539
538
|
}
|
|
540
539
|
generateTableCellProperties(formatting) {
|
|
@@ -585,13 +584,6 @@ class Style {
|
|
|
585
584
|
}
|
|
586
585
|
generateTableRowProperties(formatting) {
|
|
587
586
|
const trPrChildren = [];
|
|
588
|
-
if (formatting.height !== undefined) {
|
|
589
|
-
const heightRule = formatting.heightRule || "auto";
|
|
590
|
-
trPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("trHeight", {
|
|
591
|
-
"w:val": formatting.height,
|
|
592
|
-
"w:hRule": heightRule,
|
|
593
|
-
}));
|
|
594
|
-
}
|
|
595
587
|
if (formatting.cantSplit) {
|
|
596
588
|
trPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("cantSplit"));
|
|
597
589
|
}
|
|
@@ -615,7 +607,7 @@ class Style {
|
|
|
615
607
|
}
|
|
616
608
|
}
|
|
617
609
|
if (conditional.tableFormatting) {
|
|
618
|
-
const tblPr = this.generateTableProperties(conditional.tableFormatting, {});
|
|
610
|
+
const tblPr = this.generateTableProperties(conditional.tableFormatting, {}, true);
|
|
619
611
|
if (tblPr.children && tblPr.children.length > 0) {
|
|
620
612
|
tblStylePrChildren.push(tblPr);
|
|
621
613
|
}
|
|
@@ -638,8 +630,8 @@ class Style {
|
|
|
638
630
|
const borderElements = [];
|
|
639
631
|
const borderProps = [
|
|
640
632
|
"top",
|
|
641
|
-
"bottom",
|
|
642
633
|
"left",
|
|
634
|
+
"bottom",
|
|
643
635
|
"right",
|
|
644
636
|
"insideH",
|
|
645
637
|
"insideV",
|