@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,396 @@
1
+ /**
2
+ * `wps:spPr` fill/line/geometry codec (TASK-8048).
3
+ *
4
+ * Schema cites (transitional `dml-main.xsd`; ECMA-376-1 §20.1):
5
+ * - `CT_ShapeProperties` sequence: `a:xfrm`, `EG_Geometry` (`custGeom` |
6
+ * `prstGeom`), `EG_FillProperties`, `a:ln`, `EG_EffectProperties`, `scene3d`,
7
+ * `sp3d`, `extLst`
8
+ * - `CT_PresetGeometry2D`: `@prst` (`ST_ShapeType`) + `a:avLst` child
9
+ * - `CT_NoFillProperties` (empty); `CT_SolidColorFillProperties` (single
10
+ * `EG_ColorChoice` child — `a:srgbClr` here)
11
+ * - `CT_LineProperties` sequence: `EG_LineFillProperties`, `EG_LineDashProperties`
12
+ * (`a:prstDash @val` `ST_PresetLineDashVal`), `EG_LineJoinProperties`,
13
+ * `a:headEnd`/`a:tailEnd` (`CT_LineEndProperties` `@type` `ST_LineEndType`);
14
+ * `@w` (`ST_LineWidth` EMU 0…20116800), `@cap` (`ST_LineCap`)
15
+ * - `a:headEnd`/`a:tailEnd` arrow types are schema tokens (`ST_LineEndType`).
16
+ * ShapeRequirements Arrow Settings (begin/end type + size) maps to these;
17
+ * sizes (`sm|med|lg`) are residual-OK for MVP but the type enums are modeled.
18
+ * - `wps:style` `lnRef`/`fillRef`/`effectRef`/`fontRef` — theme formatting is
19
+ * **residual**: getters return `undefined`/`'theme'` discriminant instead of
20
+ * inventing solid colors (GO: don't invent theme resolution).
21
+ *
22
+ * Unknown fill kinds (`gradFill`, `blipFill`, `pattFill`, `grpFill`) and effect
23
+ * siblings (`effectLst`, `scene3d`, `sp3d`) stay residual — GO Q9 deferred.
24
+ *
25
+ * @packageDocumentation
26
+ */
27
+ import { Emus } from '../document/length';
28
+ import { OpenXmlElement } from '../../core/xml/index';
29
+ /**
30
+ * DrawingML line preset dash (`ST_PresetLineDashVal` / `a:prstDash/@val`).
31
+ *
32
+ * Members are schema wire tokens. Prefer these constants over raw strings.
33
+ *
34
+ * @public
35
+ */
36
+ /**
37
+ * DrawingML line dash style for public LineFormat APIs.
38
+ *
39
+ * Preset members match `ST_PresetLineDashVal` / `a:prstDash/@val` wire tokens.
40
+ * `Unknown` is model-only (custom dash, residual, or unrecognized). Never
41
+ * serialize `Unknown` as `a:prstDash/@val`.
42
+ *
43
+ * @public
44
+ */
45
+ export declare const LineDashing: {
46
+ Solid: "solid";
47
+ Dot: "dot";
48
+ Dash: "dash";
49
+ LargeDash: "lgDash";
50
+ DashDot: "dashDot";
51
+ LargeDashDot: "lgDashDot";
52
+ LargeDashDotDot: "lgDashDotDot";
53
+ SystemDash: "sysDash";
54
+ SystemDot: "sysDot";
55
+ SystemDashDot: "sysDashDot";
56
+ SystemDashDotDot: "sysDashDotDot";
57
+ Unknown: "unknown";
58
+ };
59
+ /**
60
+ * One of the `LineDashing` tokens.
61
+ * @public
62
+ */
63
+ export declare type LineDashing = (typeof LineDashing)[keyof typeof LineDashing];
64
+ /**
65
+ * Closed set of public LineDashing values.
66
+ * @public
67
+ */
68
+ export declare const LINE_DASHING_VALUES: ReadonlyArray<"unknown" | "dash" | "dot" | "solid" | "lgDash" | "dashDot" | "lgDashDot" | "lgDashDotDot" | "sysDash" | "sysDot" | "sysDashDot" | "sysDashDotDot">;
69
+ /**
70
+ * Whether `value` is a public LineDashing token (including Unknown).
71
+ * @public
72
+ */
73
+ export declare function isLineDashing(value: string): value is LineDashing;
74
+ /**
75
+ * Specifies how open line ends are capped (`ST_LineCap` / `a:ln/@cap`).
76
+ *
77
+ * Prefer these constants over raw strings when setting line cap style.
78
+ *
79
+ * @public
80
+ */
81
+ export declare const LineCap: {
82
+ /**
83
+ * Round cap at each open end of the stroke.
84
+ * @public
85
+ */
86
+ Round: "rnd";
87
+ /**
88
+ * Square cap extending half the line width past each open end.
89
+ * @public
90
+ */
91
+ Square: "sq";
92
+ /**
93
+ * Flat cap that ends exactly at the line endpoint.
94
+ * @public
95
+ */
96
+ Flat: "flat";
97
+ };
98
+ /**
99
+ * One of the `LineCap` tokens.
100
+ * @public
101
+ */
102
+ export declare type LineCap = (typeof LineCap)[keyof typeof LineCap];
103
+ /**
104
+ * Closed set of `ST_LineCap` wire tokens.
105
+ * @public
106
+ */
107
+ export declare const LINE_CAP_VALUES: ReadonlyArray<"rnd" | "sq" | "flat">;
108
+ /**
109
+ * Specifies the arrowhead shape drawn at the beginning or end of a line
110
+ * (`ST_LineEndType` / `a:headEnd|a:tailEnd/@type`).
111
+ *
112
+ * Prefer these constants over raw strings when setting line end type.
113
+ *
114
+ * @public
115
+ */
116
+ export declare const LineEndType: {
117
+ /**
118
+ * No arrowhead at the line end.
119
+ * @public
120
+ */
121
+ None: "none";
122
+ /**
123
+ * Filled triangular arrowhead.
124
+ * @public
125
+ */
126
+ Triangle: "triangle";
127
+ /**
128
+ * Stealth (indented) arrowhead.
129
+ * @public
130
+ */
131
+ Stealth: "stealth";
132
+ /**
133
+ * Diamond-shaped line end marker.
134
+ * @public
135
+ */
136
+ Diamond: "diamond";
137
+ /**
138
+ * Oval line end marker.
139
+ * @public
140
+ */
141
+ Oval: "oval";
142
+ /**
143
+ * Open arrowhead.
144
+ * @public
145
+ */
146
+ Arrow: "arrow";
147
+ };
148
+ /**
149
+ * One of the `LineEndType` tokens.
150
+ * @public
151
+ */
152
+ export declare type LineEndType = (typeof LineEndType)[keyof typeof LineEndType];
153
+ /**
154
+ * Closed set of `ST_LineEndType` wire tokens.
155
+ * @public
156
+ */
157
+ export declare const LINE_END_TYPE_VALUES: ReadonlyArray<"none" | "triangle" | "diamond" | "stealth" | "oval" | "arrow">;
158
+ /**
159
+ * DrawingML arrow end size tokens (`ST_LineEndWidth` / `ST_LineEndLength`).
160
+ * @public
161
+ */
162
+ export declare const LINE_END_SIZE_VALUES: ReadonlyArray<"sm" | "med" | "lg">;
163
+ /**
164
+ * DrawingML arrow end size (`sm` | `med` | `lg`).
165
+ * @public
166
+ */
167
+ export declare type LineEndSize = (typeof LINE_END_SIZE_VALUES)[number];
168
+ /**
169
+ * Shape line fill kind discriminant (`EG_LineFillProperties` MVP).
170
+ *
171
+ * Members are model tokens (not a single XSD enum). Prefer these constants
172
+ * over raw strings when authoring {@link ShapeLine}.
173
+ *
174
+ * @public
175
+ */
176
+ export declare const ShapeLineKind: {
177
+ Solid: "solid";
178
+ None: "none";
179
+ Theme: "theme";
180
+ Unknown: "unknown";
181
+ };
182
+ /**
183
+ * One of the `ShapeLineKind` tokens.
184
+ * @public
185
+ */
186
+ export declare type ShapeLineKind = (typeof ShapeLineKind)[keyof typeof ShapeLineKind];
187
+ /**
188
+ * Whether `value` is a schema `ST_LineCap` token.
189
+ *
190
+ * @private
191
+ */
192
+ export declare function isLineCap(value: string): value is LineCap;
193
+ /**
194
+ * Whether `value` is a schema `ST_LineEndType` token.
195
+ *
196
+ * @private
197
+ */
198
+ export declare function isLineEndType(value: string): value is LineEndType;
199
+ /**
200
+ * Whether `value` is a schema `ST_LineEndWidth`/`ST_LineEndLength` token.
201
+ *
202
+ * @private
203
+ */
204
+ export declare function isLineEndSize(value: string): value is LineEndSize;
205
+ /**
206
+ * Shape fill model (`EG_FillProperties` MVP subset).
207
+ *
208
+ * Discriminated by `kind`:
209
+ * - `solid` — explicit `a:solidFill` with six-digit sRGB
210
+ * - `none` — `a:noFill`
211
+ * - `theme` — theme reference only (`wps:style` / non-sRGB color choice); not resolved
212
+ * - `pattern` — residual `a:pattFill` (preset token when present)
213
+ * - `unknown` — other residual fill kinds (`gradFill`, `blipFill`, `grpFill`, …)
214
+ *
215
+ * Only `solid` and `none` are authorable on {@link ShapeOptions.fill}.
216
+ *
217
+ * @public
218
+ */
219
+ export declare type ShapeFill = {
220
+ readonly kind: 'solid';
221
+ readonly srgb: string;
222
+ /**
223
+ * DrawingML `a:alpha/@val` (0…100000 = 0%…100% opacity).
224
+ * Omitted means fully opaque.
225
+ * @private
226
+ */
227
+ readonly alpha?: number | undefined;
228
+ } | {
229
+ readonly kind: 'none';
230
+ } | {
231
+ readonly kind: 'theme';
232
+ } | {
233
+ readonly kind: 'pattern';
234
+ readonly preset: string | undefined;
235
+ } | {
236
+ readonly kind: 'unknown';
237
+ };
238
+ /**
239
+ * Shape line model (`CT_LineProperties` MVP subset).
240
+ *
241
+ * Discriminated by {@link ShapeLine.kind}. Only `solid` and `none` are
242
+ * authorable on {@link ShapeOptions.line}. Theme and unknown paths preserve
243
+ * residual markup without inventing colors or dash styles.
244
+ *
245
+ * Arrow begin/end types map to `a:headEnd`/`a:tailEnd` (`ST_LineEndType`).
246
+ * Dash maps to `a:prstDash` (`ST_LineDashingVal`); custom dash stays residual.
247
+ *
248
+ * @public
249
+ */
250
+ export interface ShapeLine {
251
+ /**
252
+ * Line fill kind (`solid` | `none` | `theme` | `unknown`).
253
+ * Prefer {@link ShapeLineKind} constants when authoring.
254
+ */
255
+ readonly kind: ShapeLineKind;
256
+ /**
257
+ * `a:ln/@w` width in EMU (`ST_LineWidth`, 0…20116800).
258
+ *
259
+ * @private
260
+ */
261
+ readonly widthEmu: Emus | undefined;
262
+ /** `a:ln/a:solidFill/a:srgbClr/@val` when line is solid (six hex digits). */
263
+ readonly srgbColor: string | undefined;
264
+ /**
265
+ * DrawingML `a:alpha/@val` under line solid fill (0…100000 opacity).
266
+ * @private
267
+ */
268
+ readonly alpha: number | undefined;
269
+ /** `a:ln/a:prstDash/@val` (`ST_LineDashingVal`). Prefer {@link LineDashing}. */
270
+ readonly dash: LineDashing | undefined;
271
+ /** `a:ln/@cap` (`ST_LineCap`). Prefer {@link LineCap}. */
272
+ readonly cap: LineCap | undefined;
273
+ /** `a:ln/a:headEnd/@type` (`ST_LineEndType`). Prefer {@link LineEndType}. */
274
+ readonly beginArrowType: LineEndType | undefined;
275
+ /** `a:ln/a:headEnd/@w` (`ST_LineEndWidth`). */
276
+ readonly beginArrowSize: LineEndSize | undefined;
277
+ /** `a:ln/a:tailEnd/@type` (`ST_LineEndType`). Prefer {@link LineEndType}. */
278
+ readonly endArrowType: LineEndType | undefined;
279
+ /** `a:ln/a:tailEnd/@w` (and length when paired; see OOXML mapping). */
280
+ readonly endArrowSize: LineEndSize | undefined;
281
+ /**
282
+ * True when residual line markup is present (`a:custDash`, unmodeled join, …)
283
+ * and the line is not fully represented by the typed fields.
284
+ *
285
+ * @private
286
+ */
287
+ readonly residual: boolean;
288
+ }
289
+ /**
290
+ * @private
291
+ * Geometry + fill + line state read from `wps:spPr`. */
292
+ export interface ShapePropertiesState {
293
+ /** `a:prstGeom/@prst` (validated ST_ShapeType); `custGeom` reads `undefined`. */
294
+ readonly presetGeometry: string | undefined;
295
+ readonly useCustomGeometry: boolean;
296
+ readonly fill: ShapeFill | undefined;
297
+ readonly line: ShapeLine | undefined;
298
+ /** Theme formatting present (`wps:style` sibling). */
299
+ readonly hasThemeStyle: boolean;
300
+ }
301
+ /**
302
+ * Shallow child lookup under `root` (direct element children only).
303
+ * Use for children of a known `wps:spPr` or `a:ln` parent.
304
+ *
305
+ * @private
306
+ */
307
+ export declare function findSpPrElement(root: OpenXmlElement, namespaceUri: string, localName: string): OpenXmlElement | undefined;
308
+ /**
309
+ * Read the sRGB color from a `CT_SolidColorFillProperties` (or `a:ln` fill).
310
+ * Only `a:srgbClr` is typed (GO MVP); other `EG_ColorChoice` members read as
311
+ * theme-ish `undefined` so the typed surface never invents values.
312
+ */
313
+ export declare function solidFillSrgb(parent: OpenXmlElement): string | undefined;
314
+ /**
315
+ * Read DrawingML `a:alpha/@val` under a solid-fill parent (0…100000 opacity units).
316
+ * @private
317
+ */
318
+ export declare function solidFillAlpha(parent: OpenXmlElement): number | undefined;
319
+ /**
320
+ * Convert public transparency percent (0–100) to DrawingML alpha (0–100000 opacity).
321
+ * @private
322
+ */
323
+ export declare function transparencyToAlpha(transparency: number): number;
324
+ /**
325
+ * Convert DrawingML alpha (0–100000 opacity) to public transparency percent (0–100).
326
+ * @private
327
+ */
328
+ export declare function alphaToTransparency(alpha: number | undefined): number;
329
+ /**
330
+ * Read `wps:spPr` geometry/fill/line MVP state.
331
+ *
332
+ * Residual hosts are dual MC AlternateContent trees (`w:drawing` /
333
+ * `mc:AlternateContent` / `mc:Choice` / `wp:anchor` / `a:graphic` /
334
+ * `wps:wsp`), so `wps:spPr` and sibling `wps:style` are located with a deep
335
+ * walk. Children of the found `spPr` stay shallow.
336
+ *
337
+ * Cites: `CT_ShapeProperties` sequence + `EG_FillProperties`/`CT_LineProperties`
338
+ * (dml-main.xsd); `wps:style` residual theme formatting (CT_ShapeStyle).
339
+ */
340
+ export declare function readShapePropertiesState(residual: OpenXmlElement): ShapePropertiesState;
341
+ /**
342
+ * Build the fill element for modeled fill MVP. Throws on non-solid/none kinds
343
+ * (those go through residual).
344
+ */
345
+ export declare function buildFillElement(fill: ShapeFill): OpenXmlElement;
346
+ /**
347
+ * Build `a:ln` from the modeled MVP subset; residual line children (join,
348
+ * custDash) are not re-emitted on this path.
349
+ */
350
+ export declare function buildLineElement(line: {
351
+ readonly kind: 'solid' | 'none';
352
+ readonly widthEmu?: Emus | undefined;
353
+ readonly srgb?: string | undefined;
354
+ readonly alpha?: number | undefined;
355
+ readonly dash?: LineDashing | undefined;
356
+ readonly cap?: LineCap | undefined;
357
+ readonly beginArrowType?: LineEndType | undefined;
358
+ readonly beginArrowSize?: LineEndSize | undefined;
359
+ readonly endArrowType?: LineEndType | undefined;
360
+ readonly endArrowSize?: LineEndSize | undefined;
361
+ }): OpenXmlElement;
362
+ /**
363
+ * Compound line style for shape outlines (public model).
364
+ * Single is the only modeled style in the current codec; other values stay residual-safe.
365
+ * @public
366
+ */
367
+ export declare const LineStyle: {
368
+ Single: "single";
369
+ };
370
+ /** @public */
371
+ export declare type LineStyle = (typeof LineStyle)[keyof typeof LineStyle];
372
+ /**
373
+ * Arrowhead style at a line end. Maps 1:1 to DrawingML `ST_LineEndType`.
374
+ * @public
375
+ */
376
+ export declare const ArrowheadStyle: {
377
+ None: "none";
378
+ Triangle: "triangle";
379
+ Stealth: "stealth";
380
+ Diamond: "diamond";
381
+ Oval: "oval";
382
+ Arrow: "arrow";
383
+ };
384
+ /** @public */
385
+ export declare type ArrowheadStyle = (typeof ArrowheadStyle)[keyof typeof ArrowheadStyle];
386
+ /**
387
+ * Arrowhead size (`ST_LineEndWidth` / `ST_LineEndLength`).
388
+ * @public
389
+ */
390
+ export declare const ArrowheadSize: {
391
+ Small: "sm";
392
+ Medium: "med";
393
+ Large: "lg";
394
+ };
395
+ /** @public */
396
+ export declare type ArrowheadSize = (typeof ArrowheadSize)[keyof typeof ArrowheadSize];