@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,450 @@
1
+ /**
2
+ * Raw DEFLATE inflater (ZIP method 8 / RFC 1951).
3
+ * Browser-safe and synchronous: no Node `zlib`. Output is capped so a
4
+ * zip-bomb still surfaces as `RangeError` (read.ts maps that to a limit).
5
+ */
6
+ var MAX_BITS = 15;
7
+ var LENGTH_BASE = [
8
+ 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,
9
+ 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258,
10
+ ];
11
+ var LENGTH_EXTRA = [
12
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2,
13
+ 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0,
14
+ ];
15
+ var DIST_BASE = [
16
+ 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,
17
+ 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577,
18
+ ];
19
+ var DIST_EXTRA = [
20
+ 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6,
21
+ 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13,
22
+ ];
23
+ var BitReader = /** @class */ (function () {
24
+ function BitReader(input) {
25
+ this.input = input;
26
+ this.buffer = 0;
27
+ this.bitsLeft = 0;
28
+ this.offset = 0;
29
+ }
30
+ BitReader.prototype.bits = function (count) {
31
+ while (this.bitsLeft < count) {
32
+ if (this.offset >= this.input.length) {
33
+ throw new Error('Truncated DEFLATE stream');
34
+ }
35
+ this.buffer |= this.input[this.offset++] << this.bitsLeft;
36
+ this.bitsLeft += 8;
37
+ }
38
+ var value = this.buffer & ((1 << count) - 1);
39
+ this.buffer >>>= count;
40
+ this.bitsLeft -= count;
41
+ return value;
42
+ };
43
+ BitReader.prototype.align = function () {
44
+ this.buffer = 0;
45
+ this.bitsLeft = 0;
46
+ };
47
+ BitReader.prototype.bytes = function (length) {
48
+ this.align();
49
+ if (this.offset + length > this.input.length) {
50
+ throw new Error('Truncated DEFLATE stored block');
51
+ }
52
+ var slice = this.input.subarray(this.offset, this.offset + length);
53
+ this.offset += length;
54
+ return slice;
55
+ };
56
+ BitReader.prototype.u16 = function () {
57
+ this.align();
58
+ if (this.offset + 2 > this.input.length) {
59
+ throw new Error('Truncated DEFLATE stored block');
60
+ }
61
+ var value = this.input[this.offset] | (this.input[this.offset + 1] << 8);
62
+ this.offset += 2;
63
+ return value;
64
+ };
65
+ return BitReader;
66
+ }());
67
+ /** Canonical Huffman table. Codes are decoded MSB-first as RFC 1951 specifies. */
68
+ var Huffman = /** @class */ (function () {
69
+ function Huffman(lengths) {
70
+ this.counts = [];
71
+ this.firstCode = [];
72
+ this.symbolIndex = [];
73
+ var counts = [];
74
+ for (var i = 0; i <= MAX_BITS; i++) {
75
+ counts[i] = 0;
76
+ }
77
+ for (var i = 0; i < lengths.length; i++) {
78
+ var length_1 = lengths[i];
79
+ if (length_1 > MAX_BITS) {
80
+ throw new Error('Invalid DEFLATE Huffman length');
81
+ }
82
+ if (length_1 > 0) {
83
+ counts[length_1] += 1;
84
+ }
85
+ }
86
+ var nextCode = [];
87
+ var code = 0;
88
+ counts[0] = 0;
89
+ for (var bits = 1; bits <= MAX_BITS; bits++) {
90
+ code = (code + counts[bits - 1]) << 1;
91
+ nextCode[bits] = code;
92
+ this.firstCode[bits] = code;
93
+ this.counts[bits] = counts[bits];
94
+ }
95
+ this.symbolIndex = [];
96
+ for (var bits = 0; bits <= MAX_BITS; bits++) {
97
+ this.symbolIndex[bits] = 0;
98
+ }
99
+ var offset = 0;
100
+ for (var bits = 1; bits <= MAX_BITS; bits++) {
101
+ this.symbolIndex[bits] = offset;
102
+ offset += counts[bits];
103
+ }
104
+ this.symbols = [];
105
+ for (var i = 0; i < lengths.length; i++) {
106
+ this.symbols[i] = 0;
107
+ }
108
+ for (var symbol = 0; symbol < lengths.length; symbol++) {
109
+ var length_2 = lengths[symbol];
110
+ if (length_2 !== 0) {
111
+ var index = this.symbolIndex[length_2] + (nextCode[length_2] - this.firstCode[length_2]);
112
+ this.symbols[index] = symbol;
113
+ nextCode[length_2] += 1;
114
+ }
115
+ }
116
+ }
117
+ Huffman.prototype.decode = function (reader) {
118
+ var code = 0;
119
+ for (var length_3 = 1; length_3 <= MAX_BITS; length_3++) {
120
+ code = (code << 1) | reader.bits(1);
121
+ var count = this.counts[length_3];
122
+ if (count === 0) {
123
+ continue;
124
+ }
125
+ var first = this.firstCode[length_3];
126
+ if (code >= first && code < first + count) {
127
+ return this.symbols[this.symbolIndex[length_3] + (code - first)];
128
+ }
129
+ }
130
+ throw new Error('Invalid DEFLATE Huffman code');
131
+ };
132
+ return Huffman;
133
+ }());
134
+ function fixedLiteral() {
135
+ var lengths = [];
136
+ for (var i = 0; i < 288; i++) {
137
+ lengths[i] = i < 144 ? 8 : i < 256 ? 9 : i < 280 ? 7 : 8;
138
+ }
139
+ return new Huffman(lengths);
140
+ }
141
+ function fixedDistance() {
142
+ var lengths = [];
143
+ for (var i = 0; i < 30; i++) {
144
+ lengths[i] = 5;
145
+ }
146
+ return new Huffman(lengths);
147
+ }
148
+ var FIXED_LITERAL = fixedLiteral();
149
+ var FIXED_DISTANCE = fixedDistance();
150
+ function dynamicTables(reader) {
151
+ var nlen = reader.bits(5) + 257;
152
+ var ndist = reader.bits(5) + 1;
153
+ var ncode = reader.bits(4) + 4;
154
+ if (nlen > 286 || ndist > 30) {
155
+ throw new Error('Invalid DEFLATE dynamic Huffman header');
156
+ }
157
+ var order = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];
158
+ var codeLengths = [];
159
+ for (var i = 0; i < 19; i++) {
160
+ codeLengths[i] = 0;
161
+ }
162
+ for (var i = 0; i < ncode; i++) {
163
+ codeLengths[order[i]] = reader.bits(3);
164
+ }
165
+ var codeTree = new Huffman(codeLengths);
166
+ var lengths = [];
167
+ while (lengths.length < nlen + ndist) {
168
+ var symbol = codeTree.decode(reader);
169
+ if (symbol < 16) {
170
+ lengths.push(symbol);
171
+ continue;
172
+ }
173
+ var repeat = 0;
174
+ var value = 0;
175
+ if (symbol === 16) {
176
+ if (lengths.length === 0) {
177
+ throw new Error('Invalid DEFLATE length repeat');
178
+ }
179
+ value = lengths[lengths.length - 1];
180
+ repeat = reader.bits(2) + 3;
181
+ }
182
+ else if (symbol === 17) {
183
+ repeat = reader.bits(3) + 3;
184
+ }
185
+ else {
186
+ repeat = reader.bits(7) + 11;
187
+ }
188
+ if (lengths.length + repeat > nlen + ndist) {
189
+ throw new Error('Invalid DEFLATE length repeat');
190
+ }
191
+ for (var i = 0; i < repeat; i++) {
192
+ lengths.push(value);
193
+ }
194
+ }
195
+ return {
196
+ literal: new Huffman(lengths.slice(0, nlen)),
197
+ distance: new Huffman(lengths.slice(nlen)),
198
+ };
199
+ }
200
+ var InflateOutput = /** @class */ (function () {
201
+ function InflateOutput(maxOutputLength) {
202
+ this.maxOutputLength = maxOutputLength;
203
+ this.bytes = new Uint8Array(256);
204
+ this.length = 0;
205
+ }
206
+ InflateOutput.prototype.push = function (byte) {
207
+ this.ensure(1);
208
+ this.bytes[this.length++] = byte;
209
+ };
210
+ InflateOutput.prototype.copy = function (distance, length) {
211
+ if (distance <= 0 || distance > this.length) {
212
+ throw new Error('Invalid DEFLATE distance');
213
+ }
214
+ this.ensure(length);
215
+ var start = this.length - distance;
216
+ for (var i = 0; i < length; i++) {
217
+ this.bytes[this.length++] = this.bytes[start + i];
218
+ }
219
+ };
220
+ InflateOutput.prototype.finish = function () {
221
+ return this.bytes.slice(0, this.length);
222
+ };
223
+ InflateOutput.prototype.ensure = function (extra) {
224
+ if (this.length + extra > this.maxOutputLength) {
225
+ throw new RangeError('Inflated size exceeds limit ' + String(this.maxOutputLength));
226
+ }
227
+ if (this.length + extra <= this.bytes.length) {
228
+ return;
229
+ }
230
+ var next = this.bytes.length;
231
+ while (next < this.length + extra) {
232
+ next *= 2;
233
+ }
234
+ if (next > this.maxOutputLength) {
235
+ next = this.maxOutputLength;
236
+ }
237
+ var grown = new Uint8Array(next);
238
+ grown.set(this.bytes.subarray(0, this.length));
239
+ this.bytes = grown;
240
+ };
241
+ return InflateOutput;
242
+ }());
243
+ function inflateCodes(reader, output, literal, distance) {
244
+ for (;;) {
245
+ var symbol = literal.decode(reader);
246
+ if (symbol < 256) {
247
+ output.push(symbol);
248
+ continue;
249
+ }
250
+ if (symbol === 256) {
251
+ return;
252
+ }
253
+ if (symbol > 285) {
254
+ throw new Error('Invalid DEFLATE length symbol');
255
+ }
256
+ var lengthIndex = symbol - 257;
257
+ var length_4 = LENGTH_BASE[lengthIndex] + reader.bits(LENGTH_EXTRA[lengthIndex]);
258
+ var distSymbol = distance.decode(reader);
259
+ if (distSymbol > 29) {
260
+ throw new Error('Invalid DEFLATE distance symbol');
261
+ }
262
+ var dist = DIST_BASE[distSymbol] + reader.bits(DIST_EXTRA[distSymbol]);
263
+ output.copy(dist, length_4);
264
+ }
265
+ }
266
+ /**
267
+ * Inflate a raw DEFLATE payload. Throws `RangeError` when the inflated
268
+ * size would exceed `maxOutputLength`.
269
+ */
270
+ export function inflateRaw(compressed, maxOutputLength) {
271
+ var reader = new BitReader(compressed);
272
+ var output = new InflateOutput(maxOutputLength);
273
+ var finalBlock = 0;
274
+ do {
275
+ finalBlock = reader.bits(1);
276
+ var type = reader.bits(2);
277
+ if (type === 0) {
278
+ var length_5 = reader.u16();
279
+ var complement = reader.u16();
280
+ if ((length_5 ^ 0xffff) !== complement) {
281
+ throw new Error('Invalid DEFLATE stored-block length');
282
+ }
283
+ var bytes = reader.bytes(length_5);
284
+ for (var i = 0; i < bytes.length; i++) {
285
+ output.push(bytes[i]);
286
+ }
287
+ }
288
+ else if (type === 1) {
289
+ inflateCodes(reader, output, FIXED_LITERAL, FIXED_DISTANCE);
290
+ }
291
+ else if (type === 2) {
292
+ var tables = dynamicTables(reader);
293
+ inflateCodes(reader, output, tables.literal, tables.distance);
294
+ }
295
+ else {
296
+ throw new Error('Invalid DEFLATE block type');
297
+ }
298
+ } while (finalBlock === 0);
299
+ return output.finish();
300
+ }
301
+ /**
302
+ * Bit packer for a single fixed-Huffman raw DEFLATE block.
303
+ * Codes are written LSB-first, matching RFC 1951.
304
+ */
305
+ var BitWriter = /** @class */ (function () {
306
+ function BitWriter() {
307
+ this.bytes = [];
308
+ this.buffer = 0;
309
+ this.bitsLeft = 0;
310
+ }
311
+ BitWriter.prototype.bits = function (value, count) {
312
+ this.buffer |= (value & ((1 << count) - 1)) << this.bitsLeft;
313
+ this.bitsLeft += count;
314
+ while (this.bitsLeft >= 8) {
315
+ this.bytes.push(this.buffer & 0xff);
316
+ this.buffer >>>= 8;
317
+ this.bitsLeft -= 8;
318
+ }
319
+ };
320
+ /** Write a canonical code MSB-first into the LSB-first bit stream. */
321
+ BitWriter.prototype.code = function (value, length) {
322
+ var reversed = 0;
323
+ for (var i = 0; i < length; i++) {
324
+ reversed = (reversed << 1) | (value & 1);
325
+ value >>>= 1;
326
+ }
327
+ this.bits(reversed, length);
328
+ };
329
+ BitWriter.prototype.finish = function () {
330
+ if (this.bitsLeft > 0) {
331
+ this.bytes.push(this.buffer & 0xff);
332
+ }
333
+ return Uint8Array.from(this.bytes);
334
+ };
335
+ return BitWriter;
336
+ }());
337
+ function fixedLiteralCode(symbol) {
338
+ if (symbol < 144) {
339
+ return { code: 0x30 + symbol, length: 8 };
340
+ }
341
+ if (symbol < 256) {
342
+ return { code: 0x190 + (symbol - 144), length: 9 };
343
+ }
344
+ if (symbol < 280) {
345
+ return { code: symbol - 256, length: 7 };
346
+ }
347
+ return { code: 0xc0 + (symbol - 280), length: 8 };
348
+ }
349
+ function writeFixedSymbol(writer, symbol) {
350
+ var encoded = fixedLiteralCode(symbol);
351
+ writer.code(encoded.code, encoded.length);
352
+ }
353
+ /** Length symbols 257–285. Distance symbol 0 (distance 1) is a 5-bit zero code. */
354
+ function writeMatch(writer, length) {
355
+ var symbol = 285;
356
+ var extraBits = 0;
357
+ var extra = 0;
358
+ if (length < 258) {
359
+ for (var index = 0; index < LENGTH_BASE.length; index++) {
360
+ var base = LENGTH_BASE[index];
361
+ var bits = LENGTH_EXTRA[index];
362
+ var span = 1 << bits;
363
+ if (length >= base && length < base + span) {
364
+ symbol = 257 + index;
365
+ extraBits = bits;
366
+ extra = length - base;
367
+ break;
368
+ }
369
+ }
370
+ }
371
+ writeFixedSymbol(writer, symbol);
372
+ if (extraBits > 0) {
373
+ writer.bits(extra, extraBits);
374
+ }
375
+ writer.code(0, 5);
376
+ }
377
+ /**
378
+ * Encode `data` as one raw DEFLATE fixed-Huffman block (RFC 1951 type 1)
379
+ * plus length-3 distance-1 matches for runs. Repeated bytes shrink enough
380
+ * for the zip-bomb fixture; incompressible input falls back to stored blocks.
381
+ * OPC save itself writes ZIP method STORE and does not call this.
382
+ */
383
+ export function deflateRaw(data) {
384
+ if (data.length === 0) {
385
+ return Uint8Array.of(0x01, 0x00, 0x00, 0xff, 0xff);
386
+ }
387
+ var writer = new BitWriter();
388
+ writer.bits(1, 1);
389
+ writer.bits(1, 2);
390
+ var i = 0;
391
+ while (i < data.length) {
392
+ var byte = data[i];
393
+ var run = 1;
394
+ while (i + run < data.length && data[i + run] === byte && run < 258) {
395
+ run += 1;
396
+ }
397
+ if (i > 0 && data[i - 1] === byte && run >= 3) {
398
+ while (run >= 3) {
399
+ var emit = run > 258 ? 258 : run;
400
+ writeMatch(writer, emit);
401
+ i += emit;
402
+ run -= emit;
403
+ }
404
+ continue;
405
+ }
406
+ writeFixedSymbol(writer, byte);
407
+ i += 1;
408
+ if (run >= 4) {
409
+ var remaining = run - 1;
410
+ var emit = remaining > 258 ? 258 : remaining;
411
+ writeMatch(writer, emit);
412
+ i += emit;
413
+ }
414
+ }
415
+ writeFixedSymbol(writer, 256);
416
+ var compressed = writer.finish();
417
+ if (compressed.length >= data.length) {
418
+ return storedDeflate(data);
419
+ }
420
+ return compressed;
421
+ }
422
+ function storedDeflate(data) {
423
+ var parts = [];
424
+ var offset = 0;
425
+ while (offset < data.length) {
426
+ var remaining = data.length - offset;
427
+ var length_6 = remaining > 65535 ? 65535 : remaining;
428
+ var isLast = offset + length_6 >= data.length;
429
+ var header = new Uint8Array(5);
430
+ header[0] = isLast ? 1 : 0;
431
+ header[1] = length_6 & 0xff;
432
+ header[2] = (length_6 >> 8) & 0xff;
433
+ var complement = length_6 ^ 0xffff;
434
+ header[3] = complement & 0xff;
435
+ header[4] = (complement >> 8) & 0xff;
436
+ parts.push(header, data.subarray(offset, offset + length_6));
437
+ offset += length_6;
438
+ }
439
+ var total = 0;
440
+ for (var i = 0; i < parts.length; i++) {
441
+ total += parts[i].length;
442
+ }
443
+ var out = new Uint8Array(total);
444
+ var cursor = 0;
445
+ for (var i = 0; i < parts.length; i++) {
446
+ out.set(parts[i], cursor);
447
+ cursor += parts[i].length;
448
+ }
449
+ return out;
450
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * ZIP item names map to OPC logical names by adding a leading `/`
3
+ * (ECMA-376-2 §7.3.5). Reject traversal and filesystem-absolute names before
4
+ * inflate (`.agent/policies/security.md`).
5
+ */
6
+ export declare function assertSafeZipItemName(name: string): void;
@@ -0,0 +1,52 @@
1
+ var __values = (this && this.__values) || function (o) {
2
+ var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
3
+ if (m) return m.call(o);
4
+ return {
5
+ next: function () {
6
+ if (o && i >= o.length) o = void 0;
7
+ return { value: o && o[i++], done: !o };
8
+ }
9
+ };
10
+ };
11
+ import { PackageError } from '../errors/docx-error';
12
+ /**
13
+ * ZIP item names map to OPC logical names by adding a leading `/`
14
+ * (ECMA-376-2 §7.3.5). Reject traversal and filesystem-absolute names before
15
+ * inflate (`.agent/policies/security.md`).
16
+ */
17
+ export function assertSafeZipItemName(name) {
18
+ var e_1, _a;
19
+ if (name.length === 0) {
20
+ throw new PackageError('package/invalid-part-name', 'ZIP item name is empty');
21
+ }
22
+ if (name.includes('\0')) {
23
+ throw new PackageError('package/invalid-part-name', 'ZIP item name contains a NUL');
24
+ }
25
+ // split/join: String.replaceAll is ES2021 and is not rewritten by target ES5.
26
+ var withForwardSlashes = name.split('\\').join('/');
27
+ if (withForwardSlashes.startsWith('/') || name.startsWith('\\')) {
28
+ throw new PackageError('package/invalid-part-name', "ZIP item name is an absolute path: " + name);
29
+ }
30
+ if (/^[a-zA-Z]:/.test(name)) {
31
+ throw new PackageError('package/invalid-part-name', "ZIP item name has a drive letter: " + name);
32
+ }
33
+ if (withForwardSlashes.startsWith('//')) {
34
+ throw new PackageError('package/invalid-part-name', "ZIP item name is a UNC path: " + name);
35
+ }
36
+ var segments = withForwardSlashes.split('/');
37
+ try {
38
+ for (var segments_1 = __values(segments), segments_1_1 = segments_1.next(); !segments_1_1.done; segments_1_1 = segments_1.next()) {
39
+ var segment = segments_1_1.value;
40
+ if (segment === '..') {
41
+ throw new PackageError('package/invalid-part-name', "ZIP item name contains '..': " + name);
42
+ }
43
+ }
44
+ }
45
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
46
+ finally {
47
+ try {
48
+ if (segments_1_1 && !segments_1_1.done && (_a = segments_1.return)) _a.call(segments_1);
49
+ }
50
+ finally { if (e_1) throw e_1.error; }
51
+ }
52
+ }
@@ -0,0 +1,8 @@
1
+ import { ResourceLimitOverrides } from '../security/limits';
2
+ import { ZipEntry } from './zip-entry';
3
+ /**
4
+ * Reads a ZIP archive entirely in memory. Does not write to the filesystem.
5
+ * ZIP item names are those stored in the archive (ECMA-376-2 §7.3.3), not OPC
6
+ * logical part names (no leading slash in the ZIP item).
7
+ */
8
+ export declare function readZip(bytes: Uint8Array, limitOverrides?: ResourceLimitOverrides): ReadonlyArray<ZipEntry>;