@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,68 @@
1
+ import { BodyItem } from './body-item';
2
+ import { ParagraphItem } from './text-range';
3
+ /**
4
+ * Coarse public kind for a body child when walking {@link BodyItem} lists
5
+ * (`Body.items`, `Header.items`, table cells, note bodies, …).
6
+ *
7
+ * Prefer this with {@link elementTypeOf} for `switch` branching; use
8
+ * {@link isTableBlock} / {@link isBlockContentControl} to narrow feature payloads.
9
+ *
10
+ * @public
11
+ */
12
+ export declare type ElementType = 'paragraph' | 'table' | 'blockContentControl' | 'opaque' | 'feature';
13
+ /**
14
+ * Classify a {@link BodyItem} for switch-friendly type discrimination.
15
+ *
16
+ * - Paragraph instance → `'paragraph'`
17
+ * - Table feature block / instance → `'table'`
18
+ * - Block content control → `'blockContentControl'`
19
+ * - Other modeled feature blocks → `'feature'`
20
+ * - Preserved unmodeled markup → `'opaque'`
21
+ *
22
+ * Always-on tables and content-controls register before consumers walk body
23
+ * items from the main entry; unregistered domains still return `'feature'` or
24
+ * `'opaque'` rather than throwing.
25
+ *
26
+ * Public {@link BodyItem} is an instance union (no wrapper `type` tags).
27
+ * Discriminate with {@link isParagraphBodyItem} and feature guards.
28
+ *
29
+ * @param item - Body child from any body-shaped list.
30
+ * @returns Coarse {@link ElementType} tag.
31
+ *
32
+ * @public
33
+ */
34
+ export declare function elementTypeOf(item: BodyItem): ElementType;
35
+ /**
36
+ * Public kind for a paragraph child when walking {@link Paragraph.items}.
37
+ *
38
+ * Feature-owned payloads (images, hyperlinks, fields, …) are classified by
39
+ * registered {@link registerParagraphElementClassifier} handlers or by their
40
+ * known feature id fallbacks — never as a public `'feature'` tag.
41
+ *
42
+ * @public
43
+ */
44
+ export declare type ParagraphElementType = 'textRange' | 'break' | 'tab' | 'carriageReturn' | 'symbol' | 'image' | 'hyperlink' | 'field' | 'bookmark' | 'shape' | 'inlineContentControl' | 'comment' | 'editableRange' | 'ole' | 'revision' | 'note' | 'opaque' | 'unknown';
45
+ declare type ParagraphElementClassifier = (item: ParagraphItem) => ParagraphElementType | undefined;
46
+ /**
47
+ * Register a feature-provided classifier used by {@link paragraphElementTypeOf}.
48
+ * Classifiers run in registration order; the first non-undefined result wins.
49
+ *
50
+ * @private
51
+ */
52
+ export declare function registerParagraphElementClassifier(classifier: ParagraphElementClassifier): void;
53
+ /** @private Test hook */
54
+ export declare function resetParagraphElementClassifiersForTests(): void;
55
+ /**
56
+ * Classify a {@link ParagraphItem} for switch-friendly type discrimination.
57
+ *
58
+ * Built-in tags cover text, breaks, tabs, symbols, and opaque markup. Feature
59
+ * modules map their payloads (image, hyperlink, …) via registered classifiers
60
+ * or known feature-id fallbacks. There is no public `'feature'` tag.
61
+ *
62
+ * @param item - Child of {@link Paragraph.items}.
63
+ * @returns Coarse {@link ParagraphElementType} tag.
64
+ *
65
+ * @public
66
+ */
67
+ export declare function paragraphElementTypeOf(item: ParagraphItem): ParagraphElementType;
68
+ export {};
@@ -0,0 +1,133 @@
1
+ import { isParagraphBodyItem } from './body-item';
2
+ import { isTableBlock } from '../tables/index';
3
+ import { isBlockContentControl } from '../content-controls/index';
4
+ import { Break, CarriageReturn, FeatureInlineParagraphItem, FeatureRunParagraphItem, OpaqueParagraphItem, OpaqueRunItem, Symbol, Tab, TextRange, } from './text-range';
5
+ /**
6
+ * Classify a {@link BodyItem} for switch-friendly type discrimination.
7
+ *
8
+ * - Paragraph instance → `'paragraph'`
9
+ * - Table feature block / instance → `'table'`
10
+ * - Block content control → `'blockContentControl'`
11
+ * - Other modeled feature blocks → `'feature'`
12
+ * - Preserved unmodeled markup → `'opaque'`
13
+ *
14
+ * Always-on tables and content-controls register before consumers walk body
15
+ * items from the main entry; unregistered domains still return `'feature'` or
16
+ * `'opaque'` rather than throwing.
17
+ *
18
+ * Public {@link BodyItem} is an instance union (no wrapper `type` tags).
19
+ * Discriminate with {@link isParagraphBodyItem} and feature guards.
20
+ *
21
+ * @param item - Body child from any body-shaped list.
22
+ * @returns Coarse {@link ElementType} tag.
23
+ *
24
+ * @public
25
+ */
26
+ export function elementTypeOf(item) {
27
+ if (isParagraphBodyItem(item)) {
28
+ return 'paragraph';
29
+ }
30
+ if (isTableBlock(item)) {
31
+ return 'table';
32
+ }
33
+ if (isBlockContentControl(item)) {
34
+ return 'blockContentControl';
35
+ }
36
+ return 'feature';
37
+ }
38
+ var paragraphElementClassifiers = [];
39
+ /**
40
+ * Register a feature-provided classifier used by {@link paragraphElementTypeOf}.
41
+ * Classifiers run in registration order; the first non-undefined result wins.
42
+ *
43
+ * @private
44
+ */
45
+ export function registerParagraphElementClassifier(classifier) {
46
+ paragraphElementClassifiers.push(classifier);
47
+ }
48
+ /** @private Test hook */
49
+ export function resetParagraphElementClassifiersForTests() {
50
+ paragraphElementClassifiers.length = 0;
51
+ }
52
+ function featureIdOf(item) {
53
+ if (item instanceof FeatureRunParagraphItem || item instanceof FeatureInlineParagraphItem) {
54
+ return item.featureId;
55
+ }
56
+ return undefined;
57
+ }
58
+ /**
59
+ * Classify a {@link ParagraphItem} for switch-friendly type discrimination.
60
+ *
61
+ * Built-in tags cover text, breaks, tabs, symbols, and opaque markup. Feature
62
+ * modules map their payloads (image, hyperlink, …) via registered classifiers
63
+ * or known feature-id fallbacks. There is no public `'feature'` tag.
64
+ *
65
+ * @param item - Child of {@link Paragraph.items}.
66
+ * @returns Coarse {@link ParagraphElementType} tag.
67
+ *
68
+ * @public
69
+ */
70
+ export function paragraphElementTypeOf(item) {
71
+ if (item instanceof TextRange) {
72
+ return 'textRange';
73
+ }
74
+ if (item instanceof Break) {
75
+ return 'break';
76
+ }
77
+ if (item instanceof Tab) {
78
+ return 'tab';
79
+ }
80
+ if (item instanceof CarriageReturn) {
81
+ return 'carriageReturn';
82
+ }
83
+ if (item instanceof Symbol) {
84
+ return 'symbol';
85
+ }
86
+ if (item instanceof OpaqueParagraphItem || item instanceof OpaqueRunItem) {
87
+ return 'opaque';
88
+ }
89
+ for (var i = 0; i < paragraphElementClassifiers.length; i += 1) {
90
+ var hit = paragraphElementClassifiers[i](item);
91
+ if (hit !== undefined) {
92
+ return hit;
93
+ }
94
+ }
95
+ var id = featureIdOf(item);
96
+ if (id !== undefined) {
97
+ var key = String(id);
98
+ if (key === 'images') {
99
+ return 'image';
100
+ }
101
+ if (key === 'hyperlinks') {
102
+ return 'hyperlink';
103
+ }
104
+ if (key === 'fields') {
105
+ return 'field';
106
+ }
107
+ if (key === 'bookmarks') {
108
+ return 'bookmark';
109
+ }
110
+ if (key === 'drawing') {
111
+ return 'shape';
112
+ }
113
+ if (key === 'content-controls') {
114
+ return 'inlineContentControl';
115
+ }
116
+ if (key === 'comments') {
117
+ return 'comment';
118
+ }
119
+ if (key === 'editable-ranges') {
120
+ return 'editableRange';
121
+ }
122
+ if (key === 'ole-object' || key === 'ole') {
123
+ return 'ole';
124
+ }
125
+ if (key === 'revisions') {
126
+ return 'revision';
127
+ }
128
+ if (key === 'notes' || key === 'footnotes' || key === 'endnotes') {
129
+ return 'note';
130
+ }
131
+ }
132
+ return 'unknown';
133
+ }
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Public document-entity discriminant (DocIO-aligned).
3
+ *
4
+ * Prefer {@link EntityType} on modeled objects and projected paragraph leaves
5
+ * instead of internal wrapper tags such as `'featureRun'`.
6
+ *
7
+ * @public
8
+ */
9
+ export declare enum EntityType {
10
+ WordDocument = 0,
11
+ Section = 1,
12
+ TextBody = 2,
13
+ HeaderFooter = 3,
14
+ Paragraph = 4,
15
+ AlternateChunk = 5,
16
+ BlockContentControl = 6,
17
+ InlineContentControl = 7,
18
+ RowContentControl = 8,
19
+ CellContentControl = 9,
20
+ /**
21
+
22
+ */
23
+ StructureDocumentTag = 10,
24
+ /**
25
+
26
+ */
27
+ StructureDocumentTagInline = 11,
28
+ /**
29
+
30
+ */
31
+ StructureDocumentTagRow = 12,
32
+ /**
33
+
34
+ */
35
+ StructureDocumentTagCell = 13,
36
+ /**
37
+
38
+ */
39
+ SDTBlockContent = 14,
40
+ /**
41
+
42
+ */
43
+ SDTInlineContent = 15,
44
+ /**
45
+
46
+ */
47
+ SDTRowContent = 16,
48
+ /**
49
+
50
+ */
51
+ SDTCellContent = 17,
52
+ Table = 18,
53
+ TableRow = 19,
54
+ TableCell = 20,
55
+ TextRange = 21,
56
+ Picture = 22,
57
+ Field = 23,
58
+ FieldMark = 24,
59
+ MergeField = 25,
60
+ SeqField = 26,
61
+ EmbededField = 27,
62
+ ControlField = 28,
63
+ TextFormField = 29,
64
+ DropDownFormField = 30,
65
+ CheckBox = 31,
66
+ BookmarkStart = 32,
67
+ BookmarkEnd = 33,
68
+ Shape = 34,
69
+ Comment = 35,
70
+ Footnote = 36,
71
+ TextBox = 37,
72
+ Break = 38,
73
+ Symbol = 39,
74
+ TOC = 40,
75
+ XmlParaItem = 41,
76
+ Undefined = 42,
77
+ Chart = 43,
78
+ SmartArt = 44,
79
+ Canvas = 45,
80
+ CommentMark = 46,
81
+ CommentEnd = 47,
82
+ OleObject = 48,
83
+ AbsoluteTab = 49,
84
+ AutoShape = 50,
85
+ EditableRangeStart = 51,
86
+ EditableRangeEnd = 52,
87
+ GroupShape = 53,
88
+ ChildShape = 54,
89
+ ChildGroupShape = 55,
90
+ Math = 56,
91
+ Ink = 57
92
+ }
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Public document-entity discriminant (DocIO-aligned).
3
+ *
4
+ * Prefer {@link EntityType} on modeled objects and projected paragraph leaves
5
+ * instead of internal wrapper tags such as `'featureRun'`.
6
+ *
7
+ * @public
8
+ */
9
+ export var EntityType;
10
+ (function (EntityType) {
11
+ EntityType[EntityType["WordDocument"] = 0] = "WordDocument";
12
+ EntityType[EntityType["Section"] = 1] = "Section";
13
+ EntityType[EntityType["TextBody"] = 2] = "TextBody";
14
+ EntityType[EntityType["HeaderFooter"] = 3] = "HeaderFooter";
15
+ EntityType[EntityType["Paragraph"] = 4] = "Paragraph";
16
+ EntityType[EntityType["AlternateChunk"] = 5] = "AlternateChunk";
17
+ EntityType[EntityType["BlockContentControl"] = 6] = "BlockContentControl";
18
+ EntityType[EntityType["InlineContentControl"] = 7] = "InlineContentControl";
19
+ EntityType[EntityType["RowContentControl"] = 8] = "RowContentControl";
20
+ EntityType[EntityType["CellContentControl"] = 9] = "CellContentControl";
21
+ /**
22
+
23
+ */
24
+ EntityType[EntityType["StructureDocumentTag"] = 10] = "StructureDocumentTag";
25
+ /**
26
+
27
+ */
28
+ EntityType[EntityType["StructureDocumentTagInline"] = 11] = "StructureDocumentTagInline";
29
+ /**
30
+
31
+ */
32
+ EntityType[EntityType["StructureDocumentTagRow"] = 12] = "StructureDocumentTagRow";
33
+ /**
34
+
35
+ */
36
+ EntityType[EntityType["StructureDocumentTagCell"] = 13] = "StructureDocumentTagCell";
37
+ /**
38
+
39
+ */
40
+ EntityType[EntityType["SDTBlockContent"] = 14] = "SDTBlockContent";
41
+ /**
42
+
43
+ */
44
+ EntityType[EntityType["SDTInlineContent"] = 15] = "SDTInlineContent";
45
+ /**
46
+
47
+ */
48
+ EntityType[EntityType["SDTRowContent"] = 16] = "SDTRowContent";
49
+ /**
50
+
51
+ */
52
+ EntityType[EntityType["SDTCellContent"] = 17] = "SDTCellContent";
53
+ EntityType[EntityType["Table"] = 18] = "Table";
54
+ EntityType[EntityType["TableRow"] = 19] = "TableRow";
55
+ EntityType[EntityType["TableCell"] = 20] = "TableCell";
56
+ EntityType[EntityType["TextRange"] = 21] = "TextRange";
57
+ EntityType[EntityType["Picture"] = 22] = "Picture";
58
+ EntityType[EntityType["Field"] = 23] = "Field";
59
+ EntityType[EntityType["FieldMark"] = 24] = "FieldMark";
60
+ EntityType[EntityType["MergeField"] = 25] = "MergeField";
61
+ EntityType[EntityType["SeqField"] = 26] = "SeqField";
62
+ EntityType[EntityType["EmbededField"] = 27] = "EmbededField";
63
+ EntityType[EntityType["ControlField"] = 28] = "ControlField";
64
+ EntityType[EntityType["TextFormField"] = 29] = "TextFormField";
65
+ EntityType[EntityType["DropDownFormField"] = 30] = "DropDownFormField";
66
+ EntityType[EntityType["CheckBox"] = 31] = "CheckBox";
67
+ EntityType[EntityType["BookmarkStart"] = 32] = "BookmarkStart";
68
+ EntityType[EntityType["BookmarkEnd"] = 33] = "BookmarkEnd";
69
+ EntityType[EntityType["Shape"] = 34] = "Shape";
70
+ EntityType[EntityType["Comment"] = 35] = "Comment";
71
+ EntityType[EntityType["Footnote"] = 36] = "Footnote";
72
+ EntityType[EntityType["TextBox"] = 37] = "TextBox";
73
+ EntityType[EntityType["Break"] = 38] = "Break";
74
+ EntityType[EntityType["Symbol"] = 39] = "Symbol";
75
+ EntityType[EntityType["TOC"] = 40] = "TOC";
76
+ EntityType[EntityType["XmlParaItem"] = 41] = "XmlParaItem";
77
+ EntityType[EntityType["Undefined"] = 42] = "Undefined";
78
+ EntityType[EntityType["Chart"] = 43] = "Chart";
79
+ EntityType[EntityType["SmartArt"] = 44] = "SmartArt";
80
+ EntityType[EntityType["Canvas"] = 45] = "Canvas";
81
+ EntityType[EntityType["CommentMark"] = 46] = "CommentMark";
82
+ EntityType[EntityType["CommentEnd"] = 47] = "CommentEnd";
83
+ EntityType[EntityType["OleObject"] = 48] = "OleObject";
84
+ EntityType[EntityType["AbsoluteTab"] = 49] = "AbsoluteTab";
85
+ EntityType[EntityType["AutoShape"] = 50] = "AutoShape";
86
+ EntityType[EntityType["EditableRangeStart"] = 51] = "EditableRangeStart";
87
+ EntityType[EntityType["EditableRangeEnd"] = 52] = "EditableRangeEnd";
88
+ EntityType[EntityType["GroupShape"] = 53] = "GroupShape";
89
+ EntityType[EntityType["ChildShape"] = 54] = "ChildShape";
90
+ EntityType[EntityType["ChildGroupShape"] = 55] = "ChildGroupShape";
91
+ EntityType[EntityType["Math"] = 56] = "Math";
92
+ EntityType[EntityType["Ink"] = 57] = "Ink";
93
+ })(EntityType || (EntityType = {}));
@@ -0,0 +1,16 @@
1
+ import { OpenXmlElement } from '../../core/xml/index';
2
+ /**
3
+ * Serializable body block provided by an optional feature module.
4
+ *
5
+ * Required on the public surface: feature body items and
6
+ * {@link AltChunkAnchor} implement this type under `stripInternal`.
7
+ *
8
+ * @private
9
+ */
10
+ export interface FeatureBlock {
11
+ toOpenXml(): OpenXmlElement;
12
+ /**
13
+ * @private
14
+ * Release nested modeled content when the parent body detaches the block. */
15
+ releaseContent?(): void;
16
+ }
File without changes
@@ -0,0 +1,13 @@
1
+ import { OpenXmlElement } from '../../core/xml/index';
2
+ /**
3
+ * Serializable paragraph inline content provided by an optional feature module.
4
+ *
5
+ * @public
6
+ */
7
+ export interface FeatureInline {
8
+ toOpenXml(): OpenXmlElement;
9
+ /**
10
+ * @private
11
+ * Release nested modeled content when the parent paragraph detaches. */
12
+ releaseContent?(): void;
13
+ }
File without changes
@@ -0,0 +1,19 @@
1
+ import { OpcPackage } from '../../core/opc/package';
2
+ import { PartName } from '../../core/opc/part-name';
3
+ /**
4
+ * Optional feature-owned state spanning multiple OPC parts (for example headers).
5
+ *
6
+ * @public
7
+ */
8
+ export interface FeatureMultiPackagePart {
9
+ /** Whether serialized output must replace or add package parts on save. */
10
+ isDirty(): boolean;
11
+ /** Apply dirty part payloads and relationships to the package. */
12
+ applyToPackage(pkg: OpcPackage, mainPartName: PartName): OpcPackage;
13
+ }
14
+ /**
15
+ * @private
16
+ */
17
+ export declare function isFeatureMultiPackagePart(value: {
18
+ isDirty(): boolean;
19
+ }): value is FeatureMultiPackagePart;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @private
3
+ */
4
+ export function isFeatureMultiPackagePart(value) {
5
+ return ('applyToPackage' in value &&
6
+ typeof value.applyToPackage === 'function' &&
7
+ value.applyToPackage.length >= 2);
8
+ }
@@ -0,0 +1,18 @@
1
+ import { OpcPackage } from '../../core/opc/package';
2
+ /**
3
+ * Optional feature-owned state for OPC parts linked from package relationships.
4
+ *
5
+ * @public
6
+ */
7
+ export interface FeaturePackageLevelPart {
8
+ /** Whether serialized output must replace or add package parts on save. */
9
+ isDirty(): boolean;
10
+ /** Apply dirty part payloads and package relationships. */
11
+ applyToPackage(pkg: OpcPackage): OpcPackage;
12
+ }
13
+ /**
14
+ * @private
15
+ */
16
+ export declare function isFeaturePackageLevelPart(value: {
17
+ isDirty(): boolean;
18
+ }): value is FeaturePackageLevelPart;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @private
3
+ */
4
+ export function isFeaturePackageLevelPart(value) {
5
+ return ('applyToPackage' in value &&
6
+ typeof value.applyToPackage === 'function' &&
7
+ value.applyToPackage.length === 1);
8
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Optional feature-owned OPC package part state.
3
+ *
4
+ * Required on the public surface under `stripInternal` because document
5
+ * package-part wiring and related exports reference this type.
6
+ *
7
+ * @private
8
+ */
9
+ export interface FeaturePackagePart {
10
+ /** Whether serialized output must replace the part on save. */
11
+ isDirty(): boolean;
12
+ /** UTF-8 payload for the package part. */
13
+ serialize(): Uint8Array;
14
+ }
File without changes
@@ -0,0 +1,9 @@
1
+ import { OpenXmlElement } from '../../core/xml/index';
2
+ /**
3
+ * Serializable run inner content provided by an optional feature module.
4
+ *
5
+ * @public
6
+ */
7
+ export interface FeatureRunLeaf {
8
+ toOpenXml(): OpenXmlElement;
9
+ }
File without changes