@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,21 @@
1
+ /**
2
+ * @public PNG media type (ECMA-376-1 §15.2.14). */
3
+ export declare const PNG_CONTENT_TYPE = "image/png";
4
+ /**
5
+ * @public JPEG media type (ECMA-376-1 §15.2.14). */
6
+ export declare const JPEG_CONTENT_TYPE = "image/jpeg";
7
+ /** Supported image content types for create/replace.
8
+ * @public
9
+ */
10
+ export declare type ImageType = typeof PNG_CONTENT_TYPE | typeof JPEG_CONTENT_TYPE;
11
+ /**
12
+ * @private
13
+ * Pixel dimensions when sniffable from PNG or JPEG bytes. */
14
+ export declare function sniffImagePixelDimensions(bytes: Uint8Array): {
15
+ width: number;
16
+ height: number;
17
+ } | undefined;
18
+ /**
19
+ * @private
20
+ * Sniff PNG/JPEG content type from magic bytes. */
21
+ export declare function sniffImageContentType(bytes: Uint8Array): ImageType | undefined;
@@ -0,0 +1,71 @@
1
+ /**
2
+ * @public PNG media type (ECMA-376-1 §15.2.14). */
3
+ export var PNG_CONTENT_TYPE = 'image/png';
4
+ /**
5
+ * @public JPEG media type (ECMA-376-1 §15.2.14). */
6
+ export var JPEG_CONTENT_TYPE = 'image/jpeg';
7
+ function readUint32Be(bytes, offset) {
8
+ var __ts33_0, __ts33_1, __ts33_2;
9
+ return (((bytes[offset] != null ? bytes[offset] : 0) << 24) |
10
+ ((((__ts33_0 = bytes[offset + 1]), __ts33_0 != null ? __ts33_0 : 0)) << 16) |
11
+ ((((__ts33_1 = bytes[offset + 2]), __ts33_1 != null ? __ts33_1 : 0)) << 8) |
12
+ (((__ts33_2 = bytes[offset + 3]), __ts33_2 != null ? __ts33_2 : 0))) >>> 0;
13
+ }
14
+ /**
15
+ * @private
16
+ * Pixel dimensions when sniffable from PNG or JPEG bytes. */
17
+ export function sniffImagePixelDimensions(bytes) {
18
+ var __ts33_3, __ts33_4, __ts33_5, __ts33_6, __ts33_7, __ts33_8;
19
+ if (bytes.length >= 24 &&
20
+ bytes[0] === 0x89 &&
21
+ bytes[1] === 0x50 &&
22
+ bytes[2] === 0x4e &&
23
+ bytes[3] === 0x47) {
24
+ return { width: readUint32Be(bytes, 16), height: readUint32Be(bytes, 20) };
25
+ }
26
+ if (bytes.length >= 4 && bytes[0] === 0xff && bytes[1] === 0xd8) {
27
+ var offset = 2;
28
+ while (offset + 9 < bytes.length) {
29
+ if (bytes[offset] !== 0xff) {
30
+ break;
31
+ }
32
+ var marker = bytes[offset + 1];
33
+ if (marker === undefined) {
34
+ break;
35
+ }
36
+ if (marker === 0xd9 || marker === 0xda) {
37
+ break;
38
+ }
39
+ var segmentLength = ((((__ts33_3 = bytes[offset + 2]), __ts33_3 != null ? __ts33_3 : 0)) << 8) | (((__ts33_4 = bytes[offset + 3]), __ts33_4 != null ? __ts33_4 : 0));
40
+ if (segmentLength < 2) {
41
+ break;
42
+ }
43
+ if (marker >= 0xc0 && marker <= 0xcf && marker !== 0xc4 && marker !== 0xc8 && marker !== 0xcc) {
44
+ var height = ((((__ts33_5 = bytes[offset + 5]), __ts33_5 != null ? __ts33_5 : 0)) << 8) | (((__ts33_6 = bytes[offset + 6]), __ts33_6 != null ? __ts33_6 : 0));
45
+ var width = ((((__ts33_7 = bytes[offset + 7]), __ts33_7 != null ? __ts33_7 : 0)) << 8) | (((__ts33_8 = bytes[offset + 8]), __ts33_8 != null ? __ts33_8 : 0));
46
+ if (width > 0 && height > 0) {
47
+ return { width: width, height: height };
48
+ }
49
+ return undefined;
50
+ }
51
+ offset += 2 + segmentLength;
52
+ }
53
+ }
54
+ return undefined;
55
+ }
56
+ /**
57
+ * @private
58
+ * Sniff PNG/JPEG content type from magic bytes. */
59
+ export function sniffImageContentType(bytes) {
60
+ if (bytes.length >= 8 &&
61
+ bytes[0] === 0x89 &&
62
+ bytes[1] === 0x50 &&
63
+ bytes[2] === 0x4e &&
64
+ bytes[3] === 0x47) {
65
+ return PNG_CONTENT_TYPE;
66
+ }
67
+ if (bytes.length >= 3 && bytes[0] === 0xff && bytes[1] === 0xd8 && bytes[2] === 0xff) {
68
+ return JPEG_CONTENT_TYPE;
69
+ }
70
+ return undefined;
71
+ }
@@ -0,0 +1,506 @@
1
+ export * from './caption-authoring-api';
2
+ export * from './caption-enums';
3
+ export * from './caption-host';
4
+ export * from './captions';
5
+ export * from './host-codec';
6
+ export * from './image-sniff';
7
+ export * from './layout-types';
8
+ import { FeatureRunLeaf } from '../document/feature-run-leaf';
9
+ import { WordDocument } from '../document/document';
10
+ import { FeatureMultiPackagePart } from '../document/feature-multi-package-part';
11
+ import { EntityType } from '../document/entity-type';
12
+ import { Paragraph } from '../document/paragraph';
13
+ import { FeatureRunParagraphItem, ParagraphItem } from '../document/text-range';
14
+ import { OpcRelationship, RelationshipId } from '../../core/opc/relationships';
15
+ import { OpcPackage } from '../../core/opc/package';
16
+ import { PartName } from '../../core/opc/part-name';
17
+ import { CaptionNumberingFormat, CaptionPosition } from './caption-enums';
18
+ import { PictureHostState } from './host-codec';
19
+ import { HorizontalAlignment as HorizontalAlignmentType, HorizontalOrigin as HorizontalOriginType, PicturePlacement as PicturePlacementType, TextWrappingStyle as TextWrappingStyleType, VerticalAlignment as VerticalAlignmentType, VerticalOrigin as VerticalOriginType } from './layout-types';
20
+ import { OpenXmlElement } from '../../core/xml/index';
21
+ /**
22
+ * @private Transitional image relationship (ECMA-376-4 §9.2.10). */
23
+ export declare const IMAGE_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image";
24
+ /**
25
+ * @private Strict image relationship (ECMA-376-1 §11.3.10). */
26
+ export declare const STRICT_IMAGE_RELATIONSHIP_TYPE = "http://purl.oclc.org/ooxml/officeDocument/relationships/image";
27
+ /**
28
+ * @private PNG media type (ECMA-376-1 §15.2.14). */
29
+ declare const PNG_CONTENT_TYPE = "image/png";
30
+ /**
31
+ * @private JPEG media type (ECMA-376-1 §15.2.14). */
32
+ declare const JPEG_CONTENT_TYPE = "image/jpeg";
33
+ /** Supported image content types for create/replace.
34
+ * @public
35
+ */
36
+ declare type ImageType = typeof PNG_CONTENT_TYPE | typeof JPEG_CONTENT_TYPE;
37
+ /** Options for {@link Paragraph.appendImage}. */
38
+ export interface ImageOptions {
39
+ /**
40
+ * Display width in points. When omitted, derived from intrinsic pixels
41
+ * (96 DPI → points), aspect ratio from height, or {@link DEFAULT_IMAGE_WIDTH_PT}.
42
+ */
43
+ readonly width?: number;
44
+ /**
45
+ * Display height in points. When omitted, derived from intrinsic pixels,
46
+ * aspect ratio from width, or {@link DEFAULT_IMAGE_HEIGHT_PT}.
47
+ */
48
+ readonly height?: number;
49
+ /** Media type of `bytes`. Sniffed from PNG/JPEG magic bytes when omitted. */
50
+ readonly imageType?: ImageType;
51
+ /**
52
+ * Non-visual picture name (`wp:docPr/@name` and `pic:cNvPr/@name`).
53
+ * @defaultValue `'Picture'`
54
+ */
55
+ readonly name?: string;
56
+ /**
57
+ * Accessibility / caption title (`wp:docPr/@title`).
58
+ * Distinct from {@link description} (`@descr`).
59
+ */
60
+ readonly title?: string;
61
+ /** Alternative text description (`wp:docPr/@descr`). */
62
+ readonly description?: string;
63
+ /**
64
+ * Whether aspect ratio is locked (`a:graphicFrameLocks/@noChangeAspect`).
65
+ * @defaultValue `true`
66
+ */
67
+ readonly lockAspectRatio?: boolean;
68
+ /** Clockwise rotation in degrees (`a:xfrm/@rot`, ST_Angle × 60000). */
69
+ readonly rotation?: number;
70
+ /** Horizontal flip (`a:xfrm/@flipH`). */
71
+ readonly flipHorizontal?: boolean;
72
+ /** Vertical flip (`a:xfrm/@flipV`). */
73
+ readonly flipVertical?: boolean;
74
+ /**
75
+ * Host placement. Prefer {@link textWrappingStyle}; non-inline wrapping promotes to
76
+ * `wp:anchor` automatically.
77
+ */
78
+ readonly placement?: PicturePlacementType;
79
+ /**
80
+ * Text wrapping. `'inline'` uses `wp:inline`; any other value promotes to
81
+ * `wp:anchor` with the matching `wp:wrap*` child.
82
+ * @defaultValue `'inline'`
83
+ */
84
+ readonly textWrappingStyle?: TextWrappingStyleType;
85
+ /**
86
+ * @deprecated Use {@link textWrappingStyle} instead.
87
+ */
88
+ readonly wrapping?: TextWrappingStyleType;
89
+ /** `wp:positionH/@relativeFrom` (`ST_RelFromH`). Meaningful on anchored hosts. */
90
+ readonly horizontalOrigin?: HorizontalOriginType;
91
+ /** `wp:positionV/@relativeFrom` (`ST_RelFromV`). Meaningful on anchored hosts. */
92
+ readonly verticalOrigin?: VerticalOriginType;
93
+ /**
94
+ * Absolute offset on the horizontal axis (`wp:positionH/wp:posOffset`).
95
+ * Mutually exclusive with {@link horizontalAlignment}.
96
+ */
97
+ readonly horizontalPosition?: number;
98
+ /**
99
+ * Absolute offset on the vertical axis (`wp:positionV/wp:posOffset`).
100
+ * Mutually exclusive with {@link verticalAlignment}.
101
+ */
102
+ readonly verticalPosition?: number;
103
+ /**
104
+ * Alignment on the horizontal axis (`wp:positionH/wp:align`, `ST_AlignH`).
105
+ * Mutually exclusive with {@link horizontalPosition}.
106
+ */
107
+ readonly horizontalAlignment?: HorizontalAlignmentType;
108
+ /**
109
+ * Alignment on the vertical axis (`wp:positionV/wp:align`, `ST_AlignV`).
110
+ * Mutually exclusive with {@link verticalPosition}.
111
+ */
112
+ readonly verticalAlignment?: VerticalAlignmentType;
113
+ }
114
+ /** @deprecated Use {@link ImageOptions}. */
115
+ export declare type InsertImageOptions = ImageOptions;
116
+ interface ImagePartEntry {
117
+ readonly partName: PartName;
118
+ readonly relationshipId: RelationshipId;
119
+ readonly relationshipType: string;
120
+ /** Package content type (PNG/JPEG for authoring; other image/* on open). */
121
+ contentType: string;
122
+ data: Uint8Array;
123
+ dirty: boolean;
124
+ pendingRelationship: OpcRelationship | undefined;
125
+ }
126
+ interface ImageInit {
127
+ readonly relationshipId: string;
128
+ /** Display width in points (`wp:extent/@cx` EMU at host boundary). */
129
+ readonly width: number;
130
+ /** Display height in points (`wp:extent/@cy` EMU at host boundary). */
131
+ readonly height: number;
132
+ readonly name?: string;
133
+ readonly title?: string;
134
+ readonly description?: string;
135
+ readonly lockAspectRatio?: boolean;
136
+ readonly rotation?: number;
137
+ readonly flipHorizontal?: boolean;
138
+ readonly flipVertical?: boolean;
139
+ readonly placement?: PicturePlacementType;
140
+ readonly wrapping?: TextWrappingStyleType;
141
+ readonly horizontalOrigin?: HorizontalOriginType;
142
+ readonly verticalOrigin?: VerticalOriginType;
143
+ readonly horizontalPosition?: number;
144
+ readonly verticalPosition?: number;
145
+ readonly horizontalAlignment?: HorizontalAlignmentType;
146
+ readonly verticalAlignment?: VerticalAlignmentType;
147
+ readonly docPrId?: number;
148
+ readonly preservedHost?: OpenXmlElement;
149
+ readonly layoutDirty?: boolean;
150
+ /** DrawingML picture hyperlink relationship id (`a:hlinkClick/@r:id`). */
151
+ readonly hyperlinkRelationshipId?: string;
152
+ /** Runtime target URI for picture-backed hyperlinks (not serialized on the picture part). */
153
+ readonly hyperlinkTarget?: string;
154
+ }
155
+ /**
156
+ * DrawingML picture leaf in a paragraph (`w:r/w:drawing` with `wp:inline`
157
+ * or `wp:anchor` + `pic:pic`).
158
+ *
159
+ * Setting {@link Image.textWrappingStyle} to a non-inline value promotes the host
160
+ * to `wp:anchor`. Setting wrapping back to `'inline'` collapses to `wp:inline`
161
+ * and **drops** anchor position/wrap residual by design — see TSDoc on
162
+ * {@link Image.textWrappingStyle}.
163
+ *
164
+ * @public
165
+ */
166
+ export declare class Picture implements FeatureRunLeaf {
167
+ /**
168
+ * Public discriminant for {@link Paragraph.items} ({@link EntityType.Picture}).
169
+ * @public
170
+ */
171
+ readonly type: EntityType.Picture;
172
+ private relationshipIdValue;
173
+ /** Display width in points. */
174
+ private widthValue;
175
+ /** Display height in points. */
176
+ private heightValue;
177
+ private nameValue;
178
+ private titleValue;
179
+ private descriptionValue;
180
+ private lockAspectRatioValue;
181
+ private rotationValue;
182
+ private flipHorizontalValue;
183
+ private flipVerticalValue;
184
+ private placementValue;
185
+ private wrappingValue;
186
+ private horizontalOriginValue;
187
+ private verticalOriginValue;
188
+ private horizontalPositionValue;
189
+ private verticalPositionValue;
190
+ private horizontalAlignmentValue;
191
+ private verticalAlignmentValue;
192
+ private docPrIdValue;
193
+ private preservedHostValue;
194
+ private layoutDirtyValue;
195
+ private hyperlinkRelationshipIdValue;
196
+ private hyperlinkTargetValue;
197
+ /**
198
+ * Create a picture bound to `document` for authoring.
199
+ *
200
+ * The instance is attached to the document host so {@link loadImage} and
201
+ * caption APIs resolve the images catalog. Append it with
202
+ * {@link Paragraph.appendImage} or by adding a feature-run item; call
203
+ * {@link loadImage} to supply media bytes before save.
204
+ *
205
+ * @example
206
+ * ```typescript
207
+ * const picture = new Picture(document);
208
+ * picture.loadImage(imageBytes);
209
+ * ```
210
+ *
211
+ * @param document - Owning {@link WordDocument}
212
+ * @public
213
+ */
214
+ constructor(document: WordDocument);
215
+ /** @private */
216
+ constructor(relationshipId: string, width: number, height: number);
217
+ /** @private */
218
+ constructor(init: ImageInit);
219
+ /** @private Build from decoded host state. */
220
+ static fromHostState(state: PictureHostState): Picture;
221
+ /** Display width in points (`wp:extent/@cx` EMU at host boundary). */
222
+ width: number;
223
+ /** Display height in points (`wp:extent/@cy` EMU at host boundary). */
224
+ height: number;
225
+ /**
226
+ * @private
227
+ * DrawingML picture hyperlink relationship id (`a:hlinkClick/@r:id`).
228
+ */
229
+ hyperlinkRelationshipId: string | undefined;
230
+ /**
231
+ * @private
232
+ * Runtime target URI for a picture-backed hyperlink. Not written to the
233
+ * picture DrawingML tree; the package relationship carries the target.
234
+ */
235
+ hyperlinkTarget: string | undefined;
236
+ /**
237
+ * @private
238
+ * Relationship id for the image media part; empty until materialized at save. */
239
+ readonly relationshipId: string;
240
+ /**
241
+ * Non-visual picture name (`wp:docPr/@name`, `pic:cNvPr/@name`).
242
+ * @defaultValue `'Picture'` on authoring.
243
+ */
244
+ name: string;
245
+ /**
246
+ * Caption / accessibility title (`wp:docPr/@title`).
247
+ * Not the same as {@link description} (`@descr`).
248
+ */
249
+ title: string | undefined;
250
+ /** Alternative text (`wp:docPr/@descr`). */
251
+ description: string | undefined;
252
+ /**
253
+ * Aspect-ratio lock (`a:graphicFrameLocks/@noChangeAspect`).
254
+ * Authoring default is `true`; missing locks on load read as `false`.
255
+ */
256
+ lockAspectRatio: boolean;
257
+ /**
258
+ * Clockwise rotation in degrees (`a:xfrm/@rot`).
259
+ * Wire uses ST_Angle = degrees × 60000.
260
+ */
261
+ rotation: number;
262
+ /** Horizontal flip (`a:xfrm/@flipH`). */
263
+ flipHorizontal: boolean;
264
+ /** Vertical flip (`a:xfrm/@flipV`). */
265
+ flipVertical: boolean;
266
+ /**
267
+ * Host placement (`wp:inline` vs `wp:anchor`).
268
+ * Prefer mutating {@link textWrappingStyle}; non-inline wrapping forces anchored.
269
+ */
270
+ placement: PicturePlacementType;
271
+ /**
272
+ * Text wrapping style.
273
+ *
274
+ * - `'inline'` serializes as `wp:inline`. Collapsing an anchored picture to
275
+ * inline **drops** position and wrap residual by design.
276
+ * - Other values promote to `wp:anchor` with the matching wrap element.
277
+ * Tight/through without a residual wrapPolygon fall back to `wrapNone`
278
+ * (library does not invent polygons).
279
+ *
280
+ * @throws RangeError when `value` is not a known {@link TextWrappingStyle}.
281
+ */
282
+ textWrappingStyle: TextWrappingStyleType;
283
+ /**
284
+ * @deprecated Use {@link textWrappingStyle} instead.
285
+ */
286
+ /**
287
+ * @deprecated Use {@link textWrappingStyle} instead.
288
+ */
289
+ wrapping: TextWrappingStyleType;
290
+ /** Horizontal origin (`wp:positionH/@relativeFrom`). */
291
+ horizontalOrigin: HorizontalOriginType | undefined;
292
+ /** Vertical origin (`wp:positionV/@relativeFrom`). */
293
+ verticalOrigin: VerticalOriginType | undefined;
294
+ /**
295
+ * Horizontal offset (`wp:positionH/wp:posOffset`).
296
+ * Setting this clears {@link horizontalAlignment} (align XOR posOffset).
297
+ */
298
+ horizontalPosition: number | undefined;
299
+ /**
300
+ * Vertical offset (`wp:positionV/wp:posOffset`).
301
+ * Setting this clears {@link verticalAlignment} (align XOR posOffset).
302
+ */
303
+ verticalPosition: number | undefined;
304
+ /**
305
+ * Horizontal alignment (`wp:positionH/wp:align`).
306
+ * Setting this clears {@link horizontalPosition} (align XOR posOffset).
307
+ *
308
+ * @throws RangeError when `value` is not a known {@link HorizontalAlignment}.
309
+ */
310
+ horizontalAlignment: HorizontalAlignmentType | undefined;
311
+ /**
312
+ * Vertical alignment (`wp:positionV/wp:align`).
313
+ * Setting this clears {@link verticalPosition} (align XOR posOffset).
314
+ *
315
+ * @throws RangeError when `value` is not a known {@link VerticalAlignment}.
316
+ */
317
+ verticalAlignment: VerticalAlignmentType | undefined;
318
+ /** @private */
319
+ isPendingRelationship(): boolean;
320
+ /** @private */
321
+ resolveRelationshipId(relationshipId: string): void;
322
+ /** @private Apply optional authoring fields from {@link ImageOptions}. */
323
+ applyAppendOptions(options: ImageOptions): void;
324
+ /**
325
+ * Add a Word-style caption paragraph next to this picture.
326
+ *
327
+ * Creates a separate caption paragraph (built-in `Caption` style, centered,
328
+ * spacing 30/240 twips) containing a `SEQ <captionName> \* <switch>` complex
329
+ * field (ECMA-376-1 §17.16.5.56), inserted immediately before
330
+ * ({@link CaptionPosition.Above}) or after ({@link CaptionPosition.Below})
331
+ * the paragraph containing this picture. The picture and its paragraph are not
332
+ * moved or modified. The initial field result is the next number in the
333
+ * caption-name sequence; Microsoft Word remains authoritative on refresh.
334
+ *
335
+ * @returns The new caption {@link Paragraph}; append additional caption text
336
+ * or adjust its formatting on the returned object.
337
+ * @throws DocxError `content/invalid-caption-name` when the name is empty or
338
+ * whitespace-only.
339
+ * @throws DocxError `content/invalid-caption-format` /
340
+ * `content/invalid-caption-position` for unknown enum values.
341
+ * @throws DetachedObjectError when this picture is not attached to a paragraph
342
+ * in a main document body.
343
+ */
344
+ addCaption(captionName: string, numberingFormat: CaptionNumberingFormat, position: CaptionPosition): Paragraph;
345
+ /**
346
+ * Load image bytes into this picture instance.
347
+ *
348
+ * Loads image content into the current `Picture` instance, supporting:
349
+ * - Newly created pictures
350
+ * - Pictures loaded from existing documents
351
+ *
352
+ * If the picture already contains image data, calling `loadImage()` replaces
353
+ * the existing image with the newly supplied image bytes. The replacement
354
+ * occurs within the same `Picture` instance — no remove-and-add operation
355
+ * is required.
356
+ *
357
+ * The Picture instance remains attached to its parent container after image
358
+ * replacement. Parent references, collection indexes, and existing object
359
+ * references remain unchanged. Only the underlying image data is replaced.
360
+ *
361
+ * @example
362
+ * ```typescript
363
+ * // Load image into a newly created picture
364
+ * const picture = new Picture(document);
365
+ * picture.loadImage(imageBytes);
366
+ *
367
+ * // Replace existing picture content (same instance / collection index)
368
+ * const picture = paragraph.items[0] as Picture;
369
+ * picture.loadImage(newImageBytes);
370
+ * ```
371
+ *
372
+ * @param imageBytes - Image data as `Uint8Array` (PNG or JPEG)
373
+ * @throws DocxError when the picture is not attached to a document
374
+ * @public
375
+ */
376
+ loadImage(imageBytes: Uint8Array): void;
377
+ /**
378
+ * @private
379
+ */
380
+ toOpenXml(): OpenXmlElement;
381
+ }
382
+ /**
383
+ * Image media parts linked from the Main Document.
384
+ *
385
+ * @private
386
+ */
387
+ export declare class ImagesCatalog implements FeatureMultiPackagePart {
388
+ private readonly entries;
389
+ private readonly byRelationshipId;
390
+ private readonly pendingRemovals;
391
+ private readonly pendingImages;
392
+ /** @private */
393
+ constructor(entries: Map<PartName, ImagePartEntry>);
394
+ /** @private */
395
+ removeEntry(relationshipId: string): void;
396
+ /** @private */
397
+ isDirty(): boolean;
398
+ /** @private */
399
+ applyToPackage(pkg: OpcPackage, mainPartName: PartName): OpcPackage;
400
+ /** Image bytes for a loaded relationship id. */
401
+ bytesForRelationship(relationshipId: string): Uint8Array | undefined;
402
+ /** @private Pending picture bytes before save-time materialization. */
403
+ pendingBytesFor(picture: Picture): Uint8Array | undefined;
404
+ /** @private Record picture intent without allocating package ids. */
405
+ registerPendingImage(picture: Picture, bytes: Uint8Array, contentType: ImageType): void;
406
+ /** @private Drop a pending picture that was removed before save. */
407
+ discardPendingImage(picture: Picture): void;
408
+ /** @private Replace bytes on a not-yet-materialized picture. */
409
+ updatePendingBytes(picture: Picture, bytes: Uint8Array): void;
410
+ /** @private */
411
+ materializePending(document: WordDocument): void;
412
+ /** @private */
413
+ pendingRelationshipIds(): ReadonlyArray<string>;
414
+ /** @private */
415
+ pendingPartNames(): ReadonlyArray<PartName>;
416
+ /** @private */
417
+ allocatePart(data: Uint8Array, contentType: ImageType, usedRelIds: ReadonlySet<string>, usedPartNames: ReadonlySet<string>): {
418
+ entry: ImagePartEntry;
419
+ relationshipId: string;
420
+ };
421
+ /** @private */
422
+ replaceBytes(relationshipId: string, data: Uint8Array): void;
423
+ /**
424
+ * Bind every inline picture in the main story to this document after body parse
425
+ * so {@link Picture.loadImage} works when pictures are taken from
426
+ * {@link Paragraph.items} without a prior {@link picturesInParagraph} walk.
427
+ *
428
+ * Invoked from {@link WordDocument.fromPackage} via duck-typed
429
+ * `afterMainDocumentLoad` (same pattern as comments).
430
+ *
431
+ * @private
432
+ */
433
+ afterMainDocumentLoad(document: WordDocument): void;
434
+ }
435
+ /** @private Test hook */
436
+ export declare function resetImagesFeatureForTests(): void;
437
+ /** @private Register the images multi-part and inline drawing handlers. Idempotent. */
438
+ export declare function registerImagesFeature(): void;
439
+ /**
440
+ * Image media catalog for a document.
441
+ *
442
+ * @throws DocxError `UNKNOWN_FEATURE` when the module was not registered before load.
443
+ * @private
444
+ */
445
+ export declare function imagesFor(document: WordDocument): ImagesCatalog;
446
+ /**
447
+ * Inline pictures in a paragraph, in document order (including nested inline content controls).
448
+ *
449
+ * @private
450
+ */
451
+ export declare function picturesInParagraph(paragraph: Paragraph): ReadonlyArray<Picture>;
452
+ /**
453
+ * @deprecated Use {@link picturesInParagraph} instead.
454
+ * @private
455
+ */
456
+ export declare function imagesInParagraph(paragraph: Paragraph): ReadonlyArray<Picture>;
457
+ /**
458
+ * Inline picture bytes for a picture relationship.
459
+ * @private
460
+ */
461
+ export declare function inlinePictureBytes(document: WordDocument, picture: Picture): Uint8Array | undefined;
462
+ /**
463
+ * @deprecated Use {@link inlinePictureBytes} instead.
464
+ * @private
465
+ */
466
+ export declare function inlineImageBytes(document: WordDocument, image: Picture): Uint8Array | undefined;
467
+ /**
468
+ * Replace picture media bytes without changing layout markup.
469
+ * @private
470
+ */
471
+ export declare function replaceInlinePictureBytes(document: WordDocument, picture: Picture, bytes: Uint8Array): void;
472
+ /**
473
+ * @deprecated Use {@link replaceInlinePictureBytes} instead.
474
+ * @private
475
+ */
476
+ export declare function replaceInlineImageBytes(document: WordDocument, image: Picture, bytes: Uint8Array): void;
477
+ /**
478
+ * Remove an inline picture run from its paragraph and drop its media on the next save.
479
+ * @private
480
+ */
481
+ export declare function removeInlinePicture(document: WordDocument, paragraph: Paragraph, picture: Picture): void;
482
+ /**
483
+ * @deprecated Use {@link removeInlinePicture} instead.
484
+ * @private
485
+ */
486
+ export declare function removeInlineImage(document: WordDocument, paragraph: Paragraph, image: Picture): void;
487
+ /**
488
+ * Whether a paragraph item is a modeled inline picture from this module.
489
+ *
490
+ * @private
491
+ */
492
+ export declare function isPictureLeaf(item: ParagraphItem | Picture): item is (FeatureRunParagraphItem & {
493
+ value: Picture;
494
+ }) | Picture;
495
+ /**
496
+ * @deprecated Use {@link isPictureLeaf} instead.
497
+ * @private
498
+ */
499
+ export declare function isImageLeaf(item: ParagraphItem | Picture): item is (FeatureRunParagraphItem & {
500
+ value: Picture;
501
+ }) | Picture;
502
+ /**
503
+ * @deprecated Use {@link Picture} instead.
504
+ * @public
505
+ */
506
+ export declare type Image = Picture;