abstract-document 6.5.1 → 6.7.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 (285) hide show
  1. package/CHANGELOG.md +24 -1
  2. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-bold-italic.d.ts.map +1 -1
  3. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-bold-italic.js +1 -0
  4. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-bold-italic.js.map +1 -1
  5. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-bold.d.ts.map +1 -1
  6. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-bold.js +1 -0
  7. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-bold.js.map +1 -1
  8. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-empty-keepTogether.d.ts.map +1 -1
  9. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-empty-keepTogether.js +11 -0
  10. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-empty-keepTogether.js.map +1 -1
  11. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-header.d.ts.map +1 -1
  12. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-header.js +1 -0
  13. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-header.js.map +1 -1
  14. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-italic.d.ts.map +1 -1
  15. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-italic.js +1 -0
  16. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-italic.js.map +1 -1
  17. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-keepTogether.d.ts.map +1 -1
  18. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-keepTogether.js +11 -0
  19. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-keepTogether.js.map +1 -1
  20. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-subscript.d.ts.map +1 -1
  21. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-subscript.js +1 -0
  22. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-subscript.js.map +1 -1
  23. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-superscript.d.ts.map +1 -1
  24. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-superscript.js +1 -0
  25. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-superscript.js.map +1 -1
  26. package/lib/abstract-document/index.d.ts +3 -1
  27. package/lib/abstract-document/index.d.ts.map +1 -1
  28. package/lib/abstract-document/index.js +5 -1
  29. package/lib/abstract-document/index.js.map +1 -1
  30. package/lib/abstract-document/section-elements/group.d.ts +5 -1
  31. package/lib/abstract-document/section-elements/group.d.ts.map +1 -1
  32. package/lib/abstract-document/section-elements/group.js +24 -3
  33. package/lib/abstract-document/section-elements/group.js.map +1 -1
  34. package/lib/abstract-document/section-elements/paragraph.d.ts +2 -1
  35. package/lib/abstract-document/section-elements/paragraph.d.ts.map +1 -1
  36. package/lib/abstract-document/section-elements/paragraph.js +3 -2
  37. package/lib/abstract-document/section-elements/paragraph.js.map +1 -1
  38. package/lib/abstract-document/section-elements/section-element.d.ts +10 -5
  39. package/lib/abstract-document/section-elements/section-element.d.ts.map +1 -1
  40. package/lib/abstract-document/section-elements/section-element.js +32 -0
  41. package/lib/abstract-document/section-elements/section-element.js.map +1 -1
  42. package/lib/abstract-document/section-elements/table.d.ts +2 -1
  43. package/lib/abstract-document/section-elements/table.d.ts.map +1 -1
  44. package/lib/abstract-document/section-elements/table.js +3 -2
  45. package/lib/abstract-document/section-elements/table.js.map +1 -1
  46. package/lib/abstract-document/styles/group-style.d.ts +14 -0
  47. package/lib/abstract-document/styles/group-style.d.ts.map +1 -0
  48. package/lib/abstract-document/styles/group-style.js +41 -0
  49. package/lib/abstract-document/styles/group-style.js.map +1 -0
  50. package/lib/abstract-document/styles/paragraph-style.d.ts +3 -0
  51. package/lib/abstract-document/styles/paragraph-style.d.ts.map +1 -1
  52. package/lib/abstract-document/styles/paragraph-style.js +4 -3
  53. package/lib/abstract-document/styles/paragraph-style.js.map +1 -1
  54. package/lib/abstract-document/styles/position.d.ts +4 -0
  55. package/lib/abstract-document/styles/position.d.ts.map +1 -0
  56. package/lib/abstract-document/styles/position.js +29 -0
  57. package/lib/abstract-document/styles/position.js.map +1 -0
  58. package/lib/abstract-document/styles/table-style.d.ts +3 -0
  59. package/lib/abstract-document/styles/table-style.d.ts.map +1 -1
  60. package/lib/abstract-document/styles/table-style.js +4 -3
  61. package/lib/abstract-document/styles/table-style.js.map +1 -1
  62. package/lib/abstract-document/styles/text-style.d.ts +3 -0
  63. package/lib/abstract-document/styles/text-style.d.ts.map +1 -1
  64. package/lib/abstract-document/styles/text-style.js +2 -1
  65. package/lib/abstract-document/styles/text-style.js.map +1 -1
  66. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-group.d.ts +3 -0
  67. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-group.d.ts.map +1 -0
  68. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-group.js +92 -0
  69. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-group.js.map +1 -0
  70. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-header-and-footer.d.ts +3 -0
  71. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-header-and-footer.d.ts.map +1 -0
  72. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-header-and-footer.js +205 -0
  73. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-header-and-footer.js.map +1 -0
  74. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-paragraph.d.ts +3 -0
  75. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-paragraph.d.ts.map +1 -0
  76. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-paragraph.js +68 -0
  77. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-paragraph.js.map +1 -0
  78. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-section-in-group.d.ts +3 -0
  79. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-section-in-group.d.ts.map +1 -0
  80. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-section-in-group.js +109 -0
  81. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-section-in-group.js.map +1 -0
  82. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-section-in-table.d.ts +3 -0
  83. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-section-in-table.d.ts.map +1 -0
  84. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-section-in-table.js +146 -0
  85. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-section-in-table.js.map +1 -0
  86. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-table.d.ts +3 -0
  87. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-table.d.ts.map +1 -0
  88. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-table.js +121 -0
  89. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-table.js.map +1 -0
  90. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/group-no-keep-together.d.ts +3 -0
  91. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/group-no-keep-together.d.ts.map +1 -0
  92. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/group-no-keep-together.js +1270 -0
  93. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/group-no-keep-together.js.map +1 -0
  94. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/mixed-hyperlink-and-textrun-no-underline.d.ts +3 -0
  95. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/mixed-hyperlink-and-textrun-no-underline.d.ts.map +1 -0
  96. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/mixed-hyperlink-and-textrun-no-underline.js +114 -0
  97. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/mixed-hyperlink-and-textrun-no-underline.js.map +1 -0
  98. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/mixed-hyperlink-and-textrun-with-underline.d.ts +3 -0
  99. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/mixed-hyperlink-and-textrun-with-underline.d.ts.map +1 -0
  100. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/mixed-hyperlink-and-textrun-with-underline.js +114 -0
  101. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/mixed-hyperlink-and-textrun-with-underline.js.map +1 -0
  102. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-hyperlink copy.d.ts +3 -0
  103. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-hyperlink copy.d.ts.map +1 -0
  104. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-hyperlink copy.js +65 -0
  105. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-hyperlink copy.js.map +1 -0
  106. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-hyperlink-no-underline.d.ts +3 -0
  107. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-hyperlink-no-underline.d.ts.map +1 -0
  108. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-hyperlink-no-underline.js +85 -0
  109. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-hyperlink-no-underline.js.map +1 -0
  110. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-hyperlink-with-underline.d.ts +3 -0
  111. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-hyperlink-with-underline.d.ts.map +1 -0
  112. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-hyperlink-with-underline.js +85 -0
  113. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-hyperlink-with-underline.js.map +1 -0
  114. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-alphabetic.d.ts +3 -0
  115. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-alphabetic.d.ts.map +1 -0
  116. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-alphabetic.js +65 -0
  117. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-alphabetic.js.map +1 -0
  118. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-bottom.d.ts +3 -0
  119. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-bottom.d.ts.map +1 -0
  120. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-bottom.js +65 -0
  121. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-bottom.js.map +1 -0
  122. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-hanging.d.ts +3 -0
  123. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-hanging.d.ts.map +1 -0
  124. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-hanging.js +65 -0
  125. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-hanging.js.map +1 -0
  126. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-middle.d.ts +3 -0
  127. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-middle.d.ts.map +1 -0
  128. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-middle.js +65 -0
  129. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-middle.js.map +1 -0
  130. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-top.d.ts +3 -0
  131. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-top.d.ts.map +1 -0
  132. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-top.js +65 -0
  133. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-top.js.map +1 -0
  134. package/lib/abstract-document-exporters/pdf/measure.d.ts.map +1 -1
  135. package/lib/abstract-document-exporters/pdf/measure.js +7 -3
  136. package/lib/abstract-document-exporters/pdf/measure.js.map +1 -1
  137. package/lib/abstract-document-exporters/pdf/paginate.js +3 -2
  138. package/lib/abstract-document-exporters/pdf/paginate.js.map +1 -1
  139. package/lib/abstract-document-exporters/pdf/pre-process.js +2 -2
  140. package/lib/abstract-document-exporters/pdf/pre-process.js.map +1 -1
  141. package/lib/abstract-document-exporters/pdf/render.js +60 -29
  142. package/lib/abstract-document-exporters/pdf/render.js.map +1 -1
  143. package/package.json +2 -2
  144. package/src/abstract-document/__tests__/markdown/test-defs/markdown-bold-italic.tsx +1 -0
  145. package/src/abstract-document/__tests__/markdown/test-defs/markdown-bold.tsx +1 -0
  146. package/src/abstract-document/__tests__/markdown/test-defs/markdown-empty-keepTogether.tsx +11 -0
  147. package/src/abstract-document/__tests__/markdown/test-defs/markdown-header.tsx +1 -0
  148. package/src/abstract-document/__tests__/markdown/test-defs/markdown-italic.tsx +1 -0
  149. package/src/abstract-document/__tests__/markdown/test-defs/markdown-keepTogether.tsx +11 -0
  150. package/src/abstract-document/__tests__/markdown/test-defs/markdown-subscript.tsx +1 -0
  151. package/src/abstract-document/__tests__/markdown/test-defs/markdown-superscript.tsx +1 -0
  152. package/src/abstract-document/index.ts +4 -0
  153. package/src/abstract-document/section-elements/group.ts +11 -8
  154. package/src/abstract-document/section-elements/paragraph.ts +4 -2
  155. package/src/abstract-document/section-elements/section-element.ts +16 -5
  156. package/src/abstract-document/section-elements/table.ts +4 -2
  157. package/src/abstract-document/styles/group-style.ts +30 -0
  158. package/src/abstract-document/styles/paragraph-style.ts +9 -5
  159. package/src/abstract-document/styles/position.ts +8 -0
  160. package/src/abstract-document/styles/table-style.ts +10 -9
  161. package/src/abstract-document/styles/text-style.ts +4 -0
  162. package/src/abstract-document-exporters/__tests__/docx2/tmp/Group.docx +0 -0
  163. package/src/abstract-document-exporters/__tests__/docx2/tmp/Header and footer.docx and b/package/src/abstract-document-exporters/__tests__/docx2/tmp/Header → footer.docx +0 -0
  164. package/src/abstract-document-exporters/__tests__/docx2/tmp/Mixed hyperlink and textrun.docx and b/package/src/abstract-document-exporters/__tests__/docx2/tmp/Mixed hyperlink → textrun.docx +0 -0
  165. package/src/abstract-document-exporters/__tests__/docx2/tmp/Mixed textrun and images.docx and b/package/src/abstract-document-exporters/__tests__/docx2/tmp/Mixed textrun → images.docx +0 -0
  166. package/src/abstract-document-exporters/__tests__/docx2/tmp/Multiple images.docx +0 -0
  167. package/src/abstract-document-exporters/__tests__/docx2/tmp/Multiple tables.docx +0 -0
  168. package/src/abstract-document-exporters/__tests__/docx2/tmp/Multiple textrun with Center alignment.docx +0 -0
  169. package/src/abstract-document-exporters/__tests__/docx2/tmp/Multiple textrun with End alignment.docx +0 -0
  170. package/src/abstract-document-exporters/__tests__/docx2/tmp/Multiple textrun with Start alignment that linebreaks.docx +0 -0
  171. package/src/abstract-document-exporters/__tests__/docx2/tmp/Multiple textrun with Start alignment.docx +0 -0
  172. package/src/abstract-document-exporters/__tests__/docx2/tmp/Page numbering.docx +0 -0
  173. package/src/abstract-document-exporters/__tests__/docx2/tmp/Simple table colSpan and rowSpan.docx and b/package/src/abstract-document-exporters/__tests__/docx2/tmp/Simple table colSpan → rowSpan.docx +0 -0
  174. package/src/abstract-document-exporters/__tests__/docx2/tmp/Simple table without rows.docx +0 -0
  175. package/src/abstract-document-exporters/__tests__/docx2/tmp/Simple table.docx +0 -0
  176. package/src/abstract-document-exporters/__tests__/docx2/tmp/Single hyperlink.docx +0 -0
  177. package/src/abstract-document-exporters/__tests__/docx2/tmp/Single image.docx +0 -0
  178. package/src/abstract-document-exporters/__tests__/docx2/tmp/Single textrun with Center alignment that linebreaks.docx +0 -0
  179. package/src/abstract-document-exporters/__tests__/docx2/tmp/Single textrun with Center alignment.docx +0 -0
  180. package/src/abstract-document-exporters/__tests__/docx2/tmp/Single textrun with End alignment that linebreaks.docx +0 -0
  181. package/src/abstract-document-exporters/__tests__/docx2/tmp/Single textrun with End alignment.docx +0 -0
  182. package/src/abstract-document-exporters/__tests__/docx2/tmp/Single textrun with Start alignment that linebreaks.docx +0 -0
  183. package/src/abstract-document-exporters/__tests__/docx2/tmp/Single textrun with Start alignment.docx +0 -0
  184. package/src/abstract-document-exporters/__tests__/docx2/tmp/Single textrun.docx +0 -0
  185. package/src/abstract-document-exporters/__tests__/docx2/tmp/hello.docx +0 -0
  186. package/src/abstract-document-exporters/__tests__/docx2/tmp/world.docx +0 -0
  187. package/src/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-group.tsx +77 -0
  188. package/src/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-header-and-footer.tsx +205 -0
  189. package/src/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-paragraph.tsx +51 -0
  190. package/src/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-section-in-group.tsx +96 -0
  191. package/src/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-section-in-table.tsx +145 -0
  192. package/src/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-table.tsx +117 -0
  193. package/src/abstract-document-exporters/__tests__/pdf/test-defs/group-no-keep-together.tsx +1287 -0
  194. package/src/abstract-document-exporters/__tests__/pdf/test-defs/mixed-hyperlink-and-textrun-no-underline.tsx +114 -0
  195. package/src/abstract-document-exporters/__tests__/pdf/test-defs/mixed-hyperlink-and-textrun-with-underline.tsx +114 -0
  196. package/src/abstract-document-exporters/__tests__/pdf/test-defs/single-hyperlink-no-underline.tsx +70 -0
  197. package/src/abstract-document-exporters/__tests__/pdf/test-defs/single-hyperlink-with-underline.tsx +70 -0
  198. package/src/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-alphabetic.tsx +46 -0
  199. package/src/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-bottom.tsx +46 -0
  200. package/src/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-hanging.tsx +46 -0
  201. package/src/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-middle.tsx +46 -0
  202. package/src/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-top.tsx +46 -0
  203. package/src/abstract-document-exporters/__tests__/pdf/tmp/Absolute position group.pdf +123 -0
  204. package/src/abstract-document-exporters/__tests__/pdf/tmp/Absolute position header and footer.pdf +173 -0
  205. package/src/abstract-document-exporters/__tests__/pdf/tmp/Absolute position paragraph.pdf +113 -0
  206. package/src/abstract-document-exporters/__tests__/pdf/tmp/Absolute position section in group.pdf +123 -0
  207. package/src/abstract-document-exporters/__tests__/pdf/tmp/Absolute position section in table.pdf +147 -0
  208. package/src/abstract-document-exporters/__tests__/pdf/tmp/Absolute position table.pdf +137 -0
  209. package/src/abstract-document-exporters/__tests__/pdf/tmp/Group Paragraphs.pdf +2 -2
  210. package/src/abstract-document-exporters/__tests__/pdf/tmp/Group Tables.pdf +2 -2
  211. package/src/abstract-document-exporters/__tests__/pdf/tmp/Group no keeptogether.pdf +912 -0
  212. package/src/abstract-document-exporters/__tests__/pdf/tmp/Group too big for one page.pdf +2 -2
  213. package/src/abstract-document-exporters/__tests__/pdf/tmp/Header and footer.pdf +2 -2
  214. package/src/abstract-document-exporters/__tests__/pdf/tmp/Hyperlink internal linktarget.pdf +250 -682
  215. package/src/abstract-document-exporters/__tests__/pdf/tmp/Hyperlink internal.pdf +250 -682
  216. package/src/abstract-document-exporters/__tests__/pdf/tmp/Margins header body footer.pdf +2 -2
  217. package/src/abstract-document-exporters/__tests__/pdf/tmp/Mixed hyperlink and textrun no underline.pdf +180 -0
  218. package/src/abstract-document-exporters/__tests__/pdf/tmp/Mixed hyperlink and textrun with underline.pdf +192 -0
  219. package/src/abstract-document-exporters/__tests__/pdf/tmp/Mixed hyperlink and textrun.pdf +34 -60
  220. package/src/abstract-document-exporters/__tests__/pdf/tmp/Mixed textrun and images.pdf and b/package/src/abstract-document-exporters/__tests__/pdf/tmp/Mixed textrun → images.pdf +0 -0
  221. package/src/abstract-document-exporters/__tests__/pdf/tmp/Multiple images overflow.pdf +0 -0
  222. package/src/abstract-document-exporters/__tests__/pdf/tmp/Multiple images.pdf +0 -0
  223. package/src/abstract-document-exporters/__tests__/pdf/tmp/Multiple textrun with Center alignment.pdf +2 -2
  224. package/src/abstract-document-exporters/__tests__/pdf/tmp/Multiple textrun with End alignment.pdf +2 -2
  225. package/src/abstract-document-exporters/__tests__/pdf/tmp/Multiple textrun with Start alignment that linebreaks.pdf +2 -2
  226. package/src/abstract-document-exporters/__tests__/pdf/tmp/Multiple textrun with Start alignment.pdf +2 -2
  227. package/src/abstract-document-exporters/__tests__/pdf/tmp/Page numbering.pdf +2 -2
  228. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table row that doesnt fit page.pdf +2 -2
  229. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table single row.pdf +2 -2
  230. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table with group.pdf +2 -2
  231. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table with header 2.pdf +2 -2
  232. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table with header.pdf +2 -2
  233. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table with margin bottom.pdf +2 -2
  234. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table with margin top single table.pdf +2 -2
  235. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table with margin top.pdf +2 -2
  236. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table with rowSpan multipages.pdf +2 -2
  237. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table with rowSpan.pdf +2 -2
  238. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table all auto.pdf +2 -2
  239. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table all fix.pdf +2 -2
  240. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table background.pdf +2 -2
  241. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table cell padding of image.pdf +0 -0
  242. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table cell padding of text.pdf +2 -2
  243. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table center alignment.pdf +2 -2
  244. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table colSpan and rowSpan.pdf +2 -2
  245. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table mix auto fix.pdf +2 -2
  246. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table padding.pdf +2 -2
  247. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table right alignment.pdf +2 -2
  248. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table row alignment.pdf +2 -2
  249. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table text alignment in cell with wrapping.pdf +2 -2
  250. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table text alignment in cell.pdf +2 -2
  251. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table with default colored borders.pdf +2 -2
  252. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table with header.pdf +2 -2
  253. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table with multi colored borders.pdf +2 -2
  254. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table with single colored borders.pdf +2 -2
  255. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single date.pdf +3 -3
  256. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single figure.pdf +2 -2
  257. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single hyperlink centered.pdf +29 -43
  258. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single hyperlink no underline.pdf +146 -0
  259. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single hyperlink right aligned.pdf +29 -43
  260. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single hyperlink.pdf +29 -43
  261. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single image svg color hex.pdf +2 -2
  262. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single image svg color name.pdf +2 -2
  263. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single image svg color url.pdf +2 -2
  264. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single image.pdf +0 -0
  265. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun baseline alphabetic.pdf +113 -0
  266. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun baseline bottom.pdf +113 -0
  267. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun baseline hanging.pdf +113 -0
  268. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun baseline middle.pdf +113 -0
  269. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun baseline top.pdf +113 -0
  270. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun with Center alignment that linebreaks.pdf +2 -2
  271. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun with Center alignment.pdf +2 -2
  272. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun with End alignment that linebreaks.pdf +2 -2
  273. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun with End alignment.pdf +2 -2
  274. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun with Justify alignment.pdf +2 -2
  275. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun with Start alignment that linebreaks.pdf +2 -2
  276. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun with Start alignment.pdf +2 -2
  277. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun with super and subscripts.pdf +2 -2
  278. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun.pdf +2 -2
  279. package/src/abstract-document-exporters/__tests__/pdf/tmp/Table of content separator.pdf +26 -40
  280. package/src/abstract-document-exporters/__tests__/pdf/tmp/hello.pdf +2 -2
  281. package/src/abstract-document-exporters/__tests__/pdf/tmp/world.pdf +2 -2
  282. package/src/abstract-document-exporters/pdf/measure.ts +11 -3
  283. package/src/abstract-document-exporters/pdf/paginate.ts +3 -2
  284. package/src/abstract-document-exporters/pdf/pre-process.ts +2 -1
  285. package/src/abstract-document-exporters/pdf/render.ts +69 -38
@@ -373,11 +373,12 @@ function preProcessGroup(
373
373
  const children = R.unnest<AD.SectionElement.SectionElement>(
374
374
  group.children.map((e) => preProcessSectionElement(e, parentResources))
375
375
  );
376
- if (group.keepTogether || AD.Resources.hasResources(group)) {
376
+ if (group.keepTogether || AD.Resources.hasResources(group) || group.style.position === "absolute") {
377
377
  return [
378
378
  AD.Group.create(
379
379
  {
380
380
  keepTogether: group.keepTogether,
381
+ style: group.style,
381
382
  ...AD.Resources.extractResources(group),
382
383
  },
383
384
  children
@@ -94,49 +94,61 @@ function renderPage(
94
94
  });
95
95
 
96
96
  const headerX = style.headerMargins.left;
97
- let headerY = style.headerMargins.top;
97
+ const headerStart = style.headerMargins.top;
98
+ let headerY = headerStart;
98
99
  for (let element of page.header) {
99
100
  const elementSize = getDesiredSize(element, desiredSizes);
101
+ const isAbsolute = AD.Position.isPositionAbsolute(element);
100
102
  renderSectionElement(
101
103
  resources,
102
104
  pdf,
103
105
  desiredSizes,
104
- AD.Rect.create(headerX, headerY, elementSize.width, elementSize.height),
106
+ AD.Rect.create(headerX, isAbsolute ? headerStart : headerY, elementSize.width, elementSize.height),
105
107
  element
106
108
  );
107
- headerY += elementSize.height;
109
+ if (!isAbsolute) {
110
+ headerY += elementSize.height;
111
+ }
108
112
  }
109
113
  headerY += style.headerMargins.bottom;
110
114
 
111
115
  const footerHeight = page.footer.reduce(
112
- (a, b) => a + getDesiredSize(b, desiredSizes).height,
116
+ (a, b) => a + (AD.Position.isPositionAbsolute(b) ? 0 : getDesiredSize(b, desiredSizes).height),
113
117
  style.footerMargins.top + style.footerMargins.bottom
114
118
  );
115
119
  const footerX = style.footerMargins.left;
116
- let footerY = pageHeight - (footerHeight - style.footerMargins.top);
120
+ const footerStart = pageHeight - (footerHeight - style.footerMargins.top);
121
+ let footerY = footerStart;
117
122
  for (let element of page.footer) {
118
123
  const elementSize = getDesiredSize(element, desiredSizes);
124
+ const isAbsolute = AD.Position.isPositionAbsolute(element);
119
125
  renderSectionElement(
120
126
  resources,
121
127
  pdf,
122
128
  desiredSizes,
123
- AD.Rect.create(footerX, footerY, elementSize.width, elementSize.height),
129
+ AD.Rect.create(footerX, isAbsolute ? footerStart : footerY, elementSize.width, elementSize.height),
124
130
  element
125
131
  );
126
- footerY += elementSize.height;
132
+ if (!isAbsolute) {
133
+ footerY += elementSize.height;
134
+ }
127
135
  }
128
136
 
129
- let y = contentRect.y;
137
+ const elementStart = contentRect.y;
138
+ let y = elementStart;
130
139
  for (const element of page.elements) {
131
140
  const elementSize = getDesiredSize(element, desiredSizes);
141
+ const isAbsolute = AD.Position.isPositionAbsolute(element);
132
142
  renderSectionElement(
133
143
  resources,
134
144
  pdf,
135
145
  desiredSizes,
136
- AD.Rect.create(contentRect.x, y, elementSize.width, elementSize.height),
146
+ AD.Rect.create(contentRect.x, isAbsolute ? elementStart : y, elementSize.width, elementSize.height),
137
147
  element
138
148
  );
139
- y += elementSize.height;
149
+ if (!isAbsolute) {
150
+ y += elementSize.height;
151
+ }
140
152
  }
141
153
  }
142
154
 
@@ -189,17 +201,22 @@ function renderGroup(
189
201
  finalRect: AD.Rect.Rect,
190
202
  group: AD.Group.Group
191
203
  ): void {
192
- let y = finalRect.y;
204
+ const finalX = finalRect.x + group.style.margins.left;
205
+ const startY = finalRect.y + group.style.margins.top;
206
+ let y = startY;
193
207
  for (const element of group.children) {
194
208
  const elementSize = getDesiredSize(element, desiredSizes);
209
+ const isAbsolute = AD.Position.isPositionAbsolute(element);
195
210
  renderSectionElement(
196
211
  resources,
197
212
  pdf,
198
213
  desiredSizes,
199
- AD.Rect.create(finalRect.x, y, elementSize.width, elementSize.height),
214
+ AD.Rect.create(finalX, isAbsolute ? startY : y, elementSize.width, elementSize.height),
200
215
  element
201
216
  );
202
- y += elementSize.height;
217
+ if (!isAbsolute) {
218
+ y += elementSize.height;
219
+ }
203
220
  }
204
221
  }
205
222
 
@@ -283,6 +300,12 @@ function renderParagraph(
283
300
  const rowWidth = row.reduce((a, b) => a + getDesiredSize(b, desiredSizes).width, 0);
284
301
  let x = finalRect.x;
285
302
 
303
+ if (style.alignment === "Start" || style.alignment === "Justify") {
304
+ x += style.margins.left;
305
+ } else if (style.alignment === "End") {
306
+ x -= style.margins.right;
307
+ }
308
+
286
309
  if (row.length > 1 || row[0].type === "Image") {
287
310
  // Using continued with alignment "center" or "right" is broken:
288
311
  // https://github.com/foliojs/pdfkit/issues/240
@@ -490,33 +513,34 @@ function drawHyperLink(
490
513
  // so always set alignment to left and handle it through an x offset
491
514
  // if its just a single atom then we can use its alignment to partially support multi-line texts for other alignments
492
515
  if (isFirstAtom || alignment !== "left") {
493
- pdf
494
- .text(hyperLink.text, finalRect.x, finalRect.y, {
495
- width: availableWidth,
496
- underline: textStyle.underline || false,
497
- align: isSingleAtom ? alignment : "left",
498
- goTo: isInternalLink ? hyperLink.target.substr(1) : undefined,
499
- indent: textStyle.indent || 0,
500
- continued: alignment !== "left" ? false : !isLastAtom,
501
- ...(textStyle.lineGap !== undefined ? { lineGap: textStyle.lineGap } : {}),
502
- })
503
- .underline(xUnderline, finalRect.y + 2, finalRect.width, finalRect.height, {
516
+ pdf.text(hyperLink.text, finalRect.x, finalRect.y, {
517
+ width: availableWidth,
518
+ align: isSingleAtom ? alignment : "left",
519
+ goTo: isInternalLink ? hyperLink.target.substr(1) : undefined,
520
+ indent: textStyle.indent || 0,
521
+ continued: alignment !== "left" ? false : !isLastAtom,
522
+ baseline: textStyle.baseline || "top",
523
+ ...(textStyle.lineGap !== undefined ? { lineGap: textStyle.lineGap } : {}),
524
+ });
525
+ if (textStyle.underline === undefined ? true : textStyle.underline) {
526
+ pdf.underline(xUnderline, finalRect.y + 2, finalRect.width, finalRect.height, {
504
527
  align: isSingleAtom ? alignment : "left",
505
528
  color: "blue",
506
529
  });
530
+ }
507
531
  } else {
508
- pdf
509
- .text(hyperLink.text, {
510
- underline: textStyle.underline || false,
511
- align: "left",
512
- goTo: isInternalLink ? hyperLink.target.substr(1) : undefined,
513
- indent: textStyle.indent || 0,
514
- continued: !isLastAtom,
515
- ...(textStyle.lineGap !== undefined ? { lineGap: textStyle.lineGap } : {}),
516
- })
517
- .underline(xUnderline, finalRect.y + 2, finalRect.width, finalRect.height, {
532
+ pdf.text(hyperLink.text, {
533
+ align: "left",
534
+ goTo: isInternalLink ? hyperLink.target.substr(1) : undefined,
535
+ indent: textStyle.indent || 0,
536
+ continued: !isLastAtom,
537
+ ...(textStyle.lineGap !== undefined ? { lineGap: textStyle.lineGap } : {}),
538
+ });
539
+ if (textStyle.underline === undefined ? true : textStyle.underline) {
540
+ pdf.underline(xUnderline, finalRect.y + 2, finalRect.width, finalRect.height, {
518
541
  color: "blue",
519
542
  });
543
+ }
520
544
  }
521
545
 
522
546
  resetTextOffset(pdf, textStyle);
@@ -557,6 +581,7 @@ function drawText(
557
581
  align: isSingleAtom ? alignment : "left",
558
582
  indent: textStyle.indent || 0,
559
583
  continued: alignment !== "left" ? false : !isLastAtom,
584
+ baseline: textStyle.baseline || "top",
560
585
  ...(textStyle.lineGap !== undefined ? { lineGap: textStyle.lineGap } : {}),
561
586
  });
562
587
  } else {
@@ -704,8 +729,11 @@ function renderCell(
704
729
 
705
730
  let x = finalRect.x + style.padding.left;
706
731
  const availableHeight = finalRect.height;
707
- let contentHeight = cell.children.map((c) => getDesiredSize(c, desiredSizes).height).reduce((a, b) => a + b, 0);
708
- let y = finalRect.y + style.padding.top;
732
+ let contentHeight = cell.children
733
+ .map((c) => (AD.Position.isPositionAbsolute(c) ? 0 : getDesiredSize(c, desiredSizes).height))
734
+ .reduce((a, b) => a + b, 0);
735
+ const startY = finalRect.y + style.padding.top;
736
+ let y = startY;
709
737
  if (style.verticalAlignment === "Middle")
710
738
  y += 0.5 * (availableHeight - contentHeight - style.padding.top - style.padding.bottom);
711
739
  else if (style.verticalAlignment === "Bottom")
@@ -713,9 +741,12 @@ function renderCell(
713
741
 
714
742
  for (const element of cell.children) {
715
743
  const elementSize = getDesiredSize(element, desiredSizes);
716
- const elementRect = AD.Rect.create(x, y, elementSize.width, elementSize.height);
744
+ const isAbsolute = AD.Position.isPositionAbsolute(element);
745
+ const elementRect = AD.Rect.create(x, isAbsolute ? startY : y, elementSize.width, elementSize.height);
717
746
  renderSectionElement(resources, pdf, desiredSizes, elementRect, element);
718
- y += elementSize.height;
747
+ if (!isAbsolute) {
748
+ y += elementSize.height;
749
+ }
719
750
  }
720
751
 
721
752
  //Needed to counter aliasing caused by the cells background fill