docx 7.0.0 → 7.2.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 (508) 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 -1
  5. package/build/export/formatter.d.ts +4 -4
  6. package/build/export/formatter.spec.d.ts +1 -1
  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 -1
  10. package/build/export/packer/next-compiler.d.ts +10 -10
  11. package/build/export/packer/next-compiler.spec.d.ts +1 -1
  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 -1
  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/border/border.d.ts +39 -39
  18. package/build/file/border/border.spec.d.ts +1 -1
  19. package/build/file/border/index.d.ts +1 -1
  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 -1
  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 -36
  29. package/build/file/core-properties/properties.spec.d.ts +1 -1
  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 -1
  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 -10
  37. package/build/file/document/body/body.spec.d.ts +1 -1
  38. package/build/file/document/body/index.d.ts +2 -2
  39. package/build/file/document/body/section-properties/index.d.ts +2 -2
  40. package/build/file/document/body/section-properties/properties/column.d.ts +14 -14
  41. package/build/file/document/body/section-properties/properties/columns.d.ts +20 -20
  42. package/build/file/document/body/section-properties/properties/columns.spec.d.ts +1 -1
  43. package/build/file/document/body/section-properties/properties/doc-grid.d.ts +12 -12
  44. package/build/file/document/body/section-properties/properties/header-footer-reference.d.ts +17 -17
  45. package/build/file/document/body/section-properties/properties/header-footer-reference.spec.d.ts +1 -1
  46. package/build/file/document/body/section-properties/properties/index.d.ts +12 -11
  47. package/build/file/document/body/section-properties/properties/line-number.d.ts +23 -23
  48. package/build/file/document/body/section-properties/properties/page-borders.d.ts +30 -30
  49. package/build/file/document/body/section-properties/properties/page-borders.spec.d.ts +1 -1
  50. package/build/file/document/body/section-properties/properties/page-margin.d.ts +24 -24
  51. package/build/file/document/body/section-properties/properties/page-number.d.ts +24 -24
  52. package/build/file/document/body/section-properties/properties/page-size.d.ts +20 -20
  53. package/build/file/document/body/section-properties/properties/page-size.spec.d.ts +1 -1
  54. package/build/file/document/body/section-properties/properties/page-text-direction.d.ts +8 -0
  55. package/build/file/document/body/section-properties/properties/page-text-direction.spec.d.ts +1 -0
  56. package/build/file/document/body/section-properties/properties/section-type.d.ts +18 -18
  57. package/build/file/document/body/section-properties/properties/section-type.spec.d.ts +1 -1
  58. package/build/file/document/body/section-properties/section-properties.d.ts +53 -51
  59. package/build/file/document/body/section-properties/section-properties.spec.d.ts +1 -1
  60. package/build/file/document/document-attributes.d.ts +53 -53
  61. package/build/file/document/document-background/document-background.d.ts +23 -23
  62. package/build/file/document/document-background/document-background.spec.d.ts +1 -1
  63. package/build/file/document/document-background/index.d.ts +1 -1
  64. package/build/file/document/document.d.ts +15 -15
  65. package/build/file/document/document.spec.d.ts +1 -1
  66. package/build/file/document/index.d.ts +4 -4
  67. package/build/file/document-wrapper.d.ts +16 -16
  68. package/build/file/document-wrapper.spec.d.ts +1 -1
  69. package/build/file/drawing/anchor/anchor-attributes.d.ts +24 -24
  70. package/build/file/drawing/anchor/anchor.d.ts +6 -6
  71. package/build/file/drawing/anchor/anchor.spec.d.ts +1 -1
  72. package/build/file/drawing/anchor/index.d.ts +2 -2
  73. package/build/file/drawing/doc-properties/doc-properties-attributes.d.ts +12 -12
  74. package/build/file/drawing/doc-properties/doc-properties.d.ts +4 -4
  75. package/build/file/drawing/drawing.d.ts +16 -16
  76. package/build/file/drawing/drawing.spec.d.ts +1 -1
  77. package/build/file/drawing/effect-extent/effect-extent-attributes.d.ts +14 -14
  78. package/build/file/drawing/effect-extent/effect-extent.d.ts +4 -4
  79. package/build/file/drawing/extent/extent-attributes.d.ts +10 -10
  80. package/build/file/drawing/extent/extent.d.ts +5 -5
  81. package/build/file/drawing/floating/align.d.ts +5 -5
  82. package/build/file/drawing/floating/align.spec.d.ts +1 -1
  83. package/build/file/drawing/floating/floating-position.d.ts +49 -49
  84. package/build/file/drawing/floating/horizontal-position.d.ts +5 -5
  85. package/build/file/drawing/floating/horizontal-position.spec.d.ts +1 -1
  86. package/build/file/drawing/floating/index.d.ts +4 -4
  87. package/build/file/drawing/floating/position-offset.d.ts +4 -4
  88. package/build/file/drawing/floating/position-offset.spec.d.ts +1 -1
  89. package/build/file/drawing/floating/simple-pos.d.ts +4 -4
  90. package/build/file/drawing/floating/simple-pos.spec.d.ts +1 -1
  91. package/build/file/drawing/floating/vertical-position.d.ts +5 -5
  92. package/build/file/drawing/floating/vertical-position.spec.d.ts +1 -1
  93. package/build/file/drawing/graphic-frame/graphic-frame-locks/graphic-frame-lock-attributes.d.ts +10 -10
  94. package/build/file/drawing/graphic-frame/graphic-frame-locks/graphic-frame-locks.d.ts +4 -4
  95. package/build/file/drawing/graphic-frame/graphic-frame-properties.d.ts +4 -4
  96. package/build/file/drawing/index.d.ts +3 -3
  97. package/build/file/drawing/inline/graphic/graphic-data/graphic-data-attribute.d.ts +8 -8
  98. package/build/file/drawing/inline/graphic/graphic-data/graphic-data.d.ts +6 -6
  99. package/build/file/drawing/inline/graphic/graphic-data/index.d.ts +1 -1
  100. package/build/file/drawing/inline/graphic/graphic-data/pic/blip/blip-fill.d.ts +5 -5
  101. package/build/file/drawing/inline/graphic/graphic-data/pic/blip/blip.d.ts +5 -5
  102. package/build/file/drawing/inline/graphic/graphic-data/pic/blip/source-rectangle.d.ts +4 -4
  103. package/build/file/drawing/inline/graphic/graphic-data/pic/blip/stretch.d.ts +4 -4
  104. package/build/file/drawing/inline/graphic/graphic-data/pic/index.d.ts +1 -1
  105. 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
  106. 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
  107. 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
  108. package/build/file/drawing/inline/graphic/graphic-data/pic/non-visual-pic-properties/non-visual-pic-properties.d.ts +4 -4
  109. package/build/file/drawing/inline/graphic/graphic-data/pic/non-visual-pic-properties/non-visual-properties/non-visual-properties-attributes.d.ts +12 -12
  110. package/build/file/drawing/inline/graphic/graphic-data/pic/non-visual-pic-properties/non-visual-properties/non-visual-properties.d.ts +4 -4
  111. package/build/file/drawing/inline/graphic/graphic-data/pic/pic-attributes.d.ts +8 -8
  112. package/build/file/drawing/inline/graphic/graphic-data/pic/pic.d.ts +5 -5
  113. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/extents/extents-attributes.d.ts +10 -10
  114. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/extents/extents.d.ts +5 -5
  115. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/form.d.ts +17 -17
  116. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/index.d.ts +1 -1
  117. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/offset/off-attributes.d.ts +10 -10
  118. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/offset/off.d.ts +4 -4
  119. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form.spec.d.ts +1 -1
  120. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/outline/no-fill.d.ts +4 -4
  121. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/outline/no-fill.spec.d.ts +1 -1
  122. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/outline/outline.d.ts +4 -4
  123. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/outline/outline.spec.d.ts +1 -1
  124. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/preset-geometry/adjustment-values/adjustment-values.d.ts +4 -4
  125. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/preset-geometry/preset-geometry-attributes.d.ts +8 -8
  126. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/preset-geometry/preset-geometry.d.ts +4 -4
  127. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/shape-properties-attributes.d.ts +8 -8
  128. package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/shape-properties.d.ts +6 -6
  129. package/build/file/drawing/inline/graphic/graphic.d.ts +6 -6
  130. package/build/file/drawing/inline/graphic/index.d.ts +1 -1
  131. package/build/file/drawing/inline/index.d.ts +1 -1
  132. package/build/file/drawing/inline/inline-attributes.d.ts +10 -10
  133. package/build/file/drawing/inline/inline.d.ts +7 -7
  134. package/build/file/drawing/text-wrap/index.d.ts +5 -5
  135. package/build/file/drawing/text-wrap/text-wrapping.d.ts +18 -18
  136. package/build/file/drawing/text-wrap/wrap-none.d.ts +4 -4
  137. package/build/file/drawing/text-wrap/wrap-square.d.ts +6 -6
  138. package/build/file/drawing/text-wrap/wrap-tight.d.ts +5 -5
  139. package/build/file/drawing/text-wrap/wrap-top-and-bottom.d.ts +5 -5
  140. package/build/file/file-properties.d.ts +5 -5
  141. package/build/file/file.d.ts +69 -69
  142. package/build/file/file.spec.d.ts +1 -1
  143. package/build/file/footer/footer-attributes.d.ts +50 -50
  144. package/build/file/footer/footer.d.ts +9 -9
  145. package/build/file/footer/footer.spec.d.ts +1 -1
  146. package/build/file/footer/index.d.ts +1 -1
  147. package/build/file/footer-wrapper.d.ts +23 -23
  148. package/build/file/footer-wrapper.spec.d.ts +1 -1
  149. package/build/file/footnotes/footnote/footnote-attributes.d.ts +10 -10
  150. package/build/file/footnotes/footnote/footnote.d.ts +14 -14
  151. package/build/file/footnotes/footnote/footnote.spec.d.ts +1 -1
  152. package/build/file/footnotes/footnote/index.d.ts +1 -1
  153. package/build/file/footnotes/footnote/run/continuation-seperator-run.d.ts +4 -4
  154. package/build/file/footnotes/footnote/run/continuation-seperator.d.ts +4 -4
  155. package/build/file/footnotes/footnote/run/footnote-ref-run.d.ts +4 -4
  156. package/build/file/footnotes/footnote/run/footnote-ref.d.ts +4 -4
  157. package/build/file/footnotes/footnote/run/index.d.ts +1 -1
  158. package/build/file/footnotes/footnote/run/reference-run.d.ts +15 -15
  159. package/build/file/footnotes/footnote/run/seperator-run.d.ts +4 -4
  160. package/build/file/footnotes/footnote/run/seperator.d.ts +4 -4
  161. package/build/file/footnotes/footnotes-attributes.d.ts +40 -40
  162. package/build/file/footnotes/footnotes.d.ts +6 -6
  163. package/build/file/footnotes/index.d.ts +2 -2
  164. package/build/file/footnotes-wrapper.d.ts +10 -10
  165. package/build/file/footnotes-wrapper.spec.d.ts +1 -1
  166. package/build/file/header/header-attributes.d.ts +72 -72
  167. package/build/file/header/header.d.ts +9 -9
  168. package/build/file/header/header.spec.d.ts +1 -1
  169. package/build/file/header/index.d.ts +1 -1
  170. package/build/file/header-wrapper.d.ts +23 -23
  171. package/build/file/header-wrapper.spec.d.ts +1 -1
  172. package/build/file/header.d.ts +13 -13
  173. package/build/file/index.d.ts +21 -21
  174. package/build/file/media/data.d.ts +22 -22
  175. package/build/file/media/index.d.ts +2 -2
  176. package/build/file/media/media.d.ts +19 -19
  177. package/build/file/media/media.spec.d.ts +1 -1
  178. package/build/file/numbering/abstract-numbering.d.ts +6 -6
  179. package/build/file/numbering/abstract-numbering.spec.d.ts +1 -1
  180. package/build/file/numbering/concrete-numbering.spec.d.ts +1 -1
  181. package/build/file/numbering/index.d.ts +4 -4
  182. package/build/file/numbering/level.d.ts +47 -47
  183. package/build/file/numbering/multi-level-type.d.ts +4 -4
  184. package/build/file/numbering/num.d.ts +20 -20
  185. package/build/file/numbering/numbering.d.ts +19 -19
  186. package/build/file/numbering/numbering.spec.d.ts +1 -1
  187. package/build/file/paragraph/formatting/alignment.d.ts +21 -21
  188. package/build/file/paragraph/formatting/alignment.spec.d.ts +1 -1
  189. package/build/file/paragraph/formatting/border.d.ts +14 -14
  190. package/build/file/paragraph/formatting/border.spec.d.ts +1 -1
  191. package/build/file/paragraph/formatting/break.d.ts +11 -11
  192. package/build/file/paragraph/formatting/break.spec.d.ts +1 -1
  193. package/build/file/paragraph/formatting/indent.d.ts +12 -12
  194. package/build/file/paragraph/formatting/index.d.ts +8 -8
  195. package/build/file/paragraph/formatting/spacing.d.ts +17 -17
  196. package/build/file/paragraph/formatting/spacing.spec.d.ts +1 -1
  197. package/build/file/paragraph/formatting/style.d.ts +13 -13
  198. package/build/file/paragraph/formatting/style.spec.d.ts +1 -1
  199. package/build/file/paragraph/formatting/tab-stop.d.ts +39 -39
  200. package/build/file/paragraph/formatting/tab-stop.spec.d.ts +1 -1
  201. package/build/file/paragraph/formatting/unordered-list.d.ts +4 -4
  202. package/build/file/paragraph/formatting/unordered-list.spec.d.ts +1 -1
  203. package/build/file/paragraph/frame/frame-properties.d.ts +84 -84
  204. package/build/file/paragraph/frame/frame-properties.spec.d.ts +1 -1
  205. package/build/file/paragraph/frame/index.d.ts +1 -1
  206. package/build/file/paragraph/index.d.ts +7 -7
  207. package/build/file/paragraph/links/bookmark-attributes.d.ts +17 -17
  208. package/build/file/paragraph/links/bookmark.d.ts +17 -17
  209. package/build/file/paragraph/links/bookmark.spec.d.ts +1 -1
  210. package/build/file/paragraph/links/hyperlink-attributes.d.ts +13 -13
  211. package/build/file/paragraph/links/hyperlink.d.ts +26 -26
  212. package/build/file/paragraph/links/hyperlink.spec.d.ts +1 -1
  213. package/build/file/paragraph/links/index.d.ts +4 -4
  214. package/build/file/paragraph/links/outline-level.d.ts +5 -5
  215. package/build/file/paragraph/links/outline-level.spec.d.ts +1 -1
  216. package/build/file/paragraph/links/pageref-field-instruction.d.ts +5 -5
  217. package/build/file/paragraph/links/pageref-field-instruction.spec.d.ts +1 -1
  218. package/build/file/paragraph/links/pageref-properties.d.ts +4 -4
  219. package/build/file/paragraph/links/pageref.d.ts +5 -5
  220. package/build/file/paragraph/links/pageref.spec.d.ts +1 -1
  221. package/build/file/paragraph/math/brackets/index.d.ts +4 -4
  222. package/build/file/paragraph/math/brackets/math-angled-brackets.d.ts +7 -7
  223. package/build/file/paragraph/math/brackets/math-angled-brackets.spec.d.ts +1 -1
  224. package/build/file/paragraph/math/brackets/math-beginning-character.d.ts +4 -4
  225. package/build/file/paragraph/math/brackets/math-beginning-character.spec.d.ts +1 -1
  226. package/build/file/paragraph/math/brackets/math-bracket-properties.d.ts +7 -7
  227. package/build/file/paragraph/math/brackets/math-bracket-properties.spec.d.ts +1 -1
  228. package/build/file/paragraph/math/brackets/math-curly-brackets.d.ts +7 -7
  229. package/build/file/paragraph/math/brackets/math-curly-brackets.spec.d.ts +1 -1
  230. package/build/file/paragraph/math/brackets/math-ending-char.d.ts +4 -4
  231. package/build/file/paragraph/math/brackets/math-ending-character.spec.d.ts +1 -1
  232. package/build/file/paragraph/math/brackets/math-round-brackets.d.ts +7 -7
  233. package/build/file/paragraph/math/brackets/math-round-brackets.spec.d.ts +1 -1
  234. package/build/file/paragraph/math/brackets/math-square-brackets.d.ts +7 -7
  235. package/build/file/paragraph/math/brackets/math-square-brackets.spec.d.ts +1 -1
  236. package/build/file/paragraph/math/fraction/index.d.ts +3 -3
  237. package/build/file/paragraph/math/fraction/math-denominator.d.ts +5 -5
  238. package/build/file/paragraph/math/fraction/math-denominator.spec.d.ts +1 -1
  239. package/build/file/paragraph/math/fraction/math-fraction.d.ts +9 -9
  240. package/build/file/paragraph/math/fraction/math-fraction.spec.d.ts +1 -1
  241. package/build/file/paragraph/math/fraction/math-numerator.d.ts +5 -5
  242. package/build/file/paragraph/math/fraction/math-numerator.spec.d.ts +1 -1
  243. package/build/file/paragraph/math/function/index.d.ts +3 -3
  244. package/build/file/paragraph/math/function/math-function-name.d.ts +5 -5
  245. package/build/file/paragraph/math/function/math-function-name.spec.d.ts +1 -1
  246. package/build/file/paragraph/math/function/math-function-properties.d.ts +4 -4
  247. package/build/file/paragraph/math/function/math-function-properties.spec.d.ts +1 -1
  248. package/build/file/paragraph/math/function/math-function.d.ts +9 -9
  249. package/build/file/paragraph/math/function/math-function.spec.d.ts +1 -1
  250. package/build/file/paragraph/math/index.d.ts +9 -9
  251. package/build/file/paragraph/math/math-component.d.ts +9 -9
  252. package/build/file/paragraph/math/math-run.d.ts +4 -4
  253. package/build/file/paragraph/math/math-run.spec.d.ts +1 -1
  254. package/build/file/paragraph/math/math-text.d.ts +4 -4
  255. package/build/file/paragraph/math/math-text.spec.d.ts +1 -1
  256. package/build/file/paragraph/math/math.d.ts +8 -8
  257. package/build/file/paragraph/math/math.spec.d.ts +1 -1
  258. package/build/file/paragraph/math/n-ary/index.d.ts +7 -7
  259. package/build/file/paragraph/math/n-ary/math-accent-character.d.ts +4 -4
  260. package/build/file/paragraph/math/n-ary/math-accent-character.spec.d.ts +1 -1
  261. package/build/file/paragraph/math/n-ary/math-base.d.ts +5 -5
  262. package/build/file/paragraph/math/n-ary/math-base.spec.d.ts +1 -1
  263. package/build/file/paragraph/math/n-ary/math-limit-location.d.ts +4 -4
  264. package/build/file/paragraph/math/n-ary/math-limit-location.spec.d.ts +1 -1
  265. package/build/file/paragraph/math/n-ary/math-naray-properties.d.ts +4 -4
  266. package/build/file/paragraph/math/n-ary/math-naray-properties.spec.d.ts +1 -1
  267. package/build/file/paragraph/math/n-ary/math-sub-script-hide.d.ts +4 -4
  268. package/build/file/paragraph/math/n-ary/math-sub-script-hide.spec.d.ts +1 -1
  269. package/build/file/paragraph/math/n-ary/math-sub-script.d.ts +5 -5
  270. package/build/file/paragraph/math/n-ary/math-sub-script.spec.d.ts +1 -1
  271. package/build/file/paragraph/math/n-ary/math-sum.d.ts +10 -10
  272. package/build/file/paragraph/math/n-ary/math-sum.spec.d.ts +1 -1
  273. package/build/file/paragraph/math/n-ary/math-super-script-hide.d.ts +4 -4
  274. package/build/file/paragraph/math/n-ary/math-super-script-hide.spec.d.ts +1 -1
  275. package/build/file/paragraph/math/n-ary/math-super-script.d.ts +5 -5
  276. package/build/file/paragraph/math/n-ary/math-super-script.spec.d.ts +1 -1
  277. package/build/file/paragraph/math/radical/index.d.ts +3 -3
  278. package/build/file/paragraph/math/radical/math-degree-hide.d.ts +4 -4
  279. package/build/file/paragraph/math/radical/math-degree-hide.spec.d.ts +1 -1
  280. package/build/file/paragraph/math/radical/math-degree.d.ts +5 -5
  281. package/build/file/paragraph/math/radical/math-degree.spec.d.ts +1 -1
  282. package/build/file/paragraph/math/radical/math-radical-properties.d.ts +4 -4
  283. package/build/file/paragraph/math/radical/math-radical-properties.spec.d.ts +1 -1
  284. package/build/file/paragraph/math/radical/math-radical.d.ts +9 -9
  285. package/build/file/paragraph/math/radical/math-radical.spec.d.ts +1 -1
  286. package/build/file/paragraph/math/script/index.d.ts +4 -4
  287. package/build/file/paragraph/math/script/pre-sub-super-script/index.d.ts +2 -2
  288. package/build/file/paragraph/math/script/pre-sub-super-script/math-pre-sub-super-script-function-properties.d.ts +4 -4
  289. package/build/file/paragraph/math/script/pre-sub-super-script/math-pre-sub-super-script-function-properties.spec.d.ts +1 -1
  290. package/build/file/paragraph/math/script/pre-sub-super-script/math-pre-sub-super-script-function.d.ts +10 -10
  291. package/build/file/paragraph/math/script/pre-sub-super-script/math-pre-sub-super-script-function.spec.d.ts +1 -1
  292. package/build/file/paragraph/math/script/sub-script/index.d.ts +2 -2
  293. package/build/file/paragraph/math/script/sub-script/math-sub-script-function-properties.d.ts +4 -4
  294. package/build/file/paragraph/math/script/sub-script/math-sub-script-function-properties.spec.d.ts +1 -1
  295. package/build/file/paragraph/math/script/sub-script/math-sub-script-function.d.ts +9 -9
  296. package/build/file/paragraph/math/script/sub-script/math-sub-script-function.spec.d.ts +1 -1
  297. package/build/file/paragraph/math/script/sub-super-script/index.d.ts +2 -2
  298. package/build/file/paragraph/math/script/sub-super-script/math-sub-super-script-function-properties.d.ts +4 -4
  299. package/build/file/paragraph/math/script/sub-super-script/math-sub-super-script-function-properties.spec.d.ts +1 -1
  300. package/build/file/paragraph/math/script/sub-super-script/math-sub-super-script-function.d.ts +10 -10
  301. package/build/file/paragraph/math/script/sub-super-script/math-sub-super-script-function.spec.d.ts +1 -1
  302. package/build/file/paragraph/math/script/super-script/index.d.ts +2 -2
  303. package/build/file/paragraph/math/script/super-script/math-super-script-function-properties.d.ts +4 -4
  304. package/build/file/paragraph/math/script/super-script/math-super-script-function-properties.spec.d.ts +1 -1
  305. package/build/file/paragraph/math/script/super-script/math-super-script-function.d.ts +9 -9
  306. package/build/file/paragraph/math/script/super-script/math-super-script-function.spec.d.ts +1 -1
  307. package/build/file/paragraph/paragraph.d.ts +19 -19
  308. package/build/file/paragraph/paragraph.spec.d.ts +1 -1
  309. package/build/file/paragraph/properties.d.ts +54 -53
  310. package/build/file/paragraph/properties.spec.d.ts +1 -1
  311. package/build/file/paragraph/run/break.d.ts +4 -4
  312. package/build/file/paragraph/run/break.spec.d.ts +1 -1
  313. package/build/file/paragraph/run/emphasis-mark.d.ts +13 -13
  314. package/build/file/paragraph/run/emphasis-mark.spec.d.ts +1 -1
  315. package/build/file/paragraph/run/field.d.ts +10 -10
  316. package/build/file/paragraph/run/formatting.d.ts +13 -13
  317. package/build/file/paragraph/run/formatting.spec.d.ts +1 -1
  318. package/build/file/paragraph/run/image-run.d.ts +17 -17
  319. package/build/file/paragraph/run/image-run.spec.d.ts +1 -1
  320. package/build/file/paragraph/run/index.d.ts +11 -11
  321. package/build/file/paragraph/run/page-number.d.ts +10 -10
  322. package/build/file/paragraph/run/page-number.spec.d.ts +1 -1
  323. package/build/file/paragraph/run/properties.d.ts +47 -47
  324. package/build/file/paragraph/run/run-components/symbol.d.ts +4 -4
  325. package/build/file/paragraph/run/run-components/symbol.spec.d.ts +1 -1
  326. package/build/file/paragraph/run/run-components/text.d.ts +4 -4
  327. package/build/file/paragraph/run/run-components/text.spec.d.ts +1 -1
  328. package/build/file/paragraph/run/run-fonts.d.ts +12 -12
  329. package/build/file/paragraph/run/run-fonts.spec.d.ts +1 -1
  330. package/build/file/paragraph/run/run.d.ts +19 -19
  331. package/build/file/paragraph/run/run.spec.d.ts +1 -1
  332. package/build/file/paragraph/run/script.d.ts +10 -10
  333. package/build/file/paragraph/run/script.spec.d.ts +1 -1
  334. package/build/file/paragraph/run/sequential-identifier-instruction.d.ts +4 -4
  335. package/build/file/paragraph/run/sequential-identifier.d.ts +4 -4
  336. package/build/file/paragraph/run/sequential-identifier.spec.d.ts +1 -1
  337. package/build/file/paragraph/run/simple-field.d.ts +7 -7
  338. package/build/file/paragraph/run/simple-field.spec.d.ts +1 -1
  339. package/build/file/paragraph/run/symbol-run.d.ts +8 -8
  340. package/build/file/paragraph/run/symbol-run.spec.d.ts +1 -1
  341. package/build/file/paragraph/run/tab.d.ts +4 -4
  342. package/build/file/paragraph/run/tab.spec.d.ts +1 -1
  343. package/build/file/paragraph/run/text-run.d.ts +4 -4
  344. package/build/file/paragraph/run/text-run.spec.d.ts +1 -1
  345. package/build/file/paragraph/run/underline.d.ts +23 -23
  346. package/build/file/paragraph/run/underline.spec.d.ts +1 -1
  347. package/build/file/relationships/attributes.d.ts +8 -8
  348. package/build/file/relationships/index.d.ts +1 -1
  349. package/build/file/relationships/relationship/relationship-attributes.d.ts +14 -14
  350. package/build/file/relationships/relationship/relationship.d.ts +8 -8
  351. package/build/file/relationships/relationships.d.ts +8 -8
  352. package/build/file/relationships/relationships.spec.d.ts +1 -1
  353. package/build/file/settings/compatibility-setting/compatibility-setting.d.ts +15 -15
  354. package/build/file/settings/compatibility-setting/compatibility-setting.spec.d.ts +1 -1
  355. package/build/file/settings/compatibility.d.ts +8 -8
  356. package/build/file/settings/compatibility.spec.d.ts +1 -1
  357. package/build/file/settings/index.d.ts +1 -1
  358. package/build/file/settings/settings.d.ts +49 -49
  359. package/build/file/settings/settings.spec.d.ts +1 -1
  360. package/build/file/shading/index.d.ts +1 -1
  361. package/build/file/shading/shading.d.ts +48 -48
  362. package/build/file/shading/shading.spec.d.ts +1 -1
  363. package/build/file/shared/alignment.d.ts +14 -14
  364. package/build/file/shared/index.d.ts +2 -2
  365. package/build/file/shared/number-format.d.ts +64 -64
  366. package/build/file/space-type.d.ts +4 -4
  367. package/build/file/styles/defaults/document-defaults.d.ts +12 -12
  368. package/build/file/styles/defaults/document-defaults.spec.d.ts +1 -1
  369. package/build/file/styles/defaults/index.d.ts +3 -3
  370. package/build/file/styles/defaults/paragraph-properties.d.ts +5 -5
  371. package/build/file/styles/defaults/run-properties.d.ts +5 -5
  372. package/build/file/styles/external-styles-factory.d.ts +4 -4
  373. package/build/file/styles/external-styles-factory.spec.d.ts +1 -1
  374. package/build/file/styles/factory.d.ts +22 -22
  375. package/build/file/styles/index.d.ts +4 -4
  376. package/build/file/styles/latent-styles/exceptions.d.ts +20 -20
  377. package/build/file/styles/latent-styles/exceptions.spec.d.ts +1 -1
  378. package/build/file/styles/latent-styles/index.d.ts +1 -1
  379. package/build/file/styles/latent-styles/latent-styles.d.ts +5 -5
  380. package/build/file/styles/latent-styles/latent-styles.spec.d.ts +1 -1
  381. package/build/file/styles/sample/default-style.d.ts +102 -102
  382. package/build/file/styles/sample/default-style.spec.d.ts +1 -1
  383. package/build/file/styles/sample/index.d.ts +1 -1
  384. package/build/file/styles/style/character-style.d.ts +13 -13
  385. package/build/file/styles/style/character-style.spec.d.ts +1 -1
  386. package/build/file/styles/style/components.d.ts +11 -11
  387. package/build/file/styles/style/components.spec.d.ts +1 -1
  388. package/build/file/styles/style/default-styles.d.ts +44 -44
  389. package/build/file/styles/style/default-styles.spec.d.ts +1 -1
  390. package/build/file/styles/style/index.d.ts +4 -4
  391. package/build/file/styles/style/paragraph-style.d.ts +15 -15
  392. package/build/file/styles/style/paragraph-style.spec.d.ts +1 -1
  393. package/build/file/styles/style/style.d.ts +20 -20
  394. package/build/file/styles/style/style.spec.d.ts +1 -1
  395. package/build/file/styles/styles.d.ts +15 -15
  396. package/build/file/styles/styles.spec.d.ts +1 -1
  397. package/build/file/table/grid.d.ts +7 -7
  398. package/build/file/table/grid.spec.d.ts +1 -1
  399. package/build/file/table/index.d.ts +5 -5
  400. package/build/file/table/table-cell/index.d.ts +2 -2
  401. package/build/file/table/table-cell/table-cell-components.d.ts +31 -31
  402. package/build/file/table/table-cell/table-cell-properties.d.ts +20 -20
  403. package/build/file/table/table-cell/table-cell-properties.spec.d.ts +1 -1
  404. package/build/file/table/table-cell/table-cell.d.ts +12 -12
  405. package/build/file/table/table-cell/table-cell.spec.d.ts +1 -1
  406. package/build/file/table/table-properties/index.d.ts +5 -5
  407. package/build/file/table/table-properties/table-borders.d.ts +45 -45
  408. package/build/file/table/table-properties/table-borders.spec.d.ts +1 -1
  409. package/build/file/table/table-properties/table-cell-margin.d.ts +16 -16
  410. package/build/file/table/table-properties/table-cell-margin.spec.d.ts +1 -1
  411. package/build/file/table/table-properties/table-float-properties.d.ts +52 -52
  412. package/build/file/table/table-properties/table-float-properties.spec.d.ts +1 -1
  413. package/build/file/table/table-properties/table-layout.d.ts +8 -8
  414. package/build/file/table/table-properties/table-overlap.d.ts +8 -8
  415. package/build/file/table/table-properties/table-overlap.spec.d.ts +1 -1
  416. package/build/file/table/table-properties/table-properties.d.ts +23 -23
  417. package/build/file/table/table-properties/table-properties.spec.d.ts +1 -1
  418. package/build/file/table/table-row/index.d.ts +3 -3
  419. package/build/file/table/table-row/table-row-height.d.ts +18 -18
  420. package/build/file/table/table-row/table-row-properties.d.ts +13 -13
  421. package/build/file/table/table-row/table-row-properties.spec.d.ts +1 -1
  422. package/build/file/table/table-row/table-row.d.ts +16 -16
  423. package/build/file/table/table-row/table-row.spec.d.ts +1 -1
  424. package/build/file/table/table-width.d.ts +14 -14
  425. package/build/file/table/table.d.ts +23 -23
  426. package/build/file/table/table.spec.d.ts +1 -1
  427. package/build/file/table-of-contents/alias.d.ts +4 -4
  428. package/build/file/table-of-contents/field-instruction.d.ts +6 -6
  429. package/build/file/table-of-contents/index.d.ts +2 -2
  430. package/build/file/table-of-contents/sdt-content.d.ts +4 -4
  431. package/build/file/table-of-contents/sdt-properties.d.ts +4 -4
  432. package/build/file/table-of-contents/table-of-contents-properties.d.ts +23 -23
  433. package/build/file/table-of-contents/table-of-contents.d.ts +5 -5
  434. package/build/file/table-of-contents/table-of-contents.spec.d.ts +1 -1
  435. package/build/file/track-revision/index.d.ts +2 -2
  436. package/build/file/track-revision/track-revision-components/deleted-page-number.d.ts +10 -10
  437. package/build/file/track-revision/track-revision-components/deleted-page-number.spec.d.ts +1 -1
  438. package/build/file/track-revision/track-revision-components/deleted-text-run.d.ts +13 -13
  439. package/build/file/track-revision/track-revision-components/deleted-text-run.spec.d.ts +1 -1
  440. package/build/file/track-revision/track-revision-components/deleted-text.d.ts +4 -4
  441. package/build/file/track-revision/track-revision-components/deleted-text.spec.d.ts +1 -1
  442. package/build/file/track-revision/track-revision-components/inserted-text-run.d.ts +9 -9
  443. package/build/file/track-revision/track-revision-components/inserted-text-run.spec.d.ts +1 -1
  444. package/build/file/track-revision/track-revision.d.ts +13 -13
  445. package/build/file/values.d.ts +17 -17
  446. package/build/file/values.spec.d.ts +1 -1
  447. package/build/file/vertical-align/index.d.ts +1 -1
  448. package/build/file/vertical-align/vertical-align.d.ts +17 -17
  449. package/build/file/xml-components/attribute.spec.d.ts +1 -1
  450. package/build/file/xml-components/attributes.d.ts +46 -46
  451. package/build/file/xml-components/base.d.ts +12 -12
  452. package/build/file/xml-components/default-attributes.d.ts +12 -12
  453. package/build/file/xml-components/imported-xml-component.d.ts +14 -14
  454. package/build/file/xml-components/imported-xml-component.spec.d.ts +1 -1
  455. package/build/file/xml-components/index.d.ts +8 -8
  456. package/build/file/xml-components/initializable-xml-component.d.ts +4 -4
  457. package/build/file/xml-components/simple-elements.d.ts +16 -16
  458. package/build/file/xml-components/xml-component.d.ts +12 -12
  459. package/build/file/xml-components/xml-component.spec.d.ts +1 -1
  460. package/build/file/xml-components/xmlable-object.d.ts +7 -7
  461. package/build/import-dotx/import-dotx.d.ts +22 -22
  462. package/build/import-dotx/import-dotx.spec.d.ts +1 -1
  463. package/build/import-dotx/index.d.ts +1 -1
  464. package/build/index.d.ts +5 -5
  465. package/build/index.js +1 -1
  466. package/build/index.spec.d.ts +1 -1
  467. package/build/tests/utility.d.ts +3 -3
  468. package/package.json +106 -100
  469. package/src/export/packer/next-compiler.ts +409 -409
  470. package/src/export/packer/packer.spec.ts +1 -1
  471. package/src/file/core-properties/properties.spec.ts +1 -1
  472. package/src/file/core-properties/properties.ts +2 -2
  473. package/src/file/document/body/section-properties/properties/column.ts +26 -26
  474. package/src/file/document/body/section-properties/properties/columns.spec.ts +38 -38
  475. package/src/file/document/body/section-properties/properties/columns.ts +47 -47
  476. package/src/file/document/body/section-properties/properties/index.ts +13 -12
  477. package/src/file/document/body/section-properties/properties/page-text-direction.spec.ts +22 -0
  478. package/src/file/document/body/section-properties/properties/page-text-direction.ts +22 -0
  479. package/src/file/document/body/section-properties/section-properties.spec.ts +15 -0
  480. package/src/file/document/body/section-properties/section-properties.ts +7 -0
  481. package/src/file/document/document-background/document-background.spec.ts +2 -4
  482. package/src/file/document/document-background/document-background.ts +2 -2
  483. package/src/file/document/document.spec.ts +1 -3
  484. package/src/file/file.ts +1 -1
  485. package/src/file/numbering/level.ts +181 -181
  486. package/src/file/numbering/numbering.spec.ts +137 -137
  487. package/src/file/numbering/numbering.ts +235 -235
  488. package/src/file/paragraph/formatting/break.spec.ts +65 -65
  489. package/src/file/paragraph/formatting/break.ts +43 -43
  490. package/src/file/paragraph/formatting/index.ts +8 -8
  491. package/src/file/paragraph/frame/frame-properties.ts +112 -112
  492. package/src/file/paragraph/links/bookmark-attributes.ts +2 -2
  493. package/src/file/paragraph/links/bookmark.spec.ts +1 -1
  494. package/src/file/paragraph/links/bookmark.ts +75 -43
  495. package/src/file/paragraph/links/hyperlink.spec.ts +130 -130
  496. package/src/file/paragraph/links/hyperlink.ts +43 -43
  497. package/src/file/paragraph/links/index.ts +4 -4
  498. package/src/file/paragraph/links/pageref-field-instruction.spec.ts +24 -24
  499. package/src/file/paragraph/links/pageref-field-instruction.ts +25 -25
  500. package/src/file/paragraph/links/pageref-properties.ts +16 -16
  501. package/src/file/paragraph/links/pageref.spec.ts +76 -76
  502. package/src/file/paragraph/links/pageref.ts +13 -13
  503. package/src/file/paragraph/paragraph.spec.ts +992 -977
  504. package/src/file/paragraph/paragraph.ts +96 -96
  505. package/src/file/paragraph/properties.ts +190 -184
  506. package/src/file/table/table-width.ts +5 -1
  507. package/src/file/table/table.spec.ts +37 -2
  508. package/src/import-dotx/import-dotx.ts +263 -263
@@ -1,235 +1,235 @@
1
- // http://officeopenxml.com/WPnumbering.php
2
- // https://stackoverflow.com/questions/58622437/purpose-of-abstractnum-and-numberinginstance
3
- import { convertInchesToTwip, uniqueNumericId } from "convenience-functions";
4
- import { AlignmentType } from "file/paragraph";
5
- import { IContext, IXmlableObject, XmlComponent } from "file/xml-components";
6
-
7
- import { DocumentAttributes } from "../document/document-attributes";
8
- import { AbstractNumbering } from "./abstract-numbering";
9
- import { ILevelsOptions, LevelFormat } from "./level";
10
- import { ConcreteNumbering } from "./num";
11
-
12
- export interface INumberingOptions {
13
- readonly config: {
14
- readonly levels: ILevelsOptions[];
15
- readonly reference: string;
16
- }[];
17
- }
18
-
19
- // <xsd:element name="numbering" type="CT_Numbering"/>
20
- //
21
- // <xsd:complexType name="CT_Numbering">
22
- // <xsd:sequence>
23
- // <xsd:element name="numPicBullet" type="CT_NumPicBullet" minOccurs="0" maxOccurs="unbounded"/>
24
- // <xsd:element name="abstractNum" type="CT_AbstractNum" minOccurs="0" maxOccurs="unbounded"/>
25
- // <xsd:element name="num" type="CT_Num" minOccurs="0" maxOccurs="unbounded"/>
26
- // <xsd:element name="numIdMacAtCleanup" type="CT_DecimalNumber" minOccurs="0"/>
27
- // </xsd:sequence>
28
- // </xsd:complexType>
29
- export class Numbering extends XmlComponent {
30
- private readonly abstractNumberingMap = new Map<string, AbstractNumbering>();
31
- private readonly concreteNumberingMap = new Map<string, ConcreteNumbering>();
32
- private readonly referenceConfigMap = new Map<string, object>();
33
-
34
- constructor(options: INumberingOptions) {
35
- super("w:numbering");
36
- this.root.push(
37
- new DocumentAttributes({
38
- wpc: "http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas",
39
- mc: "http://schemas.openxmlformats.org/markup-compatibility/2006",
40
- o: "urn:schemas-microsoft-com:office:office",
41
- r: "http://schemas.openxmlformats.org/officeDocument/2006/relationships",
42
- m: "http://schemas.openxmlformats.org/officeDocument/2006/math",
43
- v: "urn:schemas-microsoft-com:vml",
44
- wp14: "http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing",
45
- wp: "http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing",
46
- w10: "urn:schemas-microsoft-com:office:word",
47
- w: "http://schemas.openxmlformats.org/wordprocessingml/2006/main",
48
- w14: "http://schemas.microsoft.com/office/word/2010/wordml",
49
- w15: "http://schemas.microsoft.com/office/word/2012/wordml",
50
- wpg: "http://schemas.microsoft.com/office/word/2010/wordprocessingGroup",
51
- wpi: "http://schemas.microsoft.com/office/word/2010/wordprocessingInk",
52
- wne: "http://schemas.microsoft.com/office/word/2006/wordml",
53
- wps: "http://schemas.microsoft.com/office/word/2010/wordprocessingShape",
54
- Ignorable: "w14 w15 wp14",
55
- }),
56
- );
57
-
58
- const abstractNumbering = new AbstractNumbering(uniqueNumericId(), [
59
- {
60
- level: 0,
61
- format: LevelFormat.BULLET,
62
- text: "\u25CF",
63
- alignment: AlignmentType.LEFT,
64
- style: {
65
- paragraph: {
66
- indent: { left: convertInchesToTwip(0.5), hanging: convertInchesToTwip(0.25) },
67
- },
68
- },
69
- },
70
- {
71
- level: 1,
72
- format: LevelFormat.BULLET,
73
- text: "\u25CB",
74
- alignment: AlignmentType.LEFT,
75
- style: {
76
- paragraph: {
77
- indent: { left: convertInchesToTwip(1), hanging: convertInchesToTwip(0.25) },
78
- },
79
- },
80
- },
81
- {
82
- level: 2,
83
- format: LevelFormat.BULLET,
84
- text: "\u25A0",
85
- alignment: AlignmentType.LEFT,
86
- style: {
87
- paragraph: {
88
- indent: { left: 2160, hanging: convertInchesToTwip(0.25) },
89
- },
90
- },
91
- },
92
- {
93
- level: 3,
94
- format: LevelFormat.BULLET,
95
- text: "\u25CF",
96
- alignment: AlignmentType.LEFT,
97
- style: {
98
- paragraph: {
99
- indent: { left: 2880, hanging: convertInchesToTwip(0.25) },
100
- },
101
- },
102
- },
103
- {
104
- level: 4,
105
- format: LevelFormat.BULLET,
106
- text: "\u25CB",
107
- alignment: AlignmentType.LEFT,
108
- style: {
109
- paragraph: {
110
- indent: { left: 3600, hanging: convertInchesToTwip(0.25) },
111
- },
112
- },
113
- },
114
- {
115
- level: 5,
116
- format: LevelFormat.BULLET,
117
- text: "\u25A0",
118
- alignment: AlignmentType.LEFT,
119
- style: {
120
- paragraph: {
121
- indent: { left: 4320, hanging: convertInchesToTwip(0.25) },
122
- },
123
- },
124
- },
125
- {
126
- level: 6,
127
- format: LevelFormat.BULLET,
128
- text: "\u25CF",
129
- alignment: AlignmentType.LEFT,
130
- style: {
131
- paragraph: {
132
- indent: { left: 5040, hanging: convertInchesToTwip(0.25) },
133
- },
134
- },
135
- },
136
- {
137
- level: 7,
138
- format: LevelFormat.BULLET,
139
- text: "\u25CF",
140
- alignment: AlignmentType.LEFT,
141
- style: {
142
- paragraph: {
143
- indent: { left: 5760, hanging: convertInchesToTwip(0.25) },
144
- },
145
- },
146
- },
147
- {
148
- level: 8,
149
- format: LevelFormat.BULLET,
150
- text: "\u25CF",
151
- alignment: AlignmentType.LEFT,
152
- style: {
153
- paragraph: {
154
- indent: { left: 6480, hanging: convertInchesToTwip(0.25) },
155
- },
156
- },
157
- },
158
- ]);
159
-
160
- this.concreteNumberingMap.set(
161
- "default-bullet-numbering",
162
- new ConcreteNumbering({
163
- numId: 1,
164
- abstractNumId: abstractNumbering.id,
165
- reference: "default-bullet-numbering",
166
- instance: 0,
167
- overrideLevel: {
168
- num: 0,
169
- start: 1,
170
- },
171
- }),
172
- );
173
-
174
- this.abstractNumberingMap.set("default-bullet-numbering", abstractNumbering);
175
-
176
- for (const con of options.config) {
177
- this.abstractNumberingMap.set(con.reference, new AbstractNumbering(uniqueNumericId(), con.levels));
178
- this.referenceConfigMap.set(con.reference, con.levels);
179
- }
180
- }
181
-
182
- public prepForXml(context: IContext): IXmlableObject | undefined {
183
- for (const numbering of this.abstractNumberingMap.values()) {
184
- this.root.push(numbering);
185
- }
186
-
187
- for (const numbering of this.concreteNumberingMap.values()) {
188
- this.root.push(numbering);
189
- }
190
- return super.prepForXml(context);
191
- }
192
-
193
- public createConcreteNumberingInstance(reference: string, instance: number): void {
194
- const abstractNumbering = this.abstractNumberingMap.get(reference);
195
-
196
- if (!abstractNumbering) {
197
- return;
198
- }
199
-
200
- const fullReference = `${reference}-${instance}`;
201
-
202
- if (this.concreteNumberingMap.has(fullReference)) {
203
- return;
204
- }
205
-
206
- const concreteNumberingSettings = {
207
- numId: uniqueNumericId(),
208
- abstractNumId: abstractNumbering.id,
209
- reference,
210
- instance,
211
- overrideLevel: {
212
- num: 0,
213
- start: 1,
214
- },
215
- };
216
-
217
- const referenceConfigLevels = this.referenceConfigMap.get(reference);
218
- const firstLevelStartNumber = referenceConfigLevels && referenceConfigLevels[0].start;
219
- if (firstLevelStartNumber && Number.isInteger(firstLevelStartNumber)) {
220
- concreteNumberingSettings.overrideLevel = {
221
- num: 0,
222
- start: firstLevelStartNumber,
223
- };
224
- }
225
-
226
- this.concreteNumberingMap.set(fullReference, new ConcreteNumbering(concreteNumberingSettings));
227
- }
228
-
229
- public get ConcreteNumbering(): ConcreteNumbering[] {
230
- return Array.from(this.concreteNumberingMap.values());
231
- }
232
- public get ReferenceConfig(): object[] {
233
- return Array.from(this.referenceConfigMap.values());
234
- }
235
- }
1
+ // http://officeopenxml.com/WPnumbering.php
2
+ // https://stackoverflow.com/questions/58622437/purpose-of-abstractnum-and-numberinginstance
3
+ import { convertInchesToTwip, uniqueNumericId } from "convenience-functions";
4
+ import { AlignmentType } from "file/paragraph";
5
+ import { IContext, IXmlableObject, XmlComponent } from "file/xml-components";
6
+
7
+ import { DocumentAttributes } from "../document/document-attributes";
8
+ import { AbstractNumbering } from "./abstract-numbering";
9
+ import { ILevelsOptions, LevelFormat } from "./level";
10
+ import { ConcreteNumbering } from "./num";
11
+
12
+ export interface INumberingOptions {
13
+ readonly config: {
14
+ readonly levels: ILevelsOptions[];
15
+ readonly reference: string;
16
+ }[];
17
+ }
18
+
19
+ // <xsd:element name="numbering" type="CT_Numbering"/>
20
+ //
21
+ // <xsd:complexType name="CT_Numbering">
22
+ // <xsd:sequence>
23
+ // <xsd:element name="numPicBullet" type="CT_NumPicBullet" minOccurs="0" maxOccurs="unbounded"/>
24
+ // <xsd:element name="abstractNum" type="CT_AbstractNum" minOccurs="0" maxOccurs="unbounded"/>
25
+ // <xsd:element name="num" type="CT_Num" minOccurs="0" maxOccurs="unbounded"/>
26
+ // <xsd:element name="numIdMacAtCleanup" type="CT_DecimalNumber" minOccurs="0"/>
27
+ // </xsd:sequence>
28
+ // </xsd:complexType>
29
+ export class Numbering extends XmlComponent {
30
+ private readonly abstractNumberingMap = new Map<string, AbstractNumbering>();
31
+ private readonly concreteNumberingMap = new Map<string, ConcreteNumbering>();
32
+ private readonly referenceConfigMap = new Map<string, object>();
33
+
34
+ constructor(options: INumberingOptions) {
35
+ super("w:numbering");
36
+ this.root.push(
37
+ new DocumentAttributes({
38
+ wpc: "http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas",
39
+ mc: "http://schemas.openxmlformats.org/markup-compatibility/2006",
40
+ o: "urn:schemas-microsoft-com:office:office",
41
+ r: "http://schemas.openxmlformats.org/officeDocument/2006/relationships",
42
+ m: "http://schemas.openxmlformats.org/officeDocument/2006/math",
43
+ v: "urn:schemas-microsoft-com:vml",
44
+ wp14: "http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing",
45
+ wp: "http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing",
46
+ w10: "urn:schemas-microsoft-com:office:word",
47
+ w: "http://schemas.openxmlformats.org/wordprocessingml/2006/main",
48
+ w14: "http://schemas.microsoft.com/office/word/2010/wordml",
49
+ w15: "http://schemas.microsoft.com/office/word/2012/wordml",
50
+ wpg: "http://schemas.microsoft.com/office/word/2010/wordprocessingGroup",
51
+ wpi: "http://schemas.microsoft.com/office/word/2010/wordprocessingInk",
52
+ wne: "http://schemas.microsoft.com/office/word/2006/wordml",
53
+ wps: "http://schemas.microsoft.com/office/word/2010/wordprocessingShape",
54
+ Ignorable: "w14 w15 wp14",
55
+ }),
56
+ );
57
+
58
+ const abstractNumbering = new AbstractNumbering(uniqueNumericId(), [
59
+ {
60
+ level: 0,
61
+ format: LevelFormat.BULLET,
62
+ text: "\u25CF",
63
+ alignment: AlignmentType.LEFT,
64
+ style: {
65
+ paragraph: {
66
+ indent: { left: convertInchesToTwip(0.5), hanging: convertInchesToTwip(0.25) },
67
+ },
68
+ },
69
+ },
70
+ {
71
+ level: 1,
72
+ format: LevelFormat.BULLET,
73
+ text: "\u25CB",
74
+ alignment: AlignmentType.LEFT,
75
+ style: {
76
+ paragraph: {
77
+ indent: { left: convertInchesToTwip(1), hanging: convertInchesToTwip(0.25) },
78
+ },
79
+ },
80
+ },
81
+ {
82
+ level: 2,
83
+ format: LevelFormat.BULLET,
84
+ text: "\u25A0",
85
+ alignment: AlignmentType.LEFT,
86
+ style: {
87
+ paragraph: {
88
+ indent: { left: 2160, hanging: convertInchesToTwip(0.25) },
89
+ },
90
+ },
91
+ },
92
+ {
93
+ level: 3,
94
+ format: LevelFormat.BULLET,
95
+ text: "\u25CF",
96
+ alignment: AlignmentType.LEFT,
97
+ style: {
98
+ paragraph: {
99
+ indent: { left: 2880, hanging: convertInchesToTwip(0.25) },
100
+ },
101
+ },
102
+ },
103
+ {
104
+ level: 4,
105
+ format: LevelFormat.BULLET,
106
+ text: "\u25CB",
107
+ alignment: AlignmentType.LEFT,
108
+ style: {
109
+ paragraph: {
110
+ indent: { left: 3600, hanging: convertInchesToTwip(0.25) },
111
+ },
112
+ },
113
+ },
114
+ {
115
+ level: 5,
116
+ format: LevelFormat.BULLET,
117
+ text: "\u25A0",
118
+ alignment: AlignmentType.LEFT,
119
+ style: {
120
+ paragraph: {
121
+ indent: { left: 4320, hanging: convertInchesToTwip(0.25) },
122
+ },
123
+ },
124
+ },
125
+ {
126
+ level: 6,
127
+ format: LevelFormat.BULLET,
128
+ text: "\u25CF",
129
+ alignment: AlignmentType.LEFT,
130
+ style: {
131
+ paragraph: {
132
+ indent: { left: 5040, hanging: convertInchesToTwip(0.25) },
133
+ },
134
+ },
135
+ },
136
+ {
137
+ level: 7,
138
+ format: LevelFormat.BULLET,
139
+ text: "\u25CF",
140
+ alignment: AlignmentType.LEFT,
141
+ style: {
142
+ paragraph: {
143
+ indent: { left: 5760, hanging: convertInchesToTwip(0.25) },
144
+ },
145
+ },
146
+ },
147
+ {
148
+ level: 8,
149
+ format: LevelFormat.BULLET,
150
+ text: "\u25CF",
151
+ alignment: AlignmentType.LEFT,
152
+ style: {
153
+ paragraph: {
154
+ indent: { left: 6480, hanging: convertInchesToTwip(0.25) },
155
+ },
156
+ },
157
+ },
158
+ ]);
159
+
160
+ this.concreteNumberingMap.set(
161
+ "default-bullet-numbering",
162
+ new ConcreteNumbering({
163
+ numId: 1,
164
+ abstractNumId: abstractNumbering.id,
165
+ reference: "default-bullet-numbering",
166
+ instance: 0,
167
+ overrideLevel: {
168
+ num: 0,
169
+ start: 1,
170
+ },
171
+ }),
172
+ );
173
+
174
+ this.abstractNumberingMap.set("default-bullet-numbering", abstractNumbering);
175
+
176
+ for (const con of options.config) {
177
+ this.abstractNumberingMap.set(con.reference, new AbstractNumbering(uniqueNumericId(), con.levels));
178
+ this.referenceConfigMap.set(con.reference, con.levels);
179
+ }
180
+ }
181
+
182
+ public prepForXml(context: IContext): IXmlableObject | undefined {
183
+ for (const numbering of this.abstractNumberingMap.values()) {
184
+ this.root.push(numbering);
185
+ }
186
+
187
+ for (const numbering of this.concreteNumberingMap.values()) {
188
+ this.root.push(numbering);
189
+ }
190
+ return super.prepForXml(context);
191
+ }
192
+
193
+ public createConcreteNumberingInstance(reference: string, instance: number): void {
194
+ const abstractNumbering = this.abstractNumberingMap.get(reference);
195
+
196
+ if (!abstractNumbering) {
197
+ return;
198
+ }
199
+
200
+ const fullReference = `${reference}-${instance}`;
201
+
202
+ if (this.concreteNumberingMap.has(fullReference)) {
203
+ return;
204
+ }
205
+
206
+ const concreteNumberingSettings = {
207
+ numId: uniqueNumericId(),
208
+ abstractNumId: abstractNumbering.id,
209
+ reference,
210
+ instance,
211
+ overrideLevel: {
212
+ num: 0,
213
+ start: 1,
214
+ },
215
+ };
216
+
217
+ const referenceConfigLevels = this.referenceConfigMap.get(reference);
218
+ const firstLevelStartNumber = referenceConfigLevels && referenceConfigLevels[0].start;
219
+ if (firstLevelStartNumber && Number.isInteger(firstLevelStartNumber)) {
220
+ concreteNumberingSettings.overrideLevel = {
221
+ num: 0,
222
+ start: firstLevelStartNumber,
223
+ };
224
+ }
225
+
226
+ this.concreteNumberingMap.set(fullReference, new ConcreteNumbering(concreteNumberingSettings));
227
+ }
228
+
229
+ public get ConcreteNumbering(): ConcreteNumbering[] {
230
+ return Array.from(this.concreteNumberingMap.values());
231
+ }
232
+ public get ReferenceConfig(): object[] {
233
+ return Array.from(this.referenceConfigMap.values());
234
+ }
235
+ }
@@ -1,65 +1,65 @@
1
- import { expect } from "chai";
2
-
3
- import { Formatter } from "export/formatter";
4
-
5
- import { ColumnBreak, PageBreak, PageBreakBefore } from "./break";
6
-
7
- describe("PageBreak", () => {
8
- let pageBreak: PageBreak;
9
-
10
- beforeEach(() => {
11
- pageBreak = new PageBreak();
12
- });
13
-
14
- describe("#constructor()", () => {
15
- it("should create a Page Break with correct attributes", () => {
16
- const tree = new Formatter().format(pageBreak);
17
- expect(tree).to.deep.equal({
18
- "w:r": [
19
- {
20
- "w:br": {
21
- _attr: {
22
- "w:type": "page",
23
- },
24
- },
25
- },
26
- ],
27
- });
28
- });
29
- });
30
- });
31
-
32
- describe("ColumnBreak", () => {
33
- let columnBreak: ColumnBreak;
34
-
35
- beforeEach(() => {
36
- columnBreak = new ColumnBreak();
37
- });
38
-
39
- describe("#constructor()", () => {
40
- it("should create a Column Break with correct attributes", () => {
41
- const tree = new Formatter().format(columnBreak);
42
- expect(tree).to.deep.equal({
43
- "w:r": [
44
- {
45
- "w:br": {
46
- _attr: {
47
- "w:type": "column",
48
- },
49
- },
50
- },
51
- ],
52
- });
53
- });
54
- });
55
- });
56
-
57
- describe("PageBreakBefore", () => {
58
- it("should create page break before", () => {
59
- const pageBreakBefore = new PageBreakBefore();
60
- const tree = new Formatter().format(pageBreakBefore);
61
- expect(tree).to.deep.equal({
62
- "w:pageBreakBefore": {},
63
- });
64
- });
65
- });
1
+ import { expect } from "chai";
2
+
3
+ import { Formatter } from "export/formatter";
4
+
5
+ import { ColumnBreak, PageBreak, PageBreakBefore } from "./break";
6
+
7
+ describe("PageBreak", () => {
8
+ let pageBreak: PageBreak;
9
+
10
+ beforeEach(() => {
11
+ pageBreak = new PageBreak();
12
+ });
13
+
14
+ describe("#constructor()", () => {
15
+ it("should create a Page Break with correct attributes", () => {
16
+ const tree = new Formatter().format(pageBreak);
17
+ expect(tree).to.deep.equal({
18
+ "w:r": [
19
+ {
20
+ "w:br": {
21
+ _attr: {
22
+ "w:type": "page",
23
+ },
24
+ },
25
+ },
26
+ ],
27
+ });
28
+ });
29
+ });
30
+ });
31
+
32
+ describe("ColumnBreak", () => {
33
+ let columnBreak: ColumnBreak;
34
+
35
+ beforeEach(() => {
36
+ columnBreak = new ColumnBreak();
37
+ });
38
+
39
+ describe("#constructor()", () => {
40
+ it("should create a Column Break with correct attributes", () => {
41
+ const tree = new Formatter().format(columnBreak);
42
+ expect(tree).to.deep.equal({
43
+ "w:r": [
44
+ {
45
+ "w:br": {
46
+ _attr: {
47
+ "w:type": "column",
48
+ },
49
+ },
50
+ },
51
+ ],
52
+ });
53
+ });
54
+ });
55
+ });
56
+
57
+ describe("PageBreakBefore", () => {
58
+ it("should create page break before", () => {
59
+ const pageBreakBefore = new PageBreakBefore();
60
+ const tree = new Formatter().format(pageBreakBefore);
61
+ expect(tree).to.deep.equal({
62
+ "w:pageBreakBefore": {},
63
+ });
64
+ });
65
+ });