@syncfusion/ej2-docx 0.0.0-stage → 35.1.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (416) hide show
  1. package/README.md +68 -2
  2. package/core.js +4 -0
  3. package/dist/ej2-docx.umd.min.js +2 -0
  4. package/dist/ej2-docx.umd.min.js.map +1 -0
  5. package/dist/es6/ej2-docx.es2015.js +66697 -0
  6. package/dist/es6/ej2-docx.es2015.js.map +1 -0
  7. package/dist/es6/ej2-docx.es5.js +77568 -0
  8. package/dist/es6/ej2-docx.es5.js.map +1 -0
  9. package/dist/global/ej2-docx.min.js +2 -0
  10. package/dist/global/ej2-docx.min.js.map +1 -0
  11. package/dist/global/index.d.ts +5 -0
  12. package/features.js +4 -0
  13. package/index.js +4 -0
  14. package/license +10 -0
  15. package/package.json +31 -4
  16. package/src/all.d.ts +50 -0
  17. package/src/all.js +147 -0
  18. package/src/core/compat/base64.d.ts +13 -0
  19. package/src/core/compat/base64.js +90 -0
  20. package/src/core/compat/object-compat.d.ts +30 -0
  21. package/src/core/compat/object-compat.js +40 -0
  22. package/src/core/compat/sha256.d.ts +9 -0
  23. package/src/core/compat/sha256.js +98 -0
  24. package/src/core/errors/docx-error.d.ts +89 -0
  25. package/src/core/errors/docx-error.js +138 -0
  26. package/src/core/errors/error-codes.d.ts +8 -0
  27. package/src/core/errors/error-codes.js +0 -0
  28. package/src/core/errors/index.d.ts +10 -0
  29. package/src/core/errors/index.js +9 -0
  30. package/src/core/index.d.ts +12 -0
  31. package/src/core/index.js +12 -0
  32. package/src/core/mc/alternate-content.d.ts +7 -0
  33. package/src/core/mc/alternate-content.js +67 -0
  34. package/src/core/mc/attributes.d.ts +24 -0
  35. package/src/core/mc/attributes.js +82 -0
  36. package/src/core/mc/index.d.ts +7 -0
  37. package/src/core/mc/index.js +5 -0
  38. package/src/core/mc/inspect.d.ts +16 -0
  39. package/src/core/mc/inspect.js +148 -0
  40. package/src/core/mc/namespaces.d.ts +4 -0
  41. package/src/core/mc/namespaces.js +4 -0
  42. package/src/core/mc/scope.d.ts +6 -0
  43. package/src/core/mc/scope.js +47 -0
  44. package/src/core/opc/content-types.d.ts +34 -0
  45. package/src/core/opc/content-types.js +162 -0
  46. package/src/core/opc/index.d.ts +8 -0
  47. package/src/core/opc/index.js +4 -0
  48. package/src/core/opc/package.d.ts +49 -0
  49. package/src/core/opc/package.js +324 -0
  50. package/src/core/opc/part-name.d.ts +47 -0
  51. package/src/core/opc/part-name.js +205 -0
  52. package/src/core/opc/relationships.d.ts +46 -0
  53. package/src/core/opc/relationships.js +212 -0
  54. package/src/core/preservation/index.d.ts +2 -0
  55. package/src/core/preservation/index.js +1 -0
  56. package/src/core/preservation/opaque-body.d.ts +16 -0
  57. package/src/core/preservation/opaque-body.js +69 -0
  58. package/src/core/registry/block-handlers.d.ts +30 -0
  59. package/src/core/registry/block-handlers.js +36 -0
  60. package/src/core/registry/create-defaults.d.ts +39 -0
  61. package/src/core/registry/create-defaults.js +42 -0
  62. package/src/core/registry/feature-registry.d.ts +20 -0
  63. package/src/core/registry/feature-registry.js +29 -0
  64. package/src/core/registry/index.d.ts +9 -0
  65. package/src/core/registry/index.js +8 -0
  66. package/src/core/registry/inline-handlers.d.ts +20 -0
  67. package/src/core/registry/inline-handlers.js +30 -0
  68. package/src/core/registry/materialize-handlers.d.ts +35 -0
  69. package/src/core/registry/materialize-handlers.js +75 -0
  70. package/src/core/registry/multi-part-handlers.d.ts +37 -0
  71. package/src/core/registry/multi-part-handlers.js +206 -0
  72. package/src/core/registry/package-part-handlers.d.ts +28 -0
  73. package/src/core/registry/package-part-handlers.js +190 -0
  74. package/src/core/registry/part-handlers.d.ts +24 -0
  75. package/src/core/registry/part-handlers.js +172 -0
  76. package/src/core/registry/run-leaf-handlers.d.ts +26 -0
  77. package/src/core/registry/run-leaf-handlers.js +72 -0
  78. package/src/core/security/limits.d.ts +40 -0
  79. package/src/core/security/limits.js +26 -0
  80. package/src/core/xml/index.d.ts +7 -0
  81. package/src/core/xml/index.js +3 -0
  82. package/src/core/xml/model.d.ts +66 -0
  83. package/src/core/xml/model.js +17 -0
  84. package/src/core/xml/parse.d.ts +12 -0
  85. package/src/core/xml/parse.js +382 -0
  86. package/src/core/xml/serialize.d.ts +6 -0
  87. package/src/core/xml/serialize.js +93 -0
  88. package/src/core/zip/crc32.d.ts +2 -0
  89. package/src/core/zip/crc32.js +25 -0
  90. package/src/core/zip/deflate.d.ts +6 -0
  91. package/src/core/zip/deflate.js +6 -0
  92. package/src/core/zip/index.d.ts +10 -0
  93. package/src/core/zip/index.js +4 -0
  94. package/src/core/zip/inflate-raw.d.ts +17 -0
  95. package/src/core/zip/inflate-raw.js +450 -0
  96. package/src/core/zip/names.d.ts +6 -0
  97. package/src/core/zip/names.js +52 -0
  98. package/src/core/zip/read.d.ts +8 -0
  99. package/src/core/zip/read.js +262 -0
  100. package/src/core/zip/write.d.ts +7 -0
  101. package/src/core/zip/write.js +189 -0
  102. package/src/core/zip/zip-entry.d.ts +4 -0
  103. package/src/core/zip/zip-entry.js +0 -0
  104. package/src/features/bibliography/index.d.ts +100 -0
  105. package/src/features/bibliography/index.js +290 -0
  106. package/src/features/bookmarks/index.d.ts +331 -0
  107. package/src/features/bookmarks/index.js +1009 -0
  108. package/src/features/comments/comment-extensions.d.ts +157 -0
  109. package/src/features/comments/comment-extensions.js +356 -0
  110. package/src/features/comments/index.d.ts +579 -0
  111. package/src/features/comments/index.js +1727 -0
  112. package/src/features/content-controls/index.d.ts +821 -0
  113. package/src/features/content-controls/index.js +2857 -0
  114. package/src/features/custom-xml/index.d.ts +236 -0
  115. package/src/features/custom-xml/index.js +661 -0
  116. package/src/features/document/alignment.d.ts +23 -0
  117. package/src/features/document/alignment.js +36 -0
  118. package/src/features/document/alt-chunk.d.ts +103 -0
  119. package/src/features/document/alt-chunk.js +221 -0
  120. package/src/features/document/assert-never.d.ts +1 -0
  121. package/src/features/document/assert-never.js +4 -0
  122. package/src/features/document/augmentations.d.ts +578 -0
  123. package/src/features/document/augmentations.js +0 -0
  124. package/src/features/document/body-always-on.d.ts +36 -0
  125. package/src/features/document/body-always-on.js +66 -0
  126. package/src/features/document/body-blocks.d.ts +7 -0
  127. package/src/features/document/body-blocks.js +78 -0
  128. package/src/features/document/body-item-adapters.d.ts +62 -0
  129. package/src/features/document/body-item-adapters.js +97 -0
  130. package/src/features/document/body-item-collection.d.ts +151 -0
  131. package/src/features/document/body-item-collection.js +440 -0
  132. package/src/features/document/body-item.d.ts +35 -0
  133. package/src/features/document/body-item.js +8 -0
  134. package/src/features/document/body.d.ts +150 -0
  135. package/src/features/document/body.js +263 -0
  136. package/src/features/document/character-format.d.ts +413 -0
  137. package/src/features/document/character-format.js +2054 -0
  138. package/src/features/document/color.d.ts +178 -0
  139. package/src/features/document/color.js +495 -0
  140. package/src/features/document/document.d.ts +410 -0
  141. package/src/features/document/document.js +1049 -0
  142. package/src/features/document/element-type.d.ts +68 -0
  143. package/src/features/document/element-type.js +133 -0
  144. package/src/features/document/entity-type.d.ts +92 -0
  145. package/src/features/document/entity-type.js +93 -0
  146. package/src/features/document/feature-block.d.ts +16 -0
  147. package/src/features/document/feature-block.js +0 -0
  148. package/src/features/document/feature-inline.d.ts +13 -0
  149. package/src/features/document/feature-inline.js +0 -0
  150. package/src/features/document/feature-multi-package-part.d.ts +19 -0
  151. package/src/features/document/feature-multi-package-part.js +8 -0
  152. package/src/features/document/feature-package-level-part.d.ts +18 -0
  153. package/src/features/document/feature-package-level-part.js +8 -0
  154. package/src/features/document/feature-package-part.d.ts +14 -0
  155. package/src/features/document/feature-package-part.js +0 -0
  156. package/src/features/document/feature-run-leaf.d.ts +9 -0
  157. package/src/features/document/feature-run-leaf.js +0 -0
  158. package/src/features/document/headers-footers.d.ts +206 -0
  159. package/src/features/document/headers-footers.js +384 -0
  160. package/src/features/document/index.d.ts +41 -0
  161. package/src/features/document/index.js +34 -0
  162. package/src/features/document/length.d.ts +152 -0
  163. package/src/features/document/length.js +245 -0
  164. package/src/features/document/load-options.d.ts +14 -0
  165. package/src/features/document/load-options.js +0 -0
  166. package/src/features/document/locale-ids.d.ts +227 -0
  167. package/src/features/document/locale-ids.js +485 -0
  168. package/src/features/document/on-off.d.ts +9 -0
  169. package/src/features/document/on-off.js +27 -0
  170. package/src/features/document/page-setup.d.ts +339 -0
  171. package/src/features/document/page-setup.js +244 -0
  172. package/src/features/document/paragraph-format.d.ts +880 -0
  173. package/src/features/document/paragraph-format.js +2807 -0
  174. package/src/features/document/paragraph-item-collection.d.ts +162 -0
  175. package/src/features/document/paragraph-item-collection.js +363 -0
  176. package/src/features/document/paragraph-item.d.ts +83 -0
  177. package/src/features/document/paragraph-item.js +103 -0
  178. package/src/features/document/paragraph.d.ts +435 -0
  179. package/src/features/document/paragraph.js +888 -0
  180. package/src/features/document/run.d.ts +1 -0
  181. package/src/features/document/run.js +768 -0
  182. package/src/features/document/section-partition-flatten.d.ts +124 -0
  183. package/src/features/document/section-partition-flatten.js +217 -0
  184. package/src/features/document/section-properties-model.d.ts +13 -0
  185. package/src/features/document/section-properties-model.js +0 -0
  186. package/src/features/document/section.d.ts +93 -0
  187. package/src/features/document/section.js +178 -0
  188. package/src/features/document/sections.d.ts +103 -0
  189. package/src/features/document/sections.js +217 -0
  190. package/src/features/document/sub-super-script.d.ts +23 -0
  191. package/src/features/document/sub-super-script.js +43 -0
  192. package/src/features/document/text-range.d.ts +445 -0
  193. package/src/features/document/text-range.js +1156 -0
  194. package/src/features/document/typed-body-collections.d.ts +162 -0
  195. package/src/features/document/typed-body-collections.js +371 -0
  196. package/src/features/document/underline-style.d.ts +38 -0
  197. package/src/features/document/underline-style.js +126 -0
  198. package/src/features/document/units.d.ts +8 -0
  199. package/src/features/document/units.js +7 -0
  200. package/src/features/document/wml.d.ts +16 -0
  201. package/src/features/document/wml.js +67 -0
  202. package/src/features/drawing/authoring.d.ts +27 -0
  203. package/src/features/drawing/authoring.js +271 -0
  204. package/src/features/drawing/body-pr.d.ts +271 -0
  205. package/src/features/drawing/body-pr.js +663 -0
  206. package/src/features/drawing/drawing-shape.d.ts +1192 -0
  207. package/src/features/drawing/drawing-shape.js +3239 -0
  208. package/src/features/drawing/encode-builders.d.ts +176 -0
  209. package/src/features/drawing/encode-builders.js +390 -0
  210. package/src/features/drawing/fill-format.d.ts +52 -0
  211. package/src/features/drawing/fill-format.js +124 -0
  212. package/src/features/drawing/host-codec.d.ts +632 -0
  213. package/src/features/drawing/host-codec.js +2595 -0
  214. package/src/features/drawing/index.d.ts +13 -0
  215. package/src/features/drawing/index.js +33 -0
  216. package/src/features/drawing/line-format.d.ts +76 -0
  217. package/src/features/drawing/line-format.js +343 -0
  218. package/src/features/drawing/parse-register.d.ts +50 -0
  219. package/src/features/drawing/parse-register.js +257 -0
  220. package/src/features/drawing/residual-utils.d.ts +47 -0
  221. package/src/features/drawing/residual-utils.js +290 -0
  222. package/src/features/drawing/shape-types.d.ts +433 -0
  223. package/src/features/drawing/shape-types.js +437 -0
  224. package/src/features/drawing/sp-pr.d.ts +396 -0
  225. package/src/features/drawing/sp-pr.js +610 -0
  226. package/src/features/drawing/text-frame.d.ts +90 -0
  227. package/src/features/drawing/text-frame.js +152 -0
  228. package/src/features/drawing/types.d.ts +352 -0
  229. package/src/features/drawing/types.js +60 -0
  230. package/src/features/drawing/wrap-format.d.ts +62 -0
  231. package/src/features/drawing/wrap-format.js +114 -0
  232. package/src/features/editable-ranges/index.d.ts +494 -0
  233. package/src/features/editable-ranges/index.js +1348 -0
  234. package/src/features/fields/index.d.ts +428 -0
  235. package/src/features/fields/index.js +2148 -0
  236. package/src/features/fields/paragraph-field.d.ts +187 -0
  237. package/src/features/fields/paragraph-field.js +692 -0
  238. package/src/features/font-table/font-substitution-table.d.ts +75 -0
  239. package/src/features/font-table/font-substitution-table.js +257 -0
  240. package/src/features/font-table/font-table-entry.d.ts +255 -0
  241. package/src/features/font-table/font-table-entry.js +823 -0
  242. package/src/features/font-table/font-table.d.ts +128 -0
  243. package/src/features/font-table/font-table.js +313 -0
  244. package/src/features/font-table/index.d.ts +27 -0
  245. package/src/features/font-table/index.js +48 -0
  246. package/src/features/glossary/index.d.ts +97 -0
  247. package/src/features/glossary/index.js +286 -0
  248. package/src/features/headers-footers/index.d.ts +506 -0
  249. package/src/features/headers-footers/index.js +1666 -0
  250. package/src/features/hyperlinks/index.d.ts +230 -0
  251. package/src/features/hyperlinks/index.js +685 -0
  252. package/src/features/images/caption-authoring-api.d.ts +33 -0
  253. package/src/features/images/caption-authoring-api.js +33 -0
  254. package/src/features/images/caption-enums.d.ts +52 -0
  255. package/src/features/images/caption-enums.js +141 -0
  256. package/src/features/images/caption-host.d.ts +10 -0
  257. package/src/features/images/caption-host.js +21 -0
  258. package/src/features/images/captions.d.ts +13 -0
  259. package/src/features/images/captions.js +142 -0
  260. package/src/features/images/host-codec.d.ts +103 -0
  261. package/src/features/images/host-codec.js +720 -0
  262. package/src/features/images/image-sniff.d.ts +21 -0
  263. package/src/features/images/image-sniff.js +71 -0
  264. package/src/features/images/index.d.ts +506 -0
  265. package/src/features/images/index.js +1429 -0
  266. package/src/features/images/layout-types.d.ts +232 -0
  267. package/src/features/images/layout-types.js +294 -0
  268. package/src/features/images/public-entry.d.ts +9 -0
  269. package/src/features/images/public-entry.js +9 -0
  270. package/src/features/index.d.ts +35 -0
  271. package/src/features/index.js +36 -0
  272. package/src/features/mail-merge/index.d.ts +113 -0
  273. package/src/features/mail-merge/index.js +315 -0
  274. package/src/features/notes/index.d.ts +573 -0
  275. package/src/features/notes/index.js +1725 -0
  276. package/src/features/numbering/abstract-numbering.d.ts +90 -0
  277. package/src/features/numbering/abstract-numbering.js +292 -0
  278. package/src/features/numbering/index.d.ts +182 -0
  279. package/src/features/numbering/index.js +668 -0
  280. package/src/features/numbering/list-format.d.ts +158 -0
  281. package/src/features/numbering/list-format.js +590 -0
  282. package/src/features/numbering/list-string.d.ts +7 -0
  283. package/src/features/numbering/list-string.js +423 -0
  284. package/src/features/numbering/list-style.d.ts +204 -0
  285. package/src/features/numbering/list-style.js +1084 -0
  286. package/src/features/numbering/numbering-instance.d.ts +101 -0
  287. package/src/features/numbering/numbering-instance.js +329 -0
  288. package/src/features/numbering/numbering-level.d.ts +118 -0
  289. package/src/features/numbering/numbering-level.js +501 -0
  290. package/src/features/numbering/picture-bullet.d.ts +34 -0
  291. package/src/features/numbering/picture-bullet.js +88 -0
  292. package/src/features/ole-object/catalog.d.ts +300 -0
  293. package/src/features/ole-object/catalog.js +908 -0
  294. package/src/features/ole-object/index.d.ts +526 -0
  295. package/src/features/ole-object/index.js +1421 -0
  296. package/src/features/ole-object/relationship.d.ts +27 -0
  297. package/src/features/ole-object/relationship.js +27 -0
  298. package/src/features/ole-object/typed-dom.d.ts +186 -0
  299. package/src/features/ole-object/typed-dom.js +595 -0
  300. package/src/features/properties/index.d.ts +205 -0
  301. package/src/features/properties/index.js +549 -0
  302. package/src/features/revisions/index.d.ts +204 -0
  303. package/src/features/revisions/index.js +695 -0
  304. package/src/features/sections/column-collection.d.ts +119 -0
  305. package/src/features/sections/column-collection.js +478 -0
  306. package/src/features/sections/column.d.ts +15 -0
  307. package/src/features/sections/column.js +37 -0
  308. package/src/features/sections/index.d.ts +91 -0
  309. package/src/features/sections/index.js +1096 -0
  310. package/src/features/sections/margins.d.ts +40 -0
  311. package/src/features/sections/margins.js +105 -0
  312. package/src/features/sections/page-number-style.d.ts +21 -0
  313. package/src/features/sections/page-number-style.js +62 -0
  314. package/src/features/sections/page-orientation.d.ts +10 -0
  315. package/src/features/sections/page-orientation.js +10 -0
  316. package/src/features/sections/page-setup.d.ts +435 -0
  317. package/src/features/sections/page-setup.js +1479 -0
  318. package/src/features/sections/page-size.d.ts +59 -0
  319. package/src/features/sections/page-size.js +68 -0
  320. package/src/features/sections/section-break-code.d.ts +27 -0
  321. package/src/features/sections/section-break-code.js +60 -0
  322. package/src/features/sections/section-document-association.d.ts +18 -0
  323. package/src/features/sections/section-document-association.js +31 -0
  324. package/src/features/sections/section-validation.d.ts +43 -0
  325. package/src/features/sections/section-validation.js +97 -0
  326. package/src/features/settings/attached-template.d.ts +35 -0
  327. package/src/features/settings/attached-template.js +98 -0
  328. package/src/features/settings/compat-settings.d.ts +216 -0
  329. package/src/features/settings/compat-settings.js +508 -0
  330. package/src/features/settings/document-background.d.ts +59 -0
  331. package/src/features/settings/document-background.js +131 -0
  332. package/src/features/settings/document-protection.d.ts +65 -0
  333. package/src/features/settings/document-protection.js +157 -0
  334. package/src/features/settings/document-settings-facades.d.ts +108 -0
  335. package/src/features/settings/document-settings-facades.js +312 -0
  336. package/src/features/settings/document-settings-values.d.ts +43 -0
  337. package/src/features/settings/document-settings-values.js +60 -0
  338. package/src/features/settings/footnote-properties.d.ts +211 -0
  339. package/src/features/settings/footnote-properties.js +591 -0
  340. package/src/features/settings/index.d.ts +356 -0
  341. package/src/features/settings/index.js +829 -0
  342. package/src/features/settings/settings-children.d.ts +151 -0
  343. package/src/features/settings/settings-children.js +505 -0
  344. package/src/features/settings/web-settings.d.ts +88 -0
  345. package/src/features/settings/web-settings.js +227 -0
  346. package/src/features/settings/zoom.d.ts +79 -0
  347. package/src/features/settings/zoom.js +147 -0
  348. package/src/features/styles/builtin-catalog.d.ts +159 -0
  349. package/src/features/styles/builtin-catalog.js +963 -0
  350. package/src/features/styles/builtin-resolver.d.ts +49 -0
  351. package/src/features/styles/builtin-resolver.js +165 -0
  352. package/src/features/styles/default-styles.d.ts +37 -0
  353. package/src/features/styles/default-styles.js +186 -0
  354. package/src/features/styles/default-theme.d.ts +13 -0
  355. package/src/features/styles/default-theme.js +13 -0
  356. package/src/features/styles/doc-defaults.d.ts +58 -0
  357. package/src/features/styles/doc-defaults.js +178 -0
  358. package/src/features/styles/formatting-resolver.d.ts +27 -0
  359. package/src/features/styles/formatting-resolver.js +72 -0
  360. package/src/features/styles/index.d.ts +256 -0
  361. package/src/features/styles/index.js +1325 -0
  362. package/src/features/styles/latent-styles.d.ts +68 -0
  363. package/src/features/styles/latent-styles.js +305 -0
  364. package/src/features/styles/paragraph-properties.d.ts +71 -0
  365. package/src/features/styles/paragraph-properties.js +237 -0
  366. package/src/features/styles/run-properties.d.ts +93 -0
  367. package/src/features/styles/run-properties.js +516 -0
  368. package/src/features/styles/style-base.d.ts +402 -0
  369. package/src/features/styles/style-base.js +1026 -0
  370. package/src/features/styles/style-collection.d.ts +264 -0
  371. package/src/features/styles/style-collection.js +714 -0
  372. package/src/features/styles/style-format-bridge.d.ts +64 -0
  373. package/src/features/styles/style-format-bridge.js +100 -0
  374. package/src/features/styles/style.d.ts +84 -0
  375. package/src/features/styles/style.js +375 -0
  376. package/src/features/styles/styles-with-effects.d.ts +71 -0
  377. package/src/features/styles/styles-with-effects.js +180 -0
  378. package/src/features/styles/table-style.d.ts +272 -0
  379. package/src/features/styles/table-style.js +1226 -0
  380. package/src/features/styles/theme.d.ts +126 -0
  381. package/src/features/styles/theme.js +377 -0
  382. package/src/features/tables/border-style-map.d.ts +24 -0
  383. package/src/features/tables/border-style-map.js +81 -0
  384. package/src/features/tables/borders.d.ts +126 -0
  385. package/src/features/tables/borders.js +527 -0
  386. package/src/features/tables/collections.d.ts +113 -0
  387. package/src/features/tables/collections.js +261 -0
  388. package/src/features/tables/format.d.ts +208 -0
  389. package/src/features/tables/format.js +716 -0
  390. package/src/features/tables/index.d.ts +597 -0
  391. package/src/features/tables/index.js +2386 -0
  392. package/src/features/tables/paddings.d.ts +41 -0
  393. package/src/features/tables/paddings.js +97 -0
  394. package/src/features/tables/tbl-pr-positioning.d.ts +27 -0
  395. package/src/features/tables/tbl-pr-positioning.js +178 -0
  396. package/src/features/tables/tbl-pr.d.ts +528 -0
  397. package/src/features/tables/tbl-pr.js +1208 -0
  398. package/src/features/tables/tc-pr.d.ts +168 -0
  399. package/src/features/tables/tc-pr.js +553 -0
  400. package/src/features/tables/tr-pr.d.ts +60 -0
  401. package/src/features/tables/tr-pr.js +215 -0
  402. package/src/features/watermark/detect.d.ts +76 -0
  403. package/src/features/watermark/detect.js +219 -0
  404. package/src/features/watermark/index.d.ts +28 -0
  405. package/src/features/watermark/index.js +91 -0
  406. package/src/features/watermark/logical-store.d.ts +29 -0
  407. package/src/features/watermark/logical-store.js +31 -0
  408. package/src/features/watermark/model.d.ts +285 -0
  409. package/src/features/watermark/model.js +597 -0
  410. package/src/features/watermark/parse.d.ts +84 -0
  411. package/src/features/watermark/parse.js +815 -0
  412. package/src/features/watermark/serialize.d.ts +98 -0
  413. package/src/features/watermark/serialize.js +1517 -0
  414. package/src/global.js +1 -0
  415. package/src/index.d.ts +2 -0
  416. package/src/index.js +2 -0
@@ -0,0 +1,88 @@
1
+ import { WordDocument } from '../document/document';
2
+ import { FeaturePackagePart } from '../document/feature-package-part';
3
+ /**
4
+ * @private
5
+ * Transitional web settings relationship (ECMA-376-4 §9.2.13). */
6
+ export declare const WEB_SETTINGS_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings";
7
+ /**
8
+ * @private
9
+ * Strict web settings relationship (ECMA-376-1 §11.3.13). */
10
+ export declare const STRICT_WEB_SETTINGS_RELATIONSHIP_TYPE = "http://purl.oclc.org/ooxml/officeDocument/relationships/webSettings";
11
+ /**
12
+ * @private
13
+ * ECMA-376-1 §11.3.13 Web Settings content type. */
14
+ export declare const WEB_SETTINGS_CONTENT_TYPE = "application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml";
15
+ /**
16
+ * @private
17
+ */
18
+ export declare const WEB_SETTINGS_PART_NAME: import("../../core/opc/part-name").PartName;
19
+ interface WebSettingsMetadata {
20
+ readonly encoding: string | undefined;
21
+ readonly hasFrameset: boolean;
22
+ readonly divCount: number;
23
+ readonly optimizeForBrowserTarget: string | undefined;
24
+ }
25
+ /**
26
+ * In-memory Web Settings part (`word/webSettings.xml`).
27
+ *
28
+ * @private
29
+ */
30
+ export declare class WebSettingsPart implements FeaturePackagePart {
31
+ private readonly bytes;
32
+ private readonly metadata;
33
+ private readonly dirty;
34
+ /**
35
+ * @private
36
+ */
37
+ constructor(bytes: Uint8Array | undefined, metadata: WebSettingsMetadata, dirty: boolean);
38
+ /**
39
+ * `w:encoding/@w:val`, or `undefined` when absent or the part is missing.
40
+ *
41
+ * @public
42
+ */
43
+ encoding(): string | undefined;
44
+ /**
45
+ * Whether `w:frameset` is present under `w:webSettings`.
46
+ *
47
+ * @public
48
+ */
49
+ hasFrameset(): boolean;
50
+ /**
51
+ * Count of `w:divs/w:div` children.
52
+ *
53
+ * @public
54
+ */
55
+ divCount(): number;
56
+ /**
57
+ * `w:optimizeForBrowser/@w:target`, or `undefined` when absent.
58
+ *
59
+ * @public
60
+ */
61
+ optimizeForBrowserTarget(): string | undefined;
62
+ /**
63
+ * @private
64
+ */
65
+ isDirty(): boolean;
66
+ /**
67
+ * @private
68
+ */
69
+ serialize(): Uint8Array;
70
+ }
71
+ /**
72
+ * @private
73
+ * Test hook */
74
+ export declare function resetWebSettingsFeatureForTests(): void;
75
+ /**
76
+ * @private
77
+ * Register the web settings package-part handler. Idempotent. */
78
+ export declare function registerWebSettingsFeature(): void;
79
+ /**
80
+ * Web settings catalog for a document. Requires {@link registerSettingsFeature} or
81
+ * {@link registerWebSettingsFeature}.
82
+ *
83
+ * @throws DocxError `UNKNOWN_FEATURE` when the web settings handler was not registered before load.
84
+ *
85
+ * @private
86
+ */
87
+ export declare function webSettingsFor(document: WordDocument): WebSettingsPart;
88
+ export {};
@@ -0,0 +1,227 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __values = (this && this.__values) || function (o) {
13
+ var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
14
+ if (m) return m.call(o);
15
+ return {
16
+ next: function () {
17
+ if (o && i >= o.length) o = void 0;
18
+ return { value: o && o[i++], done: !o };
19
+ }
20
+ };
21
+ };
22
+ import { DocxError } from '../../core/errors/docx-error';
23
+ import { elementChildren, isWml } from '../document/wml';
24
+ import { partName } from '../../core/opc/part-name';
25
+ import { featureId, registerFeature, registerFeaturePartHandler, } from '../../core/registry/index';
26
+ import { parseXml, WML_TRANSITIONAL_NAMESPACE } from '../../core/xml/index';
27
+ var WEB_SETTINGS = featureId('web-settings');
28
+ /**
29
+ * @private
30
+ * Transitional web settings relationship (ECMA-376-4 §9.2.13). */
31
+ export var WEB_SETTINGS_RELATIONSHIP_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings';
32
+ /**
33
+ * @private
34
+ * Strict web settings relationship (ECMA-376-1 §11.3.13). */
35
+ export var STRICT_WEB_SETTINGS_RELATIONSHIP_TYPE = 'http://purl.oclc.org/ooxml/officeDocument/relationships/webSettings';
36
+ /**
37
+ * @private
38
+ * ECMA-376-1 §11.3.13 Web Settings content type. */
39
+ export var WEB_SETTINGS_CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml';
40
+ /**
41
+ * @private
42
+ */
43
+ export var WEB_SETTINGS_PART_NAME = partName('/word/webSettings.xml');
44
+ var utf8Decoder = new TextDecoder('utf-8');
45
+ var EMPTY_METADATA = {
46
+ encoding: undefined,
47
+ hasFrameset: false,
48
+ divCount: 0,
49
+ optimizeForBrowserTarget: undefined,
50
+ };
51
+ function wmlAttribute(element, localName) {
52
+ var found = element.attributes.find(function (attribute) { return attribute.localName === localName &&
53
+ (attribute.namespaceUri === WML_TRANSITIONAL_NAMESPACE || attribute.namespaceUri === ''); });
54
+ return found == null ? undefined : found.value;
55
+ }
56
+ function parseWebSettingsMetadata(root) {
57
+ var e_1, _a, e_2, _b;
58
+ if (!isWml(root, 'webSettings')) {
59
+ return undefined;
60
+ }
61
+ var encoding;
62
+ var hasFrameset = false;
63
+ var divCount = 0;
64
+ var optimizeForBrowserTarget;
65
+ try {
66
+ for (var _c = __values(elementChildren(root)), _d = _c.next(); !_d.done; _d = _c.next()) {
67
+ var child = _d.value;
68
+ if (isWml(child, 'encoding')) {
69
+ encoding = wmlAttribute(child, 'val');
70
+ continue;
71
+ }
72
+ if (isWml(child, 'frameset')) {
73
+ hasFrameset = true;
74
+ continue;
75
+ }
76
+ if (isWml(child, 'divs')) {
77
+ try {
78
+ for (var _e = __values(elementChildren(child)), _f = _e.next(); !_f.done; _f = _e.next()) {
79
+ var div = _f.value;
80
+ if (isWml(div, 'div')) {
81
+ divCount += 1;
82
+ }
83
+ }
84
+ }
85
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
86
+ finally {
87
+ try {
88
+ if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
89
+ }
90
+ finally { if (e_2) throw e_2.error; }
91
+ }
92
+ continue;
93
+ }
94
+ if (isWml(child, 'optimizeForBrowser')) {
95
+ optimizeForBrowserTarget = wmlAttribute(child, 'target');
96
+ }
97
+ }
98
+ }
99
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
100
+ finally {
101
+ try {
102
+ if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
103
+ }
104
+ finally { if (e_1) throw e_1.error; }
105
+ }
106
+ return { encoding: encoding, hasFrameset: hasFrameset, divCount: divCount, optimizeForBrowserTarget: optimizeForBrowserTarget };
107
+ }
108
+ function parseWebSettingsMetadataFromBytes(bytes) {
109
+ var root = parseXml(utf8Decoder.decode(bytes));
110
+ return parseWebSettingsMetadata(root);
111
+ }
112
+ /**
113
+ * In-memory Web Settings part (`word/webSettings.xml`).
114
+ *
115
+ * @private
116
+ */
117
+ var WebSettingsPart = /** @class */ (function () {
118
+ /**
119
+ * @private
120
+ */
121
+ function WebSettingsPart(bytes, metadata, dirty) {
122
+ this.bytes = bytes;
123
+ this.metadata = metadata;
124
+ this.dirty = dirty;
125
+ }
126
+ /**
127
+ * `w:encoding/@w:val`, or `undefined` when absent or the part is missing.
128
+ *
129
+ * @public
130
+ */
131
+ WebSettingsPart.prototype.encoding = function () {
132
+ return this.metadata.encoding;
133
+ };
134
+ /**
135
+ * Whether `w:frameset` is present under `w:webSettings`.
136
+ *
137
+ * @public
138
+ */
139
+ WebSettingsPart.prototype.hasFrameset = function () {
140
+ return this.metadata.hasFrameset;
141
+ };
142
+ /**
143
+ * Count of `w:divs/w:div` children.
144
+ *
145
+ * @public
146
+ */
147
+ WebSettingsPart.prototype.divCount = function () {
148
+ return this.metadata.divCount;
149
+ };
150
+ /**
151
+ * `w:optimizeForBrowser/@w:target`, or `undefined` when absent.
152
+ *
153
+ * @public
154
+ */
155
+ WebSettingsPart.prototype.optimizeForBrowserTarget = function () {
156
+ return this.metadata.optimizeForBrowserTarget;
157
+ };
158
+ /**
159
+ * @private
160
+ */
161
+ WebSettingsPart.prototype.isDirty = function () {
162
+ return this.dirty;
163
+ };
164
+ /**
165
+ * @private
166
+ */
167
+ WebSettingsPart.prototype.serialize = function () {
168
+ if (this.bytes !== undefined) {
169
+ return this.bytes;
170
+ }
171
+ return new Uint8Array(0);
172
+ };
173
+ return WebSettingsPart;
174
+ }());
175
+ export { WebSettingsPart };
176
+ function loadWebSettingsPart(part) {
177
+ var __ts33_0;
178
+ if (part === undefined) {
179
+ return new WebSettingsPart(undefined, __assign({}, EMPTY_METADATA), false);
180
+ }
181
+ var metadata = ((__ts33_0 = parseWebSettingsMetadataFromBytes(part.data)), __ts33_0 != null ? __ts33_0 : __assign({}, EMPTY_METADATA));
182
+ return new WebSettingsPart(part.data, metadata, false);
183
+ }
184
+ var webSettingsRegistered = false;
185
+ /**
186
+ * @private
187
+ * Test hook */
188
+ export function resetWebSettingsFeatureForTests() {
189
+ webSettingsRegistered = false;
190
+ }
191
+ /**
192
+ * @private
193
+ * Register the web settings package-part handler. Idempotent. */
194
+ export function registerWebSettingsFeature() {
195
+ if (webSettingsRegistered) {
196
+ return;
197
+ }
198
+ webSettingsRegistered = true;
199
+ registerFeature({ id: WEB_SETTINGS });
200
+ registerFeaturePartHandler({
201
+ featureId: WEB_SETTINGS,
202
+ relationshipTypes: [WEB_SETTINGS_RELATIONSHIP_TYPE, STRICT_WEB_SETTINGS_RELATIONSHIP_TYPE],
203
+ defaultRelativeTarget: 'webSettings.xml',
204
+ partName: WEB_SETTINGS_PART_NAME,
205
+ contentType: WEB_SETTINGS_CONTENT_TYPE,
206
+ loadPart: function (part, ctx) {
207
+ void ctx;
208
+ return loadWebSettingsPart(part);
209
+ },
210
+ });
211
+ }
212
+ /**
213
+ * Web settings catalog for a document. Requires {@link registerSettingsFeature} or
214
+ * {@link registerWebSettingsFeature}.
215
+ *
216
+ * @throws DocxError `UNKNOWN_FEATURE` when the web settings handler was not registered before load.
217
+ *
218
+ * @private
219
+ */
220
+ export function webSettingsFor(document) {
221
+ registerWebSettingsFeature();
222
+ var part = document.featurePart(WEB_SETTINGS);
223
+ if (part === undefined || !(part instanceof WebSettingsPart)) {
224
+ throw new DocxError('feature/not-registered', 'Web settings part was not loaded; call registerSettingsFeature() before WordDocument.open');
225
+ }
226
+ return part;
227
+ }
@@ -0,0 +1,79 @@
1
+ /**
2
+ * `w:zoom` DOM (`CT_Zoom`, Transitional `wml.xsd`).
3
+ *
4
+ * Models the view magnification applied to a document. `percent` is the
5
+ * canonical zoom percentage (e.g. 100). `val` qualifies the zoom type when
6
+ * present (none | fullPage | bestFit | textFit).
7
+ *
8
+ * @private
9
+ */
10
+ import { OpenXmlElement } from '../../core/xml/index';
11
+ /**
12
+ * `ST_Zoom` wire tokens for `w:zoom/@w:val` (Transitional `wml.xsd`).
13
+ *
14
+ * `"none"` means the numeric percent is the sole control.
15
+ *
16
+ * @public
17
+ */
18
+ export declare enum ZoomType {
19
+ /** Numeric percent is the sole zoom control. */
20
+ None = "none",
21
+ /** Fit the full page in the window. */
22
+ FullPage = "fullPage",
23
+ /** Best fit for the window. */
24
+ BestFit = "bestFit",
25
+ /** Fit page width to text. */
26
+ TextFit = "textFit"
27
+ }
28
+ /**
29
+ * @private
30
+ * Wire string form of {@link ZoomType} (same tokens as the public enum).
31
+ */
32
+ export declare type ZoomTypeWire = 'none' | 'fullPage' | 'bestFit' | 'textFit';
33
+ /**
34
+ * First-class `w:zoom` node (`CT_Zoom`).
35
+ *
36
+ * ECMA-376-1 §17.15.1.93 — `w:zoom`
37
+ *
38
+ * Kept public because {@link SettingsPart.zoom} / {@link SettingsPart.setZoom} use it (R7.3).
39
+ *
40
+ * @private
41
+ */
42
+ export declare class ZoomSettings {
43
+ private zoomType;
44
+ private zoomPercent;
45
+ private constructor();
46
+ /**
47
+ * @private
48
+ */
49
+ static fromElement(element: OpenXmlElement): ZoomSettings;
50
+ /**
51
+ * Create a new `ZoomSettings` from explicit values.
52
+ * @private
53
+ */
54
+ static create(percent: number, val?: ZoomTypeWire | ZoomType): ZoomSettings;
55
+ /**
56
+ * `w:zoom/@w:val` — zoom type qualifier, or `undefined` when absent.
57
+ * @private
58
+ */
59
+ type(): ZoomTypeWire | undefined;
60
+ /**
61
+ * Mutate `w:zoom/@w:val`.
62
+ * @private
63
+ */
64
+ setType(val: ZoomTypeWire | ZoomType | undefined): void;
65
+ /**
66
+ * `w:zoom/@w:percent` — numeric zoom percentage, or `undefined` when absent.
67
+ * @private
68
+ */
69
+ percent(): number | undefined;
70
+ /**
71
+ * Mutate `w:zoom/@w:percent`.
72
+ * @private
73
+ */
74
+ setPercent(value: number | undefined): void;
75
+ /**
76
+ * @private
77
+ */
78
+ serialize(): OpenXmlElement;
79
+ }
@@ -0,0 +1,147 @@
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
+ /**
12
+ * `w:zoom` DOM (`CT_Zoom`, Transitional `wml.xsd`).
13
+ *
14
+ * Models the view magnification applied to a document. `percent` is the
15
+ * canonical zoom percentage (e.g. 100). `val` qualifies the zoom type when
16
+ * present (none | fullPage | bestFit | textFit).
17
+ *
18
+ * @private
19
+ */
20
+ import { WML_TRANSITIONAL_NAMESPACE } from '../../core/xml/index';
21
+ import { wmlAttr, wmlElement } from '../document/wml';
22
+ /**
23
+ * `ST_Zoom` wire tokens for `w:zoom/@w:val` (Transitional `wml.xsd`).
24
+ *
25
+ * `"none"` means the numeric percent is the sole control.
26
+ *
27
+ * @public
28
+ */
29
+ export var ZoomType;
30
+ (function (ZoomType) {
31
+ /** Numeric percent is the sole zoom control. */
32
+ ZoomType["None"] = "none";
33
+ /** Fit the full page in the window. */
34
+ ZoomType["FullPage"] = "fullPage";
35
+ /** Best fit for the window. */
36
+ ZoomType["BestFit"] = "bestFit";
37
+ /** Fit page width to text. */
38
+ ZoomType["TextFit"] = "textFit";
39
+ })(ZoomType || (ZoomType = {}));
40
+ function isZoomTypeWire(value) {
41
+ return value === 'none' || value === 'fullPage' || value === 'bestFit' || value === 'textFit';
42
+ }
43
+ /**
44
+ * First-class `w:zoom` node (`CT_Zoom`).
45
+ *
46
+ * ECMA-376-1 §17.15.1.93 — `w:zoom`
47
+ *
48
+ * Kept public because {@link SettingsPart.zoom} / {@link SettingsPart.setZoom} use it (R7.3).
49
+ *
50
+ * @private
51
+ */
52
+ var ZoomSettings = /** @class */ (function () {
53
+ function ZoomSettings(zoomType, zoomPercent) {
54
+ this.zoomType = zoomType;
55
+ this.zoomPercent = zoomPercent;
56
+ }
57
+ /**
58
+ * @private
59
+ */
60
+ ZoomSettings.fromElement = function (element) {
61
+ var e_1, _a;
62
+ var zoomType;
63
+ var zoomPercent;
64
+ try {
65
+ for (var _b = __values(element.attributes), _c = _b.next(); !_c.done; _c = _b.next()) {
66
+ var attr = _c.value;
67
+ if (attr.localName === 'val' &&
68
+ (attr.namespaceUri === WML_TRANSITIONAL_NAMESPACE || attr.namespaceUri === '')) {
69
+ var v = attr.value;
70
+ if (isZoomTypeWire(v)) {
71
+ zoomType = v;
72
+ }
73
+ }
74
+ if (attr.localName === 'percent' &&
75
+ (attr.namespaceUri === WML_TRANSITIONAL_NAMESPACE || attr.namespaceUri === '')) {
76
+ var n = Number(attr.value);
77
+ if (!Number.isNaN(n)) {
78
+ zoomPercent = n;
79
+ }
80
+ }
81
+ }
82
+ }
83
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
84
+ finally {
85
+ try {
86
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
87
+ }
88
+ finally { if (e_1) throw e_1.error; }
89
+ }
90
+ return new ZoomSettings(zoomType, zoomPercent);
91
+ };
92
+ /**
93
+ * Create a new `ZoomSettings` from explicit values.
94
+ * @private
95
+ */
96
+ ZoomSettings.create = function (percent, val) {
97
+ var wire = val === undefined ? undefined : (typeof val === 'string' ? val : val);
98
+ return new ZoomSettings(wire, percent);
99
+ };
100
+ /**
101
+ * `w:zoom/@w:val` — zoom type qualifier, or `undefined` when absent.
102
+ * @private
103
+ */
104
+ ZoomSettings.prototype.type = function () {
105
+ return this.zoomType;
106
+ };
107
+ /**
108
+ * Mutate `w:zoom/@w:val`.
109
+ * @private
110
+ */
111
+ ZoomSettings.prototype.setType = function (val) {
112
+ if (val === undefined) {
113
+ this.zoomType = undefined;
114
+ return;
115
+ }
116
+ this.zoomType = typeof val === 'string' ? val : val;
117
+ };
118
+ /**
119
+ * `w:zoom/@w:percent` — numeric zoom percentage, or `undefined` when absent.
120
+ * @private
121
+ */
122
+ ZoomSettings.prototype.percent = function () {
123
+ return this.zoomPercent;
124
+ };
125
+ /**
126
+ * Mutate `w:zoom/@w:percent`.
127
+ * @private
128
+ */
129
+ ZoomSettings.prototype.setPercent = function (value) {
130
+ this.zoomPercent = value;
131
+ };
132
+ /**
133
+ * @private
134
+ */
135
+ ZoomSettings.prototype.serialize = function () {
136
+ var attrs = [];
137
+ if (this.zoomType !== undefined) {
138
+ attrs.push(wmlAttr('val', this.zoomType));
139
+ }
140
+ if (this.zoomPercent !== undefined) {
141
+ attrs.push(wmlAttr('percent', String(this.zoomPercent)));
142
+ }
143
+ return wmlElement('zoom', { attributes: attrs });
144
+ };
145
+ return ZoomSettings;
146
+ }());
147
+ export { ZoomSettings };
@@ -0,0 +1,159 @@
1
+ /**
2
+ * Centralized built-in style catalog — immutable templates for every built-in
3
+ * style the library recognizes, references, or requires.
4
+ *
5
+ * Design (`docs/specs/styles-builtin-definitions-catalog.md` §2):
6
+ * - Templates are structured data (`BuiltinStyleTemplate`), never serialized
7
+ * XML strings — the serializer consumes the `DocxStyle` graph produced by
8
+ * {@link instantiateBuiltinStyle}.
9
+ * - The catalog is built once at module load into frozen entries held in a
10
+ * `ReadonlyMap`; templates are shared but never mutated (deep-cloned on
11
+ * every instantiation).
12
+ * - Formatting payloads reuse the modeled property subsets from
13
+ * `run-properties.ts` / `paragraph-properties.ts` (single source of truth for
14
+ * parse/serialize/clone) — no duplicate formatting models.
15
+ *
16
+ * Value sourcing (never-invent-OOXML, spec §2.5):
17
+ * - `Normal`, `Heading1`, `Heading2` — normative, mandated by the requirement
18
+ * (spec §2.2–§2.4): Times New Roman 12 pt; Arial 16 pt bold / Arial 14 pt
19
+ * bold-italic, keepNext, spacing before 240 after 60, outlineLvl 0/1.
20
+ * - Style ID ↔ display name and style *type* for every entry —
21
+ * `[MS-OI29500]` §2.1.238/§2.1.242 Word reserved built-in style name table
22
+ * (Word reserves these names with these types).
23
+ * - Heading 3–9 shells (basedOn/next/qFormat/keepNext/240/60/outlineLvl)
24
+ * follow the mandated heading shell (spec §2.5) with the Word heading
25
+ * scale (Arial, bold, 13/12/11/11/11/11/11 pt per level).
26
+ * - `DefaultParagraphFont`, `TableNormal`, `NoList`, `TableGrid`,
27
+ * `Hyperlink` — re-sourced from the shipped Word "Hello World" create-path
28
+ * evidence (`default-styles.ts`, TASK-8027).
29
+ * - Other character/paragraph defaults (`Strong` bold, `Emphasis` italic,
30
+ * reference styles superscript, `FollowedHyperlink` 800080 + single
31
+ * underline, `NoSpacing` suppresses doc-default spacing) — semantic
32
+ * defaults from the style names' documented meaning (ECMA-376-1 §17.7)
33
+ * encoded as the catalog's built-in default; a document's parsed
34
+ * definition always wins (spec §11.1).
35
+ *
36
+ * @private
37
+ */
38
+ import { OpenXmlElement } from '../../core/xml/index';
39
+ import { ModeledParagraphProperties } from './paragraph-properties';
40
+ import { ModeledRunProperties } from './run-properties';
41
+ import { DocxStyle, DocxStyleType } from './style';
42
+ /**
43
+ * One immutable built-in style template. Instances are created exclusively
44
+ * via {@link instantiateBuiltinStyle}, which deep-clones every nested value.
45
+ *
46
+ * @private
47
+ */
48
+ export interface BuiltinStyleTemplate {
49
+ /** Canonical `w:styleId` (e.g. "Heading1"). */
50
+ readonly styleId: string;
51
+ /** Canonical `w:name/@w:val` display name (e.g. "Heading 1"). */
52
+ readonly displayName: string;
53
+ readonly type: DocxStyleType;
54
+ /** `@w:default` — default style for its type. */
55
+ readonly isDefault?: boolean;
56
+ /** Canonical ID of the base style (`w:basedOn`). */
57
+ readonly basedOn?: string;
58
+ /** Canonical ID of the next-paragraph style (`w:next`). */
59
+ readonly next?: string;
60
+ /** Canonical ID of the linked style of the other type (`w:link`). */
61
+ readonly link?: string;
62
+ /** `w:uiPriority/@w:val`. */
63
+ readonly uiPriority?: number;
64
+ /** `w:qFormat` — quick-format (style gallery) state. */
65
+ readonly isQuickFormat?: boolean;
66
+ /** `w:semiHidden`. */
67
+ readonly isSemiHidden?: boolean;
68
+ /** `w:unhideWhenUsed`. */
69
+ readonly unhideWhenUsed?: boolean;
70
+ /** → `w:pPr` (only this style's own deltas; inheritance stays via basedOn). */
71
+ readonly paragraphFormatting?: ModeledParagraphProperties;
72
+ /** → `w:rPr`. */
73
+ readonly characterFormatting?: ModeledRunProperties;
74
+ /**
75
+ * `w:tblPr` payload for table styles, carried as typed `wmlElement` parts
76
+ * (the shipped create-path structure — see `TableStyleFormatting` note,
77
+ * spec §2.1). Undefined for non-table styles.
78
+ */
79
+ readonly tableFormatting?: ReadonlyArray<OpenXmlElement>;
80
+ }
81
+ /**
82
+ * Normalize a style name or ID for lookup: lowercase, collapse internal
83
+ * whitespace, strip it entirely. "Heading 1", "heading1", "HEADING 1" all
84
+ * normalize identically.
85
+ *
86
+ * @private
87
+ */
88
+ export declare function normalizeStyleName(name: string): string;
89
+ /**
90
+ * Public built-in paragraph style identifiers (canonical OOXML `w:styleId` values).
91
+ *
92
+ * Prefer these constants with {@link Paragraph.applyStyle} so callers do not
93
+ * hard-code style ids. Member values are the wire style ids (e.g. `Heading1`).
94
+ *
95
+ * @public
96
+ */
97
+ export declare const BuiltInStyle: {
98
+ Normal: "Normal";
99
+ Heading1: "Heading1";
100
+ Heading2: "Heading2";
101
+ };
102
+ /** One of the {@link BuiltInStyle} canonical paragraph style ids. */
103
+ export declare type BuiltInStyle = (typeof BuiltInStyle)[keyof typeof BuiltInStyle];
104
+ /**
105
+ * Public built-in table style identifiers (canonical OOXML `w:styleId` values).
106
+ *
107
+ * Prefer these constants with {@link Table.applyStyle} so callers do not hard-code
108
+ * style ids. Member values are the wire style ids (e.g. `LightShading-Accent1`).
109
+ *
110
+ * @public
111
+ */
112
+ export declare const BuiltinTableStyle: {
113
+ TableNormal: "TableNormal";
114
+ TableGrid: "TableGrid";
115
+ LightShading: "LightShading";
116
+ LightShadingAccent1: "LightShading-Accent1";
117
+ LightShadingAccent2: "LightShading-Accent2";
118
+ LightShadingAccent3: "LightShading-Accent3";
119
+ LightShadingAccent4: "LightShading-Accent4";
120
+ LightShadingAccent5: "LightShading-Accent5";
121
+ LightShadingAccent6: "LightShading-Accent6";
122
+ };
123
+ /** One of the {@link BuiltinTableStyle} canonical style ids. */
124
+ export declare type BuiltinTableStyle = (typeof BuiltinTableStyle)[keyof typeof BuiltinTableStyle];
125
+ /**
126
+ * Look up a template by canonical style ID.
127
+ * @private
128
+ */
129
+ export declare function getBuiltinStyleTemplate(styleId: string): BuiltinStyleTemplate | undefined;
130
+ /**
131
+ * Look up a template by display name (normalization applied).
132
+ * @private
133
+ */
134
+ export declare function getBuiltinStyleTemplateByDisplayName(name: string): BuiltinStyleTemplate | undefined;
135
+ /**
136
+ * Canonical ID for any known built-in form: canonical ID itself, or the
137
+ * canonical ID whose display name matches (normalized). `undefined` for
138
+ * unknown values — no best-effort guessing.
139
+ *
140
+ * @private
141
+ */
142
+ export declare function canonicalBuiltinStyleId(nameOrId: string): string | undefined;
143
+ /**
144
+ * Frozen snapshot for tests and tooling.
145
+ * @private
146
+ */
147
+ export declare function listBuiltinStyleTemplates(): ReadonlyArray<BuiltinStyleTemplate>;
148
+ /**
149
+ * Instantiate a catalog template as a document-owned `DocxStyle`: deep-clones
150
+ * the shell fields and every nested formatting object into typed `wmlElement`
151
+ * children (via the modeled payload serializers), sharing nothing with the
152
+ * template, the catalog, or any other instantiation.
153
+ *
154
+ * Dependency styles (`basedOn`/`next`/`link`) are referenced by canonical ID
155
+ * and resolved by the resolver (TASK-8066), not here.
156
+ *
157
+ * @private
158
+ */
159
+ export declare function instantiateBuiltinStyle(template: BuiltinStyleTemplate): DocxStyle;