docxmlater 10.1.3 → 10.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (371) hide show
  1. package/README.md +759 -754
  2. package/dist/constants/legacyCompatFlags.js +1 -1
  3. package/dist/constants/legacyCompatFlags.js.map +1 -1
  4. package/dist/constants/limits.js.map +1 -1
  5. package/dist/core/Document.d.ts +50 -50
  6. package/dist/core/Document.d.ts.map +1 -1
  7. package/dist/core/Document.js +483 -471
  8. package/dist/core/Document.js.map +1 -1
  9. package/dist/core/DocumentContent.d.ts +9 -9
  10. package/dist/core/DocumentContent.d.ts.map +1 -1
  11. package/dist/core/DocumentContent.js +1 -1
  12. package/dist/core/DocumentContent.js.map +1 -1
  13. package/dist/core/DocumentGenerator.d.ts +11 -11
  14. package/dist/core/DocumentGenerator.d.ts.map +1 -1
  15. package/dist/core/DocumentGenerator.js +251 -251
  16. package/dist/core/DocumentGenerator.js.map +1 -1
  17. package/dist/core/DocumentIdManager.js.map +1 -1
  18. package/dist/core/DocumentParser.d.ts +15 -15
  19. package/dist/core/DocumentParser.d.ts.map +1 -1
  20. package/dist/core/DocumentParser.js +2123 -2155
  21. package/dist/core/DocumentParser.js.map +1 -1
  22. package/dist/core/DocumentValidator.d.ts.map +1 -1
  23. package/dist/core/DocumentValidator.js +2 -5
  24. package/dist/core/DocumentValidator.js.map +1 -1
  25. package/dist/core/Relationship.js.map +1 -1
  26. package/dist/core/RelationshipManager.d.ts.map +1 -1
  27. package/dist/core/RelationshipManager.js +3 -3
  28. package/dist/core/RelationshipManager.js.map +1 -1
  29. package/dist/elements/AlternateContent.js.map +1 -1
  30. package/dist/elements/Bookmark.d.ts.map +1 -1
  31. package/dist/elements/Bookmark.js +3 -1
  32. package/dist/elements/Bookmark.js.map +1 -1
  33. package/dist/elements/BookmarkManager.d.ts.map +1 -1
  34. package/dist/elements/BookmarkManager.js.map +1 -1
  35. package/dist/elements/Comment.d.ts.map +1 -1
  36. package/dist/elements/Comment.js +9 -6
  37. package/dist/elements/Comment.js.map +1 -1
  38. package/dist/elements/CommentManager.d.ts.map +1 -1
  39. package/dist/elements/CommentManager.js +18 -17
  40. package/dist/elements/CommentManager.js.map +1 -1
  41. package/dist/elements/CommonTypes.d.ts +21 -21
  42. package/dist/elements/CommonTypes.d.ts.map +1 -1
  43. package/dist/elements/CommonTypes.js +56 -56
  44. package/dist/elements/CommonTypes.js.map +1 -1
  45. package/dist/elements/CustomXml.js.map +1 -1
  46. package/dist/elements/Endnote.d.ts.map +1 -1
  47. package/dist/elements/Endnote.js +6 -6
  48. package/dist/elements/Endnote.js.map +1 -1
  49. package/dist/elements/EndnoteManager.d.ts.map +1 -1
  50. package/dist/elements/EndnoteManager.js +6 -7
  51. package/dist/elements/EndnoteManager.js.map +1 -1
  52. package/dist/elements/Field.d.ts.map +1 -1
  53. package/dist/elements/Field.js +82 -25
  54. package/dist/elements/Field.js.map +1 -1
  55. package/dist/elements/FieldHelpers.d.ts.map +1 -1
  56. package/dist/elements/FieldHelpers.js.map +1 -1
  57. package/dist/elements/FontManager.d.ts.map +1 -1
  58. package/dist/elements/FontManager.js +1 -1
  59. package/dist/elements/FontManager.js.map +1 -1
  60. package/dist/elements/Footer.js +2 -2
  61. package/dist/elements/Footer.js.map +1 -1
  62. package/dist/elements/Footnote.d.ts.map +1 -1
  63. package/dist/elements/Footnote.js +6 -6
  64. package/dist/elements/Footnote.js.map +1 -1
  65. package/dist/elements/FootnoteManager.d.ts.map +1 -1
  66. package/dist/elements/FootnoteManager.js +6 -7
  67. package/dist/elements/FootnoteManager.js.map +1 -1
  68. package/dist/elements/Header.js +2 -2
  69. package/dist/elements/Header.js.map +1 -1
  70. package/dist/elements/HeaderFooterManager.js.map +1 -1
  71. package/dist/elements/Hyperlink.d.ts +5 -3
  72. package/dist/elements/Hyperlink.d.ts.map +1 -1
  73. package/dist/elements/Hyperlink.js +134 -76
  74. package/dist/elements/Hyperlink.js.map +1 -1
  75. package/dist/elements/Image.d.ts.map +1 -1
  76. package/dist/elements/Image.js +238 -106
  77. package/dist/elements/Image.js.map +1 -1
  78. package/dist/elements/ImageManager.d.ts.map +1 -1
  79. package/dist/elements/ImageManager.js +1 -1
  80. package/dist/elements/ImageManager.js.map +1 -1
  81. package/dist/elements/ImageRun.js +1 -1
  82. package/dist/elements/ImageRun.js.map +1 -1
  83. package/dist/elements/MathElement.js.map +1 -1
  84. package/dist/elements/Paragraph.d.ts +24 -24
  85. package/dist/elements/Paragraph.d.ts.map +1 -1
  86. package/dist/elements/Paragraph.js +181 -188
  87. package/dist/elements/Paragraph.js.map +1 -1
  88. package/dist/elements/PreservedElement.js.map +1 -1
  89. package/dist/elements/PropertyChangeTypes.d.ts.map +1 -1
  90. package/dist/elements/PropertyChangeTypes.js +6 -6
  91. package/dist/elements/PropertyChangeTypes.js.map +1 -1
  92. package/dist/elements/RangeMarker.d.ts.map +1 -1
  93. package/dist/elements/RangeMarker.js.map +1 -1
  94. package/dist/elements/Revision.d.ts.map +1 -1
  95. package/dist/elements/Revision.js +4 -5
  96. package/dist/elements/Revision.js.map +1 -1
  97. package/dist/elements/RevisionContent.js.map +1 -1
  98. package/dist/elements/RevisionManager.d.ts.map +1 -1
  99. package/dist/elements/RevisionManager.js +40 -48
  100. package/dist/elements/RevisionManager.js.map +1 -1
  101. package/dist/elements/Run.d.ts +16 -16
  102. package/dist/elements/Run.d.ts.map +1 -1
  103. package/dist/elements/Run.js +256 -238
  104. package/dist/elements/Run.js.map +1 -1
  105. package/dist/elements/Section.d.ts.map +1 -1
  106. package/dist/elements/Section.js +36 -11
  107. package/dist/elements/Section.js.map +1 -1
  108. package/dist/elements/Shape.d.ts.map +1 -1
  109. package/dist/elements/Shape.js.map +1 -1
  110. package/dist/elements/StructuredDocumentTag.d.ts +6 -6
  111. package/dist/elements/StructuredDocumentTag.d.ts.map +1 -1
  112. package/dist/elements/StructuredDocumentTag.js +99 -104
  113. package/dist/elements/StructuredDocumentTag.js.map +1 -1
  114. package/dist/elements/Table.d.ts +11 -11
  115. package/dist/elements/Table.d.ts.map +1 -1
  116. package/dist/elements/Table.js +102 -107
  117. package/dist/elements/Table.js.map +1 -1
  118. package/dist/elements/TableCell.d.ts +10 -10
  119. package/dist/elements/TableCell.d.ts.map +1 -1
  120. package/dist/elements/TableCell.js +105 -106
  121. package/dist/elements/TableCell.js.map +1 -1
  122. package/dist/elements/TableGridChange.d.ts.map +1 -1
  123. package/dist/elements/TableGridChange.js.map +1 -1
  124. package/dist/elements/TableOfContents.d.ts.map +1 -1
  125. package/dist/elements/TableOfContents.js +4 -4
  126. package/dist/elements/TableOfContents.js.map +1 -1
  127. package/dist/elements/TableOfContentsElement.js.map +1 -1
  128. package/dist/elements/TableRow.d.ts.map +1 -1
  129. package/dist/elements/TableRow.js +13 -6
  130. package/dist/elements/TableRow.js.map +1 -1
  131. package/dist/elements/TextBox.d.ts.map +1 -1
  132. package/dist/elements/TextBox.js +3 -5
  133. package/dist/elements/TextBox.js.map +1 -1
  134. package/dist/formatting/AbstractNumbering.d.ts +4 -4
  135. package/dist/formatting/AbstractNumbering.d.ts.map +1 -1
  136. package/dist/formatting/AbstractNumbering.js +54 -49
  137. package/dist/formatting/AbstractNumbering.js.map +1 -1
  138. package/dist/formatting/NumberingInstance.d.ts.map +1 -1
  139. package/dist/formatting/NumberingInstance.js +1 -3
  140. package/dist/formatting/NumberingInstance.js.map +1 -1
  141. package/dist/formatting/NumberingLevel.d.ts +5 -5
  142. package/dist/formatting/NumberingLevel.d.ts.map +1 -1
  143. package/dist/formatting/NumberingLevel.js +119 -125
  144. package/dist/formatting/NumberingLevel.js.map +1 -1
  145. package/dist/formatting/NumberingManager.d.ts.map +1 -1
  146. package/dist/formatting/NumberingManager.js +9 -9
  147. package/dist/formatting/NumberingManager.js.map +1 -1
  148. package/dist/formatting/Style.d.ts +11 -11
  149. package/dist/formatting/Style.d.ts.map +1 -1
  150. package/dist/formatting/Style.js +219 -247
  151. package/dist/formatting/Style.js.map +1 -1
  152. package/dist/formatting/StylesManager.d.ts +2 -2
  153. package/dist/formatting/StylesManager.d.ts.map +1 -1
  154. package/dist/formatting/StylesManager.js +96 -102
  155. package/dist/formatting/StylesManager.js.map +1 -1
  156. package/dist/helpers/CleanupHelper.d.ts +1 -1
  157. package/dist/helpers/CleanupHelper.d.ts.map +1 -1
  158. package/dist/helpers/CleanupHelper.js +6 -6
  159. package/dist/helpers/CleanupHelper.js.map +1 -1
  160. package/dist/images/ImageOptimizer.js +7 -7
  161. package/dist/images/ImageOptimizer.js.map +1 -1
  162. package/dist/index.d.ts +9 -9
  163. package/dist/index.d.ts.map +1 -1
  164. package/dist/index.js.map +1 -1
  165. package/dist/managers/DrawingManager.js.map +1 -1
  166. package/dist/tracking/DocumentTrackingContext.d.ts.map +1 -1
  167. package/dist/tracking/DocumentTrackingContext.js +23 -7
  168. package/dist/tracking/DocumentTrackingContext.js.map +1 -1
  169. package/dist/tracking/TrackingContext.d.ts.map +1 -1
  170. package/dist/tracking/TrackingContext.js.map +1 -1
  171. package/dist/types/compatibility-types.js.map +1 -1
  172. package/dist/types/formatting.js.map +1 -1
  173. package/dist/types/list-types.d.ts +6 -6
  174. package/dist/types/list-types.js.map +1 -1
  175. package/dist/types/settings-types.js.map +1 -1
  176. package/dist/types/styleConfig.d.ts +2 -2
  177. package/dist/types/styleConfig.js.map +1 -1
  178. package/dist/utils/ChangelogGenerator.d.ts.map +1 -1
  179. package/dist/utils/ChangelogGenerator.js +97 -101
  180. package/dist/utils/ChangelogGenerator.js.map +1 -1
  181. package/dist/utils/CompatibilityUpgrader.d.ts.map +1 -1
  182. package/dist/utils/CompatibilityUpgrader.js +1 -1
  183. package/dist/utils/CompatibilityUpgrader.js.map +1 -1
  184. package/dist/utils/InMemoryRevisionAcceptor.d.ts.map +1 -1
  185. package/dist/utils/InMemoryRevisionAcceptor.js +1 -6
  186. package/dist/utils/InMemoryRevisionAcceptor.js.map +1 -1
  187. package/dist/utils/MoveOperationHelper.d.ts.map +1 -1
  188. package/dist/utils/MoveOperationHelper.js +1 -1
  189. package/dist/utils/MoveOperationHelper.js.map +1 -1
  190. package/dist/utils/RevisionAwareProcessor.d.ts.map +1 -1
  191. package/dist/utils/RevisionAwareProcessor.js +2 -4
  192. package/dist/utils/RevisionAwareProcessor.js.map +1 -1
  193. package/dist/utils/RevisionWalker.d.ts.map +1 -1
  194. package/dist/utils/RevisionWalker.js +4 -12
  195. package/dist/utils/RevisionWalker.js.map +1 -1
  196. package/dist/utils/SelectiveRevisionAcceptor.d.ts.map +1 -1
  197. package/dist/utils/SelectiveRevisionAcceptor.js +2 -6
  198. package/dist/utils/SelectiveRevisionAcceptor.js.map +1 -1
  199. package/dist/utils/ShadingResolver.d.ts.map +1 -1
  200. package/dist/utils/ShadingResolver.js +1 -1
  201. package/dist/utils/ShadingResolver.js.map +1 -1
  202. package/dist/utils/acceptRevisions.d.ts.map +1 -1
  203. package/dist/utils/acceptRevisions.js +23 -12
  204. package/dist/utils/acceptRevisions.js.map +1 -1
  205. package/dist/utils/cnfStyleDecoder.d.ts +1 -1
  206. package/dist/utils/cnfStyleDecoder.d.ts.map +1 -1
  207. package/dist/utils/cnfStyleDecoder.js +40 -40
  208. package/dist/utils/cnfStyleDecoder.js.map +1 -1
  209. package/dist/utils/corruptionDetection.d.ts.map +1 -1
  210. package/dist/utils/corruptionDetection.js.map +1 -1
  211. package/dist/utils/dateFormatting.js.map +1 -1
  212. package/dist/utils/deepClone.js +1 -1
  213. package/dist/utils/deepClone.js.map +1 -1
  214. package/dist/utils/diagnostics.d.ts.map +1 -1
  215. package/dist/utils/diagnostics.js +1 -1
  216. package/dist/utils/diagnostics.js.map +1 -1
  217. package/dist/utils/errorHandling.js.map +1 -1
  218. package/dist/utils/formatting.d.ts.map +1 -1
  219. package/dist/utils/formatting.js +10 -2
  220. package/dist/utils/formatting.js.map +1 -1
  221. package/dist/utils/list-detection.d.ts +2 -2
  222. package/dist/utils/list-detection.d.ts.map +1 -1
  223. package/dist/utils/list-detection.js +21 -23
  224. package/dist/utils/list-detection.js.map +1 -1
  225. package/dist/utils/logger.d.ts.map +1 -1
  226. package/dist/utils/logger.js +12 -7
  227. package/dist/utils/logger.js.map +1 -1
  228. package/dist/utils/parsingHelpers.js.map +1 -1
  229. package/dist/utils/stripTrackedChanges.d.ts.map +1 -1
  230. package/dist/utils/stripTrackedChanges.js +3 -3
  231. package/dist/utils/stripTrackedChanges.js.map +1 -1
  232. package/dist/utils/textDiff.d.ts +1 -1
  233. package/dist/utils/textDiff.js +8 -8
  234. package/dist/utils/textDiff.js.map +1 -1
  235. package/dist/utils/units.js.map +1 -1
  236. package/dist/utils/validation.d.ts.map +1 -1
  237. package/dist/utils/validation.js +24 -7
  238. package/dist/utils/validation.js.map +1 -1
  239. package/dist/utils/xmlSanitization.d.ts.map +1 -1
  240. package/dist/utils/xmlSanitization.js +3 -3
  241. package/dist/utils/xmlSanitization.js.map +1 -1
  242. package/dist/validation/RevisionAutoFixer.d.ts.map +1 -1
  243. package/dist/validation/RevisionAutoFixer.js +5 -5
  244. package/dist/validation/RevisionAutoFixer.js.map +1 -1
  245. package/dist/validation/RevisionValidator.d.ts.map +1 -1
  246. package/dist/validation/RevisionValidator.js +7 -9
  247. package/dist/validation/RevisionValidator.js.map +1 -1
  248. package/dist/validation/ValidationRules.js +3 -3
  249. package/dist/validation/ValidationRules.js.map +1 -1
  250. package/dist/validation/index.js.map +1 -1
  251. package/dist/xml/XMLBuilder.d.ts +1 -1
  252. package/dist/xml/XMLBuilder.d.ts.map +1 -1
  253. package/dist/xml/XMLBuilder.js +98 -100
  254. package/dist/xml/XMLBuilder.js.map +1 -1
  255. package/dist/xml/XMLParser.d.ts.map +1 -1
  256. package/dist/xml/XMLParser.js +61 -66
  257. package/dist/xml/XMLParser.js.map +1 -1
  258. package/dist/zip/ZipHandler.d.ts.map +1 -1
  259. package/dist/zip/ZipHandler.js.map +1 -1
  260. package/dist/zip/ZipReader.d.ts.map +1 -1
  261. package/dist/zip/ZipReader.js +1 -3
  262. package/dist/zip/ZipReader.js.map +1 -1
  263. package/dist/zip/ZipWriter.d.ts +1 -1
  264. package/dist/zip/ZipWriter.d.ts.map +1 -1
  265. package/dist/zip/ZipWriter.js +28 -36
  266. package/dist/zip/ZipWriter.js.map +1 -1
  267. package/dist/zip/types.js +1 -1
  268. package/dist/zip/types.js.map +1 -1
  269. package/package.json +92 -92
  270. package/src/__tests__/helper-methods.test.ts +512 -512
  271. package/src/constants/legacyCompatFlags.ts +138 -138
  272. package/src/constants/limits.ts +50 -50
  273. package/src/core/Document.ts +985 -1145
  274. package/src/core/DocumentContent.ts +461 -467
  275. package/src/core/DocumentGenerator.ts +1133 -1104
  276. package/src/core/DocumentIdManager.ts +158 -158
  277. package/src/core/DocumentParser.ts +2347 -2716
  278. package/src/core/DocumentValidator.ts +363 -372
  279. package/src/core/Relationship.ts +367 -367
  280. package/src/core/RelationshipManager.ts +429 -428
  281. package/src/elements/AlternateContent.ts +42 -42
  282. package/src/elements/Bookmark.ts +212 -210
  283. package/src/elements/BookmarkManager.ts +247 -250
  284. package/src/elements/Comment.ts +356 -359
  285. package/src/elements/CommentManager.ts +499 -502
  286. package/src/elements/CommonTypes.ts +524 -549
  287. package/src/elements/CustomXml.ts +36 -36
  288. package/src/elements/Endnote.ts +221 -217
  289. package/src/elements/EndnoteManager.ts +246 -249
  290. package/src/elements/Field.ts +1292 -1233
  291. package/src/elements/FieldHelpers.ts +329 -333
  292. package/src/elements/FontManager.ts +336 -339
  293. package/src/elements/Footer.ts +269 -269
  294. package/src/elements/Footnote.ts +221 -217
  295. package/src/elements/FootnoteManager.ts +246 -249
  296. package/src/elements/Header.ts +269 -269
  297. package/src/elements/HeaderFooterManager.ts +219 -219
  298. package/src/elements/Hyperlink.ts +1288 -1193
  299. package/src/elements/Image.ts +1982 -1756
  300. package/src/elements/ImageManager.ts +437 -432
  301. package/src/elements/ImageRun.ts +59 -59
  302. package/src/elements/MathElement.ts +65 -65
  303. package/src/elements/Paragraph.ts +4347 -4287
  304. package/src/elements/PreservedElement.ts +53 -53
  305. package/src/elements/PropertyChangeTypes.ts +458 -442
  306. package/src/elements/RangeMarker.ts +382 -400
  307. package/src/elements/Revision.ts +1198 -1217
  308. package/src/elements/RevisionContent.ts +73 -73
  309. package/src/elements/RevisionManager.ts +1070 -1070
  310. package/src/elements/Run.ts +3103 -3073
  311. package/src/elements/Section.ts +1521 -1421
  312. package/src/elements/Shape.ts +884 -873
  313. package/src/elements/StructuredDocumentTag.ts +1176 -1207
  314. package/src/elements/Table.ts +2468 -2524
  315. package/src/elements/TableCell.ts +1617 -1621
  316. package/src/elements/TableGridChange.ts +149 -151
  317. package/src/elements/TableOfContents.ts +701 -691
  318. package/src/elements/TableOfContentsElement.ts +89 -89
  319. package/src/elements/TableRow.ts +960 -929
  320. package/src/elements/TextBox.ts +766 -768
  321. package/src/formatting/AbstractNumbering.ts +580 -579
  322. package/src/formatting/NumberingInstance.ts +295 -299
  323. package/src/formatting/NumberingLevel.ts +981 -1040
  324. package/src/formatting/NumberingManager.ts +833 -827
  325. package/src/formatting/Style.ts +1785 -1879
  326. package/src/formatting/StylesManager.ts +1090 -1130
  327. package/src/helpers/CleanupHelper.ts +524 -524
  328. package/src/images/ImageOptimizer.ts +274 -274
  329. package/src/index.ts +559 -554
  330. package/src/managers/DrawingManager.ts +319 -319
  331. package/src/tracking/DocumentTrackingContext.ts +687 -674
  332. package/src/tracking/TrackingContext.ts +175 -173
  333. package/src/types/compatibility-types.ts +49 -49
  334. package/src/types/formatting.ts +210 -210
  335. package/src/types/list-types.ts +14 -14
  336. package/src/types/settings-types.ts +59 -59
  337. package/src/types/styleConfig.ts +189 -189
  338. package/src/utils/ChangelogGenerator.ts +1583 -1581
  339. package/src/utils/CompatibilityUpgrader.ts +235 -237
  340. package/src/utils/InMemoryRevisionAcceptor.ts +691 -696
  341. package/src/utils/MoveOperationHelper.ts +233 -238
  342. package/src/utils/RevisionAwareProcessor.ts +518 -526
  343. package/src/utils/RevisionWalker.ts +427 -457
  344. package/src/utils/SelectiveRevisionAcceptor.ts +662 -683
  345. package/src/utils/ShadingResolver.ts +105 -107
  346. package/src/utils/acceptRevisions.ts +723 -714
  347. package/src/utils/cnfStyleDecoder.ts +212 -217
  348. package/src/utils/corruptionDetection.ts +346 -345
  349. package/src/utils/dateFormatting.ts +20 -20
  350. package/src/utils/deepClone.ts +77 -78
  351. package/src/utils/diagnostics.ts +125 -129
  352. package/src/utils/errorHandling.ts +80 -80
  353. package/src/utils/formatting.ts +220 -213
  354. package/src/utils/list-detection.ts +32 -42
  355. package/src/utils/logger.ts +412 -404
  356. package/src/utils/parsingHelpers.ts +190 -190
  357. package/src/utils/stripTrackedChanges.ts +356 -353
  358. package/src/utils/textDiff.ts +100 -100
  359. package/src/utils/units.ts +421 -421
  360. package/src/utils/validation.ts +553 -542
  361. package/src/utils/xmlSanitization.ts +179 -182
  362. package/src/validation/RevisionAutoFixer.ts +541 -542
  363. package/src/validation/RevisionValidator.ts +470 -460
  364. package/src/validation/ValidationRules.ts +338 -338
  365. package/src/validation/index.ts +30 -30
  366. package/src/xml/XMLBuilder.ts +857 -871
  367. package/src/xml/XMLParser.ts +877 -919
  368. package/src/zip/ZipHandler.ts +629 -637
  369. package/src/zip/ZipReader.ts +295 -299
  370. package/src/zip/ZipWriter.ts +374 -390
  371. package/src/zip/types.ts +116 -116
@@ -1 +1 @@
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\nimport { NumberingLevel } from './NumberingLevel';\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 private fullLevelOverrides = new Map<number, NumberingLevel>();\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 * Sets a full level definition override for a specific level\r\n * This replaces the entire level definition from the abstract numbering\r\n * (ECMA-376 §17.9.8 - w:lvlOverride with full w:lvl child)\r\n *\r\n * @param level The level index (0-based)\r\n * @param levelDef The full NumberingLevel definition to use as override\r\n */\r\n setFullLevelOverride(level: number, levelDef: NumberingLevel): this {\r\n if (level < 0) {\r\n throw new Error('Level index must be non-negative');\r\n }\r\n this.fullLevelOverrides.set(level, levelDef);\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets a full level definition override for a specific level\r\n */\r\n getFullLevelOverride(level: number): NumberingLevel | undefined {\r\n return this.fullLevelOverrides.get(level);\r\n }\r\n\r\n /**\r\n * Gets all full level definition overrides\r\n */\r\n getFullLevelOverrides(): Map<number, NumberingLevel> {\r\n return new Map(this.fullLevelOverrides);\r\n }\r\n\r\n /**\r\n * Clears a full level override\r\n */\r\n clearFullLevelOverride(level: number): this {\r\n this.fullLevelOverrides.delete(level);\r\n return this;\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 // Skip levels that have a full level override (they take precedence)\r\n if (this.fullLevelOverrides.has(level)) continue;\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 // Add full level overrides\r\n for (const [level, levelDef] of this.fullLevelOverrides) {\r\n const overrideChildren: XMLElement[] = [];\r\n // Include startOverride if also set for this level\r\n if (this.levelOverrides.has(level)) {\r\n overrideChildren.push(\r\n XMLBuilder.wSelf('startOverride', { 'w:val': this.levelOverrides.get(level)!.toString() })\r\n );\r\n }\r\n overrideChildren.push(levelDef.toXML());\r\n children.push({\r\n name: 'w:lvlOverride',\r\n attributes: { 'w:ilvl': level.toString() },\r\n children: overrideChildren,\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 const instance = new NumberingInstance({\r\n numId,\r\n abstractNumId,\r\n });\r\n\r\n // Parse level overrides (w:lvlOverride)\r\n const lvlOverrideRegex = /<w:lvlOverride[^>]*w:ilvl=\"(\\d+)\"[^>]*>([\\s\\S]*?)<\\/w:lvlOverride>/g;\r\n let match: RegExpExecArray | null;\r\n while ((match = lvlOverrideRegex.exec(xml)) !== null) {\r\n const levelStr = match[1]!;\r\n const content = match[2]!;\r\n const level = parseInt(levelStr, 10);\r\n\r\n // Check for startOverride\r\n const startOverrideMatch = /<w:startOverride[^>]*w:val=\"([^\"]+)\"/.exec(content);\r\n if (startOverrideMatch?.[1]) {\r\n instance.setLevelOverride(level, parseInt(startOverrideMatch[1], 10));\r\n }\r\n\r\n // Check for full w:lvl element\r\n const lvlMatch = /<w:lvl[^>]*>[\\s\\S]*?<\\/w:lvl>/.exec(content);\r\n if (lvlMatch) {\r\n try {\r\n const levelDef = NumberingLevel.fromXML(lvlMatch[0]);\r\n instance.setFullLevelOverride(level, levelDef);\r\n } catch {\r\n // Skip invalid level definitions\r\n }\r\n }\r\n }\r\n\r\n return instance;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"NumberingInstance.js","sourceRoot":"","sources":["../../src/formatting/NumberingInstance.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * NumberingInstance - Links paragraphs to abstract numbering definitions\n *\n * A numbering instance references an abstract numbering definition and provides\n * the actual numId that paragraphs use. Multiple instances can reference the same\n * abstract numbering, creating separate list sequences.\n */\n\nimport { XMLBuilder, XMLElement } from '../xml/XMLBuilder';\nimport { NumberingLevel } from './NumberingLevel';\n\n/**\n * Properties for creating a numbering instance\n */\nexport interface NumberingInstanceProperties {\n /** Unique numbering instance ID (numId) */\n numId: number;\n\n /** Reference to the abstract numbering definition */\n abstractNumId: number;\n}\n\n/**\n * Represents a numbering instance\n *\n * Numbering instances link paragraphs to abstract numbering definitions.\n * Each instance creates a separate numbering sequence in the document.\n */\nexport class NumberingInstance {\n private numId: number;\n private abstractNumId: number;\n private levelOverrides = new Map<number, number>();\n private fullLevelOverrides = new Map<number, NumberingLevel>();\n\n /**\n * Creates a new numbering instance\n * @param numIdOrProps The numbering instance ID or properties object\n * @param abstractNumId The abstract numbering ID (if first param is a number)\n */\n constructor(numIdOrProps: number | NumberingInstanceProperties, abstractNumId?: number) {\n if (typeof numIdOrProps === 'number') {\n // Support simple constructor: new NumberingInstance(numId, abstractNumId)\n this.numId = numIdOrProps;\n this.abstractNumId = abstractNumId ?? 0;\n } else {\n // Support object constructor: new NumberingInstance({ numId, abstractNumId })\n this.numId = numIdOrProps.numId;\n this.abstractNumId = numIdOrProps.abstractNumId;\n }\n\n this.validate();\n }\n\n /**\n * Validates the numbering instance\n */\n private validate(): void {\n if (this.numId < 0) {\n throw new Error('Numbering instance ID must be non-negative');\n }\n\n if (this.abstractNumId < 0) {\n throw new Error('Abstract numbering ID must be non-negative');\n }\n }\n\n /**\n * Gets the numbering instance ID\n */\n getNumId(): number {\n return this.numId;\n }\n\n /**\n * Gets the abstract numbering ID\n */\n getAbstractNumId(): number {\n return this.abstractNumId;\n }\n\n /**\n * Sets the abstract numbering ID this instance references\n * @param abstractNumId The new abstract numbering ID\n */\n setAbstractNumId(abstractNumId: number): this {\n if (abstractNumId < 0) {\n throw new Error('Abstract numbering ID must be non-negative');\n }\n this.abstractNumId = abstractNumId;\n return this;\n }\n\n /**\n * Alias for getNumId for backward compatibility\n */\n getId(): number {\n return this.numId;\n }\n\n /**\n * Gets level overrides\n * Returns a map of level indices to their override starting values\n */\n getLevelOverrides(): Map<number, number> {\n return new Map(this.levelOverrides);\n }\n\n /**\n * Sets level override for a specific level\n * Overrides the starting value for a particular numbering level\n *\n * @param level The level index (0-based)\n * @param startValue The starting value for this level\n * @returns This instance for method chaining\n */\n setLevelOverride(level: number, startValue: number): this {\n if (level < 0) {\n throw new Error('Level index must be non-negative');\n }\n if (startValue < 0) {\n throw new Error('Start value must be non-negative');\n }\n\n this.levelOverrides.set(level, startValue);\n return this;\n }\n\n /**\n * Clears a level override for a specific level\n *\n * @param level The level index to clear\n * @returns This instance for method chaining\n */\n clearLevelOverride(level: number): this {\n this.levelOverrides.delete(level);\n return this;\n }\n\n /**\n * Gets the override value for a specific level, if set\n *\n * @param level The level index\n * @returns The override starting value, or undefined if not set\n */\n getLevelOverride(level: number): number | undefined {\n return this.levelOverrides.get(level);\n }\n\n /**\n * Sets a full level definition override for a specific level\n * This replaces the entire level definition from the abstract numbering\n * (ECMA-376 §17.9.8 - w:lvlOverride with full w:lvl child)\n *\n * @param level The level index (0-based)\n * @param levelDef The full NumberingLevel definition to use as override\n */\n setFullLevelOverride(level: number, levelDef: NumberingLevel): this {\n if (level < 0) {\n throw new Error('Level index must be non-negative');\n }\n this.fullLevelOverrides.set(level, levelDef);\n return this;\n }\n\n /**\n * Gets a full level definition override for a specific level\n */\n getFullLevelOverride(level: number): NumberingLevel | undefined {\n return this.fullLevelOverrides.get(level);\n }\n\n /**\n * Gets all full level definition overrides\n */\n getFullLevelOverrides(): Map<number, NumberingLevel> {\n return new Map(this.fullLevelOverrides);\n }\n\n /**\n * Clears a full level override\n */\n clearFullLevelOverride(level: number): this {\n this.fullLevelOverrides.delete(level);\n return this;\n }\n\n /**\n * Generates the WordprocessingML XML for this numbering instance\n */\n toXML(): XMLElement {\n const children: XMLElement[] = [];\n\n // Reference to abstract numbering\n children.push(XMLBuilder.wSelf('abstractNumId', { 'w:val': this.abstractNumId.toString() }));\n\n // Add level overrides if any are set\n for (const [level, startValue] of this.levelOverrides) {\n // Skip levels that have a full level override (they take precedence)\n if (this.fullLevelOverrides.has(level)) continue;\n children.push({\n name: 'w:lvlOverride',\n attributes: { 'w:ilvl': level.toString() },\n children: [XMLBuilder.wSelf('startOverride', { 'w:val': startValue.toString() })],\n });\n }\n\n // Add full level overrides\n for (const [level, levelDef] of this.fullLevelOverrides) {\n const overrideChildren: XMLElement[] = [];\n // Include startOverride if also set for this level\n if (this.levelOverrides.has(level)) {\n overrideChildren.push(\n XMLBuilder.wSelf('startOverride', { 'w:val': this.levelOverrides.get(level)!.toString() })\n );\n }\n overrideChildren.push(levelDef.toXML());\n children.push({\n name: 'w:lvlOverride',\n attributes: { 'w:ilvl': level.toString() },\n children: overrideChildren,\n });\n }\n\n return XMLBuilder.w('num', { 'w:numId': this.numId.toString() }, children);\n }\n\n /**\n * Factory method for creating a numbering instance\n * @param propertiesOrNumId The instance properties object, or numId (number)\n * @param abstractNumId The abstract numbering ID (if first param is a number)\n */\n static create(\n propertiesOrNumId: NumberingInstanceProperties | number,\n abstractNumId?: number\n ): NumberingInstance {\n if (typeof propertiesOrNumId === 'number') {\n return new NumberingInstance(propertiesOrNumId, abstractNumId);\n }\n return new NumberingInstance(propertiesOrNumId);\n }\n\n /**\n * Creates a NumberingInstance from XML element\n * @param xml The XML string of the <w:num> element\n * @returns NumberingInstance instance\n */\n static fromXML(xml: string): NumberingInstance {\n // Extract numId (required)\n const numIdMatch = /<w:num[^>]*w:numId=\"([^\"]+)\"/.exec(xml);\n if (!numIdMatch?.[1]) {\n throw new Error('Missing required w:numId attribute');\n }\n const numId = parseInt(numIdMatch[1], 10);\n\n // Extract abstractNumId (required)\n const abstractNumIdMatch = /<w:abstractNumId[^>]*w:val=\"([^\"]+)\"/.exec(xml);\n if (!abstractNumIdMatch?.[1]) {\n throw new Error('Missing required w:abstractNumId element');\n }\n const abstractNumId = parseInt(abstractNumIdMatch[1], 10);\n\n const instance = new NumberingInstance({\n numId,\n abstractNumId,\n });\n\n // Parse level overrides (w:lvlOverride)\n const lvlOverrideRegex = /<w:lvlOverride[^>]*w:ilvl=\"(\\d+)\"[^>]*>([\\s\\S]*?)<\\/w:lvlOverride>/g;\n let match: RegExpExecArray | null;\n while ((match = lvlOverrideRegex.exec(xml)) !== null) {\n const levelStr = match[1]!;\n const content = match[2]!;\n const level = parseInt(levelStr, 10);\n\n // Check for startOverride\n const startOverrideMatch = /<w:startOverride[^>]*w:val=\"([^\"]+)\"/.exec(content);\n if (startOverrideMatch?.[1]) {\n instance.setLevelOverride(level, parseInt(startOverrideMatch[1], 10));\n }\n\n // Check for full w:lvl element\n const lvlMatch = /<w:lvl[^>]*>[\\s\\S]*?<\\/w:lvl>/.exec(content);\n if (lvlMatch) {\n try {\n const levelDef = NumberingLevel.fromXML(lvlMatch[0]);\n instance.setFullLevelOverride(level, levelDef);\n } catch {\n // Skip invalid level definitions\n }\n }\n }\n\n return instance;\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { XMLElement } from "../xml/XMLBuilder";
1
+ import { XMLElement } from '../xml/XMLBuilder';
2
2
  export declare const WORD_NATIVE_BULLETS: {
3
3
  readonly FILLED_BULLET: {
4
4
  readonly char: "";
@@ -14,8 +14,8 @@ export declare const WORD_NATIVE_BULLETS: {
14
14
  };
15
15
  };
16
16
  export type WordNativeBullet = (typeof WORD_NATIVE_BULLETS)[keyof typeof WORD_NATIVE_BULLETS];
17
- export type NumberFormat = "bullet" | "decimal" | "lowerRoman" | "upperRoman" | "lowerLetter" | "upperLetter" | "ordinal" | "cardinalText" | "ordinalText" | "hex" | "chicago" | "decimal zero";
18
- export type NumberAlignment = "left" | "center" | "right" | "start" | "end";
17
+ export type NumberFormat = 'bullet' | 'decimal' | 'lowerRoman' | 'upperRoman' | 'lowerLetter' | 'upperLetter' | 'ordinal' | 'cardinalText' | 'ordinalText' | 'hex' | 'chicago' | 'decimal zero';
18
+ export type NumberAlignment = 'left' | 'center' | 'right' | 'start' | 'end';
19
19
  export interface NumberingLevelProperties {
20
20
  level: number;
21
21
  format: NumberFormat;
@@ -27,7 +27,7 @@ export interface NumberingLevelProperties {
27
27
  font?: string;
28
28
  fontSize?: number;
29
29
  isLegalNumberingStyle?: boolean;
30
- suffix?: "tab" | "space" | "nothing";
30
+ suffix?: 'tab' | 'space' | 'nothing';
31
31
  color?: string;
32
32
  bold?: boolean;
33
33
  italic?: boolean;
@@ -66,7 +66,7 @@ export declare class NumberingLevel {
66
66
  setFormat(format: NumberFormat): this;
67
67
  static normalizeFormat(format: string): NumberFormat;
68
68
  toXML(): XMLElement;
69
- static getBulletSymbolWithFont(level: number, style?: "standard" | "circle" | "square" | "arrow" | "check" | "word-native"): {
69
+ static getBulletSymbolWithFont(level: number, style?: 'standard' | 'circle' | 'square' | 'arrow' | 'check' | 'word-native'): {
70
70
  symbol: string;
71
71
  font: string;
72
72
  };
@@ -1 +1 @@
1
- {"version":3,"file":"NumberingLevel.d.ts","sourceRoot":"","sources":["../../src/formatting/NumberingLevel.ts"],"names":[],"mappings":"AAQA,OAAO,EAAc,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAW3D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;CAOtB,CAAC;AAKX,MAAM,MAAM,gBAAgB,GAC1B,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAC;AAKjE,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,SAAS,GACT,YAAY,GACZ,YAAY,GACZ,aAAa,GACb,aAAa,GACb,SAAS,GACT,cAAc,GACd,aAAa,GACb,KAAK,GACL,SAAS,GACT,cAAc,CAAC;AAKnB,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;AAK5E,MAAM,WAAW,wBAAwB;IAEvC,KAAK,EAAE,MAAM,CAAC;IAGd,MAAM,EAAE,YAAY,CAAC;IAGrB,IAAI,EAAE,MAAM,CAAC;IAGb,SAAS,CAAC,EAAE,eAAe,CAAC;IAG5B,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAGhC,MAAM,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,SAAS,CAAC;IAGrC,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,IAAI,CAAC,EAAE,OAAO,CAAC;IAGf,MAAM,CAAC,EAAE,OAAO,CAAC;IAGjB,SAAS,CAAC,EAAE,MAAM,CAAC;IASnB,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAKD,qBAAa,cAAc;IACzB,OAAO,CAAC,UAAU,CAA0J;gBAMhK,UAAU,EAAE,wBAAwB;IAmChD,OAAO,CAAC,QAAQ;IA2ChB,MAAM,CAAC,wBAAwB,CAC7B,KAAK,EAAE,MAAM,EACb,cAAc,SAAQ,EACtB,eAAe,SAAO,EACtB,gBAAgB,SAAO,EACvB,eAAe,SAAO,GACrB;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE;IA2BhD,QAAQ,IAAI,MAAM;IAOlB,SAAS,IAAI,YAAY;IAOzB,aAAa,IAAI,QAAQ,CAAC,IAAI,CAAC,wBAAwB,EAAE,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,wBAAwB,EAAE,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAC;IAQxK,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAUlC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAYrC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAS3B,YAAY,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI;IAS9C,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IASrC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAS3B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAS7B,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAS5B,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAQhC,SAAS,IAAI,OAAO;IAQpB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAQ7C,YAAY,IAAI,MAAM,GAAG,SAAS;IAOlC,cAAc,IAAI,IAAI;IAqBtB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAY9C,aAAa,IAAI,MAAM,GAAG,SAAS;IASnC,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQxC,iBAAiB,IAAI,MAAM,GAAG,SAAS;IAQvC,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IASrC,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAcpD,KAAK,IAAI,UAAU;IAyHnB,MAAM,CAAC,uBAAuB,CAC5B,KAAK,EAAE,MAAM,EACb,KAAK,GACD,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,OAAO,GACP,aAA0B,GAC7B;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;IAiJnC,MAAM,CAAC,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG;QAClD,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;KACvB;IAsBD,MAAM,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY;IA6B3D,MAAM,CAAC,iBAAiB,CACtB,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,GACZ,cAAc;IAyBjB,MAAM,CAAC,kBAAkB,CACvB,KAAK,EAAE,MAAM,EACb,QAAQ,SAAmB,GAC1B,cAAc;IAoBjB,MAAM,CAAC,qBAAqB,CAC1B,KAAK,EAAE,MAAM,EACb,QAAQ,SAAmB,GAC1B,cAAc;IAoBjB,MAAM,CAAC,qBAAqB,CAC1B,KAAK,EAAE,MAAM,EACb,QAAQ,SAAmB,GAC1B,cAAc;IAoBjB,MAAM,CAAC,sBAAsB,CAC3B,KAAK,EAAE,MAAM,EACb,QAAQ,SAAmB,GAC1B,cAAc;IAoBjB,MAAM,CAAC,sBAAsB,CAC3B,KAAK,EAAE,MAAM,EACb,QAAQ,SAAmB,GAC1B,cAAc;IAmBjB,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,wBAAwB,GAAG,cAAc;IASnE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc;CA6G5C"}
1
+ {"version":3,"file":"NumberingLevel.d.ts","sourceRoot":"","sources":["../../src/formatting/NumberingLevel.ts"],"names":[],"mappings":"AAQA,OAAO,EAAc,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAW3D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;CAOtB,CAAC;AAKX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAC;AAK9F,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,SAAS,GACT,YAAY,GACZ,YAAY,GACZ,aAAa,GACb,aAAa,GACb,SAAS,GACT,cAAc,GACd,aAAa,GACb,KAAK,GACL,SAAS,GACT,cAAc,CAAC;AAKnB,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;AAK5E,MAAM,WAAW,wBAAwB;IAEvC,KAAK,EAAE,MAAM,CAAC;IAGd,MAAM,EAAE,YAAY,CAAC;IAGrB,IAAI,EAAE,MAAM,CAAC;IAGb,SAAS,CAAC,EAAE,eAAe,CAAC;IAG5B,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAGhC,MAAM,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,SAAS,CAAC;IAGrC,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,IAAI,CAAC,EAAE,OAAO,CAAC;IAGf,MAAM,CAAC,EAAE,OAAO,CAAC;IAGjB,SAAS,CAAC,EAAE,MAAM,CAAC;IASnB,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAKD,qBAAa,cAAc;IACzB,OAAO,CAAC,UAAU,CAGsD;gBAM5D,UAAU,EAAE,wBAAwB;IA8BhD,OAAO,CAAC,QAAQ;IAyChB,MAAM,CAAC,wBAAwB,CAC7B,KAAK,EAAE,MAAM,EACb,cAAc,SAAQ,EACtB,eAAe,SAAO,EACtB,gBAAgB,SAAO,EACvB,eAAe,SAAO,GACrB;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE;IA2BhD,QAAQ,IAAI,MAAM;IAOlB,SAAS,IAAI,YAAY;IAOzB,aAAa,IAAI,QAAQ,CAAC,IAAI,CAAC,wBAAwB,EAAE,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAC,CAAC,GAC9F,IAAI,CAAC,wBAAwB,EAAE,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAC;IAQvE,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAUlC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAYrC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAS3B,YAAY,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI;IAS9C,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IASrC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAS3B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAS7B,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAS5B,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAQhC,SAAS,IAAI,OAAO;IAQpB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAQ7C,YAAY,IAAI,MAAM,GAAG,SAAS;IAOlC,cAAc,IAAI,IAAI;IAqBtB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAY9C,aAAa,IAAI,MAAM,GAAG,SAAS;IASnC,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQxC,iBAAiB,IAAI,MAAM,GAAG,SAAS;IAQvC,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IASrC,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAcpD,KAAK,IAAI,UAAU;IAiGnB,MAAM,CAAC,uBAAuB,CAC5B,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,aAA0B,GACvF;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;IAiJnC,MAAM,CAAC,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG;QAClD,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;KACvB;IAsBD,MAAM,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY;IA6B3D,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,cAAc;IAyBvF,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAmB,GAAG,cAAc;IAoBrF,MAAM,CAAC,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAmB,GAAG,cAAc;IAoBxF,MAAM,CAAC,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAmB,GAAG,cAAc;IAoBxF,MAAM,CAAC,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAmB,GAAG,cAAc;IAoBzF,MAAM,CAAC,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAmB,GAAG,cAAc;IAmBzF,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,wBAAwB,GAAG,cAAc;IASnE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc;CAuG5C"}
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NumberingLevel = exports.WORD_NATIVE_BULLETS = void 0;
4
4
  const XMLBuilder_1 = require("../xml/XMLBuilder");
5
5
  exports.WORD_NATIVE_BULLETS = {
6
- FILLED_BULLET: { char: "\uF0B7", font: "Symbol" },
7
- OPEN_CIRCLE: { char: "\u006F", font: "Courier New" },
8
- FILLED_SQUARE: { char: "\uF0A7", font: "Wingdings" },
6
+ FILLED_BULLET: { char: '\uF0B7', font: 'Symbol' },
7
+ OPEN_CIRCLE: { char: '\u006F', font: 'Courier New' },
8
+ FILLED_SQUARE: { char: '\uF0A7', font: 'Wingdings' },
9
9
  };
10
10
  class NumberingLevel {
11
11
  properties;
@@ -14,19 +14,15 @@ class NumberingLevel {
14
14
  level: properties.level,
15
15
  format: properties.format,
16
16
  text: properties.text,
17
- alignment: properties.alignment || "left",
17
+ alignment: properties.alignment || 'left',
18
18
  start: properties.start !== undefined ? properties.start : 1,
19
- leftIndent: properties.leftIndent !== undefined
20
- ? properties.leftIndent
21
- : 720 + properties.level * 360,
19
+ leftIndent: properties.leftIndent !== undefined ? properties.leftIndent : 720 + properties.level * 360,
22
20
  hangingIndent: properties.hangingIndent !== undefined ? properties.hangingIndent : 360,
23
- font: properties.font || "Calibri",
21
+ font: properties.font || 'Calibri',
24
22
  fontSize: properties.fontSize || 22,
25
- isLegalNumberingStyle: properties.isLegalNumberingStyle !== undefined
26
- ? properties.isLegalNumberingStyle
27
- : false,
28
- suffix: properties.suffix || "tab",
29
- color: properties.color || "000000",
23
+ isLegalNumberingStyle: properties.isLegalNumberingStyle !== undefined ? properties.isLegalNumberingStyle : false,
24
+ suffix: properties.suffix || 'tab',
25
+ color: properties.color || '000000',
30
26
  bold: properties.bold !== undefined ? properties.bold : false,
31
27
  italic: properties.italic !== undefined ? properties.italic : false,
32
28
  underline: properties.underline,
@@ -40,10 +36,10 @@ class NumberingLevel {
40
36
  throw new Error(`Level must be between 0 and 8, got ${this.properties.level}`);
41
37
  }
42
38
  if (this.properties.hangingIndent < 0) {
43
- throw new Error("Hanging indent must be non-negative");
39
+ throw new Error('Hanging indent must be non-negative');
44
40
  }
45
41
  if (this.properties.start < 0) {
46
- throw new Error("Start value must be non-negative");
42
+ throw new Error('Start value must be non-negative');
47
43
  }
48
44
  }
49
45
  static calculateSafeIndentation(level, pageWidthTwips = 12240, leftMarginTwips = 1440, rightMarginTwips = 1440, minContentWidth = 2880) {
@@ -75,7 +71,7 @@ class NumberingLevel {
75
71
  }
76
72
  setHangingIndent(twips) {
77
73
  if (twips < 0) {
78
- throw new Error("Hanging indent must be non-negative");
74
+ throw new Error('Hanging indent must be non-negative');
79
75
  }
80
76
  this.properties.hangingIndent = twips;
81
77
  return this;
@@ -145,66 +141,66 @@ class NumberingLevel {
145
141
  }
146
142
  static normalizeFormat(format) {
147
143
  const corrections = {
148
- "a.": "lowerLetter",
149
- "A.": "upperLetter",
150
- "i.": "lowerRoman",
151
- "I.": "upperRoman",
152
- "1.": "decimal",
144
+ 'a.': 'lowerLetter',
145
+ 'A.': 'upperLetter',
146
+ 'i.': 'lowerRoman',
147
+ 'I.': 'upperRoman',
148
+ '1.': 'decimal',
153
149
  };
154
150
  return (corrections[format] ?? format);
155
151
  }
156
152
  toXML() {
157
153
  const children = [];
158
- children.push(XMLBuilder_1.XMLBuilder.wSelf("start", { "w:val": this.properties.start.toString() }));
159
- children.push(XMLBuilder_1.XMLBuilder.wSelf("numFmt", { "w:val": this.properties.format }));
154
+ children.push(XMLBuilder_1.XMLBuilder.wSelf('start', { 'w:val': this.properties.start.toString() }));
155
+ children.push(XMLBuilder_1.XMLBuilder.wSelf('numFmt', { 'w:val': this.properties.format }));
160
156
  if (this.properties.lvlRestart !== undefined) {
161
- children.push(XMLBuilder_1.XMLBuilder.wSelf("lvlRestart", { "w:val": this.properties.lvlRestart.toString() }));
157
+ children.push(XMLBuilder_1.XMLBuilder.wSelf('lvlRestart', { 'w:val': this.properties.lvlRestart.toString() }));
162
158
  }
163
159
  if (this.properties.pStyle) {
164
- children.push(XMLBuilder_1.XMLBuilder.wSelf("pStyle", { "w:val": this.properties.pStyle }));
160
+ children.push(XMLBuilder_1.XMLBuilder.wSelf('pStyle', { 'w:val': this.properties.pStyle }));
165
161
  }
166
162
  if (this.properties.isLegalNumberingStyle) {
167
- children.push(XMLBuilder_1.XMLBuilder.wSelf("isLgl"));
163
+ children.push(XMLBuilder_1.XMLBuilder.wSelf('isLgl'));
168
164
  }
169
165
  if (this.properties.suffix) {
170
- children.push(XMLBuilder_1.XMLBuilder.wSelf("suff", { "w:val": this.properties.suffix }));
166
+ children.push(XMLBuilder_1.XMLBuilder.wSelf('suff', { 'w:val': this.properties.suffix }));
171
167
  }
172
- children.push(XMLBuilder_1.XMLBuilder.wSelf("lvlText", { "w:val": this.properties.text }));
173
- children.push(XMLBuilder_1.XMLBuilder.wSelf("lvlJc", { "w:val": this.properties.alignment }));
174
- const ind = XMLBuilder_1.XMLBuilder.wSelf("ind", {
175
- "w:left": this.properties.leftIndent.toString(),
176
- "w:hanging": this.properties.hangingIndent.toString(),
168
+ children.push(XMLBuilder_1.XMLBuilder.wSelf('lvlText', { 'w:val': this.properties.text }));
169
+ children.push(XMLBuilder_1.XMLBuilder.wSelf('lvlJc', { 'w:val': this.properties.alignment }));
170
+ const ind = XMLBuilder_1.XMLBuilder.wSelf('ind', {
171
+ 'w:left': this.properties.leftIndent.toString(),
172
+ 'w:hanging': this.properties.hangingIndent.toString(),
177
173
  });
178
- const pPr = XMLBuilder_1.XMLBuilder.w("pPr", undefined, [ind]);
174
+ const pPr = XMLBuilder_1.XMLBuilder.w('pPr', undefined, [ind]);
179
175
  children.push(pPr);
180
176
  const rPrChildren = [];
181
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("rFonts", {
182
- "w:ascii": this.properties.font,
183
- "w:hAnsi": this.properties.font,
184
- "w:cs": this.properties.font,
185
- "w:hint": "default",
177
+ rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('rFonts', {
178
+ 'w:ascii': this.properties.font,
179
+ 'w:hAnsi': this.properties.font,
180
+ 'w:cs': this.properties.font,
181
+ 'w:hint': 'default',
186
182
  }));
187
183
  if (this.properties.bold) {
188
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("b"));
189
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("bCs"));
184
+ rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('b'));
185
+ rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('bCs'));
190
186
  }
191
187
  if (this.properties.italic) {
192
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("i"));
193
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("iCs"));
188
+ rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('i'));
189
+ rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('iCs'));
194
190
  }
195
191
  if (this.properties.underline) {
196
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("u", { "w:val": this.properties.underline }));
192
+ rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('u', { 'w:val': this.properties.underline }));
197
193
  }
198
194
  if (this.properties.color) {
199
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("color", { "w:val": this.properties.color }));
195
+ rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('color', { 'w:val': this.properties.color }));
200
196
  }
201
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("sz", { "w:val": this.properties.fontSize.toString() }));
202
- rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf("szCs", { "w:val": this.properties.fontSize.toString() }));
203
- const rPr = XMLBuilder_1.XMLBuilder.w("rPr", undefined, rPrChildren);
197
+ rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('sz', { 'w:val': this.properties.fontSize.toString() }));
198
+ rPrChildren.push(XMLBuilder_1.XMLBuilder.wSelf('szCs', { 'w:val': this.properties.fontSize.toString() }));
199
+ const rPr = XMLBuilder_1.XMLBuilder.w('rPr', undefined, rPrChildren);
204
200
  children.push(rPr);
205
- return XMLBuilder_1.XMLBuilder.w("lvl", { "w:ilvl": this.properties.level.toString() }, children);
201
+ return XMLBuilder_1.XMLBuilder.w('lvl', { 'w:ilvl': this.properties.level.toString() }, children);
206
202
  }
207
- static getBulletSymbolWithFont(level, style = "standard") {
203
+ static getBulletSymbolWithFont(level, style = 'standard') {
208
204
  const bulletSets = {
209
205
  standard: [
210
206
  {
@@ -245,50 +241,50 @@ class NumberingLevel {
245
241
  },
246
242
  ],
247
243
  circle: [
248
- { symbol: "", font: "Calibri" },
249
- { symbol: "", font: "Calibri" },
250
- { symbol: "", font: "Calibri" },
251
- { symbol: "", font: "Calibri" },
252
- { symbol: "⦿", font: "Calibri" },
253
- { symbol: "", font: "Calibri" },
254
- { symbol: "", font: "Calibri" },
255
- { symbol: "", font: "Calibri" },
256
- { symbol: "", font: "Calibri" },
244
+ { symbol: '', font: 'Calibri' },
245
+ { symbol: '', font: 'Calibri' },
246
+ { symbol: '', font: 'Calibri' },
247
+ { symbol: '', font: 'Calibri' },
248
+ { symbol: '⦿', font: 'Calibri' },
249
+ { symbol: '', font: 'Calibri' },
250
+ { symbol: '', font: 'Calibri' },
251
+ { symbol: '', font: 'Calibri' },
252
+ { symbol: '', font: 'Calibri' },
257
253
  ],
258
254
  square: [
259
- { symbol: "", font: "Calibri" },
260
- { symbol: "", font: "Calibri" },
261
- { symbol: "", font: "Calibri" },
262
- { symbol: "", font: "Calibri" },
263
- { symbol: "", font: "Calibri" },
264
- { symbol: "", font: "Calibri" },
265
- { symbol: "", font: "Calibri" },
266
- { symbol: "", font: "Calibri" },
267
- { symbol: "", font: "Calibri" },
255
+ { symbol: '', font: 'Calibri' },
256
+ { symbol: '', font: 'Calibri' },
257
+ { symbol: '', font: 'Calibri' },
258
+ { symbol: '', font: 'Calibri' },
259
+ { symbol: '', font: 'Calibri' },
260
+ { symbol: '', font: 'Calibri' },
261
+ { symbol: '', font: 'Calibri' },
262
+ { symbol: '', font: 'Calibri' },
263
+ { symbol: '', font: 'Calibri' },
268
264
  ],
269
265
  arrow: [
270
- { symbol: "", font: "Calibri" },
271
- { symbol: "", font: "Calibri" },
272
- { symbol: "", font: "Calibri" },
273
- { symbol: "", font: "Calibri" },
274
- { symbol: "", font: "Calibri" },
275
- { symbol: "", font: "Calibri" },
276
- { symbol: "", font: "Calibri" },
277
- { symbol: "", font: "Calibri" },
278
- { symbol: "", font: "Calibri" },
266
+ { symbol: '', font: 'Calibri' },
267
+ { symbol: '', font: 'Calibri' },
268
+ { symbol: '', font: 'Calibri' },
269
+ { symbol: '', font: 'Calibri' },
270
+ { symbol: '', font: 'Calibri' },
271
+ { symbol: '', font: 'Calibri' },
272
+ { symbol: '', font: 'Calibri' },
273
+ { symbol: '', font: 'Calibri' },
274
+ { symbol: '', font: 'Calibri' },
279
275
  ],
280
276
  check: [
281
- { symbol: "", font: "Calibri" },
282
- { symbol: "", font: "Calibri" },
283
- { symbol: "", font: "Calibri" },
284
- { symbol: "", font: "Calibri" },
285
- { symbol: "", font: "Calibri" },
286
- { symbol: "", font: "Calibri" },
287
- { symbol: "", font: "Calibri" },
288
- { symbol: "", font: "Calibri" },
289
- { symbol: "", font: "Calibri" },
277
+ { symbol: '', font: 'Calibri' },
278
+ { symbol: '', font: 'Calibri' },
279
+ { symbol: '', font: 'Calibri' },
280
+ { symbol: '', font: 'Calibri' },
281
+ { symbol: '', font: 'Calibri' },
282
+ { symbol: '', font: 'Calibri' },
283
+ { symbol: '', font: 'Calibri' },
284
+ { symbol: '', font: 'Calibri' },
285
+ { symbol: '', font: 'Calibri' },
290
286
  ],
291
- "word-native": [
287
+ 'word-native': [
292
288
  {
293
289
  symbol: exports.WORD_NATIVE_BULLETS.FILLED_BULLET.char,
294
290
  font: exports.WORD_NATIVE_BULLETS.FILLED_BULLET.font,
@@ -330,7 +326,7 @@ class NumberingLevel {
330
326
  const selectedSet = bulletSets[style];
331
327
  const levelIndex = level % selectedSet.length;
332
328
  const result = selectedSet[levelIndex];
333
- return result || { symbol: "", font: "Calibri" };
329
+ return result || { symbol: '', font: 'Calibri' };
334
330
  }
335
331
  static calculateStandardIndentation(level) {
336
332
  if (level < 0 || level > 8) {
@@ -346,28 +342,28 @@ class NumberingLevel {
346
342
  throw new Error(`Invalid level ${level}. Level must be between 0 and 8.`);
347
343
  }
348
344
  const formats = [
349
- "decimal",
350
- "lowerLetter",
351
- "lowerRoman",
352
- "upperLetter",
353
- "upperRoman",
345
+ 'decimal',
346
+ 'lowerLetter',
347
+ 'lowerRoman',
348
+ 'upperLetter',
349
+ 'upperRoman',
354
350
  ];
355
351
  const result = formats[level % formats.length];
356
- return result || "decimal";
352
+ return result || 'decimal';
357
353
  }
358
354
  static createBulletLevel(level, bullet, font) {
359
- const defaults = NumberingLevel.getBulletSymbolWithFont(level, "standard");
355
+ const defaults = NumberingLevel.getBulletSymbolWithFont(level, 'standard');
360
356
  const actualBullet = bullet ?? defaults.symbol;
361
357
  const actualFont = font ?? defaults.font;
362
358
  return new NumberingLevel({
363
359
  level,
364
- format: "bullet",
360
+ format: 'bullet',
365
361
  text: actualBullet,
366
- alignment: "left",
362
+ alignment: 'left',
367
363
  font: actualFont,
368
364
  fontSize: 24,
369
365
  bold: false,
370
- color: "000000",
366
+ color: '000000',
371
367
  leftIndent: 720 + level * 360,
372
368
  hangingIndent: 360,
373
369
  });
@@ -375,13 +371,13 @@ class NumberingLevel {
375
371
  static createDecimalLevel(level, template = `%${level + 1}.`) {
376
372
  return new NumberingLevel({
377
373
  level,
378
- format: "decimal",
374
+ format: 'decimal',
379
375
  text: template,
380
- alignment: "left",
381
- font: "Verdana",
376
+ alignment: 'left',
377
+ font: 'Verdana',
382
378
  fontSize: 24,
383
379
  bold: false,
384
- color: "000000",
380
+ color: '000000',
385
381
  leftIndent: 720 + level * 360,
386
382
  hangingIndent: 360,
387
383
  });
@@ -389,13 +385,13 @@ class NumberingLevel {
389
385
  static createLowerRomanLevel(level, template = `%${level + 1}.`) {
390
386
  return new NumberingLevel({
391
387
  level,
392
- format: "lowerRoman",
388
+ format: 'lowerRoman',
393
389
  text: template,
394
- alignment: "left",
395
- font: "Verdana",
390
+ alignment: 'left',
391
+ font: 'Verdana',
396
392
  fontSize: 24,
397
393
  bold: false,
398
- color: "000000",
394
+ color: '000000',
399
395
  leftIndent: 720 + level * 360,
400
396
  hangingIndent: 360,
401
397
  });
@@ -403,13 +399,13 @@ class NumberingLevel {
403
399
  static createUpperRomanLevel(level, template = `%${level + 1}.`) {
404
400
  return new NumberingLevel({
405
401
  level,
406
- format: "upperRoman",
402
+ format: 'upperRoman',
407
403
  text: template,
408
- alignment: "left",
409
- font: "Verdana",
404
+ alignment: 'left',
405
+ font: 'Verdana',
410
406
  fontSize: 24,
411
407
  bold: false,
412
- color: "000000",
408
+ color: '000000',
413
409
  leftIndent: 720 + level * 360,
414
410
  hangingIndent: 360,
415
411
  });
@@ -417,13 +413,13 @@ class NumberingLevel {
417
413
  static createLowerLetterLevel(level, template = `%${level + 1}.`) {
418
414
  return new NumberingLevel({
419
415
  level,
420
- format: "lowerLetter",
416
+ format: 'lowerLetter',
421
417
  text: template,
422
- alignment: "left",
423
- font: "Verdana",
418
+ alignment: 'left',
419
+ font: 'Verdana',
424
420
  fontSize: 24,
425
421
  bold: false,
426
- color: "000000",
422
+ color: '000000',
427
423
  leftIndent: 720 + level * 360,
428
424
  hangingIndent: 360,
429
425
  });
@@ -431,13 +427,13 @@ class NumberingLevel {
431
427
  static createUpperLetterLevel(level, template = `%${level + 1}.`) {
432
428
  return new NumberingLevel({
433
429
  level,
434
- format: "upperLetter",
430
+ format: 'upperLetter',
435
431
  text: template,
436
- alignment: "left",
437
- font: "Verdana",
432
+ alignment: 'left',
433
+ font: 'Verdana',
438
434
  fontSize: 24,
439
435
  bold: false,
440
- color: "000000",
436
+ color: '000000',
441
437
  leftIndent: 720 + level * 360,
442
438
  hangingIndent: 360,
443
439
  });
@@ -448,24 +444,22 @@ class NumberingLevel {
448
444
  static fromXML(xml) {
449
445
  const ilvlMatch = /<w:lvl[^>]*w:ilvl="([^"]+)"/.exec(xml);
450
446
  if (!ilvlMatch?.[1]) {
451
- throw new Error("Missing required w:ilvl attribute");
447
+ throw new Error('Missing required w:ilvl attribute');
452
448
  }
453
449
  const level = parseInt(ilvlMatch[1], 10);
454
450
  const numFmtMatch = /<w:numFmt[^>]*w:val="([^"]+)"/.exec(xml);
455
451
  if (!numFmtMatch?.[1]) {
456
- throw new Error("Missing required w:numFmt element");
452
+ throw new Error('Missing required w:numFmt element');
457
453
  }
458
454
  const format = NumberingLevel.normalizeFormat(numFmtMatch[1]);
459
455
  const lvlTextMatch = /<w:lvlText[^>]*w:val="([^"]*)"/.exec(xml);
460
- const text = lvlTextMatch?.[1] !== undefined ? lvlTextMatch[1] : "";
456
+ const text = lvlTextMatch?.[1] !== undefined ? lvlTextMatch[1] : '';
461
457
  const lvlJcMatch = /<w:lvlJc[^>]*w:val="([^"]+)"/.exec(xml);
462
- const alignment = (lvlJcMatch?.[1] ? lvlJcMatch[1] : "left");
458
+ const alignment = (lvlJcMatch?.[1] ? lvlJcMatch[1] : 'left');
463
459
  const startMatch = /<w:start[^>]*w:val="([^"]+)"/.exec(xml);
464
460
  const start = startMatch?.[1] ? parseInt(startMatch[1], 10) : 1;
465
461
  const suffixMatch = /<w:suff[^>]*w:val="([^"]+)"/.exec(xml);
466
- const suffix = suffixMatch?.[1]
467
- ? suffixMatch[1]
468
- : "tab";
462
+ const suffix = suffixMatch?.[1] ? suffixMatch[1] : 'tab';
469
463
  let lvlRestart;
470
464
  const lvlRestartMatch = /<w:lvlRestart[^>]*w:val="([^"]+)"/.exec(xml);
471
465
  if (lvlRestartMatch?.[1]) {
@@ -488,7 +482,7 @@ class NumberingLevel {
488
482
  if (hangingMatch?.[1])
489
483
  hangingIndent = parseInt(hangingMatch[1], 10);
490
484
  }
491
- let font = "Calibri";
485
+ let font = 'Calibri';
492
486
  let fontSize = 22;
493
487
  const rFontsMatch = /<w:rFonts[^>]*\/>/.exec(xml);
494
488
  if (rFontsMatch) {