docxmlater 10.4.0 → 11.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (699) hide show
  1. package/README.md +3 -3
  2. package/dist/constants/legacyCompatFlags.d.ts +1 -1
  3. package/dist/constants/legacyCompatFlags.d.ts.map +1 -1
  4. package/dist/constants/legacyCompatFlags.js.map +1 -1
  5. package/dist/core/Document.d.ts +75 -67
  6. package/dist/core/Document.d.ts.map +1 -1
  7. package/dist/core/Document.js +618 -414
  8. package/dist/core/Document.js.map +1 -1
  9. package/dist/core/DocumentContent.d.ts +11 -10
  10. package/dist/core/DocumentContent.d.ts.map +1 -1
  11. package/dist/core/DocumentContent.js +19 -19
  12. package/dist/core/DocumentContent.js.map +1 -1
  13. package/dist/core/DocumentEvents.d.ts +39 -0
  14. package/dist/core/DocumentEvents.d.ts.map +1 -0
  15. package/dist/core/DocumentEvents.js +51 -0
  16. package/dist/core/DocumentEvents.js.map +1 -0
  17. package/dist/core/DocumentGenerator.d.ts +11 -11
  18. package/dist/core/DocumentGenerator.d.ts.map +1 -1
  19. package/dist/core/DocumentGenerator.js +72 -52
  20. package/dist/core/DocumentGenerator.js.map +1 -1
  21. package/dist/core/DocumentParser.d.ts +15 -15
  22. package/dist/core/DocumentParser.d.ts.map +1 -1
  23. package/dist/core/DocumentParser.js +2100 -1076
  24. package/dist/core/DocumentParser.js.map +1 -1
  25. package/dist/core/DocumentValidator.d.ts +3 -3
  26. package/dist/core/DocumentValidator.d.ts.map +1 -1
  27. package/dist/core/DocumentValidator.js +31 -31
  28. package/dist/core/DocumentValidator.js.map +1 -1
  29. package/dist/core/ElementRegistry.d.ts +22 -0
  30. package/dist/core/ElementRegistry.d.ts.map +1 -0
  31. package/dist/core/ElementRegistry.js +27 -0
  32. package/dist/core/ElementRegistry.js.map +1 -0
  33. package/dist/core/Relationship.js +4 -4
  34. package/dist/core/Relationship.js.map +1 -1
  35. package/dist/core/RelationshipManager.d.ts +1 -1
  36. package/dist/core/RelationshipManager.d.ts.map +1 -1
  37. package/dist/core/RelationshipManager.js +32 -32
  38. package/dist/core/RelationshipManager.js.map +1 -1
  39. package/dist/elements/AlternateContent.d.ts +1 -1
  40. package/dist/elements/AlternateContent.d.ts.map +1 -1
  41. package/dist/elements/AlternateContent.js.map +1 -1
  42. package/dist/elements/Bookmark.d.ts +6 -1
  43. package/dist/elements/Bookmark.d.ts.map +1 -1
  44. package/dist/elements/Bookmark.js +19 -3
  45. package/dist/elements/Bookmark.js.map +1 -1
  46. package/dist/elements/BookmarkManager.d.ts +1 -1
  47. package/dist/elements/BookmarkManager.d.ts.map +1 -1
  48. package/dist/elements/BookmarkManager.js +7 -7
  49. package/dist/elements/BookmarkManager.js.map +1 -1
  50. package/dist/elements/Comment.d.ts +2 -2
  51. package/dist/elements/Comment.d.ts.map +1 -1
  52. package/dist/elements/Comment.js +4 -4
  53. package/dist/elements/Comment.js.map +1 -1
  54. package/dist/elements/CommentManager.d.ts +2 -2
  55. package/dist/elements/CommentManager.d.ts.map +1 -1
  56. package/dist/elements/CommentManager.js +9 -9
  57. package/dist/elements/CommentManager.js.map +1 -1
  58. package/dist/elements/CommonTypes.d.ts +9 -4
  59. package/dist/elements/CommonTypes.d.ts.map +1 -1
  60. package/dist/elements/CommonTypes.js +1 -0
  61. package/dist/elements/CommonTypes.js.map +1 -1
  62. package/dist/elements/CustomXml.d.ts +1 -1
  63. package/dist/elements/CustomXml.d.ts.map +1 -1
  64. package/dist/elements/CustomXml.js.map +1 -1
  65. package/dist/elements/Endnote.d.ts +2 -2
  66. package/dist/elements/Endnote.d.ts.map +1 -1
  67. package/dist/elements/Endnote.js +9 -9
  68. package/dist/elements/Endnote.js.map +1 -1
  69. package/dist/elements/EndnoteManager.d.ts +1 -1
  70. package/dist/elements/EndnoteManager.d.ts.map +1 -1
  71. package/dist/elements/EndnoteManager.js +11 -11
  72. package/dist/elements/EndnoteManager.js.map +1 -1
  73. package/dist/elements/Field.d.ts +9 -5
  74. package/dist/elements/Field.d.ts.map +1 -1
  75. package/dist/elements/Field.js +21 -9
  76. package/dist/elements/Field.js.map +1 -1
  77. package/dist/elements/FieldHelpers.d.ts +1 -1
  78. package/dist/elements/FieldHelpers.d.ts.map +1 -1
  79. package/dist/elements/FieldHelpers.js +10 -10
  80. package/dist/elements/FieldHelpers.js.map +1 -1
  81. package/dist/elements/Footer.d.ts +3 -3
  82. package/dist/elements/Footer.d.ts.map +1 -1
  83. package/dist/elements/Footer.js +5 -5
  84. package/dist/elements/Footer.js.map +1 -1
  85. package/dist/elements/Footnote.d.ts +2 -2
  86. package/dist/elements/Footnote.d.ts.map +1 -1
  87. package/dist/elements/Footnote.js +9 -9
  88. package/dist/elements/Footnote.js.map +1 -1
  89. package/dist/elements/FootnoteManager.d.ts +1 -1
  90. package/dist/elements/FootnoteManager.d.ts.map +1 -1
  91. package/dist/elements/FootnoteManager.js +11 -11
  92. package/dist/elements/FootnoteManager.js.map +1 -1
  93. package/dist/elements/Header.d.ts +3 -3
  94. package/dist/elements/Header.d.ts.map +1 -1
  95. package/dist/elements/Header.js +5 -5
  96. package/dist/elements/Header.js.map +1 -1
  97. package/dist/elements/HeaderFooterManager.d.ts +2 -2
  98. package/dist/elements/HeaderFooterManager.d.ts.map +1 -1
  99. package/dist/elements/HeaderFooterManager.js.map +1 -1
  100. package/dist/elements/Hyperlink.d.ts +5 -5
  101. package/dist/elements/Hyperlink.d.ts.map +1 -1
  102. package/dist/elements/Hyperlink.js +29 -29
  103. package/dist/elements/Hyperlink.js.map +1 -1
  104. package/dist/elements/Image.d.ts +1 -1
  105. package/dist/elements/Image.d.ts.map +1 -1
  106. package/dist/elements/Image.js +67 -67
  107. package/dist/elements/Image.js.map +1 -1
  108. package/dist/elements/ImageManager.d.ts +1 -1
  109. package/dist/elements/ImageManager.d.ts.map +1 -1
  110. package/dist/elements/ImageManager.js +4 -4
  111. package/dist/elements/ImageManager.js.map +1 -1
  112. package/dist/elements/ImageRun.d.ts +3 -3
  113. package/dist/elements/ImageRun.d.ts.map +1 -1
  114. package/dist/elements/ImageRun.js +2 -2
  115. package/dist/elements/ImageRun.js.map +1 -1
  116. package/dist/elements/MathElement.d.ts +1 -1
  117. package/dist/elements/MathElement.d.ts.map +1 -1
  118. package/dist/elements/MathElement.js.map +1 -1
  119. package/dist/elements/Paragraph.d.ts +34 -19
  120. package/dist/elements/Paragraph.d.ts.map +1 -1
  121. package/dist/elements/Paragraph.js +286 -231
  122. package/dist/elements/Paragraph.js.map +1 -1
  123. package/dist/elements/PreservedElement.d.ts +1 -1
  124. package/dist/elements/PreservedElement.d.ts.map +1 -1
  125. package/dist/elements/PreservedElement.js.map +1 -1
  126. package/dist/elements/PropertyChangeTypes.d.ts +2 -2
  127. package/dist/elements/PropertyChangeTypes.d.ts.map +1 -1
  128. package/dist/elements/PropertyChangeTypes.js.map +1 -1
  129. package/dist/elements/RangeMarker.d.ts +14 -1
  130. package/dist/elements/RangeMarker.d.ts.map +1 -1
  131. package/dist/elements/RangeMarker.js +46 -8
  132. package/dist/elements/RangeMarker.js.map +1 -1
  133. package/dist/elements/RegisteredBodyElement.d.ts +15 -0
  134. package/dist/elements/RegisteredBodyElement.d.ts.map +1 -0
  135. package/dist/elements/RegisteredBodyElement.js +44 -0
  136. package/dist/elements/RegisteredBodyElement.js.map +1 -0
  137. package/dist/elements/Revision.d.ts +8 -8
  138. package/dist/elements/Revision.d.ts.map +1 -1
  139. package/dist/elements/Revision.js +12 -12
  140. package/dist/elements/Revision.js.map +1 -1
  141. package/dist/elements/RevisionContent.d.ts +3 -3
  142. package/dist/elements/RevisionContent.d.ts.map +1 -1
  143. package/dist/elements/RevisionContent.js.map +1 -1
  144. package/dist/elements/RevisionManager.d.ts +2 -2
  145. package/dist/elements/RevisionManager.d.ts.map +1 -1
  146. package/dist/elements/RevisionManager.js +2 -2
  147. package/dist/elements/RevisionManager.js.map +1 -1
  148. package/dist/elements/Run.d.ts +16 -10
  149. package/dist/elements/Run.d.ts.map +1 -1
  150. package/dist/elements/Run.js +199 -173
  151. package/dist/elements/Run.js.map +1 -1
  152. package/dist/elements/Section.d.ts +4 -2
  153. package/dist/elements/Section.d.ts.map +1 -1
  154. package/dist/elements/Section.js +152 -145
  155. package/dist/elements/Section.js.map +1 -1
  156. package/dist/elements/Shape.d.ts +3 -3
  157. package/dist/elements/Shape.d.ts.map +1 -1
  158. package/dist/elements/Shape.js +12 -12
  159. package/dist/elements/Shape.js.map +1 -1
  160. package/dist/elements/StructuredDocumentTag.d.ts +3 -3
  161. package/dist/elements/StructuredDocumentTag.d.ts.map +1 -1
  162. package/dist/elements/StructuredDocumentTag.js +39 -39
  163. package/dist/elements/StructuredDocumentTag.js.map +1 -1
  164. package/dist/elements/Table.d.ts +16 -10
  165. package/dist/elements/Table.d.ts.map +1 -1
  166. package/dist/elements/Table.js +118 -89
  167. package/dist/elements/Table.js.map +1 -1
  168. package/dist/elements/TableCell.d.ts +11 -11
  169. package/dist/elements/TableCell.d.ts.map +1 -1
  170. package/dist/elements/TableCell.js +108 -78
  171. package/dist/elements/TableCell.js.map +1 -1
  172. package/dist/elements/TableGridChange.d.ts +1 -1
  173. package/dist/elements/TableGridChange.d.ts.map +1 -1
  174. package/dist/elements/TableGridChange.js +3 -3
  175. package/dist/elements/TableGridChange.js.map +1 -1
  176. package/dist/elements/TableOfContents.d.ts +1 -1
  177. package/dist/elements/TableOfContents.d.ts.map +1 -1
  178. package/dist/elements/TableOfContents.js +2 -2
  179. package/dist/elements/TableOfContents.js.map +1 -1
  180. package/dist/elements/TableOfContentsElement.d.ts +2 -2
  181. package/dist/elements/TableOfContentsElement.d.ts.map +1 -1
  182. package/dist/elements/TableOfContentsElement.js +5 -5
  183. package/dist/elements/TableOfContentsElement.js.map +1 -1
  184. package/dist/elements/TableRow.d.ts +18 -7
  185. package/dist/elements/TableRow.d.ts.map +1 -1
  186. package/dist/elements/TableRow.js +127 -74
  187. package/dist/elements/TableRow.js.map +1 -1
  188. package/dist/elements/TextBox.d.ts +4 -4
  189. package/dist/elements/TextBox.d.ts.map +1 -1
  190. package/dist/elements/TextBox.js +6 -6
  191. package/dist/elements/TextBox.js.map +1 -1
  192. package/dist/esm/constants/legacyCompatFlags.js +97 -0
  193. package/dist/esm/constants/legacyCompatFlags.js.map +1 -0
  194. package/dist/esm/constants/limits.js +36 -0
  195. package/dist/esm/constants/limits.js.map +1 -0
  196. package/dist/esm/core/Document.js +8498 -0
  197. package/dist/esm/core/Document.js.map +1 -0
  198. package/dist/esm/core/DocumentContent.js +190 -0
  199. package/dist/esm/core/DocumentContent.js.map +1 -0
  200. package/dist/esm/core/DocumentEvents.js +47 -0
  201. package/dist/esm/core/DocumentEvents.js.map +1 -0
  202. package/dist/esm/core/DocumentGenerator.js +764 -0
  203. package/dist/esm/core/DocumentGenerator.js.map +1 -0
  204. package/dist/esm/core/DocumentIdManager.js +67 -0
  205. package/dist/esm/core/DocumentIdManager.js.map +1 -0
  206. package/dist/esm/core/DocumentParser.js +8760 -0
  207. package/dist/esm/core/DocumentParser.js.map +1 -0
  208. package/dist/esm/core/DocumentValidator.js +222 -0
  209. package/dist/esm/core/DocumentValidator.js.map +1 -0
  210. package/dist/esm/core/ElementRegistry.js +24 -0
  211. package/dist/esm/core/ElementRegistry.js.map +1 -0
  212. package/dist/esm/core/Relationship.js +177 -0
  213. package/dist/esm/core/Relationship.js.map +1 -0
  214. package/dist/esm/core/RelationshipManager.js +202 -0
  215. package/dist/esm/core/RelationshipManager.js.map +1 -0
  216. package/dist/esm/elements/AlternateContent.js +19 -0
  217. package/dist/esm/elements/AlternateContent.js.map +1 -0
  218. package/dist/esm/elements/Bookmark.js +115 -0
  219. package/dist/esm/elements/Bookmark.js.map +1 -0
  220. package/dist/esm/elements/BookmarkManager.js +99 -0
  221. package/dist/esm/elements/BookmarkManager.js.map +1 -0
  222. package/dist/esm/elements/Comment.js +181 -0
  223. package/dist/esm/elements/Comment.js.map +1 -0
  224. package/dist/esm/elements/CommentManager.js +233 -0
  225. package/dist/esm/elements/CommentManager.js.map +1 -0
  226. package/dist/esm/elements/CommonTypes.js +106 -0
  227. package/dist/esm/elements/CommonTypes.js.map +1 -0
  228. package/dist/esm/elements/CustomXml.js +19 -0
  229. package/dist/esm/elements/CustomXml.js.map +1 -0
  230. package/dist/esm/elements/Endnote.js +107 -0
  231. package/dist/esm/elements/Endnote.js.map +1 -0
  232. package/dist/esm/elements/EndnoteManager.js +119 -0
  233. package/dist/esm/elements/EndnoteManager.js.map +1 -0
  234. package/dist/esm/elements/Field.js +856 -0
  235. package/dist/esm/elements/Field.js.map +1 -0
  236. package/dist/esm/elements/FieldHelpers.js +134 -0
  237. package/dist/esm/elements/FieldHelpers.js.map +1 -0
  238. package/dist/esm/elements/FontManager.js +158 -0
  239. package/dist/esm/elements/FontManager.js.map +1 -0
  240. package/dist/esm/elements/Footer.js +141 -0
  241. package/dist/esm/elements/Footer.js.map +1 -0
  242. package/dist/esm/elements/Footnote.js +107 -0
  243. package/dist/esm/elements/Footnote.js.map +1 -0
  244. package/dist/esm/elements/FootnoteManager.js +119 -0
  245. package/dist/esm/elements/FootnoteManager.js.map +1 -0
  246. package/dist/esm/elements/Header.js +141 -0
  247. package/dist/esm/elements/Header.js.map +1 -0
  248. package/dist/esm/elements/HeaderFooterManager.js +87 -0
  249. package/dist/esm/elements/HeaderFooterManager.js.map +1 -0
  250. package/dist/esm/elements/Hyperlink.js +586 -0
  251. package/dist/esm/elements/Hyperlink.js.map +1 -0
  252. package/dist/esm/elements/Image.js +1288 -0
  253. package/dist/esm/elements/Image.js.map +1 -0
  254. package/dist/esm/elements/ImageManager.js +223 -0
  255. package/dist/esm/elements/ImageManager.js.map +1 -0
  256. package/dist/esm/elements/ImageRun.js +29 -0
  257. package/dist/esm/elements/ImageRun.js.map +1 -0
  258. package/dist/esm/elements/MathElement.js +37 -0
  259. package/dist/esm/elements/MathElement.js.map +1 -0
  260. package/dist/esm/elements/Paragraph.js +2308 -0
  261. package/dist/esm/elements/Paragraph.js.map +1 -0
  262. package/dist/esm/elements/PreservedElement.js +29 -0
  263. package/dist/esm/elements/PreservedElement.js.map +1 -0
  264. package/dist/esm/elements/PropertyChangeTypes.js +53 -0
  265. package/dist/esm/elements/PropertyChangeTypes.js.map +1 -0
  266. package/dist/esm/elements/RangeMarker.js +219 -0
  267. package/dist/esm/elements/RangeMarker.js.map +1 -0
  268. package/dist/esm/elements/RegisteredBodyElement.js +40 -0
  269. package/dist/esm/elements/RegisteredBodyElement.js.map +1 -0
  270. package/dist/esm/elements/Revision.js +498 -0
  271. package/dist/esm/elements/Revision.js.map +1 -0
  272. package/dist/esm/elements/RevisionContent.js +18 -0
  273. package/dist/esm/elements/RevisionContent.js.map +1 -0
  274. package/dist/esm/elements/RevisionManager.js +486 -0
  275. package/dist/esm/elements/RevisionManager.js.map +1 -0
  276. package/dist/esm/elements/Run.js +1465 -0
  277. package/dist/esm/elements/Run.js.map +1 -0
  278. package/dist/esm/elements/Section.js +978 -0
  279. package/dist/esm/elements/Section.js.map +1 -0
  280. package/dist/esm/elements/Shape.js +493 -0
  281. package/dist/esm/elements/Shape.js.map +1 -0
  282. package/dist/esm/elements/StructuredDocumentTag.js +471 -0
  283. package/dist/esm/elements/StructuredDocumentTag.js.map +1 -0
  284. package/dist/esm/elements/Table.js +1456 -0
  285. package/dist/esm/elements/Table.js.map +1 -0
  286. package/dist/esm/elements/TableCell.js +835 -0
  287. package/dist/esm/elements/TableCell.js.map +1 -0
  288. package/dist/esm/elements/TableGridChange.js +52 -0
  289. package/dist/esm/elements/TableGridChange.js.map +1 -0
  290. package/dist/esm/elements/TableOfContents.js +389 -0
  291. package/dist/esm/elements/TableOfContents.js.map +1 -0
  292. package/dist/esm/elements/TableOfContentsElement.js +29 -0
  293. package/dist/esm/elements/TableOfContentsElement.js.map +1 -0
  294. package/dist/esm/elements/TableRow.js +555 -0
  295. package/dist/esm/elements/TableRow.js.map +1 -0
  296. package/dist/esm/elements/TextBox.js +459 -0
  297. package/dist/esm/elements/TextBox.js.map +1 -0
  298. package/dist/esm/formatting/AbstractNumbering.js +325 -0
  299. package/dist/esm/formatting/AbstractNumbering.js.map +1 -0
  300. package/dist/esm/formatting/NumberingInstance.js +150 -0
  301. package/dist/esm/formatting/NumberingInstance.js.map +1 -0
  302. package/dist/esm/formatting/NumberingLevel.js +608 -0
  303. package/dist/esm/formatting/NumberingLevel.js.map +1 -0
  304. package/dist/esm/formatting/NumberingManager.js +423 -0
  305. package/dist/esm/formatting/NumberingManager.js.map +1 -0
  306. package/dist/esm/formatting/Style.js +1151 -0
  307. package/dist/esm/formatting/Style.js.map +1 -0
  308. package/dist/esm/formatting/StylesManager.js +557 -0
  309. package/dist/esm/formatting/StylesManager.js.map +1 -0
  310. package/dist/esm/helpers/CleanupHelper.js +350 -0
  311. package/dist/esm/helpers/CleanupHelper.js.map +1 -0
  312. package/dist/esm/images/ImageOptimizer.js +161 -0
  313. package/dist/esm/images/ImageOptimizer.js.map +1 -0
  314. package/dist/esm/index.js +75 -0
  315. package/dist/esm/index.js.map +1 -0
  316. package/dist/esm/internal.js +16 -0
  317. package/dist/esm/internal.js.map +1 -0
  318. package/dist/esm/managers/DrawingManager.js +163 -0
  319. package/dist/esm/managers/DrawingManager.js.map +1 -0
  320. package/dist/esm/package.json +3 -0
  321. package/dist/esm/processors/ChangelogGenerator.js +970 -0
  322. package/dist/esm/processors/ChangelogGenerator.js.map +1 -0
  323. package/dist/esm/processors/CompatibilityUpgrader.js +130 -0
  324. package/dist/esm/processors/CompatibilityUpgrader.js.map +1 -0
  325. package/dist/esm/processors/InMemoryRevisionAcceptor.js +530 -0
  326. package/dist/esm/processors/InMemoryRevisionAcceptor.js.map +1 -0
  327. package/dist/esm/processors/MoveOperationHelper.js +57 -0
  328. package/dist/esm/processors/MoveOperationHelper.js.map +1 -0
  329. package/dist/esm/processors/RevisionAwareProcessor.js +232 -0
  330. package/dist/esm/processors/RevisionAwareProcessor.js.map +1 -0
  331. package/dist/esm/processors/RevisionWalker.js +278 -0
  332. package/dist/esm/processors/RevisionWalker.js.map +1 -0
  333. package/dist/{utils → esm/processors}/SelectiveRevisionAcceptor.js +81 -42
  334. package/dist/esm/processors/SelectiveRevisionAcceptor.js.map +1 -0
  335. package/dist/esm/processors/ShadingResolver.js +66 -0
  336. package/dist/esm/processors/ShadingResolver.js.map +1 -0
  337. package/dist/esm/processors/acceptRevisions.js +416 -0
  338. package/dist/esm/processors/acceptRevisions.js.map +1 -0
  339. package/dist/esm/processors/cnfStyleDecoder.js +89 -0
  340. package/dist/esm/processors/cnfStyleDecoder.js.map +1 -0
  341. package/dist/esm/processors/stripTrackedChanges.js +201 -0
  342. package/dist/esm/processors/stripTrackedChanges.js.map +1 -0
  343. package/dist/esm/tracking/DocumentTrackingContext.js +531 -0
  344. package/dist/esm/tracking/DocumentTrackingContext.js.map +1 -0
  345. package/dist/esm/tracking/TrackingContext.js +2 -0
  346. package/dist/esm/tracking/TrackingContext.js.map +1 -0
  347. package/dist/esm/types/compatibility-types.js +8 -0
  348. package/dist/esm/types/compatibility-types.js.map +1 -0
  349. package/dist/esm/types/document-types.js +2 -0
  350. package/dist/esm/types/document-types.js.map +1 -0
  351. package/dist/esm/types/formatting.js +2 -0
  352. package/dist/esm/types/formatting.js.map +1 -0
  353. package/dist/esm/types/list-types.js +2 -0
  354. package/dist/esm/types/list-types.js.map +1 -0
  355. package/dist/esm/types/settings-types.js +2 -0
  356. package/dist/esm/types/settings-types.js.map +1 -0
  357. package/dist/esm/types/styleConfig.js +2 -0
  358. package/dist/esm/types/styleConfig.js.map +1 -0
  359. package/dist/esm/utils/KeyedRegistry.js +32 -0
  360. package/dist/esm/utils/KeyedRegistry.js.map +1 -0
  361. package/dist/esm/utils/corruptionDetection.js +155 -0
  362. package/dist/esm/utils/corruptionDetection.js.map +1 -0
  363. package/dist/esm/utils/dateFormatting.js +4 -0
  364. package/dist/esm/utils/dateFormatting.js.map +1 -0
  365. package/dist/esm/utils/deepClone.js +40 -0
  366. package/dist/esm/utils/deepClone.js.map +1 -0
  367. package/dist/esm/utils/deepEqual.js +47 -0
  368. package/dist/esm/utils/deepEqual.js.map +1 -0
  369. package/dist/esm/utils/diagnostics.js +69 -0
  370. package/dist/esm/utils/diagnostics.js.map +1 -0
  371. package/dist/esm/utils/errorHandling.js +36 -0
  372. package/dist/esm/utils/errorHandling.js.map +1 -0
  373. package/dist/esm/utils/formatting.js +93 -0
  374. package/dist/esm/utils/formatting.js.map +1 -0
  375. package/dist/esm/utils/list-detection.js +148 -0
  376. package/dist/esm/utils/list-detection.js.map +1 -0
  377. package/dist/esm/utils/logger.js +205 -0
  378. package/dist/esm/utils/logger.js.map +1 -0
  379. package/dist/esm/utils/parsingHelpers.js +56 -0
  380. package/dist/esm/utils/parsingHelpers.js.map +1 -0
  381. package/dist/esm/utils/textDiff.js +42 -0
  382. package/dist/esm/utils/textDiff.js.map +1 -0
  383. package/dist/esm/utils/units.js +152 -0
  384. package/dist/esm/utils/units.js.map +1 -0
  385. package/dist/esm/utils/validation.js +285 -0
  386. package/dist/esm/utils/validation.js.map +1 -0
  387. package/dist/esm/utils/xmlSanitization.js +54 -0
  388. package/dist/esm/utils/xmlSanitization.js.map +1 -0
  389. package/dist/esm/validation/RevisionAutoFixer.js +340 -0
  390. package/dist/esm/validation/RevisionAutoFixer.js.map +1 -0
  391. package/dist/esm/validation/RevisionValidator.js +240 -0
  392. package/dist/esm/validation/RevisionValidator.js.map +1 -0
  393. package/dist/esm/validation/ValidationRuleRegistry.js +40 -0
  394. package/dist/esm/validation/ValidationRuleRegistry.js.map +1 -0
  395. package/dist/esm/validation/ValidationRules.js +92 -0
  396. package/dist/esm/validation/ValidationRules.js.map +1 -0
  397. package/dist/esm/validation/index.js +4 -0
  398. package/dist/esm/validation/index.js.map +1 -0
  399. package/dist/esm/xml/XMLBuilder.js +434 -0
  400. package/dist/esm/xml/XMLBuilder.js.map +1 -0
  401. package/dist/esm/xml/XMLParser.js +486 -0
  402. package/dist/esm/xml/XMLParser.js.map +1 -0
  403. package/dist/esm/zip/ZipHandler.js +298 -0
  404. package/dist/esm/zip/ZipHandler.js.map +1 -0
  405. package/dist/esm/zip/ZipReader.js +147 -0
  406. package/dist/esm/zip/ZipReader.js.map +1 -0
  407. package/dist/esm/zip/ZipWriter.js +199 -0
  408. package/dist/esm/zip/ZipWriter.js.map +1 -0
  409. package/dist/esm/zip/errors.js +43 -0
  410. package/dist/esm/zip/errors.js.map +1 -0
  411. package/dist/esm/zip/types.js +31 -0
  412. package/dist/esm/zip/types.js.map +1 -0
  413. package/dist/formatting/AbstractNumbering.d.ts +2 -2
  414. package/dist/formatting/AbstractNumbering.d.ts.map +1 -1
  415. package/dist/formatting/AbstractNumbering.js +33 -33
  416. package/dist/formatting/AbstractNumbering.js.map +1 -1
  417. package/dist/formatting/NumberingInstance.d.ts +2 -2
  418. package/dist/formatting/NumberingInstance.d.ts.map +1 -1
  419. package/dist/formatting/NumberingInstance.js +7 -7
  420. package/dist/formatting/NumberingInstance.js.map +1 -1
  421. package/dist/formatting/NumberingLevel.d.ts +11 -2
  422. package/dist/formatting/NumberingLevel.d.ts.map +1 -1
  423. package/dist/formatting/NumberingLevel.js +111 -25
  424. package/dist/formatting/NumberingLevel.js.map +1 -1
  425. package/dist/formatting/NumberingManager.d.ts +4 -4
  426. package/dist/formatting/NumberingManager.d.ts.map +1 -1
  427. package/dist/formatting/NumberingManager.js +28 -28
  428. package/dist/formatting/NumberingManager.js.map +1 -1
  429. package/dist/formatting/Style.d.ts +14 -7
  430. package/dist/formatting/Style.d.ts.map +1 -1
  431. package/dist/formatting/Style.js +309 -112
  432. package/dist/formatting/Style.js.map +1 -1
  433. package/dist/formatting/StylesManager.d.ts +2 -2
  434. package/dist/formatting/StylesManager.d.ts.map +1 -1
  435. package/dist/formatting/StylesManager.js +52 -52
  436. package/dist/formatting/StylesManager.js.map +1 -1
  437. package/dist/helpers/CleanupHelper.d.ts +1 -1
  438. package/dist/helpers/CleanupHelper.d.ts.map +1 -1
  439. package/dist/helpers/CleanupHelper.js +15 -15
  440. package/dist/helpers/CleanupHelper.js.map +1 -1
  441. package/dist/index.d.ts +81 -90
  442. package/dist/index.d.ts.map +1 -1
  443. package/dist/index.js +286 -317
  444. package/dist/index.js.map +1 -1
  445. package/dist/internal.d.ts +16 -0
  446. package/dist/internal.d.ts.map +1 -0
  447. package/dist/internal.js +42 -0
  448. package/dist/internal.js.map +1 -0
  449. package/dist/managers/DrawingManager.d.ts +3 -3
  450. package/dist/managers/DrawingManager.d.ts.map +1 -1
  451. package/dist/managers/DrawingManager.js +12 -12
  452. package/dist/managers/DrawingManager.js.map +1 -1
  453. package/dist/{utils → processors}/ChangelogGenerator.d.ts +2 -2
  454. package/dist/processors/ChangelogGenerator.d.ts.map +1 -0
  455. package/dist/{utils → processors}/ChangelogGenerator.js +2 -2
  456. package/dist/processors/ChangelogGenerator.js.map +1 -0
  457. package/dist/processors/CompatibilityUpgrader.d.ts.map +1 -0
  458. package/dist/{utils → processors}/CompatibilityUpgrader.js +10 -10
  459. package/dist/processors/CompatibilityUpgrader.js.map +1 -0
  460. package/dist/{utils → processors}/InMemoryRevisionAcceptor.d.ts +3 -3
  461. package/dist/processors/InMemoryRevisionAcceptor.d.ts.map +1 -0
  462. package/dist/{utils → processors}/InMemoryRevisionAcceptor.js +84 -27
  463. package/dist/processors/InMemoryRevisionAcceptor.js.map +1 -0
  464. package/dist/{utils → processors}/MoveOperationHelper.d.ts +4 -4
  465. package/dist/processors/MoveOperationHelper.d.ts.map +1 -0
  466. package/dist/{utils → processors}/MoveOperationHelper.js +10 -10
  467. package/dist/processors/MoveOperationHelper.js.map +1 -0
  468. package/dist/{utils → processors}/RevisionAwareProcessor.d.ts +3 -3
  469. package/dist/processors/RevisionAwareProcessor.d.ts.map +1 -0
  470. package/dist/{utils → processors}/RevisionAwareProcessor.js +2 -2
  471. package/dist/processors/RevisionAwareProcessor.js.map +1 -0
  472. package/dist/{utils → processors}/RevisionWalker.d.ts +2 -1
  473. package/dist/processors/RevisionWalker.d.ts.map +1 -0
  474. package/dist/{utils → processors}/RevisionWalker.js +28 -0
  475. package/dist/processors/RevisionWalker.js.map +1 -0
  476. package/dist/{utils → processors}/SelectiveRevisionAcceptor.d.ts +4 -3
  477. package/dist/processors/SelectiveRevisionAcceptor.d.ts.map +1 -0
  478. package/dist/processors/SelectiveRevisionAcceptor.js +402 -0
  479. package/dist/processors/SelectiveRevisionAcceptor.js.map +1 -0
  480. package/dist/processors/ShadingResolver.d.ts +6 -0
  481. package/dist/processors/ShadingResolver.d.ts.map +1 -0
  482. package/dist/{utils → processors}/ShadingResolver.js +2 -2
  483. package/dist/processors/ShadingResolver.js.map +1 -0
  484. package/dist/{utils → processors}/acceptRevisions.d.ts +1 -1
  485. package/dist/processors/acceptRevisions.d.ts.map +1 -0
  486. package/dist/{utils → processors}/acceptRevisions.js +24 -4
  487. package/dist/processors/acceptRevisions.js.map +1 -0
  488. package/dist/{utils → processors}/cnfStyleDecoder.d.ts +1 -1
  489. package/dist/processors/cnfStyleDecoder.d.ts.map +1 -0
  490. package/dist/processors/cnfStyleDecoder.js.map +1 -0
  491. package/dist/processors/stripTrackedChanges.d.ts +3 -0
  492. package/dist/processors/stripTrackedChanges.d.ts.map +1 -0
  493. package/dist/{utils → processors}/stripTrackedChanges.js +16 -6
  494. package/dist/processors/stripTrackedChanges.js.map +1 -0
  495. package/dist/tracking/DocumentTrackingContext.d.ts +4 -4
  496. package/dist/tracking/DocumentTrackingContext.d.ts.map +1 -1
  497. package/dist/tracking/DocumentTrackingContext.js +38 -43
  498. package/dist/tracking/DocumentTrackingContext.js.map +1 -1
  499. package/dist/tracking/TrackingContext.d.ts +8 -8
  500. package/dist/tracking/TrackingContext.d.ts.map +1 -1
  501. package/dist/tracking/TrackingContext.js.map +1 -1
  502. package/dist/types/document-types.d.ts +28 -0
  503. package/dist/types/document-types.d.ts.map +1 -0
  504. package/dist/types/document-types.js +3 -0
  505. package/dist/types/document-types.js.map +1 -0
  506. package/dist/types/formatting.d.ts +4 -4
  507. package/dist/types/formatting.d.ts.map +1 -1
  508. package/dist/types/formatting.js.map +1 -1
  509. package/dist/types/settings-types.d.ts +6 -0
  510. package/dist/types/settings-types.d.ts.map +1 -1
  511. package/dist/types/settings-types.js.map +1 -1
  512. package/dist/utils/KeyedRegistry.d.ts +13 -0
  513. package/dist/utils/KeyedRegistry.d.ts.map +1 -0
  514. package/dist/utils/KeyedRegistry.js +36 -0
  515. package/dist/utils/KeyedRegistry.js.map +1 -0
  516. package/dist/utils/corruptionDetection.d.ts +1 -1
  517. package/dist/utils/corruptionDetection.d.ts.map +1 -1
  518. package/dist/utils/corruptionDetection.js +4 -4
  519. package/dist/utils/corruptionDetection.js.map +1 -1
  520. package/dist/utils/deepEqual.d.ts +2 -0
  521. package/dist/utils/deepEqual.d.ts.map +1 -0
  522. package/dist/utils/deepEqual.js +50 -0
  523. package/dist/utils/deepEqual.js.map +1 -0
  524. package/dist/utils/list-detection.d.ts +2 -2
  525. package/dist/utils/list-detection.d.ts.map +1 -1
  526. package/dist/utils/list-detection.js.map +1 -1
  527. package/dist/utils/parsingHelpers.d.ts +1 -1
  528. package/dist/utils/parsingHelpers.d.ts.map +1 -1
  529. package/dist/utils/parsingHelpers.js +2 -2
  530. package/dist/utils/parsingHelpers.js.map +1 -1
  531. package/dist/utils/validation.js +7 -7
  532. package/dist/utils/validation.js.map +1 -1
  533. package/dist/utils/xmlSanitization.js +2 -2
  534. package/dist/utils/xmlSanitization.js.map +1 -1
  535. package/dist/validation/RevisionAutoFixer.d.ts +4 -4
  536. package/dist/validation/RevisionAutoFixer.d.ts.map +1 -1
  537. package/dist/validation/RevisionAutoFixer.js +11 -11
  538. package/dist/validation/RevisionAutoFixer.js.map +1 -1
  539. package/dist/validation/RevisionValidator.d.ts +5 -4
  540. package/dist/validation/RevisionValidator.d.ts.map +1 -1
  541. package/dist/validation/RevisionValidator.js +29 -30
  542. package/dist/validation/RevisionValidator.js.map +1 -1
  543. package/dist/validation/ValidationRuleRegistry.d.ts +27 -0
  544. package/dist/validation/ValidationRuleRegistry.d.ts.map +1 -0
  545. package/dist/validation/ValidationRuleRegistry.js +43 -0
  546. package/dist/validation/ValidationRuleRegistry.js.map +1 -0
  547. package/dist/validation/index.d.ts +3 -3
  548. package/dist/validation/index.d.ts.map +1 -1
  549. package/dist/validation/index.js +10 -10
  550. package/dist/validation/index.js.map +1 -1
  551. package/dist/xml/XMLBuilder.d.ts +6 -1
  552. package/dist/xml/XMLBuilder.d.ts.map +1 -1
  553. package/dist/xml/XMLBuilder.js +11 -6
  554. package/dist/xml/XMLBuilder.js.map +1 -1
  555. package/dist/xml/XMLParser.js +6 -6
  556. package/dist/xml/XMLParser.js.map +1 -1
  557. package/dist/zip/ZipHandler.d.ts +1 -1
  558. package/dist/zip/ZipHandler.d.ts.map +1 -1
  559. package/dist/zip/ZipHandler.js +8 -8
  560. package/dist/zip/ZipHandler.js.map +1 -1
  561. package/dist/zip/ZipReader.d.ts +1 -1
  562. package/dist/zip/ZipReader.d.ts.map +1 -1
  563. package/dist/zip/ZipReader.js +14 -14
  564. package/dist/zip/ZipReader.js.map +1 -1
  565. package/dist/zip/ZipWriter.d.ts +1 -1
  566. package/dist/zip/ZipWriter.d.ts.map +1 -1
  567. package/dist/zip/ZipWriter.js +10 -10
  568. package/dist/zip/ZipWriter.js.map +1 -1
  569. package/package.json +20 -4
  570. package/src/constants/legacyCompatFlags.ts +1 -1
  571. package/src/core/Document.ts +478 -167
  572. package/src/core/DocumentContent.ts +14 -11
  573. package/src/core/DocumentEvents.ts +90 -0
  574. package/src/core/DocumentGenerator.ts +49 -22
  575. package/src/core/DocumentParser.ts +2235 -620
  576. package/src/core/DocumentValidator.ts +7 -7
  577. package/src/core/ElementRegistry.ts +69 -0
  578. package/src/core/Relationship.ts +1 -1
  579. package/src/core/RelationshipManager.ts +4 -4
  580. package/src/elements/AlternateContent.ts +1 -1
  581. package/src/elements/Bookmark.ts +52 -4
  582. package/src/elements/BookmarkManager.ts +2 -2
  583. package/src/elements/Comment.ts +3 -3
  584. package/src/elements/CommentManager.ts +4 -4
  585. package/src/elements/CommonTypes.ts +45 -7
  586. package/src/elements/CustomXml.ts +1 -1
  587. package/src/elements/Endnote.ts +2 -2
  588. package/src/elements/EndnoteManager.ts +3 -3
  589. package/src/elements/Field.ts +44 -10
  590. package/src/elements/FieldHelpers.ts +2 -2
  591. package/src/elements/Footer.ts +4 -4
  592. package/src/elements/Footnote.ts +2 -2
  593. package/src/elements/FootnoteManager.ts +3 -3
  594. package/src/elements/Header.ts +4 -4
  595. package/src/elements/HeaderFooterManager.ts +2 -2
  596. package/src/elements/Hyperlink.ts +16 -12
  597. package/src/elements/Image.ts +3 -3
  598. package/src/elements/ImageManager.ts +2 -2
  599. package/src/elements/ImageRun.ts +3 -3
  600. package/src/elements/MathElement.ts +1 -1
  601. package/src/elements/Paragraph.ts +221 -88
  602. package/src/elements/PreservedElement.ts +1 -1
  603. package/src/elements/PropertyChangeTypes.ts +2 -2
  604. package/src/elements/RangeMarker.ts +153 -12
  605. package/src/elements/RegisteredBodyElement.ts +52 -0
  606. package/src/elements/Revision.ts +14 -14
  607. package/src/elements/RevisionContent.ts +3 -3
  608. package/src/elements/RevisionManager.ts +3 -3
  609. package/src/elements/Run.ts +221 -94
  610. package/src/elements/Section.ts +136 -69
  611. package/src/elements/Shape.ts +4 -4
  612. package/src/elements/StructuredDocumentTag.ts +3 -3
  613. package/src/elements/Table.ts +91 -27
  614. package/src/elements/TableCell.ts +62 -34
  615. package/src/elements/TableGridChange.ts +1 -1
  616. package/src/elements/TableOfContents.ts +1 -1
  617. package/src/elements/TableOfContentsElement.ts +2 -2
  618. package/src/elements/TableRow.ts +192 -48
  619. package/src/elements/TextBox.ts +5 -5
  620. package/src/formatting/AbstractNumbering.ts +3 -3
  621. package/src/formatting/NumberingInstance.ts +2 -2
  622. package/src/formatting/NumberingLevel.ts +201 -10
  623. package/src/formatting/NumberingManager.ts +5 -5
  624. package/src/formatting/Style.ts +382 -86
  625. package/src/formatting/StylesManager.ts +4 -4
  626. package/src/helpers/CleanupHelper.ts +6 -6
  627. package/src/index.ts +118 -127
  628. package/src/internal.ts +79 -0
  629. package/src/managers/DrawingManager.ts +3 -3
  630. package/src/{utils → processors}/ChangelogGenerator.ts +3 -3
  631. package/src/{utils → processors}/CompatibilityUpgrader.ts +2 -2
  632. package/src/{utils → processors}/InMemoryRevisionAcceptor.ts +100 -12
  633. package/src/{utils → processors}/MoveOperationHelper.ts +5 -5
  634. package/src/{utils → processors}/RevisionAwareProcessor.ts +3 -3
  635. package/src/{utils → processors}/RevisionWalker.ts +42 -1
  636. package/src/{utils → processors}/SelectiveRevisionAcceptor.ts +98 -39
  637. package/src/{utils → processors}/ShadingResolver.ts +5 -5
  638. package/src/{utils → processors}/acceptRevisions.ts +77 -9
  639. package/src/{utils → processors}/cnfStyleDecoder.ts +1 -1
  640. package/src/{utils → processors}/stripTrackedChanges.ts +35 -10
  641. package/src/tracking/DocumentTrackingContext.ts +12 -14
  642. package/src/tracking/TrackingContext.ts +8 -8
  643. package/src/types/document-types.ts +53 -0
  644. package/src/types/formatting.ts +4 -4
  645. package/src/types/settings-types.ts +32 -0
  646. package/src/utils/KeyedRegistry.ts +41 -0
  647. package/src/utils/corruptionDetection.ts +2 -2
  648. package/src/utils/deepEqual.ts +58 -0
  649. package/src/utils/list-detection.ts +2 -2
  650. package/src/utils/parsingHelpers.ts +11 -3
  651. package/src/utils/validation.ts +3 -3
  652. package/src/utils/xmlSanitization.ts +1 -1
  653. package/src/validation/RevisionAutoFixer.ts +5 -5
  654. package/src/validation/RevisionValidator.ts +39 -28
  655. package/src/validation/ValidationRuleRegistry.ts +86 -0
  656. package/src/validation/index.ts +3 -3
  657. package/src/xml/XMLBuilder.ts +13 -3
  658. package/src/xml/XMLParser.ts +2 -2
  659. package/src/zip/ZipHandler.ts +4 -4
  660. package/src/zip/ZipReader.ts +3 -3
  661. package/src/zip/ZipWriter.ts +3 -3
  662. package/dist/utils/ChangelogGenerator.d.ts.map +0 -1
  663. package/dist/utils/ChangelogGenerator.js.map +0 -1
  664. package/dist/utils/CompatibilityUpgrader.d.ts.map +0 -1
  665. package/dist/utils/CompatibilityUpgrader.js.map +0 -1
  666. package/dist/utils/InMemoryRevisionAcceptor.d.ts.map +0 -1
  667. package/dist/utils/InMemoryRevisionAcceptor.js.map +0 -1
  668. package/dist/utils/MoveOperationHelper.d.ts.map +0 -1
  669. package/dist/utils/MoveOperationHelper.js.map +0 -1
  670. package/dist/utils/RevisionAwareProcessor.d.ts.map +0 -1
  671. package/dist/utils/RevisionAwareProcessor.js.map +0 -1
  672. package/dist/utils/RevisionWalker.d.ts.map +0 -1
  673. package/dist/utils/RevisionWalker.js.map +0 -1
  674. package/dist/utils/SelectiveRevisionAcceptor.d.ts.map +0 -1
  675. package/dist/utils/SelectiveRevisionAcceptor.js.map +0 -1
  676. package/dist/utils/ShadingResolver.d.ts +0 -6
  677. package/dist/utils/ShadingResolver.d.ts.map +0 -1
  678. package/dist/utils/ShadingResolver.js.map +0 -1
  679. package/dist/utils/acceptRevisions.d.ts.map +0 -1
  680. package/dist/utils/acceptRevisions.js.map +0 -1
  681. package/dist/utils/cnfStyleDecoder.d.ts.map +0 -1
  682. package/dist/utils/cnfStyleDecoder.js.map +0 -1
  683. package/dist/utils/stripTrackedChanges.d.ts +0 -3
  684. package/dist/utils/stripTrackedChanges.d.ts.map +0 -1
  685. package/dist/utils/stripTrackedChanges.js.map +0 -1
  686. package/src/__tests__/helper-methods.test.ts +0 -512
  687. package/src/constants/CLAUDE.md +0 -28
  688. package/src/core/CLAUDE.md +0 -113
  689. package/src/elements/CLAUDE.md +0 -142
  690. package/src/formatting/CLAUDE.md +0 -78
  691. package/src/managers/CLAUDE.md +0 -47
  692. package/src/tracking/CLAUDE.md +0 -30
  693. package/src/types/CLAUDE.md +0 -39
  694. package/src/utils/CLAUDE.md +0 -168
  695. package/src/validation/CLAUDE.md +0 -40
  696. package/src/xml/CLAUDE.md +0 -65
  697. package/src/zip/CLAUDE.md +0 -55
  698. /package/dist/{utils → processors}/CompatibilityUpgrader.d.ts +0 -0
  699. /package/dist/{utils → processors}/cnfStyleDecoder.js +0 -0
@@ -10,46 +10,47 @@ exports.isRevision = isRevision;
10
10
  exports.isRangeMarker = isRangeMarker;
11
11
  exports.isShape = isShape;
12
12
  exports.isTextBox = isTextBox;
13
- const deepClone_1 = require("../utils/deepClone");
14
- const dateFormatting_1 = require("../utils/dateFormatting");
15
- const diagnostics_1 = require("../utils/diagnostics");
16
- const formatting_1 = require("../utils/formatting");
17
- const logger_1 = require("../utils/logger");
18
- const XMLBuilder_1 = require("../xml/XMLBuilder");
19
- const CommonTypes_1 = require("./CommonTypes");
20
- const Field_1 = require("./Field");
21
- const Hyperlink_1 = require("./Hyperlink");
22
- const RangeMarker_1 = require("./RangeMarker");
23
- const Revision_1 = require("./Revision");
24
- const Run_1 = require("./Run");
25
- const Shape_1 = require("./Shape");
26
- const TextBox_1 = require("./TextBox");
13
+ const deepClone_js_1 = require("../utils/deepClone.js");
14
+ const deepEqual_js_1 = require("../utils/deepEqual.js");
15
+ const dateFormatting_js_1 = require("../utils/dateFormatting.js");
16
+ const diagnostics_js_1 = require("../utils/diagnostics.js");
17
+ const formatting_js_1 = require("../utils/formatting.js");
18
+ const logger_js_1 = require("../utils/logger.js");
19
+ const XMLBuilder_js_1 = require("../xml/XMLBuilder.js");
20
+ const CommonTypes_js_1 = require("./CommonTypes.js");
21
+ const Field_js_1 = require("./Field.js");
22
+ const Hyperlink_js_1 = require("./Hyperlink.js");
23
+ const RangeMarker_js_1 = require("./RangeMarker.js");
24
+ const Revision_js_1 = require("./Revision.js");
25
+ const Run_js_1 = require("./Run.js");
26
+ const Shape_js_1 = require("./Shape.js");
27
+ const TextBox_js_1 = require("./TextBox.js");
27
28
  function isRun(content) {
28
- return content instanceof Run_1.Run;
29
+ return content instanceof Run_js_1.Run;
29
30
  }
30
31
  function isField(content) {
31
- return content instanceof Field_1.Field || content instanceof Field_1.ComplexField;
32
+ return content instanceof Field_js_1.Field || content instanceof Field_js_1.ComplexField;
32
33
  }
33
34
  function isSimpleField(content) {
34
- return content instanceof Field_1.Field && !(content instanceof Field_1.ComplexField);
35
+ return content instanceof Field_js_1.Field && !(content instanceof Field_js_1.ComplexField);
35
36
  }
36
37
  function isComplexField(content) {
37
- return content instanceof Field_1.ComplexField;
38
+ return content instanceof Field_js_1.ComplexField;
38
39
  }
39
40
  function isHyperlink(content) {
40
- return content instanceof Hyperlink_1.Hyperlink;
41
+ return content instanceof Hyperlink_js_1.Hyperlink;
41
42
  }
42
43
  function isRevision(content) {
43
- return content instanceof Revision_1.Revision;
44
+ return content instanceof Revision_js_1.Revision;
44
45
  }
45
46
  function isRangeMarker(content) {
46
- return content instanceof RangeMarker_1.RangeMarker;
47
+ return content instanceof RangeMarker_js_1.RangeMarker;
47
48
  }
48
49
  function isShape(content) {
49
- return content instanceof Shape_1.Shape;
50
+ return content instanceof Shape_js_1.Shape;
50
51
  }
51
52
  function isTextBox(content) {
52
- return content instanceof TextBox_1.TextBox;
53
+ return content instanceof TextBox_js_1.TextBox;
53
54
  }
54
55
  class Paragraph {
55
56
  content = [];
@@ -119,7 +120,7 @@ class Paragraph {
119
120
  addRun(run) {
120
121
  run._setParentParagraph(this);
121
122
  if (this.trackingContext?.isEnabled()) {
122
- const revision = Revision_1.Revision.createInsertion(this.trackingContext.getAuthor(), run, new Date());
123
+ const revision = Revision_js_1.Revision.createInsertion(this.trackingContext.getAuthor(), run, new Date());
123
124
  this.trackingContext.getRevisionManager().register(revision);
124
125
  this.content.push(revision);
125
126
  }
@@ -143,10 +144,10 @@ class Paragraph {
143
144
  }
144
145
  addHyperlink(urlOrHyperlink) {
145
146
  if (typeof urlOrHyperlink === 'string') {
146
- const hyperlink = new Hyperlink_1.Hyperlink({ url: urlOrHyperlink, text: urlOrHyperlink });
147
+ const hyperlink = new Hyperlink_js_1.Hyperlink({ url: urlOrHyperlink, text: urlOrHyperlink });
147
148
  hyperlink._setParentParagraph(this);
148
149
  if (this.trackingContext?.isEnabled()) {
149
- const revision = Revision_1.Revision.createInsertion(this.trackingContext.getAuthor(), hyperlink, new Date());
150
+ const revision = Revision_js_1.Revision.createInsertion(this.trackingContext.getAuthor(), hyperlink, new Date());
150
151
  this.trackingContext.getRevisionManager().register(revision);
151
152
  this.content.push(revision);
152
153
  }
@@ -155,10 +156,10 @@ class Paragraph {
155
156
  }
156
157
  return hyperlink;
157
158
  }
158
- else if (urlOrHyperlink instanceof Hyperlink_1.Hyperlink) {
159
+ else if (urlOrHyperlink instanceof Hyperlink_js_1.Hyperlink) {
159
160
  urlOrHyperlink._setParentParagraph(this);
160
161
  if (this.trackingContext?.isEnabled()) {
161
- const revision = Revision_1.Revision.createInsertion(this.trackingContext.getAuthor(), urlOrHyperlink, new Date());
162
+ const revision = Revision_js_1.Revision.createInsertion(this.trackingContext.getAuthor(), urlOrHyperlink, new Date());
162
163
  this.trackingContext.getRevisionManager().register(revision);
163
164
  this.content.push(revision);
164
165
  }
@@ -168,10 +169,10 @@ class Paragraph {
168
169
  return this;
169
170
  }
170
171
  else {
171
- const hyperlink = new Hyperlink_1.Hyperlink({ text: 'Link' });
172
+ const hyperlink = new Hyperlink_js_1.Hyperlink({ text: 'Link' });
172
173
  hyperlink._setParentParagraph(this);
173
174
  if (this.trackingContext?.isEnabled()) {
174
- const revision = Revision_1.Revision.createInsertion(this.trackingContext.getAuthor(), hyperlink, new Date());
175
+ const revision = Revision_js_1.Revision.createInsertion(this.trackingContext.getAuthor(), hyperlink, new Date());
175
176
  this.trackingContext.getRevisionManager().register(revision);
176
177
  this.content.push(revision);
177
178
  }
@@ -248,31 +249,31 @@ class Paragraph {
248
249
  return [...this.commentsEnd];
249
250
  }
250
251
  addPageNumber(formatting) {
251
- return this.addField(Field_1.Field.createPageNumber(formatting));
252
+ return this.addField(Field_js_1.Field.createPageNumber(formatting));
252
253
  }
253
254
  addTotalPages(formatting) {
254
- return this.addField(Field_1.Field.createTotalPages(formatting));
255
+ return this.addField(Field_js_1.Field.createTotalPages(formatting));
255
256
  }
256
257
  addDate(format, formatting) {
257
- return this.addField(Field_1.Field.createDate(format, formatting));
258
+ return this.addField(Field_js_1.Field.createDate(format, formatting));
258
259
  }
259
260
  addTime(format, formatting) {
260
- return this.addField(Field_1.Field.createTime(format, formatting));
261
+ return this.addField(Field_js_1.Field.createTime(format, formatting));
261
262
  }
262
263
  addFilename(includePath = false, formatting) {
263
- return this.addField(Field_1.Field.createFilename(includePath, formatting));
264
+ return this.addField(Field_js_1.Field.createFilename(includePath, formatting));
264
265
  }
265
266
  addAuthor(formatting) {
266
- return this.addField(Field_1.Field.createAuthor(formatting));
267
+ return this.addField(Field_js_1.Field.createAuthor(formatting));
267
268
  }
268
269
  addTitle(formatting) {
269
- return this.addField(Field_1.Field.createTitle(formatting));
270
+ return this.addField(Field_js_1.Field.createTitle(formatting));
270
271
  }
271
272
  addText(text, formatting) {
272
- const run = new Run_1.Run(text, formatting);
273
+ const run = new Run_js_1.Run(text, formatting);
273
274
  run._setParentParagraph(this);
274
275
  if (this.trackingContext?.isEnabled()) {
275
- const revision = Revision_1.Revision.createInsertion(this.trackingContext.getAuthor(), run, new Date());
276
+ const revision = Revision_js_1.Revision.createInsertion(this.trackingContext.getAuthor(), run, new Date());
276
277
  this.trackingContext.getRevisionManager().register(revision);
277
278
  this.content.push(revision);
278
279
  }
@@ -282,38 +283,38 @@ class Paragraph {
282
283
  return this;
283
284
  }
284
285
  addLineBreak() {
285
- const run = new Run_1.Run('');
286
+ const run = new Run_js_1.Run('');
286
287
  run.addBreak();
287
288
  this.content.push(run);
288
289
  return this;
289
290
  }
290
291
  addColumnBreak() {
291
- const run = new Run_1.Run('');
292
+ const run = new Run_js_1.Run('');
292
293
  run.addBreak('column');
293
294
  this.content.push(run);
294
295
  return this;
295
296
  }
296
297
  setText(text, formatting) {
297
- this.content = [new Run_1.Run(text, formatting)];
298
+ this.content = [new Run_js_1.Run(text, formatting)];
298
299
  return this;
299
300
  }
300
301
  getRuns() {
301
302
  const runs = [];
302
303
  for (const item of this.content) {
303
- if (item instanceof Run_1.Run) {
304
+ if (item instanceof Run_js_1.Run) {
304
305
  runs.push(item);
305
306
  }
306
- else if (item instanceof Revision_1.Revision) {
307
+ else if (item instanceof Revision_js_1.Revision) {
307
308
  runs.push(...item.getRuns());
308
309
  }
309
- else if (item instanceof Hyperlink_1.Hyperlink) {
310
+ else if (item instanceof Hyperlink_js_1.Hyperlink) {
310
311
  runs.push(item.getRun());
311
312
  }
312
313
  }
313
314
  return runs;
314
315
  }
315
316
  getRevisions() {
316
- return this.content.filter((item) => item instanceof Revision_1.Revision);
317
+ return this.content.filter((item) => item instanceof Revision_js_1.Revision);
317
318
  }
318
319
  getContent() {
319
320
  return [...this.content];
@@ -322,11 +323,11 @@ class Paragraph {
322
323
  if (this.trackingContext?.isEnabled() && this.content.length > 0) {
323
324
  const deletedContent = [];
324
325
  for (const item of this.content) {
325
- if (item instanceof Revision_1.Revision) {
326
+ if (item instanceof Revision_js_1.Revision) {
326
327
  deletedContent.push(item);
327
328
  }
328
- else if (item instanceof Run_1.Run || item instanceof Hyperlink_1.Hyperlink) {
329
- const revision = Revision_1.Revision.createDeletion(this.trackingContext.getAuthor(), item, new Date());
329
+ else if (item instanceof Run_js_1.Run || item instanceof Hyperlink_js_1.Hyperlink) {
330
+ const revision = Revision_js_1.Revision.createDeletion(this.trackingContext.getAuthor(), item, new Date());
330
331
  this.trackingContext.getRevisionManager().register(revision);
331
332
  deletedContent.push(revision);
332
333
  }
@@ -353,11 +354,11 @@ class Paragraph {
353
354
  if (this.trackingContext?.isEnabled() && this.content.length > 0) {
354
355
  const deletedContent = [];
355
356
  for (const item of this.content) {
356
- if (item instanceof Revision_1.Revision) {
357
+ if (item instanceof Revision_js_1.Revision) {
357
358
  deletedContent.push(item);
358
359
  }
359
- else if (item instanceof Run_1.Run || item instanceof Hyperlink_1.Hyperlink) {
360
- const revision = Revision_1.Revision.createDeletion(this.trackingContext.getAuthor(), item, new Date());
360
+ else if (item instanceof Run_js_1.Run || item instanceof Hyperlink_js_1.Hyperlink) {
361
+ const revision = Revision_js_1.Revision.createDeletion(this.trackingContext.getAuthor(), item, new Date());
361
362
  this.trackingContext.getRevisionManager().register(revision);
362
363
  deletedContent.push(revision);
363
364
  }
@@ -368,10 +369,10 @@ class Paragraph {
368
369
  this.content = [...content];
369
370
  }
370
371
  for (const item of this.content) {
371
- if (item instanceof Hyperlink_1.Hyperlink) {
372
+ if (item instanceof Hyperlink_js_1.Hyperlink) {
372
373
  item._setParentParagraph(this);
373
374
  }
374
- else if (item instanceof Run_1.Run) {
375
+ else if (item instanceof Run_js_1.Run) {
375
376
  item._setParentParagraph(this);
376
377
  }
377
378
  }
@@ -382,8 +383,8 @@ class Paragraph {
382
383
  }
383
384
  const item = this.content[index];
384
385
  if (this.trackingContext?.isEnabled()) {
385
- if (item instanceof Run_1.Run || item instanceof Hyperlink_1.Hyperlink) {
386
- const revision = Revision_1.Revision.createDeletion(this.trackingContext.getAuthor(), item, new Date());
386
+ if (item instanceof Run_js_1.Run || item instanceof Hyperlink_js_1.Hyperlink) {
387
+ const revision = Revision_js_1.Revision.createDeletion(this.trackingContext.getAuthor(), item, new Date());
387
388
  this.trackingContext.getRevisionManager().register(revision);
388
389
  this.content[index] = revision;
389
390
  }
@@ -395,12 +396,12 @@ class Paragraph {
395
396
  }
396
397
  getText() {
397
398
  return this.content
398
- .filter((item) => item instanceof Run_1.Run || item instanceof Hyperlink_1.Hyperlink)
399
+ .filter((item) => item instanceof Run_js_1.Run || item instanceof Hyperlink_js_1.Hyperlink)
399
400
  .map((item) => item.getText())
400
401
  .join('');
401
402
  }
402
403
  getFields() {
403
- return this.content.filter((item) => item instanceof Field_1.Field || item instanceof Field_1.ComplexField);
404
+ return this.content.filter((item) => item instanceof Field_js_1.Field || item instanceof Field_js_1.ComplexField);
404
405
  }
405
406
  findFieldsByInstruction(pattern) {
406
407
  const regex = typeof pattern === 'string' ? new RegExp(pattern, 'i') : pattern;
@@ -411,7 +412,7 @@ class Paragraph {
411
412
  }
412
413
  removeAllFields() {
413
414
  const originalLength = this.content.length;
414
- this.content = this.content.filter((item) => !(item instanceof Field_1.Field || item instanceof Field_1.ComplexField));
415
+ this.content = this.content.filter((item) => !(item instanceof Field_js_1.Field || item instanceof Field_js_1.ComplexField));
415
416
  return originalLength - this.content.length;
416
417
  }
417
418
  replaceField(oldField, replacement) {
@@ -419,7 +420,7 @@ class Paragraph {
419
420
  if (index === -1)
420
421
  return false;
421
422
  if (typeof replacement === 'string') {
422
- this.content[index] = new Run_1.Run(replacement);
423
+ this.content[index] = new Run_js_1.Run(replacement);
423
424
  }
424
425
  else {
425
426
  this.content[index] = replacement;
@@ -500,7 +501,7 @@ class Paragraph {
500
501
  let mergeCount = 0;
501
502
  let currentMergeGroup = null;
502
503
  for (const item of this.content) {
503
- if (item instanceof Revision_1.Revision) {
504
+ if (item instanceof Revision_js_1.Revision) {
504
505
  if (currentMergeGroup && this.canMergeRevisions(currentMergeGroup, item, timeWindowMs)) {
505
506
  for (const content of item.getContent()) {
506
507
  currentMergeGroup.addContent(content);
@@ -548,7 +549,7 @@ class Paragraph {
548
549
  return true;
549
550
  }
550
551
  cloneRevision(revision) {
551
- const cloned = new Revision_1.Revision({
552
+ const cloned = new Revision_js_1.Revision({
552
553
  id: revision.getId(),
553
554
  author: revision.getAuthor(),
554
555
  date: revision.getDate(),
@@ -624,7 +625,7 @@ class Paragraph {
624
625
  }
625
626
  setLeftIndent(twips) {
626
627
  if (this.formatting.numbering) {
627
- logger_1.defaultLogger.warn('Setting left indentation on a numbered paragraph has no effect. ' +
628
+ logger_js_1.defaultLogger.warn('Setting left indentation on a numbered paragraph has no effect. ' +
628
629
  'Numbering controls indentation. Use different numbering levels to change indent.');
629
630
  }
630
631
  const previousValue = this.formatting.indentation?.left;
@@ -650,7 +651,7 @@ class Paragraph {
650
651
  }
651
652
  setFirstLineIndent(twips) {
652
653
  if (this.formatting.numbering) {
653
- logger_1.defaultLogger.warn('Setting first line indentation on a numbered paragraph has no effect. ' +
654
+ logger_js_1.defaultLogger.warn('Setting first line indentation on a numbered paragraph has no effect. ' +
654
655
  'Numbering controls indentation using hanging indent.');
655
656
  }
656
657
  const previousValue = this.formatting.indentation?.firstLine;
@@ -668,7 +669,7 @@ class Paragraph {
668
669
  throw new Error('Hanging indent must be non-negative');
669
670
  }
670
671
  if (this.formatting.numbering) {
671
- logger_1.defaultLogger.warn('Setting hanging indentation on a numbered paragraph has no effect. ' +
672
+ logger_js_1.defaultLogger.warn('Setting hanging indentation on a numbered paragraph has no effect. ' +
672
673
  'Numbering controls indentation.');
673
674
  }
674
675
  const previousValue = this.formatting.indentation?.hanging;
@@ -1010,22 +1011,22 @@ class Paragraph {
1010
1011
  text: run.getText(),
1011
1012
  rtl: run.isRTL(),
1012
1013
  }));
1013
- (0, diagnostics_1.logParagraphContent)('serialization', -1, runData, this.formatting.bidi);
1014
+ (0, diagnostics_js_1.logParagraphContent)('serialization', -1, runData, this.formatting.bidi);
1014
1015
  if (this.formatting.bidi) {
1015
- (0, diagnostics_1.logTextDirection)(`Serializing paragraph with BiDi enabled`);
1016
+ (0, diagnostics_js_1.logTextDirection)(`Serializing paragraph with BiDi enabled`);
1016
1017
  }
1017
1018
  const pPrChildren = [];
1018
1019
  if (this.formatting.style) {
1019
- pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('pStyle', { 'w:val': this.formatting.style }));
1020
+ pPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('pStyle', { 'w:val': this.formatting.style }));
1020
1021
  }
1021
1022
  if (this.formatting.keepNext !== undefined) {
1022
- pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('keepNext', { 'w:val': this.formatting.keepNext ? '1' : '0' }));
1023
+ pPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('keepNext', { 'w:val': this.formatting.keepNext ? '1' : '0' }));
1023
1024
  }
1024
1025
  if (this.formatting.keepLines !== undefined) {
1025
- pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('keepLines', { 'w:val': this.formatting.keepLines ? '1' : '0' }));
1026
+ pPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('keepLines', { 'w:val': this.formatting.keepLines ? '1' : '0' }));
1026
1027
  }
1027
1028
  if (this.formatting.pageBreakBefore !== undefined) {
1028
- pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('pageBreakBefore', {
1029
+ pPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('pageBreakBefore', {
1029
1030
  'w:val': this.formatting.pageBreakBefore ? '1' : '0',
1030
1031
  }));
1031
1032
  }
@@ -1063,34 +1064,34 @@ class Paragraph {
1063
1064
  if (f.anchorLock !== undefined)
1064
1065
  attrs['w:anchorLock'] = f.anchorLock ? '1' : '0';
1065
1066
  if (Object.keys(attrs).length > 0) {
1066
- pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('framePr', attrs));
1067
+ pPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('framePr', attrs));
1067
1068
  }
1068
1069
  }
1069
1070
  if (this.formatting.widowControl !== undefined) {
1070
- pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('widowControl', {
1071
+ pPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('widowControl', {
1071
1072
  'w:val': this.formatting.widowControl ? '1' : '0',
1072
1073
  }));
1073
1074
  }
1074
1075
  if (this.formatting.numbering) {
1075
- const numPr = XMLBuilder_1.XMLBuilder.w('numPr', undefined, [
1076
- XMLBuilder_1.XMLBuilder.wSelf('ilvl', {
1076
+ const numPr = XMLBuilder_js_1.XMLBuilder.w('numPr', undefined, [
1077
+ XMLBuilder_js_1.XMLBuilder.wSelf('ilvl', {
1077
1078
  'w:val': this.formatting.numbering.level.toString(),
1078
1079
  }),
1079
- XMLBuilder_1.XMLBuilder.wSelf('numId', {
1080
+ XMLBuilder_js_1.XMLBuilder.wSelf('numId', {
1080
1081
  'w:val': this.formatting.numbering.numId.toString(),
1081
1082
  }),
1082
1083
  ]);
1083
1084
  pPrChildren.push(numPr);
1084
1085
  }
1085
1086
  else if (this.formatting.numberingSuppressed) {
1086
- const numPr = XMLBuilder_1.XMLBuilder.w('numPr', undefined, [
1087
- XMLBuilder_1.XMLBuilder.wSelf('ilvl', { 'w:val': '0' }),
1088
- XMLBuilder_1.XMLBuilder.wSelf('numId', { 'w:val': '0' }),
1087
+ const numPr = XMLBuilder_js_1.XMLBuilder.w('numPr', undefined, [
1088
+ XMLBuilder_js_1.XMLBuilder.wSelf('ilvl', { 'w:val': '0' }),
1089
+ XMLBuilder_js_1.XMLBuilder.wSelf('numId', { 'w:val': '0' }),
1089
1090
  ]);
1090
1091
  pPrChildren.push(numPr);
1091
1092
  }
1092
1093
  if (this.formatting.suppressLineNumbers !== undefined) {
1093
- pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('suppressLineNumbers', {
1094
+ pPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('suppressLineNumbers', {
1094
1095
  'w:val': this.formatting.suppressLineNumbers ? '1' : '0',
1095
1096
  }));
1096
1097
  }
@@ -1100,19 +1101,26 @@ class Paragraph {
1100
1101
  const createBorder = (borderType, border) => {
1101
1102
  if (!border)
1102
1103
  return null;
1103
- const attributes = {};
1104
- if (border.style)
1105
- attributes['w:val'] = border.style;
1104
+ const attributes = {
1105
+ 'w:val': border.style ?? 'nil',
1106
+ };
1106
1107
  if (border.size !== undefined)
1107
1108
  attributes['w:sz'] = border.size;
1108
1109
  if (border.color)
1109
1110
  attributes['w:color'] = border.color;
1110
1111
  if (border.space !== undefined)
1111
1112
  attributes['w:space'] = border.space;
1112
- if (Object.keys(attributes).length > 0) {
1113
- return XMLBuilder_1.XMLBuilder.wSelf(borderType, attributes);
1114
- }
1115
- return null;
1113
+ if (border.themeColor)
1114
+ attributes['w:themeColor'] = border.themeColor;
1115
+ if (border.themeTint)
1116
+ attributes['w:themeTint'] = border.themeTint;
1117
+ if (border.themeShade)
1118
+ attributes['w:themeShade'] = border.themeShade;
1119
+ if (border.shadow !== undefined)
1120
+ attributes['w:shadow'] = border.shadow ? '1' : '0';
1121
+ if (border.frame !== undefined)
1122
+ attributes['w:frame'] = border.frame ? '1' : '0';
1123
+ return XMLBuilder_js_1.XMLBuilder.wSelf(borderType, attributes);
1116
1124
  };
1117
1125
  const topBorder = createBorder('top', borders.top);
1118
1126
  if (topBorder)
@@ -1133,58 +1141,58 @@ class Paragraph {
1133
1141
  if (barBorder)
1134
1142
  borderChildren.push(barBorder);
1135
1143
  if (borderChildren.length > 0) {
1136
- pPrChildren.push(XMLBuilder_1.XMLBuilder.w('pBdr', undefined, borderChildren));
1144
+ pPrChildren.push(XMLBuilder_js_1.XMLBuilder.w('pBdr', undefined, borderChildren));
1137
1145
  }
1138
1146
  }
1139
1147
  if (this.formatting.shading) {
1140
- const shdAttrs = (0, CommonTypes_1.buildShadingAttributes)(this.formatting.shading);
1148
+ const shdAttrs = (0, CommonTypes_js_1.buildShadingAttributes)(this.formatting.shading);
1141
1149
  if (Object.keys(shdAttrs).length > 0) {
1142
- pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('shd', shdAttrs));
1150
+ pPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('shd', shdAttrs));
1143
1151
  }
1144
1152
  }
1145
1153
  if (this.formatting.tabs && this.formatting.tabs.length > 0) {
1146
1154
  const tabChildren = [];
1147
1155
  for (const tab of this.formatting.tabs) {
1148
- const attributes = {};
1149
- attributes['w:pos'] = tab.position;
1150
- if (tab.val)
1151
- attributes['w:val'] = tab.val;
1156
+ const attributes = {
1157
+ 'w:val': tab.val ?? 'left',
1158
+ 'w:pos': tab.position,
1159
+ };
1152
1160
  if (tab.leader)
1153
1161
  attributes['w:leader'] = tab.leader;
1154
- tabChildren.push(XMLBuilder_1.XMLBuilder.wSelf('tab', attributes));
1162
+ tabChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('tab', attributes));
1155
1163
  }
1156
1164
  if (tabChildren.length > 0) {
1157
- pPrChildren.push(XMLBuilder_1.XMLBuilder.w('tabs', undefined, tabChildren));
1165
+ pPrChildren.push(XMLBuilder_js_1.XMLBuilder.w('tabs', undefined, tabChildren));
1158
1166
  }
1159
1167
  }
1160
1168
  if (this.formatting.suppressAutoHyphens !== undefined) {
1161
- pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('suppressAutoHyphens', {
1169
+ pPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('suppressAutoHyphens', {
1162
1170
  'w:val': this.formatting.suppressAutoHyphens ? '1' : '0',
1163
1171
  }));
1164
1172
  }
1165
1173
  if (this.formatting.kinsoku !== undefined) {
1166
- pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('kinsoku', { 'w:val': this.formatting.kinsoku ? '1' : '0' }));
1174
+ pPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('kinsoku', { 'w:val': this.formatting.kinsoku ? '1' : '0' }));
1167
1175
  }
1168
1176
  if (this.formatting.wordWrap !== undefined) {
1169
- pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('wordWrap', { 'w:val': this.formatting.wordWrap ? '1' : '0' }));
1177
+ pPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('wordWrap', { 'w:val': this.formatting.wordWrap ? '1' : '0' }));
1170
1178
  }
1171
1179
  if (this.formatting.overflowPunct !== undefined) {
1172
- pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('overflowPunct', { 'w:val': this.formatting.overflowPunct ? '1' : '0' }));
1180
+ pPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('overflowPunct', { 'w:val': this.formatting.overflowPunct ? '1' : '0' }));
1173
1181
  }
1174
1182
  if (this.formatting.topLinePunct !== undefined) {
1175
- pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('topLinePunct', { 'w:val': this.formatting.topLinePunct ? '1' : '0' }));
1183
+ pPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('topLinePunct', { 'w:val': this.formatting.topLinePunct ? '1' : '0' }));
1176
1184
  }
1177
1185
  if (this.formatting.autoSpaceDE !== undefined) {
1178
- pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('autoSpaceDE', { 'w:val': this.formatting.autoSpaceDE ? '1' : '0' }));
1186
+ pPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('autoSpaceDE', { 'w:val': this.formatting.autoSpaceDE ? '1' : '0' }));
1179
1187
  }
1180
1188
  if (this.formatting.autoSpaceDN !== undefined) {
1181
- pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('autoSpaceDN', { 'w:val': this.formatting.autoSpaceDN ? '1' : '0' }));
1189
+ pPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('autoSpaceDN', { 'w:val': this.formatting.autoSpaceDN ? '1' : '0' }));
1182
1190
  }
1183
1191
  if (this.formatting.bidi !== undefined) {
1184
- pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('bidi', { 'w:val': this.formatting.bidi ? '1' : '0' }));
1192
+ pPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('bidi', { 'w:val': this.formatting.bidi ? '1' : '0' }));
1185
1193
  }
1186
1194
  if (this.formatting.adjustRightInd !== undefined) {
1187
- pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('adjustRightInd', {
1195
+ pPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('adjustRightInd', {
1188
1196
  'w:val': this.formatting.adjustRightInd ? '1' : '0',
1189
1197
  }));
1190
1198
  }
@@ -1208,7 +1216,7 @@ class Paragraph {
1208
1216
  if (spc.lineRule)
1209
1217
  attributes['w:lineRule'] = spc.lineRule;
1210
1218
  if (Object.keys(attributes).length > 0) {
1211
- pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('spacing', attributes));
1219
+ pPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('spacing', attributes));
1212
1220
  }
1213
1221
  }
1214
1222
  if (this.formatting.indentation) {
@@ -1224,85 +1232,114 @@ class Paragraph {
1224
1232
  else if (ind.firstLine !== undefined) {
1225
1233
  attributes['w:firstLine'] = ind.firstLine;
1226
1234
  }
1235
+ if (ind.leftChars !== undefined)
1236
+ attributes['w:leftChars'] = ind.leftChars;
1237
+ if (ind.rightChars !== undefined)
1238
+ attributes['w:rightChars'] = ind.rightChars;
1239
+ if (ind.hangingChars !== undefined) {
1240
+ attributes['w:hangingChars'] = ind.hangingChars;
1241
+ }
1242
+ else if (ind.firstLineChars !== undefined) {
1243
+ attributes['w:firstLineChars'] = ind.firstLineChars;
1244
+ }
1227
1245
  if (Object.keys(attributes).length > 0) {
1228
- pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('ind', attributes));
1246
+ pPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('ind', attributes));
1229
1247
  }
1230
1248
  }
1231
1249
  if (this.formatting.contextualSpacing !== undefined) {
1232
- pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('contextualSpacing', {
1250
+ pPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('contextualSpacing', {
1233
1251
  'w:val': this.formatting.contextualSpacing ? '1' : '0',
1234
1252
  }));
1235
1253
  }
1236
1254
  if (this.formatting.mirrorIndents !== undefined) {
1237
- pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('mirrorIndents', { 'w:val': this.formatting.mirrorIndents ? '1' : '0' }));
1255
+ pPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('mirrorIndents', { 'w:val': this.formatting.mirrorIndents ? '1' : '0' }));
1238
1256
  }
1239
1257
  if (this.formatting.suppressOverlap !== undefined) {
1240
- pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('suppressOverlap', {
1258
+ pPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('suppressOverlap', {
1241
1259
  'w:val': this.formatting.suppressOverlap ? '1' : '0',
1242
1260
  }));
1243
1261
  }
1244
1262
  if (this.formatting.alignment) {
1245
1263
  const alignmentValue = this.formatting.alignment === 'justify' ? 'both' : this.formatting.alignment;
1246
- pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('jc', { 'w:val': alignmentValue }));
1264
+ pPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('jc', { 'w:val': alignmentValue }));
1247
1265
  }
1248
1266
  if (this.formatting.textDirection) {
1249
- pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('textDirection', {
1267
+ pPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('textDirection', {
1250
1268
  'w:val': this.formatting.textDirection,
1251
1269
  }));
1252
1270
  }
1253
1271
  if (this.formatting.textAlignment) {
1254
- pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('textAlignment', {
1272
+ pPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('textAlignment', {
1255
1273
  'w:val': this.formatting.textAlignment,
1256
1274
  }));
1257
1275
  }
1258
1276
  if (this.formatting.textboxTightWrap) {
1259
- pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('textboxTightWrap', {
1277
+ pPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('textboxTightWrap', {
1260
1278
  'w:val': this.formatting.textboxTightWrap,
1261
1279
  }));
1262
1280
  }
1263
1281
  if (this.formatting.outlineLevel !== undefined) {
1264
- pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('outlineLvl', {
1282
+ pPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('outlineLvl', {
1265
1283
  'w:val': this.formatting.outlineLevel.toString(),
1266
1284
  }));
1267
1285
  }
1268
1286
  if (this.formatting.divId !== undefined) {
1269
- pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('divId', { 'w:val': this.formatting.divId.toString() }));
1287
+ pPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('divId', { 'w:val': this.formatting.divId.toString() }));
1270
1288
  }
1271
1289
  if (this.formatting.cnfStyle) {
1272
- pPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('cnfStyle', { 'w:val': this.formatting.cnfStyle }));
1290
+ pPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('cnfStyle', { 'w:val': this.formatting.cnfStyle }));
1273
1291
  }
1274
1292
  if (this.formatting.paragraphMarkRunProperties ||
1275
1293
  this.formatting.paragraphMarkDeletion ||
1276
- this.formatting.paragraphMarkInsertion) {
1294
+ this.formatting.paragraphMarkInsertion ||
1295
+ this.formatting.paragraphMarkRunPropertiesChange) {
1277
1296
  const rPrChildren = [];
1278
- if (this.formatting.paragraphMarkRunProperties) {
1279
- const rPr = Run_1.Run.generateRunPropertiesXML(this.formatting.paragraphMarkRunProperties);
1280
- if (rPr?.children) {
1281
- for (const child of rPr.children) {
1282
- if (typeof child !== 'string') {
1283
- rPrChildren.push(child);
1284
- }
1285
- }
1286
- }
1287
- }
1288
1297
  if (this.formatting.paragraphMarkInsertion) {
1289
1298
  const ins = this.formatting.paragraphMarkInsertion;
1290
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('ins', {
1299
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('ins', {
1291
1300
  'w:id': ins.id.toString(),
1292
1301
  'w:author': ins.author,
1293
- 'w:date': (0, dateFormatting_1.formatDateForXml)(ins.date),
1302
+ 'w:date': (0, dateFormatting_js_1.formatDateForXml)(ins.date),
1294
1303
  }));
1295
1304
  }
1296
1305
  if (this.formatting.paragraphMarkDeletion) {
1297
1306
  const del = this.formatting.paragraphMarkDeletion;
1298
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('del', {
1307
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('del', {
1299
1308
  'w:id': del.id.toString(),
1300
1309
  'w:author': del.author,
1301
- 'w:date': (0, dateFormatting_1.formatDateForXml)(del.date),
1310
+ 'w:date': (0, dateFormatting_js_1.formatDateForXml)(del.date),
1302
1311
  }));
1303
1312
  }
1313
+ if (this.formatting.paragraphMarkRunProperties) {
1314
+ const rPr = Run_js_1.Run.generateRunPropertiesXML(this.formatting.paragraphMarkRunProperties);
1315
+ if (rPr?.children) {
1316
+ for (const child of rPr.children) {
1317
+ if (typeof child !== 'string') {
1318
+ rPrChildren.push(child);
1319
+ }
1320
+ }
1321
+ }
1322
+ }
1323
+ const paraRPrChange = this.formatting.paragraphMarkRunPropertiesChange;
1324
+ if (paraRPrChange) {
1325
+ const prevRPr = Run_js_1.Run.generateRunPropertiesXML(paraRPrChange.previousProperties);
1326
+ const prevRPrElement = prevRPr ?? {
1327
+ name: 'w:rPr',
1328
+ attributes: {},
1329
+ children: [],
1330
+ };
1331
+ rPrChildren.push({
1332
+ name: 'w:rPrChange',
1333
+ attributes: {
1334
+ 'w:id': paraRPrChange.id.toString(),
1335
+ 'w:author': paraRPrChange.author,
1336
+ 'w:date': (0, dateFormatting_js_1.formatDateForXml)(paraRPrChange.date),
1337
+ },
1338
+ children: [prevRPrElement],
1339
+ });
1340
+ }
1304
1341
  if (rPrChildren.length > 0) {
1305
- pPrChildren.push(XMLBuilder_1.XMLBuilder.w('rPr', undefined, rPrChildren));
1342
+ pPrChildren.push(XMLBuilder_js_1.XMLBuilder.w('rPr', undefined, rPrChildren));
1306
1343
  }
1307
1344
  }
1308
1345
  if (this.formatting.sectPr) {
@@ -1326,16 +1363,16 @@ class Paragraph {
1326
1363
  if (change.previousProperties) {
1327
1364
  const prev = change.previousProperties;
1328
1365
  if (prev.style) {
1329
- prevPPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('pStyle', { 'w:val': prev.style }));
1366
+ prevPPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('pStyle', { 'w:val': prev.style }));
1330
1367
  }
1331
1368
  if (prev.keepNext !== undefined) {
1332
- prevPPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('keepNext', prev.keepNext ? { 'w:val': '1' } : { 'w:val': '0' }));
1369
+ prevPPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('keepNext', prev.keepNext ? { 'w:val': '1' } : { 'w:val': '0' }));
1333
1370
  }
1334
1371
  if (prev.keepLines !== undefined) {
1335
- prevPPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('keepLines', prev.keepLines ? { 'w:val': '1' } : { 'w:val': '0' }));
1372
+ prevPPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('keepLines', prev.keepLines ? { 'w:val': '1' } : { 'w:val': '0' }));
1336
1373
  }
1337
1374
  if (prev.pageBreakBefore !== undefined) {
1338
- prevPPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('pageBreakBefore', prev.pageBreakBefore ? { 'w:val': '1' } : { 'w:val': '0' }));
1375
+ prevPPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('pageBreakBefore', prev.pageBreakBefore ? { 'w:val': '1' } : { 'w:val': '0' }));
1339
1376
  }
1340
1377
  if (prev.framePr) {
1341
1378
  const fAttrs = {};
@@ -1371,36 +1408,36 @@ class Paragraph {
1371
1408
  if (f.anchorLock !== undefined)
1372
1409
  fAttrs['w:anchorLock'] = f.anchorLock ? '1' : '0';
1373
1410
  if (Object.keys(fAttrs).length > 0) {
1374
- prevPPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('framePr', fAttrs));
1411
+ prevPPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('framePr', fAttrs));
1375
1412
  }
1376
1413
  }
1377
1414
  if (prev.widowControl !== undefined) {
1378
- prevPPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('widowControl', {
1415
+ prevPPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('widowControl', {
1379
1416
  'w:val': prev.widowControl ? '1' : '0',
1380
1417
  }));
1381
1418
  }
1382
1419
  if (prev.numbering) {
1383
1420
  const numPrChildren = [];
1384
1421
  if (prev.numbering.level !== undefined) {
1385
- numPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('ilvl', { 'w:val': prev.numbering.level.toString() }));
1422
+ numPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('ilvl', { 'w:val': prev.numbering.level.toString() }));
1386
1423
  }
1387
1424
  if (prev.numbering.numId !== undefined) {
1388
- numPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('numId', { 'w:val': prev.numbering.numId.toString() }));
1425
+ numPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('numId', { 'w:val': prev.numbering.numId.toString() }));
1389
1426
  }
1390
1427
  if (numPrChildren.length > 0) {
1391
- prevPPrChildren.push(XMLBuilder_1.XMLBuilder.w('numPr', undefined, numPrChildren));
1428
+ prevPPrChildren.push(XMLBuilder_js_1.XMLBuilder.w('numPr', undefined, numPrChildren));
1392
1429
  }
1393
1430
  }
1394
1431
  else if (prev.numberingSuppressed) {
1395
- prevPPrChildren.push(XMLBuilder_1.XMLBuilder.w('numPr', undefined, [
1396
- XMLBuilder_1.XMLBuilder.wSelf('ilvl', { 'w:val': '0' }),
1397
- XMLBuilder_1.XMLBuilder.wSelf('numId', { 'w:val': '0' }),
1432
+ prevPPrChildren.push(XMLBuilder_js_1.XMLBuilder.w('numPr', undefined, [
1433
+ XMLBuilder_js_1.XMLBuilder.wSelf('ilvl', { 'w:val': '0' }),
1434
+ XMLBuilder_js_1.XMLBuilder.wSelf('numId', { 'w:val': '0' }),
1398
1435
  ]));
1399
1436
  }
1400
1437
  if (prev.suppressLineNumbers !== undefined) {
1401
- if (prev.suppressLineNumbers) {
1402
- prevPPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('suppressLineNumbers'));
1403
- }
1438
+ prevPPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('suppressLineNumbers', {
1439
+ 'w:val': prev.suppressLineNumbers ? '1' : '0',
1440
+ }));
1404
1441
  }
1405
1442
  if (prev.borders) {
1406
1443
  const borderChildren = [];
@@ -1408,71 +1445,76 @@ class Paragraph {
1408
1445
  for (const side of borderSides) {
1409
1446
  const border = prev.borders[side];
1410
1447
  if (border) {
1411
- const attrs = {};
1412
- if (border.style)
1413
- attrs['w:val'] = border.style;
1448
+ const attrs = { 'w:val': border.style ?? 'nil' };
1414
1449
  if (border.size !== undefined)
1415
1450
  attrs['w:sz'] = border.size.toString();
1416
1451
  if (border.color)
1417
1452
  attrs['w:color'] = border.color;
1418
1453
  if (border.space !== undefined)
1419
1454
  attrs['w:space'] = border.space.toString();
1420
- if (Object.keys(attrs).length > 0) {
1421
- borderChildren.push(XMLBuilder_1.XMLBuilder.wSelf(side, attrs));
1422
- }
1455
+ if (border.themeColor)
1456
+ attrs['w:themeColor'] = border.themeColor;
1457
+ if (border.themeTint)
1458
+ attrs['w:themeTint'] = border.themeTint;
1459
+ if (border.themeShade)
1460
+ attrs['w:themeShade'] = border.themeShade;
1461
+ if (border.shadow !== undefined)
1462
+ attrs['w:shadow'] = border.shadow ? '1' : '0';
1463
+ if (border.frame !== undefined)
1464
+ attrs['w:frame'] = border.frame ? '1' : '0';
1465
+ borderChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf(side, attrs));
1423
1466
  }
1424
1467
  }
1425
1468
  if (borderChildren.length > 0) {
1426
- prevPPrChildren.push(XMLBuilder_1.XMLBuilder.w('pBdr', undefined, borderChildren));
1469
+ prevPPrChildren.push(XMLBuilder_js_1.XMLBuilder.w('pBdr', undefined, borderChildren));
1427
1470
  }
1428
1471
  }
1429
1472
  if (prev.shading) {
1430
- const shdAttrs = (0, CommonTypes_1.buildShadingAttributes)(prev.shading);
1473
+ const shdAttrs = (0, CommonTypes_js_1.buildShadingAttributes)(prev.shading);
1431
1474
  if (Object.keys(shdAttrs).length > 0) {
1432
- prevPPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('shd', shdAttrs));
1475
+ prevPPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('shd', shdAttrs));
1433
1476
  }
1434
1477
  }
1435
1478
  if (prev.tabs && prev.tabs.length > 0) {
1436
1479
  const tabChildren = prev.tabs.map((tab) => {
1437
1480
  const tabAttrs = {
1481
+ 'w:val': tab.val ?? 'left',
1438
1482
  'w:pos': tab.position.toString(),
1439
1483
  };
1440
- if (tab.val)
1441
- tabAttrs['w:val'] = tab.val;
1442
1484
  if (tab.leader)
1443
1485
  tabAttrs['w:leader'] = tab.leader;
1444
- return XMLBuilder_1.XMLBuilder.wSelf('tab', tabAttrs);
1486
+ return XMLBuilder_js_1.XMLBuilder.wSelf('tab', tabAttrs);
1445
1487
  });
1446
- prevPPrChildren.push(XMLBuilder_1.XMLBuilder.w('tabs', undefined, tabChildren));
1488
+ prevPPrChildren.push(XMLBuilder_js_1.XMLBuilder.w('tabs', undefined, tabChildren));
1447
1489
  }
1448
1490
  if (prev.suppressAutoHyphens !== undefined) {
1449
- if (prev.suppressAutoHyphens) {
1450
- prevPPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('suppressAutoHyphens', { 'w:val': '1' }));
1451
- }
1491
+ prevPPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('suppressAutoHyphens', {
1492
+ 'w:val': prev.suppressAutoHyphens ? '1' : '0',
1493
+ }));
1452
1494
  }
1453
1495
  if (prev.kinsoku !== undefined) {
1454
- prevPPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('kinsoku', { 'w:val': prev.kinsoku ? '1' : '0' }));
1496
+ prevPPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('kinsoku', { 'w:val': prev.kinsoku ? '1' : '0' }));
1455
1497
  }
1456
1498
  if (prev.wordWrap !== undefined) {
1457
- prevPPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('wordWrap', { 'w:val': prev.wordWrap ? '1' : '0' }));
1499
+ prevPPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('wordWrap', { 'w:val': prev.wordWrap ? '1' : '0' }));
1458
1500
  }
1459
1501
  if (prev.overflowPunct !== undefined) {
1460
- prevPPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('overflowPunct', { 'w:val': prev.overflowPunct ? '1' : '0' }));
1502
+ prevPPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('overflowPunct', { 'w:val': prev.overflowPunct ? '1' : '0' }));
1461
1503
  }
1462
1504
  if (prev.topLinePunct !== undefined) {
1463
- prevPPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('topLinePunct', { 'w:val': prev.topLinePunct ? '1' : '0' }));
1505
+ prevPPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('topLinePunct', { 'w:val': prev.topLinePunct ? '1' : '0' }));
1464
1506
  }
1465
1507
  if (prev.autoSpaceDE !== undefined) {
1466
- prevPPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('autoSpaceDE', { 'w:val': prev.autoSpaceDE ? '1' : '0' }));
1508
+ prevPPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('autoSpaceDE', { 'w:val': prev.autoSpaceDE ? '1' : '0' }));
1467
1509
  }
1468
1510
  if (prev.autoSpaceDN !== undefined) {
1469
- prevPPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('autoSpaceDN', { 'w:val': prev.autoSpaceDN ? '1' : '0' }));
1511
+ prevPPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('autoSpaceDN', { 'w:val': prev.autoSpaceDN ? '1' : '0' }));
1470
1512
  }
1471
1513
  if (prev.bidi !== undefined) {
1472
- prevPPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('bidi', { 'w:val': prev.bidi ? '1' : '0' }));
1514
+ prevPPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('bidi', { 'w:val': prev.bidi ? '1' : '0' }));
1473
1515
  }
1474
1516
  if (prev.adjustRightInd !== undefined) {
1475
- prevPPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('adjustRightInd', {
1517
+ prevPPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('adjustRightInd', {
1476
1518
  'w:val': prev.adjustRightInd ? '1' : '0',
1477
1519
  }));
1478
1520
  }
@@ -1495,57 +1537,70 @@ class Paragraph {
1495
1537
  if (prev.spacing.lineRule)
1496
1538
  spacingAttrs['w:lineRule'] = prev.spacing.lineRule;
1497
1539
  if (Object.keys(spacingAttrs).length > 0) {
1498
- prevPPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('spacing', spacingAttrs));
1540
+ prevPPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('spacing', spacingAttrs));
1499
1541
  }
1500
1542
  }
1501
1543
  if (prev.indentation) {
1502
1544
  const indAttrs = {};
1503
- if (prev.indentation.left !== undefined)
1504
- indAttrs['w:left'] = prev.indentation.left.toString();
1505
- if (prev.indentation.right !== undefined)
1506
- indAttrs['w:right'] = prev.indentation.right.toString();
1507
- if (prev.indentation.firstLine !== undefined)
1508
- indAttrs['w:firstLine'] = prev.indentation.firstLine.toString();
1509
- if (prev.indentation.hanging !== undefined)
1510
- indAttrs['w:hanging'] = prev.indentation.hanging.toString();
1511
- prevPPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('ind', indAttrs));
1545
+ const indentation = prev.indentation;
1546
+ if (indentation.left !== undefined)
1547
+ indAttrs['w:left'] = indentation.left.toString();
1548
+ if (indentation.right !== undefined)
1549
+ indAttrs['w:right'] = indentation.right.toString();
1550
+ if (indentation.hanging !== undefined) {
1551
+ indAttrs['w:hanging'] = indentation.hanging.toString();
1552
+ }
1553
+ else if (indentation.firstLine !== undefined) {
1554
+ indAttrs['w:firstLine'] = indentation.firstLine.toString();
1555
+ }
1556
+ if (indentation.leftChars !== undefined)
1557
+ indAttrs['w:leftChars'] = indentation.leftChars.toString();
1558
+ if (indentation.rightChars !== undefined)
1559
+ indAttrs['w:rightChars'] = indentation.rightChars.toString();
1560
+ if (indentation.hangingChars !== undefined) {
1561
+ indAttrs['w:hangingChars'] = indentation.hangingChars.toString();
1562
+ }
1563
+ else if (indentation.firstLineChars !== undefined) {
1564
+ indAttrs['w:firstLineChars'] = indentation.firstLineChars.toString();
1565
+ }
1566
+ prevPPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('ind', indAttrs));
1512
1567
  }
1513
1568
  if (prev.contextualSpacing !== undefined) {
1514
- prevPPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('contextualSpacing', {
1569
+ prevPPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('contextualSpacing', {
1515
1570
  'w:val': prev.contextualSpacing ? '1' : '0',
1516
1571
  }));
1517
1572
  }
1518
1573
  if (prev.mirrorIndents !== undefined) {
1519
- prevPPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('mirrorIndents', {
1574
+ prevPPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('mirrorIndents', {
1520
1575
  'w:val': prev.mirrorIndents ? '1' : '0',
1521
1576
  }));
1522
1577
  }
1523
1578
  if (prev.suppressOverlap !== undefined) {
1524
- prevPPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('suppressOverlap', {
1579
+ prevPPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('suppressOverlap', {
1525
1580
  'w:val': prev.suppressOverlap ? '1' : '0',
1526
1581
  }));
1527
1582
  }
1528
1583
  if (prev.alignment) {
1529
1584
  const alignmentValue = prev.alignment === 'justify' ? 'both' : prev.alignment;
1530
- prevPPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('jc', { 'w:val': alignmentValue }));
1585
+ prevPPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('jc', { 'w:val': alignmentValue }));
1531
1586
  }
1532
1587
  if (prev.textDirection) {
1533
- prevPPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('textDirection', { 'w:val': prev.textDirection }));
1588
+ prevPPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('textDirection', { 'w:val': prev.textDirection }));
1534
1589
  }
1535
1590
  if (prev.textAlignment) {
1536
- prevPPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('textAlignment', { 'w:val': prev.textAlignment }));
1591
+ prevPPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('textAlignment', { 'w:val': prev.textAlignment }));
1537
1592
  }
1538
1593
  if (prev.textboxTightWrap) {
1539
- prevPPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('textboxTightWrap', { 'w:val': prev.textboxTightWrap }));
1594
+ prevPPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('textboxTightWrap', { 'w:val': prev.textboxTightWrap }));
1540
1595
  }
1541
1596
  if (prev.outlineLevel !== undefined) {
1542
- prevPPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('outlineLvl', { 'w:val': prev.outlineLevel.toString() }));
1597
+ prevPPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('outlineLvl', { 'w:val': prev.outlineLevel.toString() }));
1543
1598
  }
1544
1599
  if (prev.divId !== undefined) {
1545
- prevPPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('divId', { 'w:val': prev.divId.toString() }));
1600
+ prevPPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('divId', { 'w:val': prev.divId.toString() }));
1546
1601
  }
1547
1602
  if (prev.cnfStyle) {
1548
- prevPPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('cnfStyle', { 'w:val': prev.cnfStyle }));
1603
+ prevPPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('cnfStyle', { 'w:val': prev.cnfStyle }));
1549
1604
  }
1550
1605
  }
1551
1606
  if (prevPPrChildren.length > 0) {
@@ -1565,7 +1620,7 @@ class Paragraph {
1565
1620
  }
1566
1621
  const paragraphChildren = [];
1567
1622
  if (pPrChildren.length > 0) {
1568
- paragraphChildren.push(XMLBuilder_1.XMLBuilder.w('pPr', undefined, pPrChildren));
1623
+ paragraphChildren.push(XMLBuilder_js_1.XMLBuilder.w('pPr', undefined, pPrChildren));
1569
1624
  }
1570
1625
  for (const bookmark of this.bookmarksStart) {
1571
1626
  paragraphChildren.push(bookmark.toStartXML());
@@ -1575,22 +1630,22 @@ class Paragraph {
1575
1630
  }
1576
1631
  for (let i = 0; i < this.content.length; i++) {
1577
1632
  const item = this.content[i];
1578
- if (item instanceof Field_1.Field) {
1633
+ if (item instanceof Field_js_1.Field) {
1579
1634
  paragraphChildren.push(item.toXML());
1580
1635
  }
1581
- else if (item instanceof Field_1.ComplexField) {
1636
+ else if (item instanceof Field_js_1.ComplexField) {
1582
1637
  const fieldXml = item.toXML();
1583
1638
  if (Array.isArray(fieldXml)) {
1584
1639
  paragraphChildren.push(...fieldXml);
1585
1640
  }
1586
1641
  else {
1587
- paragraphChildren.push(XMLBuilder_1.XMLBuilder.w('r', undefined, [fieldXml]));
1642
+ paragraphChildren.push(XMLBuilder_js_1.XMLBuilder.w('r', undefined, [fieldXml]));
1588
1643
  }
1589
1644
  }
1590
- else if (item instanceof Hyperlink_1.Hyperlink) {
1645
+ else if (item instanceof Hyperlink_js_1.Hyperlink) {
1591
1646
  paragraphChildren.push(item.toXML());
1592
1647
  }
1593
- else if (item instanceof Revision_1.Revision) {
1648
+ else if (item instanceof Revision_js_1.Revision) {
1594
1649
  const revType = item.getType();
1595
1650
  if (revType === 'runPropertiesChange' ||
1596
1651
  revType === 'paragraphPropertiesChange' ||
@@ -1607,21 +1662,21 @@ class Paragraph {
1607
1662
  paragraphChildren.push(revisionXml);
1608
1663
  }
1609
1664
  }
1610
- else if (item instanceof RangeMarker_1.RangeMarker) {
1665
+ else if (item instanceof RangeMarker_js_1.RangeMarker) {
1611
1666
  paragraphChildren.push(item.toXML());
1612
1667
  }
1613
- else if (item instanceof Shape_1.Shape) {
1614
- paragraphChildren.push(XMLBuilder_1.XMLBuilder.w('r', undefined, [item.toXML()]));
1668
+ else if (item instanceof Shape_js_1.Shape) {
1669
+ paragraphChildren.push(XMLBuilder_js_1.XMLBuilder.w('r', undefined, [item.toXML()]));
1615
1670
  }
1616
- else if (item instanceof TextBox_1.TextBox) {
1617
- paragraphChildren.push(XMLBuilder_1.XMLBuilder.w('r', undefined, [item.toXML()]));
1671
+ else if (item instanceof TextBox_js_1.TextBox) {
1672
+ paragraphChildren.push(XMLBuilder_js_1.XMLBuilder.w('r', undefined, [item.toXML()]));
1618
1673
  }
1619
1674
  else if (item) {
1620
1675
  paragraphChildren.push(item.toXML());
1621
1676
  }
1622
1677
  }
1623
1678
  if (this.content.length === 0) {
1624
- paragraphChildren.push(new Run_1.Run('').toXML());
1679
+ paragraphChildren.push(new Run_js_1.Run('').toXML());
1625
1680
  }
1626
1681
  for (const comment of this.commentsEnd) {
1627
1682
  paragraphChildren.push(comment.toRangeEndXML());
@@ -1639,7 +1694,7 @@ class Paragraph {
1639
1694
  if (this.formatting.textId) {
1640
1695
  paragraphAttributes['w14:textId'] = this.formatting.textId;
1641
1696
  }
1642
- return XMLBuilder_1.XMLBuilder.w('p', Object.keys(paragraphAttributes).length > 0 ? paragraphAttributes : undefined, paragraphChildren);
1697
+ return XMLBuilder_js_1.XMLBuilder.w('p', Object.keys(paragraphAttributes).length > 0 ? paragraphAttributes : undefined, paragraphChildren);
1643
1698
  }
1644
1699
  getWordCount() {
1645
1700
  const text = this.getText().trim();
@@ -1658,12 +1713,12 @@ class Paragraph {
1658
1713
  }
1659
1714
  }
1660
1715
  clone() {
1661
- const clonedFormatting = (0, deepClone_1.deepClone)(this.formatting);
1716
+ const clonedFormatting = (0, deepClone_js_1.deepClone)(this.formatting);
1662
1717
  const clonedParagraph = new Paragraph(clonedFormatting);
1663
1718
  for (const item of this.content) {
1664
- if (item instanceof Run_1.Run) {
1719
+ if (item instanceof Run_js_1.Run) {
1665
1720
  const runFormatting = item.getFormatting();
1666
- const clonedRun = new Run_1.Run(item.getText(), (0, deepClone_1.deepClone)(runFormatting));
1721
+ const clonedRun = new Run_js_1.Run(item.getText(), (0, deepClone_js_1.deepClone)(runFormatting));
1667
1722
  clonedParagraph.addRun(clonedRun);
1668
1723
  }
1669
1724
  else {
@@ -1741,7 +1796,7 @@ class Paragraph {
1741
1796
  return para;
1742
1797
  }
1743
1798
  splitAt(offset) {
1744
- const tailPara = new Paragraph((0, deepClone_1.deepClone)(this.formatting));
1799
+ const tailPara = new Paragraph((0, deepClone_js_1.deepClone)(this.formatting));
1745
1800
  const totalLength = this.getText().length;
1746
1801
  if (offset >= totalLength) {
1747
1802
  return tailPara;
@@ -1755,7 +1810,7 @@ class Paragraph {
1755
1810
  let splitContentIndex = -1;
1756
1811
  for (let i = 0; i < this.content.length; i++) {
1757
1812
  const item = this.content[i];
1758
- if (item instanceof Run_1.Run) {
1813
+ if (item instanceof Run_js_1.Run) {
1759
1814
  const runLen = item.getText().length;
1760
1815
  const runEnd = charPos + runLen;
1761
1816
  if (runEnd <= offset) {
@@ -1821,7 +1876,7 @@ class Paragraph {
1821
1876
  removeRunAt(index) {
1822
1877
  if (index >= 0 && index < this.content.length) {
1823
1878
  const item = this.content[index];
1824
- if (item instanceof Run_1.Run) {
1879
+ if (item instanceof Run_js_1.Run) {
1825
1880
  this.content.splice(index, 1);
1826
1881
  return true;
1827
1882
  }
@@ -1831,7 +1886,7 @@ class Paragraph {
1831
1886
  replaceRunAt(index, run) {
1832
1887
  if (index >= 0 && index < this.content.length) {
1833
1888
  const item = this.content[index];
1834
- if (item instanceof Run_1.Run) {
1889
+ if (item instanceof Run_js_1.Run) {
1835
1890
  this.content[index] = run;
1836
1891
  return true;
1837
1892
  }
@@ -1845,7 +1900,7 @@ class Paragraph {
1845
1900
  const searchText = caseSensitive ? text : text.toLowerCase();
1846
1901
  for (let i = 0; i < this.content.length; i++) {
1847
1902
  const item = this.content[i];
1848
- if (item instanceof Run_1.Run) {
1903
+ if (item instanceof Run_js_1.Run) {
1849
1904
  const runText = caseSensitive ? item.getText() : item.getText().toLowerCase();
1850
1905
  if (wholeWord) {
1851
1906
  const wordPattern = new RegExp(`\\b${searchText.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}\\b`);
@@ -1867,7 +1922,7 @@ class Paragraph {
1867
1922
  const caseSensitive = options?.caseSensitive || false;
1868
1923
  const wholeWord = options?.wholeWord || false;
1869
1924
  for (const item of this.content) {
1870
- if (item instanceof Run_1.Run) {
1925
+ if (item instanceof Run_js_1.Run) {
1871
1926
  const originalText = item.getText();
1872
1927
  let newText = originalText;
1873
1928
  if (wholeWord) {
@@ -1900,7 +1955,7 @@ class Paragraph {
1900
1955
  const caseSensitive = options?.caseSensitive ?? false;
1901
1956
  let fullText = '';
1902
1957
  for (const item of this.content) {
1903
- if (item instanceof Run_1.Run) {
1958
+ if (item instanceof Run_js_1.Run) {
1904
1959
  fullText += item.getText();
1905
1960
  }
1906
1961
  }
@@ -1921,7 +1976,7 @@ class Paragraph {
1921
1976
  let charPos = 0;
1922
1977
  for (let i = 0; i < this.content.length; i++) {
1923
1978
  const item = this.content[i];
1924
- if (item instanceof Run_1.Run) {
1979
+ if (item instanceof Run_js_1.Run) {
1925
1980
  const len = item.getText().length;
1926
1981
  if (len > 0) {
1927
1982
  runMap.push({ run: item, contentIndex: i, start: charPos, end: charPos + len });
@@ -1972,7 +2027,7 @@ class Paragraph {
1972
2027
  let charPos = 0;
1973
2028
  for (let i = 0; i < this.content.length; i++) {
1974
2029
  const item = this.content[i];
1975
- if (item instanceof Run_1.Run) {
2030
+ if (item instanceof Run_js_1.Run) {
1976
2031
  const len = item.getText().length;
1977
2032
  if (len > 0) {
1978
2033
  runMap.push({ index: i, start: charPos, end: charPos + len });
@@ -2014,11 +2069,11 @@ class Paragraph {
2014
2069
  }
2015
2070
  wrap(prefix, suffix, formatting) {
2016
2071
  if (prefix) {
2017
- const prefixRun = new Run_1.Run(prefix, formatting);
2072
+ const prefixRun = new Run_js_1.Run(prefix, formatting);
2018
2073
  this.content.unshift(prefixRun);
2019
2074
  }
2020
2075
  if (suffix) {
2021
- const suffixRun = new Run_1.Run(suffix, formatting);
2076
+ const suffixRun = new Run_js_1.Run(suffix, formatting);
2022
2077
  this.content.push(suffixRun);
2023
2078
  }
2024
2079
  return this;
@@ -2028,7 +2083,7 @@ class Paragraph {
2028
2083
  return undefined;
2029
2084
  let charPos = 0;
2030
2085
  for (const item of this.content) {
2031
- if (!(item instanceof Run_1.Run))
2086
+ if (!(item instanceof Run_js_1.Run))
2032
2087
  continue;
2033
2088
  const len = item.getText().length;
2034
2089
  if (charPos + len > offset) {
@@ -2050,7 +2105,7 @@ class Paragraph {
2050
2105
  for (let i = 0; i < this.content.length; i++) {
2051
2106
  const item = this.content[i];
2052
2107
  let len = 0;
2053
- if (item instanceof Run_1.Run) {
2108
+ if (item instanceof Run_js_1.Run) {
2054
2109
  len = item.getText().length;
2055
2110
  }
2056
2111
  if (len > 0) {
@@ -2126,15 +2181,15 @@ class Paragraph {
2126
2181
  const consolidated = [];
2127
2182
  let eliminated = 0;
2128
2183
  for (const item of this.content) {
2129
- if (!(item instanceof Run_1.Run)) {
2184
+ if (!(item instanceof Run_js_1.Run)) {
2130
2185
  consolidated.push(item);
2131
2186
  continue;
2132
2187
  }
2133
2188
  const prev = consolidated.length > 0 ? consolidated[consolidated.length - 1] : undefined;
2134
- if (prev instanceof Run_1.Run &&
2135
- (0, formatting_1.isEqualFormatting)(prev.getFormatting(), item.getFormatting())) {
2189
+ if (prev instanceof Run_js_1.Run &&
2190
+ (0, formatting_js_1.isEqualFormatting)(prev.getFormatting(), item.getFormatting())) {
2136
2191
  const mergedContent = [...prev.getContent(), ...item.getContent()];
2137
- const mergedRun = Run_1.Run.createFromContent(mergedContent, (0, deepClone_1.deepClone)(prev.getFormatting()));
2192
+ const mergedRun = Run_js_1.Run.createFromContent(mergedContent, (0, deepClone_js_1.deepClone)(prev.getFormatting()));
2138
2193
  consolidated[consolidated.length - 1] = mergedRun;
2139
2194
  eliminated++;
2140
2195
  }
@@ -2149,7 +2204,7 @@ class Paragraph {
2149
2204
  }
2150
2205
  mergeWith(otherPara) {
2151
2206
  for (const item of otherPara.content) {
2152
- if (item instanceof Run_1.Run) {
2207
+ if (item instanceof Run_js_1.Run) {
2153
2208
  this.content.push(item.clone());
2154
2209
  }
2155
2210
  else {
@@ -2174,7 +2229,7 @@ class Paragraph {
2174
2229
  }
2175
2230
  }
2176
2231
  const text = run.getText();
2177
- const newRun = new Run_1.Run(text, newFormatting);
2232
+ const newRun = new Run_js_1.Run(text, newFormatting);
2178
2233
  const index = this.content.indexOf(run);
2179
2234
  if (index !== -1) {
2180
2235
  this.content[index] = newRun;
@@ -2182,7 +2237,7 @@ class Paragraph {
2182
2237
  }
2183
2238
  else {
2184
2239
  const text = run.getText();
2185
- const newRun = new Run_1.Run(text, {});
2240
+ const newRun = new Run_js_1.Run(text, {});
2186
2241
  const index = this.content.indexOf(run);
2187
2242
  if (index !== -1) {
2188
2243
  this.content[index] = newRun;
@@ -2226,7 +2281,7 @@ class Paragraph {
2226
2281
  propKey === 'numbering') {
2227
2282
  const paraValue = this.formatting[propKey];
2228
2283
  const styleValue = styleParagraphFormatting[propKey];
2229
- if (JSON.stringify(paraValue) !== JSON.stringify(styleValue)) {
2284
+ if (!(0, deepEqual_js_1.deepEqual)(paraValue, styleValue)) {
2230
2285
  conflictingParaProps.push(propKey);
2231
2286
  }
2232
2287
  }
@@ -2240,7 +2295,7 @@ class Paragraph {
2240
2295
  delete this.formatting[prop];
2241
2296
  }
2242
2297
  for (const item of this.content) {
2243
- if (item instanceof Run_1.Run) {
2298
+ if (item instanceof Run_js_1.Run) {
2244
2299
  item.clearFormattingConflicts(styleRunFormatting);
2245
2300
  }
2246
2301
  }
@@ -2255,7 +2310,7 @@ class Paragraph {
2255
2310
  if (numbering)
2256
2311
  this.formatting.numbering = numbering;
2257
2312
  for (const item of this.content) {
2258
- if (item instanceof Run_1.Run) {
2313
+ if (item instanceof Run_js_1.Run) {
2259
2314
  item.clearFormatting();
2260
2315
  }
2261
2316
  }