@syncfusion/ej2-docx 0.0.0-stage → 35.1.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (416) hide show
  1. package/README.md +68 -2
  2. package/core.js +4 -0
  3. package/dist/ej2-docx.umd.min.js +2 -0
  4. package/dist/ej2-docx.umd.min.js.map +1 -0
  5. package/dist/es6/ej2-docx.es2015.js +66697 -0
  6. package/dist/es6/ej2-docx.es2015.js.map +1 -0
  7. package/dist/es6/ej2-docx.es5.js +77568 -0
  8. package/dist/es6/ej2-docx.es5.js.map +1 -0
  9. package/dist/global/ej2-docx.min.js +2 -0
  10. package/dist/global/ej2-docx.min.js.map +1 -0
  11. package/dist/global/index.d.ts +5 -0
  12. package/features.js +4 -0
  13. package/index.js +4 -0
  14. package/license +10 -0
  15. package/package.json +31 -4
  16. package/src/all.d.ts +50 -0
  17. package/src/all.js +147 -0
  18. package/src/core/compat/base64.d.ts +13 -0
  19. package/src/core/compat/base64.js +90 -0
  20. package/src/core/compat/object-compat.d.ts +30 -0
  21. package/src/core/compat/object-compat.js +40 -0
  22. package/src/core/compat/sha256.d.ts +9 -0
  23. package/src/core/compat/sha256.js +98 -0
  24. package/src/core/errors/docx-error.d.ts +89 -0
  25. package/src/core/errors/docx-error.js +138 -0
  26. package/src/core/errors/error-codes.d.ts +8 -0
  27. package/src/core/errors/error-codes.js +0 -0
  28. package/src/core/errors/index.d.ts +10 -0
  29. package/src/core/errors/index.js +9 -0
  30. package/src/core/index.d.ts +12 -0
  31. package/src/core/index.js +12 -0
  32. package/src/core/mc/alternate-content.d.ts +7 -0
  33. package/src/core/mc/alternate-content.js +67 -0
  34. package/src/core/mc/attributes.d.ts +24 -0
  35. package/src/core/mc/attributes.js +82 -0
  36. package/src/core/mc/index.d.ts +7 -0
  37. package/src/core/mc/index.js +5 -0
  38. package/src/core/mc/inspect.d.ts +16 -0
  39. package/src/core/mc/inspect.js +148 -0
  40. package/src/core/mc/namespaces.d.ts +4 -0
  41. package/src/core/mc/namespaces.js +4 -0
  42. package/src/core/mc/scope.d.ts +6 -0
  43. package/src/core/mc/scope.js +47 -0
  44. package/src/core/opc/content-types.d.ts +34 -0
  45. package/src/core/opc/content-types.js +162 -0
  46. package/src/core/opc/index.d.ts +8 -0
  47. package/src/core/opc/index.js +4 -0
  48. package/src/core/opc/package.d.ts +49 -0
  49. package/src/core/opc/package.js +324 -0
  50. package/src/core/opc/part-name.d.ts +47 -0
  51. package/src/core/opc/part-name.js +205 -0
  52. package/src/core/opc/relationships.d.ts +46 -0
  53. package/src/core/opc/relationships.js +212 -0
  54. package/src/core/preservation/index.d.ts +2 -0
  55. package/src/core/preservation/index.js +1 -0
  56. package/src/core/preservation/opaque-body.d.ts +16 -0
  57. package/src/core/preservation/opaque-body.js +69 -0
  58. package/src/core/registry/block-handlers.d.ts +30 -0
  59. package/src/core/registry/block-handlers.js +36 -0
  60. package/src/core/registry/create-defaults.d.ts +39 -0
  61. package/src/core/registry/create-defaults.js +42 -0
  62. package/src/core/registry/feature-registry.d.ts +20 -0
  63. package/src/core/registry/feature-registry.js +29 -0
  64. package/src/core/registry/index.d.ts +9 -0
  65. package/src/core/registry/index.js +8 -0
  66. package/src/core/registry/inline-handlers.d.ts +20 -0
  67. package/src/core/registry/inline-handlers.js +30 -0
  68. package/src/core/registry/materialize-handlers.d.ts +35 -0
  69. package/src/core/registry/materialize-handlers.js +75 -0
  70. package/src/core/registry/multi-part-handlers.d.ts +37 -0
  71. package/src/core/registry/multi-part-handlers.js +206 -0
  72. package/src/core/registry/package-part-handlers.d.ts +28 -0
  73. package/src/core/registry/package-part-handlers.js +190 -0
  74. package/src/core/registry/part-handlers.d.ts +24 -0
  75. package/src/core/registry/part-handlers.js +172 -0
  76. package/src/core/registry/run-leaf-handlers.d.ts +26 -0
  77. package/src/core/registry/run-leaf-handlers.js +72 -0
  78. package/src/core/security/limits.d.ts +40 -0
  79. package/src/core/security/limits.js +26 -0
  80. package/src/core/xml/index.d.ts +7 -0
  81. package/src/core/xml/index.js +3 -0
  82. package/src/core/xml/model.d.ts +66 -0
  83. package/src/core/xml/model.js +17 -0
  84. package/src/core/xml/parse.d.ts +12 -0
  85. package/src/core/xml/parse.js +382 -0
  86. package/src/core/xml/serialize.d.ts +6 -0
  87. package/src/core/xml/serialize.js +93 -0
  88. package/src/core/zip/crc32.d.ts +2 -0
  89. package/src/core/zip/crc32.js +25 -0
  90. package/src/core/zip/deflate.d.ts +6 -0
  91. package/src/core/zip/deflate.js +6 -0
  92. package/src/core/zip/index.d.ts +10 -0
  93. package/src/core/zip/index.js +4 -0
  94. package/src/core/zip/inflate-raw.d.ts +17 -0
  95. package/src/core/zip/inflate-raw.js +450 -0
  96. package/src/core/zip/names.d.ts +6 -0
  97. package/src/core/zip/names.js +52 -0
  98. package/src/core/zip/read.d.ts +8 -0
  99. package/src/core/zip/read.js +262 -0
  100. package/src/core/zip/write.d.ts +7 -0
  101. package/src/core/zip/write.js +189 -0
  102. package/src/core/zip/zip-entry.d.ts +4 -0
  103. package/src/core/zip/zip-entry.js +0 -0
  104. package/src/features/bibliography/index.d.ts +100 -0
  105. package/src/features/bibliography/index.js +290 -0
  106. package/src/features/bookmarks/index.d.ts +331 -0
  107. package/src/features/bookmarks/index.js +1009 -0
  108. package/src/features/comments/comment-extensions.d.ts +157 -0
  109. package/src/features/comments/comment-extensions.js +356 -0
  110. package/src/features/comments/index.d.ts +579 -0
  111. package/src/features/comments/index.js +1727 -0
  112. package/src/features/content-controls/index.d.ts +821 -0
  113. package/src/features/content-controls/index.js +2857 -0
  114. package/src/features/custom-xml/index.d.ts +236 -0
  115. package/src/features/custom-xml/index.js +661 -0
  116. package/src/features/document/alignment.d.ts +23 -0
  117. package/src/features/document/alignment.js +36 -0
  118. package/src/features/document/alt-chunk.d.ts +103 -0
  119. package/src/features/document/alt-chunk.js +221 -0
  120. package/src/features/document/assert-never.d.ts +1 -0
  121. package/src/features/document/assert-never.js +4 -0
  122. package/src/features/document/augmentations.d.ts +578 -0
  123. package/src/features/document/augmentations.js +0 -0
  124. package/src/features/document/body-always-on.d.ts +36 -0
  125. package/src/features/document/body-always-on.js +66 -0
  126. package/src/features/document/body-blocks.d.ts +7 -0
  127. package/src/features/document/body-blocks.js +78 -0
  128. package/src/features/document/body-item-adapters.d.ts +62 -0
  129. package/src/features/document/body-item-adapters.js +97 -0
  130. package/src/features/document/body-item-collection.d.ts +151 -0
  131. package/src/features/document/body-item-collection.js +440 -0
  132. package/src/features/document/body-item.d.ts +35 -0
  133. package/src/features/document/body-item.js +8 -0
  134. package/src/features/document/body.d.ts +150 -0
  135. package/src/features/document/body.js +263 -0
  136. package/src/features/document/character-format.d.ts +413 -0
  137. package/src/features/document/character-format.js +2054 -0
  138. package/src/features/document/color.d.ts +178 -0
  139. package/src/features/document/color.js +495 -0
  140. package/src/features/document/document.d.ts +410 -0
  141. package/src/features/document/document.js +1049 -0
  142. package/src/features/document/element-type.d.ts +68 -0
  143. package/src/features/document/element-type.js +133 -0
  144. package/src/features/document/entity-type.d.ts +92 -0
  145. package/src/features/document/entity-type.js +93 -0
  146. package/src/features/document/feature-block.d.ts +16 -0
  147. package/src/features/document/feature-block.js +0 -0
  148. package/src/features/document/feature-inline.d.ts +13 -0
  149. package/src/features/document/feature-inline.js +0 -0
  150. package/src/features/document/feature-multi-package-part.d.ts +19 -0
  151. package/src/features/document/feature-multi-package-part.js +8 -0
  152. package/src/features/document/feature-package-level-part.d.ts +18 -0
  153. package/src/features/document/feature-package-level-part.js +8 -0
  154. package/src/features/document/feature-package-part.d.ts +14 -0
  155. package/src/features/document/feature-package-part.js +0 -0
  156. package/src/features/document/feature-run-leaf.d.ts +9 -0
  157. package/src/features/document/feature-run-leaf.js +0 -0
  158. package/src/features/document/headers-footers.d.ts +206 -0
  159. package/src/features/document/headers-footers.js +384 -0
  160. package/src/features/document/index.d.ts +41 -0
  161. package/src/features/document/index.js +34 -0
  162. package/src/features/document/length.d.ts +152 -0
  163. package/src/features/document/length.js +245 -0
  164. package/src/features/document/load-options.d.ts +14 -0
  165. package/src/features/document/load-options.js +0 -0
  166. package/src/features/document/locale-ids.d.ts +227 -0
  167. package/src/features/document/locale-ids.js +485 -0
  168. package/src/features/document/on-off.d.ts +9 -0
  169. package/src/features/document/on-off.js +27 -0
  170. package/src/features/document/page-setup.d.ts +339 -0
  171. package/src/features/document/page-setup.js +244 -0
  172. package/src/features/document/paragraph-format.d.ts +880 -0
  173. package/src/features/document/paragraph-format.js +2807 -0
  174. package/src/features/document/paragraph-item-collection.d.ts +162 -0
  175. package/src/features/document/paragraph-item-collection.js +363 -0
  176. package/src/features/document/paragraph-item.d.ts +83 -0
  177. package/src/features/document/paragraph-item.js +103 -0
  178. package/src/features/document/paragraph.d.ts +435 -0
  179. package/src/features/document/paragraph.js +888 -0
  180. package/src/features/document/run.d.ts +1 -0
  181. package/src/features/document/run.js +768 -0
  182. package/src/features/document/section-partition-flatten.d.ts +124 -0
  183. package/src/features/document/section-partition-flatten.js +217 -0
  184. package/src/features/document/section-properties-model.d.ts +13 -0
  185. package/src/features/document/section-properties-model.js +0 -0
  186. package/src/features/document/section.d.ts +93 -0
  187. package/src/features/document/section.js +178 -0
  188. package/src/features/document/sections.d.ts +103 -0
  189. package/src/features/document/sections.js +217 -0
  190. package/src/features/document/sub-super-script.d.ts +23 -0
  191. package/src/features/document/sub-super-script.js +43 -0
  192. package/src/features/document/text-range.d.ts +445 -0
  193. package/src/features/document/text-range.js +1156 -0
  194. package/src/features/document/typed-body-collections.d.ts +162 -0
  195. package/src/features/document/typed-body-collections.js +371 -0
  196. package/src/features/document/underline-style.d.ts +38 -0
  197. package/src/features/document/underline-style.js +126 -0
  198. package/src/features/document/units.d.ts +8 -0
  199. package/src/features/document/units.js +7 -0
  200. package/src/features/document/wml.d.ts +16 -0
  201. package/src/features/document/wml.js +67 -0
  202. package/src/features/drawing/authoring.d.ts +27 -0
  203. package/src/features/drawing/authoring.js +271 -0
  204. package/src/features/drawing/body-pr.d.ts +271 -0
  205. package/src/features/drawing/body-pr.js +663 -0
  206. package/src/features/drawing/drawing-shape.d.ts +1192 -0
  207. package/src/features/drawing/drawing-shape.js +3239 -0
  208. package/src/features/drawing/encode-builders.d.ts +176 -0
  209. package/src/features/drawing/encode-builders.js +390 -0
  210. package/src/features/drawing/fill-format.d.ts +52 -0
  211. package/src/features/drawing/fill-format.js +124 -0
  212. package/src/features/drawing/host-codec.d.ts +632 -0
  213. package/src/features/drawing/host-codec.js +2595 -0
  214. package/src/features/drawing/index.d.ts +13 -0
  215. package/src/features/drawing/index.js +33 -0
  216. package/src/features/drawing/line-format.d.ts +76 -0
  217. package/src/features/drawing/line-format.js +343 -0
  218. package/src/features/drawing/parse-register.d.ts +50 -0
  219. package/src/features/drawing/parse-register.js +257 -0
  220. package/src/features/drawing/residual-utils.d.ts +47 -0
  221. package/src/features/drawing/residual-utils.js +290 -0
  222. package/src/features/drawing/shape-types.d.ts +433 -0
  223. package/src/features/drawing/shape-types.js +437 -0
  224. package/src/features/drawing/sp-pr.d.ts +396 -0
  225. package/src/features/drawing/sp-pr.js +610 -0
  226. package/src/features/drawing/text-frame.d.ts +90 -0
  227. package/src/features/drawing/text-frame.js +152 -0
  228. package/src/features/drawing/types.d.ts +352 -0
  229. package/src/features/drawing/types.js +60 -0
  230. package/src/features/drawing/wrap-format.d.ts +62 -0
  231. package/src/features/drawing/wrap-format.js +114 -0
  232. package/src/features/editable-ranges/index.d.ts +494 -0
  233. package/src/features/editable-ranges/index.js +1348 -0
  234. package/src/features/fields/index.d.ts +428 -0
  235. package/src/features/fields/index.js +2148 -0
  236. package/src/features/fields/paragraph-field.d.ts +187 -0
  237. package/src/features/fields/paragraph-field.js +692 -0
  238. package/src/features/font-table/font-substitution-table.d.ts +75 -0
  239. package/src/features/font-table/font-substitution-table.js +257 -0
  240. package/src/features/font-table/font-table-entry.d.ts +255 -0
  241. package/src/features/font-table/font-table-entry.js +823 -0
  242. package/src/features/font-table/font-table.d.ts +128 -0
  243. package/src/features/font-table/font-table.js +313 -0
  244. package/src/features/font-table/index.d.ts +27 -0
  245. package/src/features/font-table/index.js +48 -0
  246. package/src/features/glossary/index.d.ts +97 -0
  247. package/src/features/glossary/index.js +286 -0
  248. package/src/features/headers-footers/index.d.ts +506 -0
  249. package/src/features/headers-footers/index.js +1666 -0
  250. package/src/features/hyperlinks/index.d.ts +230 -0
  251. package/src/features/hyperlinks/index.js +685 -0
  252. package/src/features/images/caption-authoring-api.d.ts +33 -0
  253. package/src/features/images/caption-authoring-api.js +33 -0
  254. package/src/features/images/caption-enums.d.ts +52 -0
  255. package/src/features/images/caption-enums.js +141 -0
  256. package/src/features/images/caption-host.d.ts +10 -0
  257. package/src/features/images/caption-host.js +21 -0
  258. package/src/features/images/captions.d.ts +13 -0
  259. package/src/features/images/captions.js +142 -0
  260. package/src/features/images/host-codec.d.ts +103 -0
  261. package/src/features/images/host-codec.js +720 -0
  262. package/src/features/images/image-sniff.d.ts +21 -0
  263. package/src/features/images/image-sniff.js +71 -0
  264. package/src/features/images/index.d.ts +506 -0
  265. package/src/features/images/index.js +1429 -0
  266. package/src/features/images/layout-types.d.ts +232 -0
  267. package/src/features/images/layout-types.js +294 -0
  268. package/src/features/images/public-entry.d.ts +9 -0
  269. package/src/features/images/public-entry.js +9 -0
  270. package/src/features/index.d.ts +35 -0
  271. package/src/features/index.js +36 -0
  272. package/src/features/mail-merge/index.d.ts +113 -0
  273. package/src/features/mail-merge/index.js +315 -0
  274. package/src/features/notes/index.d.ts +573 -0
  275. package/src/features/notes/index.js +1725 -0
  276. package/src/features/numbering/abstract-numbering.d.ts +90 -0
  277. package/src/features/numbering/abstract-numbering.js +292 -0
  278. package/src/features/numbering/index.d.ts +182 -0
  279. package/src/features/numbering/index.js +668 -0
  280. package/src/features/numbering/list-format.d.ts +158 -0
  281. package/src/features/numbering/list-format.js +590 -0
  282. package/src/features/numbering/list-string.d.ts +7 -0
  283. package/src/features/numbering/list-string.js +423 -0
  284. package/src/features/numbering/list-style.d.ts +204 -0
  285. package/src/features/numbering/list-style.js +1084 -0
  286. package/src/features/numbering/numbering-instance.d.ts +101 -0
  287. package/src/features/numbering/numbering-instance.js +329 -0
  288. package/src/features/numbering/numbering-level.d.ts +118 -0
  289. package/src/features/numbering/numbering-level.js +501 -0
  290. package/src/features/numbering/picture-bullet.d.ts +34 -0
  291. package/src/features/numbering/picture-bullet.js +88 -0
  292. package/src/features/ole-object/catalog.d.ts +300 -0
  293. package/src/features/ole-object/catalog.js +908 -0
  294. package/src/features/ole-object/index.d.ts +526 -0
  295. package/src/features/ole-object/index.js +1421 -0
  296. package/src/features/ole-object/relationship.d.ts +27 -0
  297. package/src/features/ole-object/relationship.js +27 -0
  298. package/src/features/ole-object/typed-dom.d.ts +186 -0
  299. package/src/features/ole-object/typed-dom.js +595 -0
  300. package/src/features/properties/index.d.ts +205 -0
  301. package/src/features/properties/index.js +549 -0
  302. package/src/features/revisions/index.d.ts +204 -0
  303. package/src/features/revisions/index.js +695 -0
  304. package/src/features/sections/column-collection.d.ts +119 -0
  305. package/src/features/sections/column-collection.js +478 -0
  306. package/src/features/sections/column.d.ts +15 -0
  307. package/src/features/sections/column.js +37 -0
  308. package/src/features/sections/index.d.ts +91 -0
  309. package/src/features/sections/index.js +1096 -0
  310. package/src/features/sections/margins.d.ts +40 -0
  311. package/src/features/sections/margins.js +105 -0
  312. package/src/features/sections/page-number-style.d.ts +21 -0
  313. package/src/features/sections/page-number-style.js +62 -0
  314. package/src/features/sections/page-orientation.d.ts +10 -0
  315. package/src/features/sections/page-orientation.js +10 -0
  316. package/src/features/sections/page-setup.d.ts +435 -0
  317. package/src/features/sections/page-setup.js +1479 -0
  318. package/src/features/sections/page-size.d.ts +59 -0
  319. package/src/features/sections/page-size.js +68 -0
  320. package/src/features/sections/section-break-code.d.ts +27 -0
  321. package/src/features/sections/section-break-code.js +60 -0
  322. package/src/features/sections/section-document-association.d.ts +18 -0
  323. package/src/features/sections/section-document-association.js +31 -0
  324. package/src/features/sections/section-validation.d.ts +43 -0
  325. package/src/features/sections/section-validation.js +97 -0
  326. package/src/features/settings/attached-template.d.ts +35 -0
  327. package/src/features/settings/attached-template.js +98 -0
  328. package/src/features/settings/compat-settings.d.ts +216 -0
  329. package/src/features/settings/compat-settings.js +508 -0
  330. package/src/features/settings/document-background.d.ts +59 -0
  331. package/src/features/settings/document-background.js +131 -0
  332. package/src/features/settings/document-protection.d.ts +65 -0
  333. package/src/features/settings/document-protection.js +157 -0
  334. package/src/features/settings/document-settings-facades.d.ts +108 -0
  335. package/src/features/settings/document-settings-facades.js +312 -0
  336. package/src/features/settings/document-settings-values.d.ts +43 -0
  337. package/src/features/settings/document-settings-values.js +60 -0
  338. package/src/features/settings/footnote-properties.d.ts +211 -0
  339. package/src/features/settings/footnote-properties.js +591 -0
  340. package/src/features/settings/index.d.ts +356 -0
  341. package/src/features/settings/index.js +829 -0
  342. package/src/features/settings/settings-children.d.ts +151 -0
  343. package/src/features/settings/settings-children.js +505 -0
  344. package/src/features/settings/web-settings.d.ts +88 -0
  345. package/src/features/settings/web-settings.js +227 -0
  346. package/src/features/settings/zoom.d.ts +79 -0
  347. package/src/features/settings/zoom.js +147 -0
  348. package/src/features/styles/builtin-catalog.d.ts +159 -0
  349. package/src/features/styles/builtin-catalog.js +963 -0
  350. package/src/features/styles/builtin-resolver.d.ts +49 -0
  351. package/src/features/styles/builtin-resolver.js +165 -0
  352. package/src/features/styles/default-styles.d.ts +37 -0
  353. package/src/features/styles/default-styles.js +186 -0
  354. package/src/features/styles/default-theme.d.ts +13 -0
  355. package/src/features/styles/default-theme.js +13 -0
  356. package/src/features/styles/doc-defaults.d.ts +58 -0
  357. package/src/features/styles/doc-defaults.js +178 -0
  358. package/src/features/styles/formatting-resolver.d.ts +27 -0
  359. package/src/features/styles/formatting-resolver.js +72 -0
  360. package/src/features/styles/index.d.ts +256 -0
  361. package/src/features/styles/index.js +1325 -0
  362. package/src/features/styles/latent-styles.d.ts +68 -0
  363. package/src/features/styles/latent-styles.js +305 -0
  364. package/src/features/styles/paragraph-properties.d.ts +71 -0
  365. package/src/features/styles/paragraph-properties.js +237 -0
  366. package/src/features/styles/run-properties.d.ts +93 -0
  367. package/src/features/styles/run-properties.js +516 -0
  368. package/src/features/styles/style-base.d.ts +402 -0
  369. package/src/features/styles/style-base.js +1026 -0
  370. package/src/features/styles/style-collection.d.ts +264 -0
  371. package/src/features/styles/style-collection.js +714 -0
  372. package/src/features/styles/style-format-bridge.d.ts +64 -0
  373. package/src/features/styles/style-format-bridge.js +100 -0
  374. package/src/features/styles/style.d.ts +84 -0
  375. package/src/features/styles/style.js +375 -0
  376. package/src/features/styles/styles-with-effects.d.ts +71 -0
  377. package/src/features/styles/styles-with-effects.js +180 -0
  378. package/src/features/styles/table-style.d.ts +272 -0
  379. package/src/features/styles/table-style.js +1226 -0
  380. package/src/features/styles/theme.d.ts +126 -0
  381. package/src/features/styles/theme.js +377 -0
  382. package/src/features/tables/border-style-map.d.ts +24 -0
  383. package/src/features/tables/border-style-map.js +81 -0
  384. package/src/features/tables/borders.d.ts +126 -0
  385. package/src/features/tables/borders.js +527 -0
  386. package/src/features/tables/collections.d.ts +113 -0
  387. package/src/features/tables/collections.js +261 -0
  388. package/src/features/tables/format.d.ts +208 -0
  389. package/src/features/tables/format.js +716 -0
  390. package/src/features/tables/index.d.ts +597 -0
  391. package/src/features/tables/index.js +2386 -0
  392. package/src/features/tables/paddings.d.ts +41 -0
  393. package/src/features/tables/paddings.js +97 -0
  394. package/src/features/tables/tbl-pr-positioning.d.ts +27 -0
  395. package/src/features/tables/tbl-pr-positioning.js +178 -0
  396. package/src/features/tables/tbl-pr.d.ts +528 -0
  397. package/src/features/tables/tbl-pr.js +1208 -0
  398. package/src/features/tables/tc-pr.d.ts +168 -0
  399. package/src/features/tables/tc-pr.js +553 -0
  400. package/src/features/tables/tr-pr.d.ts +60 -0
  401. package/src/features/tables/tr-pr.js +215 -0
  402. package/src/features/watermark/detect.d.ts +76 -0
  403. package/src/features/watermark/detect.js +219 -0
  404. package/src/features/watermark/index.d.ts +28 -0
  405. package/src/features/watermark/index.js +91 -0
  406. package/src/features/watermark/logical-store.d.ts +29 -0
  407. package/src/features/watermark/logical-store.js +31 -0
  408. package/src/features/watermark/model.d.ts +285 -0
  409. package/src/features/watermark/model.js +597 -0
  410. package/src/features/watermark/parse.d.ts +84 -0
  411. package/src/features/watermark/parse.js +815 -0
  412. package/src/features/watermark/serialize.d.ts +98 -0
  413. package/src/features/watermark/serialize.js +1517 -0
  414. package/src/global.js +1 -0
  415. package/src/index.d.ts +2 -0
  416. package/src/index.js +2 -0
@@ -0,0 +1,113 @@
1
+ import { FeatureMultiPackagePart } from '../document/feature-multi-package-part';
2
+ import { OpcPackage } from '../../core/opc/package';
3
+ import { PartName } from '../../core/opc/part-name';
4
+ /**
5
+ * @private Word recipientData relationship (`[MS-OI29500]` §2.1.378). */
6
+ export declare const RECIPIENT_DATA_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/recipientData";
7
+ /**
8
+ * @private Strict Mail Merge Recipient Data relationship (ECMA-376-1 §17.14.28). */
9
+ export declare const STRICT_RECIPIENT_DATA_RELATIONSHIP_TYPE = "http://purl.oclc.org/ooxml/officeDocument/relationships/mailMergeRecipientData";
10
+ /**
11
+ * @private Transitional mail merge data source (ECMA-376-4 §9.6). */
12
+ export declare const MAIL_MERGE_SOURCE_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/mailMergeSource";
13
+ /**
14
+ * @private Strict mail merge data source (ECMA-376-1 §11.7). */
15
+ export declare const STRICT_MAIL_MERGE_SOURCE_RELATIONSHIP_TYPE = "http://purl.oclc.org/ooxml/officeDocument/relationships/mailMergeSource";
16
+ /**
17
+ * @private Transitional mail merge header source (ECMA-376-4 §9.7). */
18
+ export declare const MAIL_MERGE_HEADER_SOURCE_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/mailMergeHeaderSource";
19
+ /**
20
+ * @private Strict mail merge header source (ECMA-376-1 §11.8). */
21
+ export declare const STRICT_MAIL_MERGE_HEADER_SOURCE_RELATIONSHIP_TYPE = "http://purl.oclc.org/ooxml/officeDocument/relationships/mailMergeHeaderSource";
22
+ /**
23
+ * @private Mail Merge Recipient Data content type (ECMA-376-1 / `[MS-OI29500]`). */
24
+ export declare const RECIPIENT_DATA_CONTENT_TYPE = "application/vnd.openxmlformats-officedocument.wordprocessingml.mailMergeRecipientData+xml";
25
+ /** `ST_MailMergeDocType` (Transitional `wml.xsd`).
26
+ * @private
27
+ */
28
+ export declare type MailMergeDocumentType = 'catalog' | 'envelopes' | 'mailingLabels' | 'formLetters' | 'email' | 'fax';
29
+ /** `ST_MailMergeDest` (Transitional `wml.xsd`).
30
+ * @private
31
+ */
32
+ export declare type MailMergeDestination = 'newDocument' | 'printer' | 'email' | 'fax';
33
+ interface MailMergeMetadata {
34
+ readonly present: boolean;
35
+ readonly mainDocumentType: MailMergeDocumentType | undefined;
36
+ readonly dataType: string | undefined;
37
+ readonly destination: MailMergeDestination | undefined;
38
+ }
39
+ /**
40
+ * Preserve-only mail merge metadata catalog.
41
+ * Recipient data and data-source relationships are never fetched, executed, or
42
+ * mutated; connection strings and queries remain opaque.
43
+ * @private
44
+ */
45
+ export declare class MailMergeCatalog implements FeatureMultiPackagePart {
46
+ private readonly metadata;
47
+ private readonly recipientsBytes;
48
+ private readonly recipientCount;
49
+ private readonly sourceTargets;
50
+ /**
51
+ * @private
52
+ */
53
+ constructor(metadata: MailMergeMetadata, recipientsBytes: Uint8Array | undefined, recipientCount: number, sourceTargets: ReadonlyArray<string>);
54
+ /**
55
+ * Whether `w:mailMerge` is present on the WordDocument Settings part.
56
+ *
57
+ * @private
58
+ */
59
+ present(): boolean;
60
+ /**
61
+ * `w:mainDocumentType/@w:val`, or `undefined` when absent or unrecognized.
62
+ *
63
+ * @private
64
+ */
65
+ mainDocumentType(): MailMergeDocumentType | undefined;
66
+ /**
67
+ * `w:dataType/@w:val`, or `undefined` when absent.
68
+ *
69
+ * @private
70
+ */
71
+ dataType(): string | undefined;
72
+ /**
73
+ * `w:destination/@w:val`, or `undefined` when absent or unrecognized.
74
+ *
75
+ * @private
76
+ */
77
+ destination(): MailMergeDestination | undefined;
78
+ /**
79
+ * Whether a Mail Merge Recipient Data part is related from settings.
80
+ *
81
+ * @private
82
+ */
83
+ hasRecipientsPart(): boolean;
84
+ /**
85
+ * Number of `recipientData` children in the recipients part.
86
+ *
87
+ * @private
88
+ */
89
+ recipientRecordCount(): number;
90
+ /**
91
+ * External mail-merge data-source relationship targets. Never fetched.
92
+ *
93
+ * @private
94
+ */
95
+ dataSourceTargets(): ReadonlyArray<string>;
96
+ /**
97
+ * @private
98
+ */
99
+ isDirty(): boolean;
100
+ /**
101
+ * @private
102
+ */
103
+ applyToPackage(pkg: OpcPackage, mainPartName: PartName): OpcPackage;
104
+ }
105
+ /**
106
+ * @private
107
+ * Test hook */
108
+ export declare function resetMailMergeFeatureForTests(): void;
109
+ /**
110
+ * @private
111
+ * Register the mail-merge multi-part handler. Idempotent. */
112
+ export declare function registerMailMergeFeature(): void;
113
+ export {};
@@ -0,0 +1,315 @@
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
+ import { DocxError } from '../../core/errors/docx-error';
12
+ import { WordDocument } from '../document/document';
13
+ import { elementChildren, isWml } from '../document/wml';
14
+ import { partByName, relationshipsForPart } from '../../core/opc/package';
15
+ import { resolveInternalTarget } from '../../core/opc/part-name';
16
+ import { TargetMode } from '../../core/opc/relationships';
17
+ import { featureId, registerFeature, registerFeatureMultiPartHandler, } from '../../core/registry/index';
18
+ import { parseXml, WML_TRANSITIONAL_NAMESPACE } from '../../core/xml/index';
19
+ var MAIL_MERGE = featureId('mail-merge');
20
+ var utf8Decoder = new TextDecoder('utf-8');
21
+ /** Transitional settings relationship (ECMA-376-4 §9.2.3). */
22
+ var SETTINGS_RELATIONSHIP_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings';
23
+ /** Strict settings relationship (ECMA-376-1 §11.3.3). */
24
+ var STRICT_SETTINGS_RELATIONSHIP_TYPE = 'http://purl.oclc.org/ooxml/officeDocument/relationships/settings';
25
+ /**
26
+ * @private Word recipientData relationship (`[MS-OI29500]` §2.1.378). */
27
+ export var RECIPIENT_DATA_RELATIONSHIP_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/recipientData';
28
+ /**
29
+ * @private Strict Mail Merge Recipient Data relationship (ECMA-376-1 §17.14.28). */
30
+ export var STRICT_RECIPIENT_DATA_RELATIONSHIP_TYPE = 'http://purl.oclc.org/ooxml/officeDocument/relationships/mailMergeRecipientData';
31
+ /**
32
+ * @private Transitional mail merge data source (ECMA-376-4 §9.6). */
33
+ export var MAIL_MERGE_SOURCE_RELATIONSHIP_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/mailMergeSource';
34
+ /**
35
+ * @private Strict mail merge data source (ECMA-376-1 §11.7). */
36
+ export var STRICT_MAIL_MERGE_SOURCE_RELATIONSHIP_TYPE = 'http://purl.oclc.org/ooxml/officeDocument/relationships/mailMergeSource';
37
+ /**
38
+ * @private Transitional mail merge header source (ECMA-376-4 §9.7). */
39
+ export var MAIL_MERGE_HEADER_SOURCE_RELATIONSHIP_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/mailMergeHeaderSource';
40
+ /**
41
+ * @private Strict mail merge header source (ECMA-376-1 §11.8). */
42
+ export var STRICT_MAIL_MERGE_HEADER_SOURCE_RELATIONSHIP_TYPE = 'http://purl.oclc.org/ooxml/officeDocument/relationships/mailMergeHeaderSource';
43
+ /**
44
+ * @private Mail Merge Recipient Data content type (ECMA-376-1 / `[MS-OI29500]`). */
45
+ export var RECIPIENT_DATA_CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.wordprocessingml.mailMergeRecipientData+xml';
46
+ var SETTINGS_RELATIONSHIP_TYPES = [
47
+ SETTINGS_RELATIONSHIP_TYPE,
48
+ STRICT_SETTINGS_RELATIONSHIP_TYPE,
49
+ ];
50
+ var RECIPIENT_DATA_RELATIONSHIP_TYPES = [
51
+ RECIPIENT_DATA_RELATIONSHIP_TYPE,
52
+ STRICT_RECIPIENT_DATA_RELATIONSHIP_TYPE,
53
+ ];
54
+ var DATA_SOURCE_RELATIONSHIP_TYPES = [
55
+ MAIL_MERGE_SOURCE_RELATIONSHIP_TYPE,
56
+ STRICT_MAIL_MERGE_SOURCE_RELATIONSHIP_TYPE,
57
+ MAIL_MERGE_HEADER_SOURCE_RELATIONSHIP_TYPE,
58
+ STRICT_MAIL_MERGE_HEADER_SOURCE_RELATIONSHIP_TYPE,
59
+ ];
60
+ function wmlAttribute(element, localName) {
61
+ var found = element.attributes.find(function (attribute) { return attribute.localName === localName &&
62
+ (attribute.namespaceUri === WML_TRANSITIONAL_NAMESPACE || attribute.namespaceUri === ''); });
63
+ return found == null ? undefined : found.value;
64
+ }
65
+ function parseDocumentType(raw) {
66
+ switch (raw) {
67
+ case 'catalog':
68
+ case 'envelopes':
69
+ case 'mailingLabels':
70
+ case 'formLetters':
71
+ case 'email':
72
+ case 'fax':
73
+ return raw;
74
+ default:
75
+ return undefined;
76
+ }
77
+ }
78
+ function parseDestination(raw) {
79
+ switch (raw) {
80
+ case 'newDocument':
81
+ case 'printer':
82
+ case 'email':
83
+ case 'fax':
84
+ return raw;
85
+ default:
86
+ return undefined;
87
+ }
88
+ }
89
+ function findWmlChild(children, localName) {
90
+ return children.find(function (child) { return isWml(child, localName); });
91
+ }
92
+ function parseMailMergeMetadata(settingsRoot) {
93
+ if (settingsRoot === undefined || !isWml(settingsRoot, 'settings')) {
94
+ return { present: false, mainDocumentType: undefined, dataType: undefined, destination: undefined };
95
+ }
96
+ var mailMerge = findWmlChild(elementChildren(settingsRoot), 'mailMerge');
97
+ if (mailMerge === undefined) {
98
+ return { present: false, mainDocumentType: undefined, dataType: undefined, destination: undefined };
99
+ }
100
+ var children = elementChildren(mailMerge);
101
+ var typeElement = findWmlChild(children, 'mainDocumentType');
102
+ var dataTypeElement = findWmlChild(children, 'dataType');
103
+ var destinationElement = findWmlChild(children, 'destination');
104
+ return {
105
+ present: true,
106
+ mainDocumentType: parseDocumentType(typeElement === undefined ? undefined : wmlAttribute(typeElement, 'val')),
107
+ dataType: dataTypeElement === undefined ? undefined : wmlAttribute(dataTypeElement, 'val'),
108
+ destination: parseDestination(destinationElement === undefined ? undefined : wmlAttribute(destinationElement, 'val')),
109
+ };
110
+ }
111
+ function countRecipientRecords(bytes) {
112
+ var e_1, _a;
113
+ if (bytes === undefined) {
114
+ return 0;
115
+ }
116
+ var root = parseXml(utf8Decoder.decode(bytes));
117
+ if (root.localName !== 'recipients') {
118
+ return 0;
119
+ }
120
+ var count = 0;
121
+ try {
122
+ for (var _b = __values(elementChildren(root)), _c = _b.next(); !_c.done; _c = _b.next()) {
123
+ var child = _c.value;
124
+ if (child.localName === 'recipientData') {
125
+ count += 1;
126
+ }
127
+ }
128
+ }
129
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
130
+ finally {
131
+ try {
132
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
133
+ }
134
+ finally { if (e_1) throw e_1.error; }
135
+ }
136
+ return count;
137
+ }
138
+ function firstRelatedPart(pkg, source, relationshipTypes) {
139
+ var e_2, _a;
140
+ try {
141
+ for (var _b = __values(relationshipsForPart(pkg, source).items), _c = _b.next(); !_c.done; _c = _b.next()) {
142
+ var rel = _c.value;
143
+ if (relationshipTypes.indexOf(rel.type) === -1 || rel.targetMode === TargetMode.External) {
144
+ continue;
145
+ }
146
+ var target = resolveInternalTarget(rel.target, source);
147
+ var part = partByName(pkg, target);
148
+ if (part !== undefined) {
149
+ return { name: part.name, data: part.data };
150
+ }
151
+ }
152
+ }
153
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
154
+ finally {
155
+ try {
156
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
157
+ }
158
+ finally { if (e_2) throw e_2.error; }
159
+ }
160
+ return undefined;
161
+ }
162
+ function collectExternalTargets(pkg, source, relationshipTypes) {
163
+ var e_3, _a;
164
+ var targets = [];
165
+ try {
166
+ for (var _b = __values(relationshipsForPart(pkg, source).items), _c = _b.next(); !_c.done; _c = _b.next()) {
167
+ var rel = _c.value;
168
+ if (relationshipTypes.indexOf(rel.type) === -1 || rel.targetMode !== TargetMode.External) {
169
+ continue;
170
+ }
171
+ targets.push(rel.target);
172
+ }
173
+ }
174
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
175
+ finally {
176
+ try {
177
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
178
+ }
179
+ finally { if (e_3) throw e_3.error; }
180
+ }
181
+ return targets;
182
+ }
183
+ /**
184
+ * Preserve-only mail merge metadata catalog.
185
+ * Recipient data and data-source relationships are never fetched, executed, or
186
+ * mutated; connection strings and queries remain opaque.
187
+ * @private
188
+ */
189
+ var MailMergeCatalog = /** @class */ (function () {
190
+ /**
191
+ * @private
192
+ */
193
+ function MailMergeCatalog(metadata, recipientsBytes, recipientCount, sourceTargets) {
194
+ this.metadata = metadata;
195
+ this.recipientsBytes = recipientsBytes;
196
+ this.recipientCount = recipientCount;
197
+ this.sourceTargets = sourceTargets;
198
+ }
199
+ /**
200
+ * Whether `w:mailMerge` is present on the WordDocument Settings part.
201
+ *
202
+ * @private
203
+ */
204
+ MailMergeCatalog.prototype.present = function () {
205
+ return this.metadata.present;
206
+ };
207
+ /**
208
+ * `w:mainDocumentType/@w:val`, or `undefined` when absent or unrecognized.
209
+ *
210
+ * @private
211
+ */
212
+ MailMergeCatalog.prototype.mainDocumentType = function () {
213
+ return this.metadata.mainDocumentType;
214
+ };
215
+ /**
216
+ * `w:dataType/@w:val`, or `undefined` when absent.
217
+ *
218
+ * @private
219
+ */
220
+ MailMergeCatalog.prototype.dataType = function () {
221
+ return this.metadata.dataType;
222
+ };
223
+ /**
224
+ * `w:destination/@w:val`, or `undefined` when absent or unrecognized.
225
+ *
226
+ * @private
227
+ */
228
+ MailMergeCatalog.prototype.destination = function () {
229
+ return this.metadata.destination;
230
+ };
231
+ /**
232
+ * Whether a Mail Merge Recipient Data part is related from settings.
233
+ *
234
+ * @private
235
+ */
236
+ MailMergeCatalog.prototype.hasRecipientsPart = function () {
237
+ return this.recipientsBytes !== undefined;
238
+ };
239
+ /**
240
+ * Number of `recipientData` children in the recipients part.
241
+ *
242
+ * @private
243
+ */
244
+ MailMergeCatalog.prototype.recipientRecordCount = function () {
245
+ return this.recipientCount;
246
+ };
247
+ /**
248
+ * External mail-merge data-source relationship targets. Never fetched.
249
+ *
250
+ * @private
251
+ */
252
+ MailMergeCatalog.prototype.dataSourceTargets = function () {
253
+ return this.sourceTargets;
254
+ };
255
+ /**
256
+ * @private
257
+ */
258
+ MailMergeCatalog.prototype.isDirty = function () {
259
+ return false;
260
+ };
261
+ /**
262
+ * @private
263
+ */
264
+ MailMergeCatalog.prototype.applyToPackage = function (pkg, mainPartName) {
265
+ void mainPartName;
266
+ return pkg;
267
+ };
268
+ return MailMergeCatalog;
269
+ }());
270
+ export { MailMergeCatalog };
271
+ function loadMailMerge(pkg, mainPartName) {
272
+ var settingsPart = firstRelatedPart(pkg, mainPartName, SETTINGS_RELATIONSHIP_TYPES);
273
+ if (settingsPart === undefined) {
274
+ return new MailMergeCatalog({ present: false, mainDocumentType: undefined, dataType: undefined, destination: undefined }, undefined, 0, []);
275
+ }
276
+ var settingsRoot = parseXml(utf8Decoder.decode(settingsPart.data));
277
+ var metadata = parseMailMergeMetadata(settingsRoot);
278
+ var recipients = firstRelatedPart(pkg, settingsPart.name, RECIPIENT_DATA_RELATIONSHIP_TYPES);
279
+ var sourceTargets = collectExternalTargets(pkg, settingsPart.name, DATA_SOURCE_RELATIONSHIP_TYPES);
280
+ return new MailMergeCatalog(metadata, recipients == null ? undefined : recipients.data, countRecipientRecords(recipients == null ? undefined : recipients.data), sourceTargets);
281
+ }
282
+ var registered = false;
283
+ /**
284
+ * @private
285
+ * Test hook */
286
+ export function resetMailMergeFeatureForTests() {
287
+ registered = false;
288
+ }
289
+ /**
290
+ * @private
291
+ * Register the mail-merge multi-part handler. Idempotent. */
292
+ export function registerMailMergeFeature() {
293
+ if (registered) {
294
+ return;
295
+ }
296
+ registered = true;
297
+ registerFeature({ id: MAIL_MERGE });
298
+ registerFeatureMultiPartHandler({
299
+ featureId: MAIL_MERGE,
300
+ relationshipTypes: RECIPIENT_DATA_RELATIONSHIP_TYPES,
301
+ loadParts: function (pkg, ctx) {
302
+ return loadMailMerge(pkg, ctx.mainPartName);
303
+ },
304
+ });
305
+ }
306
+ Object.defineProperty(WordDocument.prototype, 'mailMerge', {
307
+ get: function () {
308
+ var part = this.featurePart(MAIL_MERGE);
309
+ if (part === undefined || !(part instanceof MailMergeCatalog)) {
310
+ throw new DocxError('feature/not-registered', 'Mail merge catalog was not loaded; call registerMailMergeFeature() before WordDocument.open');
311
+ }
312
+ return part;
313
+ },
314
+ });
315
+ registerMailMergeFeature();