@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,597 @@
1
+ export * from './border-style-map';
2
+ export * from './borders';
3
+ export * from './collections';
4
+ export * from './format';
5
+ export * from './paddings';
6
+ export * from './tbl-pr-positioning';
7
+ export * from './tbl-pr';
8
+ export * from './tc-pr';
9
+ export * from './tr-pr';
10
+ import { WordDocument, Body } from '../document/document';
11
+ import { FeatureBlock } from '../document/feature-block';
12
+ import { BlockContent } from '../document/paragraph';
13
+ import { BodyItem } from '../document/body-item';
14
+ import { OpenXmlElement } from '../../core/xml/index';
15
+ import { CnfStyle, NormalizedCnfStyle, TableLayout, TableLook, TableWidth } from './tbl-pr';
16
+ import { BuiltinTableStyle, TableStyle } from '../styles/index';
17
+ import { VerticalMerge } from './tc-pr';
18
+ import { CellFormat, CellFormatHost, RowFormat, RowFormatHost, TableFormat, TableFormatHost } from './format';
19
+ import { TableCellCollection, TableCellCollectionHost, TableRowCollection, TableRowCollectionHost } from './collections';
20
+ /**
21
+ * Alias for {@link TableRowHeightRule} (DocIO `RowHeightType` naming).
22
+ *
23
+ * @public
24
+ */
25
+ export declare type TableRowHeightType = import('./tbl-pr').TableRowHeightRule;
26
+ /**
27
+ * AutoFit modes for {@link Table.autoFit}, matching DocIO `AutoFitType`.
28
+ *
29
+ * - {@link AutoFitType.FitToContent}: auto layout; clear fixed preferred widths.
30
+ * - {@link AutoFitType.FitToWindow}: auto layout; table 100% width; cell % widths.
31
+ * - {@link AutoFitType.FixedColumnWidth}: fixed layout; cell DXA widths from grid.
32
+ *
33
+ * @public
34
+ */
35
+ export declare const AutoFitType: {
36
+ FitToContent: "fitToContent";
37
+ FitToWindow: "fitToWindow";
38
+ FixedColumnWidth: "fixedColumnWidth";
39
+ };
40
+ /** One of the {@link AutoFitType} tokens. */
41
+ export declare type AutoFitType = (typeof AutoFitType)[keyof typeof AutoFitType];
42
+ /**
43
+ * @private
44
+ */
45
+ export interface MergeRegion {
46
+ readonly fromRow: number;
47
+ readonly fromColumn: number;
48
+ readonly toRow: number;
49
+ readonly toColumn: number;
50
+ readonly origin: TableCell;
51
+ readonly continuations: ReadonlyArray<TableCell>;
52
+ }
53
+ /**
54
+ * @private
55
+ */
56
+ export interface MergeCellsRange {
57
+ readonly fromRow: number;
58
+ readonly fromColumn: number;
59
+ readonly toRow: number;
60
+ readonly toColumn: number;
61
+ }
62
+ declare const TABLES: import("../../core/registry").FeatureId;
63
+ /**
64
+ * A table — ordered grid of rows and cells with table-level formatting.
65
+ *
66
+ * Create with {@link Body.appendTable} then size via {@link Table.resetCells}.
67
+ *
68
+ * @public
69
+ */
70
+ export declare class Table implements FeatureBlock, TableRowCollectionHost<TableRow>, TableFormatHost {
71
+ private readonly prefixMarkup;
72
+ private tblPr;
73
+ private tblGrid;
74
+ private tableRows;
75
+ private documentOwner;
76
+ private readonly rowsInstance;
77
+ private readonly tableFormatInstance;
78
+ private conditionalFormattingDirty;
79
+ /**
80
+ * @private
81
+ */
82
+ constructor(prefixMarkup: OpenXmlElement[], tblPr: OpenXmlElement, tblGrid: OpenXmlElement, rows: TableRow[]);
83
+ /** Rows collection (DocIO-aligned). */
84
+ readonly rows: TableRowCollection<TableRow>;
85
+ /**
86
+ * @private
87
+ */
88
+ listRows(): TableRow[];
89
+ /**
90
+ * @private
91
+ */
92
+ replaceRows(rows: TableRow[]): void;
93
+ /**
94
+ * @private
95
+ */
96
+ createEmptyRow(): TableRow;
97
+ /**
98
+ * @private
99
+ */
100
+ bindRow(row: TableRow): void;
101
+ /**
102
+ * @private
103
+ */
104
+ minRowCount(): number;
105
+ /**
106
+ * @private
107
+ */
108
+ readTblPr(): OpenXmlElement;
109
+ /**
110
+ * @private
111
+ */
112
+ writeTblPr(next: OpenXmlElement): void;
113
+ /**
114
+ * DocIO parity: copy table back fill onto every cell as direct `w:tcPr/w:shd`
115
+ * (`val="clear"` `color="auto"` `fill=<wire>`). Clearing table backColor
116
+ * removes cell fills that still match the previous painted fill so independent
117
+ * cell colors are left alone when possible.
118
+ *
119
+ * @private
120
+ */
121
+ applyTableBackColorToCells(fill: string | undefined): void;
122
+ /** Table-level format facade. */
123
+ readonly tableFormat: TableFormat;
124
+ /**
125
+ * Accessibility title (`w:tblCaption`). Formerly `caption`.
126
+ */
127
+ title: string | undefined;
128
+ description: string | undefined;
129
+ /**
130
+ * Left indent in points (`w:tblInd`). Formerly `indent`.
131
+ */
132
+ indentFromLeft: number | undefined;
133
+ /**
134
+ * Effective table width in points from the sum of grid column widths
135
+ * (`w:tblGrid`). When a fixed DXA preferred width is set, that value is
136
+ * written on the setter; the getter always reports the grid sum.
137
+ */
138
+ width: number;
139
+ /**
140
+ * @private
141
+ */
142
+ preferredWidth: TableWidth | undefined;
143
+ /**
144
+ * @private
145
+ */
146
+ layout: TableLayout;
147
+ /**
148
+ * @private
149
+ */
150
+ look: TableLook | undefined;
151
+ /**
152
+ * Rows per table-style horizontal band (`w:tblStyleRowBandSize/@w:val`).
153
+ *
154
+ * Absent on the wire reads as `undefined` (Word default band height is 1).
155
+ * Setting `undefined` removes the element. Non-finite values throw
156
+ * `RangeError`. Does not recompute conditional formatting masks.
157
+ *
158
+ * @public
159
+ */
160
+ rowBandSize: number | undefined;
161
+ /**
162
+ * Columns per table-style vertical band (`w:tblStyleColBandSize/@w:val`).
163
+ *
164
+ * Absent on the wire reads as `undefined` (Word default band width is 1).
165
+ * Setting `undefined` removes the element. Non-finite values throw
166
+ * `RangeError`. Does not recompute conditional formatting masks.
167
+ *
168
+ * @public
169
+ */
170
+ columnBandSize: number | undefined;
171
+ /**
172
+ * Canonical table style id (`w:tblStyle/@w:val`), when assigned.
173
+ *
174
+ * @public
175
+ */
176
+ styleId: string | undefined;
177
+ /**
178
+ * Style id of the applied table style (`w:tblStyle/@w:val`).
179
+ * Matches the id written by {@link Table.applyStyle} / authoring defaults
180
+ * (e.g. `TableGrid`, `LightShading`). Absent style → `undefined`.
181
+ *
182
+ * @public
183
+ */
184
+ readonly styleName: string | undefined;
185
+ /**
186
+ * Apply a built-in, custom, or named table style to this table.
187
+ *
188
+ * Resolves the style through the document styles collection, materializing
189
+ * built-in definitions when needed, and writes `w:tblPr/w:tblStyle`.
190
+ * Does not change table-look application options.
191
+ *
192
+ * @param style Built-in id, live {@link TableStyle}, or style id / name string.
193
+ * @throws DetachedObjectError when the table is not bound to a document.
194
+ * @public
195
+ */
196
+ applyStyle(style: string | TableStyle | BuiltinTableStyle): void;
197
+ /**
198
+ * Whether the assigned table style applies first-row conditional formatting.
199
+ * Maps to `w:tblLook/@w:firstRow`. Absent look → `false`.
200
+ *
201
+ * @public
202
+ */
203
+ applyStyleForFirstRow: boolean;
204
+ /**
205
+ * Whether the assigned table style applies last-row conditional formatting.
206
+ * Maps to `w:tblLook/@w:lastRow`. Absent look → `false`.
207
+ *
208
+ * @public
209
+ */
210
+ applyStyleForLastRow: boolean;
211
+ /**
212
+ * Whether the assigned table style applies first-column conditional formatting.
213
+ * Maps to `w:tblLook/@w:firstColumn`. Absent look → `false`.
214
+ *
215
+ * @public
216
+ */
217
+ applyStyleForFirstColumn: boolean;
218
+ /**
219
+ * Whether the assigned table style applies last-column conditional formatting.
220
+ * Maps to `w:tblLook/@w:lastColumn`. Absent look → `false`.
221
+ *
222
+ * @public
223
+ */
224
+ applyStyleForLastColumn: boolean;
225
+ /**
226
+ * Whether the assigned table style applies horizontal band formatting to
227
+ * alternating table rows. Maps inversely to `w:tblLook/@w:noHBand`.
228
+ * Absent look → `true`.
229
+ *
230
+ * @public
231
+ */
232
+ applyStyleForBandedRows: boolean;
233
+ /**
234
+ * Whether the assigned table style applies vertical band formatting to
235
+ * alternating table columns. Maps inversely to `w:tblLook/@w:noVBand`.
236
+ * Absent look → `true`.
237
+ *
238
+ * @public
239
+ */
240
+ applyStyleForBandedColumns: boolean;
241
+ /**
242
+ * Merge one or more `w:tblLook` flags without clearing unrelated flags.
243
+ *
244
+ * @private
245
+ */
246
+ private mergeTableLook;
247
+ /**
248
+ * Marks row and cell conditional style membership for recalculation.
249
+ * Paragraph `w:pPr/w:cnfStyle` is not authored on dirty paths (DocIO parity).
250
+ *
251
+ * @private
252
+ */
253
+ markConditionalFormattingDirty(): void;
254
+ /**
255
+ * Recalculate conditional table-style membership masks on rows and cells
256
+ * (`w:trPr` / `w:tcPr`). Does not write `w:pPr/w:cnfStyle` — DocIO emits
257
+ * membership on row/cell only; paragraph cnf is cleared when styles are
258
+ * removed or when a dirty recompute runs so authored output stays clean.
259
+ * Nested tables own their own cascade.
260
+ *
261
+ * @private
262
+ */
263
+ updateConditionalFormatting(): void;
264
+ /**
265
+ * Owning document when bound.
266
+ *
267
+ * @private
268
+ */
269
+ readonly owner: WordDocument | undefined;
270
+ /**
271
+ * Rebuild the table to `rowCount` × `columnCount` empty cells.
272
+ *
273
+ * Authoring path: empty cells (no auto paragraph), fixed layout, equal
274
+ * client-width columns, and `TableGrid` when document-bound.
275
+ */
276
+ resetCells(rowCount: number, columnCount: number): void;
277
+ autoFit(autoFitType: AutoFitType): void;
278
+ /**
279
+ * Append an empty row with the current column count.
280
+ * Prefer {@link Table.rows}.add for new code.
281
+ */
282
+ appendRow(): TableRow;
283
+ /**
284
+ * Insert an empty row at `index` (0 … rows.length inclusive).
285
+ * Prefer {@link Table.rows}.insert for new code.
286
+ */
287
+ insertRow(index: number): TableRow;
288
+ /**
289
+ * Remove a row that currently belongs to this table.
290
+ * Prefer {@link Table.rows}.remove for new code.
291
+ */
292
+ removeRow(row: TableRow): void;
293
+ /**
294
+ * Merge contiguous structural cells in one row (inclusive cell indexes).
295
+ */
296
+ applyHorizontalMerge(rowIndex: number, startCellIndex: number, endCellIndex: number): void;
297
+ /**
298
+ * Vertical merge along one grid column across inclusive row indexes.
299
+ */
300
+ applyVerticalMerge(columnIndex: number, startRowIndex: number, endRowIndex: number): void;
301
+ /**
302
+ * @private
303
+ */
304
+ mergeCells(range: MergeCellsRange): TableCell;
305
+ /**
306
+ * @private
307
+ */
308
+ splitCell(cell: TableCell): ReadonlyArray<TableCell>;
309
+ /**
310
+ * @private
311
+ */
312
+ getMergeRegion(cell: TableCell): MergeRegion | undefined;
313
+ private moveCellContentInto;
314
+ private ensureAtLeastOneParagraph;
315
+ private createBoundEmptyCell;
316
+ /**
317
+ * Re-paint every cell from current `w:tblPr/w:shd` fill (DocIO parity).
318
+ * No-op when table shading has no fill.
319
+ *
320
+ * @private
321
+ */
322
+ reapplyTableBackColorToCells(): void;
323
+ /**
324
+ * Copy table-level back fill onto one newly created cell.
325
+ *
326
+ * @private
327
+ */
328
+ paintTableBackColorOntoCell(cell: TableCell): void;
329
+ /**
330
+ * @private
331
+ */
332
+ bindDocument(document: WordDocument): void;
333
+ /**
334
+ * @private
335
+ */
336
+ toOpenXml(): OpenXmlElement;
337
+ private columnCount;
338
+ private gridColumnWidthsTwips;
339
+ private cellWidthFromGridTwips;
340
+ private applyFitToContent;
341
+ private applyFitToWindow;
342
+ private applyFixedColumnWidth;
343
+ private buildEmptyRow;
344
+ private buildEmptyRowWithColumns;
345
+ /**
346
+ * @private
347
+ * Effective cell width in points from the table grid (and cell span).
348
+ */
349
+ effectiveCellWidthPoints(cell: TableCell): number;
350
+ }
351
+ /**
352
+ * One row of a table — ordered cells with row-level formatting.
353
+ *
354
+ * @public
355
+ */
356
+ export declare class TableRow implements TableCellCollectionHost<TableCell, Table>, RowFormatHost {
357
+ private readonly rowExtras;
358
+ private trPr;
359
+ private tableCells;
360
+ private boundDocument;
361
+ private ownerTableRef;
362
+ private readonly cellsInstance;
363
+ private readonly rowFormatInstance;
364
+ /**
365
+ * @private
366
+ */
367
+ constructor(extras: OpenXmlElement[], trPr: OpenXmlElement | undefined, cells: TableCell[], ownerTable?: Table);
368
+ /**
369
+ * @private
370
+ */
371
+ setOwnerTable(table: Table | undefined): void;
372
+ /** Cells collection (DocIO-aligned). */
373
+ readonly cells: TableCellCollection<TableCell>;
374
+ /**
375
+ * @private
376
+ */
377
+ listCells(): TableCell[];
378
+ /**
379
+ * @private
380
+ * Replace structural cells in this row (merge/split internal).
381
+ */
382
+ replaceCells(cells: TableCell[]): void;
383
+ /**
384
+ * @private
385
+ */
386
+ createEmptyCell(): TableCell;
387
+ /**
388
+ * @private
389
+ */
390
+ bindCell(cell: TableCell): void;
391
+ /**
392
+ * @private
393
+ */
394
+ minCellCount(): number;
395
+ /**
396
+ * @private
397
+ * Host probe for {@link TableCellCollection} (nullable; does not throw).
398
+ */
399
+ getOwnerTableOrUndefined(): Table | undefined;
400
+ /**
401
+ * @private
402
+ */
403
+ readTrPr(): OpenXmlElement | undefined;
404
+ /**
405
+ * @private
406
+ */
407
+ writeTrPr(next: OpenXmlElement | undefined): void;
408
+ /** Row-level format facade. */
409
+ readonly rowFormat: RowFormat;
410
+ /**
411
+ * Owning table. Throws {@link DetachedObjectError} when the row is detached.
412
+ */
413
+ readonly ownerTable: Table;
414
+ /**
415
+ * Row height in points (`w:trHeight/@w:val` twips on the wire).
416
+ * `0` when unset (auto height to content).
417
+ */
418
+ height: number;
419
+ /**
420
+ * How Word treats {@link TableRow.height} (`w:trHeight/@w:hRule`).
421
+ * Defaults to `'auto'` when unset.
422
+ */
423
+ heightType: TableRowHeightType;
424
+ /**
425
+ * When `true`, the row repeats at the top of every page the table spans
426
+ * (a repeating header row). Defaults to `false`.
427
+ */
428
+ isHeader: boolean;
429
+ /**
430
+ * @private
431
+ * Records the owning document so appended cells bind to it.
432
+ */
433
+ bindDocument(document: WordDocument): void;
434
+ /**
435
+ * @private
436
+ * Serializes the row back to its `w:tr` element.
437
+ */
438
+ /**
439
+ * Conditional table-style membership on `w:trPr/w:cnfStyle`.
440
+ *
441
+ * @public
442
+ */
443
+ getConditionalFormatting(): CnfStyle | undefined;
444
+ /**
445
+ * Write or clear row conditional formatting membership.
446
+ *
447
+ * @param state Normalized flags, or `undefined` to remove.
448
+ * @public
449
+ */
450
+ setConditionalFormatting(state: NormalizedCnfStyle | CnfStyle | undefined): void;
451
+ toOpenXml(): OpenXmlElement;
452
+ }
453
+ /**
454
+ * One cell of a table — a body container for paragraphs and nested tables,
455
+ * with cell-level settings such as width and formatting.
456
+ *
457
+ * Nested tables: call {@link Body.appendTable} on the cell, then
458
+ * {@link Table.resetCells} for size.
459
+ *
460
+ * @public
461
+ */
462
+ export declare class TableCell extends Body implements CellFormatHost {
463
+ private tcPrValue;
464
+ private readonly cellFormatInstance;
465
+ private ownerRowRef;
466
+ /**
467
+ * Marks this body as a table-cell owner for {@link Paragraph.isInCell}.
468
+ *
469
+ * @private
470
+ */
471
+ readonly bodyOwnerKind: 'tableCell';
472
+ /**
473
+ * @private
474
+ */
475
+ constructor(document: WordDocument | undefined, blocks: ReadonlyArray<BlockContent>);
476
+ /**
477
+ * @private
478
+ */
479
+ setOwnerRow(row: TableRow | undefined): void;
480
+ /**
481
+ * @private
482
+ * Apply `w:tcPr` after parse (constructor only takes body blocks).
483
+ */
484
+ applyTcPr(tcPr: OpenXmlElement | undefined): void;
485
+ /**
486
+ * @private
487
+ */
488
+ readTcPr(): OpenXmlElement | undefined;
489
+ /**
490
+ * @private
491
+ */
492
+ writeTcPr(next: OpenXmlElement | undefined): void;
493
+ /** Cell-level format facade. */
494
+ readonly cellFormat: CellFormat;
495
+ /**
496
+ * Number of grid columns this cell spans (`w:tcPr/w:gridSpan`).
497
+ *
498
+ * @private
499
+ * Merge plumbing writes this value; public surface is
500
+ * {@link CellFormat.columnSpan}.
501
+ */
502
+ gridSpan: number | undefined;
503
+ /**
504
+ * Vertical merge wire state (`w:tcPr/w:vMerge`): `'restart'` | `'continue'`.
505
+ *
506
+ * @private
507
+ * Merge algorithm uses this; public surface is
508
+ * {@link CellFormat.verticalMerge} ({@link CellMerge}).
509
+ */
510
+ verticalMerge: VerticalMerge | undefined;
511
+ /**
512
+ * Outer width of the cell as authored (`w:tcPr/w:tcW`).
513
+ *
514
+ * @private
515
+ */
516
+ preferredWidth: TableWidth | undefined;
517
+ /**
518
+ * Preferred / effective cell width in points (1/72 inch).
519
+ *
520
+ * Fixed DXA `w:tcW` wins when present; otherwise the value is derived from
521
+ * the parent table grid. Never returns `undefined`.
522
+ */
523
+ width: number;
524
+ /**
525
+ * Plain text of the cell, concatenated across all paragraphs.
526
+ */
527
+ text: string;
528
+ /**
529
+ * Nested tables contained in this cell body (feature blocks).
530
+ * Prefer {@link TableCell.appendTable} to create nested tables.
531
+ */
532
+ readonly nestedTables: ReadonlyArray<Table>;
533
+ /**
534
+ * @private
535
+ * Binds the cell (and nested tables) to a document on attachment.
536
+ */
537
+ bindDocument(document: WordDocument): void;
538
+ /**
539
+ * @private
540
+ * Re-attach nested table ownership after construction / content moves.
541
+ */
542
+ private reattachNestedTables;
543
+ /**
544
+ * @private
545
+ * Serializes the cell back to its `w:tc` element.
546
+ */
547
+ /**
548
+ * Conditional table-style membership on `w:tcPr/w:cnfStyle`.
549
+ *
550
+ * @public
551
+ */
552
+ getConditionalFormatting(): CnfStyle | undefined;
553
+ /**
554
+ * Write or clear cell conditional formatting membership.
555
+ *
556
+ * @param state Normalized flags, or `undefined` to remove.
557
+ * @public
558
+ */
559
+ setConditionalFormatting(state: NormalizedCnfStyle | CnfStyle | undefined): void;
560
+ toOpenXml(): OpenXmlElement;
561
+ }
562
+ /**
563
+ * Create an empty table with empty cells (no auto-injected paragraphs).
564
+ * Authoring defaults (style/layout/equal widths) are applied by appendTable/resetCells.
565
+ *
566
+ * @private
567
+ */
568
+ export declare function createTable(rowCount: number, columnCount: number): Table;
569
+ /**
570
+ * @private
571
+ * Test hook
572
+ */
573
+ export declare function resetTablesFeatureForTests(): void;
574
+ /**
575
+ * @private
576
+ * Register the tables feature block handler. Idempotent.
577
+ */
578
+ export declare function registerTablesFeature(): void;
579
+ /**
580
+ * Feature id constant for the tables module (used by host features that embed
581
+ * table blocks, e.g. text box bodies in the drawing module).
582
+ *
583
+ * @private
584
+ */
585
+ export declare const TABLES_FEATURE_ID: import("../../core/registry").FeatureId;
586
+ /**
587
+ * Type guard for a tables feature block on a {@link BodyItem} list.
588
+ *
589
+ * @private
590
+ */
591
+ export declare function isTableBlock(block: BodyItem | BlockContent | unknown): block is {
592
+ readonly type: 'feature';
593
+ readonly featureId: typeof TABLES;
594
+ readonly value: Table;
595
+ };
596
+ /** True when `value` is a public Table body item instance. */
597
+ export declare function isTableBodyItem(value: unknown): value is Table;