@syncfusion/ej2-docx 0.0.0-stage → 35.1.40

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 (417) hide show
  1. package/.gitleaksignore +35 -0
  2. package/README.md +68 -2
  3. package/core.js +4 -0
  4. package/dist/ej2-docx.umd.min.js +11 -0
  5. package/dist/ej2-docx.umd.min.js.map +1 -0
  6. package/dist/es6/ej2-docx.es2015.js +66697 -0
  7. package/dist/es6/ej2-docx.es2015.js.map +1 -0
  8. package/dist/es6/ej2-docx.es5.js +77568 -0
  9. package/dist/es6/ej2-docx.es5.js.map +1 -0
  10. package/dist/global/ej2-docx.min.js +11 -0
  11. package/dist/global/ej2-docx.min.js.map +1 -0
  12. package/dist/global/index.d.ts +14 -0
  13. package/features.js +4 -0
  14. package/index.js +4 -0
  15. package/license +10 -0
  16. package/package.json +30 -3
  17. package/src/all.d.ts +50 -0
  18. package/src/all.js +147 -0
  19. package/src/core/compat/base64.d.ts +13 -0
  20. package/src/core/compat/base64.js +90 -0
  21. package/src/core/compat/object-compat.d.ts +30 -0
  22. package/src/core/compat/object-compat.js +40 -0
  23. package/src/core/compat/sha256.d.ts +9 -0
  24. package/src/core/compat/sha256.js +98 -0
  25. package/src/core/errors/docx-error.d.ts +89 -0
  26. package/src/core/errors/docx-error.js +138 -0
  27. package/src/core/errors/error-codes.d.ts +8 -0
  28. package/src/core/errors/error-codes.js +0 -0
  29. package/src/core/errors/index.d.ts +10 -0
  30. package/src/core/errors/index.js +9 -0
  31. package/src/core/index.d.ts +12 -0
  32. package/src/core/index.js +12 -0
  33. package/src/core/mc/alternate-content.d.ts +7 -0
  34. package/src/core/mc/alternate-content.js +67 -0
  35. package/src/core/mc/attributes.d.ts +24 -0
  36. package/src/core/mc/attributes.js +82 -0
  37. package/src/core/mc/index.d.ts +7 -0
  38. package/src/core/mc/index.js +5 -0
  39. package/src/core/mc/inspect.d.ts +16 -0
  40. package/src/core/mc/inspect.js +148 -0
  41. package/src/core/mc/namespaces.d.ts +4 -0
  42. package/src/core/mc/namespaces.js +4 -0
  43. package/src/core/mc/scope.d.ts +6 -0
  44. package/src/core/mc/scope.js +47 -0
  45. package/src/core/opc/content-types.d.ts +34 -0
  46. package/src/core/opc/content-types.js +162 -0
  47. package/src/core/opc/index.d.ts +8 -0
  48. package/src/core/opc/index.js +4 -0
  49. package/src/core/opc/package.d.ts +49 -0
  50. package/src/core/opc/package.js +324 -0
  51. package/src/core/opc/part-name.d.ts +47 -0
  52. package/src/core/opc/part-name.js +205 -0
  53. package/src/core/opc/relationships.d.ts +46 -0
  54. package/src/core/opc/relationships.js +212 -0
  55. package/src/core/preservation/index.d.ts +2 -0
  56. package/src/core/preservation/index.js +1 -0
  57. package/src/core/preservation/opaque-body.d.ts +16 -0
  58. package/src/core/preservation/opaque-body.js +69 -0
  59. package/src/core/registry/block-handlers.d.ts +30 -0
  60. package/src/core/registry/block-handlers.js +36 -0
  61. package/src/core/registry/create-defaults.d.ts +39 -0
  62. package/src/core/registry/create-defaults.js +42 -0
  63. package/src/core/registry/feature-registry.d.ts +20 -0
  64. package/src/core/registry/feature-registry.js +29 -0
  65. package/src/core/registry/index.d.ts +9 -0
  66. package/src/core/registry/index.js +8 -0
  67. package/src/core/registry/inline-handlers.d.ts +20 -0
  68. package/src/core/registry/inline-handlers.js +30 -0
  69. package/src/core/registry/materialize-handlers.d.ts +35 -0
  70. package/src/core/registry/materialize-handlers.js +75 -0
  71. package/src/core/registry/multi-part-handlers.d.ts +37 -0
  72. package/src/core/registry/multi-part-handlers.js +206 -0
  73. package/src/core/registry/package-part-handlers.d.ts +28 -0
  74. package/src/core/registry/package-part-handlers.js +190 -0
  75. package/src/core/registry/part-handlers.d.ts +24 -0
  76. package/src/core/registry/part-handlers.js +172 -0
  77. package/src/core/registry/run-leaf-handlers.d.ts +26 -0
  78. package/src/core/registry/run-leaf-handlers.js +72 -0
  79. package/src/core/security/limits.d.ts +40 -0
  80. package/src/core/security/limits.js +26 -0
  81. package/src/core/xml/index.d.ts +7 -0
  82. package/src/core/xml/index.js +3 -0
  83. package/src/core/xml/model.d.ts +66 -0
  84. package/src/core/xml/model.js +17 -0
  85. package/src/core/xml/parse.d.ts +12 -0
  86. package/src/core/xml/parse.js +382 -0
  87. package/src/core/xml/serialize.d.ts +6 -0
  88. package/src/core/xml/serialize.js +93 -0
  89. package/src/core/zip/crc32.d.ts +2 -0
  90. package/src/core/zip/crc32.js +25 -0
  91. package/src/core/zip/deflate.d.ts +6 -0
  92. package/src/core/zip/deflate.js +6 -0
  93. package/src/core/zip/index.d.ts +10 -0
  94. package/src/core/zip/index.js +4 -0
  95. package/src/core/zip/inflate-raw.d.ts +17 -0
  96. package/src/core/zip/inflate-raw.js +450 -0
  97. package/src/core/zip/names.d.ts +6 -0
  98. package/src/core/zip/names.js +52 -0
  99. package/src/core/zip/read.d.ts +8 -0
  100. package/src/core/zip/read.js +262 -0
  101. package/src/core/zip/write.d.ts +7 -0
  102. package/src/core/zip/write.js +189 -0
  103. package/src/core/zip/zip-entry.d.ts +4 -0
  104. package/src/core/zip/zip-entry.js +0 -0
  105. package/src/features/bibliography/index.d.ts +100 -0
  106. package/src/features/bibliography/index.js +290 -0
  107. package/src/features/bookmarks/index.d.ts +331 -0
  108. package/src/features/bookmarks/index.js +1009 -0
  109. package/src/features/comments/comment-extensions.d.ts +157 -0
  110. package/src/features/comments/comment-extensions.js +356 -0
  111. package/src/features/comments/index.d.ts +579 -0
  112. package/src/features/comments/index.js +1727 -0
  113. package/src/features/content-controls/index.d.ts +821 -0
  114. package/src/features/content-controls/index.js +2857 -0
  115. package/src/features/custom-xml/index.d.ts +236 -0
  116. package/src/features/custom-xml/index.js +661 -0
  117. package/src/features/document/alignment.d.ts +23 -0
  118. package/src/features/document/alignment.js +36 -0
  119. package/src/features/document/alt-chunk.d.ts +103 -0
  120. package/src/features/document/alt-chunk.js +221 -0
  121. package/src/features/document/assert-never.d.ts +1 -0
  122. package/src/features/document/assert-never.js +4 -0
  123. package/src/features/document/augmentations.d.ts +578 -0
  124. package/src/features/document/augmentations.js +0 -0
  125. package/src/features/document/body-always-on.d.ts +36 -0
  126. package/src/features/document/body-always-on.js +66 -0
  127. package/src/features/document/body-blocks.d.ts +7 -0
  128. package/src/features/document/body-blocks.js +78 -0
  129. package/src/features/document/body-item-adapters.d.ts +62 -0
  130. package/src/features/document/body-item-adapters.js +97 -0
  131. package/src/features/document/body-item-collection.d.ts +151 -0
  132. package/src/features/document/body-item-collection.js +440 -0
  133. package/src/features/document/body-item.d.ts +35 -0
  134. package/src/features/document/body-item.js +8 -0
  135. package/src/features/document/body.d.ts +150 -0
  136. package/src/features/document/body.js +263 -0
  137. package/src/features/document/character-format.d.ts +413 -0
  138. package/src/features/document/character-format.js +2054 -0
  139. package/src/features/document/color.d.ts +178 -0
  140. package/src/features/document/color.js +495 -0
  141. package/src/features/document/document.d.ts +410 -0
  142. package/src/features/document/document.js +1049 -0
  143. package/src/features/document/element-type.d.ts +68 -0
  144. package/src/features/document/element-type.js +133 -0
  145. package/src/features/document/entity-type.d.ts +92 -0
  146. package/src/features/document/entity-type.js +93 -0
  147. package/src/features/document/feature-block.d.ts +16 -0
  148. package/src/features/document/feature-block.js +0 -0
  149. package/src/features/document/feature-inline.d.ts +13 -0
  150. package/src/features/document/feature-inline.js +0 -0
  151. package/src/features/document/feature-multi-package-part.d.ts +19 -0
  152. package/src/features/document/feature-multi-package-part.js +8 -0
  153. package/src/features/document/feature-package-level-part.d.ts +18 -0
  154. package/src/features/document/feature-package-level-part.js +8 -0
  155. package/src/features/document/feature-package-part.d.ts +14 -0
  156. package/src/features/document/feature-package-part.js +0 -0
  157. package/src/features/document/feature-run-leaf.d.ts +9 -0
  158. package/src/features/document/feature-run-leaf.js +0 -0
  159. package/src/features/document/headers-footers.d.ts +206 -0
  160. package/src/features/document/headers-footers.js +384 -0
  161. package/src/features/document/index.d.ts +41 -0
  162. package/src/features/document/index.js +34 -0
  163. package/src/features/document/length.d.ts +152 -0
  164. package/src/features/document/length.js +245 -0
  165. package/src/features/document/load-options.d.ts +14 -0
  166. package/src/features/document/load-options.js +0 -0
  167. package/src/features/document/locale-ids.d.ts +227 -0
  168. package/src/features/document/locale-ids.js +485 -0
  169. package/src/features/document/on-off.d.ts +9 -0
  170. package/src/features/document/on-off.js +27 -0
  171. package/src/features/document/page-setup.d.ts +339 -0
  172. package/src/features/document/page-setup.js +244 -0
  173. package/src/features/document/paragraph-format.d.ts +880 -0
  174. package/src/features/document/paragraph-format.js +2807 -0
  175. package/src/features/document/paragraph-item-collection.d.ts +162 -0
  176. package/src/features/document/paragraph-item-collection.js +363 -0
  177. package/src/features/document/paragraph-item.d.ts +83 -0
  178. package/src/features/document/paragraph-item.js +103 -0
  179. package/src/features/document/paragraph.d.ts +435 -0
  180. package/src/features/document/paragraph.js +888 -0
  181. package/src/features/document/run.d.ts +1 -0
  182. package/src/features/document/run.js +768 -0
  183. package/src/features/document/section-partition-flatten.d.ts +124 -0
  184. package/src/features/document/section-partition-flatten.js +217 -0
  185. package/src/features/document/section-properties-model.d.ts +13 -0
  186. package/src/features/document/section-properties-model.js +0 -0
  187. package/src/features/document/section.d.ts +93 -0
  188. package/src/features/document/section.js +178 -0
  189. package/src/features/document/sections.d.ts +103 -0
  190. package/src/features/document/sections.js +217 -0
  191. package/src/features/document/sub-super-script.d.ts +23 -0
  192. package/src/features/document/sub-super-script.js +43 -0
  193. package/src/features/document/text-range.d.ts +445 -0
  194. package/src/features/document/text-range.js +1156 -0
  195. package/src/features/document/typed-body-collections.d.ts +162 -0
  196. package/src/features/document/typed-body-collections.js +371 -0
  197. package/src/features/document/underline-style.d.ts +38 -0
  198. package/src/features/document/underline-style.js +126 -0
  199. package/src/features/document/units.d.ts +8 -0
  200. package/src/features/document/units.js +7 -0
  201. package/src/features/document/wml.d.ts +16 -0
  202. package/src/features/document/wml.js +67 -0
  203. package/src/features/drawing/authoring.d.ts +27 -0
  204. package/src/features/drawing/authoring.js +271 -0
  205. package/src/features/drawing/body-pr.d.ts +271 -0
  206. package/src/features/drawing/body-pr.js +663 -0
  207. package/src/features/drawing/drawing-shape.d.ts +1192 -0
  208. package/src/features/drawing/drawing-shape.js +3239 -0
  209. package/src/features/drawing/encode-builders.d.ts +176 -0
  210. package/src/features/drawing/encode-builders.js +390 -0
  211. package/src/features/drawing/fill-format.d.ts +52 -0
  212. package/src/features/drawing/fill-format.js +124 -0
  213. package/src/features/drawing/host-codec.d.ts +632 -0
  214. package/src/features/drawing/host-codec.js +2595 -0
  215. package/src/features/drawing/index.d.ts +13 -0
  216. package/src/features/drawing/index.js +33 -0
  217. package/src/features/drawing/line-format.d.ts +76 -0
  218. package/src/features/drawing/line-format.js +343 -0
  219. package/src/features/drawing/parse-register.d.ts +50 -0
  220. package/src/features/drawing/parse-register.js +257 -0
  221. package/src/features/drawing/residual-utils.d.ts +47 -0
  222. package/src/features/drawing/residual-utils.js +290 -0
  223. package/src/features/drawing/shape-types.d.ts +433 -0
  224. package/src/features/drawing/shape-types.js +437 -0
  225. package/src/features/drawing/sp-pr.d.ts +396 -0
  226. package/src/features/drawing/sp-pr.js +610 -0
  227. package/src/features/drawing/text-frame.d.ts +90 -0
  228. package/src/features/drawing/text-frame.js +152 -0
  229. package/src/features/drawing/types.d.ts +352 -0
  230. package/src/features/drawing/types.js +60 -0
  231. package/src/features/drawing/wrap-format.d.ts +62 -0
  232. package/src/features/drawing/wrap-format.js +114 -0
  233. package/src/features/editable-ranges/index.d.ts +494 -0
  234. package/src/features/editable-ranges/index.js +1348 -0
  235. package/src/features/fields/index.d.ts +428 -0
  236. package/src/features/fields/index.js +2148 -0
  237. package/src/features/fields/paragraph-field.d.ts +187 -0
  238. package/src/features/fields/paragraph-field.js +692 -0
  239. package/src/features/font-table/font-substitution-table.d.ts +75 -0
  240. package/src/features/font-table/font-substitution-table.js +257 -0
  241. package/src/features/font-table/font-table-entry.d.ts +255 -0
  242. package/src/features/font-table/font-table-entry.js +823 -0
  243. package/src/features/font-table/font-table.d.ts +128 -0
  244. package/src/features/font-table/font-table.js +313 -0
  245. package/src/features/font-table/index.d.ts +27 -0
  246. package/src/features/font-table/index.js +48 -0
  247. package/src/features/glossary/index.d.ts +97 -0
  248. package/src/features/glossary/index.js +286 -0
  249. package/src/features/headers-footers/index.d.ts +506 -0
  250. package/src/features/headers-footers/index.js +1666 -0
  251. package/src/features/hyperlinks/index.d.ts +230 -0
  252. package/src/features/hyperlinks/index.js +685 -0
  253. package/src/features/images/caption-authoring-api.d.ts +33 -0
  254. package/src/features/images/caption-authoring-api.js +33 -0
  255. package/src/features/images/caption-enums.d.ts +52 -0
  256. package/src/features/images/caption-enums.js +141 -0
  257. package/src/features/images/caption-host.d.ts +10 -0
  258. package/src/features/images/caption-host.js +21 -0
  259. package/src/features/images/captions.d.ts +13 -0
  260. package/src/features/images/captions.js +142 -0
  261. package/src/features/images/host-codec.d.ts +103 -0
  262. package/src/features/images/host-codec.js +720 -0
  263. package/src/features/images/image-sniff.d.ts +21 -0
  264. package/src/features/images/image-sniff.js +71 -0
  265. package/src/features/images/index.d.ts +506 -0
  266. package/src/features/images/index.js +1429 -0
  267. package/src/features/images/layout-types.d.ts +232 -0
  268. package/src/features/images/layout-types.js +294 -0
  269. package/src/features/images/public-entry.d.ts +9 -0
  270. package/src/features/images/public-entry.js +9 -0
  271. package/src/features/index.d.ts +35 -0
  272. package/src/features/index.js +36 -0
  273. package/src/features/mail-merge/index.d.ts +113 -0
  274. package/src/features/mail-merge/index.js +315 -0
  275. package/src/features/notes/index.d.ts +573 -0
  276. package/src/features/notes/index.js +1725 -0
  277. package/src/features/numbering/abstract-numbering.d.ts +90 -0
  278. package/src/features/numbering/abstract-numbering.js +292 -0
  279. package/src/features/numbering/index.d.ts +182 -0
  280. package/src/features/numbering/index.js +668 -0
  281. package/src/features/numbering/list-format.d.ts +158 -0
  282. package/src/features/numbering/list-format.js +590 -0
  283. package/src/features/numbering/list-string.d.ts +7 -0
  284. package/src/features/numbering/list-string.js +423 -0
  285. package/src/features/numbering/list-style.d.ts +204 -0
  286. package/src/features/numbering/list-style.js +1084 -0
  287. package/src/features/numbering/numbering-instance.d.ts +101 -0
  288. package/src/features/numbering/numbering-instance.js +329 -0
  289. package/src/features/numbering/numbering-level.d.ts +118 -0
  290. package/src/features/numbering/numbering-level.js +501 -0
  291. package/src/features/numbering/picture-bullet.d.ts +34 -0
  292. package/src/features/numbering/picture-bullet.js +88 -0
  293. package/src/features/ole-object/catalog.d.ts +300 -0
  294. package/src/features/ole-object/catalog.js +908 -0
  295. package/src/features/ole-object/index.d.ts +526 -0
  296. package/src/features/ole-object/index.js +1421 -0
  297. package/src/features/ole-object/relationship.d.ts +27 -0
  298. package/src/features/ole-object/relationship.js +27 -0
  299. package/src/features/ole-object/typed-dom.d.ts +186 -0
  300. package/src/features/ole-object/typed-dom.js +595 -0
  301. package/src/features/properties/index.d.ts +205 -0
  302. package/src/features/properties/index.js +549 -0
  303. package/src/features/revisions/index.d.ts +204 -0
  304. package/src/features/revisions/index.js +695 -0
  305. package/src/features/sections/column-collection.d.ts +119 -0
  306. package/src/features/sections/column-collection.js +478 -0
  307. package/src/features/sections/column.d.ts +15 -0
  308. package/src/features/sections/column.js +37 -0
  309. package/src/features/sections/index.d.ts +91 -0
  310. package/src/features/sections/index.js +1096 -0
  311. package/src/features/sections/margins.d.ts +40 -0
  312. package/src/features/sections/margins.js +105 -0
  313. package/src/features/sections/page-number-style.d.ts +21 -0
  314. package/src/features/sections/page-number-style.js +62 -0
  315. package/src/features/sections/page-orientation.d.ts +10 -0
  316. package/src/features/sections/page-orientation.js +10 -0
  317. package/src/features/sections/page-setup.d.ts +435 -0
  318. package/src/features/sections/page-setup.js +1479 -0
  319. package/src/features/sections/page-size.d.ts +59 -0
  320. package/src/features/sections/page-size.js +68 -0
  321. package/src/features/sections/section-break-code.d.ts +27 -0
  322. package/src/features/sections/section-break-code.js +60 -0
  323. package/src/features/sections/section-document-association.d.ts +18 -0
  324. package/src/features/sections/section-document-association.js +31 -0
  325. package/src/features/sections/section-validation.d.ts +43 -0
  326. package/src/features/sections/section-validation.js +97 -0
  327. package/src/features/settings/attached-template.d.ts +35 -0
  328. package/src/features/settings/attached-template.js +98 -0
  329. package/src/features/settings/compat-settings.d.ts +216 -0
  330. package/src/features/settings/compat-settings.js +508 -0
  331. package/src/features/settings/document-background.d.ts +59 -0
  332. package/src/features/settings/document-background.js +131 -0
  333. package/src/features/settings/document-protection.d.ts +65 -0
  334. package/src/features/settings/document-protection.js +157 -0
  335. package/src/features/settings/document-settings-facades.d.ts +108 -0
  336. package/src/features/settings/document-settings-facades.js +312 -0
  337. package/src/features/settings/document-settings-values.d.ts +43 -0
  338. package/src/features/settings/document-settings-values.js +60 -0
  339. package/src/features/settings/footnote-properties.d.ts +211 -0
  340. package/src/features/settings/footnote-properties.js +591 -0
  341. package/src/features/settings/index.d.ts +356 -0
  342. package/src/features/settings/index.js +829 -0
  343. package/src/features/settings/settings-children.d.ts +151 -0
  344. package/src/features/settings/settings-children.js +505 -0
  345. package/src/features/settings/web-settings.d.ts +88 -0
  346. package/src/features/settings/web-settings.js +227 -0
  347. package/src/features/settings/zoom.d.ts +79 -0
  348. package/src/features/settings/zoom.js +147 -0
  349. package/src/features/styles/builtin-catalog.d.ts +159 -0
  350. package/src/features/styles/builtin-catalog.js +963 -0
  351. package/src/features/styles/builtin-resolver.d.ts +49 -0
  352. package/src/features/styles/builtin-resolver.js +165 -0
  353. package/src/features/styles/default-styles.d.ts +37 -0
  354. package/src/features/styles/default-styles.js +186 -0
  355. package/src/features/styles/default-theme.d.ts +13 -0
  356. package/src/features/styles/default-theme.js +13 -0
  357. package/src/features/styles/doc-defaults.d.ts +58 -0
  358. package/src/features/styles/doc-defaults.js +178 -0
  359. package/src/features/styles/formatting-resolver.d.ts +27 -0
  360. package/src/features/styles/formatting-resolver.js +72 -0
  361. package/src/features/styles/index.d.ts +256 -0
  362. package/src/features/styles/index.js +1325 -0
  363. package/src/features/styles/latent-styles.d.ts +68 -0
  364. package/src/features/styles/latent-styles.js +305 -0
  365. package/src/features/styles/paragraph-properties.d.ts +71 -0
  366. package/src/features/styles/paragraph-properties.js +237 -0
  367. package/src/features/styles/run-properties.d.ts +93 -0
  368. package/src/features/styles/run-properties.js +516 -0
  369. package/src/features/styles/style-base.d.ts +402 -0
  370. package/src/features/styles/style-base.js +1026 -0
  371. package/src/features/styles/style-collection.d.ts +264 -0
  372. package/src/features/styles/style-collection.js +714 -0
  373. package/src/features/styles/style-format-bridge.d.ts +64 -0
  374. package/src/features/styles/style-format-bridge.js +100 -0
  375. package/src/features/styles/style.d.ts +84 -0
  376. package/src/features/styles/style.js +375 -0
  377. package/src/features/styles/styles-with-effects.d.ts +71 -0
  378. package/src/features/styles/styles-with-effects.js +180 -0
  379. package/src/features/styles/table-style.d.ts +272 -0
  380. package/src/features/styles/table-style.js +1226 -0
  381. package/src/features/styles/theme.d.ts +126 -0
  382. package/src/features/styles/theme.js +377 -0
  383. package/src/features/tables/border-style-map.d.ts +24 -0
  384. package/src/features/tables/border-style-map.js +81 -0
  385. package/src/features/tables/borders.d.ts +126 -0
  386. package/src/features/tables/borders.js +527 -0
  387. package/src/features/tables/collections.d.ts +113 -0
  388. package/src/features/tables/collections.js +261 -0
  389. package/src/features/tables/format.d.ts +208 -0
  390. package/src/features/tables/format.js +716 -0
  391. package/src/features/tables/index.d.ts +597 -0
  392. package/src/features/tables/index.js +2386 -0
  393. package/src/features/tables/paddings.d.ts +41 -0
  394. package/src/features/tables/paddings.js +97 -0
  395. package/src/features/tables/tbl-pr-positioning.d.ts +27 -0
  396. package/src/features/tables/tbl-pr-positioning.js +178 -0
  397. package/src/features/tables/tbl-pr.d.ts +528 -0
  398. package/src/features/tables/tbl-pr.js +1208 -0
  399. package/src/features/tables/tc-pr.d.ts +168 -0
  400. package/src/features/tables/tc-pr.js +553 -0
  401. package/src/features/tables/tr-pr.d.ts +60 -0
  402. package/src/features/tables/tr-pr.js +215 -0
  403. package/src/features/watermark/detect.d.ts +76 -0
  404. package/src/features/watermark/detect.js +219 -0
  405. package/src/features/watermark/index.d.ts +28 -0
  406. package/src/features/watermark/index.js +91 -0
  407. package/src/features/watermark/logical-store.d.ts +29 -0
  408. package/src/features/watermark/logical-store.js +31 -0
  409. package/src/features/watermark/model.d.ts +285 -0
  410. package/src/features/watermark/model.js +597 -0
  411. package/src/features/watermark/parse.d.ts +84 -0
  412. package/src/features/watermark/parse.js +815 -0
  413. package/src/features/watermark/serialize.d.ts +98 -0
  414. package/src/features/watermark/serialize.js +1517 -0
  415. package/src/global.js +1 -0
  416. package/src/index.d.ts +2 -0
  417. package/src/index.js +2 -0
@@ -0,0 +1,668 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __read = (this && this.__read) || function (o, n) {
13
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
14
+ if (!m) return o;
15
+ var i = m.call(o), r, ar = [], e;
16
+ try {
17
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
18
+ }
19
+ catch (error) { e = { error: error }; }
20
+ finally {
21
+ try {
22
+ if (r && !r.done && (m = i["return"])) m.call(i);
23
+ }
24
+ finally { if (e) throw e.error; }
25
+ }
26
+ return ar;
27
+ };
28
+ var __spread = (this && this.__spread) || function () {
29
+ for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
30
+ return ar;
31
+ };
32
+ var __values = (this && this.__values) || function (o) {
33
+ var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
34
+ if (m) return m.call(o);
35
+ return {
36
+ next: function () {
37
+ if (o && i >= o.length) o = void 0;
38
+ return { value: o && o[i++], done: !o };
39
+ }
40
+ };
41
+ };
42
+ export * from './abstract-numbering';
43
+ export * from './list-string';
44
+ export * from './list-style';
45
+ export * from './numbering-instance';
46
+ export * from './numbering-level';
47
+ export * from './picture-bullet';
48
+ import { DocxError } from '../../core/errors/docx-error';
49
+ import { registerAlwaysOnBodyFeatureBootstrap } from '../document/body-always-on';
50
+ import { Paragraph } from '../document/paragraph';
51
+ import { elementChildren, isWml, wmlAttr, wmlElement } from '../document/wml';
52
+ import { partName } from '../../core/opc/part-name';
53
+ import { featureId, isFeatureRegistered, registerFeature, registerFeatureMaterializeHandler, registerFeaturePartHandler, visitParagraphsInDocumentOrder, } from '../../core/registry/index';
54
+ import { decodeXmlBytes, parseXml, serializeXml, WML_TRANSITIONAL_NAMESPACE } from '../../core/xml/index';
55
+ import { createDefaultAbstractNumbering, parseAbstractNumbering } from './abstract-numbering';
56
+ import { createNumberingInstance, parseNumberingInstance } from './numbering-instance';
57
+ import { ListFormat } from './list-format';
58
+ import { parseNumberingPictureBullet } from './picture-bullet';
59
+ import { setListFormatFactory } from '../document/paragraph';
60
+ // Bridge ListFormat onto Paragraph without extensionless CJS require (Vitest ESM).
61
+ setListFormatFactory(function (paragraph) { return new ListFormat(paragraph); });
62
+ // Side-effect: WordDocument.addListStyle + load list-style module.
63
+ import './list-style';
64
+ // Side-effect: Paragraph.listString.
65
+ import './list-string';
66
+ var NUMBERING = featureId('numbering');
67
+ /**
68
+ * @private
69
+ * Transitional numbering relationship (ECMA-376-4 section 9.2.11). */
70
+ export var NUMBERING_RELATIONSHIP_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering';
71
+ /**
72
+ * @private
73
+ * Strict numbering relationship (ECMA-376-1 section 11.3.11). */
74
+ export var STRICT_NUMBERING_RELATIONSHIP_TYPE = 'http://purl.oclc.org/ooxml/officeDocument/relationships/numbering';
75
+ /**
76
+ * @private
77
+ * ECMA-376-1 section 11.3.11 Numbering Definitions content type. */
78
+ export var NUMBERING_CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml';
79
+ /**
80
+ * @private
81
+ */
82
+ export var NUMBERING_PART_NAME = partName('/word/numbering.xml');
83
+ var utf8 = new TextEncoder();
84
+ /**
85
+ * In-memory Numbering Definitions part (`word/numbering.xml`).
86
+ *
87
+ * Typed DOM for `CT_Numbering`: picture bullets, abstract definitions,
88
+ * numbering instances, and optional `numIdMacAtCleanup`. Unmodeled root
89
+ * children are preserved in prefix/suffix order.
90
+ *
91
+ * @private
92
+ */
93
+ var NumberingPart = /** @class */ (function () {
94
+ /**
95
+ * @private
96
+ */
97
+ function NumberingPart(init) {
98
+ var e_1, _a, e_2, _b, e_3, _c;
99
+ this.rootPrefix = __spread((init.rootPrefix != null ? init.rootPrefix : []));
100
+ this.rootSuffix = __spread((init.rootSuffix != null ? init.rootSuffix : []));
101
+ this.pictureBulletList = __spread((init.pictureBullets != null ? init.pictureBullets : []));
102
+ this.abstractNumberingList = __spread((init.abstractNumberings != null ? init.abstractNumberings : []));
103
+ this.numberingList = __spread((init.numberings != null ? init.numberings : []));
104
+ this.abstractById = new Map();
105
+ this.numberingById = new Map();
106
+ this.pictureById = new Map();
107
+ try {
108
+ for (var _d = __values(this.pictureBulletList), _e = _d.next(); !_e.done; _e = _d.next()) {
109
+ var pic = _e.value;
110
+ this.pictureById.set(pic.numPicBulletId, pic);
111
+ }
112
+ }
113
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
114
+ finally {
115
+ try {
116
+ if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
117
+ }
118
+ finally { if (e_1) throw e_1.error; }
119
+ }
120
+ try {
121
+ for (var _f = __values(this.abstractNumberingList), _g = _f.next(); !_g.done; _g = _f.next()) {
122
+ var abs = _g.value;
123
+ this.abstractById.set(abs.abstractNumId, abs);
124
+ }
125
+ }
126
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
127
+ finally {
128
+ try {
129
+ if (_g && !_g.done && (_b = _f.return)) _b.call(_f);
130
+ }
131
+ finally { if (e_2) throw e_2.error; }
132
+ }
133
+ try {
134
+ for (var _h = __values(this.numberingList), _j = _h.next(); !_j.done; _j = _h.next()) {
135
+ var num = _j.value;
136
+ this.numberingById.set(num.numId, num);
137
+ }
138
+ }
139
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
140
+ finally {
141
+ try {
142
+ if (_j && !_j.done && (_c = _h.return)) _c.call(_h);
143
+ }
144
+ finally { if (e_3) throw e_3.error; }
145
+ }
146
+ this.numIdMacAtCleanupValue = init.numIdMacAtCleanup;
147
+ this.pendingNumIds = new Set();
148
+ this.pendingDecimalNumIds = new Set();
149
+ this.dirty = init.dirty;
150
+ }
151
+ Object.defineProperty(NumberingPart.prototype, "pictureBullets", {
152
+ /** Ordered picture bullet definitions (`w:numPicBullet`). */
153
+ get: function () {
154
+ return this.pictureBulletList;
155
+ },
156
+ enumerable: true,
157
+ configurable: true
158
+ });
159
+ Object.defineProperty(NumberingPart.prototype, "abstractNumberings", {
160
+ /** Ordered abstract numbering definitions (`w:abstractNum`). */
161
+ get: function () {
162
+ return this.abstractNumberingList;
163
+ },
164
+ enumerable: true,
165
+ configurable: true
166
+ });
167
+ Object.defineProperty(NumberingPart.prototype, "numberings", {
168
+ /** Ordered numbering instances (`w:num`). */
169
+ get: function () {
170
+ return this.numberingList;
171
+ },
172
+ enumerable: true,
173
+ configurable: true
174
+ });
175
+ Object.defineProperty(NumberingPart.prototype, "numIdMacAtCleanup", {
176
+ /** Optional `w:numIdMacAtCleanup/@w:val`. */
177
+ get: function () {
178
+ return this.numIdMacAtCleanupValue;
179
+ },
180
+ enumerable: true,
181
+ configurable: true
182
+ });
183
+ /** Lookup abstract definition by id. */
184
+ NumberingPart.prototype.getAbstractNumbering = function (abstractNumId) {
185
+ return this.abstractById.get(abstractNumId);
186
+ };
187
+ /** Lookup numbering instance by id. */
188
+ NumberingPart.prototype.getNumbering = function (numId) {
189
+ return this.numberingById.get(numId);
190
+ };
191
+ /** Lookup picture bullet by id. */
192
+ NumberingPart.prototype.getPictureBullet = function (numPicBulletId) {
193
+ return this.pictureById.get(numPicBulletId);
194
+ };
195
+ /** Whether a numbering instance id exists in the catalog (including pending). */
196
+ NumberingPart.prototype.hasInstance = function (numId) {
197
+ return this.numberingById.has(numId) || this.pendingNumIds.has(numId);
198
+ };
199
+ /**
200
+ * Ensure a numbering instance exists, creating a nine-level default definition when absent.
201
+ *
202
+ * @param format - List format used when creating a new abstract numbering definition.
203
+ * `'bullet'` (default) produces the standard bullet pattern; `'decimal'` produces the
204
+ * cycling `decimal` / `lowerLetter` / `lowerRoman` pattern. Has no effect if the
205
+ * instance already exists.
206
+ */
207
+ NumberingPart.prototype.ensureInstance = function (numId, format) {
208
+ if (format === void 0) { format = 'bullet'; }
209
+ if (numId < 1) {
210
+ throw new DocxError('content/invalid-num-id', 'Numbering instance id must be at least 1');
211
+ }
212
+ if (this.numberingById.has(numId)) {
213
+ return;
214
+ }
215
+ var abstractNumId = this.nextAbstractNumId();
216
+ var abstract = createDefaultAbstractNumbering(abstractNumId, format);
217
+ var instance = createNumberingInstance(numId, abstractNumId);
218
+ this.abstractNumberingList.push(abstract);
219
+ this.abstractById.set(abstractNumId, abstract);
220
+ this.numberingList.push(instance);
221
+ this.numberingById.set(numId, instance);
222
+ this.dirty = true;
223
+ };
224
+ /**
225
+ * Allocate a new bullet list instance id with a nine-level bullet definition on materialize.
226
+ */
227
+ NumberingPart.prototype.createBulletInstance = function () {
228
+ var numId = this.nextNumId();
229
+ this.pendingNumIds.add(numId);
230
+ return numId;
231
+ };
232
+ /**
233
+ * Allocate a new decimal (numbered) list instance id with a nine-level definition on materialize.
234
+ *
235
+ * The cycling pattern (`decimal` / `lowerLetter` / `lowerRoman`) is materialized at
236
+ * save time when the paragraph's `numbering` property is set.
237
+ */
238
+ NumberingPart.prototype.createDecimalInstance = function () {
239
+ var numId = this.nextNumId();
240
+ this.pendingDecimalNumIds.add(numId);
241
+ this.pendingNumIds.add(numId);
242
+ return numId;
243
+ };
244
+ /**
245
+ * Register an existing abstract numbering definition and mark the part dirty.
246
+ *
247
+ * @private
248
+ */
249
+ NumberingPart.prototype.registerAbstract = function (abstract) {
250
+ if (this.abstractById.has(abstract.abstractNumId)) {
251
+ throw new DocxError('content/invalid-num-id', "Abstract numbering id " + String(abstract.abstractNumId) + " already exists");
252
+ }
253
+ this.abstractNumberingList.push(abstract);
254
+ this.abstractById.set(abstract.abstractNumId, abstract);
255
+ this.dirty = true;
256
+ };
257
+ /**
258
+ * Allocate the next unused abstract numbering id.
259
+ *
260
+ * @private
261
+ */
262
+ NumberingPart.prototype.allocateAbstractNumId = function () {
263
+ return this.nextAbstractNumId();
264
+ };
265
+ /**
266
+ * Create a concrete `w:num` linked to an existing abstract definition.
267
+ *
268
+ * @param abstractNumId - Existing abstract id.
269
+ * @param startOverride - Optional level-0 start override.
270
+ * @private
271
+ */
272
+ NumberingPart.prototype.createInstanceFromAbstract = function (abstractNumId, startOverride) {
273
+ if (!this.abstractById.has(abstractNumId)) {
274
+ throw new DocxError('content/invalid-num-id', "Abstract numbering id " + String(abstractNumId) + " is not defined");
275
+ }
276
+ var numId = this.nextNumId();
277
+ var instance = createNumberingInstance(numId, abstractNumId);
278
+ if (startOverride !== undefined) {
279
+ instance.setStartOverride(0, startOverride);
280
+ }
281
+ this.numberingList.push(instance);
282
+ this.numberingById.set(numId, instance);
283
+ this.dirty = true;
284
+ return numId;
285
+ };
286
+ /**
287
+ * Mark the numbering part dirty after an in-place abstract/level mutation.
288
+ *
289
+ * @private
290
+ */
291
+ NumberingPart.prototype.markDirty = function () {
292
+ this.dirty = true;
293
+ };
294
+ /**
295
+ * @private
296
+ * Track a numbering instance referenced before save.
297
+ */
298
+ NumberingPart.prototype.registerPendingInstance = function (numId, format) {
299
+ if (format === void 0) { format = 'bullet'; }
300
+ if (this.numberingById.has(numId)) {
301
+ return;
302
+ }
303
+ this.pendingNumIds.add(numId);
304
+ if (format === 'decimal') {
305
+ this.pendingDecimalNumIds.add(numId);
306
+ }
307
+ };
308
+ /**
309
+ * @private
310
+ * Whether a pending (not yet materialized) numbering id was allocated as decimal.
311
+ */
312
+ NumberingPart.prototype.isPendingDecimal = function (numId) {
313
+ return this.pendingDecimalNumIds.has(numId);
314
+ };
315
+ /**
316
+ * @private
317
+ */
318
+ NumberingPart.prototype.materializePending = function (document) {
319
+ var _this = this;
320
+ var e_4, _a;
321
+ var ordered = [];
322
+ var seen = new Set();
323
+ visitParagraphsInDocumentOrder(document, function (paragraph) {
324
+ var numId = paragraph.numId;
325
+ // Word uses numId 0 to mean "no numbering"; never materialize it.
326
+ if (numId === undefined || numId < 1 || _this.numberingById.has(numId) || seen.has(numId)) {
327
+ return;
328
+ }
329
+ seen.add(numId);
330
+ ordered.push(numId);
331
+ });
332
+ try {
333
+ for (var ordered_1 = __values(ordered), ordered_1_1 = ordered_1.next(); !ordered_1_1.done; ordered_1_1 = ordered_1.next()) {
334
+ var numId = ordered_1_1.value;
335
+ var format = this.pendingDecimalNumIds.has(numId) ? 'decimal' : 'bullet';
336
+ this.ensureInstance(numId, format);
337
+ this.pendingNumIds.delete(numId);
338
+ this.pendingDecimalNumIds.delete(numId);
339
+ }
340
+ }
341
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
342
+ finally {
343
+ try {
344
+ if (ordered_1_1 && !ordered_1_1.done && (_a = ordered_1.return)) _a.call(ordered_1);
345
+ }
346
+ finally { if (e_4) throw e_4.error; }
347
+ }
348
+ };
349
+ /**
350
+ * @private
351
+ */
352
+ NumberingPart.prototype.isDirty = function () {
353
+ return this.dirty;
354
+ };
355
+ /**
356
+ * @private
357
+ */
358
+ NumberingPart.prototype.serialize = function () {
359
+ var e_5, _a, e_6, _b, e_7, _c;
360
+ var children = __spread(this.rootPrefix);
361
+ try {
362
+ for (var _d = __values(this.pictureBulletList), _e = _d.next(); !_e.done; _e = _d.next()) {
363
+ var pic = _e.value;
364
+ children.push(pic.toOpenXml());
365
+ }
366
+ }
367
+ catch (e_5_1) { e_5 = { error: e_5_1 }; }
368
+ finally {
369
+ try {
370
+ if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
371
+ }
372
+ finally { if (e_5) throw e_5.error; }
373
+ }
374
+ try {
375
+ for (var _f = __values(this.abstractNumberingList), _g = _f.next(); !_g.done; _g = _f.next()) {
376
+ var abs = _g.value;
377
+ children.push(abs.toOpenXml());
378
+ }
379
+ }
380
+ catch (e_6_1) { e_6 = { error: e_6_1 }; }
381
+ finally {
382
+ try {
383
+ if (_g && !_g.done && (_b = _f.return)) _b.call(_f);
384
+ }
385
+ finally { if (e_6) throw e_6.error; }
386
+ }
387
+ try {
388
+ for (var _h = __values(this.numberingList), _j = _h.next(); !_j.done; _j = _h.next()) {
389
+ var num = _j.value;
390
+ children.push(num.toOpenXml());
391
+ }
392
+ }
393
+ catch (e_7_1) { e_7 = { error: e_7_1 }; }
394
+ finally {
395
+ try {
396
+ if (_j && !_j.done && (_c = _h.return)) _c.call(_h);
397
+ }
398
+ finally { if (e_7) throw e_7.error; }
399
+ }
400
+ if (this.numIdMacAtCleanupValue !== undefined) {
401
+ children.push(wmlElement('numIdMacAtCleanup', {
402
+ attributes: [wmlAttr('val', String(this.numIdMacAtCleanupValue))],
403
+ }));
404
+ }
405
+ children.push.apply(children, __spread(this.rootSuffix));
406
+ var root = wmlElement('numbering', {
407
+ namespaceDeclarations: [{ prefix: 'w', namespaceUri: WML_TRANSITIONAL_NAMESPACE }],
408
+ children: children,
409
+ });
410
+ return utf8.encode(serializeXml(root));
411
+ };
412
+ NumberingPart.prototype.nextNumId = function () {
413
+ var e_8, _a, e_9, _b;
414
+ var max = 0;
415
+ try {
416
+ for (var _c = __values(this.numberingById.keys()), _d = _c.next(); !_d.done; _d = _c.next()) {
417
+ var id = _d.value;
418
+ if (id > max) {
419
+ max = id;
420
+ }
421
+ }
422
+ }
423
+ catch (e_8_1) { e_8 = { error: e_8_1 }; }
424
+ finally {
425
+ try {
426
+ if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
427
+ }
428
+ finally { if (e_8) throw e_8.error; }
429
+ }
430
+ try {
431
+ for (var _e = __values(this.pendingNumIds), _f = _e.next(); !_f.done; _f = _e.next()) {
432
+ var id = _f.value;
433
+ if (id > max) {
434
+ max = id;
435
+ }
436
+ }
437
+ }
438
+ catch (e_9_1) { e_9 = { error: e_9_1 }; }
439
+ finally {
440
+ try {
441
+ if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
442
+ }
443
+ finally { if (e_9) throw e_9.error; }
444
+ }
445
+ return max + 1;
446
+ };
447
+ NumberingPart.prototype.nextAbstractNumId = function () {
448
+ var e_10, _a;
449
+ var max = -1;
450
+ try {
451
+ for (var _b = __values(this.abstractById.keys()), _c = _b.next(); !_c.done; _c = _b.next()) {
452
+ var id = _c.value;
453
+ if (id > max) {
454
+ max = id;
455
+ }
456
+ }
457
+ }
458
+ catch (e_10_1) { e_10 = { error: e_10_1 }; }
459
+ finally {
460
+ try {
461
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
462
+ }
463
+ finally { if (e_10) throw e_10.error; }
464
+ }
465
+ return max + 1;
466
+ };
467
+ return NumberingPart;
468
+ }());
469
+ export { NumberingPart };
470
+ function parseNumberingRoot(root) {
471
+ var e_11, _a;
472
+ var __ts33_0;
473
+ var rootPrefix = [];
474
+ var rootSuffix = [];
475
+ var pictureBullets = [];
476
+ var abstractNumberings = [];
477
+ var numberings = [];
478
+ var numIdMacAtCleanup;
479
+ var afterPrimary = false;
480
+ try {
481
+ for (var _b = __values(elementChildren(root)), _c = _b.next(); !_c.done; _c = _b.next()) {
482
+ var child = _c.value;
483
+ if (isWml(child, 'numPicBullet')) {
484
+ var pic = parseNumberingPictureBullet(child);
485
+ if (pic !== undefined) {
486
+ pictureBullets.push(pic);
487
+ afterPrimary = true;
488
+ }
489
+ else if (!afterPrimary && abstractNumberings.length === 0 && numberings.length === 0) {
490
+ rootPrefix.push(child);
491
+ }
492
+ else {
493
+ rootSuffix.push(child);
494
+ }
495
+ continue;
496
+ }
497
+ if (isWml(child, 'abstractNum')) {
498
+ afterPrimary = true;
499
+ var entry = parseAbstractNumbering(child);
500
+ if (entry !== undefined) {
501
+ abstractNumberings.push(entry);
502
+ }
503
+ else {
504
+ rootSuffix.push(child);
505
+ }
506
+ continue;
507
+ }
508
+ if (isWml(child, 'num')) {
509
+ afterPrimary = true;
510
+ var entry = parseNumberingInstance(child);
511
+ if (entry !== undefined) {
512
+ numberings.push(entry);
513
+ }
514
+ else {
515
+ rootSuffix.push(child);
516
+ }
517
+ continue;
518
+ }
519
+ if (isWml(child, 'numIdMacAtCleanup')) {
520
+ afterPrimary = true;
521
+ var raw = ((__ts33_0 = child.attributes.find(function (a) { return a.localName === 'val' && a.namespaceUri === WML_TRANSITIONAL_NAMESPACE; })), __ts33_0 == null ? undefined : __ts33_0.value);
522
+ if (raw !== undefined && /^-?\d+$/.test(raw) && numIdMacAtCleanup === undefined) {
523
+ numIdMacAtCleanup = Number.parseInt(raw, 10);
524
+ }
525
+ else {
526
+ rootSuffix.push(child);
527
+ }
528
+ continue;
529
+ }
530
+ if (!afterPrimary && abstractNumberings.length === 0 && numberings.length === 0) {
531
+ rootPrefix.push(child);
532
+ }
533
+ else {
534
+ rootSuffix.push(child);
535
+ }
536
+ }
537
+ }
538
+ catch (e_11_1) { e_11 = { error: e_11_1 }; }
539
+ finally {
540
+ try {
541
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
542
+ }
543
+ finally { if (e_11) throw e_11.error; }
544
+ }
545
+ return {
546
+ rootPrefix: rootPrefix,
547
+ rootSuffix: rootSuffix,
548
+ pictureBullets: pictureBullets,
549
+ abstractNumberings: abstractNumberings,
550
+ numberings: numberings,
551
+ numIdMacAtCleanup: numIdMacAtCleanup,
552
+ };
553
+ }
554
+ function loadNumberingPart(part) {
555
+ if (part === undefined) {
556
+ return new NumberingPart({ dirty: false });
557
+ }
558
+ var root = parseXml(decodeXmlBytes(part.data));
559
+ if (!isWml(root, 'numbering')) {
560
+ return new NumberingPart({ dirty: false });
561
+ }
562
+ var parsed = parseNumberingRoot(root);
563
+ return new NumberingPart(__assign({ rootPrefix: parsed.rootPrefix, rootSuffix: parsed.rootSuffix, pictureBullets: parsed.pictureBullets, abstractNumberings: parsed.abstractNumberings, numberings: parsed.numberings }, (parsed.numIdMacAtCleanup !== undefined
564
+ ? { numIdMacAtCleanup: parsed.numIdMacAtCleanup }
565
+ : {}), { dirty: false }));
566
+ }
567
+ var registered = false;
568
+ /**
569
+ * @private
570
+ * Test hook */
571
+ export function resetNumberingFeatureForTests() {
572
+ registered = false;
573
+ }
574
+ /**
575
+ * @private
576
+ * Register the numbering package-part handler. Idempotent. */
577
+ export function registerNumberingFeature() {
578
+ if (registered) {
579
+ return;
580
+ }
581
+ registered = true;
582
+ registerFeature({ id: NUMBERING });
583
+ registerFeaturePartHandler({
584
+ featureId: NUMBERING,
585
+ relationshipTypes: [NUMBERING_RELATIONSHIP_TYPE, STRICT_NUMBERING_RELATIONSHIP_TYPE],
586
+ defaultRelativeTarget: 'numbering.xml',
587
+ partName: NUMBERING_PART_NAME,
588
+ contentType: NUMBERING_CONTENT_TYPE,
589
+ loadPart: function (part, ctx) {
590
+ void ctx;
591
+ return loadNumberingPart(part);
592
+ },
593
+ });
594
+ registerFeatureMaterializeHandler({
595
+ featureId: NUMBERING,
596
+ materialize: function (document) {
597
+ var part = document.featurePart(NUMBERING);
598
+ if (part instanceof NumberingPart) {
599
+ part.materializePending(document);
600
+ }
601
+ },
602
+ });
603
+ }
604
+ /**
605
+ * Numbering catalog for a document.
606
+ *
607
+ * On the default `@syncfusion/ej2-docx` entry, numbering is always-on: the package-part
608
+ * handler is registered at module load and re-armed via
609
+ * {@link registerAlwaysOnBodyFeatureBootstrap} before each
610
+ * {@link WordDocument.create} / load. On {@link WordDocument.create}, feature package
611
+ * parts are not pre-attached; this attaches an empty {@link NumberingPart} so
612
+ * authoring APIs (`createBulletInstance`, paragraph numbering) work without a load.
613
+ *
614
+ * @throws DocxError `feature/not-registered` when the numbering module was not
615
+ * registered (pure core path without the main entry / numbering subpath).
616
+ * @private
617
+ */
618
+ export function numberingFor(document) {
619
+ var existing = document.featurePart(NUMBERING);
620
+ if (existing instanceof NumberingPart) {
621
+ return existing;
622
+ }
623
+ if (!isFeatureRegistered(NUMBERING) || existing !== undefined) {
624
+ throw new DocxError('feature/not-registered', 'Numbering part was not loaded; call registerNumberingFeature() before WordDocument.open');
625
+ }
626
+ var empty = new NumberingPart({ dirty: false });
627
+ document.setFeaturePart(NUMBERING, empty);
628
+ return empty;
629
+ }
630
+ /**
631
+ * @private Helper to apply numbering to a paragraph via the legacy numbering property.
632
+ * methods instead; the numbering property remains
633
+ * for backward compatibility but is not the canonical public API.
634
+ */
635
+ function applyParagraphNumbering(paragraph, value) {
636
+ if (value === undefined) {
637
+ paragraph.numId = undefined;
638
+ paragraph.listLevel = undefined;
639
+ return;
640
+ }
641
+ var numbering = numberingFor(paragraph.owningDocument());
642
+ var level = value.level != null ? value.level : 0;
643
+ var listId = value.numId;
644
+ if (numbering.getNumbering(listId) === undefined) {
645
+ if (numbering.hasInstance(listId)) {
646
+ numbering.registerPendingInstance(listId, 'bullet');
647
+ }
648
+ else {
649
+ numbering.ensureInstance(listId, 'bullet');
650
+ }
651
+ }
652
+ else {
653
+ numbering.registerPendingInstance(listId);
654
+ }
655
+ paragraph.numId = listId;
656
+ paragraph.listLevel = level;
657
+ }
658
+ Object.defineProperty(Paragraph.prototype, 'numbering', {
659
+ set: function (value) {
660
+ applyParagraphNumbering(this, value);
661
+ },
662
+ });
663
+ // Always-on on the main `@syncfusion/ej2-docx` entry: package-part handler for numbering.xml
664
+ // re-arms after test handler resets via WordDocument.create / fromPackage.
665
+ registerAlwaysOnBodyFeatureBootstrap(function () {
666
+ registerNumberingFeature();
667
+ });
668
+ registerNumberingFeature();