@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,126 @@
1
+ /**
2
+ * Customer-facing table/cell border facades (`Border` / `Borders`).
3
+ *
4
+ * Backed by internal `TableBorder` bags; unknown `@w:val` tokens stay on the
5
+ * wire bag and do not surface as public BorderStyle values.
6
+ * `space` lives on Borders only (not on Border).
7
+ */
8
+ import { BorderStyle } from '../document/page-setup';
9
+ import { Color } from '../document/color';
10
+ import { TableBorder, TableBorders, TableCellBorders } from './tbl-pr';
11
+ /** @private */
12
+ export declare type BorderBagHost = {
13
+ readEdge(key: BorderEdgeKey): TableBorder | undefined;
14
+ writeEdge(key: BorderEdgeKey, edge: TableBorder | undefined): void;
15
+ };
16
+ /**
17
+ * Keys for outer and inside edges (no diagonals on the public surface).
18
+ *
19
+ * @private
20
+ */
21
+ export declare type BorderEdgeKey = 'top' | 'bottom' | 'left' | 'right' | 'insideH' | 'insideV';
22
+ /**
23
+ * One border edge.
24
+ *
25
+ * @public
26
+ */
27
+ export declare class Border {
28
+ private readonly host;
29
+ private readonly key;
30
+ /**
31
+ * @private
32
+ */
33
+ constructor(host: BorderBagHost, key: BorderEdgeKey);
34
+ private current;
35
+ private commit;
36
+ /**
37
+ * Wire `@w:val` for commits. When the edge has no style yet, default to
38
+ * `'single'` so color/size/space/shadow survive `serializeBorderEdge`
39
+ * (which requires `w:val`) and round-trip through tblPr XML — same as
40
+ * paragraph border faces.
41
+ * @private
42
+ */
43
+ private styleWireForCommit;
44
+ /** Line style. Unknown loaded values return the public default and round-trip. */
45
+ borderType: BorderStyle;
46
+ /**
47
+ * Hex RGB or `'auto'`.
48
+ * Setter also accepts a {@link Color} enum value and optional leading `#` on hex strings.
49
+ * Getter always returns the OOXML wire string.
50
+ * Setting color without a prior `borderType` defaults the edge to single so the edge serializes.
51
+ */
52
+ color: string | Color;
53
+ /**
54
+ * Thickness in points (public); stored as eighths of a point on the wire.
55
+ * Setting lineWidth without a prior `borderType` defaults the edge to single so the edge serializes.
56
+ */
57
+ lineWidth: number;
58
+ /** Shadow flag (`w:shadow`). */
59
+ shadow: boolean;
60
+ /**
61
+ * @private
62
+ * Internal edge space (points) used by Borders.space.
63
+ */
64
+ readSpacePoints(): number;
65
+ /**
66
+ * @private
67
+ */
68
+ writeSpacePoints(value: number): void;
69
+ }
70
+ /**
71
+ * Aggregate borders for a table or cell (no public diagonals).
72
+ *
73
+ * @public
74
+ */
75
+ export declare class Borders {
76
+ private readonly host;
77
+ private readonly topBorder;
78
+ private readonly bottomBorder;
79
+ private readonly leftBorder;
80
+ private readonly rightBorder;
81
+ private readonly horizontalBorder;
82
+ private readonly verticalBorder;
83
+ private readonly includeInside;
84
+ /**
85
+ * @private
86
+ */
87
+ constructor(host: BorderBagHost, includeInside?: boolean);
88
+ readonly top: Border;
89
+ readonly bottom: Border;
90
+ readonly left: Border;
91
+ readonly right: Border;
92
+ readonly horizontal: Border;
93
+ readonly vertical: Border;
94
+ private aggregateKeys;
95
+ private edgeAt;
96
+ /**
97
+ * Common border type across applicable edges.
98
+ * Mixed or absent edges return the public default (BorderStyle.None).
99
+ */
100
+ borderType: BorderStyle;
101
+ /**
102
+ * Common border color across applicable edges.
103
+ * Mixed edges return the public default (`'auto'`).
104
+ * Setter accepts hex/`'auto'`, optional leading `#`, or a {@link Color} enum value.
105
+ */
106
+ color: string | Color;
107
+ lineWidth: number;
108
+ /**
109
+ * Common edge w:space (points) across applicable edges.
110
+ * Mixed values return the public default 0.
111
+ */
112
+ space: number;
113
+ shadow: boolean;
114
+ }
115
+ /**
116
+ * Host that reads/writes a full TableBorders bag via callbacks.
117
+ *
118
+ * @private
119
+ */
120
+ export declare function createTableBordersHost(read: () => TableBorders | undefined, write: (value: TableBorders | undefined) => void): BorderBagHost;
121
+ /**
122
+ * Host for cell borders; preserves diagonal edges when rewriting.
123
+ *
124
+ * @private
125
+ */
126
+ export declare function createCellBordersHost(read: () => TableCellBorders | undefined, write: (value: TableCellBorders | undefined) => void): BorderBagHost;
@@ -0,0 +1,527 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ /**
13
+ * Customer-facing table/cell border facades (`Border` / `Borders`).
14
+ *
15
+ * Backed by internal `TableBorder` bags; unknown `@w:val` tokens stay on the
16
+ * wire bag and do not surface as public BorderStyle values.
17
+ * `space` lives on Borders only (not on Border).
18
+ */
19
+ import { BorderStyle } from '../document/page-setup';
20
+ import { colorToHexWire, normalizeColorHex } from '../document/color';
21
+ import { borderStyleFromWire, borderStyleToWire, isKnownBorderWire } from './border-style-map';
22
+ var ALL_EDGE_KEYS = ['top', 'bottom', 'left', 'right', 'insideH', 'insideV'];
23
+ var OUTER_EDGE_KEYS = ['top', 'bottom', 'left', 'right'];
24
+ var DEFAULT_BORDER_TYPE = BorderStyle.None;
25
+ var DEFAULT_COLOR = 'auto';
26
+ var DEFAULT_LINE_WIDTH = 0;
27
+ var DEFAULT_SPACE = 0;
28
+ var DEFAULT_SHADOW = false;
29
+ function requireFiniteNonNegative(value, label) {
30
+ if (typeof value !== 'number' || !isFinite(value) || value < 0) {
31
+ throw new RangeError(label + ' must be a finite non-negative number');
32
+ }
33
+ }
34
+ function isBorderStyleValue(value) {
35
+ if (typeof value !== 'string') {
36
+ return false;
37
+ }
38
+ if (isKnownBorderWire(value)) {
39
+ return true;
40
+ }
41
+ if (borderStyleFromWire(value) !== undefined) {
42
+ return true;
43
+ }
44
+ var keys = Object.keys(BorderStyle);
45
+ for (var i = 0; i < keys.length; i += 1) {
46
+ if (BorderStyle[keys[i]] === value) {
47
+ return true;
48
+ }
49
+ }
50
+ return false;
51
+ }
52
+ /**
53
+ * Normalize border color input to OOXML wire (`RRGGBB` / `'auto'`).
54
+ * {@link Color} becomes hex; {@link Color.Transparent} maps to `'auto'`.
55
+ * Strings may include a leading `#`.
56
+ * @private
57
+ */
58
+ function borderColorToWire(value) {
59
+ if (typeof value === 'number') {
60
+ var hex_1 = colorToHexWire(value);
61
+ return hex_1.length > 0 ? hex_1 : 'auto';
62
+ }
63
+ if (typeof value !== 'string') {
64
+ throw new RangeError('Border color must be a string, Color, or hex color');
65
+ }
66
+ var raw = value.trim();
67
+ if (raw.length === 0) {
68
+ throw new RangeError('Border color must be a non-empty string');
69
+ }
70
+ if (raw.toLowerCase() === 'auto') {
71
+ return 'auto';
72
+ }
73
+ var hex = normalizeColorHex(raw);
74
+ if (hex !== undefined) {
75
+ return hex;
76
+ }
77
+ // Preserve unknown loaded tokens for round-trip (e.g. theme-ish values).
78
+ return value;
79
+ }
80
+ /**
81
+ * One border edge.
82
+ *
83
+ * @public
84
+ */
85
+ var Border = /** @class */ (function () {
86
+ /**
87
+ * @private
88
+ */
89
+ function Border(host, key) {
90
+ this.host = host;
91
+ this.key = key;
92
+ }
93
+ Border.prototype.current = function () {
94
+ var edge = this.host.readEdge(this.key);
95
+ return edge !== undefined ? edge : {};
96
+ };
97
+ Border.prototype.commit = function (next) {
98
+ var has = next.style !== undefined ||
99
+ next.color !== undefined ||
100
+ next.size !== undefined ||
101
+ next.space !== undefined ||
102
+ next.shadow !== undefined;
103
+ this.host.writeEdge(this.key, has ? next : undefined);
104
+ };
105
+ /**
106
+ * Wire `@w:val` for commits. When the edge has no style yet, default to
107
+ * `'single'` so color/size/space/shadow survive `serializeBorderEdge`
108
+ * (which requires `w:val`) and round-trip through tblPr XML — same as
109
+ * paragraph border faces.
110
+ * @private
111
+ */
112
+ Border.prototype.styleWireForCommit = function (cur) {
113
+ return cur.style !== undefined ? cur.style : 'single';
114
+ };
115
+ Object.defineProperty(Border.prototype, "borderType", {
116
+ /** Line style. Unknown loaded values return the public default and round-trip. */
117
+ get: function () {
118
+ var style = this.current().style;
119
+ if (style === undefined) {
120
+ return DEFAULT_BORDER_TYPE;
121
+ }
122
+ var mapped = borderStyleFromWire(style);
123
+ return mapped !== undefined ? mapped : DEFAULT_BORDER_TYPE;
124
+ },
125
+ set: function (value) {
126
+ if (!isBorderStyleValue(value)) {
127
+ throw new RangeError('Unsupported BorderStyle value');
128
+ }
129
+ var cur = this.current();
130
+ this.commit({
131
+ style: borderStyleToWire(value),
132
+ color: cur.color,
133
+ size: cur.size,
134
+ space: cur.space,
135
+ shadow: cur.shadow,
136
+ });
137
+ },
138
+ enumerable: true,
139
+ configurable: true
140
+ });
141
+ Object.defineProperty(Border.prototype, "color", {
142
+ /**
143
+ * Hex RGB or `'auto'`.
144
+ * Setter also accepts a {@link Color} enum value and optional leading `#` on hex strings.
145
+ * Getter always returns the OOXML wire string.
146
+ * Setting color without a prior `borderType` defaults the edge to single so the edge serializes.
147
+ */
148
+ get: function () {
149
+ var c = this.current().color;
150
+ return c !== undefined ? c : DEFAULT_COLOR;
151
+ },
152
+ set: function (value) {
153
+ var wire = borderColorToWire(value);
154
+ var cur = this.current();
155
+ this.commit({
156
+ style: this.styleWireForCommit(cur),
157
+ color: wire,
158
+ size: cur.size,
159
+ space: cur.space,
160
+ shadow: cur.shadow,
161
+ });
162
+ },
163
+ enumerable: true,
164
+ configurable: true
165
+ });
166
+ Object.defineProperty(Border.prototype, "lineWidth", {
167
+ /**
168
+ * Thickness in points (public); stored as eighths of a point on the wire.
169
+ * Setting lineWidth without a prior `borderType` defaults the edge to single so the edge serializes.
170
+ */
171
+ get: function () {
172
+ var size = this.current().size;
173
+ return size !== undefined ? size / 8 : DEFAULT_LINE_WIDTH;
174
+ },
175
+ set: function (value) {
176
+ requireFiniteNonNegative(value, 'Border lineWidth');
177
+ var cur = this.current();
178
+ this.commit({
179
+ style: this.styleWireForCommit(cur),
180
+ color: cur.color,
181
+ size: Math.round(value * 8),
182
+ space: cur.space,
183
+ shadow: cur.shadow,
184
+ });
185
+ },
186
+ enumerable: true,
187
+ configurable: true
188
+ });
189
+ Object.defineProperty(Border.prototype, "shadow", {
190
+ /** Shadow flag (`w:shadow`). */
191
+ get: function () {
192
+ var s = this.current().shadow;
193
+ return s !== undefined ? s : DEFAULT_SHADOW;
194
+ },
195
+ set: function (value) {
196
+ if (typeof value !== 'boolean') {
197
+ throw new RangeError('Border shadow must be a boolean');
198
+ }
199
+ var cur = this.current();
200
+ this.commit({
201
+ style: this.styleWireForCommit(cur),
202
+ color: cur.color,
203
+ size: cur.size,
204
+ space: cur.space,
205
+ shadow: value,
206
+ });
207
+ },
208
+ enumerable: true,
209
+ configurable: true
210
+ });
211
+ /**
212
+ * @private
213
+ * Internal edge space (points) used by Borders.space.
214
+ */
215
+ Border.prototype.readSpacePoints = function () {
216
+ var s = this.current().space;
217
+ return s !== undefined ? s : DEFAULT_SPACE;
218
+ };
219
+ /**
220
+ * @private
221
+ */
222
+ Border.prototype.writeSpacePoints = function (value) {
223
+ requireFiniteNonNegative(value, 'Borders space');
224
+ var cur = this.current();
225
+ this.commit({
226
+ style: this.styleWireForCommit(cur),
227
+ color: cur.color,
228
+ size: cur.size,
229
+ space: value,
230
+ shadow: cur.shadow,
231
+ });
232
+ };
233
+ return Border;
234
+ }());
235
+ export { Border };
236
+ /**
237
+ * Aggregate borders for a table or cell (no public diagonals).
238
+ *
239
+ * @public
240
+ */
241
+ var Borders = /** @class */ (function () {
242
+ /**
243
+ * @private
244
+ */
245
+ function Borders(host, includeInside) {
246
+ if (includeInside === void 0) { includeInside = true; }
247
+ this.host = host;
248
+ this.includeInside = includeInside;
249
+ this.topBorder = new Border(host, 'top');
250
+ this.bottomBorder = new Border(host, 'bottom');
251
+ this.leftBorder = new Border(host, 'left');
252
+ this.rightBorder = new Border(host, 'right');
253
+ this.horizontalBorder = new Border(host, 'insideH');
254
+ this.verticalBorder = new Border(host, 'insideV');
255
+ }
256
+ Object.defineProperty(Borders.prototype, "top", {
257
+ get: function () {
258
+ return this.topBorder;
259
+ },
260
+ enumerable: true,
261
+ configurable: true
262
+ });
263
+ Object.defineProperty(Borders.prototype, "bottom", {
264
+ get: function () {
265
+ return this.bottomBorder;
266
+ },
267
+ enumerable: true,
268
+ configurable: true
269
+ });
270
+ Object.defineProperty(Borders.prototype, "left", {
271
+ get: function () {
272
+ return this.leftBorder;
273
+ },
274
+ enumerable: true,
275
+ configurable: true
276
+ });
277
+ Object.defineProperty(Borders.prototype, "right", {
278
+ get: function () {
279
+ return this.rightBorder;
280
+ },
281
+ enumerable: true,
282
+ configurable: true
283
+ });
284
+ Object.defineProperty(Borders.prototype, "horizontal", {
285
+ get: function () {
286
+ return this.horizontalBorder;
287
+ },
288
+ enumerable: true,
289
+ configurable: true
290
+ });
291
+ Object.defineProperty(Borders.prototype, "vertical", {
292
+ get: function () {
293
+ return this.verticalBorder;
294
+ },
295
+ enumerable: true,
296
+ configurable: true
297
+ });
298
+ Borders.prototype.aggregateKeys = function () {
299
+ return this.includeInside ? ALL_EDGE_KEYS : OUTER_EDGE_KEYS;
300
+ };
301
+ Borders.prototype.edgeAt = function (key) {
302
+ return new Border(this.host, key);
303
+ };
304
+ Object.defineProperty(Borders.prototype, "borderType", {
305
+ /**
306
+ * Common border type across applicable edges.
307
+ * Mixed or absent edges return the public default (BorderStyle.None).
308
+ */
309
+ get: function () {
310
+ var keys = this.aggregateKeys();
311
+ var common;
312
+ var saw = false;
313
+ for (var i = 0; i < keys.length; i += 1) {
314
+ var t = this.edgeAt(keys[i]).borderType;
315
+ if (!saw) {
316
+ common = t;
317
+ saw = true;
318
+ }
319
+ else if (t !== common) {
320
+ return DEFAULT_BORDER_TYPE;
321
+ }
322
+ }
323
+ return common !== undefined ? common : DEFAULT_BORDER_TYPE;
324
+ },
325
+ set: function (value) {
326
+ if (!isBorderStyleValue(value)) {
327
+ throw new RangeError('Unsupported BorderStyle value');
328
+ }
329
+ var keys = this.aggregateKeys();
330
+ for (var i = 0; i < keys.length; i += 1) {
331
+ this.edgeAt(keys[i]).borderType = value;
332
+ }
333
+ },
334
+ enumerable: true,
335
+ configurable: true
336
+ });
337
+ Object.defineProperty(Borders.prototype, "color", {
338
+ /**
339
+ * Common border color across applicable edges.
340
+ * Mixed edges return the public default (`'auto'`).
341
+ * Setter accepts hex/`'auto'`, optional leading `#`, or a {@link Color} enum value.
342
+ */
343
+ get: function () {
344
+ var keys = this.aggregateKeys();
345
+ var common;
346
+ var saw = false;
347
+ for (var i = 0; i < keys.length; i += 1) {
348
+ var c = this.edgeAt(keys[i]).color;
349
+ if (!saw) {
350
+ common = c;
351
+ saw = true;
352
+ }
353
+ else if (c !== common) {
354
+ return DEFAULT_COLOR;
355
+ }
356
+ }
357
+ return common !== undefined ? common : DEFAULT_COLOR;
358
+ },
359
+ set: function (value) {
360
+ var keys = this.aggregateKeys();
361
+ for (var i = 0; i < keys.length; i += 1) {
362
+ this.edgeAt(keys[i]).color = value;
363
+ }
364
+ },
365
+ enumerable: true,
366
+ configurable: true
367
+ });
368
+ Object.defineProperty(Borders.prototype, "lineWidth", {
369
+ get: function () {
370
+ var keys = this.aggregateKeys();
371
+ var common;
372
+ var saw = false;
373
+ for (var i = 0; i < keys.length; i += 1) {
374
+ var w = this.edgeAt(keys[i]).lineWidth;
375
+ if (!saw) {
376
+ common = w;
377
+ saw = true;
378
+ }
379
+ else if (w !== common) {
380
+ return DEFAULT_LINE_WIDTH;
381
+ }
382
+ }
383
+ return common !== undefined ? common : DEFAULT_LINE_WIDTH;
384
+ },
385
+ set: function (value) {
386
+ requireFiniteNonNegative(value, 'Borders lineWidth');
387
+ var keys = this.aggregateKeys();
388
+ for (var i = 0; i < keys.length; i += 1) {
389
+ this.edgeAt(keys[i]).lineWidth = value;
390
+ }
391
+ },
392
+ enumerable: true,
393
+ configurable: true
394
+ });
395
+ Object.defineProperty(Borders.prototype, "space", {
396
+ /**
397
+ * Common edge w:space (points) across applicable edges.
398
+ * Mixed values return the public default 0.
399
+ */
400
+ get: function () {
401
+ var keys = this.aggregateKeys();
402
+ var common;
403
+ var saw = false;
404
+ for (var i = 0; i < keys.length; i += 1) {
405
+ var s = this.edgeAt(keys[i]).readSpacePoints();
406
+ if (!saw) {
407
+ common = s;
408
+ saw = true;
409
+ }
410
+ else if (s !== common) {
411
+ return DEFAULT_SPACE;
412
+ }
413
+ }
414
+ return common !== undefined ? common : DEFAULT_SPACE;
415
+ },
416
+ set: function (value) {
417
+ requireFiniteNonNegative(value, 'Borders space');
418
+ var keys = this.aggregateKeys();
419
+ for (var i = 0; i < keys.length; i += 1) {
420
+ this.edgeAt(keys[i]).writeSpacePoints(value);
421
+ }
422
+ },
423
+ enumerable: true,
424
+ configurable: true
425
+ });
426
+ Object.defineProperty(Borders.prototype, "shadow", {
427
+ get: function () {
428
+ var keys = this.aggregateKeys();
429
+ var common;
430
+ var saw = false;
431
+ for (var i = 0; i < keys.length; i += 1) {
432
+ var s = this.edgeAt(keys[i]).shadow;
433
+ if (!saw) {
434
+ common = s;
435
+ saw = true;
436
+ }
437
+ else if (s !== common) {
438
+ return DEFAULT_SHADOW;
439
+ }
440
+ }
441
+ return common !== undefined ? common : DEFAULT_SHADOW;
442
+ },
443
+ set: function (value) {
444
+ if (typeof value !== 'boolean') {
445
+ throw new RangeError('Borders shadow must be a boolean');
446
+ }
447
+ var keys = this.aggregateKeys();
448
+ for (var i = 0; i < keys.length; i += 1) {
449
+ this.edgeAt(keys[i]).shadow = value;
450
+ }
451
+ },
452
+ enumerable: true,
453
+ configurable: true
454
+ });
455
+ return Borders;
456
+ }());
457
+ export { Borders };
458
+ /**
459
+ * Host that reads/writes a full TableBorders bag via callbacks.
460
+ *
461
+ * @private
462
+ */
463
+ export function createTableBordersHost(read, write) {
464
+ return {
465
+ readEdge: function (key) {
466
+ var bag = read();
467
+ if (bag === undefined) {
468
+ return undefined;
469
+ }
470
+ return bag[key];
471
+ },
472
+ writeEdge: function (key, edge) {
473
+ var prev = read();
474
+ var next = prev !== undefined ? __assign({}, prev) : {};
475
+ var mutable = next;
476
+ if (edge === undefined) {
477
+ delete mutable[key];
478
+ }
479
+ else {
480
+ mutable[key] = edge;
481
+ }
482
+ var has = next.top !== undefined ||
483
+ next.bottom !== undefined ||
484
+ next.left !== undefined ||
485
+ next.right !== undefined ||
486
+ next.insideH !== undefined ||
487
+ next.insideV !== undefined;
488
+ write(has ? next : undefined);
489
+ },
490
+ };
491
+ }
492
+ /**
493
+ * Host for cell borders; preserves diagonal edges when rewriting.
494
+ *
495
+ * @private
496
+ */
497
+ export function createCellBordersHost(read, write) {
498
+ return {
499
+ readEdge: function (key) {
500
+ var bag = read();
501
+ if (bag === undefined) {
502
+ return undefined;
503
+ }
504
+ return bag[key];
505
+ },
506
+ writeEdge: function (key, edge) {
507
+ var prev = read();
508
+ var next = prev !== undefined ? __assign({}, prev) : {};
509
+ var mutable = next;
510
+ if (edge === undefined) {
511
+ delete mutable[key];
512
+ }
513
+ else {
514
+ mutable[key] = edge;
515
+ }
516
+ var has = next.top !== undefined ||
517
+ next.bottom !== undefined ||
518
+ next.left !== undefined ||
519
+ next.right !== undefined ||
520
+ next.insideH !== undefined ||
521
+ next.insideV !== undefined ||
522
+ next.tl2br !== undefined ||
523
+ next.tr2bl !== undefined;
524
+ write(has ? next : undefined);
525
+ },
526
+ };
527
+ }