@syncfusion/ej2-docx 0.0.0-stage → 35.1.39

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 (416) hide show
  1. package/README.md +68 -2
  2. package/core.js +4 -0
  3. package/dist/ej2-docx.umd.min.js +2 -0
  4. package/dist/ej2-docx.umd.min.js.map +1 -0
  5. package/dist/es6/ej2-docx.es2015.js +66697 -0
  6. package/dist/es6/ej2-docx.es2015.js.map +1 -0
  7. package/dist/es6/ej2-docx.es5.js +77568 -0
  8. package/dist/es6/ej2-docx.es5.js.map +1 -0
  9. package/dist/global/ej2-docx.min.js +2 -0
  10. package/dist/global/ej2-docx.min.js.map +1 -0
  11. package/dist/global/index.d.ts +5 -0
  12. package/features.js +4 -0
  13. package/index.js +4 -0
  14. package/license +10 -0
  15. package/package.json +31 -4
  16. package/src/all.d.ts +50 -0
  17. package/src/all.js +147 -0
  18. package/src/core/compat/base64.d.ts +13 -0
  19. package/src/core/compat/base64.js +90 -0
  20. package/src/core/compat/object-compat.d.ts +30 -0
  21. package/src/core/compat/object-compat.js +40 -0
  22. package/src/core/compat/sha256.d.ts +9 -0
  23. package/src/core/compat/sha256.js +98 -0
  24. package/src/core/errors/docx-error.d.ts +89 -0
  25. package/src/core/errors/docx-error.js +138 -0
  26. package/src/core/errors/error-codes.d.ts +8 -0
  27. package/src/core/errors/error-codes.js +0 -0
  28. package/src/core/errors/index.d.ts +10 -0
  29. package/src/core/errors/index.js +9 -0
  30. package/src/core/index.d.ts +12 -0
  31. package/src/core/index.js +12 -0
  32. package/src/core/mc/alternate-content.d.ts +7 -0
  33. package/src/core/mc/alternate-content.js +67 -0
  34. package/src/core/mc/attributes.d.ts +24 -0
  35. package/src/core/mc/attributes.js +82 -0
  36. package/src/core/mc/index.d.ts +7 -0
  37. package/src/core/mc/index.js +5 -0
  38. package/src/core/mc/inspect.d.ts +16 -0
  39. package/src/core/mc/inspect.js +148 -0
  40. package/src/core/mc/namespaces.d.ts +4 -0
  41. package/src/core/mc/namespaces.js +4 -0
  42. package/src/core/mc/scope.d.ts +6 -0
  43. package/src/core/mc/scope.js +47 -0
  44. package/src/core/opc/content-types.d.ts +34 -0
  45. package/src/core/opc/content-types.js +162 -0
  46. package/src/core/opc/index.d.ts +8 -0
  47. package/src/core/opc/index.js +4 -0
  48. package/src/core/opc/package.d.ts +49 -0
  49. package/src/core/opc/package.js +324 -0
  50. package/src/core/opc/part-name.d.ts +47 -0
  51. package/src/core/opc/part-name.js +205 -0
  52. package/src/core/opc/relationships.d.ts +46 -0
  53. package/src/core/opc/relationships.js +212 -0
  54. package/src/core/preservation/index.d.ts +2 -0
  55. package/src/core/preservation/index.js +1 -0
  56. package/src/core/preservation/opaque-body.d.ts +16 -0
  57. package/src/core/preservation/opaque-body.js +69 -0
  58. package/src/core/registry/block-handlers.d.ts +30 -0
  59. package/src/core/registry/block-handlers.js +36 -0
  60. package/src/core/registry/create-defaults.d.ts +39 -0
  61. package/src/core/registry/create-defaults.js +42 -0
  62. package/src/core/registry/feature-registry.d.ts +20 -0
  63. package/src/core/registry/feature-registry.js +29 -0
  64. package/src/core/registry/index.d.ts +9 -0
  65. package/src/core/registry/index.js +8 -0
  66. package/src/core/registry/inline-handlers.d.ts +20 -0
  67. package/src/core/registry/inline-handlers.js +30 -0
  68. package/src/core/registry/materialize-handlers.d.ts +35 -0
  69. package/src/core/registry/materialize-handlers.js +75 -0
  70. package/src/core/registry/multi-part-handlers.d.ts +37 -0
  71. package/src/core/registry/multi-part-handlers.js +206 -0
  72. package/src/core/registry/package-part-handlers.d.ts +28 -0
  73. package/src/core/registry/package-part-handlers.js +190 -0
  74. package/src/core/registry/part-handlers.d.ts +24 -0
  75. package/src/core/registry/part-handlers.js +172 -0
  76. package/src/core/registry/run-leaf-handlers.d.ts +26 -0
  77. package/src/core/registry/run-leaf-handlers.js +72 -0
  78. package/src/core/security/limits.d.ts +40 -0
  79. package/src/core/security/limits.js +26 -0
  80. package/src/core/xml/index.d.ts +7 -0
  81. package/src/core/xml/index.js +3 -0
  82. package/src/core/xml/model.d.ts +66 -0
  83. package/src/core/xml/model.js +17 -0
  84. package/src/core/xml/parse.d.ts +12 -0
  85. package/src/core/xml/parse.js +382 -0
  86. package/src/core/xml/serialize.d.ts +6 -0
  87. package/src/core/xml/serialize.js +93 -0
  88. package/src/core/zip/crc32.d.ts +2 -0
  89. package/src/core/zip/crc32.js +25 -0
  90. package/src/core/zip/deflate.d.ts +6 -0
  91. package/src/core/zip/deflate.js +6 -0
  92. package/src/core/zip/index.d.ts +10 -0
  93. package/src/core/zip/index.js +4 -0
  94. package/src/core/zip/inflate-raw.d.ts +17 -0
  95. package/src/core/zip/inflate-raw.js +450 -0
  96. package/src/core/zip/names.d.ts +6 -0
  97. package/src/core/zip/names.js +52 -0
  98. package/src/core/zip/read.d.ts +8 -0
  99. package/src/core/zip/read.js +262 -0
  100. package/src/core/zip/write.d.ts +7 -0
  101. package/src/core/zip/write.js +189 -0
  102. package/src/core/zip/zip-entry.d.ts +4 -0
  103. package/src/core/zip/zip-entry.js +0 -0
  104. package/src/features/bibliography/index.d.ts +100 -0
  105. package/src/features/bibliography/index.js +290 -0
  106. package/src/features/bookmarks/index.d.ts +331 -0
  107. package/src/features/bookmarks/index.js +1009 -0
  108. package/src/features/comments/comment-extensions.d.ts +157 -0
  109. package/src/features/comments/comment-extensions.js +356 -0
  110. package/src/features/comments/index.d.ts +579 -0
  111. package/src/features/comments/index.js +1727 -0
  112. package/src/features/content-controls/index.d.ts +821 -0
  113. package/src/features/content-controls/index.js +2857 -0
  114. package/src/features/custom-xml/index.d.ts +236 -0
  115. package/src/features/custom-xml/index.js +661 -0
  116. package/src/features/document/alignment.d.ts +23 -0
  117. package/src/features/document/alignment.js +36 -0
  118. package/src/features/document/alt-chunk.d.ts +103 -0
  119. package/src/features/document/alt-chunk.js +221 -0
  120. package/src/features/document/assert-never.d.ts +1 -0
  121. package/src/features/document/assert-never.js +4 -0
  122. package/src/features/document/augmentations.d.ts +578 -0
  123. package/src/features/document/augmentations.js +0 -0
  124. package/src/features/document/body-always-on.d.ts +36 -0
  125. package/src/features/document/body-always-on.js +66 -0
  126. package/src/features/document/body-blocks.d.ts +7 -0
  127. package/src/features/document/body-blocks.js +78 -0
  128. package/src/features/document/body-item-adapters.d.ts +62 -0
  129. package/src/features/document/body-item-adapters.js +97 -0
  130. package/src/features/document/body-item-collection.d.ts +151 -0
  131. package/src/features/document/body-item-collection.js +440 -0
  132. package/src/features/document/body-item.d.ts +35 -0
  133. package/src/features/document/body-item.js +8 -0
  134. package/src/features/document/body.d.ts +150 -0
  135. package/src/features/document/body.js +263 -0
  136. package/src/features/document/character-format.d.ts +413 -0
  137. package/src/features/document/character-format.js +2054 -0
  138. package/src/features/document/color.d.ts +178 -0
  139. package/src/features/document/color.js +495 -0
  140. package/src/features/document/document.d.ts +410 -0
  141. package/src/features/document/document.js +1049 -0
  142. package/src/features/document/element-type.d.ts +68 -0
  143. package/src/features/document/element-type.js +133 -0
  144. package/src/features/document/entity-type.d.ts +92 -0
  145. package/src/features/document/entity-type.js +93 -0
  146. package/src/features/document/feature-block.d.ts +16 -0
  147. package/src/features/document/feature-block.js +0 -0
  148. package/src/features/document/feature-inline.d.ts +13 -0
  149. package/src/features/document/feature-inline.js +0 -0
  150. package/src/features/document/feature-multi-package-part.d.ts +19 -0
  151. package/src/features/document/feature-multi-package-part.js +8 -0
  152. package/src/features/document/feature-package-level-part.d.ts +18 -0
  153. package/src/features/document/feature-package-level-part.js +8 -0
  154. package/src/features/document/feature-package-part.d.ts +14 -0
  155. package/src/features/document/feature-package-part.js +0 -0
  156. package/src/features/document/feature-run-leaf.d.ts +9 -0
  157. package/src/features/document/feature-run-leaf.js +0 -0
  158. package/src/features/document/headers-footers.d.ts +206 -0
  159. package/src/features/document/headers-footers.js +384 -0
  160. package/src/features/document/index.d.ts +41 -0
  161. package/src/features/document/index.js +34 -0
  162. package/src/features/document/length.d.ts +152 -0
  163. package/src/features/document/length.js +245 -0
  164. package/src/features/document/load-options.d.ts +14 -0
  165. package/src/features/document/load-options.js +0 -0
  166. package/src/features/document/locale-ids.d.ts +227 -0
  167. package/src/features/document/locale-ids.js +485 -0
  168. package/src/features/document/on-off.d.ts +9 -0
  169. package/src/features/document/on-off.js +27 -0
  170. package/src/features/document/page-setup.d.ts +339 -0
  171. package/src/features/document/page-setup.js +244 -0
  172. package/src/features/document/paragraph-format.d.ts +880 -0
  173. package/src/features/document/paragraph-format.js +2807 -0
  174. package/src/features/document/paragraph-item-collection.d.ts +162 -0
  175. package/src/features/document/paragraph-item-collection.js +363 -0
  176. package/src/features/document/paragraph-item.d.ts +83 -0
  177. package/src/features/document/paragraph-item.js +103 -0
  178. package/src/features/document/paragraph.d.ts +435 -0
  179. package/src/features/document/paragraph.js +888 -0
  180. package/src/features/document/run.d.ts +1 -0
  181. package/src/features/document/run.js +768 -0
  182. package/src/features/document/section-partition-flatten.d.ts +124 -0
  183. package/src/features/document/section-partition-flatten.js +217 -0
  184. package/src/features/document/section-properties-model.d.ts +13 -0
  185. package/src/features/document/section-properties-model.js +0 -0
  186. package/src/features/document/section.d.ts +93 -0
  187. package/src/features/document/section.js +178 -0
  188. package/src/features/document/sections.d.ts +103 -0
  189. package/src/features/document/sections.js +217 -0
  190. package/src/features/document/sub-super-script.d.ts +23 -0
  191. package/src/features/document/sub-super-script.js +43 -0
  192. package/src/features/document/text-range.d.ts +445 -0
  193. package/src/features/document/text-range.js +1156 -0
  194. package/src/features/document/typed-body-collections.d.ts +162 -0
  195. package/src/features/document/typed-body-collections.js +371 -0
  196. package/src/features/document/underline-style.d.ts +38 -0
  197. package/src/features/document/underline-style.js +126 -0
  198. package/src/features/document/units.d.ts +8 -0
  199. package/src/features/document/units.js +7 -0
  200. package/src/features/document/wml.d.ts +16 -0
  201. package/src/features/document/wml.js +67 -0
  202. package/src/features/drawing/authoring.d.ts +27 -0
  203. package/src/features/drawing/authoring.js +271 -0
  204. package/src/features/drawing/body-pr.d.ts +271 -0
  205. package/src/features/drawing/body-pr.js +663 -0
  206. package/src/features/drawing/drawing-shape.d.ts +1192 -0
  207. package/src/features/drawing/drawing-shape.js +3239 -0
  208. package/src/features/drawing/encode-builders.d.ts +176 -0
  209. package/src/features/drawing/encode-builders.js +390 -0
  210. package/src/features/drawing/fill-format.d.ts +52 -0
  211. package/src/features/drawing/fill-format.js +124 -0
  212. package/src/features/drawing/host-codec.d.ts +632 -0
  213. package/src/features/drawing/host-codec.js +2595 -0
  214. package/src/features/drawing/index.d.ts +13 -0
  215. package/src/features/drawing/index.js +33 -0
  216. package/src/features/drawing/line-format.d.ts +76 -0
  217. package/src/features/drawing/line-format.js +343 -0
  218. package/src/features/drawing/parse-register.d.ts +50 -0
  219. package/src/features/drawing/parse-register.js +257 -0
  220. package/src/features/drawing/residual-utils.d.ts +47 -0
  221. package/src/features/drawing/residual-utils.js +290 -0
  222. package/src/features/drawing/shape-types.d.ts +433 -0
  223. package/src/features/drawing/shape-types.js +437 -0
  224. package/src/features/drawing/sp-pr.d.ts +396 -0
  225. package/src/features/drawing/sp-pr.js +610 -0
  226. package/src/features/drawing/text-frame.d.ts +90 -0
  227. package/src/features/drawing/text-frame.js +152 -0
  228. package/src/features/drawing/types.d.ts +352 -0
  229. package/src/features/drawing/types.js +60 -0
  230. package/src/features/drawing/wrap-format.d.ts +62 -0
  231. package/src/features/drawing/wrap-format.js +114 -0
  232. package/src/features/editable-ranges/index.d.ts +494 -0
  233. package/src/features/editable-ranges/index.js +1348 -0
  234. package/src/features/fields/index.d.ts +428 -0
  235. package/src/features/fields/index.js +2148 -0
  236. package/src/features/fields/paragraph-field.d.ts +187 -0
  237. package/src/features/fields/paragraph-field.js +692 -0
  238. package/src/features/font-table/font-substitution-table.d.ts +75 -0
  239. package/src/features/font-table/font-substitution-table.js +257 -0
  240. package/src/features/font-table/font-table-entry.d.ts +255 -0
  241. package/src/features/font-table/font-table-entry.js +823 -0
  242. package/src/features/font-table/font-table.d.ts +128 -0
  243. package/src/features/font-table/font-table.js +313 -0
  244. package/src/features/font-table/index.d.ts +27 -0
  245. package/src/features/font-table/index.js +48 -0
  246. package/src/features/glossary/index.d.ts +97 -0
  247. package/src/features/glossary/index.js +286 -0
  248. package/src/features/headers-footers/index.d.ts +506 -0
  249. package/src/features/headers-footers/index.js +1666 -0
  250. package/src/features/hyperlinks/index.d.ts +230 -0
  251. package/src/features/hyperlinks/index.js +685 -0
  252. package/src/features/images/caption-authoring-api.d.ts +33 -0
  253. package/src/features/images/caption-authoring-api.js +33 -0
  254. package/src/features/images/caption-enums.d.ts +52 -0
  255. package/src/features/images/caption-enums.js +141 -0
  256. package/src/features/images/caption-host.d.ts +10 -0
  257. package/src/features/images/caption-host.js +21 -0
  258. package/src/features/images/captions.d.ts +13 -0
  259. package/src/features/images/captions.js +142 -0
  260. package/src/features/images/host-codec.d.ts +103 -0
  261. package/src/features/images/host-codec.js +720 -0
  262. package/src/features/images/image-sniff.d.ts +21 -0
  263. package/src/features/images/image-sniff.js +71 -0
  264. package/src/features/images/index.d.ts +506 -0
  265. package/src/features/images/index.js +1429 -0
  266. package/src/features/images/layout-types.d.ts +232 -0
  267. package/src/features/images/layout-types.js +294 -0
  268. package/src/features/images/public-entry.d.ts +9 -0
  269. package/src/features/images/public-entry.js +9 -0
  270. package/src/features/index.d.ts +35 -0
  271. package/src/features/index.js +36 -0
  272. package/src/features/mail-merge/index.d.ts +113 -0
  273. package/src/features/mail-merge/index.js +315 -0
  274. package/src/features/notes/index.d.ts +573 -0
  275. package/src/features/notes/index.js +1725 -0
  276. package/src/features/numbering/abstract-numbering.d.ts +90 -0
  277. package/src/features/numbering/abstract-numbering.js +292 -0
  278. package/src/features/numbering/index.d.ts +182 -0
  279. package/src/features/numbering/index.js +668 -0
  280. package/src/features/numbering/list-format.d.ts +158 -0
  281. package/src/features/numbering/list-format.js +590 -0
  282. package/src/features/numbering/list-string.d.ts +7 -0
  283. package/src/features/numbering/list-string.js +423 -0
  284. package/src/features/numbering/list-style.d.ts +204 -0
  285. package/src/features/numbering/list-style.js +1084 -0
  286. package/src/features/numbering/numbering-instance.d.ts +101 -0
  287. package/src/features/numbering/numbering-instance.js +329 -0
  288. package/src/features/numbering/numbering-level.d.ts +118 -0
  289. package/src/features/numbering/numbering-level.js +501 -0
  290. package/src/features/numbering/picture-bullet.d.ts +34 -0
  291. package/src/features/numbering/picture-bullet.js +88 -0
  292. package/src/features/ole-object/catalog.d.ts +300 -0
  293. package/src/features/ole-object/catalog.js +908 -0
  294. package/src/features/ole-object/index.d.ts +526 -0
  295. package/src/features/ole-object/index.js +1421 -0
  296. package/src/features/ole-object/relationship.d.ts +27 -0
  297. package/src/features/ole-object/relationship.js +27 -0
  298. package/src/features/ole-object/typed-dom.d.ts +186 -0
  299. package/src/features/ole-object/typed-dom.js +595 -0
  300. package/src/features/properties/index.d.ts +205 -0
  301. package/src/features/properties/index.js +549 -0
  302. package/src/features/revisions/index.d.ts +204 -0
  303. package/src/features/revisions/index.js +695 -0
  304. package/src/features/sections/column-collection.d.ts +119 -0
  305. package/src/features/sections/column-collection.js +478 -0
  306. package/src/features/sections/column.d.ts +15 -0
  307. package/src/features/sections/column.js +37 -0
  308. package/src/features/sections/index.d.ts +91 -0
  309. package/src/features/sections/index.js +1096 -0
  310. package/src/features/sections/margins.d.ts +40 -0
  311. package/src/features/sections/margins.js +105 -0
  312. package/src/features/sections/page-number-style.d.ts +21 -0
  313. package/src/features/sections/page-number-style.js +62 -0
  314. package/src/features/sections/page-orientation.d.ts +10 -0
  315. package/src/features/sections/page-orientation.js +10 -0
  316. package/src/features/sections/page-setup.d.ts +435 -0
  317. package/src/features/sections/page-setup.js +1479 -0
  318. package/src/features/sections/page-size.d.ts +59 -0
  319. package/src/features/sections/page-size.js +68 -0
  320. package/src/features/sections/section-break-code.d.ts +27 -0
  321. package/src/features/sections/section-break-code.js +60 -0
  322. package/src/features/sections/section-document-association.d.ts +18 -0
  323. package/src/features/sections/section-document-association.js +31 -0
  324. package/src/features/sections/section-validation.d.ts +43 -0
  325. package/src/features/sections/section-validation.js +97 -0
  326. package/src/features/settings/attached-template.d.ts +35 -0
  327. package/src/features/settings/attached-template.js +98 -0
  328. package/src/features/settings/compat-settings.d.ts +216 -0
  329. package/src/features/settings/compat-settings.js +508 -0
  330. package/src/features/settings/document-background.d.ts +59 -0
  331. package/src/features/settings/document-background.js +131 -0
  332. package/src/features/settings/document-protection.d.ts +65 -0
  333. package/src/features/settings/document-protection.js +157 -0
  334. package/src/features/settings/document-settings-facades.d.ts +108 -0
  335. package/src/features/settings/document-settings-facades.js +312 -0
  336. package/src/features/settings/document-settings-values.d.ts +43 -0
  337. package/src/features/settings/document-settings-values.js +60 -0
  338. package/src/features/settings/footnote-properties.d.ts +211 -0
  339. package/src/features/settings/footnote-properties.js +591 -0
  340. package/src/features/settings/index.d.ts +356 -0
  341. package/src/features/settings/index.js +829 -0
  342. package/src/features/settings/settings-children.d.ts +151 -0
  343. package/src/features/settings/settings-children.js +505 -0
  344. package/src/features/settings/web-settings.d.ts +88 -0
  345. package/src/features/settings/web-settings.js +227 -0
  346. package/src/features/settings/zoom.d.ts +79 -0
  347. package/src/features/settings/zoom.js +147 -0
  348. package/src/features/styles/builtin-catalog.d.ts +159 -0
  349. package/src/features/styles/builtin-catalog.js +963 -0
  350. package/src/features/styles/builtin-resolver.d.ts +49 -0
  351. package/src/features/styles/builtin-resolver.js +165 -0
  352. package/src/features/styles/default-styles.d.ts +37 -0
  353. package/src/features/styles/default-styles.js +186 -0
  354. package/src/features/styles/default-theme.d.ts +13 -0
  355. package/src/features/styles/default-theme.js +13 -0
  356. package/src/features/styles/doc-defaults.d.ts +58 -0
  357. package/src/features/styles/doc-defaults.js +178 -0
  358. package/src/features/styles/formatting-resolver.d.ts +27 -0
  359. package/src/features/styles/formatting-resolver.js +72 -0
  360. package/src/features/styles/index.d.ts +256 -0
  361. package/src/features/styles/index.js +1325 -0
  362. package/src/features/styles/latent-styles.d.ts +68 -0
  363. package/src/features/styles/latent-styles.js +305 -0
  364. package/src/features/styles/paragraph-properties.d.ts +71 -0
  365. package/src/features/styles/paragraph-properties.js +237 -0
  366. package/src/features/styles/run-properties.d.ts +93 -0
  367. package/src/features/styles/run-properties.js +516 -0
  368. package/src/features/styles/style-base.d.ts +402 -0
  369. package/src/features/styles/style-base.js +1026 -0
  370. package/src/features/styles/style-collection.d.ts +264 -0
  371. package/src/features/styles/style-collection.js +714 -0
  372. package/src/features/styles/style-format-bridge.d.ts +64 -0
  373. package/src/features/styles/style-format-bridge.js +100 -0
  374. package/src/features/styles/style.d.ts +84 -0
  375. package/src/features/styles/style.js +375 -0
  376. package/src/features/styles/styles-with-effects.d.ts +71 -0
  377. package/src/features/styles/styles-with-effects.js +180 -0
  378. package/src/features/styles/table-style.d.ts +272 -0
  379. package/src/features/styles/table-style.js +1226 -0
  380. package/src/features/styles/theme.d.ts +126 -0
  381. package/src/features/styles/theme.js +377 -0
  382. package/src/features/tables/border-style-map.d.ts +24 -0
  383. package/src/features/tables/border-style-map.js +81 -0
  384. package/src/features/tables/borders.d.ts +126 -0
  385. package/src/features/tables/borders.js +527 -0
  386. package/src/features/tables/collections.d.ts +113 -0
  387. package/src/features/tables/collections.js +261 -0
  388. package/src/features/tables/format.d.ts +208 -0
  389. package/src/features/tables/format.js +716 -0
  390. package/src/features/tables/index.d.ts +597 -0
  391. package/src/features/tables/index.js +2386 -0
  392. package/src/features/tables/paddings.d.ts +41 -0
  393. package/src/features/tables/paddings.js +97 -0
  394. package/src/features/tables/tbl-pr-positioning.d.ts +27 -0
  395. package/src/features/tables/tbl-pr-positioning.js +178 -0
  396. package/src/features/tables/tbl-pr.d.ts +528 -0
  397. package/src/features/tables/tbl-pr.js +1208 -0
  398. package/src/features/tables/tc-pr.d.ts +168 -0
  399. package/src/features/tables/tc-pr.js +553 -0
  400. package/src/features/tables/tr-pr.d.ts +60 -0
  401. package/src/features/tables/tr-pr.js +215 -0
  402. package/src/features/watermark/detect.d.ts +76 -0
  403. package/src/features/watermark/detect.js +219 -0
  404. package/src/features/watermark/index.d.ts +28 -0
  405. package/src/features/watermark/index.js +91 -0
  406. package/src/features/watermark/logical-store.d.ts +29 -0
  407. package/src/features/watermark/logical-store.js +31 -0
  408. package/src/features/watermark/model.d.ts +285 -0
  409. package/src/features/watermark/model.js +597 -0
  410. package/src/features/watermark/parse.d.ts +84 -0
  411. package/src/features/watermark/parse.js +815 -0
  412. package/src/features/watermark/serialize.d.ts +98 -0
  413. package/src/features/watermark/serialize.js +1517 -0
  414. package/src/global.js +1 -0
  415. package/src/index.d.ts +2 -0
  416. package/src/index.js +2 -0
@@ -0,0 +1,528 @@
1
+ /**
2
+ * Typed parse/serialize helpers for `w:tblPr` and shared table property types.
3
+ *
4
+ * Citations: Transitional `wml.xsd` `CT_TblPrBase`, `CT_TblWidth`, `CT_TblBorders`,
5
+ * `CT_TblCellMar`, `CT_TblLook`, `ST_JcTable`, `ST_TblWidth`.
6
+ */
7
+ import { twipsToPoint, pointToTwips } from '../document/length';
8
+ import { parseOnOff, serializeOnOff } from '../document/on-off';
9
+ import { OpenXmlElement } from '../../core/xml/index';
10
+ export { pointToTwips, twipsToPoint };
11
+ /**
12
+ * Table / cell preferred width (`CT_TblWidth`).
13
+ *
14
+ * - `dxa`: `@w:w` is twips on the wire; `value` is stored as points (`twips / 20`).
15
+ * - `pct`: `@w:w` is fiftieths-of-a-percent; stored via the same twips→points bridge
16
+ * so callers can round-trip with `pointToTwips(value)` recovering the fiftieths.
17
+ * - `auto` / `nil`: `value` is typically zero.
18
+ *
19
+ * @private
20
+ * Internal storage shape for table and cell width settings. Prefer
21
+ * the point-based {@link TableCell.width} accessor, or {@link Table.autoFit}.
22
+ */
23
+ export interface TableWidth {
24
+ readonly type: 'auto' | 'dxa' | 'nil' | 'pct';
25
+ /** Preferred width in points (for `dxa`); see type notes for `pct`/`auto`/`nil`. */
26
+ readonly value: number;
27
+ }
28
+ /**
29
+ * One border edge of a table or table cell (`CT_Border` subset).
30
+ *
31
+ * A border is described by its line style, color, thickness, and the gap to
32
+ * the cell contents. Omitting a field lets Word apply its own default for
33
+ * that aspect; omitting the whole edge leaves the neighboring setting
34
+ * (table defaults or cell override) in charge.
35
+ *
36
+ * `size` is measured in eighths of a point (so a value of 8 draws a 1 pt
37
+ * line) and `space` in points.
38
+ */
39
+ export interface TableBorder {
40
+ /**
41
+ * @private
42
+ * Border line token as stored in `@w:val` (e.g. `'single'`). */
43
+ readonly style?: string;
44
+ /** Border line color. Hex RGB (e.g. `'FF0000'`) or `'auto'`. */
45
+ readonly color?: string;
46
+ /** Line thickness in eighths of a point (`8` = 1 pt). */
47
+ readonly size?: number;
48
+ /** Gap between the line and the cell contents, in points. */
49
+ readonly space?: number;
50
+ /** Shadow flag from `w:shadow` on `CT_Border`. */
51
+ readonly shadow?: boolean;
52
+ }
53
+ /**
54
+ * Border settings for a whole table.
55
+ *
56
+ * The outer edges (`top`, `left`, `bottom`, `right`) frame the table;
57
+ * `insideH` and `insideV` draw the lines between rows and columns. Any edge
58
+ * left undefined falls back to Word's table style — set only the edges that
59
+ * must differ from the surrounding look.
60
+ *
61
+ * Borders set here apply to the table as a whole; individual cells can
62
+ * override them with {@link TableCell.borders}.
63
+ */
64
+ export interface TableBorders {
65
+ /** Top edge of the table. */
66
+ readonly top?: TableBorder;
67
+ /** Left edge of the table. */
68
+ readonly left?: TableBorder;
69
+ /** Bottom edge of the table. */
70
+ readonly bottom?: TableBorder;
71
+ /** Right edge of the table. */
72
+ readonly right?: TableBorder;
73
+ /** Line between adjacent rows. */
74
+ readonly insideH?: TableBorder;
75
+ /** Line between adjacent columns. */
76
+ readonly insideV?: TableBorder;
77
+ }
78
+ /**
79
+ * Border settings for one table cell.
80
+ *
81
+ * Cell borders override the table-level borders for this cell. Configure the
82
+ * outer and inside edges the same way as {@link TableBorders}; any edge left
83
+ * undefined keeps the inherited table setting.
84
+ */
85
+ export interface TableCellBorders extends TableBorders {
86
+ /**
87
+ * Diagonal from the top-left to the bottom-right corner (`w:tl2br`).
88
+ * @private
89
+ * Diagonal edge kept for round-trip; not part of the end-user
90
+ * cell-border surface.
91
+ */
92
+ readonly tl2br?: TableBorder;
93
+ /**
94
+ * Diagonal from the top-right to the bottom-left corner (`w:tr2bl`).
95
+ * @private
96
+ * Diagonal edge kept for round-trip; not part of the end-user
97
+ * cell-border surface.
98
+ */
99
+ readonly tr2bl?: TableBorder;
100
+ }
101
+ /**
102
+ * Padding between a cell's content and its borders, one value per side.
103
+ * `undefined` per side uses Word's default.
104
+ */
105
+ export interface TableCellMargins {
106
+ /** Top padding in points (`w:top` DXA on the wire). */
107
+ readonly top?: number;
108
+ /** Right padding in points (`w:right` DXA on the wire). */
109
+ readonly right?: number;
110
+ /** Bottom padding in points (`w:bottom` DXA on the wire). */
111
+ readonly bottom?: number;
112
+ /** Left padding in points (`w:left` DXA on the wire). */
113
+ readonly left?: number;
114
+ }
115
+ /**
116
+ * Background shading of a table or table cell (`w:shd`).
117
+ *
118
+ * @private
119
+ * Internal storage shape. Pattern/color tokens map directly to
120
+ * `w:shd` attributes and are consumed by internal table plumbing.
121
+ */
122
+ export interface TableShading {
123
+ readonly fill?: string;
124
+ readonly color?: string;
125
+ readonly pattern?: string;
126
+ }
127
+ /**
128
+ * Conditional formatting flags for table style banding (`w:tblLook`).
129
+ *
130
+ * @private
131
+ * Internal storage shape for `w:tblLook`; authored by table style
132
+ * plumbing rather than end-user code.
133
+ */
134
+ export interface TableLook {
135
+ readonly firstRow?: boolean;
136
+ readonly lastRow?: boolean;
137
+ readonly firstCol?: boolean;
138
+ readonly lastCol?: boolean;
139
+ readonly noHBand?: boolean;
140
+ readonly noVBand?: boolean;
141
+ }
142
+ /**
143
+ * How Word interprets a table row's height (`ST_HeightRule`).
144
+ *
145
+ * - `auto`: the row grows and shrinks with its content.
146
+ * - `atLeast`: the height is a minimum; content can still push it taller.
147
+ * - `exact`: the height is fixed; overflow is clipped.
148
+ */
149
+ export declare const TableRowHeightRule: {
150
+ Auto: string;
151
+ AtLeast: string;
152
+ Exact: string;
153
+ };
154
+ /** One of the {@link TableRowHeightRule} tokens. */
155
+ export declare type TableRowHeightRule = (typeof TableRowHeightRule)[keyof typeof TableRowHeightRule];
156
+ /**
157
+ * Height setting for a table row (`w:trHeight`).
158
+ *
159
+ * `value` is the measured height in **points** (`@w:val` twips on the wire);
160
+ * `rule` (see {@link TableRowHeightRule}) decides whether it is a minimum, a
161
+ * fixed value, or ignored.
162
+ */
163
+ export interface TableRowHeight {
164
+ /** Row height in points (`@w:val` twips at serialize). */
165
+ readonly value: number;
166
+ readonly rule: TableRowHeightRule;
167
+ }
168
+ /**
169
+ * Horizontal alignment of a table or table row on the page
170
+ * (`w:jc` / `ST_JcTable` public subset).
171
+ *
172
+ * - {@link TableAlignment.Left}: hug the left margin (Word default; wire `left`).
173
+ * - {@link TableAlignment.Center}: center between the margins (wire `center`).
174
+ * - {@link TableAlignment.Right}: hug the right margin (wire `right`).
175
+ *
176
+ * @public
177
+ */
178
+ export declare const TableAlignment: {
179
+ Left: "left";
180
+ Center: "center";
181
+ Right: "right";
182
+ };
183
+ /** One of the {@link TableAlignment} tokens. */
184
+ export declare type TableAlignment = (typeof TableAlignment)[keyof typeof TableAlignment];
185
+ /**
186
+ * Table column sizing algorithm (`w:tblLayout` / `ST_TblLayoutType`).
187
+ *
188
+ * @private
189
+ * Internal flag behind `Table.autoFit`; exposes raw wire tokens
190
+ * `autoFit` | `fixed` and defaults to `autoFit` when `w:tblLayout` is absent
191
+ * ([MS-OE376] 2.1.159; ECMA-376 §17.4.52–53). Prefer `Table.autoFit`.
192
+ */
193
+ export declare type TableLayout = 'autoFit' | 'fixed';
194
+ export declare function parseDecimalVal(raw: string | undefined): number | undefined;
195
+ export declare function wmlAttrVal(el: OpenXmlElement, localName: string): string | undefined;
196
+ /**
197
+ * Replace or remove all children with `localName`; append when missing.
198
+ * Preserves attributes and unmodeled siblings on the parent element.
199
+ */
200
+ export declare function upsertPropChild(parent: OpenXmlElement, parentLocalName: string, localName: string, replacement: OpenXmlElement | undefined): OpenXmlElement;
201
+ export declare function emptyPropsToUndefined(el: OpenXmlElement | undefined): OpenXmlElement | undefined;
202
+ /**
203
+ * Parse `CT_TblWidth` (`@w:w`, `@w:type`).
204
+ *
205
+ * @private
206
+ */
207
+ export declare function parseTblWidth(el: OpenXmlElement): TableWidth | undefined;
208
+ /**
209
+ * Serialize `CT_TblWidth`.
210
+ *
211
+ * @private
212
+ */
213
+ export declare function serializeTblWidth(localName: string, width: TableWidth): OpenXmlElement;
214
+ /**
215
+ * Parse one `CT_Border`.
216
+ *
217
+ * @private
218
+ */
219
+ export declare function parseBorderEdge(el: OpenXmlElement): TableBorder | undefined;
220
+ /**
221
+ * Serialize one border edge element.
222
+ *
223
+ * `CT_Border` requires `@w:val`; an edge parsed without a style token
224
+ * (schema-invalid input) is skipped so the output stays schema-valid.
225
+ *
226
+ * @private
227
+ */
228
+ export declare function serializeBorderEdge(localName: string, edge: TableBorder): OpenXmlElement | undefined;
229
+ /**
230
+ * Parse table borders. Maps `start`→`left`, `end`→`right` (Strict → API).
231
+ *
232
+ * @private
233
+ */
234
+ export declare function parseTblBorders(el: OpenXmlElement): TableBorders;
235
+ /**
236
+ * Serialize table borders as Transitional `left`/`right` (Word parity).
237
+ * Preserves unmodeled children (e.g. Strict `start`/`end`) when rewriting.
238
+ *
239
+ * @private
240
+ */
241
+ export declare function serializeTblBorders(borders: TableBorders, existing?: OpenXmlElement): OpenXmlElement;
242
+ /**
243
+ * Parse cell borders including diagonals.
244
+ *
245
+ * @private
246
+ */
247
+ export declare function parseTcBorders(el: OpenXmlElement): TableCellBorders;
248
+ /**
249
+ * Serialize cell borders (`w:tcBorders`).
250
+ *
251
+ * @private
252
+ */
253
+ export declare function serializeTcBorders(borders: TableCellBorders, existing?: OpenXmlElement): OpenXmlElement;
254
+ /**
255
+ * Parse table/cell margins. Maps `start`→`left`, `end`→`right`.
256
+ *
257
+ * @private
258
+ */
259
+ export declare function parseCellMargins(el: OpenXmlElement): TableCellMargins;
260
+ /**
261
+ * Serialize margins container (`tblCellMar` or `tcMar`) with Transitional left/right.
262
+ *
263
+ * @private
264
+ */
265
+ export declare function serializeCellMargins(containerLocalName: 'tblCellMar' | 'tcMar', margins: TableCellMargins, existing?: OpenXmlElement): OpenXmlElement;
266
+ /**
267
+ * Parse `w:shd` (pattern is free string per task).
268
+ *
269
+ * @private
270
+ */
271
+ export declare function parseShd(el: OpenXmlElement): TableShading;
272
+ /**
273
+ * Serialize `w:shd` (order: pattern/val, color, fill).
274
+ *
275
+ * @private
276
+ */
277
+ export declare function serializeShd(shd: TableShading): OpenXmlElement;
278
+ /**
279
+ * Parse table/row `w:jc` → public left|center|right (start→left, end→right).
280
+ *
281
+ * @private
282
+ */
283
+ export declare function parseTableAlignment(el: OpenXmlElement): TableAlignment | undefined;
284
+ /**
285
+ * Serialize table/row alignment as Transitional left|center|right.
286
+ *
287
+ * @private
288
+ */
289
+ export declare function serializeTableAlignment(alignment: TableAlignment): OpenXmlElement;
290
+ /**
291
+ * Parse `w:tblLook` named onOff attrs and/or legacy hex `@w:val`.
292
+ *
293
+ * @private
294
+ */
295
+ export declare function parseTblLook(el: OpenXmlElement): TableLook;
296
+ /**
297
+ * Serialize `w:tblLook` with named onOff attributes (preferred over hex-only).
298
+ *
299
+ * @private
300
+ */
301
+ export declare function serializeTblLook(look: TableLook): OpenXmlElement;
302
+ /**
303
+ * Conditional formatting membership flags on a row or cell (`w:cnfStyle` / `CT_Cnf`).
304
+ *
305
+ * Named OnOff attributes match Transitional `CT_Cnf`. The transitional
306
+ * `@w:val` ST_Cnf 12-char bitmask is accepted on parse and emitted complete
307
+ * on serialize so dual-form consumers round-trip.
308
+ *
309
+ * @private
310
+ * Typed internal storage only — not a public TableRow/TableCell surface.
311
+ * Does not recompute membership from table layout (preserve-only).
312
+ */
313
+ export interface CnfStyle {
314
+ readonly firstRow?: boolean;
315
+ readonly lastRow?: boolean;
316
+ readonly firstColumn?: boolean;
317
+ readonly lastColumn?: boolean;
318
+ readonly oddVBand?: boolean;
319
+ readonly evenVBand?: boolean;
320
+ readonly oddHBand?: boolean;
321
+ readonly evenHBand?: boolean;
322
+ readonly firstRowFirstColumn?: boolean;
323
+ readonly firstRowLastColumn?: boolean;
324
+ readonly lastRowFirstColumn?: boolean;
325
+ readonly lastRowLastColumn?: boolean;
326
+ }
327
+ /**
328
+ * Fully resolved `w:cnfStyle` membership — every named flag is present.
329
+ *
330
+ * @private
331
+ */
332
+ export interface NormalizedCnfStyle {
333
+ readonly firstRow: boolean;
334
+ readonly lastRow: boolean;
335
+ readonly firstColumn: boolean;
336
+ readonly lastColumn: boolean;
337
+ readonly oddVBand: boolean;
338
+ readonly evenVBand: boolean;
339
+ readonly oddHBand: boolean;
340
+ readonly evenHBand: boolean;
341
+ readonly firstRowFirstColumn: boolean;
342
+ readonly firstRowLastColumn: boolean;
343
+ readonly lastRowFirstColumn: boolean;
344
+ readonly lastRowLastColumn: boolean;
345
+ }
346
+ /**
347
+ * All-false normalized conditional membership.
348
+ *
349
+ * @private
350
+ */
351
+ export declare function createDefaultCnfStyle(): NormalizedCnfStyle;
352
+ /**
353
+ * Coerce partial/optional {@link CnfStyle} into a fully boolean {@link NormalizedCnfStyle}.
354
+ *
355
+ * @private
356
+ */
357
+ export declare function normalizeCnfStyle(state: CnfStyle | undefined): NormalizedCnfStyle;
358
+ /**
359
+ * True when any named flag is true on a normalized state.
360
+ *
361
+ * @private
362
+ */
363
+ export declare function normalizedCnfStyleHasTrue(state: NormalizedCnfStyle): boolean;
364
+ /**
365
+ * Alias of {@link normalizedCnfStyleHasTrue} (DocIO placement helper name).
366
+ *
367
+ * @private
368
+ */
369
+ export declare function hasAnyCnfStyleFlag(state: NormalizedCnfStyle): boolean;
370
+ /**
371
+ * Parse `w:cnfStyle` named OnOff attributes and/or transitional `@w:val` ST_Cnf.
372
+ * Named attributes win when both forms are present (same rule as {@link parseTblLook}).
373
+ *
374
+ * @private
375
+ */
376
+ export declare function parseCnfStyle(el: OpenXmlElement): CnfStyle;
377
+ /**
378
+ * Serialize `w:cnfStyle` with `w:val` first, then all twelve named OnOff attrs
379
+ * as explicit `0`/`1`. Preserves unknown attributes, namespaces, and children.
380
+ *
381
+ * @private
382
+ */
383
+ export declare function serializeCnfStyle(state: NormalizedCnfStyle, existing?: OpenXmlElement): OpenXmlElement;
384
+ /**
385
+ * True when any `CnfStyle` flag is explicitly set (including `false`).
386
+ *
387
+ * @private
388
+ */
389
+ export declare function cnfStyleIsEmpty(state: CnfStyle): boolean;
390
+ /**
391
+ * @private
392
+ */
393
+ export declare function readTableAlignment(tblPr: OpenXmlElement): TableAlignment | undefined;
394
+ /**
395
+ * @private
396
+ */
397
+ export declare function writeTableAlignment(tblPr: OpenXmlElement, alignment: TableAlignment | undefined): OpenXmlElement;
398
+ /**
399
+ * @private
400
+ */
401
+ export declare function readTableIndent(tblPr: OpenXmlElement): number | undefined;
402
+ /**
403
+ * @private
404
+ */
405
+ export declare function writeTableIndent(tblPr: OpenXmlElement, indent: number | undefined): OpenXmlElement;
406
+ /**
407
+ * @private
408
+ */
409
+ export declare function readTablePreferredWidth(tblPr: OpenXmlElement): TableWidth | undefined;
410
+ /**
411
+ * @private
412
+ */
413
+ export declare function writeTablePreferredWidth(tblPr: OpenXmlElement, width: TableWidth | undefined): OpenXmlElement;
414
+ /**
415
+ * @private
416
+ */
417
+ export declare function readTableBorders(tblPr: OpenXmlElement): TableBorders | undefined;
418
+ /**
419
+ * @private
420
+ */
421
+ export declare function writeTableBorders(tblPr: OpenXmlElement, borders: TableBorders | undefined): OpenXmlElement;
422
+ /**
423
+ * @private
424
+ */
425
+ export declare function readTableCellMargins(tblPr: OpenXmlElement): TableCellMargins | undefined;
426
+ /**
427
+ * @private
428
+ */
429
+ export declare function writeTableCellMargins(tblPr: OpenXmlElement, margins: TableCellMargins | undefined): OpenXmlElement;
430
+ /**
431
+ * @private
432
+ */
433
+ export declare function readTableCellSpacing(tblPr: OpenXmlElement): number | undefined;
434
+ /**
435
+ * @private
436
+ */
437
+ export declare function writeTableCellSpacing(tblPr: OpenXmlElement, spacing: number | undefined): OpenXmlElement;
438
+ /**
439
+ * @private
440
+ */
441
+ export declare function readTableShading(tblPr: OpenXmlElement): TableShading | undefined;
442
+ /**
443
+ * @private
444
+ */
445
+ export declare function writeTableShading(tblPr: OpenXmlElement, shading: TableShading | undefined): OpenXmlElement;
446
+ /**
447
+ * @private
448
+ */
449
+ export declare function readTableLook(tblPr: OpenXmlElement): TableLook | undefined;
450
+ /**
451
+ * @private
452
+ */
453
+ export declare function writeTableLook(tblPr: OpenXmlElement, look: TableLook | undefined): OpenXmlElement;
454
+ /**
455
+ * @private
456
+ */
457
+ export declare function readTableCaption(tblPr: OpenXmlElement): string | undefined;
458
+ /**
459
+ * @private
460
+ */
461
+ export declare function writeTableCaption(tblPr: OpenXmlElement, caption: string | undefined): OpenXmlElement;
462
+ /**
463
+ * @private
464
+ */
465
+ export declare function readTableDescription(tblPr: OpenXmlElement): string | undefined;
466
+ /**
467
+ * @private
468
+ */
469
+ export declare function writeTableDescription(tblPr: OpenXmlElement, description: string | undefined): OpenXmlElement;
470
+ /**
471
+ * Read `w:tblStyle/@w:val`.
472
+ *
473
+ * @private
474
+ */
475
+ export declare function readTableStyle(tblPr: OpenXmlElement): string | undefined;
476
+ /**
477
+ * Write or clear `w:tblStyle`.
478
+ *
479
+ * @private
480
+ */
481
+ export declare function writeTableStyle(tblPr: OpenXmlElement, styleId: string | undefined): OpenXmlElement;
482
+ /**
483
+ * Read `w:tblLayout/@w:type` → public {@link TableLayout}.
484
+ *
485
+ * Absent element → `autoFit`. Unknown wire tokens leave the child untouched and
486
+ * return `autoFit` for the typed surface (extras preserved on the element).
487
+ *
488
+ * @private
489
+ */
490
+ export declare function readTableLayout(tblPr: OpenXmlElement): TableLayout;
491
+ /**
492
+ * Write `w:tblLayout`. Omit-on-default: `autoFit` removes the element;
493
+ * `fixed` emits `<w:tblLayout w:type="fixed"/>`.
494
+ *
495
+ * @private
496
+ */
497
+ export declare function writeTableLayout(tblPr: OpenXmlElement, layout: TableLayout): OpenXmlElement;
498
+ /**
499
+ * Read `w:tblStyleRowBandSize/@w:val` (`CT_DecimalNumber`).
500
+ *
501
+ * Absent or non-integer wire → `undefined` (consumer default band height is 1).
502
+ * Citations: ECMA-376-1 §17.7.6.7; Transitional `wml.xsd` `CT_TblPrBase`.
503
+ *
504
+ * @private
505
+ */
506
+ export declare function readTableRowBandSize(tblPr: OpenXmlElement): number | undefined;
507
+ /**
508
+ * Write or clear `w:tblStyleRowBandSize`. Emitted only when `size` is defined.
509
+ *
510
+ * @private
511
+ */
512
+ export declare function writeTableRowBandSize(tblPr: OpenXmlElement, size: number | undefined): OpenXmlElement;
513
+ /**
514
+ * Read `w:tblStyleColBandSize/@w:val` (`CT_DecimalNumber`).
515
+ *
516
+ * Absent or non-integer wire → `undefined` (consumer default band width is 1).
517
+ * Citations: ECMA-376-1 §17.7.6.5; Transitional `wml.xsd` `CT_TblPrBase`.
518
+ *
519
+ * @private
520
+ */
521
+ export declare function readTableColumnBandSize(tblPr: OpenXmlElement): number | undefined;
522
+ /**
523
+ * Write or clear `w:tblStyleColBandSize`. Emitted only when `size` is defined.
524
+ *
525
+ * @private
526
+ */
527
+ export declare function writeTableColumnBandSize(tblPr: OpenXmlElement, size: number | undefined): OpenXmlElement;
528
+ export { parseOnOff, serializeOnOff };