docxmlater 10.1.3 → 10.1.5
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 +759 -754
- package/dist/constants/legacyCompatFlags.js +1 -1
- package/dist/constants/legacyCompatFlags.js.map +1 -1
- package/dist/constants/limits.js.map +1 -1
- package/dist/core/Document.d.ts +50 -50
- package/dist/core/Document.d.ts.map +1 -1
- package/dist/core/Document.js +483 -471
- package/dist/core/Document.js.map +1 -1
- package/dist/core/DocumentContent.d.ts +9 -9
- package/dist/core/DocumentContent.d.ts.map +1 -1
- package/dist/core/DocumentContent.js +1 -1
- package/dist/core/DocumentContent.js.map +1 -1
- package/dist/core/DocumentGenerator.d.ts +11 -11
- package/dist/core/DocumentGenerator.d.ts.map +1 -1
- package/dist/core/DocumentGenerator.js +251 -251
- package/dist/core/DocumentGenerator.js.map +1 -1
- package/dist/core/DocumentIdManager.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 +2123 -2155
- package/dist/core/DocumentParser.js.map +1 -1
- package/dist/core/DocumentValidator.d.ts.map +1 -1
- package/dist/core/DocumentValidator.js +2 -5
- package/dist/core/DocumentValidator.js.map +1 -1
- package/dist/core/Relationship.js.map +1 -1
- package/dist/core/RelationshipManager.d.ts.map +1 -1
- package/dist/core/RelationshipManager.js +3 -3
- package/dist/core/RelationshipManager.js.map +1 -1
- package/dist/elements/AlternateContent.js.map +1 -1
- package/dist/elements/Bookmark.d.ts.map +1 -1
- package/dist/elements/Bookmark.js +3 -1
- package/dist/elements/Bookmark.js.map +1 -1
- package/dist/elements/BookmarkManager.d.ts.map +1 -1
- package/dist/elements/BookmarkManager.js.map +1 -1
- package/dist/elements/Comment.d.ts.map +1 -1
- package/dist/elements/Comment.js +9 -6
- package/dist/elements/Comment.js.map +1 -1
- package/dist/elements/CommentManager.d.ts.map +1 -1
- package/dist/elements/CommentManager.js +18 -17
- package/dist/elements/CommentManager.js.map +1 -1
- package/dist/elements/CommonTypes.d.ts +21 -21
- package/dist/elements/CommonTypes.d.ts.map +1 -1
- package/dist/elements/CommonTypes.js +56 -56
- package/dist/elements/CommonTypes.js.map +1 -1
- package/dist/elements/CustomXml.js.map +1 -1
- package/dist/elements/Endnote.d.ts.map +1 -1
- package/dist/elements/Endnote.js +6 -6
- package/dist/elements/Endnote.js.map +1 -1
- package/dist/elements/EndnoteManager.d.ts.map +1 -1
- package/dist/elements/EndnoteManager.js +6 -7
- package/dist/elements/EndnoteManager.js.map +1 -1
- package/dist/elements/Field.d.ts.map +1 -1
- package/dist/elements/Field.js +82 -25
- package/dist/elements/Field.js.map +1 -1
- package/dist/elements/FieldHelpers.d.ts.map +1 -1
- package/dist/elements/FieldHelpers.js.map +1 -1
- package/dist/elements/FontManager.d.ts.map +1 -1
- package/dist/elements/FontManager.js +1 -1
- package/dist/elements/FontManager.js.map +1 -1
- package/dist/elements/Footer.js +2 -2
- package/dist/elements/Footer.js.map +1 -1
- package/dist/elements/Footnote.d.ts.map +1 -1
- package/dist/elements/Footnote.js +6 -6
- package/dist/elements/Footnote.js.map +1 -1
- package/dist/elements/FootnoteManager.d.ts.map +1 -1
- package/dist/elements/FootnoteManager.js +6 -7
- package/dist/elements/FootnoteManager.js.map +1 -1
- package/dist/elements/Header.js +2 -2
- package/dist/elements/Header.js.map +1 -1
- package/dist/elements/HeaderFooterManager.js.map +1 -1
- package/dist/elements/Hyperlink.d.ts +5 -3
- package/dist/elements/Hyperlink.d.ts.map +1 -1
- package/dist/elements/Hyperlink.js +134 -76
- package/dist/elements/Hyperlink.js.map +1 -1
- package/dist/elements/Image.d.ts.map +1 -1
- package/dist/elements/Image.js +238 -106
- package/dist/elements/Image.js.map +1 -1
- package/dist/elements/ImageManager.d.ts.map +1 -1
- package/dist/elements/ImageManager.js +1 -1
- package/dist/elements/ImageManager.js.map +1 -1
- package/dist/elements/ImageRun.js +1 -1
- package/dist/elements/ImageRun.js.map +1 -1
- package/dist/elements/MathElement.js.map +1 -1
- package/dist/elements/Paragraph.d.ts +24 -24
- package/dist/elements/Paragraph.d.ts.map +1 -1
- package/dist/elements/Paragraph.js +181 -188
- package/dist/elements/Paragraph.js.map +1 -1
- package/dist/elements/PreservedElement.js.map +1 -1
- package/dist/elements/PropertyChangeTypes.d.ts.map +1 -1
- package/dist/elements/PropertyChangeTypes.js +6 -6
- package/dist/elements/PropertyChangeTypes.js.map +1 -1
- package/dist/elements/RangeMarker.d.ts.map +1 -1
- package/dist/elements/RangeMarker.js.map +1 -1
- package/dist/elements/Revision.d.ts.map +1 -1
- package/dist/elements/Revision.js +4 -5
- package/dist/elements/Revision.js.map +1 -1
- package/dist/elements/RevisionContent.js.map +1 -1
- package/dist/elements/RevisionManager.d.ts.map +1 -1
- package/dist/elements/RevisionManager.js +40 -48
- package/dist/elements/RevisionManager.js.map +1 -1
- package/dist/elements/Run.d.ts +16 -16
- package/dist/elements/Run.d.ts.map +1 -1
- package/dist/elements/Run.js +256 -238
- package/dist/elements/Run.js.map +1 -1
- package/dist/elements/Section.d.ts.map +1 -1
- package/dist/elements/Section.js +36 -11
- package/dist/elements/Section.js.map +1 -1
- package/dist/elements/Shape.d.ts.map +1 -1
- package/dist/elements/Shape.js.map +1 -1
- package/dist/elements/StructuredDocumentTag.d.ts +6 -6
- package/dist/elements/StructuredDocumentTag.d.ts.map +1 -1
- package/dist/elements/StructuredDocumentTag.js +99 -104
- package/dist/elements/StructuredDocumentTag.js.map +1 -1
- package/dist/elements/Table.d.ts +11 -11
- package/dist/elements/Table.d.ts.map +1 -1
- package/dist/elements/Table.js +102 -107
- package/dist/elements/Table.js.map +1 -1
- package/dist/elements/TableCell.d.ts +10 -10
- package/dist/elements/TableCell.d.ts.map +1 -1
- package/dist/elements/TableCell.js +105 -106
- package/dist/elements/TableCell.js.map +1 -1
- package/dist/elements/TableGridChange.d.ts.map +1 -1
- package/dist/elements/TableGridChange.js.map +1 -1
- package/dist/elements/TableOfContents.d.ts.map +1 -1
- package/dist/elements/TableOfContents.js +4 -4
- package/dist/elements/TableOfContents.js.map +1 -1
- package/dist/elements/TableOfContentsElement.js.map +1 -1
- package/dist/elements/TableRow.d.ts.map +1 -1
- package/dist/elements/TableRow.js +13 -6
- package/dist/elements/TableRow.js.map +1 -1
- package/dist/elements/TextBox.d.ts.map +1 -1
- package/dist/elements/TextBox.js +3 -5
- package/dist/elements/TextBox.js.map +1 -1
- package/dist/formatting/AbstractNumbering.d.ts +4 -4
- package/dist/formatting/AbstractNumbering.d.ts.map +1 -1
- package/dist/formatting/AbstractNumbering.js +54 -49
- package/dist/formatting/AbstractNumbering.js.map +1 -1
- package/dist/formatting/NumberingInstance.d.ts.map +1 -1
- package/dist/formatting/NumberingInstance.js +1 -3
- package/dist/formatting/NumberingInstance.js.map +1 -1
- package/dist/formatting/NumberingLevel.d.ts +5 -5
- package/dist/formatting/NumberingLevel.d.ts.map +1 -1
- package/dist/formatting/NumberingLevel.js +119 -125
- package/dist/formatting/NumberingLevel.js.map +1 -1
- package/dist/formatting/NumberingManager.d.ts.map +1 -1
- package/dist/formatting/NumberingManager.js +9 -9
- package/dist/formatting/NumberingManager.js.map +1 -1
- package/dist/formatting/Style.d.ts +11 -11
- package/dist/formatting/Style.d.ts.map +1 -1
- package/dist/formatting/Style.js +219 -247
- 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 +96 -102
- 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 +6 -6
- package/dist/helpers/CleanupHelper.js.map +1 -1
- package/dist/images/ImageOptimizer.js +7 -7
- package/dist/images/ImageOptimizer.js.map +1 -1
- package/dist/index.d.ts +9 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/managers/DrawingManager.js.map +1 -1
- package/dist/tracking/DocumentTrackingContext.d.ts.map +1 -1
- package/dist/tracking/DocumentTrackingContext.js +23 -7
- package/dist/tracking/DocumentTrackingContext.js.map +1 -1
- package/dist/tracking/TrackingContext.d.ts.map +1 -1
- package/dist/tracking/TrackingContext.js.map +1 -1
- package/dist/types/compatibility-types.js.map +1 -1
- package/dist/types/formatting.js.map +1 -1
- package/dist/types/list-types.d.ts +6 -6
- package/dist/types/list-types.js.map +1 -1
- package/dist/types/settings-types.js.map +1 -1
- package/dist/types/styleConfig.d.ts +2 -2
- package/dist/types/styleConfig.js.map +1 -1
- package/dist/utils/ChangelogGenerator.d.ts.map +1 -1
- package/dist/utils/ChangelogGenerator.js +97 -101
- package/dist/utils/ChangelogGenerator.js.map +1 -1
- package/dist/utils/CompatibilityUpgrader.d.ts.map +1 -1
- package/dist/utils/CompatibilityUpgrader.js +1 -1
- package/dist/utils/CompatibilityUpgrader.js.map +1 -1
- package/dist/utils/InMemoryRevisionAcceptor.d.ts.map +1 -1
- package/dist/utils/InMemoryRevisionAcceptor.js +1 -6
- package/dist/utils/InMemoryRevisionAcceptor.js.map +1 -1
- package/dist/utils/MoveOperationHelper.d.ts.map +1 -1
- package/dist/utils/MoveOperationHelper.js +1 -1
- package/dist/utils/MoveOperationHelper.js.map +1 -1
- package/dist/utils/RevisionAwareProcessor.d.ts.map +1 -1
- package/dist/utils/RevisionAwareProcessor.js +2 -4
- package/dist/utils/RevisionAwareProcessor.js.map +1 -1
- package/dist/utils/RevisionWalker.d.ts.map +1 -1
- package/dist/utils/RevisionWalker.js +4 -12
- package/dist/utils/RevisionWalker.js.map +1 -1
- package/dist/utils/SelectiveRevisionAcceptor.d.ts.map +1 -1
- package/dist/utils/SelectiveRevisionAcceptor.js +2 -6
- package/dist/utils/SelectiveRevisionAcceptor.js.map +1 -1
- package/dist/utils/ShadingResolver.d.ts.map +1 -1
- package/dist/utils/ShadingResolver.js +1 -1
- package/dist/utils/ShadingResolver.js.map +1 -1
- package/dist/utils/acceptRevisions.d.ts.map +1 -1
- package/dist/utils/acceptRevisions.js +23 -12
- package/dist/utils/acceptRevisions.js.map +1 -1
- package/dist/utils/cnfStyleDecoder.d.ts +1 -1
- package/dist/utils/cnfStyleDecoder.d.ts.map +1 -1
- package/dist/utils/cnfStyleDecoder.js +40 -40
- package/dist/utils/cnfStyleDecoder.js.map +1 -1
- package/dist/utils/corruptionDetection.d.ts.map +1 -1
- package/dist/utils/corruptionDetection.js.map +1 -1
- package/dist/utils/dateFormatting.js.map +1 -1
- package/dist/utils/deepClone.js +1 -1
- package/dist/utils/deepClone.js.map +1 -1
- package/dist/utils/diagnostics.d.ts.map +1 -1
- package/dist/utils/diagnostics.js +1 -1
- package/dist/utils/diagnostics.js.map +1 -1
- package/dist/utils/errorHandling.js.map +1 -1
- package/dist/utils/formatting.d.ts.map +1 -1
- package/dist/utils/formatting.js +10 -2
- package/dist/utils/formatting.js.map +1 -1
- package/dist/utils/list-detection.d.ts +2 -2
- package/dist/utils/list-detection.d.ts.map +1 -1
- package/dist/utils/list-detection.js +21 -23
- package/dist/utils/list-detection.js.map +1 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +12 -7
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/parsingHelpers.js.map +1 -1
- package/dist/utils/stripTrackedChanges.d.ts.map +1 -1
- package/dist/utils/stripTrackedChanges.js +3 -3
- package/dist/utils/stripTrackedChanges.js.map +1 -1
- package/dist/utils/textDiff.d.ts +1 -1
- package/dist/utils/textDiff.js +8 -8
- package/dist/utils/textDiff.js.map +1 -1
- package/dist/utils/units.js.map +1 -1
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +24 -7
- package/dist/utils/validation.js.map +1 -1
- package/dist/utils/xmlSanitization.d.ts.map +1 -1
- package/dist/utils/xmlSanitization.js +3 -3
- package/dist/utils/xmlSanitization.js.map +1 -1
- package/dist/validation/RevisionAutoFixer.d.ts.map +1 -1
- package/dist/validation/RevisionAutoFixer.js +5 -5
- package/dist/validation/RevisionAutoFixer.js.map +1 -1
- package/dist/validation/RevisionValidator.d.ts.map +1 -1
- package/dist/validation/RevisionValidator.js +7 -9
- package/dist/validation/RevisionValidator.js.map +1 -1
- package/dist/validation/ValidationRules.js +3 -3
- package/dist/validation/ValidationRules.js.map +1 -1
- package/dist/validation/index.js.map +1 -1
- package/dist/xml/XMLBuilder.d.ts +1 -1
- package/dist/xml/XMLBuilder.d.ts.map +1 -1
- package/dist/xml/XMLBuilder.js +98 -100
- package/dist/xml/XMLBuilder.js.map +1 -1
- package/dist/xml/XMLParser.d.ts.map +1 -1
- package/dist/xml/XMLParser.js +61 -66
- package/dist/xml/XMLParser.js.map +1 -1
- package/dist/zip/ZipHandler.d.ts.map +1 -1
- package/dist/zip/ZipHandler.js.map +1 -1
- package/dist/zip/ZipReader.d.ts.map +1 -1
- package/dist/zip/ZipReader.js +1 -3
- 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 +28 -36
- package/dist/zip/ZipWriter.js.map +1 -1
- package/dist/zip/types.js +1 -1
- package/dist/zip/types.js.map +1 -1
- package/package.json +92 -92
- package/src/__tests__/helper-methods.test.ts +512 -512
- package/src/constants/legacyCompatFlags.ts +138 -138
- package/src/constants/limits.ts +50 -50
- package/src/core/Document.ts +985 -1145
- package/src/core/DocumentContent.ts +461 -467
- package/src/core/DocumentGenerator.ts +1133 -1104
- package/src/core/DocumentIdManager.ts +158 -158
- package/src/core/DocumentParser.ts +2347 -2716
- package/src/core/DocumentValidator.ts +363 -372
- package/src/core/Relationship.ts +367 -367
- package/src/core/RelationshipManager.ts +429 -428
- package/src/elements/AlternateContent.ts +42 -42
- package/src/elements/Bookmark.ts +212 -210
- package/src/elements/BookmarkManager.ts +247 -250
- package/src/elements/Comment.ts +356 -359
- package/src/elements/CommentManager.ts +499 -502
- package/src/elements/CommonTypes.ts +524 -549
- package/src/elements/CustomXml.ts +36 -36
- package/src/elements/Endnote.ts +221 -217
- package/src/elements/EndnoteManager.ts +246 -249
- package/src/elements/Field.ts +1292 -1233
- package/src/elements/FieldHelpers.ts +329 -333
- package/src/elements/FontManager.ts +336 -339
- package/src/elements/Footer.ts +269 -269
- package/src/elements/Footnote.ts +221 -217
- package/src/elements/FootnoteManager.ts +246 -249
- package/src/elements/Header.ts +269 -269
- package/src/elements/HeaderFooterManager.ts +219 -219
- package/src/elements/Hyperlink.ts +1288 -1193
- package/src/elements/Image.ts +1982 -1756
- package/src/elements/ImageManager.ts +437 -432
- package/src/elements/ImageRun.ts +59 -59
- package/src/elements/MathElement.ts +65 -65
- package/src/elements/Paragraph.ts +4347 -4287
- package/src/elements/PreservedElement.ts +53 -53
- package/src/elements/PropertyChangeTypes.ts +458 -442
- package/src/elements/RangeMarker.ts +382 -400
- package/src/elements/Revision.ts +1198 -1217
- package/src/elements/RevisionContent.ts +73 -73
- package/src/elements/RevisionManager.ts +1070 -1070
- package/src/elements/Run.ts +3103 -3073
- package/src/elements/Section.ts +1521 -1421
- package/src/elements/Shape.ts +884 -873
- package/src/elements/StructuredDocumentTag.ts +1176 -1207
- package/src/elements/Table.ts +2468 -2524
- package/src/elements/TableCell.ts +1617 -1621
- package/src/elements/TableGridChange.ts +149 -151
- package/src/elements/TableOfContents.ts +701 -691
- package/src/elements/TableOfContentsElement.ts +89 -89
- package/src/elements/TableRow.ts +960 -929
- package/src/elements/TextBox.ts +766 -768
- package/src/formatting/AbstractNumbering.ts +580 -579
- package/src/formatting/NumberingInstance.ts +295 -299
- package/src/formatting/NumberingLevel.ts +981 -1040
- package/src/formatting/NumberingManager.ts +833 -827
- package/src/formatting/Style.ts +1785 -1879
- package/src/formatting/StylesManager.ts +1090 -1130
- package/src/helpers/CleanupHelper.ts +524 -524
- package/src/images/ImageOptimizer.ts +274 -274
- package/src/index.ts +559 -554
- package/src/managers/DrawingManager.ts +319 -319
- package/src/tracking/DocumentTrackingContext.ts +687 -674
- package/src/tracking/TrackingContext.ts +175 -173
- package/src/types/compatibility-types.ts +49 -49
- package/src/types/formatting.ts +210 -210
- package/src/types/list-types.ts +14 -14
- package/src/types/settings-types.ts +59 -59
- package/src/types/styleConfig.ts +189 -189
- package/src/utils/ChangelogGenerator.ts +1583 -1581
- package/src/utils/CompatibilityUpgrader.ts +235 -237
- package/src/utils/InMemoryRevisionAcceptor.ts +691 -696
- package/src/utils/MoveOperationHelper.ts +233 -238
- package/src/utils/RevisionAwareProcessor.ts +518 -526
- package/src/utils/RevisionWalker.ts +427 -457
- package/src/utils/SelectiveRevisionAcceptor.ts +662 -683
- package/src/utils/ShadingResolver.ts +105 -107
- package/src/utils/acceptRevisions.ts +723 -714
- package/src/utils/cnfStyleDecoder.ts +212 -217
- package/src/utils/corruptionDetection.ts +346 -345
- package/src/utils/dateFormatting.ts +20 -20
- package/src/utils/deepClone.ts +77 -78
- package/src/utils/diagnostics.ts +125 -129
- package/src/utils/errorHandling.ts +80 -80
- package/src/utils/formatting.ts +220 -213
- package/src/utils/list-detection.ts +32 -42
- package/src/utils/logger.ts +412 -404
- package/src/utils/parsingHelpers.ts +190 -190
- package/src/utils/stripTrackedChanges.ts +356 -353
- package/src/utils/textDiff.ts +100 -100
- package/src/utils/units.ts +421 -421
- package/src/utils/validation.ts +553 -542
- package/src/utils/xmlSanitization.ts +179 -182
- package/src/validation/RevisionAutoFixer.ts +541 -542
- package/src/validation/RevisionValidator.ts +470 -460
- package/src/validation/ValidationRules.ts +338 -338
- package/src/validation/index.ts +30 -30
- package/src/xml/XMLBuilder.ts +857 -871
- package/src/xml/XMLParser.ts +877 -919
- package/src/zip/ZipHandler.ts +629 -637
- package/src/zip/ZipReader.ts +295 -299
- package/src/zip/ZipWriter.ts +374 -390
- package/src/zip/types.ts +116 -116
|
@@ -1,173 +1,175 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* TrackingContext - Interface for automatic change tracking
|
|
3
|
-
*
|
|
4
|
-
* When enabled via Document.enableTrackChanges(), element setter methods
|
|
5
|
-
* use this context to automatically create Revision objects for changes.
|
|
6
|
-
*
|
|
7
|
-
* @module TrackingContext
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
import type { Revision, RevisionType } from '../elements/Revision';
|
|
11
|
-
import type { RevisionManager } from '../elements/RevisionManager';
|
|
12
|
-
import type { Run } from '../elements/Run';
|
|
13
|
-
import type { Paragraph } from '../elements/Paragraph';
|
|
14
|
-
import type { Table } from '../elements/Table';
|
|
15
|
-
import type { TableRow } from '../elements/TableRow';
|
|
16
|
-
import type { TableCell } from '../elements/TableCell';
|
|
17
|
-
import type { Section } from '../elements/Section';
|
|
18
|
-
|
|
19
|
-
/** Union of element types that can be tracked */
|
|
20
|
-
export type TrackableElement =
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
*
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
*
|
|
87
|
-
* @param
|
|
88
|
-
* @param
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
*
|
|
101
|
-
* @param
|
|
102
|
-
* @param
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
*
|
|
115
|
-
* @param
|
|
116
|
-
* @param
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
*
|
|
129
|
-
* @param
|
|
130
|
-
* @param
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
*
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
*
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
*
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
*
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
*
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
1
|
+
/**
|
|
2
|
+
* TrackingContext - Interface for automatic change tracking
|
|
3
|
+
*
|
|
4
|
+
* When enabled via Document.enableTrackChanges(), element setter methods
|
|
5
|
+
* use this context to automatically create Revision objects for changes.
|
|
6
|
+
*
|
|
7
|
+
* @module TrackingContext
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import type { Revision, RevisionType } from '../elements/Revision';
|
|
11
|
+
import type { RevisionManager } from '../elements/RevisionManager';
|
|
12
|
+
import type { Run } from '../elements/Run';
|
|
13
|
+
import type { Paragraph } from '../elements/Paragraph';
|
|
14
|
+
import type { Table } from '../elements/Table';
|
|
15
|
+
import type { TableRow } from '../elements/TableRow';
|
|
16
|
+
import type { TableCell } from '../elements/TableCell';
|
|
17
|
+
import type { Section } from '../elements/Section';
|
|
18
|
+
|
|
19
|
+
/** Union of element types that can be tracked */
|
|
20
|
+
export type TrackableElement =
|
|
21
|
+
| Run
|
|
22
|
+
| Paragraph
|
|
23
|
+
| Table
|
|
24
|
+
| TableRow
|
|
25
|
+
| TableCell
|
|
26
|
+
| Section
|
|
27
|
+
| { constructor: { name: string } };
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Pending change entry before flushing to RevisionManager
|
|
31
|
+
*/
|
|
32
|
+
export interface PendingChange {
|
|
33
|
+
/** Type of revision to create */
|
|
34
|
+
type: RevisionType;
|
|
35
|
+
/** Property that changed */
|
|
36
|
+
property: string;
|
|
37
|
+
/** Value before the change */
|
|
38
|
+
previousValue: unknown;
|
|
39
|
+
/** Value after the change */
|
|
40
|
+
newValue: unknown;
|
|
41
|
+
/** Element that was modified */
|
|
42
|
+
element: TrackableElement;
|
|
43
|
+
/** When the change occurred */
|
|
44
|
+
timestamp: number;
|
|
45
|
+
/** Count for consolidated changes */
|
|
46
|
+
count?: number;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Interface for tracking changes to document elements.
|
|
51
|
+
*
|
|
52
|
+
* Elements call tracking methods when their setters are invoked.
|
|
53
|
+
* The context decides whether to create revisions based on enabled state.
|
|
54
|
+
*/
|
|
55
|
+
export interface TrackingContext {
|
|
56
|
+
/**
|
|
57
|
+
* Check if change tracking is currently enabled
|
|
58
|
+
*/
|
|
59
|
+
isEnabled(): boolean;
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Get the author name for new revisions
|
|
63
|
+
*/
|
|
64
|
+
getAuthor(): string;
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Get the RevisionManager for registering revisions
|
|
68
|
+
*/
|
|
69
|
+
getRevisionManager(): RevisionManager;
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Check if formatting changes should be tracked
|
|
73
|
+
*/
|
|
74
|
+
isTrackFormattingEnabled(): boolean;
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Track a Run property change (bold, italic, font, color, etc.)
|
|
78
|
+
* @param run - The Run that was modified
|
|
79
|
+
* @param property - Property name (e.g., 'bold', 'color')
|
|
80
|
+
* @param oldValue - Value before the change
|
|
81
|
+
* @param newValue - Value after the change
|
|
82
|
+
*/
|
|
83
|
+
trackRunPropertyChange(run: Run, property: string, oldValue: unknown, newValue: unknown): void;
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Track a Paragraph property change (alignment, spacing, etc.)
|
|
87
|
+
* @param paragraph - The Paragraph that was modified
|
|
88
|
+
* @param property - Property name (e.g., 'alignment', 'spaceBefore')
|
|
89
|
+
* @param oldValue - Value before the change
|
|
90
|
+
* @param newValue - Value after the change
|
|
91
|
+
*/
|
|
92
|
+
trackParagraphPropertyChange(
|
|
93
|
+
paragraph: TrackableElement,
|
|
94
|
+
property: string,
|
|
95
|
+
oldValue: unknown,
|
|
96
|
+
newValue: unknown
|
|
97
|
+
): void;
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Track a Hyperlink change (URL, anchor, text, formatting)
|
|
101
|
+
* @param hyperlink - The Hyperlink that was modified
|
|
102
|
+
* @param changeType - Type of change (e.g., 'url', 'text', 'formatting')
|
|
103
|
+
* @param oldValue - Value before the change
|
|
104
|
+
* @param newValue - Value after the change
|
|
105
|
+
*/
|
|
106
|
+
trackHyperlinkChange(
|
|
107
|
+
hyperlink: TrackableElement,
|
|
108
|
+
changeType: string,
|
|
109
|
+
oldValue: unknown,
|
|
110
|
+
newValue: unknown
|
|
111
|
+
): void;
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Track a Table element property change
|
|
115
|
+
* @param element - The table/row/cell that was modified
|
|
116
|
+
* @param property - Property name
|
|
117
|
+
* @param oldValue - Value before the change
|
|
118
|
+
* @param newValue - Value after the change
|
|
119
|
+
*/
|
|
120
|
+
trackTableChange(
|
|
121
|
+
element: TrackableElement,
|
|
122
|
+
property: string,
|
|
123
|
+
oldValue: unknown,
|
|
124
|
+
newValue: unknown
|
|
125
|
+
): void;
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Track a Section property change
|
|
129
|
+
* @param section - The Section that was modified
|
|
130
|
+
* @param property - Property name (e.g., 'pageSize', 'margins')
|
|
131
|
+
* @param oldValue - Value before the change
|
|
132
|
+
* @param newValue - Value after the change
|
|
133
|
+
*/
|
|
134
|
+
trackSectionChange(
|
|
135
|
+
section: TrackableElement,
|
|
136
|
+
property: string,
|
|
137
|
+
oldValue: unknown,
|
|
138
|
+
newValue: unknown
|
|
139
|
+
): void;
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Track text insertion
|
|
143
|
+
* @param element - Element containing the insertion
|
|
144
|
+
* @param text - Text that was inserted
|
|
145
|
+
*/
|
|
146
|
+
trackInsertion(element: TrackableElement, text: string): void;
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Track text deletion
|
|
150
|
+
* @param element - Element containing the deletion
|
|
151
|
+
* @param text - Text that was deleted
|
|
152
|
+
*/
|
|
153
|
+
trackDeletion(element: TrackableElement, text: string): void;
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Flush all pending changes and create Revision objects.
|
|
157
|
+
* This is called automatically before document save.
|
|
158
|
+
* @returns Array of created revisions
|
|
159
|
+
*/
|
|
160
|
+
flushPendingChanges(): Revision[];
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* Create an insertion revision (factory to avoid circular dependency in Run)
|
|
164
|
+
* @param content - Run or array of content for the insertion
|
|
165
|
+
* @param date - Optional date for the revision
|
|
166
|
+
*/
|
|
167
|
+
createInsertion(content: Run, date?: Date): Revision;
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* Create a deletion revision (factory to avoid circular dependency in Run)
|
|
171
|
+
* @param content - Run or array of content for the deletion
|
|
172
|
+
* @param date - Optional date for the revision
|
|
173
|
+
*/
|
|
174
|
+
createDeletion(content: Run, date?: Date): Revision;
|
|
175
|
+
}
|
|
@@ -1,49 +1,49 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Word compatibility mode versions.
|
|
3
|
-
*
|
|
4
|
-
* These map to Microsoft's internal version numbers used in the
|
|
5
|
-
* w:compatSetting name="compatibilityMode" value within settings.xml.
|
|
6
|
-
*
|
|
7
|
-
* Per MS-DOCX specification, the default when absent is 12 (Word 2007).
|
|
8
|
-
* See: https://learn.microsoft.com/en-us/openspecs/office_standards/ms-docx/90138c4d-eb18-4edc-aa6c-dfb799cb1d0d
|
|
9
|
-
*/
|
|
10
|
-
export enum CompatibilityMode {
|
|
11
|
-
/** Word 2003 and earlier — uses MS-DOC feature set */
|
|
12
|
-
Word2003 = 11,
|
|
13
|
-
/** Word 2007 (ECMA-376 1st edition) — DEFAULT when absent */
|
|
14
|
-
Word2007 = 12,
|
|
15
|
-
/** Word 2010 (ISO/IEC 29500 with exclusions) */
|
|
16
|
-
Word2010 = 14,
|
|
17
|
-
/** Word 2013/2016/2019/365 (full modern features) */
|
|
18
|
-
Word2013Plus = 15,
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* A single w:compatSetting entry (name/uri/val triple).
|
|
23
|
-
*
|
|
24
|
-
* These are the modern extensibility mechanism for compatibility settings,
|
|
25
|
-
* added in ECMA-376 2nd edition. They coexist with legacy boolean flags
|
|
26
|
-
* in the Transitional schema.
|
|
27
|
-
*/
|
|
28
|
-
export interface CompatSetting {
|
|
29
|
-
name: string;
|
|
30
|
-
uri: string;
|
|
31
|
-
val: string;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Parsed compatibility settings from the w:compat block in settings.xml.
|
|
36
|
-
*/
|
|
37
|
-
export interface CompatibilityInfo {
|
|
38
|
-
/** The numeric compatibility mode value (11, 12, 14, or 15) */
|
|
39
|
-
mode: CompatibilityMode;
|
|
40
|
-
|
|
41
|
-
/** Whether the document is in a legacy compatibility mode (below 15) */
|
|
42
|
-
isLegacyMode: boolean;
|
|
43
|
-
|
|
44
|
-
/** Modern w:compatSetting entries (name/uri/val triples) */
|
|
45
|
-
compatSettings: CompatSetting[];
|
|
46
|
-
|
|
47
|
-
/** Legacy boolean compat flags that are present and enabled (without w: prefix) */
|
|
48
|
-
legacyFlags: string[];
|
|
49
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Word compatibility mode versions.
|
|
3
|
+
*
|
|
4
|
+
* These map to Microsoft's internal version numbers used in the
|
|
5
|
+
* w:compatSetting name="compatibilityMode" value within settings.xml.
|
|
6
|
+
*
|
|
7
|
+
* Per MS-DOCX specification, the default when absent is 12 (Word 2007).
|
|
8
|
+
* See: https://learn.microsoft.com/en-us/openspecs/office_standards/ms-docx/90138c4d-eb18-4edc-aa6c-dfb799cb1d0d
|
|
9
|
+
*/
|
|
10
|
+
export enum CompatibilityMode {
|
|
11
|
+
/** Word 2003 and earlier — uses MS-DOC feature set */
|
|
12
|
+
Word2003 = 11,
|
|
13
|
+
/** Word 2007 (ECMA-376 1st edition) — DEFAULT when absent */
|
|
14
|
+
Word2007 = 12,
|
|
15
|
+
/** Word 2010 (ISO/IEC 29500 with exclusions) */
|
|
16
|
+
Word2010 = 14,
|
|
17
|
+
/** Word 2013/2016/2019/365 (full modern features) */
|
|
18
|
+
Word2013Plus = 15,
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* A single w:compatSetting entry (name/uri/val triple).
|
|
23
|
+
*
|
|
24
|
+
* These are the modern extensibility mechanism for compatibility settings,
|
|
25
|
+
* added in ECMA-376 2nd edition. They coexist with legacy boolean flags
|
|
26
|
+
* in the Transitional schema.
|
|
27
|
+
*/
|
|
28
|
+
export interface CompatSetting {
|
|
29
|
+
name: string;
|
|
30
|
+
uri: string;
|
|
31
|
+
val: string;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Parsed compatibility settings from the w:compat block in settings.xml.
|
|
36
|
+
*/
|
|
37
|
+
export interface CompatibilityInfo {
|
|
38
|
+
/** The numeric compatibility mode value (11, 12, 14, or 15) */
|
|
39
|
+
mode: CompatibilityMode;
|
|
40
|
+
|
|
41
|
+
/** Whether the document is in a legacy compatibility mode (below 15) */
|
|
42
|
+
isLegacyMode: boolean;
|
|
43
|
+
|
|
44
|
+
/** Modern w:compatSetting entries (name/uri/val triples) */
|
|
45
|
+
compatSettings: CompatSetting[];
|
|
46
|
+
|
|
47
|
+
/** Legacy boolean compat flags that are present and enabled (without w: prefix) */
|
|
48
|
+
legacyFlags: string[];
|
|
49
|
+
}
|