abstract-document 20.0.1 → 20.0.4

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 (194) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/README.md +3 -3
  3. package/lib/abstract-document/abstract-doc.d.ts +2 -2
  4. package/lib/abstract-document/abstract-doc.d.ts.map +1 -1
  5. package/lib/abstract-document/atoms/atom.d.ts +7 -7
  6. package/lib/abstract-document/atoms/atom.d.ts.map +1 -1
  7. package/lib/abstract-document/atoms/image.d.ts +1 -1
  8. package/lib/abstract-document/atoms/image.d.ts.map +1 -1
  9. package/lib/abstract-document/atoms/line-break.d.ts +1 -1
  10. package/lib/abstract-document/atoms/line-break.d.ts.map +1 -1
  11. package/lib/abstract-document/atoms/line-break.js +1 -1
  12. package/lib/abstract-document/atoms/line-break.js.map +1 -1
  13. package/lib/abstract-document/atoms/link-target.js +1 -1
  14. package/lib/abstract-document/atoms/text-run.d.ts.map +1 -1
  15. package/lib/abstract-document/atoms/text-run.js +1 -0
  16. package/lib/abstract-document/atoms/text-run.js.map +1 -1
  17. package/lib/abstract-document/default-styles.d.ts +2 -2
  18. package/lib/abstract-document/default-styles.d.ts.map +1 -1
  19. package/lib/abstract-document/markdown/markdown.d.ts +1 -1
  20. package/lib/abstract-document/markdown/markdown.d.ts.map +1 -1
  21. package/lib/abstract-document/markdown/markdown.js +6 -3
  22. package/lib/abstract-document/markdown/markdown.js.map +1 -1
  23. package/lib/abstract-document/markdown/types.d.ts +1 -1
  24. package/lib/abstract-document/markdown/types.d.ts.map +1 -1
  25. package/lib/abstract-document/numberings/numbering-definition.d.ts +1 -1
  26. package/lib/abstract-document/numberings/numbering-definition.d.ts.map +1 -1
  27. package/lib/abstract-document/numberings/numbering-format.d.ts.map +1 -1
  28. package/lib/abstract-document/numberings/numbering-level-definition.d.ts +1 -1
  29. package/lib/abstract-document/numberings/numbering-level-definition.d.ts.map +1 -1
  30. package/lib/abstract-document/page/master-page.d.ts +1 -1
  31. package/lib/abstract-document/page/master-page.d.ts.map +1 -1
  32. package/lib/abstract-document/page/section.d.ts +2 -2
  33. package/lib/abstract-document/page/section.d.ts.map +1 -1
  34. package/lib/abstract-document/primitives/image-resource.d.ts +1 -1
  35. package/lib/abstract-document/primitives/image-resource.d.ts.map +1 -1
  36. package/lib/abstract-document/primitives/layout-foundation-color.js +4 -4
  37. package/lib/abstract-document/primitives/layout-foundation-color.js.map +1 -1
  38. package/lib/abstract-document/primitives/layout-foundation.js +1 -1
  39. package/lib/abstract-document/primitives/point.js +1 -1
  40. package/lib/abstract-document/resources.d.ts +5 -5
  41. package/lib/abstract-document/resources.d.ts.map +1 -1
  42. package/lib/abstract-document/resources.js.map +1 -1
  43. package/lib/abstract-document/section-elements/group.d.ts +2 -2
  44. package/lib/abstract-document/section-elements/group.d.ts.map +1 -1
  45. package/lib/abstract-document/section-elements/page-break.d.ts +1 -1
  46. package/lib/abstract-document/section-elements/page-break.d.ts.map +1 -1
  47. package/lib/abstract-document/section-elements/paragraph.d.ts +3 -3
  48. package/lib/abstract-document/section-elements/paragraph.d.ts.map +1 -1
  49. package/lib/abstract-document/section-elements/paragraph.js +1 -1
  50. package/lib/abstract-document/section-elements/paragraph.js.map +1 -1
  51. package/lib/abstract-document/section-elements/section-element.d.ts +1 -1
  52. package/lib/abstract-document/section-elements/section-element.d.ts.map +1 -1
  53. package/lib/abstract-document/section-elements/table.d.ts +2 -2
  54. package/lib/abstract-document/section-elements/table.d.ts.map +1 -1
  55. package/lib/abstract-document/styles/group-style.d.ts +1 -1
  56. package/lib/abstract-document/styles/group-style.d.ts.map +1 -1
  57. package/lib/abstract-document/styles/paragraph-style.d.ts +1 -1
  58. package/lib/abstract-document/styles/paragraph-style.d.ts.map +1 -1
  59. package/lib/abstract-document/styles/paragraph-style.js +1 -1
  60. package/lib/abstract-document/styles/paragraph-style.js.map +1 -1
  61. package/lib/abstract-document/styles/table-cell-style.d.ts.map +1 -1
  62. package/lib/abstract-document/styles/table-cell-style.js +1 -1
  63. package/lib/abstract-document/styles/table-cell-style.js.map +1 -1
  64. package/lib/abstract-document/styles/table-style.d.ts +1 -1
  65. package/lib/abstract-document/styles/table-style.d.ts.map +1 -1
  66. package/lib/abstract-document/styles/table-style.js +1 -1
  67. package/lib/abstract-document/styles/table-style.js.map +1 -1
  68. package/lib/abstract-document/styles/text-style.js +1 -1
  69. package/lib/abstract-document/styles/text-style.js.map +1 -1
  70. package/lib/abstract-document/table/table-cell.d.ts +1 -1
  71. package/lib/abstract-document/table/table-cell.d.ts.map +1 -1
  72. package/lib/abstract-document/table/table-row.d.ts +1 -1
  73. package/lib/abstract-document/table/table-row.d.ts.map +1 -1
  74. package/lib/abstract-document-exporters/docx/ref-container.d.ts.map +1 -1
  75. package/lib/abstract-document-exporters/docx/string-utils.d.ts.map +1 -1
  76. package/lib/abstract-document-exporters/docx/string-utils.js +1 -3
  77. package/lib/abstract-document-exporters/docx/string-utils.js.map +1 -1
  78. package/lib/abstract-document-exporters/docx/xml-writer.d.ts.map +1 -1
  79. package/lib/abstract-document-exporters/docx/xml-writer.js +1 -0
  80. package/lib/abstract-document-exporters/docx/xml-writer.js.map +1 -1
  81. package/lib/abstract-document-exporters/docx2/render-image.d.ts +4 -4
  82. package/lib/abstract-document-exporters/docx2/render-image.d.ts.map +1 -1
  83. package/lib/abstract-document-exporters/docx2/render-image.js +8 -14
  84. package/lib/abstract-document-exporters/docx2/render-image.js.map +1 -1
  85. package/lib/abstract-document-exporters/docx2/render.d.ts.map +1 -1
  86. package/lib/abstract-document-exporters/docx2/render.js +37 -29
  87. package/lib/abstract-document-exporters/docx2/render.js.map +1 -1
  88. package/lib/abstract-document-exporters/pdf/font.d.ts +2 -2
  89. package/lib/abstract-document-exporters/pdf/font.d.ts.map +1 -1
  90. package/lib/abstract-document-exporters/pdf/font.js +2 -1
  91. package/lib/abstract-document-exporters/pdf/font.js.map +1 -1
  92. package/lib/abstract-document-exporters/pdf/measure.d.ts +1 -1
  93. package/lib/abstract-document-exporters/pdf/measure.d.ts.map +1 -1
  94. package/lib/abstract-document-exporters/pdf/measure.js +3 -2
  95. package/lib/abstract-document-exporters/pdf/measure.js.map +1 -1
  96. package/lib/abstract-document-exporters/pdf/paginate.d.ts.map +1 -1
  97. package/lib/abstract-document-exporters/pdf/paginate.js +3 -2
  98. package/lib/abstract-document-exporters/pdf/paginate.js.map +1 -1
  99. package/lib/abstract-document-exporters/pdf/pre-process.d.ts.map +1 -1
  100. package/lib/abstract-document-exporters/pdf/pre-process.js +3 -2
  101. package/lib/abstract-document-exporters/pdf/pre-process.js.map +1 -1
  102. package/lib/abstract-document-exporters/pdf/render-image.js +1 -3
  103. package/lib/abstract-document-exporters/pdf/render-image.js.map +1 -1
  104. package/lib/abstract-document-exporters/pdf/render.d.ts.map +1 -1
  105. package/lib/abstract-document-exporters/pdf/render.js +1 -0
  106. package/lib/abstract-document-exporters/pdf/render.js.map +1 -1
  107. package/lib/abstract-document-exporters/pdf/std-fonts.js +1 -1
  108. package/lib/abstract-document-exporters/pdf/textRunRow.d.ts.map +1 -1
  109. package/lib/abstract-document-exporters/pdf/textRunRow.js +21 -15
  110. package/lib/abstract-document-exporters/pdf/textRunRow.js.map +1 -1
  111. package/lib/abstract-document-exporters/pdf/update-refs.d.ts +1 -1
  112. package/lib/abstract-document-exporters/pdf/update-refs.d.ts.map +1 -1
  113. package/lib/abstract-document-exporters/shared/get_resources.d.ts +2 -2
  114. package/lib/abstract-document-exporters/shared/get_resources.d.ts.map +1 -1
  115. package/lib/abstract-document-exporters/shared/get_resources.js.map +1 -1
  116. package/lib/abstract-document-jsx/index.d.ts.map +1 -1
  117. package/lib/abstract-document-jsx/index.js.map +1 -1
  118. package/lib/abstract-document-xml/abstract-doc-of-xml/abstract-doc-of-xml.d.ts +3 -3
  119. package/lib/abstract-document-xml/abstract-doc-of-xml/abstract-doc-of-xml.d.ts.map +1 -1
  120. package/lib/abstract-document-xml/abstract-doc-of-xml/abstract-doc-of-xml.js +33 -33
  121. package/lib/abstract-document-xml/abstract-doc-of-xml/abstract-doc-of-xml.js.map +1 -1
  122. package/lib/abstract-document-xml/abstract-doc-of-xml/creator.d.ts.map +1 -1
  123. package/lib/abstract-document-xml/abstract-doc-of-xml/creator.js +81 -75
  124. package/lib/abstract-document-xml/abstract-doc-of-xml/creator.js.map +1 -1
  125. package/lib/abstract-document-xml/abstract-doc-of-xml/custom-elements.d.ts +3 -2
  126. package/lib/abstract-document-xml/abstract-doc-of-xml/custom-elements.d.ts.map +1 -1
  127. package/lib/abstract-document-xml/abstract-doc-of-xml/custom-elements.js +1 -1
  128. package/lib/abstract-document-xml/abstract-doc-of-xml/custom-elements.js.map +1 -1
  129. package/lib/abstract-document-xml/xsd-template/custom-elements.d.ts.map +1 -1
  130. package/lib/abstract-document-xml/xsd-template/custom-elements.js +0 -1
  131. package/lib/abstract-document-xml/xsd-template/custom-elements.js.map +1 -1
  132. package/package.json +4 -4
  133. package/src/abstract-document/abstract-doc.ts +7 -7
  134. package/src/abstract-document/atoms/atom.ts +7 -7
  135. package/src/abstract-document/atoms/image.ts +1 -1
  136. package/src/abstract-document/atoms/line-break.ts +1 -1
  137. package/src/abstract-document/atoms/link-target.ts +1 -1
  138. package/src/abstract-document/atoms/text-run.ts +1 -0
  139. package/src/abstract-document/default-styles.ts +2 -2
  140. package/src/abstract-document/markdown/markdown.ts +11 -8
  141. package/src/abstract-document/markdown/types.ts +1 -1
  142. package/src/abstract-document/numberings/numbering-definition.ts +1 -1
  143. package/src/abstract-document/numberings/numbering-format.ts +1 -7
  144. package/src/abstract-document/numberings/numbering-level-definition.ts +1 -1
  145. package/src/abstract-document/page/master-page.ts +1 -1
  146. package/src/abstract-document/page/section.ts +2 -2
  147. package/src/abstract-document/primitives/image-resource.ts +1 -1
  148. package/src/abstract-document/primitives/layout-foundation-color.ts +4 -4
  149. package/src/abstract-document/primitives/layout-foundation.ts +1 -1
  150. package/src/abstract-document/primitives/point.ts +1 -1
  151. package/src/abstract-document/resources.ts +9 -8
  152. package/src/abstract-document/section-elements/group.ts +2 -2
  153. package/src/abstract-document/section-elements/page-break.ts +1 -1
  154. package/src/abstract-document/section-elements/paragraph.ts +4 -4
  155. package/src/abstract-document/section-elements/section-element.ts +1 -1
  156. package/src/abstract-document/section-elements/table.ts +2 -2
  157. package/src/abstract-document/styles/group-style.ts +1 -1
  158. package/src/abstract-document/styles/paragraph-style.ts +2 -2
  159. package/src/abstract-document/styles/table-cell-style.ts +1 -8
  160. package/src/abstract-document/styles/table-style.ts +2 -2
  161. package/src/abstract-document/styles/text-style.ts +20 -20
  162. package/src/abstract-document/table/table-cell.ts +1 -1
  163. package/src/abstract-document/table/table-row.ts +1 -1
  164. package/src/abstract-document-exporters/docx/string-utils.ts +1 -5
  165. package/src/abstract-document-exporters/docx/xml-writer.ts +1 -0
  166. package/src/abstract-document-exporters/docx2/render-image.ts +69 -57
  167. package/src/abstract-document-exporters/docx2/render.ts +104 -77
  168. package/src/abstract-document-exporters/pdf/font.ts +16 -15
  169. package/src/abstract-document-exporters/pdf/measure.ts +6 -3
  170. package/src/abstract-document-exporters/pdf/paginate.ts +11 -6
  171. package/src/abstract-document-exporters/pdf/pre-process.ts +3 -3
  172. package/src/abstract-document-exporters/pdf/render-image.ts +10 -12
  173. package/src/abstract-document-exporters/pdf/render.ts +5 -2
  174. package/src/abstract-document-exporters/pdf/std-fonts.ts +1 -1
  175. package/src/abstract-document-exporters/pdf/textRunRow.ts +108 -74
  176. package/src/abstract-document-exporters/pdf/update-refs.ts +2 -2
  177. package/src/abstract-document-exporters/shared/get_resources.ts +10 -9
  178. package/src/abstract-document-jsx/index.ts +1 -1
  179. package/src/abstract-document-xml/abstract-doc-of-xml/abstract-doc-of-xml.ts +47 -46
  180. package/src/abstract-document-xml/abstract-doc-of-xml/creator.ts +118 -114
  181. package/src/abstract-document-xml/abstract-doc-of-xml/custom-elements.tsx +4 -13
  182. package/src/abstract-document-xml/xsd-template/custom-elements.ts +0 -1
  183. package/src/abstract-document-xml/xsd-template/styles.ts +1 -1
  184. package/src/custom_typings/pdfkit-standard-fonts/index.d.ts +0 -1
  185. package/lib/abstract-document/table/text-row.d.ts +0 -2
  186. package/lib/abstract-document/table/text-row.d.ts.map +0 -1
  187. package/lib/abstract-document/table/text-row.js +0 -2
  188. package/lib/abstract-document/table/text-row.js.map +0 -1
  189. package/lib/abstract-document-exporters/docx/docx-document-renderer.d.ts +0 -2
  190. package/lib/abstract-document-exporters/docx/docx-document-renderer.d.ts.map +0 -1
  191. package/lib/abstract-document-exporters/docx/docx-document-renderer.js +0 -1085
  192. package/lib/abstract-document-exporters/docx/docx-document-renderer.js.map +0 -1
  193. package/src/abstract-document/table/text-row.ts +0 -0
  194. package/src/abstract-document-exporters/docx/docx-document-renderer.ts +0 -1084
@@ -1,7 +1,7 @@
1
1
  import { createAbstractImage, createBinaryImage, createPoint, createSize, white } from "abstract-image";
2
+ import type { Atom, SectionElement } from "../../abstract-document/index.js";
2
3
  import {
3
4
  AbstractDoc,
4
- Atom,
5
5
  DefaultStyles,
6
6
  Group,
7
7
  Image,
@@ -9,7 +9,6 @@ import {
9
9
  PageBreak,
10
10
  Paragraph,
11
11
  Section,
12
- SectionElement,
13
12
  Table,
14
13
  TableCell,
15
14
  TableRow,
@@ -18,20 +17,15 @@ import {
18
17
  TocSeparator,
19
18
  ImageResource,
20
19
  } from "../../abstract-document/index.js";
21
- import {
20
+ import type {
22
21
  TextRowProps,
23
- TextRow,
24
22
  TextCellProps,
25
- TextCell,
26
23
  TextParagraphProps,
27
- TextParagraph,
28
24
  ImageCellProps,
29
- ImageCell,
30
25
  ImageParagraphProps,
31
26
  ImageRowProps,
32
- ImageParagraph,
33
- ImageRow,
34
27
  } from "./custom-elements.js";
28
+ import { TextRow, TextCell, TextParagraph, ImageCell, ImageParagraph, ImageRow } from "./custom-elements.js";
35
29
 
36
30
  export type ADCreatorFn = (props?: Record<string, unknown>, children?: ReadonlyArray<unknown>) => unknown;
37
31
 
@@ -77,6 +71,7 @@ export const propsCreators: Record<string, ADCreatorFn> = {
77
71
  },
78
72
  columnWidths: (props: { readonly columnWidths: string; readonly columnMultiplier: string }): unknown => {
79
73
  const columnWidths = (props.columnWidths ?? "")
74
+ // oxlint-disable-next-line typescript/no-unnecessary-type-conversion -- allProps can carry non-strings
80
75
  .toString()
81
76
  .split(",")
82
77
  .map((item: string) => {
@@ -93,42 +88,45 @@ export const propsCreators: Record<string, ADCreatorFn> = {
93
88
  return props.paperSize;
94
89
  }
95
90
  const parts = props.paperSize.split("x");
96
- return { width: Number(parts[0]) ?? 595, height: Number(parts[1]) ?? 842 };
91
+ const width = Number(parts[0] ?? 595);
92
+ const height = Number(parts[1] ?? 842);
93
+ return { width: Number.isNaN(width) ? 595 : width, height: Number.isNaN(height) ? 842 : height };
97
94
  },
98
95
  borders: (props: { readonly borders: string }): unknown => {
99
96
  const borders: { [k: string]: number } = { top: 0, right: 0, bottom: 0, left: 0 };
97
+ // oxlint-disable-next-line typescript/no-unnecessary-type-conversion -- allProps can carry non-strings
100
98
  const propBorders = props.borders.toString().split(" ");
101
99
  if (!propBorders) {
102
100
  return borders;
103
101
  }
104
102
 
105
103
  if (propBorders.length === 1) {
106
- borders.top = Number(propBorders[0]);
107
- borders.right = Number(propBorders[0]);
108
- borders.bottom = Number(propBorders[0]);
109
- borders.left = Number(propBorders[0]);
104
+ borders["top"] = Number(propBorders[0]);
105
+ borders["right"] = Number(propBorders[0]);
106
+ borders["bottom"] = Number(propBorders[0]);
107
+ borders["left"] = Number(propBorders[0]);
110
108
  return borders;
111
109
  }
112
110
 
113
111
  propBorders.forEach((item: string, index) => {
114
112
  switch (index) {
115
113
  case 1:
116
- borders.top = Number(propBorders[0]);
117
- borders.right = Number(item);
118
- borders.bottom = Number(propBorders[0]);
119
- borders.left = Number(item);
114
+ borders["top"] = Number(propBorders[0]);
115
+ borders["right"] = Number(item);
116
+ borders["bottom"] = Number(propBorders[0]);
117
+ borders["left"] = Number(item);
120
118
  break;
121
119
  case 2:
122
- borders.top = Number(propBorders[0]);
123
- borders.right = Number(propBorders[1]);
124
- borders.bottom = Number(item);
125
- borders.left = Number(propBorders[1]);
120
+ borders["top"] = Number(propBorders[0]);
121
+ borders["right"] = Number(propBorders[1]);
122
+ borders["bottom"] = Number(item);
123
+ borders["left"] = Number(propBorders[1]);
126
124
  break;
127
125
  case 3:
128
- borders.top = Number(propBorders[0]);
129
- borders.right = Number(propBorders[1]);
130
- borders.bottom = Number(propBorders[2]);
131
- borders.left = Number(item);
126
+ borders["top"] = Number(propBorders[0]);
127
+ borders["right"] = Number(propBorders[1]);
128
+ borders["bottom"] = Number(propBorders[2]);
129
+ borders["left"] = Number(item);
132
130
  break;
133
131
  default:
134
132
  break;
@@ -138,63 +136,64 @@ export const propsCreators: Record<string, ADCreatorFn> = {
138
136
  },
139
137
  borderTop: (props: { readonly borderTop: string }): unknown => {
140
138
  const allProps = props as Record<string, unknown>;
141
- const borders: { top?: number; bottom?: number; left?: number; right?: number } = allProps.borders ?? {};
139
+ const borders: { top?: number; bottom?: number; left?: number; right?: number } = allProps["borders"] ?? {};
142
140
  borders.top = Number(props.borderTop);
143
141
  return borders;
144
142
  },
145
143
  borderBottom: (props: { readonly borderBottom: string }): unknown => {
146
144
  const allProps = props as Record<string, unknown>;
147
- const borders: { top?: number; bottom?: number; left?: number; right?: number } = allProps.borders ?? {};
145
+ const borders: { top?: number; bottom?: number; left?: number; right?: number } = allProps["borders"] ?? {};
148
146
  borders.bottom = Number(props.borderBottom);
149
147
  return borders;
150
148
  },
151
149
  borderLeft: (props: { readonly borderLeft: string }): unknown => {
152
150
  const allProps = props as Record<string, unknown>;
153
- const borders: { top?: number; bottom?: number; left?: number; right?: number } = allProps.borders ?? {};
151
+ const borders: { top?: number; bottom?: number; left?: number; right?: number } = allProps["borders"] ?? {};
154
152
  borders.left = Number(props.borderLeft);
155
153
  return borders;
156
154
  },
157
155
  borderRight: (props: { readonly borderRight: string }): unknown => {
158
156
  const allProps = props as Record<string, unknown>;
159
- const borders: { top?: number; bottom?: number; left?: number; right?: number } = allProps.borders ?? {};
157
+ const borders: { top?: number; bottom?: number; left?: number; right?: number } = allProps["borders"] ?? {};
160
158
  borders.right = Number(props.borderRight);
161
159
  return borders;
162
160
  },
163
161
  padding: (props: { readonly padding: string }): unknown => {
164
162
  const padding: { [k: string]: number } = { top: 0, right: 0, bottom: 0, left: 0 };
165
163
 
164
+ // oxlint-disable-next-line typescript/no-unnecessary-type-conversion -- allProps can carry non-strings
166
165
  const paddings = props.padding.toString().split(" ");
167
166
  if (!paddings) {
168
167
  return padding;
169
168
  }
170
169
 
171
170
  if (paddings.length === 1) {
172
- padding.top = Number(paddings[0]);
173
- padding.right = Number(paddings[0]);
174
- padding.bottom = Number(paddings[0]);
175
- padding.left = Number(paddings[0]);
171
+ padding["top"] = Number(paddings[0]);
172
+ padding["right"] = Number(paddings[0]);
173
+ padding["bottom"] = Number(paddings[0]);
174
+ padding["left"] = Number(paddings[0]);
176
175
  return padding;
177
176
  }
178
177
 
179
178
  paddings.forEach((item: string, index) => {
180
179
  switch (index) {
181
180
  case 1:
182
- padding.top = Number(paddings[0]);
183
- padding.right = Number(item);
184
- padding.bottom = Number(paddings[0]);
185
- padding.left = Number(item);
181
+ padding["top"] = Number(paddings[0]);
182
+ padding["right"] = Number(item);
183
+ padding["bottom"] = Number(paddings[0]);
184
+ padding["left"] = Number(item);
186
185
  break;
187
186
  case 2:
188
- padding.top = Number(paddings[0]);
189
- padding.right = Number(paddings[1]);
190
- padding.bottom = Number(item);
191
- padding.left = Number(paddings[1]);
187
+ padding["top"] = Number(paddings[0]);
188
+ padding["right"] = Number(paddings[1]);
189
+ padding["bottom"] = Number(item);
190
+ padding["left"] = Number(paddings[1]);
192
191
  break;
193
192
  case 3:
194
- padding.top = Number(paddings[0]);
195
- padding.right = Number(paddings[1]);
196
- padding.bottom = Number(paddings[2]);
197
- padding.left = Number(item);
193
+ padding["top"] = Number(paddings[0]);
194
+ padding["right"] = Number(paddings[1]);
195
+ padding["bottom"] = Number(paddings[2]);
196
+ padding["left"] = Number(item);
198
197
  break;
199
198
  default:
200
199
  break;
@@ -204,61 +203,62 @@ export const propsCreators: Record<string, ADCreatorFn> = {
204
203
  },
205
204
  paddingTop: (props: { readonly paddingTop: string }): unknown => {
206
205
  const allProps = props as Record<string, unknown>;
207
- const padding: { top?: number; bottom?: number; left?: number; right?: number } = allProps.padding ?? {};
206
+ const padding: { top?: number; bottom?: number; left?: number; right?: number } = allProps["padding"] ?? {};
208
207
  padding.top = Number(props.paddingTop);
209
208
  return padding;
210
209
  },
211
210
  paddingBottom: (props: { readonly paddingBottom: string }): unknown => {
212
211
  const allProps = props as Record<string, unknown>;
213
- const padding: { top?: number; bottom?: number; left?: number; right?: number } = allProps.padding ?? {};
212
+ const padding: { top?: number; bottom?: number; left?: number; right?: number } = allProps["padding"] ?? {};
214
213
  padding.bottom = Number(props.paddingBottom);
215
214
  return padding;
216
215
  },
217
216
  paddingLeft: (props: { readonly paddingLeft: string }): unknown => {
218
217
  const allProps = props as Record<string, unknown>;
219
- const padding: { top?: number; bottom?: number; left?: number; right?: number } = allProps.padding ?? {};
218
+ const padding: { top?: number; bottom?: number; left?: number; right?: number } = allProps["padding"] ?? {};
220
219
  padding.left = Number(props.paddingLeft);
221
220
  return padding;
222
221
  },
223
222
  paddingRight: (props: { readonly paddingRight: string }): unknown => {
224
223
  const allProps = props as Record<string, unknown>;
225
- const padding: { top?: number; bottom?: number; left?: number; right?: number } = allProps.padding ?? {};
224
+ const padding: { top?: number; bottom?: number; left?: number; right?: number } = allProps["padding"] ?? {};
226
225
  padding.right = Number(props.paddingRight);
227
226
  return padding;
228
227
  },
229
228
  margins: (props: { readonly margins: string }): unknown => {
230
229
  const margins: { [k: string]: number } = { top: 0, right: 0, bottom: 0, left: 0 };
230
+ // oxlint-disable-next-line typescript/no-unnecessary-type-conversion -- allProps can carry non-strings
231
231
  const propMargins = props.margins.toString().split(" ");
232
232
  if (!propMargins) {
233
233
  return margins;
234
234
  }
235
235
 
236
236
  if (propMargins.length === 1) {
237
- margins.top = Number(propMargins[0]);
238
- margins.right = Number(propMargins[0]);
239
- margins.bottom = Number(propMargins[0]);
240
- margins.left = Number(propMargins[0]);
237
+ margins["top"] = Number(propMargins[0]);
238
+ margins["right"] = Number(propMargins[0]);
239
+ margins["bottom"] = Number(propMargins[0]);
240
+ margins["left"] = Number(propMargins[0]);
241
241
  return margins;
242
242
  }
243
243
  propMargins.forEach((item: string, index) => {
244
244
  switch (index) {
245
245
  case 1:
246
- margins.top = Number(propMargins[0]);
247
- margins.right = Number(item);
248
- margins.bottom = Number(propMargins[0]);
249
- margins.left = Number(item);
246
+ margins["top"] = Number(propMargins[0]);
247
+ margins["right"] = Number(item);
248
+ margins["bottom"] = Number(propMargins[0]);
249
+ margins["left"] = Number(item);
250
250
  break;
251
251
  case 2:
252
- margins.top = Number(propMargins[0]);
253
- margins.right = Number(propMargins[1]);
254
- margins.bottom = Number(item);
255
- margins.left = Number(propMargins[1]);
252
+ margins["top"] = Number(propMargins[0]);
253
+ margins["right"] = Number(propMargins[1]);
254
+ margins["bottom"] = Number(item);
255
+ margins["left"] = Number(propMargins[1]);
256
256
  break;
257
257
  case 3:
258
- margins.top = Number(propMargins[0]);
259
- margins.right = Number(propMargins[1]);
260
- margins.bottom = Number(propMargins[2]);
261
- margins.left = Number(item);
258
+ margins["top"] = Number(propMargins[0]);
259
+ margins["right"] = Number(propMargins[1]);
260
+ margins["bottom"] = Number(propMargins[2]);
261
+ margins["left"] = Number(item);
262
262
  break;
263
263
  default:
264
264
  break;
@@ -268,25 +268,25 @@ export const propsCreators: Record<string, ADCreatorFn> = {
268
268
  },
269
269
  marginTop: (props: { readonly marginTop: string }): unknown => {
270
270
  const allProps = props as Record<string, unknown>;
271
- const margins: { top?: number; bottom?: number; left?: number; right?: number } = allProps.margins ?? {};
271
+ const margins: { top?: number; bottom?: number; left?: number; right?: number } = allProps["margins"] ?? {};
272
272
  margins.top = Number(props.marginTop);
273
273
  return margins;
274
274
  },
275
275
  marginBottom: (props: { readonly marginBottom: string }): unknown => {
276
276
  const allProps = props as Record<string, unknown>;
277
- const margins: { top?: number; bottom?: number; left?: number; right?: number } = allProps.margins ?? {};
277
+ const margins: { top?: number; bottom?: number; left?: number; right?: number } = allProps["margins"] ?? {};
278
278
  margins.bottom = Number(props.marginBottom);
279
279
  return margins;
280
280
  },
281
281
  marginLeft: (props: { readonly marginLeft: string }): unknown => {
282
282
  const allProps = props as Record<string, unknown>;
283
- const margins: { top?: number; bottom?: number; left?: number; right?: number } = allProps.margins ?? {};
283
+ const margins: { top?: number; bottom?: number; left?: number; right?: number } = allProps["margins"] ?? {};
284
284
  margins.left = Number(props.marginLeft);
285
285
  return margins;
286
286
  },
287
287
  marginRight: (props: { readonly marginRight: string }): unknown => {
288
288
  const allProps = props as Record<string, unknown>;
289
- const margins: { top?: number; bottom?: number; left?: number; right?: number } = allProps.margins ?? {};
289
+ const margins: { top?: number; bottom?: number; left?: number; right?: number } = allProps["margins"] ?? {};
290
290
  margins.right = Number(props.marginRight);
291
291
  return margins;
292
292
  },
@@ -295,16 +295,16 @@ export const propsCreators: Record<string, ADCreatorFn> = {
295
295
  props.borderColors.split(" ").forEach((item: string, index) => {
296
296
  switch (index) {
297
297
  case 0:
298
- borderColors.top = item;
298
+ borderColors["top"] = item;
299
299
  break;
300
300
  case 1:
301
- borderColors.right = item;
301
+ borderColors["right"] = item;
302
302
  break;
303
303
  case 2:
304
- borderColors.bottom = item;
304
+ borderColors["bottom"] = item;
305
305
  break;
306
306
  case 3:
307
- borderColors.left = item;
307
+ borderColors["left"] = item;
308
308
  break;
309
309
  default:
310
310
  break;
@@ -314,59 +314,63 @@ export const propsCreators: Record<string, ADCreatorFn> = {
314
314
  },
315
315
  borderColorTop: (props: { readonly borderColorTop: string }): unknown => {
316
316
  const allProps = props as Record<string, unknown>;
317
- const margins: { top?: string; bottom?: string; left?: string; right?: string } = allProps.borderColors ?? {};
317
+ const margins: { top?: string; bottom?: string; left?: string; right?: string } = allProps["borderColors"] ?? {};
318
318
  margins.top = props.borderColorTop;
319
319
  return margins;
320
320
  },
321
321
  borderColorBottom: (props: { readonly borderColorBottom: string }): unknown => {
322
322
  const allProps = props as Record<string, unknown>;
323
- const boderColors: { top?: string; bottom?: string; left?: string; right?: string } = allProps.borderColors ?? {};
323
+ const boderColors: { top?: string; bottom?: string; left?: string; right?: string } =
324
+ allProps["borderColors"] ?? {};
324
325
  boderColors.bottom = props.borderColorBottom;
325
326
  return boderColors;
326
327
  },
327
328
  borderColorLeft: (props: { readonly borderColorLeft: string }): unknown => {
328
329
  const allProps = props as Record<string, unknown>;
329
- const boderColors: { top?: string; bottom?: string; left?: string; right?: string } = allProps.borderColors ?? {};
330
+ const boderColors: { top?: string; bottom?: string; left?: string; right?: string } =
331
+ allProps["borderColors"] ?? {};
330
332
  boderColors.left = props.borderColorLeft;
331
333
  return boderColors;
332
334
  },
333
335
  borderColorRight: (props: { readonly borderColorRight: string }): unknown => {
334
336
  const allProps = props as Record<string, unknown>;
335
- const boderColors: { top?: string; bottom?: string; left?: string; right?: string } = allProps.borderColors ?? {};
337
+ const boderColors: { top?: string; bottom?: string; left?: string; right?: string } =
338
+ allProps["borderColors"] ?? {};
336
339
  boderColors.right = props.borderColorRight;
337
340
  return boderColors;
338
341
  },
339
342
 
340
343
  //decimal/integer values
341
- width: (props: { readonly width: string; }) => strToNum(props.width),
342
- height: (props: { readonly height: string; }) => strToNum(props.height),
343
- rowSpan: (props: { readonly rowSpan: string; }) => strToNum(props.rowSpan),
344
- columnSpan: (props: { readonly columnSpan: string; }) => strToNum(props.columnSpan),
345
- fontScale: (props: { readonly fontScale: string; }) => strToNum(props.fontScale),
346
- fontSize: (props: { readonly fontSize: string; }) => strToNum(props.fontSize),
347
- lineGap: (props: { readonly lineGap: string; }) => strToNum(props.lineGap),
348
- characterSpacing: (props: { readonly characterSpacing: string; }) => strToNum(props.characterSpacing),
349
- verticalPosition: (props: { readonly verticalPosition: string; }) => strToNum(props.verticalPosition),
350
- indent: (props: { readonly indent: string; }) => strToNum(props.indent),
351
- top: (props: { readonly top: string; }) => strToNum(props.top),
352
- bottom: (props: { readonly bottom: string; }) => strToNum(props.bottom),
353
- left: (props: { readonly left: string; }) => strToNum(props.left),
354
- right: (props: { readonly right: string; }) => strToNum(props.right),
355
- columnCount: (props: { readonly columnCount: string; }) => strToNum(props.columnCount),
356
- columnGap: (props: { readonly columnGap: string; }) => strToNum(props.columnGap),
344
+ width: (props: { readonly width: string }) => strToNum(props.width),
345
+ height: (props: { readonly height: string }) => strToNum(props.height),
346
+ rowSpan: (props: { readonly rowSpan: string }) => strToNum(props.rowSpan),
347
+ columnSpan: (props: { readonly columnSpan: string }) => strToNum(props.columnSpan),
348
+ fontScale: (props: { readonly fontScale: string }) => strToNum(props.fontScale),
349
+ fontSize: (props: { readonly fontSize: string }) => strToNum(props.fontSize),
350
+ lineGap: (props: { readonly lineGap: string }) => strToNum(props.lineGap),
351
+ characterSpacing: (props: { readonly characterSpacing: string }) => strToNum(props.characterSpacing),
352
+ verticalPosition: (props: { readonly verticalPosition: string }) => strToNum(props.verticalPosition),
353
+ indent: (props: { readonly indent: string }) => strToNum(props.indent),
354
+ top: (props: { readonly top: string }) => strToNum(props.top),
355
+ bottom: (props: { readonly bottom: string }) => strToNum(props.bottom),
356
+ left: (props: { readonly left: string }) => strToNum(props.left),
357
+ right: (props: { readonly right: string }) => strToNum(props.right),
358
+ columnCount: (props: { readonly columnCount: string }) => strToNum(props.columnCount),
359
+ columnGap: (props: { readonly columnGap: string }) => strToNum(props.columnGap),
357
360
 
358
361
  //boolean values
359
- bold: (props: { readonly bold: string; }): unknown => strToBool(props.bold),
360
- italic: (props: { readonly italic: string; }): unknown => strToBool(props.italic),
361
- underline: (props: { readonly underline: string; }): unknown => strToBool(props.underline),
362
- superScript: (props: { readonly superScript: string; }): unknown => strToBool(props.superScript),
363
- subScript: (props: { readonly subScript: string; }): unknown => strToBool(props.subScript),
364
- lineBreak: (props: { readonly lineBreak: string; }): unknown => strToBool(props.lineBreak),
365
- mediumBold: (props: { readonly mediumBold: string; }): unknown => strToBool(props.mediumBold),
366
- noTopBottomMargin: (props: { readonly noTopBottomMargin: string; }): unknown => strToBool(props.noTopBottomMargin),
367
- keepTogetherSections: (props: { readonly keepTogetherSections: string; }): unknown => strToBool(props.keepTogetherSections),
368
- keepTogether: (props: { readonly keepTogether: string; }): unknown => strToBool(props.keepTogether),
369
- differentFirstPage: (props: { readonly differentFirstPage: string; }): unknown => strToBool(props.differentFirstPage),
362
+ bold: (props: { readonly bold: string }): unknown => strToBool(props.bold),
363
+ italic: (props: { readonly italic: string }): unknown => strToBool(props.italic),
364
+ underline: (props: { readonly underline: string }): unknown => strToBool(props.underline),
365
+ superScript: (props: { readonly superScript: string }): unknown => strToBool(props.superScript),
366
+ subScript: (props: { readonly subScript: string }): unknown => strToBool(props.subScript),
367
+ lineBreak: (props: { readonly lineBreak: string }): unknown => strToBool(props.lineBreak),
368
+ mediumBold: (props: { readonly mediumBold: string }): unknown => strToBool(props.mediumBold),
369
+ noTopBottomMargin: (props: { readonly noTopBottomMargin: string }): unknown => strToBool(props.noTopBottomMargin),
370
+ keepTogetherSections: (props: { readonly keepTogetherSections: string }): unknown =>
371
+ strToBool(props.keepTogetherSections),
372
+ keepTogether: (props: { readonly keepTogether: string }): unknown => strToBool(props.keepTogether),
373
+ differentFirstPage: (props: { readonly differentFirstPage: string }): unknown => strToBool(props.differentFirstPage),
370
374
  };
371
375
 
372
376
  const zero = createPoint(0, 0);
@@ -374,12 +378,12 @@ const size = createSize(0, 0);
374
378
  function imageProps(props: Record<string, unknown>): Record<string, unknown> {
375
379
  return {
376
380
  ...props,
377
- width: Number(props.width),
378
- height: Number(props.height),
381
+ width: Number(props["width"]),
382
+ height: Number(props["height"]),
379
383
  imageResource: ImageResource.create({
380
- id: props.src as string,
384
+ id: props["src"] as string,
381
385
  abstractImage: createAbstractImage(zero, size, white, [
382
- createBinaryImage(zero, zero, "png", { type: "url", url: props.src as string }),
386
+ createBinaryImage(zero, zero, "png", { type: "url", url: props["src"] as string }),
383
387
  ]),
384
388
  renderScale: 1,
385
389
  }),
@@ -387,20 +391,20 @@ function imageProps(props: Record<string, unknown>): Record<string, unknown> {
387
391
  }
388
392
 
389
393
  const strToBool = (str: string | undefined): boolean => {
390
- if(str === undefined) {
394
+ if (str === undefined) {
391
395
  return false;
392
396
  }
393
397
  const validBools = {
394
398
  "1": true,
395
- "true": true
399
+ true: true,
396
400
  };
397
401
  return str in validBools;
398
- }
402
+ };
399
403
 
400
404
  const strToNum = (str: string | undefined): number => {
401
405
  const num = Number(str);
402
- if(Number.isNaN(num)) {
406
+ if (Number.isNaN(num)) {
403
407
  return 0;
404
408
  }
405
409
  return num;
406
- }
410
+ };
@@ -1,16 +1,7 @@
1
- import { ImageProps } from "../../abstract-document/atoms/image.js";
2
- import {
3
- TextStyle,
4
- ParagraphStyle,
5
- TableCellStyle,
6
- TextRun,
7
- Paragraph,
8
- TableCell,
9
- TableRow,
10
- Image,
11
- ImageResource,
12
- } from "../../abstract-document/index.js";
13
- import { ParagraphProps } from "../../abstract-document/section-elements/paragraph.js";
1
+ import type { ImageProps } from "../../abstract-document/atoms/image.js";
2
+ import type { TextStyle, ParagraphStyle, TableCellStyle } from "../../abstract-document/index.js";
3
+ import { TextRun, Paragraph, TableCell, TableRow, Image } from "../../abstract-document/index.js";
4
+ import type { ParagraphProps } from "../../abstract-document/section-elements/paragraph.js";
14
5
  //dummy2
15
6
 
16
7
  type StyleProps = {
@@ -1,4 +1,3 @@
1
- /* eslint-disable no-useless-escape */
2
1
  export const textRow = `<xs:complexType name="TextRow">
3
2
  <xs:annotation>
4
3
  <xs:documentation>Shortcut to create a \\<TableRow> \\<TableCell> \\<Paragraph> \\<TextRun text="..." /> \\</Paragraph> \\</TableCell> \\</TableRow></xs:documentation>
@@ -319,4 +319,4 @@ export const layoutFoundation = `<xs:complexType name="LayoutFoundation">
319
319
  export const pageColumnLayout = `<xs:complexType name="PageColumnLayout">
320
320
  <xs:attribute name="columnCount" type="xs:decimal" />
321
321
  <xs:attribute name="columnGap" type="xs:decimal" />
322
- </xs:complexType>`;
322
+ </xs:complexType>`;
@@ -1,4 +1,3 @@
1
- /* eslint-disable import/no-default-export */
2
1
  declare module "pdfkit/standard-fonts/Helvetica" {
3
2
  const data: unknown;
4
3
  export default data;
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=text-row.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"text-row.d.ts","sourceRoot":"","sources":["../../../src/abstract-document/table/text-row.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=text-row.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"text-row.js","sourceRoot":"","sources":["../../../src/abstract-document/table/text-row.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=docx-document-renderer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"docx-document-renderer.d.ts","sourceRoot":"","sources":["../../../src/abstract-document-exporters/docx/docx-document-renderer.ts"],"names":[],"mappings":""}