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":"Section.d.ts","sourceRoot":"","sources":["../../src/elements/Section.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Section.d.ts","sourceRoot":"","sources":["../../src/elements/Section.ts"],"names":[],"mappings":"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"}
|
package/dist/elements/Section.js
CHANGED
|
@@ -366,6 +366,42 @@ class Section {
|
|
|
366
366
|
}));
|
|
367
367
|
}
|
|
368
368
|
}
|
|
369
|
+
if (this.properties.footnotePr) {
|
|
370
|
+
const fnChildren = [];
|
|
371
|
+
if (this.properties.footnotePr.position) {
|
|
372
|
+
fnChildren.push(XMLBuilder_1.XMLBuilder.wSelf('pos', { 'w:val': this.properties.footnotePr.position }));
|
|
373
|
+
}
|
|
374
|
+
if (this.properties.footnotePr.numberFormat) {
|
|
375
|
+
fnChildren.push(XMLBuilder_1.XMLBuilder.wSelf('numFmt', { 'w:val': this.properties.footnotePr.numberFormat }));
|
|
376
|
+
}
|
|
377
|
+
if (this.properties.footnotePr.startNumber !== undefined) {
|
|
378
|
+
fnChildren.push(XMLBuilder_1.XMLBuilder.wSelf('numStart', { 'w:val': this.properties.footnotePr.startNumber.toString() }));
|
|
379
|
+
}
|
|
380
|
+
if (this.properties.footnotePr.restart) {
|
|
381
|
+
fnChildren.push(XMLBuilder_1.XMLBuilder.wSelf('numRestart', { 'w:val': this.properties.footnotePr.restart }));
|
|
382
|
+
}
|
|
383
|
+
if (fnChildren.length > 0) {
|
|
384
|
+
children.push(XMLBuilder_1.XMLBuilder.w('footnotePr', undefined, fnChildren));
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
if (this.properties.endnotePr) {
|
|
388
|
+
const enChildren = [];
|
|
389
|
+
if (this.properties.endnotePr.position) {
|
|
390
|
+
enChildren.push(XMLBuilder_1.XMLBuilder.wSelf('pos', { 'w:val': this.properties.endnotePr.position }));
|
|
391
|
+
}
|
|
392
|
+
if (this.properties.endnotePr.numberFormat) {
|
|
393
|
+
enChildren.push(XMLBuilder_1.XMLBuilder.wSelf('numFmt', { 'w:val': this.properties.endnotePr.numberFormat }));
|
|
394
|
+
}
|
|
395
|
+
if (this.properties.endnotePr.startNumber !== undefined) {
|
|
396
|
+
enChildren.push(XMLBuilder_1.XMLBuilder.wSelf('numStart', { 'w:val': this.properties.endnotePr.startNumber.toString() }));
|
|
397
|
+
}
|
|
398
|
+
if (this.properties.endnotePr.restart) {
|
|
399
|
+
enChildren.push(XMLBuilder_1.XMLBuilder.wSelf('numRestart', { 'w:val': this.properties.endnotePr.restart }));
|
|
400
|
+
}
|
|
401
|
+
if (enChildren.length > 0) {
|
|
402
|
+
children.push(XMLBuilder_1.XMLBuilder.w('endnotePr', undefined, enChildren));
|
|
403
|
+
}
|
|
404
|
+
}
|
|
369
405
|
if (this.properties.type) {
|
|
370
406
|
children.push(XMLBuilder_1.XMLBuilder.wSelf('type', { 'w:val': this.properties.type }));
|
|
371
407
|
}
|
|
@@ -393,6 +429,18 @@ class Section {
|
|
|
393
429
|
}
|
|
394
430
|
children.push(XMLBuilder_1.XMLBuilder.wSelf('pgMar', attrs));
|
|
395
431
|
}
|
|
432
|
+
if (this.properties.paperSource) {
|
|
433
|
+
const attrs = {};
|
|
434
|
+
if (this.properties.paperSource.first !== undefined) {
|
|
435
|
+
attrs['w:first'] = this.properties.paperSource.first.toString();
|
|
436
|
+
}
|
|
437
|
+
if (this.properties.paperSource.other !== undefined) {
|
|
438
|
+
attrs['w:other'] = this.properties.paperSource.other.toString();
|
|
439
|
+
}
|
|
440
|
+
if (Object.keys(attrs).length > 0) {
|
|
441
|
+
children.push(XMLBuilder_1.XMLBuilder.wSelf('paperSrc', attrs));
|
|
442
|
+
}
|
|
443
|
+
}
|
|
396
444
|
if (this.properties.pageBorders) {
|
|
397
445
|
const pgBorders = this.properties.pageBorders;
|
|
398
446
|
const pgBordersAttrs = {};
|
|
@@ -433,6 +481,42 @@ class Section {
|
|
|
433
481
|
buildBorder('right', pgBorders.right);
|
|
434
482
|
children.push(XMLBuilder_1.XMLBuilder.w('pgBorders', pgBordersAttrs, borderChildren));
|
|
435
483
|
}
|
|
484
|
+
if (this.properties.lineNumbering) {
|
|
485
|
+
const attrs = {};
|
|
486
|
+
if (this.properties.lineNumbering.countBy !== undefined) {
|
|
487
|
+
attrs['w:countBy'] = this.properties.lineNumbering.countBy.toString();
|
|
488
|
+
}
|
|
489
|
+
if (this.properties.lineNumbering.start !== undefined) {
|
|
490
|
+
attrs['w:start'] = this.properties.lineNumbering.start.toString();
|
|
491
|
+
}
|
|
492
|
+
if (this.properties.lineNumbering.distance !== undefined) {
|
|
493
|
+
attrs['w:distance'] = this.properties.lineNumbering.distance.toString();
|
|
494
|
+
}
|
|
495
|
+
if (this.properties.lineNumbering.restart) {
|
|
496
|
+
attrs['w:restart'] = this.properties.lineNumbering.restart;
|
|
497
|
+
}
|
|
498
|
+
if (Object.keys(attrs).length > 0) {
|
|
499
|
+
children.push(XMLBuilder_1.XMLBuilder.wSelf('lnNumType', attrs));
|
|
500
|
+
}
|
|
501
|
+
}
|
|
502
|
+
if (this.properties.pageNumbering || this.properties.chapStyle !== undefined) {
|
|
503
|
+
const attrs = {};
|
|
504
|
+
if (this.properties.pageNumbering?.start !== undefined) {
|
|
505
|
+
attrs['w:start'] = this.properties.pageNumbering.start.toString();
|
|
506
|
+
}
|
|
507
|
+
if (this.properties.pageNumbering?.format) {
|
|
508
|
+
attrs['w:fmt'] = this.properties.pageNumbering.format;
|
|
509
|
+
}
|
|
510
|
+
if (this.properties.chapStyle !== undefined) {
|
|
511
|
+
attrs['w:chapStyle'] = this.properties.chapStyle.toString();
|
|
512
|
+
}
|
|
513
|
+
if (this.properties.chapSep) {
|
|
514
|
+
attrs['w:chapSep'] = this.properties.chapSep;
|
|
515
|
+
}
|
|
516
|
+
if (Object.keys(attrs).length > 0) {
|
|
517
|
+
children.push(XMLBuilder_1.XMLBuilder.wSelf('pgNumType', attrs));
|
|
518
|
+
}
|
|
519
|
+
}
|
|
436
520
|
if (this.properties.columns) {
|
|
437
521
|
const attrs = {
|
|
438
522
|
'w:num': this.properties.columns.count.toString(),
|
|
@@ -456,86 +540,25 @@ class Section {
|
|
|
456
540
|
? XMLBuilder_1.XMLBuilder.w('cols', attrs, colChildren)
|
|
457
541
|
: XMLBuilder_1.XMLBuilder.wSelf('cols', attrs));
|
|
458
542
|
}
|
|
459
|
-
if (this.properties.titlePage) {
|
|
460
|
-
children.push(XMLBuilder_1.XMLBuilder.wSelf('titlePg', { 'w:val': '1' }));
|
|
461
|
-
}
|
|
462
|
-
if (this.properties.footnotePr) {
|
|
463
|
-
const fnChildren = [];
|
|
464
|
-
if (this.properties.footnotePr.position) {
|
|
465
|
-
fnChildren.push(XMLBuilder_1.XMLBuilder.wSelf('pos', { 'w:val': this.properties.footnotePr.position }));
|
|
466
|
-
}
|
|
467
|
-
if (this.properties.footnotePr.numberFormat) {
|
|
468
|
-
fnChildren.push(XMLBuilder_1.XMLBuilder.wSelf('numFmt', { 'w:val': this.properties.footnotePr.numberFormat }));
|
|
469
|
-
}
|
|
470
|
-
if (this.properties.footnotePr.startNumber !== undefined) {
|
|
471
|
-
fnChildren.push(XMLBuilder_1.XMLBuilder.wSelf('numStart', { 'w:val': this.properties.footnotePr.startNumber.toString() }));
|
|
472
|
-
}
|
|
473
|
-
if (this.properties.footnotePr.restart) {
|
|
474
|
-
fnChildren.push(XMLBuilder_1.XMLBuilder.wSelf('numRestart', { 'w:val': this.properties.footnotePr.restart }));
|
|
475
|
-
}
|
|
476
|
-
if (fnChildren.length > 0) {
|
|
477
|
-
children.push(XMLBuilder_1.XMLBuilder.w('footnotePr', undefined, fnChildren));
|
|
478
|
-
}
|
|
479
|
-
}
|
|
480
|
-
if (this.properties.endnotePr) {
|
|
481
|
-
const enChildren = [];
|
|
482
|
-
if (this.properties.endnotePr.position) {
|
|
483
|
-
enChildren.push(XMLBuilder_1.XMLBuilder.wSelf('pos', { 'w:val': this.properties.endnotePr.position }));
|
|
484
|
-
}
|
|
485
|
-
if (this.properties.endnotePr.numberFormat) {
|
|
486
|
-
enChildren.push(XMLBuilder_1.XMLBuilder.wSelf('numFmt', { 'w:val': this.properties.endnotePr.numberFormat }));
|
|
487
|
-
}
|
|
488
|
-
if (this.properties.endnotePr.startNumber !== undefined) {
|
|
489
|
-
enChildren.push(XMLBuilder_1.XMLBuilder.wSelf('numStart', { 'w:val': this.properties.endnotePr.startNumber.toString() }));
|
|
490
|
-
}
|
|
491
|
-
if (this.properties.endnotePr.restart) {
|
|
492
|
-
enChildren.push(XMLBuilder_1.XMLBuilder.wSelf('numRestart', { 'w:val': this.properties.endnotePr.restart }));
|
|
493
|
-
}
|
|
494
|
-
if (enChildren.length > 0) {
|
|
495
|
-
children.push(XMLBuilder_1.XMLBuilder.w('endnotePr', undefined, enChildren));
|
|
496
|
-
}
|
|
497
|
-
}
|
|
498
|
-
if (this.properties.noEndnote) {
|
|
499
|
-
children.push(XMLBuilder_1.XMLBuilder.wSelf('noEndnote'));
|
|
500
|
-
}
|
|
501
543
|
if (this.properties.formProt) {
|
|
502
544
|
children.push(XMLBuilder_1.XMLBuilder.wSelf('formProt'));
|
|
503
545
|
}
|
|
504
|
-
if (this.properties.pageNumbering || this.properties.chapStyle !== undefined) {
|
|
505
|
-
const attrs = {};
|
|
506
|
-
if (this.properties.pageNumbering?.start !== undefined) {
|
|
507
|
-
attrs['w:start'] = this.properties.pageNumbering.start.toString();
|
|
508
|
-
}
|
|
509
|
-
if (this.properties.pageNumbering?.format) {
|
|
510
|
-
attrs['w:fmt'] = this.properties.pageNumbering.format;
|
|
511
|
-
}
|
|
512
|
-
if (this.properties.chapStyle !== undefined) {
|
|
513
|
-
attrs['w:chapStyle'] = this.properties.chapStyle.toString();
|
|
514
|
-
}
|
|
515
|
-
if (this.properties.chapSep) {
|
|
516
|
-
attrs['w:chapSep'] = this.properties.chapSep;
|
|
517
|
-
}
|
|
518
|
-
if (Object.keys(attrs).length > 0) {
|
|
519
|
-
children.push(XMLBuilder_1.XMLBuilder.wSelf('pgNumType', attrs));
|
|
520
|
-
}
|
|
521
|
-
}
|
|
522
546
|
if (this.properties.verticalAlignment) {
|
|
523
547
|
children.push(XMLBuilder_1.XMLBuilder.wSelf('vAlign', { 'w:val': this.properties.verticalAlignment }));
|
|
524
548
|
}
|
|
525
|
-
if (this.properties.
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
}
|
|
530
|
-
if (this.properties.paperSource.other !== undefined) {
|
|
531
|
-
attrs['w:other'] = this.properties.paperSource.other.toString();
|
|
532
|
-
}
|
|
533
|
-
if (Object.keys(attrs).length > 0) {
|
|
534
|
-
children.push(XMLBuilder_1.XMLBuilder.wSelf('paperSrc', attrs));
|
|
535
|
-
}
|
|
549
|
+
if (this.properties.noEndnote) {
|
|
550
|
+
children.push(XMLBuilder_1.XMLBuilder.wSelf('noEndnote'));
|
|
551
|
+
}
|
|
552
|
+
if (this.properties.titlePage) {
|
|
553
|
+
children.push(XMLBuilder_1.XMLBuilder.wSelf('titlePg', { 'w:val': '1' }));
|
|
536
554
|
}
|
|
537
555
|
if (this.properties.textDirection) {
|
|
538
|
-
|
|
556
|
+
const textDirMap = {
|
|
557
|
+
ltr: 'lrTb', rtl: 'tbRl', tbRl: 'tbRl', btLr: 'btLr',
|
|
558
|
+
lrTb: 'lrTb', lrTbV: 'lrTbV', tbRlV: 'tbRlV', tbLrV: 'tbLrV',
|
|
559
|
+
};
|
|
560
|
+
const val = textDirMap[this.properties.textDirection] || this.properties.textDirection;
|
|
561
|
+
children.push(XMLBuilder_1.XMLBuilder.wSelf('textDirection', { 'w:val': val }));
|
|
539
562
|
}
|
|
540
563
|
if (this.properties.bidi) {
|
|
541
564
|
children.push(XMLBuilder_1.XMLBuilder.wSelf('bidi'));
|
|
@@ -543,24 +566,6 @@ class Section {
|
|
|
543
566
|
if (this.properties.rtlGutter) {
|
|
544
567
|
children.push(XMLBuilder_1.XMLBuilder.wSelf('rtlGutter'));
|
|
545
568
|
}
|
|
546
|
-
if (this.properties.lineNumbering) {
|
|
547
|
-
const attrs = {};
|
|
548
|
-
if (this.properties.lineNumbering.countBy !== undefined) {
|
|
549
|
-
attrs['w:countBy'] = this.properties.lineNumbering.countBy.toString();
|
|
550
|
-
}
|
|
551
|
-
if (this.properties.lineNumbering.start !== undefined) {
|
|
552
|
-
attrs['w:start'] = this.properties.lineNumbering.start.toString();
|
|
553
|
-
}
|
|
554
|
-
if (this.properties.lineNumbering.distance !== undefined) {
|
|
555
|
-
attrs['w:distance'] = this.properties.lineNumbering.distance.toString();
|
|
556
|
-
}
|
|
557
|
-
if (this.properties.lineNumbering.restart) {
|
|
558
|
-
attrs['w:restart'] = this.properties.lineNumbering.restart;
|
|
559
|
-
}
|
|
560
|
-
if (Object.keys(attrs).length > 0) {
|
|
561
|
-
children.push(XMLBuilder_1.XMLBuilder.wSelf('lnNumType', attrs));
|
|
562
|
-
}
|
|
563
|
-
}
|
|
564
569
|
if (this.properties.docGrid) {
|
|
565
570
|
const attrs = {};
|
|
566
571
|
if (this.properties.docGrid.type) {
|
|
@@ -590,6 +595,9 @@ class Section {
|
|
|
590
595
|
const prevChildren = [];
|
|
591
596
|
const prev = this.sectPrChange.previousProperties;
|
|
592
597
|
if (prev) {
|
|
598
|
+
if (prev.type) {
|
|
599
|
+
prevChildren.push(XMLBuilder_1.XMLBuilder.wSelf('type', { 'w:val': prev.type }));
|
|
600
|
+
}
|
|
593
601
|
if (prev.pageSize) {
|
|
594
602
|
const pgSzAttrs = {
|
|
595
603
|
'w:w': prev.pageSize.width?.toString() || '12240',
|
|
@@ -616,34 +624,6 @@ class Section {
|
|
|
616
624
|
pgMarAttrs['w:footer'] = prev.margins.footer.toString();
|
|
617
625
|
prevChildren.push(XMLBuilder_1.XMLBuilder.wSelf('pgMar', pgMarAttrs));
|
|
618
626
|
}
|
|
619
|
-
if (prev.type) {
|
|
620
|
-
prevChildren.push(XMLBuilder_1.XMLBuilder.wSelf('type', { 'w:val': prev.type }));
|
|
621
|
-
}
|
|
622
|
-
if (prev.columns) {
|
|
623
|
-
const colAttrs = { 'w:num': prev.columns.count?.toString() || '1' };
|
|
624
|
-
if (prev.columns.space !== undefined)
|
|
625
|
-
colAttrs['w:space'] = prev.columns.space.toString();
|
|
626
|
-
prevChildren.push(XMLBuilder_1.XMLBuilder.wSelf('cols', colAttrs));
|
|
627
|
-
}
|
|
628
|
-
if (prev.titlePage) {
|
|
629
|
-
prevChildren.push(XMLBuilder_1.XMLBuilder.wSelf('titlePg'));
|
|
630
|
-
}
|
|
631
|
-
if (prev.pageNumbering) {
|
|
632
|
-
const pnAttrs = {};
|
|
633
|
-
if (prev.pageNumbering.start !== undefined)
|
|
634
|
-
pnAttrs['w:start'] = prev.pageNumbering.start.toString();
|
|
635
|
-
if (prev.pageNumbering.format)
|
|
636
|
-
pnAttrs['w:fmt'] = prev.pageNumbering.format;
|
|
637
|
-
if (Object.keys(pnAttrs).length > 0) {
|
|
638
|
-
prevChildren.push(XMLBuilder_1.XMLBuilder.wSelf('pgNumType', pnAttrs));
|
|
639
|
-
}
|
|
640
|
-
}
|
|
641
|
-
if (prev.verticalAlignment) {
|
|
642
|
-
prevChildren.push(XMLBuilder_1.XMLBuilder.wSelf('vAlign', { 'w:val': prev.verticalAlignment }));
|
|
643
|
-
}
|
|
644
|
-
if (prev.textDirection) {
|
|
645
|
-
prevChildren.push(XMLBuilder_1.XMLBuilder.wSelf('textDirection', { 'w:val': prev.textDirection }));
|
|
646
|
-
}
|
|
647
627
|
if (prev.lineNumbering) {
|
|
648
628
|
const lnAttrs = {};
|
|
649
629
|
if (prev.lineNumbering.countBy !== undefined)
|
|
@@ -658,9 +638,38 @@ class Section {
|
|
|
658
638
|
prevChildren.push(XMLBuilder_1.XMLBuilder.wSelf('lnNumType', lnAttrs));
|
|
659
639
|
}
|
|
660
640
|
}
|
|
641
|
+
if (prev.pageNumbering) {
|
|
642
|
+
const pnAttrs = {};
|
|
643
|
+
if (prev.pageNumbering.start !== undefined)
|
|
644
|
+
pnAttrs['w:start'] = prev.pageNumbering.start.toString();
|
|
645
|
+
if (prev.pageNumbering.format)
|
|
646
|
+
pnAttrs['w:fmt'] = prev.pageNumbering.format;
|
|
647
|
+
if (Object.keys(pnAttrs).length > 0) {
|
|
648
|
+
prevChildren.push(XMLBuilder_1.XMLBuilder.wSelf('pgNumType', pnAttrs));
|
|
649
|
+
}
|
|
650
|
+
}
|
|
651
|
+
if (prev.columns) {
|
|
652
|
+
const colAttrs = { 'w:num': prev.columns.count?.toString() || '1' };
|
|
653
|
+
if (prev.columns.space !== undefined)
|
|
654
|
+
colAttrs['w:space'] = prev.columns.space.toString();
|
|
655
|
+
prevChildren.push(XMLBuilder_1.XMLBuilder.wSelf('cols', colAttrs));
|
|
656
|
+
}
|
|
661
657
|
if (prev.formProt) {
|
|
662
658
|
prevChildren.push(XMLBuilder_1.XMLBuilder.wSelf('formProt'));
|
|
663
659
|
}
|
|
660
|
+
if (prev.verticalAlignment) {
|
|
661
|
+
prevChildren.push(XMLBuilder_1.XMLBuilder.wSelf('vAlign', { 'w:val': prev.verticalAlignment }));
|
|
662
|
+
}
|
|
663
|
+
if (prev.titlePage) {
|
|
664
|
+
prevChildren.push(XMLBuilder_1.XMLBuilder.wSelf('titlePg'));
|
|
665
|
+
}
|
|
666
|
+
if (prev.textDirection) {
|
|
667
|
+
const tdMap = {
|
|
668
|
+
ltr: 'lrTb', rtl: 'tbRl', tbRl: 'tbRl', btLr: 'btLr',
|
|
669
|
+
lrTb: 'lrTb', lrTbV: 'lrTbV', tbRlV: 'tbRlV', tbLrV: 'tbLrV',
|
|
670
|
+
};
|
|
671
|
+
prevChildren.push(XMLBuilder_1.XMLBuilder.wSelf('textDirection', { 'w:val': tdMap[prev.textDirection] || prev.textDirection }));
|
|
672
|
+
}
|
|
664
673
|
}
|
|
665
674
|
const prevSectPr = XMLBuilder_1.XMLBuilder.w('sectPr', undefined, prevChildren);
|
|
666
675
|
children.push(XMLBuilder_1.XMLBuilder.w('sectPrChange', changeAttrs, [prevSectPr]));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Section.js","sourceRoot":"","sources":["../../src/elements/Section.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Section.js","sourceRoot":"","sources":["../../src/elements/Section.ts"],"names":[],"mappings":"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","sourcesContent":["/**\r\n * Section - Represents a document section with page setup properties\r\n *\r\n * Sections allow different page setups within a single document (margins, orientation, etc.)\r\n * Each section can have its own headers, footers, and page numbering.\r\n */\r\n\r\nimport { XMLBuilder, XMLElement } from '../xml/XMLBuilder';\r\nimport { PAGE_SIZES } from '../utils/units';\r\n\r\n/**\r\n * Page orientation\r\n */\r\nexport type PageOrientation = 'portrait' | 'landscape';\r\n\r\n/**\r\n * Section break type\r\n */\r\nexport type SectionType = 'nextPage' | 'continuous' | 'evenPage' | 'oddPage' | 'nextColumn';\r\n\r\n/**\r\n * Page numbering format\r\n */\r\n/**\r\n * Per ECMA-376 Part 1 §17.18.59 (ST_NumberFormat)\r\n * Comprehensive set of page number formats\r\n */\r\nexport type PageNumberFormat =\r\n | 'decimal' | 'lowerRoman' | 'upperRoman' | 'lowerLetter' | 'upperLetter'\r\n | 'ordinal' | 'cardinalText' | 'ordinalText'\r\n | 'hex' | 'chicago' | 'decimalZero'\r\n | 'decimalEnclosedCircle' | 'decimalEnclosedFullstop' | 'decimalEnclosedParen'\r\n | 'ideographDigital' | 'ideographTraditional' | 'ideographLegalTraditional'\r\n | 'ideographEnclosedCircle' | 'ideographZodiac' | 'ideographZodiacTraditional'\r\n | 'chineseCounting' | 'chineseCountingThousand' | 'chineseLegalSimplified'\r\n | 'japaneseCounting' | 'japaneseDigitalTenThousand' | 'japaneseLegal'\r\n | 'koreanCounting' | 'koreanDigital' | 'koreanDigital2' | 'koreanLegal'\r\n | 'taiwaneseCounting' | 'taiwaneseCountingThousand' | 'taiwaneseDigital'\r\n | 'aiueo' | 'aiueoFullWidth' | 'iroha' | 'irohaFullWidth'\r\n | 'arabicAbjad' | 'arabicAlpha' | 'hebrew1' | 'hebrew2'\r\n | 'hindiConsonants' | 'hindiCounting' | 'hindiNumbers' | 'hindiVowels'\r\n | 'thaiCounting' | 'thaiLetters' | 'thaiNumbers'\r\n | 'vietnameseCounting'\r\n | 'russianLower' | 'russianUpper'\r\n | 'numberInDash' | 'dollarText' | 'bullet'\r\n | 'bahtText' | 'ganada' | 'chosung'\r\n | 'none'\r\n | string; // Allow any format string for forward compatibility\r\n\r\n/**\r\n * Page size properties\r\n */\r\nexport interface PageSize {\r\n /** Width in twips */\r\n width: number;\r\n /** Height in twips */\r\n height: number;\r\n /** Orientation */\r\n orientation?: PageOrientation;\r\n}\r\n\r\n/**\r\n * Margin properties\r\n */\r\nexport interface Margins {\r\n /** Top margin in twips */\r\n top: number;\r\n /** Bottom margin in twips */\r\n bottom: number;\r\n /** Left margin in twips */\r\n left: number;\r\n /** Right margin in twips */\r\n right: number;\r\n /** Header distance from top in twips */\r\n header?: number;\r\n /** Footer distance from bottom in twips */\r\n footer?: number;\r\n /** Gutter margin in twips */\r\n gutter?: number;\r\n}\r\n\r\n/**\r\n * Column properties\r\n */\r\nexport interface Columns {\r\n /** Number of columns */\r\n count: number;\r\n /** Space between columns in twips */\r\n space?: number;\r\n /** Equal column widths */\r\n equalWidth?: boolean;\r\n /** Show column separator line */\r\n separator?: boolean;\r\n /** Individual column widths (for unequal columns) in twips */\r\n columnWidths?: number[];\r\n}\r\n\r\n/**\r\n * Page numbering properties\r\n */\r\nexport interface PageNumbering {\r\n /** Starting page number */\r\n start?: number;\r\n /** Number format */\r\n format?: PageNumberFormat;\r\n}\r\n\r\n/**\r\n * Paper source (printer tray) properties\r\n */\r\nexport interface PaperSource {\r\n /** First page tray number */\r\n first?: number;\r\n /** Other pages tray number */\r\n other?: number;\r\n}\r\n\r\n/**\r\n * Vertical page alignment\r\n */\r\nexport type VerticalAlignment = 'top' | 'center' | 'bottom' | 'both';\r\n\r\n/**\r\n * Text direction\r\n */\r\nexport type TextDirection = 'ltr' | 'rtl' | 'tbRl' | 'btLr';\r\n\r\n/**\r\n * Document grid type for East Asian typography\r\n */\r\nexport type DocumentGridType = 'default' | 'lines' | 'linesAndChars' | 'snapToChars';\r\n\r\n/**\r\n * Document grid properties\r\n */\r\nexport interface DocumentGrid {\r\n /** Grid type */\r\n type?: DocumentGridType;\r\n /** Lines per page */\r\n linePitch?: number;\r\n /** Characters per line */\r\n charSpace?: number;\r\n}\r\n\r\n/**\r\n * Line numbering restart mode\r\n */\r\nexport type LineNumberingRestart = 'newPage' | 'newSection' | 'continuous';\r\n\r\n/**\r\n * Line numbering properties\r\n * Per ECMA-376 Part 1, Section 17.6.8 (w:lnNumType element)\r\n */\r\nexport interface LineNumbering {\r\n /** Display line number every N lines (countBy attribute) */\r\n countBy?: number;\r\n /** Starting line number */\r\n start?: number;\r\n /** Distance from text margin in twips */\r\n distance?: number;\r\n /** When to restart line numbering */\r\n restart?: LineNumberingRestart;\r\n}\r\n\r\n/**\r\n * Footnote/endnote position\r\n * Per ECMA-376 Part 1 §17.11.6 and §17.11.7\r\n */\r\nexport type NotePosition = 'pageBottom' | 'beneathText' | 'sectEnd' | 'docEnd';\r\n\r\n/**\r\n * Note numbering restart mode\r\n */\r\nexport type NoteNumberRestart = 'continuous' | 'eachSect' | 'eachPage';\r\n\r\n/**\r\n * Chapter separator character for page numbering\r\n * Per ECMA-376 Part 1 §17.18.5\r\n */\r\nexport type ChapterSeparator = 'colon' | 'emDash' | 'enDash' | 'hyphen' | 'period';\r\n\r\n/**\r\n * Footnote/endnote section-level properties\r\n */\r\nexport interface NoteProperties {\r\n /** Note positioning */\r\n position?: NotePosition;\r\n /** Number format */\r\n numberFormat?: PageNumberFormat;\r\n /** Starting number */\r\n startNumber?: number;\r\n /** Restart numbering mode */\r\n restart?: NoteNumberRestart;\r\n}\r\n\r\n/**\r\n * Page border definition for a single side\r\n * Per ECMA-376 Part 1 §17.6.10\r\n */\r\nexport interface PageBorderDef {\r\n /** Border style (single, double, dashed, etc.) */\r\n style?: string;\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 page edge/text in points */\r\n space?: number;\r\n /** Whether to show shadow */\r\n shadow?: boolean;\r\n /** Whether to include frame around page */\r\n frame?: boolean;\r\n /** Theme color reference */\r\n themeColor?: string;\r\n /** Art border ID (for decorative borders) */\r\n artId?: number;\r\n}\r\n\r\n/**\r\n * Page borders configuration\r\n * Per ECMA-376 Part 1 §17.6.10\r\n */\r\nexport interface PageBorders {\r\n /** Top page border */\r\n top?: PageBorderDef;\r\n /** Bottom page border */\r\n bottom?: PageBorderDef;\r\n /** Left page border */\r\n left?: PageBorderDef;\r\n /** Right page border */\r\n right?: PageBorderDef;\r\n /** Whether border is measured from page edge or text edge */\r\n offsetFrom?: 'page' | 'text';\r\n /** Display on all pages, first page only, or not first page */\r\n display?: 'allPages' | 'firstPage' | 'notFirstPage';\r\n /** Z-ordering relative to text */\r\n zOrder?: 'front' | 'back';\r\n}\r\n\r\n/**\r\n * Section properties\r\n */\r\nexport interface SectionProperties {\r\n /** Page size */\r\n pageSize?: PageSize;\r\n /** Margins */\r\n margins?: Margins;\r\n /** Column layout */\r\n columns?: Columns;\r\n /** Section break type */\r\n type?: SectionType;\r\n /** Page numbering */\r\n pageNumbering?: PageNumbering;\r\n /** Header reference IDs */\r\n headers?: {\r\n default?: string; // rId for default header\r\n first?: string; // rId for first page header\r\n even?: string; // rId for even page header\r\n };\r\n /** Footer reference IDs */\r\n footers?: {\r\n default?: string; // rId for default footer\r\n first?: string; // rId for first page footer\r\n even?: string; // rId for even page footer\r\n };\r\n /** Title page (different first page) */\r\n titlePage?: boolean;\r\n /** Vertical page alignment */\r\n verticalAlignment?: VerticalAlignment;\r\n /** Paper source (printer tray) */\r\n paperSource?: PaperSource;\r\n /** Text direction (LTR/RTL support) */\r\n textDirection?: TextDirection;\r\n /** Right-to-left section layout */\r\n bidi?: boolean;\r\n /** Gutter on right side (for RTL) */\r\n rtlGutter?: boolean;\r\n /** Document grid for snapping text to grid */\r\n docGrid?: DocumentGrid;\r\n /** Line numbering configuration */\r\n lineNumbering?: LineNumbering;\r\n /** Section-level footnote properties (w:footnotePr) */\r\n footnotePr?: NoteProperties;\r\n /** Section-level endnote properties (w:endnotePr) */\r\n endnotePr?: NoteProperties;\r\n /** Suppress endnotes in this section (w:noEndnote) */\r\n noEndnote?: boolean;\r\n /** Form protection for this section (w:formProt) */\r\n formProt?: boolean;\r\n /** Page borders per ECMA-376 Part 1 §17.6.10 */\r\n pageBorders?: PageBorders;\r\n /** Printer settings relationship ID (w:printerSettings r:id) */\r\n printerSettingsId?: string;\r\n /** Chapter style heading level for page numbering (w:pgNumType w:chapStyle) */\r\n chapStyle?: number;\r\n /** Chapter separator for page numbering (w:pgNumType w:chapSep) */\r\n chapSep?: ChapterSeparator;\r\n}\r\n\r\n/**\r\n * Represents a document section\r\n */\r\n/**\r\n * Section property change tracking (w:sectPrChange)\r\n * Per ECMA-376 Part 1 §17.13.5.32\r\n */\r\nexport interface SectPrChange {\r\n author: string;\r\n date: string;\r\n id: string;\r\n previousProperties: Record<string, any>;\r\n}\r\n\r\nexport class Section {\r\n private properties: SectionProperties;\r\n /** Tracking context for automatic change tracking */\r\n private trackingContext?: import('../tracking/TrackingContext').TrackingContext;\r\n /** Section property change tracking (w:sectPrChange) */\r\n private sectPrChange?: SectPrChange;\r\n\r\n /**\r\n * Creates a new section\r\n * @param properties Section properties\r\n */\r\n constructor(properties: SectionProperties = {}) {\r\n // Set defaults only where necessary\r\n this.properties = {\r\n pageSize: properties.pageSize || {\r\n width: PAGE_SIZES.LETTER.width,\r\n height: PAGE_SIZES.LETTER.height,\r\n orientation: 'portrait',\r\n },\r\n margins: properties.margins || {\r\n top: 1440, // 1 inch\r\n bottom: 1440,\r\n left: 1440,\r\n right: 1440,\r\n header: 720, // 0.5 inch\r\n footer: 720,\r\n },\r\n // Default to single column layout\r\n columns: properties.columns || {\r\n count: 1,\r\n },\r\n // Default to next page section break\r\n type: properties.type || 'nextPage',\r\n pageNumbering: properties.pageNumbering,\r\n headers: properties.headers,\r\n footers: properties.footers,\r\n titlePage: properties.titlePage,\r\n // Phase 4.5 - New properties\r\n verticalAlignment: properties.verticalAlignment,\r\n paperSource: properties.paperSource,\r\n textDirection: properties.textDirection,\r\n pageBorders: properties.pageBorders,\r\n };\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 * Gets the section property change tracking info\r\n */\r\n getSectPrChange(): SectPrChange | undefined {\r\n return this.sectPrChange;\r\n }\r\n\r\n /**\r\n * Sets the section property change tracking info\r\n */\r\n setSectPrChange(change: SectPrChange | undefined): void {\r\n this.sectPrChange = change;\r\n }\r\n\r\n /**\r\n * Clears the section property change tracking\r\n */\r\n clearSectPrChange(): void {\r\n this.sectPrChange = undefined;\r\n }\r\n\r\n /**\r\n * Gets the section properties\r\n */\r\n getProperties(): SectionProperties {\r\n return { ...this.properties };\r\n }\r\n\r\n // ============================================================================\r\n // Individual Property Getters\r\n // ============================================================================\r\n\r\n /**\r\n * Gets the page size settings\r\n * @returns Page size object with width, height, and orientation, or undefined\r\n */\r\n getPageSize(): PageSize | undefined {\r\n return this.properties.pageSize ? { ...this.properties.pageSize } : undefined;\r\n }\r\n\r\n /**\r\n * Gets the page orientation\r\n * @returns 'portrait' or 'landscape', or undefined if not set\r\n */\r\n getOrientation(): PageOrientation | undefined {\r\n return this.properties.pageSize?.orientation;\r\n }\r\n\r\n /**\r\n * Gets the margin settings\r\n * @returns Margins object or undefined if not set\r\n */\r\n getMargins(): Margins | undefined {\r\n return this.properties.margins ? { ...this.properties.margins } : undefined;\r\n }\r\n\r\n /**\r\n * Gets the column layout settings\r\n * @returns Columns object or undefined if not set\r\n */\r\n getColumns(): Columns | undefined {\r\n return this.properties.columns ? { ...this.properties.columns } : undefined;\r\n }\r\n\r\n /**\r\n * Gets the section type (break type)\r\n * @returns Section type or undefined if not set\r\n */\r\n getSectionType(): SectionType | undefined {\r\n return this.properties.type;\r\n }\r\n\r\n /**\r\n * Gets the page numbering settings\r\n * @returns PageNumbering object or undefined if not set\r\n */\r\n getPageNumbering(): PageNumbering | undefined {\r\n return this.properties.pageNumbering ? { ...this.properties.pageNumbering } : undefined;\r\n }\r\n\r\n /**\r\n * Gets whether this section has a title page (different first page)\r\n * @returns true if title page is enabled, false otherwise\r\n */\r\n getTitlePage(): boolean {\r\n return this.properties.titlePage ?? false;\r\n }\r\n\r\n /**\r\n * Gets header references\r\n * @returns Object with default, first, and even header relationship IDs, or undefined\r\n */\r\n getHeaderReferences(): { default?: string; first?: string; even?: string } | undefined {\r\n return this.properties.headers ? { ...this.properties.headers } : undefined;\r\n }\r\n\r\n /**\r\n * Gets a specific header reference\r\n * @param type Header type (default, first, even)\r\n * @returns Relationship ID or undefined if not set\r\n */\r\n getHeaderReference(type: 'default' | 'first' | 'even'): string | undefined {\r\n return this.properties.headers?.[type];\r\n }\r\n\r\n /**\r\n * Gets footer references\r\n * @returns Object with default, first, and even footer relationship IDs, or undefined\r\n */\r\n getFooterReferences(): { default?: string; first?: string; even?: string } | undefined {\r\n return this.properties.footers ? { ...this.properties.footers } : undefined;\r\n }\r\n\r\n /**\r\n * Gets a specific footer reference\r\n * @param type Footer type (default, first, even)\r\n * @returns Relationship ID or undefined if not set\r\n */\r\n getFooterReference(type: 'default' | 'first' | 'even'): string | undefined {\r\n return this.properties.footers?.[type];\r\n }\r\n\r\n /**\r\n * Gets the vertical page alignment\r\n * @returns Vertical alignment or undefined if not set\r\n */\r\n getVerticalAlignment(): VerticalAlignment | undefined {\r\n return this.properties.verticalAlignment;\r\n }\r\n\r\n /**\r\n * Gets the paper source (printer tray) settings\r\n * @returns PaperSource object or undefined if not set\r\n */\r\n getPaperSource(): PaperSource | undefined {\r\n return this.properties.paperSource ? { ...this.properties.paperSource } : undefined;\r\n }\r\n\r\n /**\r\n * Gets whether column separator is enabled\r\n * @returns true if separator is enabled, false otherwise\r\n */\r\n getColumnSeparator(): boolean {\r\n return this.properties.columns?.separator ?? false;\r\n }\r\n\r\n /**\r\n * Gets custom column widths\r\n * @returns Array of column widths in twips, or undefined if not set\r\n */\r\n getColumnWidths(): number[] | undefined {\r\n return this.properties.columns?.columnWidths ? [...this.properties.columns.columnWidths] : undefined;\r\n }\r\n\r\n /**\r\n * Gets the text direction\r\n * @returns Text direction or undefined if not set\r\n */\r\n getTextDirection(): TextDirection | undefined {\r\n return this.properties.textDirection;\r\n }\r\n\r\n /**\r\n * Gets whether the section is bidirectional (RTL)\r\n * @returns true if bidi is enabled, false otherwise\r\n */\r\n getBidi(): boolean {\r\n return this.properties.bidi ?? false;\r\n }\r\n\r\n /**\r\n * Gets whether RTL gutter is enabled (gutter on right side)\r\n * @returns true if RTL gutter is enabled, false otherwise\r\n */\r\n getRtlGutter(): boolean {\r\n return this.properties.rtlGutter ?? false;\r\n }\r\n\r\n /**\r\n * Gets the document grid settings\r\n * @returns DocumentGrid object or undefined if not set\r\n */\r\n getDocGrid(): DocumentGrid | undefined {\r\n return this.properties.docGrid ? { ...this.properties.docGrid } : undefined;\r\n }\r\n\r\n // ============================================================================\r\n // Setters\r\n // ============================================================================\r\n\r\n /**\r\n * Sets page size\r\n * @param width Width in twips\r\n * @param height Height in twips\r\n * @param orientation Page orientation\r\n */\r\n setPageSize(width: number, height: number, orientation: PageOrientation = 'portrait'): this {\r\n const prev = this.properties.pageSize ? { ...this.properties.pageSize } : undefined;\r\n this.properties.pageSize = { width, height, orientation };\r\n if (this.trackingContext?.isEnabled()) {\r\n this.trackingContext.trackSectionChange(this, 'pageSize', prev, this.properties.pageSize);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets page orientation\r\n * @param orientation Page orientation\r\n */\r\n setOrientation(orientation: PageOrientation): this {\r\n const prev = this.properties.pageSize?.orientation;\r\n if (!this.properties.pageSize) {\r\n this.properties.pageSize = {\r\n width: PAGE_SIZES.LETTER.width,\r\n height: PAGE_SIZES.LETTER.height,\r\n };\r\n }\r\n this.properties.pageSize.orientation = orientation;\r\n\r\n // Swap width/height for landscape\r\n if (orientation === 'landscape' && this.properties.pageSize.width < this.properties.pageSize.height) {\r\n const temp = this.properties.pageSize.width;\r\n this.properties.pageSize.width = this.properties.pageSize.height;\r\n this.properties.pageSize.height = temp;\r\n }\r\n\r\n if (this.trackingContext?.isEnabled() && prev !== orientation) {\r\n this.trackingContext.trackSectionChange(this, 'orientation', prev, orientation);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets margins\r\n * @param margins Margin properties\r\n */\r\n setMargins(margins: Margins): this {\r\n const prev = this.properties.margins ? { ...this.properties.margins } : undefined;\r\n const existing = this.properties.margins;\r\n this.properties.margins = {\r\n top: margins.top,\r\n bottom: margins.bottom,\r\n left: margins.left,\r\n right: margins.right,\r\n header: margins.header ?? existing?.header ?? 720,\r\n footer: margins.footer ?? existing?.footer ?? 720,\r\n gutter: margins.gutter ?? existing?.gutter,\r\n };\r\n if (this.trackingContext?.isEnabled()) {\r\n this.trackingContext.trackSectionChange(this, 'margins', prev, this.properties.margins);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets column layout\r\n * @param count Number of columns\r\n * @param space Space between columns in twips\r\n */\r\n setColumns(count: number, space = 720): this {\r\n const prev = this.properties.columns ? { ...this.properties.columns } : undefined;\r\n this.properties.columns = {\r\n count,\r\n space,\r\n equalWidth: true,\r\n };\r\n if (this.trackingContext?.isEnabled()) {\r\n this.trackingContext.trackSectionChange(this, 'columns', prev, this.properties.columns);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets section type\r\n * @param type Section break type\r\n */\r\n setSectionType(type: SectionType): this {\r\n const prev = this.properties.type;\r\n this.properties.type = type;\r\n if (this.trackingContext?.isEnabled() && prev !== type) {\r\n this.trackingContext.trackSectionChange(this, 'type', prev, type);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets page numbering\r\n * @param start Starting page number\r\n * @param format Number format\r\n */\r\n setPageNumbering(start?: number, format?: PageNumberFormat): this {\r\n const prev = this.properties.pageNumbering ? { ...this.properties.pageNumbering } : undefined;\r\n this.properties.pageNumbering = { start, format };\r\n if (this.trackingContext?.isEnabled()) {\r\n this.trackingContext.trackSectionChange(this, 'pageNumbering', prev, this.properties.pageNumbering);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets title page flag (different first page)\r\n * @param titlePage Whether this section has a different first page\r\n */\r\n setTitlePage(titlePage = true): this {\r\n const prev = this.properties.titlePage;\r\n this.properties.titlePage = titlePage;\r\n if (this.trackingContext?.isEnabled() && prev !== titlePage) {\r\n this.trackingContext.trackSectionChange(this, 'titlePage', prev, titlePage);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets header reference\r\n * @param type Header type (default, first, even)\r\n * @param rId Relationship ID\r\n */\r\n setHeaderReference(type: 'default' | 'first' | 'even', rId: string): this {\r\n const prev = this.properties.headers?.[type];\r\n if (!this.properties.headers) {\r\n this.properties.headers = {};\r\n }\r\n this.properties.headers[type] = rId;\r\n if (this.trackingContext?.isEnabled() && prev !== rId) {\r\n this.trackingContext.trackSectionChange(this, `headerReference:${type}`, prev, rId);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets footer reference\r\n * @param type Footer type (default, first, even)\r\n * @param rId Relationship ID\r\n */\r\n setFooterReference(type: 'default' | 'first' | 'even', rId: string): this {\r\n const prev = this.properties.footers?.[type];\r\n if (!this.properties.footers) {\r\n this.properties.footers = {};\r\n }\r\n this.properties.footers[type] = rId;\r\n if (this.trackingContext?.isEnabled() && prev !== rId) {\r\n this.trackingContext.trackSectionChange(this, `footerReference:${type}`, prev, rId);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets vertical page alignment\r\n * Controls how content is vertically aligned on the page\r\n * @param alignment Vertical alignment (top, center, bottom, both=justified)\r\n */\r\n setVerticalAlignment(alignment: VerticalAlignment): this {\r\n const prev = this.properties.verticalAlignment;\r\n this.properties.verticalAlignment = alignment;\r\n if (this.trackingContext?.isEnabled() && prev !== alignment) {\r\n this.trackingContext.trackSectionChange(this, 'verticalAlignment', prev, alignment);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets paper source (printer tray selection)\r\n * @param first First page tray number\r\n * @param other Other pages tray number\r\n */\r\n setPaperSource(first?: number, other?: number): this {\r\n const prev = this.properties.paperSource ? { ...this.properties.paperSource } : undefined;\r\n this.properties.paperSource = { first, other };\r\n if (this.trackingContext?.isEnabled()) {\r\n this.trackingContext.trackSectionChange(this, 'paperSource', prev, this.properties.paperSource);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets column separator line\r\n * Shows a vertical line between columns\r\n * @param separator Whether to show column separator line\r\n */\r\n setColumnSeparator(separator = true): this {\r\n const prev = this.properties.columns?.separator;\r\n if (!this.properties.columns) {\r\n this.properties.columns = { count: 1 };\r\n }\r\n this.properties.columns.separator = separator;\r\n if (this.trackingContext?.isEnabled() && prev !== separator) {\r\n this.trackingContext.trackSectionChange(this, 'columnSeparator', prev, separator);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets custom column widths (for unequal columns)\r\n * @param widths Array of column widths in twips\r\n */\r\n setColumnWidths(widths: number[]): this {\r\n const prev = this.properties.columns ? { ...this.properties.columns } : undefined;\r\n if (!this.properties.columns) {\r\n this.properties.columns = { count: widths.length };\r\n }\r\n this.properties.columns.columnWidths = widths;\r\n this.properties.columns.equalWidth = false;\r\n this.properties.columns.count = widths.length;\r\n if (this.trackingContext?.isEnabled()) {\r\n this.trackingContext.trackSectionChange(this, 'columns', prev, { ...this.properties.columns });\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets text direction for the section\r\n * @param direction Text direction (ltr=left-to-right, rtl=right-to-left, tbRl=top-to-bottom-right-to-left, btLr=bottom-to-top-left-to-right)\r\n */\r\n setTextDirection(direction: TextDirection): this {\r\n const prev = this.properties.textDirection;\r\n this.properties.textDirection = direction;\r\n if (this.trackingContext?.isEnabled() && prev !== direction) {\r\n this.trackingContext.trackSectionChange(this, 'textDirection', prev, direction);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets line numbering for the section\r\n * Per ECMA-376 Part 1, Section 17.6.8 (w:lnNumType)\r\n * @param options Line numbering configuration\r\n */\r\n setLineNumbering(options: LineNumbering): this {\r\n const prev = this.properties.lineNumbering ? { ...this.properties.lineNumbering } : undefined;\r\n this.properties.lineNumbering = { ...options };\r\n if (this.trackingContext?.isEnabled()) {\r\n this.trackingContext.trackSectionChange(this, 'lineNumbering', prev, this.properties.lineNumbering);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets line numbering configuration\r\n * @returns Line numbering settings or undefined if not set\r\n */\r\n getLineNumbering(): LineNumbering | undefined {\r\n return this.properties.lineNumbering ? { ...this.properties.lineNumbering } : undefined;\r\n }\r\n\r\n /**\r\n * Clears line numbering for the section\r\n */\r\n clearLineNumbering(): this {\r\n this.properties.lineNumbering = undefined;\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets section-level footnote properties\r\n * Per ECMA-376 Part 1 §17.11.6\r\n */\r\n setFootnoteProperties(props: NoteProperties): this {\r\n const prev = this.properties.footnotePr ? { ...this.properties.footnotePr } : undefined;\r\n this.properties.footnotePr = { ...props };\r\n if (this.trackingContext?.isEnabled()) {\r\n this.trackingContext.trackSectionChange(this, 'footnotePr', prev, this.properties.footnotePr);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets section-level endnote properties\r\n * Per ECMA-376 Part 1 §17.11.7\r\n */\r\n setEndnoteProperties(props: NoteProperties): this {\r\n const prev = this.properties.endnotePr ? { ...this.properties.endnotePr } : undefined;\r\n this.properties.endnotePr = { ...props };\r\n if (this.trackingContext?.isEnabled()) {\r\n this.trackingContext.trackSectionChange(this, 'endnotePr', prev, this.properties.endnotePr);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets whether endnotes are suppressed in this section\r\n * Per ECMA-376 Part 1 §17.6.14\r\n */\r\n setNoEndnote(noEndnote = true): this {\r\n const prev = this.properties.noEndnote;\r\n this.properties.noEndnote = noEndnote;\r\n if (this.trackingContext?.isEnabled() && prev !== noEndnote) {\r\n this.trackingContext.trackSectionChange(this, 'noEndnote', prev, noEndnote);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets form protection for this section\r\n * Per ECMA-376 Part 1 §17.6.4\r\n */\r\n setFormProtection(formProt = true): this {\r\n const prev = this.properties.formProt;\r\n this.properties.formProt = formProt;\r\n if (this.trackingContext?.isEnabled() && prev !== formProt) {\r\n this.trackingContext.trackSectionChange(this, 'formProt', prev, formProt);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets printer settings relationship ID\r\n * Per ECMA-376 Part 1 §17.6.6\r\n */\r\n setPrinterSettings(rId: string): this {\r\n const prev = this.properties.printerSettingsId;\r\n this.properties.printerSettingsId = rId;\r\n if (this.trackingContext?.isEnabled() && prev !== rId) {\r\n this.trackingContext.trackSectionChange(this, 'printerSettings', prev, rId);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets chapter numbering for page numbers\r\n * Per ECMA-376 Part 1 §17.6.12\r\n * @param chapStyle - Heading level (1-9) to use for chapter numbering\r\n * @param chapSep - Separator between chapter and page number\r\n */\r\n setChapterNumbering(chapStyle: number, chapSep?: ChapterSeparator): this {\r\n const prevStyle = this.properties.chapStyle;\r\n const prevSep = this.properties.chapSep;\r\n this.properties.chapStyle = chapStyle;\r\n if (chapSep) this.properties.chapSep = chapSep;\r\n if (this.trackingContext?.isEnabled()) {\r\n this.trackingContext.trackSectionChange(this, 'chapterNumbering',\r\n { chapStyle: prevStyle, chapSep: prevSep },\r\n { chapStyle, chapSep: chapSep || prevSep });\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Generates WordprocessingML XML for section properties\r\n */\r\n toXML(): XMLElement {\r\n const children: XMLElement[] = [];\r\n\r\n // Header references\r\n if (this.properties.headers) {\r\n if (this.properties.headers.first) {\r\n children.push(\r\n XMLBuilder.wSelf('headerReference', {\r\n 'w:type': 'first',\r\n 'r:id': this.properties.headers.first,\r\n })\r\n );\r\n }\r\n if (this.properties.headers.even) {\r\n children.push(\r\n XMLBuilder.wSelf('headerReference', {\r\n 'w:type': 'even',\r\n 'r:id': this.properties.headers.even,\r\n })\r\n );\r\n }\r\n if (this.properties.headers.default) {\r\n children.push(\r\n XMLBuilder.wSelf('headerReference', {\r\n 'w:type': 'default',\r\n 'r:id': this.properties.headers.default,\r\n })\r\n );\r\n }\r\n }\r\n\r\n // Footer references\r\n if (this.properties.footers) {\r\n if (this.properties.footers.first) {\r\n children.push(\r\n XMLBuilder.wSelf('footerReference', {\r\n 'w:type': 'first',\r\n 'r:id': this.properties.footers.first,\r\n })\r\n );\r\n }\r\n if (this.properties.footers.even) {\r\n children.push(\r\n XMLBuilder.wSelf('footerReference', {\r\n 'w:type': 'even',\r\n 'r:id': this.properties.footers.even,\r\n })\r\n );\r\n }\r\n if (this.properties.footers.default) {\r\n children.push(\r\n XMLBuilder.wSelf('footerReference', {\r\n 'w:type': 'default',\r\n 'r:id': this.properties.footers.default,\r\n })\r\n );\r\n }\r\n }\r\n\r\n // CT_SectPr element order per ECMA-376:\r\n // footnotePr → endnotePr → type → pgSz → pgMar → paperSrc → pgBorders →\r\n // lnNumType → pgNumType → cols → formProt → vAlign → noEndnote → titlePg →\r\n // textDirection → bidi → rtlGutter → docGrid → printerSettings → sectPrChange\r\n\r\n // Footnote properties (w:footnotePr)\r\n if (this.properties.footnotePr) {\r\n const fnChildren: XMLElement[] = [];\r\n if (this.properties.footnotePr.position) {\r\n fnChildren.push(XMLBuilder.wSelf('pos', { 'w:val': this.properties.footnotePr.position }));\r\n }\r\n if (this.properties.footnotePr.numberFormat) {\r\n fnChildren.push(XMLBuilder.wSelf('numFmt', { 'w:val': this.properties.footnotePr.numberFormat }));\r\n }\r\n if (this.properties.footnotePr.startNumber !== undefined) {\r\n fnChildren.push(XMLBuilder.wSelf('numStart', { 'w:val': this.properties.footnotePr.startNumber.toString() }));\r\n }\r\n if (this.properties.footnotePr.restart) {\r\n fnChildren.push(XMLBuilder.wSelf('numRestart', { 'w:val': this.properties.footnotePr.restart }));\r\n }\r\n if (fnChildren.length > 0) {\r\n children.push(XMLBuilder.w('footnotePr', undefined, fnChildren));\r\n }\r\n }\r\n\r\n // Endnote properties (w:endnotePr)\r\n if (this.properties.endnotePr) {\r\n const enChildren: XMLElement[] = [];\r\n if (this.properties.endnotePr.position) {\r\n enChildren.push(XMLBuilder.wSelf('pos', { 'w:val': this.properties.endnotePr.position }));\r\n }\r\n if (this.properties.endnotePr.numberFormat) {\r\n enChildren.push(XMLBuilder.wSelf('numFmt', { 'w:val': this.properties.endnotePr.numberFormat }));\r\n }\r\n if (this.properties.endnotePr.startNumber !== undefined) {\r\n enChildren.push(XMLBuilder.wSelf('numStart', { 'w:val': this.properties.endnotePr.startNumber.toString() }));\r\n }\r\n if (this.properties.endnotePr.restart) {\r\n enChildren.push(XMLBuilder.wSelf('numRestart', { 'w:val': this.properties.endnotePr.restart }));\r\n }\r\n if (enChildren.length > 0) {\r\n children.push(XMLBuilder.w('endnotePr', undefined, enChildren));\r\n }\r\n }\r\n\r\n // Section type\r\n if (this.properties.type) {\r\n children.push(\r\n XMLBuilder.wSelf('type', { 'w:val': this.properties.type })\r\n );\r\n }\r\n\r\n // Page size\r\n if (this.properties.pageSize) {\r\n const attrs: Record<string, string> = {\r\n 'w:w': this.properties.pageSize.width.toString(),\r\n 'w:h': this.properties.pageSize.height.toString(),\r\n };\r\n if (this.properties.pageSize.orientation === 'landscape') {\r\n attrs['w:orient'] = 'landscape';\r\n }\r\n children.push(XMLBuilder.wSelf('pgSz', attrs));\r\n }\r\n\r\n // Margins\r\n if (this.properties.margins) {\r\n const attrs: Record<string, string> = {\r\n 'w:top': this.properties.margins.top.toString(),\r\n 'w:right': this.properties.margins.right.toString(),\r\n 'w:bottom': this.properties.margins.bottom.toString(),\r\n 'w:left': this.properties.margins.left.toString(),\r\n };\r\n attrs['w:header'] = (this.properties.margins.header ?? 720).toString();\r\n attrs['w:footer'] = (this.properties.margins.footer ?? 720).toString();\r\n if (this.properties.margins.gutter !== undefined) {\r\n attrs['w:gutter'] = this.properties.margins.gutter.toString();\r\n }\r\n children.push(XMLBuilder.wSelf('pgMar', attrs));\r\n }\r\n\r\n // Paper source\r\n if (this.properties.paperSource) {\r\n const attrs: Record<string, string> = {};\r\n if (this.properties.paperSource.first !== undefined) {\r\n attrs['w:first'] = this.properties.paperSource.first.toString();\r\n }\r\n if (this.properties.paperSource.other !== undefined) {\r\n attrs['w:other'] = this.properties.paperSource.other.toString();\r\n }\r\n if (Object.keys(attrs).length > 0) {\r\n children.push(XMLBuilder.wSelf('paperSrc', attrs));\r\n }\r\n }\r\n\r\n // Page borders per ECMA-376 Part 1 §17.6.10\r\n if (this.properties.pageBorders) {\r\n const pgBorders = this.properties.pageBorders;\r\n const pgBordersAttrs: Record<string, string> = {};\r\n if (pgBorders.offsetFrom) pgBordersAttrs['w:offsetFrom'] = pgBorders.offsetFrom;\r\n if (pgBorders.display) pgBordersAttrs['w:display'] = pgBorders.display;\r\n if (pgBorders.zOrder) pgBordersAttrs['w:zOrder'] = pgBorders.zOrder;\r\n\r\n const borderChildren: XMLElement[] = [];\r\n const buildBorder = (side: string, def: PageBorderDef) => {\r\n const bAttrs: Record<string, string | number> = {};\r\n if (def.style) bAttrs['w:val'] = def.style;\r\n // ECMA-376 Part 1 §17.18.2: sz valid range 2-96 (eighths of a point)\r\n if (def.size !== undefined) bAttrs['w:sz'] = Math.max(2, Math.min(96, def.size));\r\n if (def.color) bAttrs['w:color'] = def.color;\r\n // ECMA-376 Part 1 §17.18.88: space valid range 0-31680 (points)\r\n if (def.space !== undefined) bAttrs['w:space'] = Math.max(0, Math.min(31680, def.space));\r\n if (def.shadow) bAttrs['w:shadow'] = '1';\r\n if (def.frame) bAttrs['w:frame'] = '1';\r\n if (def.themeColor) bAttrs['w:themeColor'] = def.themeColor;\r\n if (def.artId !== undefined) bAttrs['w:id'] = def.artId;\r\n borderChildren.push(XMLBuilder.wSelf(side, bAttrs));\r\n };\r\n\r\n if (pgBorders.top) buildBorder('top', pgBorders.top);\r\n if (pgBorders.left) buildBorder('left', pgBorders.left);\r\n if (pgBorders.bottom) buildBorder('bottom', pgBorders.bottom);\r\n if (pgBorders.right) buildBorder('right', pgBorders.right);\r\n\r\n children.push(XMLBuilder.w('pgBorders', pgBordersAttrs, borderChildren));\r\n }\r\n\r\n // Line numbering (w:lnNumType)\r\n if (this.properties.lineNumbering) {\r\n const attrs: Record<string, string> = {};\r\n if (this.properties.lineNumbering.countBy !== undefined) {\r\n attrs['w:countBy'] = this.properties.lineNumbering.countBy.toString();\r\n }\r\n if (this.properties.lineNumbering.start !== undefined) {\r\n attrs['w:start'] = this.properties.lineNumbering.start.toString();\r\n }\r\n if (this.properties.lineNumbering.distance !== undefined) {\r\n attrs['w:distance'] = this.properties.lineNumbering.distance.toString();\r\n }\r\n if (this.properties.lineNumbering.restart) {\r\n attrs['w:restart'] = this.properties.lineNumbering.restart;\r\n }\r\n if (Object.keys(attrs).length > 0) {\r\n children.push(XMLBuilder.wSelf('lnNumType', attrs));\r\n }\r\n }\r\n\r\n // Page numbering\r\n if (this.properties.pageNumbering || this.properties.chapStyle !== undefined) {\r\n const attrs: Record<string, string> = {};\r\n if (this.properties.pageNumbering?.start !== undefined) {\r\n attrs['w:start'] = this.properties.pageNumbering.start.toString();\r\n }\r\n if (this.properties.pageNumbering?.format) {\r\n attrs['w:fmt'] = this.properties.pageNumbering.format;\r\n }\r\n if (this.properties.chapStyle !== undefined) {\r\n attrs['w:chapStyle'] = this.properties.chapStyle.toString();\r\n }\r\n if (this.properties.chapSep) {\r\n attrs['w:chapSep'] = this.properties.chapSep;\r\n }\r\n if (Object.keys(attrs).length > 0) {\r\n children.push(XMLBuilder.wSelf('pgNumType', attrs));\r\n }\r\n }\r\n\r\n // Columns\r\n if (this.properties.columns) {\r\n const attrs: Record<string, string> = {\r\n 'w:num': this.properties.columns.count.toString(),\r\n };\r\n if (this.properties.columns.space !== undefined) {\r\n attrs['w:space'] = this.properties.columns.space.toString();\r\n }\r\n if (this.properties.columns.equalWidth !== undefined) {\r\n attrs['w:equalWidth'] = this.properties.columns.equalWidth ? '1' : '0';\r\n }\r\n if (this.properties.columns.separator !== undefined) {\r\n attrs['w:sep'] = this.properties.columns.separator ? '1' : '0';\r\n }\r\n\r\n const colChildren: XMLElement[] = [];\r\n if (this.properties.columns.columnWidths) {\r\n for (const width of this.properties.columns.columnWidths) {\r\n colChildren.push(\r\n XMLBuilder.wSelf('col', { 'w:w': width.toString() })\r\n );\r\n }\r\n }\r\n\r\n children.push(\r\n colChildren.length > 0\r\n ? XMLBuilder.w('cols', attrs, colChildren)\r\n : XMLBuilder.wSelf('cols', attrs)\r\n );\r\n }\r\n\r\n // Form protection (w:formProt)\r\n if (this.properties.formProt) {\r\n children.push(XMLBuilder.wSelf('formProt'));\r\n }\r\n\r\n // Vertical alignment\r\n if (this.properties.verticalAlignment) {\r\n children.push(\r\n XMLBuilder.wSelf('vAlign', { 'w:val': this.properties.verticalAlignment })\r\n );\r\n }\r\n\r\n // Suppress endnotes (w:noEndnote)\r\n if (this.properties.noEndnote) {\r\n children.push(XMLBuilder.wSelf('noEndnote'));\r\n }\r\n\r\n // Title page\r\n if (this.properties.titlePage) {\r\n children.push(XMLBuilder.wSelf('titlePg', { 'w:val': '1' }));\r\n }\r\n\r\n // Text direction (map to valid ST_TextDirection values per ECMA-376 §17.18.93)\r\n if (this.properties.textDirection) {\r\n const textDirMap: Record<string, string> = {\r\n ltr: 'lrTb', rtl: 'tbRl', tbRl: 'tbRl', btLr: 'btLr',\r\n lrTb: 'lrTb', lrTbV: 'lrTbV', tbRlV: 'tbRlV', tbLrV: 'tbLrV',\r\n };\r\n const val = textDirMap[this.properties.textDirection] || this.properties.textDirection;\r\n children.push(\r\n XMLBuilder.wSelf('textDirection', { 'w:val': val })\r\n );\r\n }\r\n\r\n // Bidirectional section (RTL)\r\n if (this.properties.bidi) {\r\n children.push(XMLBuilder.wSelf('bidi'));\r\n }\r\n\r\n // RTL gutter (gutter on right side)\r\n if (this.properties.rtlGutter) {\r\n children.push(XMLBuilder.wSelf('rtlGutter'));\r\n }\r\n\r\n // Document grid\r\n if (this.properties.docGrid) {\r\n const attrs: Record<string, string> = {};\r\n if (this.properties.docGrid.type) {\r\n attrs['w:type'] = this.properties.docGrid.type;\r\n }\r\n if (this.properties.docGrid.linePitch !== undefined) {\r\n attrs['w:linePitch'] = this.properties.docGrid.linePitch.toString();\r\n }\r\n if (this.properties.docGrid.charSpace !== undefined) {\r\n attrs['w:charSpace'] = this.properties.docGrid.charSpace.toString();\r\n }\r\n if (Object.keys(attrs).length > 0) {\r\n children.push(XMLBuilder.wSelf('docGrid', attrs));\r\n }\r\n }\r\n\r\n // Printer settings (w:printerSettings)\r\n if (this.properties.printerSettingsId) {\r\n children.push(XMLBuilder.wSelf('printerSettings', {\r\n 'r:id': this.properties.printerSettingsId,\r\n }));\r\n }\r\n\r\n // Add section property change (w:sectPrChange) per ECMA-376 Part 1 §17.13.5.32\r\n // Must be last child of w:sectPr\r\n if (this.sectPrChange) {\r\n const changeAttrs: Record<string, string | number> = {\r\n 'w:id': this.sectPrChange.id,\r\n 'w:author': this.sectPrChange.author,\r\n 'w:date': this.sectPrChange.date,\r\n };\r\n const prevChildren: XMLElement[] = [];\r\n const prev = this.sectPrChange.previousProperties;\r\n if (prev) {\r\n // Ordered per CT_SectPrBase:\r\n // type → pgSz → pgMar → lnNumType → pgNumType → cols → formProt → vAlign → titlePg → textDirection\r\n if (prev.type) {\r\n prevChildren.push(XMLBuilder.wSelf('type', { 'w:val': prev.type }));\r\n }\r\n if (prev.pageSize) {\r\n const pgSzAttrs: Record<string, string> = {\r\n 'w:w': prev.pageSize.width?.toString() || '12240',\r\n 'w:h': prev.pageSize.height?.toString() || '15840',\r\n };\r\n if (prev.pageSize.orientation === 'landscape') {\r\n pgSzAttrs['w:orient'] = 'landscape';\r\n }\r\n prevChildren.push(XMLBuilder.wSelf('pgSz', pgSzAttrs));\r\n }\r\n if (prev.margins) {\r\n const pgMarAttrs: Record<string, string> = {};\r\n if (prev.margins.top !== undefined) pgMarAttrs['w:top'] = prev.margins.top.toString();\r\n if (prev.margins.bottom !== undefined) pgMarAttrs['w:bottom'] = prev.margins.bottom.toString();\r\n if (prev.margins.left !== undefined) pgMarAttrs['w:left'] = prev.margins.left.toString();\r\n if (prev.margins.right !== undefined) pgMarAttrs['w:right'] = prev.margins.right.toString();\r\n if (prev.margins.header !== undefined) pgMarAttrs['w:header'] = prev.margins.header.toString();\r\n if (prev.margins.footer !== undefined) pgMarAttrs['w:footer'] = prev.margins.footer.toString();\r\n prevChildren.push(XMLBuilder.wSelf('pgMar', pgMarAttrs));\r\n }\r\n if (prev.lineNumbering) {\r\n const lnAttrs: Record<string, string> = {};\r\n if (prev.lineNumbering.countBy !== undefined) lnAttrs['w:countBy'] = prev.lineNumbering.countBy.toString();\r\n if (prev.lineNumbering.start !== undefined) lnAttrs['w:start'] = prev.lineNumbering.start.toString();\r\n if (prev.lineNumbering.restart) lnAttrs['w:restart'] = prev.lineNumbering.restart;\r\n if (prev.lineNumbering.distance !== undefined) lnAttrs['w:distance'] = prev.lineNumbering.distance.toString();\r\n if (Object.keys(lnAttrs).length > 0) {\r\n prevChildren.push(XMLBuilder.wSelf('lnNumType', lnAttrs));\r\n }\r\n }\r\n if (prev.pageNumbering) {\r\n const pnAttrs: Record<string, string> = {};\r\n if (prev.pageNumbering.start !== undefined) pnAttrs['w:start'] = prev.pageNumbering.start.toString();\r\n if (prev.pageNumbering.format) pnAttrs['w:fmt'] = prev.pageNumbering.format;\r\n if (Object.keys(pnAttrs).length > 0) {\r\n prevChildren.push(XMLBuilder.wSelf('pgNumType', pnAttrs));\r\n }\r\n }\r\n if (prev.columns) {\r\n const colAttrs: Record<string, string> = { 'w:num': prev.columns.count?.toString() || '1' };\r\n if (prev.columns.space !== undefined) colAttrs['w:space'] = prev.columns.space.toString();\r\n prevChildren.push(XMLBuilder.wSelf('cols', colAttrs));\r\n }\r\n if (prev.formProt) {\r\n prevChildren.push(XMLBuilder.wSelf('formProt'));\r\n }\r\n if (prev.verticalAlignment) {\r\n prevChildren.push(XMLBuilder.wSelf('vAlign', { 'w:val': prev.verticalAlignment }));\r\n }\r\n if (prev.titlePage) {\r\n prevChildren.push(XMLBuilder.wSelf('titlePg'));\r\n }\r\n if (prev.textDirection) {\r\n const tdMap: Record<string, string> = {\r\n ltr: 'lrTb', rtl: 'tbRl', tbRl: 'tbRl', btLr: 'btLr',\r\n lrTb: 'lrTb', lrTbV: 'lrTbV', tbRlV: 'tbRlV', tbLrV: 'tbLrV',\r\n };\r\n prevChildren.push(XMLBuilder.wSelf('textDirection', { 'w:val': tdMap[prev.textDirection] || prev.textDirection }));\r\n }\r\n }\r\n const prevSectPr = XMLBuilder.w('sectPr', undefined, prevChildren);\r\n children.push(XMLBuilder.w('sectPrChange', changeAttrs, [prevSectPr]));\r\n }\r\n\r\n return XMLBuilder.w('sectPr', undefined, children);\r\n }\r\n\r\n /**\r\n * Creates a deep clone of this section\r\n * @returns New Section instance with copied properties\r\n */\r\n clone(): Section {\r\n // Deep clone all nested objects\r\n const clonedProperties: SectionProperties = {};\r\n\r\n if (this.properties.pageSize) {\r\n clonedProperties.pageSize = { ...this.properties.pageSize };\r\n }\r\n\r\n if (this.properties.margins) {\r\n clonedProperties.margins = { ...this.properties.margins };\r\n }\r\n\r\n if (this.properties.columns) {\r\n clonedProperties.columns = {\r\n ...this.properties.columns,\r\n columnWidths: this.properties.columns.columnWidths\r\n ? [...this.properties.columns.columnWidths]\r\n : undefined,\r\n };\r\n }\r\n\r\n if (this.properties.pageNumbering) {\r\n clonedProperties.pageNumbering = { ...this.properties.pageNumbering };\r\n }\r\n\r\n if (this.properties.headers) {\r\n clonedProperties.headers = { ...this.properties.headers };\r\n }\r\n\r\n if (this.properties.footers) {\r\n clonedProperties.footers = { ...this.properties.footers };\r\n }\r\n\r\n if (this.properties.paperSource) {\r\n clonedProperties.paperSource = { ...this.properties.paperSource };\r\n }\r\n\r\n if (this.properties.docGrid) {\r\n clonedProperties.docGrid = { ...this.properties.docGrid };\r\n }\r\n\r\n if (this.properties.lineNumbering) {\r\n clonedProperties.lineNumbering = { ...this.properties.lineNumbering };\r\n }\r\n\r\n // Copy primitive properties\r\n clonedProperties.type = this.properties.type;\r\n clonedProperties.titlePage = this.properties.titlePage;\r\n clonedProperties.verticalAlignment = this.properties.verticalAlignment;\r\n clonedProperties.textDirection = this.properties.textDirection;\r\n clonedProperties.bidi = this.properties.bidi;\r\n clonedProperties.rtlGutter = this.properties.rtlGutter;\r\n\r\n return new Section(clonedProperties);\r\n }\r\n\r\n /**\r\n * Creates a section with default properties\r\n */\r\n static create(properties?: SectionProperties): Section {\r\n return new Section(properties);\r\n }\r\n\r\n /**\r\n * Creates a letter-sized section (8.5\" x 11\")\r\n */\r\n static createLetter(): Section {\r\n return new Section({\r\n pageSize: {\r\n width: PAGE_SIZES.LETTER.width,\r\n height: PAGE_SIZES.LETTER.height,\r\n orientation: 'portrait',\r\n },\r\n });\r\n }\r\n\r\n /**\r\n * Creates an A4-sized section (21cm x 29.7cm)\r\n */\r\n static createA4(): Section {\r\n return new Section({\r\n pageSize: {\r\n width: PAGE_SIZES.A4.width,\r\n height: PAGE_SIZES.A4.height,\r\n orientation: 'portrait',\r\n },\r\n });\r\n }\r\n\r\n /**\r\n * Creates a landscape section\r\n * @param pageSize Page size (default: Letter)\r\n */\r\n static createLandscape(pageSize: 'letter' | 'a4' = 'letter'): Section {\r\n const size = pageSize === 'a4' ? PAGE_SIZES.A4 : PAGE_SIZES.LETTER;\r\n return new Section({\r\n pageSize: {\r\n width: size.height, // Swap for landscape\r\n height: size.width,\r\n orientation: 'landscape',\r\n },\r\n });\r\n }\r\n}\r\n"]}
|