@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,423 @@
1
+ /**
2
+ * Pure list label computation for {@link Paragraph.listString}.
3
+ *
4
+ * @private
5
+ */
6
+ import { visitParagraphsInDocumentOrder } from '../../core/registry/index';
7
+ import { Paragraph } from '../document/paragraph';
8
+ import { numberingFor } from './index';
9
+ function numberingCatalog(document) {
10
+ return numberingFor(document);
11
+ }
12
+ /**
13
+ * Compute the display string for a paragraph's list label without mutating state.
14
+ *
15
+ * @private
16
+ */
17
+ export function computeListString(paragraph) {
18
+ var listId = paragraph.numId;
19
+ if (listId === undefined) {
20
+ return '';
21
+ }
22
+ var doc;
23
+ try {
24
+ doc = paragraph.owningDocument();
25
+ }
26
+ catch (_a) {
27
+ return '';
28
+ }
29
+ var numbering;
30
+ try {
31
+ numbering = numberingCatalog(doc);
32
+ }
33
+ catch (_b) {
34
+ return '';
35
+ }
36
+ var instance = numbering.getNumbering(listId);
37
+ if (instance === undefined) {
38
+ return '';
39
+ }
40
+ var abstract = numbering.getAbstractNumbering(instance.abstractNumId);
41
+ if (abstract === undefined) {
42
+ return '';
43
+ }
44
+ var targetLevel = paragraph.listLevel !== undefined ? paragraph.listLevel : 0;
45
+ var counters = new Map();
46
+ var result = '';
47
+ visitParagraphsInDocumentOrder(doc, function (p) {
48
+ if (p.numId === undefined) {
49
+ return;
50
+ }
51
+ var numId = p.numId;
52
+ var inst = numbering.getNumbering(numId);
53
+ if (inst === undefined) {
54
+ return;
55
+ }
56
+ var abs = numbering.getAbstractNumbering(inst.abstractNumId);
57
+ if (abs === undefined) {
58
+ return;
59
+ }
60
+ var ilvl = p.listLevel !== undefined ? p.listLevel : 0;
61
+ var key = String(numId);
62
+ var state = counters.get(key);
63
+ if (state === undefined) {
64
+ state = [0, 0, 0, 0, 0, 0, 0, 0, 0];
65
+ // Initialize from start values
66
+ for (var i = 0; i < 9; i += 1) {
67
+ state[i] = resolveStart(inst, abs.levels, i) - 1;
68
+ }
69
+ counters.set(key, state);
70
+ }
71
+ // Restart deeper levels when a shallower level advances
72
+ for (var i = ilvl + 1; i < 9; i += 1) {
73
+ var restart = resolveRestartLevel(abs.levels, i);
74
+ if (restart <= ilvl) {
75
+ state[i] = resolveStart(inst, abs.levels, i) - 1;
76
+ }
77
+ }
78
+ state[ilvl] = (state[ilvl] !== undefined ? state[ilvl] : 0) + 1;
79
+ if (p === paragraph) {
80
+ result = renderLabel(abs.levels, inst, ilvl, state);
81
+ }
82
+ });
83
+ return result;
84
+ }
85
+ Object.defineProperty(Paragraph.prototype, 'listString', {
86
+ get: function () {
87
+ return computeListString(this);
88
+ },
89
+ configurable: true,
90
+ });
91
+ function resolveStart(instance, levels, ilvl) {
92
+ var override = instance.levelOverrides.find(function (entry) { return entry.ilvl === ilvl; });
93
+ if (override !== undefined && override.startOverride !== undefined) {
94
+ return override.startOverride;
95
+ }
96
+ var level = resolveLevel(instance, levels, ilvl);
97
+ if (level !== undefined && level.start !== undefined) {
98
+ return level.start;
99
+ }
100
+ return 1;
101
+ }
102
+ function resolveRestartLevel(levels, ilvl) {
103
+ var level = levels.find(function (entry) { return entry.ilvl === ilvl; });
104
+ if (level === undefined) {
105
+ return ilvl;
106
+ }
107
+ var extras = level.getExtras();
108
+ for (var i = 0; i < extras.length; i += 1) {
109
+ var extra = extras[i];
110
+ if (extra.localName === 'lvlRestart') {
111
+ for (var a = 0; a < extra.attributes.length; a += 1) {
112
+ var attr = extra.attributes[a];
113
+ if (attr.localName === 'val' && /^\d+$/.test(attr.value)) {
114
+ return parseInt(attr.value, 10);
115
+ }
116
+ }
117
+ }
118
+ }
119
+ return ilvl;
120
+ }
121
+ function resolveLevel(instance, levels, ilvl) {
122
+ var override = instance.levelOverrides.find(function (entry) { return entry.ilvl === ilvl; });
123
+ if (override !== undefined && override.level !== undefined) {
124
+ return override.level;
125
+ }
126
+ var found = levels.find(function (entry) { return entry.ilvl === ilvl; });
127
+ if (found !== undefined) {
128
+ return found;
129
+ }
130
+ return levels.length > 0 ? levels[0] : undefined;
131
+ }
132
+ function renderLabel(levels, instance, ilvl, counters) {
133
+ var level = resolveLevel(instance, levels, ilvl);
134
+ if (level === undefined) {
135
+ return '';
136
+ }
137
+ var numFmt = level.numFmt !== undefined ? level.numFmt : 'decimal';
138
+ if (numFmt === 'bullet') {
139
+ return level.lvlText !== undefined ? level.lvlText : '';
140
+ }
141
+ if (numFmt === 'none') {
142
+ return '';
143
+ }
144
+ var pattern = level.lvlText !== undefined ? level.lvlText : '%' + String(ilvl + 1);
145
+ var isLegal = level.isLgl === true;
146
+ // Expand %1..%9
147
+ var out = '';
148
+ for (var i = 0; i < pattern.length; i += 1) {
149
+ var ch = pattern.charAt(i);
150
+ if (ch === '%' && i + 1 < pattern.length) {
151
+ var digit = pattern.charAt(i + 1);
152
+ if (digit >= '1' && digit <= '9') {
153
+ var idx = parseInt(digit, 10) - 1;
154
+ var n = counters[idx] !== undefined ? counters[idx] : 0;
155
+ var fmt = numFmt;
156
+ if (idx !== ilvl) {
157
+ var other = resolveLevel(instance, levels, idx);
158
+ fmt = other !== undefined && other.numFmt !== undefined ? other.numFmt : 'decimal';
159
+ }
160
+ if (isLegal) {
161
+ fmt = 'decimal';
162
+ }
163
+ out += formatNumber(n, fmt);
164
+ i += 1;
165
+ continue;
166
+ }
167
+ }
168
+ out += ch;
169
+ }
170
+ return out;
171
+ }
172
+ function formatNumber(n, numFmt) {
173
+ if (n < 0) {
174
+ n = 0;
175
+ }
176
+ switch (numFmt) {
177
+ case 'decimal':
178
+ return String(n);
179
+ case 'decimalZero':
180
+ return n < 10 ? '0' + String(n) : String(n);
181
+ case 'upperRoman':
182
+ return toRoman(n).toUpperCase();
183
+ case 'lowerRoman':
184
+ return toRoman(n).toLowerCase();
185
+ case 'upperLetter':
186
+ return toLetters(n).toUpperCase();
187
+ case 'lowerLetter':
188
+ return toLetters(n).toLowerCase();
189
+ case 'ordinal':
190
+ return toOrdinal(n);
191
+ case 'ordinalText':
192
+ return toOrdinalText(n);
193
+ case 'cardinalText':
194
+ return toCardinalText(n);
195
+ case 'bullet':
196
+ return '';
197
+ case 'none':
198
+ return '';
199
+ case 'decimalEnclosedParen':
200
+ return '(' + String(n) + ')';
201
+ case 'decimalEnclosedFullstop':
202
+ return String(n) + '.';
203
+ case 'decimalEnclosedCircle':
204
+ case 'decimalEnclosedCircleChinese':
205
+ return enclosedCircle(n);
206
+ case 'decimalFullWidth':
207
+ return toFullWidthDecimal(n);
208
+ case 'decimalHalfWidth':
209
+ return String(n);
210
+ case 'hebrew1':
211
+ case 'hebrew2':
212
+ return toHebrew(n);
213
+ case 'hindiNumbers':
214
+ return toHindiDigits(n);
215
+ case 'hindiCounting':
216
+ return toCardinalText(n);
217
+ case 'hindiVowels':
218
+ case 'hindiConsonants':
219
+ return toLetters(n).toLowerCase();
220
+ case 'chineseCounting':
221
+ case 'chineseCountingThousand':
222
+ case 'chineseLegalSimplified':
223
+ case 'japaneseCounting':
224
+ case 'japaneseDigitalTenThousand':
225
+ case 'japaneseLegal':
226
+ case 'koreanCounting':
227
+ case 'koreanDigital':
228
+ case 'koreanDigital2':
229
+ case 'koreanLegal':
230
+ case 'taiwaneseCounting':
231
+ case 'taiwaneseCountingThousand':
232
+ case 'taiwaneseDigital':
233
+ case 'ideographTraditional':
234
+ case 'ideographZodiac':
235
+ case 'ideographZodiacTraditional':
236
+ case 'ideographEnclosedCircle':
237
+ return String(n);
238
+ case 'aiueo':
239
+ case 'aiueoFullWidth':
240
+ return toAiueo(n);
241
+ case 'iroha':
242
+ case 'irohaFullWidth':
243
+ return toIroha(n);
244
+ case 'ganada':
245
+ case 'chosung':
246
+ return toLetters(n).toLowerCase();
247
+ default:
248
+ return String(n);
249
+ }
250
+ }
251
+ function toRoman(num) {
252
+ if (num <= 0) {
253
+ return String(num);
254
+ }
255
+ var vals = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1];
256
+ var syms = ['M', 'CM', 'D', 'CD', 'C', 'XC', 'L', 'XL', 'X', 'IX', 'V', 'IV', 'I'];
257
+ var n = num;
258
+ var out = '';
259
+ for (var i = 0; i < vals.length; i += 1) {
260
+ while (n >= vals[i]) {
261
+ out += syms[i];
262
+ n -= vals[i];
263
+ }
264
+ }
265
+ return out;
266
+ }
267
+ function toLetters(num) {
268
+ if (num <= 0) {
269
+ return String(num);
270
+ }
271
+ var n = num;
272
+ var out = '';
273
+ while (n > 0) {
274
+ n -= 1;
275
+ out = String.fromCharCode(97 + (n % 26)) + out;
276
+ n = Math.floor(n / 26);
277
+ }
278
+ return out;
279
+ }
280
+ function toOrdinal(n) {
281
+ var mod100 = n % 100;
282
+ if (mod100 >= 11 && mod100 <= 13) {
283
+ return String(n) + 'th';
284
+ }
285
+ switch (n % 10) {
286
+ case 1:
287
+ return String(n) + 'st';
288
+ case 2:
289
+ return String(n) + 'nd';
290
+ case 3:
291
+ return String(n) + 'rd';
292
+ default:
293
+ return String(n) + 'th';
294
+ }
295
+ }
296
+ var ONES = [
297
+ 'zero',
298
+ 'one',
299
+ 'two',
300
+ 'three',
301
+ 'four',
302
+ 'five',
303
+ 'six',
304
+ 'seven',
305
+ 'eight',
306
+ 'nine',
307
+ 'ten',
308
+ 'eleven',
309
+ 'twelve',
310
+ 'thirteen',
311
+ 'fourteen',
312
+ 'fifteen',
313
+ 'sixteen',
314
+ 'seventeen',
315
+ 'eighteen',
316
+ 'nineteen',
317
+ ];
318
+ var TENS = ['', '', 'twenty', 'thirty', 'forty', 'fifty', 'sixty', 'seventy', 'eighty', 'ninety'];
319
+ function toCardinalText(n) {
320
+ if (n < 0) {
321
+ return String(n);
322
+ }
323
+ if (n < 20) {
324
+ return ONES[n];
325
+ }
326
+ if (n < 100) {
327
+ var t = Math.floor(n / 10);
328
+ var o = n % 10;
329
+ return o === 0 ? TENS[t] : TENS[t] + '-' + ONES[o];
330
+ }
331
+ if (n < 1000) {
332
+ var h = Math.floor(n / 100);
333
+ var rest = n % 100;
334
+ return rest === 0 ? ONES[h] + ' hundred' : ONES[h] + ' hundred ' + toCardinalText(rest);
335
+ }
336
+ return String(n);
337
+ }
338
+ function toOrdinalText(n) {
339
+ var card = toCardinalText(n);
340
+ if (card === 'one') {
341
+ return 'first';
342
+ }
343
+ if (card === 'two') {
344
+ return 'second';
345
+ }
346
+ if (card === 'three') {
347
+ return 'third';
348
+ }
349
+ if (card === 'five') {
350
+ return 'fifth';
351
+ }
352
+ if (card === 'eight') {
353
+ return 'eighth';
354
+ }
355
+ if (card === 'nine') {
356
+ return 'ninth';
357
+ }
358
+ if (card === 'twelve') {
359
+ return 'twelfth';
360
+ }
361
+ if (card.charAt(card.length - 1) === 'y') {
362
+ return card.substring(0, card.length - 1) + 'ieth';
363
+ }
364
+ return card + 'th';
365
+ }
366
+ function toHebrew(n) {
367
+ // Best-effort decimal fallback with Hebrew letter mapping for 1-10
368
+ var map = ['', 'א', 'ב', 'ג', 'ד', 'ה', 'ו', 'ז', 'ח', 'ט', 'י'];
369
+ if (n >= 1 && n <= 10) {
370
+ return map[n];
371
+ }
372
+ return String(n);
373
+ }
374
+ function toHindiDigits(n) {
375
+ var digits = String(n);
376
+ var out = '';
377
+ for (var i = 0; i < digits.length; i += 1) {
378
+ var code = digits.charCodeAt(i);
379
+ if (code >= 48 && code <= 57) {
380
+ out += String.fromCharCode(0x0966 + (code - 48));
381
+ }
382
+ else {
383
+ out += digits.charAt(i);
384
+ }
385
+ }
386
+ return out;
387
+ }
388
+ function toFullWidthDecimal(n) {
389
+ var digits = String(n);
390
+ var out = '';
391
+ for (var i = 0; i < digits.length; i += 1) {
392
+ var code = digits.charCodeAt(i);
393
+ if (code >= 48 && code <= 57) {
394
+ out += String.fromCharCode(0xff10 + (code - 48));
395
+ }
396
+ else {
397
+ out += digits.charAt(i);
398
+ }
399
+ }
400
+ return out;
401
+ }
402
+ function enclosedCircle(n) {
403
+ if (n >= 1 && n <= 20) {
404
+ return String.fromCharCode(0x2460 + n - 1);
405
+ }
406
+ return String(n);
407
+ }
408
+ var AIUEO = 'あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん';
409
+ function toAiueo(n) {
410
+ if (n <= 0) {
411
+ return String(n);
412
+ }
413
+ var idx = (n - 1) % AIUEO.length;
414
+ return AIUEO.charAt(idx);
415
+ }
416
+ var IROHA = 'いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす';
417
+ function toIroha(n) {
418
+ if (n <= 0) {
419
+ return String(n);
420
+ }
421
+ var idx = (n - 1) % IROHA.length;
422
+ return IROHA.charAt(idx);
423
+ }
@@ -0,0 +1,204 @@
1
+ import { WordDocument } from '../document/document';
2
+ import { CharacterFormat, CharacterFormatHost } from '../document/character-format';
3
+ import { ParagraphFormat, ParagraphFormatHost } from '../document/paragraph-format';
4
+ import { NumberingLevel } from './numbering-level';
5
+ /** Minimal numbering catalog surface used by list-style. */
6
+ interface NumberingCatalog {
7
+ allocateAbstractNumId(): number;
8
+ registerAbstract(abstract: import('./abstract-numbering').AbstractNumbering): void;
9
+ markDirty(): void;
10
+ readonly abstractNumberings: ReadonlyArray<{
11
+ readonly abstractNumId: number;
12
+ readonly styleLink: string | undefined;
13
+ readonly name: string | undefined;
14
+ readonly numStyleLink: string | undefined;
15
+ }>;
16
+ }
17
+ /**
18
+ * High-level list category for {@link WordDocument.addListStyle}.
19
+ *
20
+ * @public
21
+ */
22
+ export declare enum ListType {
23
+ Bulleted = "bulleted",
24
+ Numbered = "numbered"
25
+ }
26
+ /**
27
+ * Number / bullet pattern for a list level (`w:numFmt`).
28
+ *
29
+ * @public
30
+ */
31
+ export declare enum ListPatternType {
32
+ Arabic = "arabic",
33
+ LeadingZero = "leadingZero",
34
+ Letter = "letter",
35
+ LetterLow = "letterLow",
36
+ Roman = "roman",
37
+ RomanLow = "romanLow",
38
+ Ordinal = "ordinal",
39
+ OrdinalText = "ordinalText",
40
+ CardinalText = "cardinalText",
41
+ Bullet = "bullet",
42
+ NoNumber = "noNumber",
43
+ FarEast = "farEast",
44
+ Special = "special",
45
+ Hebrew1 = "hebrew1",
46
+ Hebrew2 = "hebrew2",
47
+ HindiArabic = "hindiArabic",
48
+ HindiCardinalText = "hindiCardinalText",
49
+ HindiLetter1 = "hindiLetter1",
50
+ HindiLetter2 = "hindiLetter2",
51
+ ChineseCounting = "chineseCounting",
52
+ ChineseCountingThousand = "chineseCountingThousand",
53
+ ChineseLegalSimplified = "chineseLegalSimplified",
54
+ JapaneseCounting = "japaneseCounting",
55
+ JapaneseDigitalTenThousand = "japaneseDigitalTenThousand",
56
+ JapaneseLegal = "japaneseLegal",
57
+ KoreanCounting = "koreanCounting",
58
+ KoreanDigital = "koreanDigital",
59
+ KoreanDigital2 = "koreanDigital2",
60
+ KoreanLegal = "koreanLegal",
61
+ Aiueo = "aiueo",
62
+ AiueoFullWidth = "aiueoFullWidth",
63
+ Iroha = "iroha",
64
+ IrohaFullWidth = "irohaFullWidth",
65
+ Ganada = "ganada",
66
+ Chosung = "chosung",
67
+ DecimalEnclosedCircle = "decimalEnclosedCircle",
68
+ DecimalFullWidth = "decimalFullWidth",
69
+ DecimalHalfWidth = "decimalHalfWidth",
70
+ DecimalEnclosedFullstop = "decimalEnclosedFullstop",
71
+ DecimalEnclosedParen = "decimalEnclosedParen",
72
+ DecimalEnclosedCircleChinese = "decimalEnclosedCircleChinese",
73
+ IdeographEnclosedCircle = "ideographEnclosedCircle",
74
+ IdeographTraditional = "ideographTraditional",
75
+ IdeographZodiac = "ideographZodiac",
76
+ IdeographZodiacTraditional = "ideographZodiacTraditional",
77
+ TaiwaneseCounting = "taiwaneseCounting",
78
+ TaiwaneseCountingThousand = "taiwaneseCountingThousand",
79
+ TaiwaneseDigital = "taiwaneseDigital",
80
+ None = "none",
81
+ Custom = "custom"
82
+ }
83
+ /**
84
+ * Character inserted after the list label (`w:suff`).
85
+ *
86
+ * @public
87
+ */
88
+ export declare enum FollowCharacterType {
89
+ Tab = "tab",
90
+ Space = "space",
91
+ Nothing = "nothing"
92
+ }
93
+ /**
94
+ * Horizontal alignment of the list number (`w:lvlJc`).
95
+ *
96
+ * @public
97
+ */
98
+ export declare enum ListNumberAlignment {
99
+ Left = "left",
100
+ Center = "center",
101
+ Right = "right"
102
+ }
103
+ /**
104
+ * Live list level facade over a {@link NumberingLevel}.
105
+ *
106
+ * @public
107
+ */
108
+ export declare class ListLevel implements CharacterFormatHost, ParagraphFormatHost {
109
+ private readonly owner;
110
+ private readonly level;
111
+ private readonly characterFormatValue;
112
+ private readonly paragraphFormatValue;
113
+ private suppressDirty;
114
+ /**
115
+ * @private
116
+ */
117
+ constructor(owner: ListStyle, level: NumberingLevel);
118
+ /** Owning list style. */
119
+ readonly listStyle: ListStyle;
120
+ /** Zero-based level index. */
121
+ readonly levelNumber: number;
122
+ patternType: ListPatternType;
123
+ startAt: number;
124
+ levelText: string;
125
+ numberPrefix: string;
126
+ numberSuffix: string;
127
+ bulletCharacter: string;
128
+ followCharacter: FollowCharacterType;
129
+ numberAlignment: ListNumberAlignment;
130
+ tabSpaceAfter: number;
131
+ numberPosition: number;
132
+ textPosition: number;
133
+ restartLevel: number;
134
+ isLegalStyleNumbering: boolean;
135
+ linkedParagraphStyleName: string;
136
+ readonly characterFormat: CharacterFormat;
137
+ readonly paragraphFormat: ParagraphFormat;
138
+ /** @private */
139
+ notifyCharacterFormatMutation(): void;
140
+ /** @private */
141
+ notifyParagraphFormatMutation(): void;
142
+ private hydrateFormatsFromLevel;
143
+ private markDirty;
144
+ }
145
+ /**
146
+ * Nine-level collection for a {@link ListStyle}.
147
+ *
148
+ * @public
149
+ */
150
+ export declare class ListLevelCollection {
151
+ private readonly items;
152
+ /**
153
+ * @private
154
+ */
155
+ constructor(items: ListLevel[]);
156
+ readonly count: number;
157
+ getItem(index: number): ListLevel;
158
+ }
159
+ /**
160
+ * Public custom list style facade.
161
+ *
162
+ * @public
163
+ */
164
+ export declare class ListStyle {
165
+ private readonly document;
166
+ private readonly styleIdValue;
167
+ private readonly displayName;
168
+ private readonly listTypeValue;
169
+ private readonly abstractNumId;
170
+ private readonly levelsValue;
171
+ /**
172
+ * @private
173
+ */
174
+ constructor(init: {
175
+ document: WordDocument;
176
+ styleId: string;
177
+ displayName: string;
178
+ listType: ListType;
179
+ abstractNumId: number;
180
+ levels: ListLevel[];
181
+ });
182
+ readonly name: string;
183
+ readonly listType: ListType;
184
+ readonly levels: ListLevelCollection;
185
+ /** @private */
186
+ readonly styleId: string;
187
+ /** @private */
188
+ readonly abstractId: number;
189
+ /** @private */
190
+ markNumberingDirty(): void;
191
+ }
192
+ /**
193
+ * Create a custom list style on the document.
194
+ *
195
+ * @public
196
+ */
197
+ export declare function addListStyle(document: WordDocument, listType: ListType, styleName: string): ListStyle;
198
+ /**
199
+ * Resolve abstract num id for a numbering style (styleLink / name).
200
+ *
201
+ * @private
202
+ */
203
+ export declare function findAbstractForListStyle(numbering: NumberingCatalog, styleId: string, displayName: string | undefined): number | undefined;
204
+ export {};