abstract-document 20.0.1 → 20.0.3
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.
- package/CHANGELOG.md +4 -0
- package/lib/abstract-document/abstract-doc.d.ts +2 -2
- package/lib/abstract-document/abstract-doc.d.ts.map +1 -1
- package/lib/abstract-document/atoms/atom.d.ts +7 -7
- package/lib/abstract-document/atoms/atom.d.ts.map +1 -1
- package/lib/abstract-document/atoms/image.d.ts +1 -1
- package/lib/abstract-document/atoms/image.d.ts.map +1 -1
- package/lib/abstract-document/default-styles.d.ts +2 -2
- package/lib/abstract-document/default-styles.d.ts.map +1 -1
- package/lib/abstract-document/markdown/markdown.d.ts +1 -1
- package/lib/abstract-document/markdown/markdown.d.ts.map +1 -1
- package/lib/abstract-document/markdown/markdown.js +5 -2
- package/lib/abstract-document/markdown/markdown.js.map +1 -1
- package/lib/abstract-document/markdown/types.d.ts +1 -1
- package/lib/abstract-document/markdown/types.d.ts.map +1 -1
- package/lib/abstract-document/numberings/numbering-definition.d.ts +1 -1
- package/lib/abstract-document/numberings/numbering-definition.d.ts.map +1 -1
- package/lib/abstract-document/numberings/numbering-level-definition.d.ts +1 -1
- package/lib/abstract-document/numberings/numbering-level-definition.d.ts.map +1 -1
- package/lib/abstract-document/page/master-page.d.ts +1 -1
- package/lib/abstract-document/page/master-page.d.ts.map +1 -1
- package/lib/abstract-document/page/section.d.ts +2 -2
- package/lib/abstract-document/page/section.d.ts.map +1 -1
- package/lib/abstract-document/primitives/image-resource.d.ts +1 -1
- package/lib/abstract-document/primitives/image-resource.d.ts.map +1 -1
- package/lib/abstract-document/resources.d.ts +5 -5
- package/lib/abstract-document/resources.d.ts.map +1 -1
- package/lib/abstract-document/resources.js.map +1 -1
- package/lib/abstract-document/section-elements/group.d.ts +2 -2
- package/lib/abstract-document/section-elements/group.d.ts.map +1 -1
- package/lib/abstract-document/section-elements/page-break.d.ts +1 -1
- package/lib/abstract-document/section-elements/page-break.d.ts.map +1 -1
- package/lib/abstract-document/section-elements/paragraph.d.ts +3 -3
- package/lib/abstract-document/section-elements/paragraph.d.ts.map +1 -1
- package/lib/abstract-document/section-elements/section-element.d.ts +1 -1
- package/lib/abstract-document/section-elements/section-element.d.ts.map +1 -1
- package/lib/abstract-document/section-elements/table.d.ts +2 -2
- package/lib/abstract-document/section-elements/table.d.ts.map +1 -1
- package/lib/abstract-document/styles/group-style.d.ts +1 -1
- package/lib/abstract-document/styles/group-style.d.ts.map +1 -1
- package/lib/abstract-document/styles/paragraph-style.d.ts +1 -1
- package/lib/abstract-document/styles/paragraph-style.d.ts.map +1 -1
- package/lib/abstract-document/styles/table-style.d.ts +1 -1
- package/lib/abstract-document/styles/table-style.d.ts.map +1 -1
- package/lib/abstract-document/table/table-cell.d.ts +1 -1
- package/lib/abstract-document/table/table-cell.d.ts.map +1 -1
- package/lib/abstract-document/table/table-row.d.ts +1 -1
- package/lib/abstract-document/table/table-row.d.ts.map +1 -1
- package/lib/abstract-document-exporters/docx/ref-container.d.ts.map +1 -1
- package/lib/abstract-document-exporters/docx/xml-writer.d.ts.map +1 -1
- package/lib/abstract-document-exporters/docx/xml-writer.js.map +1 -1
- package/lib/abstract-document-exporters/docx2/render-image.d.ts +4 -4
- package/lib/abstract-document-exporters/docx2/render-image.d.ts.map +1 -1
- package/lib/abstract-document-exporters/docx2/render-image.js +7 -13
- package/lib/abstract-document-exporters/docx2/render-image.js.map +1 -1
- package/lib/abstract-document-exporters/docx2/render.d.ts.map +1 -1
- package/lib/abstract-document-exporters/docx2/render.js +28 -24
- package/lib/abstract-document-exporters/docx2/render.js.map +1 -1
- package/lib/abstract-document-exporters/pdf/font.d.ts +2 -2
- package/lib/abstract-document-exporters/pdf/font.d.ts.map +1 -1
- package/lib/abstract-document-exporters/pdf/font.js +1 -1
- package/lib/abstract-document-exporters/pdf/font.js.map +1 -1
- package/lib/abstract-document-exporters/pdf/measure.d.ts +1 -1
- package/lib/abstract-document-exporters/pdf/measure.d.ts.map +1 -1
- package/lib/abstract-document-exporters/pdf/measure.js.map +1 -1
- package/lib/abstract-document-exporters/pdf/paginate.js.map +1 -1
- package/lib/abstract-document-exporters/pdf/pre-process.d.ts.map +1 -1
- package/lib/abstract-document-exporters/pdf/pre-process.js +1 -1
- package/lib/abstract-document-exporters/pdf/pre-process.js.map +1 -1
- package/lib/abstract-document-exporters/pdf/render-image.js +0 -2
- package/lib/abstract-document-exporters/pdf/render-image.js.map +1 -1
- package/lib/abstract-document-exporters/pdf/render.d.ts.map +1 -1
- package/lib/abstract-document-exporters/pdf/render.js.map +1 -1
- package/lib/abstract-document-exporters/pdf/update-refs.d.ts +1 -1
- package/lib/abstract-document-exporters/pdf/update-refs.d.ts.map +1 -1
- package/lib/abstract-document-exporters/shared/get_resources.d.ts +2 -2
- package/lib/abstract-document-exporters/shared/get_resources.d.ts.map +1 -1
- package/lib/abstract-document-exporters/shared/get_resources.js.map +1 -1
- package/lib/abstract-document-jsx/index.d.ts.map +1 -1
- package/lib/abstract-document-xml/abstract-doc-of-xml/abstract-doc-of-xml.d.ts +3 -3
- package/lib/abstract-document-xml/abstract-doc-of-xml/abstract-doc-of-xml.d.ts.map +1 -1
- package/lib/abstract-document-xml/abstract-doc-of-xml/abstract-doc-of-xml.js +32 -32
- package/lib/abstract-document-xml/abstract-doc-of-xml/abstract-doc-of-xml.js.map +1 -1
- package/lib/abstract-document-xml/abstract-doc-of-xml/creator.d.ts.map +1 -1
- package/lib/abstract-document-xml/abstract-doc-of-xml/creator.js +74 -74
- package/lib/abstract-document-xml/abstract-doc-of-xml/creator.js.map +1 -1
- package/lib/abstract-document-xml/abstract-doc-of-xml/custom-elements.d.ts +3 -2
- package/lib/abstract-document-xml/abstract-doc-of-xml/custom-elements.d.ts.map +1 -1
- package/lib/abstract-document-xml/abstract-doc-of-xml/custom-elements.js +1 -1
- package/lib/abstract-document-xml/abstract-doc-of-xml/custom-elements.js.map +1 -1
- package/lib/abstract-document-xml/xsd-template/custom-elements.d.ts.map +1 -1
- package/lib/abstract-document-xml/xsd-template/custom-elements.js +0 -1
- package/lib/abstract-document-xml/xsd-template/custom-elements.js.map +1 -1
- package/package.json +4 -4
- package/src/abstract-document/abstract-doc.ts +7 -7
- package/src/abstract-document/atoms/atom.ts +7 -7
- package/src/abstract-document/atoms/image.ts +1 -1
- package/src/abstract-document/default-styles.ts +2 -2
- package/src/abstract-document/markdown/markdown.ts +9 -6
- package/src/abstract-document/markdown/types.ts +1 -1
- package/src/abstract-document/numberings/numbering-definition.ts +1 -1
- package/src/abstract-document/numberings/numbering-level-definition.ts +1 -1
- package/src/abstract-document/page/master-page.ts +1 -1
- package/src/abstract-document/page/section.ts +2 -2
- package/src/abstract-document/primitives/image-resource.ts +1 -1
- package/src/abstract-document/resources.ts +9 -8
- package/src/abstract-document/section-elements/group.ts +2 -2
- package/src/abstract-document/section-elements/page-break.ts +1 -1
- package/src/abstract-document/section-elements/paragraph.ts +3 -3
- package/src/abstract-document/section-elements/section-element.ts +1 -1
- package/src/abstract-document/section-elements/table.ts +2 -2
- package/src/abstract-document/styles/group-style.ts +1 -1
- package/src/abstract-document/styles/paragraph-style.ts +1 -1
- package/src/abstract-document/styles/table-style.ts +1 -1
- package/src/abstract-document/table/table-cell.ts +1 -1
- package/src/abstract-document/table/table-row.ts +1 -1
- package/src/abstract-document-exporters/docx2/render-image.ts +63 -51
- package/src/abstract-document-exporters/docx2/render.ts +62 -57
- package/src/abstract-document-exporters/pdf/font.ts +5 -5
- package/src/abstract-document-exporters/pdf/measure.ts +2 -1
- package/src/abstract-document-exporters/pdf/pre-process.ts +1 -2
- package/src/abstract-document-exporters/pdf/render-image.ts +1 -3
- package/src/abstract-document-exporters/pdf/render.ts +4 -2
- package/src/abstract-document-exporters/pdf/update-refs.ts +2 -2
- package/src/abstract-document-exporters/shared/get_resources.ts +10 -9
- package/src/abstract-document-xml/abstract-doc-of-xml/abstract-doc-of-xml.ts +43 -42
- package/src/abstract-document-xml/abstract-doc-of-xml/creator.ts +111 -113
- package/src/abstract-document-xml/abstract-doc-of-xml/custom-elements.tsx +4 -13
- package/src/abstract-document-xml/xsd-template/custom-elements.ts +0 -1
- package/src/custom_typings/pdfkit-standard-fonts/index.d.ts +0 -1
|
@@ -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
|
|
|
@@ -103,32 +97,32 @@ export const propsCreators: Record<string, ADCreatorFn> = {
|
|
|
103
97
|
}
|
|
104
98
|
|
|
105
99
|
if (propBorders.length === 1) {
|
|
106
|
-
borders
|
|
107
|
-
borders
|
|
108
|
-
borders
|
|
109
|
-
borders
|
|
100
|
+
borders["top"] = Number(propBorders[0]);
|
|
101
|
+
borders["right"] = Number(propBorders[0]);
|
|
102
|
+
borders["bottom"] = Number(propBorders[0]);
|
|
103
|
+
borders["left"] = Number(propBorders[0]);
|
|
110
104
|
return borders;
|
|
111
105
|
}
|
|
112
106
|
|
|
113
107
|
propBorders.forEach((item: string, index) => {
|
|
114
108
|
switch (index) {
|
|
115
109
|
case 1:
|
|
116
|
-
borders
|
|
117
|
-
borders
|
|
118
|
-
borders
|
|
119
|
-
borders
|
|
110
|
+
borders["top"] = Number(propBorders[0]);
|
|
111
|
+
borders["right"] = Number(item);
|
|
112
|
+
borders["bottom"] = Number(propBorders[0]);
|
|
113
|
+
borders["left"] = Number(item);
|
|
120
114
|
break;
|
|
121
115
|
case 2:
|
|
122
|
-
borders
|
|
123
|
-
borders
|
|
124
|
-
borders
|
|
125
|
-
borders
|
|
116
|
+
borders["top"] = Number(propBorders[0]);
|
|
117
|
+
borders["right"] = Number(propBorders[1]);
|
|
118
|
+
borders["bottom"] = Number(item);
|
|
119
|
+
borders["left"] = Number(propBorders[1]);
|
|
126
120
|
break;
|
|
127
121
|
case 3:
|
|
128
|
-
borders
|
|
129
|
-
borders
|
|
130
|
-
borders
|
|
131
|
-
borders
|
|
122
|
+
borders["top"] = Number(propBorders[0]);
|
|
123
|
+
borders["right"] = Number(propBorders[1]);
|
|
124
|
+
borders["bottom"] = Number(propBorders[2]);
|
|
125
|
+
borders["left"] = Number(item);
|
|
132
126
|
break;
|
|
133
127
|
default:
|
|
134
128
|
break;
|
|
@@ -138,25 +132,25 @@ export const propsCreators: Record<string, ADCreatorFn> = {
|
|
|
138
132
|
},
|
|
139
133
|
borderTop: (props: { readonly borderTop: string }): unknown => {
|
|
140
134
|
const allProps = props as Record<string, unknown>;
|
|
141
|
-
const borders: { top?: number; bottom?: number; left?: number; right?: number } = allProps
|
|
135
|
+
const borders: { top?: number; bottom?: number; left?: number; right?: number } = allProps["borders"] ?? {};
|
|
142
136
|
borders.top = Number(props.borderTop);
|
|
143
137
|
return borders;
|
|
144
138
|
},
|
|
145
139
|
borderBottom: (props: { readonly borderBottom: string }): unknown => {
|
|
146
140
|
const allProps = props as Record<string, unknown>;
|
|
147
|
-
const borders: { top?: number; bottom?: number; left?: number; right?: number } = allProps
|
|
141
|
+
const borders: { top?: number; bottom?: number; left?: number; right?: number } = allProps["borders"] ?? {};
|
|
148
142
|
borders.bottom = Number(props.borderBottom);
|
|
149
143
|
return borders;
|
|
150
144
|
},
|
|
151
145
|
borderLeft: (props: { readonly borderLeft: string }): unknown => {
|
|
152
146
|
const allProps = props as Record<string, unknown>;
|
|
153
|
-
const borders: { top?: number; bottom?: number; left?: number; right?: number } = allProps
|
|
147
|
+
const borders: { top?: number; bottom?: number; left?: number; right?: number } = allProps["borders"] ?? {};
|
|
154
148
|
borders.left = Number(props.borderLeft);
|
|
155
149
|
return borders;
|
|
156
150
|
},
|
|
157
151
|
borderRight: (props: { readonly borderRight: string }): unknown => {
|
|
158
152
|
const allProps = props as Record<string, unknown>;
|
|
159
|
-
const borders: { top?: number; bottom?: number; left?: number; right?: number } = allProps
|
|
153
|
+
const borders: { top?: number; bottom?: number; left?: number; right?: number } = allProps["borders"] ?? {};
|
|
160
154
|
borders.right = Number(props.borderRight);
|
|
161
155
|
return borders;
|
|
162
156
|
},
|
|
@@ -169,32 +163,32 @@ export const propsCreators: Record<string, ADCreatorFn> = {
|
|
|
169
163
|
}
|
|
170
164
|
|
|
171
165
|
if (paddings.length === 1) {
|
|
172
|
-
padding
|
|
173
|
-
padding
|
|
174
|
-
padding
|
|
175
|
-
padding
|
|
166
|
+
padding["top"] = Number(paddings[0]);
|
|
167
|
+
padding["right"] = Number(paddings[0]);
|
|
168
|
+
padding["bottom"] = Number(paddings[0]);
|
|
169
|
+
padding["left"] = Number(paddings[0]);
|
|
176
170
|
return padding;
|
|
177
171
|
}
|
|
178
172
|
|
|
179
173
|
paddings.forEach((item: string, index) => {
|
|
180
174
|
switch (index) {
|
|
181
175
|
case 1:
|
|
182
|
-
padding
|
|
183
|
-
padding
|
|
184
|
-
padding
|
|
185
|
-
padding
|
|
176
|
+
padding["top"] = Number(paddings[0]);
|
|
177
|
+
padding["right"] = Number(item);
|
|
178
|
+
padding["bottom"] = Number(paddings[0]);
|
|
179
|
+
padding["left"] = Number(item);
|
|
186
180
|
break;
|
|
187
181
|
case 2:
|
|
188
|
-
padding
|
|
189
|
-
padding
|
|
190
|
-
padding
|
|
191
|
-
padding
|
|
182
|
+
padding["top"] = Number(paddings[0]);
|
|
183
|
+
padding["right"] = Number(paddings[1]);
|
|
184
|
+
padding["bottom"] = Number(item);
|
|
185
|
+
padding["left"] = Number(paddings[1]);
|
|
192
186
|
break;
|
|
193
187
|
case 3:
|
|
194
|
-
padding
|
|
195
|
-
padding
|
|
196
|
-
padding
|
|
197
|
-
padding
|
|
188
|
+
padding["top"] = Number(paddings[0]);
|
|
189
|
+
padding["right"] = Number(paddings[1]);
|
|
190
|
+
padding["bottom"] = Number(paddings[2]);
|
|
191
|
+
padding["left"] = Number(item);
|
|
198
192
|
break;
|
|
199
193
|
default:
|
|
200
194
|
break;
|
|
@@ -204,25 +198,25 @@ export const propsCreators: Record<string, ADCreatorFn> = {
|
|
|
204
198
|
},
|
|
205
199
|
paddingTop: (props: { readonly paddingTop: string }): unknown => {
|
|
206
200
|
const allProps = props as Record<string, unknown>;
|
|
207
|
-
const padding: { top?: number; bottom?: number; left?: number; right?: number } = allProps
|
|
201
|
+
const padding: { top?: number; bottom?: number; left?: number; right?: number } = allProps["padding"] ?? {};
|
|
208
202
|
padding.top = Number(props.paddingTop);
|
|
209
203
|
return padding;
|
|
210
204
|
},
|
|
211
205
|
paddingBottom: (props: { readonly paddingBottom: string }): unknown => {
|
|
212
206
|
const allProps = props as Record<string, unknown>;
|
|
213
|
-
const padding: { top?: number; bottom?: number; left?: number; right?: number } = allProps
|
|
207
|
+
const padding: { top?: number; bottom?: number; left?: number; right?: number } = allProps["padding"] ?? {};
|
|
214
208
|
padding.bottom = Number(props.paddingBottom);
|
|
215
209
|
return padding;
|
|
216
210
|
},
|
|
217
211
|
paddingLeft: (props: { readonly paddingLeft: string }): unknown => {
|
|
218
212
|
const allProps = props as Record<string, unknown>;
|
|
219
|
-
const padding: { top?: number; bottom?: number; left?: number; right?: number } = allProps
|
|
213
|
+
const padding: { top?: number; bottom?: number; left?: number; right?: number } = allProps["padding"] ?? {};
|
|
220
214
|
padding.left = Number(props.paddingLeft);
|
|
221
215
|
return padding;
|
|
222
216
|
},
|
|
223
217
|
paddingRight: (props: { readonly paddingRight: string }): unknown => {
|
|
224
218
|
const allProps = props as Record<string, unknown>;
|
|
225
|
-
const padding: { top?: number; bottom?: number; left?: number; right?: number } = allProps
|
|
219
|
+
const padding: { top?: number; bottom?: number; left?: number; right?: number } = allProps["padding"] ?? {};
|
|
226
220
|
padding.right = Number(props.paddingRight);
|
|
227
221
|
return padding;
|
|
228
222
|
},
|
|
@@ -234,31 +228,31 @@ export const propsCreators: Record<string, ADCreatorFn> = {
|
|
|
234
228
|
}
|
|
235
229
|
|
|
236
230
|
if (propMargins.length === 1) {
|
|
237
|
-
margins
|
|
238
|
-
margins
|
|
239
|
-
margins
|
|
240
|
-
margins
|
|
231
|
+
margins["top"] = Number(propMargins[0]);
|
|
232
|
+
margins["right"] = Number(propMargins[0]);
|
|
233
|
+
margins["bottom"] = Number(propMargins[0]);
|
|
234
|
+
margins["left"] = Number(propMargins[0]);
|
|
241
235
|
return margins;
|
|
242
236
|
}
|
|
243
237
|
propMargins.forEach((item: string, index) => {
|
|
244
238
|
switch (index) {
|
|
245
239
|
case 1:
|
|
246
|
-
margins
|
|
247
|
-
margins
|
|
248
|
-
margins
|
|
249
|
-
margins
|
|
240
|
+
margins["top"] = Number(propMargins[0]);
|
|
241
|
+
margins["right"] = Number(item);
|
|
242
|
+
margins["bottom"] = Number(propMargins[0]);
|
|
243
|
+
margins["left"] = Number(item);
|
|
250
244
|
break;
|
|
251
245
|
case 2:
|
|
252
|
-
margins
|
|
253
|
-
margins
|
|
254
|
-
margins
|
|
255
|
-
margins
|
|
246
|
+
margins["top"] = Number(propMargins[0]);
|
|
247
|
+
margins["right"] = Number(propMargins[1]);
|
|
248
|
+
margins["bottom"] = Number(item);
|
|
249
|
+
margins["left"] = Number(propMargins[1]);
|
|
256
250
|
break;
|
|
257
251
|
case 3:
|
|
258
|
-
margins
|
|
259
|
-
margins
|
|
260
|
-
margins
|
|
261
|
-
margins
|
|
252
|
+
margins["top"] = Number(propMargins[0]);
|
|
253
|
+
margins["right"] = Number(propMargins[1]);
|
|
254
|
+
margins["bottom"] = Number(propMargins[2]);
|
|
255
|
+
margins["left"] = Number(item);
|
|
262
256
|
break;
|
|
263
257
|
default:
|
|
264
258
|
break;
|
|
@@ -268,25 +262,25 @@ export const propsCreators: Record<string, ADCreatorFn> = {
|
|
|
268
262
|
},
|
|
269
263
|
marginTop: (props: { readonly marginTop: string }): unknown => {
|
|
270
264
|
const allProps = props as Record<string, unknown>;
|
|
271
|
-
const margins: { top?: number; bottom?: number; left?: number; right?: number } = allProps
|
|
265
|
+
const margins: { top?: number; bottom?: number; left?: number; right?: number } = allProps["margins"] ?? {};
|
|
272
266
|
margins.top = Number(props.marginTop);
|
|
273
267
|
return margins;
|
|
274
268
|
},
|
|
275
269
|
marginBottom: (props: { readonly marginBottom: string }): unknown => {
|
|
276
270
|
const allProps = props as Record<string, unknown>;
|
|
277
|
-
const margins: { top?: number; bottom?: number; left?: number; right?: number } = allProps
|
|
271
|
+
const margins: { top?: number; bottom?: number; left?: number; right?: number } = allProps["margins"] ?? {};
|
|
278
272
|
margins.bottom = Number(props.marginBottom);
|
|
279
273
|
return margins;
|
|
280
274
|
},
|
|
281
275
|
marginLeft: (props: { readonly marginLeft: string }): unknown => {
|
|
282
276
|
const allProps = props as Record<string, unknown>;
|
|
283
|
-
const margins: { top?: number; bottom?: number; left?: number; right?: number } = allProps
|
|
277
|
+
const margins: { top?: number; bottom?: number; left?: number; right?: number } = allProps["margins"] ?? {};
|
|
284
278
|
margins.left = Number(props.marginLeft);
|
|
285
279
|
return margins;
|
|
286
280
|
},
|
|
287
281
|
marginRight: (props: { readonly marginRight: string }): unknown => {
|
|
288
282
|
const allProps = props as Record<string, unknown>;
|
|
289
|
-
const margins: { top?: number; bottom?: number; left?: number; right?: number } = allProps
|
|
283
|
+
const margins: { top?: number; bottom?: number; left?: number; right?: number } = allProps["margins"] ?? {};
|
|
290
284
|
margins.right = Number(props.marginRight);
|
|
291
285
|
return margins;
|
|
292
286
|
},
|
|
@@ -295,16 +289,16 @@ export const propsCreators: Record<string, ADCreatorFn> = {
|
|
|
295
289
|
props.borderColors.split(" ").forEach((item: string, index) => {
|
|
296
290
|
switch (index) {
|
|
297
291
|
case 0:
|
|
298
|
-
borderColors
|
|
292
|
+
borderColors["top"] = item;
|
|
299
293
|
break;
|
|
300
294
|
case 1:
|
|
301
|
-
borderColors
|
|
295
|
+
borderColors["right"] = item;
|
|
302
296
|
break;
|
|
303
297
|
case 2:
|
|
304
|
-
borderColors
|
|
298
|
+
borderColors["bottom"] = item;
|
|
305
299
|
break;
|
|
306
300
|
case 3:
|
|
307
|
-
borderColors
|
|
301
|
+
borderColors["left"] = item;
|
|
308
302
|
break;
|
|
309
303
|
default:
|
|
310
304
|
break;
|
|
@@ -314,59 +308,63 @@ export const propsCreators: Record<string, ADCreatorFn> = {
|
|
|
314
308
|
},
|
|
315
309
|
borderColorTop: (props: { readonly borderColorTop: string }): unknown => {
|
|
316
310
|
const allProps = props as Record<string, unknown>;
|
|
317
|
-
const margins: { top?: string; bottom?: string; left?: string; right?: string } = allProps
|
|
311
|
+
const margins: { top?: string; bottom?: string; left?: string; right?: string } = allProps["borderColors"] ?? {};
|
|
318
312
|
margins.top = props.borderColorTop;
|
|
319
313
|
return margins;
|
|
320
314
|
},
|
|
321
315
|
borderColorBottom: (props: { readonly borderColorBottom: string }): unknown => {
|
|
322
316
|
const allProps = props as Record<string, unknown>;
|
|
323
|
-
const boderColors: { top?: string; bottom?: string; left?: string; right?: string } =
|
|
317
|
+
const boderColors: { top?: string; bottom?: string; left?: string; right?: string } =
|
|
318
|
+
allProps["borderColors"] ?? {};
|
|
324
319
|
boderColors.bottom = props.borderColorBottom;
|
|
325
320
|
return boderColors;
|
|
326
321
|
},
|
|
327
322
|
borderColorLeft: (props: { readonly borderColorLeft: string }): unknown => {
|
|
328
323
|
const allProps = props as Record<string, unknown>;
|
|
329
|
-
const boderColors: { top?: string; bottom?: string; left?: string; right?: string } =
|
|
324
|
+
const boderColors: { top?: string; bottom?: string; left?: string; right?: string } =
|
|
325
|
+
allProps["borderColors"] ?? {};
|
|
330
326
|
boderColors.left = props.borderColorLeft;
|
|
331
327
|
return boderColors;
|
|
332
328
|
},
|
|
333
329
|
borderColorRight: (props: { readonly borderColorRight: string }): unknown => {
|
|
334
330
|
const allProps = props as Record<string, unknown>;
|
|
335
|
-
const boderColors: { top?: string; bottom?: string; left?: string; right?: string } =
|
|
331
|
+
const boderColors: { top?: string; bottom?: string; left?: string; right?: string } =
|
|
332
|
+
allProps["borderColors"] ?? {};
|
|
336
333
|
boderColors.right = props.borderColorRight;
|
|
337
334
|
return boderColors;
|
|
338
335
|
},
|
|
339
336
|
|
|
340
337
|
//decimal/integer values
|
|
341
|
-
width: (props: { readonly width: string
|
|
342
|
-
height: (props: { readonly height: string
|
|
343
|
-
rowSpan: (props: { readonly rowSpan: string
|
|
344
|
-
columnSpan: (props: { readonly columnSpan: string
|
|
345
|
-
fontScale: (props: { readonly fontScale: string
|
|
346
|
-
fontSize: (props: { readonly fontSize: string
|
|
347
|
-
lineGap: (props: { readonly lineGap: string
|
|
348
|
-
characterSpacing: (props: { readonly characterSpacing: string
|
|
349
|
-
verticalPosition: (props: { readonly verticalPosition: string
|
|
350
|
-
indent: (props: { readonly indent: string
|
|
351
|
-
top: (props: { readonly top: string
|
|
352
|
-
bottom: (props: { readonly bottom: string
|
|
353
|
-
left: (props: { readonly left: string
|
|
354
|
-
right: (props: { readonly right: string
|
|
355
|
-
columnCount: (props: { readonly columnCount: string
|
|
356
|
-
columnGap: (props: { readonly columnGap: string
|
|
338
|
+
width: (props: { readonly width: string }) => strToNum(props.width),
|
|
339
|
+
height: (props: { readonly height: string }) => strToNum(props.height),
|
|
340
|
+
rowSpan: (props: { readonly rowSpan: string }) => strToNum(props.rowSpan),
|
|
341
|
+
columnSpan: (props: { readonly columnSpan: string }) => strToNum(props.columnSpan),
|
|
342
|
+
fontScale: (props: { readonly fontScale: string }) => strToNum(props.fontScale),
|
|
343
|
+
fontSize: (props: { readonly fontSize: string }) => strToNum(props.fontSize),
|
|
344
|
+
lineGap: (props: { readonly lineGap: string }) => strToNum(props.lineGap),
|
|
345
|
+
characterSpacing: (props: { readonly characterSpacing: string }) => strToNum(props.characterSpacing),
|
|
346
|
+
verticalPosition: (props: { readonly verticalPosition: string }) => strToNum(props.verticalPosition),
|
|
347
|
+
indent: (props: { readonly indent: string }) => strToNum(props.indent),
|
|
348
|
+
top: (props: { readonly top: string }) => strToNum(props.top),
|
|
349
|
+
bottom: (props: { readonly bottom: string }) => strToNum(props.bottom),
|
|
350
|
+
left: (props: { readonly left: string }) => strToNum(props.left),
|
|
351
|
+
right: (props: { readonly right: string }) => strToNum(props.right),
|
|
352
|
+
columnCount: (props: { readonly columnCount: string }) => strToNum(props.columnCount),
|
|
353
|
+
columnGap: (props: { readonly columnGap: string }) => strToNum(props.columnGap),
|
|
357
354
|
|
|
358
355
|
//boolean values
|
|
359
|
-
bold: (props: { readonly bold: string
|
|
360
|
-
italic: (props: { readonly italic: string
|
|
361
|
-
underline: (props: { readonly underline: string
|
|
362
|
-
superScript: (props: { readonly superScript: string
|
|
363
|
-
subScript: (props: { readonly subScript: string
|
|
364
|
-
lineBreak: (props: { readonly lineBreak: string
|
|
365
|
-
mediumBold: (props: { readonly mediumBold: string
|
|
366
|
-
noTopBottomMargin: (props: { readonly noTopBottomMargin: string
|
|
367
|
-
keepTogetherSections: (props: { readonly keepTogetherSections: string
|
|
368
|
-
|
|
369
|
-
|
|
356
|
+
bold: (props: { readonly bold: string }): unknown => strToBool(props.bold),
|
|
357
|
+
italic: (props: { readonly italic: string }): unknown => strToBool(props.italic),
|
|
358
|
+
underline: (props: { readonly underline: string }): unknown => strToBool(props.underline),
|
|
359
|
+
superScript: (props: { readonly superScript: string }): unknown => strToBool(props.superScript),
|
|
360
|
+
subScript: (props: { readonly subScript: string }): unknown => strToBool(props.subScript),
|
|
361
|
+
lineBreak: (props: { readonly lineBreak: string }): unknown => strToBool(props.lineBreak),
|
|
362
|
+
mediumBold: (props: { readonly mediumBold: string }): unknown => strToBool(props.mediumBold),
|
|
363
|
+
noTopBottomMargin: (props: { readonly noTopBottomMargin: string }): unknown => strToBool(props.noTopBottomMargin),
|
|
364
|
+
keepTogetherSections: (props: { readonly keepTogetherSections: string }): unknown =>
|
|
365
|
+
strToBool(props.keepTogetherSections),
|
|
366
|
+
keepTogether: (props: { readonly keepTogether: string }): unknown => strToBool(props.keepTogether),
|
|
367
|
+
differentFirstPage: (props: { readonly differentFirstPage: string }): unknown => strToBool(props.differentFirstPage),
|
|
370
368
|
};
|
|
371
369
|
|
|
372
370
|
const zero = createPoint(0, 0);
|
|
@@ -374,12 +372,12 @@ const size = createSize(0, 0);
|
|
|
374
372
|
function imageProps(props: Record<string, unknown>): Record<string, unknown> {
|
|
375
373
|
return {
|
|
376
374
|
...props,
|
|
377
|
-
width: Number(props
|
|
378
|
-
height: Number(props
|
|
375
|
+
width: Number(props["width"]),
|
|
376
|
+
height: Number(props["height"]),
|
|
379
377
|
imageResource: ImageResource.create({
|
|
380
|
-
id: props
|
|
378
|
+
id: props["src"] as string,
|
|
381
379
|
abstractImage: createAbstractImage(zero, size, white, [
|
|
382
|
-
createBinaryImage(zero, zero, "png", { type: "url", url: props
|
|
380
|
+
createBinaryImage(zero, zero, "png", { type: "url", url: props["src"] as string }),
|
|
383
381
|
]),
|
|
384
382
|
renderScale: 1,
|
|
385
383
|
}),
|
|
@@ -387,20 +385,20 @@ function imageProps(props: Record<string, unknown>): Record<string, unknown> {
|
|
|
387
385
|
}
|
|
388
386
|
|
|
389
387
|
const strToBool = (str: string | undefined): boolean => {
|
|
390
|
-
if(str === undefined) {
|
|
388
|
+
if (str === undefined) {
|
|
391
389
|
return false;
|
|
392
390
|
}
|
|
393
391
|
const validBools = {
|
|
394
392
|
"1": true,
|
|
395
|
-
|
|
393
|
+
true: true,
|
|
396
394
|
};
|
|
397
395
|
return str in validBools;
|
|
398
|
-
}
|
|
396
|
+
};
|
|
399
397
|
|
|
400
398
|
const strToNum = (str: string | undefined): number => {
|
|
401
399
|
const num = Number(str);
|
|
402
|
-
if(Number.isNaN(num)) {
|
|
400
|
+
if (Number.isNaN(num)) {
|
|
403
401
|
return 0;
|
|
404
402
|
}
|
|
405
403
|
return num;
|
|
406
|
-
}
|
|
404
|
+
};
|
|
@@ -1,16 +1,7 @@
|
|
|
1
|
-
import { ImageProps } from "../../abstract-document/atoms/image.js";
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
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>
|