@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,65 @@
1
+ /**
2
+ * `w:documentProtection` DOM (`CT_DocProtect`, Transitional `wml.xsd`).
3
+ *
4
+ * Modeled flags: `edit` / `formatting` / `enforcement`. Password and hash attributes
5
+ * (`AG_Password` / `AG_TransitionalPassword`) are preserved on flag-only updates and
6
+ * dropped only when the element is removed.
7
+ *
8
+ * @private
9
+ */
10
+ import { OpenXmlElement } from '../../core/xml/index';
11
+ /**
12
+ * `ST_DocProtect` (Transitional `wml.xsd`). *
13
+ * @private
14
+ */
15
+ export declare type DocumentProtectionEdit = 'none' | 'readOnly' | 'comments' | 'trackedChanges' | 'forms';
16
+ /**
17
+ * Modeled `w:documentProtection` flags. Password/hash attributes are not included.
18
+ *
19
+ * @private
20
+ */
21
+ export declare type DocumentProtectionFlags = {
22
+ readonly edit?: DocumentProtectionEdit;
23
+ readonly formatting?: boolean;
24
+ readonly enforcement?: boolean;
25
+ };
26
+ /**
27
+ * First-class `w:documentProtection` node.
28
+ *
29
+ * Kept public because {@link SettingsPart.documentProtectionNode} returns it (R7.3).
30
+ *
31
+ * @private
32
+ */
33
+ export declare class DocumentProtection {
34
+ private edit;
35
+ private formatting;
36
+ private enforcement;
37
+ private leftoverAttributes;
38
+ private readonly elementChildren;
39
+ private readonly namespaceDeclarations;
40
+ private constructor();
41
+ /**
42
+ * @private
43
+ * Parse from a `w:documentProtection` element. */
44
+ static fromElement(element: OpenXmlElement): DocumentProtection;
45
+ /**
46
+ * @private
47
+ * Build from modeled flags only (create path). */
48
+ static fromFlags(flags: DocumentProtectionFlags): DocumentProtection;
49
+ /**
50
+ * Snapshot of modeled flags (password/hash attrs omitted).
51
+ *
52
+ * @public
53
+ */
54
+ flags(): DocumentProtectionFlags;
55
+ /**
56
+ * Replace modeled flags; leftover password/hash attributes are kept.
57
+ *
58
+ * @private
59
+ */
60
+ applyFlags(flags: DocumentProtectionFlags): void;
61
+ /**
62
+ * @private
63
+ */
64
+ serialize(): OpenXmlElement;
65
+ }
@@ -0,0 +1,157 @@
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 __read = (this && this.__read) || function (o, n) {
13
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
14
+ if (!m) return o;
15
+ var i = m.call(o), r, ar = [], e;
16
+ try {
17
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
18
+ }
19
+ catch (error) { e = { error: error }; }
20
+ finally {
21
+ try {
22
+ if (r && !r.done && (m = i["return"])) m.call(i);
23
+ }
24
+ finally { if (e) throw e.error; }
25
+ }
26
+ return ar;
27
+ };
28
+ var __spread = (this && this.__spread) || function () {
29
+ for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
30
+ return ar;
31
+ };
32
+ /**
33
+ * `w:documentProtection` DOM (`CT_DocProtect`, Transitional `wml.xsd`).
34
+ *
35
+ * Modeled flags: `edit` / `formatting` / `enforcement`. Password and hash attributes
36
+ * (`AG_Password` / `AG_TransitionalPassword`) are preserved on flag-only updates and
37
+ * dropped only when the element is removed.
38
+ *
39
+ * @private
40
+ */
41
+ import { WML_TRANSITIONAL_NAMESPACE } from '../../core/xml/index';
42
+ import { wmlAttr, wmlElement } from '../document/wml';
43
+ var MODELED_PROTECTION_ATTRS = new Set(['edit', 'formatting', 'enforcement']);
44
+ function wmlAttribute(element, localName) {
45
+ var found = element.attributes.find(function (attribute) { return attribute.localName === localName &&
46
+ (attribute.namespaceUri === WML_TRANSITIONAL_NAMESPACE || attribute.namespaceUri === ''); });
47
+ return found == null ? undefined : found.value;
48
+ }
49
+ function parseOnOffAttribute(raw) {
50
+ if (raw === undefined || raw.length === 0) {
51
+ return undefined;
52
+ }
53
+ var normalized = raw.trim().toLowerCase();
54
+ if (normalized === 'true' || normalized === '1' || normalized === 'on') {
55
+ return true;
56
+ }
57
+ if (normalized === 'false' || normalized === '0' || normalized === 'off') {
58
+ return false;
59
+ }
60
+ return undefined;
61
+ }
62
+ function onOffAttribute(localName, value) {
63
+ return wmlAttr(localName, value ? 'true' : 'false');
64
+ }
65
+ function parseProtectionEdit(raw) {
66
+ if (raw === undefined) {
67
+ return undefined;
68
+ }
69
+ switch (raw) {
70
+ case 'none':
71
+ case 'readOnly':
72
+ case 'comments':
73
+ case 'trackedChanges':
74
+ case 'forms':
75
+ return raw;
76
+ default:
77
+ return undefined;
78
+ }
79
+ }
80
+ /**
81
+ * First-class `w:documentProtection` node.
82
+ *
83
+ * Kept public because {@link SettingsPart.documentProtectionNode} returns it (R7.3).
84
+ *
85
+ * @private
86
+ */
87
+ var DocumentProtection = /** @class */ (function () {
88
+ function DocumentProtection(edit, formatting, enforcement, leftoverAttributes, elementChildren, namespaceDeclarations) {
89
+ this.edit = edit;
90
+ this.formatting = formatting;
91
+ this.enforcement = enforcement;
92
+ this.leftoverAttributes = leftoverAttributes;
93
+ this.elementChildren = elementChildren;
94
+ this.namespaceDeclarations = namespaceDeclarations;
95
+ }
96
+ /**
97
+ * @private
98
+ * Parse from a `w:documentProtection` element. */
99
+ DocumentProtection.fromElement = function (element) {
100
+ var leftover = element.attributes.filter(function (attribute) { return !MODELED_PROTECTION_ATTRS.has(attribute.localName); });
101
+ return new DocumentProtection(parseProtectionEdit(wmlAttribute(element, 'edit')), parseOnOffAttribute(wmlAttribute(element, 'formatting')), parseOnOffAttribute(wmlAttribute(element, 'enforcement')), leftover, __spread(element.children), element.namespaceDeclarations);
102
+ };
103
+ /**
104
+ * @private
105
+ * Build from modeled flags only (create path). */
106
+ DocumentProtection.fromFlags = function (flags) {
107
+ return new DocumentProtection(flags.edit, flags.formatting, flags.enforcement, [], [], []);
108
+ };
109
+ /**
110
+ * Snapshot of modeled flags (password/hash attrs omitted).
111
+ *
112
+ * @public
113
+ */
114
+ DocumentProtection.prototype.flags = function () {
115
+ var out = {};
116
+ if (this.edit !== undefined) {
117
+ out.edit = this.edit;
118
+ }
119
+ if (this.formatting !== undefined) {
120
+ out.formatting = this.formatting;
121
+ }
122
+ if (this.enforcement !== undefined) {
123
+ out.enforcement = this.enforcement;
124
+ }
125
+ return out;
126
+ };
127
+ /**
128
+ * Replace modeled flags; leftover password/hash attributes are kept.
129
+ *
130
+ * @private
131
+ */
132
+ DocumentProtection.prototype.applyFlags = function (flags) {
133
+ this.edit = flags.edit;
134
+ this.formatting = flags.formatting;
135
+ this.enforcement = flags.enforcement;
136
+ };
137
+ /**
138
+ * @private
139
+ */
140
+ DocumentProtection.prototype.serialize = function () {
141
+ var modeled = [];
142
+ if (this.edit !== undefined) {
143
+ modeled.push(wmlAttr('edit', this.edit));
144
+ }
145
+ if (this.formatting !== undefined) {
146
+ modeled.push(onOffAttribute('formatting', this.formatting));
147
+ }
148
+ if (this.enforcement !== undefined) {
149
+ modeled.push(onOffAttribute('enforcement', this.enforcement));
150
+ }
151
+ return wmlElement('documentProtection', __assign({ attributes: __spread(modeled, this.leftoverAttributes), children: this.elementChildren }, (this.namespaceDeclarations.length > 0
152
+ ? { namespaceDeclarations: this.namespaceDeclarations }
153
+ : {})));
154
+ };
155
+ return DocumentProtection;
156
+ }());
157
+ export { DocumentProtection };
@@ -0,0 +1,108 @@
1
+ import { WordDocument } from '../document/document';
2
+ import { AttachedTemplate } from './attached-template';
3
+ import { CompatibilityMode } from './compat-settings';
4
+ import { DocumentViewType } from './settings-children';
5
+ import { ZoomSettings, ZoomType } from './zoom';
6
+ /** Minimal SettingsPart surface used by public facades. */
7
+ export interface SettingsPartFacadeHost {
8
+ trackRevisions(): boolean | undefined;
9
+ setTrackRevisions(value: boolean | undefined): void;
10
+ defaultTabStop(): number | undefined;
11
+ setDefaultTabStop(value: number | undefined): void;
12
+ view(): {
13
+ asDocumentViewType(): DocumentViewType | undefined;
14
+ } | undefined;
15
+ setView(value: DocumentViewType | string | undefined): void;
16
+ zoom(): ZoomSettings | undefined;
17
+ setZoom(value: ZoomSettings | undefined): void;
18
+ compatibilityMode(): string | undefined;
19
+ setCompatibilityMode(value: CompatibilityMode | string): void;
20
+ displayBackgroundShape(): boolean | undefined;
21
+ setDisplayBackgroundShape(value: boolean | undefined): void;
22
+ attachedTemplate(): AttachedTemplate | undefined;
23
+ }
24
+ /**
25
+ * Bind SettingsPart accessors from the settings feature entry (call once after
26
+ * `settingsFor` is defined).
27
+ *
28
+ * @private
29
+ */
30
+ export declare function bindDocumentSettingsFacades(deps: {
31
+ settingsFor: (document: WordDocument) => SettingsPartFacadeHost;
32
+ registerSettingsFeature: () => void;
33
+ attachedTemplateTarget: (document: WordDocument) => string | undefined;
34
+ }): void;
35
+ /**
36
+ * Document view and zoom configuration (`w:view`, `w:zoom`).
37
+ *
38
+ * @public
39
+ */
40
+ export declare class ViewSetup {
41
+ private readonly document;
42
+ /**
43
+ * @private
44
+ */
45
+ constructor(document: WordDocument);
46
+ /**
47
+ * Gets or sets the view used when the document is opened in Microsoft Word.
48
+ *
49
+ * @public
50
+ */
51
+ documentViewType: DocumentViewType;
52
+ /**
53
+ * Gets or sets how the document view is fitted in the application window.
54
+ *
55
+ * @public
56
+ */
57
+ zoomType: ZoomType;
58
+ /**
59
+ * Gets or sets the document zoom percentage.
60
+ *
61
+ * @public
62
+ */
63
+ zoomPercent: number;
64
+ }
65
+ /**
66
+ * Focused document compatibility and display settings.
67
+ *
68
+ * @public
69
+ */
70
+ export declare class DocumentSettings {
71
+ private readonly document;
72
+ /**
73
+ * @private
74
+ */
75
+ constructor(document: WordDocument);
76
+ /**
77
+ * Gets or sets the Word compatibility mode for this document.
78
+ *
79
+ * @public
80
+ */
81
+ compatibilityMode: CompatibilityMode;
82
+ /**
83
+ * Gets or sets whether document background shapes are displayed
84
+ * (`w:displayBackgroundShape`).
85
+ *
86
+ * @public
87
+ */
88
+ displayBackgrounds: boolean;
89
+ }
90
+ /**
91
+ * Stable {@link ViewSetup} for `document`.
92
+ *
93
+ * @private
94
+ */
95
+ export declare function viewSetupFor(document: WordDocument): ViewSetup;
96
+ /**
97
+ * Stable {@link DocumentSettings} for `document`.
98
+ *
99
+ * @private
100
+ */
101
+ export declare function documentSettingsFor(document: WordDocument): DocumentSettings;
102
+ /**
103
+ * Install WordDocument property facades for settings-backed members.
104
+ * Idempotent; call from the settings feature entry after binding accessors.
105
+ *
106
+ * @private
107
+ */
108
+ export declare function registerDocumentSettingsFacades(): void;
@@ -0,0 +1,312 @@
1
+ /**
2
+ * Public property facades over SettingsPart: {@link ViewSetup} and
3
+ * {@link DocumentSettings}. Stable per-{@link WordDocument} identity via WeakMap.
4
+ *
5
+ * Linked from `settings/index.ts` after {@link settingsFor} is defined (avoids cycle).
6
+ *
7
+ * @private
8
+ */
9
+ import { InvalidArgumentError } from '../../core/errors/docx-error';
10
+ import { WordDocument } from '../document/document';
11
+ import { CompatibilityMode } from './compat-settings';
12
+ import { DocumentViewType } from './settings-children';
13
+ import { ZoomSettings, ZoomType } from './zoom';
14
+ /** Default `w:view` when the element is absent (Word print layout). */
15
+ var DEFAULT_DOCUMENT_VIEW = DocumentViewType.PrintLayout;
16
+ /** Default zoom percent when `w:zoom` is absent (matches createDefault). */
17
+ var DEFAULT_ZOOM_PERCENT = 100;
18
+ /** Default tab stop in points when `w:defaultTabStop` is absent (0.5 in). */
19
+ var DEFAULT_TAB_STOP_POINTS = 36;
20
+ function requireFiniteNonNegative(name, value) {
21
+ if (typeof value !== 'number' || !Number.isFinite(value) || value < 0) {
22
+ throw new InvalidArgumentError(name + " must be a finite non-negative number");
23
+ }
24
+ }
25
+ function zoomTypeFromWire(wire) {
26
+ if (wire === undefined) {
27
+ return ZoomType.None;
28
+ }
29
+ switch (wire) {
30
+ case 'none':
31
+ return ZoomType.None;
32
+ case 'fullPage':
33
+ return ZoomType.FullPage;
34
+ case 'bestFit':
35
+ return ZoomType.BestFit;
36
+ case 'textFit':
37
+ return ZoomType.TextFit;
38
+ default:
39
+ return ZoomType.None;
40
+ }
41
+ }
42
+ function compatibilityModeFromWire(wire) {
43
+ if (wire === CompatibilityMode.Word2007) {
44
+ return CompatibilityMode.Word2007;
45
+ }
46
+ if (wire === CompatibilityMode.Word2010) {
47
+ return CompatibilityMode.Word2010;
48
+ }
49
+ if (wire === CompatibilityMode.Word2013) {
50
+ return CompatibilityMode.Word2013;
51
+ }
52
+ // Absent or unknown → Word 2013 (createDefault / modern Word default).
53
+ return CompatibilityMode.Word2013;
54
+ }
55
+ var settingsForRef;
56
+ var registerSettingsFeatureRef;
57
+ var attachedTemplateTargetRef;
58
+ /**
59
+ * Bind SettingsPart accessors from the settings feature entry (call once after
60
+ * `settingsFor` is defined).
61
+ *
62
+ * @private
63
+ */
64
+ export function bindDocumentSettingsFacades(deps) {
65
+ settingsForRef = deps.settingsFor;
66
+ registerSettingsFeatureRef = deps.registerSettingsFeature;
67
+ attachedTemplateTargetRef = deps.attachedTemplateTarget;
68
+ }
69
+ function settingsFor(document) {
70
+ if (settingsForRef === undefined) {
71
+ throw new InvalidArgumentError('Document settings facades are not bound; load @syncfusion/ej2-docx settings feature first');
72
+ }
73
+ return settingsForRef(document);
74
+ }
75
+ /**
76
+ * Document view and zoom configuration (`w:view`, `w:zoom`).
77
+ *
78
+ * @public
79
+ */
80
+ var ViewSetup = /** @class */ (function () {
81
+ /**
82
+ * @private
83
+ */
84
+ function ViewSetup(document) {
85
+ this.document = document;
86
+ }
87
+ Object.defineProperty(ViewSetup.prototype, "documentViewType", {
88
+ /**
89
+ * Gets or sets the view used when the document is opened in Microsoft Word.
90
+ *
91
+ * @public
92
+ */
93
+ get: function () {
94
+ var view = settingsFor(this.document).view();
95
+ if (view === undefined) {
96
+ return DEFAULT_DOCUMENT_VIEW;
97
+ }
98
+ var known = view.asDocumentViewType();
99
+ return known === undefined ? DEFAULT_DOCUMENT_VIEW : known;
100
+ },
101
+ set: function (value) {
102
+ settingsFor(this.document).setView(value);
103
+ },
104
+ enumerable: true,
105
+ configurable: true
106
+ });
107
+ Object.defineProperty(ViewSetup.prototype, "zoomType", {
108
+ /**
109
+ * Gets or sets how the document view is fitted in the application window.
110
+ *
111
+ * @public
112
+ */
113
+ get: function () {
114
+ var zoom = settingsFor(this.document).zoom();
115
+ return zoomTypeFromWire(zoom === undefined ? undefined : zoom.type());
116
+ },
117
+ set: function (value) {
118
+ var part = settingsFor(this.document);
119
+ var existing = part.zoom();
120
+ if (existing === undefined) {
121
+ part.setZoom(ZoomSettings.create(DEFAULT_ZOOM_PERCENT, value));
122
+ return;
123
+ }
124
+ existing.setType(value);
125
+ part.setZoom(existing);
126
+ },
127
+ enumerable: true,
128
+ configurable: true
129
+ });
130
+ Object.defineProperty(ViewSetup.prototype, "zoomPercent", {
131
+ /**
132
+ * Gets or sets the document zoom percentage.
133
+ *
134
+ * @public
135
+ */
136
+ get: function () {
137
+ var zoom = settingsFor(this.document).zoom();
138
+ if (zoom === undefined) {
139
+ return DEFAULT_ZOOM_PERCENT;
140
+ }
141
+ var percent = zoom.percent();
142
+ return percent === undefined ? DEFAULT_ZOOM_PERCENT : percent;
143
+ },
144
+ set: function (value) {
145
+ requireFiniteNonNegative('zoomPercent', value);
146
+ var part = settingsFor(this.document);
147
+ var existing = part.zoom();
148
+ if (existing === undefined) {
149
+ part.setZoom(ZoomSettings.create(value, ZoomType.None));
150
+ return;
151
+ }
152
+ existing.setPercent(value);
153
+ part.setZoom(existing);
154
+ },
155
+ enumerable: true,
156
+ configurable: true
157
+ });
158
+ return ViewSetup;
159
+ }());
160
+ export { ViewSetup };
161
+ /**
162
+ * Focused document compatibility and display settings.
163
+ *
164
+ * @public
165
+ */
166
+ var DocumentSettings = /** @class */ (function () {
167
+ /**
168
+ * @private
169
+ */
170
+ function DocumentSettings(document) {
171
+ this.document = document;
172
+ }
173
+ Object.defineProperty(DocumentSettings.prototype, "compatibilityMode", {
174
+ /**
175
+ * Gets or sets the Word compatibility mode for this document.
176
+ *
177
+ * @public
178
+ */
179
+ get: function () {
180
+ return compatibilityModeFromWire(settingsFor(this.document).compatibilityMode());
181
+ },
182
+ set: function (value) {
183
+ settingsFor(this.document).setCompatibilityMode(value);
184
+ },
185
+ enumerable: true,
186
+ configurable: true
187
+ });
188
+ Object.defineProperty(DocumentSettings.prototype, "displayBackgrounds", {
189
+ /**
190
+ * Gets or sets whether document background shapes are displayed
191
+ * (`w:displayBackgroundShape`).
192
+ *
193
+ * @public
194
+ */
195
+ get: function () {
196
+ var value = settingsFor(this.document).displayBackgroundShape();
197
+ return value === true;
198
+ },
199
+ set: function (value) {
200
+ // Omission represents the default (false); remove the element when false.
201
+ settingsFor(this.document).setDisplayBackgroundShape(value ? true : undefined);
202
+ },
203
+ enumerable: true,
204
+ configurable: true
205
+ });
206
+ return DocumentSettings;
207
+ }());
208
+ export { DocumentSettings };
209
+ var viewSetups = new WeakMap();
210
+ var documentSettingsMap = new WeakMap();
211
+ /**
212
+ * Stable {@link ViewSetup} for `document`.
213
+ *
214
+ * @private
215
+ */
216
+ export function viewSetupFor(document) {
217
+ if (registerSettingsFeatureRef !== undefined) {
218
+ registerSettingsFeatureRef();
219
+ }
220
+ var cached = viewSetups.get(document);
221
+ if (cached !== undefined) {
222
+ return cached;
223
+ }
224
+ var setup = new ViewSetup(document);
225
+ viewSetups.set(document, setup);
226
+ return setup;
227
+ }
228
+ /**
229
+ * Stable {@link DocumentSettings} for `document`.
230
+ *
231
+ * @private
232
+ */
233
+ export function documentSettingsFor(document) {
234
+ if (registerSettingsFeatureRef !== undefined) {
235
+ registerSettingsFeatureRef();
236
+ }
237
+ var cached = documentSettingsMap.get(document);
238
+ if (cached !== undefined) {
239
+ return cached;
240
+ }
241
+ var settings = new DocumentSettings(document);
242
+ documentSettingsMap.set(document, settings);
243
+ return settings;
244
+ }
245
+ var facadesRegistered = false;
246
+ /**
247
+ * Install WordDocument property facades for settings-backed members.
248
+ * Idempotent; call from the settings feature entry after binding accessors.
249
+ *
250
+ * @private
251
+ */
252
+ export function registerDocumentSettingsFacades() {
253
+ if (facadesRegistered) {
254
+ return;
255
+ }
256
+ facadesRegistered = true;
257
+ if (registerSettingsFeatureRef !== undefined) {
258
+ registerSettingsFeatureRef();
259
+ }
260
+ Object.defineProperty(WordDocument.prototype, 'viewSetup', {
261
+ configurable: true,
262
+ enumerable: false,
263
+ get: function () {
264
+ return viewSetupFor(this);
265
+ },
266
+ });
267
+ Object.defineProperty(WordDocument.prototype, 'settings', {
268
+ configurable: true,
269
+ enumerable: false,
270
+ get: function () {
271
+ return documentSettingsFor(this);
272
+ },
273
+ });
274
+ Object.defineProperty(WordDocument.prototype, 'trackRevisions', {
275
+ configurable: true,
276
+ enumerable: false,
277
+ get: function () {
278
+ return settingsFor(this).trackRevisions() === true;
279
+ },
280
+ set: function (value) {
281
+ // Omission represents default off.
282
+ settingsFor(this).setTrackRevisions(value ? true : undefined);
283
+ },
284
+ });
285
+ Object.defineProperty(WordDocument.prototype, 'defaultTabStop', {
286
+ configurable: true,
287
+ enumerable: false,
288
+ get: function () {
289
+ var value = settingsFor(this).defaultTabStop();
290
+ return value === undefined ? DEFAULT_TAB_STOP_POINTS : value;
291
+ },
292
+ set: function (value) {
293
+ requireFiniteNonNegative('defaultTabStop', value);
294
+ settingsFor(this).setDefaultTabStop(value);
295
+ },
296
+ });
297
+ Object.defineProperty(WordDocument.prototype, 'attachedTemplate', {
298
+ configurable: true,
299
+ enumerable: false,
300
+ get: function () {
301
+ var template = settingsFor(this).attachedTemplate();
302
+ if (template === undefined) {
303
+ return undefined;
304
+ }
305
+ // Resolve relationship target when available (read-only surface).
306
+ if (attachedTemplateTargetRef !== undefined) {
307
+ void attachedTemplateTargetRef(this);
308
+ }
309
+ return template;
310
+ },
311
+ });
312
+ }
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Simple typed wrappers for `w:defaultTabStop` and `w:characterSpacingControl`
3
+ * (`CT_TwipsMeasure` and `ST_CharacterSpacing`, Transitional `wml.xsd`).
4
+ *
5
+ * @private
6
+ */
7
+ import { OpenXmlElement } from '../../core/xml/index';
8
+ /**
9
+ * `ST_CharacterSpacing` values from Transitional `wml.xsd`.
10
+ *
11
+ * - `doNotCompress` — no compression
12
+ * - `compressPunctuation` — compress punctuation
13
+ * - `compressPunctuationAndJapaneseKana` — compress both
14
+ *
15
+ * @public
16
+ */
17
+ export declare type CharacterSpacingControl = 'doNotCompress' | 'compressPunctuation' | 'compressPunctuationAndJapaneseKana';
18
+ /**
19
+ * Parse `w:defaultTabStop/@w:val` (`ST_TwipsMeasure` on the wire) into plain points.
20
+ * Returns `undefined` when missing or non-numeric.
21
+ *
22
+ * @private
23
+ */
24
+ export declare function parseDefaultTabStop(element: OpenXmlElement): number | undefined;
25
+ /**
26
+ * Serialize `w:defaultTabStop` from a plain points value (writes twips on the wire).
27
+ *
28
+ * @private
29
+ */
30
+ export declare function serializeDefaultTabStop(value: number): OpenXmlElement;
31
+ /**
32
+ * Parse `w:characterSpacingControl/@w:val`.
33
+ * Returns `undefined` when missing or not a recognised value.
34
+ *
35
+ * @private
36
+ */
37
+ export declare function parseCharacterSpacingControl(element: OpenXmlElement): CharacterSpacingControl | undefined;
38
+ /**
39
+ * Serialize `w:characterSpacingControl` from a value.
40
+ *
41
+ * @private
42
+ */
43
+ export declare function serializeCharacterSpacingControl(value: CharacterSpacingControl): OpenXmlElement;