@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,821 @@
1
+ import { WordDocument, Body } from '../document/document';
2
+ import { FeatureBlock } from '../document/feature-block';
3
+ import { FeatureInline } from '../document/feature-inline';
4
+ import { Paragraph, BlockContent, ParagraphOwner } from '../document/paragraph';
5
+ import { BodyItem, BlockContentControlBodyItem } from '../document/body-item';
6
+ import { CharacterFormat, CharacterFormatHost } from '../document/character-format';
7
+ import { Color } from '../document/color';
8
+ import { EntityType } from '../document/entity-type';
9
+ import { LocaleIDs } from '../document/locale-ids';
10
+ import { ParagraphItemCollection, ParagraphItemCollectionHost } from '../document/paragraph-item-collection';
11
+ import { ParagraphItem, ParagraphItemOwner } from '../document/paragraph-item';
12
+ import { ConcreteParagraphItem, FeatureInlineParagraphItem, TextRange } from '../document/text-range';
13
+ import { FeatureInlineContent } from '../../core/registry/inline-handlers';
14
+ import { NamespaceDeclaration, OpenXmlAttribute, OpenXmlElement } from '../../core/xml/index';
15
+ declare const CONTENT_CONTROLS: import("../../core/registry").FeatureId;
16
+ /**
17
+ * @private
18
+ * [MS-DOCX] WordprocessingML 2010 extension namespace
19
+ * (`http://schemas.microsoft.com/office/word/2010/wordml`) — checkbox / `w14`.
20
+ */
21
+ export declare const WORDML_2010_NAMESPACE = "http://schemas.microsoft.com/office/word/2010/wordml";
22
+ /**
23
+ * @private
24
+ * [MS-DOCX] WordprocessingML 2012 extension namespace
25
+ * (`http://schemas.microsoft.com/office/word/2012/wordml`) — appearance / color.
26
+ */
27
+ export declare const WORDML_2012_NAMESPACE = "http://schemas.microsoft.com/office/word/2012/wordml";
28
+ /** Internal SDT lock wire values (`ST_Lock`). @private */
29
+ declare type LockWireValue = 'sdtLocked' | 'contentLocked' | 'unlocked' | 'sdtContentLocked';
30
+ /**
31
+ * Authorable content-control kinds (customer public surface).
32
+ *
33
+ * Non-authorable kinds from load (equation, group, …) are preserved via residual XML.
34
+ *
35
+ * @public
36
+ */
37
+ export declare type ContentControlType = 'richText' | 'plainText' | 'picture' | 'comboBox' | 'dropDownList' | 'date' | 'checkbox';
38
+ /**
39
+ * Runtime values for {@link ContentControlType}.
40
+ * @public
41
+ */
42
+ export declare const ContentControlType: {
43
+ readonly RichText: 'richText';
44
+ readonly Text: 'plainText';
45
+ readonly Picture: 'picture';
46
+ readonly ComboBox: 'comboBox';
47
+ readonly DropDownList: 'dropDownList';
48
+ readonly Date: 'date';
49
+ readonly CheckBox: 'checkbox';
50
+ };
51
+ /**
52
+ * [MS-DOCX] `ST_SdtAppearance` — `w15:appearance/@w15:val`.
53
+ * @public
54
+ */
55
+ export declare type ContentControlAppearance = 'boundingBox' | 'tags' | 'hidden';
56
+ /**
57
+ * Runtime values for {@link ContentControlAppearance}.
58
+ * @public
59
+ */
60
+ export declare const ContentControlAppearance: {
61
+ readonly BoundingBox: 'boundingBox';
62
+ readonly Tags: 'tags';
63
+ readonly Hidden: 'hidden';
64
+ };
65
+ /**
66
+ * Calendar systems for date content controls (`w:calendar/@w:val`).
67
+ * @public
68
+ */
69
+ export declare type CalendarType = 'gregorian' | 'hijri' | 'hebrew' | 'taiwan' | 'japan' | 'thai' | 'korea' | 'saka' | 'gregorianArabic' | 'gregorianMiddleEastFrench' | 'gregorianTransliteratedEnglish' | 'gregorianTransliteratedFrench' | 'gregorianUsLocale';
70
+ /**
71
+ * Runtime values for {@link CalendarType}.
72
+ * @public
73
+ */
74
+ export declare const CalendarType: {
75
+ readonly Gregorian: 'gregorian';
76
+ readonly Hijri: 'hijri';
77
+ readonly Hebrew: 'hebrew';
78
+ readonly Taiwan: 'taiwan';
79
+ readonly Japan: 'japan';
80
+ readonly Thai: 'thai';
81
+ readonly Korea: 'korea';
82
+ readonly Saka: 'saka';
83
+ readonly GregorianArabic: 'gregorianArabic';
84
+ readonly GregorianMiddleEastFrench: 'gregorianMiddleEastFrench';
85
+ readonly GregorianTransliteratedEnglish: 'gregorianTransliteratedEnglish';
86
+ readonly GregorianTransliteratedFrench: 'gregorianTransliteratedFrench';
87
+ readonly GregorianUsLocale: 'gregorianUsLocale';
88
+ };
89
+ /**
90
+ * How mapped date data is stored (`ST_SdtDateMappingType`).
91
+ * @public
92
+ */
93
+ export declare type ContentControlDateStorageFormat = 'date' | 'dateTime' | 'text';
94
+ /**
95
+ * Runtime values for {@link ContentControlDateStorageFormat}.
96
+ * @public
97
+ */
98
+ export declare const ContentControlDateStorageFormat: {
99
+ readonly DateStorageDate: 'date';
100
+ readonly DateStorageDateTime: 'dateTime';
101
+ readonly DateStorageText: 'text';
102
+ };
103
+ /**
104
+ * Checkbox symbol (`w14:checkedState` / `w14:uncheckedState`) — mutable stable identity.
105
+ * @public
106
+ */
107
+ export declare class ContentControlCheckBoxState {
108
+ private fontValue;
109
+ private valueValue;
110
+ private onChange;
111
+ /** @private */
112
+ constructor(init?: {
113
+ readonly font?: string;
114
+ readonly value?: string;
115
+ });
116
+ /** @private */
117
+ bind(onChange: () => void): void;
118
+ private dirty;
119
+ /** Font name for the checkbox glyph. @public */
120
+ font: string | undefined;
121
+ /** Glyph code point / short-hex value. @public */
122
+ value: string | undefined;
123
+ }
124
+ /**
125
+ * Combo-box or drop-down list entry.
126
+ * @public
127
+ */
128
+ export declare class ContentControlListItem {
129
+ private displayTextValue;
130
+ private valueValue;
131
+ private onChange;
132
+ /** @public */
133
+ constructor();
134
+ /** @private */
135
+ bind(onChange: () => void): void;
136
+ private dirty;
137
+ /** Display label. @public */
138
+ displayText: string | undefined;
139
+ /** Stored value. @public */
140
+ value: string | undefined;
141
+ }
142
+ /**
143
+ * Mutable list of {@link ContentControlListItem} with stable identity.
144
+ * @public
145
+ */
146
+ export declare class ContentControlListItemCollection {
147
+ private readonly items;
148
+ private onChange;
149
+ /** @private */
150
+ constructor(items?: ReadonlyArray<ContentControlListItem>);
151
+ /** @private */
152
+ bind(onChange: () => void): void;
153
+ private dirty;
154
+ /** Number of list items. @public */
155
+ readonly count: number;
156
+ /** Item at zero-based index. @public */
157
+ getItem(index: number): ContentControlListItem;
158
+ /** Snapshot array (copy). @public */
159
+ toArray(): ContentControlListItem[];
160
+ /** Add a list item. @public */
161
+ add(item: ContentControlListItem): void;
162
+ /** Remove all items. @public */
163
+ clear(): void;
164
+ /** @private */
165
+ asReadonly(): ReadonlyArray<ContentControlListItem>;
166
+ }
167
+ /**
168
+ * Custom XML data binding metadata from `w:sdtPr/w:dataBinding`.
169
+ *
170
+ * @private
171
+ */
172
+ export interface ContentControlDataBinding {
173
+ readonly prefixMappings: string | undefined;
174
+ readonly xpath: string;
175
+ readonly storeItemID: string;
176
+ }
177
+ /** @private */
178
+ interface ContentControlPropertiesOwner {
179
+ markSdtPrDirty(): void;
180
+ synchronizeCheckboxContent(): void;
181
+ }
182
+ /**
183
+ * Structured document tag properties (`w:sdtPr`).
184
+ *
185
+ * @public
186
+ */
187
+ export declare class ContentControlProperties {
188
+ private tagValue;
189
+ private titleValue;
190
+ /** @private */
191
+ private idValue;
192
+ private lockContentControlValue;
193
+ private lockContentsValue;
194
+ /** @private */
195
+ private placeholderDocPartValue;
196
+ /** @private */
197
+ private dataBindingValue;
198
+ private typeValue;
199
+ private temporaryValue;
200
+ private appearanceValue;
201
+ private colorValue;
202
+ private themeColorValue;
203
+ private themeTintValue;
204
+ private themeShadeValue;
205
+ private isCheckedValue;
206
+ private readonly checkedStateValue;
207
+ private readonly uncheckedStateValue;
208
+ private fullDateValue;
209
+ private dateDisplayFormatValue;
210
+ private dateDisplayLocaleValue;
211
+ private dateStorageFormatValue;
212
+ private dateCalendarTypeValue;
213
+ private readonly contentControlListItemsValue;
214
+ private lastValueValue;
215
+ private multilineValue;
216
+ /** @private */
217
+ private residualChildrenValue;
218
+ private leftoverAttributesValue;
219
+ private namespaceDeclarationsValue;
220
+ private owner;
221
+ /**
222
+ * @private
223
+ */
224
+ constructor(init?: {
225
+ readonly tag?: string;
226
+ readonly title?: string;
227
+ readonly id?: number;
228
+ readonly lock?: LockWireValue;
229
+ readonly lockContentControl?: boolean;
230
+ readonly lockContents?: boolean;
231
+ readonly placeholderDocPart?: string;
232
+ readonly dataBinding?: ContentControlDataBinding;
233
+ readonly type?: ContentControlType;
234
+ readonly temporary?: boolean;
235
+ readonly appearance?: ContentControlAppearance;
236
+ readonly color?: Color;
237
+ readonly themeColor?: string;
238
+ readonly themeTint?: string;
239
+ readonly themeShade?: string;
240
+ readonly isChecked?: boolean;
241
+ readonly checkedState?: ContentControlCheckBoxState;
242
+ readonly uncheckedState?: ContentControlCheckBoxState;
243
+ readonly fullDate?: string;
244
+ readonly dateDisplayFormat?: string;
245
+ readonly dateDisplayLocale?: LocaleIDs;
246
+ readonly dateStorageFormat?: ContentControlDateStorageFormat;
247
+ readonly dateCalendarType?: CalendarType;
248
+ readonly listItems?: ReadonlyArray<ContentControlListItem>;
249
+ readonly lastValue?: string;
250
+ readonly multiline?: boolean;
251
+ readonly residualChildren?: ReadonlyArray<OpenXmlElement>;
252
+ readonly leftoverAttributes?: ReadonlyArray<OpenXmlAttribute>;
253
+ readonly namespaceDeclarations?: ReadonlyArray<NamespaceDeclaration>;
254
+ });
255
+ /**
256
+ * @private
257
+ * Bind owning control so property sets rebuild `sdtPr` on save.
258
+ */
259
+ bindOwner(owner: ContentControlPropertiesOwner): void;
260
+ private markDirty;
261
+ /**
262
+ * Drop type-specific payloads that do not belong to `type`.
263
+ */
264
+ private clearPayloadsForType;
265
+ /**
266
+ * Gets or sets the programmatic tag used to identify this content control in code.
267
+ *
268
+ * If undefined, no tag is explicitly specified.
269
+ *
270
+ * @public
271
+ */
272
+ tag: string | undefined;
273
+ /**
274
+ * Gets or sets the friendly display name shown as the content-control title in Word.
275
+ *
276
+ * If undefined, no title is explicitly specified.
277
+ *
278
+ * @public
279
+ */
280
+ title: string | undefined;
281
+ /**
282
+ * @private
283
+ * Numeric id (`w:sdtPr/w:id/@w:val`). Preserve-only identity from load or
284
+ * author options — not a general post-create editing knob.
285
+ */
286
+ readonly id: number | undefined;
287
+ /**
288
+ * Gets or sets whether the content-control definition is locked.
289
+ * @public
290
+ */
291
+ lockContentControl: boolean;
292
+ /**
293
+ * Gets or sets whether the content inside the control is locked.
294
+ * @public
295
+ */
296
+ lockContents: boolean;
297
+ /**
298
+ * @private
299
+ * Combined ST_Lock wire value for serialize.
300
+ */
301
+ readonly lockWire: LockWireValue | undefined;
302
+ /**
303
+ * @private
304
+ * Placeholder document-part name
305
+ * (`w:sdtPr/w:placeholder/w:docPart/@w:val`).
306
+ */
307
+ placeholderDocPart: string | undefined;
308
+ /**
309
+ * @private
310
+ * Custom XML data binding metadata. Detect/preserve only — never resolved
311
+ * against a store or network; no public setter.
312
+ */
313
+ readonly dataBinding: ContentControlDataBinding | undefined;
314
+ /**
315
+ * Gets or sets the content-control kind.
316
+ * @public
317
+ */
318
+ type: ContentControlType | undefined;
319
+ /**
320
+ * Gets or sets whether the control is removed after contents are edited once (`w:temporary`).
321
+ * @public
322
+ */
323
+ isTemporary: boolean;
324
+ /**
325
+ * @private Compatibility alias for load/serialize paths that used `temporary`.
326
+ */
327
+ temporary: boolean;
328
+ /**
329
+ * Gets or sets how the control chrome is shown.
330
+ * @public
331
+ */
332
+ appearance: ContentControlAppearance | undefined;
333
+ /**
334
+ * Gets or sets the border/chrome color (`Color` API).
335
+ * @public
336
+ */
337
+ color: Color | undefined;
338
+ /** @private */
339
+ readonly themeColor: string | undefined;
340
+ /** @private */
341
+ readonly themeTint: string | undefined;
342
+ /** @private */
343
+ readonly themeShade: string | undefined;
344
+ /**
345
+ * Gets or sets whether a checkbox control is checked.
346
+ * @public
347
+ */
348
+ isChecked: boolean;
349
+ /**
350
+ * Checked-state symbol (stable identity).
351
+ * @public
352
+ */
353
+ readonly checkedState: ContentControlCheckBoxState;
354
+ /**
355
+ * Unchecked-state symbol (stable identity).
356
+ * @public
357
+ */
358
+ readonly uncheckedState: ContentControlCheckBoxState;
359
+ /**
360
+ * Full date/time stored value.
361
+ * @public
362
+ */
363
+ fullDate: string | undefined;
364
+ /**
365
+ * Display format pattern for the date.
366
+ * @public
367
+ */
368
+ dateDisplayFormat: string | undefined;
369
+ /**
370
+ * Locale used for date display.
371
+ * @public
372
+ */
373
+ dateDisplayLocale: LocaleIDs | undefined;
374
+ /**
375
+ * How mapped date data is stored.
376
+ * @public
377
+ */
378
+ dateStorageFormat: ContentControlDateStorageFormat | undefined;
379
+ /**
380
+ * Calendar system for the date control.
381
+ * @public
382
+ */
383
+ dateCalendarType: CalendarType | undefined;
384
+ /**
385
+ * Combo-box / drop-down list items (stable identity).
386
+ * @public
387
+ */
388
+ readonly contentControlListItems: ContentControlListItemCollection;
389
+ /**
390
+ * Last selected list value.
391
+ * @public
392
+ */
393
+ lastValue: string | undefined;
394
+ /**
395
+ * Whether a plain-text control accepts multiple lines (`w:text/@w:multiLine`).
396
+ * @public
397
+ */
398
+ multiline: boolean | undefined;
399
+ /**
400
+ * @private
401
+ * Unmodeled `sdtPr` children (including extra kind markers). */
402
+ readonly residualChildren: ReadonlyArray<OpenXmlElement>;
403
+ /**
404
+ * @private
405
+ * Leftover attributes on `sdtPr` itself. */
406
+ readonly leftoverAttributes: ReadonlyArray<OpenXmlAttribute>;
407
+ /**
408
+ * @private
409
+ * Namespace declarations on `sdtPr`. */
410
+ readonly namespaceDeclarations: ReadonlyArray<NamespaceDeclaration>;
411
+ }
412
+ declare type ContentControlInlineItem = {
413
+ readonly type: 'textRange';
414
+ readonly run: TextRange;
415
+ } | {
416
+ readonly type: 'opaque';
417
+ readonly xml: OpenXmlElement;
418
+ } | FeatureInlineContent;
419
+ /**
420
+ * Structured document tag (`w:sdt`) base — shared properties, facades, and
421
+ * serialize hooks for block and inline content controls.
422
+ *
423
+ * Prefer {@link BlockContentControl} / {@link InlineContentControl} for new
424
+ * code. This class remains the shared base and legacy facade surface.
425
+ *
426
+ * @public
427
+ */
428
+ export declare class ContentControl implements FeatureInline, FeatureBlock, ContentControlPropertiesOwner, CharacterFormatHost {
429
+ /**
430
+ * Marks this instance as a block-level body content control when present on the body surface.
431
+ * Satisfies {@link BlockContentControlBodyItem} for direct {@link BodyItem} assignability.
432
+ */
433
+ readonly isBlockLevel?: boolean;
434
+ /**
435
+ * Typed `w:sdtPr` view. Always present after construction for authoring;
436
+ * load path may start without modeled properties until ensureProperties.
437
+ */
438
+ private propertiesValue;
439
+ /** Raw load-path `sdtPr` when present — preferred for lossless rewrite. */
440
+ private readonly sdtPr;
441
+ private sdtEndPrRaw;
442
+ private readonly preservedXml;
443
+ private documentOwner;
444
+ /** When true, rebuild `sdtPr` from {@link properties} (author / dirty path). */
445
+ private rebuildSdtPr;
446
+ /** When true, rebuild `sdtEndPr` from {@link breakCharacterFormat}. */
447
+ private rebuildSdtEndPr;
448
+ private readonly breakCharacterFormatInstance;
449
+ private breakFormatDirty;
450
+ /**
451
+ * @private
452
+ */
453
+ constructor(properties: ContentControlProperties | undefined, sdtPr: OpenXmlElement | undefined, sdtEndPr: OpenXmlElement | undefined, preservedXml: OpenXmlElement | undefined, rebuildSdtPr?: boolean);
454
+ /**
455
+ * Always-defined typed property bag (created on first access when missing).
456
+ *
457
+ * @public
458
+ */
459
+ readonly contentControlProperties: ContentControlProperties;
460
+ /**
461
+ * Gets the typed property bag for this content control.
462
+ *
463
+ * @public
464
+ */
465
+ readonly properties: ContentControlProperties | undefined;
466
+ /**
467
+ * Character formatting for the SDT end mark (`w:sdtEndPr/w:rPr`).
468
+ *
469
+ * @public
470
+ */
471
+ readonly breakCharacterFormat: CharacterFormat;
472
+ /**
473
+ * @private
474
+ */
475
+ notifyCharacterFormatMutation(): void;
476
+ private hydrateBreakCharacterFormat;
477
+ private serializeSdtEndPr;
478
+ /**
479
+ * @private
480
+ * Prefer modeled rebuild after any user-facing property write.
481
+ */
482
+ markSdtPrDirty(): void;
483
+ /** @private */
484
+ synchronizeCheckboxContent(): void;
485
+ /**
486
+ * Ensure a properties bag exists so facade setters can write fields on
487
+ * controls that loaded without a complete `sdtPr` model.
488
+ */
489
+ protected ensureProperties(): ContentControlProperties;
490
+ /**
491
+ * Gets or sets the friendly display name shown as the content-control title in Word.
492
+ *
493
+ * @public
494
+ */
495
+ title: string | undefined;
496
+ /**
497
+ * Gets or sets the programmatic tag used to identify this content control in code.
498
+ *
499
+ * @public
500
+ */
501
+ tag: string | undefined;
502
+ /**
503
+ * Gets or sets whether the content-control definition is locked.
504
+ *
505
+ * @public
506
+ */
507
+ lockContentControl: boolean;
508
+ /**
509
+ * Gets or sets whether the content inside the control is locked.
510
+ *
511
+ * @public
512
+ */
513
+ lockContents: boolean;
514
+ /**
515
+ * Gets or sets the placeholder document-part name used when the control shows placeholder content.
516
+ *
517
+ * @public
518
+ */
519
+ placeholderText: string | undefined;
520
+ /**
521
+ * Gets or sets the content-control kind.
522
+ *
523
+ * @public
524
+ */
525
+ type: ContentControlType | undefined;
526
+ /**
527
+ * Gets or sets whether the control is removed after its contents are edited once.
528
+ *
529
+ * @public
530
+ */
531
+ isTemporary: boolean;
532
+ /**
533
+ * Gets or sets how the control chrome is shown.
534
+ *
535
+ * @public
536
+ */
537
+ appearance: ContentControlAppearance | undefined;
538
+ /**
539
+ * Gets or sets the border/chrome color for the content control.
540
+ *
541
+ * @public
542
+ */
543
+ color: Color | undefined;
544
+ /**
545
+ * Gets or sets whether a checkbox control is checked.
546
+ *
547
+ * @public
548
+ */
549
+ isChecked: boolean;
550
+ /**
551
+ * Checked-state symbol (stable identity).
552
+ *
553
+ * @public
554
+ */
555
+ readonly checkedState: ContentControlCheckBoxState;
556
+ /**
557
+ * Unchecked-state symbol (stable identity).
558
+ *
559
+ * @public
560
+ */
561
+ readonly uncheckedState: ContentControlCheckBoxState;
562
+ /**
563
+ * Full date/time stored value.
564
+ *
565
+ * @public
566
+ */
567
+ fullDate: string | undefined;
568
+ /**
569
+ * Display format pattern for the date.
570
+ *
571
+ * @public
572
+ */
573
+ dateDisplayFormat: string | undefined;
574
+ /**
575
+ * Locale used for date display.
576
+ *
577
+ * @public
578
+ */
579
+ dateDisplayLocale: LocaleIDs | undefined;
580
+ /**
581
+ * How mapped date data is stored.
582
+ *
583
+ * @public
584
+ */
585
+ dateStorageFormat: ContentControlDateStorageFormat | undefined;
586
+ /**
587
+ * Calendar system for the date control.
588
+ *
589
+ * @public
590
+ */
591
+ dateCalendarType: CalendarType | undefined;
592
+ /**
593
+ * Combo-box / drop-down list items (stable identity).
594
+ *
595
+ * @public
596
+ */
597
+ readonly contentControlListItems: ContentControlListItemCollection;
598
+ /**
599
+ * Gets or sets the last selected value for a combo-box or drop-down list control.
600
+ *
601
+ * @public
602
+ */
603
+ lastValue: string | undefined;
604
+ /**
605
+ * Gets or sets whether a plain-text content control accepts multiple lines of text.
606
+ *
607
+ * @public
608
+ */
609
+ multiline: boolean | undefined;
610
+ /**
611
+ * Compatibility: block children projected as BodyItem[] (block controls only).
612
+ *
613
+ * @public
614
+ */
615
+ readonly blockContentControl: ReadonlyArray<BodyItem> | undefined;
616
+ /**
617
+ * Compatibility: inline bag children (inline controls only).
618
+ *
619
+ * @public
620
+ */
621
+ readonly inlineContentControl: ReadonlyArray<ContentControlInlineItem> | undefined;
622
+ /**
623
+ * @private
624
+ */
625
+ releaseContent(): void;
626
+ /**
627
+ * @private
628
+ * Bind owning document so nested content can mutate.
629
+ */
630
+ bindDocument(document: WordDocument): void;
631
+ /**
632
+ * @private
633
+ */
634
+ owningDocument(): WordDocument;
635
+ /**
636
+ * @private
637
+ */
638
+ protected buildSdtShell(contentChildren: OpenXmlElement[]): OpenXmlElement;
639
+ /**
640
+ * @private
641
+ */
642
+ toOpenXml(): OpenXmlElement;
643
+ }
644
+ /**
645
+ * Block-level structured document tag (`w:sdt` / `CT_SdtBlock`).
646
+ *
647
+ * Owns a nested {@link Body} whose {@link Body.items} are the live DOM for
648
+ * `w:sdtContent` children. Public identity is this instance (BodyItem).
649
+ *
650
+ * @public
651
+ */
652
+ export declare class BlockContentControl extends ContentControl implements BlockContentControlBodyItem, ParagraphOwner {
653
+ readonly isBlockLevel: true;
654
+ private readonly bodyInstance;
655
+ /**
656
+ * @private
657
+ */
658
+ constructor(properties: ContentControlProperties | undefined, sdtPr: OpenXmlElement | undefined, sdtEndPr: OpenXmlElement | undefined, blocks: BlockContent[] | undefined, preservedXml: OpenXmlElement | undefined, rebuildSdtPr?: boolean, document?: WordDocument);
659
+ /**
660
+ * Nested body for block content-control children (`w:sdtContent`).
661
+ *
662
+ * @public
663
+ */
664
+ readonly body: Body;
665
+ /**
666
+ * Projected public children (compat with prior APIs).
667
+ *
668
+ * @public
669
+ */
670
+ readonly blockContentControl: ReadonlyArray<BodyItem>;
671
+ /**
672
+ * @private
673
+ */
674
+ releaseContent(): void;
675
+ /**
676
+ * @private
677
+ */
678
+ bindDocument(document: WordDocument): void;
679
+ /**
680
+ * @private
681
+ */
682
+ assertAttachedParagraph(target: Paragraph): void;
683
+ /**
684
+ * @private
685
+ */
686
+ toOpenXml(): OpenXmlElement;
687
+ }
688
+ /**
689
+ * Inline (run-level) structured document tag (`w:sdt` / `CT_SdtRun`).
690
+ *
691
+ * Owns a {@link ParagraphItemCollection} for `w:sdtContent` children.
692
+ * Projected as a public paragraph item via EntityType unwrap.
693
+ *
694
+ * @public
695
+ */
696
+ export declare class InlineContentControl extends ContentControl implements FeatureInline, ParagraphItemOwner, ParagraphItemCollectionHost {
697
+ /**
698
+ * Discriminator for paragraph-item projection (`projectPublicItem`).
699
+ *
700
+ * @public
701
+ */
702
+ readonly entityType: EntityType.InlineContentControl;
703
+ private readonly paragraphItemsInstance;
704
+ private itemOwner;
705
+ /**
706
+ * @private
707
+ */
708
+ constructor(properties: ContentControlProperties | undefined, sdtPr: OpenXmlElement | undefined, sdtEndPr: OpenXmlElement | undefined, initialItems: ReadonlyArray<ConcreteParagraphItem> | undefined, preservedXml: OpenXmlElement | undefined, rebuildSdtPr?: boolean);
709
+ /**
710
+ * Live paragraph items inside this inline content control.
711
+ *
712
+ * @public
713
+ */
714
+ readonly paragraphItems: ParagraphItemCollection;
715
+ /**
716
+ * Compatibility bags for legacy tests (`{ type:'textRange', run }`).
717
+ *
718
+ * @public
719
+ */
720
+ readonly inlineContentControl: ReadonlyArray<ContentControlInlineItem>;
721
+ /**
722
+ * @private
723
+ */
724
+ readonly owner: ParagraphItemOwner | undefined;
725
+ /**
726
+ * @private
727
+ */
728
+ attach(owner: ParagraphItemOwner): void;
729
+ /**
730
+ * @private
731
+ */
732
+ detach(): void;
733
+ /**
734
+ * @private
735
+ */
736
+ assertAttachedItem(target: ParagraphItem): void;
737
+ /**
738
+ * @private
739
+ */
740
+ assertMutable(): void;
741
+ /**
742
+ * @private
743
+ */
744
+ releaseContent(): void;
745
+ /** @private */
746
+ synchronizeCheckboxContent(): void;
747
+ /**
748
+ * @private
749
+ */
750
+ bindDocument(document: WordDocument): void;
751
+ /**
752
+ * @private
753
+ */
754
+ toOpenXml(): OpenXmlElement;
755
+ }
756
+ /**
757
+ * Create a detached block-level content control (`w:sdt`) ready for append.
758
+ *
759
+ * @private
760
+ */
761
+ export declare function createBlockContentControl(type?: ContentControlType): BlockContentControl;
762
+ /**
763
+ * Create a detached run-level content control (`w:sdt`) ready for append.
764
+ *
765
+ * @private
766
+ */
767
+ export declare function createInlineContentControl(type?: ContentControlType): InlineContentControl;
768
+ /**
769
+ * @private
770
+ * Test hook */
771
+ export declare function resetContentControlsFeatureForTests(): void;
772
+ /**
773
+ * @private
774
+ * Register structured document tag handlers. Idempotent. */
775
+ export declare function registerContentControlsFeature(): void;
776
+ /**
777
+ * Block-level SDTs in a block list, in document order.
778
+ *
779
+ * @private
780
+ */
781
+ export declare function structuredDocumentTagsInBlocks(blocks: ReadonlyArray<BlockContent | BodyItem>): ReadonlyArray<ContentControl>;
782
+ /**
783
+ * Run-level SDTs in a paragraph, in document order.
784
+ *
785
+ * @private
786
+ */
787
+ export declare function structuredDocumentTagsInParagraph(paragraph: Paragraph): ReadonlyArray<ContentControl>;
788
+ /**
789
+ * Whether inline content is a modeled SDT from this module.
790
+ *
791
+ * @private
792
+ */
793
+ export declare function isStructuredDocumentTagInline(inline: ParagraphItem): inline is FeatureInlineParagraphItem & {
794
+ value: ContentControl;
795
+ };
796
+ /**
797
+ * Feature id constant for the content-controls module (used by host features
798
+ * that embed SDT blocks, e.g. text box bodies in the drawing module).
799
+ *
800
+ * @private
801
+ */
802
+ export declare const CONTENT_CONTROLS_FEATURE_ID: import("../../core/registry").FeatureId;
803
+ /**
804
+ * Whether a body block is a modeled block-level SDT (`w:sdt`) from this module.
805
+ *
806
+ * Prefer with {@link elementTypeOf} when branching on body children:
807
+ * `elementTypeOf(item) === 'blockContentControl'` then narrow with this guard.
808
+ *
809
+ * @param block - Body child to test.
810
+ * @returns `true` when `block` is a modeled block {@link ContentControl}.
811
+ *
812
+ * @private
813
+ */
814
+ export declare function isBlockContentControl(block: BodyItem | BlockContent | unknown): block is {
815
+ readonly type: 'feature';
816
+ readonly featureId: typeof CONTENT_CONTROLS;
817
+ readonly value: ContentControl;
818
+ };
819
+ /** True when `value` is a public block ContentControl body item. */
820
+ export declare function isBlockContentControlBodyItem(value: unknown): value is ContentControl;
821
+ export {};