docxmlater 10.4.0 → 11.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/constants/legacyCompatFlags.d.ts +1 -1
- package/dist/constants/legacyCompatFlags.d.ts.map +1 -1
- package/dist/constants/legacyCompatFlags.js.map +1 -1
- package/dist/core/Document.d.ts +75 -67
- package/dist/core/Document.d.ts.map +1 -1
- package/dist/core/Document.js +618 -414
- package/dist/core/Document.js.map +1 -1
- package/dist/core/DocumentContent.d.ts +11 -10
- package/dist/core/DocumentContent.d.ts.map +1 -1
- package/dist/core/DocumentContent.js +19 -19
- package/dist/core/DocumentContent.js.map +1 -1
- package/dist/core/DocumentEvents.d.ts +39 -0
- package/dist/core/DocumentEvents.d.ts.map +1 -0
- package/dist/core/DocumentEvents.js +51 -0
- package/dist/core/DocumentEvents.js.map +1 -0
- package/dist/core/DocumentGenerator.d.ts +11 -11
- package/dist/core/DocumentGenerator.d.ts.map +1 -1
- package/dist/core/DocumentGenerator.js +72 -52
- package/dist/core/DocumentGenerator.js.map +1 -1
- package/dist/core/DocumentParser.d.ts +15 -15
- package/dist/core/DocumentParser.d.ts.map +1 -1
- package/dist/core/DocumentParser.js +2100 -1076
- package/dist/core/DocumentParser.js.map +1 -1
- package/dist/core/DocumentValidator.d.ts +3 -3
- package/dist/core/DocumentValidator.d.ts.map +1 -1
- package/dist/core/DocumentValidator.js +31 -31
- package/dist/core/DocumentValidator.js.map +1 -1
- package/dist/core/ElementRegistry.d.ts +22 -0
- package/dist/core/ElementRegistry.d.ts.map +1 -0
- package/dist/core/ElementRegistry.js +27 -0
- package/dist/core/ElementRegistry.js.map +1 -0
- package/dist/core/Relationship.js +4 -4
- package/dist/core/Relationship.js.map +1 -1
- package/dist/core/RelationshipManager.d.ts +1 -1
- package/dist/core/RelationshipManager.d.ts.map +1 -1
- package/dist/core/RelationshipManager.js +32 -32
- package/dist/core/RelationshipManager.js.map +1 -1
- package/dist/elements/AlternateContent.d.ts +1 -1
- package/dist/elements/AlternateContent.d.ts.map +1 -1
- package/dist/elements/AlternateContent.js.map +1 -1
- package/dist/elements/Bookmark.d.ts +6 -1
- package/dist/elements/Bookmark.d.ts.map +1 -1
- package/dist/elements/Bookmark.js +19 -3
- package/dist/elements/Bookmark.js.map +1 -1
- package/dist/elements/BookmarkManager.d.ts +1 -1
- package/dist/elements/BookmarkManager.d.ts.map +1 -1
- package/dist/elements/BookmarkManager.js +7 -7
- package/dist/elements/BookmarkManager.js.map +1 -1
- package/dist/elements/Comment.d.ts +2 -2
- package/dist/elements/Comment.d.ts.map +1 -1
- package/dist/elements/Comment.js +4 -4
- package/dist/elements/Comment.js.map +1 -1
- package/dist/elements/CommentManager.d.ts +2 -2
- package/dist/elements/CommentManager.d.ts.map +1 -1
- package/dist/elements/CommentManager.js +9 -9
- package/dist/elements/CommentManager.js.map +1 -1
- package/dist/elements/CommonTypes.d.ts +9 -4
- package/dist/elements/CommonTypes.d.ts.map +1 -1
- package/dist/elements/CommonTypes.js +1 -0
- package/dist/elements/CommonTypes.js.map +1 -1
- package/dist/elements/CustomXml.d.ts +1 -1
- package/dist/elements/CustomXml.d.ts.map +1 -1
- package/dist/elements/CustomXml.js.map +1 -1
- package/dist/elements/Endnote.d.ts +2 -2
- package/dist/elements/Endnote.d.ts.map +1 -1
- package/dist/elements/Endnote.js +9 -9
- package/dist/elements/Endnote.js.map +1 -1
- package/dist/elements/EndnoteManager.d.ts +1 -1
- package/dist/elements/EndnoteManager.d.ts.map +1 -1
- package/dist/elements/EndnoteManager.js +11 -11
- package/dist/elements/EndnoteManager.js.map +1 -1
- package/dist/elements/Field.d.ts +9 -5
- package/dist/elements/Field.d.ts.map +1 -1
- package/dist/elements/Field.js +21 -9
- package/dist/elements/Field.js.map +1 -1
- package/dist/elements/FieldHelpers.d.ts +1 -1
- package/dist/elements/FieldHelpers.d.ts.map +1 -1
- package/dist/elements/FieldHelpers.js +10 -10
- package/dist/elements/FieldHelpers.js.map +1 -1
- package/dist/elements/Footer.d.ts +3 -3
- package/dist/elements/Footer.d.ts.map +1 -1
- package/dist/elements/Footer.js +5 -5
- package/dist/elements/Footer.js.map +1 -1
- package/dist/elements/Footnote.d.ts +2 -2
- package/dist/elements/Footnote.d.ts.map +1 -1
- package/dist/elements/Footnote.js +9 -9
- package/dist/elements/Footnote.js.map +1 -1
- package/dist/elements/FootnoteManager.d.ts +1 -1
- package/dist/elements/FootnoteManager.d.ts.map +1 -1
- package/dist/elements/FootnoteManager.js +11 -11
- package/dist/elements/FootnoteManager.js.map +1 -1
- package/dist/elements/Header.d.ts +3 -3
- package/dist/elements/Header.d.ts.map +1 -1
- package/dist/elements/Header.js +5 -5
- package/dist/elements/Header.js.map +1 -1
- package/dist/elements/HeaderFooterManager.d.ts +2 -2
- package/dist/elements/HeaderFooterManager.d.ts.map +1 -1
- package/dist/elements/HeaderFooterManager.js.map +1 -1
- package/dist/elements/Hyperlink.d.ts +5 -5
- package/dist/elements/Hyperlink.d.ts.map +1 -1
- package/dist/elements/Hyperlink.js +29 -29
- package/dist/elements/Hyperlink.js.map +1 -1
- package/dist/elements/Image.d.ts +1 -1
- package/dist/elements/Image.d.ts.map +1 -1
- package/dist/elements/Image.js +67 -67
- package/dist/elements/Image.js.map +1 -1
- package/dist/elements/ImageManager.d.ts +1 -1
- package/dist/elements/ImageManager.d.ts.map +1 -1
- package/dist/elements/ImageManager.js +4 -4
- package/dist/elements/ImageManager.js.map +1 -1
- package/dist/elements/ImageRun.d.ts +3 -3
- package/dist/elements/ImageRun.d.ts.map +1 -1
- package/dist/elements/ImageRun.js +2 -2
- package/dist/elements/ImageRun.js.map +1 -1
- package/dist/elements/MathElement.d.ts +1 -1
- package/dist/elements/MathElement.d.ts.map +1 -1
- package/dist/elements/MathElement.js.map +1 -1
- package/dist/elements/Paragraph.d.ts +34 -19
- package/dist/elements/Paragraph.d.ts.map +1 -1
- package/dist/elements/Paragraph.js +286 -231
- package/dist/elements/Paragraph.js.map +1 -1
- package/dist/elements/PreservedElement.d.ts +1 -1
- package/dist/elements/PreservedElement.d.ts.map +1 -1
- package/dist/elements/PreservedElement.js.map +1 -1
- package/dist/elements/PropertyChangeTypes.d.ts +2 -2
- package/dist/elements/PropertyChangeTypes.d.ts.map +1 -1
- package/dist/elements/PropertyChangeTypes.js.map +1 -1
- package/dist/elements/RangeMarker.d.ts +14 -1
- package/dist/elements/RangeMarker.d.ts.map +1 -1
- package/dist/elements/RangeMarker.js +46 -8
- package/dist/elements/RangeMarker.js.map +1 -1
- package/dist/elements/RegisteredBodyElement.d.ts +15 -0
- package/dist/elements/RegisteredBodyElement.d.ts.map +1 -0
- package/dist/elements/RegisteredBodyElement.js +44 -0
- package/dist/elements/RegisteredBodyElement.js.map +1 -0
- package/dist/elements/Revision.d.ts +8 -8
- package/dist/elements/Revision.d.ts.map +1 -1
- package/dist/elements/Revision.js +12 -12
- package/dist/elements/Revision.js.map +1 -1
- package/dist/elements/RevisionContent.d.ts +3 -3
- package/dist/elements/RevisionContent.d.ts.map +1 -1
- package/dist/elements/RevisionContent.js.map +1 -1
- package/dist/elements/RevisionManager.d.ts +2 -2
- package/dist/elements/RevisionManager.d.ts.map +1 -1
- package/dist/elements/RevisionManager.js +2 -2
- package/dist/elements/RevisionManager.js.map +1 -1
- package/dist/elements/Run.d.ts +16 -10
- package/dist/elements/Run.d.ts.map +1 -1
- package/dist/elements/Run.js +199 -173
- package/dist/elements/Run.js.map +1 -1
- package/dist/elements/Section.d.ts +4 -2
- package/dist/elements/Section.d.ts.map +1 -1
- package/dist/elements/Section.js +152 -145
- package/dist/elements/Section.js.map +1 -1
- package/dist/elements/Shape.d.ts +3 -3
- package/dist/elements/Shape.d.ts.map +1 -1
- package/dist/elements/Shape.js +12 -12
- package/dist/elements/Shape.js.map +1 -1
- package/dist/elements/StructuredDocumentTag.d.ts +3 -3
- package/dist/elements/StructuredDocumentTag.d.ts.map +1 -1
- package/dist/elements/StructuredDocumentTag.js +39 -39
- package/dist/elements/StructuredDocumentTag.js.map +1 -1
- package/dist/elements/Table.d.ts +16 -10
- package/dist/elements/Table.d.ts.map +1 -1
- package/dist/elements/Table.js +118 -89
- package/dist/elements/Table.js.map +1 -1
- package/dist/elements/TableCell.d.ts +11 -11
- package/dist/elements/TableCell.d.ts.map +1 -1
- package/dist/elements/TableCell.js +108 -78
- package/dist/elements/TableCell.js.map +1 -1
- package/dist/elements/TableGridChange.d.ts +1 -1
- package/dist/elements/TableGridChange.d.ts.map +1 -1
- package/dist/elements/TableGridChange.js +3 -3
- package/dist/elements/TableGridChange.js.map +1 -1
- package/dist/elements/TableOfContents.d.ts +1 -1
- package/dist/elements/TableOfContents.d.ts.map +1 -1
- package/dist/elements/TableOfContents.js +2 -2
- package/dist/elements/TableOfContents.js.map +1 -1
- package/dist/elements/TableOfContentsElement.d.ts +2 -2
- package/dist/elements/TableOfContentsElement.d.ts.map +1 -1
- package/dist/elements/TableOfContentsElement.js +5 -5
- package/dist/elements/TableOfContentsElement.js.map +1 -1
- package/dist/elements/TableRow.d.ts +18 -7
- package/dist/elements/TableRow.d.ts.map +1 -1
- package/dist/elements/TableRow.js +127 -74
- package/dist/elements/TableRow.js.map +1 -1
- package/dist/elements/TextBox.d.ts +4 -4
- package/dist/elements/TextBox.d.ts.map +1 -1
- package/dist/elements/TextBox.js +6 -6
- package/dist/elements/TextBox.js.map +1 -1
- package/dist/esm/constants/legacyCompatFlags.js +97 -0
- package/dist/esm/constants/legacyCompatFlags.js.map +1 -0
- package/dist/esm/constants/limits.js +36 -0
- package/dist/esm/constants/limits.js.map +1 -0
- package/dist/esm/core/Document.js +8498 -0
- package/dist/esm/core/Document.js.map +1 -0
- package/dist/esm/core/DocumentContent.js +190 -0
- package/dist/esm/core/DocumentContent.js.map +1 -0
- package/dist/esm/core/DocumentEvents.js +47 -0
- package/dist/esm/core/DocumentEvents.js.map +1 -0
- package/dist/esm/core/DocumentGenerator.js +764 -0
- package/dist/esm/core/DocumentGenerator.js.map +1 -0
- package/dist/esm/core/DocumentIdManager.js +67 -0
- package/dist/esm/core/DocumentIdManager.js.map +1 -0
- package/dist/esm/core/DocumentParser.js +8760 -0
- package/dist/esm/core/DocumentParser.js.map +1 -0
- package/dist/esm/core/DocumentValidator.js +222 -0
- package/dist/esm/core/DocumentValidator.js.map +1 -0
- package/dist/esm/core/ElementRegistry.js +24 -0
- package/dist/esm/core/ElementRegistry.js.map +1 -0
- package/dist/esm/core/Relationship.js +177 -0
- package/dist/esm/core/Relationship.js.map +1 -0
- package/dist/esm/core/RelationshipManager.js +202 -0
- package/dist/esm/core/RelationshipManager.js.map +1 -0
- package/dist/esm/elements/AlternateContent.js +19 -0
- package/dist/esm/elements/AlternateContent.js.map +1 -0
- package/dist/esm/elements/Bookmark.js +115 -0
- package/dist/esm/elements/Bookmark.js.map +1 -0
- package/dist/esm/elements/BookmarkManager.js +99 -0
- package/dist/esm/elements/BookmarkManager.js.map +1 -0
- package/dist/esm/elements/Comment.js +181 -0
- package/dist/esm/elements/Comment.js.map +1 -0
- package/dist/esm/elements/CommentManager.js +233 -0
- package/dist/esm/elements/CommentManager.js.map +1 -0
- package/dist/esm/elements/CommonTypes.js +106 -0
- package/dist/esm/elements/CommonTypes.js.map +1 -0
- package/dist/esm/elements/CustomXml.js +19 -0
- package/dist/esm/elements/CustomXml.js.map +1 -0
- package/dist/esm/elements/Endnote.js +107 -0
- package/dist/esm/elements/Endnote.js.map +1 -0
- package/dist/esm/elements/EndnoteManager.js +119 -0
- package/dist/esm/elements/EndnoteManager.js.map +1 -0
- package/dist/esm/elements/Field.js +856 -0
- package/dist/esm/elements/Field.js.map +1 -0
- package/dist/esm/elements/FieldHelpers.js +134 -0
- package/dist/esm/elements/FieldHelpers.js.map +1 -0
- package/dist/esm/elements/FontManager.js +158 -0
- package/dist/esm/elements/FontManager.js.map +1 -0
- package/dist/esm/elements/Footer.js +141 -0
- package/dist/esm/elements/Footer.js.map +1 -0
- package/dist/esm/elements/Footnote.js +107 -0
- package/dist/esm/elements/Footnote.js.map +1 -0
- package/dist/esm/elements/FootnoteManager.js +119 -0
- package/dist/esm/elements/FootnoteManager.js.map +1 -0
- package/dist/esm/elements/Header.js +141 -0
- package/dist/esm/elements/Header.js.map +1 -0
- package/dist/esm/elements/HeaderFooterManager.js +87 -0
- package/dist/esm/elements/HeaderFooterManager.js.map +1 -0
- package/dist/esm/elements/Hyperlink.js +586 -0
- package/dist/esm/elements/Hyperlink.js.map +1 -0
- package/dist/esm/elements/Image.js +1288 -0
- package/dist/esm/elements/Image.js.map +1 -0
- package/dist/esm/elements/ImageManager.js +223 -0
- package/dist/esm/elements/ImageManager.js.map +1 -0
- package/dist/esm/elements/ImageRun.js +29 -0
- package/dist/esm/elements/ImageRun.js.map +1 -0
- package/dist/esm/elements/MathElement.js +37 -0
- package/dist/esm/elements/MathElement.js.map +1 -0
- package/dist/esm/elements/Paragraph.js +2308 -0
- package/dist/esm/elements/Paragraph.js.map +1 -0
- package/dist/esm/elements/PreservedElement.js +29 -0
- package/dist/esm/elements/PreservedElement.js.map +1 -0
- package/dist/esm/elements/PropertyChangeTypes.js +53 -0
- package/dist/esm/elements/PropertyChangeTypes.js.map +1 -0
- package/dist/esm/elements/RangeMarker.js +219 -0
- package/dist/esm/elements/RangeMarker.js.map +1 -0
- package/dist/esm/elements/RegisteredBodyElement.js +40 -0
- package/dist/esm/elements/RegisteredBodyElement.js.map +1 -0
- package/dist/esm/elements/Revision.js +498 -0
- package/dist/esm/elements/Revision.js.map +1 -0
- package/dist/esm/elements/RevisionContent.js +18 -0
- package/dist/esm/elements/RevisionContent.js.map +1 -0
- package/dist/esm/elements/RevisionManager.js +486 -0
- package/dist/esm/elements/RevisionManager.js.map +1 -0
- package/dist/esm/elements/Run.js +1465 -0
- package/dist/esm/elements/Run.js.map +1 -0
- package/dist/esm/elements/Section.js +978 -0
- package/dist/esm/elements/Section.js.map +1 -0
- package/dist/esm/elements/Shape.js +493 -0
- package/dist/esm/elements/Shape.js.map +1 -0
- package/dist/esm/elements/StructuredDocumentTag.js +471 -0
- package/dist/esm/elements/StructuredDocumentTag.js.map +1 -0
- package/dist/esm/elements/Table.js +1456 -0
- package/dist/esm/elements/Table.js.map +1 -0
- package/dist/esm/elements/TableCell.js +835 -0
- package/dist/esm/elements/TableCell.js.map +1 -0
- package/dist/esm/elements/TableGridChange.js +52 -0
- package/dist/esm/elements/TableGridChange.js.map +1 -0
- package/dist/esm/elements/TableOfContents.js +389 -0
- package/dist/esm/elements/TableOfContents.js.map +1 -0
- package/dist/esm/elements/TableOfContentsElement.js +29 -0
- package/dist/esm/elements/TableOfContentsElement.js.map +1 -0
- package/dist/esm/elements/TableRow.js +555 -0
- package/dist/esm/elements/TableRow.js.map +1 -0
- package/dist/esm/elements/TextBox.js +459 -0
- package/dist/esm/elements/TextBox.js.map +1 -0
- package/dist/esm/formatting/AbstractNumbering.js +325 -0
- package/dist/esm/formatting/AbstractNumbering.js.map +1 -0
- package/dist/esm/formatting/NumberingInstance.js +150 -0
- package/dist/esm/formatting/NumberingInstance.js.map +1 -0
- package/dist/esm/formatting/NumberingLevel.js +608 -0
- package/dist/esm/formatting/NumberingLevel.js.map +1 -0
- package/dist/esm/formatting/NumberingManager.js +423 -0
- package/dist/esm/formatting/NumberingManager.js.map +1 -0
- package/dist/esm/formatting/Style.js +1151 -0
- package/dist/esm/formatting/Style.js.map +1 -0
- package/dist/esm/formatting/StylesManager.js +557 -0
- package/dist/esm/formatting/StylesManager.js.map +1 -0
- package/dist/esm/helpers/CleanupHelper.js +350 -0
- package/dist/esm/helpers/CleanupHelper.js.map +1 -0
- package/dist/esm/images/ImageOptimizer.js +161 -0
- package/dist/esm/images/ImageOptimizer.js.map +1 -0
- package/dist/esm/index.js +75 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/internal.js +16 -0
- package/dist/esm/internal.js.map +1 -0
- package/dist/esm/managers/DrawingManager.js +163 -0
- package/dist/esm/managers/DrawingManager.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/processors/ChangelogGenerator.js +970 -0
- package/dist/esm/processors/ChangelogGenerator.js.map +1 -0
- package/dist/esm/processors/CompatibilityUpgrader.js +130 -0
- package/dist/esm/processors/CompatibilityUpgrader.js.map +1 -0
- package/dist/esm/processors/InMemoryRevisionAcceptor.js +530 -0
- package/dist/esm/processors/InMemoryRevisionAcceptor.js.map +1 -0
- package/dist/esm/processors/MoveOperationHelper.js +57 -0
- package/dist/esm/processors/MoveOperationHelper.js.map +1 -0
- package/dist/esm/processors/RevisionAwareProcessor.js +232 -0
- package/dist/esm/processors/RevisionAwareProcessor.js.map +1 -0
- package/dist/esm/processors/RevisionWalker.js +278 -0
- package/dist/esm/processors/RevisionWalker.js.map +1 -0
- package/dist/{utils → esm/processors}/SelectiveRevisionAcceptor.js +81 -42
- package/dist/esm/processors/SelectiveRevisionAcceptor.js.map +1 -0
- package/dist/esm/processors/ShadingResolver.js +66 -0
- package/dist/esm/processors/ShadingResolver.js.map +1 -0
- package/dist/esm/processors/acceptRevisions.js +416 -0
- package/dist/esm/processors/acceptRevisions.js.map +1 -0
- package/dist/esm/processors/cnfStyleDecoder.js +89 -0
- package/dist/esm/processors/cnfStyleDecoder.js.map +1 -0
- package/dist/esm/processors/stripTrackedChanges.js +201 -0
- package/dist/esm/processors/stripTrackedChanges.js.map +1 -0
- package/dist/esm/tracking/DocumentTrackingContext.js +531 -0
- package/dist/esm/tracking/DocumentTrackingContext.js.map +1 -0
- package/dist/esm/tracking/TrackingContext.js +2 -0
- package/dist/esm/tracking/TrackingContext.js.map +1 -0
- package/dist/esm/types/compatibility-types.js +8 -0
- package/dist/esm/types/compatibility-types.js.map +1 -0
- package/dist/esm/types/document-types.js +2 -0
- package/dist/esm/types/document-types.js.map +1 -0
- package/dist/esm/types/formatting.js +2 -0
- package/dist/esm/types/formatting.js.map +1 -0
- package/dist/esm/types/list-types.js +2 -0
- package/dist/esm/types/list-types.js.map +1 -0
- package/dist/esm/types/settings-types.js +2 -0
- package/dist/esm/types/settings-types.js.map +1 -0
- package/dist/esm/types/styleConfig.js +2 -0
- package/dist/esm/types/styleConfig.js.map +1 -0
- package/dist/esm/utils/KeyedRegistry.js +32 -0
- package/dist/esm/utils/KeyedRegistry.js.map +1 -0
- package/dist/esm/utils/corruptionDetection.js +155 -0
- package/dist/esm/utils/corruptionDetection.js.map +1 -0
- package/dist/esm/utils/dateFormatting.js +4 -0
- package/dist/esm/utils/dateFormatting.js.map +1 -0
- package/dist/esm/utils/deepClone.js +40 -0
- package/dist/esm/utils/deepClone.js.map +1 -0
- package/dist/esm/utils/deepEqual.js +47 -0
- package/dist/esm/utils/deepEqual.js.map +1 -0
- package/dist/esm/utils/diagnostics.js +69 -0
- package/dist/esm/utils/diagnostics.js.map +1 -0
- package/dist/esm/utils/errorHandling.js +36 -0
- package/dist/esm/utils/errorHandling.js.map +1 -0
- package/dist/esm/utils/formatting.js +93 -0
- package/dist/esm/utils/formatting.js.map +1 -0
- package/dist/esm/utils/list-detection.js +148 -0
- package/dist/esm/utils/list-detection.js.map +1 -0
- package/dist/esm/utils/logger.js +205 -0
- package/dist/esm/utils/logger.js.map +1 -0
- package/dist/esm/utils/parsingHelpers.js +56 -0
- package/dist/esm/utils/parsingHelpers.js.map +1 -0
- package/dist/esm/utils/textDiff.js +42 -0
- package/dist/esm/utils/textDiff.js.map +1 -0
- package/dist/esm/utils/units.js +152 -0
- package/dist/esm/utils/units.js.map +1 -0
- package/dist/esm/utils/validation.js +285 -0
- package/dist/esm/utils/validation.js.map +1 -0
- package/dist/esm/utils/xmlSanitization.js +54 -0
- package/dist/esm/utils/xmlSanitization.js.map +1 -0
- package/dist/esm/validation/RevisionAutoFixer.js +340 -0
- package/dist/esm/validation/RevisionAutoFixer.js.map +1 -0
- package/dist/esm/validation/RevisionValidator.js +240 -0
- package/dist/esm/validation/RevisionValidator.js.map +1 -0
- package/dist/esm/validation/ValidationRuleRegistry.js +40 -0
- package/dist/esm/validation/ValidationRuleRegistry.js.map +1 -0
- package/dist/esm/validation/ValidationRules.js +92 -0
- package/dist/esm/validation/ValidationRules.js.map +1 -0
- package/dist/esm/validation/index.js +4 -0
- package/dist/esm/validation/index.js.map +1 -0
- package/dist/esm/xml/XMLBuilder.js +434 -0
- package/dist/esm/xml/XMLBuilder.js.map +1 -0
- package/dist/esm/xml/XMLParser.js +486 -0
- package/dist/esm/xml/XMLParser.js.map +1 -0
- package/dist/esm/zip/ZipHandler.js +298 -0
- package/dist/esm/zip/ZipHandler.js.map +1 -0
- package/dist/esm/zip/ZipReader.js +147 -0
- package/dist/esm/zip/ZipReader.js.map +1 -0
- package/dist/esm/zip/ZipWriter.js +199 -0
- package/dist/esm/zip/ZipWriter.js.map +1 -0
- package/dist/esm/zip/errors.js +43 -0
- package/dist/esm/zip/errors.js.map +1 -0
- package/dist/esm/zip/types.js +31 -0
- package/dist/esm/zip/types.js.map +1 -0
- package/dist/formatting/AbstractNumbering.d.ts +2 -2
- package/dist/formatting/AbstractNumbering.d.ts.map +1 -1
- package/dist/formatting/AbstractNumbering.js +33 -33
- package/dist/formatting/AbstractNumbering.js.map +1 -1
- package/dist/formatting/NumberingInstance.d.ts +2 -2
- package/dist/formatting/NumberingInstance.d.ts.map +1 -1
- package/dist/formatting/NumberingInstance.js +7 -7
- package/dist/formatting/NumberingInstance.js.map +1 -1
- package/dist/formatting/NumberingLevel.d.ts +11 -2
- package/dist/formatting/NumberingLevel.d.ts.map +1 -1
- package/dist/formatting/NumberingLevel.js +111 -25
- package/dist/formatting/NumberingLevel.js.map +1 -1
- package/dist/formatting/NumberingManager.d.ts +4 -4
- package/dist/formatting/NumberingManager.d.ts.map +1 -1
- package/dist/formatting/NumberingManager.js +28 -28
- package/dist/formatting/NumberingManager.js.map +1 -1
- package/dist/formatting/Style.d.ts +14 -7
- package/dist/formatting/Style.d.ts.map +1 -1
- package/dist/formatting/Style.js +309 -112
- package/dist/formatting/Style.js.map +1 -1
- package/dist/formatting/StylesManager.d.ts +2 -2
- package/dist/formatting/StylesManager.d.ts.map +1 -1
- package/dist/formatting/StylesManager.js +52 -52
- package/dist/formatting/StylesManager.js.map +1 -1
- package/dist/helpers/CleanupHelper.d.ts +1 -1
- package/dist/helpers/CleanupHelper.d.ts.map +1 -1
- package/dist/helpers/CleanupHelper.js +15 -15
- package/dist/helpers/CleanupHelper.js.map +1 -1
- package/dist/index.d.ts +81 -90
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +286 -317
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +16 -0
- package/dist/internal.d.ts.map +1 -0
- package/dist/internal.js +42 -0
- package/dist/internal.js.map +1 -0
- package/dist/managers/DrawingManager.d.ts +3 -3
- package/dist/managers/DrawingManager.d.ts.map +1 -1
- package/dist/managers/DrawingManager.js +12 -12
- package/dist/managers/DrawingManager.js.map +1 -1
- package/dist/{utils → processors}/ChangelogGenerator.d.ts +2 -2
- package/dist/processors/ChangelogGenerator.d.ts.map +1 -0
- package/dist/{utils → processors}/ChangelogGenerator.js +2 -2
- package/dist/processors/ChangelogGenerator.js.map +1 -0
- package/dist/processors/CompatibilityUpgrader.d.ts.map +1 -0
- package/dist/{utils → processors}/CompatibilityUpgrader.js +10 -10
- package/dist/processors/CompatibilityUpgrader.js.map +1 -0
- package/dist/{utils → processors}/InMemoryRevisionAcceptor.d.ts +3 -3
- package/dist/processors/InMemoryRevisionAcceptor.d.ts.map +1 -0
- package/dist/{utils → processors}/InMemoryRevisionAcceptor.js +84 -27
- package/dist/processors/InMemoryRevisionAcceptor.js.map +1 -0
- package/dist/{utils → processors}/MoveOperationHelper.d.ts +4 -4
- package/dist/processors/MoveOperationHelper.d.ts.map +1 -0
- package/dist/{utils → processors}/MoveOperationHelper.js +10 -10
- package/dist/processors/MoveOperationHelper.js.map +1 -0
- package/dist/{utils → processors}/RevisionAwareProcessor.d.ts +3 -3
- package/dist/processors/RevisionAwareProcessor.d.ts.map +1 -0
- package/dist/{utils → processors}/RevisionAwareProcessor.js +2 -2
- package/dist/processors/RevisionAwareProcessor.js.map +1 -0
- package/dist/{utils → processors}/RevisionWalker.d.ts +2 -1
- package/dist/processors/RevisionWalker.d.ts.map +1 -0
- package/dist/{utils → processors}/RevisionWalker.js +28 -0
- package/dist/processors/RevisionWalker.js.map +1 -0
- package/dist/{utils → processors}/SelectiveRevisionAcceptor.d.ts +4 -3
- package/dist/processors/SelectiveRevisionAcceptor.d.ts.map +1 -0
- package/dist/processors/SelectiveRevisionAcceptor.js +402 -0
- package/dist/processors/SelectiveRevisionAcceptor.js.map +1 -0
- package/dist/processors/ShadingResolver.d.ts +6 -0
- package/dist/processors/ShadingResolver.d.ts.map +1 -0
- package/dist/{utils → processors}/ShadingResolver.js +2 -2
- package/dist/processors/ShadingResolver.js.map +1 -0
- package/dist/{utils → processors}/acceptRevisions.d.ts +1 -1
- package/dist/processors/acceptRevisions.d.ts.map +1 -0
- package/dist/{utils → processors}/acceptRevisions.js +24 -4
- package/dist/processors/acceptRevisions.js.map +1 -0
- package/dist/{utils → processors}/cnfStyleDecoder.d.ts +1 -1
- package/dist/processors/cnfStyleDecoder.d.ts.map +1 -0
- package/dist/processors/cnfStyleDecoder.js.map +1 -0
- package/dist/processors/stripTrackedChanges.d.ts +3 -0
- package/dist/processors/stripTrackedChanges.d.ts.map +1 -0
- package/dist/{utils → processors}/stripTrackedChanges.js +16 -6
- package/dist/processors/stripTrackedChanges.js.map +1 -0
- package/dist/tracking/DocumentTrackingContext.d.ts +4 -4
- package/dist/tracking/DocumentTrackingContext.d.ts.map +1 -1
- package/dist/tracking/DocumentTrackingContext.js +38 -43
- package/dist/tracking/DocumentTrackingContext.js.map +1 -1
- package/dist/tracking/TrackingContext.d.ts +8 -8
- package/dist/tracking/TrackingContext.d.ts.map +1 -1
- package/dist/tracking/TrackingContext.js.map +1 -1
- package/dist/types/document-types.d.ts +28 -0
- package/dist/types/document-types.d.ts.map +1 -0
- package/dist/types/document-types.js +3 -0
- package/dist/types/document-types.js.map +1 -0
- package/dist/types/formatting.d.ts +4 -4
- package/dist/types/formatting.d.ts.map +1 -1
- package/dist/types/formatting.js.map +1 -1
- package/dist/types/settings-types.d.ts +6 -0
- package/dist/types/settings-types.d.ts.map +1 -1
- package/dist/types/settings-types.js.map +1 -1
- package/dist/utils/KeyedRegistry.d.ts +13 -0
- package/dist/utils/KeyedRegistry.d.ts.map +1 -0
- package/dist/utils/KeyedRegistry.js +36 -0
- package/dist/utils/KeyedRegistry.js.map +1 -0
- package/dist/utils/corruptionDetection.d.ts +1 -1
- package/dist/utils/corruptionDetection.d.ts.map +1 -1
- package/dist/utils/corruptionDetection.js +4 -4
- package/dist/utils/corruptionDetection.js.map +1 -1
- package/dist/utils/deepEqual.d.ts +2 -0
- package/dist/utils/deepEqual.d.ts.map +1 -0
- package/dist/utils/deepEqual.js +50 -0
- package/dist/utils/deepEqual.js.map +1 -0
- package/dist/utils/list-detection.d.ts +2 -2
- package/dist/utils/list-detection.d.ts.map +1 -1
- package/dist/utils/list-detection.js.map +1 -1
- package/dist/utils/parsingHelpers.d.ts +1 -1
- package/dist/utils/parsingHelpers.d.ts.map +1 -1
- package/dist/utils/parsingHelpers.js +2 -2
- package/dist/utils/parsingHelpers.js.map +1 -1
- package/dist/utils/validation.js +7 -7
- package/dist/utils/validation.js.map +1 -1
- package/dist/utils/xmlSanitization.js +2 -2
- package/dist/utils/xmlSanitization.js.map +1 -1
- package/dist/validation/RevisionAutoFixer.d.ts +4 -4
- package/dist/validation/RevisionAutoFixer.d.ts.map +1 -1
- package/dist/validation/RevisionAutoFixer.js +11 -11
- package/dist/validation/RevisionAutoFixer.js.map +1 -1
- package/dist/validation/RevisionValidator.d.ts +5 -4
- package/dist/validation/RevisionValidator.d.ts.map +1 -1
- package/dist/validation/RevisionValidator.js +29 -30
- package/dist/validation/RevisionValidator.js.map +1 -1
- package/dist/validation/ValidationRuleRegistry.d.ts +27 -0
- package/dist/validation/ValidationRuleRegistry.d.ts.map +1 -0
- package/dist/validation/ValidationRuleRegistry.js +43 -0
- package/dist/validation/ValidationRuleRegistry.js.map +1 -0
- package/dist/validation/index.d.ts +3 -3
- package/dist/validation/index.d.ts.map +1 -1
- package/dist/validation/index.js +10 -10
- package/dist/validation/index.js.map +1 -1
- package/dist/xml/XMLBuilder.d.ts +6 -1
- package/dist/xml/XMLBuilder.d.ts.map +1 -1
- package/dist/xml/XMLBuilder.js +11 -6
- package/dist/xml/XMLBuilder.js.map +1 -1
- package/dist/xml/XMLParser.js +6 -6
- package/dist/xml/XMLParser.js.map +1 -1
- package/dist/zip/ZipHandler.d.ts +1 -1
- package/dist/zip/ZipHandler.d.ts.map +1 -1
- package/dist/zip/ZipHandler.js +8 -8
- package/dist/zip/ZipHandler.js.map +1 -1
- package/dist/zip/ZipReader.d.ts +1 -1
- package/dist/zip/ZipReader.d.ts.map +1 -1
- package/dist/zip/ZipReader.js +14 -14
- package/dist/zip/ZipReader.js.map +1 -1
- package/dist/zip/ZipWriter.d.ts +1 -1
- package/dist/zip/ZipWriter.d.ts.map +1 -1
- package/dist/zip/ZipWriter.js +10 -10
- package/dist/zip/ZipWriter.js.map +1 -1
- package/package.json +20 -4
- package/src/constants/legacyCompatFlags.ts +1 -1
- package/src/core/Document.ts +478 -167
- package/src/core/DocumentContent.ts +14 -11
- package/src/core/DocumentEvents.ts +90 -0
- package/src/core/DocumentGenerator.ts +49 -22
- package/src/core/DocumentParser.ts +2235 -620
- package/src/core/DocumentValidator.ts +7 -7
- package/src/core/ElementRegistry.ts +69 -0
- package/src/core/Relationship.ts +1 -1
- package/src/core/RelationshipManager.ts +4 -4
- package/src/elements/AlternateContent.ts +1 -1
- package/src/elements/Bookmark.ts +52 -4
- package/src/elements/BookmarkManager.ts +2 -2
- package/src/elements/Comment.ts +3 -3
- package/src/elements/CommentManager.ts +4 -4
- package/src/elements/CommonTypes.ts +45 -7
- package/src/elements/CustomXml.ts +1 -1
- package/src/elements/Endnote.ts +2 -2
- package/src/elements/EndnoteManager.ts +3 -3
- package/src/elements/Field.ts +44 -10
- package/src/elements/FieldHelpers.ts +2 -2
- package/src/elements/Footer.ts +4 -4
- package/src/elements/Footnote.ts +2 -2
- package/src/elements/FootnoteManager.ts +3 -3
- package/src/elements/Header.ts +4 -4
- package/src/elements/HeaderFooterManager.ts +2 -2
- package/src/elements/Hyperlink.ts +16 -12
- package/src/elements/Image.ts +3 -3
- package/src/elements/ImageManager.ts +2 -2
- package/src/elements/ImageRun.ts +3 -3
- package/src/elements/MathElement.ts +1 -1
- package/src/elements/Paragraph.ts +221 -88
- package/src/elements/PreservedElement.ts +1 -1
- package/src/elements/PropertyChangeTypes.ts +2 -2
- package/src/elements/RangeMarker.ts +153 -12
- package/src/elements/RegisteredBodyElement.ts +52 -0
- package/src/elements/Revision.ts +14 -14
- package/src/elements/RevisionContent.ts +3 -3
- package/src/elements/RevisionManager.ts +3 -3
- package/src/elements/Run.ts +221 -94
- package/src/elements/Section.ts +136 -69
- package/src/elements/Shape.ts +4 -4
- package/src/elements/StructuredDocumentTag.ts +3 -3
- package/src/elements/Table.ts +91 -27
- package/src/elements/TableCell.ts +62 -34
- package/src/elements/TableGridChange.ts +1 -1
- package/src/elements/TableOfContents.ts +1 -1
- package/src/elements/TableOfContentsElement.ts +2 -2
- package/src/elements/TableRow.ts +192 -48
- package/src/elements/TextBox.ts +5 -5
- package/src/formatting/AbstractNumbering.ts +3 -3
- package/src/formatting/NumberingInstance.ts +2 -2
- package/src/formatting/NumberingLevel.ts +201 -10
- package/src/formatting/NumberingManager.ts +5 -5
- package/src/formatting/Style.ts +382 -86
- package/src/formatting/StylesManager.ts +4 -4
- package/src/helpers/CleanupHelper.ts +6 -6
- package/src/index.ts +118 -127
- package/src/internal.ts +79 -0
- package/src/managers/DrawingManager.ts +3 -3
- package/src/{utils → processors}/ChangelogGenerator.ts +3 -3
- package/src/{utils → processors}/CompatibilityUpgrader.ts +2 -2
- package/src/{utils → processors}/InMemoryRevisionAcceptor.ts +100 -12
- package/src/{utils → processors}/MoveOperationHelper.ts +5 -5
- package/src/{utils → processors}/RevisionAwareProcessor.ts +3 -3
- package/src/{utils → processors}/RevisionWalker.ts +42 -1
- package/src/{utils → processors}/SelectiveRevisionAcceptor.ts +98 -39
- package/src/{utils → processors}/ShadingResolver.ts +5 -5
- package/src/{utils → processors}/acceptRevisions.ts +77 -9
- package/src/{utils → processors}/cnfStyleDecoder.ts +1 -1
- package/src/{utils → processors}/stripTrackedChanges.ts +35 -10
- package/src/tracking/DocumentTrackingContext.ts +12 -14
- package/src/tracking/TrackingContext.ts +8 -8
- package/src/types/document-types.ts +53 -0
- package/src/types/formatting.ts +4 -4
- package/src/types/settings-types.ts +32 -0
- package/src/utils/KeyedRegistry.ts +41 -0
- package/src/utils/corruptionDetection.ts +2 -2
- package/src/utils/deepEqual.ts +58 -0
- package/src/utils/list-detection.ts +2 -2
- package/src/utils/parsingHelpers.ts +11 -3
- package/src/utils/validation.ts +3 -3
- package/src/utils/xmlSanitization.ts +1 -1
- package/src/validation/RevisionAutoFixer.ts +5 -5
- package/src/validation/RevisionValidator.ts +39 -28
- package/src/validation/ValidationRuleRegistry.ts +86 -0
- package/src/validation/index.ts +3 -3
- package/src/xml/XMLBuilder.ts +13 -3
- package/src/xml/XMLParser.ts +2 -2
- package/src/zip/ZipHandler.ts +4 -4
- package/src/zip/ZipReader.ts +3 -3
- package/src/zip/ZipWriter.ts +3 -3
- package/dist/utils/ChangelogGenerator.d.ts.map +0 -1
- package/dist/utils/ChangelogGenerator.js.map +0 -1
- package/dist/utils/CompatibilityUpgrader.d.ts.map +0 -1
- package/dist/utils/CompatibilityUpgrader.js.map +0 -1
- package/dist/utils/InMemoryRevisionAcceptor.d.ts.map +0 -1
- package/dist/utils/InMemoryRevisionAcceptor.js.map +0 -1
- package/dist/utils/MoveOperationHelper.d.ts.map +0 -1
- package/dist/utils/MoveOperationHelper.js.map +0 -1
- package/dist/utils/RevisionAwareProcessor.d.ts.map +0 -1
- package/dist/utils/RevisionAwareProcessor.js.map +0 -1
- package/dist/utils/RevisionWalker.d.ts.map +0 -1
- package/dist/utils/RevisionWalker.js.map +0 -1
- package/dist/utils/SelectiveRevisionAcceptor.d.ts.map +0 -1
- package/dist/utils/SelectiveRevisionAcceptor.js.map +0 -1
- package/dist/utils/ShadingResolver.d.ts +0 -6
- package/dist/utils/ShadingResolver.d.ts.map +0 -1
- package/dist/utils/ShadingResolver.js.map +0 -1
- package/dist/utils/acceptRevisions.d.ts.map +0 -1
- package/dist/utils/acceptRevisions.js.map +0 -1
- package/dist/utils/cnfStyleDecoder.d.ts.map +0 -1
- package/dist/utils/cnfStyleDecoder.js.map +0 -1
- package/dist/utils/stripTrackedChanges.d.ts +0 -3
- package/dist/utils/stripTrackedChanges.d.ts.map +0 -1
- package/dist/utils/stripTrackedChanges.js.map +0 -1
- package/src/__tests__/helper-methods.test.ts +0 -512
- package/src/constants/CLAUDE.md +0 -28
- package/src/core/CLAUDE.md +0 -113
- package/src/elements/CLAUDE.md +0 -142
- package/src/formatting/CLAUDE.md +0 -78
- package/src/managers/CLAUDE.md +0 -47
- package/src/tracking/CLAUDE.md +0 -30
- package/src/types/CLAUDE.md +0 -39
- package/src/utils/CLAUDE.md +0 -168
- package/src/validation/CLAUDE.md +0 -40
- package/src/xml/CLAUDE.md +0 -65
- package/src/zip/CLAUDE.md +0 -55
- /package/dist/{utils → processors}/CompatibilityUpgrader.d.ts +0 -0
- /package/dist/{utils → processors}/cnfStyleDecoder.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableOfContents.js","sourceRoot":"","sources":["../../src/elements/TableOfContents.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * TableOfContents - Represents a Table of Contents in a Word document\n *\n * A TOC is a special field that automatically generates a list of headings\n * based on heading styles (Heading1, Heading2, etc.) in the document.\n */\n\nimport { XMLBuilder, XMLElement } from '../xml/XMLBuilder';\n\n/**\n * TOC properties\n */\nexport interface TOCProperties {\n /** Title for the TOC (default: \"Table of Contents\") */\n title?: string;\n /** Heading levels to include (1-9, default: 1-3) */\n levels?: number;\n /** Specific styles to include (overrides levels if provided) */\n includeStyles?: { styleName: string; level: number }[];\n /** Whether to show page numbers (default: true) */\n showPageNumbers?: boolean;\n /** Whether to right-align page numbers (default: true) */\n rightAlignPageNumbers?: boolean;\n /** Whether to use hyperlinks instead of page numbers (default: false) */\n useHyperlinks?: boolean;\n /** Custom TOC style (default: built-in TOC style) */\n style?: string;\n /** Tab leader character (default: dot) */\n tabLeader?: 'dot' | 'hyphen' | 'underscore' | 'none';\n /** Custom field switches */\n fieldSwitches?: string;\n /** Hide page numbers in web layout with \\z switch (default: false) */\n hideInWebLayout?: boolean;\n /** Whether TOC entries should be numbered (default: false) */\n numbered?: boolean;\n /** Numbering format for TOC entries */\n numberingFormat?: 'decimal' | 'roman' | 'alpha';\n /** Remove all indentation from TOC entries (default: false) */\n noIndent?: boolean;\n /** Custom indents for each TOC level in twips */\n customIndents?: number[];\n /** Space between TOC entries in twips (default: 0) */\n spaceBetweenEntries?: number;\n /** Hyperlink color in hex format without # (default: 0000FF) */\n hyperlinkColor?: string;\n /** Original field instruction from loaded document (internal use) */\n originalFieldInstruction?: string;\n /** Enable automatic normalization of incomplete \\t switches (default: false) */\n normalizeFieldInstruction?: boolean;\n}\n\n/**\n * Represents a Table of Contents\n */\nexport class TableOfContents {\n private title: string;\n private levels: number;\n private includeStyles?: { styleName: string; level: number }[];\n private showPageNumbers: boolean;\n private useHyperlinks: boolean;\n private tabLeader: 'dot' | 'hyphen' | 'underscore' | 'none';\n private fieldSwitches?: string;\n private hideInWebLayout: boolean;\n private numbered: boolean;\n private numberingFormat: 'decimal' | 'roman' | 'alpha';\n private noIndent: boolean;\n private customIndents?: number[];\n private spaceBetweenEntries: number;\n private hyperlinkColor: string;\n private originalFieldInstruction?: string; // Preserve original instruction from loaded documents\n\n /**\n * Creates a new Table of Contents\n * @param properties TOC properties\n */\n constructor(properties: TOCProperties = {}) {\n this.title = properties.title || 'Table of Contents';\n this.levels = properties.levels || 3;\n this.includeStyles = properties.includeStyles;\n this.showPageNumbers = properties.showPageNumbers !== false;\n this.useHyperlinks = properties.useHyperlinks || false;\n this.tabLeader = properties.tabLeader || 'dot';\n this.fieldSwitches = properties.fieldSwitches;\n this.hideInWebLayout = properties.hideInWebLayout || false;\n this.numbered = properties.numbered || false;\n this.numberingFormat = properties.numberingFormat || 'decimal';\n this.noIndent = properties.noIndent || false;\n this.customIndents = properties.customIndents;\n this.spaceBetweenEntries = properties.spaceBetweenEntries || 0;\n this.hyperlinkColor = properties.hyperlinkColor || '0000FF';\n this.originalFieldInstruction = properties.originalFieldInstruction;\n }\n\n /**\n * Gets the TOC title\n */\n getTitle(): string {\n return this.title;\n }\n\n /**\n * Sets the TOC title\n */\n setTitle(title: string): this {\n this.title = title;\n return this;\n }\n\n /**\n * Gets the number of heading levels to include\n */\n getLevels(): number {\n return this.levels;\n }\n\n /**\n * Sets the number of heading levels to include (1-9)\n */\n setLevels(levels: number): this {\n if (levels < 1 || levels > 9) {\n throw new Error('TOC levels must be between 1 and 9');\n }\n this.levels = levels;\n return this;\n }\n\n /**\n * Sets (or clears) the original field instruction preserved from a loaded document.\n * When set, this instruction is used verbatim in XML generation instead of\n * buildFieldInstruction(). Pass undefined to clear it and use computed instruction.\n */\n setOriginalFieldInstruction(instruction: string | undefined): this {\n this.originalFieldInstruction = instruction;\n return this;\n }\n\n /**\n * Gets the original field instruction preserved from a loaded document, if any.\n */\n getOriginalFieldInstruction(): string | undefined {\n return this.originalFieldInstruction;\n }\n\n /**\n * Gets whether page numbers are shown\n */\n getShowPageNumbers(): boolean {\n return this.showPageNumbers;\n }\n\n /**\n * Sets whether to show page numbers\n */\n setShowPageNumbers(show: boolean): this {\n this.showPageNumbers = show;\n return this;\n }\n\n /**\n * Gets whether to use hyperlinks\n */\n getUseHyperlinks(): boolean {\n return this.useHyperlinks;\n }\n\n /**\n * Sets whether to use hyperlinks instead of page numbers\n */\n setUseHyperlinks(use: boolean): this {\n this.useHyperlinks = use;\n return this;\n }\n\n /**\n * Gets whether TOC entries are numbered\n */\n getNumbered(): boolean {\n return this.numbered;\n }\n\n /**\n * Gets the numbering format\n */\n getNumberingFormat(): 'decimal' | 'roman' | 'alpha' {\n return this.numberingFormat;\n }\n\n /**\n * Gets whether indentation is removed\n */\n getNoIndent(): boolean {\n return this.noIndent;\n }\n\n /**\n * Gets custom indents\n */\n getCustomIndents(): number[] | undefined {\n return this.customIndents;\n }\n\n /**\n * Gets spacing between entries\n */\n getSpaceBetweenEntries(): number {\n return this.spaceBetweenEntries;\n }\n\n /**\n * Gets hyperlink color\n */\n getHyperlinkColor(): string {\n return this.hyperlinkColor;\n }\n\n /**\n * Gets specific included styles\n */\n getIncludeStyles(): { styleName: string; level: number }[] | undefined {\n return this.includeStyles;\n }\n\n /**\n * Gets whether page numbers are hidden in web layout\n * @returns True if \\z switch will be generated\n */\n getHideInWebLayout(): boolean {\n return this.hideInWebLayout;\n }\n\n /**\n * Sets whether to hide page numbers in web layout\n * Generates the \\z field switch\n * @param hide - True to hide page numbers in web layout\n * @returns This instance for chaining\n */\n setHideInWebLayout(hide: boolean): this {\n this.hideInWebLayout = hide;\n return this;\n }\n\n /**\n * Builds the TOC field instruction string\n */\n private buildFieldInstruction(): string {\n let instruction = 'TOC';\n\n // Add specific styles switch OR heading levels switch\n if (this.includeStyles && this.includeStyles.length > 0) {\n // Use \\t switch to specify exact styles\n // Format: \\t \"StyleName,Level,\" for each style\n for (const style of this.includeStyles) {\n instruction += ` \\\\t \"${style.styleName},${style.level},\"`;\n }\n } else {\n // Use \\o switch for heading levels\n instruction += ` \\\\o \"1-${this.levels}\"`;\n }\n\n // Add hyperlinks switch if enabled\n if (this.useHyperlinks) {\n instruction += ' \\\\h';\n }\n\n // Add page number switches\n if (!this.showPageNumbers) {\n instruction += ' \\\\n';\n }\n\n // Add web layout hide switch\n if (this.hideInWebLayout) {\n instruction += ' \\\\z';\n }\n\n // Add tab leader switch\n if (this.tabLeader !== 'dot') {\n const leaderMap = {\n hyphen: 'h',\n underscore: 'u',\n none: 'n',\n };\n instruction += ` \\\\p \"${leaderMap[this.tabLeader]}\"`;\n }\n\n // Add custom field switches\n if (this.fieldSwitches) {\n instruction += ` ${this.fieldSwitches}`;\n }\n\n // Add MERGEFORMAT to preserve formatting\n instruction += ' \\\\* MERGEFORMAT';\n\n return instruction;\n }\n\n /**\n * Gets the TOC field instruction string\n * Public accessor for the field instruction\n *\n * @returns The complete TOC field instruction (e.g., \"TOC \\o \"1-3\" \\h \\z\")\n */\n public getFieldInstruction(): string {\n return this.buildFieldInstruction();\n }\n\n /**\n * Generates XML for the TOC field wrapped in an SDT (Structured Document Tag)\n *\n * A TOC in Word is represented as:\n * 1. SDT wrapper with docPartGallery=\"Table of Contents\"\n * 2. SDT content containing:\n * a. A paragraph with the title (styled as TOC Heading)\n * b. A complex field (fldChar) with the TOC instruction (begin → separate → end)\n * c. Placeholder entries (updated by Word when opening)\n *\n * Per ECMA-376 Part 1 §17.16.5: All complex fields MUST have\n * begin → instrText → separate → content → end structure.\n * Missing any of these causes Word to reject the document as corrupted.\n *\n * @throws Error if field structure cannot be generated completely\n */\n toXML(): XMLElement[] {\n const sdtContent: XMLElement[] = [];\n\n // 1. Title paragraph\n if (this.title) {\n sdtContent.push({\n name: 'w:p',\n children: [\n {\n name: 'w:pPr',\n children: [\n {\n name: 'w:pStyle',\n attributes: { 'w:val': 'TOCHeading' },\n selfClosing: true,\n },\n ],\n },\n {\n name: 'w:r',\n children: [\n {\n name: 'w:t',\n children: [this.title],\n },\n ],\n },\n ],\n });\n }\n\n // 2. TOC field paragraph - CRITICAL: Must have complete begin → separate → end structure\n const tocParagraph: XMLElement = {\n name: 'w:p',\n children: [],\n };\n\n // FIELD BEGIN (required)\n tocParagraph.children!.push({\n name: 'w:r',\n children: [\n {\n name: 'w:fldChar',\n attributes: { 'w:fldCharType': 'begin' },\n selfClosing: true,\n },\n ],\n });\n\n // FIELD INSTRUCTION (required)\n // Use original field instruction if available (from loaded documents)\n // Otherwise, build instruction from properties\n const fieldInstruction = this.originalFieldInstruction || this.buildFieldInstruction();\n tocParagraph.children!.push({\n name: 'w:r',\n children: [\n {\n name: 'w:instrText',\n attributes: { 'xml:space': 'preserve' },\n children: [fieldInstruction],\n },\n ],\n });\n\n // FIELD SEPARATE (required - marks boundary between instruction and result)\n tocParagraph.children!.push({\n name: 'w:r',\n children: [\n {\n name: 'w:fldChar',\n attributes: { 'w:fldCharType': 'separate' },\n selfClosing: true,\n },\n ],\n });\n\n // FIELD CONTENT (placeholder - Word updates on open)\n tocParagraph.children!.push({\n name: 'w:r',\n children: [\n {\n name: 'w:rPr',\n children: [\n {\n name: 'w:noProof',\n selfClosing: true,\n },\n ],\n },\n {\n name: 'w:t',\n children: ['Right-click to update field.'],\n },\n ],\n });\n\n // FIELD END (CRITICAL - REQUIRED by ECMA-376 §17.16.5)\n // Missing this causes Word to treat document as corrupted\n tocParagraph.children!.push({\n name: 'w:r',\n children: [\n {\n name: 'w:fldChar',\n attributes: { 'w:fldCharType': 'end' },\n selfClosing: true,\n },\n ],\n });\n\n // Validate complete structure before adding to SDT content\n if (tocParagraph.children!.length !== 5) {\n throw new Error(\n `CRITICAL: TOC field structure incomplete. Expected 5 elements ` +\n `(begin, instruction, separate, content, end), got ${tocParagraph.children!.length}. ` +\n `This would create an invalid OpenXML document per ECMA-376 §17.16.5.`\n );\n }\n\n sdtContent.push(tocParagraph);\n\n // Wrap TOC content in SDT (Structured Document Tag) for Word native integration\n const sdtWrapper = XMLBuilder.createSDT(sdtContent, {\n docPartGallery: 'Table of Contents',\n docPartUnique: true,\n });\n\n return [sdtWrapper];\n }\n\n /**\n * Creates a standard TOC with 3 levels\n */\n static createStandard(title?: string): TableOfContents {\n return new TableOfContents({\n title: title || 'Table of Contents',\n levels: 3,\n showPageNumbers: true,\n rightAlignPageNumbers: true,\n });\n }\n\n /**\n * Creates a simple TOC with 2 levels\n */\n static createSimple(title?: string): TableOfContents {\n return new TableOfContents({\n title: title || 'Contents',\n levels: 2,\n showPageNumbers: true,\n rightAlignPageNumbers: true,\n });\n }\n\n /**\n * Creates a detailed TOC with 4 levels\n */\n static createDetailed(title?: string): TableOfContents {\n return new TableOfContents({\n title: title || 'Table of Contents',\n levels: 4,\n showPageNumbers: true,\n rightAlignPageNumbers: true,\n });\n }\n\n /**\n * Creates a hyperlinked TOC (for web documents)\n */\n static createHyperlinked(title?: string): TableOfContents {\n return new TableOfContents({\n title: title || 'Contents',\n levels: 3,\n showPageNumbers: false,\n useHyperlinks: true,\n });\n }\n\n /**\n * Creates a hyperlinked TOC without page numbers\n * Combines \\h, \\n, and \\z switches for complete page number hiding\n * @param options - TOC configuration options\n * @returns New TableOfContents instance\n */\n static createNoPageNumbers(options: Partial<TOCProperties> = {}): TableOfContents {\n return new TableOfContents({\n ...options,\n useHyperlinks: true,\n showPageNumbers: false,\n hideInWebLayout: true,\n });\n }\n\n /**\n * Creates a TOC with custom properties\n */\n static create(properties?: TOCProperties): TableOfContents {\n return new TableOfContents(properties);\n }\n\n /**\n * Sets specific styles to include in TOC (overrides levels)\n * @param styles - Array of style names (e.g., ['Heading1', 'Heading3']) or objects with styleName and level\n * @returns This TOC for chaining\n */\n setIncludeStyles(styles: string[] | { styleName: string; level: number }[]): this {\n // Convert string[] to object format for backward compatibility\n if (styles.length > 0 && typeof styles[0] === 'string') {\n this.includeStyles = (styles as string[]).map((styleName, index) => ({\n styleName,\n level: index + 1, // Default: assign sequential levels\n }));\n } else {\n this.includeStyles = styles as { styleName: string; level: number }[];\n }\n return this;\n }\n\n /**\n * Sets whether TOC entries should be numbered\n * @param numbered - Whether to number entries\n * @param format - Numbering format (decimal, roman, alpha)\n * @returns This TOC for chaining\n */\n setNumbered(numbered: boolean, format: 'decimal' | 'roman' | 'alpha' = 'decimal'): this {\n this.numbered = numbered;\n this.numberingFormat = format;\n return this;\n }\n\n /**\n * Sets whether to remove indentation from TOC entries\n * @param noIndent - Whether to remove indentation\n * @returns This TOC for chaining\n */\n setNoIndent(noIndent: boolean): this {\n this.noIndent = noIndent;\n return this;\n }\n\n /**\n * Sets custom indents for each TOC level\n * @param indents - Array of indent values in twips\n * @returns This TOC for chaining\n */\n setCustomIndents(indents: number[]): this {\n this.customIndents = indents;\n return this;\n }\n\n /**\n * Sets spacing between TOC entries\n * @param spacing - Spacing in twips\n * @returns This TOC for chaining\n */\n setSpaceBetweenEntries(spacing: number): this {\n this.spaceBetweenEntries = spacing;\n return this;\n }\n\n /**\n * Sets hyperlink color for TOC entries\n * @param color - Hex color without # (e.g., '0000FF' for blue)\n * @returns This TOC for chaining\n */\n setHyperlinkColor(color: string): this {\n this.hyperlinkColor = color;\n return this;\n }\n\n /**\n * Configures multiple properties at once\n * @param options - Partial TOC properties to apply\n * @returns This TOC for chaining\n */\n configure(options: Partial<TOCProperties>): this {\n if (options.title !== undefined) this.title = options.title;\n if (options.levels !== undefined) this.levels = options.levels;\n if (options.includeStyles !== undefined) this.includeStyles = options.includeStyles;\n if (options.showPageNumbers !== undefined) this.showPageNumbers = options.showPageNumbers;\n if (options.useHyperlinks !== undefined) this.useHyperlinks = options.useHyperlinks;\n if (options.tabLeader !== undefined) this.tabLeader = options.tabLeader;\n if (options.fieldSwitches !== undefined) this.fieldSwitches = options.fieldSwitches;\n if (options.hideInWebLayout !== undefined) this.hideInWebLayout = options.hideInWebLayout;\n if (options.numbered !== undefined) this.numbered = options.numbered;\n if (options.numberingFormat !== undefined) this.numberingFormat = options.numberingFormat;\n if (options.noIndent !== undefined) this.noIndent = options.noIndent;\n if (options.customIndents !== undefined) this.customIndents = options.customIndents;\n if (options.spaceBetweenEntries !== undefined)\n this.spaceBetweenEntries = options.spaceBetweenEntries;\n if (options.hyperlinkColor !== undefined) this.hyperlinkColor = options.hyperlinkColor;\n return this;\n }\n\n /**\n * Creates a TOC with specific styles\n * @param styles - Array of style names to include\n * @param options - Additional TOC options\n * @returns New TableOfContents instance\n */\n static createWithStyles(styles: string[], options?: Partial<TOCProperties>): TableOfContents {\n // Convert string[] to object format\n const stylesWithLevels = styles.map((styleName, index) => ({\n styleName,\n level: index + 1, // Default: assign sequential levels\n }));\n return new TableOfContents({\n ...options,\n includeStyles: stylesWithLevels,\n });\n }\n\n /**\n * Creates a flat (no indent) TOC\n * @param title - Optional TOC title\n * @param styles - Optional specific styles (default: all heading levels)\n * @returns New TableOfContents instance\n */\n static createFlat(title?: string, styles?: string[]): TableOfContents {\n // Convert string[] to object format if provided\n const stylesWithLevels = styles?.map((styleName, index) => ({\n styleName,\n level: index + 1, // Default: assign sequential levels\n }));\n return new TableOfContents({\n title: title || 'Contents',\n includeStyles: stylesWithLevels,\n noIndent: true,\n spaceBetweenEntries: 100, // Small spacing for flat TOC\n });\n }\n\n /**\n * Creates a numbered TOC\n * @param title - Optional TOC title\n * @param format - Numbering format (decimal, roman, alpha)\n * @returns New TableOfContents instance\n */\n static createNumbered(\n title?: string,\n format: 'decimal' | 'roman' | 'alpha' = 'decimal'\n ): TableOfContents {\n return new TableOfContents({\n title: title || 'Table of Contents',\n numbered: true,\n numberingFormat: format,\n });\n }\n\n /**\n * Creates a TOC with custom spacing\n * @param spaceBetweenEntries - Spacing in twips\n * @param options - Additional TOC options\n * @returns New TableOfContents instance\n */\n static createWithSpacing(\n spaceBetweenEntries: number,\n options?: Partial<TOCProperties>\n ): TableOfContents {\n return new TableOfContents({\n ...options,\n spaceBetweenEntries,\n });\n }\n\n /**\n * Creates a TOC with custom hyperlink color\n * @param color - Hex color without # (e.g., '0000FF' for blue)\n * @param options - Additional TOC options\n * @returns New TableOfContents instance\n */\n static createWithHyperlinkColor(\n color: string,\n options?: Partial<TOCProperties>\n ): TableOfContents {\n return new TableOfContents({\n ...options,\n hyperlinkColor: color,\n });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"TableOfContents.js","sourceRoot":"","sources":["../../src/elements/TableOfContents.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * TableOfContents - Represents a Table of Contents in a Word document\n *\n * A TOC is a special field that automatically generates a list of headings\n * based on heading styles (Heading1, Heading2, etc.) in the document.\n */\n\nimport { XMLBuilder, XMLElement } from '../xml/XMLBuilder.js';\n\n/**\n * TOC properties\n */\nexport interface TOCProperties {\n /** Title for the TOC (default: \"Table of Contents\") */\n title?: string;\n /** Heading levels to include (1-9, default: 1-3) */\n levels?: number;\n /** Specific styles to include (overrides levels if provided) */\n includeStyles?: { styleName: string; level: number }[];\n /** Whether to show page numbers (default: true) */\n showPageNumbers?: boolean;\n /** Whether to right-align page numbers (default: true) */\n rightAlignPageNumbers?: boolean;\n /** Whether to use hyperlinks instead of page numbers (default: false) */\n useHyperlinks?: boolean;\n /** Custom TOC style (default: built-in TOC style) */\n style?: string;\n /** Tab leader character (default: dot) */\n tabLeader?: 'dot' | 'hyphen' | 'underscore' | 'none';\n /** Custom field switches */\n fieldSwitches?: string;\n /** Hide page numbers in web layout with \\z switch (default: false) */\n hideInWebLayout?: boolean;\n /** Whether TOC entries should be numbered (default: false) */\n numbered?: boolean;\n /** Numbering format for TOC entries */\n numberingFormat?: 'decimal' | 'roman' | 'alpha';\n /** Remove all indentation from TOC entries (default: false) */\n noIndent?: boolean;\n /** Custom indents for each TOC level in twips */\n customIndents?: number[];\n /** Space between TOC entries in twips (default: 0) */\n spaceBetweenEntries?: number;\n /** Hyperlink color in hex format without # (default: 0000FF) */\n hyperlinkColor?: string;\n /** Original field instruction from loaded document (internal use) */\n originalFieldInstruction?: string;\n /** Enable automatic normalization of incomplete \\t switches (default: false) */\n normalizeFieldInstruction?: boolean;\n}\n\n/**\n * Represents a Table of Contents\n */\nexport class TableOfContents {\n private title: string;\n private levels: number;\n private includeStyles?: { styleName: string; level: number }[];\n private showPageNumbers: boolean;\n private useHyperlinks: boolean;\n private tabLeader: 'dot' | 'hyphen' | 'underscore' | 'none';\n private fieldSwitches?: string;\n private hideInWebLayout: boolean;\n private numbered: boolean;\n private numberingFormat: 'decimal' | 'roman' | 'alpha';\n private noIndent: boolean;\n private customIndents?: number[];\n private spaceBetweenEntries: number;\n private hyperlinkColor: string;\n private originalFieldInstruction?: string; // Preserve original instruction from loaded documents\n\n /**\n * Creates a new Table of Contents\n * @param properties TOC properties\n */\n constructor(properties: TOCProperties = {}) {\n this.title = properties.title || 'Table of Contents';\n this.levels = properties.levels || 3;\n this.includeStyles = properties.includeStyles;\n this.showPageNumbers = properties.showPageNumbers !== false;\n this.useHyperlinks = properties.useHyperlinks || false;\n this.tabLeader = properties.tabLeader || 'dot';\n this.fieldSwitches = properties.fieldSwitches;\n this.hideInWebLayout = properties.hideInWebLayout || false;\n this.numbered = properties.numbered || false;\n this.numberingFormat = properties.numberingFormat || 'decimal';\n this.noIndent = properties.noIndent || false;\n this.customIndents = properties.customIndents;\n this.spaceBetweenEntries = properties.spaceBetweenEntries || 0;\n this.hyperlinkColor = properties.hyperlinkColor || '0000FF';\n this.originalFieldInstruction = properties.originalFieldInstruction;\n }\n\n /**\n * Gets the TOC title\n */\n getTitle(): string {\n return this.title;\n }\n\n /**\n * Sets the TOC title\n */\n setTitle(title: string): this {\n this.title = title;\n return this;\n }\n\n /**\n * Gets the number of heading levels to include\n */\n getLevels(): number {\n return this.levels;\n }\n\n /**\n * Sets the number of heading levels to include (1-9)\n */\n setLevels(levels: number): this {\n if (levels < 1 || levels > 9) {\n throw new Error('TOC levels must be between 1 and 9');\n }\n this.levels = levels;\n return this;\n }\n\n /**\n * Sets (or clears) the original field instruction preserved from a loaded document.\n * When set, this instruction is used verbatim in XML generation instead of\n * buildFieldInstruction(). Pass undefined to clear it and use computed instruction.\n */\n setOriginalFieldInstruction(instruction: string | undefined): this {\n this.originalFieldInstruction = instruction;\n return this;\n }\n\n /**\n * Gets the original field instruction preserved from a loaded document, if any.\n */\n getOriginalFieldInstruction(): string | undefined {\n return this.originalFieldInstruction;\n }\n\n /**\n * Gets whether page numbers are shown\n */\n getShowPageNumbers(): boolean {\n return this.showPageNumbers;\n }\n\n /**\n * Sets whether to show page numbers\n */\n setShowPageNumbers(show: boolean): this {\n this.showPageNumbers = show;\n return this;\n }\n\n /**\n * Gets whether to use hyperlinks\n */\n getUseHyperlinks(): boolean {\n return this.useHyperlinks;\n }\n\n /**\n * Sets whether to use hyperlinks instead of page numbers\n */\n setUseHyperlinks(use: boolean): this {\n this.useHyperlinks = use;\n return this;\n }\n\n /**\n * Gets whether TOC entries are numbered\n */\n getNumbered(): boolean {\n return this.numbered;\n }\n\n /**\n * Gets the numbering format\n */\n getNumberingFormat(): 'decimal' | 'roman' | 'alpha' {\n return this.numberingFormat;\n }\n\n /**\n * Gets whether indentation is removed\n */\n getNoIndent(): boolean {\n return this.noIndent;\n }\n\n /**\n * Gets custom indents\n */\n getCustomIndents(): number[] | undefined {\n return this.customIndents;\n }\n\n /**\n * Gets spacing between entries\n */\n getSpaceBetweenEntries(): number {\n return this.spaceBetweenEntries;\n }\n\n /**\n * Gets hyperlink color\n */\n getHyperlinkColor(): string {\n return this.hyperlinkColor;\n }\n\n /**\n * Gets specific included styles\n */\n getIncludeStyles(): { styleName: string; level: number }[] | undefined {\n return this.includeStyles;\n }\n\n /**\n * Gets whether page numbers are hidden in web layout\n * @returns True if \\z switch will be generated\n */\n getHideInWebLayout(): boolean {\n return this.hideInWebLayout;\n }\n\n /**\n * Sets whether to hide page numbers in web layout\n * Generates the \\z field switch\n * @param hide - True to hide page numbers in web layout\n * @returns This instance for chaining\n */\n setHideInWebLayout(hide: boolean): this {\n this.hideInWebLayout = hide;\n return this;\n }\n\n /**\n * Builds the TOC field instruction string\n */\n private buildFieldInstruction(): string {\n let instruction = 'TOC';\n\n // Add specific styles switch OR heading levels switch\n if (this.includeStyles && this.includeStyles.length > 0) {\n // Use \\t switch to specify exact styles\n // Format: \\t \"StyleName,Level,\" for each style\n for (const style of this.includeStyles) {\n instruction += ` \\\\t \"${style.styleName},${style.level},\"`;\n }\n } else {\n // Use \\o switch for heading levels\n instruction += ` \\\\o \"1-${this.levels}\"`;\n }\n\n // Add hyperlinks switch if enabled\n if (this.useHyperlinks) {\n instruction += ' \\\\h';\n }\n\n // Add page number switches\n if (!this.showPageNumbers) {\n instruction += ' \\\\n';\n }\n\n // Add web layout hide switch\n if (this.hideInWebLayout) {\n instruction += ' \\\\z';\n }\n\n // Add tab leader switch\n if (this.tabLeader !== 'dot') {\n const leaderMap = {\n hyphen: 'h',\n underscore: 'u',\n none: 'n',\n };\n instruction += ` \\\\p \"${leaderMap[this.tabLeader]}\"`;\n }\n\n // Add custom field switches\n if (this.fieldSwitches) {\n instruction += ` ${this.fieldSwitches}`;\n }\n\n // Add MERGEFORMAT to preserve formatting\n instruction += ' \\\\* MERGEFORMAT';\n\n return instruction;\n }\n\n /**\n * Gets the TOC field instruction string\n * Public accessor for the field instruction\n *\n * @returns The complete TOC field instruction (e.g., \"TOC \\o \"1-3\" \\h \\z\")\n */\n public getFieldInstruction(): string {\n return this.buildFieldInstruction();\n }\n\n /**\n * Generates XML for the TOC field wrapped in an SDT (Structured Document Tag)\n *\n * A TOC in Word is represented as:\n * 1. SDT wrapper with docPartGallery=\"Table of Contents\"\n * 2. SDT content containing:\n * a. A paragraph with the title (styled as TOC Heading)\n * b. A complex field (fldChar) with the TOC instruction (begin → separate → end)\n * c. Placeholder entries (updated by Word when opening)\n *\n * Per ECMA-376 Part 1 §17.16.5: All complex fields MUST have\n * begin → instrText → separate → content → end structure.\n * Missing any of these causes Word to reject the document as corrupted.\n *\n * @throws Error if field structure cannot be generated completely\n */\n toXML(): XMLElement[] {\n const sdtContent: XMLElement[] = [];\n\n // 1. Title paragraph\n if (this.title) {\n sdtContent.push({\n name: 'w:p',\n children: [\n {\n name: 'w:pPr',\n children: [\n {\n name: 'w:pStyle',\n attributes: { 'w:val': 'TOCHeading' },\n selfClosing: true,\n },\n ],\n },\n {\n name: 'w:r',\n children: [\n {\n name: 'w:t',\n children: [this.title],\n },\n ],\n },\n ],\n });\n }\n\n // 2. TOC field paragraph - CRITICAL: Must have complete begin → separate → end structure\n const tocParagraph: XMLElement = {\n name: 'w:p',\n children: [],\n };\n\n // FIELD BEGIN (required)\n tocParagraph.children!.push({\n name: 'w:r',\n children: [\n {\n name: 'w:fldChar',\n attributes: { 'w:fldCharType': 'begin' },\n selfClosing: true,\n },\n ],\n });\n\n // FIELD INSTRUCTION (required)\n // Use original field instruction if available (from loaded documents)\n // Otherwise, build instruction from properties\n const fieldInstruction = this.originalFieldInstruction || this.buildFieldInstruction();\n tocParagraph.children!.push({\n name: 'w:r',\n children: [\n {\n name: 'w:instrText',\n attributes: { 'xml:space': 'preserve' },\n children: [fieldInstruction],\n },\n ],\n });\n\n // FIELD SEPARATE (required - marks boundary between instruction and result)\n tocParagraph.children!.push({\n name: 'w:r',\n children: [\n {\n name: 'w:fldChar',\n attributes: { 'w:fldCharType': 'separate' },\n selfClosing: true,\n },\n ],\n });\n\n // FIELD CONTENT (placeholder - Word updates on open)\n tocParagraph.children!.push({\n name: 'w:r',\n children: [\n {\n name: 'w:rPr',\n children: [\n {\n name: 'w:noProof',\n selfClosing: true,\n },\n ],\n },\n {\n name: 'w:t',\n children: ['Right-click to update field.'],\n },\n ],\n });\n\n // FIELD END (CRITICAL - REQUIRED by ECMA-376 §17.16.5)\n // Missing this causes Word to treat document as corrupted\n tocParagraph.children!.push({\n name: 'w:r',\n children: [\n {\n name: 'w:fldChar',\n attributes: { 'w:fldCharType': 'end' },\n selfClosing: true,\n },\n ],\n });\n\n // Validate complete structure before adding to SDT content\n if (tocParagraph.children!.length !== 5) {\n throw new Error(\n `CRITICAL: TOC field structure incomplete. Expected 5 elements ` +\n `(begin, instruction, separate, content, end), got ${tocParagraph.children!.length}. ` +\n `This would create an invalid OpenXML document per ECMA-376 §17.16.5.`\n );\n }\n\n sdtContent.push(tocParagraph);\n\n // Wrap TOC content in SDT (Structured Document Tag) for Word native integration\n const sdtWrapper = XMLBuilder.createSDT(sdtContent, {\n docPartGallery: 'Table of Contents',\n docPartUnique: true,\n });\n\n return [sdtWrapper];\n }\n\n /**\n * Creates a standard TOC with 3 levels\n */\n static createStandard(title?: string): TableOfContents {\n return new TableOfContents({\n title: title || 'Table of Contents',\n levels: 3,\n showPageNumbers: true,\n rightAlignPageNumbers: true,\n });\n }\n\n /**\n * Creates a simple TOC with 2 levels\n */\n static createSimple(title?: string): TableOfContents {\n return new TableOfContents({\n title: title || 'Contents',\n levels: 2,\n showPageNumbers: true,\n rightAlignPageNumbers: true,\n });\n }\n\n /**\n * Creates a detailed TOC with 4 levels\n */\n static createDetailed(title?: string): TableOfContents {\n return new TableOfContents({\n title: title || 'Table of Contents',\n levels: 4,\n showPageNumbers: true,\n rightAlignPageNumbers: true,\n });\n }\n\n /**\n * Creates a hyperlinked TOC (for web documents)\n */\n static createHyperlinked(title?: string): TableOfContents {\n return new TableOfContents({\n title: title || 'Contents',\n levels: 3,\n showPageNumbers: false,\n useHyperlinks: true,\n });\n }\n\n /**\n * Creates a hyperlinked TOC without page numbers\n * Combines \\h, \\n, and \\z switches for complete page number hiding\n * @param options - TOC configuration options\n * @returns New TableOfContents instance\n */\n static createNoPageNumbers(options: Partial<TOCProperties> = {}): TableOfContents {\n return new TableOfContents({\n ...options,\n useHyperlinks: true,\n showPageNumbers: false,\n hideInWebLayout: true,\n });\n }\n\n /**\n * Creates a TOC with custom properties\n */\n static create(properties?: TOCProperties): TableOfContents {\n return new TableOfContents(properties);\n }\n\n /**\n * Sets specific styles to include in TOC (overrides levels)\n * @param styles - Array of style names (e.g., ['Heading1', 'Heading3']) or objects with styleName and level\n * @returns This TOC for chaining\n */\n setIncludeStyles(styles: string[] | { styleName: string; level: number }[]): this {\n // Convert string[] to object format for backward compatibility\n if (styles.length > 0 && typeof styles[0] === 'string') {\n this.includeStyles = (styles as string[]).map((styleName, index) => ({\n styleName,\n level: index + 1, // Default: assign sequential levels\n }));\n } else {\n this.includeStyles = styles as { styleName: string; level: number }[];\n }\n return this;\n }\n\n /**\n * Sets whether TOC entries should be numbered\n * @param numbered - Whether to number entries\n * @param format - Numbering format (decimal, roman, alpha)\n * @returns This TOC for chaining\n */\n setNumbered(numbered: boolean, format: 'decimal' | 'roman' | 'alpha' = 'decimal'): this {\n this.numbered = numbered;\n this.numberingFormat = format;\n return this;\n }\n\n /**\n * Sets whether to remove indentation from TOC entries\n * @param noIndent - Whether to remove indentation\n * @returns This TOC for chaining\n */\n setNoIndent(noIndent: boolean): this {\n this.noIndent = noIndent;\n return this;\n }\n\n /**\n * Sets custom indents for each TOC level\n * @param indents - Array of indent values in twips\n * @returns This TOC for chaining\n */\n setCustomIndents(indents: number[]): this {\n this.customIndents = indents;\n return this;\n }\n\n /**\n * Sets spacing between TOC entries\n * @param spacing - Spacing in twips\n * @returns This TOC for chaining\n */\n setSpaceBetweenEntries(spacing: number): this {\n this.spaceBetweenEntries = spacing;\n return this;\n }\n\n /**\n * Sets hyperlink color for TOC entries\n * @param color - Hex color without # (e.g., '0000FF' for blue)\n * @returns This TOC for chaining\n */\n setHyperlinkColor(color: string): this {\n this.hyperlinkColor = color;\n return this;\n }\n\n /**\n * Configures multiple properties at once\n * @param options - Partial TOC properties to apply\n * @returns This TOC for chaining\n */\n configure(options: Partial<TOCProperties>): this {\n if (options.title !== undefined) this.title = options.title;\n if (options.levels !== undefined) this.levels = options.levels;\n if (options.includeStyles !== undefined) this.includeStyles = options.includeStyles;\n if (options.showPageNumbers !== undefined) this.showPageNumbers = options.showPageNumbers;\n if (options.useHyperlinks !== undefined) this.useHyperlinks = options.useHyperlinks;\n if (options.tabLeader !== undefined) this.tabLeader = options.tabLeader;\n if (options.fieldSwitches !== undefined) this.fieldSwitches = options.fieldSwitches;\n if (options.hideInWebLayout !== undefined) this.hideInWebLayout = options.hideInWebLayout;\n if (options.numbered !== undefined) this.numbered = options.numbered;\n if (options.numberingFormat !== undefined) this.numberingFormat = options.numberingFormat;\n if (options.noIndent !== undefined) this.noIndent = options.noIndent;\n if (options.customIndents !== undefined) this.customIndents = options.customIndents;\n if (options.spaceBetweenEntries !== undefined)\n this.spaceBetweenEntries = options.spaceBetweenEntries;\n if (options.hyperlinkColor !== undefined) this.hyperlinkColor = options.hyperlinkColor;\n return this;\n }\n\n /**\n * Creates a TOC with specific styles\n * @param styles - Array of style names to include\n * @param options - Additional TOC options\n * @returns New TableOfContents instance\n */\n static createWithStyles(styles: string[], options?: Partial<TOCProperties>): TableOfContents {\n // Convert string[] to object format\n const stylesWithLevels = styles.map((styleName, index) => ({\n styleName,\n level: index + 1, // Default: assign sequential levels\n }));\n return new TableOfContents({\n ...options,\n includeStyles: stylesWithLevels,\n });\n }\n\n /**\n * Creates a flat (no indent) TOC\n * @param title - Optional TOC title\n * @param styles - Optional specific styles (default: all heading levels)\n * @returns New TableOfContents instance\n */\n static createFlat(title?: string, styles?: string[]): TableOfContents {\n // Convert string[] to object format if provided\n const stylesWithLevels = styles?.map((styleName, index) => ({\n styleName,\n level: index + 1, // Default: assign sequential levels\n }));\n return new TableOfContents({\n title: title || 'Contents',\n includeStyles: stylesWithLevels,\n noIndent: true,\n spaceBetweenEntries: 100, // Small spacing for flat TOC\n });\n }\n\n /**\n * Creates a numbered TOC\n * @param title - Optional TOC title\n * @param format - Numbering format (decimal, roman, alpha)\n * @returns New TableOfContents instance\n */\n static createNumbered(\n title?: string,\n format: 'decimal' | 'roman' | 'alpha' = 'decimal'\n ): TableOfContents {\n return new TableOfContents({\n title: title || 'Table of Contents',\n numbered: true,\n numberingFormat: format,\n });\n }\n\n /**\n * Creates a TOC with custom spacing\n * @param spaceBetweenEntries - Spacing in twips\n * @param options - Additional TOC options\n * @returns New TableOfContents instance\n */\n static createWithSpacing(\n spaceBetweenEntries: number,\n options?: Partial<TOCProperties>\n ): TableOfContents {\n return new TableOfContents({\n ...options,\n spaceBetweenEntries,\n });\n }\n\n /**\n * Creates a TOC with custom hyperlink color\n * @param color - Hex color without # (e.g., '0000FF' for blue)\n * @param options - Additional TOC options\n * @returns New TableOfContents instance\n */\n static createWithHyperlinkColor(\n color: string,\n options?: Partial<TOCProperties>\n ): TableOfContents {\n return new TableOfContents({\n ...options,\n hyperlinkColor: color,\n });\n }\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { TableOfContents } from './TableOfContents';
|
|
2
|
-
import { XMLElement } from '../xml/XMLBuilder';
|
|
1
|
+
import { TableOfContents } from './TableOfContents.js';
|
|
2
|
+
import { XMLElement } from '../xml/XMLBuilder.js';
|
|
3
3
|
export declare class TableOfContentsElement {
|
|
4
4
|
private toc;
|
|
5
5
|
constructor(toc: TableOfContents);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableOfContentsElement.d.ts","sourceRoot":"","sources":["../../src/elements/TableOfContentsElement.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"TableOfContentsElement.d.ts","sourceRoot":"","sources":["../../src/elements/TableOfContentsElement.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAKlD,qBAAa,sBAAsB;IACjC,OAAO,CAAC,GAAG,CAAkB;gBAMjB,GAAG,EAAE,eAAe;IAQhC,kBAAkB,IAAI,eAAe;IASrC,KAAK,IAAI,UAAU,EAAE;IASrB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,eAAe,GAAG,sBAAsB;IAS3D,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,sBAAsB;IAS7D,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,sBAAsB;IAS3D,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,sBAAsB;IAS7D,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,sBAAsB;CAGjE"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.TableOfContentsElement = void 0;
|
|
4
|
-
const
|
|
4
|
+
const TableOfContents_js_1 = require("./TableOfContents.js");
|
|
5
5
|
class TableOfContentsElement {
|
|
6
6
|
toc;
|
|
7
7
|
constructor(toc) {
|
|
@@ -17,16 +17,16 @@ class TableOfContentsElement {
|
|
|
17
17
|
return new TableOfContentsElement(toc);
|
|
18
18
|
}
|
|
19
19
|
static createStandard(title) {
|
|
20
|
-
return new TableOfContentsElement(
|
|
20
|
+
return new TableOfContentsElement(TableOfContents_js_1.TableOfContents.createStandard(title));
|
|
21
21
|
}
|
|
22
22
|
static createSimple(title) {
|
|
23
|
-
return new TableOfContentsElement(
|
|
23
|
+
return new TableOfContentsElement(TableOfContents_js_1.TableOfContents.createSimple(title));
|
|
24
24
|
}
|
|
25
25
|
static createDetailed(title) {
|
|
26
|
-
return new TableOfContentsElement(
|
|
26
|
+
return new TableOfContentsElement(TableOfContents_js_1.TableOfContents.createDetailed(title));
|
|
27
27
|
}
|
|
28
28
|
static createHyperlinked(title) {
|
|
29
|
-
return new TableOfContentsElement(
|
|
29
|
+
return new TableOfContentsElement(TableOfContents_js_1.TableOfContents.createHyperlinked(title));
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
exports.TableOfContentsElement = TableOfContentsElement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableOfContentsElement.js","sourceRoot":"","sources":["../../src/elements/TableOfContentsElement.ts"],"names":[],"mappings":";;;AAUA,
|
|
1
|
+
{"version":3,"file":"TableOfContentsElement.js","sourceRoot":"","sources":["../../src/elements/TableOfContentsElement.ts"],"names":[],"mappings":";;;AAUA,6DAAuD;AAMvD,MAAa,sBAAsB;IACzB,GAAG,CAAkB;IAM7B,YAAY,GAAoB;QAC9B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAMD,kBAAkB;QAChB,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAOD,KAAK;QACH,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;IAOD,MAAM,CAAC,MAAM,CAAC,GAAoB;QAChC,OAAO,IAAI,sBAAsB,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;IAOD,MAAM,CAAC,cAAc,CAAC,KAAc;QAClC,OAAO,IAAI,sBAAsB,CAAC,oCAAe,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3E,CAAC;IAOD,MAAM,CAAC,YAAY,CAAC,KAAc;QAChC,OAAO,IAAI,sBAAsB,CAAC,oCAAe,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IACzE,CAAC;IAOD,MAAM,CAAC,cAAc,CAAC,KAAc;QAClC,OAAO,IAAI,sBAAsB,CAAC,oCAAe,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3E,CAAC;IAOD,MAAM,CAAC,iBAAiB,CAAC,KAAc;QACrC,OAAO,IAAI,sBAAsB,CAAC,oCAAe,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9E,CAAC;CACF;AAxED,wDAwEC","sourcesContent":["/**\n * TableOfContentsElement - Wrapper for TableOfContents to be used as body element\n *\n * This class wraps a TableOfContents instance to make it compatible with the\n * Document body elements array (Paragraph | Table | TableOfContentsElement).\n *\n * The TableOfContents generates multiple XML elements (title + field paragraphs),\n * so this wrapper handles the XML generation properly.\n */\n\nimport { TableOfContents } from './TableOfContents.js';\nimport { XMLElement } from '../xml/XMLBuilder.js';\n\n/**\n * Represents a Table of Contents element in a document body\n */\nexport class TableOfContentsElement {\n private toc: TableOfContents;\n\n /**\n * Creates a new TableOfContentsElement\n * @param toc The TableOfContents to wrap\n */\n constructor(toc: TableOfContents) {\n this.toc = toc;\n }\n\n /**\n * Gets the wrapped TableOfContents instance\n * @returns The TableOfContents\n */\n getTableOfContents(): TableOfContents {\n return this.toc;\n }\n\n /**\n * Generates XML elements for this TOC\n * Note: Returns an array since TOC generates multiple paragraphs\n * @returns Array of XML elements (title paragraph + field paragraph)\n */\n toXML(): XMLElement[] {\n return this.toc.toXML();\n }\n\n /**\n * Creates a TableOfContentsElement from a TableOfContents\n * @param toc The TableOfContents to wrap\n * @returns New TableOfContentsElement instance\n */\n static create(toc: TableOfContents): TableOfContentsElement {\n return new TableOfContentsElement(toc);\n }\n\n /**\n * Creates a standard TableOfContentsElement\n * @param title Optional custom title (default: \"Table of Contents\")\n * @returns New TableOfContentsElement with standard TOC\n */\n static createStandard(title?: string): TableOfContentsElement {\n return new TableOfContentsElement(TableOfContents.createStandard(title));\n }\n\n /**\n * Creates a simple TableOfContentsElement (2 levels, no hyperlinks)\n * @param title Optional custom title\n * @returns New TableOfContentsElement with simple TOC\n */\n static createSimple(title?: string): TableOfContentsElement {\n return new TableOfContentsElement(TableOfContents.createSimple(title));\n }\n\n /**\n * Creates a detailed TableOfContentsElement (4 levels)\n * @param title Optional custom title\n * @returns New TableOfContentsElement with detailed TOC\n */\n static createDetailed(title?: string): TableOfContentsElement {\n return new TableOfContentsElement(TableOfContents.createDetailed(title));\n }\n\n /**\n * Creates a hyperlinked TableOfContentsElement (no page numbers)\n * @param title Optional custom title\n * @returns New TableOfContentsElement with hyperlinked TOC\n */\n static createHyperlinked(title?: string): TableOfContentsElement {\n return new TableOfContentsElement(TableOfContents.createHyperlinked(title));\n }\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { TableCell } from './TableCell';
|
|
2
|
-
import { XMLElement } from '../xml/XMLBuilder';
|
|
3
|
-
import { TableBorders } from './Table';
|
|
4
|
-
import { BasicShadingPattern, RowJustification as CommonRowJustification, ShadingConfig } from './CommonTypes';
|
|
1
|
+
import { TableCell } from './TableCell.js';
|
|
2
|
+
import { XMLElement } from '../xml/XMLBuilder.js';
|
|
3
|
+
import { TableBorders } from './Table.js';
|
|
4
|
+
import { BasicShadingPattern, RowJustification as CommonRowJustification, ShadingConfig } from './CommonTypes.js';
|
|
5
5
|
export type RowJustification = CommonRowJustification;
|
|
6
6
|
export type ShadingPattern = BasicShadingPattern;
|
|
7
7
|
export type Shading = ShadingConfig;
|
|
@@ -31,6 +31,13 @@ export interface RowFormatting {
|
|
|
31
31
|
cellSpacingType?: string;
|
|
32
32
|
cnfStyle?: string;
|
|
33
33
|
divId?: number;
|
|
34
|
+
rowInsertion?: RowTrackChange;
|
|
35
|
+
rowDeletion?: RowTrackChange;
|
|
36
|
+
}
|
|
37
|
+
export interface RowTrackChange {
|
|
38
|
+
id: string;
|
|
39
|
+
author: string;
|
|
40
|
+
date: string;
|
|
34
41
|
}
|
|
35
42
|
export interface TrPrChange {
|
|
36
43
|
author: string;
|
|
@@ -45,10 +52,14 @@ export declare class TableRow {
|
|
|
45
52
|
private trackingContext?;
|
|
46
53
|
private trPrChange?;
|
|
47
54
|
constructor(cellCount?: number, formatting?: RowFormatting);
|
|
48
|
-
_setTrackingContext(context: import('../tracking/TrackingContext').TrackingContext): void;
|
|
55
|
+
_setTrackingContext(context: import('../tracking/TrackingContext.js').TrackingContext): void;
|
|
49
56
|
getTrPrChange(): TrPrChange | undefined;
|
|
50
57
|
setTrPrChange(change: TrPrChange | undefined): void;
|
|
51
58
|
clearTrPrChange(): void;
|
|
59
|
+
getRowInsertion(): RowTrackChange | undefined;
|
|
60
|
+
setRowInsertion(change: RowTrackChange | undefined): this;
|
|
61
|
+
getRowDeletion(): RowTrackChange | undefined;
|
|
62
|
+
setRowDeletion(change: RowTrackChange | undefined): this;
|
|
52
63
|
addCell(cell: TableCell): this;
|
|
53
64
|
createCell(text?: string): TableCell;
|
|
54
65
|
getCell(index: number): TableCell | undefined;
|
|
@@ -86,8 +97,8 @@ export declare class TableRow {
|
|
|
86
97
|
getCantSplit(): boolean;
|
|
87
98
|
getJustification(): string | undefined;
|
|
88
99
|
isHidden(): boolean;
|
|
89
|
-
_setParentTable(table: import('./Table').Table | undefined): void;
|
|
90
|
-
_getParentTable(): import('./Table').Table | undefined;
|
|
100
|
+
_setParentTable(table: import('./Table.js').Table | undefined): void;
|
|
101
|
+
_getParentTable(): import('./Table.js').Table | undefined;
|
|
91
102
|
private buildTablePropertyExceptionsXML;
|
|
92
103
|
private buildBordersXML;
|
|
93
104
|
toXML(): XMLElement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableRow.d.ts","sourceRoot":"","sources":["../../src/elements/TableRow.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"TableRow.d.ts","sourceRoot":"","sources":["../../src/elements/TableRow.ts"],"names":[],"mappings":"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"}
|