@syncfusion/ej2-docx 0.0.0-stage → 35.1.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (417) hide show
  1. package/.gitleaksignore +35 -0
  2. package/README.md +68 -2
  3. package/core.js +4 -0
  4. package/dist/ej2-docx.umd.min.js +11 -0
  5. package/dist/ej2-docx.umd.min.js.map +1 -0
  6. package/dist/es6/ej2-docx.es2015.js +66697 -0
  7. package/dist/es6/ej2-docx.es2015.js.map +1 -0
  8. package/dist/es6/ej2-docx.es5.js +77568 -0
  9. package/dist/es6/ej2-docx.es5.js.map +1 -0
  10. package/dist/global/ej2-docx.min.js +11 -0
  11. package/dist/global/ej2-docx.min.js.map +1 -0
  12. package/dist/global/index.d.ts +14 -0
  13. package/features.js +4 -0
  14. package/index.js +4 -0
  15. package/license +10 -0
  16. package/package.json +30 -3
  17. package/src/all.d.ts +50 -0
  18. package/src/all.js +147 -0
  19. package/src/core/compat/base64.d.ts +13 -0
  20. package/src/core/compat/base64.js +90 -0
  21. package/src/core/compat/object-compat.d.ts +30 -0
  22. package/src/core/compat/object-compat.js +40 -0
  23. package/src/core/compat/sha256.d.ts +9 -0
  24. package/src/core/compat/sha256.js +98 -0
  25. package/src/core/errors/docx-error.d.ts +89 -0
  26. package/src/core/errors/docx-error.js +138 -0
  27. package/src/core/errors/error-codes.d.ts +8 -0
  28. package/src/core/errors/error-codes.js +0 -0
  29. package/src/core/errors/index.d.ts +10 -0
  30. package/src/core/errors/index.js +9 -0
  31. package/src/core/index.d.ts +12 -0
  32. package/src/core/index.js +12 -0
  33. package/src/core/mc/alternate-content.d.ts +7 -0
  34. package/src/core/mc/alternate-content.js +67 -0
  35. package/src/core/mc/attributes.d.ts +24 -0
  36. package/src/core/mc/attributes.js +82 -0
  37. package/src/core/mc/index.d.ts +7 -0
  38. package/src/core/mc/index.js +5 -0
  39. package/src/core/mc/inspect.d.ts +16 -0
  40. package/src/core/mc/inspect.js +148 -0
  41. package/src/core/mc/namespaces.d.ts +4 -0
  42. package/src/core/mc/namespaces.js +4 -0
  43. package/src/core/mc/scope.d.ts +6 -0
  44. package/src/core/mc/scope.js +47 -0
  45. package/src/core/opc/content-types.d.ts +34 -0
  46. package/src/core/opc/content-types.js +162 -0
  47. package/src/core/opc/index.d.ts +8 -0
  48. package/src/core/opc/index.js +4 -0
  49. package/src/core/opc/package.d.ts +49 -0
  50. package/src/core/opc/package.js +324 -0
  51. package/src/core/opc/part-name.d.ts +47 -0
  52. package/src/core/opc/part-name.js +205 -0
  53. package/src/core/opc/relationships.d.ts +46 -0
  54. package/src/core/opc/relationships.js +212 -0
  55. package/src/core/preservation/index.d.ts +2 -0
  56. package/src/core/preservation/index.js +1 -0
  57. package/src/core/preservation/opaque-body.d.ts +16 -0
  58. package/src/core/preservation/opaque-body.js +69 -0
  59. package/src/core/registry/block-handlers.d.ts +30 -0
  60. package/src/core/registry/block-handlers.js +36 -0
  61. package/src/core/registry/create-defaults.d.ts +39 -0
  62. package/src/core/registry/create-defaults.js +42 -0
  63. package/src/core/registry/feature-registry.d.ts +20 -0
  64. package/src/core/registry/feature-registry.js +29 -0
  65. package/src/core/registry/index.d.ts +9 -0
  66. package/src/core/registry/index.js +8 -0
  67. package/src/core/registry/inline-handlers.d.ts +20 -0
  68. package/src/core/registry/inline-handlers.js +30 -0
  69. package/src/core/registry/materialize-handlers.d.ts +35 -0
  70. package/src/core/registry/materialize-handlers.js +75 -0
  71. package/src/core/registry/multi-part-handlers.d.ts +37 -0
  72. package/src/core/registry/multi-part-handlers.js +206 -0
  73. package/src/core/registry/package-part-handlers.d.ts +28 -0
  74. package/src/core/registry/package-part-handlers.js +190 -0
  75. package/src/core/registry/part-handlers.d.ts +24 -0
  76. package/src/core/registry/part-handlers.js +172 -0
  77. package/src/core/registry/run-leaf-handlers.d.ts +26 -0
  78. package/src/core/registry/run-leaf-handlers.js +72 -0
  79. package/src/core/security/limits.d.ts +40 -0
  80. package/src/core/security/limits.js +26 -0
  81. package/src/core/xml/index.d.ts +7 -0
  82. package/src/core/xml/index.js +3 -0
  83. package/src/core/xml/model.d.ts +66 -0
  84. package/src/core/xml/model.js +17 -0
  85. package/src/core/xml/parse.d.ts +12 -0
  86. package/src/core/xml/parse.js +382 -0
  87. package/src/core/xml/serialize.d.ts +6 -0
  88. package/src/core/xml/serialize.js +93 -0
  89. package/src/core/zip/crc32.d.ts +2 -0
  90. package/src/core/zip/crc32.js +25 -0
  91. package/src/core/zip/deflate.d.ts +6 -0
  92. package/src/core/zip/deflate.js +6 -0
  93. package/src/core/zip/index.d.ts +10 -0
  94. package/src/core/zip/index.js +4 -0
  95. package/src/core/zip/inflate-raw.d.ts +17 -0
  96. package/src/core/zip/inflate-raw.js +450 -0
  97. package/src/core/zip/names.d.ts +6 -0
  98. package/src/core/zip/names.js +52 -0
  99. package/src/core/zip/read.d.ts +8 -0
  100. package/src/core/zip/read.js +262 -0
  101. package/src/core/zip/write.d.ts +7 -0
  102. package/src/core/zip/write.js +189 -0
  103. package/src/core/zip/zip-entry.d.ts +4 -0
  104. package/src/core/zip/zip-entry.js +0 -0
  105. package/src/features/bibliography/index.d.ts +100 -0
  106. package/src/features/bibliography/index.js +290 -0
  107. package/src/features/bookmarks/index.d.ts +331 -0
  108. package/src/features/bookmarks/index.js +1009 -0
  109. package/src/features/comments/comment-extensions.d.ts +157 -0
  110. package/src/features/comments/comment-extensions.js +356 -0
  111. package/src/features/comments/index.d.ts +579 -0
  112. package/src/features/comments/index.js +1727 -0
  113. package/src/features/content-controls/index.d.ts +821 -0
  114. package/src/features/content-controls/index.js +2857 -0
  115. package/src/features/custom-xml/index.d.ts +236 -0
  116. package/src/features/custom-xml/index.js +661 -0
  117. package/src/features/document/alignment.d.ts +23 -0
  118. package/src/features/document/alignment.js +36 -0
  119. package/src/features/document/alt-chunk.d.ts +103 -0
  120. package/src/features/document/alt-chunk.js +221 -0
  121. package/src/features/document/assert-never.d.ts +1 -0
  122. package/src/features/document/assert-never.js +4 -0
  123. package/src/features/document/augmentations.d.ts +578 -0
  124. package/src/features/document/augmentations.js +0 -0
  125. package/src/features/document/body-always-on.d.ts +36 -0
  126. package/src/features/document/body-always-on.js +66 -0
  127. package/src/features/document/body-blocks.d.ts +7 -0
  128. package/src/features/document/body-blocks.js +78 -0
  129. package/src/features/document/body-item-adapters.d.ts +62 -0
  130. package/src/features/document/body-item-adapters.js +97 -0
  131. package/src/features/document/body-item-collection.d.ts +151 -0
  132. package/src/features/document/body-item-collection.js +440 -0
  133. package/src/features/document/body-item.d.ts +35 -0
  134. package/src/features/document/body-item.js +8 -0
  135. package/src/features/document/body.d.ts +150 -0
  136. package/src/features/document/body.js +263 -0
  137. package/src/features/document/character-format.d.ts +413 -0
  138. package/src/features/document/character-format.js +2054 -0
  139. package/src/features/document/color.d.ts +178 -0
  140. package/src/features/document/color.js +495 -0
  141. package/src/features/document/document.d.ts +410 -0
  142. package/src/features/document/document.js +1049 -0
  143. package/src/features/document/element-type.d.ts +68 -0
  144. package/src/features/document/element-type.js +133 -0
  145. package/src/features/document/entity-type.d.ts +92 -0
  146. package/src/features/document/entity-type.js +93 -0
  147. package/src/features/document/feature-block.d.ts +16 -0
  148. package/src/features/document/feature-block.js +0 -0
  149. package/src/features/document/feature-inline.d.ts +13 -0
  150. package/src/features/document/feature-inline.js +0 -0
  151. package/src/features/document/feature-multi-package-part.d.ts +19 -0
  152. package/src/features/document/feature-multi-package-part.js +8 -0
  153. package/src/features/document/feature-package-level-part.d.ts +18 -0
  154. package/src/features/document/feature-package-level-part.js +8 -0
  155. package/src/features/document/feature-package-part.d.ts +14 -0
  156. package/src/features/document/feature-package-part.js +0 -0
  157. package/src/features/document/feature-run-leaf.d.ts +9 -0
  158. package/src/features/document/feature-run-leaf.js +0 -0
  159. package/src/features/document/headers-footers.d.ts +206 -0
  160. package/src/features/document/headers-footers.js +384 -0
  161. package/src/features/document/index.d.ts +41 -0
  162. package/src/features/document/index.js +34 -0
  163. package/src/features/document/length.d.ts +152 -0
  164. package/src/features/document/length.js +245 -0
  165. package/src/features/document/load-options.d.ts +14 -0
  166. package/src/features/document/load-options.js +0 -0
  167. package/src/features/document/locale-ids.d.ts +227 -0
  168. package/src/features/document/locale-ids.js +485 -0
  169. package/src/features/document/on-off.d.ts +9 -0
  170. package/src/features/document/on-off.js +27 -0
  171. package/src/features/document/page-setup.d.ts +339 -0
  172. package/src/features/document/page-setup.js +244 -0
  173. package/src/features/document/paragraph-format.d.ts +880 -0
  174. package/src/features/document/paragraph-format.js +2807 -0
  175. package/src/features/document/paragraph-item-collection.d.ts +162 -0
  176. package/src/features/document/paragraph-item-collection.js +363 -0
  177. package/src/features/document/paragraph-item.d.ts +83 -0
  178. package/src/features/document/paragraph-item.js +103 -0
  179. package/src/features/document/paragraph.d.ts +435 -0
  180. package/src/features/document/paragraph.js +888 -0
  181. package/src/features/document/run.d.ts +1 -0
  182. package/src/features/document/run.js +768 -0
  183. package/src/features/document/section-partition-flatten.d.ts +124 -0
  184. package/src/features/document/section-partition-flatten.js +217 -0
  185. package/src/features/document/section-properties-model.d.ts +13 -0
  186. package/src/features/document/section-properties-model.js +0 -0
  187. package/src/features/document/section.d.ts +93 -0
  188. package/src/features/document/section.js +178 -0
  189. package/src/features/document/sections.d.ts +103 -0
  190. package/src/features/document/sections.js +217 -0
  191. package/src/features/document/sub-super-script.d.ts +23 -0
  192. package/src/features/document/sub-super-script.js +43 -0
  193. package/src/features/document/text-range.d.ts +445 -0
  194. package/src/features/document/text-range.js +1156 -0
  195. package/src/features/document/typed-body-collections.d.ts +162 -0
  196. package/src/features/document/typed-body-collections.js +371 -0
  197. package/src/features/document/underline-style.d.ts +38 -0
  198. package/src/features/document/underline-style.js +126 -0
  199. package/src/features/document/units.d.ts +8 -0
  200. package/src/features/document/units.js +7 -0
  201. package/src/features/document/wml.d.ts +16 -0
  202. package/src/features/document/wml.js +67 -0
  203. package/src/features/drawing/authoring.d.ts +27 -0
  204. package/src/features/drawing/authoring.js +271 -0
  205. package/src/features/drawing/body-pr.d.ts +271 -0
  206. package/src/features/drawing/body-pr.js +663 -0
  207. package/src/features/drawing/drawing-shape.d.ts +1192 -0
  208. package/src/features/drawing/drawing-shape.js +3239 -0
  209. package/src/features/drawing/encode-builders.d.ts +176 -0
  210. package/src/features/drawing/encode-builders.js +390 -0
  211. package/src/features/drawing/fill-format.d.ts +52 -0
  212. package/src/features/drawing/fill-format.js +124 -0
  213. package/src/features/drawing/host-codec.d.ts +632 -0
  214. package/src/features/drawing/host-codec.js +2595 -0
  215. package/src/features/drawing/index.d.ts +13 -0
  216. package/src/features/drawing/index.js +33 -0
  217. package/src/features/drawing/line-format.d.ts +76 -0
  218. package/src/features/drawing/line-format.js +343 -0
  219. package/src/features/drawing/parse-register.d.ts +50 -0
  220. package/src/features/drawing/parse-register.js +257 -0
  221. package/src/features/drawing/residual-utils.d.ts +47 -0
  222. package/src/features/drawing/residual-utils.js +290 -0
  223. package/src/features/drawing/shape-types.d.ts +433 -0
  224. package/src/features/drawing/shape-types.js +437 -0
  225. package/src/features/drawing/sp-pr.d.ts +396 -0
  226. package/src/features/drawing/sp-pr.js +610 -0
  227. package/src/features/drawing/text-frame.d.ts +90 -0
  228. package/src/features/drawing/text-frame.js +152 -0
  229. package/src/features/drawing/types.d.ts +352 -0
  230. package/src/features/drawing/types.js +60 -0
  231. package/src/features/drawing/wrap-format.d.ts +62 -0
  232. package/src/features/drawing/wrap-format.js +114 -0
  233. package/src/features/editable-ranges/index.d.ts +494 -0
  234. package/src/features/editable-ranges/index.js +1348 -0
  235. package/src/features/fields/index.d.ts +428 -0
  236. package/src/features/fields/index.js +2148 -0
  237. package/src/features/fields/paragraph-field.d.ts +187 -0
  238. package/src/features/fields/paragraph-field.js +692 -0
  239. package/src/features/font-table/font-substitution-table.d.ts +75 -0
  240. package/src/features/font-table/font-substitution-table.js +257 -0
  241. package/src/features/font-table/font-table-entry.d.ts +255 -0
  242. package/src/features/font-table/font-table-entry.js +823 -0
  243. package/src/features/font-table/font-table.d.ts +128 -0
  244. package/src/features/font-table/font-table.js +313 -0
  245. package/src/features/font-table/index.d.ts +27 -0
  246. package/src/features/font-table/index.js +48 -0
  247. package/src/features/glossary/index.d.ts +97 -0
  248. package/src/features/glossary/index.js +286 -0
  249. package/src/features/headers-footers/index.d.ts +506 -0
  250. package/src/features/headers-footers/index.js +1666 -0
  251. package/src/features/hyperlinks/index.d.ts +230 -0
  252. package/src/features/hyperlinks/index.js +685 -0
  253. package/src/features/images/caption-authoring-api.d.ts +33 -0
  254. package/src/features/images/caption-authoring-api.js +33 -0
  255. package/src/features/images/caption-enums.d.ts +52 -0
  256. package/src/features/images/caption-enums.js +141 -0
  257. package/src/features/images/caption-host.d.ts +10 -0
  258. package/src/features/images/caption-host.js +21 -0
  259. package/src/features/images/captions.d.ts +13 -0
  260. package/src/features/images/captions.js +142 -0
  261. package/src/features/images/host-codec.d.ts +103 -0
  262. package/src/features/images/host-codec.js +720 -0
  263. package/src/features/images/image-sniff.d.ts +21 -0
  264. package/src/features/images/image-sniff.js +71 -0
  265. package/src/features/images/index.d.ts +506 -0
  266. package/src/features/images/index.js +1429 -0
  267. package/src/features/images/layout-types.d.ts +232 -0
  268. package/src/features/images/layout-types.js +294 -0
  269. package/src/features/images/public-entry.d.ts +9 -0
  270. package/src/features/images/public-entry.js +9 -0
  271. package/src/features/index.d.ts +35 -0
  272. package/src/features/index.js +36 -0
  273. package/src/features/mail-merge/index.d.ts +113 -0
  274. package/src/features/mail-merge/index.js +315 -0
  275. package/src/features/notes/index.d.ts +573 -0
  276. package/src/features/notes/index.js +1725 -0
  277. package/src/features/numbering/abstract-numbering.d.ts +90 -0
  278. package/src/features/numbering/abstract-numbering.js +292 -0
  279. package/src/features/numbering/index.d.ts +182 -0
  280. package/src/features/numbering/index.js +668 -0
  281. package/src/features/numbering/list-format.d.ts +158 -0
  282. package/src/features/numbering/list-format.js +590 -0
  283. package/src/features/numbering/list-string.d.ts +7 -0
  284. package/src/features/numbering/list-string.js +423 -0
  285. package/src/features/numbering/list-style.d.ts +204 -0
  286. package/src/features/numbering/list-style.js +1084 -0
  287. package/src/features/numbering/numbering-instance.d.ts +101 -0
  288. package/src/features/numbering/numbering-instance.js +329 -0
  289. package/src/features/numbering/numbering-level.d.ts +118 -0
  290. package/src/features/numbering/numbering-level.js +501 -0
  291. package/src/features/numbering/picture-bullet.d.ts +34 -0
  292. package/src/features/numbering/picture-bullet.js +88 -0
  293. package/src/features/ole-object/catalog.d.ts +300 -0
  294. package/src/features/ole-object/catalog.js +908 -0
  295. package/src/features/ole-object/index.d.ts +526 -0
  296. package/src/features/ole-object/index.js +1421 -0
  297. package/src/features/ole-object/relationship.d.ts +27 -0
  298. package/src/features/ole-object/relationship.js +27 -0
  299. package/src/features/ole-object/typed-dom.d.ts +186 -0
  300. package/src/features/ole-object/typed-dom.js +595 -0
  301. package/src/features/properties/index.d.ts +205 -0
  302. package/src/features/properties/index.js +549 -0
  303. package/src/features/revisions/index.d.ts +204 -0
  304. package/src/features/revisions/index.js +695 -0
  305. package/src/features/sections/column-collection.d.ts +119 -0
  306. package/src/features/sections/column-collection.js +478 -0
  307. package/src/features/sections/column.d.ts +15 -0
  308. package/src/features/sections/column.js +37 -0
  309. package/src/features/sections/index.d.ts +91 -0
  310. package/src/features/sections/index.js +1096 -0
  311. package/src/features/sections/margins.d.ts +40 -0
  312. package/src/features/sections/margins.js +105 -0
  313. package/src/features/sections/page-number-style.d.ts +21 -0
  314. package/src/features/sections/page-number-style.js +62 -0
  315. package/src/features/sections/page-orientation.d.ts +10 -0
  316. package/src/features/sections/page-orientation.js +10 -0
  317. package/src/features/sections/page-setup.d.ts +435 -0
  318. package/src/features/sections/page-setup.js +1479 -0
  319. package/src/features/sections/page-size.d.ts +59 -0
  320. package/src/features/sections/page-size.js +68 -0
  321. package/src/features/sections/section-break-code.d.ts +27 -0
  322. package/src/features/sections/section-break-code.js +60 -0
  323. package/src/features/sections/section-document-association.d.ts +18 -0
  324. package/src/features/sections/section-document-association.js +31 -0
  325. package/src/features/sections/section-validation.d.ts +43 -0
  326. package/src/features/sections/section-validation.js +97 -0
  327. package/src/features/settings/attached-template.d.ts +35 -0
  328. package/src/features/settings/attached-template.js +98 -0
  329. package/src/features/settings/compat-settings.d.ts +216 -0
  330. package/src/features/settings/compat-settings.js +508 -0
  331. package/src/features/settings/document-background.d.ts +59 -0
  332. package/src/features/settings/document-background.js +131 -0
  333. package/src/features/settings/document-protection.d.ts +65 -0
  334. package/src/features/settings/document-protection.js +157 -0
  335. package/src/features/settings/document-settings-facades.d.ts +108 -0
  336. package/src/features/settings/document-settings-facades.js +312 -0
  337. package/src/features/settings/document-settings-values.d.ts +43 -0
  338. package/src/features/settings/document-settings-values.js +60 -0
  339. package/src/features/settings/footnote-properties.d.ts +211 -0
  340. package/src/features/settings/footnote-properties.js +591 -0
  341. package/src/features/settings/index.d.ts +356 -0
  342. package/src/features/settings/index.js +829 -0
  343. package/src/features/settings/settings-children.d.ts +151 -0
  344. package/src/features/settings/settings-children.js +505 -0
  345. package/src/features/settings/web-settings.d.ts +88 -0
  346. package/src/features/settings/web-settings.js +227 -0
  347. package/src/features/settings/zoom.d.ts +79 -0
  348. package/src/features/settings/zoom.js +147 -0
  349. package/src/features/styles/builtin-catalog.d.ts +159 -0
  350. package/src/features/styles/builtin-catalog.js +963 -0
  351. package/src/features/styles/builtin-resolver.d.ts +49 -0
  352. package/src/features/styles/builtin-resolver.js +165 -0
  353. package/src/features/styles/default-styles.d.ts +37 -0
  354. package/src/features/styles/default-styles.js +186 -0
  355. package/src/features/styles/default-theme.d.ts +13 -0
  356. package/src/features/styles/default-theme.js +13 -0
  357. package/src/features/styles/doc-defaults.d.ts +58 -0
  358. package/src/features/styles/doc-defaults.js +178 -0
  359. package/src/features/styles/formatting-resolver.d.ts +27 -0
  360. package/src/features/styles/formatting-resolver.js +72 -0
  361. package/src/features/styles/index.d.ts +256 -0
  362. package/src/features/styles/index.js +1325 -0
  363. package/src/features/styles/latent-styles.d.ts +68 -0
  364. package/src/features/styles/latent-styles.js +305 -0
  365. package/src/features/styles/paragraph-properties.d.ts +71 -0
  366. package/src/features/styles/paragraph-properties.js +237 -0
  367. package/src/features/styles/run-properties.d.ts +93 -0
  368. package/src/features/styles/run-properties.js +516 -0
  369. package/src/features/styles/style-base.d.ts +402 -0
  370. package/src/features/styles/style-base.js +1026 -0
  371. package/src/features/styles/style-collection.d.ts +264 -0
  372. package/src/features/styles/style-collection.js +714 -0
  373. package/src/features/styles/style-format-bridge.d.ts +64 -0
  374. package/src/features/styles/style-format-bridge.js +100 -0
  375. package/src/features/styles/style.d.ts +84 -0
  376. package/src/features/styles/style.js +375 -0
  377. package/src/features/styles/styles-with-effects.d.ts +71 -0
  378. package/src/features/styles/styles-with-effects.js +180 -0
  379. package/src/features/styles/table-style.d.ts +272 -0
  380. package/src/features/styles/table-style.js +1226 -0
  381. package/src/features/styles/theme.d.ts +126 -0
  382. package/src/features/styles/theme.js +377 -0
  383. package/src/features/tables/border-style-map.d.ts +24 -0
  384. package/src/features/tables/border-style-map.js +81 -0
  385. package/src/features/tables/borders.d.ts +126 -0
  386. package/src/features/tables/borders.js +527 -0
  387. package/src/features/tables/collections.d.ts +113 -0
  388. package/src/features/tables/collections.js +261 -0
  389. package/src/features/tables/format.d.ts +208 -0
  390. package/src/features/tables/format.js +716 -0
  391. package/src/features/tables/index.d.ts +597 -0
  392. package/src/features/tables/index.js +2386 -0
  393. package/src/features/tables/paddings.d.ts +41 -0
  394. package/src/features/tables/paddings.js +97 -0
  395. package/src/features/tables/tbl-pr-positioning.d.ts +27 -0
  396. package/src/features/tables/tbl-pr-positioning.js +178 -0
  397. package/src/features/tables/tbl-pr.d.ts +528 -0
  398. package/src/features/tables/tbl-pr.js +1208 -0
  399. package/src/features/tables/tc-pr.d.ts +168 -0
  400. package/src/features/tables/tc-pr.js +553 -0
  401. package/src/features/tables/tr-pr.d.ts +60 -0
  402. package/src/features/tables/tr-pr.js +215 -0
  403. package/src/features/watermark/detect.d.ts +76 -0
  404. package/src/features/watermark/detect.js +219 -0
  405. package/src/features/watermark/index.d.ts +28 -0
  406. package/src/features/watermark/index.js +91 -0
  407. package/src/features/watermark/logical-store.d.ts +29 -0
  408. package/src/features/watermark/logical-store.js +31 -0
  409. package/src/features/watermark/model.d.ts +285 -0
  410. package/src/features/watermark/model.js +597 -0
  411. package/src/features/watermark/parse.d.ts +84 -0
  412. package/src/features/watermark/parse.js +815 -0
  413. package/src/features/watermark/serialize.d.ts +98 -0
  414. package/src/features/watermark/serialize.js +1517 -0
  415. package/src/global.js +1 -0
  416. package/src/index.d.ts +2 -0
  417. package/src/index.js +2 -0
@@ -0,0 +1,75 @@
1
+ import { FontTablePart } from './font-table';
2
+ /**
3
+ * Dictionary of primary → alternate font names (`w:font/@w:name` → `w:altName/@w:val`).
4
+ *
5
+ * Facade over {@link FontTablePart} / {@link FontTableFont.alternateName} — not a
6
+ * separate string store. Entries exist only for fonts with a modeled non-empty
7
+ * alternate (ECMA-376-1 §17.8.3.1).
8
+ *
9
+ * **Preferred public entry:** {@link WordDocument.fontSubstitutionTable}. Prefer this
10
+ * over {@link fontTableFor} for substitution-only workflows (TASK-8067). Use
11
+ * `fontTableFor` for full `CT_Font` catalog metadata (panose, embeds, residual).
12
+ *
13
+ * Lookup keys are case-insensitive (locale-independent lower-case), matching
14
+ * {@link FontTablePart.font}. Stored primary casing is preserved on alternate-only
15
+ * updates; new rows keep the trimmed caller primary casing.
16
+ *
17
+ * @private
18
+ */
19
+ export interface FontSubstitutionTable extends Iterable<[string, string]> {
20
+ /** Number of fonts that currently declare a non-empty alternate name. */
21
+ readonly size: number;
22
+ /**
23
+ * Upsert a substitution. Creates a minimal `w:font` row when the primary is absent.
24
+ *
25
+ * @returns `this` for chaining.
26
+ * @throws DocxError `content/unsupported` when either name is null, undefined,
27
+ * empty, or whitespace-only after trim.
28
+ */
29
+ set(primaryFont: string, alternateFont: string): this;
30
+ /** Alternate for `primaryFont`, or `undefined` when absent / no `w:altName`. */
31
+ get(primaryFont: string): string | undefined;
32
+ /** Whether a modeled non-empty alternate exists for `primaryFont`. */
33
+ has(primaryFont: string): boolean;
34
+ /**
35
+ * Clear alternate on the matching font row only. Keeps `w:font` and other metadata.
36
+ *
37
+ * @returns `true` when an alternate was removed; `false` when nothing changed.
38
+ */
39
+ delete(primaryFont: string): boolean;
40
+ /**
41
+ * Clear alternate on every font row. Keeps all rows and non-altName metadata.
42
+ */
43
+ clear(): void;
44
+ entries(): IterableIterator<[string, string]>;
45
+ keys(): IterableIterator<string>;
46
+ values(): IterableIterator<string>;
47
+ [Symbol.iterator](): IterableIterator<[string, string]>;
48
+ }
49
+ /**
50
+ * {@link FontSubstitutionTable} backed by a live {@link FontTablePart}.
51
+ *
52
+ * @private
53
+ * Constructed by the font-table feature host (`WordDocument.fontSubstitutionTable`).
54
+ */
55
+ export declare class FontSubstitutionTableImpl implements FontSubstitutionTable {
56
+ private readonly part;
57
+ /**
58
+ * @private
59
+ */
60
+ constructor(part: FontTablePart);
61
+ /**
62
+ * @private
63
+ * Live part this facade projects (same instance as {@link fontTableFor}). */
64
+ boundPart(): FontTablePart;
65
+ readonly size: number;
66
+ set(primaryFont: string, alternateFont: string): this;
67
+ get(primaryFont: string): string | undefined;
68
+ has(primaryFont: string): boolean;
69
+ delete(primaryFont: string): boolean;
70
+ clear(): void;
71
+ entries(): IterableIterator<[string, string]>;
72
+ keys(): IterableIterator<string>;
73
+ values(): IterableIterator<string>;
74
+ [Symbol.iterator](): IterableIterator<[string, string]>;
75
+ }
@@ -0,0 +1,257 @@
1
+ var __generator = (this && this.__generator) || function (thisArg, body) {
2
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
3
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
4
+ function verb(n) { return function (v) { return step([n, v]); }; }
5
+ function step(op) {
6
+ if (f) throw new TypeError("Generator is already executing.");
7
+ while (_) try {
8
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
9
+ if (y = 0, t) op = [op[0] & 2, t.value];
10
+ switch (op[0]) {
11
+ case 0: case 1: t = op; break;
12
+ case 4: _.label++; return { value: op[1], done: false };
13
+ case 5: _.label++; y = op[1]; op = [0]; continue;
14
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
15
+ default:
16
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
17
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
18
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
19
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
20
+ if (t[2]) _.ops.pop();
21
+ _.trys.pop(); continue;
22
+ }
23
+ op = body.call(thisArg, _);
24
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
25
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
26
+ }
27
+ };
28
+ var __values = (this && this.__values) || function (o) {
29
+ var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
30
+ if (m) return m.call(o);
31
+ return {
32
+ next: function () {
33
+ if (o && i >= o.length) o = void 0;
34
+ return { value: o && o[i++], done: !o };
35
+ }
36
+ };
37
+ };
38
+ var __read = (this && this.__read) || function (o, n) {
39
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
40
+ if (!m) return o;
41
+ var i = m.call(o), r, ar = [], e;
42
+ try {
43
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
44
+ }
45
+ catch (error) { e = { error: error }; }
46
+ finally {
47
+ try {
48
+ if (r && !r.done && (m = i["return"])) m.call(i);
49
+ }
50
+ finally { if (e) throw e.error; }
51
+ }
52
+ return ar;
53
+ };
54
+ import { DocxError } from '../../core/errors/docx-error';
55
+ /**
56
+ * Runtime validation for public `set` boundaries (TS types are `string`).
57
+ */
58
+ function requireTrimmedFontName(value, role) {
59
+ if (value === null || value === undefined) {
60
+ throw new DocxError('content/unsupported', role + " must not be empty");
61
+ }
62
+ var trimmed = String(value).trim();
63
+ if (trimmed.length === 0) {
64
+ throw new DocxError('content/unsupported', role + " must not be empty");
65
+ }
66
+ return trimmed;
67
+ }
68
+ function substitutionPairs(part) {
69
+ var e_1, _a;
70
+ var pairs = [];
71
+ try {
72
+ for (var _b = __values(part.fonts()), _c = _b.next(); !_c.done; _c = _b.next()) {
73
+ var font = _c.value;
74
+ var alternate = font.alternateName;
75
+ if (alternate !== undefined && alternate.trim().length > 0) {
76
+ pairs.push([font.name, alternate]);
77
+ }
78
+ }
79
+ }
80
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
81
+ finally {
82
+ try {
83
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
84
+ }
85
+ finally { if (e_1) throw e_1.error; }
86
+ }
87
+ return pairs;
88
+ }
89
+ /**
90
+ * {@link FontSubstitutionTable} backed by a live {@link FontTablePart}.
91
+ *
92
+ * @private
93
+ * Constructed by the font-table feature host (`WordDocument.fontSubstitutionTable`).
94
+ */
95
+ var FontSubstitutionTableImpl = /** @class */ (function () {
96
+ /**
97
+ * @private
98
+ */
99
+ function FontSubstitutionTableImpl(part) {
100
+ this.part = part;
101
+ }
102
+ /**
103
+ * @private
104
+ * Live part this facade projects (same instance as {@link fontTableFor}). */
105
+ FontSubstitutionTableImpl.prototype.boundPart = function () {
106
+ return this.part;
107
+ };
108
+ Object.defineProperty(FontSubstitutionTableImpl.prototype, "size", {
109
+ get: function () {
110
+ return substitutionPairs(this.part).length;
111
+ },
112
+ enumerable: true,
113
+ configurable: true
114
+ });
115
+ FontSubstitutionTableImpl.prototype.set = function (primaryFont, alternateFont) {
116
+ var primary = requireTrimmedFontName(primaryFont, 'Font name');
117
+ var alternate = requireTrimmedFontName(alternateFont, 'Alternate font name');
118
+ var entry = this.part.appendFont(primary);
119
+ entry.alternateName = alternate;
120
+ return this;
121
+ };
122
+ FontSubstitutionTableImpl.prototype.get = function (primaryFont) {
123
+ var __ts33_0;
124
+ if (primaryFont === null || primaryFont === undefined) {
125
+ return undefined;
126
+ }
127
+ var key = String(primaryFont).trim();
128
+ if (key.length === 0) {
129
+ return undefined;
130
+ }
131
+ var alternate = ((__ts33_0 = this.part.font(key)), __ts33_0 == null ? undefined : __ts33_0.alternateName);
132
+ if (alternate === undefined || alternate.trim().length === 0) {
133
+ return undefined;
134
+ }
135
+ return alternate;
136
+ };
137
+ FontSubstitutionTableImpl.prototype.has = function (primaryFont) {
138
+ return this.get(primaryFont) !== undefined;
139
+ };
140
+ FontSubstitutionTableImpl.prototype.delete = function (primaryFont) {
141
+ if (primaryFont === null || primaryFont === undefined) {
142
+ return false;
143
+ }
144
+ var key = String(primaryFont).trim();
145
+ if (key.length === 0) {
146
+ return false;
147
+ }
148
+ var entry = this.part.font(key);
149
+ if (entry === undefined) {
150
+ return false;
151
+ }
152
+ if (entry.alternateName === undefined || entry.alternateName.trim().length === 0) {
153
+ return false;
154
+ }
155
+ entry.alternateName = undefined;
156
+ return true;
157
+ };
158
+ FontSubstitutionTableImpl.prototype.clear = function () {
159
+ var e_2, _a;
160
+ try {
161
+ for (var _b = __values(this.part.fonts()), _c = _b.next(); !_c.done; _c = _b.next()) {
162
+ var font = _c.value;
163
+ if (font.alternateName !== undefined) {
164
+ font.alternateName = undefined;
165
+ }
166
+ }
167
+ }
168
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
169
+ finally {
170
+ try {
171
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
172
+ }
173
+ finally { if (e_2) throw e_2.error; }
174
+ }
175
+ };
176
+ FontSubstitutionTableImpl.prototype.entries = function () {
177
+ return __generator(this, function (_a) {
178
+ switch (_a.label) {
179
+ case 0: return [5 /*yield**/, __values(substitutionPairs(this.part))];
180
+ case 1:
181
+ _a.sent();
182
+ return [2 /*return*/];
183
+ }
184
+ });
185
+ };
186
+ FontSubstitutionTableImpl.prototype.keys = function () {
187
+ var e_3, _a, _b, _c, _d, primary, e_3_1;
188
+ return __generator(this, function (_e) {
189
+ switch (_e.label) {
190
+ case 0:
191
+ _e.trys.push([0, 5, 6, 7]);
192
+ _b = __values(substitutionPairs(this.part)), _c = _b.next();
193
+ _e.label = 1;
194
+ case 1:
195
+ if (!!_c.done) return [3 /*break*/, 4];
196
+ _d = __read(_c.value, 1), primary = _d[0];
197
+ return [4 /*yield*/, primary];
198
+ case 2:
199
+ _e.sent();
200
+ _e.label = 3;
201
+ case 3:
202
+ _c = _b.next();
203
+ return [3 /*break*/, 1];
204
+ case 4: return [3 /*break*/, 7];
205
+ case 5:
206
+ e_3_1 = _e.sent();
207
+ e_3 = { error: e_3_1 };
208
+ return [3 /*break*/, 7];
209
+ case 6:
210
+ try {
211
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
212
+ }
213
+ finally { if (e_3) throw e_3.error; }
214
+ return [7 /*endfinally*/];
215
+ case 7: return [2 /*return*/];
216
+ }
217
+ });
218
+ };
219
+ FontSubstitutionTableImpl.prototype.values = function () {
220
+ var e_4, _a, _b, _c, _d, alternate, e_4_1;
221
+ return __generator(this, function (_e) {
222
+ switch (_e.label) {
223
+ case 0:
224
+ _e.trys.push([0, 5, 6, 7]);
225
+ _b = __values(substitutionPairs(this.part)), _c = _b.next();
226
+ _e.label = 1;
227
+ case 1:
228
+ if (!!_c.done) return [3 /*break*/, 4];
229
+ _d = __read(_c.value, 2), alternate = _d[1];
230
+ return [4 /*yield*/, alternate];
231
+ case 2:
232
+ _e.sent();
233
+ _e.label = 3;
234
+ case 3:
235
+ _c = _b.next();
236
+ return [3 /*break*/, 1];
237
+ case 4: return [3 /*break*/, 7];
238
+ case 5:
239
+ e_4_1 = _e.sent();
240
+ e_4 = { error: e_4_1 };
241
+ return [3 /*break*/, 7];
242
+ case 6:
243
+ try {
244
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
245
+ }
246
+ finally { if (e_4) throw e_4.error; }
247
+ return [7 /*endfinally*/];
248
+ case 7: return [2 /*return*/];
249
+ }
250
+ });
251
+ };
252
+ FontSubstitutionTableImpl.prototype[Symbol.iterator] = function () {
253
+ return this.entries();
254
+ };
255
+ return FontSubstitutionTableImpl;
256
+ }());
257
+ export { FontSubstitutionTableImpl };
@@ -0,0 +1,255 @@
1
+ import { NamespaceDeclaration, OpenXmlAttribute, OpenXmlChild, OpenXmlElement } from '../../core/xml/index';
2
+ /**
3
+ * Font family values for `w:family/@w:val` (`ST_FontFamily`, Transitional `wml.xsd`).
4
+ *
5
+ * @private
6
+ */
7
+ export declare const FontFamily: {
8
+ Decorative: string;
9
+ Modern: string;
10
+ Roman: string;
11
+ Script: string;
12
+ Swiss: string;
13
+ Auto: string;
14
+ };
15
+ /**
16
+ * @private
17
+ */
18
+ export declare type FontFamily = (typeof FontFamily)[keyof typeof FontFamily];
19
+ /**
20
+ * Pitch values for `w:pitch/@w:val` (`ST_Pitch`, Transitional `wml.xsd`).
21
+ *
22
+ * @private
23
+ */
24
+ export declare const FontPitch: {
25
+ Fixed: string;
26
+ Variable: string;
27
+ Default: string;
28
+ };
29
+ /**
30
+ * @private
31
+ */
32
+ export declare type FontPitch = (typeof FontPitch)[keyof typeof FontPitch];
33
+ /**
34
+ * Embedded font face slot (`w:embedRegular` / `Bold` / `Italic` / `BoldItalic`).
35
+ *
36
+ * @private
37
+ */
38
+ export declare const FontEmbedSlot: {
39
+ Regular: string;
40
+ Bold: string;
41
+ Italic: string;
42
+ BoldItalic: string;
43
+ };
44
+ /**
45
+ * @private
46
+ */
47
+ export declare type FontEmbedSlot = (typeof FontEmbedSlot)[keyof typeof FontEmbedSlot];
48
+ /**
49
+ * Unicode / code-page bitmasks from `w:sig` (`CT_FontSig`).
50
+ * Values are stored hex strings (`ST_UcharHexNumber` / long-hex attributes).
51
+ *
52
+ * Required attributes per Transitional `wml.xsd`: `usb0`–`usb3`, `csb0`, `csb1`.
53
+ *
54
+ * @private
55
+ */
56
+ export interface FontSignature {
57
+ readonly usb0: string;
58
+ readonly usb1: string;
59
+ readonly usb2: string;
60
+ readonly usb3: string;
61
+ readonly csb0: string;
62
+ readonly csb1: string;
63
+ }
64
+ /**
65
+ * One embedded font relationship reference on a font row (`CT_FontRel`).
66
+ *
67
+ * Metadata only — binary ODTTF authoring / decode is out of scope.
68
+ *
69
+ * @private
70
+ */
71
+ export interface FontEmbedRef {
72
+ /**
73
+ * @private
74
+ */
75
+ readonly slot: FontEmbedSlot;
76
+ /**
77
+ * @private
78
+ * `r:id` targeting the font part relationship. */
79
+ readonly relationshipId: string;
80
+ /**
81
+ * @private
82
+ * Optional `w:fontKey`. */
83
+ readonly fontKey: string | undefined;
84
+ /**
85
+ * @private
86
+ * Optional `w:subsetted`. */
87
+ readonly subsetted: boolean | undefined;
88
+ }
89
+ interface ModeledEmbed {
90
+ slot: FontEmbedSlot;
91
+ relationshipId: string;
92
+ fontKey: string | undefined;
93
+ subsetted: boolean | undefined;
94
+ extraAttributes: OpenXmlAttribute[];
95
+ children: OpenXmlChild[];
96
+ namespaceDeclarations: NamespaceDeclaration[];
97
+ }
98
+ /**
99
+ * One `w:font` row in `fontTable.xml` (`CT_Font`, Transitional `wml.xsd`).
100
+ *
101
+ * Models the full schema child sequence after `w:name`:
102
+ * `altName`, `panose1`, `charset`, `family`, `notTrueType`, `pitch`, `sig`,
103
+ * `embedRegular`, `embedBold`, `embedItalic`, `embedBoldItalic`, then residual
104
+ * unknown children.
105
+ *
106
+ * Substitution remains `w:altName` (ECMA-376-1 §17.8.3.1). Embed APIs expose
107
+ * relationship metadata only; they do not author or decode ODTTF binaries.
108
+ * `clearEmbed` drops the corresponding child element (markup only); package
109
+ * orphan cleanup of the target part is not performed in this MVP.
110
+ *
111
+ * @private
112
+ */
113
+ export declare class FontTableFont {
114
+ private readonly nameValue;
115
+ private alternateNameValue;
116
+ private panoseValue;
117
+ private charsetValue;
118
+ private familyValue;
119
+ /** Invalid-on-load family string preserved for round-trip when typed family is unset. */
120
+ private familyRawValue;
121
+ private notTrueTypeValue;
122
+ private pitchValue;
123
+ private pitchRawValue;
124
+ private signatureValue;
125
+ private readonly embeds;
126
+ private readonly residualChildren;
127
+ private readonly extraAttributes;
128
+ private readonly markDirty;
129
+ /**
130
+ * @private
131
+ */
132
+ constructor(name: string, options: {
133
+ readonly alternateName?: string | undefined;
134
+ readonly panose?: string | undefined;
135
+ readonly charset?: string | undefined;
136
+ readonly family?: FontFamily | undefined;
137
+ readonly familyRaw?: string | undefined;
138
+ readonly notTrueType?: boolean | undefined;
139
+ readonly pitch?: FontPitch | undefined;
140
+ readonly pitchRaw?: string | undefined;
141
+ readonly signature?: FontSignature | undefined;
142
+ readonly embeds?: ReadonlyArray<ModeledEmbed>;
143
+ readonly residualChildren?: ReadonlyArray<OpenXmlElement>;
144
+ readonly extraAttributes?: ReadonlyArray<OpenXmlAttribute>;
145
+ }, markDirty: () => void);
146
+ /**
147
+ * Primary name from `w:font/@w:name` (stored casing preserved).
148
+ *
149
+ * @public
150
+ */
151
+ readonly name: string;
152
+ /**
153
+ * Alternate name list as stored on `w:altName/@w:val`, or `undefined` if absent.
154
+ *
155
+ * ECMA-376-1 §17.8.3.1: comma-delimited list; writers may set a single name or a
156
+ * full list string. Assign `undefined` (or empty / whitespace-only) to remove
157
+ * `w:altName`; the font entry is kept. Empty `w:val` is never emitted.
158
+ *
159
+ * @public
160
+ */
161
+ alternateName: string | undefined;
162
+ /**
163
+ * Split {@link alternateName} on commas; empty segments (adjacent commas) dropped
164
+ * per ECMA. Empty array when no `altName`.
165
+ *
166
+ * @public
167
+ */
168
+ readonly alternateNames: ReadonlyArray<string>;
169
+ /**
170
+ * PANOSE-1 classification from `w:panose1/@w:val` (`ST_Panose`), or `undefined`.
171
+ * Stored as the attribute string. Assign `undefined` / empty to clear.
172
+ *
173
+ * @public
174
+ */
175
+ panose: string | undefined;
176
+ /**
177
+ * Character set from `w:charset/@w:val` (`ST_UcharHexNumber`), or `undefined`.
178
+ * Stored as the attribute string. Assign `undefined` / empty to clear.
179
+ *
180
+ * @public
181
+ */
182
+ charset: string | undefined;
183
+ /**
184
+ * Font family from `w:family/@w:val` (`ST_FontFamily`), or `undefined` when
185
+ * absent or not a known enumeration value on load.
186
+ *
187
+ * @throws RangeError when assigning a string that is not a {@link FontFamily} value.
188
+ *
189
+ * @public
190
+ */
191
+ family: FontFamily | undefined;
192
+ /**
193
+ * `w:notTrueType` (`CT_OnOff`). `true` when the element is present without `val`
194
+ * or with a true `ST_OnOff` value; `false` when explicitly off; `undefined` when
195
+ * the child is absent.
196
+ *
197
+ * @public
198
+ */
199
+ notTrueType: boolean | undefined;
200
+ /**
201
+ * Pitch from `w:pitch/@w:val` (`ST_Pitch`), or `undefined` when absent or not a
202
+ * known enumeration value on load.
203
+ *
204
+ * @throws RangeError when assigning a string that is not a {@link FontPitch} value.
205
+ *
206
+ * @public
207
+ */
208
+ pitch: FontPitch | undefined;
209
+ /**
210
+ * Supported Unicode / code-page bitmasks from `w:sig` (`CT_FontSig`), or
211
+ * `undefined` when the child is absent or missing a required attribute.
212
+ *
213
+ * @public
214
+ */
215
+ signature: FontSignature | undefined;
216
+ /**
217
+ * Embedded font relationship metadata for each modeled embed child present on
218
+ * this row, in schema slot order.
219
+ *
220
+ * @public
221
+ */
222
+ embedRefs(): ReadonlyArray<FontEmbedRef>;
223
+ /**
224
+ * Embed metadata for `slot`, or `undefined` when that child is absent.
225
+ *
226
+ * @public
227
+ */
228
+ embedRef(slot: FontEmbedSlot): FontEmbedRef | undefined;
229
+ /**
230
+ * Drop the embed child for `slot` from this font row (markup only).
231
+ * Does not remove package parts or relationships targeted by `r:id`.
232
+ * No-op when the slot is already absent.
233
+ *
234
+ * @public
235
+ */
236
+ clearEmbed(slot: FontEmbedSlot): void;
237
+ /**
238
+ * @private
239
+ */
240
+ serialize(): OpenXmlElement;
241
+ }
242
+ /**
243
+ * Parse one `w:font` element into a {@link FontTableFont}, or `undefined` when
244
+ * `@w:name` is missing/empty.
245
+ *
246
+ * @private
247
+ */
248
+ export declare function parseFontTableFont(element: OpenXmlElement, markDirty: () => void): FontTableFont | undefined;
249
+ /**
250
+ * Create a minimal font entry (`@w:name` only).
251
+ *
252
+ * @private
253
+ */
254
+ export declare function createFontTableFont(name: string, markDirty: () => void): FontTableFont;
255
+ export {};