docx 6.0.3 → 7.1.2

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 (726) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +120 -123
  3. package/build/convenience-functions.d.ts +4 -4
  4. package/build/convenience-functions.spec.d.ts +1 -0
  5. package/build/export/formatter.d.ts +4 -4
  6. package/build/export/formatter.spec.d.ts +1 -0
  7. package/build/export/index.d.ts +1 -1
  8. package/build/export/packer/image-replacer.d.ts +5 -5
  9. package/build/export/packer/image-replacer.spec.d.ts +1 -0
  10. package/build/export/packer/next-compiler.d.ts +10 -10
  11. package/build/export/packer/next-compiler.spec.d.ts +1 -0
  12. package/build/export/packer/numbering-replacer.d.ts +4 -4
  13. package/build/export/packer/packer.d.ts +8 -8
  14. package/build/export/packer/packer.spec.d.ts +1 -0
  15. package/build/file/app-properties/app-properties-attributes.d.ts +10 -10
  16. package/build/file/app-properties/app-properties.d.ts +4 -4
  17. package/build/file/{styles/border/border-style.d.ts → border/border.d.ts} +39 -29
  18. package/build/file/border/border.spec.d.ts +1 -0
  19. package/build/file/border/index.d.ts +1 -0
  20. package/build/file/content-types/content-types-attributes.d.ts +8 -8
  21. package/build/file/content-types/content-types.d.ts +6 -6
  22. package/build/file/content-types/content-types.spec.d.ts +1 -0
  23. package/build/file/content-types/default/default-attributes.d.ts +10 -10
  24. package/build/file/content-types/default/default.d.ts +4 -4
  25. package/build/file/content-types/override/override-attributes.d.ts +10 -10
  26. package/build/file/content-types/override/override.d.ts +4 -4
  27. package/build/file/core-properties/index.d.ts +1 -1
  28. package/build/file/core-properties/properties.d.ts +36 -35
  29. package/build/file/core-properties/properties.spec.d.ts +1 -0
  30. package/build/file/custom-properties/custom-properties-attributes.d.ts +10 -10
  31. package/build/file/custom-properties/custom-properties.d.ts +9 -9
  32. package/build/file/custom-properties/custom-properties.spec.d.ts +1 -0
  33. package/build/file/custom-properties/custom-property-attributes.d.ts +12 -12
  34. package/build/file/custom-properties/custom-property.d.ts +11 -11
  35. package/build/file/custom-properties/index.d.ts +2 -2
  36. package/build/file/document/body/body.d.ts +10 -12
  37. package/build/file/document/body/body.spec.d.ts +1 -0
  38. package/build/file/document/body/index.d.ts +2 -2
  39. package/build/file/document/body/section-properties/index.d.ts +2 -9
  40. package/build/file/document/body/section-properties/properties/column.d.ts +14 -0
  41. package/build/file/document/body/section-properties/properties/columns.d.ts +20 -0
  42. package/build/file/document/body/section-properties/properties/columns.spec.d.ts +1 -0
  43. package/build/file/document/body/section-properties/{doc-grid/doc-grid-attributes.d.ts → properties/doc-grid.d.ts} +12 -9
  44. package/build/file/document/body/section-properties/properties/header-footer-reference.d.ts +17 -0
  45. package/build/file/document/body/section-properties/properties/header-footer-reference.spec.d.ts +1 -0
  46. package/build/file/document/body/section-properties/properties/index.d.ts +11 -0
  47. package/build/file/document/body/section-properties/{line-number → properties}/line-number.d.ts +23 -23
  48. package/build/file/document/body/section-properties/{page-border → properties}/page-borders.d.ts +30 -36
  49. package/build/file/document/body/section-properties/properties/page-borders.spec.d.ts +1 -0
  50. package/build/file/document/body/section-properties/properties/page-margin.d.ts +24 -0
  51. package/build/file/document/body/section-properties/properties/page-number.d.ts +24 -0
  52. package/build/file/document/body/section-properties/{page-size/page-size-attributes.d.ts → properties/page-size.d.ts} +20 -17
  53. package/build/file/document/body/section-properties/properties/page-size.spec.d.ts +1 -0
  54. package/build/file/document/body/section-properties/{type/section-type-attributes.d.ts → properties/section-type.d.ts} +18 -15
  55. package/build/file/document/body/section-properties/properties/section-type.spec.d.ts +1 -0
  56. package/build/file/document/body/section-properties/section-properties.d.ts +51 -41
  57. package/build/file/document/body/section-properties/section-properties.spec.d.ts +1 -0
  58. package/build/file/document/document-attributes.d.ts +53 -53
  59. package/build/file/document/document-background/document-background.d.ts +23 -23
  60. package/build/file/document/document-background/document-background.spec.d.ts +1 -0
  61. package/build/file/document/document-background/index.d.ts +1 -1
  62. package/build/file/document/document.d.ts +15 -16
  63. package/build/file/document/document.spec.d.ts +1 -0
  64. package/build/file/document/index.d.ts +4 -4
  65. package/build/file/document-wrapper.d.ts +16 -16
  66. package/build/file/document-wrapper.spec.d.ts +1 -0
  67. package/build/file/drawing/anchor/anchor-attributes.d.ts +24 -24
  68. package/build/file/drawing/anchor/anchor.d.ts +6 -6
  69. package/build/file/drawing/anchor/anchor.spec.d.ts +1 -0
  70. package/build/file/drawing/anchor/index.d.ts +2 -2
  71. package/build/file/drawing/doc-properties/doc-properties-attributes.d.ts +12 -12
  72. package/build/file/drawing/doc-properties/doc-properties.d.ts +4 -4
  73. package/build/file/drawing/drawing.d.ts +16 -17
  74. package/build/file/drawing/drawing.spec.d.ts +1 -0
  75. package/build/file/drawing/effect-extent/effect-extent-attributes.d.ts +14 -14
  76. package/build/file/drawing/effect-extent/effect-extent.d.ts +4 -4
  77. package/build/file/drawing/extent/extent-attributes.d.ts +10 -10
  78. package/build/file/drawing/extent/extent.d.ts +5 -6
  79. package/build/file/drawing/floating/align.d.ts +5 -5
  80. package/build/file/drawing/floating/align.spec.d.ts +1 -0
  81. package/build/file/drawing/floating/floating-position.d.ts +49 -49
  82. package/build/file/drawing/floating/horizontal-position.d.ts +5 -5
  83. package/build/file/drawing/floating/horizontal-position.spec.d.ts +1 -0
  84. package/build/file/drawing/floating/index.d.ts +4 -4
  85. package/build/file/drawing/floating/position-offset.d.ts +4 -4
  86. package/build/file/drawing/floating/position-offset.spec.d.ts +1 -0
  87. package/build/file/drawing/floating/simple-pos.d.ts +4 -4
  88. package/build/file/drawing/floating/simple-pos.spec.d.ts +1 -0
  89. package/build/file/drawing/floating/vertical-position.d.ts +5 -5
  90. package/build/file/drawing/floating/vertical-position.spec.d.ts +1 -0
  91. package/build/file/drawing/graphic-frame/graphic-frame-locks/graphic-frame-lock-attributes.d.ts +10 -10
  92. package/build/file/drawing/graphic-frame/graphic-frame-locks/graphic-frame-locks.d.ts +4 -4
  93. package/build/file/drawing/graphic-frame/graphic-frame-properties.d.ts +4 -4
  94. package/build/file/drawing/index.d.ts +3 -3
  95. package/build/file/drawing/inline/graphic/graphic-data/graphic-data-attribute.d.ts +8 -8
  96. package/build/file/drawing/inline/graphic/graphic-data/graphic-data.d.ts +6 -7
  97. package/build/file/drawing/inline/graphic/graphic-data/index.d.ts +1 -1
  98. package/build/file/drawing/inline/graphic/graphic-data/pic/blip/blip-fill.d.ts +5 -5
  99. package/build/file/drawing/inline/graphic/graphic-data/pic/blip/blip.d.ts +5 -5
  100. package/build/file/drawing/inline/graphic/graphic-data/pic/blip/source-rectangle.d.ts +4 -4
  101. package/build/file/drawing/inline/graphic/graphic-data/pic/blip/stretch.d.ts +4 -4
  102. package/build/file/drawing/inline/graphic/graphic-data/pic/index.d.ts +1 -1
  103. 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
  104. 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
  105. 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
  106. package/build/file/drawing/inline/graphic/graphic-data/pic/non-visual-pic-properties/non-visual-pic-properties.d.ts +4 -4
  107. package/build/file/drawing/inline/graphic/graphic-data/pic/non-visual-pic-properties/non-visual-properties/non-visual-properties-attributes.d.ts +12 -12
  108. package/build/file/drawing/inline/graphic/graphic-data/pic/non-visual-pic-properties/non-visual-properties/non-visual-properties.d.ts +4 -4
  109. package/build/file/drawing/inline/graphic/graphic-data/pic/pic-attributes.d.ts +8 -8
  110. package/build/file/drawing/inline/graphic/graphic-data/pic/pic.d.ts +5 -7
  111. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/extents/extents-attributes.d.ts +10 -10
  112. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/extents/extents.d.ts +5 -6
  113. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/form.d.ts +17 -18
  114. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/index.d.ts +1 -1
  115. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/offset/off-attributes.d.ts +10 -10
  116. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/offset/off.d.ts +4 -4
  117. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form.spec.d.ts +1 -0
  118. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/outline/no-fill.d.ts +4 -0
  119. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/outline/no-fill.spec.d.ts +1 -0
  120. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/outline/outline.d.ts +4 -0
  121. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/outline/outline.spec.d.ts +1 -0
  122. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/preset-geometry/adjustment-values/adjustment-values.d.ts +4 -4
  123. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/preset-geometry/preset-geometry-attributes.d.ts +8 -8
  124. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/preset-geometry/preset-geometry.d.ts +4 -4
  125. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/shape-properties-attributes.d.ts +8 -8
  126. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/shape-properties.d.ts +6 -7
  127. package/build/file/drawing/inline/graphic/graphic.d.ts +6 -7
  128. package/build/file/drawing/inline/graphic/index.d.ts +1 -1
  129. package/build/file/drawing/inline/index.d.ts +1 -1
  130. package/build/file/drawing/inline/inline-attributes.d.ts +10 -10
  131. package/build/file/drawing/inline/inline.d.ts +7 -9
  132. package/build/file/drawing/text-wrap/index.d.ts +5 -5
  133. package/build/file/drawing/text-wrap/text-wrapping.d.ts +18 -18
  134. package/build/file/drawing/text-wrap/wrap-none.d.ts +4 -4
  135. package/build/file/drawing/text-wrap/wrap-square.d.ts +6 -6
  136. package/build/file/drawing/text-wrap/wrap-tight.d.ts +5 -5
  137. package/build/file/drawing/text-wrap/wrap-top-and-bottom.d.ts +5 -5
  138. package/build/file/file-properties.d.ts +5 -5
  139. package/build/file/file.d.ts +69 -70
  140. package/build/file/file.spec.d.ts +1 -0
  141. package/build/file/footer/footer-attributes.d.ts +50 -50
  142. package/build/file/footer/footer.d.ts +9 -9
  143. package/build/file/footer/footer.spec.d.ts +1 -0
  144. package/build/file/footer/index.d.ts +1 -0
  145. package/build/file/footer-wrapper.d.ts +23 -23
  146. package/build/file/footer-wrapper.spec.d.ts +1 -0
  147. package/build/file/footnotes/footnote/footnote-attributes.d.ts +10 -10
  148. package/build/file/footnotes/footnote/footnote.d.ts +14 -14
  149. package/build/file/footnotes/footnote/footnote.spec.d.ts +1 -0
  150. package/build/file/footnotes/footnote/index.d.ts +1 -1
  151. package/build/file/footnotes/footnote/run/continuation-seperator-run.d.ts +4 -4
  152. package/build/file/footnotes/footnote/run/continuation-seperator.d.ts +4 -4
  153. package/build/file/footnotes/footnote/run/footnote-ref-run.d.ts +4 -4
  154. package/build/file/footnotes/footnote/run/footnote-ref.d.ts +4 -4
  155. package/build/file/footnotes/footnote/run/index.d.ts +1 -1
  156. package/build/file/footnotes/footnote/run/reference-run.d.ts +15 -15
  157. package/build/file/footnotes/footnote/run/seperator-run.d.ts +4 -4
  158. package/build/file/footnotes/footnote/run/seperator.d.ts +4 -4
  159. package/build/file/footnotes/footnotes-attributes.d.ts +40 -40
  160. package/build/file/footnotes/footnotes.d.ts +6 -6
  161. package/build/file/footnotes/index.d.ts +2 -2
  162. package/build/file/footnotes-wrapper.d.ts +10 -10
  163. package/build/file/footnotes-wrapper.spec.d.ts +1 -0
  164. package/build/file/header/header-attributes.d.ts +72 -72
  165. package/build/file/header/header.d.ts +9 -9
  166. package/build/file/header/header.spec.d.ts +1 -0
  167. package/build/file/header/index.d.ts +1 -0
  168. package/build/file/header-wrapper.d.ts +23 -23
  169. package/build/file/header-wrapper.spec.d.ts +1 -0
  170. package/build/file/header.d.ts +13 -13
  171. package/build/file/index.d.ts +21 -17
  172. package/build/file/media/data.d.ts +22 -22
  173. package/build/file/media/index.d.ts +2 -2
  174. package/build/file/media/media.d.ts +19 -19
  175. package/build/file/media/media.spec.d.ts +1 -0
  176. package/build/file/numbering/abstract-numbering.d.ts +6 -6
  177. package/build/file/numbering/abstract-numbering.spec.d.ts +1 -0
  178. package/build/file/numbering/concrete-numbering.spec.d.ts +1 -0
  179. package/build/file/numbering/index.d.ts +4 -4
  180. package/build/file/numbering/level.d.ts +47 -47
  181. package/build/file/numbering/multi-level-type.d.ts +4 -4
  182. package/build/file/numbering/num.d.ts +20 -20
  183. package/build/file/numbering/numbering.d.ts +19 -17
  184. package/build/file/numbering/numbering.spec.d.ts +1 -0
  185. package/build/file/paragraph/formatting/alignment.d.ts +21 -21
  186. package/build/file/paragraph/formatting/alignment.spec.d.ts +1 -0
  187. package/build/file/paragraph/formatting/border.d.ts +14 -20
  188. package/build/file/paragraph/formatting/border.spec.d.ts +1 -0
  189. package/build/file/paragraph/formatting/{page-break.d.ts → break.d.ts} +11 -8
  190. package/build/file/paragraph/formatting/break.spec.d.ts +1 -0
  191. package/build/file/paragraph/formatting/indent.d.ts +12 -12
  192. package/build/file/paragraph/formatting/index.d.ts +8 -9
  193. package/build/file/paragraph/formatting/spacing.d.ts +17 -20
  194. package/build/file/paragraph/formatting/spacing.spec.d.ts +1 -0
  195. package/build/file/paragraph/formatting/style.d.ts +13 -13
  196. package/build/file/paragraph/formatting/style.spec.d.ts +1 -0
  197. package/build/file/paragraph/formatting/tab-stop.d.ts +39 -39
  198. package/build/file/paragraph/formatting/tab-stop.spec.d.ts +1 -0
  199. package/build/file/paragraph/formatting/unordered-list.d.ts +4 -4
  200. package/build/file/paragraph/formatting/unordered-list.spec.d.ts +1 -0
  201. package/build/file/paragraph/frame/frame-properties.d.ts +84 -83
  202. package/build/file/paragraph/frame/frame-properties.spec.d.ts +1 -0
  203. package/build/file/paragraph/frame/index.d.ts +1 -1
  204. package/build/file/paragraph/index.d.ts +7 -7
  205. package/build/file/paragraph/links/bookmark-attributes.d.ts +17 -17
  206. package/build/file/paragraph/links/bookmark.d.ts +17 -17
  207. package/build/file/paragraph/links/bookmark.spec.d.ts +1 -0
  208. package/build/file/paragraph/links/hyperlink-attributes.d.ts +13 -13
  209. package/build/file/paragraph/links/hyperlink.d.ts +26 -26
  210. package/build/file/paragraph/links/hyperlink.spec.d.ts +1 -0
  211. package/build/file/paragraph/links/index.d.ts +4 -3
  212. package/build/file/paragraph/links/outline-level.d.ts +5 -5
  213. package/build/file/paragraph/links/outline-level.spec.d.ts +1 -0
  214. package/build/file/paragraph/links/pageref-field-instruction.d.ts +5 -0
  215. package/build/file/paragraph/links/pageref-field-instruction.spec.d.ts +1 -0
  216. package/build/file/paragraph/links/pageref-properties.d.ts +4 -0
  217. package/build/file/paragraph/links/pageref.d.ts +5 -0
  218. package/build/file/paragraph/links/pageref.spec.d.ts +1 -0
  219. package/build/file/paragraph/math/brackets/index.d.ts +4 -4
  220. package/build/file/paragraph/math/brackets/math-angled-brackets.d.ts +7 -7
  221. package/build/file/paragraph/math/brackets/math-angled-brackets.spec.d.ts +1 -0
  222. package/build/file/paragraph/math/brackets/math-beginning-character.d.ts +4 -4
  223. package/build/file/paragraph/math/brackets/math-beginning-character.spec.d.ts +1 -0
  224. package/build/file/paragraph/math/brackets/math-bracket-properties.d.ts +7 -7
  225. package/build/file/paragraph/math/brackets/math-bracket-properties.spec.d.ts +1 -0
  226. package/build/file/paragraph/math/brackets/math-curly-brackets.d.ts +7 -7
  227. package/build/file/paragraph/math/brackets/math-curly-brackets.spec.d.ts +1 -0
  228. package/build/file/paragraph/math/brackets/math-ending-char.d.ts +4 -4
  229. package/build/file/paragraph/math/brackets/math-ending-character.spec.d.ts +1 -0
  230. package/build/file/paragraph/math/brackets/math-round-brackets.d.ts +7 -7
  231. package/build/file/paragraph/math/brackets/math-round-brackets.spec.d.ts +1 -0
  232. package/build/file/paragraph/math/brackets/math-square-brackets.d.ts +7 -7
  233. package/build/file/paragraph/math/brackets/math-square-brackets.spec.d.ts +1 -0
  234. package/build/file/paragraph/math/fraction/index.d.ts +3 -3
  235. package/build/file/paragraph/math/fraction/math-denominator.d.ts +5 -5
  236. package/build/file/paragraph/math/fraction/math-denominator.spec.d.ts +1 -0
  237. package/build/file/paragraph/math/fraction/math-fraction.d.ts +9 -9
  238. package/build/file/paragraph/math/fraction/math-fraction.spec.d.ts +1 -0
  239. package/build/file/paragraph/math/fraction/math-numerator.d.ts +5 -5
  240. package/build/file/paragraph/math/fraction/math-numerator.spec.d.ts +1 -0
  241. package/build/file/paragraph/math/function/index.d.ts +3 -3
  242. package/build/file/paragraph/math/function/math-function-name.d.ts +5 -5
  243. package/build/file/paragraph/math/function/math-function-name.spec.d.ts +1 -0
  244. package/build/file/paragraph/math/function/math-function-properties.d.ts +4 -4
  245. package/build/file/paragraph/math/function/math-function-properties.spec.d.ts +1 -0
  246. package/build/file/paragraph/math/function/math-function.d.ts +9 -9
  247. package/build/file/paragraph/math/function/math-function.spec.d.ts +1 -0
  248. package/build/file/paragraph/math/index.d.ts +9 -9
  249. package/build/file/paragraph/math/math-component.d.ts +9 -9
  250. package/build/file/paragraph/math/math-run.d.ts +4 -4
  251. package/build/file/paragraph/math/math-run.spec.d.ts +1 -0
  252. package/build/file/paragraph/math/math-text.d.ts +4 -4
  253. package/build/file/paragraph/math/math-text.spec.d.ts +1 -0
  254. package/build/file/paragraph/math/math.d.ts +8 -8
  255. package/build/file/paragraph/math/math.spec.d.ts +1 -0
  256. package/build/file/paragraph/math/n-ary/index.d.ts +7 -7
  257. package/build/file/paragraph/math/n-ary/math-accent-character.d.ts +4 -4
  258. package/build/file/paragraph/math/n-ary/math-accent-character.spec.d.ts +1 -0
  259. package/build/file/paragraph/math/n-ary/math-base.d.ts +5 -5
  260. package/build/file/paragraph/math/n-ary/math-base.spec.d.ts +1 -0
  261. package/build/file/paragraph/math/n-ary/math-limit-location.d.ts +4 -4
  262. package/build/file/paragraph/math/n-ary/math-limit-location.spec.d.ts +1 -0
  263. package/build/file/paragraph/math/n-ary/math-naray-properties.d.ts +4 -4
  264. package/build/file/paragraph/math/n-ary/math-naray-properties.spec.d.ts +1 -0
  265. package/build/file/paragraph/math/n-ary/math-sub-script-hide.d.ts +4 -4
  266. package/build/file/paragraph/math/n-ary/math-sub-script-hide.spec.d.ts +1 -0
  267. package/build/file/paragraph/math/n-ary/math-sub-script.d.ts +5 -5
  268. package/build/file/paragraph/math/n-ary/math-sub-script.spec.d.ts +1 -0
  269. package/build/file/paragraph/math/n-ary/math-sum.d.ts +10 -10
  270. package/build/file/paragraph/math/n-ary/math-sum.spec.d.ts +1 -0
  271. package/build/file/paragraph/math/n-ary/math-super-script-hide.d.ts +4 -4
  272. package/build/file/paragraph/math/n-ary/math-super-script-hide.spec.d.ts +1 -0
  273. package/build/file/paragraph/math/n-ary/math-super-script.d.ts +5 -5
  274. package/build/file/paragraph/math/n-ary/math-super-script.spec.d.ts +1 -0
  275. package/build/file/paragraph/math/radical/index.d.ts +3 -3
  276. package/build/file/paragraph/math/radical/math-degree-hide.d.ts +4 -4
  277. package/build/file/paragraph/math/radical/math-degree-hide.spec.d.ts +1 -0
  278. package/build/file/paragraph/math/radical/math-degree.d.ts +5 -5
  279. package/build/file/paragraph/math/radical/math-degree.spec.d.ts +1 -0
  280. package/build/file/paragraph/math/radical/math-radical-properties.d.ts +4 -4
  281. package/build/file/paragraph/math/radical/math-radical-properties.spec.d.ts +1 -0
  282. package/build/file/paragraph/math/radical/math-radical.d.ts +9 -9
  283. package/build/file/paragraph/math/radical/math-radical.spec.d.ts +1 -0
  284. package/build/file/paragraph/math/script/index.d.ts +4 -4
  285. package/build/file/paragraph/math/script/pre-sub-super-script/index.d.ts +2 -2
  286. package/build/file/paragraph/math/script/pre-sub-super-script/math-pre-sub-super-script-function-properties.d.ts +4 -4
  287. package/build/file/paragraph/math/script/pre-sub-super-script/math-pre-sub-super-script-function-properties.spec.d.ts +1 -0
  288. package/build/file/paragraph/math/script/pre-sub-super-script/math-pre-sub-super-script-function.d.ts +10 -10
  289. package/build/file/paragraph/math/script/pre-sub-super-script/math-pre-sub-super-script-function.spec.d.ts +1 -0
  290. package/build/file/paragraph/math/script/sub-script/index.d.ts +2 -2
  291. package/build/file/paragraph/math/script/sub-script/math-sub-script-function-properties.d.ts +4 -4
  292. package/build/file/paragraph/math/script/sub-script/math-sub-script-function-properties.spec.d.ts +1 -0
  293. package/build/file/paragraph/math/script/sub-script/math-sub-script-function.d.ts +9 -9
  294. package/build/file/paragraph/math/script/sub-script/math-sub-script-function.spec.d.ts +1 -0
  295. package/build/file/paragraph/math/script/sub-super-script/index.d.ts +2 -2
  296. package/build/file/paragraph/math/script/sub-super-script/math-sub-super-script-function-properties.d.ts +4 -4
  297. package/build/file/paragraph/math/script/sub-super-script/math-sub-super-script-function-properties.spec.d.ts +1 -0
  298. package/build/file/paragraph/math/script/sub-super-script/math-sub-super-script-function.d.ts +10 -10
  299. package/build/file/paragraph/math/script/sub-super-script/math-sub-super-script-function.spec.d.ts +1 -0
  300. package/build/file/paragraph/math/script/super-script/index.d.ts +2 -2
  301. package/build/file/paragraph/math/script/super-script/math-super-script-function-properties.d.ts +4 -4
  302. package/build/file/paragraph/math/script/super-script/math-super-script-function-properties.spec.d.ts +1 -0
  303. package/build/file/paragraph/math/script/super-script/math-super-script-function.d.ts +9 -9
  304. package/build/file/paragraph/math/script/super-script/math-super-script-function.spec.d.ts +1 -0
  305. package/build/file/paragraph/paragraph.d.ts +19 -19
  306. package/build/file/paragraph/paragraph.spec.d.ts +1 -0
  307. package/build/file/paragraph/properties.d.ts +54 -55
  308. package/build/file/paragraph/properties.spec.d.ts +1 -0
  309. package/build/file/paragraph/run/break.d.ts +4 -4
  310. package/build/file/paragraph/run/break.spec.d.ts +1 -0
  311. package/build/file/paragraph/run/emphasis-mark.d.ts +13 -13
  312. package/build/file/paragraph/run/emphasis-mark.spec.d.ts +1 -0
  313. package/build/file/paragraph/run/field.d.ts +10 -10
  314. package/build/file/paragraph/run/formatting.d.ts +13 -58
  315. package/build/file/paragraph/run/formatting.spec.d.ts +1 -0
  316. package/build/file/paragraph/run/image-run.d.ts +17 -17
  317. package/build/file/paragraph/run/image-run.spec.d.ts +1 -0
  318. package/build/file/paragraph/run/index.d.ts +11 -10
  319. package/build/file/paragraph/run/page-number.d.ts +10 -10
  320. package/build/file/paragraph/run/page-number.spec.d.ts +1 -0
  321. package/build/file/paragraph/run/properties.d.ts +47 -53
  322. package/build/file/paragraph/run/run-components/symbol.d.ts +4 -4
  323. package/build/file/paragraph/run/run-components/symbol.spec.d.ts +1 -0
  324. package/build/file/paragraph/run/run-components/text.d.ts +4 -4
  325. package/build/file/paragraph/run/run-components/text.spec.d.ts +1 -0
  326. package/build/file/paragraph/run/run-fonts.d.ts +12 -12
  327. package/build/file/paragraph/run/run-fonts.spec.d.ts +1 -0
  328. package/build/file/paragraph/run/run.d.ts +19 -19
  329. package/build/file/paragraph/run/run.spec.d.ts +1 -0
  330. package/build/file/paragraph/run/script.d.ts +10 -10
  331. package/build/file/paragraph/run/script.spec.d.ts +1 -0
  332. package/build/file/paragraph/run/sequential-identifier-instruction.d.ts +4 -4
  333. package/build/file/paragraph/run/sequential-identifier.d.ts +4 -4
  334. package/build/file/paragraph/run/sequential-identifier.spec.d.ts +1 -0
  335. package/build/file/paragraph/run/simple-field.d.ts +7 -0
  336. package/build/file/paragraph/run/simple-field.spec.d.ts +1 -0
  337. package/build/file/paragraph/run/symbol-run.d.ts +8 -8
  338. package/build/file/paragraph/run/symbol-run.spec.d.ts +1 -0
  339. package/build/file/paragraph/run/tab.d.ts +4 -4
  340. package/build/file/paragraph/run/tab.spec.d.ts +1 -0
  341. package/build/file/paragraph/run/text-run.d.ts +4 -4
  342. package/build/file/paragraph/run/text-run.spec.d.ts +1 -0
  343. package/build/file/paragraph/run/underline.d.ts +23 -74
  344. package/build/file/paragraph/run/underline.spec.d.ts +1 -0
  345. package/build/file/relationships/attributes.d.ts +8 -8
  346. package/build/file/relationships/index.d.ts +1 -1
  347. package/build/file/relationships/relationship/relationship-attributes.d.ts +14 -14
  348. package/build/file/relationships/relationship/relationship.d.ts +8 -8
  349. package/build/file/relationships/relationships.d.ts +8 -8
  350. package/build/file/relationships/relationships.spec.d.ts +1 -0
  351. package/build/file/settings/compatibility-setting/compatibility-setting.d.ts +15 -15
  352. package/build/file/settings/compatibility-setting/compatibility-setting.spec.d.ts +1 -0
  353. package/build/file/settings/compatibility.d.ts +8 -8
  354. package/build/file/settings/compatibility.spec.d.ts +1 -0
  355. package/build/file/settings/index.d.ts +1 -2
  356. package/build/file/settings/settings.d.ts +49 -51
  357. package/build/file/settings/settings.spec.d.ts +1 -0
  358. package/{src/file/table/shading/index.ts → build/file/shading/index.d.ts} +0 -0
  359. package/build/file/{table/shading → shading}/shading.d.ts +48 -48
  360. package/build/file/shading/shading.spec.d.ts +1 -0
  361. package/build/file/shared/alignment.d.ts +14 -14
  362. package/build/file/shared/index.d.ts +2 -1
  363. package/build/file/shared/number-format.d.ts +64 -0
  364. package/build/file/space-type.d.ts +4 -4
  365. package/build/file/styles/defaults/document-defaults.d.ts +12 -12
  366. package/build/file/styles/defaults/document-defaults.spec.d.ts +1 -0
  367. package/build/file/styles/defaults/index.d.ts +3 -3
  368. package/build/file/styles/defaults/paragraph-properties.d.ts +5 -5
  369. package/build/file/styles/defaults/run-properties.d.ts +5 -5
  370. package/build/file/styles/external-styles-factory.d.ts +4 -4
  371. package/build/file/styles/external-styles-factory.spec.d.ts +1 -0
  372. package/build/file/styles/factory.d.ts +22 -22
  373. package/build/file/styles/index.d.ts +4 -4
  374. package/build/file/styles/latent-styles/exceptions.d.ts +20 -0
  375. package/build/file/styles/latent-styles/exceptions.spec.d.ts +1 -0
  376. package/build/file/styles/latent-styles/index.d.ts +1 -0
  377. package/build/file/styles/latent-styles/latent-styles.d.ts +5 -0
  378. package/build/file/styles/latent-styles/latent-styles.spec.d.ts +1 -0
  379. package/build/file/styles/sample/default-style.d.ts +102 -0
  380. package/build/file/styles/sample/default-style.spec.d.ts +1 -0
  381. package/build/file/styles/sample/index.d.ts +1 -0
  382. package/build/file/styles/style/character-style.d.ts +13 -16
  383. package/build/file/styles/style/character-style.spec.d.ts +1 -0
  384. package/build/file/styles/style/components.d.ts +11 -29
  385. package/build/file/styles/style/components.spec.d.ts +1 -0
  386. package/build/file/styles/style/default-styles.d.ts +44 -44
  387. package/build/file/styles/style/default-styles.spec.d.ts +1 -0
  388. package/build/file/styles/style/index.d.ts +4 -4
  389. package/build/file/styles/style/paragraph-style.d.ts +15 -22
  390. package/build/file/styles/style/paragraph-style.spec.d.ts +1 -0
  391. package/build/file/styles/style/style.d.ts +20 -10
  392. package/build/file/styles/style/style.spec.d.ts +1 -0
  393. package/build/file/styles/styles.d.ts +15 -16
  394. package/build/file/styles/styles.spec.d.ts +1 -0
  395. package/build/file/table/grid.d.ts +7 -7
  396. package/build/file/table/grid.spec.d.ts +1 -0
  397. package/build/file/table/index.d.ts +5 -5
  398. package/build/file/table/table-cell/index.d.ts +2 -2
  399. package/build/file/table/table-cell/table-cell-components.d.ts +31 -46
  400. package/build/file/table/table-cell/table-cell-properties.d.ts +20 -16
  401. package/build/file/table/table-cell/table-cell-properties.spec.d.ts +1 -0
  402. package/build/file/table/table-cell/table-cell.d.ts +12 -48
  403. package/build/file/table/table-cell/table-cell.spec.d.ts +1 -0
  404. package/build/file/table/table-properties/index.d.ts +5 -5
  405. package/build/file/table/table-properties/table-borders.d.ts +45 -69
  406. package/build/file/table/table-properties/table-borders.spec.d.ts +1 -0
  407. package/build/file/table/table-properties/table-cell-margin.d.ts +16 -16
  408. package/build/file/table/table-properties/table-cell-margin.spec.d.ts +1 -0
  409. package/build/file/table/table-properties/table-float-properties.d.ts +52 -52
  410. package/build/file/table/table-properties/table-float-properties.spec.d.ts +1 -0
  411. package/build/file/table/table-properties/table-layout.d.ts +8 -8
  412. package/build/file/table/table-properties/table-overlap.d.ts +8 -8
  413. package/build/file/table/table-properties/table-overlap.spec.d.ts +1 -0
  414. package/build/file/table/table-properties/table-properties.d.ts +23 -25
  415. package/build/file/table/table-properties/table-properties.spec.d.ts +1 -0
  416. package/build/file/table/table-row/index.d.ts +3 -3
  417. package/build/file/table/table-row/table-row-height.d.ts +18 -18
  418. package/build/file/table/table-row/table-row-properties.d.ts +13 -14
  419. package/build/file/table/table-row/table-row-properties.spec.d.ts +1 -0
  420. package/build/file/table/table-row/table-row.d.ts +16 -23
  421. package/build/file/table/table-row/table-row.spec.d.ts +1 -0
  422. package/build/file/table/table-width.d.ts +14 -0
  423. package/build/file/table/table.d.ts +23 -30
  424. package/build/file/table/table.spec.d.ts +1 -0
  425. package/build/file/table-of-contents/alias.d.ts +4 -4
  426. package/build/file/table-of-contents/field-instruction.d.ts +6 -6
  427. package/build/file/table-of-contents/index.d.ts +2 -2
  428. package/build/file/table-of-contents/sdt-content.d.ts +4 -4
  429. package/build/file/table-of-contents/sdt-properties.d.ts +4 -4
  430. package/build/file/table-of-contents/table-of-contents-properties.d.ts +23 -23
  431. package/build/file/table-of-contents/table-of-contents.d.ts +5 -5
  432. package/build/file/table-of-contents/table-of-contents.spec.d.ts +1 -0
  433. package/build/file/track-revision/index.d.ts +2 -2
  434. package/build/file/track-revision/track-revision-components/deleted-page-number.d.ts +10 -10
  435. package/build/file/track-revision/track-revision-components/deleted-page-number.spec.d.ts +1 -0
  436. package/build/file/track-revision/track-revision-components/deleted-text-run.d.ts +13 -13
  437. package/build/file/track-revision/track-revision-components/deleted-text-run.spec.d.ts +1 -0
  438. package/build/file/track-revision/track-revision-components/deleted-text.d.ts +4 -4
  439. package/build/file/track-revision/track-revision-components/deleted-text.spec.d.ts +1 -0
  440. package/build/file/track-revision/track-revision-components/inserted-text-run.d.ts +9 -9
  441. package/build/file/track-revision/track-revision-components/inserted-text-run.spec.d.ts +1 -0
  442. package/build/file/track-revision/track-revision.d.ts +13 -13
  443. package/build/file/values.d.ts +17 -0
  444. package/build/file/values.spec.d.ts +1 -0
  445. package/build/file/vertical-align/index.d.ts +1 -0
  446. package/build/file/vertical-align/vertical-align.d.ts +17 -0
  447. package/build/file/xml-components/attribute.spec.d.ts +1 -0
  448. package/build/file/xml-components/attributes.d.ts +46 -46
  449. package/build/file/xml-components/base.d.ts +12 -14
  450. package/build/file/xml-components/default-attributes.d.ts +12 -12
  451. package/build/file/xml-components/imported-xml-component.d.ts +14 -14
  452. package/build/file/xml-components/imported-xml-component.spec.d.ts +1 -0
  453. package/build/file/xml-components/index.d.ts +8 -7
  454. package/build/file/xml-components/initializable-xml-component.d.ts +4 -4
  455. package/build/file/xml-components/simple-elements.d.ts +16 -0
  456. package/build/file/xml-components/xml-component.d.ts +12 -13
  457. package/build/file/xml-components/xml-component.spec.d.ts +1 -0
  458. package/build/file/xml-components/xmlable-object.d.ts +7 -7
  459. package/build/import-dotx/import-dotx.d.ts +22 -22
  460. package/build/import-dotx/import-dotx.spec.d.ts +1 -0
  461. package/build/import-dotx/index.d.ts +1 -1
  462. package/build/index.d.ts +5 -5
  463. package/build/index.js +2 -20231
  464. package/build/index.js.LICENSE.txt +22 -0
  465. package/build/index.spec.d.ts +1 -0
  466. package/build/tests/utility.d.ts +3 -0
  467. package/package.json +106 -99
  468. package/src/convenience-functions.spec.ts +2 -2
  469. package/src/convenience-functions.ts +1 -1
  470. package/src/export/formatter.spec.ts +3 -11
  471. package/src/export/packer/image-replacer.spec.ts +2 -2
  472. package/src/export/packer/next-compiler.ts +119 -24
  473. package/src/export/packer/packer.spec.ts +1 -1
  474. package/src/file/border/border.spec.ts +54 -0
  475. package/src/file/border/border.ts +86 -0
  476. package/src/file/border/index.ts +1 -0
  477. package/src/file/core-properties/properties.spec.ts +5 -6
  478. package/src/file/core-properties/properties.ts +47 -12
  479. package/src/file/document/body/body.spec.ts +10 -10
  480. package/src/file/document/body/body.ts +1 -5
  481. package/src/file/document/body/section-properties/index.ts +1 -8
  482. package/src/file/document/body/section-properties/properties/column.ts +26 -0
  483. package/src/file/document/body/section-properties/properties/columns.spec.ts +38 -0
  484. package/src/file/document/body/section-properties/properties/columns.ts +47 -0
  485. package/src/file/document/body/section-properties/properties/doc-grid.ts +38 -0
  486. package/src/file/document/body/section-properties/properties/header-footer-reference.spec.ts +56 -0
  487. package/src/file/document/body/section-properties/properties/header-footer-reference.ts +65 -0
  488. package/src/file/document/body/section-properties/properties/index.ts +12 -0
  489. package/src/file/document/body/section-properties/properties/line-number.ts +53 -0
  490. package/src/file/document/body/section-properties/{page-border → properties}/page-borders.spec.ts +7 -7
  491. package/src/file/document/body/section-properties/properties/page-borders.ts +106 -0
  492. package/src/file/document/body/section-properties/properties/page-margin.ts +58 -0
  493. package/src/file/document/body/section-properties/properties/page-number.ts +54 -0
  494. package/src/file/document/body/section-properties/{page-size → properties}/page-size.spec.ts +1 -2
  495. package/src/file/document/body/section-properties/properties/page-size.ts +52 -0
  496. package/src/file/document/body/section-properties/{type → properties}/section-type.spec.ts +1 -2
  497. package/src/file/document/body/section-properties/properties/section-type.ts +37 -0
  498. package/src/file/document/body/section-properties/section-properties.spec.ts +72 -77
  499. package/src/file/document/body/section-properties/section-properties.ts +117 -116
  500. package/src/file/document/document-background/document-background.spec.ts +4 -4
  501. package/src/file/document/document-background/document-background.ts +42 -3
  502. package/src/file/document/document.ts +19 -4
  503. package/src/file/drawing/anchor/anchor.ts +25 -0
  504. package/src/file/drawing/drawing.spec.ts +14 -14
  505. package/src/file/drawing/drawing.ts +7 -4
  506. package/src/file/drawing/extent/extent.ts +0 -7
  507. package/src/file/drawing/floating/horizontal-position.spec.ts +4 -0
  508. package/src/file/drawing/floating/vertical-position.spec.ts +4 -0
  509. package/src/file/drawing/inline/graphic/graphic-data/graphic-data.ts +0 -4
  510. package/src/file/drawing/inline/graphic/graphic-data/pic/non-visual-pic-properties/non-visual-properties/non-visual-properties-attributes.ts +1 -1
  511. package/src/file/drawing/inline/graphic/graphic-data/pic/pic.ts +0 -8
  512. package/src/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/extents/extents.ts +0 -7
  513. package/src/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/form.ts +1 -5
  514. package/src/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form.spec.ts +12 -12
  515. package/src/file/drawing/inline/graphic/graphic-data/pic/shape-properties/shape-properties.ts +0 -4
  516. package/src/file/drawing/inline/graphic/graphic.ts +0 -4
  517. package/src/file/drawing/inline/inline.ts +15 -9
  518. package/src/file/file.spec.ts +36 -48
  519. package/src/file/file.ts +6 -16
  520. package/src/file/footer-wrapper.ts +2 -2
  521. package/src/file/footnotes/footnote/run/reference-run.ts +1 -4
  522. package/src/file/header-wrapper.ts +2 -2
  523. package/src/file/index.ts +4 -0
  524. package/src/file/numbering/abstract-numbering.spec.ts +18 -61
  525. package/src/file/numbering/abstract-numbering.ts +17 -1
  526. package/src/file/numbering/level.ts +54 -25
  527. package/src/file/numbering/multi-level-type.ts +14 -0
  528. package/src/file/numbering/num.ts +14 -2
  529. package/src/file/numbering/numbering.spec.ts +21 -0
  530. package/src/file/numbering/numbering.ts +37 -14
  531. package/src/file/paragraph/formatting/border.spec.ts +22 -16
  532. package/src/file/paragraph/formatting/border.ts +20 -45
  533. package/src/file/paragraph/formatting/{page-break.spec.ts → break.spec.ts} +26 -1
  534. package/src/file/paragraph/formatting/{page-break.ts → break.ts} +16 -3
  535. package/src/file/paragraph/formatting/indent.ts +39 -11
  536. package/src/file/paragraph/formatting/index.ts +1 -2
  537. package/src/file/paragraph/formatting/spacing.spec.ts +1 -21
  538. package/src/file/paragraph/formatting/spacing.ts +1 -12
  539. package/src/file/paragraph/frame/frame-properties.ts +3 -2
  540. package/src/file/paragraph/links/bookmark-attributes.ts +2 -2
  541. package/src/file/paragraph/links/bookmark.spec.ts +1 -1
  542. package/src/file/paragraph/links/bookmark.ts +39 -7
  543. package/src/file/paragraph/links/hyperlink.spec.ts +14 -10
  544. package/src/file/paragraph/links/hyperlink.ts +7 -5
  545. package/src/file/paragraph/links/index.ts +1 -0
  546. package/src/file/paragraph/links/pageref-field-instruction.spec.ts +24 -0
  547. package/src/file/paragraph/links/pageref-field-instruction.ts +25 -0
  548. package/src/file/paragraph/links/pageref-properties.ts +16 -0
  549. package/src/file/paragraph/links/pageref.spec.ts +76 -0
  550. package/src/file/paragraph/links/pageref.ts +13 -0
  551. package/src/file/paragraph/paragraph.spec.ts +41 -11
  552. package/src/file/paragraph/paragraph.ts +8 -5
  553. package/src/file/paragraph/properties.spec.ts +1 -5
  554. package/src/file/paragraph/properties.ts +80 -73
  555. package/src/file/paragraph/run/break.ts +24 -0
  556. package/src/file/paragraph/run/formatting.spec.ts +23 -6
  557. package/src/file/paragraph/run/formatting.ts +31 -172
  558. package/src/file/paragraph/run/image-run.spec.ts +40 -40
  559. package/src/file/paragraph/run/index.ts +1 -0
  560. package/src/file/paragraph/run/properties.ts +79 -69
  561. package/src/file/paragraph/run/run.spec.ts +13 -32
  562. package/src/file/paragraph/run/run.ts +6 -6
  563. package/src/file/paragraph/run/simple-field.spec.ts +38 -0
  564. package/src/file/paragraph/run/simple-field.ts +23 -0
  565. package/src/file/paragraph/run/symbol-run.spec.ts +8 -8
  566. package/src/file/paragraph/run/tab.ts +6 -0
  567. package/src/file/paragraph/run/text-run.ts +1 -1
  568. package/src/file/paragraph/run/underline.spec.ts +4 -260
  569. package/src/file/paragraph/run/underline.ts +4 -105
  570. package/src/file/settings/compatibility-setting/compatibility-setting.ts +12 -0
  571. package/src/file/settings/compatibility.ts +75 -8
  572. package/src/file/settings/index.ts +0 -1
  573. package/src/file/settings/settings.spec.ts +29 -137
  574. package/src/file/settings/settings.ts +125 -28
  575. package/{build/file/table/shading/index.d.ts → src/file/shading/index.ts} +1 -1
  576. package/src/file/{table/shading → shading}/shading.spec.ts +4 -4
  577. package/src/file/shading/shading.ts +88 -0
  578. package/src/file/shared/index.ts +1 -0
  579. package/src/file/shared/number-format.ts +133 -0
  580. package/src/file/styles/external-styles-factory.spec.ts +6 -30
  581. package/src/file/styles/style/character-style.spec.ts +104 -147
  582. package/src/file/styles/style/character-style.ts +10 -22
  583. package/src/file/styles/style/components.spec.ts +0 -38
  584. package/src/file/styles/style/components.ts +2 -41
  585. package/src/file/styles/style/default-styles.spec.ts +54 -55
  586. package/src/file/styles/style/paragraph-style.spec.ts +21 -68
  587. package/src/file/styles/style/paragraph-style.ts +3 -40
  588. package/src/file/styles/style/style.spec.ts +9 -6
  589. package/src/file/styles/style/style.ts +75 -5
  590. package/src/file/styles/styles.ts +7 -1
  591. package/src/file/table/grid.ts +15 -4
  592. package/src/file/table/index.ts +1 -1
  593. package/src/file/table/table-cell/table-cell-components.ts +48 -125
  594. package/src/file/table/table-cell/table-cell-properties.spec.ts +58 -81
  595. package/src/file/table/table-cell/table-cell-properties.ts +45 -49
  596. package/src/file/table/table-cell/table-cell.spec.ts +112 -72
  597. package/src/file/table/table-cell/table-cell.ts +3 -87
  598. package/src/file/table/table-properties/table-borders.spec.ts +13 -61
  599. package/src/file/table/table-properties/table-borders.ts +38 -118
  600. package/src/file/table/table-properties/table-cell-margin.spec.ts +23 -39
  601. package/src/file/table/table-properties/table-cell-margin.ts +45 -38
  602. package/src/file/table/table-properties/table-float-properties.ts +42 -8
  603. package/src/file/table/table-properties/table-layout.ts +9 -0
  604. package/src/file/table/table-properties/table-overlap.ts +9 -0
  605. package/src/file/table/table-properties/table-properties.spec.ts +35 -18
  606. package/src/file/table/table-properties/table-properties.ts +49 -26
  607. package/src/file/table/table-row/table-row-height.ts +16 -3
  608. package/src/file/table/table-row/table-row-properties.spec.ts +25 -19
  609. package/src/file/table/table-row/table-row-properties.ts +48 -39
  610. package/src/file/table/table-row/table-row.spec.ts +3 -15
  611. package/src/file/table/table-row/table-row.ts +3 -25
  612. package/src/file/table/table-width.ts +47 -0
  613. package/src/file/table/table.spec.ts +51 -55
  614. package/src/file/table/table.ts +10 -31
  615. package/src/file/track-revision/track-revision-components/deleted-text-run.spec.ts +2 -10
  616. package/src/file/values.spec.ts +193 -0
  617. package/src/file/values.ts +226 -0
  618. package/src/file/vertical-align/index.ts +1 -0
  619. package/src/file/vertical-align/vertical-align.ts +34 -0
  620. package/src/file/xml-components/base.ts +0 -6
  621. package/src/file/xml-components/imported-xml-component.spec.ts +6 -10
  622. package/src/file/xml-components/index.ts +1 -0
  623. package/src/file/xml-components/simple-elements.ts +65 -0
  624. package/src/file/xml-components/xml-component.spec.ts +44 -23
  625. package/src/file/xml-components/xml-component.ts +2 -14
  626. package/src/import-dotx/import-dotx.ts +7 -8
  627. package/build/file/core-properties/components.d.ts +0 -31
  628. package/build/file/document/body/section-properties/columns/columns-attributes.d.ts +0 -12
  629. package/build/file/document/body/section-properties/columns/columns.d.ts +0 -4
  630. package/build/file/document/body/section-properties/doc-grid/doc-grid.d.ts +0 -4
  631. package/build/file/document/body/section-properties/footer-reference/footer-reference-attributes.d.ts +0 -15
  632. package/build/file/document/body/section-properties/footer-reference/footer-reference.d.ts +0 -9
  633. package/build/file/document/body/section-properties/footer-reference/index.d.ts +0 -2
  634. package/build/file/document/body/section-properties/header-reference/header-reference-attributes.d.ts +0 -15
  635. package/build/file/document/body/section-properties/header-reference/header-reference.d.ts +0 -9
  636. package/build/file/document/body/section-properties/header-reference/index.d.ts +0 -2
  637. package/build/file/document/body/section-properties/line-number/index.d.ts +0 -1
  638. package/build/file/document/body/section-properties/page-border/index.d.ts +0 -1
  639. package/build/file/document/body/section-properties/page-margin/page-margin-attributes.d.ts +0 -23
  640. package/build/file/document/body/section-properties/page-margin/page-margin.d.ts +0 -4
  641. package/build/file/document/body/section-properties/page-number/index.d.ts +0 -1
  642. package/build/file/document/body/section-properties/page-number/page-number.d.ts +0 -38
  643. package/build/file/document/body/section-properties/page-size/index.d.ts +0 -2
  644. package/build/file/document/body/section-properties/page-size/page-size.d.ts +0 -5
  645. package/build/file/document/body/section-properties/title-page/title-page-attributes.d.ts +0 -8
  646. package/build/file/document/body/section-properties/title-page/title-page.d.ts +0 -4
  647. package/build/file/document/body/section-properties/type/index.d.ts +0 -2
  648. package/build/file/document/body/section-properties/type/section-type.d.ts +0 -5
  649. package/build/file/document/body/section-properties/vertical-align/index.d.ts +0 -2
  650. package/build/file/document/body/section-properties/vertical-align/vertical-align-attributes.d.ts +0 -9
  651. package/build/file/document/body/section-properties/vertical-align/vertical-align.d.ts +0 -10
  652. package/build/file/paragraph/formatting/bidirectional.d.ts +0 -4
  653. package/build/file/paragraph/formatting/border-attributes.d.ts +0 -14
  654. package/build/file/paragraph/formatting/keep.d.ts +0 -7
  655. package/build/file/paragraph/formatting/widow-control.d.ts +0 -11
  656. package/build/file/paragraph/run/style.d.ts +0 -4
  657. package/build/file/settings/display-background-shape.d.ts +0 -4
  658. package/build/file/settings/even-odd-headers.d.ts +0 -4
  659. package/build/file/settings/track-revisions.d.ts +0 -4
  660. package/build/file/settings/update-fields.d.ts +0 -11
  661. package/build/file/styles/border/index.d.ts +0 -1
  662. package/build/file/table/table-cell/cell-margin/cell-margin.d.ts +0 -13
  663. package/build/file/table/table-cell/cell-margin/table-cell-margins.d.ts +0 -10
  664. package/build/file/table/table-properties/table-style.d.ts +0 -4
  665. package/build/file/table/table-properties/table-width.d.ts +0 -5
  666. package/build/file/table/table-properties/visually-right-to-left.d.ts +0 -4
  667. package/src/file/core-properties/components.ts +0 -89
  668. package/src/file/document/body/section-properties/columns/columns-attributes.ts +0 -13
  669. package/src/file/document/body/section-properties/columns/columns.ts +0 -15
  670. package/src/file/document/body/section-properties/doc-grid/doc-grid-attributes.ts +0 -11
  671. package/src/file/document/body/section-properties/doc-grid/doc-grid.ts +0 -13
  672. package/src/file/document/body/section-properties/footer-reference/footer-reference-attributes.ts +0 -17
  673. package/src/file/document/body/section-properties/footer-reference/footer-reference.spec.ts +0 -42
  674. package/src/file/document/body/section-properties/footer-reference/footer-reference.ts +0 -20
  675. package/src/file/document/body/section-properties/footer-reference/index.ts +0 -2
  676. package/src/file/document/body/section-properties/header-reference/header-reference-attributes.ts +0 -17
  677. package/src/file/document/body/section-properties/header-reference/header-reference.spec.ts +0 -42
  678. package/src/file/document/body/section-properties/header-reference/header-reference.ts +0 -19
  679. package/src/file/document/body/section-properties/header-reference/index.ts +0 -2
  680. package/src/file/document/body/section-properties/line-number/index.ts +0 -1
  681. package/src/file/document/body/section-properties/line-number/line-number.ts +0 -38
  682. package/src/file/document/body/section-properties/page-border/index.ts +0 -1
  683. package/src/file/document/body/section-properties/page-border/page-borders.ts +0 -100
  684. package/src/file/document/body/section-properties/page-margin/page-margin-attributes.ts +0 -25
  685. package/src/file/document/body/section-properties/page-margin/page-margin.ts +0 -20
  686. package/src/file/document/body/section-properties/page-number/index.ts +0 -1
  687. package/src/file/document/body/section-properties/page-number/page-number.ts +0 -53
  688. package/src/file/document/body/section-properties/page-size/index.ts +0 -2
  689. package/src/file/document/body/section-properties/page-size/page-size-attributes.ts +0 -20
  690. package/src/file/document/body/section-properties/page-size/page-size.ts +0 -18
  691. package/src/file/document/body/section-properties/title-page/title-page-attributes.ts +0 -9
  692. package/src/file/document/body/section-properties/title-page/title-page.spec.ts +0 -17
  693. package/src/file/document/body/section-properties/title-page/title-page.ts +0 -13
  694. package/src/file/document/body/section-properties/type/index.ts +0 -2
  695. package/src/file/document/body/section-properties/type/section-type-attributes.ts +0 -17
  696. package/src/file/document/body/section-properties/type/section-type.ts +0 -10
  697. package/src/file/document/body/section-properties/vertical-align/index.ts +0 -2
  698. package/src/file/document/body/section-properties/vertical-align/vertical-align-attributes.ts +0 -10
  699. package/src/file/document/body/section-properties/vertical-align/vertical-align.ts +0 -18
  700. package/src/file/paragraph/formatting/bidirectional.spec.ts +0 -15
  701. package/src/file/paragraph/formatting/bidirectional.ts +0 -7
  702. package/src/file/paragraph/formatting/border-attributes.ts +0 -15
  703. package/src/file/paragraph/formatting/keep.ts +0 -13
  704. package/src/file/paragraph/formatting/widow-control.spec.ts +0 -20
  705. package/src/file/paragraph/formatting/widow-control.ts +0 -13
  706. package/src/file/paragraph/run/strike.spec.ts +0 -47
  707. package/src/file/paragraph/run/style.ts +0 -12
  708. package/src/file/settings/display-background-shape.spec.ts +0 -17
  709. package/src/file/settings/display-background-shape.ts +0 -9
  710. package/src/file/settings/even-odd-headers.ts +0 -9
  711. package/src/file/settings/track-revisions.spec.ts +0 -16
  712. package/src/file/settings/track-revisions.ts +0 -7
  713. package/src/file/settings/update-fields.spec.ts +0 -39
  714. package/src/file/settings/update-fields.ts +0 -19
  715. package/src/file/styles/border/border-style.ts +0 -29
  716. package/src/file/styles/border/index.ts +0 -1
  717. package/src/file/table/shading/shading.ts +0 -64
  718. package/src/file/table/table-cell/cell-margin/cell-margin.spec.ts +0 -73
  719. package/src/file/table/table-cell/cell-margin/cell-margin.ts +0 -61
  720. package/src/file/table/table-cell/cell-margin/table-cell-margins.spec.ts +0 -96
  721. package/src/file/table/table-cell/cell-margin/table-cell-margins.ts +0 -21
  722. package/src/file/table/table-properties/table-style.spec.ts +0 -22
  723. package/src/file/table/table-properties/table-style.ts +0 -13
  724. package/src/file/table/table-properties/table-width.ts +0 -19
  725. package/src/file/table/table-properties/visually-right-to-left.spec.ts +0 -14
  726. package/src/file/table/table-properties/visually-right-to-left.ts +0 -8
@@ -3,7 +3,6 @@ import { BaseXmlComponent, ImportedXmlComponent, XmlComponent } from "file/xml-c
3
3
  import { StyleForCharacter, StyleForParagraph } from "./style";
4
4
  import { ICharacterStyleOptions } from "./style/character-style";
5
5
  import { IParagraphStyleOptions } from "./style/paragraph-style";
6
- export * from "./border";
7
6
 
8
7
  export interface IStylesOptions {
9
8
  readonly default?: IDefaultStylesOptions;
@@ -13,6 +12,13 @@ export interface IStylesOptions {
13
12
  readonly importedStyles?: (XmlComponent | StyleForParagraph | StyleForCharacter | ImportedXmlComponent)[];
14
13
  }
15
14
 
15
+ // <xsd:complexType name="CT_Styles">
16
+ // <xsd:sequence>
17
+ // <xsd:element name="docDefaults" type="CT_DocDefaults" minOccurs="0"/>
18
+ // <xsd:element name="latentStyles" type="CT_LatentStyles" minOccurs="0" maxOccurs="1"/>
19
+ // <xsd:element name="style" type="CT_Style" minOccurs="0" maxOccurs="unbounded"/>
20
+ // </xsd:sequence>
21
+ // </xsd:complexType>
16
22
  export class Styles extends XmlComponent {
17
23
  constructor(options: IStylesOptions) {
18
24
  super("w:styles");
@@ -1,8 +1,19 @@
1
1
  // http://officeopenxml.com/WPtableGrid.php
2
+
3
+ // <xsd:complexType name="CT_TblGridCol">
4
+ // <xsd:attribute name="w" type="s:ST_TwipsMeasure"/>
5
+ // </xsd:complexType>
6
+ // <xsd:complexType name="CT_TblGridBase">
7
+ // <xsd:sequence>
8
+ // <xsd:element name="gridCol" type="CT_TblGridCol" minOccurs="0" maxOccurs="unbounded"/>
9
+ // </xsd:sequence>
10
+ // </xsd:complexType>
11
+
12
+ import { twipsMeasureValue } from "file/values";
2
13
  import { XmlAttributeComponent, XmlComponent } from "file/xml-components";
3
14
 
4
15
  export class TableGrid extends XmlComponent {
5
- constructor(widths: number[]) {
16
+ constructor(widths: number[] | string[]) {
6
17
  super("w:tblGrid");
7
18
  for (const width of widths) {
8
19
  this.root.push(new GridCol(width));
@@ -10,15 +21,15 @@ export class TableGrid extends XmlComponent {
10
21
  }
11
22
  }
12
23
 
13
- class GridColAttributes extends XmlAttributeComponent<{ readonly w: number }> {
24
+ class GridColAttributes extends XmlAttributeComponent<{ readonly w: number | string }> {
14
25
  protected readonly xmlKeys = { w: "w:w" };
15
26
  }
16
27
 
17
28
  export class GridCol extends XmlComponent {
18
- constructor(width?: number) {
29
+ constructor(width?: number | string) {
19
30
  super("w:gridCol");
20
31
  if (width !== undefined) {
21
- this.root.push(new GridColAttributes({ w: width }));
32
+ this.root.push(new GridColAttributes({ w: twipsMeasureValue(width) }));
22
33
  }
23
34
  }
24
35
  }
@@ -1,5 +1,5 @@
1
1
  export * from "./table";
2
2
  export * from "./table-cell";
3
3
  export * from "./table-properties";
4
- export * from "./shading";
5
4
  export * from "./table-row";
5
+ export * from "./table-width";
@@ -1,78 +1,53 @@
1
- import { BorderStyle } from "file/styles";
1
+ import { BorderElement, IBorderOptions } from "file/border";
2
+ import { decimalNumber } from "file/values";
2
3
  import { IgnoreIfEmptyXmlComponent, XmlAttributeComponent, XmlComponent } from "file/xml-components";
3
4
 
4
- class CellBorderAttributes extends XmlAttributeComponent<{
5
- readonly style: BorderStyle;
6
- readonly size: number;
7
- readonly color: string;
8
- }> {
9
- protected readonly xmlKeys = { style: "w:val", size: "w:sz", color: "w:color" };
10
- }
11
-
12
- class BaseTableCellBorder extends XmlComponent {
13
- public setProperties(style: BorderStyle, size: number, color: string): BaseTableCellBorder {
14
- const attrs = new CellBorderAttributes({
15
- style: style,
16
- size: size,
17
- color: color,
18
- });
19
- this.root.push(attrs);
20
-
21
- return this;
22
- }
5
+ // <xsd:complexType name="CT_TcBorders">
6
+ // <xsd:sequence>
7
+ // <xsd:element name="top" type="CT_Border" minOccurs="0"/>
8
+ // <xsd:element name="start" type="CT_Border" minOccurs="0"/>
9
+ // <xsd:element name="left" type="CT_Border" minOccurs="0"/>
10
+ // <xsd:element name="bottom" type="CT_Border" minOccurs="0"/>
11
+ // <xsd:element name="end" type="CT_Border" minOccurs="0"/>
12
+ // <xsd:element name="right" type="CT_Border" minOccurs="0"/>
13
+ // <xsd:element name="insideH" type="CT_Border" minOccurs="0"/>
14
+ // <xsd:element name="insideV" type="CT_Border" minOccurs="0"/>
15
+ // <xsd:element name="tl2br" type="CT_Border" minOccurs="0"/>
16
+ // <xsd:element name="tr2bl" type="CT_Border" minOccurs="0"/>
17
+ // </xsd:sequence>
18
+ // </xsd:complexType>
19
+
20
+ export interface ITableCellBorders {
21
+ readonly top?: IBorderOptions;
22
+ readonly start?: IBorderOptions;
23
+ readonly left?: IBorderOptions;
24
+ readonly bottom?: IBorderOptions;
25
+ readonly end?: IBorderOptions;
26
+ readonly right?: IBorderOptions;
23
27
  }
24
28
 
25
29
  export class TableCellBorders extends IgnoreIfEmptyXmlComponent {
26
- constructor() {
30
+ constructor(options: ITableCellBorders) {
27
31
  super("w:tcBorders");
28
- }
29
-
30
- public addTopBorder(style: BorderStyle, size: number, color: string): TableCellBorders {
31
- const top = new BaseTableCellBorder("w:top");
32
- top.setProperties(style, size, color);
33
- this.root.push(top);
34
32
 
35
- return this;
36
- }
37
-
38
- public addStartBorder(style: BorderStyle, size: number, color: string): TableCellBorders {
39
- const start = new BaseTableCellBorder("w:start");
40
- start.setProperties(style, size, color);
41
- this.root.push(start);
42
-
43
- return this;
44
- }
45
-
46
- public addBottomBorder(style: BorderStyle, size: number, color: string): TableCellBorders {
47
- const bottom = new BaseTableCellBorder("w:bottom");
48
- bottom.setProperties(style, size, color);
49
- this.root.push(bottom);
50
-
51
- return this;
52
- }
53
-
54
- public addEndBorder(style: BorderStyle, size: number, color: string): TableCellBorders {
55
- const end = new BaseTableCellBorder("w:end");
56
- end.setProperties(style, size, color);
57
- this.root.push(end);
58
-
59
- return this;
60
- }
61
-
62
- public addLeftBorder(style: BorderStyle, size: number, color: string): TableCellBorders {
63
- const left = new BaseTableCellBorder("w:left");
64
- left.setProperties(style, size, color);
65
- this.root.push(left);
66
-
67
- return this;
68
- }
69
-
70
- public addRightBorder(style: BorderStyle, size: number, color: string): TableCellBorders {
71
- const right = new BaseTableCellBorder("w:right");
72
- right.setProperties(style, size, color);
73
- this.root.push(right);
74
-
75
- return this;
33
+ if (options.top) {
34
+ this.root.push(new BorderElement("w:top", options.top));
35
+ }
36
+ if (options.start) {
37
+ this.root.push(new BorderElement("w:start", options.start));
38
+ }
39
+ if (options.left) {
40
+ this.root.push(new BorderElement("w:left", options.left));
41
+ }
42
+ if (options.bottom) {
43
+ this.root.push(new BorderElement("w:bottom", options.bottom));
44
+ }
45
+ if (options.end) {
46
+ this.root.push(new BorderElement("w:end", options.end));
47
+ }
48
+ if (options.right) {
49
+ this.root.push(new BorderElement("w:right", options.right));
50
+ }
76
51
  }
77
52
  }
78
53
 
@@ -83,6 +58,10 @@ class GridSpanAttributes extends XmlAttributeComponent<{ readonly val: number }>
83
58
  protected readonly xmlKeys = { val: "w:val" };
84
59
  }
85
60
 
61
+ // <xsd:complexType name="CT_TcPrBase">
62
+ // ...
63
+ // <xsd:element name="gridSpan" type="CT_DecimalNumber" minOccurs="0"/>
64
+ // </xsd>
86
65
  /**
87
66
  * GridSpan element. Should be used in a table cell. Pass the number of columns that this cell need to span.
88
67
  */
@@ -92,7 +71,7 @@ export class GridSpan extends XmlComponent {
92
71
 
93
72
  this.root.push(
94
73
  new GridSpanAttributes({
95
- val: value,
74
+ val: decimalNumber(value),
96
75
  }),
97
76
  );
98
77
  }
@@ -131,31 +110,6 @@ export class VerticalMerge extends XmlComponent {
131
110
  }
132
111
  }
133
112
 
134
- export enum VerticalAlign {
135
- BOTTOM = "bottom",
136
- CENTER = "center",
137
- TOP = "top",
138
- }
139
-
140
- class VAlignAttributes extends XmlAttributeComponent<{ readonly val: VerticalAlign }> {
141
- protected readonly xmlKeys = { val: "w:val" };
142
- }
143
-
144
- /**
145
- * Vertical align element.
146
- */
147
- export class VAlign extends XmlComponent {
148
- constructor(value: VerticalAlign) {
149
- super("w:vAlign");
150
-
151
- this.root.push(
152
- new VAlignAttributes({
153
- val: value,
154
- }),
155
- );
156
- }
157
- }
158
-
159
113
  export enum TextDirection {
160
114
  BOTTOM_TO_TOP_LEFT_TO_RIGHT = "btLr",
161
115
  LEFT_TO_RIGHT_TOP_TO_BOTTOM = "lrTb",
@@ -180,34 +134,3 @@ export class TDirection extends XmlComponent {
180
134
  );
181
135
  }
182
136
  }
183
-
184
- export enum WidthType {
185
- /** Auto. */
186
- AUTO = "auto",
187
- /** Value is in twentieths of a point */
188
- DXA = "dxa",
189
- /** No (empty) value. */
190
- NIL = "nil",
191
- /** Value is in percentage. */
192
- PERCENTAGE = "pct",
193
- }
194
-
195
- class TableCellWidthAttributes extends XmlAttributeComponent<{ readonly type: WidthType; readonly width: string | number }> {
196
- protected readonly xmlKeys = { width: "w:w", type: "w:type" };
197
- }
198
-
199
- /**
200
- * Table cell width element.
201
- */
202
- export class TableCellWidth extends XmlComponent {
203
- constructor(value: string | number, type: WidthType) {
204
- super("w:tcW");
205
-
206
- this.root.push(
207
- new TableCellWidthAttributes({
208
- width: value,
209
- type: type,
210
- }),
211
- );
212
- }
213
- }
@@ -1,136 +1,113 @@
1
1
  import { expect } from "chai";
2
2
 
3
3
  import { Formatter } from "export/formatter";
4
- import { BorderStyle } from "file/styles";
4
+ import { BorderStyle } from "file/border";
5
+ import { VerticalAlign } from "file/vertical-align";
5
6
 
6
- import { VerticalAlign, VerticalMergeType, WidthType } from "./table-cell-components";
7
+ import { WidthType } from "../table-width";
8
+
9
+ import { VerticalMergeType } from "./table-cell-components";
7
10
  import { TableCellProperties } from "./table-cell-properties";
8
11
 
9
12
  describe("TableCellProperties", () => {
10
13
  describe("#constructor", () => {
11
14
  it("creates an initially empty property object", () => {
12
- const properties = new TableCellProperties();
15
+ const properties = new TableCellProperties({});
13
16
  // The TableCellProperties is ignorable if there are no attributes,
14
17
  // which results in prepForXml returning undefined, which causes
15
18
  // the formatter to throw an error if that is the only object it
16
19
  // has been asked to format.
17
20
  expect(() => new Formatter().format(properties)).to.throw("XMLComponent did not format correctly");
18
21
  });
19
- });
20
22
 
21
- describe("#addGridSpan", () => {
22
23
  it("adds grid span", () => {
23
- const properties = new TableCellProperties();
24
- properties.addGridSpan(1);
24
+ const properties = new TableCellProperties({ columnSpan: 1 });
25
25
  const tree = new Formatter().format(properties);
26
26
  expect(tree).to.deep.equal({ "w:tcPr": [{ "w:gridSpan": { _attr: { "w:val": 1 } } }] });
27
27
  });
28
- });
29
28
 
30
- describe("#addVerticalMerge", () => {
31
29
  it("adds vertical merge", () => {
32
- const properties = new TableCellProperties();
33
- properties.addVerticalMerge(VerticalMergeType.CONTINUE);
30
+ const properties = new TableCellProperties({ verticalMerge: VerticalMergeType.CONTINUE });
34
31
  const tree = new Formatter().format(properties);
35
32
  expect(tree).to.deep.equal({ "w:tcPr": [{ "w:vMerge": { _attr: { "w:val": "continue" } } }] });
36
33
  });
37
- });
38
34
 
39
- describe("#setVerticalAlign", () => {
40
35
  it("sets vertical align", () => {
41
- const properties = new TableCellProperties();
42
- properties.setVerticalAlign(VerticalAlign.BOTTOM);
36
+ const properties = new TableCellProperties({ verticalAlign: VerticalAlign.BOTTOM });
43
37
  const tree = new Formatter().format(properties);
44
38
  expect(tree).to.deep.equal({ "w:tcPr": [{ "w:vAlign": { _attr: { "w:val": "bottom" } } }] });
45
39
  });
46
- });
47
40
 
48
- describe("#setWidth", () => {
49
41
  it("should set width", () => {
50
- const properties = new TableCellProperties();
51
- properties.setWidth(1, WidthType.DXA);
42
+ const properties = new TableCellProperties({
43
+ width: {
44
+ size: 1,
45
+ type: WidthType.DXA,
46
+ },
47
+ });
52
48
  const tree = new Formatter().format(properties);
53
49
  expect(tree).to.deep.equal({ "w:tcPr": [{ "w:tcW": { _attr: { "w:type": "dxa", "w:w": 1 } } }] });
54
50
  });
55
51
 
56
52
  it("should set width using default of AUTO", () => {
57
- const properties = new TableCellProperties();
58
- properties.setWidth(1);
53
+ const properties = new TableCellProperties({
54
+ width: {
55
+ size: 1,
56
+ },
57
+ });
59
58
  const tree = new Formatter().format(properties);
60
59
  expect(tree).to.deep.equal({ "w:tcPr": [{ "w:tcW": { _attr: { "w:type": "auto", "w:w": 1 } } }] });
61
60
  });
62
- });
63
61
 
64
- describe("#setShading", () => {
65
62
  it("sets shading", () => {
66
- const properties = new TableCellProperties();
67
- properties.setShading({
68
- fill: "test",
69
- color: "000",
63
+ const properties = new TableCellProperties({
64
+ shading: {
65
+ fill: "ffffff",
66
+ color: "000000",
67
+ },
70
68
  });
71
69
  const tree = new Formatter().format(properties);
72
- expect(tree).to.deep.equal({ "w:tcPr": [{ "w:shd": { _attr: { "w:fill": "test", "w:color": "000" } } }] });
70
+ expect(tree).to.deep.equal({ "w:tcPr": [{ "w:shd": { _attr: { "w:fill": "ffffff", "w:color": "000000" } } }] });
73
71
  });
74
- });
75
72
 
76
- describe("#addMargins", () => {
77
- it("sets shading", () => {
78
- const properties = new TableCellProperties();
79
- properties.addMargins({});
80
- const tree = new Formatter().format(properties);
81
- expect(tree).to.deep.equal({
82
- "w:tcPr": [
83
- {
84
- "w:tcMar": [
85
- {
86
- "w:top": {
87
- _attr: {
88
- "w:type": "dxa",
89
- "w:w": 0,
90
- },
91
- },
92
- },
93
- {
94
- "w:bottom": {
95
- _attr: {
96
- "w:type": "dxa",
97
- "w:w": 0,
98
- },
99
- },
100
- },
101
- {
102
- "w:end": {
103
- _attr: {
104
- "w:type": "dxa",
105
- "w:w": 0,
106
- },
107
- },
108
- },
109
- {
110
- "w:start": {
111
- _attr: {
112
- "w:type": "dxa",
113
- "w:w": 0,
114
- },
115
- },
116
- },
117
- ],
73
+ it("should set the TableCellBorders", () => {
74
+ const properties = new TableCellProperties({
75
+ borders: {
76
+ top: {
77
+ style: BorderStyle.DASH_DOT_STROKED,
78
+ color: "ff0000",
79
+ size: 3,
118
80
  },
119
- ],
81
+ },
82
+ });
83
+
84
+ const tree = new Formatter().format(properties);
85
+
86
+ expect(tree["w:tcPr"][0]).to.deep.equal({
87
+ "w:tcBorders": [{ "w:top": { _attr: { "w:val": "dashDotStroked", "w:sz": 3, "w:color": "ff0000" } } }],
120
88
  });
121
89
  });
122
- });
123
90
 
124
- describe("#Borders", () => {
125
- it("should return the TableCellBorders if Border has borders", () => {
126
- const properties = new TableCellProperties();
127
- properties.Borders.addTopBorder(BorderStyle.DASH_DOT_STROKED, 3, "red");
128
- const borders = properties.Borders;
91
+ it("should set the margins", () => {
92
+ const properties = new TableCellProperties({
93
+ margins: {
94
+ marginUnitType: WidthType.DXA,
95
+ top: 5,
96
+ left: 10,
97
+ bottom: 15,
98
+ right: 20,
99
+ },
100
+ });
129
101
 
130
- const tree = new Formatter().format(borders);
102
+ const tree = new Formatter().format(properties);
131
103
 
132
- expect(tree).to.deep.equal({
133
- "w:tcBorders": [{ "w:top": { _attr: { "w:val": "dashDotStroked", "w:sz": 3, "w:color": "red" } } }],
104
+ expect(tree["w:tcPr"][0]).to.deep.equal({
105
+ "w:tcMar": [
106
+ { "w:top": { _attr: { "w:type": "dxa", "w:w": 5 } } },
107
+ { "w:left": { _attr: { "w:type": "dxa", "w:w": 10 } } },
108
+ { "w:bottom": { _attr: { "w:type": "dxa", "w:w": 15 } } },
109
+ { "w:right": { _attr: { "w:type": "dxa", "w:w": 20 } } },
110
+ ],
134
111
  });
135
112
  });
136
113
  });
@@ -1,72 +1,68 @@
1
+ import { VerticalAlign, VerticalAlignElement } from "file/vertical-align";
1
2
  import { IgnoreIfEmptyXmlComponent } from "file/xml-components";
2
3
 
3
- import { ITableShadingAttributesProperties, TableShading } from "../shading";
4
- import { ITableCellMarginOptions, TableCellMargin } from "./cell-margin/table-cell-margins";
4
+ import { IShadingAttributesProperties, Shading } from "../../shading";
5
+ import { ITableCellMarginOptions, TableCellMargin, TableCellMarginElementType } from "../table-properties/table-cell-margin";
6
+ import { ITableWidthProperties, TableWidthElement } from "../table-width";
5
7
  import {
6
8
  GridSpan,
9
+ ITableCellBorders,
7
10
  TableCellBorders,
8
- TableCellWidth,
9
11
  TDirection,
10
12
  TextDirection,
11
- VAlign,
12
- VerticalAlign,
13
13
  VerticalMerge,
14
14
  VerticalMergeType,
15
- WidthType,
16
15
  } from "./table-cell-components";
17
16
 
18
- export class TableCellProperties extends IgnoreIfEmptyXmlComponent {
19
- private readonly cellBorder: TableCellBorders;
17
+ export interface ITableCellPropertiesOptions {
18
+ readonly shading?: IShadingAttributesProperties;
19
+ readonly margins?: ITableCellMarginOptions;
20
+ readonly verticalAlign?: VerticalAlign;
21
+ readonly textDirection?: TextDirection;
22
+ readonly verticalMerge?: VerticalMergeType;
23
+ readonly width?: ITableWidthProperties;
24
+ readonly columnSpan?: number;
25
+ readonly rowSpan?: number;
26
+ readonly borders?: ITableCellBorders;
27
+ }
20
28
 
21
- constructor() {
29
+ export class TableCellProperties extends IgnoreIfEmptyXmlComponent {
30
+ constructor(options: ITableCellPropertiesOptions) {
22
31
  super("w:tcPr");
23
- this.cellBorder = new TableCellBorders();
24
- this.root.push(this.cellBorder);
25
- }
26
-
27
- public get Borders(): TableCellBorders {
28
- return this.cellBorder;
29
- }
30
-
31
- public addGridSpan(cellSpan: number): TableCellProperties {
32
- this.root.push(new GridSpan(cellSpan));
33
-
34
- return this;
35
- }
36
32
 
37
- public addVerticalMerge(type: VerticalMergeType): TableCellProperties {
38
- this.root.push(new VerticalMerge(type));
33
+ if (options.width) {
34
+ this.root.push(new TableWidthElement("w:tcW", options.width));
35
+ }
39
36
 
40
- return this;
41
- }
42
-
43
- public setVerticalAlign(type: VerticalAlign): TableCellProperties {
44
- this.root.push(new VAlign(type));
37
+ if (options.columnSpan) {
38
+ this.root.push(new GridSpan(options.columnSpan));
39
+ }
45
40
 
46
- return this;
47
- }
41
+ if (options.verticalMerge) {
42
+ this.root.push(new VerticalMerge(options.verticalMerge));
43
+ } else if (options.rowSpan && options.rowSpan > 1) {
44
+ // if cell already have a `verticalMerge`, don't handle `rowSpan`
45
+ this.root.push(new VerticalMerge(VerticalMergeType.RESTART));
46
+ }
48
47
 
49
- public setWidth(width: string | number, type: WidthType = WidthType.AUTO): TableCellProperties {
50
- this.root.push(new TableCellWidth(width, type));
51
-
52
- return this;
53
- }
48
+ if (options.borders) {
49
+ this.root.push(new TableCellBorders(options.borders));
50
+ }
54
51
 
55
- public setShading(attrs: ITableShadingAttributesProperties): TableCellProperties {
56
- this.root.push(new TableShading(attrs));
52
+ if (options.shading) {
53
+ this.root.push(new Shading(options.shading));
54
+ }
57
55
 
58
- return this;
59
- }
60
-
61
- public addMargins(options: ITableCellMarginOptions): TableCellProperties {
62
- this.root.push(new TableCellMargin(options));
63
-
64
- return this;
65
- }
56
+ if (options.margins) {
57
+ this.root.push(new TableCellMargin(TableCellMarginElementType.TABLE_CELL, options.margins));
58
+ }
66
59
 
67
- public setTextDirection(type: TextDirection): TableCellProperties {
68
- this.root.push(new TDirection(type));
60
+ if (options.textDirection) {
61
+ this.root.push(new TDirection(options.textDirection));
62
+ }
69
63
 
70
- return this;
64
+ if (options.verticalAlign) {
65
+ this.root.push(new VerticalAlignElement(options.verticalAlign));
66
+ }
71
67
  }
72
68
  }