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
package/src/file/file.ts CHANGED
@@ -4,22 +4,19 @@ import { CoreProperties, IPropertiesOptions } from "./core-properties";
4
4
  import { CustomProperties } from "./custom-properties";
5
5
  import { DocumentWrapper } from "./document-wrapper";
6
6
  import { HeaderFooterReferenceType, ISectionPropertiesOptions } from "./document/body/section-properties";
7
- import { IFileProperties } from "./file-properties";
8
7
  import { FooterWrapper, IDocumentFooter } from "./footer-wrapper";
9
8
  import { FootnotesWrapper } from "./footnotes-wrapper";
10
9
  import { Footer, Header } from "./header";
11
10
  import { HeaderWrapper, IDocumentHeader } from "./header-wrapper";
12
11
  import { Media } from "./media";
13
12
  import { Numbering } from "./numbering";
14
- import { Paragraph } from "./paragraph";
15
13
  import { Comments } from "./paragraph/run/comment-run";
16
14
  import { Relationships } from "./relationships";
17
15
  import { Settings } from "./settings";
18
16
  import { Styles } from "./styles";
19
17
  import { ExternalStylesFactory } from "./styles/external-styles-factory";
20
18
  import { DefaultStylesFactory } from "./styles/factory";
21
- import { Table } from "./table";
22
- import { TableOfContents } from "./table-of-contents";
19
+ import { FileChild } from "./file-child";
23
20
 
24
21
  export interface ISectionOptions {
25
22
  readonly headers?: {
@@ -33,7 +30,7 @@ export interface ISectionOptions {
33
30
  readonly even?: Footer;
34
31
  };
35
32
  readonly properties?: ISectionPropertiesOptions;
36
- readonly children: readonly (Paragraph | Table | TableOfContents)[];
33
+ readonly children: readonly FileChild[];
37
34
  }
38
35
 
39
36
  export class File {
@@ -57,7 +54,7 @@ export class File {
57
54
  private readonly styles: Styles;
58
55
  private readonly comments: Comments;
59
56
 
60
- public constructor(options: IPropertiesOptions, fileProperties: IFileProperties = {}) {
57
+ public constructor(options: IPropertiesOptions) {
61
58
  this.coreProperties = new CoreProperties({
62
59
  ...options,
63
60
  creator: options.creator ?? "Un-named",
@@ -82,20 +79,9 @@ export class File {
82
79
  updateFields: options.features?.updateFields,
83
80
  });
84
81
 
85
- this.media = fileProperties.template && fileProperties.template.media ? fileProperties.template.media : new Media();
82
+ this.media = new Media();
86
83
 
87
- if (fileProperties.template) {
88
- this.currentRelationshipId = fileProperties.template.currentRelationshipId + 1;
89
- }
90
-
91
- // set up styles
92
- if (fileProperties.template && options.externalStyles) {
93
- throw Error("can not use both template and external styles");
94
- }
95
- if (fileProperties.template && fileProperties.template.styles) {
96
- const stylesFactory = new ExternalStylesFactory();
97
- this.styles = stylesFactory.newInstance(fileProperties.template.styles);
98
- } else if (options.externalStyles) {
84
+ if (options.externalStyles) {
99
85
  const stylesFactory = new ExternalStylesFactory();
100
86
  this.styles = stylesFactory.newInstance(options.externalStyles);
101
87
  } else if (options.styles) {
@@ -112,18 +98,6 @@ export class File {
112
98
 
113
99
  this.addDefaultRelationships();
114
100
 
115
- if (fileProperties.template && fileProperties.template.headers) {
116
- for (const templateHeader of fileProperties.template.headers) {
117
- this.addHeaderToDocument(templateHeader.header, templateHeader.type);
118
- }
119
- }
120
-
121
- if (fileProperties.template && fileProperties.template.footers) {
122
- for (const templateFooter of fileProperties.template.footers) {
123
- this.addFooterToDocument(templateFooter.footer, templateFooter.type);
124
- }
125
- }
126
-
127
101
  for (const section of options.sections) {
128
102
  this.addSection(section);
129
103
  }
package/src/file/index.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  export * from "./paragraph";
2
2
  export * from "./table";
3
3
  export * from "./file";
4
- export * from "./file-properties";
5
4
  export * from "./numbering";
6
5
  export * from "./media";
7
6
  export * from "./drawing";
@@ -15,96 +15,30 @@ describe("Media", () => {
15
15
  (convenienceFunctions.uniqueId as SinonStub).restore();
16
16
  });
17
17
 
18
- describe("#addMedia", () => {
19
- it("should add media", () => {
20
- const image = new Media().addMedia("", {
21
- width: 100,
22
- height: 100,
23
- });
24
- expect(image.fileName).to.equal("test.png");
25
- expect(image.transformation).to.deep.equal({
26
- pixels: {
27
- x: 100,
28
- y: 100,
29
- },
30
- flip: undefined,
31
- emus: {
32
- x: 952500,
33
- y: 952500,
34
- },
35
- rotation: undefined,
36
- });
37
- });
38
-
39
- it("should return UInt8Array if atob is present", () => {
40
- // eslint-disable-next-line functional/immutable-data
41
- global.atob = () => "atob result";
42
-
43
- const image = new Media().addMedia("", {
44
- width: 100,
45
- height: 100,
46
- });
47
- expect(image.stream).to.be.an.instanceof(Uint8Array);
48
-
49
- // eslint-disable-next-line @typescript-eslint/no-explicit-any, functional/immutable-data
50
- (global as any).atob = undefined;
51
- });
52
-
53
- it("should use data as is if its not a string", () => {
54
- // eslint-disable-next-line functional/immutable-data
55
- global.atob = () => "atob result";
56
-
57
- const image = new Media().addMedia(Buffer.from(""), {
58
- width: 100,
59
- height: 100,
60
- });
61
- expect(image.stream).to.be.an.instanceof(Uint8Array);
62
-
63
- // eslint-disable-next-line @typescript-eslint/no-explicit-any, functional/immutable-data
64
- (global as any).atob = undefined;
65
- });
66
- });
67
-
68
- describe("#addImage", () => {
69
- it("should add media", () => {
18
+ describe("#Array", () => {
19
+ it("Get images as array", () => {
70
20
  const media = new Media();
71
- media.addMedia("", {
72
- width: 100,
73
- height: 100,
74
- });
75
21
 
76
22
  media.addImage("test2.png", {
77
23
  stream: Buffer.from(""),
78
- fileName: "",
24
+ fileName: "test.png",
79
25
  transformation: {
80
26
  pixels: {
81
- x: Math.round(1),
82
- y: Math.round(1),
27
+ x: Math.round(100),
28
+ y: Math.round(100),
29
+ },
30
+ flip: {
31
+ vertical: true,
32
+ horizontal: true,
83
33
  },
84
34
  emus: {
85
35
  x: Math.round(1 * 9525),
86
36
  y: Math.round(1 * 9525),
87
37
  },
38
+ rotation: 90,
88
39
  },
89
40
  });
90
41
 
91
- expect(media.Array).to.be.lengthOf(2);
92
- });
93
- });
94
-
95
- describe("#Array", () => {
96
- it("Get images as array", () => {
97
- const media = new Media();
98
- media.addMedia("", {
99
- width: 100,
100
- height: 100,
101
- flip: {
102
- vertical: true,
103
- horizontal: true,
104
- },
105
- rotation: 90,
106
- });
107
-
108
42
  const array = media.Array;
109
43
  expect(array).to.be.an.instanceof(Array);
110
44
  expect(array.length).to.equal(1);
@@ -121,10 +55,10 @@ describe("Media", () => {
121
55
  horizontal: true,
122
56
  },
123
57
  emus: {
124
- x: 952500,
125
- y: 952500,
58
+ x: 9525,
59
+ y: 9525,
126
60
  },
127
- rotation: 5400000,
61
+ rotation: 90,
128
62
  });
129
63
  });
130
64
  });
@@ -1,5 +1,3 @@
1
- import { uniqueId } from "@util/convenience-functions";
2
-
3
1
  import { IMediaData } from "./data";
4
2
 
5
3
  export interface IMediaTransformation {
@@ -20,33 +18,6 @@ export class Media {
20
18
  this.map = new Map<string, IMediaData>();
21
19
  }
22
20
 
23
- public addMedia(data: Buffer | string | Uint8Array | ArrayBuffer, transformation: IMediaTransformation): IMediaData {
24
- const key = `${uniqueId()}.png`;
25
-
26
- const newData = typeof data === "string" ? this.convertDataURIToBinary(data) : data;
27
-
28
- const imageData: IMediaData = {
29
- stream: newData,
30
- fileName: key,
31
- transformation: {
32
- pixels: {
33
- x: Math.round(transformation.width),
34
- y: Math.round(transformation.height),
35
- },
36
- emus: {
37
- x: Math.round(transformation.width * 9525),
38
- y: Math.round(transformation.height * 9525),
39
- },
40
- flip: transformation.flip,
41
- rotation: transformation.rotation ? transformation.rotation * 60000 : undefined,
42
- },
43
- };
44
-
45
- this.map.set(key, imageData);
46
-
47
- return imageData;
48
- }
49
-
50
21
  public addImage(key: string, mediaData: IMediaData): void {
51
22
  this.map.set(key, mediaData);
52
23
  }
@@ -54,24 +25,4 @@ export class Media {
54
25
  public get Array(): readonly IMediaData[] {
55
26
  return Array.from(this.map.values());
56
27
  }
57
-
58
- private convertDataURIToBinary(dataURI: string): Uint8Array {
59
- // https://gist.github.com/borismus/1032746
60
- // https://github.com/mafintosh/base64-to-uint8array
61
- const BASE64_MARKER = ";base64,";
62
-
63
- const base64Index = dataURI.indexOf(BASE64_MARKER) + BASE64_MARKER.length;
64
-
65
- if (typeof atob === "function") {
66
- return new Uint8Array(
67
- atob(dataURI.substring(base64Index))
68
- .split("")
69
- .map((c) => c.charCodeAt(0)),
70
- );
71
- } else {
72
- // eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
73
- const b = require("buf" + "fer");
74
- return new b.Buffer(dataURI, "base64");
75
- }
76
- }
77
28
  }
@@ -12,9 +12,11 @@ describe("ConcreteNumbering", () => {
12
12
  abstractNumId: 1,
13
13
  reference: "1",
14
14
  instance: 0,
15
- overrideLevel: {
16
- num: 3,
17
- },
15
+ overrideLevels: [
16
+ {
17
+ num: 3,
18
+ },
19
+ ],
18
20
  });
19
21
 
20
22
  const tree = new Formatter().format(concreteNumbering);
@@ -44,16 +46,113 @@ describe("ConcreteNumbering", () => {
44
46
  });
45
47
  });
46
48
 
49
+ it("sets a new override level for two different level numbers", () => {
50
+ const concreteNumbering = new ConcreteNumbering({
51
+ numId: 0,
52
+ abstractNumId: 1,
53
+ reference: "1",
54
+ instance: 0,
55
+ overrideLevels: [{ num: 3 }, { num: 5 }],
56
+ });
57
+
58
+ const tree = new Formatter().format(concreteNumbering);
59
+
60
+ expect(tree).to.deep.equal({
61
+ "w:num": [
62
+ {
63
+ _attr: {
64
+ "w:numId": 0,
65
+ },
66
+ },
67
+ {
68
+ "w:abstractNumId": {
69
+ _attr: {
70
+ "w:val": 1,
71
+ },
72
+ },
73
+ },
74
+ {
75
+ "w:lvlOverride": {
76
+ _attr: {
77
+ "w:ilvl": 3,
78
+ },
79
+ },
80
+ },
81
+ {
82
+ "w:lvlOverride": {
83
+ _attr: {
84
+ "w:ilvl": 5,
85
+ },
86
+ },
87
+ },
88
+ ],
89
+ });
90
+ });
91
+
47
92
  it("sets the startOverride element if start is given", () => {
48
93
  const concreteNumbering = new ConcreteNumbering({
49
94
  numId: 0,
50
95
  abstractNumId: 1,
51
96
  reference: "1",
52
97
  instance: 0,
53
- overrideLevel: {
54
- num: 1,
55
- start: 9,
56
- },
98
+ overrideLevels: [
99
+ {
100
+ num: 1,
101
+ start: 9,
102
+ },
103
+ ],
104
+ });
105
+ const tree = new Formatter().format(concreteNumbering);
106
+ expect(tree).to.deep.equal({
107
+ "w:num": [
108
+ {
109
+ _attr: {
110
+ "w:numId": 0,
111
+ },
112
+ },
113
+ {
114
+ "w:abstractNumId": {
115
+ _attr: {
116
+ "w:val": 1,
117
+ },
118
+ },
119
+ },
120
+ {
121
+ "w:lvlOverride": [
122
+ {
123
+ _attr: {
124
+ "w:ilvl": 1,
125
+ },
126
+ },
127
+ {
128
+ "w:startOverride": {
129
+ _attr: {
130
+ "w:val": 9,
131
+ },
132
+ },
133
+ },
134
+ ],
135
+ },
136
+ ],
137
+ });
138
+ });
139
+
140
+ it("sets the startOverride element for several levels if start is given", () => {
141
+ const concreteNumbering = new ConcreteNumbering({
142
+ numId: 0,
143
+ abstractNumId: 1,
144
+ reference: "1",
145
+ instance: 0,
146
+ overrideLevels: [
147
+ {
148
+ num: 1,
149
+ start: 9,
150
+ },
151
+ {
152
+ num: 3,
153
+ start: 10,
154
+ },
155
+ ],
57
156
  });
58
157
  const tree = new Formatter().format(concreteNumbering);
59
158
  expect(tree).to.deep.equal({
@@ -86,6 +185,80 @@ describe("ConcreteNumbering", () => {
86
185
  },
87
186
  ],
88
187
  },
188
+ {
189
+ "w:lvlOverride": [
190
+ {
191
+ _attr: {
192
+ "w:ilvl": 3,
193
+ },
194
+ },
195
+ {
196
+ "w:startOverride": {
197
+ _attr: {
198
+ "w:val": 10,
199
+ },
200
+ },
201
+ },
202
+ ],
203
+ },
204
+ ],
205
+ });
206
+ });
207
+
208
+ it("Mix of overrideLevels with start and without", () => {
209
+ const concreteNumbering = new ConcreteNumbering({
210
+ numId: 0,
211
+ abstractNumId: 1,
212
+ reference: "1",
213
+ instance: 0,
214
+ overrideLevels: [
215
+ {
216
+ num: 1,
217
+ start: 9,
218
+ },
219
+ {
220
+ num: 3,
221
+ },
222
+ ],
223
+ });
224
+ const tree = new Formatter().format(concreteNumbering);
225
+ expect(tree).to.deep.equal({
226
+ "w:num": [
227
+ {
228
+ _attr: {
229
+ "w:numId": 0,
230
+ },
231
+ },
232
+ {
233
+ "w:abstractNumId": {
234
+ _attr: {
235
+ "w:val": 1,
236
+ },
237
+ },
238
+ },
239
+ {
240
+ "w:lvlOverride": [
241
+ {
242
+ _attr: {
243
+ "w:ilvl": 1,
244
+ },
245
+ },
246
+ {
247
+ "w:startOverride": {
248
+ _attr: {
249
+ "w:val": 9,
250
+ },
251
+ },
252
+ },
253
+ ],
254
+ },
255
+ {
256
+ "w:lvlOverride": {
257
+ _attr: {
258
+ "w:ilvl": 3,
259
+ },
260
+ },
261
+ },
89
262
  ],
90
263
  });
91
264
  });
@@ -96,9 +269,11 @@ describe("ConcreteNumbering", () => {
96
269
  abstractNumId: 1,
97
270
  reference: "1",
98
271
  instance: 0,
99
- overrideLevel: {
100
- num: 1,
101
- },
272
+ overrideLevels: [
273
+ {
274
+ num: 1,
275
+ },
276
+ ],
102
277
  });
103
278
  const tree = new Formatter().format(concreteNumbering);
104
279
  expect(tree).to.deep.equal({
@@ -18,15 +18,17 @@ class NumAttributes extends XmlAttributeComponent<{
18
18
  protected readonly xmlKeys = { numId: "w:numId" };
19
19
  }
20
20
 
21
+ interface IOverrideLevel {
22
+ readonly num: number;
23
+ readonly start?: number;
24
+ }
25
+
21
26
  export interface IConcreteNumberingOptions {
22
27
  readonly numId: number;
23
28
  readonly abstractNumId: number;
24
29
  readonly reference: string;
25
30
  readonly instance: number;
26
- readonly overrideLevel?: {
27
- readonly num: number;
28
- readonly start?: number;
29
- };
31
+ readonly overrideLevels?: readonly IOverrideLevel[];
30
32
  }
31
33
 
32
34
  // <xsd:complexType name="CT_Numbering">
@@ -60,8 +62,10 @@ export class ConcreteNumbering extends XmlComponent {
60
62
 
61
63
  this.root.push(new AbstractNumId(decimalNumber(options.abstractNumId)));
62
64
 
63
- if (options.overrideLevel) {
64
- this.root.push(new LevelOverride(options.overrideLevel.num, options.overrideLevel.start));
65
+ if (options.overrideLevels && options.overrideLevels.length) {
66
+ for (const level of options.overrideLevels) {
67
+ this.root.push(new LevelOverride(level.num, level.start));
68
+ }
65
69
  }
66
70
  }
67
71
  }
@@ -164,10 +164,12 @@ export class Numbering extends XmlComponent {
164
164
  abstractNumId: abstractNumbering.id,
165
165
  reference: "default-bullet-numbering",
166
166
  instance: 0,
167
- overrideLevel: {
168
- num: 0,
169
- start: 1,
170
- },
167
+ overrideLevels: [
168
+ {
169
+ num: 0,
170
+ start: 1,
171
+ },
172
+ ],
171
173
  }),
172
174
  );
173
175
 
@@ -1,39 +1,14 @@
1
1
  // http://officeopenxml.com/WPindentation.php
2
- import { XmlAttributeComponent, XmlComponent } from "@file/xml-components";
3
- import { signedTwipsMeasureValue, twipsMeasureValue } from "@util/values";
2
+ import { NextAttributeComponent, XmlComponent } from "@file/xml-components";
3
+ import { PositiveUniversalMeasure, signedTwipsMeasureValue, twipsMeasureValue, UniversalMeasure } from "@util/values";
4
4
 
5
5
  export interface IIndentAttributesProperties {
6
- readonly start?: number | string;
7
- readonly end?: number | string;
8
- readonly left?: number | string;
9
- readonly right?: number | string;
10
- readonly hanging?: number | string;
11
- readonly firstLine?: number | string;
12
- }
13
-
14
- // <xsd:complexType name="CT_Ind">
15
- // <xsd:attribute name="start" type="ST_SignedTwipsMeasure" use="optional"/>
16
- // <xsd:attribute name="startChars" type="ST_DecimalNumber" use="optional"/>
17
- // <xsd:attribute name="end" type="ST_SignedTwipsMeasure" use="optional"/>
18
- // <xsd:attribute name="endChars" type="ST_DecimalNumber" use="optional"/>
19
- // <xsd:attribute name="left" type="ST_SignedTwipsMeasure" use="optional"/>
20
- // <xsd:attribute name="leftChars" type="ST_DecimalNumber" use="optional"/>
21
- // <xsd:attribute name="right" type="ST_SignedTwipsMeasure" use="optional"/>
22
- // <xsd:attribute name="rightChars" type="ST_DecimalNumber" use="optional"/>
23
- // <xsd:attribute name="hanging" type="s:ST_TwipsMeasure" use="optional"/>
24
- // <xsd:attribute name="hangingChars" type="ST_DecimalNumber" use="optional"/>
25
- // <xsd:attribute name="firstLine" type="s:ST_TwipsMeasure" use="optional"/>
26
- // <xsd:attribute name="firstLineChars" type="ST_DecimalNumber" use="optional"/>
27
- // </xsd:complexType>
28
- class IndentAttributes extends XmlAttributeComponent<IIndentAttributesProperties> {
29
- protected readonly xmlKeys = {
30
- start: "w:start",
31
- end: "w:end",
32
- left: "w:left",
33
- right: "w:right",
34
- hanging: "w:hanging",
35
- firstLine: "w:firstLine",
36
- };
6
+ readonly start?: number | UniversalMeasure;
7
+ readonly end?: number | UniversalMeasure;
8
+ readonly left?: number | UniversalMeasure;
9
+ readonly right?: number | UniversalMeasure;
10
+ readonly hanging?: number | PositiveUniversalMeasure;
11
+ readonly firstLine?: number | PositiveUniversalMeasure;
37
12
  }
38
13
 
39
14
  // <xsd:complexType name="CT_PPrBase">
@@ -43,14 +18,53 @@ class IndentAttributes extends XmlAttributeComponent<IIndentAttributesProperties
43
18
  export class Indent extends XmlComponent {
44
19
  public constructor({ start, end, left, right, hanging, firstLine }: IIndentAttributesProperties) {
45
20
  super("w:ind");
21
+ // <xsd:complexType name="CT_Ind">
22
+ // <xsd:attribute name="start" type="ST_SignedTwipsMeasure" use="optional"/>
23
+ // <xsd:attribute name="startChars" type="ST_DecimalNumber" use="optional"/>
24
+ // <xsd:attribute name="end" type="ST_SignedTwipsMeasure" use="optional"/>
25
+ // <xsd:attribute name="endChars" type="ST_DecimalNumber" use="optional"/>
26
+ // <xsd:attribute name="left" type="ST_SignedTwipsMeasure" use="optional"/>
27
+ // <xsd:attribute name="leftChars" type="ST_DecimalNumber" use="optional"/>
28
+ // <xsd:attribute name="right" type="ST_SignedTwipsMeasure" use="optional"/>
29
+ // <xsd:attribute name="rightChars" type="ST_DecimalNumber" use="optional"/>
30
+ // <xsd:attribute name="hanging" type="s:ST_TwipsMeasure" use="optional"/>
31
+ // <xsd:attribute name="hangingChars" type="ST_DecimalNumber" use="optional"/>
32
+ // <xsd:attribute name="firstLine" type="s:ST_TwipsMeasure" use="optional"/>
33
+ // <xsd:attribute name="firstLineChars" type="ST_DecimalNumber" use="optional"/>
34
+ // </xsd:complexType>
46
35
  this.root.push(
47
- new IndentAttributes({
48
- start: start === undefined ? undefined : signedTwipsMeasureValue(start),
49
- end: end === undefined ? undefined : signedTwipsMeasureValue(end),
50
- left: left === undefined ? undefined : signedTwipsMeasureValue(left),
51
- right: right === undefined ? undefined : signedTwipsMeasureValue(right),
52
- hanging: hanging === undefined ? undefined : twipsMeasureValue(hanging),
53
- firstLine: firstLine === undefined ? undefined : twipsMeasureValue(firstLine),
36
+ new NextAttributeComponent<{
37
+ readonly start?: number | UniversalMeasure;
38
+ readonly end?: number | UniversalMeasure;
39
+ readonly left?: number | UniversalMeasure;
40
+ readonly right?: number | UniversalMeasure;
41
+ readonly hanging?: number | PositiveUniversalMeasure;
42
+ readonly firstLine?: number | PositiveUniversalMeasure;
43
+ }>({
44
+ start: {
45
+ key: "w:start",
46
+ value: start === undefined ? undefined : signedTwipsMeasureValue(start),
47
+ },
48
+ end: {
49
+ key: "w:end",
50
+ value: end === undefined ? undefined : signedTwipsMeasureValue(end),
51
+ },
52
+ left: {
53
+ key: "w:left",
54
+ value: left === undefined ? undefined : signedTwipsMeasureValue(left),
55
+ },
56
+ right: {
57
+ key: "w:right",
58
+ value: right === undefined ? undefined : signedTwipsMeasureValue(right),
59
+ },
60
+ hanging: {
61
+ key: "w:hanging",
62
+ value: hanging === undefined ? undefined : twipsMeasureValue(hanging),
63
+ },
64
+ firstLine: {
65
+ key: "w:firstLine",
66
+ value: firstLine === undefined ? undefined : twipsMeasureValue(firstLine),
67
+ },
54
68
  }),
55
69
  );
56
70
  }
@@ -954,6 +954,7 @@ describe("Paragraph", () => {
954
954
  paragraph.prepForXml({
955
955
  viewWrapper: viewWrapperMock,
956
956
  file: file,
957
+ stack: [],
957
958
  });
958
959
  const tree = new Formatter().format(paragraph);
959
960
  expect(tree).to.deep.equal({