@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,128 @@
1
+ import { WordDocument } from '../document/document';
2
+ import { FeaturePackagePart } from '../document/feature-package-part';
3
+ import { NamespaceDeclaration, OpenXmlAttribute, OpenXmlElement } from '../../core/xml/index';
4
+ import { FontTableFont } from './font-table-entry';
5
+ /**
6
+ * @private
7
+ * Transitional font table relationship (ECMA-376-4 §9.2.5). */
8
+ export declare const FONT_TABLE_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable";
9
+ /**
10
+ * @private
11
+ * Strict font table relationship (ECMA-376-1 §11.3.5). */
12
+ export declare const STRICT_FONT_TABLE_RELATIONSHIP_TYPE = "http://purl.oclc.org/ooxml/officeDocument/relationships/fontTable";
13
+ /**
14
+ * @private
15
+ * ECMA-376-1 §11.3.5 Font Table content type. */
16
+ export declare const FONT_TABLE_CONTENT_TYPE = "application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml";
17
+ /**
18
+ * @private
19
+ */
20
+ export declare const FONT_TABLE_PART_NAME: import("../../core/opc/part-name").PartName;
21
+ /**
22
+ * In-memory Font Table part (`word/fontTable.xml`).
23
+ *
24
+ * Clean loads stay byte-preserving until the first mutation. Dirty serialize
25
+ * rebuilds `w:fonts` from entry models + residual children (ECMA-376-1 §11.3.5 /
26
+ * §17.8). Each `w:font` emits the `CT_Font` child sequence (altName through
27
+ * embed slots) then residual unknown children.
28
+ *
29
+ * @private
30
+ */
31
+ export declare class FontTablePart implements FeaturePackagePart {
32
+ private bytes;
33
+ private dirty;
34
+ private readonly fontEntries;
35
+ private readonly rootExtrasBeforeFonts;
36
+ private readonly rootExtrasAfterFonts;
37
+ private readonly rootAttributes;
38
+ private readonly rootNamespaceDeclarations;
39
+ /**
40
+ * @private
41
+ */
42
+ constructor(bytes: Uint8Array | undefined, fontEntries: FontTableFont[], rootExtrasBeforeFonts: ReadonlyArray<OpenXmlElement>, rootExtrasAfterFonts: ReadonlyArray<OpenXmlElement>, rootAttributes: ReadonlyArray<OpenXmlAttribute>, rootNamespaceDeclarations: ReadonlyArray<NamespaceDeclaration>, dirty: boolean);
43
+ /**
44
+ * Declared font names from `w:font/@w:name` in document order (stored casing).
45
+ *
46
+ * @public
47
+ */
48
+ fontNames(): ReadonlyArray<string>;
49
+ /**
50
+ * Whether a font name appears in the table (case-insensitive).
51
+ *
52
+ * @public
53
+ */
54
+ hasFont(name: string): boolean;
55
+ /**
56
+ * Font table entries in document order.
57
+ *
58
+ * @public
59
+ */
60
+ fonts(): ReadonlyArray<FontTableFont>;
61
+ /**
62
+ * Entry for `name`, or `undefined` when absent. Lookup is case-insensitive;
63
+ * stored `@w:name` casing is unchanged.
64
+ *
65
+ * @public
66
+ */
67
+ font(name: string): FontTableFont | undefined;
68
+ /**
69
+ * Ensure a minimal `w:font/@w:name` row exists and return it.
70
+ * If present (case-insensitive), returns the existing entry without duplicating.
71
+ *
72
+ * @throws DocxError `content/unsupported` when `name` is empty or whitespace-only.
73
+ *
74
+ * @public
75
+ */
76
+ appendFont(name: string): FontTableFont;
77
+ /**
78
+ * Declared substitute string for `name` (`w:altName/@w:val`), or `undefined`.
79
+ * Case-insensitive name lookup. Does not create entries.
80
+ *
81
+ * Prefer {@link WordDocument.fontSubstitutionTable} `.get(name)` for substitution
82
+ * workflows (TASK-8067). This helper remains a thin catalog alias to
83
+ * {@link FontTableFont.alternateName}.
84
+ *
85
+ * @public
86
+ */
87
+ substituteFont(name: string): string | undefined;
88
+ /**
89
+ * @private
90
+ */
91
+ isDirty(): boolean;
92
+ /**
93
+ * @private
94
+ */
95
+ markDirty(): void;
96
+ /**
97
+ * @private
98
+ */
99
+ serialize(): Uint8Array;
100
+ }
101
+ /**
102
+ * @private
103
+ * Test hook */
104
+ export declare function resetFontTableFeatureForTests(): void;
105
+ /**
106
+ * @private
107
+ * Register the font table package-part handler. Idempotent. */
108
+ export declare function registerFontTableFeature(): void;
109
+ /**
110
+ * Font table catalog for a document (`fontTable.xml` / `CT_FontsList`).
111
+ *
112
+ * **Public dual export (TASK-8067):** Prefer {@link WordDocument.fontSubstitutionTable}
113
+ * for alternate-name dictionary workflows (`get`/`set`/`delete`/`clear`/iteration).
114
+ * Use `fontTableFor` only for the full catalog — panose, family, pitch, charset,
115
+ * signature, embed relationship metadata, residual unknown markup, and
116
+ * `appendFont` / `font` / `fonts`.
117
+ *
118
+ * When the feature is registered but no part is attached yet (for example
119
+ * {@link WordDocument.create} before the handler ran at load, or registration after
120
+ * load), attaches an empty not-dirty {@link FontTablePart} so authoring works
121
+ * without a prior load of `fontTable.xml`.
122
+ *
123
+ * @throws DocxError `feature/not-registered` when a non-{@link FontTablePart}
124
+ * value occupies the feature slot, or when the feature cannot be ensured.
125
+ *
126
+ * @private
127
+ */
128
+ export declare function fontTableFor(document: WordDocument): FontTablePart;
@@ -0,0 +1,313 @@
1
+ var __read = (this && this.__read) || function (o, n) {
2
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
3
+ if (!m) return o;
4
+ var i = m.call(o), r, ar = [], e;
5
+ try {
6
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
7
+ }
8
+ catch (error) { e = { error: error }; }
9
+ finally {
10
+ try {
11
+ if (r && !r.done && (m = i["return"])) m.call(i);
12
+ }
13
+ finally { if (e) throw e.error; }
14
+ }
15
+ return ar;
16
+ };
17
+ var __spread = (this && this.__spread) || function () {
18
+ for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
19
+ return ar;
20
+ };
21
+ var __values = (this && this.__values) || function (o) {
22
+ var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
23
+ if (m) return m.call(o);
24
+ return {
25
+ next: function () {
26
+ if (o && i >= o.length) o = void 0;
27
+ return { value: o && o[i++], done: !o };
28
+ }
29
+ };
30
+ };
31
+ import { DocxError } from '../../core/errors/docx-error';
32
+ import { elementChildren, isWml, wmlElement } from '../document/wml';
33
+ import { partName } from '../../core/opc/part-name';
34
+ import { featureId, registerFeature, registerFeaturePartHandler, } from '../../core/registry/index';
35
+ import { parseXml, serializeXml, WML_TRANSITIONAL_NAMESPACE } from '../../core/xml/index';
36
+ import { createFontTableFont, parseFontTableFont } from './font-table-entry';
37
+ var FONT_TABLE = featureId('font-table');
38
+ /**
39
+ * @private
40
+ * Transitional font table relationship (ECMA-376-4 §9.2.5). */
41
+ export var FONT_TABLE_RELATIONSHIP_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable';
42
+ /**
43
+ * @private
44
+ * Strict font table relationship (ECMA-376-1 §11.3.5). */
45
+ export var STRICT_FONT_TABLE_RELATIONSHIP_TYPE = 'http://purl.oclc.org/ooxml/officeDocument/relationships/fontTable';
46
+ /**
47
+ * @private
48
+ * ECMA-376-1 §11.3.5 Font Table content type. */
49
+ export var FONT_TABLE_CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml';
50
+ /**
51
+ * @private
52
+ */
53
+ export var FONT_TABLE_PART_NAME = partName('/word/fontTable.xml');
54
+ var utf8Decoder = new TextDecoder('utf-8');
55
+ var utf8Encoder = new TextEncoder();
56
+ /** Locale-independent lower-case key for font name lookup. */
57
+ function fontLookupKey(name) {
58
+ return name.toLowerCase();
59
+ }
60
+ /**
61
+ * In-memory Font Table part (`word/fontTable.xml`).
62
+ *
63
+ * Clean loads stay byte-preserving until the first mutation. Dirty serialize
64
+ * rebuilds `w:fonts` from entry models + residual children (ECMA-376-1 §11.3.5 /
65
+ * §17.8). Each `w:font` emits the `CT_Font` child sequence (altName through
66
+ * embed slots) then residual unknown children.
67
+ *
68
+ * @private
69
+ */
70
+ var FontTablePart = /** @class */ (function () {
71
+ /**
72
+ * @private
73
+ */
74
+ function FontTablePart(bytes, fontEntries, rootExtrasBeforeFonts, rootExtrasAfterFonts, rootAttributes, rootNamespaceDeclarations, dirty) {
75
+ this.bytes = bytes;
76
+ this.fontEntries = fontEntries;
77
+ this.rootExtrasBeforeFonts = __spread(rootExtrasBeforeFonts);
78
+ this.rootExtrasAfterFonts = __spread(rootExtrasAfterFonts);
79
+ this.rootAttributes = __spread(rootAttributes);
80
+ this.rootNamespaceDeclarations =
81
+ rootNamespaceDeclarations.length > 0
82
+ ? __spread(rootNamespaceDeclarations) : [{ prefix: 'w', namespaceUri: WML_TRANSITIONAL_NAMESPACE }];
83
+ this.dirty = dirty;
84
+ }
85
+ /**
86
+ * Declared font names from `w:font/@w:name` in document order (stored casing).
87
+ *
88
+ * @public
89
+ */
90
+ FontTablePart.prototype.fontNames = function () {
91
+ return this.fontEntries.map(function (entry) { return entry.name; });
92
+ };
93
+ /**
94
+ * Whether a font name appears in the table (case-insensitive).
95
+ *
96
+ * @public
97
+ */
98
+ FontTablePart.prototype.hasFont = function (name) {
99
+ return this.font(name) !== undefined;
100
+ };
101
+ /**
102
+ * Font table entries in document order.
103
+ *
104
+ * @public
105
+ */
106
+ FontTablePart.prototype.fonts = function () {
107
+ return this.fontEntries;
108
+ };
109
+ /**
110
+ * Entry for `name`, or `undefined` when absent. Lookup is case-insensitive;
111
+ * stored `@w:name` casing is unchanged.
112
+ *
113
+ * @public
114
+ */
115
+ FontTablePart.prototype.font = function (name) {
116
+ var key = fontLookupKey(name);
117
+ return this.fontEntries.find(function (entry) { return fontLookupKey(entry.name) === key; });
118
+ };
119
+ /**
120
+ * Ensure a minimal `w:font/@w:name` row exists and return it.
121
+ * If present (case-insensitive), returns the existing entry without duplicating.
122
+ *
123
+ * @throws DocxError `content/unsupported` when `name` is empty or whitespace-only.
124
+ *
125
+ * @public
126
+ */
127
+ FontTablePart.prototype.appendFont = function (name) {
128
+ var _this = this;
129
+ var trimmed = name.trim();
130
+ if (trimmed.length === 0) {
131
+ throw new DocxError('content/unsupported', 'Font name must not be empty');
132
+ }
133
+ var existing = this.font(trimmed);
134
+ if (existing !== undefined) {
135
+ return existing;
136
+ }
137
+ // Preserve caller casing (trimmed ends only).
138
+ var created = createFontTableFont(trimmed, function () {
139
+ _this.markDirty();
140
+ });
141
+ this.fontEntries.push(created);
142
+ this.markDirty();
143
+ return created;
144
+ };
145
+ /**
146
+ * Declared substitute string for `name` (`w:altName/@w:val`), or `undefined`.
147
+ * Case-insensitive name lookup. Does not create entries.
148
+ *
149
+ * Prefer {@link WordDocument.fontSubstitutionTable} `.get(name)` for substitution
150
+ * workflows (TASK-8067). This helper remains a thin catalog alias to
151
+ * {@link FontTableFont.alternateName}.
152
+ *
153
+ * @public
154
+ */
155
+ FontTablePart.prototype.substituteFont = function (name) {
156
+ var __ts33_0;
157
+ return ((__ts33_0 = this.font(name)), __ts33_0 == null ? undefined : __ts33_0.alternateName);
158
+ };
159
+ /**
160
+ * @private
161
+ */
162
+ FontTablePart.prototype.isDirty = function () {
163
+ return this.dirty;
164
+ };
165
+ /**
166
+ * @private
167
+ */
168
+ FontTablePart.prototype.markDirty = function () {
169
+ this.dirty = true;
170
+ this.bytes = undefined;
171
+ };
172
+ /**
173
+ * @private
174
+ */
175
+ FontTablePart.prototype.serialize = function () {
176
+ if (!this.dirty) {
177
+ if (this.bytes !== undefined) {
178
+ return this.bytes;
179
+ }
180
+ return new Uint8Array(0);
181
+ }
182
+ var children = __spread(this.rootExtrasBeforeFonts, this.fontEntries.map(function (entry) { return entry.serialize(); }), this.rootExtrasAfterFonts);
183
+ var root = wmlElement('fonts', {
184
+ namespaceDeclarations: this.rootNamespaceDeclarations,
185
+ attributes: this.rootAttributes,
186
+ children: children,
187
+ });
188
+ return utf8Encoder.encode(serializeXml(root));
189
+ };
190
+ return FontTablePart;
191
+ }());
192
+ export { FontTablePart };
193
+ function parseFontTableRoot(root, markDirty) {
194
+ var e_1, _a;
195
+ var fontEntries = [];
196
+ var rootExtrasBeforeFonts = [];
197
+ var rootExtrasAfterFonts = [];
198
+ var sawFont = false;
199
+ try {
200
+ for (var _b = __values(elementChildren(root)), _c = _b.next(); !_c.done; _c = _b.next()) {
201
+ var child = _c.value;
202
+ if (isWml(child, 'font')) {
203
+ sawFont = true;
204
+ var entry = parseFontTableFont(child, markDirty);
205
+ if (entry !== undefined) {
206
+ fontEntries.push(entry);
207
+ }
208
+ continue;
209
+ }
210
+ if (sawFont) {
211
+ rootExtrasAfterFonts.push(child);
212
+ }
213
+ else {
214
+ rootExtrasBeforeFonts.push(child);
215
+ }
216
+ }
217
+ }
218
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
219
+ finally {
220
+ try {
221
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
222
+ }
223
+ finally { if (e_1) throw e_1.error; }
224
+ }
225
+ return {
226
+ fontEntries: fontEntries,
227
+ rootExtrasBeforeFonts: rootExtrasBeforeFonts,
228
+ rootExtrasAfterFonts: rootExtrasAfterFonts,
229
+ rootAttributes: __spread(root.attributes),
230
+ rootNamespaceDeclarations: __spread(root.namespaceDeclarations),
231
+ };
232
+ }
233
+ function loadFontTablePart(part) {
234
+ if (part === undefined) {
235
+ return new FontTablePart(undefined, [], [], [], [], [], false);
236
+ }
237
+ var root = parseXml(utf8Decoder.decode(part.data));
238
+ if (!isWml(root, 'fonts')) {
239
+ return new FontTablePart(part.data, [], [], [], [], [], false);
240
+ }
241
+ // Entries close over this holder so markDirty works before/after construction.
242
+ var holder = { part: undefined };
243
+ var markDirty = function () {
244
+ if (holder.part !== undefined) {
245
+ holder.part.markDirty();
246
+ }
247
+ };
248
+ var parsed = parseFontTableRoot(root, markDirty);
249
+ var result = new FontTablePart(part.data, parsed.fontEntries, parsed.rootExtrasBeforeFonts, parsed.rootExtrasAfterFonts, parsed.rootAttributes, parsed.rootNamespaceDeclarations, false);
250
+ holder.part = result;
251
+ return result;
252
+ }
253
+ var fontTableRegistered = false;
254
+ /**
255
+ * @private
256
+ * Test hook */
257
+ export function resetFontTableFeatureForTests() {
258
+ fontTableRegistered = false;
259
+ }
260
+ /**
261
+ * @private
262
+ * Register the font table package-part handler. Idempotent. */
263
+ export function registerFontTableFeature() {
264
+ if (fontTableRegistered) {
265
+ return;
266
+ }
267
+ fontTableRegistered = true;
268
+ registerFeature({ id: FONT_TABLE });
269
+ registerFeaturePartHandler({
270
+ featureId: FONT_TABLE,
271
+ relationshipTypes: [FONT_TABLE_RELATIONSHIP_TYPE, STRICT_FONT_TABLE_RELATIONSHIP_TYPE],
272
+ defaultRelativeTarget: 'fontTable.xml',
273
+ partName: FONT_TABLE_PART_NAME,
274
+ contentType: FONT_TABLE_CONTENT_TYPE,
275
+ loadPart: function (part, ctx) {
276
+ void ctx;
277
+ return loadFontTablePart(part);
278
+ },
279
+ });
280
+ }
281
+ /**
282
+ * Font table catalog for a document (`fontTable.xml` / `CT_FontsList`).
283
+ *
284
+ * **Public dual export (TASK-8067):** Prefer {@link WordDocument.fontSubstitutionTable}
285
+ * for alternate-name dictionary workflows (`get`/`set`/`delete`/`clear`/iteration).
286
+ * Use `fontTableFor` only for the full catalog — panose, family, pitch, charset,
287
+ * signature, embed relationship metadata, residual unknown markup, and
288
+ * `appendFont` / `font` / `fonts`.
289
+ *
290
+ * When the feature is registered but no part is attached yet (for example
291
+ * {@link WordDocument.create} before the handler ran at load, or registration after
292
+ * load), attaches an empty not-dirty {@link FontTablePart} so authoring works
293
+ * without a prior load of `fontTable.xml`.
294
+ *
295
+ * @throws DocxError `feature/not-registered` when a non-{@link FontTablePart}
296
+ * value occupies the feature slot, or when the feature cannot be ensured.
297
+ *
298
+ * @private
299
+ */
300
+ export function fontTableFor(document) {
301
+ registerFontTableFeature();
302
+ var existing = document.featurePart(FONT_TABLE);
303
+ if (existing instanceof FontTablePart) {
304
+ return existing;
305
+ }
306
+ if (existing !== undefined) {
307
+ throw new DocxError('feature/not-registered', 'Font table part was not loaded; call registerFontTableFeature() or registerStylesFeature() before WordDocument.open');
308
+ }
309
+ // Absent only: empty catalog (not dirty). First mutation dirties and save emits the part.
310
+ var empty = new FontTablePart(undefined, [], [], [], [], [], false);
311
+ document.setFeaturePart(FONT_TABLE, empty);
312
+ return empty;
313
+ }
@@ -0,0 +1,27 @@
1
+ export * from './font-substitution-table';
2
+ export * from './font-table-entry';
3
+ export * from './font-table';
4
+ /**
5
+ * Font Table feature (`word/fontTable.xml`).
6
+ *
7
+ * Owns the declarative font catalog (`CT_FontsList` / `CT_Font`), including
8
+ * `w:altName` substitution and typed metadata (`panose1`, `charset`, `family`,
9
+ * `notTrueType`, `pitch`, `sig`, embed relationship slots). Binary ODTTF
10
+ * authoring remains out of scope (ECMA-376-1 §11.3.5, §17.8).
11
+ *
12
+ * Public substitution entry: {@link WordDocument.fontSubstitutionTable}.
13
+ *
14
+ * @packageDocumentation
15
+ */
16
+ import { WordDocument } from '../document/document';
17
+ import { FontSubstitutionTable } from './font-substitution-table';
18
+ /**
19
+ * WordDocument-owned font substitution dictionary for `document`.
20
+ *
21
+ * Same object identity on every access for a given document. Backed by the
22
+ * document’s {@link FontTablePart} (ensured on first access).
23
+ *
24
+ * @private
25
+ * Prefer {@link WordDocument.fontSubstitutionTable}.
26
+ */
27
+ export declare function fontSubstitutionTableFor(document: WordDocument): FontSubstitutionTable;
@@ -0,0 +1,48 @@
1
+ export * from './font-substitution-table';
2
+ export * from './font-table-entry';
3
+ export * from './font-table';
4
+ /**
5
+ * Font Table feature (`word/fontTable.xml`).
6
+ *
7
+ * Owns the declarative font catalog (`CT_FontsList` / `CT_Font`), including
8
+ * `w:altName` substitution and typed metadata (`panose1`, `charset`, `family`,
9
+ * `notTrueType`, `pitch`, `sig`, embed relationship slots). Binary ODTTF
10
+ * authoring remains out of scope (ECMA-376-1 §11.3.5, §17.8).
11
+ *
12
+ * Public substitution entry: {@link WordDocument.fontSubstitutionTable}.
13
+ *
14
+ * @packageDocumentation
15
+ */
16
+ import { WordDocument } from '../document/document';
17
+ import { FontSubstitutionTableImpl } from './font-substitution-table';
18
+ import { fontTableFor, registerFontTableFeature } from './font-table';
19
+ /** Stable `WordDocument` → substitution table identity (TASK-8066). */
20
+ var substitutionTables = new WeakMap();
21
+ /**
22
+ * WordDocument-owned font substitution dictionary for `document`.
23
+ *
24
+ * Same object identity on every access for a given document. Backed by the
25
+ * document’s {@link FontTablePart} (ensured on first access).
26
+ *
27
+ * @private
28
+ * Prefer {@link WordDocument.fontSubstitutionTable}.
29
+ */
30
+ export function fontSubstitutionTableFor(document) {
31
+ registerFontTableFeature();
32
+ var cached = substitutionTables.get(document);
33
+ if (cached !== undefined) {
34
+ return cached;
35
+ }
36
+ var part = fontTableFor(document);
37
+ var table = new FontSubstitutionTableImpl(part);
38
+ substitutionTables.set(document, table);
39
+ return table;
40
+ }
41
+ Object.defineProperty(WordDocument.prototype, 'fontSubstitutionTable', {
42
+ configurable: true,
43
+ enumerable: false,
44
+ get: function () {
45
+ return fontSubstitutionTableFor(this);
46
+ },
47
+ });
48
+ registerFontTableFeature();
@@ -0,0 +1,97 @@
1
+ import { WordDocument } from '../document/document';
2
+ import { FeaturePackagePart } from '../document/feature-package-part';
3
+ /**
4
+ * @private
5
+ * Transitional glossary document relationship (ECMA-376-4 §9.2.8). */
6
+ export declare const GLOSSARY_DOCUMENT_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/glossaryDocument";
7
+ /**
8
+ * @private
9
+ * Strict glossary document relationship (ECMA-376-1 §11.3.8). */
10
+ export declare const STRICT_GLOSSARY_DOCUMENT_RELATIONSHIP_TYPE = "http://purl.oclc.org/ooxml/officeDocument/relationships/glossaryDocument";
11
+ /**
12
+ * @private
13
+ * ECMA-376-1 §11.3.8 Glossary WordDocument content type. */
14
+ export declare const GLOSSARY_DOCUMENT_CONTENT_TYPE = "application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml";
15
+ /**
16
+ * @private
17
+ */
18
+ export declare const GLOSSARY_DOCUMENT_PART_NAME: import("../../core/opc/part-name").PartName;
19
+ interface DocPartSummary {
20
+ readonly name: string;
21
+ readonly category: string | undefined;
22
+ readonly gallery: string | undefined;
23
+ }
24
+ interface GlossaryMetadata {
25
+ readonly docParts: ReadonlyArray<DocPartSummary>;
26
+ }
27
+ /**
28
+ * Preserve-only Glossary WordDocument part (`glossary/document.xml`).
29
+ * Building-block body content is opaque; name/category/gallery metadata is
30
+ * read-only catalog access. No building-block editor or mutation API is provided.
31
+ *
32
+ * @private
33
+ */
34
+ export declare class GlossaryDocumentPart implements FeaturePackagePart {
35
+ private readonly bytes;
36
+ private readonly metadata;
37
+ private readonly dirty;
38
+ /**
39
+ * @private
40
+ */
41
+ constructor(bytes: Uint8Array | undefined, metadata: GlossaryMetadata, dirty: boolean);
42
+ /**
43
+ * Whether the glossary part was present in the package.
44
+ *
45
+ * @public
46
+ */
47
+ present(): boolean;
48
+ /**
49
+ * Count of `w:docParts/w:docPart` entries with a readable `w:name`.
50
+ *
51
+ * @public
52
+ */
53
+ docPartCount(): number;
54
+ /**
55
+ * `w:docPartPr/w:name/@w:val` values in document order.
56
+ *
57
+ * @public
58
+ */
59
+ docPartNames(): ReadonlyArray<string>;
60
+ /**
61
+ * `w:category/w:name/@w:val` for a doc part name, or `undefined` when absent.
62
+ *
63
+ * @public
64
+ */
65
+ docPartCategory(name: string): string | undefined;
66
+ /**
67
+ * `w:category/w:gallery/@w:val` for a doc part name, or `undefined` when absent.
68
+ *
69
+ * @public
70
+ */
71
+ docPartGallery(name: string): string | undefined;
72
+ /**
73
+ * @private
74
+ */
75
+ isDirty(): boolean;
76
+ /**
77
+ * @private
78
+ */
79
+ serialize(): Uint8Array;
80
+ }
81
+ /**
82
+ * @private
83
+ * Test hook */
84
+ export declare function resetGlossaryFeatureForTests(): void;
85
+ /**
86
+ * @private
87
+ * Register the glossary document package-part handler. Idempotent. */
88
+ export declare function registerGlossaryFeature(): void;
89
+ /**
90
+ * Glossary document catalog for a package. Requires {@link registerGlossaryFeature}.
91
+ *
92
+ * @throws DocxError `UNKNOWN_FEATURE` when the module was not registered before load.
93
+ *
94
+ * @private
95
+ */
96
+ export declare function glossaryFor(document: WordDocument): GlossaryDocumentPart;
97
+ export {};