@veztraa/report-renderer 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.
Files changed (77) hide show
  1. package/dist/document.d.ts +10 -0
  2. package/dist/document.d.ts.map +1 -0
  3. package/dist/document.js +352 -0
  4. package/dist/document.js.map +1 -0
  5. package/dist/elements.d.ts +6 -0
  6. package/dist/elements.d.ts.map +1 -0
  7. package/dist/elements.js +445 -0
  8. package/dist/elements.js.map +1 -0
  9. package/dist/fonts/inter-400.woff +0 -0
  10. package/dist/fonts/inter-700.woff +0 -0
  11. package/dist/fonts/lato-400-italic.woff +0 -0
  12. package/dist/fonts/lato-400.woff +0 -0
  13. package/dist/fonts/lato-700-italic.woff +0 -0
  14. package/dist/fonts/lato-700.woff +0 -0
  15. package/dist/fonts/merriweather-400-italic.woff +0 -0
  16. package/dist/fonts/merriweather-400.woff +0 -0
  17. package/dist/fonts/merriweather-700-italic.woff +0 -0
  18. package/dist/fonts/merriweather-700.woff +0 -0
  19. package/dist/fonts/montserrat-400-italic.woff +0 -0
  20. package/dist/fonts/montserrat-400.woff +0 -0
  21. package/dist/fonts/montserrat-700-italic.woff +0 -0
  22. package/dist/fonts/montserrat-700.woff +0 -0
  23. package/dist/fonts/nunito-400-italic.woff +0 -0
  24. package/dist/fonts/nunito-400.woff +0 -0
  25. package/dist/fonts/nunito-700-italic.woff +0 -0
  26. package/dist/fonts/nunito-700.woff +0 -0
  27. package/dist/fonts/open-sans-400-italic.woff +0 -0
  28. package/dist/fonts/open-sans-400.woff +0 -0
  29. package/dist/fonts/open-sans-700-italic.woff +0 -0
  30. package/dist/fonts/open-sans-700.woff +0 -0
  31. package/dist/fonts/playfair-400-italic.woff +0 -0
  32. package/dist/fonts/playfair-400.woff +0 -0
  33. package/dist/fonts/playfair-700-italic.woff +0 -0
  34. package/dist/fonts/playfair-700.woff +0 -0
  35. package/dist/fonts/poppins-400-italic.woff +0 -0
  36. package/dist/fonts/poppins-400.woff +0 -0
  37. package/dist/fonts/poppins-700-italic.woff +0 -0
  38. package/dist/fonts/poppins-700.woff +0 -0
  39. package/dist/fonts/raleway-400-italic.woff +0 -0
  40. package/dist/fonts/raleway-400.woff +0 -0
  41. package/dist/fonts/raleway-700-italic.woff +0 -0
  42. package/dist/fonts/raleway-700.woff +0 -0
  43. package/dist/fonts/roboto-400-italic.woff +0 -0
  44. package/dist/fonts/roboto-400.woff +0 -0
  45. package/dist/fonts/roboto-700-italic.woff +0 -0
  46. package/dist/fonts/roboto-700.woff +0 -0
  47. package/dist/fonts/source-code-pro-400.woff +0 -0
  48. package/dist/fonts/source-code-pro-700.woff +0 -0
  49. package/dist/fonts/ubuntu-400-italic.woff +0 -0
  50. package/dist/fonts/ubuntu-400.woff +0 -0
  51. package/dist/fonts/ubuntu-700-italic.woff +0 -0
  52. package/dist/fonts/ubuntu-700.woff +0 -0
  53. package/dist/fonts.d.ts +23 -0
  54. package/dist/fonts.d.ts.map +1 -0
  55. package/dist/fonts.js +46 -0
  56. package/dist/fonts.js.map +1 -0
  57. package/dist/index.browser.d.ts +8 -0
  58. package/dist/index.browser.d.ts.map +1 -0
  59. package/dist/index.browser.js +18 -0
  60. package/dist/index.browser.js.map +1 -0
  61. package/dist/index.d.ts +14 -0
  62. package/dist/index.d.ts.map +1 -0
  63. package/dist/index.js +24 -0
  64. package/dist/index.js.map +1 -0
  65. package/dist/registerFonts.browser.d.ts +2 -0
  66. package/dist/registerFonts.browser.d.ts.map +1 -0
  67. package/dist/registerFonts.browser.js +15 -0
  68. package/dist/registerFonts.browser.js.map +1 -0
  69. package/dist/registerFonts.d.ts +2 -0
  70. package/dist/registerFonts.d.ts.map +1 -0
  71. package/dist/registerFonts.js +76 -0
  72. package/dist/registerFonts.js.map +1 -0
  73. package/dist/richtext.d.ts +13 -0
  74. package/dist/richtext.d.ts.map +1 -0
  75. package/dist/richtext.js +220 -0
  76. package/dist/richtext.js.map +1 -0
  77. package/package.json +35 -0
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import type { Template } from "@veztraa/report-core";
3
+ type Data = Record<string, unknown>;
4
+ interface ReportDocumentProps {
5
+ template: Template;
6
+ data: Data;
7
+ }
8
+ export declare function ReportDocument({ template, data }: ReportDocumentProps): React.JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=document.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../src/document.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,QAAQ,EAAiB,MAAM,sBAAsB,CAAC;AAqBpE,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AA4TpC,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,mBAAmB,qBAmGrE"}
@@ -0,0 +1,352 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Document, Page, View, Text } from "@react-pdf/renderer";
3
+ import { resolveArray, evaluate } from "@veztraa/report-core";
4
+ import { renderElement } from "./elements.js";
5
+ import { registerFonts } from "./fonts.js";
6
+ import { parseRichText, wrapRichText, measureText, } from "./richtext.js";
7
+ registerFonts();
8
+ const CANVAS_SIZES = {
9
+ A4: [794, 1123],
10
+ A3: [1123, 1587],
11
+ A5: [559, 794],
12
+ Letter: [816, 1056],
13
+ Legal: [816, 1344],
14
+ };
15
+ const DEFAULT_HEADER_H = 60;
16
+ const DEFAULT_FOOTER_H = 40;
17
+ // Build the watermark layer for a page: a single centred, rotated text — or, when
18
+ // `tile` is on, a staggered grid of it repeated across the page. Honours font
19
+ // family/size/weight/style, colour, opacity, rotation and letter spacing.
20
+ function renderWatermark(wm, pageWidth, pageHeight) {
21
+ const text = (wm.text ?? "").trim();
22
+ if (!text)
23
+ return null;
24
+ const fontSize = wm.fontSize ?? 72;
25
+ const fontFamily = wm.fontFamily ?? "Helvetica";
26
+ const textStyle = {
27
+ fontFamily,
28
+ fontWeight: wm.bold ? "bold" : "normal",
29
+ fontStyle: wm.italic ? "italic" : "normal",
30
+ fontSize,
31
+ color: wm.color ?? "#000000",
32
+ opacity: wm.opacity ?? 0.12,
33
+ letterSpacing: wm.letterSpacing ?? 0,
34
+ transform: `rotate(${wm.rotation ?? -45}deg)`,
35
+ transformOrigin: "center",
36
+ };
37
+ // `fixed` keeps the overlay out of the page flow (so it never pushes content
38
+ // onto an extra page) while still painting on the page.
39
+ if (!wm.tile) {
40
+ return (_jsx(View, { fixed: true, style: { position: "absolute", top: 0, left: 0, right: 0, bottom: 0, justifyContent: "center", alignItems: "center" }, children: _jsx(Text, { style: textStyle, children: text }) }));
41
+ }
42
+ // Tiled: lay the text out on a staggered grid covering the page.
43
+ const textW = measureText(text, fontSize, fontFamily, !!wm.bold)
44
+ + (wm.letterSpacing ?? 0) * Math.max(0, text.length - 1);
45
+ const stepX = Math.max(textW + fontSize * 2, fontSize * 6);
46
+ const stepY = fontSize * 3.2;
47
+ const cols = Math.ceil(pageWidth / stepX) + 2;
48
+ const rows = Math.ceil(pageHeight / stepY) + 2;
49
+ const tiles = [];
50
+ for (let r = 0; r < rows; r++) {
51
+ for (let c = 0; c < cols; c++) {
52
+ tiles.push(_jsx(Text, { style: {
53
+ ...textStyle, position: "absolute",
54
+ left: c * stepX - stepX + (r % 2) * (stepX / 2),
55
+ top: r * stepY - stepY,
56
+ }, children: text }, `${r}-${c}`));
57
+ }
58
+ }
59
+ return (_jsx(View, { fixed: true, style: { position: "absolute", top: 0, left: 0, right: 0, bottom: 0, overflow: "hidden" }, children: tiles }));
60
+ }
61
+ // Whether a header/footer with the given display setting shows on page `i`.
62
+ function showsBand(display, i) {
63
+ if (display === "only-first-page")
64
+ return i === 0;
65
+ if (display === "no-first-page")
66
+ return i !== 0;
67
+ return true; // "always"
68
+ }
69
+ // Predicted rendered height of a single table row. A cell is a Text with
70
+ // lineHeight=1 (see elements.tsx), so its rendered height ≈ fontSize plus the
71
+ // font's metric overshoot, plus vertical padding on both sides and the row
72
+ // border. Matched against actual @react-pdf output (~18–19pt at fontSize 10,
73
+ // padding 4). The 1.15 factor + 1pt margin keep this a slight over-estimate so
74
+ // page-splitting and reflow never under-shoot (which would re-introduce overlap).
75
+ function estimateRowH(el) {
76
+ const fontSize = el.style?.fontSize ?? 10;
77
+ const padding = el.style?.padding ?? 4;
78
+ const border = el.style?.borderWidth ?? 0.5;
79
+ return Math.ceil(fontSize * 1.15 + padding * 2 + border) + 1;
80
+ }
81
+ function tableRows(el, data) {
82
+ return (el.previewRows
83
+ ?? resolveArray(el.dataSource, data));
84
+ }
85
+ // Predicted rendered height of a table: header row + one row per data row.
86
+ function estimateTableH(el, data) {
87
+ const rowH = estimateRowH(el);
88
+ return rowH * (1 + tableRows(el, data).length);
89
+ }
90
+ function textFontSize(el) { return el.style?.fontSize ?? 12; }
91
+ // Rendered line pitch. Measured from @react-pdf output to be exactly
92
+ // fontSize × lineHeight (no metric overshoot), so use it as-is — floor() in the
93
+ // page-fill math already leaves sub-line slack for the last line's descender.
94
+ function textLineH(el) {
95
+ return textFontSize(el) * (el.style?.lineHeight ?? 1.2);
96
+ }
97
+ // Word-wrap plain-text content into display lines, measuring real widths so the
98
+ // breaks match what actually renders (full width, and page chunks fill the page).
99
+ // Over-long single words are hard-broken so a line never exceeds the box width.
100
+ function wrapText(content, width, fontSize, fontFamily, letterSpacing = 0) {
101
+ const spaceW = measureText(" ", fontSize, fontFamily, false, letterSpacing);
102
+ const out = [];
103
+ for (const para of content.split("\n")) {
104
+ let line = "", lineW = 0;
105
+ const flush = () => { out.push(line); line = ""; lineW = 0; };
106
+ for (const word of para.split(/\s+/)) {
107
+ if (!word)
108
+ continue;
109
+ if (measureText(word, fontSize, fontFamily, false, letterSpacing) > width) { // hard-break a long word
110
+ if (line)
111
+ flush();
112
+ let txt = word;
113
+ while (txt.length > 0) {
114
+ let i = 0, w = 0;
115
+ while (i < txt.length) {
116
+ const cw = measureText(txt[i], fontSize, fontFamily, false, letterSpacing);
117
+ if (w + cw > width && i > 0)
118
+ break;
119
+ w += cw;
120
+ i++;
121
+ }
122
+ line = txt.slice(0, i);
123
+ lineW = w;
124
+ txt = txt.slice(i);
125
+ if (txt.length > 0)
126
+ flush();
127
+ }
128
+ continue;
129
+ }
130
+ const ww = measureText(word, fontSize, fontFamily, false, letterSpacing);
131
+ if (line && lineW + spaceW + ww > width)
132
+ flush();
133
+ if (line) {
134
+ line += ` ${word}`;
135
+ lineW += spaceW + ww;
136
+ }
137
+ else {
138
+ line = word;
139
+ lineW = ww;
140
+ }
141
+ }
142
+ out.push(line);
143
+ }
144
+ return out;
145
+ }
146
+ function cap(el, n) {
147
+ return el.maxLines && el.maxLines > 0 ? Math.min(n, el.maxLines) : n;
148
+ }
149
+ // Plain-text element → wrapped string lines (capped at maxLines).
150
+ function textLines(el, data) {
151
+ const content = String(evaluate(el.content, data) ?? "");
152
+ const lines = wrapText(content, el.width, textFontSize(el), el.style?.fontFamily, el.style?.letterSpacing ?? 0);
153
+ return el.maxLines && el.maxLines > 0 ? lines.slice(0, el.maxLines) : lines;
154
+ }
155
+ // Richtext element → soft-wrapped lines (capped at maxLines). Used to find
156
+ // page-split boundaries; the renderer re-flows each chunk to full width.
157
+ function richLines(el, data) {
158
+ const html = String(evaluate(el.content, data) ?? "");
159
+ const lines = wrapRichText(parseRichText(html), el.width, textFontSize(el), el.style?.fontFamily, el.style?.letterSpacing ?? 0);
160
+ return el.maxLines && el.maxLines > 0 ? lines.slice(0, el.maxLines) : lines;
161
+ }
162
+ // Wrapped-line count, measured to match the real render — used for both the
163
+ // page-split decision and the reflow height estimate, so pages fill to the
164
+ // bottom and stacked auto-grow blocks sit flush.
165
+ function lineCount(el, data) {
166
+ return el.type === "richtext" ? richLines(el, data).length : textLines(el, data).length;
167
+ }
168
+ // Predicted rendered height of a text/richtext element (capped at maxLines).
169
+ function estimateTextH(el, data) {
170
+ return Math.ceil(lineCount(el, data) * textLineH(el));
171
+ }
172
+ // How much taller an element renders than its declared height (≥ 0). This is the
173
+ // amount the reflow pass must push subsequent elements down by. Only growable
174
+ // elements — tables and "show all lines" text — can overflow their box.
175
+ function overflowOf(el, data) {
176
+ if (el.type === "table") {
177
+ return Math.max(0, estimateTableH(el, data) - el.height);
178
+ }
179
+ if (el.type === "text" || el.type === "richtext") {
180
+ return Math.max(0, estimateTextH(el, data) - el.height);
181
+ }
182
+ return 0;
183
+ }
184
+ // Vertical reflow into ONE continuous tall canvas. Body elements are positioned
185
+ // at design-time y, but content-driven elements — a dataSource-bound table or a
186
+ // "show all lines" text block — render as tall as their actual content. We walk
187
+ // elements top-to-bottom and push everything below a grown element down by its
188
+ // overflow (so designed gaps are preserved and nothing overlaps); a manual
189
+ // pagebreak pushes following content to the next page boundary. The result is a
190
+ // single canvas taller than one page, which buildPageSlices then slices into
191
+ // page-height bands.
192
+ function reflowElements(elements, data, band) {
193
+ const order = elements
194
+ .map((el, i) => ({ el, i }))
195
+ .sort((a, b) => (a.el.y - b.el.y) || (a.i - b.i));
196
+ let shift = 0;
197
+ const newY = new Map();
198
+ for (const { el } of order) {
199
+ const y = el.y + shift;
200
+ newY.set(el.id, y);
201
+ if (el.type === "pagebreak") {
202
+ // Advance following content to the top of the next page.
203
+ shift += band.start(band.pageOf(y) + 1) - y;
204
+ }
205
+ else {
206
+ shift += overflowOf(el, data); // only push down — never pull content upward
207
+ }
208
+ }
209
+ return elements.map((el) => ({ ...el, y: newY.get(el.id) ?? el.y }));
210
+ }
211
+ // Slice the continuous (reflowed) canvas into page bands. Each element is emitted
212
+ // onto the page(s) its content occupies; splittable content — text, richtext,
213
+ // tables — is broken exactly at page boundaries so pages fill to the bottom and
214
+ // content flows on without blank gaps. Bands may differ in height (e.g. a header
215
+ // hidden on later pages frees that space). Elements keep their absolute canvas y;
216
+ // each page subtracts its band start (yOffset) at render time.
217
+ function buildPageSlices(elements, data, band) {
218
+ const byPage = new Map();
219
+ let maxPage = 0;
220
+ const put = (p, el) => {
221
+ maxPage = Math.max(maxPage, p);
222
+ const arr = byPage.get(p);
223
+ if (arr)
224
+ arr.push(el);
225
+ else
226
+ byPage.set(p, [el]);
227
+ };
228
+ const bandBottomOf = (p) => band.start(p) + band.height(p);
229
+ for (const el of elements) {
230
+ if (el.type === "pagebreak")
231
+ continue;
232
+ if (el.type === "text" || el.type === "richtext") {
233
+ const txt = el;
234
+ // maxLines-capped text is bounded by design — place it whole on its band.
235
+ if (txt.maxLines && txt.maxLines > 0) {
236
+ put(band.pageOf(txt.y), el);
237
+ continue;
238
+ }
239
+ const lineH = textLineH(txt);
240
+ const isRich = el.type === "richtext";
241
+ const rlines = isRich ? richLines(txt, data) : null;
242
+ const plines = isRich ? null : textLines(txt, data);
243
+ const n = isRich ? rlines.length : plines.length;
244
+ // Group consecutive lines that fall within the same page band.
245
+ let i = 0;
246
+ while (i < n) {
247
+ const p = band.pageOf(txt.y + i * lineH);
248
+ const bandBottom = bandBottomOf(p);
249
+ let j = i;
250
+ while (j < n && txt.y + (j + 1) * lineH <= bandBottom + 0.5)
251
+ j++;
252
+ if (j === i)
253
+ j = i + 1; // always make progress
254
+ const chunkY = txt.y + i * lineH;
255
+ // For justified plain text, join with a space so the PDF engine can
256
+ // re-flow the chunk naturally and apply inter-word spacing. A "\n" join
257
+ // turns every soft-wrap into a hard break, which the engine won't justify.
258
+ const joinSep = (!isRich && txt.style?.textAlign === "justify") ? " " : "\n";
259
+ put(p, isRich
260
+ ? { ...txt, y: chunkY, previewLines: rlines.slice(i, j) }
261
+ : { ...txt, y: chunkY, content: plines.slice(i, j).join(joinSep) });
262
+ i = j;
263
+ }
264
+ continue;
265
+ }
266
+ if (el.type === "table") {
267
+ const tbl = el;
268
+ const rows = tableRows(tbl, data);
269
+ if (rows.length === 0) {
270
+ put(band.pageOf(tbl.y), el);
271
+ continue;
272
+ }
273
+ const rowH = estimateRowH(tbl);
274
+ const hdrH = rowH; // header row repeats atop each continuation
275
+ let i = 0;
276
+ let startY = tbl.y;
277
+ while (i < rows.length) {
278
+ const p = band.pageOf(startY);
279
+ const avail = bandBottomOf(p) - startY;
280
+ const fit = Math.max(1, Math.floor((avail - hdrH) / rowH));
281
+ put(p, { ...tbl, y: startY, previewRows: rows.slice(i, i + fit) });
282
+ i += fit;
283
+ startY = bandBottomOf(p); // continuation starts at the next band top
284
+ }
285
+ continue;
286
+ }
287
+ // Non-splittable element (image, chart, rect, line, qr, barcode): place it on
288
+ // the band of its top edge.
289
+ put(band.pageOf(el.y), el);
290
+ }
291
+ const pages = [];
292
+ for (let p = 0; p <= maxPage; p++) {
293
+ pages.push({ els: byPage.get(p) ?? [], yOffset: band.start(p) });
294
+ }
295
+ return pages;
296
+ }
297
+ export function ReportDocument({ template, data }) {
298
+ const pageConfig = template.page ?? {};
299
+ const size = pageConfig.size ?? "A4";
300
+ const orientation = pageConfig.orientation ?? "portrait";
301
+ const margin = pageConfig.margin ?? { top: 20, right: 20, bottom: 20, left: 20 };
302
+ const [cw, ch] = CANVAS_SIZES[size] ?? CANVAS_SIZES["A4"];
303
+ const [pw, ph] = orientation === "landscape" ? [ch, cw] : [cw, ch];
304
+ const pageWidth = pw;
305
+ // Output pages are always the selected size. A larger `customHeight` is a taller
306
+ // DESIGN canvas (where elements can be placed past page one); that tall content
307
+ // paginates into pages of the selected size rather than becoming one giant page.
308
+ const pageHeight = ph;
309
+ const headerEnabled = template.header?.enabled !== false;
310
+ const footerEnabled = template.footer?.enabled !== false;
311
+ const headerH = headerEnabled ? (template.header?.height ?? DEFAULT_HEADER_H) : 0;
312
+ const footerH = footerEnabled ? (template.footer?.height ?? DEFAULT_FOOTER_H) : 0;
313
+ const contentW = pageWidth - margin.left - margin.right;
314
+ const headerEls = template.header?.elements ?? [];
315
+ const footerEls = template.footer?.elements ?? [];
316
+ const headerDisplay = template.header?.display ?? "always";
317
+ const footerDisplay = template.footer?.display ?? "always";
318
+ // Whether a header/footer with the given display setting shows on page `i`.
319
+ const headerShownOn = (i) => headerEnabled && showsBand(headerDisplay, i);
320
+ const footerShownOn = (i) => footerEnabled && showsBand(footerDisplay, i);
321
+ // Usable body height per page — pages that hide the header and/or footer get
322
+ // that space back. Display rules only single out page 0, so there are two
323
+ // distinct heights (page 0 vs the rest); build the band geometry from them.
324
+ const bodyHAt = (i) => Math.max(1, pageHeight - margin.top - margin.bottom
325
+ - (headerShownOn(i) ? headerH : 0)
326
+ - (footerShownOn(i) ? footerH : 0));
327
+ const H0 = bodyHAt(0);
328
+ const Hrest = bodyHAt(1);
329
+ const band = {
330
+ height: (p) => (p <= 0 ? H0 : Hrest),
331
+ start: (p) => (p <= 0 ? 0 : H0 + (p - 1) * Hrest),
332
+ pageOf: (y) => (y < H0 ? 0 : 1 + Math.floor((y - H0) / Hrest)),
333
+ };
334
+ const bodyEls = reflowElements(template.body.elements, data, band);
335
+ const pages = buildPageSlices(bodyEls, data, band);
336
+ const wm = pageConfig.watermark;
337
+ const wmText = (wm?.text ?? "").trim();
338
+ const wmOn = (wm?.enabled ?? false) && wmText.length > 0;
339
+ // Use an absolutely positioned content wrapper instead of page padding so
340
+ // all four margins are applied consistently by the PDF engine (page-level
341
+ // padding in @react-pdf/renderer can be unreliable for left/bottom edges).
342
+ const contentInset = {
343
+ position: "absolute",
344
+ top: margin.top,
345
+ left: margin.left,
346
+ right: margin.right,
347
+ bottom: margin.bottom,
348
+ flexDirection: "column",
349
+ };
350
+ return (_jsx(Document, { children: pages.map(({ els, yOffset }, i) => (_jsxs(Page, { size: [pageWidth, pageHeight], children: [_jsxs(View, { style: contentInset, children: [headerShownOn(i) && (_jsx(View, { style: { width: contentW, height: headerH, position: "relative", flexShrink: 0 }, children: headerEls.map((el) => renderElement(el, data)) })), _jsx(View, { style: { width: contentW, height: band.height(i), position: "relative", flexShrink: 0 }, children: els.map((el) => renderElement(el, data, yOffset)) }), footerShownOn(i) && (_jsx(View, { style: { width: contentW, height: footerH, position: "relative", flexShrink: 0 }, children: footerEls.map((el) => renderElement(el, data)) }))] }), wmOn && renderWatermark(wm, pageWidth, pageHeight)] }, i))) }));
351
+ }
352
+ //# sourceMappingURL=document.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../src/document.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ import type { ReportElement } from "@veztraa/report-core";
3
+ type Data = Record<string, unknown>;
4
+ export declare function renderElement(el: ReportElement, data: Data, yOffset?: number): React.ReactNode;
5
+ export {};
6
+ //# sourceMappingURL=elements.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elements.d.ts","sourceRoot":"","sources":["../src/elements.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EACV,aAAa,EACd,MAAM,sBAAsB,CAAC;AAI9B,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AA8SpC,wBAAgB,aAAa,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,SAAI,GAAG,KAAK,CAAC,SAAS,CA6UzF"}