@zentto/report-core 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,815 @@
1
+ import type { ReportLayout } from '../types.js';
2
+ /** Serialize a report layout to JSON string */
3
+ export declare function layoutToJson(layout: ReportLayout, pretty?: boolean): string;
4
+ /** Parse JSON string to report layout (validated) */
5
+ export declare function jsonToLayout(json: string): ReportLayout;
6
+ /** Parse JSON string to report layout (safe — returns result object) */
7
+ export declare function safeJsonToLayout(json: string): import("zod").SafeParseSuccess<{
8
+ name: string;
9
+ version: string;
10
+ pageSize: {
11
+ width: number;
12
+ height: number;
13
+ unit: "mm" | "in" | "px" | "pt";
14
+ };
15
+ margins: {
16
+ left: number;
17
+ right: number;
18
+ top: number;
19
+ bottom: number;
20
+ };
21
+ dataSources: {
22
+ type: "object" | "array";
23
+ name: string;
24
+ id: string;
25
+ fields?: {
26
+ type: "string" | "number" | "boolean" | "date" | "currency" | "image";
27
+ name: string;
28
+ label?: string | undefined;
29
+ format?: string | undefined;
30
+ }[] | undefined;
31
+ }[];
32
+ bands: {
33
+ height: number;
34
+ type: "reportHeader" | "pageHeader" | "groupHeader" | "columnHeader" | "detail" | "columnFooter" | "groupFooter" | "pageFooter" | "reportFooter";
35
+ id: string;
36
+ elements: ({
37
+ width: number;
38
+ height: number;
39
+ type: "text";
40
+ id: string;
41
+ x: number;
42
+ y: number;
43
+ content: string;
44
+ style?: {
45
+ fontFamily?: string | undefined;
46
+ fontSize?: number | undefined;
47
+ fontWeight?: number | "normal" | "bold" | "lighter" | "bolder" | undefined;
48
+ fontStyle?: "normal" | "italic" | undefined;
49
+ textDecoration?: "none" | "underline" | "line-through" | undefined;
50
+ textAlign?: "left" | "center" | "right" | "justify" | undefined;
51
+ verticalAlign?: "top" | "middle" | "bottom" | undefined;
52
+ color?: string | undefined;
53
+ backgroundColor?: string | undefined;
54
+ borderTop?: string | undefined;
55
+ borderRight?: string | undefined;
56
+ borderBottom?: string | undefined;
57
+ borderLeft?: string | undefined;
58
+ borderRadius?: number | undefined;
59
+ padding?: string | number | undefined;
60
+ opacity?: number | undefined;
61
+ wordWrap?: boolean | undefined;
62
+ lineHeight?: number | undefined;
63
+ } | undefined;
64
+ visible?: boolean | undefined;
65
+ visibleExpression?: string | undefined;
66
+ printOn?: "all" | "first" | "last" | "odd" | "even" | undefined;
67
+ } | {
68
+ field: string;
69
+ width: number;
70
+ height: number;
71
+ type: "field";
72
+ id: string;
73
+ x: number;
74
+ y: number;
75
+ dataSource: string;
76
+ style?: {
77
+ fontFamily?: string | undefined;
78
+ fontSize?: number | undefined;
79
+ fontWeight?: number | "normal" | "bold" | "lighter" | "bolder" | undefined;
80
+ fontStyle?: "normal" | "italic" | undefined;
81
+ textDecoration?: "none" | "underline" | "line-through" | undefined;
82
+ textAlign?: "left" | "center" | "right" | "justify" | undefined;
83
+ verticalAlign?: "top" | "middle" | "bottom" | undefined;
84
+ color?: string | undefined;
85
+ backgroundColor?: string | undefined;
86
+ borderTop?: string | undefined;
87
+ borderRight?: string | undefined;
88
+ borderBottom?: string | undefined;
89
+ borderLeft?: string | undefined;
90
+ borderRadius?: number | undefined;
91
+ padding?: string | number | undefined;
92
+ opacity?: number | undefined;
93
+ wordWrap?: boolean | undefined;
94
+ lineHeight?: number | undefined;
95
+ } | undefined;
96
+ format?: string | undefined;
97
+ visible?: boolean | undefined;
98
+ visibleExpression?: string | undefined;
99
+ printOn?: "all" | "first" | "last" | "odd" | "even" | undefined;
100
+ expression?: string | undefined;
101
+ aggregate?: "sum" | "avg" | "count" | "min" | "max" | undefined;
102
+ resetOnGroup?: string | undefined;
103
+ } | {
104
+ width: number;
105
+ height: number;
106
+ type: "image";
107
+ id: string;
108
+ x: number;
109
+ y: number;
110
+ src: string;
111
+ style?: {
112
+ fontFamily?: string | undefined;
113
+ fontSize?: number | undefined;
114
+ fontWeight?: number | "normal" | "bold" | "lighter" | "bolder" | undefined;
115
+ fontStyle?: "normal" | "italic" | undefined;
116
+ textDecoration?: "none" | "underline" | "line-through" | undefined;
117
+ textAlign?: "left" | "center" | "right" | "justify" | undefined;
118
+ verticalAlign?: "top" | "middle" | "bottom" | undefined;
119
+ color?: string | undefined;
120
+ backgroundColor?: string | undefined;
121
+ borderTop?: string | undefined;
122
+ borderRight?: string | undefined;
123
+ borderBottom?: string | undefined;
124
+ borderLeft?: string | undefined;
125
+ borderRadius?: number | undefined;
126
+ padding?: string | number | undefined;
127
+ opacity?: number | undefined;
128
+ wordWrap?: boolean | undefined;
129
+ lineHeight?: number | undefined;
130
+ } | undefined;
131
+ visible?: boolean | undefined;
132
+ visibleExpression?: string | undefined;
133
+ printOn?: "all" | "first" | "last" | "odd" | "even" | undefined;
134
+ fit?: "none" | "contain" | "cover" | "fill" | undefined;
135
+ } | {
136
+ width: number;
137
+ height: number;
138
+ type: "line";
139
+ id: string;
140
+ x: number;
141
+ y: number;
142
+ x2: number;
143
+ y2: number;
144
+ style?: {
145
+ fontFamily?: string | undefined;
146
+ fontSize?: number | undefined;
147
+ fontWeight?: number | "normal" | "bold" | "lighter" | "bolder" | undefined;
148
+ fontStyle?: "normal" | "italic" | undefined;
149
+ textDecoration?: "none" | "underline" | "line-through" | undefined;
150
+ textAlign?: "left" | "center" | "right" | "justify" | undefined;
151
+ verticalAlign?: "top" | "middle" | "bottom" | undefined;
152
+ color?: string | undefined;
153
+ backgroundColor?: string | undefined;
154
+ borderTop?: string | undefined;
155
+ borderRight?: string | undefined;
156
+ borderBottom?: string | undefined;
157
+ borderLeft?: string | undefined;
158
+ borderRadius?: number | undefined;
159
+ padding?: string | number | undefined;
160
+ opacity?: number | undefined;
161
+ wordWrap?: boolean | undefined;
162
+ lineHeight?: number | undefined;
163
+ } | undefined;
164
+ visible?: boolean | undefined;
165
+ visibleExpression?: string | undefined;
166
+ printOn?: "all" | "first" | "last" | "odd" | "even" | undefined;
167
+ lineStyle?: {
168
+ width?: number | undefined;
169
+ color?: string | undefined;
170
+ style?: "solid" | "dashed" | "dotted" | undefined;
171
+ } | undefined;
172
+ } | {
173
+ width: number;
174
+ height: number;
175
+ type: "rect";
176
+ id: string;
177
+ x: number;
178
+ y: number;
179
+ fill?: string | undefined;
180
+ style?: {
181
+ fontFamily?: string | undefined;
182
+ fontSize?: number | undefined;
183
+ fontWeight?: number | "normal" | "bold" | "lighter" | "bolder" | undefined;
184
+ fontStyle?: "normal" | "italic" | undefined;
185
+ textDecoration?: "none" | "underline" | "line-through" | undefined;
186
+ textAlign?: "left" | "center" | "right" | "justify" | undefined;
187
+ verticalAlign?: "top" | "middle" | "bottom" | undefined;
188
+ color?: string | undefined;
189
+ backgroundColor?: string | undefined;
190
+ borderTop?: string | undefined;
191
+ borderRight?: string | undefined;
192
+ borderBottom?: string | undefined;
193
+ borderLeft?: string | undefined;
194
+ borderRadius?: number | undefined;
195
+ padding?: string | number | undefined;
196
+ opacity?: number | undefined;
197
+ wordWrap?: boolean | undefined;
198
+ lineHeight?: number | undefined;
199
+ } | undefined;
200
+ visible?: boolean | undefined;
201
+ visibleExpression?: string | undefined;
202
+ printOn?: "all" | "first" | "last" | "odd" | "even" | undefined;
203
+ lineStyle?: {
204
+ width?: number | undefined;
205
+ color?: string | undefined;
206
+ style?: "solid" | "dashed" | "dotted" | undefined;
207
+ } | undefined;
208
+ cornerRadius?: number | undefined;
209
+ } | {
210
+ width: number;
211
+ height: number;
212
+ value: string;
213
+ type: "barcode";
214
+ id: string;
215
+ x: number;
216
+ y: number;
217
+ barcodeType: "qr" | "code128" | "ean13" | "code39";
218
+ style?: {
219
+ fontFamily?: string | undefined;
220
+ fontSize?: number | undefined;
221
+ fontWeight?: number | "normal" | "bold" | "lighter" | "bolder" | undefined;
222
+ fontStyle?: "normal" | "italic" | undefined;
223
+ textDecoration?: "none" | "underline" | "line-through" | undefined;
224
+ textAlign?: "left" | "center" | "right" | "justify" | undefined;
225
+ verticalAlign?: "top" | "middle" | "bottom" | undefined;
226
+ color?: string | undefined;
227
+ backgroundColor?: string | undefined;
228
+ borderTop?: string | undefined;
229
+ borderRight?: string | undefined;
230
+ borderBottom?: string | undefined;
231
+ borderLeft?: string | undefined;
232
+ borderRadius?: number | undefined;
233
+ padding?: string | number | undefined;
234
+ opacity?: number | undefined;
235
+ wordWrap?: boolean | undefined;
236
+ lineHeight?: number | undefined;
237
+ } | undefined;
238
+ visible?: boolean | undefined;
239
+ visibleExpression?: string | undefined;
240
+ printOn?: "all" | "first" | "last" | "odd" | "even" | undefined;
241
+ } | {
242
+ width: number;
243
+ height: number;
244
+ type: "pageNumber";
245
+ id: string;
246
+ x: number;
247
+ y: number;
248
+ style?: {
249
+ fontFamily?: string | undefined;
250
+ fontSize?: number | undefined;
251
+ fontWeight?: number | "normal" | "bold" | "lighter" | "bolder" | undefined;
252
+ fontStyle?: "normal" | "italic" | undefined;
253
+ textDecoration?: "none" | "underline" | "line-through" | undefined;
254
+ textAlign?: "left" | "center" | "right" | "justify" | undefined;
255
+ verticalAlign?: "top" | "middle" | "bottom" | undefined;
256
+ color?: string | undefined;
257
+ backgroundColor?: string | undefined;
258
+ borderTop?: string | undefined;
259
+ borderRight?: string | undefined;
260
+ borderBottom?: string | undefined;
261
+ borderLeft?: string | undefined;
262
+ borderRadius?: number | undefined;
263
+ padding?: string | number | undefined;
264
+ opacity?: number | undefined;
265
+ wordWrap?: boolean | undefined;
266
+ lineHeight?: number | undefined;
267
+ } | undefined;
268
+ format?: string | undefined;
269
+ visible?: boolean | undefined;
270
+ visibleExpression?: string | undefined;
271
+ printOn?: "all" | "first" | "last" | "odd" | "even" | undefined;
272
+ } | {
273
+ width: number;
274
+ height: number;
275
+ type: "totalPages";
276
+ id: string;
277
+ x: number;
278
+ y: number;
279
+ style?: {
280
+ fontFamily?: string | undefined;
281
+ fontSize?: number | undefined;
282
+ fontWeight?: number | "normal" | "bold" | "lighter" | "bolder" | undefined;
283
+ fontStyle?: "normal" | "italic" | undefined;
284
+ textDecoration?: "none" | "underline" | "line-through" | undefined;
285
+ textAlign?: "left" | "center" | "right" | "justify" | undefined;
286
+ verticalAlign?: "top" | "middle" | "bottom" | undefined;
287
+ color?: string | undefined;
288
+ backgroundColor?: string | undefined;
289
+ borderTop?: string | undefined;
290
+ borderRight?: string | undefined;
291
+ borderBottom?: string | undefined;
292
+ borderLeft?: string | undefined;
293
+ borderRadius?: number | undefined;
294
+ padding?: string | number | undefined;
295
+ opacity?: number | undefined;
296
+ wordWrap?: boolean | undefined;
297
+ lineHeight?: number | undefined;
298
+ } | undefined;
299
+ visible?: boolean | undefined;
300
+ visibleExpression?: string | undefined;
301
+ printOn?: "all" | "first" | "last" | "odd" | "even" | undefined;
302
+ } | {
303
+ width: number;
304
+ height: number;
305
+ type: "currentDate";
306
+ id: string;
307
+ x: number;
308
+ y: number;
309
+ style?: {
310
+ fontFamily?: string | undefined;
311
+ fontSize?: number | undefined;
312
+ fontWeight?: number | "normal" | "bold" | "lighter" | "bolder" | undefined;
313
+ fontStyle?: "normal" | "italic" | undefined;
314
+ textDecoration?: "none" | "underline" | "line-through" | undefined;
315
+ textAlign?: "left" | "center" | "right" | "justify" | undefined;
316
+ verticalAlign?: "top" | "middle" | "bottom" | undefined;
317
+ color?: string | undefined;
318
+ backgroundColor?: string | undefined;
319
+ borderTop?: string | undefined;
320
+ borderRight?: string | undefined;
321
+ borderBottom?: string | undefined;
322
+ borderLeft?: string | undefined;
323
+ borderRadius?: number | undefined;
324
+ padding?: string | number | undefined;
325
+ opacity?: number | undefined;
326
+ wordWrap?: boolean | undefined;
327
+ lineHeight?: number | undefined;
328
+ } | undefined;
329
+ format?: string | undefined;
330
+ visible?: boolean | undefined;
331
+ visibleExpression?: string | undefined;
332
+ printOn?: "all" | "first" | "last" | "odd" | "even" | undefined;
333
+ })[];
334
+ backgroundColor?: string | undefined;
335
+ visible?: boolean | undefined;
336
+ dataSource?: string | undefined;
337
+ groupField?: string | undefined;
338
+ keepTogether?: boolean | undefined;
339
+ repeatOnEveryPage?: boolean | undefined;
340
+ }[];
341
+ description?: string | undefined;
342
+ orientation?: "portrait" | "landscape" | undefined;
343
+ groups?: {
344
+ field: string;
345
+ headerBandId: string;
346
+ sort?: "asc" | "desc" | undefined;
347
+ footerBandId?: string | undefined;
348
+ pageBreakBefore?: boolean | undefined;
349
+ }[] | undefined;
350
+ sorting?: {
351
+ field: string;
352
+ direction: "asc" | "desc";
353
+ }[] | undefined;
354
+ defaultStyle?: {
355
+ fontFamily?: string | undefined;
356
+ fontSize?: number | undefined;
357
+ fontWeight?: number | "normal" | "bold" | "lighter" | "bolder" | undefined;
358
+ fontStyle?: "normal" | "italic" | undefined;
359
+ textDecoration?: "none" | "underline" | "line-through" | undefined;
360
+ textAlign?: "left" | "center" | "right" | "justify" | undefined;
361
+ verticalAlign?: "top" | "middle" | "bottom" | undefined;
362
+ color?: string | undefined;
363
+ backgroundColor?: string | undefined;
364
+ borderTop?: string | undefined;
365
+ borderRight?: string | undefined;
366
+ borderBottom?: string | undefined;
367
+ borderLeft?: string | undefined;
368
+ borderRadius?: number | undefined;
369
+ padding?: string | number | undefined;
370
+ opacity?: number | undefined;
371
+ wordWrap?: boolean | undefined;
372
+ lineHeight?: number | undefined;
373
+ } | undefined;
374
+ styles?: Record<string, {
375
+ fontFamily?: string | undefined;
376
+ fontSize?: number | undefined;
377
+ fontWeight?: number | "normal" | "bold" | "lighter" | "bolder" | undefined;
378
+ fontStyle?: "normal" | "italic" | undefined;
379
+ textDecoration?: "none" | "underline" | "line-through" | undefined;
380
+ textAlign?: "left" | "center" | "right" | "justify" | undefined;
381
+ verticalAlign?: "top" | "middle" | "bottom" | undefined;
382
+ color?: string | undefined;
383
+ backgroundColor?: string | undefined;
384
+ borderTop?: string | undefined;
385
+ borderRight?: string | undefined;
386
+ borderBottom?: string | undefined;
387
+ borderLeft?: string | undefined;
388
+ borderRadius?: number | undefined;
389
+ padding?: string | number | undefined;
390
+ opacity?: number | undefined;
391
+ wordWrap?: boolean | undefined;
392
+ lineHeight?: number | undefined;
393
+ }> | undefined;
394
+ parameters?: {
395
+ type: "string" | "number" | "boolean" | "date" | "select";
396
+ name: string;
397
+ label: string;
398
+ id: string;
399
+ options?: {
400
+ label: string;
401
+ value?: unknown;
402
+ }[] | undefined;
403
+ defaultValue?: unknown;
404
+ required?: boolean | undefined;
405
+ }[] | undefined;
406
+ metadata?: Record<string, unknown> | undefined;
407
+ }> | import("zod").SafeParseError<{
408
+ name: string;
409
+ version: string;
410
+ pageSize: {
411
+ width: number;
412
+ height: number;
413
+ unit: "mm" | "in" | "px" | "pt";
414
+ };
415
+ margins: {
416
+ left: number;
417
+ right: number;
418
+ top: number;
419
+ bottom: number;
420
+ };
421
+ dataSources: {
422
+ type: "object" | "array";
423
+ name: string;
424
+ id: string;
425
+ fields?: {
426
+ type: "string" | "number" | "boolean" | "date" | "currency" | "image";
427
+ name: string;
428
+ label?: string | undefined;
429
+ format?: string | undefined;
430
+ }[] | undefined;
431
+ }[];
432
+ bands: {
433
+ height: number;
434
+ type: "reportHeader" | "pageHeader" | "groupHeader" | "columnHeader" | "detail" | "columnFooter" | "groupFooter" | "pageFooter" | "reportFooter";
435
+ id: string;
436
+ elements: ({
437
+ width: number;
438
+ height: number;
439
+ type: "text";
440
+ id: string;
441
+ x: number;
442
+ y: number;
443
+ content: string;
444
+ style?: {
445
+ fontFamily?: string | undefined;
446
+ fontSize?: number | undefined;
447
+ fontWeight?: number | "normal" | "bold" | "lighter" | "bolder" | undefined;
448
+ fontStyle?: "normal" | "italic" | undefined;
449
+ textDecoration?: "none" | "underline" | "line-through" | undefined;
450
+ textAlign?: "left" | "center" | "right" | "justify" | undefined;
451
+ verticalAlign?: "top" | "middle" | "bottom" | undefined;
452
+ color?: string | undefined;
453
+ backgroundColor?: string | undefined;
454
+ borderTop?: string | undefined;
455
+ borderRight?: string | undefined;
456
+ borderBottom?: string | undefined;
457
+ borderLeft?: string | undefined;
458
+ borderRadius?: number | undefined;
459
+ padding?: string | number | undefined;
460
+ opacity?: number | undefined;
461
+ wordWrap?: boolean | undefined;
462
+ lineHeight?: number | undefined;
463
+ } | undefined;
464
+ visible?: boolean | undefined;
465
+ visibleExpression?: string | undefined;
466
+ printOn?: "all" | "first" | "last" | "odd" | "even" | undefined;
467
+ } | {
468
+ field: string;
469
+ width: number;
470
+ height: number;
471
+ type: "field";
472
+ id: string;
473
+ x: number;
474
+ y: number;
475
+ dataSource: string;
476
+ style?: {
477
+ fontFamily?: string | undefined;
478
+ fontSize?: number | undefined;
479
+ fontWeight?: number | "normal" | "bold" | "lighter" | "bolder" | undefined;
480
+ fontStyle?: "normal" | "italic" | undefined;
481
+ textDecoration?: "none" | "underline" | "line-through" | undefined;
482
+ textAlign?: "left" | "center" | "right" | "justify" | undefined;
483
+ verticalAlign?: "top" | "middle" | "bottom" | undefined;
484
+ color?: string | undefined;
485
+ backgroundColor?: string | undefined;
486
+ borderTop?: string | undefined;
487
+ borderRight?: string | undefined;
488
+ borderBottom?: string | undefined;
489
+ borderLeft?: string | undefined;
490
+ borderRadius?: number | undefined;
491
+ padding?: string | number | undefined;
492
+ opacity?: number | undefined;
493
+ wordWrap?: boolean | undefined;
494
+ lineHeight?: number | undefined;
495
+ } | undefined;
496
+ format?: string | undefined;
497
+ visible?: boolean | undefined;
498
+ visibleExpression?: string | undefined;
499
+ printOn?: "all" | "first" | "last" | "odd" | "even" | undefined;
500
+ expression?: string | undefined;
501
+ aggregate?: "sum" | "avg" | "count" | "min" | "max" | undefined;
502
+ resetOnGroup?: string | undefined;
503
+ } | {
504
+ width: number;
505
+ height: number;
506
+ type: "image";
507
+ id: string;
508
+ x: number;
509
+ y: number;
510
+ src: string;
511
+ style?: {
512
+ fontFamily?: string | undefined;
513
+ fontSize?: number | undefined;
514
+ fontWeight?: number | "normal" | "bold" | "lighter" | "bolder" | undefined;
515
+ fontStyle?: "normal" | "italic" | undefined;
516
+ textDecoration?: "none" | "underline" | "line-through" | undefined;
517
+ textAlign?: "left" | "center" | "right" | "justify" | undefined;
518
+ verticalAlign?: "top" | "middle" | "bottom" | undefined;
519
+ color?: string | undefined;
520
+ backgroundColor?: string | undefined;
521
+ borderTop?: string | undefined;
522
+ borderRight?: string | undefined;
523
+ borderBottom?: string | undefined;
524
+ borderLeft?: string | undefined;
525
+ borderRadius?: number | undefined;
526
+ padding?: string | number | undefined;
527
+ opacity?: number | undefined;
528
+ wordWrap?: boolean | undefined;
529
+ lineHeight?: number | undefined;
530
+ } | undefined;
531
+ visible?: boolean | undefined;
532
+ visibleExpression?: string | undefined;
533
+ printOn?: "all" | "first" | "last" | "odd" | "even" | undefined;
534
+ fit?: "none" | "contain" | "cover" | "fill" | undefined;
535
+ } | {
536
+ width: number;
537
+ height: number;
538
+ type: "line";
539
+ id: string;
540
+ x: number;
541
+ y: number;
542
+ x2: number;
543
+ y2: number;
544
+ style?: {
545
+ fontFamily?: string | undefined;
546
+ fontSize?: number | undefined;
547
+ fontWeight?: number | "normal" | "bold" | "lighter" | "bolder" | undefined;
548
+ fontStyle?: "normal" | "italic" | undefined;
549
+ textDecoration?: "none" | "underline" | "line-through" | undefined;
550
+ textAlign?: "left" | "center" | "right" | "justify" | undefined;
551
+ verticalAlign?: "top" | "middle" | "bottom" | undefined;
552
+ color?: string | undefined;
553
+ backgroundColor?: string | undefined;
554
+ borderTop?: string | undefined;
555
+ borderRight?: string | undefined;
556
+ borderBottom?: string | undefined;
557
+ borderLeft?: string | undefined;
558
+ borderRadius?: number | undefined;
559
+ padding?: string | number | undefined;
560
+ opacity?: number | undefined;
561
+ wordWrap?: boolean | undefined;
562
+ lineHeight?: number | undefined;
563
+ } | undefined;
564
+ visible?: boolean | undefined;
565
+ visibleExpression?: string | undefined;
566
+ printOn?: "all" | "first" | "last" | "odd" | "even" | undefined;
567
+ lineStyle?: {
568
+ width?: number | undefined;
569
+ color?: string | undefined;
570
+ style?: "solid" | "dashed" | "dotted" | undefined;
571
+ } | undefined;
572
+ } | {
573
+ width: number;
574
+ height: number;
575
+ type: "rect";
576
+ id: string;
577
+ x: number;
578
+ y: number;
579
+ fill?: string | undefined;
580
+ style?: {
581
+ fontFamily?: string | undefined;
582
+ fontSize?: number | undefined;
583
+ fontWeight?: number | "normal" | "bold" | "lighter" | "bolder" | undefined;
584
+ fontStyle?: "normal" | "italic" | undefined;
585
+ textDecoration?: "none" | "underline" | "line-through" | undefined;
586
+ textAlign?: "left" | "center" | "right" | "justify" | undefined;
587
+ verticalAlign?: "top" | "middle" | "bottom" | undefined;
588
+ color?: string | undefined;
589
+ backgroundColor?: string | undefined;
590
+ borderTop?: string | undefined;
591
+ borderRight?: string | undefined;
592
+ borderBottom?: string | undefined;
593
+ borderLeft?: string | undefined;
594
+ borderRadius?: number | undefined;
595
+ padding?: string | number | undefined;
596
+ opacity?: number | undefined;
597
+ wordWrap?: boolean | undefined;
598
+ lineHeight?: number | undefined;
599
+ } | undefined;
600
+ visible?: boolean | undefined;
601
+ visibleExpression?: string | undefined;
602
+ printOn?: "all" | "first" | "last" | "odd" | "even" | undefined;
603
+ lineStyle?: {
604
+ width?: number | undefined;
605
+ color?: string | undefined;
606
+ style?: "solid" | "dashed" | "dotted" | undefined;
607
+ } | undefined;
608
+ cornerRadius?: number | undefined;
609
+ } | {
610
+ width: number;
611
+ height: number;
612
+ value: string;
613
+ type: "barcode";
614
+ id: string;
615
+ x: number;
616
+ y: number;
617
+ barcodeType: "qr" | "code128" | "ean13" | "code39";
618
+ style?: {
619
+ fontFamily?: string | undefined;
620
+ fontSize?: number | undefined;
621
+ fontWeight?: number | "normal" | "bold" | "lighter" | "bolder" | undefined;
622
+ fontStyle?: "normal" | "italic" | undefined;
623
+ textDecoration?: "none" | "underline" | "line-through" | undefined;
624
+ textAlign?: "left" | "center" | "right" | "justify" | undefined;
625
+ verticalAlign?: "top" | "middle" | "bottom" | undefined;
626
+ color?: string | undefined;
627
+ backgroundColor?: string | undefined;
628
+ borderTop?: string | undefined;
629
+ borderRight?: string | undefined;
630
+ borderBottom?: string | undefined;
631
+ borderLeft?: string | undefined;
632
+ borderRadius?: number | undefined;
633
+ padding?: string | number | undefined;
634
+ opacity?: number | undefined;
635
+ wordWrap?: boolean | undefined;
636
+ lineHeight?: number | undefined;
637
+ } | undefined;
638
+ visible?: boolean | undefined;
639
+ visibleExpression?: string | undefined;
640
+ printOn?: "all" | "first" | "last" | "odd" | "even" | undefined;
641
+ } | {
642
+ width: number;
643
+ height: number;
644
+ type: "pageNumber";
645
+ id: string;
646
+ x: number;
647
+ y: number;
648
+ style?: {
649
+ fontFamily?: string | undefined;
650
+ fontSize?: number | undefined;
651
+ fontWeight?: number | "normal" | "bold" | "lighter" | "bolder" | undefined;
652
+ fontStyle?: "normal" | "italic" | undefined;
653
+ textDecoration?: "none" | "underline" | "line-through" | undefined;
654
+ textAlign?: "left" | "center" | "right" | "justify" | undefined;
655
+ verticalAlign?: "top" | "middle" | "bottom" | undefined;
656
+ color?: string | undefined;
657
+ backgroundColor?: string | undefined;
658
+ borderTop?: string | undefined;
659
+ borderRight?: string | undefined;
660
+ borderBottom?: string | undefined;
661
+ borderLeft?: string | undefined;
662
+ borderRadius?: number | undefined;
663
+ padding?: string | number | undefined;
664
+ opacity?: number | undefined;
665
+ wordWrap?: boolean | undefined;
666
+ lineHeight?: number | undefined;
667
+ } | undefined;
668
+ format?: string | undefined;
669
+ visible?: boolean | undefined;
670
+ visibleExpression?: string | undefined;
671
+ printOn?: "all" | "first" | "last" | "odd" | "even" | undefined;
672
+ } | {
673
+ width: number;
674
+ height: number;
675
+ type: "totalPages";
676
+ id: string;
677
+ x: number;
678
+ y: number;
679
+ style?: {
680
+ fontFamily?: string | undefined;
681
+ fontSize?: number | undefined;
682
+ fontWeight?: number | "normal" | "bold" | "lighter" | "bolder" | undefined;
683
+ fontStyle?: "normal" | "italic" | undefined;
684
+ textDecoration?: "none" | "underline" | "line-through" | undefined;
685
+ textAlign?: "left" | "center" | "right" | "justify" | undefined;
686
+ verticalAlign?: "top" | "middle" | "bottom" | undefined;
687
+ color?: string | undefined;
688
+ backgroundColor?: string | undefined;
689
+ borderTop?: string | undefined;
690
+ borderRight?: string | undefined;
691
+ borderBottom?: string | undefined;
692
+ borderLeft?: string | undefined;
693
+ borderRadius?: number | undefined;
694
+ padding?: string | number | undefined;
695
+ opacity?: number | undefined;
696
+ wordWrap?: boolean | undefined;
697
+ lineHeight?: number | undefined;
698
+ } | undefined;
699
+ visible?: boolean | undefined;
700
+ visibleExpression?: string | undefined;
701
+ printOn?: "all" | "first" | "last" | "odd" | "even" | undefined;
702
+ } | {
703
+ width: number;
704
+ height: number;
705
+ type: "currentDate";
706
+ id: string;
707
+ x: number;
708
+ y: number;
709
+ style?: {
710
+ fontFamily?: string | undefined;
711
+ fontSize?: number | undefined;
712
+ fontWeight?: number | "normal" | "bold" | "lighter" | "bolder" | undefined;
713
+ fontStyle?: "normal" | "italic" | undefined;
714
+ textDecoration?: "none" | "underline" | "line-through" | undefined;
715
+ textAlign?: "left" | "center" | "right" | "justify" | undefined;
716
+ verticalAlign?: "top" | "middle" | "bottom" | undefined;
717
+ color?: string | undefined;
718
+ backgroundColor?: string | undefined;
719
+ borderTop?: string | undefined;
720
+ borderRight?: string | undefined;
721
+ borderBottom?: string | undefined;
722
+ borderLeft?: string | undefined;
723
+ borderRadius?: number | undefined;
724
+ padding?: string | number | undefined;
725
+ opacity?: number | undefined;
726
+ wordWrap?: boolean | undefined;
727
+ lineHeight?: number | undefined;
728
+ } | undefined;
729
+ format?: string | undefined;
730
+ visible?: boolean | undefined;
731
+ visibleExpression?: string | undefined;
732
+ printOn?: "all" | "first" | "last" | "odd" | "even" | undefined;
733
+ })[];
734
+ backgroundColor?: string | undefined;
735
+ visible?: boolean | undefined;
736
+ dataSource?: string | undefined;
737
+ groupField?: string | undefined;
738
+ keepTogether?: boolean | undefined;
739
+ repeatOnEveryPage?: boolean | undefined;
740
+ }[];
741
+ description?: string | undefined;
742
+ orientation?: "portrait" | "landscape" | undefined;
743
+ groups?: {
744
+ field: string;
745
+ headerBandId: string;
746
+ sort?: "asc" | "desc" | undefined;
747
+ footerBandId?: string | undefined;
748
+ pageBreakBefore?: boolean | undefined;
749
+ }[] | undefined;
750
+ sorting?: {
751
+ field: string;
752
+ direction: "asc" | "desc";
753
+ }[] | undefined;
754
+ defaultStyle?: {
755
+ fontFamily?: string | undefined;
756
+ fontSize?: number | undefined;
757
+ fontWeight?: number | "normal" | "bold" | "lighter" | "bolder" | undefined;
758
+ fontStyle?: "normal" | "italic" | undefined;
759
+ textDecoration?: "none" | "underline" | "line-through" | undefined;
760
+ textAlign?: "left" | "center" | "right" | "justify" | undefined;
761
+ verticalAlign?: "top" | "middle" | "bottom" | undefined;
762
+ color?: string | undefined;
763
+ backgroundColor?: string | undefined;
764
+ borderTop?: string | undefined;
765
+ borderRight?: string | undefined;
766
+ borderBottom?: string | undefined;
767
+ borderLeft?: string | undefined;
768
+ borderRadius?: number | undefined;
769
+ padding?: string | number | undefined;
770
+ opacity?: number | undefined;
771
+ wordWrap?: boolean | undefined;
772
+ lineHeight?: number | undefined;
773
+ } | undefined;
774
+ styles?: Record<string, {
775
+ fontFamily?: string | undefined;
776
+ fontSize?: number | undefined;
777
+ fontWeight?: number | "normal" | "bold" | "lighter" | "bolder" | undefined;
778
+ fontStyle?: "normal" | "italic" | undefined;
779
+ textDecoration?: "none" | "underline" | "line-through" | undefined;
780
+ textAlign?: "left" | "center" | "right" | "justify" | undefined;
781
+ verticalAlign?: "top" | "middle" | "bottom" | undefined;
782
+ color?: string | undefined;
783
+ backgroundColor?: string | undefined;
784
+ borderTop?: string | undefined;
785
+ borderRight?: string | undefined;
786
+ borderBottom?: string | undefined;
787
+ borderLeft?: string | undefined;
788
+ borderRadius?: number | undefined;
789
+ padding?: string | number | undefined;
790
+ opacity?: number | undefined;
791
+ wordWrap?: boolean | undefined;
792
+ lineHeight?: number | undefined;
793
+ }> | undefined;
794
+ parameters?: {
795
+ type: "string" | "number" | "boolean" | "date" | "select";
796
+ name: string;
797
+ label: string;
798
+ id: string;
799
+ options?: {
800
+ label: string;
801
+ value?: unknown;
802
+ }[] | undefined;
803
+ defaultValue?: unknown;
804
+ required?: boolean | undefined;
805
+ }[] | undefined;
806
+ metadata?: Record<string, unknown> | undefined;
807
+ }> | {
808
+ success: false;
809
+ error: Error;
810
+ };
811
+ /** Download a layout as .json file (browser only) */
812
+ export declare function downloadLayoutJson(layout: ReportLayout, filename?: string): void;
813
+ /** Create a blank report layout with sensible defaults */
814
+ export declare function createBlankLayout(name?: string): ReportLayout;
815
+ //# sourceMappingURL=json.d.ts.map