docxmlater 10.0.2 → 10.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (398) 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 +23 -19
  9. package/dist/core/Document.d.ts.map +1 -1
  10. package/dist/core/Document.js +197 -63
  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 +86 -55
  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 +8 -0
  76. package/dist/elements/Paragraph.d.ts.map +1 -1
  77. package/dist/elements/Paragraph.js +153 -118
  78. package/dist/elements/Paragraph.js.map +1 -1
  79. package/dist/elements/PreservedElement.js.map +1 -1
  80. package/dist/elements/PropertyChangeTypes.js.map +1 -1
  81. package/dist/elements/RangeMarker.js.map +1 -1
  82. package/dist/elements/Revision.d.ts +1 -0
  83. package/dist/elements/Revision.d.ts.map +1 -1
  84. package/dist/elements/Revision.js +44 -5
  85. package/dist/elements/Revision.js.map +1 -1
  86. package/dist/elements/RevisionContent.js.map +1 -1
  87. package/dist/elements/RevisionManager.d.ts.map +1 -1
  88. package/dist/elements/RevisionManager.js.map +1 -1
  89. package/dist/elements/Run.d.ts.map +1 -1
  90. package/dist/elements/Run.js +1 -3
  91. package/dist/elements/Run.js.map +1 -1
  92. package/dist/elements/Section.d.ts.map +1 -1
  93. package/dist/elements/Section.js +127 -118
  94. package/dist/elements/Section.js.map +1 -1
  95. package/dist/elements/Shape.d.ts.map +1 -1
  96. package/dist/elements/Shape.js +21 -0
  97. package/dist/elements/Shape.js.map +1 -1
  98. package/dist/elements/StructuredDocumentTag.d.ts.map +1 -1
  99. package/dist/elements/StructuredDocumentTag.js +20 -8
  100. package/dist/elements/StructuredDocumentTag.js.map +1 -1
  101. package/dist/elements/Table.d.ts +2 -2
  102. package/dist/elements/Table.d.ts.map +1 -1
  103. package/dist/elements/Table.js +29 -35
  104. package/dist/elements/Table.js.map +1 -1
  105. package/dist/elements/TableCell.d.ts +2 -2
  106. package/dist/elements/TableCell.d.ts.map +1 -1
  107. package/dist/elements/TableCell.js +63 -67
  108. package/dist/elements/TableCell.js.map +1 -1
  109. package/dist/elements/TableGridChange.js.map +1 -1
  110. package/dist/elements/TableOfContents.d.ts +6 -6
  111. package/dist/elements/TableOfContents.d.ts.map +1 -1
  112. package/dist/elements/TableOfContents.js.map +1 -1
  113. package/dist/elements/TableOfContentsElement.js.map +1 -1
  114. package/dist/elements/TableRow.d.ts.map +1 -1
  115. package/dist/elements/TableRow.js +65 -47
  116. package/dist/elements/TableRow.js.map +1 -1
  117. package/dist/elements/TextBox.d.ts.map +1 -1
  118. package/dist/elements/TextBox.js +1 -1
  119. package/dist/elements/TextBox.js.map +1 -1
  120. package/dist/formatting/AbstractNumbering.d.ts +1 -1
  121. package/dist/formatting/AbstractNumbering.d.ts.map +1 -1
  122. package/dist/formatting/AbstractNumbering.js +11 -11
  123. package/dist/formatting/AbstractNumbering.js.map +1 -1
  124. package/dist/formatting/NumberingInstance.d.ts.map +1 -1
  125. package/dist/formatting/NumberingInstance.js +4 -4
  126. package/dist/formatting/NumberingInstance.js.map +1 -1
  127. package/dist/formatting/NumberingLevel.d.ts.map +1 -1
  128. package/dist/formatting/NumberingLevel.js +26 -26
  129. package/dist/formatting/NumberingLevel.js.map +1 -1
  130. package/dist/formatting/NumberingManager.d.ts +1 -1
  131. package/dist/formatting/NumberingManager.d.ts.map +1 -1
  132. package/dist/formatting/NumberingManager.js.map +1 -1
  133. package/dist/formatting/Style.d.ts.map +1 -1
  134. package/dist/formatting/Style.js +87 -95
  135. package/dist/formatting/Style.js.map +1 -1
  136. package/dist/formatting/StylesManager.d.ts +3 -3
  137. package/dist/formatting/StylesManager.d.ts.map +1 -1
  138. package/dist/formatting/StylesManager.js.map +1 -1
  139. package/dist/helpers/CleanupHelper.js.map +1 -1
  140. package/dist/images/ImageOptimizer.js.map +1 -1
  141. package/dist/index.js.map +1 -1
  142. package/dist/managers/DrawingManager.d.ts.map +1 -1
  143. package/dist/managers/DrawingManager.js.map +1 -1
  144. package/dist/tracking/DocumentTrackingContext.js.map +1 -1
  145. package/dist/tracking/TrackingContext.js.map +1 -1
  146. package/dist/types/compatibility-types.js.map +1 -1
  147. package/dist/types/formatting.js.map +1 -1
  148. package/dist/types/list-types.d.ts +4 -4
  149. package/dist/types/list-types.d.ts.map +1 -1
  150. package/dist/types/list-types.js.map +1 -1
  151. package/dist/types/settings-types.js.map +1 -1
  152. package/dist/types/styleConfig.js.map +1 -1
  153. package/dist/utils/ChangelogGenerator.d.ts.map +1 -1
  154. package/dist/utils/ChangelogGenerator.js.map +1 -1
  155. package/dist/utils/CompatibilityUpgrader.d.ts.map +1 -1
  156. package/dist/utils/CompatibilityUpgrader.js +7 -7
  157. package/dist/utils/CompatibilityUpgrader.js.map +1 -1
  158. package/dist/utils/InMemoryRevisionAcceptor.d.ts.map +1 -1
  159. package/dist/utils/InMemoryRevisionAcceptor.js +23 -2
  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.d.ts +1 -0
  165. package/dist/utils/SelectiveRevisionAcceptor.d.ts.map +1 -1
  166. package/dist/utils/SelectiveRevisionAcceptor.js +46 -0
  167. package/dist/utils/SelectiveRevisionAcceptor.js.map +1 -1
  168. package/dist/utils/ShadingResolver.js +1 -1
  169. package/dist/utils/ShadingResolver.js.map +1 -1
  170. package/dist/utils/acceptRevisions.d.ts +0 -28
  171. package/dist/utils/acceptRevisions.d.ts.map +1 -1
  172. package/dist/utils/acceptRevisions.js +5 -7
  173. package/dist/utils/acceptRevisions.js.map +1 -1
  174. package/dist/utils/cnfStyleDecoder.js +1 -1
  175. package/dist/utils/cnfStyleDecoder.js.map +1 -1
  176. package/dist/utils/corruptionDetection.js.map +1 -1
  177. package/dist/utils/dateFormatting.js.map +1 -1
  178. package/dist/utils/deepClone.d.ts +0 -1
  179. package/dist/utils/deepClone.d.ts.map +1 -1
  180. package/dist/utils/deepClone.js +0 -7
  181. package/dist/utils/deepClone.js.map +1 -1
  182. package/dist/utils/diagnostics.d.ts +2 -2
  183. package/dist/utils/diagnostics.d.ts.map +1 -1
  184. package/dist/utils/diagnostics.js.map +1 -1
  185. package/dist/utils/errorHandling.js.map +1 -1
  186. package/dist/utils/formatting.js.map +1 -1
  187. package/dist/utils/list-detection.d.ts +2 -2
  188. package/dist/utils/list-detection.d.ts.map +1 -1
  189. package/dist/utils/list-detection.js +3 -3
  190. package/dist/utils/list-detection.js.map +1 -1
  191. package/dist/utils/logger.d.ts +2 -4
  192. package/dist/utils/logger.d.ts.map +1 -1
  193. package/dist/utils/logger.js +0 -2
  194. package/dist/utils/logger.js.map +1 -1
  195. package/dist/utils/parsingHelpers.js.map +1 -1
  196. package/dist/utils/stripTrackedChanges.d.ts +0 -19
  197. package/dist/utils/stripTrackedChanges.d.ts.map +1 -1
  198. package/dist/utils/stripTrackedChanges.js +0 -2
  199. package/dist/utils/stripTrackedChanges.js.map +1 -1
  200. package/dist/utils/textDiff.js.map +1 -1
  201. package/dist/utils/units.js.map +1 -1
  202. package/dist/utils/validation.d.ts.map +1 -1
  203. package/dist/utils/validation.js.map +1 -1
  204. package/dist/utils/xmlSanitization.js.map +1 -1
  205. package/dist/validation/RevisionAutoFixer.js.map +1 -1
  206. package/dist/validation/RevisionValidator.js.map +1 -1
  207. package/dist/validation/ValidationRules.js.map +1 -1
  208. package/dist/validation/index.js.map +1 -1
  209. package/dist/xml/XMLBuilder.d.ts.map +1 -1
  210. package/dist/xml/XMLBuilder.js +10 -0
  211. package/dist/xml/XMLBuilder.js.map +1 -1
  212. package/dist/xml/XMLParser.d.ts.map +1 -1
  213. package/dist/xml/XMLParser.js +4 -5
  214. package/dist/xml/XMLParser.js.map +1 -1
  215. package/dist/zip/ZipHandler.js.map +1 -1
  216. package/dist/zip/ZipReader.js.map +1 -1
  217. package/dist/zip/ZipWriter.js.map +1 -1
  218. package/dist/zip/errors.js.map +1 -1
  219. package/dist/zip/types.js.map +1 -1
  220. package/package.json +34 -4
  221. package/src/__tests__/helper-methods.test.ts +512 -0
  222. package/src/constants/legacyCompatFlags.ts +138 -0
  223. package/src/constants/limits.ts +50 -0
  224. package/src/core/CLAUDE.md +109 -0
  225. package/src/core/Document.ts +15569 -0
  226. package/src/core/DocumentContent.ts +467 -0
  227. package/src/core/DocumentGenerator.ts +1104 -0
  228. package/src/core/DocumentIdManager.ts +158 -0
  229. package/src/core/DocumentParser.ts +10140 -0
  230. package/src/core/DocumentValidator.ts +372 -0
  231. package/src/core/Relationship.ts +367 -0
  232. package/src/core/RelationshipManager.ts +428 -0
  233. package/src/elements/AlternateContent.ts +42 -0
  234. package/src/elements/Bookmark.ts +210 -0
  235. package/src/elements/BookmarkManager.ts +250 -0
  236. package/src/elements/CLAUDE.md +126 -0
  237. package/src/elements/Comment.ts +359 -0
  238. package/src/elements/CommentManager.ts +502 -0
  239. package/src/elements/CommonTypes.ts +549 -0
  240. package/src/elements/CustomXml.ts +36 -0
  241. package/src/elements/Endnote.ts +217 -0
  242. package/src/elements/EndnoteManager.ts +249 -0
  243. package/src/elements/Field.ts +1233 -0
  244. package/src/elements/FieldHelpers.ts +333 -0
  245. package/src/elements/FontManager.ts +339 -0
  246. package/src/elements/Footer.ts +269 -0
  247. package/src/elements/Footnote.ts +217 -0
  248. package/src/elements/FootnoteManager.ts +249 -0
  249. package/src/elements/Header.ts +269 -0
  250. package/src/elements/HeaderFooterManager.ts +219 -0
  251. package/src/elements/Hyperlink.ts +1146 -0
  252. package/src/elements/Image.ts +1756 -0
  253. package/src/elements/ImageManager.ts +432 -0
  254. package/src/elements/ImageRun.ts +59 -0
  255. package/src/elements/MathElement.ts +65 -0
  256. package/src/elements/Paragraph.ts +4287 -0
  257. package/src/elements/PreservedElement.ts +53 -0
  258. package/src/elements/PropertyChangeTypes.ts +442 -0
  259. package/src/elements/RangeMarker.ts +400 -0
  260. package/src/elements/Revision.ts +1217 -0
  261. package/src/elements/RevisionContent.ts +73 -0
  262. package/src/elements/RevisionManager.ts +1070 -0
  263. package/src/elements/Run.ts +3068 -0
  264. package/src/elements/Section.ts +1421 -0
  265. package/src/elements/Shape.ts +873 -0
  266. package/src/elements/StructuredDocumentTag.ts +978 -0
  267. package/src/elements/Table.ts +2524 -0
  268. package/src/elements/TableCell.ts +1586 -0
  269. package/src/elements/TableGridChange.ts +151 -0
  270. package/src/elements/TableOfContents.ts +691 -0
  271. package/src/elements/TableOfContentsElement.ts +89 -0
  272. package/src/elements/TableRow.ts +906 -0
  273. package/src/elements/TextBox.ts +768 -0
  274. package/src/formatting/AbstractNumbering.ts +548 -0
  275. package/src/formatting/CLAUDE.md +74 -0
  276. package/src/formatting/NumberingInstance.ts +212 -0
  277. package/src/formatting/NumberingLevel.ts +1006 -0
  278. package/src/formatting/NumberingManager.ts +827 -0
  279. package/src/formatting/Style.ts +1833 -0
  280. package/src/formatting/StylesManager.ts +1005 -0
  281. package/src/helpers/CleanupHelper.ts +524 -0
  282. package/src/images/ImageOptimizer.ts +274 -0
  283. package/src/index.ts +554 -0
  284. package/src/managers/CLAUDE.md +47 -0
  285. package/src/managers/DrawingManager.ts +319 -0
  286. package/src/tracking/DocumentTrackingContext.ts +643 -0
  287. package/src/tracking/TrackingContext.ts +173 -0
  288. package/src/types/compatibility-types.ts +49 -0
  289. package/src/types/formatting.ts +210 -0
  290. package/src/types/list-types.ts +152 -0
  291. package/src/types/settings-types.ts +59 -0
  292. package/src/types/styleConfig.ts +189 -0
  293. package/src/utils/CLAUDE.md +153 -0
  294. package/src/utils/ChangelogGenerator.ts +1581 -0
  295. package/src/utils/CompatibilityUpgrader.ts +237 -0
  296. package/src/utils/InMemoryRevisionAcceptor.ts +696 -0
  297. package/src/utils/MoveOperationHelper.ts +238 -0
  298. package/src/utils/RevisionAwareProcessor.ts +526 -0
  299. package/src/utils/RevisionWalker.ts +457 -0
  300. package/src/utils/SelectiveRevisionAcceptor.ts +683 -0
  301. package/src/utils/ShadingResolver.ts +107 -0
  302. package/src/utils/acceptRevisions.ts +714 -0
  303. package/src/utils/cnfStyleDecoder.ts +217 -0
  304. package/src/utils/corruptionDetection.ts +345 -0
  305. package/src/utils/dateFormatting.ts +20 -0
  306. package/src/utils/deepClone.ts +78 -0
  307. package/src/utils/diagnostics.ts +129 -0
  308. package/src/utils/errorHandling.ts +80 -0
  309. package/src/utils/formatting.ts +213 -0
  310. package/src/utils/list-detection.ts +274 -0
  311. package/src/utils/logger.ts +404 -0
  312. package/src/utils/parsingHelpers.ts +190 -0
  313. package/src/utils/stripTrackedChanges.ts +353 -0
  314. package/src/utils/textDiff.ts +100 -0
  315. package/src/utils/units.ts +421 -0
  316. package/src/utils/validation.ts +542 -0
  317. package/src/utils/xmlSanitization.ts +182 -0
  318. package/src/validation/RevisionAutoFixer.ts +542 -0
  319. package/src/validation/RevisionValidator.ts +460 -0
  320. package/src/validation/ValidationRules.ts +338 -0
  321. package/src/validation/index.ts +30 -0
  322. package/src/xml/CLAUDE.md +65 -0
  323. package/src/xml/XMLBuilder.ts +871 -0
  324. package/src/xml/XMLParser.ts +919 -0
  325. package/src/zip/CLAUDE.md +55 -0
  326. package/src/zip/ZipHandler.ts +637 -0
  327. package/src/zip/ZipReader.ts +299 -0
  328. package/src/zip/ZipWriter.ts +390 -0
  329. package/src/zip/errors.ts +69 -0
  330. package/src/zip/types.ts +116 -0
  331. package/dist/core/ListNormalizer.d.ts +0 -23
  332. package/dist/core/ListNormalizer.d.ts.map +0 -1
  333. package/dist/core/ListNormalizer.js +0 -624
  334. package/dist/core/ListNormalizer.js.map +0 -1
  335. package/dist/images/index.d.ts +0 -2
  336. package/dist/images/index.d.ts.map +0 -1
  337. package/dist/images/index.js +0 -8
  338. package/dist/images/index.js.map +0 -1
  339. package/dist/ms-doc/cfb/CFBReader.d.ts +0 -35
  340. package/dist/ms-doc/cfb/CFBReader.d.ts.map +0 -1
  341. package/dist/ms-doc/cfb/CFBReader.js +0 -360
  342. package/dist/ms-doc/cfb/CFBReader.js.map +0 -1
  343. package/dist/ms-doc/converter/DocToDocxConverter.d.ts +0 -55
  344. package/dist/ms-doc/converter/DocToDocxConverter.d.ts.map +0 -1
  345. package/dist/ms-doc/converter/DocToDocxConverter.js +0 -324
  346. package/dist/ms-doc/converter/DocToDocxConverter.js.map +0 -1
  347. package/dist/ms-doc/fib/FIB.d.ts +0 -18
  348. package/dist/ms-doc/fib/FIB.d.ts.map +0 -1
  349. package/dist/ms-doc/fib/FIB.js +0 -342
  350. package/dist/ms-doc/fib/FIB.js.map +0 -1
  351. package/dist/ms-doc/fields/FieldParser.d.ts +0 -31
  352. package/dist/ms-doc/fields/FieldParser.d.ts.map +0 -1
  353. package/dist/ms-doc/fields/FieldParser.js +0 -266
  354. package/dist/ms-doc/fields/FieldParser.js.map +0 -1
  355. package/dist/ms-doc/images/PictureExtractor.d.ts +0 -22
  356. package/dist/ms-doc/images/PictureExtractor.d.ts.map +0 -1
  357. package/dist/ms-doc/images/PictureExtractor.js +0 -233
  358. package/dist/ms-doc/images/PictureExtractor.js.map +0 -1
  359. package/dist/ms-doc/index.d.ts +0 -20
  360. package/dist/ms-doc/index.d.ts.map +0 -1
  361. package/dist/ms-doc/index.js +0 -59
  362. package/dist/ms-doc/index.js.map +0 -1
  363. package/dist/ms-doc/properties/SPRM.d.ts +0 -210
  364. package/dist/ms-doc/properties/SPRM.d.ts.map +0 -1
  365. package/dist/ms-doc/properties/SPRM.js +0 -633
  366. package/dist/ms-doc/properties/SPRM.js.map +0 -1
  367. package/dist/ms-doc/sections/SectionParser.d.ts +0 -25
  368. package/dist/ms-doc/sections/SectionParser.d.ts.map +0 -1
  369. package/dist/ms-doc/sections/SectionParser.js +0 -214
  370. package/dist/ms-doc/sections/SectionParser.js.map +0 -1
  371. package/dist/ms-doc/styles/StyleSheet.d.ts +0 -23
  372. package/dist/ms-doc/styles/StyleSheet.d.ts.map +0 -1
  373. package/dist/ms-doc/styles/StyleSheet.js +0 -268
  374. package/dist/ms-doc/styles/StyleSheet.js.map +0 -1
  375. package/dist/ms-doc/subdocuments/SubdocumentParser.d.ts +0 -61
  376. package/dist/ms-doc/subdocuments/SubdocumentParser.d.ts.map +0 -1
  377. package/dist/ms-doc/subdocuments/SubdocumentParser.js +0 -208
  378. package/dist/ms-doc/subdocuments/SubdocumentParser.js.map +0 -1
  379. package/dist/ms-doc/tables/TableParser.d.ts +0 -29
  380. package/dist/ms-doc/tables/TableParser.d.ts.map +0 -1
  381. package/dist/ms-doc/tables/TableParser.js +0 -176
  382. package/dist/ms-doc/tables/TableParser.js.map +0 -1
  383. package/dist/ms-doc/text/PieceTable.d.ts +0 -21
  384. package/dist/ms-doc/text/PieceTable.d.ts.map +0 -1
  385. package/dist/ms-doc/text/PieceTable.js +0 -171
  386. package/dist/ms-doc/text/PieceTable.js.map +0 -1
  387. package/dist/ms-doc/types/Constants.d.ts +0 -99
  388. package/dist/ms-doc/types/Constants.d.ts.map +0 -1
  389. package/dist/ms-doc/types/Constants.js +0 -102
  390. package/dist/ms-doc/types/Constants.js.map +0 -1
  391. package/dist/ms-doc/types/DocTypes.d.ts +0 -368
  392. package/dist/ms-doc/types/DocTypes.d.ts.map +0 -1
  393. package/dist/ms-doc/types/DocTypes.js +0 -3
  394. package/dist/ms-doc/types/DocTypes.js.map +0 -1
  395. package/dist/tracking/index.d.ts +0 -3
  396. package/dist/tracking/index.d.ts.map +0 -1
  397. package/dist/tracking/index.js +0 -6
  398. package/dist/tracking/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractNumbering.d.ts","sourceRoot":"","sources":["../../src/formatting/AbstractNumbering.ts"],"names":[],"mappings":"AAQA,OAAO,EAAc,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAMlD,MAAM,WAAW,2BAA2B;IAE1C,aAAa,EAAE,MAAM,CAAC;IAGtB,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAG1B,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAQD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,IAAI,CAAC,CAAS;IACtB,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,SAAS,CAAC,CAAS;gBAOf,SAAS,EAAE,MAAM,GAAG,2BAA2B,EAAE,IAAI,CAAC,EAAE,MAAM;IAgC1E,OAAO,CAAC,QAAQ;IAahB,gBAAgB,IAAI,MAAM;IAO1B,KAAK,IAAI,MAAM;IAOf,OAAO,IAAI,MAAM,GAAG,SAAS;IAQ7B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQ3B,iBAAiB,IAAI,MAAM;IAc3B,iBAAiB,CACf,IAAI,EAAE,YAAY,GAAG,aAAa,GAAG,kBAAkB,GACtD,IAAI;IAcP,eAAe,IAAI,MAAM,GAAG,SAAS;IAQrC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAQ/C,YAAY,IAAI,MAAM,GAAG,SAAS;IAQlC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAS5C,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAerC,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI;IASzC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAOxD,YAAY,IAAI,cAAc,EAAE;IAShC,SAAS,IAAI,cAAc,EAAE;IAO7B,aAAa,IAAI,MAAM;IAQvB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAQrC,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAOxC,KAAK,IAAI,UAAU;IAyEnB,MAAM,CAAC,gBAAgB,CACrB,aAAa,EAAE,MAAM,EACrB,MAAM,GAAE,MAAU,EAClB,OAAO,CAAC,EAAE,MAAM,EAAE,GACjB,iBAAiB;IA2BpB,MAAM,CAAC,kBAAkB,CACvB,aAAa,EAAE,MAAM,EACrB,MAAM,GAAE,MAAU,EAClB,OAAO,GAAE,KAAK,CACZ,SAAS,GAAG,aAAa,GAAG,YAAY,GAAG,aAAa,GAAG,YAAY,CACA,GACxE,iBAAiB;IAyCpB,MAAM,CAAC,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,iBAAiB;IA0BrE,MAAM,CAAC,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,iBAAiB;IAyClE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,2BAA2B,GAAG,iBAAiB;IASzE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB;CA8D/C"}
1
+ {"version":3,"file":"AbstractNumbering.d.ts","sourceRoot":"","sources":["../../src/formatting/AbstractNumbering.ts"],"names":[],"mappings":"AAQA,OAAO,EAAc,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAMlD,MAAM,WAAW,2BAA2B;IAE1C,aAAa,EAAE,MAAM,CAAC;IAGtB,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAG1B,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAQD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,IAAI,CAAC,CAAS;IACtB,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,SAAS,CAAC,CAAS;gBAOf,SAAS,EAAE,MAAM,GAAG,2BAA2B,EAAE,IAAI,CAAC,EAAE,MAAM;IAgC1E,OAAO,CAAC,QAAQ;IAahB,gBAAgB,IAAI,MAAM;IAO1B,KAAK,IAAI,MAAM;IAOf,OAAO,IAAI,MAAM,GAAG,SAAS;IAQ7B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQ3B,iBAAiB,IAAI,MAAM;IAc3B,iBAAiB,CACf,IAAI,EAAE,YAAY,GAAG,aAAa,GAAG,kBAAkB,GACtD,IAAI;IAcP,eAAe,IAAI,MAAM,GAAG,SAAS;IAQrC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAQ/C,YAAY,IAAI,MAAM,GAAG,SAAS;IAQlC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAS5C,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAerC,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI;IASzC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAOxD,YAAY,IAAI,cAAc,EAAE;IAShC,SAAS,IAAI,cAAc,EAAE;IAO7B,aAAa,IAAI,MAAM;IAQvB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAQrC,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAOxC,KAAK,IAAI,UAAU;IA2EnB,MAAM,CAAC,gBAAgB,CACrB,aAAa,EAAE,MAAM,EACrB,MAAM,SAAI,EACV,OAAO,CAAC,EAAE,MAAM,EAAE,GACjB,iBAAiB;IA2BpB,MAAM,CAAC,kBAAkB,CACvB,aAAa,EAAE,MAAM,EACrB,MAAM,SAAI,EACV,OAAO,GAAE,CAAC,SAAS,GAAG,aAAa,GAAG,YAAY,GAAG,aAAa,GAAG,YAAY,CAAC,EAA0E,GAC3J,iBAAiB;IAyCpB,MAAM,CAAC,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,iBAAiB;IA0BrE,MAAM,CAAC,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,iBAAiB;IAyClE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,2BAA2B,GAAG,iBAAiB;IASzE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB;CA0D/C"}
@@ -125,9 +125,6 @@ class AbstractNumbering {
125
125
  }
126
126
  toXML() {
127
127
  const children = [];
128
- if (this.name) {
129
- children.push(XMLBuilder_1.XMLBuilder.wSelf("name", { "w:val": this.name }));
130
- }
131
128
  let multiLevelTypeValue;
132
129
  if (this.multiLevelType === 1) {
133
130
  multiLevelTypeValue = "multilevel";
@@ -141,6 +138,9 @@ class AbstractNumbering {
141
138
  children.push(XMLBuilder_1.XMLBuilder.wSelf("multiLevelType", {
142
139
  "w:val": multiLevelTypeValue,
143
140
  }));
141
+ if (this.name) {
142
+ children.push(XMLBuilder_1.XMLBuilder.wSelf("name", { "w:val": this.name }));
143
+ }
144
144
  if (this.styleLink) {
145
145
  children.push(XMLBuilder_1.XMLBuilder.wSelf("styleLink", { "w:val": this.styleLink }));
146
146
  }
@@ -238,16 +238,16 @@ class AbstractNumbering {
238
238
  return new AbstractNumbering(properties);
239
239
  }
240
240
  static fromXML(xml) {
241
- const abstractNumIdMatch = xml.match(/<w:abstractNum[^>]*w:abstractNumId="([^"]+)"/);
242
- if (!abstractNumIdMatch || !abstractNumIdMatch[1]) {
241
+ const abstractNumIdMatch = /<w:abstractNum[^>]*w:abstractNumId="([^"]+)"/.exec(xml);
242
+ if (!abstractNumIdMatch?.[1]) {
243
243
  throw new Error("Missing required w:abstractNumId attribute");
244
244
  }
245
245
  const abstractNumId = parseInt(abstractNumIdMatch[1], 10);
246
- const nameMatch = xml.match(/<w:name[^>]*w:val="([^"]+)"/);
247
- const name = nameMatch && nameMatch[1] ? nameMatch[1] : undefined;
248
- const multiLevelTypeMatch = xml.match(/<w:multiLevelType[^>]*w:val="([^"]+)"/);
246
+ const nameMatch = /<w:name[^>]*w:val="([^"]+)"/.exec(xml);
247
+ const name = nameMatch?.[1] ? nameMatch[1] : undefined;
248
+ const multiLevelTypeMatch = /<w:multiLevelType[^>]*w:val="([^"]+)"/.exec(xml);
249
249
  let multiLevelType = 1;
250
- if (multiLevelTypeMatch && multiLevelTypeMatch[1]) {
250
+ if (multiLevelTypeMatch?.[1]) {
251
251
  const value = multiLevelTypeMatch[1];
252
252
  if (value === "singleLevel")
253
253
  multiLevelType = 0;
@@ -256,9 +256,9 @@ class AbstractNumbering {
256
256
  else if (value === "hybridMultilevel")
257
257
  multiLevelType = 2;
258
258
  }
259
- const numStyleLinkMatch = xml.match(/<w:numStyleLink[^>]*w:val="([^"]+)"/);
259
+ const numStyleLinkMatch = /<w:numStyleLink[^>]*w:val="([^"]+)"/.exec(xml);
260
260
  const numStyleLink = numStyleLinkMatch?.[1] || undefined;
261
- const styleLinkMatch = xml.match(/<w:styleLink[^>]*w:val="([^"]+)"/);
261
+ const styleLinkMatch = /<w:styleLink[^>]*w:val="([^"]+)"/.exec(xml);
262
262
  const styleLink = styleLinkMatch?.[1] || undefined;
263
263
  const abstractNum = new AbstractNumbering({
264
264
  abstractNumId,
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractNumbering.js","sourceRoot":"","sources":["../../src/formatting/AbstractNumbering.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractNumbering.js","sourceRoot":"","sources":["../../src/formatting/AbstractNumbering.ts"],"names":[],"mappings":"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","sourcesContent":["/**\r\n * AbstractNumbering - Defines a multi-level numbering scheme\r\n *\r\n * An abstract numbering definition is a template that defines up to 9 levels of\r\n * list formatting. It's referenced by numbering instances which link it to actual\r\n * paragraphs in the document.\r\n */\r\n\r\nimport { XMLBuilder, XMLElement } from \"../xml/XMLBuilder\";\r\nimport { NumberingLevel } from \"./NumberingLevel\";\r\nimport { defaultLogger } from \"../utils/logger\";\r\n\r\n/**\r\n * Properties for creating an abstract numbering definition\r\n */\r\nexport interface AbstractNumberingProperties {\r\n /** Unique identifier for this abstract numbering */\r\n abstractNumId: number;\r\n\r\n /** Optional name for the numbering scheme */\r\n name?: string;\r\n\r\n /** The numbering levels (up to 9 levels, 0-8) */\r\n levels?: NumberingLevel[];\r\n\r\n /** Optional multiLevel type (0 = single level, 1 = multilevel) */\r\n multiLevelType?: number;\r\n\r\n /** Optional link to a numbering style definition (ECMA-376 §17.9.21) */\r\n numStyleLink?: string;\r\n\r\n /** Optional link to a style that uses this abstract numbering (ECMA-376 §17.9.27) */\r\n styleLink?: string;\r\n}\r\n\r\n/**\r\n * Represents an abstract numbering definition\r\n *\r\n * Abstract numbering defines the template for a multi-level list. Each instance\r\n * of a list in the document references an abstract numbering definition.\r\n */\r\nexport class AbstractNumbering {\r\n private abstractNumId: number;\r\n private name?: string;\r\n private levels: Map<number, NumberingLevel>;\r\n private multiLevelType: number;\r\n private numStyleLink?: string;\r\n private styleLink?: string;\r\n\r\n /**\r\n * Creates a new abstract numbering definition\r\n * @param idOrProps The abstract numbering ID (number) or properties object\r\n * @param name Optional name (if first param is a number)\r\n */\r\n constructor(idOrProps: number | AbstractNumberingProperties, name?: string) {\r\n // Support both simple (numId) and object constructor patterns\r\n if (typeof idOrProps === \"number\") {\r\n // Simple constructor: new AbstractNumbering(id)\r\n this.abstractNumId = idOrProps;\r\n this.name = name;\r\n this.levels = new Map();\r\n this.multiLevelType = 1; // default multilevel\r\n } else {\r\n // Object constructor: new AbstractNumbering({ abstractNumId, ... })\r\n const properties = idOrProps;\r\n this.abstractNumId = properties.abstractNumId;\r\n this.name = properties.name;\r\n this.levels = new Map();\r\n this.multiLevelType =\r\n properties.multiLevelType !== undefined ? properties.multiLevelType : 1;\r\n this.numStyleLink = properties.numStyleLink;\r\n this.styleLink = properties.styleLink;\r\n\r\n if (properties.levels) {\r\n properties.levels.forEach((level) => {\r\n this.addLevel(level);\r\n });\r\n }\r\n }\r\n\r\n this.validate();\r\n }\r\n\r\n /**\r\n * Validates the abstract numbering\r\n */\r\n private validate(): void {\r\n if (this.abstractNumId < 0) {\r\n throw new Error(\"Abstract numbering ID must be non-negative\");\r\n }\r\n\r\n if (this.levels.size > 9) {\r\n throw new Error(\"Cannot have more than 9 levels (0-8)\");\r\n }\r\n }\r\n\r\n /**\r\n * Gets the abstract numbering ID\r\n */\r\n getAbstractNumId(): number {\r\n return this.abstractNumId;\r\n }\r\n\r\n /**\r\n * Alias for getAbstractNumId for backward compatibility\r\n */\r\n getId(): number {\r\n return this.abstractNumId;\r\n }\r\n\r\n /**\r\n * Gets the name\r\n */\r\n getName(): string | undefined {\r\n return this.name;\r\n }\r\n\r\n /**\r\n * Sets the name\r\n * @param name The numbering scheme name\r\n */\r\n setName(name: string): this {\r\n this.name = name;\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets the multi-level type\r\n */\r\n getMultiLevelType(): string {\r\n if (this.multiLevelType === 1) {\r\n return \"multilevel\";\r\n } else if (this.multiLevelType === 2) {\r\n return \"hybridMultilevel\";\r\n } else {\r\n return \"singleLevel\";\r\n }\r\n }\r\n\r\n /**\r\n * Sets the multi-level type\r\n * @param type The multi-level type ('multilevel' or 'singleLevel')\r\n */\r\n setMultiLevelType(\r\n type: \"multilevel\" | \"singleLevel\" | \"hybridMultilevel\"\r\n ): this {\r\n if (type === \"multilevel\") {\r\n this.multiLevelType = 1;\r\n } else if (type === \"hybridMultilevel\") {\r\n this.multiLevelType = 2;\r\n } else {\r\n this.multiLevelType = 0;\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets the numStyleLink (reference to a numbering style definition)\r\n */\r\n getNumStyleLink(): string | undefined {\r\n return this.numStyleLink;\r\n }\r\n\r\n /**\r\n * Sets the numStyleLink\r\n * @param link The numbering style name\r\n */\r\n setNumStyleLink(link: string | undefined): this {\r\n this.numStyleLink = link;\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets the styleLink (reference to a style that uses this abstract numbering)\r\n */\r\n getStyleLink(): string | undefined {\r\n return this.styleLink;\r\n }\r\n\r\n /**\r\n * Sets the styleLink\r\n * @param link The style name\r\n */\r\n setStyleLink(link: string | undefined): this {\r\n this.styleLink = link;\r\n return this;\r\n }\r\n\r\n /**\r\n * Adds a numbering level\r\n * @param level The numbering level to add\r\n */\r\n addLevel(level: NumberingLevel): this {\r\n const levelIndex = level.getLevel();\r\n\r\n if (levelIndex < 0 || levelIndex > 8) {\r\n throw new Error(`Level must be between 0 and 8, got ${levelIndex}`);\r\n }\r\n\r\n this.levels.set(levelIndex, level);\r\n return this;\r\n }\r\n\r\n /**\r\n * Adds multiple numbering levels at once\r\n * @param levels The numbering levels to add\r\n */\r\n addLevels(levels: NumberingLevel[]): this {\r\n levels.forEach((level) => this.addLevel(level));\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets a numbering level by index\r\n * @param levelIndex The level index (0-8)\r\n */\r\n getLevel(levelIndex: number): NumberingLevel | undefined {\r\n return this.levels.get(levelIndex);\r\n }\r\n\r\n /**\r\n * Gets all levels\r\n */\r\n getAllLevels(): NumberingLevel[] {\r\n return Array.from(this.levels.values()).sort(\r\n (a, b) => a.getLevel() - b.getLevel()\r\n );\r\n }\r\n\r\n /**\r\n * Alias for getAllLevels for backward compatibility\r\n */\r\n getLevels(): NumberingLevel[] {\r\n return this.getAllLevels();\r\n }\r\n\r\n /**\r\n * Gets the number of levels defined\r\n */\r\n getLevelCount(): number {\r\n return this.levels.size;\r\n }\r\n\r\n /**\r\n * Checks if a level exists\r\n * @param levelIndex The level index (0-8)\r\n */\r\n hasLevel(levelIndex: number): boolean {\r\n return this.levels.has(levelIndex);\r\n }\r\n\r\n /**\r\n * Removes a level\r\n * @param levelIndex The level index (0-8)\r\n */\r\n removeLevel(levelIndex: number): boolean {\r\n return this.levels.delete(levelIndex);\r\n }\r\n\r\n /**\r\n * Generates the WordprocessingML XML for this abstract numbering\r\n */\r\n toXML(): XMLElement {\r\n const children: XMLElement[] = [];\r\n\r\n // CT_AbstractNum order per ECMA-376: nsid → multiLevelType → tmpl → name → styleLink → numStyleLink → lvl*\r\n\r\n // Add multiLevelType\r\n let multiLevelTypeValue: string;\r\n if (this.multiLevelType === 1) {\r\n multiLevelTypeValue = \"multilevel\";\r\n } else if (this.multiLevelType === 2) {\r\n multiLevelTypeValue = \"hybridMultilevel\";\r\n } else {\r\n multiLevelTypeValue = \"singleLevel\";\r\n }\r\n\r\n children.push(\r\n XMLBuilder.wSelf(\"multiLevelType\", {\r\n \"w:val\": multiLevelTypeValue,\r\n })\r\n );\r\n\r\n // Add name if present\r\n if (this.name) {\r\n children.push(XMLBuilder.wSelf(\"name\", { \"w:val\": this.name }));\r\n }\r\n\r\n // Add styleLink / numStyleLink if present\r\n if (this.styleLink) {\r\n children.push(XMLBuilder.wSelf(\"styleLink\", { \"w:val\": this.styleLink }));\r\n }\r\n if (this.numStyleLink) {\r\n children.push(XMLBuilder.wSelf(\"numStyleLink\", { \"w:val\": this.numStyleLink }));\r\n }\r\n\r\n // Add all levels in order\r\n const sortedLevels = this.getAllLevels();\r\n sortedLevels.forEach((level) => {\r\n children.push(level.toXML());\r\n });\r\n\r\n // If no levels defined, add a default level 0\r\n if (sortedLevels.length === 0) {\r\n children.push(NumberingLevel.createDecimalLevel(0).toXML());\r\n }\r\n\r\n return XMLBuilder.w(\r\n \"abstractNum\",\r\n { \"w:abstractNumId\": this.abstractNumId.toString() },\r\n children\r\n );\r\n }\r\n\r\n /**\r\n * Creates a bullet list abstract numbering with specified levels\r\n *\r\n * Uses Calibri font for better UI compatibility. For advanced bullet symbol selection,\r\n * use NumberingLevel.getBulletSymbolWithFont() to get recommended symbol/font pairs.\r\n *\r\n * @param abstractNumId The abstract numbering ID\r\n * @param levels Number of levels (default: 9)\r\n * @param bullets Array of bullet characters (default: ['•', '○', '▪'])\r\n *\r\n * @example\r\n * // Standard bullet list\r\n * const bulletList = AbstractNumbering.createBulletList(1);\r\n *\r\n * @example\r\n * // Custom bullets using helper method\r\n * const bullets = [];\r\n * for (let i = 0; i < 9; i++) {\r\n * const { symbol } = NumberingLevel.getBulletSymbolWithFont(i, 'square');\r\n * bullets.push(symbol);\r\n * }\r\n * const squareList = AbstractNumbering.createBulletList(2, 9, bullets);\r\n */\r\n static createBulletList(\r\n abstractNumId: number,\r\n levels = 9,\r\n bullets?: string[] // Optional: custom bullets. If not provided, uses Word-native encoding\r\n ): AbstractNumbering {\r\n const abstractNum = new AbstractNumbering({\r\n abstractNumId,\r\n name: \"Bullet List\",\r\n multiLevelType: 1,\r\n });\r\n\r\n for (let i = 0; i < levels && i < 9; i++) {\r\n if (bullets && bullets.length > 0) {\r\n // Custom bullets provided - use them with default font\r\n const bullet = bullets[i % bullets.length] || \"•\";\r\n abstractNum.addLevel(NumberingLevel.createBulletLevel(i, bullet));\r\n } else {\r\n // No custom bullets - use Word-native encoding (correct font per level)\r\n abstractNum.addLevel(NumberingLevel.createBulletLevel(i));\r\n }\r\n }\r\n\r\n return abstractNum;\r\n }\r\n\r\n /**\r\n * Creates a numbered list abstract numbering with specified levels\r\n * @param abstractNumId The abstract numbering ID\r\n * @param levels Number of levels (default: 9)\r\n * @param formats Array of formats for each level\r\n */\r\n static createNumberedList(\r\n abstractNumId: number,\r\n levels = 9,\r\n formats: (\"decimal\" | \"lowerLetter\" | \"lowerRoman\" | \"upperLetter\" | \"upperRoman\")[] = [\"decimal\", \"lowerLetter\", \"lowerRoman\", \"upperLetter\", \"upperRoman\"]\r\n ): AbstractNumbering {\r\n const abstractNum = new AbstractNumbering({\r\n abstractNumId,\r\n name: \"Numbered List\",\r\n multiLevelType: 1,\r\n });\r\n\r\n for (let i = 0; i < levels && i < 9; i++) {\r\n const format = formats[i % formats.length] || \"decimal\";\r\n const template = `%${i + 1}.`;\r\n\r\n let level: NumberingLevel;\r\n switch (format) {\r\n case \"lowerLetter\":\r\n level = NumberingLevel.createLowerLetterLevel(i, template);\r\n break;\r\n case \"lowerRoman\":\r\n level = NumberingLevel.createLowerRomanLevel(i, template);\r\n break;\r\n case \"upperLetter\":\r\n level = NumberingLevel.createUpperLetterLevel(i, template);\r\n break;\r\n case \"upperRoman\":\r\n level = NumberingLevel.createUpperRomanLevel(i, template);\r\n break;\r\n case \"decimal\":\r\n default:\r\n level = NumberingLevel.createDecimalLevel(i, template);\r\n break;\r\n }\r\n\r\n abstractNum.addLevel(level);\r\n }\r\n\r\n return abstractNum;\r\n }\r\n\r\n /**\r\n * Creates a multi-level list with mixed formats\r\n * @param abstractNumId The abstract numbering ID\r\n */\r\n static createMultiLevelList(abstractNumId: number): AbstractNumbering {\r\n const abstractNum = new AbstractNumbering({\r\n abstractNumId,\r\n name: \"Multi-Level List\",\r\n multiLevelType: 1,\r\n });\r\n\r\n // Level 0: 1, 2, 3, ...\r\n abstractNum.addLevel(NumberingLevel.createDecimalLevel(0, \"%1.\"));\r\n\r\n // Level 1: a, b, c, ...\r\n abstractNum.addLevel(NumberingLevel.createLowerLetterLevel(1, \"%2.\"));\r\n\r\n // Level 2: i, ii, iii, ...\r\n abstractNum.addLevel(NumberingLevel.createLowerRomanLevel(2, \"%3.\"));\r\n\r\n // Level 3: 1, 2, 3, ... (with more indent)\r\n abstractNum.addLevel(NumberingLevel.createDecimalLevel(3, \"%4.\"));\r\n\r\n return abstractNum;\r\n }\r\n\r\n /**\r\n * Creates an outline list abstract numbering\r\n * @param abstractNumId The abstract numbering ID\r\n */\r\n static createOutlineList(abstractNumId: number): AbstractNumbering {\r\n const abstractNum = new AbstractNumbering({\r\n abstractNumId,\r\n name: \"Outline List\",\r\n multiLevelType: 1,\r\n });\r\n\r\n // Level 0: I, II, III, ...\r\n abstractNum.addLevel(NumberingLevel.createUpperRomanLevel(0, \"%1.\"));\r\n\r\n // Level 1: A, B, C, ...\r\n abstractNum.addLevel(NumberingLevel.createUpperLetterLevel(1, \"%2.\"));\r\n\r\n // Level 2: 1, 2, 3, ...\r\n abstractNum.addLevel(NumberingLevel.createDecimalLevel(2, \"%3.\"));\r\n\r\n // Level 3: a, b, c, ...\r\n abstractNum.addLevel(NumberingLevel.createLowerLetterLevel(3, \"%4.\"));\r\n\r\n // Level 4: i, ii, iii, ...\r\n abstractNum.addLevel(NumberingLevel.createLowerRomanLevel(4, \"%5.\"));\r\n\r\n // Level 5: A, B, C, ... (repeating)\r\n abstractNum.addLevel(NumberingLevel.createUpperLetterLevel(5, \"%6.\"));\r\n\r\n // Level 6: 1, 2, 3, ... (repeating)\r\n abstractNum.addLevel(NumberingLevel.createDecimalLevel(6, \"%7.\"));\r\n\r\n // Level 7: a, b, c, ... (repeating)\r\n abstractNum.addLevel(NumberingLevel.createLowerLetterLevel(7, \"%8.\"));\r\n\r\n // Level 8: i, ii, iii, ... (repeating)\r\n abstractNum.addLevel(NumberingLevel.createLowerRomanLevel(8, \"%9.\"));\r\n\r\n return abstractNum;\r\n }\r\n\r\n /**\r\n * Factory method for creating an abstract numbering definition\r\n * @param properties The abstract numbering properties\r\n */\r\n static create(properties: AbstractNumberingProperties): AbstractNumbering {\r\n return new AbstractNumbering(properties);\r\n }\r\n\r\n /**\r\n * Creates an AbstractNumbering from XML element\r\n * @param xml The XML string of the <w:abstractNum> element\r\n * @returns AbstractNumbering instance\r\n */\r\n static fromXML(xml: string): AbstractNumbering {\r\n // Extract abstractNumId (required)\r\n const abstractNumIdMatch = /<w:abstractNum[^>]*w:abstractNumId=\"([^\"]+)\"/.exec(xml);\r\n if (!abstractNumIdMatch?.[1]) {\r\n throw new Error(\"Missing required w:abstractNumId attribute\");\r\n }\r\n const abstractNumId = parseInt(abstractNumIdMatch[1], 10);\r\n\r\n // Extract name (optional)\r\n const nameMatch = /<w:name[^>]*w:val=\"([^\"]+)\"/.exec(xml);\r\n const name = nameMatch?.[1] ? nameMatch[1] : undefined;\r\n\r\n // Extract multiLevelType (optional)\r\n // Values: \"singleLevel\" = 0, \"multilevel\" = 1, \"hybridMultilevel\" = 2\r\n const multiLevelTypeMatch = /<w:multiLevelType[^>]*w:val=\"([^\"]+)\"/.exec(xml);\r\n let multiLevelType = 1; // default to multilevel\r\n if (multiLevelTypeMatch?.[1]) {\r\n const value = multiLevelTypeMatch[1];\r\n if (value === \"singleLevel\") multiLevelType = 0;\r\n else if (value === \"multilevel\") multiLevelType = 1;\r\n else if (value === \"hybridMultilevel\") multiLevelType = 2;\r\n }\r\n\r\n // Extract numStyleLink (optional, ECMA-376 §17.9.21)\r\n const numStyleLinkMatch = /<w:numStyleLink[^>]*w:val=\"([^\"]+)\"/.exec(xml);\r\n const numStyleLink = numStyleLinkMatch?.[1] || undefined;\r\n\r\n // Extract styleLink (optional, ECMA-376 §17.9.27)\r\n const styleLinkMatch = /<w:styleLink[^>]*w:val=\"([^\"]+)\"/.exec(xml);\r\n const styleLink = styleLinkMatch?.[1] || undefined;\r\n\r\n // Create abstract numbering\r\n const abstractNum = new AbstractNumbering({\r\n abstractNumId,\r\n name,\r\n multiLevelType,\r\n numStyleLink,\r\n styleLink,\r\n });\r\n\r\n // Extract and parse all levels\r\n const lvlRegex = /<w:lvl[^>]*>[\\s\\S]*?<\\/w:lvl>/g;\r\n const lvlMatches = xml.match(lvlRegex);\r\n\r\n if (lvlMatches) {\r\n for (const lvlXml of lvlMatches) {\r\n try {\r\n const level = NumberingLevel.fromXML(lvlXml);\r\n abstractNum.addLevel(level);\r\n } catch (error: unknown) {\r\n // Skip malformed levels but continue parsing\r\n defaultLogger.warn(`Failed to parse level: ${error}`);\r\n }\r\n }\r\n }\r\n\r\n return abstractNum;\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"NumberingInstance.d.ts","sourceRoot":"","sources":["../../src/formatting/NumberingInstance.ts"],"names":[],"mappings":"AAQA,OAAO,EAAc,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAK3D,MAAM,WAAW,2BAA2B;IAE1C,KAAK,EAAE,MAAM,CAAC;IAGd,aAAa,EAAE,MAAM,CAAC;CACvB;AAQD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,cAAc,CAAkC;gBAO5C,YAAY,EAAE,MAAM,GAAG,2BAA2B,EAAE,aAAa,CAAC,EAAE,MAAM;IAiBtF,OAAO,CAAC,QAAQ;IAahB,QAAQ,IAAI,MAAM;IAOlB,gBAAgB,IAAI,MAAM;IAQ1B,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAW7C,KAAK,IAAI,MAAM;IAQf,iBAAiB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAYxC,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAkBzD,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAWvC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAOnD,KAAK,IAAI,UAAU;IA2BnB,MAAM,CAAC,MAAM,CACX,iBAAiB,EAAE,2BAA2B,GAAG,MAAM,EACvD,aAAa,CAAC,EAAE,MAAM,GACrB,iBAAiB;IAYpB,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB;CAoB/C"}
1
+ {"version":3,"file":"NumberingInstance.d.ts","sourceRoot":"","sources":["../../src/formatting/NumberingInstance.ts"],"names":[],"mappings":"AAQA,OAAO,EAAc,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAK3D,MAAM,WAAW,2BAA2B;IAE1C,KAAK,EAAE,MAAM,CAAC;IAGd,aAAa,EAAE,MAAM,CAAC;CACvB;AAQD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,cAAc,CAA6B;gBAOvC,YAAY,EAAE,MAAM,GAAG,2BAA2B,EAAE,aAAa,CAAC,EAAE,MAAM;IAiBtF,OAAO,CAAC,QAAQ;IAahB,QAAQ,IAAI,MAAM;IAOlB,gBAAgB,IAAI,MAAM;IAQ1B,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAW7C,KAAK,IAAI,MAAM;IAQf,iBAAiB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAYxC,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAkBzD,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAWvC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAOnD,KAAK,IAAI,UAAU;IA2BnB,MAAM,CAAC,MAAM,CACX,iBAAiB,EAAE,2BAA2B,GAAG,MAAM,EACvD,aAAa,CAAC,EAAE,MAAM,GACrB,iBAAiB;IAYpB,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB;CAoB/C"}
@@ -82,13 +82,13 @@ class NumberingInstance {
82
82
  return new NumberingInstance(propertiesOrNumId);
83
83
  }
84
84
  static fromXML(xml) {
85
- const numIdMatch = xml.match(/<w:num[^>]*w:numId="([^"]+)"/);
86
- if (!numIdMatch || !numIdMatch[1]) {
85
+ const numIdMatch = /<w:num[^>]*w:numId="([^"]+)"/.exec(xml);
86
+ if (!numIdMatch?.[1]) {
87
87
  throw new Error('Missing required w:numId attribute');
88
88
  }
89
89
  const numId = parseInt(numIdMatch[1], 10);
90
- const abstractNumIdMatch = xml.match(/<w:abstractNumId[^>]*w:val="([^"]+)"/);
91
- if (!abstractNumIdMatch || !abstractNumIdMatch[1]) {
90
+ const abstractNumIdMatch = /<w:abstractNumId[^>]*w:val="([^"]+)"/.exec(xml);
91
+ if (!abstractNumIdMatch?.[1]) {
92
92
  throw new Error('Missing required w:abstractNumId element');
93
93
  }
94
94
  const abstractNumId = parseInt(abstractNumIdMatch[1], 10);
@@ -1 +1 @@
1
- {"version":3,"file":"NumberingInstance.js","sourceRoot":"","sources":["../../src/formatting/NumberingInstance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NumberingInstance.js","sourceRoot":"","sources":["../../src/formatting/NumberingInstance.ts"],"names":[],"mappings":"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","sourcesContent":["/**\r\n * NumberingInstance - Links paragraphs to abstract numbering definitions\r\n *\r\n * A numbering instance references an abstract numbering definition and provides\r\n * the actual numId that paragraphs use. Multiple instances can reference the same\r\n * abstract numbering, creating separate list sequences.\r\n */\r\n\r\nimport { XMLBuilder, XMLElement } from '../xml/XMLBuilder';\r\n\r\n/**\r\n * Properties for creating a numbering instance\r\n */\r\nexport interface NumberingInstanceProperties {\r\n /** Unique numbering instance ID (numId) */\r\n numId: number;\r\n\r\n /** Reference to the abstract numbering definition */\r\n abstractNumId: number;\r\n}\r\n\r\n/**\r\n * Represents a numbering instance\r\n *\r\n * Numbering instances link paragraphs to abstract numbering definitions.\r\n * Each instance creates a separate numbering sequence in the document.\r\n */\r\nexport class NumberingInstance {\r\n private numId: number;\r\n private abstractNumId: number;\r\n private levelOverrides = new Map<number, number>();\r\n\r\n /**\r\n * Creates a new numbering instance\r\n * @param numIdOrProps The numbering instance ID or properties object\r\n * @param abstractNumId The abstract numbering ID (if first param is a number)\r\n */\r\n constructor(numIdOrProps: number | NumberingInstanceProperties, abstractNumId?: number) {\r\n if (typeof numIdOrProps === 'number') {\r\n // Support simple constructor: new NumberingInstance(numId, abstractNumId)\r\n this.numId = numIdOrProps;\r\n this.abstractNumId = abstractNumId ?? 0;\r\n } else {\r\n // Support object constructor: new NumberingInstance({ numId, abstractNumId })\r\n this.numId = numIdOrProps.numId;\r\n this.abstractNumId = numIdOrProps.abstractNumId;\r\n }\r\n\r\n this.validate();\r\n }\r\n\r\n /**\r\n * Validates the numbering instance\r\n */\r\n private validate(): void {\r\n if (this.numId < 0) {\r\n throw new Error('Numbering instance ID must be non-negative');\r\n }\r\n\r\n if (this.abstractNumId < 0) {\r\n throw new Error('Abstract numbering ID must be non-negative');\r\n }\r\n }\r\n\r\n /**\r\n * Gets the numbering instance ID\r\n */\r\n getNumId(): number {\r\n return this.numId;\r\n }\r\n\r\n /**\r\n * Gets the abstract numbering ID\r\n */\r\n getAbstractNumId(): number {\r\n return this.abstractNumId;\r\n }\r\n\r\n /**\r\n * Sets the abstract numbering ID this instance references\r\n * @param abstractNumId The new abstract numbering ID\r\n */\r\n setAbstractNumId(abstractNumId: number): this {\r\n if (abstractNumId < 0) {\r\n throw new Error('Abstract numbering ID must be non-negative');\r\n }\r\n this.abstractNumId = abstractNumId;\r\n return this;\r\n }\r\n\r\n /**\r\n * Alias for getNumId for backward compatibility\r\n */\r\n getId(): number {\r\n return this.numId;\r\n }\r\n\r\n /**\r\n * Gets level overrides\r\n * Returns a map of level indices to their override starting values\r\n */\r\n getLevelOverrides(): Map<number, number> {\r\n return new Map(this.levelOverrides);\r\n }\r\n\r\n /**\r\n * Sets level override for a specific level\r\n * Overrides the starting value for a particular numbering level\r\n *\r\n * @param level The level index (0-based)\r\n * @param startValue The starting value for this level\r\n * @returns This instance for method chaining\r\n */\r\n setLevelOverride(level: number, startValue: number): this {\r\n if (level < 0) {\r\n throw new Error('Level index must be non-negative');\r\n }\r\n if (startValue < 0) {\r\n throw new Error('Start value must be non-negative');\r\n }\r\n\r\n this.levelOverrides.set(level, startValue);\r\n return this;\r\n }\r\n\r\n /**\r\n * Clears a level override for a specific level\r\n *\r\n * @param level The level index to clear\r\n * @returns This instance for method chaining\r\n */\r\n clearLevelOverride(level: number): this {\r\n this.levelOverrides.delete(level);\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets the override value for a specific level, if set\r\n *\r\n * @param level The level index\r\n * @returns The override starting value, or undefined if not set\r\n */\r\n getLevelOverride(level: number): number | undefined {\r\n return this.levelOverrides.get(level);\r\n }\r\n\r\n /**\r\n * Generates the WordprocessingML XML for this numbering instance\r\n */\r\n toXML(): XMLElement {\r\n const children: XMLElement[] = [];\r\n\r\n // Reference to abstract numbering\r\n children.push(\r\n XMLBuilder.wSelf('abstractNumId', { 'w:val': this.abstractNumId.toString() })\r\n );\r\n\r\n // Add level overrides if any are set\r\n for (const [level, startValue] of this.levelOverrides) {\r\n children.push({\r\n name: 'w:lvlOverride',\r\n attributes: { 'w:ilvl': level.toString() },\r\n children: [\r\n XMLBuilder.wSelf('startOverride', { 'w:val': startValue.toString() })\r\n ]\r\n });\r\n }\r\n\r\n return XMLBuilder.w('num', { 'w:numId': this.numId.toString() }, children);\r\n }\r\n\r\n /**\r\n * Factory method for creating a numbering instance\r\n * @param propertiesOrNumId The instance properties object, or numId (number)\r\n * @param abstractNumId The abstract numbering ID (if first param is a number)\r\n */\r\n static create(\r\n propertiesOrNumId: NumberingInstanceProperties | number,\r\n abstractNumId?: number\r\n ): NumberingInstance {\r\n if (typeof propertiesOrNumId === 'number') {\r\n return new NumberingInstance(propertiesOrNumId, abstractNumId);\r\n }\r\n return new NumberingInstance(propertiesOrNumId);\r\n }\r\n\r\n /**\r\n * Creates a NumberingInstance from XML element\r\n * @param xml The XML string of the <w:num> element\r\n * @returns NumberingInstance instance\r\n */\r\n static fromXML(xml: string): NumberingInstance {\r\n // Extract numId (required)\r\n const numIdMatch = /<w:num[^>]*w:numId=\"([^\"]+)\"/.exec(xml);\r\n if (!numIdMatch?.[1]) {\r\n throw new Error('Missing required w:numId attribute');\r\n }\r\n const numId = parseInt(numIdMatch[1], 10);\r\n\r\n // Extract abstractNumId (required)\r\n const abstractNumIdMatch = /<w:abstractNumId[^>]*w:val=\"([^\"]+)\"/.exec(xml);\r\n if (!abstractNumIdMatch?.[1]) {\r\n throw new Error('Missing required w:abstractNumId element');\r\n }\r\n const abstractNumId = parseInt(abstractNumIdMatch[1], 10);\r\n\r\n return new NumberingInstance({\r\n numId,\r\n abstractNumId,\r\n });\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"NumberingLevel.d.ts","sourceRoot":"","sources":["../../src/formatting/NumberingLevel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NumberingLevel.d.ts","sourceRoot":"","sources":["../../src/formatting/NumberingLevel.ts"],"names":[],"mappings":"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"}
@@ -435,61 +435,61 @@ class NumberingLevel {
435
435
  return new NumberingLevel(properties);
436
436
  }
437
437
  static fromXML(xml) {
438
- const ilvlMatch = xml.match(/<w:lvl[^>]*w:ilvl="([^"]+)"/);
439
- if (!ilvlMatch || !ilvlMatch[1]) {
438
+ const ilvlMatch = /<w:lvl[^>]*w:ilvl="([^"]+)"/.exec(xml);
439
+ if (!ilvlMatch?.[1]) {
440
440
  throw new Error("Missing required w:ilvl attribute");
441
441
  }
442
442
  const level = parseInt(ilvlMatch[1], 10);
443
- const numFmtMatch = xml.match(/<w:numFmt[^>]*w:val="([^"]+)"/);
444
- if (!numFmtMatch || !numFmtMatch[1]) {
443
+ const numFmtMatch = /<w:numFmt[^>]*w:val="([^"]+)"/.exec(xml);
444
+ if (!numFmtMatch?.[1]) {
445
445
  throw new Error("Missing required w:numFmt element");
446
446
  }
447
447
  const format = NumberingLevel.normalizeFormat(numFmtMatch[1]);
448
- const lvlTextMatch = xml.match(/<w:lvlText[^>]*w:val="([^"]*)"/);
449
- const text = lvlTextMatch && lvlTextMatch[1] !== undefined ? lvlTextMatch[1] : "";
450
- const lvlJcMatch = xml.match(/<w:lvlJc[^>]*w:val="([^"]+)"/);
451
- const alignment = (lvlJcMatch && lvlJcMatch[1] ? lvlJcMatch[1] : "left");
452
- const startMatch = xml.match(/<w:start[^>]*w:val="([^"]+)"/);
453
- const start = startMatch && startMatch[1] ? parseInt(startMatch[1], 10) : 1;
454
- const suffixMatch = xml.match(/<w:suff[^>]*w:val="([^"]+)"/);
455
- const suffix = suffixMatch && suffixMatch[1]
448
+ const lvlTextMatch = /<w:lvlText[^>]*w:val="([^"]*)"/.exec(xml);
449
+ const text = lvlTextMatch?.[1] !== undefined ? lvlTextMatch[1] : "";
450
+ const lvlJcMatch = /<w:lvlJc[^>]*w:val="([^"]+)"/.exec(xml);
451
+ const alignment = (lvlJcMatch?.[1] ? lvlJcMatch[1] : "left");
452
+ const startMatch = /<w:start[^>]*w:val="([^"]+)"/.exec(xml);
453
+ const start = startMatch?.[1] ? parseInt(startMatch[1], 10) : 1;
454
+ const suffixMatch = /<w:suff[^>]*w:val="([^"]+)"/.exec(xml);
455
+ const suffix = suffixMatch?.[1]
456
456
  ? suffixMatch[1]
457
457
  : "tab";
458
458
  let lvlRestart;
459
- const lvlRestartMatch = xml.match(/<w:lvlRestart[^>]*w:val="([^"]+)"/);
460
- if (lvlRestartMatch && lvlRestartMatch[1]) {
459
+ const lvlRestartMatch = /<w:lvlRestart[^>]*w:val="([^"]+)"/.exec(xml);
460
+ if (lvlRestartMatch?.[1]) {
461
461
  lvlRestart = parseInt(lvlRestartMatch[1], 10);
462
462
  }
463
463
  let leftIndent = 720 + level * 360;
464
464
  let hangingIndent = 360;
465
- const indMatch = xml.match(/<w:ind[^>]*\/>/);
465
+ const indMatch = /<w:ind[^>]*\/>/.exec(xml);
466
466
  if (indMatch) {
467
467
  const indElement = indMatch[0];
468
- const leftMatch = indElement.match(/w:left="([^"]+)"/);
469
- const hangingMatch = indElement.match(/w:hanging="([^"]+)"/);
470
- if (leftMatch && leftMatch[1])
468
+ const leftMatch = /w:left="([^"]+)"/.exec(indElement);
469
+ const hangingMatch = /w:hanging="([^"]+)"/.exec(indElement);
470
+ if (leftMatch?.[1])
471
471
  leftIndent = parseInt(leftMatch[1], 10);
472
- if (hangingMatch && hangingMatch[1])
472
+ if (hangingMatch?.[1])
473
473
  hangingIndent = parseInt(hangingMatch[1], 10);
474
474
  }
475
475
  let font = "Calibri";
476
476
  let fontSize = 22;
477
- const rFontsMatch = xml.match(/<w:rFonts[^>]*\/>/);
477
+ const rFontsMatch = /<w:rFonts[^>]*\/>/.exec(xml);
478
478
  if (rFontsMatch) {
479
479
  const rFontsElement = rFontsMatch[0];
480
- const asciiMatch = rFontsElement.match(/w:ascii="([^"]+)"/);
481
- if (asciiMatch && asciiMatch[1])
480
+ const asciiMatch = /w:ascii="([^"]+)"/.exec(rFontsElement);
481
+ if (asciiMatch?.[1])
482
482
  font = asciiMatch[1];
483
483
  }
484
- const szMatch = xml.match(/<w:sz[^>]*w:val="([^"]+)"/);
485
- if (szMatch && szMatch[1])
484
+ const szMatch = /<w:sz[^>]*w:val="([^"]+)"/.exec(xml);
485
+ if (szMatch?.[1])
486
486
  fontSize = parseInt(szMatch[1], 10);
487
487
  const bold = false;
488
488
  const italic = false;
489
489
  const underline = undefined;
490
490
  let color;
491
- const colorMatch = xml.match(/<w:color[^>]*w:val="([^"]+)"/);
492
- if (colorMatch && colorMatch[1]) {
491
+ const colorMatch = /<w:color[^>]*w:val="([^"]+)"/.exec(xml);
492
+ if (colorMatch?.[1]) {
493
493
  color = colorMatch[1];
494
494
  }
495
495
  return new NumberingLevel({
@@ -1 +1 @@
1
- {"version":3,"file":"NumberingLevel.js","sourceRoot":"","sources":["../../src/formatting/NumberingLevel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NumberingLevel.js","sourceRoot":"","sources":["../../src/formatting/NumberingLevel.ts"],"names":[],"mappings":"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","sourcesContent":["/**\r\n * NumberingLevel - Defines formatting for a single level in a list\r\n *\r\n * A numbering level specifies how a particular list level (0-8) should be formatted,\r\n * including the numbering format (bullet, decimal, roman, etc.), text template,\r\n * alignment, and indentation.\r\n */\r\n\r\nimport { XMLBuilder, XMLElement } from \"../xml/XMLBuilder\";\r\n\r\n/**\r\n * Word-native bullet character mappings\r\n *\r\n * Microsoft Word uses specific fonts with Private Use Area (PUA) characters\r\n * for bullet points. These mappings ensure 100% compatibility with Word's\r\n * native bullet rendering.\r\n *\r\n * Pattern: Levels 0,3,6 = filled bullet; 1,4,7 = open circle; 2,5,8 = filled square\r\n */\r\nexport const WORD_NATIVE_BULLETS = {\r\n /** Filled bullet (levels 0, 3, 6) - Symbol font U+F0B7 */\r\n FILLED_BULLET: { char: \"\\uF0B7\", font: \"Symbol\" },\r\n /** Open circle (levels 1, 4, 7) - Courier New U+006F (lowercase 'o') */\r\n OPEN_CIRCLE: { char: \"\\u006F\", font: \"Courier New\" },\r\n /** Filled square (levels 2, 5, 8) - Wingdings U+F0A7 */\r\n FILLED_SQUARE: { char: \"\\uF0A7\", font: \"Wingdings\" },\r\n} as const;\r\n\r\n/**\r\n * Type for Word-native bullet definition\r\n */\r\nexport type WordNativeBullet =\r\n (typeof WORD_NATIVE_BULLETS)[keyof typeof WORD_NATIVE_BULLETS];\r\n\r\n/**\r\n * Numbering format types supported by Word\r\n */\r\nexport type NumberFormat =\r\n | \"bullet\" // Bullet character\r\n | \"decimal\" // 1, 2, 3, ...\r\n | \"lowerRoman\" // i, ii, iii, ...\r\n | \"upperRoman\" // I, II, III, ...\r\n | \"lowerLetter\" // a, b, c, ...\r\n | \"upperLetter\" // A, B, C, ...\r\n | \"ordinal\" // 1st, 2nd, 3rd, ...\r\n | \"cardinalText\" // One, Two, Three, ...\r\n | \"ordinalText\" // First, Second, Third, ...\r\n | \"hex\" // 0x01, 0x02, ...\r\n | \"chicago\" // *, †, ‡, §, ...\r\n | \"decimal zero\"; // 01, 02, 03, ...\r\n\r\n/**\r\n * Alignment for the numbering text\r\n */\r\nexport type NumberAlignment = \"left\" | \"center\" | \"right\" | \"start\" | \"end\";\r\n\r\n/**\r\n * Properties for creating a numbering level\r\n */\r\nexport interface NumberingLevelProperties {\r\n /** The level index (0-8, where 0 is the outermost level) */\r\n level: number;\r\n\r\n /** The numbering format */\r\n format: NumberFormat;\r\n\r\n /** The text template (e.g., \"%1.\" for decimal, \"•\" for bullet) */\r\n text: string;\r\n\r\n /** Alignment of the numbering text */\r\n alignment?: NumberAlignment;\r\n\r\n /** Starting value (for numeric formats, default: 1) */\r\n start?: number;\r\n\r\n /** Left indentation in twips (can be negative for outdents into margin) */\r\n leftIndent?: number;\r\n\r\n /** Hanging indentation in twips (for the text after the number) */\r\n hangingIndent?: number;\r\n\r\n /** Font family for the numbering character (useful for bullets) */\r\n font?: string;\r\n\r\n /** Font size in half-points (e.g., 22 = 11pt) */\r\n fontSize?: number;\r\n\r\n /** Whether to show text after the number (default: true) */\r\n isLegalNumberingStyle?: boolean;\r\n\r\n /** Suffix after the number (tab, space, or nothing) */\r\n suffix?: \"tab\" | \"space\" | \"nothing\";\r\n\r\n /** Text color in hex (without #) */\r\n color?: string;\r\n\r\n /** Whether the numbering text is bold */\r\n bold?: boolean;\r\n\r\n /** Whether the numbering text is italic */\r\n italic?: boolean;\r\n\r\n /** Underline style for numbering text ('single', 'double', 'wave', 'dotted', 'dash', etc.) */\r\n underline?: string;\r\n\r\n /**\r\n * Level at which numbering should restart (w:lvlRestart per ECMA-376 Part 1 §17.9.11)\r\n * Specifies when to restart this level's numbering based on a higher-level change:\r\n * - 0: Never restart (continues throughout document)\r\n * - 1-8: Restart when the specified level changes\r\n * - undefined (default): Restart when level-1 changes (standard behavior)\r\n */\r\n lvlRestart?: number;\r\n}\r\n\r\n/**\r\n * Represents a single level in a numbering definition\r\n */\r\nexport class NumberingLevel {\r\n private properties: Required<Omit<NumberingLevelProperties, 'lvlRestart' | 'underline'>> & Pick<NumberingLevelProperties, 'lvlRestart' | 'underline'>;\r\n\r\n /**\r\n * Creates a new numbering level\r\n * @param properties The level properties\r\n */\r\n constructor(properties: NumberingLevelProperties) {\r\n // Set defaults\r\n this.properties = {\r\n level: properties.level,\r\n format: properties.format,\r\n text: properties.text,\r\n alignment: properties.alignment || \"left\",\r\n start: properties.start !== undefined ? properties.start : 1,\r\n leftIndent:\r\n properties.leftIndent !== undefined\r\n ? properties.leftIndent\r\n : 720 + properties.level * 360,\r\n hangingIndent:\r\n properties.hangingIndent !== undefined ? properties.hangingIndent : 360,\r\n font: properties.font || \"Calibri\",\r\n fontSize: properties.fontSize || 22, // 11pt default\r\n isLegalNumberingStyle:\r\n properties.isLegalNumberingStyle !== undefined\r\n ? properties.isLegalNumberingStyle\r\n : false,\r\n suffix: properties.suffix || \"tab\",\r\n color: properties.color || \"000000\",\r\n bold: properties.bold !== undefined ? properties.bold : false,\r\n italic: properties.italic !== undefined ? properties.italic : false,\r\n underline: properties.underline,\r\n lvlRestart: properties.lvlRestart, // undefined means default behavior (restart on level-1 change)\r\n };\r\n\r\n this.validate();\r\n }\r\n\r\n /**\r\n * Validates the level properties\r\n */\r\n private validate(): void {\r\n if (this.properties.level < 0 || this.properties.level > 8) {\r\n throw new Error(\r\n `Level must be between 0 and 8, got ${this.properties.level}`\r\n );\r\n }\r\n\r\n // Note: leftIndent CAN be negative (outdent into margin) per ECMA-376\r\n // This is valid and used for hanging indents where bullets appear in margin\r\n\r\n if (this.properties.hangingIndent < 0) {\r\n throw new Error(\"Hanging indent must be non-negative\");\r\n }\r\n\r\n if (this.properties.start < 0) {\r\n throw new Error(\"Start value must be non-negative\");\r\n }\r\n }\r\n\r\n /**\r\n * Calculates safe indentation values for a given level based on page constraints.\r\n *\r\n * Use this instead of default indentation when working with narrow pages or\r\n * deep nesting levels to ensure content stays within page margins.\r\n *\r\n * @param level The level index (0-8)\r\n * @param pageWidthTwips Page width in twips (default: 12240 = 8.5 inches)\r\n * @param leftMarginTwips Left margin in twips (default: 1440 = 1 inch)\r\n * @param rightMarginTwips Right margin in twips (default: 1440 = 1 inch)\r\n * @param minContentWidth Minimum content width in twips (default: 2880 = 2 inches)\r\n * @returns Safe indentation values that won't exceed available space\r\n *\r\n * @example\r\n * ```typescript\r\n * // For a narrow page (6\" wide with 0.5\" margins)\r\n * const indent = NumberingLevel.calculateSafeIndentation(\r\n * 5, // level 5\r\n * 8640, // 6 inches page width\r\n * 720, // 0.5 inch left margin\r\n * 720 // 0.5 inch right margin\r\n * );\r\n * ```\r\n */\r\n static calculateSafeIndentation(\r\n level: number,\r\n pageWidthTwips = 12240,\r\n leftMarginTwips = 1440,\r\n rightMarginTwips = 1440,\r\n minContentWidth = 2880\r\n ): { leftIndent: number; hangingIndent: number } {\r\n if (level < 0 || level > 8) {\r\n throw new Error(`Invalid level ${level}. Level must be between 0 and 8.`);\r\n }\r\n\r\n // Calculate available content width\r\n const availableWidth = pageWidthTwips - leftMarginTwips - rightMarginTwips;\r\n\r\n // Calculate max safe indent (leave space for content)\r\n const maxSafeIndent = Math.max(0, availableWidth - minContentWidth);\r\n\r\n // Standard indentation\r\n const standardLeftIndent = 720 + level * 360;\r\n const hangingIndent = 360;\r\n\r\n // Cap at safe maximum\r\n const safeLeftIndent = Math.min(standardLeftIndent, maxSafeIndent);\r\n\r\n return {\r\n leftIndent: safeLeftIndent,\r\n hangingIndent,\r\n };\r\n }\r\n\r\n /**\r\n * Gets the level index\r\n */\r\n getLevel(): number {\r\n return this.properties.level;\r\n }\r\n\r\n /**\r\n * Gets the numbering format\r\n */\r\n getFormat(): NumberFormat {\r\n return this.properties.format;\r\n }\r\n\r\n /**\r\n * Gets the level properties\r\n */\r\n getProperties(): Required<Omit<NumberingLevelProperties, 'lvlRestart' | 'underline'>> & Pick<NumberingLevelProperties, 'lvlRestart' | 'underline'> {\r\n return { ...this.properties };\r\n }\r\n\r\n /**\r\n * Sets the left indentation\r\n * @param twips Indentation in twips\r\n */\r\n setLeftIndent(twips: number): this {\r\n // Note: Negative values are valid (outdent into margin) per ECMA-376\r\n this.properties.leftIndent = twips;\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets the hanging indentation\r\n * @param twips Indentation in twips\r\n */\r\n setHangingIndent(twips: number): this {\r\n if (twips < 0) {\r\n throw new Error(\"Hanging indent must be non-negative\");\r\n }\r\n this.properties.hangingIndent = twips;\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets the font for the numbering character\r\n * @param font Font family name\r\n */\r\n setFont(font: string): this {\r\n this.properties.font = font;\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets the alignment\r\n * @param alignment Alignment type\r\n */\r\n setAlignment(alignment: NumberAlignment): this {\r\n this.properties.alignment = alignment;\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets the font size in half-points\r\n * @param halfPoints Font size in half-points (e.g., 24 = 12pt)\r\n */\r\n setFontSize(halfPoints: number): this {\r\n this.properties.fontSize = halfPoints;\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets the level text (bullet character or number template)\r\n * @param text The text template (e.g., '•' for bullets, '%1.' for numbered)\r\n */\r\n setText(text: string): this {\r\n this.properties.text = text;\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets the text color\r\n * @param color Hex color without # (e.g., '000000' for black)\r\n */\r\n setColor(color: string): this {\r\n this.properties.color = color;\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets whether the numbering text is bold\r\n * @param bold Whether to make bold\r\n */\r\n setBold(bold: boolean): this {\r\n this.properties.bold = bold;\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets whether the numbering text is italic\r\n * @param italic Whether to make italic\r\n */\r\n setItalic(italic: boolean): this {\r\n this.properties.italic = italic;\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets whether the numbering text is italic\r\n */\r\n getItalic(): boolean {\r\n return this.properties.italic ?? false;\r\n }\r\n\r\n /**\r\n * Sets the underline style for numbering text\r\n * @param style Underline style ('single', 'double', 'wave', 'dotted', 'dash', etc.)\r\n */\r\n setUnderline(style: string | undefined): this {\r\n this.properties.underline = style;\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets the underline style\r\n */\r\n getUnderline(): string | undefined {\r\n return this.properties.underline;\r\n }\r\n\r\n /**\r\n * Clears the underline style\r\n */\r\n clearUnderline(): this {\r\n this.properties.underline = undefined;\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets the level restart behavior (w:lvlRestart per ECMA-376 Part 1 §17.9.11)\r\n *\r\n * Controls when this level's numbering restarts based on higher-level changes:\r\n * - 0: Never restart (continues throughout document)\r\n * - 1-8: Restart when the specified level changes\r\n * - undefined: Restart when level-1 changes (standard/default behavior)\r\n *\r\n * @param level The level that triggers restart (0-8), or undefined for default\r\n * @example\r\n * // Level 1 that never restarts (continuous across document)\r\n * level1.setLvlRestart(0);\r\n *\r\n * // Level 2 that restarts when level 0 changes (not level 1)\r\n * level2.setLvlRestart(0);\r\n */\r\n setLvlRestart(level: number | undefined): this {\r\n if (level !== undefined && (level < 0 || level > 8)) {\r\n throw new Error(`lvlRestart must be between 0 and 8, got ${level}`);\r\n }\r\n this.properties.lvlRestart = level;\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets the level restart value\r\n * @returns The level that triggers restart, or undefined for default behavior\r\n */\r\n getLvlRestart(): number | undefined {\r\n return this.properties.lvlRestart;\r\n }\r\n\r\n /**\r\n * Sets the numbering format (decimal, lowerLetter, bullet, etc.)\r\n * @param format The numbering format\r\n */\r\n setFormat(format: NumberFormat): this {\r\n this.properties.format = NumberingLevel.normalizeFormat(format);\r\n return this;\r\n }\r\n\r\n /**\r\n * Normalizes display-string format values to ECMA-376 ST_NumberFormat names.\r\n * Accepts both standard format names and common display shortcuts.\r\n */\r\n static normalizeFormat(format: string): NumberFormat {\r\n const corrections: Record<string, NumberFormat> = {\r\n \"a.\": \"lowerLetter\",\r\n \"A.\": \"upperLetter\",\r\n \"i.\": \"lowerRoman\",\r\n \"I.\": \"upperRoman\",\r\n \"1.\": \"decimal\",\r\n };\r\n return (corrections[format] ?? format) as NumberFormat;\r\n }\r\n\r\n /**\r\n * Generates the WordprocessingML XML for this level\r\n */\r\n toXML(): XMLElement {\r\n // ECMA-376 CT_Lvl element order: start, numFmt, lvlRestart, pStyle, isLgl, suff, lvlText, lvlJc, pPr, rPr\r\n const children: XMLElement[] = [];\r\n\r\n // 1. Start value\r\n children.push(\r\n XMLBuilder.wSelf(\"start\", { \"w:val\": this.properties.start.toString() })\r\n );\r\n\r\n // 2. Number format\r\n children.push(\r\n XMLBuilder.wSelf(\"numFmt\", { \"w:val\": this.properties.format })\r\n );\r\n\r\n // 3. Level restart (w:lvlRestart per ECMA-376 Part 1 §17.9.11)\r\n if (this.properties.lvlRestart !== undefined) {\r\n children.push(\r\n XMLBuilder.wSelf(\"lvlRestart\", { \"w:val\": this.properties.lvlRestart.toString() })\r\n );\r\n }\r\n\r\n // 4. pStyle — not modeled, skipped\r\n\r\n // 5. Legal numbering style\r\n if (this.properties.isLegalNumberingStyle) {\r\n children.push(XMLBuilder.wSelf(\"isLgl\"));\r\n }\r\n\r\n // 6. Suffix (what comes after the number)\r\n if (this.properties.suffix) {\r\n children.push(\r\n XMLBuilder.wSelf(\"suff\", { \"w:val\": this.properties.suffix })\r\n );\r\n }\r\n\r\n // 7. Level text (e.g., \"%1.\" or \"•\")\r\n children.push(\r\n XMLBuilder.wSelf(\"lvlText\", { \"w:val\": this.properties.text })\r\n );\r\n\r\n // 8. Alignment\r\n children.push(\r\n XMLBuilder.wSelf(\"lvlJc\", { \"w:val\": this.properties.alignment })\r\n );\r\n\r\n // 9. Paragraph properties (indentation)\r\n const ind = XMLBuilder.wSelf(\"ind\", {\r\n \"w:left\": this.properties.leftIndent.toString(),\r\n \"w:hanging\": this.properties.hangingIndent.toString(),\r\n });\r\n const pPr = XMLBuilder.w(\"pPr\", undefined, [ind]);\r\n children.push(pPr);\r\n\r\n // 10. Run properties (font)\r\n const rPrChildren: XMLElement[] = [];\r\n\r\n // Font\r\n rPrChildren.push(\r\n XMLBuilder.wSelf(\"rFonts\", {\r\n \"w:ascii\": this.properties.font,\r\n \"w:hAnsi\": this.properties.font,\r\n \"w:cs\": this.properties.font,\r\n \"w:hint\": \"default\",\r\n })\r\n );\r\n\r\n // Bold\r\n if (this.properties.bold) {\r\n rPrChildren.push(XMLBuilder.wSelf(\"b\"));\r\n rPrChildren.push(XMLBuilder.wSelf(\"bCs\"));\r\n }\r\n\r\n // Italic\r\n if (this.properties.italic) {\r\n rPrChildren.push(XMLBuilder.wSelf(\"i\"));\r\n rPrChildren.push(XMLBuilder.wSelf(\"iCs\"));\r\n }\r\n\r\n // Underline\r\n if (this.properties.underline) {\r\n rPrChildren.push(\r\n XMLBuilder.wSelf(\"u\", { \"w:val\": this.properties.underline })\r\n );\r\n }\r\n\r\n // Color\r\n if (this.properties.color) {\r\n rPrChildren.push(\r\n XMLBuilder.wSelf(\"color\", { \"w:val\": this.properties.color })\r\n );\r\n }\r\n\r\n // Font size\r\n rPrChildren.push(\r\n XMLBuilder.wSelf(\"sz\", { \"w:val\": this.properties.fontSize.toString() })\r\n );\r\n rPrChildren.push(\r\n XMLBuilder.wSelf(\"szCs\", { \"w:val\": this.properties.fontSize.toString() })\r\n );\r\n\r\n const rPr = XMLBuilder.w(\"rPr\", undefined, rPrChildren);\r\n children.push(rPr);\r\n\r\n return XMLBuilder.w(\r\n \"lvl\",\r\n { \"w:ilvl\": this.properties.level.toString() },\r\n children\r\n );\r\n }\r\n\r\n /**\r\n * Gets the recommended bullet symbol and font for a given level\r\n * @param level The level index (0-8)\r\n * @param style Optional bullet style ('standard', 'circle', 'square', 'arrow', 'check', 'word-native')\r\n * @returns Object with symbol and font properties\r\n */\r\n static getBulletSymbolWithFont(\r\n level: number,\r\n style:\r\n | \"standard\"\r\n | \"circle\"\r\n | \"square\"\r\n | \"arrow\"\r\n | \"check\"\r\n | \"word-native\" = \"standard\"\r\n ): { symbol: string; font: string } {\r\n const bulletSets = {\r\n // Standard style now uses Word-native encoding for maximum compatibility\r\n standard: [\r\n {\r\n symbol: WORD_NATIVE_BULLETS.FILLED_BULLET.char,\r\n font: WORD_NATIVE_BULLETS.FILLED_BULLET.font,\r\n }, // Level 0: Filled bullet (Symbol U+F0B7)\r\n {\r\n symbol: WORD_NATIVE_BULLETS.OPEN_CIRCLE.char,\r\n font: WORD_NATIVE_BULLETS.OPEN_CIRCLE.font,\r\n }, // Level 1: Open circle (Courier New U+006F)\r\n {\r\n symbol: WORD_NATIVE_BULLETS.FILLED_SQUARE.char,\r\n font: WORD_NATIVE_BULLETS.FILLED_SQUARE.font,\r\n }, // Level 2: Filled square (Wingdings U+F0A7)\r\n {\r\n symbol: WORD_NATIVE_BULLETS.FILLED_BULLET.char,\r\n font: WORD_NATIVE_BULLETS.FILLED_BULLET.font,\r\n }, // Level 3: Filled bullet\r\n {\r\n symbol: WORD_NATIVE_BULLETS.OPEN_CIRCLE.char,\r\n font: WORD_NATIVE_BULLETS.OPEN_CIRCLE.font,\r\n }, // Level 4: Open circle\r\n {\r\n symbol: WORD_NATIVE_BULLETS.FILLED_SQUARE.char,\r\n font: WORD_NATIVE_BULLETS.FILLED_SQUARE.font,\r\n }, // Level 5: Filled square\r\n {\r\n symbol: WORD_NATIVE_BULLETS.FILLED_BULLET.char,\r\n font: WORD_NATIVE_BULLETS.FILLED_BULLET.font,\r\n }, // Level 6: Filled bullet\r\n {\r\n symbol: WORD_NATIVE_BULLETS.OPEN_CIRCLE.char,\r\n font: WORD_NATIVE_BULLETS.OPEN_CIRCLE.font,\r\n }, // Level 7: Open circle\r\n {\r\n symbol: WORD_NATIVE_BULLETS.FILLED_SQUARE.char,\r\n font: WORD_NATIVE_BULLETS.FILLED_SQUARE.font,\r\n }, // Level 8: Filled square\r\n ],\r\n circle: [\r\n { symbol: \"●\", font: \"Calibri\" }, // Level 0: Filled circle (bold)\r\n { symbol: \"○\", font: \"Calibri\" }, // Level 1: Empty circle\r\n { symbol: \"◉\", font: \"Calibri\" }, // Level 2: Fisheye\r\n { symbol: \"◯\", font: \"Calibri\" }, // Level 3: Large circle\r\n { symbol: \"⦿\", font: \"Calibri\" }, // Level 4: Circled bullet\r\n { symbol: \"○\", font: \"Calibri\" }, // Level 5: Empty circle\r\n { symbol: \"●\", font: \"Calibri\" }, // Level 6: Filled circle\r\n { symbol: \"○\", font: \"Calibri\" }, // Level 7: Empty circle\r\n { symbol: \"◉\", font: \"Calibri\" }, // Level 8: Fisheye\r\n ],\r\n square: [\r\n { symbol: \"■\", font: \"Calibri\" }, // Level 0: Filled square\r\n { symbol: \"□\", font: \"Calibri\" }, // Level 1: Empty square\r\n { symbol: \"▪\", font: \"Calibri\" }, // Level 2: Small filled square\r\n { symbol: \"▫\", font: \"Calibri\" }, // Level 3: Small empty square\r\n { symbol: \"◼\", font: \"Calibri\" }, // Level 4: Medium filled square\r\n { symbol: \"◻\", font: \"Calibri\" }, // Level 5: Medium empty square\r\n { symbol: \"■\", font: \"Calibri\" }, // Level 6: Filled square\r\n { symbol: \"□\", font: \"Calibri\" }, // Level 7: Empty square\r\n { symbol: \"▪\", font: \"Calibri\" }, // Level 8: Small filled square\r\n ],\r\n arrow: [\r\n { symbol: \"➢\", font: \"Calibri\" }, // Level 0: Right arrow\r\n { symbol: \"➣\", font: \"Calibri\" }, // Level 1: Right arrow filled\r\n { symbol: \"➤\", font: \"Calibri\" }, // Level 2: Right arrow bold\r\n { symbol: \"➔\", font: \"Calibri\" }, // Level 3: Right arrow simple\r\n { symbol: \"➜\", font: \"Calibri\" }, // Level 4: Right arrow outline\r\n { symbol: \"➢\", font: \"Calibri\" }, // Level 5: Right arrow\r\n { symbol: \"➣\", font: \"Calibri\" }, // Level 6: Right arrow filled\r\n { symbol: \"➤\", font: \"Calibri\" }, // Level 7: Right arrow bold\r\n { symbol: \"➔\", font: \"Calibri\" }, // Level 8: Right arrow simple\r\n ],\r\n check: [\r\n { symbol: \"✓\", font: \"Calibri\" }, // Level 0: Check mark\r\n { symbol: \"✔\", font: \"Calibri\" }, // Level 1: Heavy check mark\r\n { symbol: \"☑\", font: \"Calibri\" }, // Level 2: Checked box\r\n { symbol: \"✓\", font: \"Calibri\" }, // Level 3: Check mark\r\n { symbol: \"✔\", font: \"Calibri\" }, // Level 4: Heavy check mark\r\n { symbol: \"☑\", font: \"Calibri\" }, // Level 5: Checked box\r\n { symbol: \"✓\", font: \"Calibri\" }, // Level 6: Check mark\r\n { symbol: \"✔\", font: \"Calibri\" }, // Level 7: Heavy check mark\r\n { symbol: \"☑\", font: \"Calibri\" }, // Level 8: Checked box\r\n ],\r\n \"word-native\": [\r\n // Word-native bullets using PUA characters with Symbol/Wingdings fonts\r\n {\r\n symbol: WORD_NATIVE_BULLETS.FILLED_BULLET.char,\r\n font: WORD_NATIVE_BULLETS.FILLED_BULLET.font,\r\n }, // Level 0: Filled bullet (Symbol U+F0B7)\r\n {\r\n symbol: WORD_NATIVE_BULLETS.OPEN_CIRCLE.char,\r\n font: WORD_NATIVE_BULLETS.OPEN_CIRCLE.font,\r\n }, // Level 1: Open circle (Courier New U+006F)\r\n {\r\n symbol: WORD_NATIVE_BULLETS.FILLED_SQUARE.char,\r\n font: WORD_NATIVE_BULLETS.FILLED_SQUARE.font,\r\n }, // Level 2: Filled square (Wingdings U+F0A7)\r\n {\r\n symbol: WORD_NATIVE_BULLETS.FILLED_BULLET.char,\r\n font: WORD_NATIVE_BULLETS.FILLED_BULLET.font,\r\n }, // Level 3: Filled bullet\r\n {\r\n symbol: WORD_NATIVE_BULLETS.OPEN_CIRCLE.char,\r\n font: WORD_NATIVE_BULLETS.OPEN_CIRCLE.font,\r\n }, // Level 4: Open circle\r\n {\r\n symbol: WORD_NATIVE_BULLETS.FILLED_SQUARE.char,\r\n font: WORD_NATIVE_BULLETS.FILLED_SQUARE.font,\r\n }, // Level 5: Filled square\r\n {\r\n symbol: WORD_NATIVE_BULLETS.FILLED_BULLET.char,\r\n font: WORD_NATIVE_BULLETS.FILLED_BULLET.font,\r\n }, // Level 6: Filled bullet\r\n {\r\n symbol: WORD_NATIVE_BULLETS.OPEN_CIRCLE.char,\r\n font: WORD_NATIVE_BULLETS.OPEN_CIRCLE.font,\r\n }, // Level 7: Open circle\r\n {\r\n symbol: WORD_NATIVE_BULLETS.FILLED_SQUARE.char,\r\n font: WORD_NATIVE_BULLETS.FILLED_SQUARE.font,\r\n }, // Level 8: Filled square\r\n ],\r\n };\r\n\r\n const selectedSet = bulletSets[style];\r\n const levelIndex = level % selectedSet.length;\r\n const result = selectedSet[levelIndex];\r\n\r\n // Fallback to standard bullet if somehow undefined\r\n return result || { symbol: \"•\", font: \"Calibri\" };\r\n }\r\n\r\n /**\r\n * Calculates the standard indentation values for a given level\r\n * @param level The level index (0-8)\r\n * @returns Object with leftIndent and hangingIndent in twips\r\n * @example\r\n * const indent = NumberingLevel.calculateStandardIndentation(0);\r\n * // Returns: { leftIndent: 720, hangingIndent: 360 } (0.5\" left, 0.25\" hanging)\r\n *\r\n * const indent2 = NumberingLevel.calculateStandardIndentation(2);\r\n * // Returns: { leftIndent: 1440, hangingIndent: 360 } (1.0\" left, 0.25\" hanging)\r\n */\r\n static calculateStandardIndentation(level: number): {\r\n leftIndent: number;\r\n hangingIndent: number;\r\n } {\r\n if (level < 0 || level > 8) {\r\n throw new Error(`Invalid level ${level}. Level must be between 0 and 8.`);\r\n }\r\n\r\n return {\r\n leftIndent: 720 + level * 360,\r\n hangingIndent: 360,\r\n };\r\n }\r\n\r\n /**\r\n * Gets the standard number format for a given level\r\n * @param level The level index (0-8)\r\n * @returns The recommended number format for this level\r\n * @example\r\n * NumberingLevel.getStandardNumberFormat(0); // 'decimal' (1., 2., 3.)\r\n * NumberingLevel.getStandardNumberFormat(1); // 'lowerLetter' (a., b., c.)\r\n * NumberingLevel.getStandardNumberFormat(2); // 'lowerRoman' (i., ii., iii.)\r\n * NumberingLevel.getStandardNumberFormat(3); // 'upperLetter' (A., B., C.)\r\n * NumberingLevel.getStandardNumberFormat(4); // 'upperRoman' (I., II., III.)\r\n */\r\n static getStandardNumberFormat(level: number): NumberFormat {\r\n if (level < 0 || level > 8) {\r\n throw new Error(`Invalid level ${level}. Level must be between 0 and 8.`);\r\n }\r\n\r\n const formats: NumberFormat[] = [\r\n \"decimal\", // Level 0: 1., 2., 3.\r\n \"lowerLetter\", // Level 1: a., b., c.\r\n \"lowerRoman\", // Level 2: i., ii., iii.\r\n \"upperLetter\", // Level 3: A., B., C.\r\n \"upperRoman\", // Level 4: I., II., III.\r\n ];\r\n\r\n const result = formats[level % formats.length];\r\n return result || \"decimal\"; // Fallback to decimal (should never happen)\r\n }\r\n\r\n /**\r\n * Creates a bullet list level\r\n *\r\n * When called without parameters, uses Word-native encoding for the level:\r\n * - Levels 0, 3, 6: Filled bullet (Symbol font, U+F0B7)\r\n * - Levels 1, 4, 7: Open circle (Courier New, U+006F)\r\n * - Levels 2, 5, 8: Filled square (Wingdings, U+F0A7)\r\n *\r\n * @param level The level index (0-8)\r\n * @param bullet Optional bullet character (defaults to Word-native for level)\r\n * @param font Optional font to use for the bullet (defaults to Word-native for level)\r\n */\r\n static createBulletLevel(\r\n level: number,\r\n bullet?: string,\r\n font?: string\r\n ): NumberingLevel {\r\n // Use Word-native defaults when not specified\r\n const defaults = NumberingLevel.getBulletSymbolWithFont(level, \"standard\");\r\n const actualBullet = bullet ?? defaults.symbol;\r\n const actualFont = font ?? defaults.font;\r\n\r\n return new NumberingLevel({\r\n level,\r\n format: \"bullet\",\r\n text: actualBullet,\r\n alignment: \"left\",\r\n font: actualFont,\r\n fontSize: 24, // 12pt\r\n bold: false,\r\n color: \"000000\",\r\n leftIndent: 720 + level * 360,\r\n hangingIndent: 360,\r\n });\r\n }\r\n\r\n /**\r\n * Creates a decimal list level (1, 2, 3, ...)\r\n * @param level The level index (0-8)\r\n * @param template The text template (default: '%1.')\r\n */\r\n static createDecimalLevel(\r\n level: number,\r\n template = `%${level + 1}.`\r\n ): NumberingLevel {\r\n return new NumberingLevel({\r\n level,\r\n format: \"decimal\",\r\n text: template,\r\n alignment: \"left\",\r\n font: \"Verdana\",\r\n fontSize: 24, // 12pt\r\n bold: false,\r\n color: \"000000\",\r\n leftIndent: 720 + level * 360,\r\n hangingIndent: 360,\r\n });\r\n }\r\n\r\n /**\r\n * Creates a lower roman list level (i, ii, iii, ...)\r\n * @param level The level index (0-8)\r\n * @param template The text template (default: '%1.')\r\n */\r\n static createLowerRomanLevel(\r\n level: number,\r\n template = `%${level + 1}.`\r\n ): NumberingLevel {\r\n return new NumberingLevel({\r\n level,\r\n format: \"lowerRoman\",\r\n text: template,\r\n alignment: \"left\",\r\n font: \"Verdana\",\r\n fontSize: 24, // 12pt\r\n bold: false,\r\n color: \"000000\",\r\n leftIndent: 720 + level * 360,\r\n hangingIndent: 360,\r\n });\r\n }\r\n\r\n /**\r\n * Creates an upper roman list level (I, II, III, ...)\r\n * @param level The level index (0-8)\r\n * @param template The text template (default: '%1.')\r\n */\r\n static createUpperRomanLevel(\r\n level: number,\r\n template = `%${level + 1}.`\r\n ): NumberingLevel {\r\n return new NumberingLevel({\r\n level,\r\n format: \"upperRoman\",\r\n text: template,\r\n alignment: \"left\",\r\n font: \"Verdana\",\r\n fontSize: 24, // 12pt\r\n bold: false,\r\n color: \"000000\",\r\n leftIndent: 720 + level * 360,\r\n hangingIndent: 360,\r\n });\r\n }\r\n\r\n /**\r\n * Creates a lower letter list level (a, b, c, ...)\r\n * @param level The level index (0-8)\r\n * @param template The text template (default: '%1.')\r\n */\r\n static createLowerLetterLevel(\r\n level: number,\r\n template = `%${level + 1}.`\r\n ): NumberingLevel {\r\n return new NumberingLevel({\r\n level,\r\n format: \"lowerLetter\",\r\n text: template,\r\n alignment: \"left\",\r\n font: \"Verdana\",\r\n fontSize: 24, // 12pt\r\n bold: false,\r\n color: \"000000\",\r\n leftIndent: 720 + level * 360,\r\n hangingIndent: 360,\r\n });\r\n }\r\n\r\n /**\r\n * Creates an upper letter list level (A, B, C, ...)\r\n * @param level The level index (0-8)\r\n * @param template The text template (default: '%1.')\r\n */\r\n static createUpperLetterLevel(\r\n level: number,\r\n template = `%${level + 1}.`\r\n ): NumberingLevel {\r\n return new NumberingLevel({\r\n level,\r\n format: \"upperLetter\",\r\n text: template,\r\n alignment: \"left\",\r\n font: \"Verdana\",\r\n fontSize: 24, // 12pt\r\n bold: false,\r\n color: \"000000\",\r\n leftIndent: 720 + level * 360,\r\n hangingIndent: 360,\r\n });\r\n }\r\n\r\n /**\r\n * Factory method for creating a numbering level\r\n * @param properties The level properties\r\n */\r\n static create(properties: NumberingLevelProperties): NumberingLevel {\r\n return new NumberingLevel(properties);\r\n }\r\n\r\n /**\r\n * Creates a NumberingLevel from XML element\r\n * @param xml The XML string of the <w:lvl> element\r\n * @returns NumberingLevel instance\r\n */\r\n static fromXML(xml: string): NumberingLevel {\r\n // Extract level index (required)\r\n const ilvlMatch = /<w:lvl[^>]*w:ilvl=\"([^\"]+)\"/.exec(xml);\r\n if (!ilvlMatch?.[1]) {\r\n throw new Error(\"Missing required w:ilvl attribute\");\r\n }\r\n const level = parseInt(ilvlMatch[1], 10);\r\n\r\n // Extract number format (required)\r\n const numFmtMatch = /<w:numFmt[^>]*w:val=\"([^\"]+)\"/.exec(xml);\r\n if (!numFmtMatch?.[1]) {\r\n throw new Error(\"Missing required w:numFmt element\");\r\n }\r\n const format = NumberingLevel.normalizeFormat(numFmtMatch[1]);\r\n\r\n // Extract level text (optional - can be empty for placeholder levels)\r\n const lvlTextMatch = /<w:lvlText[^>]*w:val=\"([^\"]*)\"/.exec(xml);\r\n const text = lvlTextMatch?.[1] !== undefined ? lvlTextMatch[1] : \"\";\r\n\r\n // Extract alignment (optional, default: left)\r\n const lvlJcMatch = /<w:lvlJc[^>]*w:val=\"([^\"]+)\"/.exec(xml);\r\n const alignment = (\r\n lvlJcMatch?.[1] ? lvlJcMatch[1] : \"left\"\r\n ) as NumberAlignment;\r\n\r\n // Extract start value (optional, default: 1)\r\n const startMatch = /<w:start[^>]*w:val=\"([^\"]+)\"/.exec(xml);\r\n const start = startMatch?.[1] ? parseInt(startMatch[1], 10) : 1;\r\n\r\n // Extract suffix (optional, default: tab)\r\n const suffixMatch = /<w:suff[^>]*w:val=\"([^\"]+)\"/.exec(xml);\r\n const suffix =\r\n suffixMatch?.[1]\r\n ? (suffixMatch[1] as \"tab\" | \"space\" | \"nothing\")\r\n : \"tab\";\r\n\r\n // Extract level restart (w:lvlRestart per ECMA-376 Part 1 §17.9.11)\r\n let lvlRestart: number | undefined;\r\n const lvlRestartMatch = /<w:lvlRestart[^>]*w:val=\"([^\"]+)\"/.exec(xml);\r\n if (lvlRestartMatch?.[1]) {\r\n lvlRestart = parseInt(lvlRestartMatch[1], 10);\r\n }\r\n\r\n // Extract indentation from <w:pPr><w:ind>\r\n let leftIndent = 720 + level * 360; // default\r\n let hangingIndent = 360; // default\r\n const indMatch = /<w:ind[^>]*\\/>/.exec(xml);\r\n if (indMatch) {\r\n const indElement = indMatch[0];\r\n const leftMatch = /w:left=\"([^\"]+)\"/.exec(indElement);\r\n const hangingMatch = /w:hanging=\"([^\"]+)\"/.exec(indElement);\r\n\r\n if (leftMatch?.[1]) leftIndent = parseInt(leftMatch[1], 10);\r\n if (hangingMatch?.[1])\r\n hangingIndent = parseInt(hangingMatch[1], 10);\r\n }\r\n\r\n // Extract font and size from <w:rPr>\r\n let font = \"Calibri\";\r\n let fontSize = 22;\r\n\r\n const rFontsMatch = /<w:rFonts[^>]*\\/>/.exec(xml);\r\n if (rFontsMatch) {\r\n const rFontsElement = rFontsMatch[0];\r\n const asciiMatch = /w:ascii=\"([^\"]+)\"/.exec(rFontsElement);\r\n if (asciiMatch?.[1]) font = asciiMatch[1];\r\n }\r\n\r\n const szMatch = /<w:sz[^>]*w:val=\"([^\"]+)\"/.exec(xml);\r\n if (szMatch?.[1]) fontSize = parseInt(szMatch[1], 10);\r\n\r\n // List prefixes should never have bold, italic, or underline - ignore source XML formatting\r\n const bold = false;\r\n const italic = false;\r\n const underline: string | undefined = undefined;\r\n\r\n // Extract color from <w:rPr>\r\n let color: string | undefined;\r\n const colorMatch = /<w:color[^>]*w:val=\"([^\"]+)\"/.exec(xml);\r\n if (colorMatch?.[1]) {\r\n color = colorMatch[1];\r\n }\r\n\r\n return new NumberingLevel({\r\n level,\r\n format,\r\n text,\r\n alignment,\r\n start,\r\n leftIndent,\r\n hangingIndent,\r\n font,\r\n fontSize,\r\n suffix,\r\n bold,\r\n italic,\r\n underline,\r\n color,\r\n lvlRestart,\r\n });\r\n }\r\n}\r\n"]}
@@ -43,7 +43,7 @@ export declare class NumberingManager {
43
43
  hasInstance(numId: number): boolean;
44
44
  removeInstance(numId: number): boolean;
45
45
  createBulletList(levels?: number, bullets?: string[]): number;
46
- createNumberedList(levels?: number, formats?: Array<'decimal' | 'lowerLetter' | 'lowerRoman'>): number;
46
+ createNumberedList(levels?: number, formats?: ('decimal' | 'lowerLetter' | 'lowerRoman')[]): number;
47
47
  createMultiLevelList(): number;
48
48
  createOutlineList(): number;
49
49
  createCustomList(levels: NumberingLevel[], name?: string): number;
@@ -1 +1 @@
1
- {"version":3,"file":"NumberingManager.d.ts","sourceRoot":"","sources":["../../src/formatting/NumberingManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NumberingManager.d.ts","sourceRoot":"","sources":["../../src/formatting/NumberingManager.ts"],"names":[],"mappings":"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"}