@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,573 @@
1
+ import { WordDocument } from '../document/document';
2
+ import { FeatureMultiPackagePart } from '../document/feature-multi-package-part';
3
+ import { FeatureRunLeaf } from '../document/feature-run-leaf';
4
+ import { BodyItem } from '../document/body-item';
5
+ import { BlockContent, Paragraph } from '../document/paragraph';
6
+ import { FeatureRunParagraphItem, ParagraphItem } from '../document/text-range';
7
+ import { OpcRelationship, RelationshipId } from '../../core/opc/relationships';
8
+ import { OpcPackage } from '../../core/opc/package';
9
+ import { PartName } from '../../core/opc/part-name';
10
+ import { OpenXmlElement } from '../../core/xml/index';
11
+ import { Table as TableFeature } from '../tables/index';
12
+ import { ContentControl, ContentControlType } from '../content-controls/index';
13
+ /**
14
+ * @private
15
+ * Transitional footnotes relationship (ECMA-376-4 §9.2.6). */
16
+ export declare const FOOTNOTES_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes";
17
+ /**
18
+ * @private
19
+ * Transitional endnotes relationship (ECMA-376-4 §9.2.5). */
20
+ export declare const ENDNOTES_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/endnotes";
21
+ /**
22
+ * @private
23
+ * Strict footnotes relationship. */
24
+ export declare const STRICT_FOOTNOTES_RELATIONSHIP_TYPE = "http://purl.oclc.org/ooxml/officeDocument/relationships/footnotes";
25
+ /**
26
+ * @private
27
+ * Strict endnotes relationship. */
28
+ export declare const STRICT_ENDNOTES_RELATIONSHIP_TYPE = "http://purl.oclc.org/ooxml/officeDocument/relationships/endnotes";
29
+ /**
30
+ * @private
31
+ */
32
+ export declare const FOOTNOTES_CONTENT_TYPE = "application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml";
33
+ /**
34
+ * @private
35
+ */
36
+ export declare const ENDNOTES_CONTENT_TYPE = "application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml";
37
+ declare type NoteKind = 'footnote' | 'endnote';
38
+ /**
39
+ * @private
40
+ */
41
+ export declare type FtnEdnType = 'normal' | 'separator' | 'continuationSeparator' | 'continuationNotice';
42
+ /**
43
+ * Footnote reference run leaf (`w:footnoteReference`).
44
+ *
45
+ * @private
46
+ */
47
+ export declare class FootnoteReference implements FeatureRunLeaf {
48
+ /**
49
+ * @private
50
+ * Stable id linking this reference to its footnote body. */
51
+ readonly noteId: number;
52
+ /**
53
+ * @private
54
+ */
55
+ constructor(noteId: number);
56
+ /**
57
+ * @private
58
+ */
59
+ toOpenXml(): OpenXmlElement;
60
+ }
61
+ /**
62
+ * Endnote reference run leaf (`w:endnoteReference`).
63
+ *
64
+ * @private
65
+ */
66
+ export declare class EndnoteReference implements FeatureRunLeaf {
67
+ /**
68
+ * @private
69
+ * Stable id linking this reference to its endnote body. */
70
+ readonly noteId: number;
71
+ /**
72
+ * @private
73
+ */
74
+ constructor(noteId: number);
75
+ /**
76
+ * @private
77
+ */
78
+ toOpenXml(): OpenXmlElement;
79
+ }
80
+ /**
81
+ * @private
82
+ */
83
+ interface NoteEntry {
84
+ readonly noteId: number;
85
+ readonly noteType: FtnEdnType | undefined;
86
+ blocks: BlockContent[];
87
+ readonly preservedXml: OpenXmlElement | undefined;
88
+ }
89
+ /**
90
+ * @private
91
+ */
92
+ interface NotePartState {
93
+ readonly partName: PartName;
94
+ readonly relationshipId: RelationshipId;
95
+ readonly relationshipType: string;
96
+ readonly kind: NoteKind;
97
+ readonly rootExtra: Pick<OpenXmlElement, 'attributes' | 'namespaceDeclarations'>;
98
+ entries: NoteEntry[];
99
+ dirty: boolean;
100
+ pendingRelationship: OpcRelationship | undefined;
101
+ }
102
+ /**
103
+ * Footnotes and endnotes parts linked from the Main WordDocument.
104
+ *
105
+ * @private
106
+ */
107
+ export declare class NotesCatalog implements FeatureMultiPackagePart {
108
+ private readonly parts;
109
+ private boundDocument;
110
+ /**
111
+ * @private
112
+ */
113
+ constructor(parts: Map<NoteKind, NotePartState>);
114
+ /**
115
+ * Bind this catalog to a live WordDocument so paragraph owners can resolve.
116
+ * Re-attaches existing modeled note body blocks to entry-scoped owners.
117
+ *
118
+ * @private
119
+ */
120
+ bindDocument(WordDocument: WordDocument): void;
121
+ private requireBoundDocument;
122
+ private markPartDirty;
123
+ /**
124
+ * @private
125
+ */
126
+ isDirty(): boolean;
127
+ /**
128
+ * @private
129
+ */
130
+ applyToPackage(pkg: OpcPackage, mainPartName: PartName): OpcPackage;
131
+ /**
132
+ * @private
133
+ */
134
+ ensurePart(kind: NoteKind, usedRelIds: ReadonlySet<string>, usedPartNames: ReadonlySet<string>): NotePartState;
135
+ /**
136
+ * @private
137
+ */
138
+ addNormalEntry(kind: NoteKind, text: string): number;
139
+ /**
140
+ * @private
141
+ */
142
+ normalEntry(kind: NoteKind, noteId: number): NoteEntry | undefined;
143
+ private requireNormalEntry;
144
+ /**
145
+ * @private
146
+ */
147
+ textForNote(kind: NoteKind, noteId: number): string | undefined;
148
+ /**
149
+ * Ordered body children ({@link BodyItem}) for a normal note — paragraphs, tables,
150
+ * block content controls, and residuals, in WordDocument order (same model as Body.items).
151
+ *
152
+ * @private
153
+ */
154
+ itemsForNote(kind: NoteKind, noteId: number): ReadonlyArray<BodyItem>;
155
+ /**
156
+ * Body blocks of a normal note, when modeled (paragraphs, tables, content controls, residuals).
157
+ *
158
+ * @private
159
+ * Prefer {@link NotesCatalog.itemsForNote}.
160
+ */
161
+ blocksForNote(kind: NoteKind, noteId: number): ReadonlyArray<BodyItem>;
162
+ /**
163
+ * Body paragraphs of a normal note, when modeled.
164
+ *
165
+ * @private
166
+ * Prefer {@link NotesCatalog.itemsForNote} for mixed body content.
167
+ */
168
+ paragraphsForNote(kind: NoteKind, noteId: number): ReadonlyArray<Paragraph>;
169
+ /**
170
+ * Replace the body of a normal note with a single paragraph of plain text.
171
+ *
172
+ * @private
173
+ */
174
+ setTextForNote(kind: NoteKind, noteId: number, text: string): void;
175
+ /**
176
+ * Insert a body item at `index` in a normal note (`0…length` inclusive).
177
+ *
178
+ * Attaches paragraphs and feature blocks when the catalog is WordDocument-bound.
179
+ * Returns the same `item` reference for chaining.
180
+ *
181
+ * @throws RangeError if `index` is out of range.
182
+ * @throws DocxError when the note is unknown or the catalog is unbound.
183
+ *
184
+ * @private
185
+ */
186
+ insertBodyItemAtForNote(kind: NoteKind, noteId: number, index: number, item: BodyItem): BodyItem;
187
+ /**
188
+ * Remove the body item at `index` in a normal note (`0…length-1`).
189
+ * Paragraphs detach; feature blocks may release content.
190
+ *
191
+ * @throws RangeError if `index` is out of range.
192
+ * @throws DocxError when the note is unknown.
193
+ *
194
+ * @private
195
+ */
196
+ removeBodyItemAtForNote(kind: NoteKind, noteId: number, index: number): void;
197
+ /**
198
+ * Remove a body item from a normal note by collection or payload identity.
199
+ *
200
+ * @throws DetachedObjectError when the item is not in the note.
201
+ * @throws DocxError when the note is unknown.
202
+ *
203
+ * @private
204
+ */
205
+ removeBodyItemForNote(kind: NoteKind, noteId: number, item: BodyItem): void;
206
+ /**
207
+ * Append a paragraph to a normal note body.
208
+ *
209
+ * @throws DocxError when the note is unknown or the catalog is unbound.
210
+ *
211
+ * @private
212
+ */
213
+ appendParagraphToNote(kind: NoteKind, noteId: number, options?: {
214
+ readonly style?: string;
215
+ readonly text?: string;
216
+ }): Paragraph;
217
+ /**
218
+ * Append a table to a normal note body.
219
+ *
220
+ * @throws DocxError when the note is unknown or the catalog is unbound.
221
+ * @throws RangeError when dimensions are less than 1.
222
+ *
223
+ * @private
224
+ */
225
+ appendTableToNote(kind: NoteKind, noteId: number, rowCount: number, columnCount: number): TableFeature;
226
+ /**
227
+ * Append a block-level content control to a normal note body.
228
+ *
229
+ * @throws DocxError when the note is unknown or the catalog is unbound.
230
+ *
231
+ * @private
232
+ */
233
+ appendBlockContentControlToNote(kind: NoteKind, noteId: number, type?: ContentControlType): ContentControl;
234
+ /**
235
+ * @private
236
+ */
237
+ removeNormalEntry(kind: NoteKind, noteId: number): void;
238
+ }
239
+ /**
240
+ * Live view of a footnote body in the footnotes part.
241
+ *
242
+ * Bound to a WordDocument and note id; reads and writes go through
243
+ * {@link NotesCatalog}. Body content is the same R5.6
244
+ * {@link BodyItem} list as {@link Body} (`items` +
245
+ * insert/remove). Does not expose raw OOXML.
246
+ *
247
+ * @public
248
+ */
249
+ export declare class Footnote {
250
+ private readonly WordDocument;
251
+ private readonly id;
252
+ /**
253
+ * @private
254
+ */
255
+ constructor(WordDocument: WordDocument, noteId: number);
256
+ /**
257
+ * @private
258
+ * Stable id matching the footnote reference and footnotes part entry. */
259
+ readonly noteId: number;
260
+ /**
261
+ * Ordered body children ({@link BodyItem}) for this footnote —
262
+ * paragraphs, tables, block content controls, and residuals, in
263
+ * WordDocument order (same model as {@link Body.items}).
264
+ *
265
+ * @public
266
+ */
267
+ readonly items: ReadonlyArray<BodyItem>;
268
+ /**
269
+ * Insert a body item at `index` in {@link Footnote.items}
270
+ * (`0…length` inclusive — insert-before / append).
271
+ *
272
+ * Attaches paragraphs and feature blocks to the owning WordDocument. Returns the
273
+ * same `item` reference for chaining (API-RULES R1.1).
274
+ *
275
+ * @param index - Index in {@link Footnote.items}.
276
+ * @param item - Paragraph, feature, or opaque body child.
277
+ * @returns The inserted {@link BodyItem}.
278
+ * @throws RangeError if `index` is out of range.
279
+ *
280
+ * @public
281
+ */
282
+ insertBodyItemAt(index: number, item: BodyItem): BodyItem;
283
+ /**
284
+ * Remove the body item at `index` in {@link Footnote.items}
285
+ * (`0…length-1`). Paragraphs detach; feature blocks may release content.
286
+ *
287
+ * @param index - Index in {@link Footnote.items}.
288
+ * @throws RangeError if `index` is out of range.
289
+ *
290
+ * @public
291
+ */
292
+ removeBodyItemAt(index: number): void;
293
+ /**
294
+ * Remove a body item from {@link Footnote.items} by collection or payload identity.
295
+ *
296
+ * @param item - Entry from `items`, or an equivalent payload wrapper.
297
+ * @throws DetachedObjectError if `item` is not in this footnote.
298
+ *
299
+ * @public
300
+ */
301
+ removeBodyItem(item: BodyItem): void;
302
+ }
303
+ /**
304
+ * Live view of an endnote body in the endnotes part.
305
+ *
306
+ * Bound to a WordDocument and note id; reads and writes go through
307
+ * {@link NotesCatalog}. Body content is the same R5.6
308
+ * {@link BodyItem} list as {@link Body} (`items` +
309
+ * insert/remove). Does not expose raw OOXML.
310
+ *
311
+ * @public
312
+ */
313
+ export declare class Endnote {
314
+ private readonly WordDocument;
315
+ private readonly id;
316
+ /**
317
+ * @private
318
+ */
319
+ constructor(WordDocument: WordDocument, noteId: number);
320
+ /**
321
+ * @private
322
+ * Stable id matching the endnote reference and endnotes part entry. */
323
+ readonly noteId: number;
324
+ /**
325
+ * Ordered body children ({@link BodyItem}) for this endnote —
326
+ * paragraphs, tables, block content controls, and residuals, in
327
+ * WordDocument order (same model as {@link Body.items}).
328
+ *
329
+ * @public
330
+ */
331
+ readonly items: ReadonlyArray<BodyItem>;
332
+ /**
333
+ * Insert a body item at `index` in {@link Endnote.items}
334
+ * (`0…length` inclusive — insert-before / append).
335
+ *
336
+ * Attaches paragraphs and feature blocks to the owning WordDocument. Returns the
337
+ * same `item` reference for chaining (API-RULES R1.1).
338
+ *
339
+ * @param index - Index in {@link Endnote.items}.
340
+ * @param item - Paragraph, feature, or opaque body child.
341
+ * @returns The inserted {@link BodyItem}.
342
+ * @throws RangeError if `index` is out of range.
343
+ *
344
+ * @public
345
+ */
346
+ insertBodyItemAt(index: number, item: BodyItem): BodyItem;
347
+ /**
348
+ * Remove the body item at `index` in {@link Endnote.items}
349
+ * (`0…length-1`). Paragraphs detach; feature blocks may release content.
350
+ *
351
+ * @param index - Index in {@link Endnote.items}.
352
+ * @throws RangeError if `index` is out of range.
353
+ *
354
+ * @public
355
+ */
356
+ removeBodyItemAt(index: number): void;
357
+ /**
358
+ * Remove a body item from {@link Endnote.items} by collection or payload identity.
359
+ *
360
+ * @param item - Entry from `items`, or an equivalent payload wrapper.
361
+ * @throws DetachedObjectError if `item` is not in this endnote.
362
+ *
363
+ * @public
364
+ */
365
+ removeBodyItem(item: BodyItem): void;
366
+ }
367
+ /**
368
+ * @private
369
+ * Test hook */
370
+ export declare function resetNotesFeatureForTests(): void;
371
+ /**
372
+ * @private
373
+ * Register note reference and notes-part handlers. Idempotent. */
374
+ export declare function registerNotesFeature(): void;
375
+ /**
376
+ * Notes catalog for a WordDocument.
377
+ *
378
+ * On a loaded package this is the catalog built from footnotes/endnotes parts.
379
+ * On a newly authored WordDocument there may be no notes parts yet, so this function
380
+ * attaches an empty catalog on first use when the feature is registered.
381
+ *
382
+ * @throws DocxError `feature/not-registered` when the module was not registered.
383
+ *
384
+ * @private
385
+ */
386
+ export declare function notesFor(WordDocument: WordDocument): NotesCatalog;
387
+ /**
388
+ * Interned live {@link Footnote} for `(document, noteId)`.
389
+ *
390
+ * @private
391
+ */
392
+ export declare function footnoteInstanceFor(document: WordDocument, noteId: number): Footnote;
393
+ /**
394
+ * Interned live {@link Endnote} for `(document, noteId)`.
395
+ *
396
+ * @private
397
+ */
398
+ export declare function endnoteInstanceFor(document: WordDocument, noteId: number): Endnote;
399
+ /**
400
+ * Live {@link Footnote} view for a reference in this WordDocument.
401
+ *
402
+ * @private
403
+ */
404
+ export declare function footnoteFor(WordDocument: WordDocument, reference: FootnoteReference): Footnote;
405
+ /**
406
+ * Live {@link Endnote} view for a reference in this WordDocument.
407
+ *
408
+ * @private
409
+ */
410
+ export declare function endnoteFor(WordDocument: WordDocument, reference: EndnoteReference): Endnote;
411
+ /**
412
+ * Footnote bodies referenced from the WordDocument body, in WordDocument order (first occurrence).
413
+ *
414
+ * @private
415
+ */
416
+ export declare function footnotesInDocument(WordDocument: WordDocument): ReadonlyArray<Footnote>;
417
+ /**
418
+ * Endnote bodies referenced from the WordDocument body, in WordDocument order (first occurrence).
419
+ *
420
+ * @private
421
+ */
422
+ export declare function endnotesInDocument(WordDocument: WordDocument): ReadonlyArray<Endnote>;
423
+ /**
424
+ * Document-level footnotes manager (`WordDocument.footnotes`).
425
+ *
426
+ * Stable per-document identity. Enumerates interned {@link Footnote} bodies
427
+ * referenced from the main story in document order. Named {@link Footnotes}
428
+ * (plural) so it does not collide with the per-note {@link Footnote} body class.
429
+ *
430
+ * @public
431
+ */
432
+ export declare class Footnotes implements Iterable<Footnote> {
433
+ private readonly document;
434
+ private cachedLength;
435
+ /**
436
+ * @private
437
+ */
438
+ constructor(document: WordDocument);
439
+ /**
440
+ * Number of distinct footnote bodies referenced from the main story.
441
+ *
442
+ * @public
443
+ */
444
+ readonly count: number;
445
+ /**
446
+ * Footnote at zero-based `index`, or `undefined` when out of range.
447
+ *
448
+ * @public
449
+ */
450
+ itemAt(index: number): Footnote | undefined;
451
+ [Symbol.iterator](): Iterator<Footnote>;
452
+ /**
453
+ * @private
454
+ */
455
+ rebuildIndexProperties(): void;
456
+ }
457
+ export interface Footnotes {
458
+ readonly [index: number]: Footnote;
459
+ }
460
+ /**
461
+ * Document-level endnotes manager (`WordDocument.endnotes`).
462
+ *
463
+ * Stable per-document identity. Enumerates interned {@link Endnote} bodies
464
+ * referenced from the main story in document order. Named {@link Endnotes}
465
+ * (plural) so it does not collide with the per-note {@link Endnote} body class.
466
+ *
467
+ * @public
468
+ */
469
+ export declare class Endnotes implements Iterable<Endnote> {
470
+ private readonly document;
471
+ private cachedLength;
472
+ /**
473
+ * @private
474
+ */
475
+ constructor(document: WordDocument);
476
+ /**
477
+ * Number of distinct endnote bodies referenced from the main story.
478
+ *
479
+ * @public
480
+ */
481
+ readonly count: number;
482
+ /**
483
+ * Endnote at zero-based `index`, or `undefined` when out of range.
484
+ *
485
+ * @public
486
+ */
487
+ itemAt(index: number): Endnote | undefined;
488
+ [Symbol.iterator](): Iterator<Endnote>;
489
+ /**
490
+ * @private
491
+ */
492
+ rebuildIndexProperties(): void;
493
+ }
494
+ export interface Endnotes {
495
+ readonly [index: number]: Endnote;
496
+ }
497
+ /**
498
+ * Stable {@link Footnotes} manager for `document`.
499
+ *
500
+ * @private
501
+ */
502
+ export declare function footnotesFor(document: WordDocument): Footnotes;
503
+ /**
504
+ * Stable {@link Endnotes} manager for `document`.
505
+ *
506
+ * @private
507
+ */
508
+ export declare function endnotesFor(document: WordDocument): Endnotes;
509
+ /**
510
+ * Footnote references in a paragraph, in WordDocument order.
511
+ *
512
+ * @private
513
+ */
514
+ export declare function footnotesInParagraph(paragraph: Paragraph): ReadonlyArray<FootnoteReference>;
515
+ /**
516
+ * Endnote references in a paragraph, in WordDocument order.
517
+ *
518
+ * @private
519
+ */
520
+ export declare function endnotesInParagraph(paragraph: Paragraph): ReadonlyArray<EndnoteReference>;
521
+ /**
522
+ * Visible text of a footnote body, when loaded.
523
+ *
524
+ * @private
525
+ */
526
+ export declare function footnoteText(WordDocument: WordDocument, reference: FootnoteReference): string | undefined;
527
+ /**
528
+ * Visible text of an endnote body, when loaded.
529
+ *
530
+ * @private
531
+ */
532
+ export declare function endnoteText(WordDocument: WordDocument, reference: EndnoteReference): string | undefined;
533
+ /**
534
+ * Insert a footnote reference and body at the end of a paragraph.
535
+ *
536
+ * @private
537
+ */
538
+ export declare function insertFootnote(WordDocument: WordDocument, paragraph: Paragraph, text: string): FootnoteReference;
539
+ /**
540
+ * Insert an endnote reference and body at the end of a paragraph.
541
+ *
542
+ * @private
543
+ */
544
+ export declare function insertEndnote(WordDocument: WordDocument, paragraph: Paragraph, text: string): EndnoteReference;
545
+ /**
546
+ * Remove a footnote reference and body from a WordDocument.
547
+ *
548
+ * @private
549
+ */
550
+ export declare function removeFootnote(WordDocument: WordDocument, paragraph: Paragraph, reference: FootnoteReference): void;
551
+ /**
552
+ * Remove an endnote reference and body from a WordDocument.
553
+ *
554
+ * @private
555
+ */
556
+ export declare function removeEndnote(WordDocument: WordDocument, paragraph: Paragraph, reference: EndnoteReference): void;
557
+ /**
558
+ * Whether a paragraph item is a modeled footnote reference from this module.
559
+ *
560
+ * @private
561
+ */
562
+ export declare function isFootnoteReferenceLeaf(item: ParagraphItem): item is FeatureRunParagraphItem & {
563
+ value: FootnoteReference;
564
+ };
565
+ /**
566
+ * Whether a paragraph item is a modeled endnote reference from this module.
567
+ *
568
+ * @private
569
+ */
570
+ export declare function isEndnoteReferenceLeaf(item: ParagraphItem): item is FeatureRunParagraphItem & {
571
+ value: EndnoteReference;
572
+ };
573
+ export {};