@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,7 @@
1
+ /**
2
+ * Legacy units barrel (package-private). Public APIs use plain point numbers.
3
+ * or `./length`. Multi-unit constructors are package-private.
4
+ *
5
+ * @packageDocumentation
6
+ */
7
+ export { pointToEmus, pointToHalfPoints, pointToTwips, twipsToPoint, emuToPoint, halfPointsToPoint, addPoints, scalePoint, lengthToEmus, lengthToHalfPoints, halfPoints, emus, LengthUnits, Pt, Inches, Cm, Mm, Px, Twips, Emu, add, scale, inchesToPoint, cmToPoint, mmToPoint, pxToPoint } from './length';
@@ -0,0 +1,16 @@
1
+ import { OpenXmlAttribute, OpenXmlChild, OpenXmlElement } from '../../core/xml/index';
2
+ export declare const WML = "http://schemas.openxmlformats.org/wordprocessingml/2006/main";
3
+ /** True when the URI is Transitional or Strict WordprocessingML. */
4
+ export declare function isWmlNamespace(namespaceUri: string): boolean;
5
+ export declare function isWml(el: OpenXmlElement, localName: string): boolean;
6
+ export declare function elementChildren(el: OpenXmlElement): ReadonlyArray<OpenXmlElement>;
7
+ export declare function textContent(el: OpenXmlElement): string;
8
+ export declare function wmlAttr(localName: string, value: string): OpenXmlAttribute;
9
+ export declare function xmlSpacePreserve(): OpenXmlAttribute;
10
+ export declare function wmlElement(localName: string, options?: {
11
+ readonly attributes?: ReadonlyArray<OpenXmlAttribute>;
12
+ readonly children?: ReadonlyArray<OpenXmlChild>;
13
+ readonly namespaceDeclarations?: OpenXmlElement['namespaceDeclarations'];
14
+ }): OpenXmlElement;
15
+ export declare function wValAttribute(el: OpenXmlElement): string | undefined;
16
+ export declare function xmlSpaceIsPreserve(el: OpenXmlElement): boolean;
@@ -0,0 +1,67 @@
1
+ var __values = (this && this.__values) || function (o) {
2
+ var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
3
+ if (m) return m.call(o);
4
+ return {
5
+ next: function () {
6
+ if (o && i >= o.length) o = void 0;
7
+ return { value: o && o[i++], done: !o };
8
+ }
9
+ };
10
+ };
11
+ import { WML_STRICT_NAMESPACE, WML_TRANSITIONAL_NAMESPACE, XML_NAMESPACE } from '../../core/xml/index';
12
+ export var WML = WML_TRANSITIONAL_NAMESPACE;
13
+ /** True when the URI is Transitional or Strict WordprocessingML. */
14
+ export function isWmlNamespace(namespaceUri) {
15
+ return namespaceUri === WML_TRANSITIONAL_NAMESPACE || namespaceUri === WML_STRICT_NAMESPACE;
16
+ }
17
+ export function isWml(el, localName) {
18
+ return isWmlNamespace(el.namespaceUri) && el.localName === localName;
19
+ }
20
+ export function elementChildren(el) {
21
+ return el.children.filter(function (c) { return c.kind === 'element'; });
22
+ }
23
+ export function textContent(el) {
24
+ var e_1, _a;
25
+ var out = '';
26
+ try {
27
+ for (var _b = __values(el.children), _c = _b.next(); !_c.done; _c = _b.next()) {
28
+ var child = _c.value;
29
+ if (child.kind === 'text') {
30
+ out += child.value;
31
+ }
32
+ }
33
+ }
34
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
35
+ finally {
36
+ try {
37
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
38
+ }
39
+ finally { if (e_1) throw e_1.error; }
40
+ }
41
+ return out;
42
+ }
43
+ export function wmlAttr(localName, value) {
44
+ return { namespaceUri: WML, localName: localName, prefix: 'w', value: value };
45
+ }
46
+ export function xmlSpacePreserve() {
47
+ return { namespaceUri: XML_NAMESPACE, localName: 'space', prefix: 'xml', value: 'preserve' };
48
+ }
49
+ export function wmlElement(localName, options) {
50
+ var __ts33_0, __ts33_1, __ts33_2;
51
+ return {
52
+ kind: 'element',
53
+ namespaceUri: WML,
54
+ localName: localName,
55
+ prefix: 'w',
56
+ attributes: ((__ts33_0 = options == null ? undefined : options.attributes), __ts33_0 != null ? __ts33_0 : []),
57
+ namespaceDeclarations: ((__ts33_1 = options == null ? undefined : options.namespaceDeclarations), __ts33_1 != null ? __ts33_1 : []),
58
+ children: ((__ts33_2 = options == null ? undefined : options.children), __ts33_2 != null ? __ts33_2 : []),
59
+ };
60
+ }
61
+ export function wValAttribute(el) {
62
+ var found = el.attributes.find(function (a) { return a.localName === 'val' && (isWmlNamespace(a.namespaceUri) || a.namespaceUri === ''); });
63
+ return found == null ? undefined : found.value;
64
+ }
65
+ export function xmlSpaceIsPreserve(el) {
66
+ return el.attributes.some(function (a) { return a.localName === 'space' && a.namespaceUri === XML_NAMESPACE && a.value === 'preserve'; });
67
+ }
@@ -0,0 +1,27 @@
1
+ import { Paragraph } from '../document/paragraph';
2
+ import { AutoShapeType } from './shape-types';
3
+ import { GroupOptions } from './types';
4
+ import { GroupShape, Shape } from './drawing-shape';
5
+ /**
6
+ * Append a preset-geometry drawing shape as a dual MC run leaf (Policy B).
7
+ *
8
+ * Defaults follow Shape.md section 2 (anchor, wrap none, side distances =
9
+ * package anchor default, default solid fill White, default solid black 1 pt
10
+ * outline, no modeled text box until text body is accessed).
11
+ *
12
+ * @throws DocxError `content/invalid-shape` when geometry or size is invalid.
13
+ *
14
+ * @private
15
+ */
16
+ export declare function appendShapeToParagraph(paragraph: Paragraph, autoShapeType: AutoShapeType, width: number, height: number): Shape;
17
+ /**
18
+ * Append an empty wordprocessing group as dual MC run leaf (Choice `wpg` +
19
+ * Fallback VML). Nested children are authored via {@link GroupShape.appendShape}
20
+ * on the returned group. Default placement is `wp:anchor`.
21
+ *
22
+ * @throws DocxError `content/invalid-shape` when size is invalid.
23
+ * @throws RangeError when wrap/position enums are not known schema tokens.
24
+ *
25
+ * @private
26
+ */
27
+ export declare function appendGroupToParagraph(paragraph: Paragraph, options: GroupOptions): GroupShape;
@@ -0,0 +1,271 @@
1
+ /**
2
+ * Drawing authoring APIs (`appendShape` / `appendGroup`).
3
+ *
4
+ * @private
5
+ */
6
+ import { pointToEmus, pointToCoordinateEmus, emuToPoint } from '../document/length';
7
+ import { DocxError } from '../../core/errors/docx-error';
8
+ import { assertEnumMember, HORIZONTAL_ALIGNMENT_SET, HORIZONTAL_ORIGIN_SET, TEXT_WRAPPING_STYLE_SET, TextWrappingStyle, VERTICAL_ALIGNMENT_SET, VERTICAL_ORIGIN_SET } from '../images/layout-types';
9
+ import { encodeAuthoredDrawingShape, encodeAuthoredGroup } from './host-codec';
10
+ import { isPresetAutoShapeType } from './shape-types';
11
+ import { ANCHOR_DEFAULT_SIDE_DIST_EMU, DRAWING } from './types';
12
+ import { GroupShape, Shape } from './drawing-shape';
13
+ import { drawingShapeInit, encodeDrawingShapeInput, encodeGroupInput, modeledFillForEncode, modeledLineForEncode } from './encode-builders';
14
+ import { defaultAuthoredShapeFill } from './fill-format';
15
+ import { defaultAuthoredShapeLine } from './line-format';
16
+ import { allocateDocPrId } from './parse-register';
17
+ var ANCHOR_DEFAULT_SIDE_DIST_POINTS = emuToPoint(ANCHOR_DEFAULT_SIDE_DIST_EMU);
18
+ /**
19
+ * Append a preset-geometry drawing shape as a dual MC run leaf (Policy B).
20
+ *
21
+ * Defaults follow Shape.md section 2 (anchor, wrap none, side distances =
22
+ * package anchor default, default solid fill White, default solid black 1 pt
23
+ * outline, no modeled text box until text body is accessed).
24
+ *
25
+ * @throws DocxError `content/invalid-shape` when geometry or size is invalid.
26
+ *
27
+ * @private
28
+ */
29
+ export function appendShapeToParagraph(paragraph, autoShapeType, width, height) {
30
+ if (!isPresetAutoShapeType(autoShapeType)) {
31
+ throw new DocxError('content/invalid-shape', "Invalid autoShapeType \"" + String(autoShapeType) + "\"; expected a preset AutoShapeType token");
32
+ }
33
+ var widthEmu;
34
+ var heightEmu;
35
+ try {
36
+ widthEmu = pointToEmus(width);
37
+ heightEmu = pointToEmus(height);
38
+ }
39
+ catch (error) {
40
+ if (error instanceof RangeError) {
41
+ throw new DocxError('content/invalid-shape', 'Shape width and height must be positive point values', { cause: error });
42
+ }
43
+ throw error;
44
+ }
45
+ if (!(widthEmu > 0) || !(heightEmu > 0)) {
46
+ throw new DocxError('content/invalid-shape', 'Shape width and height must be positive point values');
47
+ }
48
+ var placement = 'anchor';
49
+ var wrapping = TextWrappingStyle.None;
50
+ var docPrId = allocateDocPrId(paragraph);
51
+ var name = 'Shape';
52
+ var rotation = 0;
53
+ var lockAspectRatio = true;
54
+ var flipHorizontal = false;
55
+ var flipVertical = false;
56
+ var distanceTop = 0;
57
+ var distanceBottom = 0;
58
+ var distanceLeft = ANCHOR_DEFAULT_SIDE_DIST_POINTS;
59
+ var distanceRight = ANCHOR_DEFAULT_SIDE_DIST_POINTS;
60
+ var behindDocument = false;
61
+ var lockAnchor = false;
62
+ var allowOverlap = true;
63
+ var layoutInCell = true;
64
+ var defaultFill = defaultAuthoredShapeFill();
65
+ var defaultLine = defaultAuthoredShapeLine();
66
+ var encodeFill = modeledFillForEncode(defaultFill);
67
+ var encodeLine = modeledLineForEncode(defaultLine);
68
+ var residual = encodeAuthoredDrawingShape(encodeDrawingShapeInput({
69
+ placement: placement,
70
+ widthEmu: widthEmu,
71
+ heightEmu: heightEmu,
72
+ presetGeometry: autoShapeType,
73
+ docPrId: docPrId,
74
+ name: name,
75
+ title: undefined,
76
+ description: undefined,
77
+ rotation: rotation,
78
+ flipHorizontal: flipHorizontal,
79
+ flipVertical: flipVertical,
80
+ lockAspectRatio: lockAspectRatio,
81
+ wrapping: wrapping,
82
+ distanceTopEmu: pointToCoordinateEmus(distanceTop),
83
+ distanceBottomEmu: pointToCoordinateEmus(distanceBottom),
84
+ distanceLeftEmu: ANCHOR_DEFAULT_SIDE_DIST_EMU,
85
+ distanceRightEmu: ANCHOR_DEFAULT_SIDE_DIST_EMU,
86
+ behindDocument: behindDocument,
87
+ lockAnchor: lockAnchor,
88
+ allowOverlap: allowOverlap,
89
+ layoutInCell: layoutInCell,
90
+ layoutDirty: true,
91
+ txbxContent: undefined,
92
+ bodyPr: undefined,
93
+ fill: encodeFill,
94
+ line: encodeLine,
95
+ }));
96
+ var shape = new Shape(drawingShapeInit({
97
+ encoding: 'drawingml',
98
+ residual: residual,
99
+ dirty: 'structure',
100
+ name: name,
101
+ title: undefined,
102
+ description: undefined,
103
+ docPrId: docPrId,
104
+ placement: placement,
105
+ width: width,
106
+ height: height,
107
+ presetGeometry: autoShapeType,
108
+ rotation: rotation,
109
+ lockAspectRatio: lockAspectRatio,
110
+ flipHorizontal: flipHorizontal,
111
+ flipVertical: flipVertical,
112
+ wrapping: wrapping,
113
+ distanceTop: distanceTop,
114
+ distanceBottom: distanceBottom,
115
+ distanceLeft: distanceLeft,
116
+ distanceRight: distanceRight,
117
+ behindDocument: behindDocument,
118
+ lockAnchor: lockAnchor,
119
+ allowOverlap: allowOverlap,
120
+ layoutInCell: layoutInCell,
121
+ txbxContent: undefined,
122
+ bodyPrElement: undefined,
123
+ fill: defaultFill,
124
+ line: defaultLine,
125
+ }));
126
+ paragraph.appendFeatureRunItem(DRAWING, shape);
127
+ shape.bindAnchoringParagraph(paragraph);
128
+ return shape;
129
+ }
130
+ /**
131
+ * Append an empty wordprocessing group as dual MC run leaf (Choice `wpg` +
132
+ * Fallback VML). Nested children are authored via {@link GroupShape.appendShape}
133
+ * on the returned group. Default placement is `wp:anchor`.
134
+ *
135
+ * @throws DocxError `content/invalid-shape` when size is invalid.
136
+ * @throws RangeError when wrap/position enums are not known schema tokens.
137
+ *
138
+ * @private
139
+ */
140
+ export function appendGroupToParagraph(paragraph, options) {
141
+ var widthEmu;
142
+ var heightEmu;
143
+ try {
144
+ widthEmu = pointToEmus(options.width);
145
+ heightEmu = pointToEmus(options.height);
146
+ }
147
+ catch (error) {
148
+ if (error instanceof RangeError) {
149
+ throw new DocxError('content/invalid-shape', 'Group width and height must be positive point values', { cause: error });
150
+ }
151
+ throw error;
152
+ }
153
+ if (!(widthEmu > 0) || !(heightEmu > 0)) {
154
+ throw new DocxError('content/invalid-shape', 'Group width and height must be positive point values');
155
+ }
156
+ var placementRaw = options.placement != null ? options.placement : 'anchor';
157
+ if (placementRaw !== 'inline' && placementRaw !== 'anchor') {
158
+ throw new DocxError('content/invalid-shape', "Invalid placement \"" + placementRaw + "\"; expected 'inline' or 'anchor'");
159
+ }
160
+ var placement = placementRaw;
161
+ var wrapping = options.wrappingStyle;
162
+ if (wrapping !== undefined) {
163
+ assertEnumMember('wrappingStyle', wrapping, TEXT_WRAPPING_STYLE_SET);
164
+ placement = wrapping === TextWrappingStyle.Inline ? 'inline' : 'anchor';
165
+ }
166
+ else {
167
+ wrapping = placement === 'inline' ? TextWrappingStyle.Inline : TextWrappingStyle.None;
168
+ }
169
+ var docPrId = allocateDocPrId(paragraph);
170
+ var name = options.name != null ? options.name : 'Group';
171
+ var rotation = options.rotation != null ? options.rotation : 0;
172
+ if (!Number.isFinite(rotation)) {
173
+ throw new DocxError('content/invalid-shape', 'Group rotation must be a finite number of degrees');
174
+ }
175
+ var lockAspectRatio = options.lockAspectRatio != null ? options.lockAspectRatio : true;
176
+ var flipHorizontal = options.flipHorizontal != null ? options.flipHorizontal : false;
177
+ var flipVertical = options.flipVertical != null ? options.flipVertical : false;
178
+ var distanceTopEmu = options.distanceTop !== undefined ? pointToCoordinateEmus(options.distanceTop) : undefined;
179
+ var distanceBottomEmu = options.distanceBottom !== undefined ? pointToCoordinateEmus(options.distanceBottom) : undefined;
180
+ var distanceLeftEmu = options.distanceLeft !== undefined ? pointToCoordinateEmus(options.distanceLeft) : undefined;
181
+ var distanceRightEmu = options.distanceRight !== undefined ? pointToCoordinateEmus(options.distanceRight) : undefined;
182
+ var behindDocument = options.behindDocument;
183
+ var horizontalOrigin = options.horizontalOrigin;
184
+ var verticalOrigin = options.verticalOrigin;
185
+ var horizontalPositionEmu = options.horizontalPosition !== undefined ? pointToCoordinateEmus(options.horizontalPosition) : undefined;
186
+ var verticalPositionEmu = options.verticalPosition !== undefined ? pointToCoordinateEmus(options.verticalPosition) : undefined;
187
+ var horizontalAlignment = options.horizontalAlignment;
188
+ var verticalAlignment = options.verticalAlignment;
189
+ if (horizontalAlignment !== undefined) {
190
+ assertEnumMember('horizontalAlignment', horizontalAlignment, HORIZONTAL_ALIGNMENT_SET);
191
+ }
192
+ if (verticalAlignment !== undefined) {
193
+ assertEnumMember('verticalAlignment', verticalAlignment, VERTICAL_ALIGNMENT_SET);
194
+ }
195
+ if (horizontalOrigin !== undefined) {
196
+ assertEnumMember('horizontalOrigin', horizontalOrigin, HORIZONTAL_ORIGIN_SET);
197
+ }
198
+ if (verticalOrigin !== undefined) {
199
+ assertEnumMember('verticalOrigin', verticalOrigin, VERTICAL_ORIGIN_SET);
200
+ }
201
+ var horizontalAlignmentFinal = options.horizontalPosition !== undefined ? undefined : horizontalAlignment;
202
+ var verticalAlignmentFinal = options.verticalPosition !== undefined ? undefined : verticalAlignment;
203
+ var lockAnchor = options.lockAnchor;
204
+ var allowOverlap = options.allowOverlap;
205
+ var layoutInCell = options.layoutInCell;
206
+ var residual = encodeAuthoredGroup(encodeGroupInput({
207
+ placement: placement,
208
+ widthEmu: widthEmu,
209
+ heightEmu: heightEmu,
210
+ docPrId: docPrId,
211
+ name: name,
212
+ title: options.title,
213
+ description: options.description,
214
+ rotation: rotation,
215
+ flipHorizontal: flipHorizontal,
216
+ flipVertical: flipVertical,
217
+ lockAspectRatio: lockAspectRatio,
218
+ wrapping: wrapping,
219
+ distanceTopEmu: distanceTopEmu,
220
+ distanceBottomEmu: distanceBottomEmu,
221
+ distanceLeftEmu: distanceLeftEmu,
222
+ distanceRightEmu: distanceRightEmu,
223
+ behindDocument: behindDocument,
224
+ horizontalOrigin: horizontalOrigin,
225
+ verticalOrigin: verticalOrigin,
226
+ horizontalPositionEmu: horizontalPositionEmu,
227
+ verticalPositionEmu: verticalPositionEmu,
228
+ horizontalAlignment: horizontalAlignmentFinal,
229
+ verticalAlignment: verticalAlignmentFinal,
230
+ lockAnchor: lockAnchor,
231
+ allowOverlap: allowOverlap,
232
+ layoutInCell: layoutInCell,
233
+ layoutDirty: true,
234
+ children: [],
235
+ }));
236
+ var shape = new GroupShape(drawingShapeInit({
237
+ encoding: 'drawingml',
238
+ residual: residual,
239
+ dirty: 'structure',
240
+ name: name,
241
+ title: options.title,
242
+ description: options.description,
243
+ docPrId: docPrId,
244
+ placement: placement,
245
+ width: options.width,
246
+ height: options.height,
247
+ rotation: rotation,
248
+ lockAspectRatio: lockAspectRatio,
249
+ flipHorizontal: flipHorizontal,
250
+ flipVertical: flipVertical,
251
+ wrapping: wrapping,
252
+ distanceTop: options.distanceTop,
253
+ distanceBottom: options.distanceBottom,
254
+ distanceLeft: options.distanceLeft,
255
+ distanceRight: options.distanceRight,
256
+ behindDocument: behindDocument,
257
+ horizontalOrigin: horizontalOrigin,
258
+ verticalOrigin: verticalOrigin,
259
+ horizontalPosition: options.horizontalPosition,
260
+ verticalPosition: options.verticalPosition,
261
+ horizontalAlignment: horizontalAlignmentFinal,
262
+ verticalAlignment: verticalAlignmentFinal,
263
+ lockAnchor: lockAnchor,
264
+ allowOverlap: allowOverlap,
265
+ layoutInCell: layoutInCell,
266
+ children: [],
267
+ }));
268
+ paragraph.appendFeatureRunItem(DRAWING, shape);
269
+ shape.bindAnchoringParagraph(paragraph);
270
+ return shape;
271
+ }
@@ -0,0 +1,271 @@
1
+ /**
2
+ * `wps:bodyPr` text-body properties codec (TASK-8049).
3
+ *
4
+ * Schema cites (transitional `dml-main.xsd` + `dml-wordprocessingDrawing.xsd`):
5
+ * - `CT_TextBodyProperties` attributes: `rot`, `spcFirstLastPara`,
6
+ * `vertOverflow` (`ST_TextVertOverflowType`), `horzOverflow`
7
+ * (`ST_TextHorzOverflowType`), `vert` (`ST_TextVerticalType`), `wrap`
8
+ * (`ST_TextWrappingType` = `none|square` only), `lIns`/`tIns`/`rIns`/`bIns`
9
+ * (`ST_Coordinate32` EMU), `numCol`, `spcCol`, `rtlCol`, `fromWordArt`,
10
+ * `anchor` (`ST_TextAnchoringType`), `anchorCtr`, `forceAA`, `upright`
11
+ * (default false), `compatLnSpc`
12
+ * - Sequence: `prstTxWarp?`, `EG_TextAutofit?` (`a:noAutofit` |
13
+ * `a:normAutofit` | `a:spAutoFit`), `scene3d?`, `EG_Text3D?`, `extLst?`
14
+ * - `CT_TextNormalAutofit`: `@fontScale` (`ST_TextFontScalePercent` 1000…100000,
15
+ * default 100%), `@lnSpcReduction` (default 0%)
16
+ * - Wire element: **`wps:bodyPr`** (type `a:CT_TextBodyProperties`); autofit
17
+ * children use the DrawingML `a:` namespace
18
+ * - `CT_WordprocessingShape` (dml-wordprocessingDrawing): after `style?` /
19
+ * `extLst?` / `txbx|linkedTxbx?`, **`bodyPr` minOccurs=1**
20
+ *
21
+ * Unknown attrs and residual children (`prstTxWarp`, `scene3d`, Text3D,
22
+ * `extLst`) stay residual — never invent OOXML.
23
+ *
24
+ * @packageDocumentation
25
+ */
26
+ import { Emus } from '../document/length';
27
+ import { OpenXmlElement } from '../../core/xml/index';
28
+ /**
29
+ * DrawingML text anchoring (`ST_TextAnchoringType`).
30
+ *
31
+ * @private
32
+ */
33
+ export declare const TEXT_ANCHORING_VALUES: string[];
34
+ /**
35
+ * DrawingML text anchoring token.
36
+ *
37
+ * @private
38
+ */
39
+ export declare type TextAnchoring = (typeof TEXT_ANCHORING_VALUES)[number];
40
+ /**
41
+ * DrawingML vertical text overflow (`ST_TextVertOverflowType`).
42
+ *
43
+ * @private
44
+ */
45
+ export declare const TEXT_VERT_OVERFLOW_VALUES: string[];
46
+ /**
47
+ * DrawingML vertical text overflow token.
48
+ *
49
+ * @private
50
+ */
51
+ export declare type TextVertOverflow = (typeof TEXT_VERT_OVERFLOW_VALUES)[number];
52
+ /**
53
+ * DrawingML horizontal text overflow (`ST_TextHorzOverflowType`).
54
+ *
55
+ * @private
56
+ */
57
+ export declare const TEXT_HORZ_OVERFLOW_VALUES: string[];
58
+ /**
59
+ * DrawingML horizontal text overflow token.
60
+ *
61
+ * @private
62
+ */
63
+ export declare type TextHorzOverflow = (typeof TEXT_HORZ_OVERFLOW_VALUES)[number];
64
+ /**
65
+ * DrawingML text vertical type (`ST_TextVerticalType`).
66
+ *
67
+ * @private
68
+ */
69
+ export declare const TEXT_VERTICAL_TYPE_VALUES: string[];
70
+ /**
71
+ * DrawingML text vertical type token.
72
+ *
73
+ * @private
74
+ */
75
+ export declare type TextVerticalType = (typeof TEXT_VERTICAL_TYPE_VALUES)[number];
76
+ /**
77
+ * DrawingML text wrapping inside the shape (`ST_TextWrappingType`).
78
+ * Schema allows **`none` | `square` only**.
79
+ *
80
+ * @private
81
+ */
82
+ export declare const TEXT_BODY_WRAP_VALUES: string[];
83
+ /**
84
+ * DrawingML text body wrap token (`none` | `square`).
85
+ *
86
+ * @private
87
+ */
88
+ export declare type TextBodyWrap = (typeof TEXT_BODY_WRAP_VALUES)[number];
89
+ /**
90
+ * Autofit choice (`EG_TextAutofit`): `a:noAutofit` | `a:normAutofit` | `a:spAutoFit`.
91
+ *
92
+ * @private
93
+ */
94
+ export declare type TextAutoFit = {
95
+ readonly kind: 'none';
96
+ } | {
97
+ readonly kind: 'normal';
98
+ readonly fontScale?: number;
99
+ readonly lineSpaceReduction?: number;
100
+ } | {
101
+ readonly kind: 'shape';
102
+ };
103
+ /**
104
+ * Whether `value` is a schema `ST_TextAnchoringType` token.
105
+ *
106
+ * @private
107
+ */
108
+ export declare function isTextAnchoring(value: string): value is TextAnchoring;
109
+ /**
110
+ * Whether `value` is a schema `ST_TextVertOverflowType` token.
111
+ *
112
+ * @private
113
+ */
114
+ export declare function isTextVertOverflow(value: string): value is TextVertOverflow;
115
+ /**
116
+ * Whether `value` is a schema `ST_TextHorzOverflowType` token.
117
+ *
118
+ * @private
119
+ */
120
+ export declare function isTextHorzOverflow(value: string): value is TextHorzOverflow;
121
+ /**
122
+ * Whether `value` is a schema `ST_TextVerticalType` token.
123
+ *
124
+ * @private
125
+ */
126
+ export declare function isTextVerticalType(value: string): value is TextVerticalType;
127
+ /**
128
+ * Whether `value` is a schema `ST_TextWrappingType` token (`none`|`square`).
129
+ *
130
+ * @private
131
+ */
132
+ export declare function isTextBodyWrap(value: string): value is TextBodyWrap;
133
+ /**
134
+ * Text-body insets from `wps:bodyPr` (`lIns`/`tIns`/`rIns`/`bIns`,
135
+ * `ST_Coordinate32`, ≥0).
136
+ *
137
+ * @private
138
+ */
139
+ export interface BodyInsets {
140
+ readonly left?: number | undefined;
141
+ readonly top?: number | undefined;
142
+ readonly right?: number | undefined;
143
+ readonly bottom?: number | undefined;
144
+ }
145
+ /**
146
+ * @private
147
+ * Typed MVP state read from `wps:bodyPr`.
148
+ * Residual `prstTxWarp` / 3D / extLst / unknown attrs are flagged, not modeled.
149
+ */
150
+ export interface BodyPropertiesState {
151
+ readonly verticalAnchor: TextAnchoring | undefined;
152
+ readonly anchorCenter: boolean | undefined;
153
+ readonly textDirection: TextVerticalType | undefined;
154
+ readonly textWrapInside: TextBodyWrap | undefined;
155
+ readonly verticalOverflow: TextVertOverflow | undefined;
156
+ readonly horizontalOverflow: TextHorzOverflow | undefined;
157
+ readonly fromWordArt: boolean | undefined;
158
+ readonly insets: BodyInsets | undefined;
159
+ readonly autoFit: TextAutoFit | undefined;
160
+ /** `a:prstTxWarp` present — residual WordArt warp path. */
161
+ readonly hasPresetTextWarp: boolean;
162
+ /** Unknown residual children (scene3d / Text3D / extLst) or unmodeled attrs. */
163
+ readonly residual: boolean;
164
+ }
165
+ /**
166
+ * Shallow child lookup under `root` (direct element children only).
167
+ *
168
+ * @private
169
+ */
170
+ export declare function findBodyPrChild(root: OpenXmlElement, namespaceUri: string, localName: string): OpenXmlElement | undefined;
171
+ /**
172
+ * Locate `wps:bodyPr` under a residual dual-AC drawing host.
173
+ *
174
+ * @private
175
+ */
176
+ export declare function findBodyPrElement(residual: OpenXmlElement): OpenXmlElement | undefined;
177
+ /**
178
+ * Locate `wps:txbx` under a residual dual-AC drawing host.
179
+ *
180
+ * @private
181
+ */
182
+ export declare function findTxbxElement(residual: OpenXmlElement): OpenXmlElement | undefined;
183
+ /**
184
+ * Locate `w:txbxContent` under a residual host (WML namespace, local `txbxContent`).
185
+ *
186
+ * @private
187
+ */
188
+ export declare function findTxbxContentElement(residual: OpenXmlElement): OpenXmlElement | undefined;
189
+ /**
190
+ * Read `wps:bodyPr` MVP state from residual DrawingML host.
191
+ *
192
+ * Residual hosts are dual MC AlternateContent trees, so `wps:bodyPr` is
193
+ * located with a deep walk. Children of the found bodyPr stay shallow.
194
+ *
195
+ * Cites: `CT_TextBodyProperties` + `EG_TextAutofit` (dml-main.xsd);
196
+ * `CT_WordprocessingShape/bodyPr` (dml-wordprocessingDrawing.xsd).
197
+ *
198
+ * @private
199
+ */
200
+ export declare function readBodyPropertiesState(residual: OpenXmlElement): BodyPropertiesState;
201
+ /**
202
+ * Build `wps:bodyPr` from the modeled MVP subset.
203
+ *
204
+ * Always emits the element (schema requires bodyPr on `wps:wsp`). When no
205
+ * modeled fields are set, emits empty `<wps:bodyPr/>`.
206
+ *
207
+ * Autofit children use the DrawingML `a:` namespace. Residual warp/3d/extLst
208
+ * are not re-emitted on the full structure rebuild path.
209
+ *
210
+ * @private
211
+ */
212
+ export declare function buildBodyPrElement(state: {
213
+ readonly verticalAnchor?: TextAnchoring | undefined;
214
+ readonly anchorCenter?: boolean | undefined;
215
+ readonly textDirection?: TextVerticalType | undefined;
216
+ readonly textWrapInside?: TextBodyWrap | undefined;
217
+ readonly verticalOverflow?: TextVertOverflow | undefined;
218
+ readonly horizontalOverflow?: TextHorzOverflow | undefined;
219
+ readonly fromWordArt?: boolean | undefined;
220
+ readonly insets?: BodyInsets | undefined;
221
+ readonly autoFit?: TextAutoFit | undefined;
222
+ }): OpenXmlElement;
223
+ /**
224
+ * Whether any modeled bodyPr field is present (used by encode path to decide
225
+ * empty vs populated bodyPr emission — empty is still required on wsp).
226
+ *
227
+ * @private
228
+ */
229
+ export declare function hasModeledBodyPrFields(state: {
230
+ readonly verticalAnchor?: TextAnchoring | undefined;
231
+ readonly anchorCenter?: boolean | undefined;
232
+ readonly textDirection?: TextVerticalType | undefined;
233
+ readonly textWrapInside?: TextBodyWrap | undefined;
234
+ readonly verticalOverflow?: TextVertOverflow | undefined;
235
+ readonly horizontalOverflow?: TextHorzOverflow | undefined;
236
+ readonly fromWordArt?: boolean | undefined;
237
+ readonly insets?: BodyInsets | undefined;
238
+ readonly autoFit?: TextAutoFit | undefined;
239
+ }): boolean;
240
+ /**
241
+ * @private
242
+ * Re-export Emus brand helper for encode callers that store inset EMUs. */
243
+ export declare type BodyInsetEmus = Emus;
244
+ /**
245
+ * Public text direction inside a shape text frame (`wps:bodyPr/@vert`).
246
+ * @public
247
+ */
248
+ export declare const TextDirection: {
249
+ Horizontal: "horz";
250
+ Vertical: "vert";
251
+ Vertical270: "vert270";
252
+ WordArtVertical: "wordArtVert";
253
+ EastAsianVertical: "eaVert";
254
+ MongolianVertical: "mongolianVert";
255
+ WordArtVerticalRtl: "wordArtVertRtl";
256
+ };
257
+ /** @public */
258
+ export declare type TextDirection = (typeof TextDirection)[keyof typeof TextDirection];
259
+ /**
260
+ * Public vertical alignment of text inside a shape text frame (`wps:bodyPr/@anchor`).
261
+ * @public
262
+ */
263
+ export declare const TextVerticalAlignment: {
264
+ Top: "t";
265
+ Center: "ctr";
266
+ Bottom: "b";
267
+ Justified: "just";
268
+ Distributed: "dist";
269
+ };
270
+ /** @public */
271
+ export declare type TextVerticalAlignment = (typeof TextVerticalAlignment)[keyof typeof TextVerticalAlignment];