docxmlater 10.4.1 → 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 +74 -67
- package/dist/core/Document.d.ts.map +1 -1
- package/dist/core/Document.js +605 -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 +2056 -1073
- 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 +461 -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 +2180 -617
- 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
|
@@ -2,17 +2,18 @@
|
|
|
2
2
|
* TableCell - Represents a cell in a table
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import { deepClone } from '../utils/deepClone';
|
|
6
|
-
import { formatDateForXml } from '../utils/dateFormatting';
|
|
7
|
-
import { XMLBuilder, XMLElement } from '../xml/XMLBuilder';
|
|
8
|
-
import { Paragraph, TextDirection } from './Paragraph';
|
|
9
|
-
import { Revision } from './Revision';
|
|
5
|
+
import { deepClone } from '../utils/deepClone.js';
|
|
6
|
+
import { formatDateForXml } from '../utils/dateFormatting.js';
|
|
7
|
+
import { XMLBuilder, XMLElement } from '../xml/XMLBuilder.js';
|
|
8
|
+
import { Paragraph, TextDirection } from './Paragraph.js';
|
|
9
|
+
import { Revision } from './Revision.js';
|
|
10
10
|
import {
|
|
11
11
|
BorderStyle as CommonBorderStyle,
|
|
12
|
+
FullBorderStyle as CommonFullBorderStyle,
|
|
12
13
|
CellVerticalAlignment as CommonCellVerticalAlignment,
|
|
13
14
|
ShadingConfig,
|
|
14
15
|
buildShadingAttributes,
|
|
15
|
-
} from './CommonTypes';
|
|
16
|
+
} from './CommonTypes.js';
|
|
16
17
|
|
|
17
18
|
// ============================================================================
|
|
18
19
|
// RE-EXPORTED TYPES (for backward compatibility)
|
|
@@ -25,11 +26,13 @@ import {
|
|
|
25
26
|
export type BorderStyle = CommonBorderStyle;
|
|
26
27
|
|
|
27
28
|
/**
|
|
28
|
-
* Cell border definition
|
|
29
|
-
*
|
|
29
|
+
* Cell border definition. `style` uses FullBorderStyle (25+ ST_Border
|
|
30
|
+
* values per ECMA-376 §17.18.2) — cell borders support the full
|
|
31
|
+
* multi-line-gap / triple / inset / outset set, not just the narrow
|
|
32
|
+
* 6-value BorderStyle subset.
|
|
30
33
|
*/
|
|
31
34
|
export interface CellBorder {
|
|
32
|
-
style?:
|
|
35
|
+
style?: CommonFullBorderStyle;
|
|
33
36
|
size?: number; // Size in eighths of a point
|
|
34
37
|
color?: string; // Hex color without #
|
|
35
38
|
}
|
|
@@ -137,11 +140,11 @@ export class TableCell {
|
|
|
137
140
|
/** Raw nested content (tables, SDTs) stored as XML for passthrough */
|
|
138
141
|
private rawNestedContent: RawNestedContent[] = [];
|
|
139
142
|
/** Parent row reference (if cell is inside a table row) */
|
|
140
|
-
private _parentRow?: import('./TableRow').TableRow;
|
|
143
|
+
private _parentRow?: import('./TableRow.js').TableRow;
|
|
141
144
|
/** Table cell revision (w:cellIns, w:cellDel, w:cellMerge) per ECMA-376 Part 1 §17.13.5.4-5.6 */
|
|
142
145
|
private cellRevision?: Revision;
|
|
143
146
|
/** Tracking context for automatic change tracking */
|
|
144
|
-
private trackingContext?: import('../tracking/TrackingContext').TrackingContext;
|
|
147
|
+
private trackingContext?: import('../tracking/TrackingContext.js').TrackingContext;
|
|
145
148
|
/** Table cell property change tracking (w:tcPrChange) */
|
|
146
149
|
private tcPrChange?: TcPrChange;
|
|
147
150
|
|
|
@@ -158,7 +161,7 @@ export class TableCell {
|
|
|
158
161
|
* Called by Document when track changes is enabled.
|
|
159
162
|
* @internal
|
|
160
163
|
*/
|
|
161
|
-
_setTrackingContext(context: import('../tracking/TrackingContext').TrackingContext): void {
|
|
164
|
+
_setTrackingContext(context: import('../tracking/TrackingContext.js').TrackingContext): void {
|
|
162
165
|
this.trackingContext = context;
|
|
163
166
|
}
|
|
164
167
|
|
|
@@ -343,8 +346,8 @@ export class TableCell {
|
|
|
343
346
|
* console.log(`Cell has ${fields.length} fields`);
|
|
344
347
|
* ```
|
|
345
348
|
*/
|
|
346
|
-
getFields(): (import('./Field').Field | import('./Field').ComplexField)[] {
|
|
347
|
-
const fields: (import('./Field').Field | import('./Field').ComplexField)[] = [];
|
|
349
|
+
getFields(): (import('./Field.js').Field | import('./Field.js').ComplexField)[] {
|
|
350
|
+
const fields: (import('./Field.js').Field | import('./Field.js').ComplexField)[] = [];
|
|
348
351
|
for (const para of this.paragraphs) {
|
|
349
352
|
fields.push(...para.getFields());
|
|
350
353
|
}
|
|
@@ -374,8 +377,8 @@ export class TableCell {
|
|
|
374
377
|
* ```
|
|
375
378
|
*/
|
|
376
379
|
findFields(
|
|
377
|
-
predicate: (field: import('./Field').Field | import('./Field').ComplexField) => boolean
|
|
378
|
-
): (import('./Field').Field | import('./Field').ComplexField)[] {
|
|
380
|
+
predicate: (field: import('./Field.js').Field | import('./Field.js').ComplexField) => boolean
|
|
381
|
+
): (import('./Field.js').Field | import('./Field.js').ComplexField)[] {
|
|
379
382
|
return this.getFields().filter(predicate);
|
|
380
383
|
}
|
|
381
384
|
|
|
@@ -822,7 +825,7 @@ export class TableCell {
|
|
|
822
825
|
* cell.setTextAlignment('center');
|
|
823
826
|
* ```
|
|
824
827
|
*/
|
|
825
|
-
setTextAlignment(alignment: import('./Paragraph').ParagraphAlignment): this {
|
|
828
|
+
setTextAlignment(alignment: import('./Paragraph.js').ParagraphAlignment): this {
|
|
826
829
|
for (const para of this.paragraphs) {
|
|
827
830
|
para.setAlignment(alignment);
|
|
828
831
|
}
|
|
@@ -1263,7 +1266,7 @@ export class TableCell {
|
|
|
1263
1266
|
* Called by TableRow when adding cells.
|
|
1264
1267
|
* @internal
|
|
1265
1268
|
*/
|
|
1266
|
-
_setParentRow(row: import('./TableRow').TableRow | undefined): void {
|
|
1269
|
+
_setParentRow(row: import('./TableRow.js').TableRow | undefined): void {
|
|
1267
1270
|
this._parentRow = row;
|
|
1268
1271
|
}
|
|
1269
1272
|
|
|
@@ -1271,7 +1274,7 @@ export class TableCell {
|
|
|
1271
1274
|
* Gets the parent row reference for this cell.
|
|
1272
1275
|
* @internal
|
|
1273
1276
|
*/
|
|
1274
|
-
_getParentRow(): import('./TableRow').TableRow | undefined {
|
|
1277
|
+
_getParentRow(): import('./TableRow.js').TableRow | undefined {
|
|
1275
1278
|
return this._parentRow;
|
|
1276
1279
|
}
|
|
1277
1280
|
|
|
@@ -1415,9 +1418,14 @@ export class TableCell {
|
|
|
1415
1418
|
}
|
|
1416
1419
|
}
|
|
1417
1420
|
|
|
1418
|
-
// noWrap
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
+
// noWrap — OnOffOnlyType (ST_OnOffOnly accepts only "on"/"off"). Emit "off" to
|
|
1422
|
+
// preserve an explicit-false override vs. style inheritance.
|
|
1423
|
+
if (this.formatting.noWrap !== undefined) {
|
|
1424
|
+
if (this.formatting.noWrap) {
|
|
1425
|
+
tcPrChildren.push(XMLBuilder.wSelf('noWrap'));
|
|
1426
|
+
} else {
|
|
1427
|
+
tcPrChildren.push(XMLBuilder.wSelf('noWrap', { 'w:val': 'off' }));
|
|
1428
|
+
}
|
|
1421
1429
|
}
|
|
1422
1430
|
|
|
1423
1431
|
// tcMar - cell margins (ordered per CT_TcMar: top, left, bottom, right)
|
|
@@ -1472,9 +1480,13 @@ export class TableCell {
|
|
|
1472
1480
|
);
|
|
1473
1481
|
}
|
|
1474
1482
|
|
|
1475
|
-
// tcFitText
|
|
1476
|
-
if (this.formatting.fitText) {
|
|
1477
|
-
|
|
1483
|
+
// tcFitText — OnOffOnlyType
|
|
1484
|
+
if (this.formatting.fitText !== undefined) {
|
|
1485
|
+
if (this.formatting.fitText) {
|
|
1486
|
+
tcPrChildren.push(XMLBuilder.wSelf('tcFitText'));
|
|
1487
|
+
} else {
|
|
1488
|
+
tcPrChildren.push(XMLBuilder.wSelf('tcFitText', { 'w:val': 'off' }));
|
|
1489
|
+
}
|
|
1478
1490
|
}
|
|
1479
1491
|
|
|
1480
1492
|
// vAlign - vertical alignment
|
|
@@ -1486,9 +1498,13 @@ export class TableCell {
|
|
|
1486
1498
|
);
|
|
1487
1499
|
}
|
|
1488
1500
|
|
|
1489
|
-
// hideMark
|
|
1490
|
-
if (this.formatting.hideMark) {
|
|
1491
|
-
|
|
1501
|
+
// hideMark — OnOffOnlyType
|
|
1502
|
+
if (this.formatting.hideMark !== undefined) {
|
|
1503
|
+
if (this.formatting.hideMark) {
|
|
1504
|
+
tcPrChildren.push(XMLBuilder.wSelf('hideMark'));
|
|
1505
|
+
} else {
|
|
1506
|
+
tcPrChildren.push(XMLBuilder.wSelf('hideMark', { 'w:val': 'off' }));
|
|
1507
|
+
}
|
|
1492
1508
|
}
|
|
1493
1509
|
|
|
1494
1510
|
// Note: w:headers (cell headers for accessibility) is defined in ECMA-376 Part 1 §17.4.26
|
|
@@ -1586,8 +1602,12 @@ export class TableCell {
|
|
|
1586
1602
|
prevTcPrChildren.push(XMLBuilder.wSelf('shd', shadingAttrs));
|
|
1587
1603
|
}
|
|
1588
1604
|
}
|
|
1589
|
-
if (prev.noWrap) {
|
|
1590
|
-
|
|
1605
|
+
if (prev.noWrap !== undefined) {
|
|
1606
|
+
if (prev.noWrap) {
|
|
1607
|
+
prevTcPrChildren.push(XMLBuilder.wSelf('noWrap'));
|
|
1608
|
+
} else {
|
|
1609
|
+
prevTcPrChildren.push(XMLBuilder.wSelf('noWrap', { 'w:val': 'off' }));
|
|
1610
|
+
}
|
|
1591
1611
|
}
|
|
1592
1612
|
if (prev.margins) {
|
|
1593
1613
|
const marginChildren: XMLElement[] = [];
|
|
@@ -1618,14 +1638,22 @@ export class TableCell {
|
|
|
1618
1638
|
if (prev.textDirection) {
|
|
1619
1639
|
prevTcPrChildren.push(XMLBuilder.wSelf('textDirection', { 'w:val': prev.textDirection }));
|
|
1620
1640
|
}
|
|
1621
|
-
if (prev.fitText) {
|
|
1622
|
-
|
|
1641
|
+
if (prev.fitText !== undefined) {
|
|
1642
|
+
if (prev.fitText) {
|
|
1643
|
+
prevTcPrChildren.push(XMLBuilder.wSelf('tcFitText'));
|
|
1644
|
+
} else {
|
|
1645
|
+
prevTcPrChildren.push(XMLBuilder.wSelf('tcFitText', { 'w:val': 'off' }));
|
|
1646
|
+
}
|
|
1623
1647
|
}
|
|
1624
1648
|
if (prev.verticalAlignment) {
|
|
1625
1649
|
prevTcPrChildren.push(XMLBuilder.wSelf('vAlign', { 'w:val': prev.verticalAlignment }));
|
|
1626
1650
|
}
|
|
1627
|
-
if (prev.hideMark) {
|
|
1628
|
-
|
|
1651
|
+
if (prev.hideMark !== undefined) {
|
|
1652
|
+
if (prev.hideMark) {
|
|
1653
|
+
prevTcPrChildren.push(XMLBuilder.wSelf('hideMark'));
|
|
1654
|
+
} else {
|
|
1655
|
+
prevTcPrChildren.push(XMLBuilder.wSelf('hideMark', { 'w:val': 'off' }));
|
|
1656
|
+
}
|
|
1629
1657
|
}
|
|
1630
1658
|
}
|
|
1631
1659
|
const prevTcPr =
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
* so this wrapper handles the XML generation properly.
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import { TableOfContents } from './TableOfContents';
|
|
12
|
-
import { XMLElement } from '../xml/XMLBuilder';
|
|
11
|
+
import { TableOfContents } from './TableOfContents.js';
|
|
12
|
+
import { XMLElement } from '../xml/XMLBuilder.js';
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* Represents a Table of Contents element in a document body
|
package/src/elements/TableRow.ts
CHANGED
|
@@ -2,16 +2,17 @@
|
|
|
2
2
|
* TableRow - Represents a row in a table
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import { deepClone } from '../utils/deepClone';
|
|
6
|
-
import { TableCell } from './TableCell';
|
|
7
|
-
import { XMLBuilder, XMLElement } from '../xml/XMLBuilder';
|
|
8
|
-
import { TableBorders } from './Table';
|
|
5
|
+
import { deepClone } from '../utils/deepClone.js';
|
|
6
|
+
import { TableCell } from './TableCell.js';
|
|
7
|
+
import { XMLBuilder, XMLElement } from '../xml/XMLBuilder.js';
|
|
8
|
+
import { TableBorders } from './Table.js';
|
|
9
9
|
import {
|
|
10
10
|
BasicShadingPattern,
|
|
11
11
|
RowJustification as CommonRowJustification,
|
|
12
12
|
ShadingConfig,
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
buildShadingAttributes,
|
|
14
|
+
} from './CommonTypes.js';
|
|
15
|
+
import { defaultLogger } from '../utils/logger.js';
|
|
15
16
|
|
|
16
17
|
// ============================================================================
|
|
17
18
|
// RE-EXPORTED TYPES (for backward compatibility)
|
|
@@ -75,6 +76,30 @@ export interface RowFormatting {
|
|
|
75
76
|
cellSpacingType?: string; // Cell spacing type (dxa, pct)
|
|
76
77
|
cnfStyle?: string; // Conditional formatting bitmask (per ECMA-376 §17.3.1.8)
|
|
77
78
|
divId?: number; // HTML div association (per ECMA-376 §17.4.9)
|
|
79
|
+
/**
|
|
80
|
+
* Tracked row insertion (w:ins inside w:trPr) — ECMA-376 §17.13.5.19.
|
|
81
|
+
* Marks the entire row as inserted as part of a tracked revision. String
|
|
82
|
+
* fields for consistency with `TrPrChange`.
|
|
83
|
+
*/
|
|
84
|
+
rowInsertion?: RowTrackChange;
|
|
85
|
+
/**
|
|
86
|
+
* Tracked row deletion (w:del inside w:trPr) — ECMA-376 §17.13.5.14.
|
|
87
|
+
* Marks the entire row as deleted as part of a tracked revision.
|
|
88
|
+
*/
|
|
89
|
+
rowDeletion?: RowTrackChange;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Track-change metadata for row-level w:ins / w:del (CT_TrackChange).
|
|
94
|
+
* Per ECMA-376 Part 1 §17.13.5: each requires author + date; id per ST_DecimalNumber.
|
|
95
|
+
*/
|
|
96
|
+
export interface RowTrackChange {
|
|
97
|
+
/** Unique revision id (ST_DecimalNumber, represented as string to match TrPrChange) */
|
|
98
|
+
id: string;
|
|
99
|
+
/** Author of the revision (required per schema) */
|
|
100
|
+
author: string;
|
|
101
|
+
/** ISO-8601 date string of the revision */
|
|
102
|
+
date: string;
|
|
78
103
|
}
|
|
79
104
|
|
|
80
105
|
/**
|
|
@@ -95,9 +120,9 @@ export class TableRow {
|
|
|
95
120
|
private cells: TableCell[] = [];
|
|
96
121
|
private formatting: RowFormatting;
|
|
97
122
|
/** Parent table reference (if row is inside a table) */
|
|
98
|
-
private _parentTable?: import('./Table').Table;
|
|
123
|
+
private _parentTable?: import('./Table.js').Table;
|
|
99
124
|
/** Tracking context for automatic change tracking */
|
|
100
|
-
private trackingContext?: import('../tracking/TrackingContext').TrackingContext;
|
|
125
|
+
private trackingContext?: import('../tracking/TrackingContext.js').TrackingContext;
|
|
101
126
|
/** Table row property change tracking (w:trPrChange) */
|
|
102
127
|
private trPrChange?: TrPrChange;
|
|
103
128
|
|
|
@@ -123,7 +148,7 @@ export class TableRow {
|
|
|
123
148
|
* Called by Document when track changes is enabled.
|
|
124
149
|
* @internal
|
|
125
150
|
*/
|
|
126
|
-
_setTrackingContext(context: import('../tracking/TrackingContext').TrackingContext): void {
|
|
151
|
+
_setTrackingContext(context: import('../tracking/TrackingContext.js').TrackingContext): void {
|
|
127
152
|
this.trackingContext = context;
|
|
128
153
|
}
|
|
129
154
|
|
|
@@ -148,6 +173,38 @@ export class TableRow {
|
|
|
148
173
|
this.trPrChange = undefined;
|
|
149
174
|
}
|
|
150
175
|
|
|
176
|
+
/**
|
|
177
|
+
* Gets tracked row-insertion metadata (w:ins inside w:trPr).
|
|
178
|
+
* Per ECMA-376 Part 1 §17.13.5.19.
|
|
179
|
+
*/
|
|
180
|
+
getRowInsertion(): RowTrackChange | undefined {
|
|
181
|
+
return this.formatting.rowInsertion;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* Sets tracked row-insertion metadata. Pass undefined to clear.
|
|
186
|
+
*/
|
|
187
|
+
setRowInsertion(change: RowTrackChange | undefined): this {
|
|
188
|
+
this.formatting.rowInsertion = change;
|
|
189
|
+
return this;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* Gets tracked row-deletion metadata (w:del inside w:trPr).
|
|
194
|
+
* Per ECMA-376 Part 1 §17.13.5.14.
|
|
195
|
+
*/
|
|
196
|
+
getRowDeletion(): RowTrackChange | undefined {
|
|
197
|
+
return this.formatting.rowDeletion;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* Sets tracked row-deletion metadata. Pass undefined to clear.
|
|
202
|
+
*/
|
|
203
|
+
setRowDeletion(change: RowTrackChange | undefined): this {
|
|
204
|
+
this.formatting.rowDeletion = change;
|
|
205
|
+
return this;
|
|
206
|
+
}
|
|
207
|
+
|
|
151
208
|
/**
|
|
152
209
|
* Adds a cell to the row
|
|
153
210
|
* @param cell - Cell to add
|
|
@@ -653,7 +710,7 @@ export class TableRow {
|
|
|
653
710
|
* Called by Table when adding rows.
|
|
654
711
|
* @internal
|
|
655
712
|
*/
|
|
656
|
-
_setParentTable(table: import('./Table').Table | undefined): void {
|
|
713
|
+
_setParentTable(table: import('./Table.js').Table | undefined): void {
|
|
657
714
|
this._parentTable = table;
|
|
658
715
|
}
|
|
659
716
|
|
|
@@ -661,7 +718,7 @@ export class TableRow {
|
|
|
661
718
|
* Gets the parent table reference for this row.
|
|
662
719
|
* @internal
|
|
663
720
|
*/
|
|
664
|
-
_getParentTable(): import('./Table').Table | undefined {
|
|
721
|
+
_getParentTable(): import('./Table.js').Table | undefined {
|
|
665
722
|
return this._parentTable;
|
|
666
723
|
}
|
|
667
724
|
|
|
@@ -683,9 +740,18 @@ export class TableRow {
|
|
|
683
740
|
);
|
|
684
741
|
}
|
|
685
742
|
|
|
686
|
-
// Add table justification exception (w:jc)
|
|
743
|
+
// Add table justification exception (w:jc). Per §17.4.29 CT_JcTable the
|
|
744
|
+
// ISO/ECMA spec allows five values (start, center, end, left, right),
|
|
745
|
+
// but the Open XML SDK's `TableJustification` class (used for jc inside
|
|
746
|
+
// tblPrEx AND trPr) only accepts Center/Left/Right via the narrower
|
|
747
|
+
// `TableRowAlignmentValues` enum. Map bidi-aware spellings down to
|
|
748
|
+
// their LTR equivalents so output passes strict validation. (Same
|
|
749
|
+
// mapping as the trPr path — see `project_sdk_rowjc_narrower_than_spec`
|
|
750
|
+
// memory and iteration 67.)
|
|
687
751
|
if (exceptions.justification) {
|
|
688
|
-
|
|
752
|
+
const jcMap: Record<string, string> = { start: 'left', end: 'right' };
|
|
753
|
+
const jcVal = jcMap[exceptions.justification] || exceptions.justification;
|
|
754
|
+
children.push(XMLBuilder.wSelf('jc', { 'w:val': jcVal }));
|
|
689
755
|
}
|
|
690
756
|
|
|
691
757
|
// Add cell spacing exception (w:tblCellSpacing)
|
|
@@ -716,21 +782,18 @@ export class TableRow {
|
|
|
716
782
|
}
|
|
717
783
|
}
|
|
718
784
|
|
|
719
|
-
// Add shading exception (w:shd)
|
|
785
|
+
// Add shading exception (w:shd). `w:val` is REQUIRED on CT_Shd per
|
|
786
|
+
// ECMA-376 §17.3.1.31 — use the shared helper so callers that set
|
|
787
|
+
// only `fill` (no `pattern`) still produce a validator-clean
|
|
788
|
+
// `<w:shd w:val="clear" w:fill="…"/>` rather than an invalid
|
|
789
|
+
// `<w:shd w:fill="…"/>` missing the required attribute.
|
|
720
790
|
if (exceptions.shading) {
|
|
721
|
-
const shdAttrs
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
if (exceptions.shading.themeFillShade)
|
|
728
|
-
shdAttrs['w:themeFillShade'] = exceptions.shading.themeFillShade;
|
|
729
|
-
if (exceptions.shading.themeFillTint)
|
|
730
|
-
shdAttrs['w:themeFillTint'] = exceptions.shading.themeFillTint;
|
|
731
|
-
if (exceptions.shading.themeShade) shdAttrs['w:themeShade'] = exceptions.shading.themeShade;
|
|
732
|
-
if (exceptions.shading.themeTint) shdAttrs['w:themeTint'] = exceptions.shading.themeTint;
|
|
733
|
-
children.push(XMLBuilder.w('shd', shdAttrs));
|
|
791
|
+
const shdAttrs = buildShadingAttributes(exceptions.shading);
|
|
792
|
+
// wSelf so the emitted shd is self-closing (matches all other shd
|
|
793
|
+
// emission in the codebase). The previous `XMLBuilder.w(...)` call
|
|
794
|
+
// produced `<w:shd>…</w:shd>` with no children — structurally ok
|
|
795
|
+
// but inconsistent with the rest of the serializer.
|
|
796
|
+
children.push(XMLBuilder.wSelf('shd', shdAttrs));
|
|
734
797
|
}
|
|
735
798
|
|
|
736
799
|
return children;
|
|
@@ -756,14 +819,29 @@ export class TableRow {
|
|
|
756
819
|
const border = borders[name];
|
|
757
820
|
if (border) {
|
|
758
821
|
const attrs: Record<string, string | number> = {};
|
|
759
|
-
|
|
822
|
+
// CT_Border §17.18.2 requires w:val (ST_Border). Default to "nil"
|
|
823
|
+
// when caller didn't specify a style — otherwise strict OOXML
|
|
824
|
+
// validation fails with "The required attribute 'val' is missing."
|
|
825
|
+
attrs['w:val'] = border.style ?? 'nil';
|
|
760
826
|
if (border.size !== undefined) attrs['w:sz'] = border.size;
|
|
761
827
|
if (border.space !== undefined) attrs['w:space'] = border.space;
|
|
762
828
|
if (border.color) attrs['w:color'] = border.color;
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
829
|
+
// Full CT_Border attribute set (§17.18.2) for themed-border fidelity
|
|
830
|
+
// on tblPrEx borders.
|
|
831
|
+
const b = border as {
|
|
832
|
+
themeColor?: string;
|
|
833
|
+
themeTint?: string;
|
|
834
|
+
themeShade?: string;
|
|
835
|
+
shadow?: boolean;
|
|
836
|
+
frame?: boolean;
|
|
837
|
+
};
|
|
838
|
+
if (b.themeColor) attrs['w:themeColor'] = b.themeColor;
|
|
839
|
+
if (b.themeTint) attrs['w:themeTint'] = b.themeTint;
|
|
840
|
+
if (b.themeShade) attrs['w:themeShade'] = b.themeShade;
|
|
841
|
+
if (b.shadow !== undefined) attrs['w:shadow'] = b.shadow ? '1' : '0';
|
|
842
|
+
if (b.frame !== undefined) attrs['w:frame'] = b.frame ? '1' : '0';
|
|
843
|
+
|
|
844
|
+
children.push(XMLBuilder.wSelf(name, attrs));
|
|
767
845
|
}
|
|
768
846
|
}
|
|
769
847
|
|
|
@@ -821,9 +899,15 @@ export class TableRow {
|
|
|
821
899
|
);
|
|
822
900
|
}
|
|
823
901
|
|
|
824
|
-
// 7. cantSplit
|
|
825
|
-
|
|
826
|
-
|
|
902
|
+
// 7. cantSplit — OnOffOnlyType (not CT_OnOff); ST_OnOffOnly only accepts "on"/"off".
|
|
903
|
+
// Emit "off" for explicit false so an override of a style-inherited cantSplit=true
|
|
904
|
+
// survives round-trip. "0"/"false" would fail OOXML schema validation here.
|
|
905
|
+
if (this.formatting.cantSplit !== undefined) {
|
|
906
|
+
if (this.formatting.cantSplit) {
|
|
907
|
+
trPrChildren.push(XMLBuilder.wSelf('cantSplit'));
|
|
908
|
+
} else {
|
|
909
|
+
trPrChildren.push(XMLBuilder.wSelf('cantSplit', { 'w:val': 'off' }));
|
|
910
|
+
}
|
|
827
911
|
}
|
|
828
912
|
|
|
829
913
|
// 8. trHeight
|
|
@@ -837,9 +921,13 @@ export class TableRow {
|
|
|
837
921
|
trPrChildren.push(XMLBuilder.wSelf('trHeight', attrs));
|
|
838
922
|
}
|
|
839
923
|
|
|
840
|
-
// 9. tblHeader
|
|
841
|
-
if (this.formatting.isHeader) {
|
|
842
|
-
|
|
924
|
+
// 9. tblHeader — OnOffOnlyType
|
|
925
|
+
if (this.formatting.isHeader !== undefined) {
|
|
926
|
+
if (this.formatting.isHeader) {
|
|
927
|
+
trPrChildren.push(XMLBuilder.wSelf('tblHeader'));
|
|
928
|
+
} else {
|
|
929
|
+
trPrChildren.push(XMLBuilder.wSelf('tblHeader', { 'w:val': 'off' }));
|
|
930
|
+
}
|
|
843
931
|
}
|
|
844
932
|
|
|
845
933
|
// 10. tblCellSpacing
|
|
@@ -852,16 +940,60 @@ export class TableRow {
|
|
|
852
940
|
);
|
|
853
941
|
}
|
|
854
942
|
|
|
855
|
-
// 11. jc
|
|
943
|
+
// 11. jc — CT_JcTable per ECMA-376 §17.4.28. The ISO/ECMA spec's
|
|
944
|
+
// ST_JcTable §17.18.45 lists five values (start, center, end, left,
|
|
945
|
+
// right), but the Open XML SDK's row-level TableRowAlignmentValues
|
|
946
|
+
// (and by extension the strict OOXML validator) accepts only three:
|
|
947
|
+
// center / left / right. We therefore map the bidi-aware spellings
|
|
948
|
+
// down to their LTR equivalents on emission. The mapping IS lossy —
|
|
949
|
+
// a row authored with `w:val="start"` in an RTL section will lose
|
|
950
|
+
// its RTL-awareness on round-trip — but emitting start/end directly
|
|
951
|
+
// fails validation. See `project_sdk_rowjc_narrower_than_spec.md`.
|
|
856
952
|
if (this.formatting.justification) {
|
|
857
953
|
const jcMap: Record<string, string> = { start: 'left', end: 'right' };
|
|
858
954
|
const jcVal = jcMap[this.formatting.justification] || this.formatting.justification;
|
|
859
955
|
trPrChildren.push(XMLBuilder.wSelf('jc', { 'w:val': jcVal }));
|
|
860
956
|
}
|
|
861
957
|
|
|
862
|
-
// 12. hidden
|
|
863
|
-
if (this.formatting.hidden) {
|
|
864
|
-
|
|
958
|
+
// 12. hidden — OnOffType (full CT_OnOff); emit "false" for explicit override
|
|
959
|
+
if (this.formatting.hidden !== undefined) {
|
|
960
|
+
if (this.formatting.hidden) {
|
|
961
|
+
trPrChildren.push(XMLBuilder.wSelf('hidden'));
|
|
962
|
+
} else {
|
|
963
|
+
trPrChildren.push(XMLBuilder.wSelf('hidden', { 'w:val': 'false' }));
|
|
964
|
+
}
|
|
965
|
+
}
|
|
966
|
+
|
|
967
|
+
// Tracked row insertion / deletion per CT_TrPr (§17.4.79):
|
|
968
|
+
// <xsd:extension base="CT_TrPrBase">
|
|
969
|
+
// <xsd:sequence>
|
|
970
|
+
// <xsd:element name="ins" type="CT_TrackChange" minOccurs="0"/>
|
|
971
|
+
// <xsd:element name="del" type="CT_TrackChange" minOccurs="0"/>
|
|
972
|
+
// <xsd:element name="trPrChange" type="CT_TrPrChange" minOccurs="0"/>
|
|
973
|
+
// </xsd:sequence>
|
|
974
|
+
// </xsd:extension>
|
|
975
|
+
// These markers must appear AFTER the CT_TrPrBase children (cnfStyle..hidden)
|
|
976
|
+
// and BEFORE w:trPrChange — they're how Word records that the entire row
|
|
977
|
+
// was inserted or deleted as a tracked revision.
|
|
978
|
+
if (this.formatting.rowInsertion) {
|
|
979
|
+
const ins = this.formatting.rowInsertion;
|
|
980
|
+
trPrChildren.push(
|
|
981
|
+
XMLBuilder.wSelf('ins', {
|
|
982
|
+
'w:id': ins.id,
|
|
983
|
+
'w:author': ins.author,
|
|
984
|
+
'w:date': ins.date,
|
|
985
|
+
})
|
|
986
|
+
);
|
|
987
|
+
}
|
|
988
|
+
if (this.formatting.rowDeletion) {
|
|
989
|
+
const del = this.formatting.rowDeletion;
|
|
990
|
+
trPrChildren.push(
|
|
991
|
+
XMLBuilder.wSelf('del', {
|
|
992
|
+
'w:id': del.id,
|
|
993
|
+
'w:author': del.author,
|
|
994
|
+
'w:date': del.date,
|
|
995
|
+
})
|
|
996
|
+
);
|
|
865
997
|
}
|
|
866
998
|
|
|
867
999
|
// Add table row property change (w:trPrChange) per ECMA-376 Part 1 §17.13.5.38
|
|
@@ -906,16 +1038,24 @@ export class TableRow {
|
|
|
906
1038
|
})
|
|
907
1039
|
);
|
|
908
1040
|
}
|
|
909
|
-
if (prev.cantSplit) {
|
|
910
|
-
|
|
1041
|
+
if (prev.cantSplit !== undefined) {
|
|
1042
|
+
if (prev.cantSplit) {
|
|
1043
|
+
prevTrPrChildren.push(XMLBuilder.wSelf('cantSplit'));
|
|
1044
|
+
} else {
|
|
1045
|
+
prevTrPrChildren.push(XMLBuilder.wSelf('cantSplit', { 'w:val': 'off' }));
|
|
1046
|
+
}
|
|
911
1047
|
}
|
|
912
1048
|
if (prev.height !== undefined) {
|
|
913
1049
|
const heightAttrs: Record<string, string | number> = { 'w:val': prev.height };
|
|
914
1050
|
if (prev.heightRule) heightAttrs['w:hRule'] = prev.heightRule;
|
|
915
1051
|
prevTrPrChildren.push(XMLBuilder.wSelf('trHeight', heightAttrs));
|
|
916
1052
|
}
|
|
917
|
-
if (prev.isHeader) {
|
|
918
|
-
|
|
1053
|
+
if (prev.isHeader !== undefined) {
|
|
1054
|
+
if (prev.isHeader) {
|
|
1055
|
+
prevTrPrChildren.push(XMLBuilder.wSelf('tblHeader'));
|
|
1056
|
+
} else {
|
|
1057
|
+
prevTrPrChildren.push(XMLBuilder.wSelf('tblHeader', { 'w:val': 'off' }));
|
|
1058
|
+
}
|
|
919
1059
|
}
|
|
920
1060
|
if (prev.cellSpacing !== undefined) {
|
|
921
1061
|
prevTrPrChildren.push(
|
|
@@ -931,8 +1071,12 @@ export class TableRow {
|
|
|
931
1071
|
XMLBuilder.wSelf('jc', { 'w:val': jcPrevMap[prev.justification] || prev.justification })
|
|
932
1072
|
);
|
|
933
1073
|
}
|
|
934
|
-
if (prev.hidden) {
|
|
935
|
-
|
|
1074
|
+
if (prev.hidden !== undefined) {
|
|
1075
|
+
if (prev.hidden) {
|
|
1076
|
+
prevTrPrChildren.push(XMLBuilder.wSelf('hidden'));
|
|
1077
|
+
} else {
|
|
1078
|
+
prevTrPrChildren.push(XMLBuilder.wSelf('hidden', { 'w:val': 'false' }));
|
|
1079
|
+
}
|
|
936
1080
|
}
|
|
937
1081
|
}
|
|
938
1082
|
const prevTrPr = XMLBuilder.w('trPr', undefined, prevTrPrChildren);
|
package/src/elements/TextBox.ts
CHANGED
|
@@ -8,17 +8,17 @@
|
|
|
8
8
|
* text boxes in Word documents use the wps:wsp element with wps:txbx content.
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import { XMLBuilder, XMLElement } from '../xml/XMLBuilder';
|
|
12
|
-
import { UNITS } from '../utils/units';
|
|
13
|
-
import { Paragraph } from './Paragraph';
|
|
11
|
+
import { XMLBuilder, XMLElement } from '../xml/XMLBuilder.js';
|
|
12
|
+
import { UNITS } from '../utils/units.js';
|
|
13
|
+
import { Paragraph } from './Paragraph.js';
|
|
14
14
|
import {
|
|
15
15
|
ImagePosition,
|
|
16
16
|
ImageAnchor,
|
|
17
17
|
PositionAnchor,
|
|
18
18
|
HorizontalAlignment,
|
|
19
19
|
VerticalAlignment,
|
|
20
|
-
} from './Image';
|
|
21
|
-
import { BorderDefinition } from './Paragraph';
|
|
20
|
+
} from './Image.js';
|
|
21
|
+
import { BorderDefinition } from './Paragraph.js';
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
24
|
* TextBox margins configuration
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
* paragraphs in the document.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import { XMLBuilder, XMLElement } from '../xml/XMLBuilder';
|
|
10
|
-
import { NumberingLevel } from './NumberingLevel';
|
|
11
|
-
import { defaultLogger } from '../utils/logger';
|
|
9
|
+
import { XMLBuilder, XMLElement } from '../xml/XMLBuilder.js';
|
|
10
|
+
import { NumberingLevel } from './NumberingLevel.js';
|
|
11
|
+
import { defaultLogger } from '../utils/logger.js';
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* Properties for creating an abstract numbering definition
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
* abstract numbering, creating separate list sequences.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import { XMLBuilder, XMLElement } from '../xml/XMLBuilder';
|
|
10
|
-
import { NumberingLevel } from './NumberingLevel';
|
|
9
|
+
import { XMLBuilder, XMLElement } from '../xml/XMLBuilder.js';
|
|
10
|
+
import { NumberingLevel } from './NumberingLevel.js';
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Properties for creating a numbering instance
|