docx 7.8.1 → 8.0.0

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 (424) hide show
  1. package/README.md +2 -1
  2. package/build/export/formatter.d.ts +4 -4
  3. package/build/export/index.d.ts +1 -1
  4. package/build/export/packer/image-replacer.d.ts +5 -5
  5. package/build/export/packer/next-compiler.d.ts +11 -11
  6. package/build/export/packer/numbering-replacer.d.ts +4 -4
  7. package/build/export/packer/packer.d.ts +18 -18
  8. package/build/file/app-properties/app-properties-attributes.d.ts +10 -10
  9. package/build/file/app-properties/app-properties.d.ts +4 -4
  10. package/build/file/border/border.d.ts +39 -39
  11. package/build/file/border/index.d.ts +1 -1
  12. package/build/file/content-types/content-types-attributes.d.ts +8 -8
  13. package/build/file/content-types/content-types.d.ts +6 -6
  14. package/build/file/content-types/default/default-attributes.d.ts +10 -10
  15. package/build/file/content-types/default/default.d.ts +4 -4
  16. package/build/file/content-types/override/override-attributes.d.ts +10 -10
  17. package/build/file/content-types/override/override.d.ts +4 -4
  18. package/build/file/core-properties/index.d.ts +1 -1
  19. package/build/file/core-properties/properties.d.ts +40 -40
  20. package/build/file/custom-properties/custom-properties-attributes.d.ts +10 -10
  21. package/build/file/custom-properties/custom-properties.d.ts +9 -9
  22. package/build/file/custom-properties/custom-property-attributes.d.ts +12 -12
  23. package/build/file/custom-properties/custom-property.d.ts +11 -11
  24. package/build/file/custom-properties/index.d.ts +2 -2
  25. package/build/file/document/body/body.d.ts +10 -10
  26. package/build/file/document/body/index.d.ts +2 -2
  27. package/build/file/document/body/section-properties/index.d.ts +2 -2
  28. package/build/file/document/body/section-properties/properties/column.d.ts +10 -14
  29. package/build/file/document/body/section-properties/properties/columns.d.ts +13 -20
  30. package/build/file/document/body/section-properties/properties/doc-grid.d.ts +22 -22
  31. package/build/file/document/body/section-properties/properties/header-footer-reference.d.ts +17 -17
  32. package/build/file/document/body/section-properties/properties/index.d.ts +12 -12
  33. package/build/file/document/body/section-properties/properties/line-number.d.ts +16 -23
  34. package/build/file/document/body/section-properties/properties/page-borders.d.ts +30 -30
  35. package/build/file/document/body/section-properties/properties/page-margin.d.ts +14 -24
  36. package/build/file/document/body/section-properties/properties/page-number.d.ts +24 -24
  37. package/build/file/document/body/section-properties/properties/page-size.d.ts +14 -20
  38. package/build/file/document/body/section-properties/properties/page-text-direction.d.ts +8 -8
  39. package/build/file/document/body/section-properties/properties/section-type.d.ts +18 -18
  40. package/build/file/document/body/section-properties/section-properties.d.ts +53 -53
  41. package/build/file/document/document-attributes.d.ts +85 -85
  42. package/build/file/document/document-background/document-background.d.ts +23 -23
  43. package/build/file/document/document-background/index.d.ts +1 -1
  44. package/build/file/document/document.d.ts +15 -15
  45. package/build/file/document/index.d.ts +4 -4
  46. package/build/file/document-wrapper.d.ts +16 -16
  47. package/build/file/drawing/anchor/anchor-attributes.d.ts +24 -24
  48. package/build/file/drawing/anchor/anchor.d.ts +6 -6
  49. package/build/file/drawing/anchor/index.d.ts +2 -2
  50. package/build/file/drawing/doc-properties/doc-properties-children.d.ts +3 -0
  51. package/build/file/drawing/doc-properties/doc-properties.d.ts +10 -9
  52. package/build/file/drawing/drawing.d.ts +18 -18
  53. package/build/file/drawing/effect-extent/effect-extent-attributes.d.ts +14 -14
  54. package/build/file/drawing/effect-extent/effect-extent.d.ts +4 -4
  55. package/build/file/drawing/extent/extent-attributes.d.ts +10 -10
  56. package/build/file/drawing/extent/extent.d.ts +5 -5
  57. package/build/file/drawing/floating/align.d.ts +5 -5
  58. package/build/file/drawing/floating/floating-position.d.ts +49 -49
  59. package/build/file/drawing/floating/horizontal-position.d.ts +5 -5
  60. package/build/file/drawing/floating/index.d.ts +4 -4
  61. package/build/file/drawing/floating/position-offset.d.ts +4 -4
  62. package/build/file/drawing/floating/simple-pos.d.ts +4 -4
  63. package/build/file/drawing/floating/vertical-position.d.ts +5 -5
  64. package/build/file/drawing/graphic-frame/graphic-frame-locks/graphic-frame-lock-attributes.d.ts +10 -10
  65. package/build/file/drawing/graphic-frame/graphic-frame-locks/graphic-frame-locks.d.ts +4 -4
  66. package/build/file/drawing/graphic-frame/graphic-frame-properties.d.ts +4 -4
  67. package/build/file/drawing/index.d.ts +3 -3
  68. package/build/file/drawing/inline/graphic/graphic-data/graphic-data-attribute.d.ts +8 -8
  69. package/build/file/drawing/inline/graphic/graphic-data/graphic-data.d.ts +6 -6
  70. package/build/file/drawing/inline/graphic/graphic-data/index.d.ts +1 -1
  71. package/build/file/drawing/inline/graphic/graphic-data/pic/blip/blip-fill.d.ts +5 -5
  72. package/build/file/drawing/inline/graphic/graphic-data/pic/blip/blip.d.ts +5 -5
  73. package/build/file/drawing/inline/graphic/graphic-data/pic/blip/source-rectangle.d.ts +4 -4
  74. package/build/file/drawing/inline/graphic/graphic-data/pic/blip/stretch.d.ts +4 -4
  75. package/build/file/drawing/inline/graphic/graphic-data/pic/index.d.ts +1 -1
  76. package/build/file/drawing/inline/graphic/graphic-data/pic/non-visual-pic-properties/child-non-visual-pic-properties/child-non-visual-pic-properties.d.ts +4 -4
  77. package/build/file/drawing/inline/graphic/graphic-data/pic/non-visual-pic-properties/child-non-visual-pic-properties/pic-locks/pic-locks-attributes.d.ts +10 -10
  78. package/build/file/drawing/inline/graphic/graphic-data/pic/non-visual-pic-properties/child-non-visual-pic-properties/pic-locks/pic-locks.d.ts +4 -4
  79. package/build/file/drawing/inline/graphic/graphic-data/pic/non-visual-pic-properties/non-visual-pic-properties.d.ts +4 -4
  80. package/build/file/drawing/inline/graphic/graphic-data/pic/non-visual-pic-properties/non-visual-properties/non-visual-properties-attributes.d.ts +12 -12
  81. package/build/file/drawing/inline/graphic/graphic-data/pic/non-visual-pic-properties/non-visual-properties/non-visual-properties.d.ts +5 -4
  82. package/build/file/drawing/inline/graphic/graphic-data/pic/pic-attributes.d.ts +8 -8
  83. package/build/file/drawing/inline/graphic/graphic-data/pic/pic.d.ts +5 -5
  84. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/extents/extents-attributes.d.ts +10 -10
  85. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/extents/extents.d.ts +5 -5
  86. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/form.d.ts +17 -17
  87. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/index.d.ts +1 -1
  88. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/offset/off-attributes.d.ts +10 -10
  89. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/offset/off.d.ts +4 -4
  90. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/outline/no-fill.d.ts +4 -4
  91. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/outline/outline.d.ts +4 -4
  92. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/preset-geometry/adjustment-values/adjustment-values.d.ts +4 -4
  93. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/preset-geometry/preset-geometry-attributes.d.ts +8 -8
  94. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/preset-geometry/preset-geometry.d.ts +4 -4
  95. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/shape-properties-attributes.d.ts +8 -8
  96. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/shape-properties.d.ts +6 -6
  97. package/build/file/drawing/inline/graphic/graphic.d.ts +6 -6
  98. package/build/file/drawing/inline/graphic/index.d.ts +1 -1
  99. package/build/file/drawing/inline/index.d.ts +1 -1
  100. package/build/file/drawing/inline/inline-attributes.d.ts +10 -10
  101. package/build/file/drawing/inline/inline.d.ts +14 -14
  102. package/build/file/drawing/text-wrap/index.d.ts +5 -5
  103. package/build/file/drawing/text-wrap/text-wrapping.d.ts +18 -18
  104. package/build/file/drawing/text-wrap/wrap-none.d.ts +4 -4
  105. package/build/file/drawing/text-wrap/wrap-square.d.ts +6 -6
  106. package/build/file/drawing/text-wrap/wrap-tight.d.ts +5 -5
  107. package/build/file/drawing/text-wrap/wrap-top-and-bottom.d.ts +5 -5
  108. package/build/file/file-child.d.ts +4 -0
  109. package/build/file/file.d.ts +69 -72
  110. package/build/file/footer/footer-attributes.d.ts +50 -50
  111. package/build/file/footer/footer.d.ts +9 -9
  112. package/build/file/footer/index.d.ts +1 -1
  113. package/build/file/footer-wrapper.d.ts +23 -23
  114. package/build/file/footnotes/footnote/footnote-attributes.d.ts +10 -10
  115. package/build/file/footnotes/footnote/footnote.d.ts +14 -14
  116. package/build/file/footnotes/footnote/index.d.ts +1 -1
  117. package/build/file/footnotes/footnote/run/continuation-seperator-run.d.ts +4 -4
  118. package/build/file/footnotes/footnote/run/continuation-seperator.d.ts +4 -4
  119. package/build/file/footnotes/footnote/run/footnote-ref-run.d.ts +4 -4
  120. package/build/file/footnotes/footnote/run/footnote-ref.d.ts +4 -4
  121. package/build/file/footnotes/footnote/run/index.d.ts +1 -1
  122. package/build/file/footnotes/footnote/run/reference-run.d.ts +15 -15
  123. package/build/file/footnotes/footnote/run/seperator-run.d.ts +4 -4
  124. package/build/file/footnotes/footnote/run/seperator.d.ts +4 -4
  125. package/build/file/footnotes/footnotes-attributes.d.ts +40 -40
  126. package/build/file/footnotes/footnotes.d.ts +6 -6
  127. package/build/file/footnotes/index.d.ts +2 -2
  128. package/build/file/footnotes-wrapper.d.ts +10 -10
  129. package/build/file/header/header-attributes.d.ts +72 -72
  130. package/build/file/header/header.d.ts +9 -9
  131. package/build/file/header/index.d.ts +1 -1
  132. package/build/file/header-wrapper.d.ts +23 -23
  133. package/build/file/header.d.ts +13 -13
  134. package/build/file/index.d.ts +19 -20
  135. package/build/file/media/data.d.ts +22 -22
  136. package/build/file/media/index.d.ts +2 -2
  137. package/build/file/media/media.d.ts +16 -19
  138. package/build/file/numbering/abstract-numbering.d.ts +6 -6
  139. package/build/file/numbering/index.d.ts +4 -4
  140. package/build/file/numbering/level.d.ts +96 -96
  141. package/build/file/numbering/multi-level-type.d.ts +4 -4
  142. package/build/file/numbering/num.d.ts +22 -20
  143. package/build/file/numbering/numbering.d.ts +19 -19
  144. package/build/file/paragraph/formatting/alignment.d.ts +26 -26
  145. package/build/file/paragraph/formatting/border.d.ts +14 -14
  146. package/build/file/paragraph/formatting/break.d.ts +11 -11
  147. package/build/file/paragraph/formatting/indent.d.ts +13 -12
  148. package/build/file/paragraph/formatting/index.d.ts +8 -8
  149. package/build/file/paragraph/formatting/spacing.d.ts +18 -18
  150. package/build/file/paragraph/formatting/style.d.ts +13 -13
  151. package/build/file/paragraph/formatting/tab-stop.d.ts +44 -44
  152. package/build/file/paragraph/formatting/unordered-list.d.ts +4 -4
  153. package/build/file/paragraph/formatting/word-wrap.d.ts +11 -11
  154. package/build/file/paragraph/frame/frame-properties.d.ts +90 -90
  155. package/build/file/paragraph/frame/index.d.ts +1 -1
  156. package/build/file/paragraph/index.d.ts +7 -7
  157. package/build/file/paragraph/links/bookmark-attributes.d.ts +17 -17
  158. package/build/file/paragraph/links/bookmark.d.ts +17 -17
  159. package/build/file/paragraph/links/hyperlink-attributes.d.ts +13 -13
  160. package/build/file/paragraph/links/hyperlink.d.ts +26 -26
  161. package/build/file/paragraph/links/index.d.ts +4 -4
  162. package/build/file/paragraph/links/outline-level.d.ts +5 -5
  163. package/build/file/paragraph/links/pageref-field-instruction.d.ts +5 -5
  164. package/build/file/paragraph/links/pageref-properties.d.ts +4 -4
  165. package/build/file/paragraph/links/pageref.d.ts +5 -5
  166. package/build/file/paragraph/math/brackets/index.d.ts +4 -4
  167. package/build/file/paragraph/math/brackets/math-angled-brackets.d.ts +7 -7
  168. package/build/file/paragraph/math/brackets/math-beginning-character.d.ts +4 -4
  169. package/build/file/paragraph/math/brackets/math-bracket-properties.d.ts +7 -7
  170. package/build/file/paragraph/math/brackets/math-curly-brackets.d.ts +7 -7
  171. package/build/file/paragraph/math/brackets/math-ending-char.d.ts +4 -4
  172. package/build/file/paragraph/math/brackets/math-round-brackets.d.ts +7 -7
  173. package/build/file/paragraph/math/brackets/math-square-brackets.d.ts +7 -7
  174. package/build/file/paragraph/math/fraction/index.d.ts +3 -3
  175. package/build/file/paragraph/math/fraction/math-denominator.d.ts +5 -5
  176. package/build/file/paragraph/math/fraction/math-fraction.d.ts +9 -9
  177. package/build/file/paragraph/math/fraction/math-numerator.d.ts +5 -5
  178. package/build/file/paragraph/math/function/index.d.ts +3 -3
  179. package/build/file/paragraph/math/function/math-function-name.d.ts +5 -5
  180. package/build/file/paragraph/math/function/math-function-properties.d.ts +4 -4
  181. package/build/file/paragraph/math/function/math-function.d.ts +9 -9
  182. package/build/file/paragraph/math/index.d.ts +9 -9
  183. package/build/file/paragraph/math/math-component.d.ts +9 -9
  184. package/build/file/paragraph/math/math-run.d.ts +4 -4
  185. package/build/file/paragraph/math/math-text.d.ts +4 -4
  186. package/build/file/paragraph/math/math.d.ts +8 -8
  187. package/build/file/paragraph/math/n-ary/index.d.ts +8 -8
  188. package/build/file/paragraph/math/n-ary/math-accent-character.d.ts +4 -4
  189. package/build/file/paragraph/math/n-ary/math-base.d.ts +5 -5
  190. package/build/file/paragraph/math/n-ary/math-integral.d.ts +10 -10
  191. package/build/file/paragraph/math/n-ary/math-limit-location.d.ts +4 -4
  192. package/build/file/paragraph/math/n-ary/math-n-ary-properties.d.ts +4 -4
  193. package/build/file/paragraph/math/n-ary/math-sub-script-hide.d.ts +4 -4
  194. package/build/file/paragraph/math/n-ary/math-sub-script.d.ts +5 -5
  195. package/build/file/paragraph/math/n-ary/math-sum.d.ts +10 -10
  196. package/build/file/paragraph/math/n-ary/math-super-script-hide.d.ts +4 -4
  197. package/build/file/paragraph/math/n-ary/math-super-script.d.ts +5 -5
  198. package/build/file/paragraph/math/radical/index.d.ts +3 -3
  199. package/build/file/paragraph/math/radical/math-degree-hide.d.ts +4 -4
  200. package/build/file/paragraph/math/radical/math-degree.d.ts +5 -5
  201. package/build/file/paragraph/math/radical/math-radical-properties.d.ts +4 -4
  202. package/build/file/paragraph/math/radical/math-radical.d.ts +9 -9
  203. package/build/file/paragraph/math/script/index.d.ts +4 -4
  204. package/build/file/paragraph/math/script/pre-sub-super-script/index.d.ts +2 -2
  205. package/build/file/paragraph/math/script/pre-sub-super-script/math-pre-sub-super-script-function-properties.d.ts +4 -4
  206. package/build/file/paragraph/math/script/pre-sub-super-script/math-pre-sub-super-script-function.d.ts +10 -10
  207. package/build/file/paragraph/math/script/sub-script/index.d.ts +2 -2
  208. package/build/file/paragraph/math/script/sub-script/math-sub-script-function-properties.d.ts +4 -4
  209. package/build/file/paragraph/math/script/sub-script/math-sub-script-function.d.ts +9 -9
  210. package/build/file/paragraph/math/script/sub-super-script/index.d.ts +2 -2
  211. package/build/file/paragraph/math/script/sub-super-script/math-sub-super-script-function-properties.d.ts +4 -4
  212. package/build/file/paragraph/math/script/sub-super-script/math-sub-super-script-function.d.ts +10 -10
  213. package/build/file/paragraph/math/script/super-script/index.d.ts +2 -2
  214. package/build/file/paragraph/math/script/super-script/math-super-script-function-properties.d.ts +4 -4
  215. package/build/file/paragraph/math/script/super-script/math-super-script-function.d.ts +9 -9
  216. package/build/file/paragraph/paragraph.d.ts +21 -20
  217. package/build/file/paragraph/properties.d.ts +53 -52
  218. package/build/file/paragraph/run/break.d.ts +4 -4
  219. package/build/file/paragraph/run/comment-run.d.ts +27 -26
  220. package/build/file/paragraph/run/emphasis-mark.d.ts +13 -13
  221. package/build/file/paragraph/run/empty-children.d.ts +52 -0
  222. package/build/file/paragraph/run/field.d.ts +10 -10
  223. package/build/file/paragraph/run/formatting.d.ts +14 -13
  224. package/build/file/paragraph/run/image-run.d.ts +19 -19
  225. package/build/file/paragraph/run/index.d.ts +13 -12
  226. package/build/file/paragraph/run/language.d.ts +7 -0
  227. package/build/file/paragraph/run/page-number.d.ts +10 -10
  228. package/build/file/paragraph/run/positional-tab.d.ts +25 -0
  229. package/build/file/paragraph/run/properties.d.ts +76 -59
  230. package/build/file/paragraph/run/run-components/symbol.d.ts +4 -4
  231. package/build/file/paragraph/run/run-components/text.d.ts +10 -10
  232. package/build/file/paragraph/run/run-fonts.d.ts +12 -12
  233. package/build/file/paragraph/run/run.d.ts +22 -20
  234. package/build/file/paragraph/run/script.d.ts +10 -10
  235. package/build/file/paragraph/run/sequential-identifier-instruction.d.ts +4 -4
  236. package/build/file/paragraph/run/sequential-identifier.d.ts +4 -4
  237. package/build/file/paragraph/run/simple-field.d.ts +7 -7
  238. package/build/file/paragraph/run/symbol-run.d.ts +8 -8
  239. package/build/file/paragraph/run/text-attributes.d.ts +9 -9
  240. package/build/file/paragraph/run/text-run.d.ts +4 -4
  241. package/build/file/paragraph/run/underline.d.ts +24 -24
  242. package/build/file/relationships/attributes.d.ts +8 -8
  243. package/build/file/relationships/index.d.ts +1 -1
  244. package/build/file/relationships/relationship/relationship-attributes.d.ts +14 -14
  245. package/build/file/relationships/relationship/relationship.d.ts +8 -8
  246. package/build/file/relationships/relationships.d.ts +7 -8
  247. package/build/file/settings/compatibility-setting/compatibility-setting.d.ts +15 -15
  248. package/build/file/settings/compatibility.d.ts +72 -72
  249. package/build/file/settings/index.d.ts +1 -1
  250. package/build/file/settings/settings.d.ts +51 -51
  251. package/build/file/shading/index.d.ts +1 -1
  252. package/build/file/shading/shading.d.ts +48 -48
  253. package/build/file/shared/alignment.d.ts +14 -14
  254. package/build/file/shared/index.d.ts +3 -3
  255. package/build/file/shared/number-format.d.ts +64 -64
  256. package/build/file/shared/space-type.d.ts +4 -4
  257. package/build/file/styles/defaults/document-defaults.d.ts +12 -12
  258. package/build/file/styles/defaults/index.d.ts +3 -3
  259. package/build/file/styles/defaults/paragraph-properties.d.ts +5 -5
  260. package/build/file/styles/defaults/run-properties.d.ts +5 -5
  261. package/build/file/styles/external-styles-factory.d.ts +4 -4
  262. package/build/file/styles/factory.d.ts +22 -22
  263. package/build/file/styles/index.d.ts +4 -4
  264. package/build/file/styles/latent-styles/exceptions.d.ts +20 -20
  265. package/build/file/styles/latent-styles/index.d.ts +1 -1
  266. package/build/file/styles/latent-styles/latent-styles.d.ts +5 -5
  267. package/build/file/styles/sample/default-style.d.ts +1 -1
  268. package/build/file/styles/sample/index.d.ts +1 -1
  269. package/build/file/styles/style/character-style.d.ts +13 -13
  270. package/build/file/styles/style/components.d.ts +11 -11
  271. package/build/file/styles/style/default-styles.d.ts +44 -44
  272. package/build/file/styles/style/index.d.ts +4 -4
  273. package/build/file/styles/style/paragraph-style.d.ts +15 -15
  274. package/build/file/styles/style/style.d.ts +20 -20
  275. package/build/file/styles/styles.d.ts +15 -15
  276. package/build/file/table/grid.d.ts +8 -7
  277. package/build/file/table/index.d.ts +5 -5
  278. package/build/file/table/table-cell/index.d.ts +2 -2
  279. package/build/file/table/table-cell/table-cell-components.d.ts +31 -31
  280. package/build/file/table/table-cell/table-cell-properties.d.ts +20 -20
  281. package/build/file/table/table-cell/table-cell.d.ts +12 -12
  282. package/build/file/table/table-properties/index.d.ts +4 -4
  283. package/build/file/table/table-properties/table-borders.d.ts +45 -45
  284. package/build/file/table/table-properties/table-cell-margin.d.ts +16 -16
  285. package/build/file/table/table-properties/table-float-properties.d.ts +42 -55
  286. package/build/file/table/table-properties/table-layout.d.ts +8 -8
  287. package/build/file/table/table-properties/table-properties.d.ts +23 -23
  288. package/build/file/table/table-row/index.d.ts +3 -3
  289. package/build/file/table/table-row/table-row-height.d.ts +19 -18
  290. package/build/file/table/table-row/table-row-properties.d.ts +14 -13
  291. package/build/file/table/table-row/table-row.d.ts +16 -16
  292. package/build/file/table/table-width.d.ts +15 -14
  293. package/build/file/table/table.d.ts +23 -23
  294. package/build/file/table-of-contents/field-instruction.d.ts +6 -6
  295. package/build/file/table-of-contents/index.d.ts +2 -2
  296. package/build/file/table-of-contents/sdt-content.d.ts +4 -4
  297. package/build/file/table-of-contents/sdt-properties.d.ts +4 -4
  298. package/build/file/table-of-contents/table-of-contents-properties.d.ts +23 -23
  299. package/build/file/table-of-contents/table-of-contents.d.ts +5 -5
  300. package/build/file/track-revision/index.d.ts +2 -2
  301. package/build/file/track-revision/track-revision-components/deleted-page-number.d.ts +10 -10
  302. package/build/file/track-revision/track-revision-components/deleted-text-run.d.ts +13 -13
  303. package/build/file/track-revision/track-revision-components/deleted-text.d.ts +4 -4
  304. package/build/file/track-revision/track-revision-components/inserted-text-run.d.ts +9 -9
  305. package/build/file/track-revision/track-revision.d.ts +13 -13
  306. package/build/file/vertical-align/index.d.ts +1 -1
  307. package/build/file/vertical-align/vertical-align.d.ts +16 -16
  308. package/build/file/xml-components/attributes.d.ts +46 -46
  309. package/build/file/xml-components/base.d.ts +13 -12
  310. package/build/file/xml-components/default-attributes.d.ts +25 -11
  311. package/build/file/xml-components/imported-xml-component.d.ts +14 -14
  312. package/build/file/xml-components/index.d.ts +8 -8
  313. package/build/file/xml-components/initializable-xml-component.d.ts +4 -4
  314. package/build/file/xml-components/simple-elements.d.ts +29 -19
  315. package/build/file/xml-components/xml-component.d.ts +12 -12
  316. package/build/file/xml-components/xmlable-object.d.ts +7 -7
  317. package/build/index.d.ts +5 -5
  318. package/build/index.js +1 -1
  319. package/build/patcher/content-types-manager.d.ts +2 -0
  320. package/build/patcher/from-docx.d.ts +25 -0
  321. package/build/patcher/index.d.ts +1 -0
  322. package/build/patcher/paragraph-split-inject.d.ts +6 -0
  323. package/build/patcher/paragraph-token-replacer.d.ts +8 -0
  324. package/build/patcher/relationship-manager.d.ts +4 -0
  325. package/build/patcher/replacer.d.ts +5 -0
  326. package/build/patcher/run-renderer.d.ts +22 -0
  327. package/build/patcher/traverser.d.ts +8 -0
  328. package/build/patcher/util.d.ts +5 -0
  329. package/build/tests/utility.d.ts +3 -3
  330. package/build/util/convenience-functions.d.ts +4 -4
  331. package/build/util/index.d.ts +2 -2
  332. package/build/util/values.d.ts +20 -17
  333. package/package.json +10 -8
  334. package/src/export/formatter.ts +1 -1
  335. package/src/export/packer/next-compiler.ts +23 -5
  336. package/src/file/document/body/section-properties/properties/column.ts +13 -15
  337. package/src/file/document/body/section-properties/properties/columns.ts +10 -19
  338. package/src/file/document/body/section-properties/properties/line-number.ts +13 -17
  339. package/src/file/document/body/section-properties/properties/page-borders.ts +1 -1
  340. package/src/file/document/body/section-properties/properties/page-margin.ts +26 -38
  341. package/src/file/document/body/section-properties/properties/page-size.ts +11 -19
  342. package/src/file/document/body/section-properties/section-properties.ts +5 -5
  343. package/src/file/drawing/doc-properties/doc-properties-children.spec.ts +61 -0
  344. package/src/file/drawing/doc-properties/doc-properties-children.ts +57 -0
  345. package/src/file/drawing/doc-properties/doc-properties.ts +49 -19
  346. package/src/file/drawing/drawing.spec.ts +254 -0
  347. package/src/file/drawing/inline/graphic/graphic-data/pic/non-visual-pic-properties/non-visual-properties/non-visual-properties.ts +31 -1
  348. package/src/file/file-child.ts +5 -0
  349. package/src/file/file.spec.ts +1 -25
  350. package/src/file/file.ts +5 -31
  351. package/src/file/index.ts +0 -1
  352. package/src/file/media/media.spec.ts +13 -79
  353. package/src/file/media/media.ts +0 -49
  354. package/src/file/numbering/concrete-numbering.spec.ts +185 -10
  355. package/src/file/numbering/num.ts +10 -6
  356. package/src/file/numbering/numbering.ts +6 -4
  357. package/src/file/paragraph/formatting/indent.ts +54 -40
  358. package/src/file/paragraph/paragraph.spec.ts +1 -0
  359. package/src/file/paragraph/paragraph.ts +3 -2
  360. package/src/file/paragraph/properties.spec.ts +16 -0
  361. package/src/file/paragraph/properties.ts +9 -0
  362. package/src/file/paragraph/run/comment-run.spec.ts +10 -8
  363. package/src/file/paragraph/run/comment-run.ts +6 -6
  364. package/src/file/paragraph/run/empty-children.spec.ts +229 -0
  365. package/src/file/paragraph/run/empty-children.ts +127 -0
  366. package/src/file/paragraph/run/formatting.ts +2 -2
  367. package/src/file/paragraph/run/image-run.spec.ts +4 -0
  368. package/src/file/paragraph/run/index.ts +2 -1
  369. package/src/file/paragraph/run/language.spec.ts +29 -0
  370. package/src/file/paragraph/run/language.ts +35 -0
  371. package/src/file/paragraph/run/positional-tab.spec.ts +27 -0
  372. package/src/file/paragraph/run/positional-tab.ts +80 -0
  373. package/src/file/paragraph/run/properties.ts +44 -2
  374. package/src/file/paragraph/run/run.spec.ts +143 -0
  375. package/src/file/paragraph/run/run.ts +83 -2
  376. package/src/file/paragraph/run/symbol-run.ts +1 -1
  377. package/src/file/relationships/relationships.ts +1 -5
  378. package/src/file/styles/sample/default-style.ts +7 -1
  379. package/src/file/table/grid.ts +9 -9
  380. package/src/file/table/table-properties/table-float-properties.spec.ts +1 -3
  381. package/src/file/table/table-properties/table-float-properties.ts +56 -42
  382. package/src/file/table/table-row/table-row-height.ts +2 -2
  383. package/src/file/table/table-row/table-row-properties.ts +2 -1
  384. package/src/file/table/table-width.ts +12 -10
  385. package/src/file/table/table.ts +2 -2
  386. package/src/file/table-of-contents/table-of-contents.ts +2 -2
  387. package/src/file/xml-components/base.ts +2 -0
  388. package/src/file/xml-components/default-attributes.ts +18 -5
  389. package/src/file/xml-components/imported-xml-component.spec.ts +1 -1
  390. package/src/file/xml-components/simple-elements.spec.ts +41 -0
  391. package/src/file/xml-components/simple-elements.ts +29 -3
  392. package/src/file/xml-components/xml-component.ts +11 -0
  393. package/src/index.ts +1 -1
  394. package/src/patcher/content-types-manager.spec.ts +51 -0
  395. package/src/patcher/content-types-manager.ts +16 -0
  396. package/src/patcher/from-docx.spec.ts +370 -0
  397. package/src/patcher/from-docx.ts +233 -0
  398. package/src/patcher/index.ts +1 -0
  399. package/src/patcher/paragraph-split-inject.spec.ts +224 -0
  400. package/src/patcher/paragraph-split-inject.ts +54 -0
  401. package/src/patcher/paragraph-token-replacer.spec.ts +165 -0
  402. package/src/patcher/paragraph-token-replacer.ts +69 -0
  403. package/src/patcher/relationship-manager.spec.ts +87 -0
  404. package/src/patcher/relationship-manager.ts +42 -0
  405. package/src/patcher/replacer.spec.ts +206 -0
  406. package/src/patcher/replacer.ts +83 -0
  407. package/src/patcher/run-renderer.spec.ts +96 -0
  408. package/src/patcher/run-renderer.ts +109 -0
  409. package/src/patcher/traverser.spec.ts +599 -0
  410. package/src/patcher/traverser.ts +45 -0
  411. package/src/patcher/util.spec.ts +50 -0
  412. package/src/patcher/util.ts +30 -0
  413. package/src/util/values.spec.ts +0 -22
  414. package/src/util/values.ts +29 -25
  415. package/build/file/file-properties.d.ts +0 -5
  416. package/build/file/paragraph/run/tab.d.ts +0 -4
  417. package/build/import-dotx/import-dotx.d.ts +0 -23
  418. package/build/import-dotx/index.d.ts +0 -1
  419. package/src/file/file-properties.ts +0 -11
  420. package/src/file/paragraph/run/tab.spec.ts +0 -22
  421. package/src/file/paragraph/run/tab.ts +0 -14
  422. package/src/import-dotx/import-dotx.spec.ts +0 -26
  423. package/src/import-dotx/import-dotx.ts +0 -266
  424. package/src/import-dotx/index.ts +0 -1
@@ -0,0 +1,2 @@
1
+ import { Element } from "xml-js";
2
+ export declare const appendContentType: (element: Element, contentType: string, extension: string) => void;
@@ -0,0 +1,25 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { ParagraphChild } from "../file/paragraph";
4
+ import { FileChild } from "../file/file-child";
5
+ type InputDataType = Buffer | string | number[] | Uint8Array | ArrayBuffer | Blob | NodeJS.ReadableStream;
6
+ export declare enum PatchType {
7
+ DOCUMENT = "file",
8
+ PARAGRAPH = "paragraph"
9
+ }
10
+ type ParagraphPatch = {
11
+ readonly type: PatchType.PARAGRAPH;
12
+ readonly children: readonly ParagraphChild[];
13
+ };
14
+ type FilePatch = {
15
+ readonly type: PatchType.DOCUMENT;
16
+ readonly children: readonly FileChild[];
17
+ };
18
+ export type IPatch = ParagraphPatch | FilePatch;
19
+ export interface PatchDocumentOptions {
20
+ readonly patches: {
21
+ readonly [key: string]: IPatch;
22
+ };
23
+ }
24
+ export declare const patchDocument: (data: InputDataType, options: PatchDocumentOptions) => Promise<Buffer>;
25
+ export {};
@@ -0,0 +1 @@
1
+ export * from "./from-docx";
@@ -0,0 +1,6 @@
1
+ import { Element } from "xml-js";
2
+ export declare const findRunElementIndexWithToken: (paragraphElement: Element, token: string) => number;
3
+ export declare const splitRunElement: (runElement: Element, token: string) => {
4
+ readonly left: Element;
5
+ readonly right: Element;
6
+ };
@@ -0,0 +1,8 @@
1
+ import { Element } from "xml-js";
2
+ import { IRenderedParagraphNode } from "./run-renderer";
3
+ export declare const replaceTokenInParagraphElement: ({ paragraphElement, renderedParagraph, originalText, replacementText, }: {
4
+ readonly paragraphElement: Element;
5
+ readonly renderedParagraph: IRenderedParagraphNode;
6
+ readonly originalText: string;
7
+ readonly replacementText: string;
8
+ }) => Element;
@@ -0,0 +1,4 @@
1
+ import { Element } from "xml-js";
2
+ import { RelationshipType, TargetModeType } from "../file/relationships/relationship/relationship";
3
+ export declare const getNextRelationshipIndex: (relationships: Element) => number;
4
+ export declare const appendRelationship: (relationships: Element, id: number | string, type: RelationshipType, target: string, targetMode?: TargetModeType) => readonly Element[];
@@ -0,0 +1,5 @@
1
+ import { Element } from "xml-js";
2
+ import { IContext } from "../file/xml-components";
3
+ import { IPatch } from "./from-docx";
4
+ import { IRenderedParagraphNode } from "./run-renderer";
5
+ export declare const replacer: (json: Element, patch: IPatch, patchText: string, renderedParagraphs: readonly IRenderedParagraphNode[], context: IContext) => Element;
@@ -0,0 +1,22 @@
1
+ import { ElementWrapper } from "./traverser";
2
+ export interface IRenderedParagraphNode {
3
+ readonly text: string;
4
+ readonly runs: readonly IRenderedRunNode[];
5
+ readonly index: number;
6
+ readonly path: readonly number[];
7
+ }
8
+ interface StartAndEnd {
9
+ readonly start: number;
10
+ readonly end: number;
11
+ }
12
+ type IParts = {
13
+ readonly text: string;
14
+ readonly index: number;
15
+ } & StartAndEnd;
16
+ export type IRenderedRunNode = {
17
+ readonly text: string;
18
+ readonly parts: readonly IParts[];
19
+ readonly index: number;
20
+ } & StartAndEnd;
21
+ export declare const renderParagraphNode: (node: ElementWrapper) => IRenderedParagraphNode;
22
+ export {};
@@ -0,0 +1,8 @@
1
+ import { Element } from "xml-js";
2
+ import { IRenderedParagraphNode } from "./run-renderer";
3
+ export interface ElementWrapper {
4
+ readonly element: Element;
5
+ readonly index: number;
6
+ readonly parent: ElementWrapper | undefined;
7
+ }
8
+ export declare const findLocationOfText: (node: Element, text: string) => readonly IRenderedParagraphNode[];
@@ -0,0 +1,5 @@
1
+ import { Element } from "xml-js";
2
+ export declare const toJson: (xmlData: string) => Element;
3
+ export declare const createTextElementContents: (text: string) => Element[];
4
+ export declare const patchSpaceAttribute: (element: Element) => Element;
5
+ export declare const getFirstLevelElements: (relationships: Element, id: string) => Element[];
@@ -1,3 +1,3 @@
1
- export declare class Utility {
2
- static jsonify(obj: object): any;
3
- }
1
+ export declare class Utility {
2
+ static jsonify(obj: object): any;
3
+ }
@@ -1,4 +1,4 @@
1
- export declare const convertMillimetersToTwip: (millimeters: number) => number;
2
- export declare const convertInchesToTwip: (inches: number) => number;
3
- export declare const uniqueNumericId: () => number;
4
- export declare const uniqueId: () => string;
1
+ export declare const convertMillimetersToTwip: (millimeters: number) => number;
2
+ export declare const convertInchesToTwip: (inches: number) => number;
3
+ export declare const uniqueNumericId: () => number;
4
+ export declare const uniqueId: () => string;
@@ -1,2 +1,2 @@
1
- export * from "./convenience-functions";
2
- export * from "./values";
1
+ export * from "./convenience-functions";
2
+ export * from "./values";
@@ -1,17 +1,20 @@
1
- export declare const decimalNumber: (val: number) => number;
2
- export declare const unsignedDecimalNumber: (val: number) => number;
3
- export declare const longHexNumber: (val: string) => string;
4
- export declare const shortHexNumber: (val: string) => string;
5
- export declare const uCharHexNumber: (val: string) => string;
6
- export declare const universalMeasureValue: (val: string) => string;
7
- export declare const positiveUniversalMeasureValue: (val: string) => string;
8
- export declare const hexColorValue: (val: string) => string;
9
- export declare const signedTwipsMeasureValue: (val: string | number) => string | number;
10
- export declare const hpsMeasureValue: (val: string | number) => string | number;
11
- export declare const signedHpsMeasureValue: (val: string | number) => string | number;
12
- export declare const twipsMeasureValue: (val: string | number) => string | number;
13
- export declare const percentageValue: (val: string) => string;
14
- export declare const measurementOrPercentValue: (val: number | string) => number | string;
15
- export declare const eighthPointMeasureValue: (val: number) => number;
16
- export declare const pointMeasureValue: (val: number) => number;
17
- export declare const dateTimeValue: (val: Date) => string;
1
+ export type UniversalMeasure = `${"-" | ""}${number}${"mm" | "cm" | "in" | "pt" | "pc" | "pi"}`;
2
+ export type PositiveUniversalMeasure = `${number}${"mm" | "cm" | "in" | "pt" | "pc" | "pi"}`;
3
+ export type Percentage = `${"-" | ""}${number}%`;
4
+ export declare const decimalNumber: (val: number) => number;
5
+ export declare const unsignedDecimalNumber: (val: number) => number;
6
+ export declare const longHexNumber: (val: string) => string;
7
+ export declare const shortHexNumber: (val: string) => string;
8
+ export declare const uCharHexNumber: (val: string) => string;
9
+ export declare const universalMeasureValue: (val: UniversalMeasure) => UniversalMeasure;
10
+ export declare const positiveUniversalMeasureValue: (val: PositiveUniversalMeasure) => PositiveUniversalMeasure;
11
+ export declare const hexColorValue: (val: string) => string;
12
+ export declare const signedTwipsMeasureValue: (val: UniversalMeasure | number) => UniversalMeasure | number;
13
+ export declare const hpsMeasureValue: (val: PositiveUniversalMeasure | number) => string | number;
14
+ export declare const signedHpsMeasureValue: (val: UniversalMeasure | number) => string | number;
15
+ export declare const twipsMeasureValue: (val: PositiveUniversalMeasure | number) => PositiveUniversalMeasure | number;
16
+ export declare const percentageValue: (val: Percentage) => Percentage;
17
+ export declare const measurementOrPercentValue: (val: number | Percentage | UniversalMeasure) => number | UniversalMeasure | Percentage;
18
+ export declare const eighthPointMeasureValue: (val: number) => number;
19
+ export declare const pointMeasureValue: (val: number) => number;
20
+ export declare const dateTimeValue: (val: Date) => string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "docx",
3
- "version": "7.8.1",
3
+ "version": "8.0.0",
4
4
  "description": "Easily generate .docx files with JS/TS with a nice declarative API. Works for Node and on the Browser.",
5
5
  "main": "build/index.js",
6
6
  "scripts": {
@@ -52,7 +52,7 @@
52
52
  "dependencies": {
53
53
  "@types/node": "^18.0.0",
54
54
  "jszip": "^3.1.5",
55
- "nanoid": "^3.1.20",
55
+ "nanoid": "^3.3.4",
56
56
  "xml": "^1.0.1",
57
57
  "xml-js": "^1.6.8"
58
58
  },
@@ -64,6 +64,7 @@
64
64
  "homepage": "https://github.com/dolanmiu/docx#readme",
65
65
  "devDependencies": {
66
66
  "@types/chai": "^4.2.15",
67
+ "@types/chai-as-promised": "^7.1.5",
67
68
  "@types/glob": "^8.0.0",
68
69
  "@types/mocha": "^10.0.0",
69
70
  "@types/prompt": "^1.1.1",
@@ -76,16 +77,17 @@
76
77
  "@typescript-eslint/parser": "^5.36.1",
77
78
  "buffer": "^6.0.3",
78
79
  "chai": "^4.3.6",
80
+ "chai-as-promised": "^7.1.1",
79
81
  "cspell": "^6.2.2",
80
82
  "docsify-cli": "^4.3.0",
81
83
  "eslint": "^8.23.0",
82
- "eslint-plugin-functional": "^4.3.1",
84
+ "eslint-plugin-functional": "^5.0.1",
83
85
  "eslint-plugin-import": "^2.26.0",
84
- "eslint-plugin-jsdoc": "^39.3.6",
86
+ "eslint-plugin-jsdoc": "^40.0.0",
85
87
  "eslint-plugin-no-null": "^1.0.2",
86
88
  "eslint-plugin-prefer-arrow": "^1.2.3",
87
- "eslint-plugin-unicorn": "^45.0.0",
88
- "glob": "^8.0.1",
89
+ "eslint-plugin-unicorn": "^46.0.0",
90
+ "glob": "^9.3.0",
89
91
  "jszip": "^3.1.5",
90
92
  "mocha": "^10.0.0",
91
93
  "nyc": "^15.1.0",
@@ -96,7 +98,7 @@
96
98
  "replace-in-file": "^6.2.0",
97
99
  "request": "^2.88.0",
98
100
  "request-promise": "^4.2.2",
99
- "rimraf": "^3.0.2",
101
+ "rimraf": "^4.0.4",
100
102
  "shelljs": "^0.8.4",
101
103
  "sinon": "^15.0.0",
102
104
  "stream-browserify": "^3.0.0",
@@ -105,7 +107,7 @@
105
107
  "tsconfig-paths": "^4.0.0",
106
108
  "tsconfig-paths-webpack-plugin": "^4.0.0",
107
109
  "typedoc": "^0.23.2",
108
- "typescript": "4.9.4",
110
+ "typescript": "5.0.2",
109
111
  "unzipper": "^0.10.11",
110
112
  "webpack": "^5.28.0",
111
113
  "webpack-cli": "^5.0.0"
@@ -2,7 +2,7 @@ import { BaseXmlComponent, IContext, IXmlableObject } from "@file/xml-components
2
2
 
3
3
  export class Formatter {
4
4
  // tslint:disable-next-line: no-object-literal-type-assertion
5
- public format(input: BaseXmlComponent, context: IContext = {} as IContext): IXmlableObject {
5
+ public format(input: BaseXmlComponent, context: IContext = { stack: [] } as unknown as IContext): IXmlableObject {
6
6
  const output = input.prepForXml(context);
7
7
 
8
8
  if (output) {
@@ -59,9 +59,8 @@ export class Compiler {
59
59
  }
60
60
  }
61
61
 
62
- for (const data of file.Media.Array) {
63
- const mediaData = data.stream;
64
- zip.file(`word/media/${data.fileName}`, mediaData);
62
+ for (const { stream, fileName } of file.Media.Array) {
63
+ zip.file(`word/media/${fileName}`, stream);
65
64
  }
66
65
 
67
66
  return zip;
@@ -74,6 +73,7 @@ export class Compiler {
74
73
  this.formatter.format(file.Document.View, {
75
74
  viewWrapper: file.Document,
76
75
  file,
76
+ stack: [],
77
77
  }),
78
78
  {
79
79
  indent: prettify,
@@ -100,6 +100,7 @@ export class Compiler {
100
100
  this.formatter.format(file.Document.Relationships, {
101
101
  viewWrapper: file.Document,
102
102
  file,
103
+ stack: [],
103
104
  }),
104
105
  {
105
106
  indent: prettify,
@@ -125,6 +126,7 @@ export class Compiler {
125
126
  this.formatter.format(file.Styles, {
126
127
  viewWrapper: file.Document,
127
128
  file,
129
+ stack: [],
128
130
  }),
129
131
  {
130
132
  indent: prettify,
@@ -144,6 +146,7 @@ export class Compiler {
144
146
  this.formatter.format(file.CoreProperties, {
145
147
  viewWrapper: file.Document,
146
148
  file,
149
+ stack: [],
147
150
  }),
148
151
  {
149
152
  indent: prettify,
@@ -160,6 +163,7 @@ export class Compiler {
160
163
  this.formatter.format(file.Numbering, {
161
164
  viewWrapper: file.Document,
162
165
  file,
166
+ stack: [],
163
167
  }),
164
168
  {
165
169
  indent: prettify,
@@ -176,6 +180,7 @@ export class Compiler {
176
180
  this.formatter.format(file.FileRelationships, {
177
181
  viewWrapper: file.Document,
178
182
  file,
183
+ stack: [],
179
184
  }),
180
185
  {
181
186
  indent: prettify,
@@ -191,6 +196,7 @@ export class Compiler {
191
196
  this.formatter.format(headerWrapper.View, {
192
197
  viewWrapper: headerWrapper,
193
198
  file,
199
+ stack: [],
194
200
  }),
195
201
  {
196
202
  indent: prettify,
@@ -214,6 +220,7 @@ export class Compiler {
214
220
  this.formatter.format(headerWrapper.Relationships, {
215
221
  viewWrapper: headerWrapper,
216
222
  file,
223
+ stack: [],
217
224
  }),
218
225
  {
219
226
  indent: prettify,
@@ -230,6 +237,7 @@ export class Compiler {
230
237
  this.formatter.format(footerWrapper.View, {
231
238
  viewWrapper: footerWrapper,
232
239
  file,
240
+ stack: [],
233
241
  }),
234
242
  {
235
243
  indent: prettify,
@@ -253,6 +261,7 @@ export class Compiler {
253
261
  this.formatter.format(footerWrapper.Relationships, {
254
262
  viewWrapper: footerWrapper,
255
263
  file,
264
+ stack: [],
256
265
  }),
257
266
  {
258
267
  indent: prettify,
@@ -269,6 +278,7 @@ export class Compiler {
269
278
  this.formatter.format(headerWrapper.View, {
270
279
  viewWrapper: headerWrapper,
271
280
  file,
281
+ stack: [],
272
282
  }),
273
283
  {
274
284
  indent: prettify,
@@ -293,6 +303,7 @@ export class Compiler {
293
303
  this.formatter.format(footerWrapper.View, {
294
304
  viewWrapper: footerWrapper,
295
305
  file,
306
+ stack: [],
296
307
  }),
297
308
  {
298
309
  indent: prettify,
@@ -317,6 +328,7 @@ export class Compiler {
317
328
  this.formatter.format(file.ContentTypes, {
318
329
  viewWrapper: file.Document,
319
330
  file,
331
+ stack: [],
320
332
  }),
321
333
  {
322
334
  indent: prettify,
@@ -332,6 +344,7 @@ export class Compiler {
332
344
  this.formatter.format(file.CustomProperties, {
333
345
  viewWrapper: file.Document,
334
346
  file,
347
+ stack: [],
335
348
  }),
336
349
  {
337
350
  indent: prettify,
@@ -348,6 +361,7 @@ export class Compiler {
348
361
  this.formatter.format(file.AppProperties, {
349
362
  viewWrapper: file.Document,
350
363
  file,
364
+ stack: [],
351
365
  }),
352
366
  {
353
367
  indent: prettify,
@@ -363,7 +377,8 @@ export class Compiler {
363
377
  data: xml(
364
378
  this.formatter.format(file.FootNotes.View, {
365
379
  viewWrapper: file.FootNotes,
366
- file: file,
380
+ file,
381
+ stack: [],
367
382
  }),
368
383
  {
369
384
  indent: prettify,
@@ -378,7 +393,8 @@ export class Compiler {
378
393
  data: xml(
379
394
  this.formatter.format(file.FootNotes.Relationships, {
380
395
  viewWrapper: file.FootNotes,
381
- file: file,
396
+ file,
397
+ stack: [],
382
398
  }),
383
399
  {
384
400
  indent: prettify,
@@ -394,6 +410,7 @@ export class Compiler {
394
410
  this.formatter.format(file.Settings, {
395
411
  viewWrapper: file.Document,
396
412
  file,
413
+ stack: [],
397
414
  }),
398
415
  {
399
416
  indent: prettify,
@@ -410,6 +427,7 @@ export class Compiler {
410
427
  this.formatter.format(file.Comments, {
411
428
  viewWrapper: file.Document,
412
429
  file,
430
+ stack: [],
413
431
  }),
414
432
  {
415
433
  indent: prettify,
@@ -1,25 +1,23 @@
1
- import { XmlAttributeComponent, XmlComponent } from "@file/xml-components";
2
- import { twipsMeasureValue } from "@util/values";
1
+ import { NextAttributeComponent, XmlComponent } from "@file/xml-components";
2
+ import { PositiveUniversalMeasure, twipsMeasureValue } from "@util/values";
3
3
 
4
- export interface IColumnAttributes {
5
- readonly width: number | string;
6
- readonly space?: number | string;
7
- }
4
+ // <xsd:complexType name="CT_Column">
5
+ // <xsd:attribute name="w" type="s:ST_TwipsMeasure" use="optional" />
6
+ // <xsd:attribute name="space" type="s:ST_TwipsMeasure" use="optional" default="0" />
7
+ // </xsd:complexType>
8
8
 
9
- export class ColumnAttributes extends XmlAttributeComponent<IColumnAttributes> {
10
- protected readonly xmlKeys = {
11
- width: "w:w",
12
- space: "w:space",
13
- };
14
- }
9
+ type IColumnAttributes = {
10
+ readonly width: number | PositiveUniversalMeasure;
11
+ readonly space?: number | PositiveUniversalMeasure;
12
+ };
15
13
 
16
14
  export class Column extends XmlComponent {
17
15
  public constructor({ width, space }: IColumnAttributes) {
18
16
  super("w:col");
19
17
  this.root.push(
20
- new ColumnAttributes({
21
- width: twipsMeasureValue(width),
22
- space: space === undefined ? undefined : twipsMeasureValue(space),
18
+ new NextAttributeComponent<IColumnAttributes>({
19
+ width: { key: "w:w", value: twipsMeasureValue(width) },
20
+ space: { key: "w:space", value: space === undefined ? undefined : twipsMeasureValue(space) },
23
21
  }),
24
22
  );
25
23
  }
@@ -1,5 +1,5 @@
1
- import { XmlAttributeComponent, XmlComponent } from "@file/xml-components";
2
- import { decimalNumber, twipsMeasureValue } from "@util/values";
1
+ import { NextAttributeComponent, XmlComponent } from "@file/xml-components";
2
+ import { decimalNumber, PositiveUniversalMeasure, twipsMeasureValue } from "@util/values";
3
3
 
4
4
  import { Column } from "./column";
5
5
 
@@ -12,32 +12,23 @@ import { Column } from "./column";
12
12
  // <xsd:attribute name="num" type="ST_DecimalNumber" use="optional" default="1"/>
13
13
  // <xsd:attribute name="sep" type="s:ST_OnOff" use="optional"/>
14
14
  // </xsd:complexType>
15
- export interface IColumnsAttributes {
16
- readonly space?: number | string;
15
+ export type IColumnsAttributes = {
16
+ readonly space?: number | PositiveUniversalMeasure;
17
17
  readonly count?: number;
18
18
  readonly separate?: boolean;
19
19
  readonly equalWidth?: boolean;
20
20
  readonly children?: readonly Column[];
21
- }
22
-
23
- export class ColumnsAttributes extends XmlAttributeComponent<IColumnsAttributes> {
24
- protected readonly xmlKeys = {
25
- space: "w:space",
26
- count: "w:num",
27
- separate: "w:sep",
28
- equalWidth: "w:equalWidth",
29
- };
30
- }
21
+ };
31
22
 
32
23
  export class Columns extends XmlComponent {
33
24
  public constructor({ space, count, separate, equalWidth, children }: IColumnsAttributes) {
34
25
  super("w:cols");
35
26
  this.root.push(
36
- new ColumnsAttributes({
37
- space: space === undefined ? undefined : twipsMeasureValue(space),
38
- count: count === undefined ? undefined : decimalNumber(count),
39
- separate,
40
- equalWidth,
27
+ new NextAttributeComponent<Omit<IColumnsAttributes, "children">>({
28
+ space: { key: "w:space", value: space === undefined ? undefined : twipsMeasureValue(space) },
29
+ count: { key: "w:num", value: count === undefined ? undefined : decimalNumber(count) },
30
+ separate: { key: "w:sep", value: separate },
31
+ equalWidth: { key: "w:equalWidth", value: equalWidth },
41
32
  }),
42
33
  );
43
34
 
@@ -1,6 +1,6 @@
1
1
  // http://officeopenxml.com/WPsectionLineNumbering.php
2
- import { XmlAttributeComponent, XmlComponent } from "@file/xml-components";
3
- import { decimalNumber, twipsMeasureValue } from "@util/values";
2
+ import { NextAttributeComponent, XmlComponent } from "@file/xml-components";
3
+ import { decimalNumber, PositiveUniversalMeasure, twipsMeasureValue } from "@util/values";
4
4
 
5
5
  // <xsd:simpleType name="ST_LineNumberRestart">
6
6
  // <xsd:restriction base="xsd:string">
@@ -26,27 +26,23 @@ export interface ILineNumberAttributes {
26
26
  readonly countBy?: number;
27
27
  readonly start?: number;
28
28
  readonly restart?: LineNumberRestartFormat;
29
- readonly distance?: number | string;
30
- }
31
-
32
- export class LineNumberAttributes extends XmlAttributeComponent<ILineNumberAttributes> {
33
- protected readonly xmlKeys = {
34
- countBy: "w:countBy",
35
- start: "w:start",
36
- restart: "w:restart",
37
- distance: "w:distance",
38
- };
29
+ readonly distance?: number | PositiveUniversalMeasure;
39
30
  }
40
31
 
41
32
  export class LineNumberType extends XmlComponent {
42
33
  public constructor({ countBy, start, restart, distance }: ILineNumberAttributes) {
43
34
  super("w:lnNumType");
44
35
  this.root.push(
45
- new LineNumberAttributes({
46
- countBy: countBy === undefined ? undefined : decimalNumber(countBy),
47
- start: start === undefined ? undefined : decimalNumber(start),
48
- restart,
49
- distance: distance === undefined ? undefined : twipsMeasureValue(distance),
36
+ new NextAttributeComponent<{
37
+ readonly countBy?: number;
38
+ readonly start?: number;
39
+ readonly restart?: LineNumberRestartFormat;
40
+ readonly distance?: number | PositiveUniversalMeasure;
41
+ }>({
42
+ countBy: { key: "w:countBy", value: countBy === undefined ? undefined : decimalNumber(countBy) },
43
+ start: { key: "w:start", value: start === undefined ? undefined : decimalNumber(start) },
44
+ restart: { key: "w:restart", value: restart },
45
+ distance: { key: "w:distance", value: distance === undefined ? undefined : twipsMeasureValue(distance) },
50
46
  }),
51
47
  );
52
48
  }
@@ -75,7 +75,7 @@ export class PageBorders extends IgnoreIfEmptyXmlComponent {
75
75
  super("w:pgBorders");
76
76
 
77
77
  if (!options) {
78
- return;
78
+ return this;
79
79
  }
80
80
 
81
81
  if (options.pageBorders) {
@@ -1,5 +1,5 @@
1
- import { XmlAttributeComponent, XmlComponent } from "@file/xml-components";
2
- import { signedTwipsMeasureValue, twipsMeasureValue } from "@util/values";
1
+ import { NextAttributeComponent, XmlComponent } from "@file/xml-components";
2
+ import { PositiveUniversalMeasure, signedTwipsMeasureValue, twipsMeasureValue, UniversalMeasure } from "@util/values";
3
3
 
4
4
  // <xsd:complexType name="CT_PageMar">
5
5
  // <xsd:attribute name="top" type="ST_SignedTwipsMeasure" use="required"/>
@@ -10,48 +10,36 @@ import { signedTwipsMeasureValue, twipsMeasureValue } from "@util/values";
10
10
  // <xsd:attribute name="footer" type="s:ST_TwipsMeasure" use="required"/>
11
11
  // <xsd:attribute name="gutter" type="s:ST_TwipsMeasure" use="required"/>
12
12
  // </xsd:complexType>
13
- export interface IPageMarginAttributes {
14
- readonly top?: number | string;
15
- readonly right?: number | string;
16
- readonly bottom?: number | string;
17
- readonly left?: number | string;
18
- readonly header?: number | string;
19
- readonly footer?: number | string;
20
- readonly gutter?: number | string;
21
- }
22
-
23
- export class PageMarginAttributes extends XmlAttributeComponent<IPageMarginAttributes> {
24
- protected readonly xmlKeys = {
25
- top: "w:top",
26
- right: "w:right",
27
- bottom: "w:bottom",
28
- left: "w:left",
29
- header: "w:header",
30
- footer: "w:footer",
31
- gutter: "w:gutter",
32
- };
33
- }
13
+ export type IPageMarginAttributes = {
14
+ readonly top?: number | UniversalMeasure;
15
+ readonly right?: number | PositiveUniversalMeasure;
16
+ readonly bottom?: number | UniversalMeasure;
17
+ readonly left?: number | PositiveUniversalMeasure;
18
+ readonly header?: number | PositiveUniversalMeasure;
19
+ readonly footer?: number | PositiveUniversalMeasure;
20
+ readonly gutter?: number | PositiveUniversalMeasure;
21
+ };
34
22
 
35
23
  export class PageMargin extends XmlComponent {
36
24
  public constructor(
37
- top: number | string,
38
- right: number | string,
39
- bottom: number | string,
40
- left: number | string,
41
- header: number | string,
42
- footer: number | string,
43
- gutter: number | string,
25
+ top: number | UniversalMeasure,
26
+ right: number | PositiveUniversalMeasure,
27
+ bottom: number | UniversalMeasure,
28
+ left: number | PositiveUniversalMeasure,
29
+ header: number | PositiveUniversalMeasure,
30
+ footer: number | PositiveUniversalMeasure,
31
+ gutter: number | PositiveUniversalMeasure,
44
32
  ) {
45
33
  super("w:pgMar");
46
34
  this.root.push(
47
- new PageMarginAttributes({
48
- top: signedTwipsMeasureValue(top),
49
- right: twipsMeasureValue(right),
50
- bottom: signedTwipsMeasureValue(bottom),
51
- left: twipsMeasureValue(left),
52
- header: twipsMeasureValue(header),
53
- footer: twipsMeasureValue(footer),
54
- gutter: twipsMeasureValue(gutter),
35
+ new NextAttributeComponent<IPageMarginAttributes>({
36
+ top: { key: "w:top", value: signedTwipsMeasureValue(top) },
37
+ right: { key: "w:right", value: twipsMeasureValue(right) },
38
+ bottom: { key: "w:bottom", value: signedTwipsMeasureValue(bottom) },
39
+ left: { key: "w:left", value: twipsMeasureValue(left) },
40
+ header: { key: "w:header", value: twipsMeasureValue(header) },
41
+ footer: { key: "w:footer", value: twipsMeasureValue(footer) },
42
+ gutter: { key: "w:gutter", value: twipsMeasureValue(gutter) },
55
43
  }),
56
44
  );
57
45
  }