docxmlater 10.0.1 → 10.0.3

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 (395) hide show
  1. package/README.md +3 -2
  2. package/dist/constants/legacyCompatFlags.d.ts.map +1 -1
  3. package/dist/constants/legacyCompatFlags.js.map +1 -1
  4. package/dist/constants/limits.d.ts +0 -27
  5. package/dist/constants/limits.d.ts.map +1 -1
  6. package/dist/constants/limits.js +13 -13
  7. package/dist/constants/limits.js.map +1 -1
  8. package/dist/core/Document.d.ts +24 -19
  9. package/dist/core/Document.d.ts.map +1 -1
  10. package/dist/core/Document.js +272 -71
  11. package/dist/core/Document.js.map +1 -1
  12. package/dist/core/DocumentContent.d.ts.map +1 -1
  13. package/dist/core/DocumentContent.js.map +1 -1
  14. package/dist/core/DocumentGenerator.d.ts.map +1 -1
  15. package/dist/core/DocumentGenerator.js +59 -24
  16. package/dist/core/DocumentGenerator.js.map +1 -1
  17. package/dist/core/DocumentIdManager.d.ts.map +1 -1
  18. package/dist/core/DocumentIdManager.js.map +1 -1
  19. package/dist/core/DocumentParser.d.ts +6 -6
  20. package/dist/core/DocumentParser.d.ts.map +1 -1
  21. package/dist/core/DocumentParser.js +60 -54
  22. package/dist/core/DocumentParser.js.map +1 -1
  23. package/dist/core/DocumentValidator.d.ts.map +1 -1
  24. package/dist/core/DocumentValidator.js.map +1 -1
  25. package/dist/core/Relationship.d.ts.map +1 -1
  26. package/dist/core/Relationship.js +1 -1
  27. package/dist/core/Relationship.js.map +1 -1
  28. package/dist/core/RelationshipManager.js +3 -3
  29. package/dist/core/RelationshipManager.js.map +1 -1
  30. package/dist/elements/AlternateContent.js.map +1 -1
  31. package/dist/elements/Bookmark.d.ts.map +1 -1
  32. package/dist/elements/Bookmark.js.map +1 -1
  33. package/dist/elements/BookmarkManager.d.ts.map +1 -1
  34. package/dist/elements/BookmarkManager.js.map +1 -1
  35. package/dist/elements/Comment.js +1 -1
  36. package/dist/elements/Comment.js.map +1 -1
  37. package/dist/elements/CommentManager.d.ts.map +1 -1
  38. package/dist/elements/CommentManager.js +8 -2
  39. package/dist/elements/CommentManager.js.map +1 -1
  40. package/dist/elements/CommonTypes.d.ts.map +1 -1
  41. package/dist/elements/CommonTypes.js +1 -2
  42. package/dist/elements/CommonTypes.js.map +1 -1
  43. package/dist/elements/CustomXml.js.map +1 -1
  44. package/dist/elements/Endnote.d.ts.map +1 -1
  45. package/dist/elements/Endnote.js.map +1 -1
  46. package/dist/elements/EndnoteManager.d.ts.map +1 -1
  47. package/dist/elements/EndnoteManager.js.map +1 -1
  48. package/dist/elements/Field.d.ts.map +1 -1
  49. package/dist/elements/Field.js +31 -28
  50. package/dist/elements/Field.js.map +1 -1
  51. package/dist/elements/FieldHelpers.d.ts.map +1 -1
  52. package/dist/elements/FieldHelpers.js +6 -6
  53. package/dist/elements/FieldHelpers.js.map +1 -1
  54. package/dist/elements/FontManager.d.ts.map +1 -1
  55. package/dist/elements/FontManager.js.map +1 -1
  56. package/dist/elements/Footer.js.map +1 -1
  57. package/dist/elements/Footnote.d.ts.map +1 -1
  58. package/dist/elements/Footnote.js.map +1 -1
  59. package/dist/elements/FootnoteManager.d.ts.map +1 -1
  60. package/dist/elements/FootnoteManager.js.map +1 -1
  61. package/dist/elements/Header.js.map +1 -1
  62. package/dist/elements/HeaderFooterManager.js.map +1 -1
  63. package/dist/elements/Hyperlink.d.ts.map +1 -1
  64. package/dist/elements/Hyperlink.js +5 -5
  65. package/dist/elements/Hyperlink.js.map +1 -1
  66. package/dist/elements/Image.d.ts +2 -2
  67. package/dist/elements/Image.d.ts.map +1 -1
  68. package/dist/elements/Image.js +21 -5
  69. package/dist/elements/Image.js.map +1 -1
  70. package/dist/elements/ImageManager.d.ts.map +1 -1
  71. package/dist/elements/ImageManager.js +2 -2
  72. package/dist/elements/ImageManager.js.map +1 -1
  73. package/dist/elements/ImageRun.js.map +1 -1
  74. package/dist/elements/MathElement.js.map +1 -1
  75. package/dist/elements/Paragraph.d.ts.map +1 -1
  76. package/dist/elements/Paragraph.js +128 -117
  77. package/dist/elements/Paragraph.js.map +1 -1
  78. package/dist/elements/PreservedElement.js.map +1 -1
  79. package/dist/elements/PropertyChangeTypes.js.map +1 -1
  80. package/dist/elements/RangeMarker.js.map +1 -1
  81. package/dist/elements/Revision.d.ts +1 -0
  82. package/dist/elements/Revision.d.ts.map +1 -1
  83. package/dist/elements/Revision.js +44 -5
  84. package/dist/elements/Revision.js.map +1 -1
  85. package/dist/elements/RevisionContent.js.map +1 -1
  86. package/dist/elements/RevisionManager.d.ts.map +1 -1
  87. package/dist/elements/RevisionManager.js.map +1 -1
  88. package/dist/elements/Run.d.ts.map +1 -1
  89. package/dist/elements/Run.js +1 -3
  90. package/dist/elements/Run.js.map +1 -1
  91. package/dist/elements/Section.d.ts.map +1 -1
  92. package/dist/elements/Section.js +127 -118
  93. package/dist/elements/Section.js.map +1 -1
  94. package/dist/elements/Shape.d.ts.map +1 -1
  95. package/dist/elements/Shape.js +21 -0
  96. package/dist/elements/Shape.js.map +1 -1
  97. package/dist/elements/StructuredDocumentTag.d.ts.map +1 -1
  98. package/dist/elements/StructuredDocumentTag.js +20 -8
  99. package/dist/elements/StructuredDocumentTag.js.map +1 -1
  100. package/dist/elements/Table.d.ts +2 -2
  101. package/dist/elements/Table.d.ts.map +1 -1
  102. package/dist/elements/Table.js +29 -35
  103. package/dist/elements/Table.js.map +1 -1
  104. package/dist/elements/TableCell.d.ts +2 -2
  105. package/dist/elements/TableCell.d.ts.map +1 -1
  106. package/dist/elements/TableCell.js +63 -67
  107. package/dist/elements/TableCell.js.map +1 -1
  108. package/dist/elements/TableGridChange.js.map +1 -1
  109. package/dist/elements/TableOfContents.d.ts +6 -6
  110. package/dist/elements/TableOfContents.d.ts.map +1 -1
  111. package/dist/elements/TableOfContents.js.map +1 -1
  112. package/dist/elements/TableOfContentsElement.js.map +1 -1
  113. package/dist/elements/TableRow.d.ts.map +1 -1
  114. package/dist/elements/TableRow.js +65 -47
  115. package/dist/elements/TableRow.js.map +1 -1
  116. package/dist/elements/TextBox.d.ts.map +1 -1
  117. package/dist/elements/TextBox.js +1 -1
  118. package/dist/elements/TextBox.js.map +1 -1
  119. package/dist/formatting/AbstractNumbering.d.ts +1 -1
  120. package/dist/formatting/AbstractNumbering.d.ts.map +1 -1
  121. package/dist/formatting/AbstractNumbering.js +11 -11
  122. package/dist/formatting/AbstractNumbering.js.map +1 -1
  123. package/dist/formatting/NumberingInstance.d.ts.map +1 -1
  124. package/dist/formatting/NumberingInstance.js +4 -4
  125. package/dist/formatting/NumberingInstance.js.map +1 -1
  126. package/dist/formatting/NumberingLevel.d.ts.map +1 -1
  127. package/dist/formatting/NumberingLevel.js +26 -26
  128. package/dist/formatting/NumberingLevel.js.map +1 -1
  129. package/dist/formatting/NumberingManager.d.ts +1 -1
  130. package/dist/formatting/NumberingManager.d.ts.map +1 -1
  131. package/dist/formatting/NumberingManager.js.map +1 -1
  132. package/dist/formatting/Style.d.ts.map +1 -1
  133. package/dist/formatting/Style.js +87 -95
  134. package/dist/formatting/Style.js.map +1 -1
  135. package/dist/formatting/StylesManager.d.ts +3 -3
  136. package/dist/formatting/StylesManager.d.ts.map +1 -1
  137. package/dist/formatting/StylesManager.js.map +1 -1
  138. package/dist/helpers/CleanupHelper.d.ts.map +1 -1
  139. package/dist/helpers/CleanupHelper.js +1 -7
  140. package/dist/helpers/CleanupHelper.js.map +1 -1
  141. package/dist/images/ImageOptimizer.js.map +1 -1
  142. package/dist/index.js.map +1 -1
  143. package/dist/managers/DrawingManager.d.ts.map +1 -1
  144. package/dist/managers/DrawingManager.js.map +1 -1
  145. package/dist/tracking/DocumentTrackingContext.js.map +1 -1
  146. package/dist/tracking/TrackingContext.js.map +1 -1
  147. package/dist/types/compatibility-types.js.map +1 -1
  148. package/dist/types/formatting.js.map +1 -1
  149. package/dist/types/list-types.d.ts +4 -4
  150. package/dist/types/list-types.d.ts.map +1 -1
  151. package/dist/types/list-types.js.map +1 -1
  152. package/dist/types/settings-types.js.map +1 -1
  153. package/dist/types/styleConfig.js.map +1 -1
  154. package/dist/utils/ChangelogGenerator.d.ts.map +1 -1
  155. package/dist/utils/ChangelogGenerator.js.map +1 -1
  156. package/dist/utils/CompatibilityUpgrader.d.ts.map +1 -1
  157. package/dist/utils/CompatibilityUpgrader.js +7 -7
  158. package/dist/utils/CompatibilityUpgrader.js.map +1 -1
  159. package/dist/utils/InMemoryRevisionAcceptor.js +1 -1
  160. package/dist/utils/InMemoryRevisionAcceptor.js.map +1 -1
  161. package/dist/utils/MoveOperationHelper.js.map +1 -1
  162. package/dist/utils/RevisionAwareProcessor.js.map +1 -1
  163. package/dist/utils/RevisionWalker.js.map +1 -1
  164. package/dist/utils/SelectiveRevisionAcceptor.js.map +1 -1
  165. package/dist/utils/ShadingResolver.js +1 -1
  166. package/dist/utils/ShadingResolver.js.map +1 -1
  167. package/dist/utils/acceptRevisions.d.ts +0 -28
  168. package/dist/utils/acceptRevisions.d.ts.map +1 -1
  169. package/dist/utils/acceptRevisions.js +5 -7
  170. package/dist/utils/acceptRevisions.js.map +1 -1
  171. package/dist/utils/cnfStyleDecoder.js +1 -1
  172. package/dist/utils/cnfStyleDecoder.js.map +1 -1
  173. package/dist/utils/corruptionDetection.js.map +1 -1
  174. package/dist/utils/dateFormatting.js.map +1 -1
  175. package/dist/utils/deepClone.d.ts +0 -1
  176. package/dist/utils/deepClone.d.ts.map +1 -1
  177. package/dist/utils/deepClone.js +0 -7
  178. package/dist/utils/deepClone.js.map +1 -1
  179. package/dist/utils/diagnostics.d.ts +2 -2
  180. package/dist/utils/diagnostics.d.ts.map +1 -1
  181. package/dist/utils/diagnostics.js.map +1 -1
  182. package/dist/utils/errorHandling.js.map +1 -1
  183. package/dist/utils/formatting.js.map +1 -1
  184. package/dist/utils/list-detection.d.ts +2 -2
  185. package/dist/utils/list-detection.d.ts.map +1 -1
  186. package/dist/utils/list-detection.js +3 -3
  187. package/dist/utils/list-detection.js.map +1 -1
  188. package/dist/utils/logger.d.ts +2 -4
  189. package/dist/utils/logger.d.ts.map +1 -1
  190. package/dist/utils/logger.js +0 -2
  191. package/dist/utils/logger.js.map +1 -1
  192. package/dist/utils/parsingHelpers.js.map +1 -1
  193. package/dist/utils/stripTrackedChanges.d.ts +0 -19
  194. package/dist/utils/stripTrackedChanges.d.ts.map +1 -1
  195. package/dist/utils/stripTrackedChanges.js +0 -2
  196. package/dist/utils/stripTrackedChanges.js.map +1 -1
  197. package/dist/utils/textDiff.js.map +1 -1
  198. package/dist/utils/units.js.map +1 -1
  199. package/dist/utils/validation.d.ts.map +1 -1
  200. package/dist/utils/validation.js.map +1 -1
  201. package/dist/utils/xmlSanitization.js.map +1 -1
  202. package/dist/validation/RevisionAutoFixer.js.map +1 -1
  203. package/dist/validation/RevisionValidator.js.map +1 -1
  204. package/dist/validation/ValidationRules.js.map +1 -1
  205. package/dist/validation/index.js.map +1 -1
  206. package/dist/xml/XMLBuilder.d.ts.map +1 -1
  207. package/dist/xml/XMLBuilder.js +10 -0
  208. package/dist/xml/XMLBuilder.js.map +1 -1
  209. package/dist/xml/XMLParser.d.ts.map +1 -1
  210. package/dist/xml/XMLParser.js +4 -5
  211. package/dist/xml/XMLParser.js.map +1 -1
  212. package/dist/zip/ZipHandler.js.map +1 -1
  213. package/dist/zip/ZipReader.js.map +1 -1
  214. package/dist/zip/ZipWriter.js.map +1 -1
  215. package/dist/zip/errors.js.map +1 -1
  216. package/dist/zip/types.js.map +1 -1
  217. package/package.json +34 -4
  218. package/src/__tests__/helper-methods.test.ts +512 -0
  219. package/src/constants/legacyCompatFlags.ts +138 -0
  220. package/src/constants/limits.ts +50 -0
  221. package/src/core/CLAUDE.md +109 -0
  222. package/src/core/Document.ts +15569 -0
  223. package/src/core/DocumentContent.ts +467 -0
  224. package/src/core/DocumentGenerator.ts +1104 -0
  225. package/src/core/DocumentIdManager.ts +158 -0
  226. package/src/core/DocumentParser.ts +10107 -0
  227. package/src/core/DocumentValidator.ts +372 -0
  228. package/src/core/Relationship.ts +367 -0
  229. package/src/core/RelationshipManager.ts +428 -0
  230. package/src/elements/AlternateContent.ts +42 -0
  231. package/src/elements/Bookmark.ts +210 -0
  232. package/src/elements/BookmarkManager.ts +250 -0
  233. package/src/elements/CLAUDE.md +126 -0
  234. package/src/elements/Comment.ts +359 -0
  235. package/src/elements/CommentManager.ts +502 -0
  236. package/src/elements/CommonTypes.ts +549 -0
  237. package/src/elements/CustomXml.ts +36 -0
  238. package/src/elements/Endnote.ts +217 -0
  239. package/src/elements/EndnoteManager.ts +249 -0
  240. package/src/elements/Field.ts +1233 -0
  241. package/src/elements/FieldHelpers.ts +333 -0
  242. package/src/elements/FontManager.ts +339 -0
  243. package/src/elements/Footer.ts +269 -0
  244. package/src/elements/Footnote.ts +217 -0
  245. package/src/elements/FootnoteManager.ts +249 -0
  246. package/src/elements/Header.ts +269 -0
  247. package/src/elements/HeaderFooterManager.ts +219 -0
  248. package/src/elements/Hyperlink.ts +1146 -0
  249. package/src/elements/Image.ts +1756 -0
  250. package/src/elements/ImageManager.ts +432 -0
  251. package/src/elements/ImageRun.ts +59 -0
  252. package/src/elements/MathElement.ts +65 -0
  253. package/src/elements/Paragraph.ts +4227 -0
  254. package/src/elements/PreservedElement.ts +53 -0
  255. package/src/elements/PropertyChangeTypes.ts +442 -0
  256. package/src/elements/RangeMarker.ts +400 -0
  257. package/src/elements/Revision.ts +1217 -0
  258. package/src/elements/RevisionContent.ts +73 -0
  259. package/src/elements/RevisionManager.ts +1070 -0
  260. package/src/elements/Run.ts +3068 -0
  261. package/src/elements/Section.ts +1421 -0
  262. package/src/elements/Shape.ts +873 -0
  263. package/src/elements/StructuredDocumentTag.ts +978 -0
  264. package/src/elements/Table.ts +2524 -0
  265. package/src/elements/TableCell.ts +1586 -0
  266. package/src/elements/TableGridChange.ts +151 -0
  267. package/src/elements/TableOfContents.ts +691 -0
  268. package/src/elements/TableOfContentsElement.ts +89 -0
  269. package/src/elements/TableRow.ts +906 -0
  270. package/src/elements/TextBox.ts +768 -0
  271. package/src/formatting/AbstractNumbering.ts +548 -0
  272. package/src/formatting/CLAUDE.md +74 -0
  273. package/src/formatting/NumberingInstance.ts +212 -0
  274. package/src/formatting/NumberingLevel.ts +1006 -0
  275. package/src/formatting/NumberingManager.ts +827 -0
  276. package/src/formatting/Style.ts +1833 -0
  277. package/src/formatting/StylesManager.ts +1005 -0
  278. package/src/helpers/CleanupHelper.ts +524 -0
  279. package/src/images/ImageOptimizer.ts +274 -0
  280. package/src/index.ts +554 -0
  281. package/src/managers/CLAUDE.md +47 -0
  282. package/src/managers/DrawingManager.ts +319 -0
  283. package/src/tracking/DocumentTrackingContext.ts +643 -0
  284. package/src/tracking/TrackingContext.ts +173 -0
  285. package/src/types/compatibility-types.ts +49 -0
  286. package/src/types/formatting.ts +210 -0
  287. package/src/types/list-types.ts +152 -0
  288. package/src/types/settings-types.ts +59 -0
  289. package/src/types/styleConfig.ts +189 -0
  290. package/src/utils/CLAUDE.md +153 -0
  291. package/src/utils/ChangelogGenerator.ts +1581 -0
  292. package/src/utils/CompatibilityUpgrader.ts +237 -0
  293. package/src/utils/InMemoryRevisionAcceptor.ts +668 -0
  294. package/src/utils/MoveOperationHelper.ts +238 -0
  295. package/src/utils/RevisionAwareProcessor.ts +526 -0
  296. package/src/utils/RevisionWalker.ts +457 -0
  297. package/src/utils/SelectiveRevisionAcceptor.ts +613 -0
  298. package/src/utils/ShadingResolver.ts +107 -0
  299. package/src/utils/acceptRevisions.ts +714 -0
  300. package/src/utils/cnfStyleDecoder.ts +217 -0
  301. package/src/utils/corruptionDetection.ts +345 -0
  302. package/src/utils/dateFormatting.ts +20 -0
  303. package/src/utils/deepClone.ts +78 -0
  304. package/src/utils/diagnostics.ts +129 -0
  305. package/src/utils/errorHandling.ts +80 -0
  306. package/src/utils/formatting.ts +213 -0
  307. package/src/utils/list-detection.ts +274 -0
  308. package/src/utils/logger.ts +404 -0
  309. package/src/utils/parsingHelpers.ts +190 -0
  310. package/src/utils/stripTrackedChanges.ts +353 -0
  311. package/src/utils/textDiff.ts +100 -0
  312. package/src/utils/units.ts +421 -0
  313. package/src/utils/validation.ts +542 -0
  314. package/src/utils/xmlSanitization.ts +182 -0
  315. package/src/validation/RevisionAutoFixer.ts +542 -0
  316. package/src/validation/RevisionValidator.ts +460 -0
  317. package/src/validation/ValidationRules.ts +338 -0
  318. package/src/validation/index.ts +30 -0
  319. package/src/xml/CLAUDE.md +65 -0
  320. package/src/xml/XMLBuilder.ts +871 -0
  321. package/src/xml/XMLParser.ts +919 -0
  322. package/src/zip/CLAUDE.md +55 -0
  323. package/src/zip/ZipHandler.ts +637 -0
  324. package/src/zip/ZipReader.ts +299 -0
  325. package/src/zip/ZipWriter.ts +390 -0
  326. package/src/zip/errors.ts +69 -0
  327. package/src/zip/types.ts +116 -0
  328. package/dist/core/ListNormalizer.d.ts +0 -23
  329. package/dist/core/ListNormalizer.d.ts.map +0 -1
  330. package/dist/core/ListNormalizer.js +0 -624
  331. package/dist/core/ListNormalizer.js.map +0 -1
  332. package/dist/images/index.d.ts +0 -2
  333. package/dist/images/index.d.ts.map +0 -1
  334. package/dist/images/index.js +0 -8
  335. package/dist/images/index.js.map +0 -1
  336. package/dist/ms-doc/cfb/CFBReader.d.ts +0 -35
  337. package/dist/ms-doc/cfb/CFBReader.d.ts.map +0 -1
  338. package/dist/ms-doc/cfb/CFBReader.js +0 -360
  339. package/dist/ms-doc/cfb/CFBReader.js.map +0 -1
  340. package/dist/ms-doc/converter/DocToDocxConverter.d.ts +0 -55
  341. package/dist/ms-doc/converter/DocToDocxConverter.d.ts.map +0 -1
  342. package/dist/ms-doc/converter/DocToDocxConverter.js +0 -324
  343. package/dist/ms-doc/converter/DocToDocxConverter.js.map +0 -1
  344. package/dist/ms-doc/fib/FIB.d.ts +0 -18
  345. package/dist/ms-doc/fib/FIB.d.ts.map +0 -1
  346. package/dist/ms-doc/fib/FIB.js +0 -342
  347. package/dist/ms-doc/fib/FIB.js.map +0 -1
  348. package/dist/ms-doc/fields/FieldParser.d.ts +0 -31
  349. package/dist/ms-doc/fields/FieldParser.d.ts.map +0 -1
  350. package/dist/ms-doc/fields/FieldParser.js +0 -266
  351. package/dist/ms-doc/fields/FieldParser.js.map +0 -1
  352. package/dist/ms-doc/images/PictureExtractor.d.ts +0 -22
  353. package/dist/ms-doc/images/PictureExtractor.d.ts.map +0 -1
  354. package/dist/ms-doc/images/PictureExtractor.js +0 -233
  355. package/dist/ms-doc/images/PictureExtractor.js.map +0 -1
  356. package/dist/ms-doc/index.d.ts +0 -20
  357. package/dist/ms-doc/index.d.ts.map +0 -1
  358. package/dist/ms-doc/index.js +0 -59
  359. package/dist/ms-doc/index.js.map +0 -1
  360. package/dist/ms-doc/properties/SPRM.d.ts +0 -210
  361. package/dist/ms-doc/properties/SPRM.d.ts.map +0 -1
  362. package/dist/ms-doc/properties/SPRM.js +0 -633
  363. package/dist/ms-doc/properties/SPRM.js.map +0 -1
  364. package/dist/ms-doc/sections/SectionParser.d.ts +0 -25
  365. package/dist/ms-doc/sections/SectionParser.d.ts.map +0 -1
  366. package/dist/ms-doc/sections/SectionParser.js +0 -214
  367. package/dist/ms-doc/sections/SectionParser.js.map +0 -1
  368. package/dist/ms-doc/styles/StyleSheet.d.ts +0 -23
  369. package/dist/ms-doc/styles/StyleSheet.d.ts.map +0 -1
  370. package/dist/ms-doc/styles/StyleSheet.js +0 -268
  371. package/dist/ms-doc/styles/StyleSheet.js.map +0 -1
  372. package/dist/ms-doc/subdocuments/SubdocumentParser.d.ts +0 -61
  373. package/dist/ms-doc/subdocuments/SubdocumentParser.d.ts.map +0 -1
  374. package/dist/ms-doc/subdocuments/SubdocumentParser.js +0 -208
  375. package/dist/ms-doc/subdocuments/SubdocumentParser.js.map +0 -1
  376. package/dist/ms-doc/tables/TableParser.d.ts +0 -29
  377. package/dist/ms-doc/tables/TableParser.d.ts.map +0 -1
  378. package/dist/ms-doc/tables/TableParser.js +0 -176
  379. package/dist/ms-doc/tables/TableParser.js.map +0 -1
  380. package/dist/ms-doc/text/PieceTable.d.ts +0 -21
  381. package/dist/ms-doc/text/PieceTable.d.ts.map +0 -1
  382. package/dist/ms-doc/text/PieceTable.js +0 -171
  383. package/dist/ms-doc/text/PieceTable.js.map +0 -1
  384. package/dist/ms-doc/types/Constants.d.ts +0 -99
  385. package/dist/ms-doc/types/Constants.d.ts.map +0 -1
  386. package/dist/ms-doc/types/Constants.js +0 -102
  387. package/dist/ms-doc/types/Constants.js.map +0 -1
  388. package/dist/ms-doc/types/DocTypes.d.ts +0 -368
  389. package/dist/ms-doc/types/DocTypes.d.ts.map +0 -1
  390. package/dist/ms-doc/types/DocTypes.js +0 -3
  391. package/dist/ms-doc/types/DocTypes.js.map +0 -1
  392. package/dist/tracking/index.d.ts +0 -3
  393. package/dist/tracking/index.d.ts.map +0 -1
  394. package/dist/tracking/index.js +0 -6
  395. package/dist/tracking/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"CleanupHelper.js","sourceRoot":"","sources":["../../src/helpers/CleanupHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CleanupHelper.js","sourceRoot":"","sources":["../../src/helpers/CleanupHelper.ts"],"names":[],"mappings":"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","sourcesContent":["/**\r\n * CleanupHelper - Comprehensive document cleanup utilities\r\n *\r\n * Provides methods to clean up common issues in DOCX documents, including:\r\n * - Unlocking and removing SDTs\r\n * - Clearing preserve flags\r\n * - Defragmenting hyperlinks\r\n * - Cleaning unused elements\r\n * - Removing customXML\r\n * - Unlocking fields and frames\r\n * - Sanitizing tables\r\n *\r\n * Usage:\r\n * const cleanup = new CleanupHelper(doc);\r\n * cleanup.all(); // Run all cleanups\r\n */\r\n\r\nimport type { Document } from \"../core/Document\";\r\nimport { Field, ComplexField } from \"../elements/Field\";\r\nimport { Hyperlink } from \"../elements/Hyperlink\";\r\nimport { Paragraph } from \"../elements/Paragraph\";\r\nimport { Table } from \"../elements/Table\";\r\nimport { StructuredDocumentTag } from \"../elements/StructuredDocumentTag\";\r\n\r\nexport interface CleanupOptions {\r\n /** Unlock all SDTs to enable editing */\r\n unlockSDTs?: boolean;\r\n /** Remove all SDTs (unwrap content) */\r\n removeSDTs?: boolean;\r\n /** Clear paragraph preserve flags */\r\n clearPreserveFlags?: boolean;\r\n /** Merge fragmented hyperlinks */\r\n defragmentHyperlinks?: boolean;\r\n /** Reset hyperlink formatting to standard */\r\n resetHyperlinkFormatting?: boolean;\r\n /** Remove unused numbering definitions */\r\n cleanupNumbering?: boolean;\r\n /** Remove unused styles */\r\n cleanupStyles?: boolean;\r\n /** Remove orphaned relationships */\r\n cleanupRelationships?: boolean;\r\n /** Remove customXML elements */\r\n removeCustomXML?: boolean;\r\n /** Unlock field locks (enable field updates) */\r\n unlockFields?: boolean;\r\n /** Remove frame/text box locks */\r\n unlockFrames?: boolean;\r\n /** Sanitize table property exceptions (tblPrEx) */\r\n sanitizeTables?: boolean;\r\n /** Format internal anchor hyperlinks with standard styling (Verdana 12pt blue underlined) */\r\n formatInternalHyperlinks?: boolean;\r\n /** Format ALL hyperlinks (internal, external, and HYPERLINK fields) with standard styling (Verdana 12pt #0000FF underlined) */\r\n formatAllHyperlinks?: boolean;\r\n}\r\n\r\nexport interface CleanupReport {\r\n sdtsUnlocked: number;\r\n sdtsRemoved: number;\r\n preserveFlagsCleared: number;\r\n hyperlinksDefragmented: number;\r\n numberingRemoved: number;\r\n stylesRemoved: number;\r\n relationshipsRemoved: number;\r\n customXMLRemoved: number;\r\n fieldsUnlocked: number;\r\n framesUnlocked: number;\r\n tablesProcessed: number;\r\n internalHyperlinksFormatted: number;\r\n allHyperlinksFormatted: number;\r\n warnings: string[];\r\n}\r\n\r\nexport class CleanupHelper {\r\n private doc: Document;\r\n\r\n constructor(doc: Document) {\r\n this.doc = doc;\r\n }\r\n\r\n /**\r\n * Run all cleanup operations with default settings\r\n * @returns Cleanup report\r\n */\r\n all(): CleanupReport {\r\n return this.run({\r\n unlockSDTs: true,\r\n removeSDTs: true,\r\n clearPreserveFlags: true,\r\n defragmentHyperlinks: true,\r\n resetHyperlinkFormatting: true,\r\n cleanupNumbering: true,\r\n cleanupStyles: true,\r\n cleanupRelationships: true,\r\n removeCustomXML: true,\r\n unlockFields: true,\r\n unlockFrames: true,\r\n sanitizeTables: true,\r\n formatAllHyperlinks: true,\r\n });\r\n }\r\n\r\n /**\r\n * Run selective cleanup operations\r\n * @param options Cleanup options\r\n * @returns Cleanup report\r\n */\r\n run(options: CleanupOptions): CleanupReport {\r\n const report: CleanupReport = {\r\n sdtsUnlocked: 0,\r\n sdtsRemoved: 0,\r\n preserveFlagsCleared: 0,\r\n hyperlinksDefragmented: 0,\r\n numberingRemoved: 0,\r\n stylesRemoved: 0,\r\n relationshipsRemoved: 0,\r\n customXMLRemoved: 0,\r\n fieldsUnlocked: 0,\r\n framesUnlocked: 0,\r\n tablesProcessed: 0,\r\n internalHyperlinksFormatted: 0,\r\n allHyperlinksFormatted: 0,\r\n warnings: [],\r\n };\r\n\r\n if (options.unlockSDTs) {\r\n report.sdtsUnlocked = this.unlockSDTs();\r\n }\r\n\r\n if (options.removeSDTs) {\r\n report.sdtsRemoved = this.removeSDTs();\r\n }\r\n\r\n if (options.clearPreserveFlags) {\r\n report.preserveFlagsCleared = this.clearPreserveFlags();\r\n }\r\n\r\n if (options.defragmentHyperlinks) {\r\n report.hyperlinksDefragmented = this.defragmentHyperlinks(\r\n options.resetHyperlinkFormatting ?? false\r\n );\r\n }\r\n\r\n if (options.cleanupNumbering) {\r\n report.numberingRemoved = this.cleanupNumbering();\r\n }\r\n\r\n if (options.cleanupStyles) {\r\n report.stylesRemoved = this.cleanupStyles();\r\n }\r\n\r\n if (options.cleanupRelationships) {\r\n report.relationshipsRemoved = this.cleanupRelationships();\r\n }\r\n\r\n if (options.removeCustomXML) {\r\n report.customXMLRemoved = this.removeCustomXML();\r\n }\r\n\r\n if (options.unlockFields) {\r\n report.fieldsUnlocked = this.unlockFields();\r\n }\r\n\r\n if (options.unlockFrames) {\r\n report.framesUnlocked = this.unlockFrames();\r\n }\r\n\r\n if (options.sanitizeTables) {\r\n report.tablesProcessed = this.sanitizeTables();\r\n }\r\n\r\n if (options.formatInternalHyperlinks) {\r\n report.internalHyperlinksFormatted = this.formatInternalHyperlinks();\r\n }\r\n\r\n if (options.formatAllHyperlinks) {\r\n report.allHyperlinksFormatted = this.formatAllHyperlinks();\r\n }\r\n\r\n return report;\r\n }\r\n\r\n private unlockSDTs(): number {\r\n let count = 0;\r\n const bodyElements = this.doc.getBodyElements();\r\n\r\n for (const element of bodyElements) {\r\n if (element instanceof StructuredDocumentTag && element.isLocked()) {\r\n element.unlock();\r\n count++;\r\n }\r\n }\r\n\r\n // Also unlock in tables\r\n for (const table of this.doc.getAllTables()) {\r\n for (const row of table.getRows()) {\r\n for (const cell of row.getCells()) {\r\n for (const para of cell.getParagraphs()) {\r\n // SDTs can wrap paragraphs in cells\r\n const content = para.getContent();\r\n for (const item of content) {\r\n if (item instanceof StructuredDocumentTag && item.isLocked()) {\r\n item.unlock();\r\n count++;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return count;\r\n }\r\n\r\n private removeSDTs(): number {\r\n // Unwrap SDT wrappers, preserving their content\r\n const bodyElements = this.doc.getBodyElements();\r\n type BodyElement = Paragraph | Table | StructuredDocumentTag;\r\n const unwrapped: BodyElement[] = [];\r\n let sdtCount = 0;\r\n\r\n const unwrapSDT = (sdt: StructuredDocumentTag, target: BodyElement[]) => {\r\n sdtCount++;\r\n for (const item of sdt.getContent()) {\r\n if (item instanceof Paragraph || item instanceof Table) {\r\n target.push(item);\r\n } else if (item instanceof StructuredDocumentTag) {\r\n unwrapSDT(item, target);\r\n }\r\n }\r\n };\r\n\r\n for (const element of bodyElements) {\r\n if (element instanceof StructuredDocumentTag) {\r\n unwrapSDT(element, unwrapped);\r\n } else {\r\n unwrapped.push(element as BodyElement);\r\n }\r\n }\r\n\r\n this.doc.setBodyElements(unwrapped);\r\n return sdtCount;\r\n }\r\n\r\n private clearPreserveFlags(): number {\r\n let cleared = 0;\r\n for (const para of this.doc.getAllParagraphs()) {\r\n if (para.isPreserved()) {\r\n para.setPreserved(false);\r\n cleared++;\r\n }\r\n }\r\n return cleared;\r\n }\r\n\r\n private defragmentHyperlinks(resetFormatting: boolean): number {\r\n return this.doc.defragmentHyperlinks({ resetFormatting, cleanupRelationships: true });\r\n }\r\n\r\n private cleanupNumbering(): number {\r\n const before = this.doc.getNumberingManager().getAllInstances().length;\r\n this.doc.cleanupUnusedNumbering();\r\n const after = this.doc.getNumberingManager().getAllInstances().length;\r\n return before - after;\r\n }\r\n\r\n private cleanupStyles(): number {\r\n // Implementation for unused styles removal\r\n // Scan all paragraphs and runs for used styles\r\n const usedStyles = new Set<string>();\r\n for (const para of this.doc.getAllParagraphs()) {\r\n const paraStyle = para.getFormatting().style;\r\n if (paraStyle) usedStyles.add(paraStyle);\r\n for (const run of para.getRuns()) {\r\n const runStyle = run.getFormatting().characterStyle;\r\n if (runStyle) usedStyles.add(runStyle);\r\n }\r\n }\r\n\r\n // Remove unused styles\r\n let removed = 0;\r\n const allStyles = this.doc.getStylesManager().getAllStyles();\r\n for (const style of allStyles) {\r\n if (!usedStyles.has(style.getStyleId())) {\r\n this.doc.getStylesManager().removeStyle(style.getStyleId());\r\n removed++;\r\n }\r\n }\r\n\r\n return removed;\r\n }\r\n\r\n private cleanupRelationships(): number {\r\n // Use comprehensive scanning that includes raw nested content (nested tables),\r\n // headers/footers, footnotes, and endnotes — not just in-memory hyperlinks\r\n const referencedIds = this.doc.collectAllReferencedHyperlinkIds();\r\n\r\n // Remove orphaned hyperlink relationships\r\n return this.doc.getRelationshipManager().removeOrphanedHyperlinks(referencedIds);\r\n }\r\n\r\n private removeCustomXML(): number {\r\n const zipHandler = this.doc.getZipHandler();\r\n let removed = 0;\r\n\r\n // Remove customXML files\r\n const files = zipHandler.getFilePaths();\r\n for (const file of files) {\r\n if (file.startsWith('customXml/') || file.startsWith('customXML/')) {\r\n zipHandler.removeFile(file);\r\n removed++;\r\n }\r\n }\r\n\r\n // Remove customXML relationships\r\n const relManager = this.doc.getRelationshipManager();\r\n const customRels = relManager.getRelationshipsByType(\r\n 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml'\r\n );\r\n for (const rel of customRels) {\r\n relManager.removeRelationship(rel.getId());\r\n removed++;\r\n }\r\n\r\n // Remove custom.xml if present (docProps/custom.xml)\r\n if (zipHandler.hasFile('docProps/custom.xml')) {\r\n zipHandler.removeFile('docProps/custom.xml');\r\n removed++;\r\n }\r\n\r\n return removed;\r\n }\r\n\r\n private unlockFields(): number {\r\n const zipHandler = this.doc.getZipHandler();\r\n const docXml = zipHandler.getFileAsString('word/document.xml');\r\n if (!docXml) return 0;\r\n\r\n // Count matches first, then replace (avoid regex re-execution)\r\n const pattern = /w:fldLock=\"(1|true)\"/g;\r\n const matches = docXml.match(pattern) || [];\r\n if (matches.length === 0) return 0;\r\n\r\n // Remove w:fldLock=\"1\" or w:fldLock=\"true\"\r\n const updatedXml = docXml.replace(pattern, '');\r\n zipHandler.updateFile('word/document.xml', updatedXml);\r\n\r\n return matches.length;\r\n }\r\n\r\n private unlockFrames(): number {\r\n const zipHandler = this.doc.getZipHandler();\r\n const docXml = zipHandler.getFileAsString('word/document.xml');\r\n if (!docXml) return 0;\r\n\r\n // Count matches first, then replace (avoid regex re-execution)\r\n const pattern = /w:anchorLock=\"(1|true)\"/g;\r\n const matches = docXml.match(pattern) || [];\r\n if (matches.length === 0) return 0;\r\n\r\n // Remove w:anchorLock=\"1\" or w:anchorLock=\"true\"\r\n const updatedXml = docXml.replace(pattern, '');\r\n zipHandler.updateFile('word/document.xml', updatedXml);\r\n\r\n return matches.length;\r\n }\r\n\r\n private sanitizeTables(): number {\r\n const tables = this.doc.getAllTables();\r\n let processed = 0;\r\n for (const table of tables) {\r\n for (const row of table.getRows()) {\r\n const exceptions = row.getTablePropertyExceptions();\r\n if (exceptions && Object.keys(exceptions).length > 0) {\r\n row.setTablePropertyExceptions(undefined as any);\r\n }\r\n }\r\n processed++;\r\n }\r\n return processed;\r\n }\r\n\r\n private formatInternalHyperlinks(): number {\r\n let count = 0;\r\n const formatting = {\r\n font: \"Verdana\",\r\n size: 12,\r\n color: \"0000FF\",\r\n underline: \"single\" as const,\r\n };\r\n\r\n // Process body paragraphs\r\n for (const paragraph of this.doc.getAllParagraphs()) {\r\n for (const item of paragraph.getContent()) {\r\n if (item instanceof Hyperlink && item.isInternal()) {\r\n item.setFormatting(formatting, { replace: true });\r\n count++;\r\n }\r\n }\r\n }\r\n\r\n // Process table paragraphs\r\n for (const table of this.doc.getAllTables()) {\r\n for (const row of table.getRows()) {\r\n for (const cell of row.getCells()) {\r\n for (const para of cell.getParagraphs()) {\r\n for (const item of para.getContent()) {\r\n if (item instanceof Hyperlink && item.isInternal()) {\r\n item.setFormatting(formatting, { replace: true });\r\n count++;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return count;\r\n }\r\n\r\n /**\r\n * Formats ALL hyperlinks in the document with standard styling\r\n * This includes:\r\n * - Internal w:hyperlink elements (bookmarks)\r\n * - External w:hyperlink elements (URLs)\r\n * - HYPERLINK fields (both simple w:fldSimple and complex fields)\r\n *\r\n * Standard formatting: Verdana 12pt, #0000FF blue, single underline\r\n * @returns Number of hyperlinks formatted\r\n */\r\n private formatAllHyperlinks(): number {\r\n let count = 0;\r\n const formatting = {\r\n font: \"Verdana\",\r\n size: 12,\r\n color: \"0000FF\",\r\n underline: \"single\" as const,\r\n };\r\n\r\n // Helper to process paragraph content\r\n const processParagraph = (paragraph: any): void => {\r\n for (const item of paragraph.getContent()) {\r\n // Process all Hyperlink instances (both internal AND external)\r\n if (item instanceof Hyperlink) {\r\n item.setFormatting(formatting, { replace: true });\r\n count++;\r\n }\r\n // Process simple HYPERLINK fields\r\n if (item instanceof Field && item.isHyperlinkField()) {\r\n item.setFormatting(formatting);\r\n count++;\r\n }\r\n // Process complex HYPERLINK fields\r\n if (item instanceof ComplexField && item.isHyperlinkField()) {\r\n item.setResultFormatting(formatting);\r\n count++;\r\n }\r\n }\r\n };\r\n\r\n // Process body paragraphs\r\n for (const paragraph of this.doc.getAllParagraphs()) {\r\n processParagraph(paragraph);\r\n }\r\n\r\n // Process table paragraphs\r\n for (const table of this.doc.getAllTables()) {\r\n for (const row of table.getRows()) {\r\n for (const cell of row.getCells()) {\r\n for (const para of cell.getParagraphs()) {\r\n processParagraph(para);\r\n }\r\n }\r\n }\r\n }\r\n\r\n return count;\r\n }\r\n\r\n /**\r\n * Preset: Google Docs cleanup\r\n */\r\n static googleDocsPreset(): CleanupOptions {\r\n return {\r\n unlockSDTs: true,\r\n removeSDTs: true,\r\n defragmentHyperlinks: true,\r\n resetHyperlinkFormatting: true,\r\n cleanupRelationships: true,\r\n removeCustomXML: true,\r\n sanitizeTables: true,\r\n };\r\n }\r\n\r\n /**\r\n * Preset: Full cleanup\r\n */\r\n static fullCleanupPreset(): CleanupOptions {\r\n return {\r\n unlockSDTs: true,\r\n removeSDTs: true,\r\n clearPreserveFlags: true,\r\n defragmentHyperlinks: true,\r\n resetHyperlinkFormatting: true,\r\n cleanupNumbering: true,\r\n cleanupStyles: true,\r\n cleanupRelationships: true,\r\n removeCustomXML: true,\r\n unlockFields: true,\r\n unlockFrames: true,\r\n sanitizeTables: true,\r\n formatAllHyperlinks: true,\r\n };\r\n }\r\n\r\n /**\r\n * Preset: Minimal cleanup\r\n */\r\n static minimalPreset(): CleanupOptions {\r\n return {\r\n cleanupRelationships: true,\r\n removeCustomXML: true,\r\n };\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ImageOptimizer.js","sourceRoot":"","sources":["../../src/images/ImageOptimizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ImageOptimizer.js","sourceRoot":"","sources":["../../src/images/ImageOptimizer.ts"],"names":[],"mappings":"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","sourcesContent":["/**\r\n * ImageOptimizer - Lossless image optimization for DOCX documents\r\n *\r\n * Two techniques using only Node.js built-in zlib (zero dependencies):\r\n * 1. PNG re-compression — Re-compress IDAT chunks at zlib level 9 + strip metadata\r\n * 2. BMP → PNG conversion — Lossless format change, typically 10-50x smaller\r\n */\r\n\r\nimport * as zlib from 'zlib';\r\n\r\n// =============================================================================\r\n// Types\r\n// =============================================================================\r\n\r\nexport interface ImageOptimizationResult {\r\n optimizedCount: number;\r\n totalSavedBytes: number;\r\n}\r\n\r\n// =============================================================================\r\n// CRC-32 (IEEE polynomial)\r\n// =============================================================================\r\n\r\nconst CRC_TABLE: Uint32Array = (() => {\r\n const table = new Uint32Array(256);\r\n for (let n = 0; n < 256; n++) {\r\n let c = n;\r\n for (let k = 0; k < 8; k++) {\r\n c = (c & 1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1);\r\n }\r\n table[n] = c;\r\n }\r\n return table;\r\n})();\r\n\r\nfunction crc32(buf: Buffer): number {\r\n let crc = 0xFFFFFFFF;\r\n for (let i = 0; i < buf.length; i++) {\r\n crc = CRC_TABLE[(crc ^ buf[i]!) & 0xFF]! ^ (crc >>> 8);\r\n }\r\n return (crc ^ 0xFFFFFFFF) >>> 0;\r\n}\r\n\r\n// =============================================================================\r\n// PNG Chunk Builder\r\n// =============================================================================\r\n\r\nconst PNG_SIGNATURE = Buffer.from([0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A]);\r\n\r\n/**\r\n * Builds a PNG chunk: [4-byte length][4-byte type][data][4-byte CRC]\r\n * CRC covers type + data bytes\r\n */\r\nfunction buildPngChunk(type: string, data: Buffer): Buffer {\r\n const length = Buffer.alloc(4);\r\n length.writeUInt32BE(data.length, 0);\r\n\r\n const typeBuffer = Buffer.from(type, 'ascii');\r\n\r\n const crcInput = Buffer.concat([typeBuffer, data]);\r\n const crcValue = crc32(crcInput);\r\n const crcBuffer = Buffer.alloc(4);\r\n crcBuffer.writeUInt32BE(crcValue, 0);\r\n\r\n return Buffer.concat([length, typeBuffer, data, crcBuffer]);\r\n}\r\n\r\n// =============================================================================\r\n// PNG Re-compression\r\n// =============================================================================\r\n\r\n/** Chunks that must be preserved for correct PNG rendering */\r\nconst ESSENTIAL_CHUNK_TYPES = new Set(['IHDR', 'PLTE', 'tRNS', 'IDAT', 'IEND']);\r\n\r\n/**\r\n * Re-compresses a PNG buffer at zlib level 9 and strips non-essential metadata chunks.\r\n * Returns the optimized buffer, or null if the PNG is invalid/cannot be optimized.\r\n * The caller should compare sizes to decide whether to use the result.\r\n */\r\nexport function optimizePng(buffer: Buffer): Buffer | null {\r\n // Verify PNG signature\r\n if (buffer.length < 8 || !buffer.subarray(0, 8).equals(PNG_SIGNATURE)) {\r\n return null;\r\n }\r\n\r\n // Parse chunks\r\n let ihdrData: Buffer | null = null;\r\n let plteData: Buffer | null = null;\r\n let trnsData: Buffer | null = null;\r\n const idatBuffers: Buffer[] = [];\r\n\r\n let offset = 8; // Skip signature\r\n while (offset + 12 <= buffer.length) {\r\n const chunkLength = buffer.readUInt32BE(offset);\r\n const chunkType = buffer.subarray(offset + 4, offset + 8).toString('ascii');\r\n\r\n // Bounds check: length + type(4) + data + crc(4) = 12 + chunkLength\r\n if (offset + 12 + chunkLength > buffer.length) break;\r\n\r\n const chunkData = buffer.subarray(offset + 8, offset + 8 + chunkLength);\r\n\r\n if (chunkType === 'IHDR') {\r\n ihdrData = Buffer.from(chunkData);\r\n } else if (chunkType === 'PLTE') {\r\n plteData = Buffer.from(chunkData);\r\n } else if (chunkType === 'tRNS') {\r\n trnsData = Buffer.from(chunkData);\r\n } else if (chunkType === 'IDAT') {\r\n idatBuffers.push(chunkData);\r\n }\r\n // Non-essential chunks (tEXt, iTXt, zTXt, iCCP, sRGB, gAMA, cHRM, tIME, pHYs, etc.)\r\n // are intentionally discarded\r\n\r\n offset += 12 + chunkLength;\r\n\r\n // Stop after IEND\r\n if (chunkType === 'IEND') break;\r\n }\r\n\r\n if (!ihdrData || idatBuffers.length === 0) return null;\r\n\r\n // Decompress all IDAT data\r\n const combinedIdat = Buffer.concat(idatBuffers);\r\n let decompressed: Buffer;\r\n try {\r\n decompressed = zlib.inflateSync(combinedIdat);\r\n } catch {\r\n return null; // Corrupted IDAT data\r\n }\r\n\r\n // Re-compress at maximum level\r\n const recompressed = zlib.deflateSync(decompressed, { level: 9 });\r\n\r\n // Rebuild PNG: signature + IHDR + [PLTE] + [tRNS] + IDAT + IEND\r\n const resultParts: Buffer[] = [Buffer.from(PNG_SIGNATURE)];\r\n\r\n resultParts.push(buildPngChunk('IHDR', ihdrData));\r\n if (plteData) resultParts.push(buildPngChunk('PLTE', plteData));\r\n if (trnsData) resultParts.push(buildPngChunk('tRNS', trnsData));\r\n resultParts.push(buildPngChunk('IDAT', recompressed));\r\n resultParts.push(buildPngChunk('IEND', Buffer.alloc(0)));\r\n\r\n return Buffer.concat(resultParts);\r\n}\r\n\r\n// =============================================================================\r\n// BMP → PNG Conversion\r\n// =============================================================================\r\n\r\n/**\r\n * Converts a BMP buffer to PNG format. Lossless conversion.\r\n * Supports 24-bit (RGB) and 32-bit (RGBA) uncompressed BMPs.\r\n * Returns null for unsupported variants (indexed, 16-bit, RLE-compressed).\r\n */\r\nexport function convertBmpToPng(buffer: Buffer): Buffer | null {\r\n // Minimum BMP size: 14 (file header) + 40 (BITMAPINFOHEADER) = 54 bytes\r\n if (buffer.length < 54 || buffer[0] !== 0x42 || buffer[1] !== 0x4D) {\r\n return null;\r\n }\r\n\r\n // Parse BMP file header (14 bytes)\r\n const pixelDataOffset = buffer.readUInt32LE(10);\r\n\r\n // Parse DIB header (BITMAPINFOHEADER)\r\n const dibHeaderSize = buffer.readUInt32LE(14);\r\n if (dibHeaderSize < 40) return null; // Only support BITMAPINFOHEADER and larger\r\n\r\n const width = buffer.readInt32LE(18);\r\n const height = buffer.readInt32LE(22);\r\n const bitsPerPixel = buffer.readUInt16LE(28);\r\n const compression = buffer.readUInt32LE(30);\r\n\r\n // Only support uncompressed (0) and BI_BITFIELDS (3) for 32-bit\r\n if (compression !== 0 && !(compression === 3 && bitsPerPixel === 32)) return null;\r\n\r\n // Only support 24-bit and 32-bit\r\n if (bitsPerPixel !== 24 && bitsPerPixel !== 32) return null;\r\n\r\n if (width <= 0) return null;\r\n const absHeight = Math.abs(height);\r\n if (absHeight === 0) return null;\r\n const isTopDown = height < 0;\r\n\r\n const bytesPerPixel = bitsPerPixel / 8;\r\n\r\n // BMP rows are padded to 4-byte boundaries\r\n const rowSize = Math.ceil((width * bytesPerPixel) / 4) * 4;\r\n\r\n // Validate buffer has enough pixel data\r\n if (pixelDataOffset + absHeight * rowSize > buffer.length) return null;\r\n\r\n // PNG color type: 2 = RGB (24-bit), 6 = RGBA (32-bit)\r\n const colorType = bitsPerPixel === 32 ? 6 : 2;\r\n const pngBytesPerPixel = bitsPerPixel === 32 ? 4 : 3;\r\n\r\n // Build IHDR data (13 bytes)\r\n const ihdrData = Buffer.alloc(13);\r\n ihdrData.writeUInt32BE(width, 0);\r\n ihdrData.writeUInt32BE(absHeight, 4);\r\n ihdrData[8] = 8; // bit depth\r\n ihdrData[9] = colorType; // color type\r\n ihdrData[10] = 0; // compression method (deflate)\r\n ihdrData[11] = 0; // filter method (adaptive)\r\n ihdrData[12] = 0; // interlace method (none)\r\n\r\n // Build raw image data: filter byte (0 = None) + pixel data per row\r\n const rawDataSize = absHeight * (1 + width * pngBytesPerPixel);\r\n const rawData = Buffer.alloc(rawDataSize);\r\n\r\n for (let y = 0; y < absHeight; y++) {\r\n // BMP stores rows bottom-up by default; top-down if height is negative\r\n const bmpRow = isTopDown ? y : (absHeight - 1 - y);\r\n const bmpRowOffset = pixelDataOffset + bmpRow * rowSize;\r\n\r\n const pngRowOffset = y * (1 + width * pngBytesPerPixel);\r\n rawData[pngRowOffset] = 0; // Filter type: None\r\n\r\n for (let x = 0; x < width; x++) {\r\n const bmpPixelOffset = bmpRowOffset + x * bytesPerPixel;\r\n const pngPixelOffset = pngRowOffset + 1 + x * pngBytesPerPixel;\r\n\r\n // Convert BGR(A) → RGB(A)\r\n rawData[pngPixelOffset] = buffer[bmpPixelOffset + 2]!; // R\r\n rawData[pngPixelOffset + 1] = buffer[bmpPixelOffset + 1]!; // G\r\n rawData[pngPixelOffset + 2] = buffer[bmpPixelOffset]!; // B\r\n\r\n if (bitsPerPixel === 32) {\r\n rawData[pngPixelOffset + 3] = buffer[bmpPixelOffset + 3]!; // A\r\n }\r\n }\r\n }\r\n\r\n // Compress pixel data\r\n const compressedData = zlib.deflateSync(rawData, { level: 9 });\r\n\r\n // Assemble PNG file\r\n return Buffer.concat([\r\n Buffer.from(PNG_SIGNATURE),\r\n buildPngChunk('IHDR', ihdrData),\r\n buildPngChunk('IDAT', compressedData),\r\n buildPngChunk('IEND', Buffer.alloc(0)),\r\n ]);\r\n}\r\n\r\n// =============================================================================\r\n// Router\r\n// =============================================================================\r\n\r\n/**\r\n * Optimizes an image buffer based on its format.\r\n * - PNG: re-compresses at zlib level 9 and strips metadata. Only returns result if smaller.\r\n * - BMP: converts to PNG (always smaller than uncompressed BMP).\r\n * - Other formats: returns null (unsupported / cannot be losslessly optimized further).\r\n */\r\nexport function optimizeImage(\r\n buffer: Buffer,\r\n extension: string\r\n): { data: Buffer; newExtension: string } | null {\r\n const ext = extension.toLowerCase();\r\n\r\n if (ext === 'png') {\r\n const optimized = optimizePng(buffer);\r\n if (!optimized || optimized.length >= buffer.length) return null;\r\n return { data: optimized, newExtension: 'png' };\r\n }\r\n\r\n if (ext === 'bmp') {\r\n const converted = convertBmpToPng(buffer);\r\n if (!converted) return null;\r\n return { data: converted, newExtension: 'png' };\r\n }\r\n\r\n return null;\r\n}\r\n"]}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;AASA,4CAAmH;AAA1G,oGAAA,QAAQ,OAAA;AAMjB,kDAe8B;AAd5B,sGAAA,SAAS,OAAA;AAKT,kGAAA,KAAK,OAAA;AACL,oGAAA,OAAO,OAAA;AACP,0GAAA,aAAa,OAAA;AACb,2GAAA,cAAc,OAAA;AACd,wGAAA,WAAW,OAAA;AACX,uGAAA,UAAU,OAAA;AACV,0GAAA,aAAa,OAAA;AACb,oGAAA,OAAO,OAAA;AACP,sGAAA,SAAS,OAAA;AAEX,sCAAqE;AAA5D,0FAAA,GAAG,OAAA;AACZ,8CAY4B;AAX1B,kGAAA,OAAO,OAAA;AAYT,0CAO0B;AANxB,8FAAA,KAAK,OAAA;AAOP,gDAA8D;AAArD,oGAAA,QAAQ,OAAA;AACjB,kDAM8B;AAL5B,sGAAA,SAAS,OAAA;AAMX,8DAAoG;AAA3F,kHAAA,eAAe,OAAA;AACxB,0CAU0B;AATxB,8FAAA,KAAK,OAAA;AAUP,gDAA+C;AAAtC,oGAAA,QAAQ,OAAA;AACjB,0CAA8F;AAArF,8FAAA,KAAK,OAAA;AACd,8CAA6F;AAApF,kGAAA,OAAO,OAAA;AAChB,4CAAyE;AAAhE,gGAAA,MAAM,OAAA;AACf,4CAAyE;AAAhE,gGAAA,MAAM,OAAA;AACf,kDAAsE;AAA7D,sGAAA,SAAS,OAAA;AAClB,gDAAmE;AAA1D,oGAAA,QAAQ,OAAA;AACjB,sDAA6F;AAApF,0GAAA,WAAW,OAAA;AACpB,8CAAgE;AAAvD,kGAAA,OAAO,OAAA;AAChB,gDAAiF;AAAxE,oGAAA,QAAQ,OAAA;AAAE,wGAAA,YAAY,OAAA;AAC/B,8CAA6E;AAApE,kGAAA,OAAO,OAAA;AAAE,sGAAA,WAAW,OAAA;AAC7B,0CAS0B;AARxB,8FAAA,KAAK,OAAA;AAGL,qGAAA,YAAY,OAAA;AAIZ,uGAAA,cAAc,OAAA;AAEhB,wDAUiC;AAT/B,wHAAA,wBAAwB,OAAA;AACxB,gHAAA,gBAAgB,OAAA;AAChB,8GAAA,cAAc,OAAA;AACd,6GAAA,aAAa,OAAA;AACb,iHAAA,iBAAiB,OAAA;AACjB,yHAAA,yBAAyB,OAAA;AACzB,yHAAA,yBAAyB,OAAA;AACzB,sHAAA,sBAAsB,OAAA;AAGxB,0EAAiH;AAAxG,8HAAA,qBAAqB,OAAA;AAC9B,8DAA4E;AAAnE,kHAAA,eAAe,OAAA;AACxB,4EAA2E;AAAlE,gIAAA,sBAAsB,OAAA;AAC/B,gEAA+D;AAAtD,oHAAA,gBAAgB,OAAA;AACzB,sDAAuE;AAA9D,4GAAA,aAAa,OAAA;AAAE,6GAAA,cAAc,OAAA;AACtC,kDAAsD;AAA7C,2GAAA,cAAc,OAAA;AACvB,gEAAwF;AAA/E,oHAAA,gBAAgB,OAAA;AAMzB,gDAA+F;AAAtF,oGAAA,QAAQ,OAAA;AACjB,8DAA+F;AAArE,+GAAA,YAAY,OAAA;AAAE,qHAAA,kBAAkB,OAAA;AAC1D,sEAoBwC;AALtC,0HAAA,mBAAmB,OAAA;AACnB,gIAAA,yBAAyB,OAAA;AACzB,4HAAA,qBAAqB,OAAA;AACrB,8HAAA,uBAAuB,OAAA;AACvB,wHAAA,iBAAiB,OAAA;AAEnB,6EAQ0C;AAPxC,mIAAA,uBAAuB,OAAA;AAGvB,iIAAA,qBAAqB,OAAA;AACrB,qIAAA,yBAAyB,OAAA;AACzB,gIAAA,oBAAoB,OAAA;AACpB,iIAAA,qBAAqB,OAAA;AAEvB,mEAIqC;AAHnC,0HAAA,mBAAmB,OAAA;AAIrB,+EAG2C;AAFzC,sIAAA,yBAAyB,OAAA;AAG3B,yEAQwC;AAPtC,gIAAA,sBAAsB,OAAA;AAQxB,iEASoC;AARlC,wHAAA,kBAAkB,OAAA;AAcpB,4CAAuE;AAA9D,8FAAA,KAAK,OAAA;AACd,4DAA6E;AAApE,8GAAA,aAAa,OAAA;AACtB,8DAOqC;AANnC,gHAAA,cAAc,OAAA;AAId,qHAAA,mBAAmB,OAAA;AAGrB,oEAGwC;AAFtC,sHAAA,iBAAiB,OAAA;AAGnB,oEAGwC;AAFtC,sHAAA,iBAAiB,OAAA;AAGnB,kEAIuC;AAHrC,oHAAA,gBAAgB,OAAA;AAuBlB,8DAAgG;AAAvF,kHAAA,eAAe,OAAA;AACxB,wDAAuD;AAA9C,4GAAA,YAAY,OAAA;AACrB,8DAA6D;AAApD,kHAAA,eAAe,OAAA;AACxB,4DAA2D;AAAlD,gHAAA,cAAc,OAAA;AACvB,8DAA6D;AAApD,kHAAA,eAAe,OAAA;AACxB,4DAA2D;AAAlD,gHAAA,cAAc,OAAA;AACvB,sEAAqE;AAA5D,0HAAA,mBAAmB,OAAA;AAC5B,sDAA4E;AAAnE,0GAAA,WAAW,OAAA;AACpB,4DAA0G;AAAjG,gHAAA,cAAc,OAAA;AAYvB,sDAoCgC;AAX9B,qHAAA,sBAAsB,OAAA;AAGtB,+GAAA,gBAAgB,OAAA;AAChB,4GAAA,aAAa,OAAA;AACb,oHAAA,qBAAqB,OAAA;AACrB,kHAAA,mBAAmB,OAAA;AACnB,mHAAA,oBAAoB,OAAA;AACpB,0GAAA,WAAW,OAAA;AACX,6GAAA,cAAc,OAAA;AACd,wGAAA,SAAS,OAAA;AAaX,mEAIqC;AAHnC,wHAAA,iBAAiB,OAAA;AAgBnB,uEAAqF;AAA5E,8HAAA,qBAAqB,OAAA;AAC9B,mEAKuC;AAJrC,2HAAA,sBAAsB,OAAA;AACtB,gIAAA,2BAA2B,OAAA;AAC3B,2HAAA,sBAAsB,OAAA;AACtB,uHAAA,kBAAkB,OAAA;AAOpB,uCAmCuB;AAlCrB,qGAAA,YAAY,OAAA;AACZ,8FAAA,KAAK,OAAA;AACL,mGAAA,UAAU,OAAA;AACV,uGAAA,cAAc,OAAA;AACd,sGAAA,aAAa,OAAA;AACb,sGAAA,aAAa,OAAA;AACb,kGAAA,SAAS,OAAA;AACT,oGAAA,WAAW,OAAA;AACX,oGAAA,WAAW,OAAA;AACX,qGAAA,YAAY,OAAA;AACZ,iGAAA,QAAQ,OAAA;AACR,qGAAA,YAAY,OAAA;AACZ,qGAAA,YAAY,OAAA;AACZ,sGAAA,aAAa,OAAA;AACb,qGAAA,YAAY,OAAA;AACZ,uGAAA,cAAc,OAAA;AACd,mGAAA,UAAU,OAAA;AACV,2GAAA,kBAAkB,OAAA;AAClB,2GAAA,kBAAkB,OAAA;AAClB,sGAAA,aAAa,OAAA;AACb,qGAAA,YAAY,OAAA;AACZ,uGAAA,cAAc,OAAA;AACd,mGAAA,UAAU,OAAA;AACV,uGAAA,cAAc,OAAA;AACd,kGAAA,SAAS,OAAA;AACT,iGAAA,QAAQ,OAAA;AACR,mGAAA,UAAU,OAAA;AACV,mGAAA,UAAU,OAAA;AACV,mGAAA,UAAU,OAAA;AACV,qGAAA,YAAY,OAAA;AACZ,uGAAA,cAAc,OAAA;AACd,sGAAA,aAAa,OAAA;AACb,mGAAA,UAAU,OAAA;AACV,uGAAA,cAAc,OAAA;AAOhB,iDAqB4B;AApB1B,mHAAA,qBAAqB,OAAA;AACrB,0GAAA,YAAY,OAAA;AACZ,2GAAA,aAAa,OAAA;AACb,8GAAA,gBAAgB,OAAA;AAChB,2GAAA,aAAa,OAAA;AACb,2GAAA,aAAa,OAAA;AACb,2GAAA,aAAa,OAAA;AACb,8GAAA,gBAAgB,OAAA;AAChB,4GAAA,cAAc,OAAA;AACd,iHAAA,mBAAmB,OAAA;AACnB,2GAAA,aAAa,OAAA;AACb,+GAAA,iBAAiB,OAAA;AACjB,8GAAA,gBAAgB,OAAA;AAChB,oHAAA,sBAAsB,OAAA;AACtB,gHAAA,kBAAkB,OAAA;AAClB,0GAAA,YAAY,OAAA;AACZ,6GAAA,eAAe,OAAA;AACf,8GAAA,gBAAgB,OAAA;AAChB,6GAAA,eAAe,OAAA;AAGjB,mEAQqC;AAPnC,iIAAA,0BAA0B,OAAA;AAC1B,6HAAA,sBAAsB,OAAA;AACtB,iHAAA,UAAU,OAAA;AACV,qHAAA,cAAc,OAAA;AAKhB,uDAAqF;AAA5E,wGAAA,OAAO,OAAA;AAAE,wGAAA,OAAO,OAAA;AAAE,0GAAA,SAAS,OAAA;AAAE,gHAAA,eAAe,OAAA;AACrD,2CAgBsB;AAfpB,4GAAA,cAAc,OAAA;AASd,iHAAA,mBAAmB,OAAA;AACnB,2GAAA,aAAa,OAAA;AACb,gHAAA,kBAAkB,OAAA;AAClB,iHAAA,mBAAmB,OAAA;AACnB,+GAAA,iBAAiB,OAAA;AACjB,+GAAA,iBAAiB,OAAA;AAOnB,iDAO4B;AAN1B,6GAAA,eAAe,OAAA;AACf,6GAAA,eAAe,OAAA;AACf,2GAAA,aAAa,OAAA;AACb,6GAAA,eAAe,OAAA;AACf,+GAAA,iBAAiB,OAAA;AACjB,2GAAA,aAAa,OAAA;AAEf,yDAMgC;AAL9B,8GAAA,YAAY,OAAA;AACZ,mHAAA,iBAAiB,OAAA;AACjB,iHAAA,eAAe,OAAA;AACf,uHAAA,qBAAqB,OAAA;AACrB,qHAAA,mBAAmB,OAAA;AAErB,2DAKiC;AAJ/B,wHAAA,qBAAqB,OAAA;AACrB,sHAAA,mBAAmB,OAAA;AACnB,qHAAA,kBAAkB,OAAA;AAClB,oHAAA,iBAAiB,OAAA;AAOnB,yDAWgC;AAV9B,mHAAA,iBAAiB,OAAA;AACjB,gHAAA,cAAc,OAAA;AACd,2HAAA,yBAAyB,OAAA;AACzB,yHAAA,uBAAuB,OAAA;AACvB,sHAAA,oBAAoB,OAAA;AACpB,2HAAA,yBAAyB,OAAA;AACzB,oHAAA,kBAAkB,OAAA;AAClB,qHAAA,mBAAmB,OAAA;AACnB,qHAAA,mBAAmB,OAAA;AACnB,iHAAA,eAAe,OAAA;AAOjB,yCAawB;AAXtB,kGAAA,QAAQ,OAAA;AAER,uGAAA,aAAa,OAAA;AACb,sGAAA,YAAY,OAAA;AACZ,0GAAA,gBAAgB,OAAA;AAChB,uGAAA,aAAa,OAAA;AACb,4GAAA,kBAAkB,OAAA;AAClB,+GAAA,qBAAqB,OAAA;AACrB,yGAAA,eAAe,OAAA;AACf,yGAAA,eAAe,OAAA;AACf,2GAAA,iBAAiB,OAAA;AAOnB,yDAA+E;AAAtE,gHAAA,cAAc,OAAA;AACvB,2DAA6D;AAApD,qHAAA,kBAAkB,OAAA;AAC3B,2DAA+F;AAAtF,iHAAA,cAAc,OAAA;AAAE,uIAAA,oCAAoC,OAAA;AAM7D,yDAIiC;AAH/B,8GAAA,aAAa,OAAA;AASf,+CAA8C;AAArC,wGAAA,UAAU,OAAA;AACnB,6CAA4C;AAAnC,sGAAA,SAAS,OAAA;AAClB,6CAA4C;AAAnC,sGAAA,SAAS,OAAA;AAClB,qCAUqB;AAHnB,4GAAA,mBAAmB,OAAA;AACnB,4GAAA,mBAAmB,OAAA;AACnB,mGAAA,UAAU,OAAA;AAEZ,uCAOsB;AANpB,mGAAA,SAAS,OAAA;AACT,2GAAA,iBAAiB,OAAA;AACjB,0GAAA,gBAAgB,OAAA;AAChB,+GAAA,qBAAqB,OAAA;AACrB,kHAAA,wBAAwB,OAAA;AACxB,4GAAA,kBAAkB,OAAA;AAOpB,+CAA0D;AAAjD,wGAAA,UAAU,OAAA;AACnB,6CAMyB;AALvB,sGAAA,SAAS,OAAA;AAIT,sHAAA,yBAAyB,OAAA;AAO3B,oDAA6F;AAApF,4GAAA,YAAY,OAAA;AAAE,gHAAA,gBAAgB,OAAA;AACvC,kEAAiE;AAAxD,0HAAA,mBAAmB,OAAA;AAC5B,wDAAmE;AAA1D,gHAAA,cAAc,OAAA;AACvB,8DAAgF;AAAvE,sHAAA,iBAAiB,OAAA;AAC1B,8DAA0F;AAAjF,sHAAA,iBAAiB,OAAA;AAC1B,8DAA6D;AAApD,sHAAA,iBAAiB,OAAA;AAM1B,0DAAsE;AAA7D,kHAAA,eAAe,OAAA;AAMxB,6CAA4C;AAAnC,gGAAA,MAAM,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\r\n * DocXML - DOCX Editing Framework\r\n * Main entry point\r\n */\r\n\r\n// =============================================================================\r\n// PUBLIC API — Core Document Classes\r\n// =============================================================================\r\n\r\nexport { Document, DocumentProperties, DocumentOptions, DocumentLoadOptions, DocumentPart } from './core/Document';\r\n\r\n// =============================================================================\r\n// PUBLIC API — Document Elements\r\n// =============================================================================\r\n\r\nexport {\r\n Paragraph,\r\n ParagraphAlignment,\r\n ParagraphFormatting,\r\n ParagraphContent,\r\n FieldLike,\r\n isRun,\r\n isField,\r\n isSimpleField,\r\n isComplexField,\r\n isHyperlink,\r\n isRevision,\r\n isRangeMarker,\r\n isShape,\r\n isTextBox,\r\n} from './elements/Paragraph';\r\nexport { Run, RunFormatting, ThemeColorValue } from './elements/Run';\r\nexport {\r\n Section,\r\n PageOrientation,\r\n SectionType,\r\n PageNumberFormat,\r\n PageSize,\r\n Margins,\r\n Columns,\r\n PageNumbering,\r\n SectionProperties,\r\n LineNumbering,\r\n LineNumberingRestart,\r\n} from './elements/Section';\r\nexport {\r\n Table,\r\n TableAlignment,\r\n TableLayout,\r\n TableBorder,\r\n TableBorders,\r\n TableFormatting,\r\n} from './elements/Table';\r\nexport { TableRow, RowFormatting } from './elements/TableRow';\r\nexport {\r\n TableCell,\r\n CellBorder,\r\n CellBorders,\r\n CellShading,\r\n CellFormatting,\r\n} from './elements/TableCell';\r\nexport { TableGridChange, GridColumn, TableGridChangeProperties } from './elements/TableGridChange';\r\nexport {\r\n Image,\r\n ImageFormat,\r\n ImageProperties,\r\n ImageBorder,\r\n ImageEffects,\r\n PresetGeometry,\r\n BlipCompressionState,\r\n PicLockAttribute,\r\n PicNonVisualProperties,\r\n} from './elements/Image';\r\nexport { ImageRun } from './elements/ImageRun';\r\nexport { Shape, ShapeType, ShapeProperties, ShapeFill, ShapeOutline } from './elements/Shape';\r\nexport { TextBox, TextBoxProperties, TextBoxFill, TextBoxMargins } from './elements/TextBox';\r\nexport { Header, HeaderType, HeaderProperties } from './elements/Header';\r\nexport { Footer, FooterType, FooterProperties } from './elements/Footer';\r\nexport { Hyperlink, HyperlinkProperties } from './elements/Hyperlink';\r\nexport { Bookmark, BookmarkProperties } from './elements/Bookmark';\r\nexport { RangeMarker, RangeMarkerType, RangeMarkerProperties } from './elements/RangeMarker';\r\nexport { Comment, CommentProperties } from './elements/Comment';\r\nexport { Footnote, FootnoteType, FootnoteProperties } from './elements/Footnote';\r\nexport { Endnote, EndnoteType, EndnoteProperties } from './elements/Endnote';\r\nexport {\r\n Field,\r\n FieldType,\r\n FieldProperties,\r\n ComplexField,\r\n ComplexFieldProperties,\r\n FieldCharType,\r\n TOCFieldOptions,\r\n createTOCField,\r\n} from './elements/Field';\r\nexport {\r\n createNestedIFMergeField,\r\n createMergeField,\r\n createRefField,\r\n createIFField,\r\n createNestedField,\r\n parseHyperlinkInstruction,\r\n buildHyperlinkInstruction,\r\n isHyperlinkInstruction,\r\n ParsedHyperlinkInstruction,\r\n} from './elements/FieldHelpers';\r\nexport { StructuredDocumentTag, SDTProperties, SDTLockType, SDTContent } from './elements/StructuredDocumentTag';\r\nexport { TableOfContents, TOCProperties } from './elements/TableOfContents';\r\nexport { TableOfContentsElement } from './elements/TableOfContentsElement';\r\nexport { AlternateContent } from './elements/AlternateContent';\r\nexport { MathParagraph, MathExpression } from './elements/MathElement';\r\nexport { CustomXmlBlock } from './elements/CustomXml';\r\nexport { PreservedElement, PreservedElementContext } from './elements/PreservedElement';\r\n\r\n// =============================================================================\r\n// PUBLIC API — Track Changes / Revisions\r\n// =============================================================================\r\n\r\nexport { Revision, RevisionType, RevisionProperties, FieldContext } from './elements/Revision';\r\nexport { RevisionContent, isRunContent, isHyperlinkContent } from './elements/RevisionContent';\r\nexport {\r\n RevisionLocation,\r\n RunPropertyChange,\r\n ParagraphPropertyChange,\r\n ParagraphFormattingPartial,\r\n ParagraphBorderDef,\r\n ParagraphBorders,\r\n ParagraphShading,\r\n TabStopDef,\r\n PropertyChangeBase,\r\n TablePropertyChange,\r\n TablePropertyChangeType,\r\n SectionPropertyChange,\r\n NumberingChange,\r\n AnyPropertyChange,\r\n isRunPropertyChange,\r\n isParagraphPropertyChange,\r\n isTablePropertyChange,\r\n isSectionPropertyChange,\r\n isNumberingChange,\r\n} from './elements/PropertyChangeTypes';\r\nexport {\r\n acceptRevisionsInMemory,\r\n AcceptRevisionsOptions,\r\n AcceptRevisionsResult,\r\n paragraphHasRevisions,\r\n getRevisionsFromParagraph,\r\n countRevisionsByType,\r\n stripRevisionsFromXml,\r\n} from './utils/InMemoryRevisionAcceptor';\r\nexport {\r\n MoveOperationHelper,\r\n MoveOperationOptions,\r\n MoveOperationResult,\r\n} from './utils/MoveOperationHelper';\r\nexport {\r\n SelectiveRevisionAcceptor,\r\n SelectiveAcceptResult,\r\n} from './utils/SelectiveRevisionAcceptor';\r\nexport {\r\n RevisionAwareProcessor,\r\n RevisionHandlingMode,\r\n RevisionProcessingOptions,\r\n SelectionCriteria,\r\n RevisionProcessingResult,\r\n ConflictInfo,\r\n ProcessingLogEntry,\r\n} from './utils/RevisionAwareProcessor';\r\nexport {\r\n ChangelogGenerator,\r\n ChangeEntry,\r\n ChangeCategory,\r\n ChangeLocation,\r\n ChangelogOptions,\r\n ChangelogFormat,\r\n ConsolidatedChange,\r\n ChangelogSummary,\r\n} from './utils/ChangelogGenerator';\r\n\r\n// =============================================================================\r\n// PUBLIC API — Formatting / Styles / Numbering\r\n// =============================================================================\r\n\r\nexport { Style, StyleType, StyleProperties } from './formatting/Style';\r\nexport { StylesManager, ValidationResult } from './formatting/StylesManager';\r\nexport {\r\n NumberingLevel,\r\n NumberFormat,\r\n NumberAlignment,\r\n NumberingLevelProperties,\r\n WORD_NATIVE_BULLETS,\r\n WordNativeBullet,\r\n} from './formatting/NumberingLevel';\r\nexport {\r\n AbstractNumbering,\r\n AbstractNumberingProperties,\r\n} from './formatting/AbstractNumbering';\r\nexport {\r\n NumberingInstance,\r\n NumberingInstanceProperties,\r\n} from './formatting/NumberingInstance';\r\nexport {\r\n NumberingManager,\r\n NumberingConsolidationOptions,\r\n NumberingConsolidationResult,\r\n} from './formatting/NumberingManager';\r\nexport {\r\n StyleRunFormatting,\r\n StyleParagraphFormatting,\r\n Heading2TableOptions,\r\n StyleConfig,\r\n Heading2Config,\r\n ApplyCustomFormattingOptions,\r\n} from './types/styleConfig';\r\nexport {\r\n FormatOptions,\r\n StyleApplyOptions,\r\n EmphasisType,\r\n ListPrefix,\r\n} from './types/formatting';\r\n\r\n// =============================================================================\r\n// PUBLIC API — Managers\r\n// =============================================================================\r\n\r\nexport { RevisionManager, RevisionCategory, RevisionSummary } from './elements/RevisionManager';\r\nexport { ImageManager } from './elements/ImageManager';\r\nexport { BookmarkManager } from './elements/BookmarkManager';\r\nexport { CommentManager } from './elements/CommentManager';\r\nexport { FootnoteManager } from './elements/FootnoteManager';\r\nexport { EndnoteManager } from './elements/EndnoteManager';\r\nexport { HeaderFooterManager } from './elements/HeaderFooterManager';\r\nexport { FontManager, FontFormat, FontEntry } from './elements/FontManager';\r\nexport { DrawingManager, DrawingElement, DrawingType, PreservedDrawing } from './managers/DrawingManager';\r\n\r\n// =============================================================================\r\n// PUBLIC API — Image Optimization\r\n// =============================================================================\r\n\r\nexport type { ImageOptimizationResult } from './images/ImageOptimizer';\r\n\r\n// =============================================================================\r\n// TYPES — Common / Shared Type Definitions\r\n// =============================================================================\r\n\r\nexport {\r\n ShadingPattern,\r\n BasicShadingPattern,\r\n BorderStyle,\r\n ExtendedBorderStyle,\r\n FullBorderStyle,\r\n BorderDefinition,\r\n FourSidedBorders,\r\n TableBorderDefinitions,\r\n HorizontalAlignment,\r\n VerticalAlignment,\r\n PageVerticalAlignment,\r\n CellVerticalAlignment,\r\n ParagraphAlignment as CommonParagraphAlignment,\r\n TableAlignment as CommonTableAlignment,\r\n RowJustification,\r\n TextVerticalAlignment,\r\n TabAlignment,\r\n PositionAnchor,\r\n HorizontalAnchor,\r\n VerticalAnchor,\r\n TextDirection,\r\n SectionTextDirection,\r\n WidthType,\r\n ShadingConfig,\r\n buildShadingAttributes,\r\n TabLeader,\r\n TabStop,\r\n isShadingPattern,\r\n isBorderStyle,\r\n isHorizontalAlignment,\r\n isVerticalAlignment,\r\n isParagraphAlignment,\r\n isWidthType,\r\n DEFAULT_BORDER,\r\n NO_BORDER,\r\n} from './elements/CommonTypes';\r\nexport {\r\n ListCategory,\r\n NumberFormat as ListNumberFormat,\r\n BulletFormat,\r\n ListDetectionResult,\r\n ListAnalysis,\r\n ListNormalizationOptions,\r\n ListNormalizationReport,\r\n IndentationLevel,\r\n} from './types/list-types';\r\n\r\nexport {\r\n CompatibilityMode,\r\n CompatibilityInfo,\r\n CompatSetting,\r\n} from './types/compatibility-types';\r\n\r\nexport {\r\n DocumentProtection,\r\n RevisionViewSettings,\r\n TrackChangesSettings,\r\n WebSettingsInfo,\r\n} from './types/settings-types';\r\n\r\n// =============================================================================\r\n// TYPES — Compatibility Upgrade\r\n// =============================================================================\r\n\r\nexport { CompatibilityUpgrader, UpgradeReport } from './utils/CompatibilityUpgrader';\r\nexport {\r\n LEGACY_COMPAT_ELEMENTS,\r\n LEGACY_COMPAT_ELEMENT_NAMES,\r\n MODERN_COMPAT_SETTINGS,\r\n MS_WORD_COMPAT_URI,\r\n} from './constants/legacyCompatFlags';\r\n\r\n// =============================================================================\r\n// UTILITIES — Unit Conversions\r\n// =============================================================================\r\n\r\nexport {\r\n STANDARD_DPI,\r\n UNITS,\r\n PAGE_SIZES,\r\n COMMON_MARGINS,\r\n twipsToPoints,\r\n twipsToInches,\r\n twipsToCm,\r\n twipsToEmus,\r\n emusToTwips,\r\n emusToInches,\r\n emusToCm,\r\n emusToPoints,\r\n emusToPixels,\r\n pointsToTwips,\r\n pointsToEmus,\r\n pointsToInches,\r\n pointsToCm,\r\n pointsToHalfPoints,\r\n halfPointsToPoints,\r\n inchesToTwips,\r\n inchesToEmus,\r\n inchesToPoints,\r\n inchesToCm,\r\n inchesToPixels,\r\n cmToTwips,\r\n cmToEmus,\r\n cmToInches,\r\n cmToPoints,\r\n cmToPixels,\r\n pixelsToEmus,\r\n pixelsToInches,\r\n pixelsToTwips,\r\n pixelsToCm,\r\n pixelsToPoints,\r\n} from './utils/units';\r\n\r\n// =============================================================================\r\n// UTILITIES — Validation, Corruption Detection, Error Handling\r\n// =============================================================================\r\n\r\nexport {\r\n validateDocxStructure,\r\n isBinaryFile,\r\n normalizePath,\r\n isValidZipBuffer,\r\n isTextContent,\r\n validateTwips,\r\n validateColor,\r\n validateHexColor,\r\n normalizeColor,\r\n validateNumberingId,\r\n validateLevel,\r\n validateAlignment,\r\n validateFontSize,\r\n validateNonEmptyString,\r\n validatePercentage,\r\n validateEmus,\r\n detectXmlInText,\r\n cleanXmlFromText,\r\n validateRunText,\r\n TextValidationResult,\r\n} from './utils/validation';\r\nexport {\r\n detectCorruptionInDocument,\r\n detectCorruptionInText,\r\n suggestFix,\r\n looksCorrupted,\r\n CorruptionReport,\r\n CorruptionLocation,\r\n CorruptionType,\r\n} from './utils/corruptionDetection';\r\nexport { isError, toError, wrapError, getErrorMessage } from './utils/errorHandling';\r\nexport {\r\n REVISION_RULES,\r\n ValidationSeverity,\r\n ValidationIssue,\r\n ValidationRule,\r\n ValidationOptions,\r\n AutoFixOptions,\r\n ValidationResult as RevisionValidationResult,\r\n FixAction,\r\n AutoFixResult,\r\n createIssueFromRule,\r\n getRuleByCode,\r\n getRulesBySeverity,\r\n getAutoFixableRules,\r\n RevisionValidator,\r\n RevisionAutoFixer,\r\n} from './validation';\r\n\r\n// =============================================================================\r\n// UTILITIES — Formatting, Parsing, Sanitization\r\n// =============================================================================\r\n\r\nexport {\r\n mergeFormatting,\r\n cloneFormatting,\r\n hasFormatting,\r\n cleanFormatting,\r\n isEqualFormatting,\r\n applyDefaults,\r\n} from './utils/formatting';\r\nexport {\r\n safeParseInt,\r\n parseOoxmlBoolean,\r\n isExplicitlySet,\r\n parseNumericAttribute,\r\n parseOnOffAttribute,\r\n} from './utils/parsingHelpers';\r\nexport {\r\n removeInvalidXmlChars,\r\n findInvalidXmlChars,\r\n hasInvalidXmlChars,\r\n XML_CONTROL_CHARS,\r\n} from './utils/xmlSanitization';\r\n\r\n// =============================================================================\r\n// UTILITIES — List Detection (kept for basic detection; normalization moved to consumer)\r\n// =============================================================================\r\n\r\nexport {\r\n detectTypedPrefix,\r\n detectListType,\r\n inferLevelFromIndentation,\r\n getParagraphIndentation,\r\n validateListSequence,\r\n getListCategoryFromFormat,\r\n getLevelFromFormat,\r\n TYPED_LIST_PATTERNS,\r\n PATTERN_TO_CATEGORY,\r\n FORMAT_TO_LEVEL,\r\n} from './utils/list-detection';\r\n\r\n// =============================================================================\r\n// UTILITIES — Logging\r\n// =============================================================================\r\n\r\nexport {\r\n ILogger,\r\n LogLevel,\r\n LogEntry,\r\n ConsoleLogger,\r\n SilentLogger,\r\n CollectingLogger,\r\n defaultLogger,\r\n createScopedLogger,\r\n createComponentLogger,\r\n getGlobalLogger,\r\n setGlobalLogger,\r\n resetGlobalLogger,\r\n} from './utils/logger';\r\n\r\n// =============================================================================\r\n// UTILITIES — Revision Walker\r\n// =============================================================================\r\n\r\nexport { RevisionWalker, RevisionWalkerOptions } from './utils/RevisionWalker';\r\nexport { resolveCellShading } from './utils/ShadingResolver';\r\nexport { decodeCnfStyle, getActiveConditionalsInPriorityOrder } from './utils/cnfStyleDecoder';\r\n\r\n// =============================================================================\r\n// UTILITIES — Cleanup\r\n// =============================================================================\r\n\r\nexport {\r\n CleanupHelper,\r\n CleanupOptions,\r\n CleanupReport,\r\n} from './helpers/CleanupHelper';\r\n\r\n// =============================================================================\r\n// INTERNAL — ZIP Handling (advanced usage)\r\n// =============================================================================\r\n\r\nexport { ZipHandler } from './zip/ZipHandler';\r\nexport { ZipReader } from './zip/ZipReader';\r\nexport { ZipWriter } from './zip/ZipWriter';\r\nexport {\r\n ZipFile,\r\n FileMap,\r\n LoadOptions,\r\n SaveOptions,\r\n AddFileOptions,\r\n SizeLimitOptions,\r\n DEFAULT_SIZE_LIMITS,\r\n REQUIRED_DOCX_FILES,\r\n DOCX_PATHS,\r\n} from './zip/types';\r\nexport {\r\n DocxError,\r\n DocxNotFoundError,\r\n InvalidDocxError,\r\n CorruptedArchiveError,\r\n MissingRequiredFileError,\r\n FileOperationError,\r\n} from './zip/errors';\r\n\r\n// =============================================================================\r\n// INTERNAL — XML Builder and Parser (advanced usage)\r\n// =============================================================================\r\n\r\nexport { XMLBuilder, XMLElement } from './xml/XMLBuilder';\r\nexport {\r\n XMLParser,\r\n ParseToObjectOptions,\r\n ParsedXMLValue,\r\n ParsedXMLObject,\r\n DEFAULT_MAX_NESTING_DEPTH,\r\n} from './xml/XMLParser';\r\n\r\n// =============================================================================\r\n// INTERNAL — Parser, Generator, Validator (advanced usage)\r\n// =============================================================================\r\n\r\nexport { Relationship, RelationshipType, RelationshipProperties } from './core/Relationship';\r\nexport { RelationshipManager } from './core/RelationshipManager';\r\nexport { DocumentParser, ParseError } from './core/DocumentParser';\r\nexport { DocumentGenerator, IZipHandlerReader } from './core/DocumentGenerator';\r\nexport { DocumentValidator, SizeEstimate, MemoryOptions } from './core/DocumentValidator';\r\nexport { DocumentIdManager } from './core/DocumentIdManager';\r\n\r\n// =============================================================================\r\n// INTERNAL — Document Subsystem Classes (advanced usage)\r\n// =============================================================================\r\n\r\nexport { DocumentContent, BodyElement } from './core/DocumentContent';\r\n\r\n// =============================================================================\r\n// INTERNAL — Constants\r\n// =============================================================================\r\n\r\nexport { LIMITS } from './constants/limits';\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"DrawingManager.d.ts","sourceRoot":"","sources":["../../src/managers/DrawingManager.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAK9C,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC;AAKrD,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,CAAC;AAMtE,MAAM,WAAW,gBAAgB;IAE/B,IAAI,EAAE,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC;IAEvC,GAAG,EAAE,MAAM,CAAC;IAEZ,eAAe,EAAE,MAAM,EAAE,CAAC;IAE1B,EAAE,EAAE,MAAM,CAAC;CACZ;AAQD,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAA6D;IAC7E,OAAO,CAAC,MAAM,CAAa;IAG3B,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,YAAY,CAA0B;;IAc9C,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM;IAa9B,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM;IAa9B,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAapC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM;IAYtD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,gBAAgB,GAAG,SAAS;IAQrE,cAAc,IAAI,CAAC,cAAc,GAAG,gBAAgB,CAAC,EAAE;IASvD,YAAY,IAAI,KAAK,EAAE;IAgBvB,YAAY,IAAI,KAAK,EAAE;IAgBvB,eAAe,IAAI,OAAO,EAAE;IAgB5B,uBAAuB,IAAI,gBAAgB,EAAE;IAgB7C,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAgBlC,QAAQ,IAAI,MAAM;IAQlB,OAAO,IAAI,OAAO;IAOlB,KAAK,IAAI,IAAI;IAcb,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,gBAAgB,GAAG,WAAW;IAiBvE,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,UAAU;IAUlB,SAAS,IAAI,IAAI;IAmBjB,QAAQ,IAAI;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB;CASF"}
1
+ {"version":3,"file":"DrawingManager.d.ts","sourceRoot":"","sources":["../../src/managers/DrawingManager.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAK9C,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC;AAKrD,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,CAAC;AAMtE,MAAM,WAAW,gBAAgB;IAE/B,IAAI,EAAE,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC;IAEvC,GAAG,EAAE,MAAM,CAAC;IAEZ,eAAe,EAAE,MAAM,EAAE,CAAC;IAE1B,EAAE,EAAE,MAAM,CAAC;CACZ;AAQD,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAwD;IACxE,OAAO,CAAC,MAAM,CAAK;IAGnB,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,YAAY,CAAqB;;IAczC,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM;IAa9B,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM;IAa9B,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAapC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM;IAYtD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,gBAAgB,GAAG,SAAS;IAQrE,cAAc,IAAI,CAAC,cAAc,GAAG,gBAAgB,CAAC,EAAE;IASvD,YAAY,IAAI,KAAK,EAAE;IAgBvB,YAAY,IAAI,KAAK,EAAE;IAgBvB,eAAe,IAAI,OAAO,EAAE;IAgB5B,uBAAuB,IAAI,gBAAgB,EAAE;IAgB7C,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAgBlC,QAAQ,IAAI,MAAM;IAQlB,OAAO,IAAI,OAAO;IAOlB,KAAK,IAAI,IAAI;IAcb,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,gBAAgB,GAAG,WAAW;IAiBvE,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,UAAU;IAUlB,SAAS,IAAI,IAAI;IAmBjB,QAAQ,IAAI;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB;CASF"}
@@ -1 +1 @@
1
- {"version":3,"file":"DrawingManager.js","sourceRoot":"","sources":["../../src/managers/DrawingManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DrawingManager.js","sourceRoot":"","sources":["../../src/managers/DrawingManager.ts"],"names":[],"mappings":"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","sourcesContent":["/**\r\n * DrawingManager - Manages all drawing elements in a document\r\n *\r\n * Centralizes management of images, shapes, and text boxes.\r\n * Assigns unique IDs and handles relationship management.\r\n */\r\n\r\nimport { Image } from '../elements/Image';\r\nimport { Shape } from '../elements/Shape';\r\nimport { TextBox } from '../elements/TextBox';\r\n\r\n/**\r\n * Type representing any drawing element\r\n */\r\nexport type DrawingElement = Image | Shape | TextBox;\r\n\r\n/**\r\n * Drawing type discriminator\r\n */\r\nexport type DrawingType = 'image' | 'shape' | 'textbox' | 'preserved';\r\n\r\n/**\r\n * Preserved drawing (SmartArt, Chart, WordArt)\r\n * These are stored as raw XML for round-trip preservation\r\n */\r\nexport interface PreservedDrawing {\r\n /** Type of preserved drawing */\r\n type: 'smartart' | 'chart' | 'wordart';\r\n /** Raw XML content */\r\n xml: string;\r\n /** Relationship IDs referenced by this drawing */\r\n relationshipIds: string[];\r\n /** Unique ID for this drawing */\r\n id: string;\r\n}\r\n\r\n/**\r\n * Manages all drawing elements in a document\r\n *\r\n * Performance: Uses type-indexed Sets for O(1) type-specific lookups\r\n * instead of O(n) linear scans through the main Map.\r\n */\r\nexport class DrawingManager {\r\n private drawings = new Map<string, DrawingElement | PreservedDrawing>();\r\n private nextId = 1;\r\n\r\n // Type-indexed Sets for O(1) type-specific lookups\r\n private imageIds = new Set<string>();\r\n private shapeIds = new Set<string>();\r\n private textboxIds = new Set<string>();\r\n private preservedIds = new Set<string>();\r\n\r\n /**\r\n * Creates a new DrawingManager\r\n */\r\n constructor() {\r\n // Empty constructor\r\n }\r\n\r\n /**\r\n * Adds an image to the manager\r\n * @param image Image to add\r\n * @returns Assigned ID\r\n */\r\n addImage(image: Image): string {\r\n const id = this.generateId();\r\n image.setDocPrId(this.nextId - 1);\r\n this.drawings.set(id, image);\r\n this.imageIds.add(id);\r\n return id;\r\n }\r\n\r\n /**\r\n * Adds a shape to the manager\r\n * @param shape Shape to add\r\n * @returns Assigned ID\r\n */\r\n addShape(shape: Shape): string {\r\n const id = this.generateId();\r\n shape.setDocPrId(this.nextId - 1);\r\n this.drawings.set(id, shape);\r\n this.shapeIds.add(id);\r\n return id;\r\n }\r\n\r\n /**\r\n * Adds a text box to the manager\r\n * @param textbox TextBox to add\r\n * @returns Assigned ID\r\n */\r\n addTextBox(textbox: TextBox): string {\r\n const id = this.generateId();\r\n textbox.setDocPrId(this.nextId - 1);\r\n this.drawings.set(id, textbox);\r\n this.textboxIds.add(id);\r\n return id;\r\n }\r\n\r\n /**\r\n * Adds a preserved drawing (SmartArt, Chart, WordArt)\r\n * @param drawing Preserved drawing to add\r\n * @returns Assigned ID\r\n */\r\n addPreservedDrawing(drawing: PreservedDrawing): string {\r\n const id = this.generateId();\r\n this.drawings.set(id, { ...drawing, id });\r\n this.preservedIds.add(id);\r\n return id;\r\n }\r\n\r\n /**\r\n * Gets a drawing by ID\r\n * @param id Drawing ID\r\n * @returns Drawing element or undefined\r\n */\r\n getDrawing(id: string): DrawingElement | PreservedDrawing | undefined {\r\n return this.drawings.get(id);\r\n }\r\n\r\n /**\r\n * Gets all drawings\r\n * @returns Array of all drawing elements\r\n */\r\n getAllDrawings(): (DrawingElement | PreservedDrawing)[] {\r\n return Array.from(this.drawings.values());\r\n }\r\n\r\n /**\r\n * Gets all images\r\n * Performance: O(k) where k = number of images (uses indexed lookup)\r\n * @returns Array of images\r\n */\r\n getAllImages(): Image[] {\r\n const images: Image[] = [];\r\n for (const id of this.imageIds) {\r\n const drawing = this.drawings.get(id);\r\n if (drawing instanceof Image) {\r\n images.push(drawing);\r\n }\r\n }\r\n return images;\r\n }\r\n\r\n /**\r\n * Gets all shapes\r\n * Performance: O(k) where k = number of shapes (uses indexed lookup)\r\n * @returns Array of shapes\r\n */\r\n getAllShapes(): Shape[] {\r\n const shapes: Shape[] = [];\r\n for (const id of this.shapeIds) {\r\n const drawing = this.drawings.get(id);\r\n if (drawing instanceof Shape) {\r\n shapes.push(drawing);\r\n }\r\n }\r\n return shapes;\r\n }\r\n\r\n /**\r\n * Gets all text boxes\r\n * Performance: O(k) where k = number of text boxes (uses indexed lookup)\r\n * @returns Array of text boxes\r\n */\r\n getAllTextBoxes(): TextBox[] {\r\n const textboxes: TextBox[] = [];\r\n for (const id of this.textboxIds) {\r\n const drawing = this.drawings.get(id);\r\n if (drawing instanceof TextBox) {\r\n textboxes.push(drawing);\r\n }\r\n }\r\n return textboxes;\r\n }\r\n\r\n /**\r\n * Gets all preserved drawings\r\n * Performance: O(k) where k = number of preserved drawings (uses indexed lookup)\r\n * @returns Array of preserved drawings\r\n */\r\n getAllPreservedDrawings(): PreservedDrawing[] {\r\n const preserved: PreservedDrawing[] = [];\r\n for (const id of this.preservedIds) {\r\n const drawing = this.drawings.get(id);\r\n if (drawing && this.isPreservedDrawing(drawing)) {\r\n preserved.push(drawing);\r\n }\r\n }\r\n return preserved;\r\n }\r\n\r\n /**\r\n * Removes a drawing by ID\r\n * @param id Drawing ID\r\n * @returns True if removed, false if not found\r\n */\r\n removeDrawing(id: string): boolean {\r\n const deleted = this.drawings.delete(id);\r\n if (deleted) {\r\n // Remove from type-specific indices\r\n this.imageIds.delete(id);\r\n this.shapeIds.delete(id);\r\n this.textboxIds.delete(id);\r\n this.preservedIds.delete(id);\r\n }\r\n return deleted;\r\n }\r\n\r\n /**\r\n * Gets the total number of drawings\r\n * @returns Number of drawings\r\n */\r\n getCount(): number {\r\n return this.drawings.size;\r\n }\r\n\r\n /**\r\n * Checks if the manager has any drawings\r\n * @returns True if empty, false otherwise\r\n */\r\n isEmpty(): boolean {\r\n return this.drawings.size === 0;\r\n }\r\n\r\n /**\r\n * Clears all drawings\r\n */\r\n clear(): void {\r\n this.drawings.clear();\r\n this.imageIds.clear();\r\n this.shapeIds.clear();\r\n this.textboxIds.clear();\r\n this.preservedIds.clear();\r\n this.nextId = 1;\r\n }\r\n\r\n /**\r\n * Gets the drawing type\r\n * @param drawing Drawing element\r\n * @returns Drawing type\r\n */\r\n getDrawingType(drawing: DrawingElement | PreservedDrawing): DrawingType {\r\n if (drawing instanceof Image) {\r\n return 'image';\r\n } else if (drawing instanceof Shape) {\r\n return 'shape';\r\n } else if (drawing instanceof TextBox) {\r\n return 'textbox';\r\n } else {\r\n return 'preserved';\r\n }\r\n }\r\n\r\n /**\r\n * Type guard for PreservedDrawing\r\n * @param drawing Drawing to check\r\n * @returns True if PreservedDrawing\r\n */\r\n private isPreservedDrawing(drawing: any): drawing is PreservedDrawing {\r\n return (\r\n drawing &&\r\n typeof drawing === 'object' &&\r\n 'type' in drawing &&\r\n 'xml' in drawing &&\r\n 'relationshipIds' in drawing &&\r\n (drawing.type === 'smartart' || drawing.type === 'chart' || drawing.type === 'wordart')\r\n );\r\n }\r\n\r\n /**\r\n * Generates a unique ID for a drawing\r\n * @private\r\n * @returns Unique ID string\r\n */\r\n private generateId(): string {\r\n const id = `drawing_${this.nextId}`;\r\n this.nextId++;\r\n return id;\r\n }\r\n\r\n /**\r\n * Assigns sequential docPr IDs to all drawings\r\n * Call this before generating the document to ensure unique IDs\r\n */\r\n assignIds(): void {\r\n let docPrId = 1;\r\n for (const drawing of this.drawings.values()) {\r\n if (drawing instanceof Image) {\r\n drawing.setDocPrId(docPrId++);\r\n } else if (drawing instanceof Shape) {\r\n drawing.setDocPrId(docPrId++);\r\n } else if (drawing instanceof TextBox) {\r\n drawing.setDocPrId(docPrId++);\r\n }\r\n // PreservedDrawings don't need docPrId assignment (already in XML)\r\n }\r\n }\r\n\r\n /**\r\n * Gets statistics about the drawings\r\n * Performance: O(1) using indexed Set sizes\r\n * @returns Statistics object\r\n */\r\n getStats(): {\r\n total: number;\r\n images: number;\r\n shapes: number;\r\n textboxes: number;\r\n preserved: number;\r\n } {\r\n return {\r\n total: this.drawings.size,\r\n images: this.imageIds.size,\r\n shapes: this.shapeIds.size,\r\n textboxes: this.textboxIds.size,\r\n preserved: this.preservedIds.size,\r\n };\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentTrackingContext.js","sourceRoot":"","sources":["../../src/tracking/DocumentTrackingContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DocumentTrackingContext.js","sourceRoot":"","sources":["../../src/tracking/DocumentTrackingContext.ts"],"names":[],"mappings":"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","sourcesContent":["/**\r\n * DocumentTrackingContext - Implementation of automatic change tracking\r\n *\r\n * Manages pending changes and creates Revision objects when flushed.\r\n * Supports consolidation of similar changes within a time window.\r\n *\r\n * @module DocumentTrackingContext\r\n */\r\n\r\nimport { Revision, RevisionType } from '../elements/Revision';\r\nimport { RevisionManager } from '../elements/RevisionManager';\r\nimport { Run, type RunFormatting } from '../elements/Run';\r\nimport { Paragraph } from '../elements/Paragraph';\r\nimport { Table } from '../elements/Table';\r\nimport { TableRow } from '../elements/TableRow';\r\nimport { TableCell } from '../elements/TableCell';\r\nimport { Section } from '../elements/Section';\r\nimport type { TrackingContext, PendingChange, TrackableElement } from './TrackingContext';\r\nimport { formatDateForXml } from '../utils/dateFormatting';\r\n\r\n/**\r\n * Enable options for tracking context\r\n */\r\nexport interface TrackingEnableOptions {\r\n /** Author name for new revisions (default: 'DocHub') */\r\n author?: string;\r\n /** Whether to track formatting changes (default: true) */\r\n trackFormatting?: boolean;\r\n}\r\n\r\n/**\r\n * Implementation of TrackingContext for Document\r\n */\r\nexport class DocumentTrackingContext implements TrackingContext {\r\n private enabled = false;\r\n private trackFormatting = true;\r\n private author = 'DocHub';\r\n private revisionManager: RevisionManager;\r\n\r\n /** Counter for assigning stable element IDs */\r\n private elementIdCounter = 0;\r\n /** Stable element identity map (WeakMap so elements can be GC'd) */\r\n private elementIdMap = new WeakMap<object, number>();\r\n\r\n /** Pending changes waiting to be flushed */\r\n private pendingChanges = new Map<string, PendingChange>();\r\n\r\n /** Properties considered \"formatting\" (vs structural) */\r\n private static readonly FORMATTING_PROPERTIES = new Set([\r\n 'bold',\r\n 'italic',\r\n 'underline',\r\n 'strike',\r\n 'dstrike',\r\n 'subscript',\r\n 'superscript',\r\n 'font',\r\n 'size',\r\n 'color',\r\n 'highlight',\r\n 'smallCaps',\r\n 'allCaps',\r\n 'characterSpacing',\r\n 'scaling',\r\n 'position',\r\n 'emphasis',\r\n 'shadow',\r\n 'emboss',\r\n 'imprint',\r\n 'outline',\r\n 'vanish',\r\n ]);\r\n\r\n /**\r\n * Creates a new DocumentTrackingContext\r\n * @param revisionManager - RevisionManager to register revisions with\r\n */\r\n constructor(revisionManager: RevisionManager) {\r\n this.revisionManager = revisionManager;\r\n }\r\n\r\n /**\r\n * Enable change tracking\r\n * @param options - Enable options\r\n */\r\n enable(options?: TrackingEnableOptions): void {\r\n this.enabled = true;\r\n if (options?.author) {\r\n this.author = options.author;\r\n }\r\n if (options?.trackFormatting !== undefined) {\r\n this.trackFormatting = options.trackFormatting;\r\n }\r\n }\r\n\r\n /**\r\n * Disable change tracking and flush pending changes\r\n */\r\n disable(): void {\r\n this.flushPendingChanges();\r\n this.enabled = false;\r\n }\r\n\r\n /**\r\n * Set the author for new revisions\r\n * Flushes any pending changes before switching to prevent mixed authorship\r\n * @param author - Author name\r\n */\r\n setAuthor(author: string): void {\r\n // Flush pending changes before switching authors to prevent mixed authorship\r\n if (this.enabled && this.pendingChanges.size > 0) {\r\n this.flushPendingChanges();\r\n }\r\n this.author = author;\r\n }\r\n\r\n // ═══════════════════════════════════════════════════════════════════════════\r\n // TrackingContext Interface Implementation\r\n // ═══════════════════════════════════════════════════════════════════════════\r\n\r\n isEnabled(): boolean {\r\n return this.enabled;\r\n }\r\n\r\n getAuthor(): string {\r\n return this.author;\r\n }\r\n\r\n getRevisionManager(): RevisionManager {\r\n return this.revisionManager;\r\n }\r\n\r\n isTrackFormattingEnabled(): boolean {\r\n return this.trackFormatting;\r\n }\r\n\r\n trackRunPropertyChange(\r\n run: Run,\r\n property: string,\r\n oldValue: unknown,\r\n newValue: unknown\r\n ): void {\r\n if (!this.enabled) return;\r\n if (this.valuesEqual(oldValue, newValue)) return;\r\n\r\n // Skip formatting changes if not tracking them\r\n if (\r\n !this.trackFormatting &&\r\n DocumentTrackingContext.FORMATTING_PROPERTIES.has(property)\r\n ) {\r\n return;\r\n }\r\n\r\n // Create consolidation key with element identity\r\n const key = `runProp:${property}:${this.stringifyValue(newValue)}@${this.getElementId(run)}`;\r\n\r\n this.addPendingChange(key, {\r\n type: 'runPropertiesChange',\r\n property,\r\n previousValue: oldValue,\r\n newValue,\r\n element: run,\r\n timestamp: Date.now(),\r\n });\r\n }\r\n\r\n trackParagraphPropertyChange(\r\n paragraph: TrackableElement,\r\n property: string,\r\n oldValue: unknown,\r\n newValue: unknown\r\n ): void {\r\n if (!this.enabled) return;\r\n if (this.valuesEqual(oldValue, newValue)) return;\r\n\r\n const key = `paraProp:${property}:${this.stringifyValue(newValue)}@${this.getElementId(paragraph)}`;\r\n\r\n this.addPendingChange(key, {\r\n type: 'paragraphPropertiesChange',\r\n property,\r\n previousValue: oldValue,\r\n newValue,\r\n element: paragraph,\r\n timestamp: Date.now(),\r\n });\r\n }\r\n\r\n trackHyperlinkChange(\r\n hyperlink: TrackableElement,\r\n changeType: string,\r\n oldValue: unknown,\r\n newValue: unknown\r\n ): void {\r\n if (!this.enabled) return;\r\n if (this.valuesEqual(oldValue, newValue)) return;\r\n\r\n // Hyperlink changes use dedicated type for proper categorization\r\n const key = `hyperlink:${changeType}:${this.stringifyValue(newValue)}@${this.getElementId(hyperlink)}`;\r\n\r\n this.addPendingChange(key, {\r\n type: 'hyperlinkChange',\r\n property: changeType,\r\n previousValue: oldValue,\r\n newValue,\r\n element: hyperlink,\r\n timestamp: Date.now(),\r\n });\r\n }\r\n\r\n trackTableChange(\r\n element: TrackableElement,\r\n property: string,\r\n oldValue: unknown,\r\n newValue: unknown\r\n ): void {\r\n if (!this.enabled) return;\r\n if (this.valuesEqual(oldValue, newValue)) return;\r\n\r\n // Determine revision type based on element type using instanceof (minification-safe)\r\n let type: RevisionType = 'tablePropertiesChange';\r\n let elementType = 'Table';\r\n\r\n if (element instanceof TableRow) {\r\n type = 'tableRowPropertiesChange';\r\n elementType = 'TableRow';\r\n } else if (element instanceof TableCell) {\r\n type = 'tableCellPropertiesChange';\r\n elementType = 'TableCell';\r\n }\r\n\r\n const key = `table:${elementType}:${property}:${this.stringifyValue(newValue)}@${this.getElementId(element)}`;\r\n\r\n this.addPendingChange(key, {\r\n type,\r\n property,\r\n previousValue: oldValue,\r\n newValue,\r\n element,\r\n timestamp: Date.now(),\r\n });\r\n }\r\n\r\n trackSectionChange(\r\n section: TrackableElement,\r\n property: string,\r\n oldValue: unknown,\r\n newValue: unknown\r\n ): void {\r\n if (!this.enabled) return;\r\n if (this.valuesEqual(oldValue, newValue)) return;\r\n\r\n const key = `section:${property}:${this.stringifyValue(newValue)}@${this.getElementId(section)}`;\r\n\r\n this.addPendingChange(key, {\r\n type: 'sectionPropertiesChange',\r\n property,\r\n previousValue: oldValue,\r\n newValue,\r\n element: section,\r\n timestamp: Date.now(),\r\n });\r\n }\r\n\r\n trackInsertion(element: TrackableElement, text: string): void {\r\n if (!this.enabled) return;\r\n if (!text) return;\r\n\r\n const key = `insert:${Date.now()}:${text.substring(0, 20)}`;\r\n\r\n this.addPendingChange(key, {\r\n type: 'insert',\r\n property: 'text',\r\n previousValue: undefined,\r\n newValue: text,\r\n element,\r\n timestamp: Date.now(),\r\n });\r\n }\r\n\r\n trackDeletion(element: TrackableElement, text: string): void {\r\n if (!this.enabled) return;\r\n if (!text) return;\r\n\r\n const key = `delete:${Date.now()}:${text.substring(0, 20)}`;\r\n\r\n this.addPendingChange(key, {\r\n type: 'delete',\r\n property: 'text',\r\n previousValue: text,\r\n newValue: undefined,\r\n element,\r\n timestamp: Date.now(),\r\n });\r\n }\r\n\r\n flushPendingChanges(): Revision[] {\r\n const revisions: Revision[] = [];\r\n\r\n // Group pending changes by element for consolidation\r\n const paragraphChanges = new Map<Paragraph, PendingChange[]>();\r\n const tableChanges = new Map<Table, PendingChange[]>();\r\n const rowChanges = new Map<TableRow, PendingChange[]>();\r\n const cellChanges = new Map<TableCell, PendingChange[]>();\r\n const sectionChanges = new Map<Section, PendingChange[]>();\r\n const runChanges = new Map<Run, PendingChange[]>();\r\n\r\n for (const [, pending] of this.pendingChanges) {\r\n const revision = this.createRevision(pending);\r\n this.revisionManager.register(revision);\r\n revisions.push(revision);\r\n\r\n // Collect changes by element type for *PrChange application\r\n if (pending.type === 'paragraphPropertiesChange' && pending.element instanceof Paragraph) {\r\n const changes = paragraphChanges.get(pending.element) || [];\r\n changes.push(pending);\r\n paragraphChanges.set(pending.element, changes);\r\n } else if (pending.type === 'tablePropertiesChange' && pending.element instanceof Table) {\r\n const changes = tableChanges.get(pending.element) || [];\r\n changes.push(pending);\r\n tableChanges.set(pending.element, changes);\r\n } else if (pending.type === 'tableRowPropertiesChange' && pending.element instanceof TableRow) {\r\n const changes = rowChanges.get(pending.element) || [];\r\n changes.push(pending);\r\n rowChanges.set(pending.element, changes);\r\n } else if (pending.type === 'tableCellPropertiesChange' && pending.element instanceof TableCell) {\r\n const changes = cellChanges.get(pending.element) || [];\r\n changes.push(pending);\r\n cellChanges.set(pending.element, changes);\r\n } else if (pending.type === 'sectionPropertiesChange' && pending.element instanceof Section) {\r\n const changes = sectionChanges.get(pending.element) || [];\r\n changes.push(pending);\r\n sectionChanges.set(pending.element, changes);\r\n } else if (pending.type === 'runPropertiesChange' && pending.element instanceof Run) {\r\n const changes = runChanges.get(pending.element) || [];\r\n changes.push(pending);\r\n runChanges.set(pending.element, changes);\r\n }\r\n }\r\n\r\n // Apply pPrChange to each paragraph that has property changes\r\n for (const [paragraph, changes] of paragraphChanges) {\r\n this.applyParagraphPrChange(paragraph, changes);\r\n }\r\n\r\n // Apply tblPrChange to each Table\r\n for (const [table, changes] of tableChanges) {\r\n this.applyElementPrChange(changes, (prevProps, getNextId, date) => {\r\n const existing = table.getTblPrChange();\r\n if (existing) {\r\n const merged = { ...(existing.previousProperties || {}), ...prevProps };\r\n table.setTblPrChange({ ...existing, previousProperties: merged });\r\n } else {\r\n table.setTblPrChange({ author: this.author, date, id: String(getNextId()), previousProperties: prevProps });\r\n }\r\n });\r\n }\r\n\r\n // Apply trPrChange to each TableRow\r\n for (const [row, changes] of rowChanges) {\r\n this.applyElementPrChange(changes, (prevProps, getNextId, date) => {\r\n const existing = row.getTrPrChange();\r\n if (existing) {\r\n const merged = { ...(existing.previousProperties || {}), ...prevProps };\r\n row.setTrPrChange({ ...existing, previousProperties: merged });\r\n } else {\r\n row.setTrPrChange({ author: this.author, date, id: String(getNextId()), previousProperties: prevProps });\r\n }\r\n });\r\n }\r\n\r\n // Apply tcPrChange to each TableCell\r\n for (const [cell, changes] of cellChanges) {\r\n this.applyElementPrChange(changes, (prevProps, getNextId, date) => {\r\n const existing = cell.getTcPrChange();\r\n if (existing) {\r\n const merged = { ...(existing.previousProperties || {}), ...prevProps };\r\n cell.setTcPrChange({ ...existing, previousProperties: merged });\r\n } else {\r\n cell.setTcPrChange({ author: this.author, date, id: String(getNextId()), previousProperties: prevProps });\r\n }\r\n });\r\n }\r\n\r\n // Apply sectPrChange to each Section\r\n for (const [section, changes] of sectionChanges) {\r\n this.applyElementPrChange(changes, (prevProps, getNextId, date) => {\r\n const existing = section.getSectPrChange();\r\n if (existing) {\r\n const merged = { ...(existing.previousProperties || {}), ...prevProps };\r\n section.setSectPrChange({ ...existing, previousProperties: merged });\r\n } else {\r\n section.setSectPrChange({ author: this.author, date, id: String(getNextId()), previousProperties: prevProps });\r\n }\r\n });\r\n }\r\n\r\n // Apply rPrChange to each Run that has property changes\r\n for (const [run, changes] of runChanges) {\r\n this.applyRunPrChange(run, changes);\r\n }\r\n\r\n this.pendingChanges.clear();\r\n return revisions;\r\n }\r\n\r\n // ═══════════════════════════════════════════════════════════════════════════\r\n // Private Methods\r\n // ═══════════════════════════════════════════════════════════════════════════\r\n\r\n /**\r\n * Apply pPrChange to a paragraph (extracted from flushPendingChanges for readability)\r\n */\r\n private applyParagraphPrChange(paragraph: Paragraph, changes: PendingChange[]): void {\r\n const newPreviousProperties: Record<string, unknown> = {};\r\n let latestTimestamp = 0;\r\n\r\n for (const change of changes) {\r\n // Record previous value even if undefined (property wasn't set before)\r\n newPreviousProperties[change.property] = change.previousValue;\r\n if (change.timestamp > latestTimestamp) {\r\n latestTimestamp = change.timestamp;\r\n }\r\n }\r\n\r\n const existingChange = paragraph.formatting.pPrChange;\r\n\r\n if (existingChange) {\r\n const mergedPreviousProperties: Record<string, unknown> = {\r\n ...(existingChange.previousProperties || {}),\r\n };\r\n for (const [prop, value] of Object.entries(newPreviousProperties)) {\r\n mergedPreviousProperties[prop] = value;\r\n }\r\n paragraph.formatting.pPrChange = {\r\n author: existingChange.author,\r\n date: existingChange.date,\r\n id: existingChange.id,\r\n previousProperties: mergedPreviousProperties,\r\n };\r\n } else {\r\n const revisionId = this.revisionManager.consumeNextId();\r\n paragraph.formatting.pPrChange = {\r\n author: this.author,\r\n date: formatDateForXml(new Date(latestTimestamp)),\r\n id: String(revisionId),\r\n previousProperties: newPreviousProperties,\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Apply rPrChange to a run (mirrors applyParagraphPrChange for runs)\r\n */\r\n private applyRunPrChange(run: Run, changes: PendingChange[]): void {\r\n const newPreviousProperties: Partial<RunFormatting> = {};\r\n let latestTimestamp = 0;\r\n\r\n for (const change of changes) {\r\n (newPreviousProperties as Record<string, unknown>)[change.property] = change.previousValue;\r\n if (change.timestamp > latestTimestamp) {\r\n latestTimestamp = change.timestamp;\r\n }\r\n }\r\n\r\n const existingChange = run.getPropertyChangeRevision();\r\n\r\n if (existingChange) {\r\n // Merge with existing rPrChange — preserve original author/date,\r\n // add new previous properties\r\n const mergedPreviousProperties: Partial<RunFormatting> = {\r\n ...(existingChange.previousProperties || {}),\r\n ...newPreviousProperties,\r\n };\r\n run.setPropertyChangeRevision({\r\n ...existingChange,\r\n previousProperties: mergedPreviousProperties,\r\n });\r\n } else {\r\n const revisionId = this.revisionManager.consumeNextId();\r\n run.setPropertyChangeRevision({\r\n id: revisionId,\r\n author: this.author,\r\n date: new Date(latestTimestamp),\r\n previousProperties: newPreviousProperties,\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Generic helper to apply *PrChange to table/row/cell/section elements\r\n */\r\n private applyElementPrChange(\r\n changes: PendingChange[],\r\n applier: (prevProps: Record<string, unknown>, getNextId: () => number, date: string) => void\r\n ): void {\r\n const prevProps: Record<string, unknown> = {};\r\n let latestTimestamp = 0;\r\n\r\n for (const change of changes) {\r\n // Record previous value even if undefined (property wasn't set before)\r\n prevProps[change.property] = change.previousValue;\r\n if (change.timestamp > latestTimestamp) {\r\n latestTimestamp = change.timestamp;\r\n }\r\n }\r\n\r\n const date = formatDateForXml(new Date(latestTimestamp));\r\n applier(prevProps, () => this.revisionManager.consumeNextId(), date);\r\n }\r\n\r\n /**\r\n * Add a pending change, consolidating with existing if same key\r\n */\r\n private addPendingChange(key: string, change: PendingChange): void {\r\n const existing = this.pendingChanges.get(key);\r\n if (existing) {\r\n existing.count = (existing.count || 1) + 1;\r\n // Keep the first previousValue for consolidated changes\r\n } else {\r\n this.pendingChanges.set(key, { ...change, count: 1 });\r\n }\r\n }\r\n\r\n /**\r\n * Create a Revision from a pending change\r\n */\r\n private createRevision(pending: PendingChange): Revision {\r\n const previousProps: Record<string, any> = {};\r\n const newProps: Record<string, any> = {};\r\n\r\n if (pending.previousValue !== undefined) {\r\n previousProps[pending.property] = pending.previousValue;\r\n }\r\n if (pending.newValue !== undefined) {\r\n newProps[pending.property] = pending.newValue;\r\n }\r\n\r\n // Get or create a Run for the revision content\r\n const run = this.getRunFromElement(pending.element);\r\n\r\n return new Revision({\r\n author: this.author,\r\n type: pending.type,\r\n content: run,\r\n previousProperties:\r\n Object.keys(previousProps).length > 0 ? previousProps : undefined,\r\n newProperties: Object.keys(newProps).length > 0 ? newProps : undefined,\r\n date: new Date(pending.timestamp),\r\n });\r\n }\r\n\r\n /**\r\n * Get or create a Run from an element for revision content\r\n */\r\n private getRunFromElement(element: TrackableElement): Run {\r\n if (element instanceof Run) {\r\n return element;\r\n }\r\n\r\n // Use instanceof for type-safe element identification (minification-safe)\r\n if (element instanceof Table) return new Run('Table');\r\n if (element instanceof TableRow) return new Run('TableRow');\r\n if (element instanceof TableCell) return new Run('TableCell');\r\n if (element instanceof Section) return new Run('Section');\r\n if (element instanceof Paragraph) return new Run('Paragraph');\r\n\r\n // Fallback for other elements (e.g., Hyperlink)\r\n const hasGetText = 'getText' in element && typeof (element as { getText?: () => string }).getText === 'function';\r\n const text = hasGetText\r\n ? (element as { getText: () => string }).getText()\r\n : element?.constructor?.name || 'Unknown element';\r\n return new Run(typeof text === 'string' ? text : String(text));\r\n }\r\n\r\n /**\r\n * Get a stable unique ID for an element (used in consolidation keys)\r\n */\r\n private getElementId(element: TrackableElement): number {\r\n let id = this.elementIdMap.get(element as object);\r\n if (id === undefined) {\r\n id = this.elementIdCounter++;\r\n this.elementIdMap.set(element as object, id);\r\n }\r\n return id;\r\n }\r\n\r\n /**\r\n * Deep equality check for tracking values (handles objects, primitives, null/undefined)\r\n */\r\n private valuesEqual(a: unknown, b: unknown): boolean {\r\n if (a === b) return true;\r\n if (a == null || b == null) return false;\r\n if (typeof a !== 'object' || typeof b !== 'object') return false;\r\n return JSON.stringify(a) === JSON.stringify(b);\r\n }\r\n\r\n /**\r\n * Stringify a value for use in consolidation key\r\n */\r\n private stringifyValue(value: unknown): string {\r\n if (value === undefined) return 'undefined';\r\n if (value === null) return 'null';\r\n if (typeof value === 'object') {\r\n return JSON.stringify(value);\r\n }\r\n return String(value);\r\n }\r\n\r\n /**\r\n * Create an insertion revision (factory to avoid circular dependency in Run)\r\n */\r\n createInsertion(content: Run, date?: Date): Revision {\r\n return Revision.createInsertion(this.author, content, date);\r\n }\r\n\r\n /**\r\n * Create a deletion revision (factory to avoid circular dependency in Run)\r\n */\r\n createDeletion(content: Run, date?: Date): Revision {\r\n return Revision.createDeletion(this.author, content, date);\r\n }\r\n\r\n /**\r\n * Get count of pending changes\r\n */\r\n getPendingCount(): number {\r\n return this.pendingChanges.size;\r\n }\r\n\r\n /**\r\n * Check if there are pending changes\r\n */\r\n hasPendingChanges(): boolean {\r\n return this.pendingChanges.size > 0;\r\n }\r\n\r\n /**\r\n * Clear all pending changes without creating revisions\r\n */\r\n clearPendingChanges(): void {\r\n this.pendingChanges.clear();\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"TrackingContext.js","sourceRoot":"","sources":["../../src/tracking/TrackingContext.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"TrackingContext.js","sourceRoot":"","sources":["../../src/tracking/TrackingContext.ts"],"names":[],"mappings":"","sourcesContent":["/**\r\n * TrackingContext - Interface for automatic change tracking\r\n *\r\n * When enabled via Document.enableTrackChanges(), element setter methods\r\n * use this context to automatically create Revision objects for changes.\r\n *\r\n * @module TrackingContext\r\n */\r\n\r\nimport type { Revision, RevisionType } from '../elements/Revision';\r\nimport type { RevisionManager } from '../elements/RevisionManager';\r\nimport type { Run } from '../elements/Run';\r\nimport type { Paragraph } from '../elements/Paragraph';\r\nimport type { Table } from '../elements/Table';\r\nimport type { TableRow } from '../elements/TableRow';\r\nimport type { TableCell } from '../elements/TableCell';\r\nimport type { Section } from '../elements/Section';\r\n\r\n/** Union of element types that can be tracked */\r\nexport type TrackableElement = Run | Paragraph | Table | TableRow | TableCell | Section | { constructor: { name: string } };\r\n\r\n/**\r\n * Pending change entry before flushing to RevisionManager\r\n */\r\nexport interface PendingChange {\r\n /** Type of revision to create */\r\n type: RevisionType;\r\n /** Property that changed */\r\n property: string;\r\n /** Value before the change */\r\n previousValue: unknown;\r\n /** Value after the change */\r\n newValue: unknown;\r\n /** Element that was modified */\r\n element: TrackableElement;\r\n /** When the change occurred */\r\n timestamp: number;\r\n /** Count for consolidated changes */\r\n count?: number;\r\n}\r\n\r\n/**\r\n * Interface for tracking changes to document elements.\r\n *\r\n * Elements call tracking methods when their setters are invoked.\r\n * The context decides whether to create revisions based on enabled state.\r\n */\r\nexport interface TrackingContext {\r\n /**\r\n * Check if change tracking is currently enabled\r\n */\r\n isEnabled(): boolean;\r\n\r\n /**\r\n * Get the author name for new revisions\r\n */\r\n getAuthor(): string;\r\n\r\n /**\r\n * Get the RevisionManager for registering revisions\r\n */\r\n getRevisionManager(): RevisionManager;\r\n\r\n /**\r\n * Check if formatting changes should be tracked\r\n */\r\n isTrackFormattingEnabled(): boolean;\r\n\r\n /**\r\n * Track a Run property change (bold, italic, font, color, etc.)\r\n * @param run - The Run that was modified\r\n * @param property - Property name (e.g., 'bold', 'color')\r\n * @param oldValue - Value before the change\r\n * @param newValue - Value after the change\r\n */\r\n trackRunPropertyChange(\r\n run: Run,\r\n property: string,\r\n oldValue: unknown,\r\n newValue: unknown\r\n ): void;\r\n\r\n /**\r\n * Track a Paragraph property change (alignment, spacing, etc.)\r\n * @param paragraph - The Paragraph that was modified\r\n * @param property - Property name (e.g., 'alignment', 'spaceBefore')\r\n * @param oldValue - Value before the change\r\n * @param newValue - Value after the change\r\n */\r\n trackParagraphPropertyChange(\r\n paragraph: TrackableElement,\r\n property: string,\r\n oldValue: unknown,\r\n newValue: unknown\r\n ): void;\r\n\r\n /**\r\n * Track a Hyperlink change (URL, anchor, text, formatting)\r\n * @param hyperlink - The Hyperlink that was modified\r\n * @param changeType - Type of change (e.g., 'url', 'text', 'formatting')\r\n * @param oldValue - Value before the change\r\n * @param newValue - Value after the change\r\n */\r\n trackHyperlinkChange(\r\n hyperlink: TrackableElement,\r\n changeType: string,\r\n oldValue: unknown,\r\n newValue: unknown\r\n ): void;\r\n\r\n /**\r\n * Track a Table element property change\r\n * @param element - The table/row/cell that was modified\r\n * @param property - Property name\r\n * @param oldValue - Value before the change\r\n * @param newValue - Value after the change\r\n */\r\n trackTableChange(\r\n element: TrackableElement,\r\n property: string,\r\n oldValue: unknown,\r\n newValue: unknown\r\n ): void;\r\n\r\n /**\r\n * Track a Section property change\r\n * @param section - The Section that was modified\r\n * @param property - Property name (e.g., 'pageSize', 'margins')\r\n * @param oldValue - Value before the change\r\n * @param newValue - Value after the change\r\n */\r\n trackSectionChange(\r\n section: TrackableElement,\r\n property: string,\r\n oldValue: unknown,\r\n newValue: unknown\r\n ): void;\r\n\r\n /**\r\n * Track text insertion\r\n * @param element - Element containing the insertion\r\n * @param text - Text that was inserted\r\n */\r\n trackInsertion(element: TrackableElement, text: string): void;\r\n\r\n /**\r\n * Track text deletion\r\n * @param element - Element containing the deletion\r\n * @param text - Text that was deleted\r\n */\r\n trackDeletion(element: TrackableElement, text: string): void;\r\n\r\n /**\r\n * Flush all pending changes and create Revision objects.\r\n * This is called automatically before document save.\r\n * @returns Array of created revisions\r\n */\r\n flushPendingChanges(): Revision[];\r\n\r\n /**\r\n * Create an insertion revision (factory to avoid circular dependency in Run)\r\n * @param content - Run or array of content for the insertion\r\n * @param date - Optional date for the revision\r\n */\r\n createInsertion(content: Run, date?: Date): Revision;\r\n\r\n /**\r\n * Create a deletion revision (factory to avoid circular dependency in Run)\r\n * @param content - Run or array of content for the deletion\r\n * @param date - Optional date for the revision\r\n */\r\n createDeletion(content: Run, date?: Date): Revision;\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"compatibility-types.js","sourceRoot":"","sources":["../../src/types/compatibility-types.ts"],"names":[],"mappings":";;;AASA,IAAY,iBASX;AATD,WAAY,iBAAiB;IAE3B,kEAAa,CAAA;IAEb,kEAAa,CAAA;IAEb,kEAAa,CAAA;IAEb,0EAAiB,CAAA;AACnB,CAAC,EATW,iBAAiB,iCAAjB,iBAAiB,QAS5B"}
1
+ {"version":3,"file":"compatibility-types.js","sourceRoot":"","sources":["../../src/types/compatibility-types.ts"],"names":[],"mappings":";;;AASA,IAAY,iBASX;AATD,WAAY,iBAAiB;IAE3B,kEAAa,CAAA;IAEb,kEAAa,CAAA;IAEb,kEAAa,CAAA;IAEb,0EAAiB,CAAA;AACnB,CAAC,EATW,iBAAiB,iCAAjB,iBAAiB,QAS5B","sourcesContent":["/**\r\n * Word compatibility mode versions.\r\n *\r\n * These map to Microsoft's internal version numbers used in the\r\n * w:compatSetting name=\"compatibilityMode\" value within settings.xml.\r\n *\r\n * Per MS-DOCX specification, the default when absent is 12 (Word 2007).\r\n * See: https://learn.microsoft.com/en-us/openspecs/office_standards/ms-docx/90138c4d-eb18-4edc-aa6c-dfb799cb1d0d\r\n */\r\nexport enum CompatibilityMode {\r\n /** Word 2003 and earlier — uses MS-DOC feature set */\r\n Word2003 = 11,\r\n /** Word 2007 (ECMA-376 1st edition) — DEFAULT when absent */\r\n Word2007 = 12,\r\n /** Word 2010 (ISO/IEC 29500 with exclusions) */\r\n Word2010 = 14,\r\n /** Word 2013/2016/2019/365 (full modern features) */\r\n Word2013Plus = 15,\r\n}\r\n\r\n/**\r\n * A single w:compatSetting entry (name/uri/val triple).\r\n *\r\n * These are the modern extensibility mechanism for compatibility settings,\r\n * added in ECMA-376 2nd edition. They coexist with legacy boolean flags\r\n * in the Transitional schema.\r\n */\r\nexport interface CompatSetting {\r\n name: string;\r\n uri: string;\r\n val: string;\r\n}\r\n\r\n/**\r\n * Parsed compatibility settings from the w:compat block in settings.xml.\r\n */\r\nexport interface CompatibilityInfo {\r\n /** The numeric compatibility mode value (11, 12, 14, or 15) */\r\n mode: CompatibilityMode;\r\n\r\n /** Whether the document is in a legacy compatibility mode (below 15) */\r\n isLegacyMode: boolean;\r\n\r\n /** Modern w:compatSetting entries (name/uri/val triples) */\r\n compatSettings: CompatSetting[];\r\n\r\n /** Legacy boolean compat flags that are present and enabled (without w: prefix) */\r\n legacyFlags: string[];\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"formatting.js","sourceRoot":"","sources":["../../src/types/formatting.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"formatting.js","sourceRoot":"","sources":["../../src/types/formatting.ts"],"names":[],"mappings":"","sourcesContent":["/**\r\n * Additional formatting types for enhanced document manipulation\r\n */\r\n\r\n// Forward references to avoid circular dependencies\r\nimport type { Paragraph } from '../elements/Paragraph';\r\nimport type { Run } from '../elements/Run';\r\n\r\n/**\r\n * Border style options\r\n */\r\nexport type BorderStyleType = 'single' | 'double' | 'dashed' | 'dotted' | 'triple' | 'none';\r\n\r\n/**\r\n * Individual border configuration\r\n */\r\nexport interface BorderStyle {\r\n /** Border style */\r\n style: BorderStyleType;\r\n /** Border width in eighths of a point */\r\n width: number;\r\n /** Border color in hex format */\r\n color: string;\r\n /** Space between border and text in points */\r\n space?: number;\r\n}\r\n\r\n/**\r\n * Paragraph border configuration\r\n */\r\nexport interface ParagraphBorder {\r\n /** Top border */\r\n top?: BorderStyle;\r\n /** Bottom border */\r\n bottom?: BorderStyle;\r\n /** Left border */\r\n left?: BorderStyle;\r\n /** Right border */\r\n right?: BorderStyle;\r\n /** Apply border between paragraphs */\r\n between?: boolean;\r\n}\r\n\r\n/**\r\n * Shading patterns — re-exported from CommonTypes for backward compatibility.\r\n * @see CommonTypes.ShadingPattern for the canonical definition\r\n */\r\nexport type { ShadingPattern } from '../elements/CommonTypes';\r\n\r\n/**\r\n * Paragraph shading configuration — re-exported from CommonTypes for backward compatibility.\r\n * @see CommonTypes.ShadingConfig for the canonical definition (includes theme attributes)\r\n */\r\nexport type { ShadingConfig as ParagraphShading } from '../elements/CommonTypes';\r\n\r\n/**\r\n * Tab stop alignment\r\n */\r\nexport type TabAlignment = 'left' | 'center' | 'right' | 'decimal' | 'bar' | 'clear';\r\n\r\n/**\r\n * Tab leader character\r\n */\r\nexport type TabLeader = 'none' | 'dot' | 'dash' | 'underscore' | 'heavy' | 'middleDot';\r\n\r\n/**\r\n * Tab stop configuration\r\n */\r\nexport interface TabStop {\r\n /** Position in twips from left margin */\r\n position: number;\r\n /** Tab alignment type */\r\n type: TabAlignment;\r\n /** Leader character */\r\n leader?: TabLeader;\r\n}\r\n\r\n/**\r\n * Text search options\r\n */\r\nexport interface FindOptions {\r\n /** Case sensitive search */\r\n caseSensitive?: boolean;\r\n /** Match whole words only */\r\n wholeWord?: boolean;\r\n /** Use regular expressions */\r\n useRegex?: boolean;\r\n /** Include headers and footers */\r\n includeHeadersFooters?: boolean;\r\n /** Include footnotes and endnotes */\r\n includeNotes?: boolean;\r\n}\r\n\r\n/**\r\n * Text replacement options\r\n */\r\nexport interface ReplaceOptions extends FindOptions {\r\n /** Maximum number of replacements (0 = unlimited) */\r\n maxReplacements?: number;\r\n /** Track changes for replacements */\r\n trackChanges?: boolean;\r\n /** Author for track changes */\r\n author?: string;\r\n}\r\n\r\n/**\r\n * Search result\r\n */\r\nexport interface SearchResult {\r\n /** The paragraph containing the match */\r\n paragraph: Paragraph;\r\n /** The run containing the match */\r\n run?: Run;\r\n /** Match start position in paragraph */\r\n startIndex: number;\r\n /** Match end position in paragraph */\r\n endIndex: number;\r\n /** The matched text */\r\n match: string;\r\n}\r\n\r\n/**\r\n * Text emphasis options\r\n */\r\nexport type EmphasisType = 'bold' | 'italic' | 'underline';\r\n\r\n/**\r\n * List prefix configuration\r\n */\r\nexport interface ListPrefix {\r\n /** List format type */\r\n format: 'bullet' | 'number';\r\n /** Custom style string (e.g., '•', '1.', 'a)') */\r\n style: string;\r\n}\r\n\r\n/**\r\n * Format options for style application\r\n */\r\nexport interface FormatOptions {\r\n // Text formatting\r\n /** Font family name (e.g., 'Arial', 'Verdana') */\r\n font?: string;\r\n /** Font size in points */\r\n size?: number;\r\n /** Text color as 6-digit hex (e.g., 'FF0000' for red) */\r\n color?: string;\r\n /** Text emphasis (bold, italic, underline) */\r\n emphasis?: EmphasisType[];\r\n\r\n // Alignment\r\n /** Paragraph alignment */\r\n alignment?: 'left' | 'right' | 'center' | 'justify';\r\n\r\n // Spacing (in points)\r\n /** Space before paragraph in points */\r\n spaceAbove?: number;\r\n /** Space after paragraph in points */\r\n spaceBelow?: number;\r\n /** Line spacing in points or multiplier */\r\n lineSpacing?: number;\r\n\r\n // Indentation (in inches)\r\n /** Left indentation in inches */\r\n indentLeft?: number;\r\n /** Right indentation in inches */\r\n indentRight?: number;\r\n /** First line indentation in inches */\r\n indentFirst?: number;\r\n /** Hanging indentation in inches */\r\n indentHanging?: number;\r\n\r\n // Padding (in points) - for table cells\r\n /** Top padding in points */\r\n paddingTop?: number;\r\n /** Bottom padding in points */\r\n paddingBottom?: number;\r\n /** Left padding in points */\r\n paddingLeft?: number;\r\n /** Right padding in points */\r\n paddingRight?: number;\r\n\r\n // List formatting\r\n /** List prefix style */\r\n prefixList?: string | ListPrefix;\r\n\r\n // Advanced options\r\n /** Border color as 6-digit hex */\r\n borderColor?: string;\r\n /** Border width in points */\r\n borderWidth?: number;\r\n /** Background shading color as 6-digit hex */\r\n shading?: string;\r\n /** Keep with next paragraph */\r\n keepWithNext?: boolean;\r\n /** Keep lines together */\r\n keepLines?: boolean;\r\n}\r\n\r\n/**\r\n * Options for applying styles to paragraphs\r\n */\r\nexport interface StyleApplyOptions {\r\n /** Specific paragraphs to apply style to (default: auto-detect) */\r\n paragraphs?: Paragraph[];\r\n /** Properties to preserve from existing formatting */\r\n keepProperties?: string[];\r\n /** Custom formatting to apply */\r\n format?: FormatOptions;\r\n}"]}
@@ -12,11 +12,11 @@ export interface ListDetectionResult {
12
12
  indentationTwips: number;
13
13
  }
14
14
  export interface ListAnalysis {
15
- paragraphs: Array<{
15
+ paragraphs: {
16
16
  paragraph: unknown;
17
17
  text: string;
18
18
  detection: ListDetectionResult;
19
- }>;
19
+ }[];
20
20
  hasTypedLists: boolean;
21
21
  hasWordLists: boolean;
22
22
  hasMixedCategories: boolean;
@@ -48,10 +48,10 @@ export interface ListNormalizationReport {
48
48
  skipped: number;
49
49
  errors: string[];
50
50
  appliedCategory: ListCategory;
51
- details: Array<{
51
+ details: {
52
52
  originalText: string;
53
53
  action: "normalized" | "skipped" | "error";
54
54
  reason?: string;
55
- }>;
55
+ }[];
56
56
  }
57
57
  //# sourceMappingURL=list-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-types.d.ts","sourceRoot":"","sources":["../../src/types/list-types.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC;AAG1D,MAAM,MAAM,YAAY,GACpB,SAAS,GACT,aAAa,GACb,aAAa,GACb,YAAY,GACZ,YAAY,CAAC;AAGjB,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,MAAM,GACN,OAAO,CAAC;AAKZ,MAAM,WAAW,mBAAmB;IAElC,QAAQ,EAAE,YAAY,CAAC;IAGvB,UAAU,EAAE,OAAO,CAAC;IAGpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAG3B,aAAa,EAAE,MAAM,CAAC;IAGtB,MAAM,EAAE,YAAY,GAAG,YAAY,GAAG,IAAI,CAAC;IAG3C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAGrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAGpB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAKD,MAAM,WAAW,YAAY;IAE3B,UAAU,EAAE,KAAK,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,mBAAmB,CAAC;KAChC,CAAC,CAAC;IAGH,aAAa,EAAE,OAAO,CAAC;IAGvB,YAAY,EAAE,OAAO,CAAC;IAGtB,kBAAkB,EAAE,OAAO,CAAC;IAG5B,gBAAgB,EAAE,YAAY,CAAC;IAG/B,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IAGF,iBAAiB,EAAE,WAAW,GAAG,MAAM,CAAC;CACzC;AAKD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC;CACxC;AAKD,MAAM,WAAW,wBAAwB;IAEvC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAG5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAG1B,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;IAMtC,aAAa,CAAC,EAAE,OAAO,CAAC;IAKxB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAM9B,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACxC;AAKD,MAAM,WAAW,uBAAuB;IAEtC,UAAU,EAAE,MAAM,CAAC;IAGnB,OAAO,EAAE,MAAM,CAAC;IAGhB,MAAM,EAAE,MAAM,EAAE,CAAC;IAGjB,eAAe,EAAE,YAAY,CAAC;IAG9B,OAAO,EAAE,KAAK,CAAC;QACb,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC;QAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;CACJ"}
1
+ {"version":3,"file":"list-types.d.ts","sourceRoot":"","sources":["../../src/types/list-types.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC;AAG1D,MAAM,MAAM,YAAY,GACpB,SAAS,GACT,aAAa,GACb,aAAa,GACb,YAAY,GACZ,YAAY,CAAC;AAGjB,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,MAAM,GACN,OAAO,CAAC;AAKZ,MAAM,WAAW,mBAAmB;IAElC,QAAQ,EAAE,YAAY,CAAC;IAGvB,UAAU,EAAE,OAAO,CAAC;IAGpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAG3B,aAAa,EAAE,MAAM,CAAC;IAGtB,MAAM,EAAE,YAAY,GAAG,YAAY,GAAG,IAAI,CAAC;IAG3C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAGrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAGpB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAKD,MAAM,WAAW,YAAY;IAE3B,UAAU,EAAE;QACV,SAAS,EAAE,OAAO,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,mBAAmB,CAAC;KAChC,EAAE,CAAC;IAGJ,aAAa,EAAE,OAAO,CAAC;IAGvB,YAAY,EAAE,OAAO,CAAC;IAGtB,kBAAkB,EAAE,OAAO,CAAC;IAG5B,gBAAgB,EAAE,YAAY,CAAC;IAG/B,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IAGF,iBAAiB,EAAE,WAAW,GAAG,MAAM,CAAC;CACzC;AAKD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC;CACxC;AAKD,MAAM,WAAW,wBAAwB;IAEvC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAG5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAG1B,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;IAMtC,aAAa,CAAC,EAAE,OAAO,CAAC;IAKxB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAM9B,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACxC;AAKD,MAAM,WAAW,uBAAuB;IAEtC,UAAU,EAAE,MAAM,CAAC;IAGnB,OAAO,EAAE,MAAM,CAAC;IAGhB,MAAM,EAAE,MAAM,EAAE,CAAC;IAGjB,eAAe,EAAE,YAAY,CAAC;IAG9B,OAAO,EAAE;QACP,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC;QAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,EAAE,CAAC;CACL"}
@@ -1 +1 @@
1
- {"version":3,"file":"list-types.js","sourceRoot":"","sources":["../../src/types/list-types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"list-types.js","sourceRoot":"","sources":["../../src/types/list-types.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * List Normalization Types for docxmlater\n *\n * These types support detection and normalization of typed list prefixes\n * to proper Word list formatting.\n */\n\n/** High-level list category */\nexport type ListCategory = \"numbered\" | \"bullet\" | \"none\";\n\n/** Specific number format patterns */\nexport type NumberFormat =\n | \"decimal\" // 1. 2. 3.\n | \"lowerLetter\" // a. b. c.\n | \"upperLetter\" // A. B. C.\n | \"lowerRoman\" // i. ii. iii.\n | \"upperRoman\"; // I. II. III.\n\n/** Specific bullet format patterns */\nexport type BulletFormat =\n | \"bullet\" // • ● ○\n | \"dash\" // - – —\n | \"arrow\"; // ► ▸\n\n/**\n * Result of detecting list type for a single paragraph\n */\nexport interface ListDetectionResult {\n /** High-level category */\n category: ListCategory;\n\n /** True if paragraph has <w:numPr> (real Word list) */\n isWordList: boolean;\n\n /** The typed prefix found, e.g., \"1. \", \"a) \", \"• \" */\n typedPrefix: string | null;\n\n /** Inferred nesting level based on indentation */\n inferredLevel: number;\n\n /** Specific format detected */\n format: NumberFormat | BulletFormat | null;\n\n /** If Word list, the numId from <w:numPr> */\n numId: number | null;\n\n /** If Word list, the ilvl from <w:numPr> */\n ilvl: number | null;\n\n /** Raw indentation in twips for debugging */\n indentationTwips: number;\n}\n\n/**\n * Analysis of all lists within a scope (cell, table, document)\n */\nexport interface ListAnalysis {\n /** All analyzed paragraphs with their detection results */\n paragraphs: {\n paragraph: unknown; // Paragraph instance - using unknown to avoid circular dep\n text: string;\n detection: ListDetectionResult;\n }[];\n\n /** True if any typed (non-Word) lists found */\n hasTypedLists: boolean;\n\n /** True if any real Word lists found */\n hasWordLists: boolean;\n\n /** True if both numbered AND bullet lists present */\n hasMixedCategories: boolean;\n\n /** The dominant list type in this scope */\n majorityCategory: ListCategory;\n\n /** Count by category */\n counts: {\n numbered: number;\n bullet: number;\n none: number;\n };\n\n /** Recommended action */\n recommendedAction: \"normalize\" | \"none\";\n}\n\n/**\n * User-defined indentation level configuration for list normalization\n */\nexport interface IndentationLevel {\n level: number;\n textIndent: number; // in inches\n symbolIndent: number; // in inches\n bulletChar?: string;\n numberedFormat?: NumberFormat | string;\n}\n\n/**\n * Options for list normalization\n */\nexport interface ListNormalizationOptions {\n /** numId to use for numbered lists (from numbering.xml) */\n numberedStyleNumId?: number;\n\n /** numId to use for bullet lists (from numbering.xml) */\n bulletStyleNumId?: number;\n\n /** Processing scope */\n scope?: \"cell\" | \"table\" | \"document\";\n\n /**\n * If true, convert ALL list items to majority type.\n * If false, only convert typed lists (preserve existing Word lists).\n */\n forceMajority?: boolean;\n\n /**\n * If true, preserve original indentation instead of using level defaults.\n */\n preserveIndentation?: boolean;\n\n /**\n * User-defined indentation settings per list level.\n * Used to configure symbol indent, text indent, and bullet characters.\n */\n indentationLevels?: IndentationLevel[];\n}\n\n/**\n * Report returned after normalization\n */\nexport interface ListNormalizationReport {\n /** Number of paragraphs successfully normalized */\n normalized: number;\n\n /** Number of paragraphs skipped (already correct or non-list) */\n skipped: number;\n\n /** Any errors encountered */\n errors: string[];\n\n /** The majority category that was applied */\n appliedCategory: ListCategory;\n\n /** Detailed per-paragraph results */\n details: {\n originalText: string;\n action: \"normalized\" | \"skipped\" | \"error\";\n reason?: string;\n }[];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"settings-types.js","sourceRoot":"","sources":["../../src/types/settings-types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"settings-types.js","sourceRoot":"","sources":["../../src/types/settings-types.ts"],"names":[],"mappings":"","sourcesContent":["/**\r\n * Shared type definitions for document settings (settings.xml)\r\n *\r\n * These types are used by both Document.ts (in-memory state) and\r\n * DocumentGenerator.ts (XML generation) to ensure consistency.\r\n */\r\n\r\n/**\r\n * Document protection settings per ECMA-376 CT_DocProtect\r\n */\r\nexport interface DocumentProtection {\r\n edit: 'readOnly' | 'comments' | 'trackedChanges' | 'forms';\r\n enforcement: boolean;\r\n cryptProviderType?: string;\r\n cryptAlgorithmClass?: string;\r\n cryptAlgorithmType?: string;\r\n cryptAlgorithmSid?: number;\r\n cryptSpinCount?: number;\r\n hash?: string;\r\n salt?: string;\r\n}\r\n\r\n/**\r\n * Revision view settings per ECMA-376 CT_TrackChangesView\r\n */\r\nexport interface RevisionViewSettings {\r\n showInsertionsAndDeletions: boolean;\r\n showFormatting: boolean;\r\n showInkAnnotations: boolean;\r\n}\r\n\r\n/**\r\n * Track changes and related settings passed to DocumentGenerator.generateSettings()\r\n */\r\nexport interface TrackChangesSettings {\r\n trackChangesEnabled?: boolean;\r\n trackFormatting?: boolean;\r\n revisionView?: RevisionViewSettings;\r\n rsidRoot?: string;\r\n rsids?: string[];\r\n documentProtection?: DocumentProtection;\r\n}\r\n\r\n/**\r\n * Information about webSettings.xml per ECMA-376 CT_WebSettings\r\n */\r\nexport interface WebSettingsInfo {\r\n divCount: number;\r\n optimizeForBrowser: boolean;\r\n allowPNG: boolean;\r\n relyOnVML: boolean;\r\n doNotRelyOnCSS: boolean;\r\n doNotSaveAsSingleFile: boolean;\r\n doNotOrganizeInFolder: boolean;\r\n doNotUseLongFileNames: boolean;\r\n pixelsPerInch?: number;\r\n targetScreenSz?: string;\r\n encoding?: string;\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"styleConfig.js","sourceRoot":"","sources":["../../src/types/styleConfig.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"styleConfig.js","sourceRoot":"","sources":["../../src/types/styleConfig.ts"],"names":[],"mappings":"","sourcesContent":["/**\r\n * Configuration interfaces for customizable style formatting\r\n * Used by Document.applyCustomFormattingToExistingStyles()\r\n */\r\n\r\n/**\r\n * Run (character) formatting configuration for styles\r\n */\r\nexport interface StyleRunFormatting {\r\n /** Font family name (e.g., 'Verdana', 'Arial', 'Times New Roman') */\r\n font?: string;\r\n\r\n /** Font size in points (e.g., 12, 14, 18) */\r\n size?: number;\r\n\r\n /** Whether text should be bold */\r\n bold?: boolean;\r\n\r\n /** Whether text should be italic */\r\n italic?: boolean;\r\n\r\n /** Whether text should be underlined */\r\n underline?: boolean;\r\n\r\n /** Text color as hex without # (e.g., '000000', 'FF0000') */\r\n color?: string;\r\n\r\n /** If true, preserve existing bold formatting (don't apply bold property) */\r\n preserveBold?: boolean;\r\n\r\n /** If true, preserve existing italic formatting (don't apply italic property) */\r\n preserveItalic?: boolean;\r\n\r\n /** If true, preserve existing underline formatting (don't apply underline property) */\r\n preserveUnderline?: boolean;\r\n}\r\n\r\n/**\r\n * Paragraph formatting configuration for styles\r\n */\r\nexport interface StyleParagraphFormatting {\r\n /** Text alignment */\r\n alignment?: \"left\" | \"center\" | \"right\" | \"justify\";\r\n\r\n /** Spacing configuration */\r\n spacing?: {\r\n /** Spacing before paragraph in twips (20 twips = 1 point) */\r\n before?: number;\r\n\r\n /** Spacing after paragraph in twips (20 twips = 1 point) */\r\n after?: number;\r\n\r\n /** Line spacing in twips (240 = single spacing when lineRule is 'auto') */\r\n line?: number;\r\n\r\n /** How to interpret the line spacing value */\r\n lineRule?: \"auto\" | \"exact\" | \"atLeast\";\r\n };\r\n\r\n /** Indentation configuration */\r\n indentation?: {\r\n /** Left indent in twips (1440 twips = 1 inch) */\r\n left?: number;\r\n\r\n /** Right indent in twips */\r\n right?: number;\r\n\r\n /** First line indent in twips (positive = indent, negative = outdent) */\r\n firstLine?: number;\r\n\r\n /** Hanging indent in twips (typically used for lists) */\r\n hanging?: number;\r\n };\r\n\r\n /**\r\n * Whether to remove spacing between consecutive paragraphs of the same style\r\n * Per ECMA-376 Part 1 §17.3.1.8\r\n */\r\n contextualSpacing?: boolean;\r\n}\r\n\r\n/**\r\n * Table appearance options for Heading2 wrapping\r\n * Heading2 paragraphs are always wrapped in 1x1 tables with these settings\r\n */\r\nexport interface Heading2TableOptions {\r\n /** Cell background color as hex without # (e.g., 'BFBFBF' for gray) */\r\n shading?: string;\r\n\r\n /** Top cell margin in twips */\r\n marginTop?: number;\r\n\r\n /** Bottom cell margin in twips */\r\n marginBottom?: number;\r\n\r\n /** Left cell margin in twips (115 twips = 0.08 inches) */\r\n marginLeft?: number;\r\n\r\n /** Right cell margin in twips (115 twips = 0.08 inches) */\r\n marginRight?: number;\r\n\r\n /** Table width as percentage (5000 = 100%) */\r\n tableWidthPercent?: number;\r\n}\r\n\r\n/**\r\n * Base style configuration combining run and paragraph formatting\r\n */\r\nexport interface StyleConfig {\r\n /** Character formatting for the style */\r\n run?: StyleRunFormatting;\r\n\r\n /** Paragraph formatting for the style */\r\n paragraph?: StyleParagraphFormatting;\r\n}\r\n\r\n/**\r\n * Extended configuration for Heading2 style including table options\r\n * Heading2 paragraphs are always wrapped in tables\r\n */\r\nexport interface Heading2Config extends StyleConfig {\r\n /** Table appearance options for wrapping Heading2 paragraphs */\r\n tableOptions?: Heading2TableOptions;\r\n}\r\n\r\n/**\r\n * Extended configuration for Normal style with alignment preservation options\r\n */\r\nexport interface NormalConfig extends StyleConfig {\r\n /**\r\n * Whether to preserve center alignment during style application.\r\n * When true, paragraphs that are center-aligned will retain their center alignment\r\n * instead of being changed to the Normal style's alignment (typically 'left').\r\n * This is useful for preserving intentional centering like image captions or table headers.\r\n * @default false\r\n */\r\n preserveCenterAlignment?: boolean;\r\n}\r\n\r\n/**\r\n * Complete configuration for applyStyles()\r\n * All properties are optional - defaults will be used if not provided\r\n */\r\nexport interface ApplyStylesOptions {\r\n /** Heading1 style configuration */\r\n heading1?: StyleConfig;\r\n\r\n /** Heading2 style configuration with table options */\r\n heading2?: Heading2Config;\r\n\r\n /** Heading3 style configuration */\r\n heading3?: StyleConfig;\r\n\r\n /** Normal style configuration with alignment preservation options */\r\n normal?: NormalConfig;\r\n\r\n /** List Paragraph style configuration */\r\n listParagraph?: StyleConfig;\r\n\r\n /**\r\n * Whether to preserve blank lines added after 1x1 Heading 2 tables.\r\n * When true, blank paragraphs added after Heading 2 tables are marked as preserved\r\n * to prevent accidental removal by document processing operations (e.g., removing extra blank lines).\r\n * @default true\r\n */\r\n preserveBlankLinesAfterHeading2Tables?: boolean;\r\n\r\n /**\r\n * Whether to preserve white font (FFFFFF) color during style application.\r\n * When true, runs with white color will not have their color changed.\r\n * This is useful for preserving hidden text like ID tags or overlay text.\r\n * @default false\r\n */\r\n preserveWhiteFont?: boolean;\r\n\r\n /**\r\n * Whether to apply Normal style changes to NormalWeb (Normal (Web)) style as well.\r\n * When true (default), if NormalWeb style exists in the document,\r\n * it will receive the same formatting changes applied to Normal.\r\n * This ensures consistency between Normal and Normal (Web) styles.\r\n * @default true\r\n */\r\n linkNormalWebToNormal?: boolean;\r\n}\r\n\r\n/**\r\n * @deprecated Use {@link ApplyStylesOptions} instead (renamed in v4.0.0)\r\n */\r\nexport type ApplyCustomFormattingOptions = ApplyStylesOptions;\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ChangelogGenerator.d.ts","sourceRoot":"","sources":["../../src/utils/ChangelogGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChangelogGenerator.d.ts","sourceRoot":"","sources":["../../src/utils/ChangelogGenerator.ts"],"names":[],"mappings":"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"}