@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,113 @@
1
+ import { Paragraph } from '../document/paragraph';
2
+ import { WordDocument } from '../document/document';
3
+ /**
4
+ * Host for {@link TableRowCollection}.
5
+ *
6
+ * @private
7
+ */
8
+ export interface TableRowCollectionHost<TRow> {
9
+ listRows(): TRow[];
10
+ replaceRows(rows: TRow[]): void;
11
+ createEmptyRow(): TRow;
12
+ bindRow(row: TRow): void;
13
+ /** Minimum rows required after mutation (usually 1). */
14
+ minRowCount(): number;
15
+ }
16
+ /**
17
+ * Host for {@link TableCellCollection}.
18
+ *
19
+ * @private
20
+ */
21
+ export interface TableCellCollectionHost<TCell, TTable = unknown> {
22
+ listCells(): TCell[];
23
+ replaceCells(cells: TCell[]): void;
24
+ createEmptyCell(): TCell;
25
+ bindCell(cell: TCell): void;
26
+ minCellCount(): number;
27
+ /** Nullable owner probe — must not throw when detached. */
28
+ getOwnerTableOrUndefined(): TTable | undefined;
29
+ }
30
+ /**
31
+ * Mutable collection of table rows.
32
+ *
33
+ * @public
34
+ */
35
+ export declare class TableRowCollection<TRow = unknown> {
36
+ private readonly host;
37
+ /** Tracks last published index span for cleanup (length getter is live). */
38
+ private indexedCount;
39
+ /**
40
+ * @private
41
+ */
42
+ constructor(host: TableRowCollectionHost<TRow>);
43
+ readonly count: number;
44
+ readonly length: number;
45
+ /**
46
+ * @private
47
+ */
48
+ syncFromHost(): void;
49
+ add(): TRow;
50
+ insert(index: number): TRow;
51
+ remove(row: TRow): void;
52
+ removeAt(index: number): void;
53
+ get(index: number): TRow;
54
+ indexOf(row: TRow): number;
55
+ toArray(): TRow[];
56
+ forEach(fn: (row: TRow, index: number) => void): void;
57
+ private rebuildIndexProperties;
58
+ }
59
+ /**
60
+ * Numeric indexer for {@link TableRowCollection} (IntelliSense / `rows[i]`).
61
+ *
62
+ * @public
63
+ */
64
+ export interface TableRowCollection<TRow = unknown> {
65
+ readonly [index: number]: TRow;
66
+ [Symbol.iterator](): IterableIterator<TRow>;
67
+ }
68
+ /**
69
+ * Mutable collection of table cells in a row.
70
+ *
71
+ * @public
72
+ */
73
+ export declare class TableCellCollection<TCell = unknown> {
74
+ private readonly host;
75
+ /** Tracks last published index span for cleanup (length getter is live). */
76
+ private indexedCount;
77
+ /**
78
+ * @private
79
+ */
80
+ constructor(host: TableCellCollectionHost<TCell>);
81
+ readonly count: number;
82
+ readonly length: number;
83
+ /**
84
+ * @private
85
+ */
86
+ syncFromHost(): void;
87
+ add(): TCell;
88
+ insert(index: number): TCell;
89
+ remove(cell: TCell): void;
90
+ removeAt(index: number): void;
91
+ get(index: number): TCell;
92
+ indexOf(cell: TCell): number;
93
+ toArray(): TCell[];
94
+ forEach(fn: (cell: TCell, index: number) => void): void;
95
+ private rebuildIndexProperties;
96
+ }
97
+ /**
98
+ * Numeric indexer for {@link TableCellCollection} (IntelliSense / `cells[i]`).
99
+ *
100
+ * @public
101
+ */
102
+ export interface TableCellCollection<TCell = unknown> {
103
+ readonly [index: number]: TCell;
104
+ [Symbol.iterator](): IterableIterator<TCell>;
105
+ }
106
+ /**
107
+ * @private
108
+ * Create a cell with a single empty paragraph (construction helper).
109
+ */
110
+ export declare function createEmptyParagraphCellFactory<TCell>(CellCtor: new (document: WordDocument | undefined, blocks: ReadonlyArray<{
111
+ type: 'paragraph';
112
+ paragraph: Paragraph;
113
+ }>) => TCell): TCell;
@@ -0,0 +1,261 @@
1
+ /**
2
+ * Table row and cell collections (DocIO-aligned customer surface).
3
+ *
4
+ * @public
5
+ */
6
+ import { DetachedObjectError } from '../../core/errors/docx-error';
7
+ import { Paragraph } from '../document/paragraph';
8
+ /**
9
+ * Mutable collection of table rows.
10
+ *
11
+ * @public
12
+ */
13
+ var TableRowCollection = /** @class */ (function () {
14
+ /**
15
+ * @private
16
+ */
17
+ function TableRowCollection(host) {
18
+ this.host = host;
19
+ this.indexedCount = 0;
20
+ this.rebuildIndexProperties();
21
+ }
22
+ Object.defineProperty(TableRowCollection.prototype, "count", {
23
+ get: function () {
24
+ return this.host.listRows().length;
25
+ },
26
+ enumerable: true,
27
+ configurable: true
28
+ });
29
+ Object.defineProperty(TableRowCollection.prototype, "length", {
30
+ get: function () {
31
+ return this.count;
32
+ },
33
+ enumerable: true,
34
+ configurable: true
35
+ });
36
+ /**
37
+ * @private
38
+ */
39
+ TableRowCollection.prototype.syncFromHost = function () {
40
+ this.rebuildIndexProperties();
41
+ };
42
+ TableRowCollection.prototype.add = function () {
43
+ return this.insert(this.count);
44
+ };
45
+ TableRowCollection.prototype.insert = function (index) {
46
+ var rows = this.host.listRows().slice();
47
+ if (index < 0 || index > rows.length) {
48
+ throw new RangeError('Row index ' + String(index) + ' is out of range');
49
+ }
50
+ var row = this.host.createEmptyRow();
51
+ rows.splice(index, 0, row);
52
+ this.host.replaceRows(rows);
53
+ this.host.bindRow(row);
54
+ this.rebuildIndexProperties();
55
+ return row;
56
+ };
57
+ TableRowCollection.prototype.remove = function (row) {
58
+ var rows = this.host.listRows();
59
+ var at = rows.indexOf(row);
60
+ if (at === -1) {
61
+ throw new DetachedObjectError('This row is no longer in its table');
62
+ }
63
+ this.removeAt(at);
64
+ };
65
+ TableRowCollection.prototype.removeAt = function (index) {
66
+ var rows = this.host.listRows().slice();
67
+ if (index < 0 || index >= rows.length) {
68
+ throw new RangeError('Row index ' + String(index) + ' is out of range');
69
+ }
70
+ if (rows.length <= this.host.minRowCount()) {
71
+ throw new DetachedObjectError('A table must retain at least one row');
72
+ }
73
+ rows.splice(index, 1);
74
+ this.host.replaceRows(rows);
75
+ this.rebuildIndexProperties();
76
+ };
77
+ TableRowCollection.prototype.get = function (index) {
78
+ var rows = this.host.listRows();
79
+ if (index < 0 || index >= rows.length) {
80
+ throw new RangeError('Row index ' + String(index) + ' is out of range');
81
+ }
82
+ return rows[index];
83
+ };
84
+ TableRowCollection.prototype.indexOf = function (row) {
85
+ return this.host.listRows().indexOf(row);
86
+ };
87
+ TableRowCollection.prototype.toArray = function () {
88
+ return this.host.listRows().slice();
89
+ };
90
+ TableRowCollection.prototype.forEach = function (fn) {
91
+ var rows = this.host.listRows();
92
+ for (var i = 0; i < rows.length; i += 1) {
93
+ fn(rows[i], i);
94
+ }
95
+ };
96
+ /** Enables `for (const row of table.rows)`. */
97
+ TableRowCollection.prototype[Symbol.iterator] = function () {
98
+ return this.host.listRows().slice()[Symbol.iterator]();
99
+ };
100
+ TableRowCollection.prototype.rebuildIndexProperties = function () {
101
+ var self = this;
102
+ var host = this.host;
103
+ var rows = host.listRows();
104
+ var nextCount = rows.length;
105
+ var clearThrough = this.indexedCount > nextCount ? this.indexedCount : nextCount;
106
+ for (var i = 0; i < clearThrough + 8; i += 1) {
107
+ if (Object.prototype.hasOwnProperty.call(self, i)) {
108
+ delete self[i];
109
+ }
110
+ }
111
+ for (var i = 0; i < nextCount; i += 1) {
112
+ Object.defineProperty(self, i, {
113
+ get: (function (index) {
114
+ return function () {
115
+ var live = host.listRows();
116
+ if (index < 0 || index >= live.length) {
117
+ return undefined;
118
+ }
119
+ return live[index];
120
+ };
121
+ })(i),
122
+ enumerable: true,
123
+ configurable: true,
124
+ });
125
+ }
126
+ this.indexedCount = nextCount;
127
+ };
128
+ return TableRowCollection;
129
+ }());
130
+ export { TableRowCollection };
131
+ /**
132
+ * Mutable collection of table cells in a row.
133
+ *
134
+ * @public
135
+ */
136
+ var TableCellCollection = /** @class */ (function () {
137
+ /**
138
+ * @private
139
+ */
140
+ function TableCellCollection(host) {
141
+ this.host = host;
142
+ this.indexedCount = 0;
143
+ this.rebuildIndexProperties();
144
+ }
145
+ Object.defineProperty(TableCellCollection.prototype, "count", {
146
+ get: function () {
147
+ return this.host.listCells().length;
148
+ },
149
+ enumerable: true,
150
+ configurable: true
151
+ });
152
+ Object.defineProperty(TableCellCollection.prototype, "length", {
153
+ get: function () {
154
+ return this.count;
155
+ },
156
+ enumerable: true,
157
+ configurable: true
158
+ });
159
+ /**
160
+ * @private
161
+ */
162
+ TableCellCollection.prototype.syncFromHost = function () {
163
+ this.rebuildIndexProperties();
164
+ };
165
+ TableCellCollection.prototype.add = function () {
166
+ return this.insert(this.count);
167
+ };
168
+ TableCellCollection.prototype.insert = function (index) {
169
+ var cells = this.host.listCells().slice();
170
+ if (index < 0 || index > cells.length) {
171
+ throw new RangeError('Cell index ' + String(index) + ' is out of range');
172
+ }
173
+ var cell = this.host.createEmptyCell();
174
+ cells.splice(index, 0, cell);
175
+ this.host.replaceCells(cells);
176
+ this.host.bindCell(cell);
177
+ this.rebuildIndexProperties();
178
+ return cell;
179
+ };
180
+ TableCellCollection.prototype.remove = function (cell) {
181
+ var cells = this.host.listCells();
182
+ var at = cells.indexOf(cell);
183
+ if (at === -1) {
184
+ throw new DetachedObjectError('This cell is no longer in its row');
185
+ }
186
+ this.removeAt(at);
187
+ };
188
+ TableCellCollection.prototype.removeAt = function (index) {
189
+ var cells = this.host.listCells().slice();
190
+ if (index < 0 || index >= cells.length) {
191
+ throw new RangeError('Cell index ' + String(index) + ' is out of range');
192
+ }
193
+ if (cells.length <= this.host.minCellCount()) {
194
+ throw new DetachedObjectError('A table row must retain at least one cell');
195
+ }
196
+ cells.splice(index, 1);
197
+ this.host.replaceCells(cells);
198
+ this.rebuildIndexProperties();
199
+ };
200
+ TableCellCollection.prototype.get = function (index) {
201
+ var cells = this.host.listCells();
202
+ if (index < 0 || index >= cells.length) {
203
+ throw new RangeError('Cell index ' + String(index) + ' is out of range');
204
+ }
205
+ return cells[index];
206
+ };
207
+ TableCellCollection.prototype.indexOf = function (cell) {
208
+ return this.host.listCells().indexOf(cell);
209
+ };
210
+ TableCellCollection.prototype.toArray = function () {
211
+ return this.host.listCells().slice();
212
+ };
213
+ TableCellCollection.prototype.forEach = function (fn) {
214
+ var cells = this.host.listCells();
215
+ for (var i = 0; i < cells.length; i += 1) {
216
+ fn(cells[i], i);
217
+ }
218
+ };
219
+ /** Enables `for (const cell of row.cells)`. */
220
+ TableCellCollection.prototype[Symbol.iterator] = function () {
221
+ return this.host.listCells().slice()[Symbol.iterator]();
222
+ };
223
+ TableCellCollection.prototype.rebuildIndexProperties = function () {
224
+ var self = this;
225
+ var host = this.host;
226
+ var cells = host.listCells();
227
+ var nextCount = cells.length;
228
+ var clearThrough = this.indexedCount > nextCount ? this.indexedCount : nextCount;
229
+ for (var i = 0; i < clearThrough + 8; i += 1) {
230
+ if (Object.prototype.hasOwnProperty.call(self, i)) {
231
+ delete self[i];
232
+ }
233
+ }
234
+ for (var i = 0; i < nextCount; i += 1) {
235
+ Object.defineProperty(self, i, {
236
+ get: (function (index) {
237
+ return function () {
238
+ var live = host.listCells();
239
+ if (index < 0 || index >= live.length) {
240
+ return undefined;
241
+ }
242
+ return live[index];
243
+ };
244
+ })(i),
245
+ enumerable: true,
246
+ configurable: true,
247
+ });
248
+ }
249
+ this.indexedCount = nextCount;
250
+ };
251
+ return TableCellCollection;
252
+ }());
253
+ export { TableCellCollection };
254
+ /**
255
+ * @private
256
+ * Create a cell with a single empty paragraph (construction helper).
257
+ */
258
+ export function createEmptyParagraphCellFactory(CellCtor) {
259
+ var paragraph = new Paragraph(undefined);
260
+ return new CellCtor(undefined, [{ type: 'paragraph', paragraph: paragraph }]);
261
+ }
@@ -0,0 +1,208 @@
1
+ /**
2
+ * Table / row / cell format facades and positioning (DocIO-aligned).
3
+ *
4
+ * @public
5
+ */
6
+ import { Borders } from './borders';
7
+ import { Paddings } from './paddings';
8
+ import { TableAlignment, TableLayout, TableWidth } from './tbl-pr';
9
+ import { TableCellTextDirection, TableCellVerticalAlignment } from './tc-pr';
10
+ import { OpenXmlElement } from '../../core/xml/index';
11
+ import { Color } from '../document/color';
12
+ /**
13
+ * Horizontal merge / vertical merge token (`ST_Merge` mapping).
14
+ *
15
+ * @public
16
+ */
17
+ export declare const CellMerge: {
18
+ None: "none";
19
+ Start: "start";
20
+ Continue: "continue";
21
+ };
22
+ /** One of the {@link CellMerge} tokens. */
23
+ export declare type CellMerge = (typeof CellMerge)[keyof typeof CellMerge];
24
+ /**
25
+ * Horizontal origin for floating table position (`w:tblpPr/@w:horzAnchor`).
26
+ *
27
+ * @public
28
+ */
29
+ export declare const TableHorizontalOrigin: {
30
+ Margin: "margin";
31
+ Page: "page";
32
+ Column: "column";
33
+ };
34
+ /** One of the {@link TableHorizontalOrigin} tokens. */
35
+ export declare type TableHorizontalOrigin = (typeof TableHorizontalOrigin)[keyof typeof TableHorizontalOrigin];
36
+ /**
37
+ * Vertical origin for floating table position (`w:tblpPr/@w:vertAnchor`).
38
+ *
39
+ * @public
40
+ */
41
+ export declare const TableVerticalOrigin: {
42
+ Margin: "margin";
43
+ Page: "page";
44
+ Paragraph: "paragraph";
45
+ };
46
+ /** One of the {@link TableVerticalOrigin} tokens. */
47
+ export declare type TableVerticalOrigin = (typeof TableVerticalOrigin)[keyof typeof TableVerticalOrigin];
48
+ /**
49
+ * @private
50
+ */
51
+ export interface TableFormatHost {
52
+ readTblPr(): OpenXmlElement;
53
+ writeTblPr(next: OpenXmlElement): void;
54
+ /**
55
+ * DocIO paints `tableFormat.backColor` onto each cell's `w:tcPr/w:shd`
56
+ * so Word shows the fill even when table-level shading alone is insufficient.
57
+ * Optional so style-only hosts need not implement cell walks.
58
+ */
59
+ applyTableBackColorToCells?(fill: string | undefined): void;
60
+ }
61
+ /**
62
+ * @private
63
+ */
64
+ export interface RowFormatHost {
65
+ readTrPr(): OpenXmlElement | undefined;
66
+ writeTrPr(next: OpenXmlElement | undefined): void;
67
+ }
68
+ /**
69
+ * @private
70
+ */
71
+ export interface CellFormatHost {
72
+ readTcPr(): OpenXmlElement | undefined;
73
+ writeTcPr(next: OpenXmlElement | undefined): void;
74
+ }
75
+ /**
76
+ * Floating table position (`w:tblpPr`).
77
+ *
78
+ * @public
79
+ */
80
+ export declare class TablePositioning {
81
+ private readonly host;
82
+ /**
83
+ * @private
84
+ */
85
+ constructor(host: TableFormatHost);
86
+ private readBag;
87
+ private writeBag;
88
+ horizontalPosition: number;
89
+ verticalPosition: number;
90
+ horizontalOrigin: TableHorizontalOrigin;
91
+ verticalOrigin: TableVerticalOrigin;
92
+ distanceFromTop: number;
93
+ distanceFromBottom: number;
94
+ distanceFromLeft: number;
95
+ distanceFromRight: number;
96
+ }
97
+ /**
98
+ * Table-level formatting surface.
99
+ *
100
+ * @public
101
+ */
102
+ export declare class TableFormat {
103
+ private readonly host;
104
+ private readonly bordersInstance;
105
+ private readonly paddingsInstance;
106
+ private readonly positioningInstance;
107
+ /**
108
+ * @private
109
+ */
110
+ constructor(host: TableFormatHost);
111
+ readonly borders: Borders;
112
+ readonly paddings: Paddings;
113
+ readonly positioning: TablePositioning;
114
+ horizontalAlignment: TableAlignment;
115
+ cellSpacing: number;
116
+ /**
117
+ * Table background fill (`w:tblPr/w:shd/@w:fill`).
118
+ *
119
+ * - **Get (runtime)**: OOXML wire string — hex `RRGGBB`, `'auto'`, or `undefined` when unset.
120
+ * - **Set**: hex string / `'auto'` (optional leading `#`), a {@link Color} enum value, or
121
+ * `undefined` to clear the authored fill. {@link Color.Transparent} clears fill
122
+ * (does not invent `w:fill="auto"`).
123
+ *
124
+ * TypeScript 3.3 requires identical get/set types, so the declared type is
125
+ * `string | Color | undefined`; the getter always returns a string when set.
126
+ */
127
+ backColor: string | Color | undefined;
128
+ /**
129
+ * When `true`, text may wrap around a floating table (`w:tblpPr` present).
130
+ * When `false`, the table is inline (no `w:tblpPr`).
131
+ */
132
+ wrapAround: boolean;
133
+ /**
134
+ * Inverse of fixed layout: `true` when layout is autoFit (default).
135
+ */
136
+ isAutoResized: boolean;
137
+ /**
138
+ * @private
139
+ * Preferred width bag used by AutoFit / width helpers.
140
+ */
141
+ preferredWidth: TableWidth | undefined;
142
+ /**
143
+ * @private
144
+ */
145
+ layout: TableLayout;
146
+ }
147
+ /**
148
+ * Row-level formatting surface.
149
+ *
150
+ * @public
151
+ */
152
+ export declare class RowFormat {
153
+ private readonly host;
154
+ /**
155
+ * @private
156
+ */
157
+ constructor(host: RowFormatHost);
158
+ /**
159
+ * When `true`, the row may break across pages (Word default).
160
+ * Maps inversely to `w:cantSplit`.
161
+ */
162
+ isBreakAcrossPages: boolean;
163
+ /**
164
+ * Row background fill (`w:trPr/w:shd/@w:fill`).
165
+ *
166
+ * - **Get (runtime)**: OOXML wire string — hex `RRGGBB`, `'auto'`, or `undefined` when unset.
167
+ * - **Set**: hex string / `'auto'` (optional leading `#`), a {@link Color} enum value, or
168
+ * `undefined` to clear the authored fill. {@link Color.Transparent} clears fill
169
+ * (does not invent `w:fill="auto"`).
170
+ */
171
+ backColor: string | Color | undefined;
172
+ }
173
+ /**
174
+ * Cell-level formatting surface.
175
+ *
176
+ * @public
177
+ */
178
+ export declare class CellFormat {
179
+ private readonly host;
180
+ private readonly bordersInstance;
181
+ private readonly paddingsInstance;
182
+ /**
183
+ * @private
184
+ */
185
+ constructor(host: CellFormatHost);
186
+ /**
187
+ * Cell background fill (`w:tcPr/w:shd/@w:fill`).
188
+ *
189
+ * - **Get (runtime)**: OOXML wire string — hex `RRGGBB`, `'auto'`, or `undefined` when unset.
190
+ * - **Set**: hex string / `'auto'` (optional leading `#`), a {@link Color} enum value, or
191
+ * `undefined` to clear the authored fill. {@link Color.Transparent} clears fill
192
+ * (does not invent `w:fill="auto"`).
193
+ */
194
+ backColor: string | Color | undefined;
195
+ readonly borders: Borders;
196
+ readonly paddings: Paddings;
197
+ verticalAlignment: TableCellVerticalAlignment;
198
+ textDirection: TableCellTextDirection;
199
+ /**
200
+ * When `true`, cell text wraps (default). Maps inversely to `w:noWrap`.
201
+ */
202
+ wrapText: boolean;
203
+ fitText: boolean;
204
+ columnSpan: number;
205
+ horizontalMerge: CellMerge;
206
+ verticalMerge: CellMerge;
207
+ samePaddingsAsTable: boolean;
208
+ }