@syncfusion/ej2-docx 0.0.0-stage → 35.1.39

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 (416) hide show
  1. package/README.md +68 -2
  2. package/core.js +4 -0
  3. package/dist/ej2-docx.umd.min.js +2 -0
  4. package/dist/ej2-docx.umd.min.js.map +1 -0
  5. package/dist/es6/ej2-docx.es2015.js +66697 -0
  6. package/dist/es6/ej2-docx.es2015.js.map +1 -0
  7. package/dist/es6/ej2-docx.es5.js +77568 -0
  8. package/dist/es6/ej2-docx.es5.js.map +1 -0
  9. package/dist/global/ej2-docx.min.js +2 -0
  10. package/dist/global/ej2-docx.min.js.map +1 -0
  11. package/dist/global/index.d.ts +5 -0
  12. package/features.js +4 -0
  13. package/index.js +4 -0
  14. package/license +10 -0
  15. package/package.json +31 -4
  16. package/src/all.d.ts +50 -0
  17. package/src/all.js +147 -0
  18. package/src/core/compat/base64.d.ts +13 -0
  19. package/src/core/compat/base64.js +90 -0
  20. package/src/core/compat/object-compat.d.ts +30 -0
  21. package/src/core/compat/object-compat.js +40 -0
  22. package/src/core/compat/sha256.d.ts +9 -0
  23. package/src/core/compat/sha256.js +98 -0
  24. package/src/core/errors/docx-error.d.ts +89 -0
  25. package/src/core/errors/docx-error.js +138 -0
  26. package/src/core/errors/error-codes.d.ts +8 -0
  27. package/src/core/errors/error-codes.js +0 -0
  28. package/src/core/errors/index.d.ts +10 -0
  29. package/src/core/errors/index.js +9 -0
  30. package/src/core/index.d.ts +12 -0
  31. package/src/core/index.js +12 -0
  32. package/src/core/mc/alternate-content.d.ts +7 -0
  33. package/src/core/mc/alternate-content.js +67 -0
  34. package/src/core/mc/attributes.d.ts +24 -0
  35. package/src/core/mc/attributes.js +82 -0
  36. package/src/core/mc/index.d.ts +7 -0
  37. package/src/core/mc/index.js +5 -0
  38. package/src/core/mc/inspect.d.ts +16 -0
  39. package/src/core/mc/inspect.js +148 -0
  40. package/src/core/mc/namespaces.d.ts +4 -0
  41. package/src/core/mc/namespaces.js +4 -0
  42. package/src/core/mc/scope.d.ts +6 -0
  43. package/src/core/mc/scope.js +47 -0
  44. package/src/core/opc/content-types.d.ts +34 -0
  45. package/src/core/opc/content-types.js +162 -0
  46. package/src/core/opc/index.d.ts +8 -0
  47. package/src/core/opc/index.js +4 -0
  48. package/src/core/opc/package.d.ts +49 -0
  49. package/src/core/opc/package.js +324 -0
  50. package/src/core/opc/part-name.d.ts +47 -0
  51. package/src/core/opc/part-name.js +205 -0
  52. package/src/core/opc/relationships.d.ts +46 -0
  53. package/src/core/opc/relationships.js +212 -0
  54. package/src/core/preservation/index.d.ts +2 -0
  55. package/src/core/preservation/index.js +1 -0
  56. package/src/core/preservation/opaque-body.d.ts +16 -0
  57. package/src/core/preservation/opaque-body.js +69 -0
  58. package/src/core/registry/block-handlers.d.ts +30 -0
  59. package/src/core/registry/block-handlers.js +36 -0
  60. package/src/core/registry/create-defaults.d.ts +39 -0
  61. package/src/core/registry/create-defaults.js +42 -0
  62. package/src/core/registry/feature-registry.d.ts +20 -0
  63. package/src/core/registry/feature-registry.js +29 -0
  64. package/src/core/registry/index.d.ts +9 -0
  65. package/src/core/registry/index.js +8 -0
  66. package/src/core/registry/inline-handlers.d.ts +20 -0
  67. package/src/core/registry/inline-handlers.js +30 -0
  68. package/src/core/registry/materialize-handlers.d.ts +35 -0
  69. package/src/core/registry/materialize-handlers.js +75 -0
  70. package/src/core/registry/multi-part-handlers.d.ts +37 -0
  71. package/src/core/registry/multi-part-handlers.js +206 -0
  72. package/src/core/registry/package-part-handlers.d.ts +28 -0
  73. package/src/core/registry/package-part-handlers.js +190 -0
  74. package/src/core/registry/part-handlers.d.ts +24 -0
  75. package/src/core/registry/part-handlers.js +172 -0
  76. package/src/core/registry/run-leaf-handlers.d.ts +26 -0
  77. package/src/core/registry/run-leaf-handlers.js +72 -0
  78. package/src/core/security/limits.d.ts +40 -0
  79. package/src/core/security/limits.js +26 -0
  80. package/src/core/xml/index.d.ts +7 -0
  81. package/src/core/xml/index.js +3 -0
  82. package/src/core/xml/model.d.ts +66 -0
  83. package/src/core/xml/model.js +17 -0
  84. package/src/core/xml/parse.d.ts +12 -0
  85. package/src/core/xml/parse.js +382 -0
  86. package/src/core/xml/serialize.d.ts +6 -0
  87. package/src/core/xml/serialize.js +93 -0
  88. package/src/core/zip/crc32.d.ts +2 -0
  89. package/src/core/zip/crc32.js +25 -0
  90. package/src/core/zip/deflate.d.ts +6 -0
  91. package/src/core/zip/deflate.js +6 -0
  92. package/src/core/zip/index.d.ts +10 -0
  93. package/src/core/zip/index.js +4 -0
  94. package/src/core/zip/inflate-raw.d.ts +17 -0
  95. package/src/core/zip/inflate-raw.js +450 -0
  96. package/src/core/zip/names.d.ts +6 -0
  97. package/src/core/zip/names.js +52 -0
  98. package/src/core/zip/read.d.ts +8 -0
  99. package/src/core/zip/read.js +262 -0
  100. package/src/core/zip/write.d.ts +7 -0
  101. package/src/core/zip/write.js +189 -0
  102. package/src/core/zip/zip-entry.d.ts +4 -0
  103. package/src/core/zip/zip-entry.js +0 -0
  104. package/src/features/bibliography/index.d.ts +100 -0
  105. package/src/features/bibliography/index.js +290 -0
  106. package/src/features/bookmarks/index.d.ts +331 -0
  107. package/src/features/bookmarks/index.js +1009 -0
  108. package/src/features/comments/comment-extensions.d.ts +157 -0
  109. package/src/features/comments/comment-extensions.js +356 -0
  110. package/src/features/comments/index.d.ts +579 -0
  111. package/src/features/comments/index.js +1727 -0
  112. package/src/features/content-controls/index.d.ts +821 -0
  113. package/src/features/content-controls/index.js +2857 -0
  114. package/src/features/custom-xml/index.d.ts +236 -0
  115. package/src/features/custom-xml/index.js +661 -0
  116. package/src/features/document/alignment.d.ts +23 -0
  117. package/src/features/document/alignment.js +36 -0
  118. package/src/features/document/alt-chunk.d.ts +103 -0
  119. package/src/features/document/alt-chunk.js +221 -0
  120. package/src/features/document/assert-never.d.ts +1 -0
  121. package/src/features/document/assert-never.js +4 -0
  122. package/src/features/document/augmentations.d.ts +578 -0
  123. package/src/features/document/augmentations.js +0 -0
  124. package/src/features/document/body-always-on.d.ts +36 -0
  125. package/src/features/document/body-always-on.js +66 -0
  126. package/src/features/document/body-blocks.d.ts +7 -0
  127. package/src/features/document/body-blocks.js +78 -0
  128. package/src/features/document/body-item-adapters.d.ts +62 -0
  129. package/src/features/document/body-item-adapters.js +97 -0
  130. package/src/features/document/body-item-collection.d.ts +151 -0
  131. package/src/features/document/body-item-collection.js +440 -0
  132. package/src/features/document/body-item.d.ts +35 -0
  133. package/src/features/document/body-item.js +8 -0
  134. package/src/features/document/body.d.ts +150 -0
  135. package/src/features/document/body.js +263 -0
  136. package/src/features/document/character-format.d.ts +413 -0
  137. package/src/features/document/character-format.js +2054 -0
  138. package/src/features/document/color.d.ts +178 -0
  139. package/src/features/document/color.js +495 -0
  140. package/src/features/document/document.d.ts +410 -0
  141. package/src/features/document/document.js +1049 -0
  142. package/src/features/document/element-type.d.ts +68 -0
  143. package/src/features/document/element-type.js +133 -0
  144. package/src/features/document/entity-type.d.ts +92 -0
  145. package/src/features/document/entity-type.js +93 -0
  146. package/src/features/document/feature-block.d.ts +16 -0
  147. package/src/features/document/feature-block.js +0 -0
  148. package/src/features/document/feature-inline.d.ts +13 -0
  149. package/src/features/document/feature-inline.js +0 -0
  150. package/src/features/document/feature-multi-package-part.d.ts +19 -0
  151. package/src/features/document/feature-multi-package-part.js +8 -0
  152. package/src/features/document/feature-package-level-part.d.ts +18 -0
  153. package/src/features/document/feature-package-level-part.js +8 -0
  154. package/src/features/document/feature-package-part.d.ts +14 -0
  155. package/src/features/document/feature-package-part.js +0 -0
  156. package/src/features/document/feature-run-leaf.d.ts +9 -0
  157. package/src/features/document/feature-run-leaf.js +0 -0
  158. package/src/features/document/headers-footers.d.ts +206 -0
  159. package/src/features/document/headers-footers.js +384 -0
  160. package/src/features/document/index.d.ts +41 -0
  161. package/src/features/document/index.js +34 -0
  162. package/src/features/document/length.d.ts +152 -0
  163. package/src/features/document/length.js +245 -0
  164. package/src/features/document/load-options.d.ts +14 -0
  165. package/src/features/document/load-options.js +0 -0
  166. package/src/features/document/locale-ids.d.ts +227 -0
  167. package/src/features/document/locale-ids.js +485 -0
  168. package/src/features/document/on-off.d.ts +9 -0
  169. package/src/features/document/on-off.js +27 -0
  170. package/src/features/document/page-setup.d.ts +339 -0
  171. package/src/features/document/page-setup.js +244 -0
  172. package/src/features/document/paragraph-format.d.ts +880 -0
  173. package/src/features/document/paragraph-format.js +2807 -0
  174. package/src/features/document/paragraph-item-collection.d.ts +162 -0
  175. package/src/features/document/paragraph-item-collection.js +363 -0
  176. package/src/features/document/paragraph-item.d.ts +83 -0
  177. package/src/features/document/paragraph-item.js +103 -0
  178. package/src/features/document/paragraph.d.ts +435 -0
  179. package/src/features/document/paragraph.js +888 -0
  180. package/src/features/document/run.d.ts +1 -0
  181. package/src/features/document/run.js +768 -0
  182. package/src/features/document/section-partition-flatten.d.ts +124 -0
  183. package/src/features/document/section-partition-flatten.js +217 -0
  184. package/src/features/document/section-properties-model.d.ts +13 -0
  185. package/src/features/document/section-properties-model.js +0 -0
  186. package/src/features/document/section.d.ts +93 -0
  187. package/src/features/document/section.js +178 -0
  188. package/src/features/document/sections.d.ts +103 -0
  189. package/src/features/document/sections.js +217 -0
  190. package/src/features/document/sub-super-script.d.ts +23 -0
  191. package/src/features/document/sub-super-script.js +43 -0
  192. package/src/features/document/text-range.d.ts +445 -0
  193. package/src/features/document/text-range.js +1156 -0
  194. package/src/features/document/typed-body-collections.d.ts +162 -0
  195. package/src/features/document/typed-body-collections.js +371 -0
  196. package/src/features/document/underline-style.d.ts +38 -0
  197. package/src/features/document/underline-style.js +126 -0
  198. package/src/features/document/units.d.ts +8 -0
  199. package/src/features/document/units.js +7 -0
  200. package/src/features/document/wml.d.ts +16 -0
  201. package/src/features/document/wml.js +67 -0
  202. package/src/features/drawing/authoring.d.ts +27 -0
  203. package/src/features/drawing/authoring.js +271 -0
  204. package/src/features/drawing/body-pr.d.ts +271 -0
  205. package/src/features/drawing/body-pr.js +663 -0
  206. package/src/features/drawing/drawing-shape.d.ts +1192 -0
  207. package/src/features/drawing/drawing-shape.js +3239 -0
  208. package/src/features/drawing/encode-builders.d.ts +176 -0
  209. package/src/features/drawing/encode-builders.js +390 -0
  210. package/src/features/drawing/fill-format.d.ts +52 -0
  211. package/src/features/drawing/fill-format.js +124 -0
  212. package/src/features/drawing/host-codec.d.ts +632 -0
  213. package/src/features/drawing/host-codec.js +2595 -0
  214. package/src/features/drawing/index.d.ts +13 -0
  215. package/src/features/drawing/index.js +33 -0
  216. package/src/features/drawing/line-format.d.ts +76 -0
  217. package/src/features/drawing/line-format.js +343 -0
  218. package/src/features/drawing/parse-register.d.ts +50 -0
  219. package/src/features/drawing/parse-register.js +257 -0
  220. package/src/features/drawing/residual-utils.d.ts +47 -0
  221. package/src/features/drawing/residual-utils.js +290 -0
  222. package/src/features/drawing/shape-types.d.ts +433 -0
  223. package/src/features/drawing/shape-types.js +437 -0
  224. package/src/features/drawing/sp-pr.d.ts +396 -0
  225. package/src/features/drawing/sp-pr.js +610 -0
  226. package/src/features/drawing/text-frame.d.ts +90 -0
  227. package/src/features/drawing/text-frame.js +152 -0
  228. package/src/features/drawing/types.d.ts +352 -0
  229. package/src/features/drawing/types.js +60 -0
  230. package/src/features/drawing/wrap-format.d.ts +62 -0
  231. package/src/features/drawing/wrap-format.js +114 -0
  232. package/src/features/editable-ranges/index.d.ts +494 -0
  233. package/src/features/editable-ranges/index.js +1348 -0
  234. package/src/features/fields/index.d.ts +428 -0
  235. package/src/features/fields/index.js +2148 -0
  236. package/src/features/fields/paragraph-field.d.ts +187 -0
  237. package/src/features/fields/paragraph-field.js +692 -0
  238. package/src/features/font-table/font-substitution-table.d.ts +75 -0
  239. package/src/features/font-table/font-substitution-table.js +257 -0
  240. package/src/features/font-table/font-table-entry.d.ts +255 -0
  241. package/src/features/font-table/font-table-entry.js +823 -0
  242. package/src/features/font-table/font-table.d.ts +128 -0
  243. package/src/features/font-table/font-table.js +313 -0
  244. package/src/features/font-table/index.d.ts +27 -0
  245. package/src/features/font-table/index.js +48 -0
  246. package/src/features/glossary/index.d.ts +97 -0
  247. package/src/features/glossary/index.js +286 -0
  248. package/src/features/headers-footers/index.d.ts +506 -0
  249. package/src/features/headers-footers/index.js +1666 -0
  250. package/src/features/hyperlinks/index.d.ts +230 -0
  251. package/src/features/hyperlinks/index.js +685 -0
  252. package/src/features/images/caption-authoring-api.d.ts +33 -0
  253. package/src/features/images/caption-authoring-api.js +33 -0
  254. package/src/features/images/caption-enums.d.ts +52 -0
  255. package/src/features/images/caption-enums.js +141 -0
  256. package/src/features/images/caption-host.d.ts +10 -0
  257. package/src/features/images/caption-host.js +21 -0
  258. package/src/features/images/captions.d.ts +13 -0
  259. package/src/features/images/captions.js +142 -0
  260. package/src/features/images/host-codec.d.ts +103 -0
  261. package/src/features/images/host-codec.js +720 -0
  262. package/src/features/images/image-sniff.d.ts +21 -0
  263. package/src/features/images/image-sniff.js +71 -0
  264. package/src/features/images/index.d.ts +506 -0
  265. package/src/features/images/index.js +1429 -0
  266. package/src/features/images/layout-types.d.ts +232 -0
  267. package/src/features/images/layout-types.js +294 -0
  268. package/src/features/images/public-entry.d.ts +9 -0
  269. package/src/features/images/public-entry.js +9 -0
  270. package/src/features/index.d.ts +35 -0
  271. package/src/features/index.js +36 -0
  272. package/src/features/mail-merge/index.d.ts +113 -0
  273. package/src/features/mail-merge/index.js +315 -0
  274. package/src/features/notes/index.d.ts +573 -0
  275. package/src/features/notes/index.js +1725 -0
  276. package/src/features/numbering/abstract-numbering.d.ts +90 -0
  277. package/src/features/numbering/abstract-numbering.js +292 -0
  278. package/src/features/numbering/index.d.ts +182 -0
  279. package/src/features/numbering/index.js +668 -0
  280. package/src/features/numbering/list-format.d.ts +158 -0
  281. package/src/features/numbering/list-format.js +590 -0
  282. package/src/features/numbering/list-string.d.ts +7 -0
  283. package/src/features/numbering/list-string.js +423 -0
  284. package/src/features/numbering/list-style.d.ts +204 -0
  285. package/src/features/numbering/list-style.js +1084 -0
  286. package/src/features/numbering/numbering-instance.d.ts +101 -0
  287. package/src/features/numbering/numbering-instance.js +329 -0
  288. package/src/features/numbering/numbering-level.d.ts +118 -0
  289. package/src/features/numbering/numbering-level.js +501 -0
  290. package/src/features/numbering/picture-bullet.d.ts +34 -0
  291. package/src/features/numbering/picture-bullet.js +88 -0
  292. package/src/features/ole-object/catalog.d.ts +300 -0
  293. package/src/features/ole-object/catalog.js +908 -0
  294. package/src/features/ole-object/index.d.ts +526 -0
  295. package/src/features/ole-object/index.js +1421 -0
  296. package/src/features/ole-object/relationship.d.ts +27 -0
  297. package/src/features/ole-object/relationship.js +27 -0
  298. package/src/features/ole-object/typed-dom.d.ts +186 -0
  299. package/src/features/ole-object/typed-dom.js +595 -0
  300. package/src/features/properties/index.d.ts +205 -0
  301. package/src/features/properties/index.js +549 -0
  302. package/src/features/revisions/index.d.ts +204 -0
  303. package/src/features/revisions/index.js +695 -0
  304. package/src/features/sections/column-collection.d.ts +119 -0
  305. package/src/features/sections/column-collection.js +478 -0
  306. package/src/features/sections/column.d.ts +15 -0
  307. package/src/features/sections/column.js +37 -0
  308. package/src/features/sections/index.d.ts +91 -0
  309. package/src/features/sections/index.js +1096 -0
  310. package/src/features/sections/margins.d.ts +40 -0
  311. package/src/features/sections/margins.js +105 -0
  312. package/src/features/sections/page-number-style.d.ts +21 -0
  313. package/src/features/sections/page-number-style.js +62 -0
  314. package/src/features/sections/page-orientation.d.ts +10 -0
  315. package/src/features/sections/page-orientation.js +10 -0
  316. package/src/features/sections/page-setup.d.ts +435 -0
  317. package/src/features/sections/page-setup.js +1479 -0
  318. package/src/features/sections/page-size.d.ts +59 -0
  319. package/src/features/sections/page-size.js +68 -0
  320. package/src/features/sections/section-break-code.d.ts +27 -0
  321. package/src/features/sections/section-break-code.js +60 -0
  322. package/src/features/sections/section-document-association.d.ts +18 -0
  323. package/src/features/sections/section-document-association.js +31 -0
  324. package/src/features/sections/section-validation.d.ts +43 -0
  325. package/src/features/sections/section-validation.js +97 -0
  326. package/src/features/settings/attached-template.d.ts +35 -0
  327. package/src/features/settings/attached-template.js +98 -0
  328. package/src/features/settings/compat-settings.d.ts +216 -0
  329. package/src/features/settings/compat-settings.js +508 -0
  330. package/src/features/settings/document-background.d.ts +59 -0
  331. package/src/features/settings/document-background.js +131 -0
  332. package/src/features/settings/document-protection.d.ts +65 -0
  333. package/src/features/settings/document-protection.js +157 -0
  334. package/src/features/settings/document-settings-facades.d.ts +108 -0
  335. package/src/features/settings/document-settings-facades.js +312 -0
  336. package/src/features/settings/document-settings-values.d.ts +43 -0
  337. package/src/features/settings/document-settings-values.js +60 -0
  338. package/src/features/settings/footnote-properties.d.ts +211 -0
  339. package/src/features/settings/footnote-properties.js +591 -0
  340. package/src/features/settings/index.d.ts +356 -0
  341. package/src/features/settings/index.js +829 -0
  342. package/src/features/settings/settings-children.d.ts +151 -0
  343. package/src/features/settings/settings-children.js +505 -0
  344. package/src/features/settings/web-settings.d.ts +88 -0
  345. package/src/features/settings/web-settings.js +227 -0
  346. package/src/features/settings/zoom.d.ts +79 -0
  347. package/src/features/settings/zoom.js +147 -0
  348. package/src/features/styles/builtin-catalog.d.ts +159 -0
  349. package/src/features/styles/builtin-catalog.js +963 -0
  350. package/src/features/styles/builtin-resolver.d.ts +49 -0
  351. package/src/features/styles/builtin-resolver.js +165 -0
  352. package/src/features/styles/default-styles.d.ts +37 -0
  353. package/src/features/styles/default-styles.js +186 -0
  354. package/src/features/styles/default-theme.d.ts +13 -0
  355. package/src/features/styles/default-theme.js +13 -0
  356. package/src/features/styles/doc-defaults.d.ts +58 -0
  357. package/src/features/styles/doc-defaults.js +178 -0
  358. package/src/features/styles/formatting-resolver.d.ts +27 -0
  359. package/src/features/styles/formatting-resolver.js +72 -0
  360. package/src/features/styles/index.d.ts +256 -0
  361. package/src/features/styles/index.js +1325 -0
  362. package/src/features/styles/latent-styles.d.ts +68 -0
  363. package/src/features/styles/latent-styles.js +305 -0
  364. package/src/features/styles/paragraph-properties.d.ts +71 -0
  365. package/src/features/styles/paragraph-properties.js +237 -0
  366. package/src/features/styles/run-properties.d.ts +93 -0
  367. package/src/features/styles/run-properties.js +516 -0
  368. package/src/features/styles/style-base.d.ts +402 -0
  369. package/src/features/styles/style-base.js +1026 -0
  370. package/src/features/styles/style-collection.d.ts +264 -0
  371. package/src/features/styles/style-collection.js +714 -0
  372. package/src/features/styles/style-format-bridge.d.ts +64 -0
  373. package/src/features/styles/style-format-bridge.js +100 -0
  374. package/src/features/styles/style.d.ts +84 -0
  375. package/src/features/styles/style.js +375 -0
  376. package/src/features/styles/styles-with-effects.d.ts +71 -0
  377. package/src/features/styles/styles-with-effects.js +180 -0
  378. package/src/features/styles/table-style.d.ts +272 -0
  379. package/src/features/styles/table-style.js +1226 -0
  380. package/src/features/styles/theme.d.ts +126 -0
  381. package/src/features/styles/theme.js +377 -0
  382. package/src/features/tables/border-style-map.d.ts +24 -0
  383. package/src/features/tables/border-style-map.js +81 -0
  384. package/src/features/tables/borders.d.ts +126 -0
  385. package/src/features/tables/borders.js +527 -0
  386. package/src/features/tables/collections.d.ts +113 -0
  387. package/src/features/tables/collections.js +261 -0
  388. package/src/features/tables/format.d.ts +208 -0
  389. package/src/features/tables/format.js +716 -0
  390. package/src/features/tables/index.d.ts +597 -0
  391. package/src/features/tables/index.js +2386 -0
  392. package/src/features/tables/paddings.d.ts +41 -0
  393. package/src/features/tables/paddings.js +97 -0
  394. package/src/features/tables/tbl-pr-positioning.d.ts +27 -0
  395. package/src/features/tables/tbl-pr-positioning.js +178 -0
  396. package/src/features/tables/tbl-pr.d.ts +528 -0
  397. package/src/features/tables/tbl-pr.js +1208 -0
  398. package/src/features/tables/tc-pr.d.ts +168 -0
  399. package/src/features/tables/tc-pr.js +553 -0
  400. package/src/features/tables/tr-pr.d.ts +60 -0
  401. package/src/features/tables/tr-pr.js +215 -0
  402. package/src/features/watermark/detect.d.ts +76 -0
  403. package/src/features/watermark/detect.js +219 -0
  404. package/src/features/watermark/index.d.ts +28 -0
  405. package/src/features/watermark/index.js +91 -0
  406. package/src/features/watermark/logical-store.d.ts +29 -0
  407. package/src/features/watermark/logical-store.js +31 -0
  408. package/src/features/watermark/model.d.ts +285 -0
  409. package/src/features/watermark/model.js +597 -0
  410. package/src/features/watermark/parse.d.ts +84 -0
  411. package/src/features/watermark/parse.js +815 -0
  412. package/src/features/watermark/serialize.d.ts +98 -0
  413. package/src/features/watermark/serialize.js +1517 -0
  414. package/src/global.js +1 -0
  415. package/src/index.d.ts +2 -0
  416. package/src/index.js +2 -0
@@ -0,0 +1,410 @@
1
+ import { OpcPackage } from '../../core/opc/index';
2
+ import { OpenXmlElement } from '../../core/xml/index';
3
+ import { FeatureId } from '../../core/registry/feature-registry';
4
+ import { FeaturePackagePart } from './feature-package-part';
5
+ import { FeaturePackageLevelPart } from './feature-package-level-part';
6
+ import { FeatureMultiPackagePart } from './feature-multi-package-part';
7
+ import { ResourceLimitOverrides } from '../../core/security/limits';
8
+ import { AltChunkAnchor } from './alt-chunk';
9
+ import { Body } from './body';
10
+ import { LoadOptions } from './load-options';
11
+ import { BlockContent, Paragraph } from './paragraph';
12
+ import { Section } from './section';
13
+ import { Sections } from './sections';
14
+ import { SectionPropertiesModel } from './section-properties-model';
15
+ /**
16
+ * @private
17
+ * Feature-owned package part state (single-, multi-, or package-level).
18
+ */
19
+ export declare type FeaturePartState = FeaturePackagePart | FeatureMultiPackagePart | FeaturePackageLevelPart;
20
+ /**
21
+ * In-memory WordprocessingML document backed by an OPC package.
22
+ *
23
+ * Load via {@link WordDocument.open} / {@link WordDocument.openSync} from bytes or base64,
24
+ * or {@link WordDocument.openAsync} from a browser `File` / `Blob`. There is no filesystem-path open.
25
+ * Serialize with {@link WordDocument.save} / {@link WordDocument.saveSync} to bytes, a browser
26
+ * download file name, or base64. There is no Node.js filesystem write.
27
+ *
28
+ * Main-story entry is {@link Document.sections} (each {@link Section.body}).
29
+ *
30
+ * @public
31
+ */
32
+ export declare class WordDocument {
33
+ private pkg;
34
+ private rootExtra;
35
+ private background;
36
+ /** Ordered sections — sole main-story owners (TASK-8074). */
37
+ private readonly sectionsInstance;
38
+ /**
39
+ * Body-final `w:sectPr` as preserved OOXML when the sections feature has not
40
+ * attached a live {@link SectionPropertiesModel}.
41
+ */
42
+ private sectPr;
43
+ /**
44
+ * Live body-final section properties when the sections feature owns the model.
45
+ * Preferred over {@link sectPr} when both would otherwise be present.
46
+ */
47
+ private finalSectionModel;
48
+ private featureParts;
49
+ private constructor();
50
+ /**
51
+ * Minimal Transitional package with one empty paragraph (`w:p` in `w:body`).
52
+ *
53
+ * Builds the in-memory document and package scaffold directly — does not
54
+ * serialize then re-parse as the sole create path.
55
+ */
56
+ static create(): WordDocument;
57
+ /**
58
+ * @private
59
+ */
60
+ static fromPackage(pkg: OpcPackage, limits?: ResourceLimitOverrides): WordDocument;
61
+ /**
62
+ * @private
63
+ * Partition body blocks into logical sections and attach them (TASK-8075).
64
+ * Non-final section properties stay dual-held internally on the closing
65
+ * paragraph and {@link Section.pageSetup} for flatten/serialize; final
66
+ * properties dual-hold body-final model / last pageSetup.
67
+ *
68
+ * Also used after dual-hold authoring (`setParagraphSectionBreak`) so
69
+ * `Document.sections` matches paragraph break topology before save.
70
+ */
71
+ private hydratePartitionedSections;
72
+ /**
73
+ * @private
74
+ * Rebuild {@link Document.sections} from current body blocks + dual-hold
75
+ * paragraph/body section properties (TASK-8075/8076 authoring path).
76
+ *
77
+ * Call after `setParagraphSectionBreak` so non-final pageSetup lives on its
78
+ * own section and flatten emits paragraph-level + body-final `w:sectPr`.
79
+ */
80
+ repartitionFromBodyBlocks(): void;
81
+ /**
82
+ * Load a `.docx` package from bytes.
83
+ *
84
+ * Reuses {@link WordDocument.openSync} parsing — returns `WordDocument` directly
85
+ * (not a `Promise`). Prefer {@link WordDocument.openAsync} when a Promise is required.
86
+ *
87
+ * @param data - OPC ZIP payload (`Uint8Array` or `ArrayBuffer`).
88
+ * @param options - Optional {@link LoadOptions.limits} overrides.
89
+ * @throws {@link PackageError} for ZIP/OPC failures.
90
+ * @throws {@link SecurityError} when a resource limit is exceeded.
91
+ * @throws {@link XmlError} for malformed Main Document XML.
92
+ */
93
+ static open(data: Uint8Array | ArrayBuffer, options?: LoadOptions): WordDocument;
94
+ /**
95
+ * Open a `.docx` package from a base64 string. Requires `options.format: 'base64'`.
96
+ *
97
+ * Optional `data:...;base64,` prefixes are stripped.
98
+ *
99
+ * @param base64 - Base64-encoded OPC ZIP payload.
100
+ * @param options - Load options including `format: 'base64'`.
101
+ * @throws {@link InvalidArgumentError} when the payload is not valid base64
102
+ */
103
+ static open(base64: string, options: LoadOptions & {
104
+ format: 'base64';
105
+ }): WordDocument;
106
+ /**
107
+ * Open a `.docx` package asynchronously (Promise form of {@link WordDocument.open}).
108
+ *
109
+ * Parsing still runs via {@link WordDocument.openSync}; the Promise only wraps
110
+ * completion / rejection. Use this when call sites require a Promise API.
111
+ *
112
+ * @public
113
+ */
114
+ static openAsync(data: Uint8Array | ArrayBuffer, options?: LoadOptions): Promise<WordDocument>;
115
+ /**
116
+ * Open a browser `File` or `Blob` (file-input / drag-drop). Same input shape the
117
+ * PDF library uses for an existing document: bytes the page already has, not a
118
+ * filesystem path.
119
+ *
120
+ * @public
121
+ */
122
+ static openAsync(file: {
123
+ arrayBuffer(): Promise<ArrayBuffer>;
124
+ }, options?: LoadOptions): Promise<WordDocument>;
125
+ /**
126
+ * @public
127
+ */
128
+ static openAsync(base64: string, options: LoadOptions & {
129
+ format: 'base64';
130
+ }): Promise<WordDocument>;
131
+ /**
132
+ * Open a `.docx` package from bytes synchronously.
133
+ *
134
+ * @param data - OPC ZIP payload (`Uint8Array` or `ArrayBuffer`).
135
+ * @param options - Optional {@link LoadOptions.limits} overrides.
136
+ */
137
+ static openSync(data: Uint8Array | ArrayBuffer, options?: LoadOptions): WordDocument;
138
+ /**
139
+ * Open a `.docx` package from a base64 string synchronously. Requires `options.format: 'base64'`.
140
+ *
141
+ * @param base64 - Base64-encoded OPC ZIP payload.
142
+ * @param options - Load options including `format: 'base64'`.
143
+ */
144
+ static openSync(base64: string, options: LoadOptions & {
145
+ format: 'base64';
146
+ }): WordDocument;
147
+ /**
148
+ * Alias of {@link WordDocument.open} (legacy / DocIO-aligned `load` naming).
149
+ *
150
+ * @public
151
+ */
152
+ static load(data: Uint8Array | ArrayBuffer, options?: LoadOptions): WordDocument;
153
+ /**
154
+ * @public
155
+ */
156
+ static load(base64: string, options: LoadOptions & {
157
+ format: 'base64';
158
+ }): WordDocument;
159
+ /**
160
+ * Alias of {@link WordDocument.openAsync}. Browser file input: pass the picked `File`.
161
+ * There is no filesystem-path overload.
162
+ *
163
+ * @public
164
+ */
165
+ static loadAsync(data: Uint8Array | ArrayBuffer, options?: LoadOptions): Promise<WordDocument>;
166
+ /**
167
+ * @public
168
+ */
169
+ static loadAsync(file: {
170
+ arrayBuffer(): Promise<ArrayBuffer>;
171
+ }, options?: LoadOptions): Promise<WordDocument>;
172
+ /**
173
+ * @public
174
+ */
175
+ static loadAsync(base64: string, options: LoadOptions & {
176
+ format: 'base64';
177
+ }): Promise<WordDocument>;
178
+ /**
179
+ * Alias of {@link WordDocument.openSync} (legacy / DocIO-aligned `loadSync` naming).
180
+ *
181
+ * @public
182
+ */
183
+ static loadSync(data: Uint8Array | ArrayBuffer, options?: LoadOptions): WordDocument;
184
+ /**
185
+ * @public
186
+ */
187
+ static loadSync(base64: string, options: LoadOptions & {
188
+ format: 'base64';
189
+ }): WordDocument;
190
+ /**
191
+ * Ordered document sections. Sole main-story entry (API-RULES / TASK-8074).
192
+ *
193
+ * @public
194
+ */
195
+ readonly sections: Sections;
196
+ /**
197
+ * Last section in {@link WordDocument.sections}.
198
+ *
199
+ * Equivalent to `sections[sections.count - 1]`. The document always has at
200
+ * least one section.
201
+ *
202
+ * @public
203
+ */
204
+ readonly lastSection: Section;
205
+ /**
206
+ * Last block-level paragraph of {@link WordDocument.lastSection}.
207
+ *
208
+ * Does not walk paragraphs nested in tables or text boxes. Authored
209
+ * documents always have at least one body paragraph per section.
210
+ *
211
+ * @throws DetachedObjectError when the last section has no block-level
212
+ * paragraph (malformed loaded package).
213
+ *
214
+ * @public
215
+ */
216
+ readonly lastParagraph: Paragraph;
217
+ /**
218
+ * First section body — convenience bridge matching create-path documents
219
+ * (single section) and public samples that use `doc.body`.
220
+ *
221
+ * Prefer {@link WordDocument.sections} for multi-section documents.
222
+ *
223
+ * @public
224
+ */
225
+ readonly body: Body;
226
+ /**
227
+ * Appends a paragraph to {@link WordDocument.body}.
228
+ *
229
+ * Style ids route through {@link Paragraph.applyStyle} so built-in catalog
230
+ * resolution and validation run on assignment.
231
+ *
232
+ * @param options - Optional paragraph style id and/or initial text.
233
+ * @returns The appended {@link Paragraph}.
234
+ *
235
+ * @public
236
+ */
237
+ appendParagraph(options?: {
238
+ readonly style?: string;
239
+ readonly text?: string;
240
+ }): Paragraph;
241
+ /**
242
+ * Appends a new section after the current last section.
243
+ *
244
+ * Thin delegate over {@link Sections.add}. Clones page setup from the
245
+ * previous last section when the sections feature has registered a clone
246
+ * hook; otherwise seeds a default letter page setup when a seed hook is
247
+ * registered.
248
+ *
249
+ * @returns The new {@link Section}.
250
+ *
251
+ * @public
252
+ */
253
+ addSection(): Section;
254
+ /**
255
+ * @private
256
+ */
257
+ assertAttachedParagraph(target: Paragraph): void;
258
+ /**
259
+ * @private
260
+ */
261
+ owningDocument(): this;
262
+ /**
263
+ * Modeled `w:altChunk` anchors in the Main Document body.
264
+ *
265
+ * @private
266
+ */
267
+ readonly altChunks: ReadonlyArray<AltChunkAnchor>;
268
+ /**
269
+ * @private
270
+ * First section body (internal feature/load bridges).
271
+ */
272
+ firstSectionBody(): Body;
273
+ /**
274
+ * @private
275
+ */
276
+ listParagraphs(): ReadonlyArray<Paragraph>;
277
+ /**
278
+ * @private
279
+ * Flattened internal store across sections.
280
+ */
281
+ listBlocks(): ReadonlyArray<BlockContent>;
282
+ /**
283
+ * @private
284
+ */
285
+ appendBlock(block: BlockContent): void;
286
+ /**
287
+ * Inserts a body item at index (`0…count` inclusive) on the first section body.
288
+ *
289
+ * @private
290
+ */
291
+ insertBlockAt(index: number, block: BlockContent): void;
292
+ /**
293
+ * Inserts an empty paragraph at a body item index (`0…count` inclusive).
294
+ *
295
+ * @private
296
+ */
297
+ insertParagraphAtBlockIndex(index: number): Paragraph;
298
+ /**
299
+ * @private
300
+ */
301
+ insertParagraph(index: number): Paragraph;
302
+ /**
303
+ * @private
304
+ */
305
+ removeParagraph(paragraph: Paragraph): void;
306
+ /**
307
+ * Removes the body item at `index` (`0…count-1`) on the first section body.
308
+ *
309
+ * @private
310
+ */
311
+ removeBlockAt(index: number): void;
312
+ /**
313
+ * Advanced L3 hatch: Main Document `w:document` tree (API-RULES R5.4).
314
+ * Unstable; prefer semantic properties and `save` / `saveSync`.
315
+ *
316
+ * Always flattens section bodies into one physical `w:body` (TASK-8075/8076).
317
+ *
318
+ * @private
319
+ */
320
+ toOpenXml(): OpenXmlElement;
321
+ /**
322
+ * Preserved `w:document/w:background` subtree from load, if any.
323
+ *
324
+ * @private
325
+ */
326
+ preservedBackground(): OpenXmlElement | undefined;
327
+ /**
328
+ * @private
329
+ * Body-final `w:sectPr`, when present.
330
+ * Serializes a live section-properties model when the sections feature owns it;
331
+ * otherwise returns preserved OOXML from load / XML write-back.
332
+ */
333
+ bodySectPr(): OpenXmlElement | undefined;
334
+ /**
335
+ * @private
336
+ * Replace body-final `w:sectPr` as preserved OOXML.
337
+ * Clears any live section-properties model (XML becomes source of truth again).
338
+ */
339
+ replaceBodySectPr(value: OpenXmlElement | undefined): void;
340
+ /**
341
+ * @private
342
+ * Live body-final section properties model (sections feature), if any.
343
+ */
344
+ finalSectionPropertiesModel(): SectionPropertiesModel | undefined;
345
+ /**
346
+ * @private
347
+ * Attach or clear the live body-final section properties model.
348
+ * When set, clears preserved `w:sectPr` XML so the model is the sole source of truth.
349
+ * Also seeds {@link Section.pageSetup} on the last section (TASK-8074 dual-hold).
350
+ */
351
+ replaceFinalSectionPropertiesModel(value: SectionPropertiesModel | undefined): void;
352
+ /**
353
+ * @private
354
+ */
355
+ featurePart(id: FeatureId): FeaturePartState | undefined;
356
+ /**
357
+ * @private
358
+ */
359
+ setFeaturePart(id: FeatureId, part: FeaturePartState): void;
360
+ /**
361
+ * @private
362
+ */
363
+ opcPackage(): OpcPackage;
364
+ /**
365
+ * Serialize the OPC package to `.docx` bytes. Unmodified extra parts keep their payload bytes.
366
+ */
367
+ saveSync(): Uint8Array;
368
+ /**
369
+ * Serialize the OPC package to a base64 string.
370
+ *
371
+ * @param options - Must include `format: 'base64'`.
372
+ */
373
+ saveSync(options: {
374
+ format: 'base64';
375
+ }): string;
376
+ /**
377
+ * @private
378
+ * Shared package serialization used by `saveSync` overloads and async `save`.
379
+ */
380
+ private saveSyncBytes;
381
+ /**
382
+ * Serialize the package to bytes. Resolves with the same result as {@link WordDocument.saveSync}.
383
+ */
384
+ save(): Promise<Uint8Array>;
385
+ /**
386
+ * Save the document under a file name by triggering a browser download.
387
+ *
388
+ * Matches the PDF library `save(filename)` pattern (`Blob` + anchor click).
389
+ * Directory segments are stripped (`./out/report.docx` → `report.docx`).
390
+ * This method does not import Node.js `fs` — a browser bundle must not
391
+ * touch the filesystem. In Node.js, call parameterless {@link WordDocument.save}
392
+ * or {@link WordDocument.saveSync} and write the bytes with the host's own I/O.
393
+ *
394
+ * @param fileName - Browser download file name (for example `Output.docx`).
395
+ * @throws InvalidArgumentError when `fileName` is missing or empty
396
+ * @throws IoError when no browser document is available to start the download
397
+ */
398
+ save(filePath: string): Promise<void>;
399
+ /**
400
+ * Serialize the package to a base64 string.
401
+ *
402
+ * @param options - Must include `format: 'base64'`.
403
+ */
404
+ save(options: {
405
+ format: 'base64';
406
+ }): Promise<string>;
407
+ }
408
+ export { Body } from './body';
409
+ /** @public Compatibility alias for {@link WordDocument}. */
410
+ export declare type Document = WordDocument;