@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,33 @@
1
+ import { Paragraph } from '../document/paragraph';
2
+ import { CaptionNumberingFormat, CaptionPosition } from './caption-enums';
3
+ import { Picture } from './index';
4
+ /**
5
+ * Caption authoring entry installed by `./captions.js` when fields + styles are
6
+ * available. Kept as a soft registry so the always-on images graph does not
7
+ * static-import those optional modules into `dist/index.js`.
8
+ */
9
+ export declare type AddCaptionToPicture = (picture: Picture, captionName: string, numberingFormat: CaptionNumberingFormat, position: CaptionPosition) => Paragraph;
10
+ /**
11
+ * @private
12
+ * Installed by the captions authoring module on load. */
13
+ export declare function providePictureCaptionAuthoring(impl: AddCaptionToPicture): void;
14
+ /**
15
+ * @private
16
+ * Resolve the installed caption authoring implementation.
17
+ * @throws DocxError when captions authoring was not loaded (fields/styles path).
18
+ */
19
+ export declare function requirePictureCaptionAuthoring(): AddCaptionToPicture;
20
+ /**
21
+
22
+ */
23
+ export declare type AddCaptionToImage = AddCaptionToPicture;
24
+ /**
25
+ * @private
26
+
27
+ */
28
+ export declare function provideImageCaptionAuthoring(impl: AddCaptionToPicture): void;
29
+ /**
30
+ * @private
31
+
32
+ */
33
+ export declare function requireImageCaptionAuthoring(): AddCaptionToPicture;
@@ -0,0 +1,33 @@
1
+ import { DocxError } from '../../core/errors/docx-error';
2
+ var addCaptionToPictureImpl;
3
+ /**
4
+ * @private
5
+ * Installed by the captions authoring module on load. */
6
+ export function providePictureCaptionAuthoring(impl) {
7
+ addCaptionToPictureImpl = impl;
8
+ }
9
+ /**
10
+ * @private
11
+ * Resolve the installed caption authoring implementation.
12
+ * @throws DocxError when captions authoring was not loaded (fields/styles path).
13
+ */
14
+ export function requirePictureCaptionAuthoring() {
15
+ if (addCaptionToPictureImpl === undefined) {
16
+ throw new DocxError('feature/not-registered', 'Picture caption authoring is not loaded; import @syncfusion/ej2-docx/images (or load captions authoring with fields and styles) before addCaption');
17
+ }
18
+ return addCaptionToPictureImpl;
19
+ }
20
+ /**
21
+ * @private
22
+
23
+ */
24
+ export function provideImageCaptionAuthoring(impl) {
25
+ providePictureCaptionAuthoring(impl);
26
+ }
27
+ /**
28
+ * @private
29
+
30
+ */
31
+ export function requireImageCaptionAuthoring() {
32
+ return requirePictureCaptionAuthoring();
33
+ }
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Numbering formats for image-caption `SEQ` fields.
3
+ *
4
+ * Each value maps to the corresponding general-formatting switch of the `SEQ`
5
+ * field instruction (ECMA-376-1 §17.16.5 switch table).
6
+ *
7
+ * @public
8
+ */
9
+ export declare const CaptionNumberingFormat: {
10
+ /** `\* ARABIC` — decimal digits (`1`, `2`, `3`). */
11
+ Arabic: string;
12
+ /** `\* ROMAN` — uppercase Roman numerals (`I`, `II`, `III`). */
13
+ UpperCaseRoman: string;
14
+ /** `\* roman` — lowercase Roman numerals (`i`, `ii`, `iii`). */
15
+ LowerCaseRoman: string;
16
+ /** `\* ALPHABETIC` — uppercase letters (`A`, `B`, … `Z`, `AA`). */
17
+ UpperCaseLetter: string;
18
+ /** `\* alphabetic` — lowercase letters (`a`, `b`, … `z`, `aa`). */
19
+ LowerCaseLetter: string;
20
+ };
21
+ /** One of the {@link CaptionNumberingFormat} tokens. @public */
22
+ export declare type CaptionNumberingFormat = (typeof CaptionNumberingFormat)[keyof typeof CaptionNumberingFormat];
23
+ /**
24
+ * Position of a caption paragraph relative to the image's paragraph.
25
+ *
26
+ * @public
27
+ */
28
+ export declare const CaptionPosition: {
29
+ /** Caption paragraph immediately before the image paragraph. */
30
+ Above: string;
31
+ /** Caption paragraph immediately after the image paragraph. */
32
+ Below: string;
33
+ };
34
+ /** One of the {@link CaptionPosition} tokens. @public */
35
+ export declare type CaptionPosition = (typeof CaptionPosition)[keyof typeof CaptionPosition];
36
+ /**
37
+ * Word `SEQ` general-formatting switch for each numbering format
38
+ * (ECMA-376-1 §17.16.5 switch table; tokens must not be invented beyond these).
39
+ *
40
+ * @private
41
+ */
42
+ export declare const CAPTION_FORMAT_SWITCH: Readonly<Record<CaptionNumberingFormat, string>>;
43
+ /**
44
+ * @private
45
+ */
46
+ export declare const CAPTION_NUMBERING_FORMATS: ReadonlySet<string>;
47
+ /**
48
+ * @private
49
+ */
50
+ export declare const CAPTION_POSITIONS: ReadonlySet<string>;
51
+ /** Format a 1-based sequence value per the numbering format (Word display rules). */
52
+ export declare function formatSequenceValue(value: number, format: CaptionNumberingFormat): string;
@@ -0,0 +1,141 @@
1
+ var __values = (this && this.__values) || function (o) {
2
+ var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
3
+ if (m) return m.call(o);
4
+ return {
5
+ next: function () {
6
+ if (o && i >= o.length) o = void 0;
7
+ return { value: o && o[i++], done: !o };
8
+ }
9
+ };
10
+ };
11
+ var __read = (this && this.__read) || function (o, n) {
12
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
13
+ if (!m) return o;
14
+ var i = m.call(o), r, ar = [], e;
15
+ try {
16
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
17
+ }
18
+ catch (error) { e = { error: error }; }
19
+ finally {
20
+ try {
21
+ if (r && !r.done && (m = i["return"])) m.call(i);
22
+ }
23
+ finally { if (e) throw e.error; }
24
+ }
25
+ return ar;
26
+ };
27
+ var _a;
28
+ import { objectValues } from '../../core/compat/object-compat';
29
+ /**
30
+ * Numbering formats for image-caption `SEQ` fields.
31
+ *
32
+ * Each value maps to the corresponding general-formatting switch of the `SEQ`
33
+ * field instruction (ECMA-376-1 §17.16.5 switch table).
34
+ *
35
+ * @public
36
+ */
37
+ export var CaptionNumberingFormat = {
38
+ /** `\* ARABIC` — decimal digits (`1`, `2`, `3`). */
39
+ Arabic: 'arabic',
40
+ /** `\* ROMAN` — uppercase Roman numerals (`I`, `II`, `III`). */
41
+ UpperCaseRoman: 'upperCaseRoman',
42
+ /** `\* roman` — lowercase Roman numerals (`i`, `ii`, `iii`). */
43
+ LowerCaseRoman: 'lowerCaseRoman',
44
+ /** `\* ALPHABETIC` — uppercase letters (`A`, `B`, … `Z`, `AA`). */
45
+ UpperCaseLetter: 'upperCaseLetter',
46
+ /** `\* alphabetic` — lowercase letters (`a`, `b`, … `z`, `aa`). */
47
+ LowerCaseLetter: 'lowerCaseLetter',
48
+ };
49
+ /**
50
+ * Position of a caption paragraph relative to the image's paragraph.
51
+ *
52
+ * @public
53
+ */
54
+ export var CaptionPosition = {
55
+ /** Caption paragraph immediately before the image paragraph. */
56
+ Above: 'above',
57
+ /** Caption paragraph immediately after the image paragraph. */
58
+ Below: 'below',
59
+ };
60
+ /**
61
+ * Word `SEQ` general-formatting switch for each numbering format
62
+ * (ECMA-376-1 §17.16.5 switch table; tokens must not be invented beyond these).
63
+ *
64
+ * @private
65
+ */
66
+ export var CAPTION_FORMAT_SWITCH = (_a = {},
67
+ _a[CaptionNumberingFormat.Arabic] = 'ARABIC',
68
+ _a[CaptionNumberingFormat.UpperCaseRoman] = 'ROMAN',
69
+ _a[CaptionNumberingFormat.LowerCaseRoman] = 'roman',
70
+ _a[CaptionNumberingFormat.UpperCaseLetter] = 'ALPHABETIC',
71
+ _a[CaptionNumberingFormat.LowerCaseLetter] = 'alphabetic',
72
+ _a);
73
+ /**
74
+ * @private
75
+ */
76
+ export var CAPTION_NUMBERING_FORMATS = new Set(objectValues(CaptionNumberingFormat));
77
+ /**
78
+ * @private
79
+ */
80
+ export var CAPTION_POSITIONS = new Set(objectValues(CaptionPosition));
81
+ /** Format a 1-based sequence value per the numbering format (Word display rules). */
82
+ export function formatSequenceValue(value, format) {
83
+ if (format === CaptionNumberingFormat.Arabic) {
84
+ return String(value);
85
+ }
86
+ if (format === CaptionNumberingFormat.UpperCaseRoman ||
87
+ format === CaptionNumberingFormat.LowerCaseRoman) {
88
+ var roman = toRoman(value);
89
+ return format === CaptionNumberingFormat.UpperCaseRoman ? roman : roman.toLowerCase();
90
+ }
91
+ return toAlphabetic(value, format === CaptionNumberingFormat.UpperCaseLetter);
92
+ }
93
+ var ROMAN_STEPS = [
94
+ [1000, 'M'],
95
+ [900, 'CM'],
96
+ [500, 'D'],
97
+ [400, 'CD'],
98
+ [100, 'C'],
99
+ [90, 'XC'],
100
+ [50, 'L'],
101
+ [40, 'XL'],
102
+ [10, 'X'],
103
+ [9, 'IX'],
104
+ [5, 'V'],
105
+ [4, 'IV'],
106
+ [1, 'I'],
107
+ ];
108
+ function toRoman(value) {
109
+ var e_1, _a;
110
+ var remaining = value;
111
+ var out = '';
112
+ try {
113
+ for (var ROMAN_STEPS_1 = __values(ROMAN_STEPS), ROMAN_STEPS_1_1 = ROMAN_STEPS_1.next(); !ROMAN_STEPS_1_1.done; ROMAN_STEPS_1_1 = ROMAN_STEPS_1.next()) {
114
+ var _b = __read(ROMAN_STEPS_1_1.value, 2), step = _b[0], glyph = _b[1];
115
+ while (remaining >= step) {
116
+ out += glyph;
117
+ remaining -= step;
118
+ }
119
+ }
120
+ }
121
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
122
+ finally {
123
+ try {
124
+ if (ROMAN_STEPS_1_1 && !ROMAN_STEPS_1_1.done && (_a = ROMAN_STEPS_1.return)) _a.call(ROMAN_STEPS_1);
125
+ }
126
+ finally { if (e_1) throw e_1.error; }
127
+ }
128
+ return out;
129
+ }
130
+ /** 1→`A` … 26→`Z`, 27→`AA` (Word alphabetic wrap). */
131
+ function toAlphabetic(value, upper) {
132
+ var remaining = value;
133
+ var out = '';
134
+ while (remaining > 0) {
135
+ var digit = ((remaining - 1) % 26) + 1;
136
+ var char = String.fromCharCode((upper ? 64 : 96) + digit);
137
+ out = char + out;
138
+ remaining = Math.floor((remaining - 1) / 26);
139
+ }
140
+ return out;
141
+ }
@@ -0,0 +1,10 @@
1
+ import { WordDocument } from '../document/document';
2
+ import { Picture } from './index';
3
+ /**
4
+ * @private
5
+ * Bind a picture to its owning document (load + authoring paths). */
6
+ export declare function bindCaptionHostDocument(picture: Picture, document: WordDocument): void;
7
+ /**
8
+ * @private
9
+ * Host document of a picture, when bound. */
10
+ export declare function hostDocumentOf(picture: Picture): WordDocument | undefined;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Owning-document contact point for inline-picture leaves. Authored pictures bind
3
+ * their owning document at `appendImage`; loaded pictures bind during body parse
4
+ * (module-level WeakMap, keyed by the picture instance).
5
+ *
6
+ * Kept free of fields/styles imports so always-on images registration can bind
7
+ * hosts without pulling optional feature modules into the core bundle.
8
+ */
9
+ var hostDocuments = new WeakMap();
10
+ /**
11
+ * @private
12
+ * Bind a picture to its owning document (load + authoring paths). */
13
+ export function bindCaptionHostDocument(picture, document) {
14
+ hostDocuments.set(picture, document);
15
+ }
16
+ /**
17
+ * @private
18
+ * Host document of a picture, when bound. */
19
+ export function hostDocumentOf(picture) {
20
+ return hostDocuments.get(picture);
21
+ }
@@ -0,0 +1,13 @@
1
+ import { Paragraph } from '../document/paragraph';
2
+ import { CaptionNumberingFormat as CaptionNumberingFormatValue, CaptionPosition as CaptionPositionValue } from './caption-enums';
3
+ import { Picture } from './index';
4
+ /**
5
+ * Build the caption paragraph and insert it relative to the picture paragraph.
6
+ * @private
7
+ */
8
+ export declare function addCaptionToPicture(picture: Picture, captionName: string, numberingFormat: CaptionNumberingFormatValue, position: CaptionPositionValue): Paragraph;
9
+ /**
10
+
11
+ * @private
12
+ */
13
+ export declare function addCaptionToImage(image: Picture, captionName: string, numberingFormat: CaptionNumberingFormatValue, position: CaptionPositionValue): Paragraph;
@@ -0,0 +1,142 @@
1
+ var __read = (this && this.__read) || function (o, n) {
2
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
3
+ if (!m) return o;
4
+ var i = m.call(o), r, ar = [], e;
5
+ try {
6
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
7
+ }
8
+ catch (error) { e = { error: error }; }
9
+ finally {
10
+ try {
11
+ if (r && !r.done && (m = i["return"])) m.call(i);
12
+ }
13
+ finally { if (e) throw e.error; }
14
+ }
15
+ return ar;
16
+ };
17
+ var __spread = (this && this.__spread) || function () {
18
+ for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
19
+ return ar;
20
+ };
21
+ var __values = (this && this.__values) || function (o) {
22
+ var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
23
+ if (m) return m.call(o);
24
+ return {
25
+ next: function () {
26
+ if (o && i >= o.length) o = void 0;
27
+ return { value: o && o[i++], done: !o };
28
+ }
29
+ };
30
+ };
31
+ /**
32
+ * Picture caption authoring. Imports fields + styles; must not be pulled into the
33
+ * always-on core graph. Loaded from the images public feature entry
34
+ * (`@syncfusion/ej2-docx/images`) so `addCaption` works without embedding those optionals in
35
+ * `dist/index.js`.
36
+ */
37
+ import { DetachedObjectError, DocxError } from '../../core/errors/docx-error';
38
+ import { ParagraphAlignment } from '../document/alignment';
39
+ import { visitParagraphsInDocumentOrder } from '../../core/registry/index';
40
+ import { appendOpaqueComplexField, fieldInstructionKeyword, opaqueComplexFieldInstructionsInParagraph } from '../fields/index';
41
+ import { stylesFor } from '../styles/index';
42
+ import { providePictureCaptionAuthoring } from './caption-authoring-api';
43
+ import { CAPTION_FORMAT_SWITCH, CAPTION_NUMBERING_FORMATS, CAPTION_POSITIONS, CaptionPosition as CaptionPos, formatSequenceValue, } from './caption-enums';
44
+ import { hostDocumentOf } from './caption-host';
45
+ import { picturesInParagraph } from './index';
46
+ /** Built-in caption paragraph style id (`w:pStyle w:val="Caption"`). */
47
+ var CAPTION_STYLE_ID = 'Caption';
48
+ function assertEnumMember(label, value, allowed) {
49
+ if (!allowed.has(value)) {
50
+ if (label === 'format') {
51
+ throw new DocxError('content/invalid-image-caption-format', "Invalid " + label + " value \"" + value + "\"; expected one of: " + __spread(allowed).join(', '));
52
+ }
53
+ throw new DocxError('content/invalid-image-caption-position', "Invalid " + label + " value \"" + value + "\"; expected one of: " + __spread(allowed).join(', '));
54
+ }
55
+ }
56
+ /**
57
+ * Locate the body paragraph containing `picture`.
58
+ *
59
+ * @throws DetachedObjectError when the picture is not attached to a paragraph in
60
+ * a document body.
61
+ */
62
+ function paragraphForPicture(document, picture) {
63
+ var blocks = document.listBlocks();
64
+ for (var index = 0; index < blocks.length; index += 1) {
65
+ var block = blocks[index];
66
+ if (block === undefined || block.type !== 'paragraph') {
67
+ continue;
68
+ }
69
+ if (picturesInParagraph(block.paragraph).indexOf(picture) !== -1) {
70
+ return { paragraph: block.paragraph, blockIndex: index };
71
+ }
72
+ }
73
+ throw new DetachedObjectError('This picture is not attached to a paragraph in a document body; captions require a main-body picture paragraph');
74
+ }
75
+ /**
76
+ * Count existing `SEQ <identifier>` complex fields (any switch) in document order.
77
+ */
78
+ function countSeqFields(document, identifier) {
79
+ var count = 0;
80
+ visitParagraphsInDocumentOrder(document, function (paragraph) {
81
+ var e_1, _a;
82
+ var __ts33_0;
83
+ try {
84
+ for (var _b = __values(opaqueComplexFieldInstructionsInParagraph(paragraph)), _c = _b.next(); !_c.done; _c = _b.next()) {
85
+ var instruction = _c.value;
86
+ if (fieldInstructionKeyword(instruction) !== 'SEQ') {
87
+ continue;
88
+ }
89
+ if ((((__ts33_0 = instruction.trim().split(/\s+/)[1]), __ts33_0 != null ? __ts33_0 : '')) === identifier) {
90
+ count += 1;
91
+ }
92
+ }
93
+ }
94
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
95
+ finally {
96
+ try {
97
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
98
+ }
99
+ finally { if (e_1) throw e_1.error; }
100
+ }
101
+ });
102
+ return count;
103
+ }
104
+ /**
105
+ * Build the caption paragraph and insert it relative to the picture paragraph.
106
+ * @private
107
+ */
108
+ export function addCaptionToPicture(picture, captionName, numberingFormat, position) {
109
+ if (typeof captionName !== 'string' || captionName.trim().length === 0) {
110
+ throw new DocxError('content/invalid-image-caption-name', 'Caption name must be a non-empty string (not null, undefined, empty, or whitespace-only)');
111
+ }
112
+ assertEnumMember('format', String(numberingFormat), CAPTION_NUMBERING_FORMATS);
113
+ assertEnumMember('position', String(position), CAPTION_POSITIONS);
114
+ var document = hostDocumentOf(picture);
115
+ if (document === undefined) {
116
+ throw new DetachedObjectError('This picture is not attached to a document; attach it with paragraph.appendImage() before adding a caption');
117
+ }
118
+ var blockIndex = paragraphForPicture(document, picture).blockIndex;
119
+ var name = captionName.trim();
120
+ stylesFor(document).ensureParagraphStyle(CAPTION_STYLE_ID);
121
+ var instruction = "SEQ " + name + " \\* " + CAPTION_FORMAT_SWITCH[numberingFormat];
122
+ // Insert first (attaches the paragraph), then populate: Paragraph setters
123
+ // and appendText/appendField require an attached paragraph.
124
+ var caption = document.insertParagraphAtBlockIndex(position === CaptionPos.Above ? blockIndex : blockIndex + 1);
125
+ caption.styleId = CAPTION_STYLE_ID;
126
+ var captionFormat = caption.paragraphFormat;
127
+ captionFormat.beforeSpacing = 1.5;
128
+ captionFormat.afterSpacing = 12;
129
+ captionFormat.horizontalAlignment = ParagraphAlignment.Center;
130
+ caption.appendText(name + " ");
131
+ var result = formatSequenceValue(countSeqFields(document, name) + 1, numberingFormat);
132
+ appendOpaqueComplexField(caption, instruction, { result: result });
133
+ return caption;
134
+ }
135
+ /**
136
+
137
+ * @private
138
+ */
139
+ export function addCaptionToImage(image, captionName, numberingFormat, position) {
140
+ return addCaptionToPicture(image, captionName, numberingFormat, position);
141
+ }
142
+ providePictureCaptionAuthoring(addCaptionToPicture);
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Picture DrawingML host decode/encode helpers (`wp:inline` / `wp:anchor` + `pic:pic`).
3
+ *
4
+ * Schema cites (Transitional `dml-wordprocessingDrawing.xsd`):
5
+ * - `CT_Inline`, `CT_Anchor`, `EG_WrapType`
6
+ * - `CT_PosH` / `CT_PosV` (align XOR posOffset; relativeFrom required)
7
+ * - `ST_RelFromH`, `ST_RelFromV`, `ST_AlignH`, `ST_AlignV`
8
+ * DrawingML main: `a:xfrm` rot/flipH/flipV; `a:CT_NonVisualDrawingProps` name/descr/title
9
+ * Locks: `a:graphicFrameLocks/@noChangeAspect`
10
+ *
11
+ * Anchor promotion defaults mirror ink host-codec minimal Word-like anchor
12
+ * (distL/R 114300, relativeHeight 251658240, layoutInCell 1, allowOverlap 1,
13
+ * positionH column posOffset 0, positionV paragraph posOffset 0, wrapNone).
14
+ *
15
+ * @packageDocumentation
16
+ */
17
+ import { Emus } from '../document/length';
18
+ import { OpenXmlElement } from '../../core/xml/index';
19
+ import { HorizontalAlignment as HorizontalAlignmentType, HorizontalOrigin as HorizontalOriginType, PicturePlacement as PicturePlacementType, TextWrappingStyle as TextWrappingStyleType, VerticalAlignment as VerticalAlignmentType, VerticalOrigin as VerticalOriginType } from './layout-types';
20
+ /**
21
+ * @private
22
+ * Decoded picture host state. */
23
+ export interface PictureHostState {
24
+ readonly placement: PicturePlacementType;
25
+ readonly wrapping: TextWrappingStyleType;
26
+ readonly widthEmu: Emus;
27
+ readonly heightEmu: Emus;
28
+ readonly relationshipId: string;
29
+ readonly name: string;
30
+ readonly title: string | undefined;
31
+ readonly description: string | undefined;
32
+ readonly lockAspectRatio: boolean;
33
+ readonly rotation: number;
34
+ readonly flipHorizontal: boolean;
35
+ readonly flipVertical: boolean;
36
+ readonly horizontalOrigin: HorizontalOriginType | undefined;
37
+ readonly verticalOrigin: VerticalOriginType | undefined;
38
+ readonly horizontalPosition: number | undefined;
39
+ readonly verticalPosition: number | undefined;
40
+ readonly horizontalAlignment: HorizontalAlignmentType | undefined;
41
+ readonly verticalAlignment: VerticalAlignmentType | undefined;
42
+ readonly docPrId: number;
43
+ /**
44
+ * DrawingML picture hyperlink relationship id (`a:hlinkClick/@r:id` on
45
+ * `wp:docPr` / `pic:cNvPr`), when present.
46
+ */
47
+ readonly hyperlinkRelationshipId: string | undefined;
48
+ /** Original drawing element for residual preservation on dirty rebuild. */
49
+ readonly preservedHost: OpenXmlElement;
50
+ }
51
+ /**
52
+ * @private
53
+ * Encode input for picture host serialization. */
54
+ export interface EncodePictureHostInput {
55
+ readonly placement: PicturePlacementType;
56
+ readonly wrapping: TextWrappingStyleType;
57
+ readonly widthEmu: Emus;
58
+ readonly heightEmu: Emus;
59
+ readonly relationshipId: string;
60
+ readonly name: string;
61
+ readonly title: string | undefined;
62
+ readonly description: string | undefined;
63
+ readonly lockAspectRatio: boolean;
64
+ readonly rotation: number;
65
+ readonly flipHorizontal: boolean;
66
+ readonly flipVertical: boolean;
67
+ readonly horizontalOrigin: HorizontalOriginType;
68
+ readonly verticalOrigin: VerticalOriginType;
69
+ readonly horizontalPosition: number | undefined;
70
+ readonly verticalPosition: number | undefined;
71
+ readonly horizontalAlignment: HorizontalAlignmentType | undefined;
72
+ readonly verticalAlignment: VerticalAlignmentType | undefined;
73
+ readonly docPrId: number;
74
+ readonly preservedHost: OpenXmlElement | undefined;
75
+ /**
76
+ * When true, rebuild position/wrap from modeled fields (user mutated layout).
77
+ * When false and preservedHost has matching placement, reuse residual position/wrap.
78
+ */
79
+ readonly layoutDirty: boolean;
80
+ /**
81
+ * Optional external hyperlink relationship id emitted as
82
+ * `a:hlinkClick/@r:id` under `wp:docPr` and `pic:cNvPr`.
83
+ */
84
+ readonly hyperlinkRelationshipId: string | undefined;
85
+ }
86
+ /**
87
+ * Decode a picture `w:drawing` (inline or anchor with `a:blip` embed).
88
+ *
89
+ * @private
90
+ */
91
+ export declare function decodePictureHost(drawing: OpenXmlElement): PictureHostState | undefined;
92
+ /**
93
+ * Encode a modeled picture host into `w:drawing`.
94
+ *
95
+ * @private
96
+ */
97
+ export declare function encodePictureHost(input: EncodePictureHostInput): OpenXmlElement;
98
+ /**
99
+ * Whether wrapping requires an anchor host.
100
+ *
101
+ * @private
102
+ */
103
+ export declare function wrappingRequiresAnchor(wrapping: TextWrappingStyleType): boolean;