@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,526 @@
1
+ export * from './catalog';
2
+ export * from './relationship';
3
+ export * from './typed-dom';
4
+ import { WordDocument } from '../document/document';
5
+ import { FeatureRunLeaf } from '../document/feature-run-leaf';
6
+ import { Paragraph } from '../document/paragraph';
7
+ import { FeatureRunParagraphItem, ParagraphItem } from '../document/text-range';
8
+ import { OpenXmlElement } from '../../core/xml/index';
9
+ import { OleObjectCatalog } from './catalog';
10
+ import { OleDrawAspect, OleLinkType, OleUpdateMode, OleWireForm } from './typed-dom';
11
+ /**
12
+ * @private
13
+ */
14
+ /**
15
+ * Feature id for the optional OLE-object module.
16
+ *
17
+ * @private
18
+ */
19
+ export declare const OLE_OBJECT: import("../../core/registry").FeatureId;
20
+ /**
21
+ * Typed, editable view over a WordprocessingML embedded/linked OLE object
22
+ * (`w:object` containing an `o:OLEObject`, `w:objectEmbed`, or
23
+ * `w:objectLink` child).
24
+ *
25
+ * @remarks
26
+ * **Security — never execute.** The library must never activate, open,
27
+ * automate, or execute OLE, ActiveX, VBA, scripts, or external content.
28
+ * Binary payload parts (`word/embeddings/*`) are opaque caller data: the
29
+ * {@link OleObject.payloadBytes} accessor moves bytes in and out verbatim
30
+ * and nothing in the module inspects, parses, or launches them. Link
31
+ * targets are stored strings and are never fetched, resolved, or probed.
32
+ *
33
+ * One semantic model over two schema-backed wire encodings (fixed at load;
34
+ * edits never convert forms):
35
+ * - `office` — `o:OLEObject` (transitional `vml-officeDrawing.xsd`
36
+ * `CT_OLEObject`, ECMA-376-4 §19.2.2.20)
37
+ * - `wml` — `w:objectEmbed` / `w:objectLink` (transitional `wml.xsd`
38
+ * `CT_ObjectEmbed`/`CT_ObjectLink`, ECMA-376-1 §17.3.3.20/§17.3.3.21)
39
+ *
40
+ * Setters patch only the modeled attribute/child on the stored element;
41
+ * every unmodeled sibling attribute/child survives verbatim. `undefined`
42
+ * clears the modeled member (three-state semantics).
43
+ *
44
+ * Schema citations: `w:object` (`CT_Object`, transitional `wml.xsd` line
45
+ * 1167; ECMA-376-1 §17.3.3.19), `CT_OLEObject` + `ST_OLEType` /
46
+ * `ST_OLEDrawAspect` / `ST_OLEUpdateMode` / `ST_OLELinkType`
47
+ * (`vml-officeDrawing.xsd` lines 291/475–493), Office behavior
48
+ * [MS-OI29500] §2.1.1834 (`ObjectID` unsupported on links, regenerated per
49
+ * save). Relationship type: `OLE_OBJECT_RELATIONSHIP_TYPE`.
50
+ *
51
+ * @private
52
+ */
53
+ export declare class OleObject implements FeatureRunLeaf {
54
+ private state;
55
+ private relationshipIdValue;
56
+ /**
57
+ * @private Image relationship id from `v:imagedata/@r:id` (TASK-8056
58
+ * icon/preview media). Distinct from the OLE embed/link `r:id`.
59
+ */
60
+ private imageRelationshipIdValue;
61
+ /**
62
+ * @private Pending payload registered by embed authoring (TASK-8054);
63
+ * resolved through the catalog at save. `undefined` for loaded objects
64
+ * and for pending links.
65
+ */
66
+ private pendingPayload;
67
+ /**
68
+ * @private True when link authoring registered a pending external target
69
+ * (TASK-8055) that still awaits save-time materialization.
70
+ */
71
+ private pendingLink;
72
+ /**
73
+ * @private True when icon/preview media authoring registered pending
74
+ * image bytes (TASK-8056) that still await save-time materialization.
75
+ */
76
+ private pendingIcon;
77
+ /** @private */
78
+ constructor(objectElement: OpenXmlElement, oleElement: OpenXmlElement);
79
+ /**
80
+ * Which schema encoding this object's `w:object` carries.
81
+ *
82
+ * @private
83
+ */
84
+ readonly wireForm: OleWireForm;
85
+ /**
86
+ * Kind of OLE connection — `embed` (storage part) or `link` (external
87
+ * target). `undefined` when the stored `@Type` token is unknown
88
+ * (residual); the WML-native form derives this from
89
+ * `w:objectEmbed` vs `w:objectLink`.
90
+ *
91
+ * @private
92
+ */
93
+ linkType: OleLinkType | undefined;
94
+ /**
95
+ * Programmatic identifier (`@ProgID` / `@progId`), e.g.
96
+ * `'Excel.Sheet.12'` or `'Acrobat.WordDocument.DC'`.
97
+ *
98
+ * @private
99
+ */
100
+ progId: string | undefined;
101
+ /**
102
+ * Placeholder shape id (`@ShapeID` / `@shapeId`) — the `v:shape` this
103
+ * object is visually bound to.
104
+ *
105
+ * @private
106
+ */
107
+ shapeId: string | undefined;
108
+ /**
109
+ * Visual representation (`@DrawAspect` / `@drawAspect`): `content`
110
+ * (render object content) or `icon` (placeholder icon).
111
+ * `undefined` = not set / unparseable residual.
112
+ *
113
+ * @private
114
+ */
115
+ drawAspect: OleDrawAspect | undefined;
116
+ /**
117
+ * Embedded-object unique id (`@ObjectID`, office form only — the
118
+ * WML-native form has no counterpart). Office regenerates this per save
119
+ * and does not support it on linked objects ([MS-OI29500] §2.1.1834).
120
+ *
121
+ * @private
122
+ */
123
+ objectId: string | undefined;
124
+ /**
125
+ * Link refresh mode (`@UpdateMode` / `@updateMode`): `always` or
126
+ * `onCall`. Meaningful for linked objects.
127
+ *
128
+ * @private
129
+ */
130
+ updateMode: OleUpdateMode | undefined;
131
+ /**
132
+ * Whether the linked object's appearance is locked
133
+ * (`o:LockedField` child / `@lockedField`). `undefined` = absent.
134
+ *
135
+ * @private
136
+ */
137
+ lockedField: boolean | undefined;
138
+ /**
139
+ * `o:LinkType` child value (office form only) — e.g.
140
+ * `'EnhancedMetaFile'`, `'Bitmap'` (`ST_OLELinkType` is an open string).
141
+ *
142
+ * @private
143
+ */
144
+ linkTypeDescription: string | undefined;
145
+ /**
146
+ * Stored LINK-field switches (`o:FieldCodes` child / `@fieldCodes`),
147
+ * e.g. `'\\f 0'`. Stored verbatim; never interpreted.
148
+ *
149
+ * @private
150
+ */
151
+ fieldCodes: string | undefined;
152
+ /**
153
+ * Original placeholder width from `w:object/@dxaOrig` (points;
154
+ * wire is `ST_TwipsMeasure`).
155
+ *
156
+ * @private
157
+ */
158
+ originalWidth: number | undefined;
159
+ /**
160
+ * Original placeholder height from `w:object/@dyaOrig` (points;
161
+ * wire is `ST_TwipsMeasure`).
162
+ *
163
+ * @private
164
+ */
165
+ originalHeight: number | undefined;
166
+ /**
167
+ * `true` when the object is linked (`@Type` = `Link`, or the WML-native
168
+ * `w:objectLink` form); otherwise treated as embedded.
169
+ *
170
+ * @private
171
+ */
172
+ readonly linked: boolean;
173
+ /**
174
+ * External link target string for linked objects (Main-WordDocument oleObject
175
+ * relationship with `TargetMode="External"`).
176
+ *
177
+ * **Get** returns the pending target registered by
178
+ * {@link Paragraph.appendOleObject} before the first save, otherwise the
179
+ * catalog target bound to `relationshipId`. `undefined` for embeds and
180
+ * when no external relationship is bound.
181
+ *
182
+ * **Security — strings only.** The value is a stored path/URI string and is
183
+ * never fetched, resolved, probed, opened, or executed
184
+ * (`.agent/policies/security.md`). Callers that need network or filesystem
185
+ * access must do so outside this library.
186
+ *
187
+ * @private
188
+ */
189
+ readonly linkTarget: string | undefined;
190
+ /**
191
+ * Raw relationship id from `@r:id`, when present. Empty until a pending
192
+ * authored embed or link is materialized at save (images `Image`
193
+ * pattern).
194
+ *
195
+ * @private
196
+ */
197
+ readonly relationshipId: string | undefined;
198
+ /**
199
+ * Image relationship id from `v:imagedata/@r:id` (TASK-8056 icon/preview
200
+ * media). Empty until a pending authored icon is materialized at save.
201
+ *
202
+ * @private
203
+ */
204
+ readonly imageRelationshipId: string | undefined;
205
+ /**
206
+ * Icon/preview image bytes (TASK-8056) — PNG or JPEG only.
207
+ *
208
+ * **Get** returns pending icon bytes registered by
209
+ * {@link Paragraph.appendOleObject} before the first save, otherwise the
210
+ * catalog icon bytes bound to `imageRelationshipId`. `undefined` when no
211
+ * icon/preview media is attached. Bytes are copied defensively. The library
212
+ * never renders, executes, or activates the image
213
+ * (`.agent/policies/security.md`).
214
+ *
215
+ * @private
216
+ */
217
+ readonly previewImageBytes: Uint8Array | undefined;
218
+ /**
219
+ * Embedded payload bytes — GO program decision Q1 (option A).
220
+ *
221
+ * **Get** returns the embedded object's stored bytes: the pending bytes
222
+ * registered by {@link Paragraph.appendOleObject} before the first save,
223
+ * otherwise the catalog bytes bound to `relationshipId`. `undefined` for
224
+ * linked objects (no part exists) and when the embedding part is missing.
225
+ * The library never interprets these bytes — they are caller data
226
+ * (`.agent/policies/security.md`); any sandboxing decision is the caller's.
227
+ *
228
+ * **Set** replaces the payload bytes byte-for-byte: on pending embeds
229
+ * (registered bytes swap) and on loaded embeddings (catalog entry marked
230
+ * dirty; save rewrites the part). Removing bytes (`undefined`) is not
231
+ * supported — detach by removing the owning run instead. The bytes are
232
+ * copied defensively on both paths.
233
+ *
234
+ * @throws DocxError `content/invalid-ole-object` when setting empty bytes
235
+ * or bytes on a linked object, or when the owning document (and therefore
236
+ * its catalog) is unavailable for a loaded-object write.
237
+ *
238
+ * @private
239
+ */
240
+ payloadBytes: Uint8Array | undefined;
241
+ /**
242
+ * Returns the original `w:object` element with modeled edits applied
243
+ * (unmodeled attributes/children stay byte-identical).
244
+ *
245
+ * @private
246
+ */
247
+ toOpenXml(): OpenXmlElement;
248
+ /**
249
+ * Whether the authored embed or link still awaits save-time
250
+ * materialization. True between {@link Paragraph.appendOleObject} and the
251
+ * first {@link WordDocument.saveSync} (or {@link WordDocument.save}).
252
+ *
253
+ * @private
254
+ */
255
+ isPendingRelationship(): boolean;
256
+ /**
257
+ * Bind the materialized relationship id after catalog allocation.
258
+ * Patches `@r:id` on the stored `o:OLEObject`/`w:object*` element
259
+ * (patch-in-place: only the id value changes; prefix/position preserved).
260
+ *
261
+ * @private
262
+ */
263
+ resolveRelationshipId(relationshipId: string): void;
264
+ /**
265
+ * Register pending embed bytes + content type (authoring path).
266
+ *
267
+ * @private
268
+ */
269
+ registerPendingPayload(bytes: Uint8Array, contentType: string): void;
270
+ /**
271
+ * Mark this object as a pending external link (authoring path).
272
+ * The target string lives on the catalog registration.
273
+ *
274
+ * @private
275
+ */
276
+ registerPendingLinkTarget(): void;
277
+ /**
278
+ * Whether authored icon/preview media still awaits save-time
279
+ * materialization (TASK-8056; {@link PendingIconHost}).
280
+ *
281
+ * @private
282
+ */
283
+ isPendingIcon(): boolean;
284
+ /**
285
+ * Bind the materialized image relationship id after catalog icon
286
+ * allocation. Patches `v:imagedata/@r:id` (TASK-8056).
287
+ *
288
+ * @private
289
+ */
290
+ resolveIconRelationshipId(relationshipId: string): void;
291
+ /**
292
+ * Mark this object as carrying pending icon/preview media (authoring
293
+ * path). Bytes live on the catalog registration.
294
+ *
295
+ * @private
296
+ */
297
+ registerPendingIconMedia(): void;
298
+ /** Pending content type for catalog mirroring. @private */
299
+ pendingContentType(): string | undefined;
300
+ /**
301
+ * Look up the owning document's OLE catalog, `undefined` when detached or
302
+ * the feature was not registered at load (authored documents always have
303
+ * it because `appendOleObject` resolved one to register the payload).
304
+ *
305
+ * @private
306
+ */
307
+ private lookUpCatalog;
308
+ /**
309
+ * Resolve the owning document through the stored element's host run —
310
+ * tracked by the module when the leaf was bound to a run (authoring) or
311
+ * parsed under a catalog-active load. Walks up nothing structural: the
312
+ * catalog contact point is registered at load/append time (see
313
+ * `bindHostDocument`).
314
+ *
315
+ * @private
316
+ */
317
+ private owningDocumentOf;
318
+ /**
319
+ * Apply one modeled mutation in a single structural pass (patch-in-place).
320
+ * Invalid enum values throw `DocxError('content/invalid-ole-object')`;
321
+ * non-positive sizes likewise.
322
+ */
323
+ private mutate;
324
+ }
325
+ /** @private Test hook */
326
+ export declare function resetOleObjectFeatureForTests(): void;
327
+ /**
328
+ * Register the OLE-object run-leaf handler. Idempotent.
329
+ *
330
+ * @private
331
+ */
332
+ export declare function registerOleObjectFeature(): void;
333
+ /**
334
+ * Whether a run leaf is a modeled OLE object from this module.
335
+ *
336
+ * @private
337
+ */
338
+ export declare function isOleObjectLeaf(item: ParagraphItem): item is FeatureRunParagraphItem & {
339
+ value: OleObject;
340
+ };
341
+ /**
342
+ * OLE objects in a paragraph, in document order. Also refreshes the
343
+ * host-document binding used by {@link OleObject.payloadBytes}.
344
+ *
345
+ * @private
346
+ */
347
+ export declare function oleObjectsInParagraph(paragraph: Paragraph): ReadonlyArray<OleObject>;
348
+ /**
349
+ * OLE objects in the Main Document body, in document order. Also refreshes
350
+ * the host-document binding used by {@link OleObject.payloadBytes}.
351
+ *
352
+ * @private
353
+ */
354
+ export declare function oleObjectsInDocument(document: WordDocument): ReadonlyArray<OleObject>;
355
+ /**
356
+ * Options for {@link Paragraph.appendOleObject}.
357
+ *
358
+ * Provide **either** embed payload bytes (`bytes`) **or** a link target
359
+ * (`linkTarget` / `linkType: 'link'`). Link-only fields (`updateMode`,
360
+ * `lockedField`, `fieldCodes`) reject on the embed path with
361
+ * `content/invalid-ole-object` (mirrors `CT_ObjectEmbed` vs `CT_ObjectLink`).
362
+ *
363
+ * @private
364
+ */
365
+ export interface AppendOleObjectOptions {
366
+ /**
367
+ * Programmatic identifier of the object — the `@ProgID` token Word
368
+ * writes, e.g. `'Excel.Sheet.12'`, `'Word.WordDocument.12'`,
369
+ * `'Acrobat.WordDocument.DC'`. Required and non-empty.
370
+ */
371
+ readonly progId: string;
372
+ /**
373
+ * Opaque payload bytes for the embedded object (an OLE compound storage,
374
+ * an `.xlsx`/`.docx`/`.pdf` byte stream, …). Required and non-empty for
375
+ * the embed path. The library stores these bytes verbatim and never
376
+ * parses, decompresses, inspects, activates, or launches them. Must not
377
+ * be combined with a link target.
378
+ */
379
+ readonly bytes?: Uint8Array;
380
+ /**
381
+ * Connection kind. Defaults to embed when `bytes` is supplied, or link
382
+ * when `linkTarget` is supplied. Explicit `link` requires a non-empty
383
+ * `linkTarget`; explicit `embed` rejects link-only fields.
384
+ */
385
+ readonly linkType?: OleLinkType;
386
+ /**
387
+ * External link target path/URI string stored verbatim on a Main-WordDocument
388
+ * oleObject relationship with `TargetMode="External"`. Required for the
389
+ * link path. **Never fetched, resolved, probed, or opened** by this
390
+ * library (`.agent/policies/security.md`).
391
+ */
392
+ readonly linkTarget?: string;
393
+ /**
394
+ * Link refresh mode (`Always` | `OnCall`). Defaults to
395
+ * {@link OleUpdateMode.Always} for links. Rejected on the embed path.
396
+ */
397
+ readonly updateMode?: OleUpdateMode;
398
+ /**
399
+ * Whether the LINK field is locked (`o:LockedField`). Link path only.
400
+ */
401
+ readonly lockedField?: boolean;
402
+ /**
403
+ * LINK field switches stored verbatim (e.g. `'\f 0'`); never interpreted.
404
+ * Link path only (ECMA-376-1 §17.16.5.32).
405
+ */
406
+ readonly fieldCodes?: string;
407
+ /**
408
+ * Optional open-string `o:LinkType` child (e.g. `'EnhancedMetaFile'`).
409
+ * Link path only; stored verbatim.
410
+ */
411
+ readonly linkTypeDescription?: string;
412
+ /**
413
+ * Placeholder width (`w:object/@w:dxaOrig` + `v:shape` style).
414
+ * @defaultValue 1 inch
415
+ */
416
+ readonly width?: number;
417
+ /**
418
+ * Placeholder height (`w:object/@w:dyaOrig` + `v:shape` style).
419
+ * @defaultValue 1 inch
420
+ */
421
+ readonly height?: number;
422
+ /**
423
+ * Display a placeholder icon instead of the object content
424
+ * (`@DrawAspect` `Icon` vs `Content`). The library never renders icons;
425
+ * with no icon bytes (TASK-8056) Word re-renders the placeholder on open
426
+ * (program GO decision Q3). Product reference XML for linked icons
427
+ * commonly uses `Icon`.
428
+ * @defaultValue `false` (content)
429
+ */
430
+ readonly displayAsIcon?: boolean;
431
+ /**
432
+ * Alternative text (`v:shape/@alt`), e.g. a friendly object name.
433
+ */
434
+ readonly name?: string;
435
+ /**
436
+ * Extended description stored as `v:shape/@title` (and on
437
+ * `v:imagedata/@o:title` when {@link iconBytes} is supplied).
438
+ */
439
+ readonly description?: string;
440
+ /**
441
+ * Icon/preview image bytes (TASK-8056). Must sniff as PNG or JPEG
442
+ * (`image/png` / `image/jpeg`). When set, the library writes a media
443
+ * part under `/word/media/`, an image relationship, and
444
+ * `v:imagedata/@r:id` (ECMA-376-4 §19.2.2.20; ECMA-376-1 §15.2.14).
445
+ * Does **not** by itself force `@DrawAspect="Icon"` — use
446
+ * {@link displayAsIcon} for that (program GO Q3). Empty or non-image
447
+ * bytes throw `content/invalid-ole-object`. Never rendered or executed.
448
+ */
449
+ readonly iconBytes?: Uint8Array;
450
+ /**
451
+ * Content type for the embedding part. Omit for the default
452
+ * `application/vnd.openxmlformats-officedocument.oleObject` (ECMA-376-1
453
+ * §15.2.10 permits any content type). Embed path only; ignored for links
454
+ * (no part is created). The value is stored as given; the library does
455
+ * not verify it against the bytes.
456
+ */
457
+ readonly contentType?: string;
458
+ }
459
+ /**
460
+ * Author one embedded or linked OLE object and append it to the paragraph
461
+ * (receiver-owns R2.1; one statement R3.2).
462
+ *
463
+ * **Embed path (TASK-8054):** registers payload bytes with the document
464
+ * catalog at append (pending-relationship pattern, images/ink precedent);
465
+ * the embedding part `word/embeddings/oleObject{N}.bin`, its main-document
466
+ * relationship, and the content-type Override are allocated at save.
467
+ *
468
+ * **Link path (TASK-8055):** registers an external target string only —
469
+ * no package part. Save allocates a Main-WordDocument oleObject relationship
470
+ * with `TargetMode="External"` using the transitional relationship type
471
+ * (never the Office 2019 long-path type). The target is **never fetched
472
+ * or opened** (`.agent/policies/security.md`).
473
+ *
474
+ * Returns the created {@link OleObject} view (`relationshipId` empty until
475
+ * the first save materializes it).
476
+ *
477
+ * @example
478
+ * ```ts
479
+ * // Embed
480
+ * const embedded = paragraph.appendOleObject({
481
+ * progId: 'Excel.Sheet.12',
482
+ * bytes: workbookBytes,
483
+ * width: (75.35),
484
+ * height: (49.4),
485
+ * displayAsIcon: true,
486
+ * });
487
+ *
488
+ * // Link (external target string only — never fetched)
489
+ * const linked = paragraph.appendOleObject({
490
+ * progId: 'Excel.Sheet.12',
491
+ * linkTarget: 'C:\\\\Data\\\\report.xlsx',
492
+ * updateMode: OleUpdateMode.OnCall,
493
+ * lockedField: true,
494
+ * fieldCodes: '\\\\f 0',
495
+ * displayAsIcon: true,
496
+ * });
497
+ * ```
498
+ *
499
+ * @throws DocxError `content/invalid-ole-object` on invalid options
500
+ * (missing `progId`, missing payload/target, link-only fields on embed,
501
+ * non-positive size).
502
+ * @throws DocxError `feature/not-registered` when the module is not
503
+ * registered before load.
504
+ * @throws DetachedObjectError when the paragraph is not in a document.
505
+ *
506
+ * @private
507
+ */
508
+ export declare function appendOleObjectToParagraph(paragraph: Paragraph, options: AppendOleObjectOptions): OleObject;
509
+ /**
510
+ * Remove an OLE object run from its paragraph and drop the embedding part
511
+ * or external link relationship on the next save (GC parity with
512
+ * `paragraph.appendFeatureRunItem(OLE_OBJECT, object
513
+ * this paragraph.
514
+ *
515
+ * @private
516
+ */
517
+ export declare function removeOleObject(document: WordDocument, paragraph: Paragraph, object: OleObject): void;
518
+ /**
519
+ * Package catalog for a loaded document.
520
+ *
521
+ * @throws DocxError `feature/not-registered` when the module was not
522
+ * registered before load.
523
+ *
524
+ * @private
525
+ */
526
+ export declare function oleObjectCatalog(document: WordDocument): OleObjectCatalog;