@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,66 @@
1
+ /**
2
+ * Always-on body/run/inline / package-part feature bootstrap (tables,
3
+ * content-controls, images, drawing, bookmarks, fields, numbering, sections,
4
+ * headers-footers, comments, revisions).
5
+ *
6
+ * Core never imports feature modules. Feature entry side-effects (and the main
7
+ * `@syncfusion/ej2-docx` entry) register idempotent `register*Feature` callbacks here so
8
+ * every `WordDocument.create` / `fromPackage` re-arms handlers after test resets.
9
+ * Numbering uses the same hook to re-arm its `registerFeaturePartHandler` for
10
+ * `/word/numbering.xml`. Headers/footers and comments re-arm
11
+ * `registerFeatureMultiPartHandler` for their relationship types (comments also
12
+ * registers inline/run-leaf handlers for range markers and `commentReference`).
13
+ * Sections re-arm WordDocument.create wrapping and feature registration for typed
14
+ * `w:sectPr` (not classic body-block handlers). Revisions re-arm inline/block
15
+ * track-change handlers and move-range markers (no package part).
16
+ *
17
+ * @private
18
+ */
19
+ var __values = (this && this.__values) || function (o) {
20
+ var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
21
+ if (m) return m.call(o);
22
+ return {
23
+ next: function () {
24
+ if (o && i >= o.length) o = void 0;
25
+ return { value: o && o[i++], done: !o };
26
+ }
27
+ };
28
+ };
29
+ var bootstraps = [];
30
+ /**
31
+ * Register a callback invoked before main-document body parse/create.
32
+ * Idempotent registration of the feature itself is the callee's job.
33
+ *
34
+ * @private
35
+ */
36
+ export function registerAlwaysOnBodyFeatureBootstrap(fn) {
37
+ bootstraps.push(fn);
38
+ }
39
+ /**
40
+ * Run all always-on body feature bootstraps. Safe when none are registered
41
+ * (pure core without main entry / feature imports).
42
+ *
43
+ * @private
44
+ */
45
+ export function ensureAlwaysOnBodyFeaturesRegistered() {
46
+ var e_1, _a;
47
+ try {
48
+ for (var bootstraps_1 = __values(bootstraps), bootstraps_1_1 = bootstraps_1.next(); !bootstraps_1_1.done; bootstraps_1_1 = bootstraps_1.next()) {
49
+ var fn = bootstraps_1_1.value;
50
+ fn();
51
+ }
52
+ }
53
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
54
+ finally {
55
+ try {
56
+ if (bootstraps_1_1 && !bootstraps_1_1.done && (_a = bootstraps_1.return)) _a.call(bootstraps_1);
57
+ }
58
+ finally { if (e_1) throw e_1.error; }
59
+ }
60
+ }
61
+ /**
62
+ * @private
63
+ * Test hook — clear bootstrap list (does not unregister handlers). */
64
+ export function resetAlwaysOnBodyFeatureBootstrapsForTests() {
65
+ bootstraps.length = 0;
66
+ }
@@ -0,0 +1,7 @@
1
+ import { registerFeatureBlockHandler, resetFeatureBlockHandlers, tryParseFeatureBlock, serializeFeatureBlock, BodyBlockParseContext, FeatureBlockHandler } from '../../core/registry/block-handlers';
2
+ import { BlockContent } from './paragraph';
3
+ import { OpenXmlChild, OpenXmlElement } from '../../core/xml/index';
4
+ export { BodyBlockParseContext, FeatureBlockHandler };
5
+ export { registerFeatureBlockHandler, resetFeatureBlockHandlers, tryParseFeatureBlock, serializeFeatureBlock, };
6
+ export declare function parseBodyBlocks(children: ReadonlyArray<OpenXmlChild>, ctx: BodyBlockParseContext): BlockContent[];
7
+ export declare function serializeBodyBlocks(blocks: ReadonlyArray<BlockContent>): OpenXmlElement[];
@@ -0,0 +1,78 @@
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 { registerFeatureBlockHandler, resetFeatureBlockHandlers, tryParseFeatureBlock, serializeFeatureBlock } from '../../core/registry/block-handlers';
12
+ import { Paragraph, shouldEmitPageBreakAfterParagraph, createPageBreakAfterParagraphElement, } from './paragraph';
13
+ import { isWml } from './wml';
14
+ export { registerFeatureBlockHandler, resetFeatureBlockHandlers, tryParseFeatureBlock, serializeFeatureBlock, };
15
+ export function parseBodyBlocks(children, ctx) {
16
+ var e_1, _a;
17
+ var blocks = [];
18
+ try {
19
+ for (var children_1 = __values(children), children_1_1 = children_1.next(); !children_1_1.done; children_1_1 = children_1.next()) {
20
+ var child = children_1_1.value;
21
+ if (child.kind !== 'element') {
22
+ continue;
23
+ }
24
+ if (isWml(child, 'p')) {
25
+ var parsed = Paragraph.fromXml(child, ctx);
26
+ blocks.push({ type: 'paragraph', paragraph: parsed });
27
+ continue;
28
+ }
29
+ var feature = tryParseFeatureBlock(child, ctx);
30
+ if (feature !== undefined) {
31
+ blocks.push(feature);
32
+ continue;
33
+ }
34
+ blocks.push({ type: 'opaque', xml: child });
35
+ }
36
+ }
37
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
38
+ finally {
39
+ try {
40
+ if (children_1_1 && !children_1_1.done && (_a = children_1.return)) _a.call(children_1);
41
+ }
42
+ finally { if (e_1) throw e_1.error; }
43
+ }
44
+ return blocks;
45
+ }
46
+ export function serializeBodyBlocks(blocks) {
47
+ var e_2, _a;
48
+ var out = [];
49
+ try {
50
+ for (var blocks_1 = __values(blocks), blocks_1_1 = blocks_1.next(); !blocks_1_1.done; blocks_1_1 = blocks_1.next()) {
51
+ var block = blocks_1_1.value;
52
+ if (block.type === 'paragraph') {
53
+ out.push(block.paragraph.toOpenXml());
54
+ // DocIO pageBreakAfter: emit a separate page-break paragraph after
55
+ // content — never invent w:pageBreakAfter on pPr, and never put the
56
+ // break run inside the content paragraph.
57
+ // Citation: ECMA-376-1 §17.3.3.1 w:br; docs/specs/paragraph-formatting.md.
58
+ if (shouldEmitPageBreakAfterParagraph(block.paragraph)) {
59
+ out.push(createPageBreakAfterParagraphElement());
60
+ }
61
+ continue;
62
+ }
63
+ if (block.type === 'feature') {
64
+ out.push(serializeFeatureBlock(block));
65
+ continue;
66
+ }
67
+ out.push(block.xml);
68
+ }
69
+ }
70
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
71
+ finally {
72
+ try {
73
+ if (blocks_1_1 && !blocks_1_1.done && (_a = blocks_1.return)) _a.call(blocks_1);
74
+ }
75
+ finally { if (e_2) throw e_2.error; }
76
+ }
77
+ return out;
78
+ }
@@ -0,0 +1,62 @@
1
+ import { BodyItem } from './body-item';
2
+ import { BlockContent } from './paragraph';
3
+ import { FeatureId } from '../../core/registry/feature-registry';
4
+ import { FeatureBlock } from './feature-block';
5
+ /**
6
+ * @private
7
+ * Feature-block wrapper on the internal body store.
8
+ */
9
+ export declare type FeatureBodyBlock = {
10
+ readonly type: 'feature';
11
+ readonly featureId: FeatureId;
12
+ readonly value: FeatureBlock;
13
+ };
14
+ /**
15
+ * @private
16
+ * Maps a feature {@link BlockContent} entry to/from a public body-item instance.
17
+ */
18
+ export declare type BodyItemAdapter = {
19
+ /**
20
+ * Project an internal feature block to a public instance, or `undefined` to skip.
21
+ */
22
+ project(block: FeatureBodyBlock): BodyItem | undefined;
23
+ /**
24
+ * Wrap a public instance as an internal feature block, or `undefined` if not this kind.
25
+ */
26
+ toBlock(item: BodyItem): FeatureBodyBlock | undefined;
27
+ /**
28
+ * True when `item` is a public instance owned by this adapter.
29
+ */
30
+ isInstance(item: unknown): item is BodyItem;
31
+ };
32
+ /**
33
+ * @private
34
+ * Register a feature adapter (tables, block content controls). Idempotent per call site.
35
+ */
36
+ export declare function registerBodyItemAdapter(adapter: BodyItemAdapter): void;
37
+ /**
38
+ * @private
39
+ */
40
+ export declare function resetBodyItemAdaptersForTests(): void;
41
+ /**
42
+ * @private
43
+ * Project an internal store entry to a public {@link BodyItem}, or `undefined`
44
+ * when the block is opaque / unregistered feature markup (preserved off the public list).
45
+ */
46
+ export declare function projectBlockToBodyItem(block: BlockContent): BodyItem | undefined;
47
+ /**
48
+ * @private
49
+ * Convert a public body item to an internal {@link BlockContent} entry.
50
+ *
51
+ * Accepts direct {@link BodyItem} instances. Also unwraps legacy
52
+ * `{ type: 'paragraph', paragraph }` / feature BlockContent-shaped values so
53
+ * older call sites continue to work during the DOM flatten migration.
54
+ *
55
+ * @throws TypeError when `item` is not a supported public body item.
56
+ */
57
+ export declare function bodyItemToBlock(item: BodyItem): BlockContent;
58
+ /**
59
+ * @private
60
+ * True when `value` is a public body item (paragraph or registered feature instance).
61
+ */
62
+ export declare function isSupportedBodyItem(value: unknown): value is BodyItem;
@@ -0,0 +1,97 @@
1
+ import { isParagraphBodyItem } from './body-item';
2
+ import { Paragraph } from './paragraph';
3
+ var adapters = [];
4
+ /**
5
+ * @private
6
+ * Register a feature adapter (tables, block content controls). Idempotent per call site.
7
+ */
8
+ export function registerBodyItemAdapter(adapter) {
9
+ // Replace existing adapter with the same instance-predicate when re-registered in tests.
10
+ for (var i = 0; i < adapters.length; i += 1) {
11
+ if (adapters[i] === adapter) {
12
+ return;
13
+ }
14
+ }
15
+ adapters.push(adapter);
16
+ }
17
+ /**
18
+ * @private
19
+ */
20
+ export function resetBodyItemAdaptersForTests() {
21
+ adapters.length = 0;
22
+ }
23
+ /**
24
+ * @private
25
+ * Project an internal store entry to a public {@link BodyItem}, or `undefined`
26
+ * when the block is opaque / unregistered feature markup (preserved off the public list).
27
+ */
28
+ export function projectBlockToBodyItem(block) {
29
+ if (block.type === 'paragraph') {
30
+ return block.paragraph;
31
+ }
32
+ if (block.type === 'opaque') {
33
+ return undefined;
34
+ }
35
+ var featureBlock = block;
36
+ for (var i = 0; i < adapters.length; i += 1) {
37
+ var projected = adapters[i].project(featureBlock);
38
+ if (projected !== undefined) {
39
+ return projected;
40
+ }
41
+ }
42
+ return undefined;
43
+ }
44
+ /**
45
+ * @private
46
+ * Convert a public body item to an internal {@link BlockContent} entry.
47
+ *
48
+ * Accepts direct {@link BodyItem} instances. Also unwraps legacy
49
+ * `{ type: 'paragraph', paragraph }` / feature BlockContent-shaped values so
50
+ * older call sites continue to work during the DOM flatten migration.
51
+ *
52
+ * @throws TypeError when `item` is not a supported public body item.
53
+ */
54
+ export function bodyItemToBlock(item) {
55
+ if (isParagraphBodyItem(item)) {
56
+ return { type: 'paragraph', paragraph: item };
57
+ }
58
+ // Legacy BlockContent wrapper still appearing in some tests/callers.
59
+ if (typeof item === 'object' && item !== null) {
60
+ var candidate = item;
61
+ if (candidate.type === 'paragraph' && candidate.paragraph instanceof Paragraph) {
62
+ return { type: 'paragraph', paragraph: candidate.paragraph };
63
+ }
64
+ if (candidate.type === 'feature' && candidate.value !== undefined) {
65
+ for (var i = 0; i < adapters.length; i += 1) {
66
+ if (adapters[i].isInstance(candidate.value)) {
67
+ var block = adapters[i].toBlock(candidate.value);
68
+ if (block !== undefined) {
69
+ return block;
70
+ }
71
+ }
72
+ }
73
+ }
74
+ }
75
+ for (var i = 0; i < adapters.length; i += 1) {
76
+ var block = adapters[i].toBlock(item);
77
+ if (block !== undefined) {
78
+ return block;
79
+ }
80
+ }
81
+ throw new TypeError('Unsupported body item type');
82
+ }
83
+ /**
84
+ * @private
85
+ * True when `value` is a public body item (paragraph or registered feature instance).
86
+ */
87
+ export function isSupportedBodyItem(value) {
88
+ if (value instanceof Paragraph) {
89
+ return true;
90
+ }
91
+ for (var i = 0; i < adapters.length; i += 1) {
92
+ if (adapters[i].isInstance(value)) {
93
+ return true;
94
+ }
95
+ }
96
+ return false;
97
+ }
@@ -0,0 +1,151 @@
1
+ import { BodyItem } from './body-item';
2
+ import { BlockContent, Paragraph } from './paragraph';
3
+ import { WordDocument } from './document';
4
+ import { Section } from './section';
5
+ /**
6
+ * @private
7
+ * Host that owns the internal ordered {@link BlockContent} store projected by
8
+ * {@link BodyItemCollection}.
9
+ */
10
+ export interface BodyItemCollectionHost {
11
+ /** @private */
12
+ owningDocument(): WordDocument;
13
+ /** @private */
14
+ owningSection(): Section | undefined;
15
+ /** @private */
16
+ rawBlocks(): BlockContent[];
17
+ /** @private */
18
+ replaceRawBlocks(blocks: ReadonlyArray<BlockContent>): void;
19
+ /** @private */
20
+ assertAttachedParagraph(target: Paragraph): void;
21
+ /**
22
+ * @private
23
+ * Refresh body/section typed views after public or raw item mutations.
24
+ * Optional so test doubles need not implement it.
25
+ */
26
+ notifyBodyItemsChanged?(): void;
27
+ }
28
+ /**
29
+ * Managed mutable collection of public {@link BodyItem} instances for a body.
30
+ *
31
+ * Projects from the body's internal ordered store. Unsupported markup remains
32
+ * in the package but is not listed here. Index access uses own numeric
33
+ * properties (no `Proxy`); identity at a given index is stable across reads.
34
+ *
35
+ * @public
36
+ */
37
+ export declare class BodyItemCollection implements Iterable<BodyItem> {
38
+ private readonly host;
39
+ private cachedLength;
40
+ /** @private */
41
+ constructor(host: BodyItemCollectionHost);
42
+ /**
43
+ * Number of public body items (paragraphs, tables, block content controls).
44
+ */
45
+ readonly count: number;
46
+ /**
47
+ * Alias of {@link count} for array-like consumers (`toHaveLength`, `items.length`).
48
+ */
49
+ readonly length: number;
50
+ /**
51
+ * Append a body item after existing public children.
52
+ *
53
+ * @param item - Paragraph, table, or block content control instance.
54
+ * @returns The same `item` reference.
55
+ * @throws TypeError when `item` is not a supported body item.
56
+ * @throws DetachedObjectError when `item` is already owned.
57
+ */
58
+ add(item: BodyItem): BodyItem;
59
+ /**
60
+ * Insert a body item at a public-items index (`0…count` inclusive).
61
+ *
62
+ * @param index - Insert-before index; `count` appends.
63
+ * @param item - Paragraph, table, or block content control instance.
64
+ * @returns The same `item` reference.
65
+ * @throws RangeError when `index` is outside `0…count`.
66
+ * @throws TypeError when `item` is not a supported body item.
67
+ * @throws DetachedObjectError when `item` is already owned.
68
+ */
69
+ insert(index: number, item: BodyItem): BodyItem;
70
+ /**
71
+ * Remove a body item by instance identity.
72
+ *
73
+ * @param item - Item currently in this collection.
74
+ * @throws DetachedObjectError when `item` is not in this collection.
75
+ */
76
+ remove(item: BodyItem): void;
77
+ /**
78
+ * Remove the public body item at `index` (`0…count-1`).
79
+ *
80
+ * @throws RangeError when `index` is out of range.
81
+ */
82
+ removeAt(index: number): void;
83
+ /**
84
+ * Remove all body items (paragraphs, tables, block content controls) and
85
+ * detach/release owned content. Opaque unmodeled blocks are also cleared.
86
+ */
87
+ clear(): void;
88
+ /**
89
+ * Index of `item` in this collection, or `-1` when absent.
90
+ */
91
+ indexOf(item: BodyItem): number;
92
+ /**
93
+ * Snapshot of public body items in order.
94
+ */
95
+ toArray(): BodyItem[];
96
+ /**
97
+ * Invoke `fn` for each public body item.
98
+ */
99
+ forEach(fn: (item: BodyItem, index: number) => void): void;
100
+ /**
101
+ * True when at least one public body item satisfies `predicate`.
102
+ */
103
+ some(predicate: (item: BodyItem, index: number) => boolean): boolean;
104
+ /**
105
+ * Public body items that satisfy `predicate`.
106
+ */
107
+ filter(predicate: (item: BodyItem, index: number) => boolean): BodyItem[];
108
+ /**
109
+ * First public body item that satisfies `predicate`, or `undefined`.
110
+ */
111
+ find(predicate: (item: BodyItem, index: number) => boolean): BodyItem | undefined;
112
+ /**
113
+ * Map public body items with `fn`.
114
+ */
115
+ map<U>(fn: (item: BodyItem, index: number) => U): U[];
116
+ /**
117
+ * Iterate public body items in document order.
118
+ */
119
+ [Symbol.iterator](): Iterator<BodyItem>;
120
+ /**
121
+ * @private
122
+ * Refresh numeric index properties after any raw-store mutation outside
123
+ * this collection (load, feature internal hooks).
124
+ */
125
+ syncFromHost(): void;
126
+ /**
127
+ * @private
128
+ * Insert an internal block at a raw store index (features / load bridge).
129
+ */
130
+ insertRawBlockAt(index: number, block: BlockContent): void;
131
+ /**
132
+ * @private
133
+ */
134
+ removeRawBlockAt(index: number): void;
135
+ /**
136
+ * @private
137
+ */
138
+ appendRawBlock(block: BlockContent): void;
139
+ /**
140
+ * @private
141
+ */
142
+ indexOfRawBlock(block: BlockContent): number;
143
+ private project;
144
+ private rawIndexForPublicInsert;
145
+ private assertNotOwned;
146
+ private rebuildIndexProperties;
147
+ private notifyHostBodyItemsChanged;
148
+ }
149
+ export interface BodyItemCollection {
150
+ readonly [index: number]: BodyItem;
151
+ }