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.
Files changed (371) hide show
  1. package/README.md +759 -754
  2. package/dist/constants/legacyCompatFlags.js +1 -1
  3. package/dist/constants/legacyCompatFlags.js.map +1 -1
  4. package/dist/constants/limits.js.map +1 -1
  5. package/dist/core/Document.d.ts +50 -50
  6. package/dist/core/Document.d.ts.map +1 -1
  7. package/dist/core/Document.js +483 -471
  8. package/dist/core/Document.js.map +1 -1
  9. package/dist/core/DocumentContent.d.ts +9 -9
  10. package/dist/core/DocumentContent.d.ts.map +1 -1
  11. package/dist/core/DocumentContent.js +1 -1
  12. package/dist/core/DocumentContent.js.map +1 -1
  13. package/dist/core/DocumentGenerator.d.ts +11 -11
  14. package/dist/core/DocumentGenerator.d.ts.map +1 -1
  15. package/dist/core/DocumentGenerator.js +251 -251
  16. package/dist/core/DocumentGenerator.js.map +1 -1
  17. package/dist/core/DocumentIdManager.js.map +1 -1
  18. package/dist/core/DocumentParser.d.ts +15 -15
  19. package/dist/core/DocumentParser.d.ts.map +1 -1
  20. package/dist/core/DocumentParser.js +2123 -2155
  21. package/dist/core/DocumentParser.js.map +1 -1
  22. package/dist/core/DocumentValidator.d.ts.map +1 -1
  23. package/dist/core/DocumentValidator.js +2 -5
  24. package/dist/core/DocumentValidator.js.map +1 -1
  25. package/dist/core/Relationship.js.map +1 -1
  26. package/dist/core/RelationshipManager.d.ts.map +1 -1
  27. package/dist/core/RelationshipManager.js +3 -3
  28. package/dist/core/RelationshipManager.js.map +1 -1
  29. package/dist/elements/AlternateContent.js.map +1 -1
  30. package/dist/elements/Bookmark.d.ts.map +1 -1
  31. package/dist/elements/Bookmark.js +3 -1
  32. package/dist/elements/Bookmark.js.map +1 -1
  33. package/dist/elements/BookmarkManager.d.ts.map +1 -1
  34. package/dist/elements/BookmarkManager.js.map +1 -1
  35. package/dist/elements/Comment.d.ts.map +1 -1
  36. package/dist/elements/Comment.js +9 -6
  37. package/dist/elements/Comment.js.map +1 -1
  38. package/dist/elements/CommentManager.d.ts.map +1 -1
  39. package/dist/elements/CommentManager.js +18 -17
  40. package/dist/elements/CommentManager.js.map +1 -1
  41. package/dist/elements/CommonTypes.d.ts +21 -21
  42. package/dist/elements/CommonTypes.d.ts.map +1 -1
  43. package/dist/elements/CommonTypes.js +56 -56
  44. package/dist/elements/CommonTypes.js.map +1 -1
  45. package/dist/elements/CustomXml.js.map +1 -1
  46. package/dist/elements/Endnote.d.ts.map +1 -1
  47. package/dist/elements/Endnote.js +6 -6
  48. package/dist/elements/Endnote.js.map +1 -1
  49. package/dist/elements/EndnoteManager.d.ts.map +1 -1
  50. package/dist/elements/EndnoteManager.js +6 -7
  51. package/dist/elements/EndnoteManager.js.map +1 -1
  52. package/dist/elements/Field.d.ts.map +1 -1
  53. package/dist/elements/Field.js +82 -25
  54. package/dist/elements/Field.js.map +1 -1
  55. package/dist/elements/FieldHelpers.d.ts.map +1 -1
  56. package/dist/elements/FieldHelpers.js.map +1 -1
  57. package/dist/elements/FontManager.d.ts.map +1 -1
  58. package/dist/elements/FontManager.js +1 -1
  59. package/dist/elements/FontManager.js.map +1 -1
  60. package/dist/elements/Footer.js +2 -2
  61. package/dist/elements/Footer.js.map +1 -1
  62. package/dist/elements/Footnote.d.ts.map +1 -1
  63. package/dist/elements/Footnote.js +6 -6
  64. package/dist/elements/Footnote.js.map +1 -1
  65. package/dist/elements/FootnoteManager.d.ts.map +1 -1
  66. package/dist/elements/FootnoteManager.js +6 -7
  67. package/dist/elements/FootnoteManager.js.map +1 -1
  68. package/dist/elements/Header.js +2 -2
  69. package/dist/elements/Header.js.map +1 -1
  70. package/dist/elements/HeaderFooterManager.js.map +1 -1
  71. package/dist/elements/Hyperlink.d.ts +5 -3
  72. package/dist/elements/Hyperlink.d.ts.map +1 -1
  73. package/dist/elements/Hyperlink.js +134 -76
  74. package/dist/elements/Hyperlink.js.map +1 -1
  75. package/dist/elements/Image.d.ts.map +1 -1
  76. package/dist/elements/Image.js +238 -106
  77. package/dist/elements/Image.js.map +1 -1
  78. package/dist/elements/ImageManager.d.ts.map +1 -1
  79. package/dist/elements/ImageManager.js +1 -1
  80. package/dist/elements/ImageManager.js.map +1 -1
  81. package/dist/elements/ImageRun.js +1 -1
  82. package/dist/elements/ImageRun.js.map +1 -1
  83. package/dist/elements/MathElement.js.map +1 -1
  84. package/dist/elements/Paragraph.d.ts +24 -24
  85. package/dist/elements/Paragraph.d.ts.map +1 -1
  86. package/dist/elements/Paragraph.js +181 -188
  87. package/dist/elements/Paragraph.js.map +1 -1
  88. package/dist/elements/PreservedElement.js.map +1 -1
  89. package/dist/elements/PropertyChangeTypes.d.ts.map +1 -1
  90. package/dist/elements/PropertyChangeTypes.js +6 -6
  91. package/dist/elements/PropertyChangeTypes.js.map +1 -1
  92. package/dist/elements/RangeMarker.d.ts.map +1 -1
  93. package/dist/elements/RangeMarker.js.map +1 -1
  94. package/dist/elements/Revision.d.ts.map +1 -1
  95. package/dist/elements/Revision.js +4 -5
  96. package/dist/elements/Revision.js.map +1 -1
  97. package/dist/elements/RevisionContent.js.map +1 -1
  98. package/dist/elements/RevisionManager.d.ts.map +1 -1
  99. package/dist/elements/RevisionManager.js +40 -48
  100. package/dist/elements/RevisionManager.js.map +1 -1
  101. package/dist/elements/Run.d.ts +16 -16
  102. package/dist/elements/Run.d.ts.map +1 -1
  103. package/dist/elements/Run.js +256 -238
  104. package/dist/elements/Run.js.map +1 -1
  105. package/dist/elements/Section.d.ts.map +1 -1
  106. package/dist/elements/Section.js +36 -11
  107. package/dist/elements/Section.js.map +1 -1
  108. package/dist/elements/Shape.d.ts.map +1 -1
  109. package/dist/elements/Shape.js.map +1 -1
  110. package/dist/elements/StructuredDocumentTag.d.ts +6 -6
  111. package/dist/elements/StructuredDocumentTag.d.ts.map +1 -1
  112. package/dist/elements/StructuredDocumentTag.js +99 -104
  113. package/dist/elements/StructuredDocumentTag.js.map +1 -1
  114. package/dist/elements/Table.d.ts +11 -11
  115. package/dist/elements/Table.d.ts.map +1 -1
  116. package/dist/elements/Table.js +102 -107
  117. package/dist/elements/Table.js.map +1 -1
  118. package/dist/elements/TableCell.d.ts +10 -10
  119. package/dist/elements/TableCell.d.ts.map +1 -1
  120. package/dist/elements/TableCell.js +105 -106
  121. package/dist/elements/TableCell.js.map +1 -1
  122. package/dist/elements/TableGridChange.d.ts.map +1 -1
  123. package/dist/elements/TableGridChange.js.map +1 -1
  124. package/dist/elements/TableOfContents.d.ts.map +1 -1
  125. package/dist/elements/TableOfContents.js +4 -4
  126. package/dist/elements/TableOfContents.js.map +1 -1
  127. package/dist/elements/TableOfContentsElement.js.map +1 -1
  128. package/dist/elements/TableRow.d.ts.map +1 -1
  129. package/dist/elements/TableRow.js +13 -6
  130. package/dist/elements/TableRow.js.map +1 -1
  131. package/dist/elements/TextBox.d.ts.map +1 -1
  132. package/dist/elements/TextBox.js +3 -5
  133. package/dist/elements/TextBox.js.map +1 -1
  134. package/dist/formatting/AbstractNumbering.d.ts +4 -4
  135. package/dist/formatting/AbstractNumbering.d.ts.map +1 -1
  136. package/dist/formatting/AbstractNumbering.js +54 -49
  137. package/dist/formatting/AbstractNumbering.js.map +1 -1
  138. package/dist/formatting/NumberingInstance.d.ts.map +1 -1
  139. package/dist/formatting/NumberingInstance.js +1 -3
  140. package/dist/formatting/NumberingInstance.js.map +1 -1
  141. package/dist/formatting/NumberingLevel.d.ts +5 -5
  142. package/dist/formatting/NumberingLevel.d.ts.map +1 -1
  143. package/dist/formatting/NumberingLevel.js +119 -125
  144. package/dist/formatting/NumberingLevel.js.map +1 -1
  145. package/dist/formatting/NumberingManager.d.ts.map +1 -1
  146. package/dist/formatting/NumberingManager.js +9 -9
  147. package/dist/formatting/NumberingManager.js.map +1 -1
  148. package/dist/formatting/Style.d.ts +11 -11
  149. package/dist/formatting/Style.d.ts.map +1 -1
  150. package/dist/formatting/Style.js +219 -247
  151. package/dist/formatting/Style.js.map +1 -1
  152. package/dist/formatting/StylesManager.d.ts +2 -2
  153. package/dist/formatting/StylesManager.d.ts.map +1 -1
  154. package/dist/formatting/StylesManager.js +96 -102
  155. package/dist/formatting/StylesManager.js.map +1 -1
  156. package/dist/helpers/CleanupHelper.d.ts +1 -1
  157. package/dist/helpers/CleanupHelper.d.ts.map +1 -1
  158. package/dist/helpers/CleanupHelper.js +6 -6
  159. package/dist/helpers/CleanupHelper.js.map +1 -1
  160. package/dist/images/ImageOptimizer.js +7 -7
  161. package/dist/images/ImageOptimizer.js.map +1 -1
  162. package/dist/index.d.ts +9 -9
  163. package/dist/index.d.ts.map +1 -1
  164. package/dist/index.js.map +1 -1
  165. package/dist/managers/DrawingManager.js.map +1 -1
  166. package/dist/tracking/DocumentTrackingContext.d.ts.map +1 -1
  167. package/dist/tracking/DocumentTrackingContext.js +23 -7
  168. package/dist/tracking/DocumentTrackingContext.js.map +1 -1
  169. package/dist/tracking/TrackingContext.d.ts.map +1 -1
  170. package/dist/tracking/TrackingContext.js.map +1 -1
  171. package/dist/types/compatibility-types.js.map +1 -1
  172. package/dist/types/formatting.js.map +1 -1
  173. package/dist/types/list-types.d.ts +6 -6
  174. package/dist/types/list-types.js.map +1 -1
  175. package/dist/types/settings-types.js.map +1 -1
  176. package/dist/types/styleConfig.d.ts +2 -2
  177. package/dist/types/styleConfig.js.map +1 -1
  178. package/dist/utils/ChangelogGenerator.d.ts.map +1 -1
  179. package/dist/utils/ChangelogGenerator.js +97 -101
  180. package/dist/utils/ChangelogGenerator.js.map +1 -1
  181. package/dist/utils/CompatibilityUpgrader.d.ts.map +1 -1
  182. package/dist/utils/CompatibilityUpgrader.js +1 -1
  183. package/dist/utils/CompatibilityUpgrader.js.map +1 -1
  184. package/dist/utils/InMemoryRevisionAcceptor.d.ts.map +1 -1
  185. package/dist/utils/InMemoryRevisionAcceptor.js +1 -6
  186. package/dist/utils/InMemoryRevisionAcceptor.js.map +1 -1
  187. package/dist/utils/MoveOperationHelper.d.ts.map +1 -1
  188. package/dist/utils/MoveOperationHelper.js +1 -1
  189. package/dist/utils/MoveOperationHelper.js.map +1 -1
  190. package/dist/utils/RevisionAwareProcessor.d.ts.map +1 -1
  191. package/dist/utils/RevisionAwareProcessor.js +2 -4
  192. package/dist/utils/RevisionAwareProcessor.js.map +1 -1
  193. package/dist/utils/RevisionWalker.d.ts.map +1 -1
  194. package/dist/utils/RevisionWalker.js +4 -12
  195. package/dist/utils/RevisionWalker.js.map +1 -1
  196. package/dist/utils/SelectiveRevisionAcceptor.d.ts.map +1 -1
  197. package/dist/utils/SelectiveRevisionAcceptor.js +2 -6
  198. package/dist/utils/SelectiveRevisionAcceptor.js.map +1 -1
  199. package/dist/utils/ShadingResolver.d.ts.map +1 -1
  200. package/dist/utils/ShadingResolver.js +1 -1
  201. package/dist/utils/ShadingResolver.js.map +1 -1
  202. package/dist/utils/acceptRevisions.d.ts.map +1 -1
  203. package/dist/utils/acceptRevisions.js +23 -12
  204. package/dist/utils/acceptRevisions.js.map +1 -1
  205. package/dist/utils/cnfStyleDecoder.d.ts +1 -1
  206. package/dist/utils/cnfStyleDecoder.d.ts.map +1 -1
  207. package/dist/utils/cnfStyleDecoder.js +40 -40
  208. package/dist/utils/cnfStyleDecoder.js.map +1 -1
  209. package/dist/utils/corruptionDetection.d.ts.map +1 -1
  210. package/dist/utils/corruptionDetection.js.map +1 -1
  211. package/dist/utils/dateFormatting.js.map +1 -1
  212. package/dist/utils/deepClone.js +1 -1
  213. package/dist/utils/deepClone.js.map +1 -1
  214. package/dist/utils/diagnostics.d.ts.map +1 -1
  215. package/dist/utils/diagnostics.js +1 -1
  216. package/dist/utils/diagnostics.js.map +1 -1
  217. package/dist/utils/errorHandling.js.map +1 -1
  218. package/dist/utils/formatting.d.ts.map +1 -1
  219. package/dist/utils/formatting.js +10 -2
  220. package/dist/utils/formatting.js.map +1 -1
  221. package/dist/utils/list-detection.d.ts +2 -2
  222. package/dist/utils/list-detection.d.ts.map +1 -1
  223. package/dist/utils/list-detection.js +21 -23
  224. package/dist/utils/list-detection.js.map +1 -1
  225. package/dist/utils/logger.d.ts.map +1 -1
  226. package/dist/utils/logger.js +12 -7
  227. package/dist/utils/logger.js.map +1 -1
  228. package/dist/utils/parsingHelpers.js.map +1 -1
  229. package/dist/utils/stripTrackedChanges.d.ts.map +1 -1
  230. package/dist/utils/stripTrackedChanges.js +3 -3
  231. package/dist/utils/stripTrackedChanges.js.map +1 -1
  232. package/dist/utils/textDiff.d.ts +1 -1
  233. package/dist/utils/textDiff.js +8 -8
  234. package/dist/utils/textDiff.js.map +1 -1
  235. package/dist/utils/units.js.map +1 -1
  236. package/dist/utils/validation.d.ts.map +1 -1
  237. package/dist/utils/validation.js +24 -7
  238. package/dist/utils/validation.js.map +1 -1
  239. package/dist/utils/xmlSanitization.d.ts.map +1 -1
  240. package/dist/utils/xmlSanitization.js +3 -3
  241. package/dist/utils/xmlSanitization.js.map +1 -1
  242. package/dist/validation/RevisionAutoFixer.d.ts.map +1 -1
  243. package/dist/validation/RevisionAutoFixer.js +5 -5
  244. package/dist/validation/RevisionAutoFixer.js.map +1 -1
  245. package/dist/validation/RevisionValidator.d.ts.map +1 -1
  246. package/dist/validation/RevisionValidator.js +7 -9
  247. package/dist/validation/RevisionValidator.js.map +1 -1
  248. package/dist/validation/ValidationRules.js +3 -3
  249. package/dist/validation/ValidationRules.js.map +1 -1
  250. package/dist/validation/index.js.map +1 -1
  251. package/dist/xml/XMLBuilder.d.ts +1 -1
  252. package/dist/xml/XMLBuilder.d.ts.map +1 -1
  253. package/dist/xml/XMLBuilder.js +98 -100
  254. package/dist/xml/XMLBuilder.js.map +1 -1
  255. package/dist/xml/XMLParser.d.ts.map +1 -1
  256. package/dist/xml/XMLParser.js +61 -66
  257. package/dist/xml/XMLParser.js.map +1 -1
  258. package/dist/zip/ZipHandler.d.ts.map +1 -1
  259. package/dist/zip/ZipHandler.js.map +1 -1
  260. package/dist/zip/ZipReader.d.ts.map +1 -1
  261. package/dist/zip/ZipReader.js +1 -3
  262. package/dist/zip/ZipReader.js.map +1 -1
  263. package/dist/zip/ZipWriter.d.ts +1 -1
  264. package/dist/zip/ZipWriter.d.ts.map +1 -1
  265. package/dist/zip/ZipWriter.js +28 -36
  266. package/dist/zip/ZipWriter.js.map +1 -1
  267. package/dist/zip/types.js +1 -1
  268. package/dist/zip/types.js.map +1 -1
  269. package/package.json +92 -92
  270. package/src/__tests__/helper-methods.test.ts +512 -512
  271. package/src/constants/legacyCompatFlags.ts +138 -138
  272. package/src/constants/limits.ts +50 -50
  273. package/src/core/Document.ts +985 -1145
  274. package/src/core/DocumentContent.ts +461 -467
  275. package/src/core/DocumentGenerator.ts +1133 -1104
  276. package/src/core/DocumentIdManager.ts +158 -158
  277. package/src/core/DocumentParser.ts +2347 -2716
  278. package/src/core/DocumentValidator.ts +363 -372
  279. package/src/core/Relationship.ts +367 -367
  280. package/src/core/RelationshipManager.ts +429 -428
  281. package/src/elements/AlternateContent.ts +42 -42
  282. package/src/elements/Bookmark.ts +212 -210
  283. package/src/elements/BookmarkManager.ts +247 -250
  284. package/src/elements/Comment.ts +356 -359
  285. package/src/elements/CommentManager.ts +499 -502
  286. package/src/elements/CommonTypes.ts +524 -549
  287. package/src/elements/CustomXml.ts +36 -36
  288. package/src/elements/Endnote.ts +221 -217
  289. package/src/elements/EndnoteManager.ts +246 -249
  290. package/src/elements/Field.ts +1292 -1233
  291. package/src/elements/FieldHelpers.ts +329 -333
  292. package/src/elements/FontManager.ts +336 -339
  293. package/src/elements/Footer.ts +269 -269
  294. package/src/elements/Footnote.ts +221 -217
  295. package/src/elements/FootnoteManager.ts +246 -249
  296. package/src/elements/Header.ts +269 -269
  297. package/src/elements/HeaderFooterManager.ts +219 -219
  298. package/src/elements/Hyperlink.ts +1288 -1193
  299. package/src/elements/Image.ts +1982 -1756
  300. package/src/elements/ImageManager.ts +437 -432
  301. package/src/elements/ImageRun.ts +59 -59
  302. package/src/elements/MathElement.ts +65 -65
  303. package/src/elements/Paragraph.ts +4347 -4287
  304. package/src/elements/PreservedElement.ts +53 -53
  305. package/src/elements/PropertyChangeTypes.ts +458 -442
  306. package/src/elements/RangeMarker.ts +382 -400
  307. package/src/elements/Revision.ts +1198 -1217
  308. package/src/elements/RevisionContent.ts +73 -73
  309. package/src/elements/RevisionManager.ts +1070 -1070
  310. package/src/elements/Run.ts +3103 -3073
  311. package/src/elements/Section.ts +1521 -1421
  312. package/src/elements/Shape.ts +884 -873
  313. package/src/elements/StructuredDocumentTag.ts +1176 -1207
  314. package/src/elements/Table.ts +2468 -2524
  315. package/src/elements/TableCell.ts +1617 -1621
  316. package/src/elements/TableGridChange.ts +149 -151
  317. package/src/elements/TableOfContents.ts +701 -691
  318. package/src/elements/TableOfContentsElement.ts +89 -89
  319. package/src/elements/TableRow.ts +960 -929
  320. package/src/elements/TextBox.ts +766 -768
  321. package/src/formatting/AbstractNumbering.ts +580 -579
  322. package/src/formatting/NumberingInstance.ts +295 -299
  323. package/src/formatting/NumberingLevel.ts +981 -1040
  324. package/src/formatting/NumberingManager.ts +833 -827
  325. package/src/formatting/Style.ts +1785 -1879
  326. package/src/formatting/StylesManager.ts +1090 -1130
  327. package/src/helpers/CleanupHelper.ts +524 -524
  328. package/src/images/ImageOptimizer.ts +274 -274
  329. package/src/index.ts +559 -554
  330. package/src/managers/DrawingManager.ts +319 -319
  331. package/src/tracking/DocumentTrackingContext.ts +687 -674
  332. package/src/tracking/TrackingContext.ts +175 -173
  333. package/src/types/compatibility-types.ts +49 -49
  334. package/src/types/formatting.ts +210 -210
  335. package/src/types/list-types.ts +14 -14
  336. package/src/types/settings-types.ts +59 -59
  337. package/src/types/styleConfig.ts +189 -189
  338. package/src/utils/ChangelogGenerator.ts +1583 -1581
  339. package/src/utils/CompatibilityUpgrader.ts +235 -237
  340. package/src/utils/InMemoryRevisionAcceptor.ts +691 -696
  341. package/src/utils/MoveOperationHelper.ts +233 -238
  342. package/src/utils/RevisionAwareProcessor.ts +518 -526
  343. package/src/utils/RevisionWalker.ts +427 -457
  344. package/src/utils/SelectiveRevisionAcceptor.ts +662 -683
  345. package/src/utils/ShadingResolver.ts +105 -107
  346. package/src/utils/acceptRevisions.ts +723 -714
  347. package/src/utils/cnfStyleDecoder.ts +212 -217
  348. package/src/utils/corruptionDetection.ts +346 -345
  349. package/src/utils/dateFormatting.ts +20 -20
  350. package/src/utils/deepClone.ts +77 -78
  351. package/src/utils/diagnostics.ts +125 -129
  352. package/src/utils/errorHandling.ts +80 -80
  353. package/src/utils/formatting.ts +220 -213
  354. package/src/utils/list-detection.ts +32 -42
  355. package/src/utils/logger.ts +412 -404
  356. package/src/utils/parsingHelpers.ts +190 -190
  357. package/src/utils/stripTrackedChanges.ts +356 -353
  358. package/src/utils/textDiff.ts +100 -100
  359. package/src/utils/units.ts +421 -421
  360. package/src/utils/validation.ts +553 -542
  361. package/src/utils/xmlSanitization.ts +179 -182
  362. package/src/validation/RevisionAutoFixer.ts +541 -542
  363. package/src/validation/RevisionValidator.ts +470 -460
  364. package/src/validation/ValidationRules.ts +338 -338
  365. package/src/validation/index.ts +30 -30
  366. package/src/xml/XMLBuilder.ts +857 -871
  367. package/src/xml/XMLParser.ts +877 -919
  368. package/src/zip/ZipHandler.ts +629 -637
  369. package/src/zip/ZipReader.ts +295 -299
  370. package/src/zip/ZipWriter.ts +374 -390
  371. package/src/zip/types.ts +116 -116
@@ -1,189 +1,189 @@
1
- /**
2
- * Configuration interfaces for customizable style formatting
3
- * Used by Document.applyCustomFormattingToExistingStyles()
4
- */
5
-
6
- /**
7
- * Run (character) formatting configuration for styles
8
- */
9
- export interface StyleRunFormatting {
10
- /** Font family name (e.g., 'Verdana', 'Arial', 'Times New Roman') */
11
- font?: string;
12
-
13
- /** Font size in points (e.g., 12, 14, 18) */
14
- size?: number;
15
-
16
- /** Whether text should be bold */
17
- bold?: boolean;
18
-
19
- /** Whether text should be italic */
20
- italic?: boolean;
21
-
22
- /** Whether text should be underlined */
23
- underline?: boolean;
24
-
25
- /** Text color as hex without # (e.g., '000000', 'FF0000') */
26
- color?: string;
27
-
28
- /** If true, preserve existing bold formatting (don't apply bold property) */
29
- preserveBold?: boolean;
30
-
31
- /** If true, preserve existing italic formatting (don't apply italic property) */
32
- preserveItalic?: boolean;
33
-
34
- /** If true, preserve existing underline formatting (don't apply underline property) */
35
- preserveUnderline?: boolean;
36
- }
37
-
38
- /**
39
- * Paragraph formatting configuration for styles
40
- */
41
- export interface StyleParagraphFormatting {
42
- /** Text alignment */
43
- alignment?: "left" | "center" | "right" | "justify";
44
-
45
- /** Spacing configuration */
46
- spacing?: {
47
- /** Spacing before paragraph in twips (20 twips = 1 point) */
48
- before?: number;
49
-
50
- /** Spacing after paragraph in twips (20 twips = 1 point) */
51
- after?: number;
52
-
53
- /** Line spacing in twips (240 = single spacing when lineRule is 'auto') */
54
- line?: number;
55
-
56
- /** How to interpret the line spacing value */
57
- lineRule?: "auto" | "exact" | "atLeast";
58
- };
59
-
60
- /** Indentation configuration */
61
- indentation?: {
62
- /** Left indent in twips (1440 twips = 1 inch) */
63
- left?: number;
64
-
65
- /** Right indent in twips */
66
- right?: number;
67
-
68
- /** First line indent in twips (positive = indent, negative = outdent) */
69
- firstLine?: number;
70
-
71
- /** Hanging indent in twips (typically used for lists) */
72
- hanging?: number;
73
- };
74
-
75
- /**
76
- * Whether to remove spacing between consecutive paragraphs of the same style
77
- * Per ECMA-376 Part 1 §17.3.1.8
78
- */
79
- contextualSpacing?: boolean;
80
- }
81
-
82
- /**
83
- * Table appearance options for Heading2 wrapping
84
- * Heading2 paragraphs are always wrapped in 1x1 tables with these settings
85
- */
86
- export interface Heading2TableOptions {
87
- /** Cell background color as hex without # (e.g., 'BFBFBF' for gray) */
88
- shading?: string;
89
-
90
- /** Top cell margin in twips */
91
- marginTop?: number;
92
-
93
- /** Bottom cell margin in twips */
94
- marginBottom?: number;
95
-
96
- /** Left cell margin in twips (115 twips = 0.08 inches) */
97
- marginLeft?: number;
98
-
99
- /** Right cell margin in twips (115 twips = 0.08 inches) */
100
- marginRight?: number;
101
-
102
- /** Table width as percentage (5000 = 100%) */
103
- tableWidthPercent?: number;
104
- }
105
-
106
- /**
107
- * Base style configuration combining run and paragraph formatting
108
- */
109
- export interface StyleConfig {
110
- /** Character formatting for the style */
111
- run?: StyleRunFormatting;
112
-
113
- /** Paragraph formatting for the style */
114
- paragraph?: StyleParagraphFormatting;
115
- }
116
-
117
- /**
118
- * Extended configuration for Heading2 style including table options
119
- * Heading2 paragraphs are always wrapped in tables
120
- */
121
- export interface Heading2Config extends StyleConfig {
122
- /** Table appearance options for wrapping Heading2 paragraphs */
123
- tableOptions?: Heading2TableOptions;
124
- }
125
-
126
- /**
127
- * Extended configuration for Normal style with alignment preservation options
128
- */
129
- export interface NormalConfig extends StyleConfig {
130
- /**
131
- * Whether to preserve center alignment during style application.
132
- * When true, paragraphs that are center-aligned will retain their center alignment
133
- * instead of being changed to the Normal style's alignment (typically 'left').
134
- * This is useful for preserving intentional centering like image captions or table headers.
135
- * @default false
136
- */
137
- preserveCenterAlignment?: boolean;
138
- }
139
-
140
- /**
141
- * Complete configuration for applyStyles()
142
- * All properties are optional - defaults will be used if not provided
143
- */
144
- export interface ApplyStylesOptions {
145
- /** Heading1 style configuration */
146
- heading1?: StyleConfig;
147
-
148
- /** Heading2 style configuration with table options */
149
- heading2?: Heading2Config;
150
-
151
- /** Heading3 style configuration */
152
- heading3?: StyleConfig;
153
-
154
- /** Normal style configuration with alignment preservation options */
155
- normal?: NormalConfig;
156
-
157
- /** List Paragraph style configuration */
158
- listParagraph?: StyleConfig;
159
-
160
- /**
161
- * Whether to preserve blank lines added after 1x1 Heading 2 tables.
162
- * When true, blank paragraphs added after Heading 2 tables are marked as preserved
163
- * to prevent accidental removal by document processing operations (e.g., removing extra blank lines).
164
- * @default true
165
- */
166
- preserveBlankLinesAfterHeading2Tables?: boolean;
167
-
168
- /**
169
- * Whether to preserve white font (FFFFFF) color during style application.
170
- * When true, runs with white color will not have their color changed.
171
- * This is useful for preserving hidden text like ID tags or overlay text.
172
- * @default false
173
- */
174
- preserveWhiteFont?: boolean;
175
-
176
- /**
177
- * Whether to apply Normal style changes to NormalWeb (Normal (Web)) style as well.
178
- * When true (default), if NormalWeb style exists in the document,
179
- * it will receive the same formatting changes applied to Normal.
180
- * This ensures consistency between Normal and Normal (Web) styles.
181
- * @default true
182
- */
183
- linkNormalWebToNormal?: boolean;
184
- }
185
-
186
- /**
187
- * @deprecated Use {@link ApplyStylesOptions} instead (renamed in v4.0.0)
188
- */
189
- export type ApplyCustomFormattingOptions = ApplyStylesOptions;
1
+ /**
2
+ * Configuration interfaces for customizable style formatting
3
+ * Used by Document.applyCustomFormattingToExistingStyles()
4
+ */
5
+
6
+ /**
7
+ * Run (character) formatting configuration for styles
8
+ */
9
+ export interface StyleRunFormatting {
10
+ /** Font family name (e.g., 'Verdana', 'Arial', 'Times New Roman') */
11
+ font?: string;
12
+
13
+ /** Font size in points (e.g., 12, 14, 18) */
14
+ size?: number;
15
+
16
+ /** Whether text should be bold */
17
+ bold?: boolean;
18
+
19
+ /** Whether text should be italic */
20
+ italic?: boolean;
21
+
22
+ /** Whether text should be underlined */
23
+ underline?: boolean;
24
+
25
+ /** Text color as hex without # (e.g., '000000', 'FF0000') */
26
+ color?: string;
27
+
28
+ /** If true, preserve existing bold formatting (don't apply bold property) */
29
+ preserveBold?: boolean;
30
+
31
+ /** If true, preserve existing italic formatting (don't apply italic property) */
32
+ preserveItalic?: boolean;
33
+
34
+ /** If true, preserve existing underline formatting (don't apply underline property) */
35
+ preserveUnderline?: boolean;
36
+ }
37
+
38
+ /**
39
+ * Paragraph formatting configuration for styles
40
+ */
41
+ export interface StyleParagraphFormatting {
42
+ /** Text alignment */
43
+ alignment?: 'left' | 'center' | 'right' | 'justify';
44
+
45
+ /** Spacing configuration */
46
+ spacing?: {
47
+ /** Spacing before paragraph in twips (20 twips = 1 point) */
48
+ before?: number;
49
+
50
+ /** Spacing after paragraph in twips (20 twips = 1 point) */
51
+ after?: number;
52
+
53
+ /** Line spacing in twips (240 = single spacing when lineRule is 'auto') */
54
+ line?: number;
55
+
56
+ /** How to interpret the line spacing value */
57
+ lineRule?: 'auto' | 'exact' | 'atLeast';
58
+ };
59
+
60
+ /** Indentation configuration */
61
+ indentation?: {
62
+ /** Left indent in twips (1440 twips = 1 inch) */
63
+ left?: number;
64
+
65
+ /** Right indent in twips */
66
+ right?: number;
67
+
68
+ /** First line indent in twips (positive = indent, negative = outdent) */
69
+ firstLine?: number;
70
+
71
+ /** Hanging indent in twips (typically used for lists) */
72
+ hanging?: number;
73
+ };
74
+
75
+ /**
76
+ * Whether to remove spacing between consecutive paragraphs of the same style
77
+ * Per ECMA-376 Part 1 §17.3.1.8
78
+ */
79
+ contextualSpacing?: boolean;
80
+ }
81
+
82
+ /**
83
+ * Table appearance options for Heading2 wrapping
84
+ * Heading2 paragraphs are always wrapped in 1x1 tables with these settings
85
+ */
86
+ export interface Heading2TableOptions {
87
+ /** Cell background color as hex without # (e.g., 'BFBFBF' for gray) */
88
+ shading?: string;
89
+
90
+ /** Top cell margin in twips */
91
+ marginTop?: number;
92
+
93
+ /** Bottom cell margin in twips */
94
+ marginBottom?: number;
95
+
96
+ /** Left cell margin in twips (115 twips = 0.08 inches) */
97
+ marginLeft?: number;
98
+
99
+ /** Right cell margin in twips (115 twips = 0.08 inches) */
100
+ marginRight?: number;
101
+
102
+ /** Table width as percentage (5000 = 100%) */
103
+ tableWidthPercent?: number;
104
+ }
105
+
106
+ /**
107
+ * Base style configuration combining run and paragraph formatting
108
+ */
109
+ export interface StyleConfig {
110
+ /** Character formatting for the style */
111
+ run?: StyleRunFormatting;
112
+
113
+ /** Paragraph formatting for the style */
114
+ paragraph?: StyleParagraphFormatting;
115
+ }
116
+
117
+ /**
118
+ * Extended configuration for Heading2 style including table options
119
+ * Heading2 paragraphs are always wrapped in tables
120
+ */
121
+ export interface Heading2Config extends StyleConfig {
122
+ /** Table appearance options for wrapping Heading2 paragraphs */
123
+ tableOptions?: Heading2TableOptions;
124
+ }
125
+
126
+ /**
127
+ * Extended configuration for Normal style with alignment preservation options
128
+ */
129
+ export interface NormalConfig extends StyleConfig {
130
+ /**
131
+ * Whether to preserve center alignment during style application.
132
+ * When true, paragraphs that are center-aligned will retain their center alignment
133
+ * instead of being changed to the Normal style's alignment (typically 'left').
134
+ * This is useful for preserving intentional centering like image captions or table headers.
135
+ * @default false
136
+ */
137
+ preserveCenterAlignment?: boolean;
138
+ }
139
+
140
+ /**
141
+ * Complete configuration for applyStyles()
142
+ * All properties are optional - defaults will be used if not provided
143
+ */
144
+ export interface ApplyStylesOptions {
145
+ /** Heading1 style configuration */
146
+ heading1?: StyleConfig;
147
+
148
+ /** Heading2 style configuration with table options */
149
+ heading2?: Heading2Config;
150
+
151
+ /** Heading3 style configuration */
152
+ heading3?: StyleConfig;
153
+
154
+ /** Normal style configuration with alignment preservation options */
155
+ normal?: NormalConfig;
156
+
157
+ /** List Paragraph style configuration */
158
+ listParagraph?: StyleConfig;
159
+
160
+ /**
161
+ * Whether to preserve blank lines added after 1x1 Heading 2 tables.
162
+ * When true, blank paragraphs added after Heading 2 tables are marked as preserved
163
+ * to prevent accidental removal by document processing operations (e.g., removing extra blank lines).
164
+ * @default true
165
+ */
166
+ preserveBlankLinesAfterHeading2Tables?: boolean;
167
+
168
+ /**
169
+ * Whether to preserve white font (FFFFFF) color during style application.
170
+ * When true, runs with white color will not have their color changed.
171
+ * This is useful for preserving hidden text like ID tags or overlay text.
172
+ * @default false
173
+ */
174
+ preserveWhiteFont?: boolean;
175
+
176
+ /**
177
+ * Whether to apply Normal style changes to NormalWeb (Normal (Web)) style as well.
178
+ * When true (default), if NormalWeb style exists in the document,
179
+ * it will receive the same formatting changes applied to Normal.
180
+ * This ensures consistency between Normal and Normal (Web) styles.
181
+ * @default true
182
+ */
183
+ linkNormalWebToNormal?: boolean;
184
+ }
185
+
186
+ /**
187
+ * @deprecated Use {@link ApplyStylesOptions} instead (renamed in v4.0.0)
188
+ */
189
+ export type ApplyCustomFormattingOptions = ApplyStylesOptions;