@syncfusion/ej2-docx 0.0.0-stage → 35.1.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (416) hide show
  1. package/README.md +68 -2
  2. package/core.js +4 -0
  3. package/dist/ej2-docx.umd.min.js +2 -0
  4. package/dist/ej2-docx.umd.min.js.map +1 -0
  5. package/dist/es6/ej2-docx.es2015.js +66697 -0
  6. package/dist/es6/ej2-docx.es2015.js.map +1 -0
  7. package/dist/es6/ej2-docx.es5.js +77568 -0
  8. package/dist/es6/ej2-docx.es5.js.map +1 -0
  9. package/dist/global/ej2-docx.min.js +2 -0
  10. package/dist/global/ej2-docx.min.js.map +1 -0
  11. package/dist/global/index.d.ts +5 -0
  12. package/features.js +4 -0
  13. package/index.js +4 -0
  14. package/license +10 -0
  15. package/package.json +31 -4
  16. package/src/all.d.ts +50 -0
  17. package/src/all.js +147 -0
  18. package/src/core/compat/base64.d.ts +13 -0
  19. package/src/core/compat/base64.js +90 -0
  20. package/src/core/compat/object-compat.d.ts +30 -0
  21. package/src/core/compat/object-compat.js +40 -0
  22. package/src/core/compat/sha256.d.ts +9 -0
  23. package/src/core/compat/sha256.js +98 -0
  24. package/src/core/errors/docx-error.d.ts +89 -0
  25. package/src/core/errors/docx-error.js +138 -0
  26. package/src/core/errors/error-codes.d.ts +8 -0
  27. package/src/core/errors/error-codes.js +0 -0
  28. package/src/core/errors/index.d.ts +10 -0
  29. package/src/core/errors/index.js +9 -0
  30. package/src/core/index.d.ts +12 -0
  31. package/src/core/index.js +12 -0
  32. package/src/core/mc/alternate-content.d.ts +7 -0
  33. package/src/core/mc/alternate-content.js +67 -0
  34. package/src/core/mc/attributes.d.ts +24 -0
  35. package/src/core/mc/attributes.js +82 -0
  36. package/src/core/mc/index.d.ts +7 -0
  37. package/src/core/mc/index.js +5 -0
  38. package/src/core/mc/inspect.d.ts +16 -0
  39. package/src/core/mc/inspect.js +148 -0
  40. package/src/core/mc/namespaces.d.ts +4 -0
  41. package/src/core/mc/namespaces.js +4 -0
  42. package/src/core/mc/scope.d.ts +6 -0
  43. package/src/core/mc/scope.js +47 -0
  44. package/src/core/opc/content-types.d.ts +34 -0
  45. package/src/core/opc/content-types.js +162 -0
  46. package/src/core/opc/index.d.ts +8 -0
  47. package/src/core/opc/index.js +4 -0
  48. package/src/core/opc/package.d.ts +49 -0
  49. package/src/core/opc/package.js +324 -0
  50. package/src/core/opc/part-name.d.ts +47 -0
  51. package/src/core/opc/part-name.js +205 -0
  52. package/src/core/opc/relationships.d.ts +46 -0
  53. package/src/core/opc/relationships.js +212 -0
  54. package/src/core/preservation/index.d.ts +2 -0
  55. package/src/core/preservation/index.js +1 -0
  56. package/src/core/preservation/opaque-body.d.ts +16 -0
  57. package/src/core/preservation/opaque-body.js +69 -0
  58. package/src/core/registry/block-handlers.d.ts +30 -0
  59. package/src/core/registry/block-handlers.js +36 -0
  60. package/src/core/registry/create-defaults.d.ts +39 -0
  61. package/src/core/registry/create-defaults.js +42 -0
  62. package/src/core/registry/feature-registry.d.ts +20 -0
  63. package/src/core/registry/feature-registry.js +29 -0
  64. package/src/core/registry/index.d.ts +9 -0
  65. package/src/core/registry/index.js +8 -0
  66. package/src/core/registry/inline-handlers.d.ts +20 -0
  67. package/src/core/registry/inline-handlers.js +30 -0
  68. package/src/core/registry/materialize-handlers.d.ts +35 -0
  69. package/src/core/registry/materialize-handlers.js +75 -0
  70. package/src/core/registry/multi-part-handlers.d.ts +37 -0
  71. package/src/core/registry/multi-part-handlers.js +206 -0
  72. package/src/core/registry/package-part-handlers.d.ts +28 -0
  73. package/src/core/registry/package-part-handlers.js +190 -0
  74. package/src/core/registry/part-handlers.d.ts +24 -0
  75. package/src/core/registry/part-handlers.js +172 -0
  76. package/src/core/registry/run-leaf-handlers.d.ts +26 -0
  77. package/src/core/registry/run-leaf-handlers.js +72 -0
  78. package/src/core/security/limits.d.ts +40 -0
  79. package/src/core/security/limits.js +26 -0
  80. package/src/core/xml/index.d.ts +7 -0
  81. package/src/core/xml/index.js +3 -0
  82. package/src/core/xml/model.d.ts +66 -0
  83. package/src/core/xml/model.js +17 -0
  84. package/src/core/xml/parse.d.ts +12 -0
  85. package/src/core/xml/parse.js +382 -0
  86. package/src/core/xml/serialize.d.ts +6 -0
  87. package/src/core/xml/serialize.js +93 -0
  88. package/src/core/zip/crc32.d.ts +2 -0
  89. package/src/core/zip/crc32.js +25 -0
  90. package/src/core/zip/deflate.d.ts +6 -0
  91. package/src/core/zip/deflate.js +6 -0
  92. package/src/core/zip/index.d.ts +10 -0
  93. package/src/core/zip/index.js +4 -0
  94. package/src/core/zip/inflate-raw.d.ts +17 -0
  95. package/src/core/zip/inflate-raw.js +450 -0
  96. package/src/core/zip/names.d.ts +6 -0
  97. package/src/core/zip/names.js +52 -0
  98. package/src/core/zip/read.d.ts +8 -0
  99. package/src/core/zip/read.js +262 -0
  100. package/src/core/zip/write.d.ts +7 -0
  101. package/src/core/zip/write.js +189 -0
  102. package/src/core/zip/zip-entry.d.ts +4 -0
  103. package/src/core/zip/zip-entry.js +0 -0
  104. package/src/features/bibliography/index.d.ts +100 -0
  105. package/src/features/bibliography/index.js +290 -0
  106. package/src/features/bookmarks/index.d.ts +331 -0
  107. package/src/features/bookmarks/index.js +1009 -0
  108. package/src/features/comments/comment-extensions.d.ts +157 -0
  109. package/src/features/comments/comment-extensions.js +356 -0
  110. package/src/features/comments/index.d.ts +579 -0
  111. package/src/features/comments/index.js +1727 -0
  112. package/src/features/content-controls/index.d.ts +821 -0
  113. package/src/features/content-controls/index.js +2857 -0
  114. package/src/features/custom-xml/index.d.ts +236 -0
  115. package/src/features/custom-xml/index.js +661 -0
  116. package/src/features/document/alignment.d.ts +23 -0
  117. package/src/features/document/alignment.js +36 -0
  118. package/src/features/document/alt-chunk.d.ts +103 -0
  119. package/src/features/document/alt-chunk.js +221 -0
  120. package/src/features/document/assert-never.d.ts +1 -0
  121. package/src/features/document/assert-never.js +4 -0
  122. package/src/features/document/augmentations.d.ts +578 -0
  123. package/src/features/document/augmentations.js +0 -0
  124. package/src/features/document/body-always-on.d.ts +36 -0
  125. package/src/features/document/body-always-on.js +66 -0
  126. package/src/features/document/body-blocks.d.ts +7 -0
  127. package/src/features/document/body-blocks.js +78 -0
  128. package/src/features/document/body-item-adapters.d.ts +62 -0
  129. package/src/features/document/body-item-adapters.js +97 -0
  130. package/src/features/document/body-item-collection.d.ts +151 -0
  131. package/src/features/document/body-item-collection.js +440 -0
  132. package/src/features/document/body-item.d.ts +35 -0
  133. package/src/features/document/body-item.js +8 -0
  134. package/src/features/document/body.d.ts +150 -0
  135. package/src/features/document/body.js +263 -0
  136. package/src/features/document/character-format.d.ts +413 -0
  137. package/src/features/document/character-format.js +2054 -0
  138. package/src/features/document/color.d.ts +178 -0
  139. package/src/features/document/color.js +495 -0
  140. package/src/features/document/document.d.ts +410 -0
  141. package/src/features/document/document.js +1049 -0
  142. package/src/features/document/element-type.d.ts +68 -0
  143. package/src/features/document/element-type.js +133 -0
  144. package/src/features/document/entity-type.d.ts +92 -0
  145. package/src/features/document/entity-type.js +93 -0
  146. package/src/features/document/feature-block.d.ts +16 -0
  147. package/src/features/document/feature-block.js +0 -0
  148. package/src/features/document/feature-inline.d.ts +13 -0
  149. package/src/features/document/feature-inline.js +0 -0
  150. package/src/features/document/feature-multi-package-part.d.ts +19 -0
  151. package/src/features/document/feature-multi-package-part.js +8 -0
  152. package/src/features/document/feature-package-level-part.d.ts +18 -0
  153. package/src/features/document/feature-package-level-part.js +8 -0
  154. package/src/features/document/feature-package-part.d.ts +14 -0
  155. package/src/features/document/feature-package-part.js +0 -0
  156. package/src/features/document/feature-run-leaf.d.ts +9 -0
  157. package/src/features/document/feature-run-leaf.js +0 -0
  158. package/src/features/document/headers-footers.d.ts +206 -0
  159. package/src/features/document/headers-footers.js +384 -0
  160. package/src/features/document/index.d.ts +41 -0
  161. package/src/features/document/index.js +34 -0
  162. package/src/features/document/length.d.ts +152 -0
  163. package/src/features/document/length.js +245 -0
  164. package/src/features/document/load-options.d.ts +14 -0
  165. package/src/features/document/load-options.js +0 -0
  166. package/src/features/document/locale-ids.d.ts +227 -0
  167. package/src/features/document/locale-ids.js +485 -0
  168. package/src/features/document/on-off.d.ts +9 -0
  169. package/src/features/document/on-off.js +27 -0
  170. package/src/features/document/page-setup.d.ts +339 -0
  171. package/src/features/document/page-setup.js +244 -0
  172. package/src/features/document/paragraph-format.d.ts +880 -0
  173. package/src/features/document/paragraph-format.js +2807 -0
  174. package/src/features/document/paragraph-item-collection.d.ts +162 -0
  175. package/src/features/document/paragraph-item-collection.js +363 -0
  176. package/src/features/document/paragraph-item.d.ts +83 -0
  177. package/src/features/document/paragraph-item.js +103 -0
  178. package/src/features/document/paragraph.d.ts +435 -0
  179. package/src/features/document/paragraph.js +888 -0
  180. package/src/features/document/run.d.ts +1 -0
  181. package/src/features/document/run.js +768 -0
  182. package/src/features/document/section-partition-flatten.d.ts +124 -0
  183. package/src/features/document/section-partition-flatten.js +217 -0
  184. package/src/features/document/section-properties-model.d.ts +13 -0
  185. package/src/features/document/section-properties-model.js +0 -0
  186. package/src/features/document/section.d.ts +93 -0
  187. package/src/features/document/section.js +178 -0
  188. package/src/features/document/sections.d.ts +103 -0
  189. package/src/features/document/sections.js +217 -0
  190. package/src/features/document/sub-super-script.d.ts +23 -0
  191. package/src/features/document/sub-super-script.js +43 -0
  192. package/src/features/document/text-range.d.ts +445 -0
  193. package/src/features/document/text-range.js +1156 -0
  194. package/src/features/document/typed-body-collections.d.ts +162 -0
  195. package/src/features/document/typed-body-collections.js +371 -0
  196. package/src/features/document/underline-style.d.ts +38 -0
  197. package/src/features/document/underline-style.js +126 -0
  198. package/src/features/document/units.d.ts +8 -0
  199. package/src/features/document/units.js +7 -0
  200. package/src/features/document/wml.d.ts +16 -0
  201. package/src/features/document/wml.js +67 -0
  202. package/src/features/drawing/authoring.d.ts +27 -0
  203. package/src/features/drawing/authoring.js +271 -0
  204. package/src/features/drawing/body-pr.d.ts +271 -0
  205. package/src/features/drawing/body-pr.js +663 -0
  206. package/src/features/drawing/drawing-shape.d.ts +1192 -0
  207. package/src/features/drawing/drawing-shape.js +3239 -0
  208. package/src/features/drawing/encode-builders.d.ts +176 -0
  209. package/src/features/drawing/encode-builders.js +390 -0
  210. package/src/features/drawing/fill-format.d.ts +52 -0
  211. package/src/features/drawing/fill-format.js +124 -0
  212. package/src/features/drawing/host-codec.d.ts +632 -0
  213. package/src/features/drawing/host-codec.js +2595 -0
  214. package/src/features/drawing/index.d.ts +13 -0
  215. package/src/features/drawing/index.js +33 -0
  216. package/src/features/drawing/line-format.d.ts +76 -0
  217. package/src/features/drawing/line-format.js +343 -0
  218. package/src/features/drawing/parse-register.d.ts +50 -0
  219. package/src/features/drawing/parse-register.js +257 -0
  220. package/src/features/drawing/residual-utils.d.ts +47 -0
  221. package/src/features/drawing/residual-utils.js +290 -0
  222. package/src/features/drawing/shape-types.d.ts +433 -0
  223. package/src/features/drawing/shape-types.js +437 -0
  224. package/src/features/drawing/sp-pr.d.ts +396 -0
  225. package/src/features/drawing/sp-pr.js +610 -0
  226. package/src/features/drawing/text-frame.d.ts +90 -0
  227. package/src/features/drawing/text-frame.js +152 -0
  228. package/src/features/drawing/types.d.ts +352 -0
  229. package/src/features/drawing/types.js +60 -0
  230. package/src/features/drawing/wrap-format.d.ts +62 -0
  231. package/src/features/drawing/wrap-format.js +114 -0
  232. package/src/features/editable-ranges/index.d.ts +494 -0
  233. package/src/features/editable-ranges/index.js +1348 -0
  234. package/src/features/fields/index.d.ts +428 -0
  235. package/src/features/fields/index.js +2148 -0
  236. package/src/features/fields/paragraph-field.d.ts +187 -0
  237. package/src/features/fields/paragraph-field.js +692 -0
  238. package/src/features/font-table/font-substitution-table.d.ts +75 -0
  239. package/src/features/font-table/font-substitution-table.js +257 -0
  240. package/src/features/font-table/font-table-entry.d.ts +255 -0
  241. package/src/features/font-table/font-table-entry.js +823 -0
  242. package/src/features/font-table/font-table.d.ts +128 -0
  243. package/src/features/font-table/font-table.js +313 -0
  244. package/src/features/font-table/index.d.ts +27 -0
  245. package/src/features/font-table/index.js +48 -0
  246. package/src/features/glossary/index.d.ts +97 -0
  247. package/src/features/glossary/index.js +286 -0
  248. package/src/features/headers-footers/index.d.ts +506 -0
  249. package/src/features/headers-footers/index.js +1666 -0
  250. package/src/features/hyperlinks/index.d.ts +230 -0
  251. package/src/features/hyperlinks/index.js +685 -0
  252. package/src/features/images/caption-authoring-api.d.ts +33 -0
  253. package/src/features/images/caption-authoring-api.js +33 -0
  254. package/src/features/images/caption-enums.d.ts +52 -0
  255. package/src/features/images/caption-enums.js +141 -0
  256. package/src/features/images/caption-host.d.ts +10 -0
  257. package/src/features/images/caption-host.js +21 -0
  258. package/src/features/images/captions.d.ts +13 -0
  259. package/src/features/images/captions.js +142 -0
  260. package/src/features/images/host-codec.d.ts +103 -0
  261. package/src/features/images/host-codec.js +720 -0
  262. package/src/features/images/image-sniff.d.ts +21 -0
  263. package/src/features/images/image-sniff.js +71 -0
  264. package/src/features/images/index.d.ts +506 -0
  265. package/src/features/images/index.js +1429 -0
  266. package/src/features/images/layout-types.d.ts +232 -0
  267. package/src/features/images/layout-types.js +294 -0
  268. package/src/features/images/public-entry.d.ts +9 -0
  269. package/src/features/images/public-entry.js +9 -0
  270. package/src/features/index.d.ts +35 -0
  271. package/src/features/index.js +36 -0
  272. package/src/features/mail-merge/index.d.ts +113 -0
  273. package/src/features/mail-merge/index.js +315 -0
  274. package/src/features/notes/index.d.ts +573 -0
  275. package/src/features/notes/index.js +1725 -0
  276. package/src/features/numbering/abstract-numbering.d.ts +90 -0
  277. package/src/features/numbering/abstract-numbering.js +292 -0
  278. package/src/features/numbering/index.d.ts +182 -0
  279. package/src/features/numbering/index.js +668 -0
  280. package/src/features/numbering/list-format.d.ts +158 -0
  281. package/src/features/numbering/list-format.js +590 -0
  282. package/src/features/numbering/list-string.d.ts +7 -0
  283. package/src/features/numbering/list-string.js +423 -0
  284. package/src/features/numbering/list-style.d.ts +204 -0
  285. package/src/features/numbering/list-style.js +1084 -0
  286. package/src/features/numbering/numbering-instance.d.ts +101 -0
  287. package/src/features/numbering/numbering-instance.js +329 -0
  288. package/src/features/numbering/numbering-level.d.ts +118 -0
  289. package/src/features/numbering/numbering-level.js +501 -0
  290. package/src/features/numbering/picture-bullet.d.ts +34 -0
  291. package/src/features/numbering/picture-bullet.js +88 -0
  292. package/src/features/ole-object/catalog.d.ts +300 -0
  293. package/src/features/ole-object/catalog.js +908 -0
  294. package/src/features/ole-object/index.d.ts +526 -0
  295. package/src/features/ole-object/index.js +1421 -0
  296. package/src/features/ole-object/relationship.d.ts +27 -0
  297. package/src/features/ole-object/relationship.js +27 -0
  298. package/src/features/ole-object/typed-dom.d.ts +186 -0
  299. package/src/features/ole-object/typed-dom.js +595 -0
  300. package/src/features/properties/index.d.ts +205 -0
  301. package/src/features/properties/index.js +549 -0
  302. package/src/features/revisions/index.d.ts +204 -0
  303. package/src/features/revisions/index.js +695 -0
  304. package/src/features/sections/column-collection.d.ts +119 -0
  305. package/src/features/sections/column-collection.js +478 -0
  306. package/src/features/sections/column.d.ts +15 -0
  307. package/src/features/sections/column.js +37 -0
  308. package/src/features/sections/index.d.ts +91 -0
  309. package/src/features/sections/index.js +1096 -0
  310. package/src/features/sections/margins.d.ts +40 -0
  311. package/src/features/sections/margins.js +105 -0
  312. package/src/features/sections/page-number-style.d.ts +21 -0
  313. package/src/features/sections/page-number-style.js +62 -0
  314. package/src/features/sections/page-orientation.d.ts +10 -0
  315. package/src/features/sections/page-orientation.js +10 -0
  316. package/src/features/sections/page-setup.d.ts +435 -0
  317. package/src/features/sections/page-setup.js +1479 -0
  318. package/src/features/sections/page-size.d.ts +59 -0
  319. package/src/features/sections/page-size.js +68 -0
  320. package/src/features/sections/section-break-code.d.ts +27 -0
  321. package/src/features/sections/section-break-code.js +60 -0
  322. package/src/features/sections/section-document-association.d.ts +18 -0
  323. package/src/features/sections/section-document-association.js +31 -0
  324. package/src/features/sections/section-validation.d.ts +43 -0
  325. package/src/features/sections/section-validation.js +97 -0
  326. package/src/features/settings/attached-template.d.ts +35 -0
  327. package/src/features/settings/attached-template.js +98 -0
  328. package/src/features/settings/compat-settings.d.ts +216 -0
  329. package/src/features/settings/compat-settings.js +508 -0
  330. package/src/features/settings/document-background.d.ts +59 -0
  331. package/src/features/settings/document-background.js +131 -0
  332. package/src/features/settings/document-protection.d.ts +65 -0
  333. package/src/features/settings/document-protection.js +157 -0
  334. package/src/features/settings/document-settings-facades.d.ts +108 -0
  335. package/src/features/settings/document-settings-facades.js +312 -0
  336. package/src/features/settings/document-settings-values.d.ts +43 -0
  337. package/src/features/settings/document-settings-values.js +60 -0
  338. package/src/features/settings/footnote-properties.d.ts +211 -0
  339. package/src/features/settings/footnote-properties.js +591 -0
  340. package/src/features/settings/index.d.ts +356 -0
  341. package/src/features/settings/index.js +829 -0
  342. package/src/features/settings/settings-children.d.ts +151 -0
  343. package/src/features/settings/settings-children.js +505 -0
  344. package/src/features/settings/web-settings.d.ts +88 -0
  345. package/src/features/settings/web-settings.js +227 -0
  346. package/src/features/settings/zoom.d.ts +79 -0
  347. package/src/features/settings/zoom.js +147 -0
  348. package/src/features/styles/builtin-catalog.d.ts +159 -0
  349. package/src/features/styles/builtin-catalog.js +963 -0
  350. package/src/features/styles/builtin-resolver.d.ts +49 -0
  351. package/src/features/styles/builtin-resolver.js +165 -0
  352. package/src/features/styles/default-styles.d.ts +37 -0
  353. package/src/features/styles/default-styles.js +186 -0
  354. package/src/features/styles/default-theme.d.ts +13 -0
  355. package/src/features/styles/default-theme.js +13 -0
  356. package/src/features/styles/doc-defaults.d.ts +58 -0
  357. package/src/features/styles/doc-defaults.js +178 -0
  358. package/src/features/styles/formatting-resolver.d.ts +27 -0
  359. package/src/features/styles/formatting-resolver.js +72 -0
  360. package/src/features/styles/index.d.ts +256 -0
  361. package/src/features/styles/index.js +1325 -0
  362. package/src/features/styles/latent-styles.d.ts +68 -0
  363. package/src/features/styles/latent-styles.js +305 -0
  364. package/src/features/styles/paragraph-properties.d.ts +71 -0
  365. package/src/features/styles/paragraph-properties.js +237 -0
  366. package/src/features/styles/run-properties.d.ts +93 -0
  367. package/src/features/styles/run-properties.js +516 -0
  368. package/src/features/styles/style-base.d.ts +402 -0
  369. package/src/features/styles/style-base.js +1026 -0
  370. package/src/features/styles/style-collection.d.ts +264 -0
  371. package/src/features/styles/style-collection.js +714 -0
  372. package/src/features/styles/style-format-bridge.d.ts +64 -0
  373. package/src/features/styles/style-format-bridge.js +100 -0
  374. package/src/features/styles/style.d.ts +84 -0
  375. package/src/features/styles/style.js +375 -0
  376. package/src/features/styles/styles-with-effects.d.ts +71 -0
  377. package/src/features/styles/styles-with-effects.js +180 -0
  378. package/src/features/styles/table-style.d.ts +272 -0
  379. package/src/features/styles/table-style.js +1226 -0
  380. package/src/features/styles/theme.d.ts +126 -0
  381. package/src/features/styles/theme.js +377 -0
  382. package/src/features/tables/border-style-map.d.ts +24 -0
  383. package/src/features/tables/border-style-map.js +81 -0
  384. package/src/features/tables/borders.d.ts +126 -0
  385. package/src/features/tables/borders.js +527 -0
  386. package/src/features/tables/collections.d.ts +113 -0
  387. package/src/features/tables/collections.js +261 -0
  388. package/src/features/tables/format.d.ts +208 -0
  389. package/src/features/tables/format.js +716 -0
  390. package/src/features/tables/index.d.ts +597 -0
  391. package/src/features/tables/index.js +2386 -0
  392. package/src/features/tables/paddings.d.ts +41 -0
  393. package/src/features/tables/paddings.js +97 -0
  394. package/src/features/tables/tbl-pr-positioning.d.ts +27 -0
  395. package/src/features/tables/tbl-pr-positioning.js +178 -0
  396. package/src/features/tables/tbl-pr.d.ts +528 -0
  397. package/src/features/tables/tbl-pr.js +1208 -0
  398. package/src/features/tables/tc-pr.d.ts +168 -0
  399. package/src/features/tables/tc-pr.js +553 -0
  400. package/src/features/tables/tr-pr.d.ts +60 -0
  401. package/src/features/tables/tr-pr.js +215 -0
  402. package/src/features/watermark/detect.d.ts +76 -0
  403. package/src/features/watermark/detect.js +219 -0
  404. package/src/features/watermark/index.d.ts +28 -0
  405. package/src/features/watermark/index.js +91 -0
  406. package/src/features/watermark/logical-store.d.ts +29 -0
  407. package/src/features/watermark/logical-store.js +31 -0
  408. package/src/features/watermark/model.d.ts +285 -0
  409. package/src/features/watermark/model.js +597 -0
  410. package/src/features/watermark/parse.d.ts +84 -0
  411. package/src/features/watermark/parse.js +815 -0
  412. package/src/features/watermark/serialize.d.ts +98 -0
  413. package/src/features/watermark/serialize.js +1517 -0
  414. package/src/global.js +1 -0
  415. package/src/index.d.ts +2 -0
  416. package/src/index.js +2 -0
@@ -0,0 +1,661 @@
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
+ var __read = (this && this.__read) || function (o, n) {
12
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
13
+ if (!m) return o;
14
+ var i = m.call(o), r, ar = [], e;
15
+ try {
16
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
17
+ }
18
+ catch (error) { e = { error: error }; }
19
+ finally {
20
+ try {
21
+ if (r && !r.done && (m = i["return"])) m.call(i);
22
+ }
23
+ finally { if (e) throw e.error; }
24
+ }
25
+ return ar;
26
+ };
27
+ var __spread = (this && this.__spread) || function () {
28
+ for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
29
+ return ar;
30
+ };
31
+ import { DocxError } from '../../core/errors/docx-error';
32
+ import { parseBodyBlocks, serializeBodyBlocks } from '../document/body-blocks';
33
+ import { FeatureInlineParagraphItem, serializeRun, TextRange, } from '../document/text-range';
34
+ import { elementChildren, isWml, wmlAttr, wmlElement } from '../document/wml';
35
+ import { partByName, relationshipsForPart } from '../../core/opc/package';
36
+ import { resolveInternalTarget } from '../../core/opc/part-name';
37
+ import { featureId, registerFeature, registerFeatureBlockHandler, registerFeatureInlineHandler, registerFeatureMultiPartHandler, } from '../../core/registry/index';
38
+ import { detachedBodyBlockParseContext } from '../../core/registry/block-handlers';
39
+ import { serializeFeatureInline, tryParseFeatureInline, } from '../../core/registry/inline-handlers';
40
+ import { parseXml } from '../../core/xml/index';
41
+ var CUSTOM_XML = featureId('custom-xml');
42
+ var utf8Decoder = new TextDecoder('utf-8');
43
+ /**
44
+ * @private
45
+ * Transitional custom XML datastore relationship (ECMA-376-1 §15.2.5). */
46
+ export var CUSTOM_XML_RELATIONSHIP_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml';
47
+ /**
48
+ * @private
49
+ * Strict custom XML datastore relationship. */
50
+ export var STRICT_CUSTOM_XML_RELATIONSHIP_TYPE = 'http://purl.oclc.org/ooxml/officeDocument/relationships/customXml';
51
+ /**
52
+ * @private
53
+ * Transitional custom XML properties relationship (ECMA-376-1 §15.2.6). */
54
+ export var CUSTOM_XML_PROPS_RELATIONSHIP_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps';
55
+ /**
56
+ * @private
57
+ * Strict custom XML properties relationship. */
58
+ export var STRICT_CUSTOM_XML_PROPS_RELATIONSHIP_TYPE = 'http://purl.oclc.org/ooxml/officeDocument/relationships/customXmlProps';
59
+ /**
60
+ * @private
61
+ * Custom XML Data Storage Properties part content type. */
62
+ export var CUSTOM_XML_PROPS_CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.customXmlProperties+xml';
63
+ /**
64
+ * @private
65
+ * Custom XML Data Storage part content type (ECMA-376-1 §15.2.5). */
66
+ export var CUSTOM_XML_DATA_CONTENT_TYPE = 'application/xml';
67
+ /**
68
+ * @private
69
+ * Root namespace for custom XML properties parts. */
70
+ export var CUSTOM_XML_PROPS_NAMESPACE = 'http://schemas.openxmlformats.org/officeDocument/2006/customXml';
71
+ var CUSTOM_XML_RELATIONSHIP_TYPES = [
72
+ CUSTOM_XML_RELATIONSHIP_TYPE,
73
+ STRICT_CUSTOM_XML_RELATIONSHIP_TYPE,
74
+ ];
75
+ var CUSTOM_XML_PROPS_RELATIONSHIP_TYPES = [
76
+ CUSTOM_XML_PROPS_RELATIONSHIP_TYPE,
77
+ STRICT_CUSTOM_XML_PROPS_RELATIONSHIP_TYPE,
78
+ ];
79
+ function unqualifiedAttribute(el, localName) {
80
+ var __ts33_0;
81
+ return ((__ts33_0 = el.attributes.find(function (a) { return a.localName === localName &&
82
+ (a.namespaceUri === '' || a.prefix === 'w' || a.namespaceUri.includes('wordprocessingml')); })), __ts33_0 == null ? undefined : __ts33_0.value);
83
+ }
84
+ /**
85
+ * Custom XML wrapper properties read from `w:customXmlPr`.
86
+ * Preserve-only; not part of the supported public surface.
87
+ *
88
+ * @private
89
+ */
90
+ var CustomXmlProperties = /** @class */ (function () {
91
+ /**
92
+ * @private
93
+ */
94
+ function CustomXmlProperties(placeholder, attributes) {
95
+ this.placeholder = placeholder;
96
+ this.attributes = attributes;
97
+ }
98
+ return CustomXmlProperties;
99
+ }());
100
+ export { CustomXmlProperties };
101
+ function parseCustomXmlAttribute(element) {
102
+ if (!isWml(element, 'attr')) {
103
+ return undefined;
104
+ }
105
+ var name = unqualifiedAttribute(element, 'name');
106
+ var val = unqualifiedAttribute(element, 'val');
107
+ if (name === undefined || name.length === 0 || val === undefined) {
108
+ return undefined;
109
+ }
110
+ var uri = unqualifiedAttribute(element, 'uri');
111
+ return { uri: uri, name: name, val: val };
112
+ }
113
+ function parseCustomXmlProperties(customXmlPr) {
114
+ var e_1, _a;
115
+ if (customXmlPr === undefined || !isWml(customXmlPr, 'customXmlPr')) {
116
+ return undefined;
117
+ }
118
+ var placeholder;
119
+ var attributes = [];
120
+ try {
121
+ for (var _b = __values(elementChildren(customXmlPr)), _c = _b.next(); !_c.done; _c = _b.next()) {
122
+ var child = _c.value;
123
+ if (isWml(child, 'placeholder')) {
124
+ placeholder = unqualifiedAttribute(child, 'val');
125
+ continue;
126
+ }
127
+ var attribute = parseCustomXmlAttribute(child);
128
+ if (attribute !== undefined) {
129
+ attributes.push(attribute);
130
+ }
131
+ }
132
+ }
133
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
134
+ finally {
135
+ try {
136
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
137
+ }
138
+ finally { if (e_1) throw e_1.error; }
139
+ }
140
+ if (placeholder === undefined && attributes.length === 0) {
141
+ return undefined;
142
+ }
143
+ return new CustomXmlProperties(placeholder, attributes);
144
+ }
145
+ var detachedRunOwner = {
146
+ assertAttachedItem: function () {
147
+ return;
148
+ },
149
+ };
150
+ function parseInlineContent(children, owner) {
151
+ var e_2, _a;
152
+ var inlines = [];
153
+ try {
154
+ for (var children_1 = __values(children), children_1_1 = children_1.next(); !children_1_1.done; children_1_1 = children_1.next()) {
155
+ var child = children_1_1.value;
156
+ if (child.kind !== 'element') {
157
+ continue;
158
+ }
159
+ var element = child;
160
+ if (isWml(element, 'r')) {
161
+ inlines.push({ type: 'textRange', run: TextRange.fromXml(element, owner) });
162
+ continue;
163
+ }
164
+ var feature = tryParseFeatureInline(element);
165
+ if (feature !== undefined) {
166
+ inlines.push(feature);
167
+ continue;
168
+ }
169
+ inlines.push({ type: 'opaque', xml: element });
170
+ }
171
+ }
172
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
173
+ finally {
174
+ try {
175
+ if (children_1_1 && !children_1_1.done && (_a = children_1.return)) _a.call(children_1);
176
+ }
177
+ finally { if (e_2) throw e_2.error; }
178
+ }
179
+ return inlines;
180
+ }
181
+ function serializeInlineContent(inlines) {
182
+ var e_3, _a;
183
+ var out = [];
184
+ try {
185
+ for (var inlines_1 = __values(inlines), inlines_1_1 = inlines_1.next(); !inlines_1_1.done; inlines_1_1 = inlines_1.next()) {
186
+ var inline = inlines_1_1.value;
187
+ if (inline.type === 'textRange') {
188
+ out.push(serializeRun(inline.run));
189
+ }
190
+ else if (inline.type === 'feature') {
191
+ out.push(serializeFeatureInline(inline));
192
+ }
193
+ else {
194
+ out.push(inline.xml);
195
+ }
196
+ }
197
+ }
198
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
199
+ finally {
200
+ try {
201
+ if (inlines_1_1 && !inlines_1_1.done && (_a = inlines_1.return)) _a.call(inlines_1);
202
+ }
203
+ finally { if (e_3) throw e_3.error; }
204
+ }
205
+ return out;
206
+ }
207
+ function releaseBlockContent(blocks) {
208
+ var e_4, _a;
209
+ try {
210
+ for (var blocks_1 = __values(blocks), blocks_1_1 = blocks_1.next(); !blocks_1_1.done; blocks_1_1 = blocks_1.next()) {
211
+ var block = blocks_1_1.value;
212
+ if (block.type === 'feature' && block.value instanceof CustomXmlMarkup) {
213
+ block.value.releaseContent();
214
+ }
215
+ }
216
+ }
217
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
218
+ finally {
219
+ try {
220
+ if (blocks_1_1 && !blocks_1_1.done && (_a = blocks_1.return)) _a.call(blocks_1);
221
+ }
222
+ finally { if (e_4) throw e_4.error; }
223
+ }
224
+ }
225
+ function releaseInlineContent(inlines) {
226
+ var e_5, _a;
227
+ try {
228
+ for (var inlines_2 = __values(inlines), inlines_2_1 = inlines_2.next(); !inlines_2_1.done; inlines_2_1 = inlines_2.next()) {
229
+ var inline = inlines_2_1.value;
230
+ if (inline.type === 'feature' && inline.value instanceof CustomXmlMarkup) {
231
+ inline.value.releaseContent();
232
+ }
233
+ }
234
+ }
235
+ catch (e_5_1) { e_5 = { error: e_5_1 }; }
236
+ finally {
237
+ try {
238
+ if (inlines_2_1 && !inlines_2_1.done && (_a = inlines_2.return)) _a.call(inlines_2);
239
+ }
240
+ finally { if (e_5) throw e_5.error; }
241
+ }
242
+ }
243
+ /**
244
+ * Preserve-only in-body custom XML wrapper (`w:customXml`) at block or run level.
245
+ * Markup and children round-trip; bindings are never resolved. No schema
246
+ * validation, data-source mutation, or binding-editor API is provided.
247
+ *
248
+ * @private
249
+ */
250
+ var CustomXmlMarkup = /** @class */ (function () {
251
+ /**
252
+ * @private
253
+ */
254
+ function CustomXmlMarkup(elementName, uri, properties, customXmlPr, blocks, inlines, preservedXml) {
255
+ this.elementName = elementName;
256
+ this.uri = uri;
257
+ this.properties = properties;
258
+ this.customXmlPr = customXmlPr;
259
+ this.blocks = blocks;
260
+ this.inlines = inlines;
261
+ this.preservedXml = preservedXml;
262
+ }
263
+ Object.defineProperty(CustomXmlMarkup.prototype, "blockContent", {
264
+ /**
265
+ * @private
266
+ * Block-level inner content, when loaded from a body block. */
267
+ get: function () {
268
+ return this.blocks;
269
+ },
270
+ enumerable: true,
271
+ configurable: true
272
+ });
273
+ Object.defineProperty(CustomXmlMarkup.prototype, "inlineContent", {
274
+ /**
275
+ * @private
276
+ * Run-level inner content, when loaded from a paragraph inline. */
277
+ get: function () {
278
+ return this.inlines;
279
+ },
280
+ enumerable: true,
281
+ configurable: true
282
+ });
283
+ Object.defineProperty(CustomXmlMarkup.prototype, "firstParagraphText", {
284
+ /**
285
+ * @private
286
+ * Visible paragraph text inside a block wrapper, when present. */
287
+ get: function () {
288
+ var e_6, _a, e_7, _b;
289
+ if (this.blocks === undefined) {
290
+ return undefined;
291
+ }
292
+ try {
293
+ for (var _c = __values(this.blocks), _d = _c.next(); !_d.done; _d = _c.next()) {
294
+ var block = _d.value;
295
+ if (block.type !== 'paragraph') {
296
+ continue;
297
+ }
298
+ try {
299
+ for (var _e = __values(block.paragraph.items), _f = _e.next(); !_f.done; _f = _e.next()) {
300
+ var inline = _f.value;
301
+ if (inline instanceof TextRange && inline.text.length > 0) {
302
+ return inline.text;
303
+ }
304
+ }
305
+ }
306
+ catch (e_7_1) { e_7 = { error: e_7_1 }; }
307
+ finally {
308
+ try {
309
+ if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
310
+ }
311
+ finally { if (e_7) throw e_7.error; }
312
+ }
313
+ }
314
+ }
315
+ catch (e_6_1) { e_6 = { error: e_6_1 }; }
316
+ finally {
317
+ try {
318
+ if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
319
+ }
320
+ finally { if (e_6) throw e_6.error; }
321
+ }
322
+ return undefined;
323
+ },
324
+ enumerable: true,
325
+ configurable: true
326
+ });
327
+ /**
328
+ * @private
329
+ */
330
+ CustomXmlMarkup.prototype.releaseContent = function () {
331
+ if (this.blocks !== undefined) {
332
+ releaseBlockContent(this.blocks);
333
+ }
334
+ if (this.inlines !== undefined) {
335
+ releaseInlineContent(this.inlines);
336
+ }
337
+ };
338
+ /**
339
+ * @private
340
+ * Serialize to `w:customXml` (or preserved original element). */
341
+ CustomXmlMarkup.prototype.toOpenXml = function () {
342
+ if (this.preservedXml !== undefined) {
343
+ return this.preservedXml;
344
+ }
345
+ var attributes = [wmlAttr('element', this.elementName)];
346
+ if (this.uri !== undefined && this.uri.length > 0) {
347
+ attributes.push(wmlAttr('uri', this.uri));
348
+ }
349
+ var children = [];
350
+ if (this.customXmlPr !== undefined) {
351
+ children.push(this.customXmlPr);
352
+ }
353
+ if (this.blocks !== undefined) {
354
+ children.push.apply(children, __spread(serializeBodyBlocks(this.blocks)));
355
+ }
356
+ else if (this.inlines !== undefined) {
357
+ children.push.apply(children, __spread(serializeInlineContent(this.inlines)));
358
+ }
359
+ return wmlElement('customXml', { attributes: attributes, children: children });
360
+ };
361
+ return CustomXmlMarkup;
362
+ }());
363
+ export { CustomXmlMarkup };
364
+ function splitCustomXmlChildren(element) {
365
+ var e_8, _a;
366
+ var content = [];
367
+ var customXmlPr;
368
+ try {
369
+ for (var _b = __values(elementChildren(element)), _c = _b.next(); !_c.done; _c = _b.next()) {
370
+ var child = _c.value;
371
+ if (isWml(child, 'customXmlPr')) {
372
+ customXmlPr = child;
373
+ }
374
+ else {
375
+ content.push(child);
376
+ }
377
+ }
378
+ }
379
+ catch (e_8_1) { e_8 = { error: e_8_1 }; }
380
+ finally {
381
+ try {
382
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
383
+ }
384
+ finally { if (e_8) throw e_8.error; }
385
+ }
386
+ return { customXmlPr: customXmlPr, content: content };
387
+ }
388
+ function parseCustomXmlMarkup(element, mode, ctx) {
389
+ if (!isWml(element, 'customXml')) {
390
+ return undefined;
391
+ }
392
+ var elementName = unqualifiedAttribute(element, 'element');
393
+ if (elementName === undefined || elementName.length === 0) {
394
+ return new CustomXmlMarkup('', undefined, undefined, undefined, undefined, undefined, element);
395
+ }
396
+ var uri = unqualifiedAttribute(element, 'uri');
397
+ var _a = splitCustomXmlChildren(element), customXmlPr = _a.customXmlPr, content = _a.content;
398
+ var properties = parseCustomXmlProperties(customXmlPr);
399
+ if (mode === 'block') {
400
+ var blocks = parseBodyBlocks(content, ctx);
401
+ return new CustomXmlMarkup(elementName, uri, properties, customXmlPr, blocks, undefined, undefined);
402
+ }
403
+ var inlines = parseInlineContent(content, detachedRunOwner);
404
+ return new CustomXmlMarkup(elementName, uri, properties, customXmlPr, undefined, inlines, undefined);
405
+ }
406
+ function parseItemIdFromProps(data) {
407
+ var __ts33_1;
408
+ try {
409
+ var root = parseXml(utf8Decoder.decode(data));
410
+ if (root.localName !== 'datastoreItem') {
411
+ return undefined;
412
+ }
413
+ return ((__ts33_1 = root.attributes.find(function (attribute) { return attribute.localName === 'itemID' &&
414
+ (attribute.namespaceUri === CUSTOM_XML_PROPS_NAMESPACE ||
415
+ attribute.namespaceUri === '' ||
416
+ attribute.namespaceUri.includes('customXml')); })), __ts33_1 == null ? undefined : __ts33_1.value);
417
+ }
418
+ catch (_a) {
419
+ return undefined;
420
+ }
421
+ }
422
+ /**
423
+ * One Custom XML item part plus optional properties part.
424
+ * Preserve-only; not part of the supported public surface.
425
+ *
426
+ * @private
427
+ */
428
+ var CustomXmlStorageItem = /** @class */ (function () {
429
+ /**
430
+ * @private
431
+ */
432
+ function CustomXmlStorageItem(partNameValue, data, contentType, itemId, propertiesPartName, propertiesData, propertiesContentType) {
433
+ this.partName = partNameValue;
434
+ this.data = data;
435
+ this.contentType = contentType;
436
+ this.itemId = itemId;
437
+ this.propertiesPartName = propertiesPartName;
438
+ this.propertiesData = propertiesData;
439
+ this.propertiesContentType = propertiesContentType;
440
+ }
441
+ return CustomXmlStorageItem;
442
+ }());
443
+ export { CustomXmlStorageItem };
444
+ /**
445
+ * Preserve-only Custom XML datastore catalog linked from the Main Document.
446
+ * Items round-trip as opaque bytes; no mutation or binding API is provided.
447
+ * Not part of the supported public surface.
448
+ *
449
+ * @private
450
+ */
451
+ var CustomXmlDatastore = /** @class */ (function () {
452
+ /**
453
+ * @private
454
+ */
455
+ function CustomXmlDatastore(storageItems) {
456
+ this.storageItems = storageItems;
457
+ }
458
+ Object.defineProperty(CustomXmlDatastore.prototype, "items", {
459
+ /**
460
+ * @private
461
+ * Loaded datastore items in relationship order. */
462
+ get: function () {
463
+ return this.storageItems;
464
+ },
465
+ enumerable: true,
466
+ configurable: true
467
+ });
468
+ /**
469
+ * @private
470
+ */
471
+ CustomXmlDatastore.prototype.isDirty = function () {
472
+ return false;
473
+ };
474
+ /**
475
+ * @private
476
+ */
477
+ CustomXmlDatastore.prototype.applyToPackage = function (pkg, mainPartName) {
478
+ void mainPartName;
479
+ return pkg;
480
+ };
481
+ return CustomXmlDatastore;
482
+ }());
483
+ export { CustomXmlDatastore };
484
+ function isCustomXmlRelationship(type) {
485
+ return CUSTOM_XML_RELATIONSHIP_TYPES.indexOf(type) !== -1;
486
+ }
487
+ function isCustomXmlPropsRelationship(type) {
488
+ return CUSTOM_XML_PROPS_RELATIONSHIP_TYPES.indexOf(type) !== -1;
489
+ }
490
+ function loadDatastore(pkg, mainPartName) {
491
+ var e_9, _a, e_10, _b;
492
+ var items = [];
493
+ try {
494
+ for (var _c = __values(relationshipsForPart(pkg, mainPartName).items), _d = _c.next(); !_d.done; _d = _c.next()) {
495
+ var rel = _d.value;
496
+ if (!isCustomXmlRelationship(rel.type)) {
497
+ continue;
498
+ }
499
+ var itemPartName = resolveInternalTarget(rel.target, mainPartName);
500
+ var itemPart = partByName(pkg, itemPartName);
501
+ if (itemPart === undefined) {
502
+ continue;
503
+ }
504
+ var propertiesPartName = void 0;
505
+ var propertiesData = void 0;
506
+ var propertiesContentType = void 0;
507
+ var itemId = void 0;
508
+ try {
509
+ for (var _e = __values(relationshipsForPart(pkg, itemPartName).items), _f = _e.next(); !_f.done; _f = _e.next()) {
510
+ var propsRel = _f.value;
511
+ if (!isCustomXmlPropsRelationship(propsRel.type)) {
512
+ continue;
513
+ }
514
+ propertiesPartName = resolveInternalTarget(propsRel.target, itemPartName);
515
+ var propsPart = partByName(pkg, propertiesPartName);
516
+ if (propsPart === undefined) {
517
+ continue;
518
+ }
519
+ propertiesData = propsPart.data;
520
+ propertiesContentType = propsPart.contentType;
521
+ itemId = parseItemIdFromProps(propsPart.data);
522
+ break;
523
+ }
524
+ }
525
+ catch (e_10_1) { e_10 = { error: e_10_1 }; }
526
+ finally {
527
+ try {
528
+ if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
529
+ }
530
+ finally { if (e_10) throw e_10.error; }
531
+ }
532
+ items.push(new CustomXmlStorageItem(itemPartName, itemPart.data, itemPart.contentType, itemId, propertiesPartName, propertiesData, propertiesContentType));
533
+ }
534
+ }
535
+ catch (e_9_1) { e_9 = { error: e_9_1 }; }
536
+ finally {
537
+ try {
538
+ if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
539
+ }
540
+ finally { if (e_9) throw e_9.error; }
541
+ }
542
+ return new CustomXmlDatastore(items);
543
+ }
544
+ function markupFromBlocks(blocks) {
545
+ var e_11, _a;
546
+ var found = [];
547
+ try {
548
+ for (var blocks_2 = __values(blocks), blocks_2_1 = blocks_2.next(); !blocks_2_1.done; blocks_2_1 = blocks_2.next()) {
549
+ var block = blocks_2_1.value;
550
+ if (block.type === 'feature' && block.value instanceof CustomXmlMarkup) {
551
+ found.push(block.value);
552
+ }
553
+ }
554
+ }
555
+ catch (e_11_1) { e_11 = { error: e_11_1 }; }
556
+ finally {
557
+ try {
558
+ if (blocks_2_1 && !blocks_2_1.done && (_a = blocks_2.return)) _a.call(blocks_2);
559
+ }
560
+ finally { if (e_11) throw e_11.error; }
561
+ }
562
+ return found;
563
+ }
564
+ function markupFromInlines(inlines) {
565
+ var e_12, _a;
566
+ var found = [];
567
+ try {
568
+ for (var inlines_3 = __values(inlines), inlines_3_1 = inlines_3.next(); !inlines_3_1.done; inlines_3_1 = inlines_3.next()) {
569
+ var inline = inlines_3_1.value;
570
+ if (inline instanceof FeatureInlineParagraphItem && inline.value instanceof CustomXmlMarkup) {
571
+ found.push(inline.value);
572
+ }
573
+ }
574
+ }
575
+ catch (e_12_1) { e_12 = { error: e_12_1 }; }
576
+ finally {
577
+ try {
578
+ if (inlines_3_1 && !inlines_3_1.done && (_a = inlines_3.return)) _a.call(inlines_3);
579
+ }
580
+ finally { if (e_12) throw e_12.error; }
581
+ }
582
+ return found;
583
+ }
584
+ var registered = false;
585
+ /**
586
+ * @private
587
+ * Test hook */
588
+ export function resetCustomXmlFeatureForTests() {
589
+ registered = false;
590
+ }
591
+ /**
592
+ * @private
593
+ * Register custom XML markup and datastore handlers. Idempotent. */
594
+ export function registerCustomXmlFeature() {
595
+ if (registered) {
596
+ return;
597
+ }
598
+ registered = true;
599
+ registerFeature({ id: CUSTOM_XML });
600
+ registerFeatureMultiPartHandler({
601
+ featureId: CUSTOM_XML,
602
+ relationshipTypes: CUSTOM_XML_RELATIONSHIP_TYPES,
603
+ loadParts: function (pkg, ctx) {
604
+ return loadDatastore(pkg, ctx.mainPartName);
605
+ },
606
+ });
607
+ registerFeatureInlineHandler({
608
+ featureId: CUSTOM_XML,
609
+ wmlLocalName: 'customXml',
610
+ tryParse: function (element) {
611
+ return parseCustomXmlMarkup(element, 'inline', detachedBodyBlockParseContext());
612
+ },
613
+ });
614
+ registerFeatureBlockHandler({
615
+ featureId: CUSTOM_XML,
616
+ wmlLocalName: 'customXml',
617
+ tryParse: function (element, ctx) {
618
+ return parseCustomXmlMarkup(element, 'block', ctx);
619
+ },
620
+ });
621
+ }
622
+ /**
623
+ * Custom XML datastore linked from the Main Document.
624
+ * Returns the preserve-only catalog; not part of the supported public surface.
625
+ *
626
+ * @private
627
+ */
628
+ export function customXmlDatastore(document) {
629
+ var part = document.featurePart(CUSTOM_XML);
630
+ if (part === undefined || !(part instanceof CustomXmlDatastore)) {
631
+ throw new DocxError('feature/not-registered', 'Custom XML datastore was not loaded; call registerCustomXmlFeature() before WordDocument.open');
632
+ }
633
+ return part;
634
+ }
635
+ /**
636
+ * Block-level custom XML wrappers in a block list, in document order.
637
+ *
638
+ * @private
639
+ */
640
+ export function customXmlMarkupInBlocks(blocks) {
641
+ return markupFromBlocks(blocks);
642
+ }
643
+ /**
644
+ * Run-level custom XML wrappers in a paragraph, in document order.
645
+ *
646
+ * @private
647
+ */
648
+ export function customXmlMarkupInParagraph(paragraph) {
649
+ return markupFromInlines(paragraph.items.toArray());
650
+ }
651
+ /**
652
+ * Whether inline content is modeled custom XML from this module.
653
+ *
654
+ * @private
655
+ */
656
+ export function isCustomXmlMarkupInline(inline) {
657
+ return (inline instanceof FeatureInlineParagraphItem &&
658
+ inline.featureId === CUSTOM_XML &&
659
+ inline.value instanceof CustomXmlMarkup);
660
+ }
661
+ registerCustomXmlFeature();
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Semantic paragraph alignment mapped from `ST_Jc`.
3
+ *
4
+ * New writes use `start`/`center`/`end`/`justify`. Loaded `left` reads as `Start`
5
+ * and `both` reads as `Justify` without rewriting the stored value on a no-op save.
6
+ *
7
+ * @public
8
+ */
9
+ export declare const ParagraphAlignment: {
10
+ Left: "start";
11
+ Center: "center";
12
+ Right: "end";
13
+ Justify: "justify";
14
+ };
15
+ /**
16
+ * One of the `ParagraphAlignment` tokens (`start`, `center`, `end`, `justify`).
17
+ *
18
+ * @public
19
+ */
20
+ export declare type ParagraphAlignment = (typeof ParagraphAlignment)[keyof typeof ParagraphAlignment];
21
+ /** ST_Jc `left`/`start` read as Start; `both` reads as Justify (spec). */
22
+ export declare function alignmentFromJc(val: string): ParagraphAlignment | undefined;
23
+ export declare function jcForNewAlignment(alignment: ParagraphAlignment): string;