docxmlater 10.4.1 → 11.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 +74 -67
  6. package/dist/core/Document.d.ts.map +1 -1
  7. package/dist/core/Document.js +605 -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 +2056 -1073
  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 +461 -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 +2180 -617
  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
@@ -1,17 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Run = void 0;
4
- const deepClone_1 = require("../utils/deepClone");
5
- const dateFormatting_1 = require("../utils/dateFormatting");
6
- const formatting_1 = require("../utils/formatting");
7
- const diagnostics_1 = require("../utils/diagnostics");
8
- const logger_1 = require("../utils/logger");
9
- const validation_1 = require("../utils/validation");
10
- const units_1 = require("../utils/units");
11
- const textDiff_1 = require("../utils/textDiff");
12
- const cnfStyleDecoder_1 = require("../utils/cnfStyleDecoder");
13
- const XMLBuilder_1 = require("../xml/XMLBuilder");
14
- const CommonTypes_1 = require("./CommonTypes");
4
+ const deepClone_js_1 = require("../utils/deepClone.js");
5
+ const dateFormatting_js_1 = require("../utils/dateFormatting.js");
6
+ const formatting_js_1 = require("../utils/formatting.js");
7
+ const diagnostics_js_1 = require("../utils/diagnostics.js");
8
+ const logger_js_1 = require("../utils/logger.js");
9
+ const validation_js_1 = require("../utils/validation.js");
10
+ const units_js_1 = require("../utils/units.js");
11
+ const textDiff_js_1 = require("../utils/textDiff.js");
12
+ const cnfStyleDecoder_js_1 = require("../processors/cnfStyleDecoder.js");
13
+ const XMLBuilder_js_1 = require("../xml/XMLBuilder.js");
14
+ const CommonTypes_js_1 = require("./CommonTypes.js");
15
15
  class Run {
16
16
  content;
17
17
  formatting;
@@ -20,12 +20,12 @@ class Run {
20
20
  _parentParagraph;
21
21
  constructor(text, formatting = {}) {
22
22
  if (text === undefined || text === null) {
23
- logger_1.defaultLogger.warn(`DocXML Text Validation Warning [Run constructor]:\n` +
23
+ logger_js_1.defaultLogger.warn(`DocXML Text Validation Warning [Run constructor]:\n` +
24
24
  ` - Received ${text === undefined ? 'undefined' : 'null'} text value\n` +
25
25
  ` - Converting to empty string for Word compatibility`);
26
26
  }
27
27
  const shouldClean = formatting.cleanXmlFromText !== false;
28
- const validation = (0, validation_1.validateRunText)(text, {
28
+ const validation = (0, validation_js_1.validateRunText)(text, {
29
29
  context: 'Run constructor',
30
30
  autoClean: shouldClean,
31
31
  warnToConsole: true,
@@ -128,21 +128,21 @@ class Run {
128
128
  equals(other) {
129
129
  if (this.getText() !== other.getText())
130
130
  return false;
131
- return (0, formatting_1.isEqualFormatting)(this.getFormatting(), other.getFormatting());
131
+ return (0, formatting_js_1.isEqualFormatting)(this.getFormatting(), other.getFormatting());
132
132
  }
133
133
  hasSameFormatting(other) {
134
- return (0, formatting_1.isEqualFormatting)(this.getFormatting(), other.getFormatting());
134
+ return (0, formatting_js_1.isEqualFormatting)(this.getFormatting(), other.getFormatting());
135
135
  }
136
136
  setText(text) {
137
137
  const oldText = this.getText();
138
138
  const oldContent = [...this.content];
139
139
  if (text === undefined || text === null) {
140
- logger_1.defaultLogger.warn(`DocXML Text Validation Warning [Run.setText]:\n` +
140
+ logger_js_1.defaultLogger.warn(`DocXML Text Validation Warning [Run.setText]:\n` +
141
141
  ` - Received ${text === undefined ? 'undefined' : 'null'} text value\n` +
142
142
  ` - Converting to empty string for Word compatibility`);
143
143
  }
144
144
  const shouldClean = this.formatting.cleanXmlFromText !== false;
145
- const validation = (0, validation_1.validateRunText)(text, {
145
+ const validation = (0, validation_js_1.validateRunText)(text, {
146
146
  context: 'Run.setText',
147
147
  autoClean: shouldClean,
148
148
  warnToConsole: true,
@@ -164,8 +164,8 @@ class Run {
164
164
  c.type === 'fieldChar' ||
165
165
  c.type === 'symbol' ||
166
166
  c.type === 'embeddedObject');
167
- const segments = hasNonTextContent ? [] : (0, textDiff_1.diffText)(oldText, normalizedText);
168
- const useGranular = !hasNonTextContent && (0, textDiff_1.diffHasUnchangedParts)(segments);
167
+ const segments = hasNonTextContent ? [] : (0, textDiff_js_1.diffText)(oldText, normalizedText);
168
+ const useGranular = !hasNonTextContent && (0, textDiff_js_1.diffHasUnchangedParts)(segments);
169
169
  if (useGranular) {
170
170
  const revManager = this.trackingContext.getRevisionManager();
171
171
  const now = new Date();
@@ -293,7 +293,7 @@ class Run {
293
293
  const cnfStyle = para.getTableConditionalStyle();
294
294
  if (!cnfStyle)
295
295
  return undefined;
296
- const activeConditionals = (0, cnfStyleDecoder_1.getActiveConditionalsInPriorityOrder)(cnfStyle);
296
+ const activeConditionals = (0, cnfStyleDecoder_js_1.getActiveConditionalsInPriorityOrder)(cnfStyle);
297
297
  const tableStyleId = cell.getTableStyleId();
298
298
  const stylesManager = para._getStylesManager();
299
299
  if (tableStyleId && stylesManager) {
@@ -468,7 +468,7 @@ class Run {
468
468
  return this;
469
469
  }
470
470
  setUnderlineColor(color) {
471
- this.formatting.underlineColor = (0, validation_1.normalizeColor)(color);
471
+ this.formatting.underlineColor = (0, validation_js_1.normalizeColor)(color);
472
472
  return this;
473
473
  }
474
474
  setUnderlineThemeColor(themeColor, themeTint, themeShade) {
@@ -544,7 +544,7 @@ class Run {
544
544
  }
545
545
  setColor(color) {
546
546
  const previousValue = this.formatting.color;
547
- const normalizedColor = (0, validation_1.normalizeColor)(color);
547
+ const normalizedColor = (0, validation_js_1.normalizeColor)(color);
548
548
  this.formatting.color = normalizedColor;
549
549
  if (this.trackingContext?.isEnabled() && previousValue !== normalizedColor) {
550
550
  this.trackingContext.trackRunPropertyChange(this, 'color', previousValue, normalizedColor);
@@ -768,11 +768,11 @@ class Run {
768
768
  }
769
769
  toXML() {
770
770
  const text = this.getText();
771
- (0, diagnostics_1.logSerialization)(`Serializing run: "${text}"`, {
771
+ (0, diagnostics_js_1.logSerialization)(`Serializing run: "${text}"`, {
772
772
  rtl: this.formatting.rtl || false,
773
773
  });
774
774
  if (this.formatting.rtl) {
775
- (0, diagnostics_1.logTextDirection)(`Run with RTL being serialized: "${text}"`);
775
+ (0, diagnostics_js_1.logTextDirection)(`Run with RTL being serialized: "${text}"`);
776
776
  }
777
777
  const runChildren = [];
778
778
  const rPr = Run.generateRunPropertiesXML(this.formatting);
@@ -788,7 +788,7 @@ class Run {
788
788
  attributes: {
789
789
  'w:id': this.propertyChangeRevision.id.toString(),
790
790
  'w:author': this.propertyChangeRevision.author,
791
- 'w:date': (0, dateFormatting_1.formatDateForXml)(this.propertyChangeRevision.date),
791
+ 'w:date': (0, dateFormatting_js_1.formatDateForXml)(this.propertyChangeRevision.date),
792
792
  },
793
793
  children: [prevRPr],
794
794
  };
@@ -805,12 +805,12 @@ class Run {
805
805
  for (const contentElement of this.content) {
806
806
  switch (contentElement.type) {
807
807
  case 'text':
808
- runChildren.push(XMLBuilder_1.XMLBuilder.w('t', {
808
+ runChildren.push(XMLBuilder_js_1.XMLBuilder.w('t', {
809
809
  'xml:space': 'preserve',
810
810
  }, [contentElement.value || '']));
811
811
  break;
812
812
  case 'tab':
813
- runChildren.push(XMLBuilder_1.XMLBuilder.wSelf('tab'));
813
+ runChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('tab'));
814
814
  break;
815
815
  case 'break':
816
816
  {
@@ -821,20 +821,20 @@ class Run {
821
821
  if (contentElement.breakClear) {
822
822
  attrs['w:clear'] = contentElement.breakClear;
823
823
  }
824
- runChildren.push(XMLBuilder_1.XMLBuilder.wSelf('br', Object.keys(attrs).length > 0 ? attrs : undefined));
824
+ runChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('br', Object.keys(attrs).length > 0 ? attrs : undefined));
825
825
  }
826
826
  break;
827
827
  case 'carriageReturn':
828
- runChildren.push(XMLBuilder_1.XMLBuilder.wSelf('cr'));
828
+ runChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('cr'));
829
829
  break;
830
830
  case 'softHyphen':
831
- runChildren.push(XMLBuilder_1.XMLBuilder.wSelf('softHyphen'));
831
+ runChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('softHyphen'));
832
832
  break;
833
833
  case 'noBreakHyphen':
834
- runChildren.push(XMLBuilder_1.XMLBuilder.wSelf('noBreakHyphen'));
834
+ runChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('noBreakHyphen'));
835
835
  break;
836
836
  case 'instructionText':
837
- runChildren.push(XMLBuilder_1.XMLBuilder.w('instrText', { 'xml:space': 'preserve' }, [contentElement.value || '']));
837
+ runChildren.push(XMLBuilder_js_1.XMLBuilder.w('instrText', { 'xml:space': 'preserve' }, [contentElement.value || '']));
838
838
  break;
839
839
  case 'fieldChar': {
840
840
  if (!contentElement.fieldCharType) {
@@ -853,163 +853,180 @@ class Run {
853
853
  const ffDataChildren = [];
854
854
  const ffd = contentElement.formFieldData;
855
855
  if (ffd.name !== undefined) {
856
- ffDataChildren.push(XMLBuilder_1.XMLBuilder.wSelf('name', { 'w:val': ffd.name }));
856
+ ffDataChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('name', { 'w:val': ffd.name }));
857
857
  }
858
858
  if (ffd.enabled !== undefined) {
859
859
  if (ffd.enabled) {
860
- ffDataChildren.push(XMLBuilder_1.XMLBuilder.wSelf('enabled'));
860
+ ffDataChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('enabled'));
861
861
  }
862
862
  else {
863
- ffDataChildren.push(XMLBuilder_1.XMLBuilder.wSelf('enabled', { 'w:val': '0' }));
863
+ ffDataChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('enabled', { 'w:val': '0' }));
864
864
  }
865
865
  }
866
866
  if (ffd.calcOnExit !== undefined) {
867
- ffDataChildren.push(XMLBuilder_1.XMLBuilder.wSelf('calcOnExit', { 'w:val': ffd.calcOnExit ? '1' : '0' }));
867
+ ffDataChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('calcOnExit', { 'w:val': ffd.calcOnExit ? '1' : '0' }));
868
868
  }
869
869
  if (ffd.helpText) {
870
- ffDataChildren.push(XMLBuilder_1.XMLBuilder.wSelf('helpText', { 'w:type': 'text', 'w:val': ffd.helpText }));
870
+ ffDataChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('helpText', { 'w:type': 'text', 'w:val': ffd.helpText }));
871
871
  }
872
872
  if (ffd.statusText) {
873
- ffDataChildren.push(XMLBuilder_1.XMLBuilder.wSelf('statusText', { 'w:type': 'text', 'w:val': ffd.statusText }));
873
+ ffDataChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('statusText', { 'w:type': 'text', 'w:val': ffd.statusText }));
874
874
  }
875
875
  if (ffd.entryMacro) {
876
- ffDataChildren.push(XMLBuilder_1.XMLBuilder.wSelf('entryMacro', { 'w:val': ffd.entryMacro }));
876
+ ffDataChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('entryMacro', { 'w:val': ffd.entryMacro }));
877
877
  }
878
878
  if (ffd.exitMacro) {
879
- ffDataChildren.push(XMLBuilder_1.XMLBuilder.wSelf('exitMacro', { 'w:val': ffd.exitMacro }));
879
+ ffDataChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('exitMacro', { 'w:val': ffd.exitMacro }));
880
880
  }
881
881
  if (ffd.fieldType) {
882
882
  switch (ffd.fieldType.type) {
883
883
  case 'textInput': {
884
884
  const tiChildren = [];
885
885
  if (ffd.fieldType.inputType) {
886
- tiChildren.push(XMLBuilder_1.XMLBuilder.wSelf('type', { 'w:val': ffd.fieldType.inputType }));
886
+ tiChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('type', { 'w:val': ffd.fieldType.inputType }));
887
887
  }
888
888
  if (ffd.fieldType.defaultValue !== undefined) {
889
- tiChildren.push(XMLBuilder_1.XMLBuilder.wSelf('default', { 'w:val': ffd.fieldType.defaultValue }));
889
+ tiChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('default', { 'w:val': ffd.fieldType.defaultValue }));
890
890
  }
891
891
  if (ffd.fieldType.maxLength !== undefined) {
892
- tiChildren.push(XMLBuilder_1.XMLBuilder.wSelf('maxLength', { 'w:val': ffd.fieldType.maxLength.toString() }));
892
+ tiChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('maxLength', { 'w:val': ffd.fieldType.maxLength.toString() }));
893
893
  }
894
894
  if (ffd.fieldType.format) {
895
- tiChildren.push(XMLBuilder_1.XMLBuilder.wSelf('format', { 'w:val': ffd.fieldType.format }));
895
+ tiChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('format', { 'w:val': ffd.fieldType.format }));
896
896
  }
897
- ffDataChildren.push(XMLBuilder_1.XMLBuilder.w('textInput', {}, tiChildren));
897
+ ffDataChildren.push(XMLBuilder_js_1.XMLBuilder.w('textInput', {}, tiChildren));
898
898
  break;
899
899
  }
900
900
  case 'checkBox': {
901
901
  const cbChildren = [];
902
902
  if (ffd.fieldType.size !== undefined && ffd.fieldType.size !== 'auto') {
903
- cbChildren.push(XMLBuilder_1.XMLBuilder.wSelf('size', { 'w:val': ffd.fieldType.size.toString() }));
903
+ cbChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('size', { 'w:val': ffd.fieldType.size.toString() }));
904
904
  }
905
905
  else {
906
- cbChildren.push(XMLBuilder_1.XMLBuilder.wSelf('sizeAuto'));
906
+ cbChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('sizeAuto'));
907
907
  }
908
908
  if (ffd.fieldType.defaultChecked !== undefined) {
909
- cbChildren.push(XMLBuilder_1.XMLBuilder.wSelf('default', {
909
+ cbChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('default', {
910
910
  'w:val': ffd.fieldType.defaultChecked ? '1' : '0',
911
911
  }));
912
912
  }
913
913
  if (ffd.fieldType.checked !== undefined) {
914
- cbChildren.push(XMLBuilder_1.XMLBuilder.wSelf('checked', { 'w:val': ffd.fieldType.checked ? '1' : '0' }));
914
+ cbChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('checked', { 'w:val': ffd.fieldType.checked ? '1' : '0' }));
915
915
  }
916
- ffDataChildren.push(XMLBuilder_1.XMLBuilder.w('checkBox', {}, cbChildren));
916
+ ffDataChildren.push(XMLBuilder_js_1.XMLBuilder.w('checkBox', {}, cbChildren));
917
917
  break;
918
918
  }
919
919
  case 'dropDownList': {
920
920
  const ddChildren = [];
921
921
  if (ffd.fieldType.result !== undefined) {
922
- ddChildren.push(XMLBuilder_1.XMLBuilder.wSelf('result', { 'w:val': ffd.fieldType.result.toString() }));
922
+ ddChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('result', { 'w:val': ffd.fieldType.result.toString() }));
923
923
  }
924
924
  if (ffd.fieldType.defaultResult !== undefined) {
925
- ddChildren.push(XMLBuilder_1.XMLBuilder.wSelf('default', {
925
+ ddChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('default', {
926
926
  'w:val': ffd.fieldType.defaultResult.toString(),
927
927
  }));
928
928
  }
929
929
  if (ffd.fieldType.listEntries) {
930
930
  for (const entry of ffd.fieldType.listEntries) {
931
- ddChildren.push(XMLBuilder_1.XMLBuilder.wSelf('listEntry', { 'w:val': entry }));
931
+ ddChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('listEntry', { 'w:val': entry }));
932
932
  }
933
933
  }
934
- ffDataChildren.push(XMLBuilder_1.XMLBuilder.w('ddList', {}, ddChildren));
934
+ ffDataChildren.push(XMLBuilder_js_1.XMLBuilder.w('ddList', {}, ddChildren));
935
935
  break;
936
936
  }
937
937
  }
938
938
  }
939
- runChildren.push(XMLBuilder_1.XMLBuilder.w('fldChar', fldCharAttrs, [XMLBuilder_1.XMLBuilder.w('ffData', {}, ffDataChildren)]));
939
+ if (ffDataChildren.length > 0) {
940
+ runChildren.push(XMLBuilder_js_1.XMLBuilder.w('fldChar', fldCharAttrs, [XMLBuilder_js_1.XMLBuilder.w('ffData', {}, ffDataChildren)]));
941
+ }
942
+ else {
943
+ runChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('fldChar', Object.keys(fldCharAttrs).length > 0 ? fldCharAttrs : undefined));
944
+ }
940
945
  }
941
946
  else {
942
- runChildren.push(XMLBuilder_1.XMLBuilder.wSelf('fldChar', Object.keys(fldCharAttrs).length > 0 ? fldCharAttrs : undefined));
947
+ runChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('fldChar', Object.keys(fldCharAttrs).length > 0 ? fldCharAttrs : undefined));
943
948
  }
944
949
  break;
945
950
  }
946
951
  case 'lastRenderedPageBreak':
947
- runChildren.push(XMLBuilder_1.XMLBuilder.wSelf('lastRenderedPageBreak'));
952
+ runChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('lastRenderedPageBreak'));
948
953
  break;
949
954
  case 'separator':
950
- runChildren.push(XMLBuilder_1.XMLBuilder.wSelf('separator'));
955
+ runChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('separator'));
951
956
  break;
952
957
  case 'continuationSeparator':
953
- runChildren.push(XMLBuilder_1.XMLBuilder.wSelf('continuationSeparator'));
958
+ runChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('continuationSeparator'));
954
959
  break;
955
960
  case 'pageNumber':
956
- runChildren.push(XMLBuilder_1.XMLBuilder.wSelf('pgNum'));
961
+ runChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('pgNum'));
957
962
  break;
958
963
  case 'annotationRef':
959
- runChildren.push(XMLBuilder_1.XMLBuilder.wSelf('annotationRef'));
964
+ runChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('annotationRef'));
960
965
  break;
961
966
  case 'dayShort':
962
- runChildren.push(XMLBuilder_1.XMLBuilder.wSelf('dayShort'));
967
+ runChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('dayShort'));
963
968
  break;
964
969
  case 'dayLong':
965
- runChildren.push(XMLBuilder_1.XMLBuilder.wSelf('dayLong'));
970
+ runChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('dayLong'));
966
971
  break;
967
972
  case 'monthShort':
968
- runChildren.push(XMLBuilder_1.XMLBuilder.wSelf('monthShort'));
973
+ runChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('monthShort'));
969
974
  break;
970
975
  case 'monthLong':
971
- runChildren.push(XMLBuilder_1.XMLBuilder.wSelf('monthLong'));
976
+ runChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('monthLong'));
972
977
  break;
973
978
  case 'yearShort':
974
- runChildren.push(XMLBuilder_1.XMLBuilder.wSelf('yearShort'));
979
+ runChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('yearShort'));
975
980
  break;
976
981
  case 'yearLong':
977
- runChildren.push(XMLBuilder_1.XMLBuilder.wSelf('yearLong'));
982
+ runChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('yearLong'));
978
983
  break;
979
984
  case 'symbol': {
980
- const symAttrs = {};
981
- if (contentElement.symbolFont)
982
- symAttrs['w:font'] = contentElement.symbolFont;
983
- if (contentElement.symbolChar)
984
- symAttrs['w:char'] = contentElement.symbolChar;
985
- runChildren.push(XMLBuilder_1.XMLBuilder.wSelf('sym', symAttrs));
985
+ if (!contentElement.symbolFont || !contentElement.symbolChar)
986
+ break;
987
+ runChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('sym', {
988
+ 'w:font': contentElement.symbolFont,
989
+ 'w:char': contentElement.symbolChar,
990
+ }));
986
991
  break;
987
992
  }
988
993
  case 'positionTab': {
989
- const ptabAttrs = {};
990
- if (contentElement.ptabAlignment)
991
- ptabAttrs['w:alignment'] = contentElement.ptabAlignment;
992
- if (contentElement.ptabRelativeTo)
993
- ptabAttrs['w:relativeTo'] = contentElement.ptabRelativeTo;
994
- if (contentElement.ptabLeader)
995
- ptabAttrs['w:leader'] = contentElement.ptabLeader;
996
- runChildren.push(XMLBuilder_1.XMLBuilder.wSelf('ptab', ptabAttrs));
994
+ const ptabAttrs = {
995
+ 'w:alignment': contentElement.ptabAlignment ?? 'left',
996
+ 'w:relativeTo': contentElement.ptabRelativeTo ?? 'margin',
997
+ 'w:leader': contentElement.ptabLeader ?? 'none',
998
+ };
999
+ runChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('ptab', ptabAttrs));
997
1000
  break;
998
1001
  }
999
1002
  case 'footnoteReference': {
1000
- const fnAttrs = {};
1001
- if (contentElement.footnoteId !== undefined)
1002
- fnAttrs['w:id'] = contentElement.footnoteId;
1003
- runChildren.push(XMLBuilder_1.XMLBuilder.wSelf('footnoteReference', fnAttrs));
1003
+ if (contentElement.footnoteId === undefined)
1004
+ break;
1005
+ const fnAttrs = {
1006
+ 'w:id': contentElement.footnoteId,
1007
+ };
1008
+ if (contentElement.customMarkFollows === true)
1009
+ fnAttrs['w:customMarkFollows'] = '1';
1010
+ runChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('footnoteReference', fnAttrs));
1004
1011
  break;
1005
1012
  }
1006
1013
  case 'endnoteReference': {
1007
- const enAttrs = {};
1008
- if (contentElement.endnoteId !== undefined)
1009
- enAttrs['w:id'] = contentElement.endnoteId;
1010
- runChildren.push(XMLBuilder_1.XMLBuilder.wSelf('endnoteReference', enAttrs));
1014
+ if (contentElement.endnoteId === undefined)
1015
+ break;
1016
+ const enAttrs = {
1017
+ 'w:id': contentElement.endnoteId,
1018
+ };
1019
+ if (contentElement.customMarkFollows === true)
1020
+ enAttrs['w:customMarkFollows'] = '1';
1021
+ runChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('endnoteReference', enAttrs));
1011
1022
  break;
1012
1023
  }
1024
+ case 'footnoteRef':
1025
+ runChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('footnoteRef'));
1026
+ break;
1027
+ case 'endnoteRef':
1028
+ runChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('endnoteRef'));
1029
+ break;
1013
1030
  case 'embeddedObject':
1014
1031
  if (contentElement.rawXml) {
1015
1032
  runChildren.push({
@@ -1028,7 +1045,7 @@ class Run {
1028
1045
  break;
1029
1046
  }
1030
1047
  }
1031
- return XMLBuilder_1.XMLBuilder.w('r', undefined, runChildren);
1048
+ return XMLBuilder_js_1.XMLBuilder.w('r', undefined, runChildren);
1032
1049
  }
1033
1050
  hasText() {
1034
1051
  const text = this.getText();
@@ -1071,7 +1088,7 @@ class Run {
1071
1088
  static generateRunPropertiesXML(formatting) {
1072
1089
  const rPrChildren = [];
1073
1090
  if (formatting.characterStyle) {
1074
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('rStyle', {
1091
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('rStyle', {
1075
1092
  'w:val': formatting.characterStyle,
1076
1093
  }));
1077
1094
  }
@@ -1106,56 +1123,56 @@ class Run {
1106
1123
  delete rFontsAttrs[key];
1107
1124
  }
1108
1125
  if (Object.keys(rFontsAttrs).length > 0) {
1109
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('rFonts', rFontsAttrs));
1126
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('rFonts', rFontsAttrs));
1110
1127
  }
1111
1128
  }
1112
1129
  if (formatting.bold !== undefined) {
1113
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('b', { 'w:val': formatting.bold ? '1' : '0' }));
1130
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('b', { 'w:val': formatting.bold ? '1' : '0' }));
1114
1131
  }
1115
1132
  if (formatting.complexScriptBold !== undefined) {
1116
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('bCs', { 'w:val': formatting.complexScriptBold ? '1' : '0' }));
1133
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('bCs', { 'w:val': formatting.complexScriptBold ? '1' : '0' }));
1117
1134
  }
1118
1135
  if (formatting.italic !== undefined) {
1119
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('i', { 'w:val': formatting.italic ? '1' : '0' }));
1136
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('i', { 'w:val': formatting.italic ? '1' : '0' }));
1120
1137
  }
1121
1138
  if (formatting.complexScriptItalic !== undefined) {
1122
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('iCs', { 'w:val': formatting.complexScriptItalic ? '1' : '0' }));
1139
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('iCs', { 'w:val': formatting.complexScriptItalic ? '1' : '0' }));
1123
1140
  }
1124
1141
  if (formatting.allCaps !== undefined) {
1125
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('caps', { 'w:val': formatting.allCaps ? '1' : '0' }));
1142
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('caps', { 'w:val': formatting.allCaps ? '1' : '0' }));
1126
1143
  }
1127
1144
  if (formatting.smallCaps !== undefined) {
1128
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('smallCaps', { 'w:val': formatting.smallCaps ? '1' : '0' }));
1145
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('smallCaps', { 'w:val': formatting.smallCaps ? '1' : '0' }));
1129
1146
  }
1130
1147
  if (formatting.strike !== undefined) {
1131
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('strike', { 'w:val': formatting.strike ? '1' : '0' }));
1148
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('strike', { 'w:val': formatting.strike ? '1' : '0' }));
1132
1149
  }
1133
1150
  if (formatting.dstrike !== undefined) {
1134
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('dstrike', { 'w:val': formatting.dstrike ? '1' : '0' }));
1151
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('dstrike', { 'w:val': formatting.dstrike ? '1' : '0' }));
1135
1152
  }
1136
- if (formatting.outline) {
1137
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('outline', { 'w:val': '1' }));
1153
+ if (formatting.outline !== undefined) {
1154
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('outline', { 'w:val': formatting.outline ? '1' : '0' }));
1138
1155
  }
1139
- if (formatting.shadow) {
1140
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('shadow', { 'w:val': '1' }));
1156
+ if (formatting.shadow !== undefined) {
1157
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('shadow', { 'w:val': formatting.shadow ? '1' : '0' }));
1141
1158
  }
1142
- if (formatting.emboss) {
1143
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('emboss', { 'w:val': '1' }));
1159
+ if (formatting.emboss !== undefined) {
1160
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('emboss', { 'w:val': formatting.emboss ? '1' : '0' }));
1144
1161
  }
1145
- if (formatting.imprint) {
1146
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('imprint', { 'w:val': '1' }));
1162
+ if (formatting.imprint !== undefined) {
1163
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('imprint', { 'w:val': formatting.imprint ? '1' : '0' }));
1147
1164
  }
1148
- if (formatting.noProof) {
1149
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('noProof', { 'w:val': '1' }));
1165
+ if (formatting.noProof !== undefined) {
1166
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('noProof', { 'w:val': formatting.noProof ? '1' : '0' }));
1150
1167
  }
1151
1168
  if (formatting.snapToGrid !== undefined) {
1152
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('snapToGrid', { 'w:val': formatting.snapToGrid ? '1' : '0' }));
1169
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('snapToGrid', { 'w:val': formatting.snapToGrid ? '1' : '0' }));
1153
1170
  }
1154
- if (formatting.vanish) {
1155
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('vanish', { 'w:val': '1' }));
1171
+ if (formatting.vanish !== undefined) {
1172
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('vanish', { 'w:val': formatting.vanish ? '1' : '0' }));
1156
1173
  }
1157
- if (formatting.webHidden) {
1158
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('webHidden', { 'w:val': '1' }));
1174
+ if (formatting.webHidden !== undefined) {
1175
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('webHidden', { 'w:val': formatting.webHidden ? '1' : '0' }));
1159
1176
  }
1160
1177
  if (formatting.color || formatting.themeColor) {
1161
1178
  const colorAttrs = {};
@@ -1175,32 +1192,32 @@ class Run {
1175
1192
  .toUpperCase()
1176
1193
  .padStart(2, '0');
1177
1194
  }
1178
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('color', colorAttrs));
1195
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('color', colorAttrs));
1179
1196
  }
1180
1197
  if (formatting.characterSpacing !== undefined) {
1181
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('spacing', { 'w:val': formatting.characterSpacing }));
1198
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('spacing', { 'w:val': formatting.characterSpacing }));
1182
1199
  }
1183
1200
  if (formatting.scaling !== undefined) {
1184
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('w', { 'w:val': formatting.scaling }));
1201
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('w', { 'w:val': formatting.scaling }));
1185
1202
  }
1186
1203
  if (formatting.kerning !== undefined && formatting.kerning !== null) {
1187
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('kern', { 'w:val': formatting.kerning }));
1204
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('kern', { 'w:val': formatting.kerning }));
1188
1205
  }
1189
1206
  if (formatting.position !== undefined) {
1190
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('position', { 'w:val': formatting.position }));
1207
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('position', { 'w:val': formatting.position }));
1191
1208
  }
1192
1209
  if (formatting.size !== undefined) {
1193
- const halfPoints = (0, units_1.pointsToHalfPoints)(formatting.size);
1194
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('sz', { 'w:val': halfPoints }));
1195
- const csHalfPoints = formatting.sizeCs !== undefined ? (0, units_1.pointsToHalfPoints)(formatting.sizeCs) : halfPoints;
1196
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('szCs', { 'w:val': csHalfPoints }));
1210
+ const halfPoints = (0, units_js_1.pointsToHalfPoints)(formatting.size);
1211
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('sz', { 'w:val': halfPoints }));
1212
+ const csHalfPoints = formatting.sizeCs !== undefined ? (0, units_js_1.pointsToHalfPoints)(formatting.sizeCs) : halfPoints;
1213
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('szCs', { 'w:val': csHalfPoints }));
1197
1214
  }
1198
1215
  else if (formatting.sizeCs !== undefined) {
1199
- const csHalfPoints = (0, units_1.pointsToHalfPoints)(formatting.sizeCs);
1200
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('szCs', { 'w:val': csHalfPoints }));
1216
+ const csHalfPoints = (0, units_js_1.pointsToHalfPoints)(formatting.sizeCs);
1217
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('szCs', { 'w:val': csHalfPoints }));
1201
1218
  }
1202
1219
  if (formatting.highlight) {
1203
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('highlight', { 'w:val': formatting.highlight }));
1220
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('highlight', { 'w:val': formatting.highlight }));
1204
1221
  }
1205
1222
  if (formatting.underline) {
1206
1223
  const underlineValue = typeof formatting.underline === 'string' ? formatting.underline : 'single';
@@ -1219,54 +1236,62 @@ class Run {
1219
1236
  .toString(16)
1220
1237
  .toUpperCase()
1221
1238
  .padStart(2, '0');
1222
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('u', uAttrs));
1239
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('u', uAttrs));
1223
1240
  }
1224
1241
  else if (formatting.underline === false && formatting.characterStyle) {
1225
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('u', { 'w:val': 'none' }));
1242
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('u', { 'w:val': 'none' }));
1226
1243
  }
1227
1244
  if (formatting.effect) {
1228
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('effect', { 'w:val': formatting.effect }));
1245
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('effect', { 'w:val': formatting.effect }));
1229
1246
  }
1230
1247
  if (formatting.border) {
1231
- const bdrAttrs = {};
1232
- if (formatting.border.style)
1233
- bdrAttrs['w:val'] = formatting.border.style;
1234
- if (formatting.border.size !== undefined)
1235
- bdrAttrs['w:sz'] = formatting.border.size;
1236
- if (formatting.border.color)
1237
- bdrAttrs['w:color'] = formatting.border.color;
1238
- if (formatting.border.space !== undefined)
1239
- bdrAttrs['w:space'] = formatting.border.space;
1240
- if (Object.keys(bdrAttrs).length > 0) {
1241
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('bdr', bdrAttrs));
1242
- }
1248
+ const b = formatting.border;
1249
+ const bdrAttrs = { 'w:val': b.style ?? 'nil' };
1250
+ if (b.size !== undefined)
1251
+ bdrAttrs['w:sz'] = b.size;
1252
+ if (b.color)
1253
+ bdrAttrs['w:color'] = b.color;
1254
+ if (b.space !== undefined)
1255
+ bdrAttrs['w:space'] = b.space;
1256
+ const bb = b;
1257
+ if (bb.themeColor)
1258
+ bdrAttrs['w:themeColor'] = bb.themeColor;
1259
+ if (bb.themeTint)
1260
+ bdrAttrs['w:themeTint'] = bb.themeTint;
1261
+ if (bb.themeShade)
1262
+ bdrAttrs['w:themeShade'] = bb.themeShade;
1263
+ if (bb.shadow !== undefined)
1264
+ bdrAttrs['w:shadow'] = bb.shadow ? '1' : '0';
1265
+ if (bb.frame !== undefined)
1266
+ bdrAttrs['w:frame'] = bb.frame ? '1' : '0';
1267
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('bdr', bdrAttrs));
1243
1268
  }
1244
1269
  if (formatting.shading) {
1245
- const shdAttrs = (0, CommonTypes_1.buildShadingAttributes)(formatting.shading);
1270
+ const shdAttrs = (0, CommonTypes_js_1.buildShadingAttributes)(formatting.shading);
1246
1271
  if (Object.keys(shdAttrs).length > 0) {
1247
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('shd', shdAttrs));
1272
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('shd', shdAttrs));
1248
1273
  }
1249
1274
  }
1250
1275
  if (formatting.fitText !== undefined) {
1251
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('fitText', { 'w:val': formatting.fitText }));
1276
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('fitText', { 'w:val': formatting.fitText }));
1252
1277
  }
1253
1278
  if (formatting.subscript) {
1254
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('vertAlign', { 'w:val': 'subscript' }));
1279
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('vertAlign', { 'w:val': 'subscript' }));
1255
1280
  }
1256
1281
  else if (formatting.superscript) {
1257
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('vertAlign', { 'w:val': 'superscript' }));
1282
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('vertAlign', { 'w:val': 'superscript' }));
1258
1283
  }
1259
1284
  else if (formatting.vertAlignBaseline) {
1260
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('vertAlign', { 'w:val': 'baseline' }));
1285
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('vertAlign', { 'w:val': 'baseline' }));
1261
1286
  }
1262
- if (formatting.rtl) {
1263
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('rtl', { 'w:val': '1' }));
1287
+ if (formatting.rtl !== undefined) {
1288
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('rtl', { 'w:val': formatting.rtl ? '1' : '0' }));
1264
1289
  }
1265
- if (formatting.complexScript) {
1266
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('cs', { 'w:val': '1' }));
1290
+ if (formatting.complexScript !== undefined) {
1291
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('cs', { 'w:val': formatting.complexScript ? '1' : '0' }));
1267
1292
  }
1268
1293
  if (formatting.emphasis) {
1269
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('em', { 'w:val': formatting.emphasis }));
1294
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('em', { 'w:val': formatting.emphasis }));
1270
1295
  }
1271
1296
  if (formatting.language) {
1272
1297
  const langAttrs = {};
@@ -1282,7 +1307,7 @@ class Run {
1282
1307
  langAttrs['w:bidi'] = formatting.language.bidi;
1283
1308
  }
1284
1309
  if (Object.keys(langAttrs).length > 0) {
1285
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('lang', langAttrs));
1310
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('lang', langAttrs));
1286
1311
  }
1287
1312
  }
1288
1313
  if (formatting.eastAsianLayout) {
@@ -1290,20 +1315,21 @@ class Run {
1290
1315
  const attrs = {};
1291
1316
  if (layout.id !== undefined)
1292
1317
  attrs['w:id'] = layout.id;
1293
- if (layout.vert)
1294
- attrs['w:vert'] = '1';
1295
- if (layout.vertCompress)
1296
- attrs['w:vertCompress'] = '1';
1297
- if (layout.combine)
1298
- attrs['w:combine'] = '1';
1318
+ if (layout.vert !== undefined)
1319
+ attrs['w:vert'] = layout.vert ? '1' : '0';
1320
+ if (layout.vertCompress !== undefined) {
1321
+ attrs['w:vertCompress'] = layout.vertCompress ? '1' : '0';
1322
+ }
1323
+ if (layout.combine !== undefined)
1324
+ attrs['w:combine'] = layout.combine ? '1' : '0';
1299
1325
  if (layout.combineBrackets)
1300
1326
  attrs['w:combineBrackets'] = layout.combineBrackets;
1301
1327
  if (Object.keys(attrs).length > 0) {
1302
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('eastAsianLayout', attrs));
1328
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('eastAsianLayout', attrs));
1303
1329
  }
1304
1330
  }
1305
- if (formatting.specVanish) {
1306
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('specVanish', { 'w:val': '1' }));
1331
+ if (formatting.specVanish !== undefined) {
1332
+ rPrChildren.push(XMLBuilder_js_1.XMLBuilder.wSelf('specVanish', { 'w:val': formatting.specVanish ? '1' : '0' }));
1307
1333
  }
1308
1334
  if (formatting.rawW14Properties && formatting.rawW14Properties.length > 0) {
1309
1335
  for (const rawXml of formatting.rawW14Properties) {
@@ -1313,14 +1339,14 @@ class Run {
1313
1339
  if (rPrChildren.length === 0) {
1314
1340
  return null;
1315
1341
  }
1316
- return XMLBuilder_1.XMLBuilder.w('rPr', undefined, rPrChildren);
1342
+ return XMLBuilder_js_1.XMLBuilder.w('rPr', undefined, rPrChildren);
1317
1343
  }
1318
1344
  static create(text, formatting) {
1319
1345
  return new Run(text, formatting);
1320
1346
  }
1321
1347
  clone() {
1322
- const clonedContent = (0, deepClone_1.deepClone)(this.content);
1323
- const clonedFormatting = (0, deepClone_1.deepClone)(this.formatting);
1348
+ const clonedContent = (0, deepClone_js_1.deepClone)(this.content);
1349
+ const clonedFormatting = (0, deepClone_js_1.deepClone)(this.formatting);
1324
1350
  return Run.createFromContent(clonedContent, clonedFormatting);
1325
1351
  }
1326
1352
  insertText(index, text) {
@@ -1348,12 +1374,12 @@ class Run {
1348
1374
  splitAt(offset) {
1349
1375
  const totalLength = this.getText().length;
1350
1376
  if (offset >= totalLength) {
1351
- return Run.createFromContent([], (0, deepClone_1.deepClone)(this.formatting));
1377
+ return Run.createFromContent([], (0, deepClone_js_1.deepClone)(this.formatting));
1352
1378
  }
1353
1379
  if (offset <= 0) {
1354
1380
  const allContent = this.content;
1355
1381
  this.content = [];
1356
- return Run.createFromContent(allContent, (0, deepClone_1.deepClone)(this.formatting));
1382
+ return Run.createFromContent(allContent, (0, deepClone_js_1.deepClone)(this.formatting));
1357
1383
  }
1358
1384
  const beforeContent = [];
1359
1385
  const afterContent = [];
@@ -1361,16 +1387,16 @@ class Run {
1361
1387
  let splitDone = false;
1362
1388
  for (const item of this.content) {
1363
1389
  if (splitDone) {
1364
- afterContent.push((0, deepClone_1.deepClone)(item));
1390
+ afterContent.push((0, deepClone_js_1.deepClone)(item));
1365
1391
  continue;
1366
1392
  }
1367
1393
  const itemLength = this.getContentItemLength(item);
1368
1394
  if (charPos + itemLength <= offset) {
1369
- beforeContent.push((0, deepClone_1.deepClone)(item));
1395
+ beforeContent.push((0, deepClone_js_1.deepClone)(item));
1370
1396
  charPos += itemLength;
1371
1397
  }
1372
1398
  else if (charPos >= offset) {
1373
- afterContent.push((0, deepClone_1.deepClone)(item));
1399
+ afterContent.push((0, deepClone_js_1.deepClone)(item));
1374
1400
  splitDone = true;
1375
1401
  }
1376
1402
  else {
@@ -1380,13 +1406,13 @@ class Run {
1380
1406
  afterContent.push({ type: 'text', value: item.value.slice(splitIndex) });
1381
1407
  }
1382
1408
  else {
1383
- afterContent.push((0, deepClone_1.deepClone)(item));
1409
+ afterContent.push((0, deepClone_js_1.deepClone)(item));
1384
1410
  }
1385
1411
  splitDone = true;
1386
1412
  }
1387
1413
  }
1388
1414
  this.content = beforeContent;
1389
- return Run.createFromContent(afterContent, (0, deepClone_1.deepClone)(this.formatting));
1415
+ return Run.createFromContent(afterContent, (0, deepClone_js_1.deepClone)(this.formatting));
1390
1416
  }
1391
1417
  getContentItemLength(item) {
1392
1418
  switch (item.type) {