@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,428 @@
1
+ import { WordDocument } from '../document/document';
2
+ import { FeatureInline } from '../document/feature-inline';
3
+ import { FeatureRunLeaf } from '../document/feature-run-leaf';
4
+ import { Paragraph } from '../document/paragraph';
5
+ import { ParagraphItem, TextRange } from '../document/text-range';
6
+ import { OpenXmlElement } from '../../core/xml/index';
7
+ import { Field } from './paragraph-field';
8
+ export { Field, IfField, MergeField, FieldMark, FieldMarkType } from './paragraph-field';
9
+ import { Picture } from '../images/index';
10
+ /**
11
+ * Customer-facing Word field types (ECMA-376-1 §17.16 instruction keywords).
12
+ *
13
+ * Only PAGE, NUMPAGES, IF, MERGEFIELD, and HYPERLINK are public in this phase.
14
+ * Other instructions load as opaque content and are excluded from {@link fieldsInParagraph}.
15
+ *
16
+ * @public
17
+ */
18
+ export declare const FieldType: {
19
+ /** `PAGE` — current page number. */
20
+ Page: "PAGE";
21
+ /** `NUMPAGES` — total number of pages. */
22
+ NumPages: "NUMPAGES";
23
+ /** `IF` — conditional field. */
24
+ If: "IF";
25
+ /** `MERGEFIELD` — mail-merge field. */
26
+ MergeField: "MERGEFIELD";
27
+ /** `HYPERLINK` — hyperlink field. */
28
+ Hyperlink: "HYPERLINK";
29
+ };
30
+ /**
31
+ * One of the {@link FieldType} tokens.
32
+ *
33
+ * @public
34
+ */
35
+ export declare type FieldType = (typeof FieldType)[keyof typeof FieldType];
36
+ /**
37
+ * Hyperlink classification for field-based ({@link Hyperlink}) authoring.
38
+ *
39
+ * @public
40
+ */
41
+ export declare const HyperlinkType: {
42
+ WebLink: "WebLink";
43
+ EmailLink: "EmailLink";
44
+ FileLink: "FileLink";
45
+ Bookmark: "Bookmark";
46
+ };
47
+ /**
48
+ * One of the {@link HyperlinkType} tokens.
49
+ *
50
+ * @public
51
+ */
52
+ export declare type HyperlinkType = (typeof HyperlinkType)[keyof typeof HyperlinkType];
53
+ /**
54
+ * Field mark types on `w:fldChar/@w:fldCharType` (`ST_FldCharType`).
55
+ *
56
+ * @private
57
+ */
58
+ declare type FieldMarkType = 'begin' | 'separate' | 'end';
59
+ declare class SimpleFieldRunOwner {
60
+ private runs;
61
+ assertAttachedItem(target: ParagraphItem): void;
62
+ appendRun(): TextRange;
63
+ listRuns(): ReadonlyArray<TextRange>;
64
+ detachRuns(): void;
65
+ hydrateRuns(runs: TextRange[]): void;
66
+ }
67
+ declare type SimpleFieldInlineItem = {
68
+ readonly type: 'textRange';
69
+ readonly run: TextRange;
70
+ } | {
71
+ readonly type: 'opaque';
72
+ readonly xml: OpenXmlElement;
73
+ };
74
+ /**
75
+ * Simple field storage (`w:fldSimple`).
76
+ *
77
+ * @private
78
+ */
79
+ declare class SimpleField implements FeatureInline {
80
+ private readonly runOwner;
81
+ private readonly extras;
82
+ private readonly items;
83
+ private instructionValue;
84
+ readonly fldLock: boolean | undefined;
85
+ readonly dirty: boolean | undefined;
86
+ /**
87
+ * @private
88
+ */
89
+ constructor(runOwner: SimpleFieldRunOwner, extras: OpenXmlElement[], items: SimpleFieldInlineItem[], instruction: string, fldLock: boolean | undefined, dirty: boolean | undefined);
90
+ /**
91
+ * Field instruction (`w:fldSimple/@w:instr`).
92
+ * @private
93
+ */
94
+ readonly instruction: string;
95
+ /**
96
+ * @private
97
+ */
98
+ setInstruction(value: string): void;
99
+ /**
100
+ * Result text ranges inside the simple field.
101
+ * @private
102
+ */
103
+ readonly runs: ReadonlyArray<TextRange>;
104
+ /**
105
+ * @private
106
+ */
107
+ releaseContent(): void;
108
+ toOpenXml(): OpenXmlElement;
109
+ }
110
+ /**
111
+ * Complex field character marker (`w:fldChar`).
112
+ *
113
+ * Children such as `w:ffData` and `w:fldData` are retained and re-emitted
114
+ * unchanged. Typed form-field access is via {@link FormField}.
115
+ *
116
+ * @private
117
+ */
118
+ declare class FieldMark implements FeatureRunLeaf {
119
+ readonly fldCharType: FieldMarkType;
120
+ readonly fldLock: boolean | undefined;
121
+ readonly dirty: boolean | undefined;
122
+ private readonly extras;
123
+ /**
124
+ * @private
125
+ */
126
+ constructor(fldCharType: FieldMarkType, fldLock: boolean | undefined, dirty: boolean | undefined, extras: OpenXmlElement[]);
127
+ /**
128
+ * Unmodeled / pass-through children of `w:fldChar` (includes `w:ffData`).
129
+ *
130
+ * @private
131
+ */
132
+ childElements(): ReadonlyArray<OpenXmlElement>;
133
+ toOpenXml(): OpenXmlElement;
134
+ }
135
+ /**
136
+ * Field instruction text (`w:instrText`).
137
+ *
138
+ * @private
139
+ */
140
+ declare class InstrText implements FeatureRunLeaf {
141
+ private textValue;
142
+ readonly xmlSpacePreserve: boolean;
143
+ /**
144
+ * @private
145
+ */
146
+ constructor(text: string, xmlSpacePreserve: boolean);
147
+ /**
148
+ * Instruction text content.
149
+ * @private
150
+ */
151
+ readonly text: string;
152
+ /**
153
+ * @private
154
+ */
155
+ setText(value: string): void;
156
+ toOpenXml(): OpenXmlElement;
157
+ }
158
+ /**
159
+ * A complex field span within one paragraph (begin → instr → separate → result → end).
160
+ *
161
+ * Markers and instruction text are elevated {@link FeatureRunParagraphItem} values on the
162
+ * paragraph; result content is plain {@link TextRange} siblings between separate and end.
163
+ *
164
+ * @private
165
+ */
166
+ declare class ComplexField {
167
+ private instructionValue;
168
+ readonly resultRuns: ReadonlyArray<TextRange>;
169
+ private readonly markerValues;
170
+ private readonly instructionTexts;
171
+ /**
172
+ * @private
173
+ */
174
+ constructor(instruction: string, resultRuns: ReadonlyArray<TextRange>, markerValues: ReadonlyArray<FeatureRunLeaf>, instructionTexts?: ReadonlyArray<InstrText>);
175
+ /**
176
+ * Instruction snapshot / live value.
177
+ * @private
178
+ */
179
+ readonly instruction: string;
180
+ /**
181
+ * @private
182
+ */
183
+ setInstruction(value: string): void;
184
+ /**
185
+ * All feature-run marker/instr values plus result text ranges, used for removal.
186
+ * @private
187
+ */
188
+ allFeatureValues(): ReadonlyArray<FeatureRunLeaf>;
189
+ }
190
+ /**
191
+ * Kind of legacy form field hosted under begin `w:fldChar`/`w:ffData`.
192
+ *
193
+ * Values match the OOXML child local names for text and checkbox controls.
194
+ * Drop-down uses product name `'dropDown'` (XML child is `w:ddList` /
195
+ * Transitional `CT_FFDDList`).
196
+ *
197
+ * @public
198
+ */
199
+ export declare type FormFieldType = 'textInput' | 'checkBox' | 'dropDown';
200
+ /**
201
+ * Read-only view of a legacy Word form field (`w:ffData` on begin `w:fldChar`).
202
+ *
203
+ * Form fields are complex-field spans whose begin marker carries form-field
204
+ * data (ECMA-376-1 §17.16.17 `ffData`; Transitional `wml.xsd` `CT_FFData`).
205
+ * This helper does **not** implement `FeatureInline` / `FeatureRunLeaf` and is
206
+ * never serialized on its own — the begin `w:fldChar` re-emits the stored
207
+ * `w:ffData` element (no double-emit). Internal field markers and complex-field
208
+ * spans are not part of the public surface.
209
+ *
210
+ * Kind-specific members apply only when {@link type} matches; otherwise they
211
+ * are `undefined` / empty. Mutation of `ffData` is out of scope for this MVP.
212
+ *
213
+ * @public
214
+ */
215
+ export declare class FormField {
216
+ private readonly data;
217
+ private readonly kindValue;
218
+ /**
219
+ * @private
220
+ */
221
+ constructor(_beginMark: FieldMark, data: OpenXmlElement, kind: FormFieldType, _complex: ComplexField | undefined);
222
+ /**
223
+ * Control kind derived from the exclusive `w:textInput` / `w:checkBox` /
224
+ * `w:ddList` child under `w:ffData`.
225
+ */
226
+ readonly type: FormFieldType;
227
+ /** `w:ffData/w:name/@w:val` (`ST_FFName`). */
228
+ readonly name: string | undefined;
229
+ /**
230
+ * `w:ffData/w:enabled` (`CT_OnOff`). Absent means enabled in Word UI; this
231
+ * surface returns `undefined` when the element is missing, `true`/`false`
232
+ * when present (including empty `w:enabled` = true).
233
+ */
234
+ readonly enabled: boolean | undefined;
235
+ /** `w:ffData/w:tabIndex/@w:val` (`CT_UnsignedDecimalNumber`). */
236
+ readonly tabIndex: number | undefined;
237
+ /** `w:ffData/w:helpText/@w:val` (type attribute is preserved on the element). */
238
+ readonly helpText: string | undefined;
239
+ /** `w:ffData/w:statusText/@w:val`. */
240
+ readonly statusText: string | undefined;
241
+ /** `w:textInput/w:maxLength/@w:val` (`CT_DecimalNumber`; 0 = unlimited). */
242
+ readonly maxLength: number | undefined;
243
+ /** `w:textInput/w:format/@w:val`. */
244
+ readonly format: string | undefined;
245
+ /** `w:textInput/w:default/@w:val`. */
246
+ readonly defaultText: string | undefined;
247
+ /** `w:checkBox/w:checked` (`CT_OnOff`) — current checked state. */
248
+ readonly checked: boolean | undefined;
249
+ /** `w:checkBox/w:default` (`CT_OnOff`) — default checked state. */
250
+ readonly defaultChecked: boolean | undefined;
251
+ /**
252
+ * `w:ddList/w:listEntry/@w:val` entries in document order.
253
+ * Empty when kind is not drop-down or no entries are present.
254
+ */
255
+ readonly entries: ReadonlyArray<string>;
256
+ /**
257
+ * `w:ddList/w:result/@w:val` — zero-based selected index when present.
258
+ */
259
+ readonly selected: number | undefined;
260
+ /**
261
+ * Entry text at {@link selected}, or `undefined` if index is missing or
262
+ * out of range.
263
+ */
264
+ readonly selectedEntry: string | undefined;
265
+ }
266
+ /**
267
+ * Customer-facing Word field (PAGE / NUMPAGES base; subclasses for IF / MERGEFIELD).
268
+ *
269
+ * Wraps either a simple field (`w:fldSimple`) or a complex field span
270
+ * (`w:fldChar` / `w:instrText`). Does **not** recalculate Word field results.
271
+ *
272
+ * @public
273
+ */
274
+ export declare class LegacyField {
275
+ private readonly kind;
276
+ private readonly simple;
277
+ private readonly complex;
278
+ private readonly host;
279
+ private readonly lockedType;
280
+ /**
281
+ * @private
282
+ */
283
+ constructor(kind: 'simple' | 'complex', simple: SimpleField | undefined, complex: ComplexField | undefined, host: Paragraph | undefined, lockedType: FieldType);
284
+ /**
285
+ * Full field instruction / field code (for example ` PAGE `, ` MERGEFIELD Name `).
286
+ *
287
+ * The instruction keyword must remain this field’s {@link fieldType}.
288
+ */
289
+ fieldCode: string;
290
+ /**
291
+ * Supported field type for this instance (fixed at construction).
292
+ */
293
+ readonly fieldType: FieldType;
294
+ /**
295
+ * Cached field-result text (read-only). Prefer {@link text} to mutate display text.
296
+ */
297
+ readonly fieldValue: string;
298
+ /**
299
+ * Cached visible field-result text.
300
+ */
301
+ text: string;
302
+ /**
303
+ * Character formatting of the first result {@link TextRange}.
304
+ */
305
+ readonly characterFormat: import('../document/character-format').CharacterFormat;
306
+ private readResultText;
307
+ private writeResultText;
308
+ private resultRuns;
309
+ private firstResultRun;
310
+ }
311
+ /**
312
+ * Conditional `IF` field. Expression lives entirely in {@link Field.fieldCode}.
313
+ *
314
+ * @public
315
+ */
316
+ export declare class LegacyIfField extends LegacyField {
317
+ }
318
+ /**
319
+ * Mail-merge `MERGEFIELD` with typed switch accessors.
320
+ *
321
+ * @public
322
+ */
323
+ export declare class LegacyMergeField extends LegacyField {
324
+ fieldName: string;
325
+ textBefore: string;
326
+ textAfter: string;
327
+ readonly dateFormat: string;
328
+ readonly numberFormat: string;
329
+ readonly prefix: string;
330
+ }
331
+ /**
332
+ * Hyperlink facade over either a HYPERLINK field or a picture DrawingML link.
333
+ *
334
+ * Distinct from the `w:hyperlink` inline model in `features/hyperlinks`.
335
+ * The all-in entry exports this type as {@link Hyperlink}; the inline
336
+ * relationship hyperlink is available from `@syncfusion/ej2-docx/hyperlinks`.
337
+ *
338
+ * @public
339
+ */
340
+ export declare class Hyperlink {
341
+ private readonly fieldValue;
342
+ private readonly pictureValue;
343
+ private pictureTypeValue;
344
+ private pictureUriValue;
345
+ /**
346
+ * @private
347
+ */
348
+ constructor(field: Field | LegacyField);
349
+ /**
350
+ * @private
351
+ */
352
+ constructor(picture: Picture, uri: string, type: HyperlinkType);
353
+ /**
354
+ * Underlying field when this hyperlink is field-backed.
355
+ */
356
+ readonly field: Field | LegacyField | undefined;
357
+ /**
358
+ * Field type when field-backed (used by structure tests).
359
+ */
360
+ readonly fieldType: FieldType | undefined;
361
+ bookmarkName: string;
362
+ filePath: string;
363
+ localReference: string;
364
+ pictureToDisplay: Picture | undefined;
365
+ textToDisplay: string;
366
+ type: HyperlinkType;
367
+ uri: string;
368
+ }
369
+ /**
370
+ * @private
371
+ * Test hook */
372
+ export declare function resetFieldsFeatureForTests(): void;
373
+ /**
374
+ * @private
375
+ * Register field inline and run-leaf handlers. Idempotent. */
376
+ export declare function registerFieldsFeature(): void;
377
+ /**
378
+ * Legacy form fields in a paragraph, in document order.
379
+ *
380
+ * A form field is detected whenever a begin {@link FieldMark} hosts `w:ffData`
381
+ * with a typed control child (`textInput` / `checkBox` / `ddList`). Detection
382
+ * does **not** require a complete complex-field pair (separate + result + end),
383
+ * so incomplete markers still surface as {@link FormField} views.
384
+ *
385
+ * @private
386
+ */
387
+ export declare function formFieldsInParagraph(paragraph: Paragraph): ReadonlyArray<FormField>;
388
+ /**
389
+ * Fields in a paragraph, in document order.
390
+ *
391
+ * Simple fields (`w:fldSimple`) and complex field spans (`w:fldChar` /
392
+ * `w:instrText`) are interleaved by paragraph content order. Cached results are
393
+ * not recalculated.
394
+ *
395
+ * @private
396
+ */
397
+ export declare function fieldsInParagraph(paragraph: Paragraph): ReadonlyArray<Field | LegacyField>;
398
+ /**
399
+ * Fields across the document, in document order.
400
+ *
401
+ * Walks paragraphs via {@link visitParagraphsInDocumentOrder} (main body and
402
+ * nested paragraph hosts the registry visitor covers). Does not recalculate
403
+ * field results.
404
+ *
405
+ * @private
406
+ */
407
+ export declare function fieldsInDocument(document: WordDocument): ReadonlyArray<Field | LegacyField>;
408
+ /**
409
+ * Append an opaque complex field (any instruction, including SEQ for captions).
410
+ * Not part of the public customer Field API.
411
+ *
412
+ * @private
413
+ */
414
+ export declare function appendOpaqueComplexField(paragraph: Paragraph, instruction: string, options: {
415
+ result: string;
416
+ }): LegacyField;
417
+ /**
418
+ * Opaque complex-field instructions in a paragraph (any keyword, including SEQ).
419
+ *
420
+ * @private
421
+ */
422
+ export declare function opaqueComplexFieldInstructionsInParagraph(paragraph: Paragraph): ReadonlyArray<string>;
423
+ /**
424
+ * First instruction keyword (e.g. SEQ, PAGE) for opaque complex fields.
425
+ *
426
+ * @private
427
+ */
428
+ export declare function fieldInstructionKeyword(instruction: string): string;