av6-pdf-engine 1.0.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.
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/renderer-engine/blocks/barcode.d.ts +3 -0
- package/dist/renderer-engine/blocks/barcode.d.ts.map +1 -0
- package/dist/renderer-engine/blocks/barcode.js +47 -0
- package/dist/renderer-engine/blocks/barcode.js.map +1 -0
- package/dist/renderer-engine/blocks/columns.d.ts +3 -0
- package/dist/renderer-engine/blocks/columns.d.ts.map +1 -0
- package/dist/renderer-engine/blocks/columns.js +105 -0
- package/dist/renderer-engine/blocks/columns.js.map +1 -0
- package/dist/renderer-engine/blocks/image.d.ts +4 -0
- package/dist/renderer-engine/blocks/image.d.ts.map +1 -0
- package/dist/renderer-engine/blocks/image.js +57 -0
- package/dist/renderer-engine/blocks/image.js.map +1 -0
- package/dist/renderer-engine/blocks/index.d.ts +8 -0
- package/dist/renderer-engine/blocks/index.d.ts.map +1 -0
- package/dist/renderer-engine/blocks/index.js +24 -0
- package/dist/renderer-engine/blocks/index.js.map +1 -0
- package/dist/renderer-engine/blocks/key-value-grid.d.ts +3 -0
- package/dist/renderer-engine/blocks/key-value-grid.d.ts.map +1 -0
- package/dist/renderer-engine/blocks/key-value-grid.js +245 -0
- package/dist/renderer-engine/blocks/key-value-grid.js.map +1 -0
- package/dist/renderer-engine/blocks/line.d.ts +3 -0
- package/dist/renderer-engine/blocks/line.d.ts.map +1 -0
- package/dist/renderer-engine/blocks/line.js +35 -0
- package/dist/renderer-engine/blocks/line.js.map +1 -0
- package/dist/renderer-engine/blocks/table.d.ts +4 -0
- package/dist/renderer-engine/blocks/table.d.ts.map +1 -0
- package/dist/renderer-engine/blocks/table.js +201 -0
- package/dist/renderer-engine/blocks/table.js.map +1 -0
- package/dist/renderer-engine/blocks/text.d.ts +3 -0
- package/dist/renderer-engine/blocks/text.d.ts.map +1 -0
- package/dist/renderer-engine/blocks/text.js +52 -0
- package/dist/renderer-engine/blocks/text.js.map +1 -0
- package/dist/renderer-engine/index.d.ts +4 -0
- package/dist/renderer-engine/index.d.ts.map +1 -0
- package/dist/renderer-engine/index.js +215 -0
- package/dist/renderer-engine/index.js.map +1 -0
- package/dist/renderer-engine/utils/block-renderer.d.ts +17 -0
- package/dist/renderer-engine/utils/block-renderer.d.ts.map +1 -0
- package/dist/renderer-engine/utils/block-renderer.js +86 -0
- package/dist/renderer-engine/utils/block-renderer.js.map +1 -0
- package/dist/renderer-engine/utils/context.d.ts +3 -0
- package/dist/renderer-engine/utils/context.d.ts.map +1 -0
- package/dist/renderer-engine/utils/context.js +16 -0
- package/dist/renderer-engine/utils/context.js.map +1 -0
- package/dist/renderer-engine/utils/ensure-space.d.ts +9 -0
- package/dist/renderer-engine/utils/ensure-space.d.ts.map +1 -0
- package/dist/renderer-engine/utils/ensure-space.js +18 -0
- package/dist/renderer-engine/utils/ensure-space.js.map +1 -0
- package/dist/renderer-engine/utils/env.d.ts +3 -0
- package/dist/renderer-engine/utils/env.d.ts.map +1 -0
- package/dist/renderer-engine/utils/env.js +10 -0
- package/dist/renderer-engine/utils/env.js.map +1 -0
- package/dist/renderer-engine/utils/finish-page.d.ts +13 -0
- package/dist/renderer-engine/utils/finish-page.d.ts.map +1 -0
- package/dist/renderer-engine/utils/finish-page.js +27 -0
- package/dist/renderer-engine/utils/finish-page.js.map +1 -0
- package/dist/renderer-engine/utils/footer.d.ts +3 -0
- package/dist/renderer-engine/utils/footer.d.ts.map +1 -0
- package/dist/renderer-engine/utils/footer.js +89 -0
- package/dist/renderer-engine/utils/footer.js.map +1 -0
- package/dist/renderer-engine/utils/header.d.ts +3 -0
- package/dist/renderer-engine/utils/header.d.ts.map +1 -0
- package/dist/renderer-engine/utils/header.js +47 -0
- package/dist/renderer-engine/utils/header.js.map +1 -0
- package/dist/renderer-engine/utils/image-loader.d.ts +4 -0
- package/dist/renderer-engine/utils/image-loader.d.ts.map +1 -0
- package/dist/renderer-engine/utils/image-loader.js +52 -0
- package/dist/renderer-engine/utils/image-loader.js.map +1 -0
- package/dist/renderer-engine/utils/index.d.ts +19 -0
- package/dist/renderer-engine/utils/index.d.ts.map +1 -0
- package/dist/renderer-engine/utils/index.js +35 -0
- package/dist/renderer-engine/utils/index.js.map +1 -0
- package/dist/renderer-engine/utils/layout.d.ts +8 -0
- package/dist/renderer-engine/utils/layout.d.ts.map +1 -0
- package/dist/renderer-engine/utils/layout.js +22 -0
- package/dist/renderer-engine/utils/layout.js.map +1 -0
- package/dist/renderer-engine/utils/measure-block-height.d.ts +8 -0
- package/dist/renderer-engine/utils/measure-block-height.d.ts.map +1 -0
- package/dist/renderer-engine/utils/measure-block-height.js +220 -0
- package/dist/renderer-engine/utils/measure-block-height.js.map +1 -0
- package/dist/renderer-engine/utils/page-background.d.ts +6 -0
- package/dist/renderer-engine/utils/page-background.d.ts.map +1 -0
- package/dist/renderer-engine/utils/page-background.js +30 -0
- package/dist/renderer-engine/utils/page-background.js.map +1 -0
- package/dist/renderer-engine/utils/page-flow.d.ts +3 -0
- package/dist/renderer-engine/utils/page-flow.d.ts.map +1 -0
- package/dist/renderer-engine/utils/page-flow.js +9 -0
- package/dist/renderer-engine/utils/page-flow.js.map +1 -0
- package/dist/renderer-engine/utils/page-limit.d.ts +8 -0
- package/dist/renderer-engine/utils/page-limit.d.ts.map +1 -0
- package/dist/renderer-engine/utils/page-limit.js +15 -0
- package/dist/renderer-engine/utils/page-limit.js.map +1 -0
- package/dist/renderer-engine/utils/qr-bar-code.d.ts +17 -0
- package/dist/renderer-engine/utils/qr-bar-code.d.ts.map +1 -0
- package/dist/renderer-engine/utils/qr-bar-code.js +141 -0
- package/dist/renderer-engine/utils/qr-bar-code.js.map +1 -0
- package/dist/renderer-engine/utils/signature.d.ts +20 -0
- package/dist/renderer-engine/utils/signature.d.ts.map +1 -0
- package/dist/renderer-engine/utils/signature.js +214 -0
- package/dist/renderer-engine/utils/signature.js.map +1 -0
- package/dist/renderer-engine/utils/start-page-layout.d.ts +20 -0
- package/dist/renderer-engine/utils/start-page-layout.d.ts.map +1 -0
- package/dist/renderer-engine/utils/start-page-layout.js +34 -0
- package/dist/renderer-engine/utils/start-page-layout.js.map +1 -0
- package/dist/renderer-engine/utils/styles.d.ts +7 -0
- package/dist/renderer-engine/utils/styles.d.ts.map +1 -0
- package/dist/renderer-engine/utils/styles.js +124 -0
- package/dist/renderer-engine/utils/styles.js.map +1 -0
- package/dist/renderer-engine/utils/watermark.d.ts +11 -0
- package/dist/renderer-engine/utils/watermark.d.ts.map +1 -0
- package/dist/renderer-engine/utils/watermark.js +57 -0
- package/dist/renderer-engine/utils/watermark.js.map +1 -0
- package/dist/types/barcode.d.ts +23 -0
- package/dist/types/barcode.d.ts.map +1 -0
- package/dist/types/barcode.js +11 -0
- package/dist/types/barcode.js.map +1 -0
- package/dist/types/columns.d.ts +14 -0
- package/dist/types/columns.d.ts.map +1 -0
- package/dist/types/columns.js +3 -0
- package/dist/types/columns.js.map +1 -0
- package/dist/types/common.d.ts +102 -0
- package/dist/types/common.d.ts.map +1 -0
- package/dist/types/common.js +3 -0
- package/dist/types/common.js.map +1 -0
- package/dist/types/context.d.ts +17 -0
- package/dist/types/context.d.ts.map +1 -0
- package/dist/types/context.js +3 -0
- package/dist/types/context.js.map +1 -0
- package/dist/types/image.d.ts +13 -0
- package/dist/types/image.d.ts.map +1 -0
- package/dist/types/image.js +3 -0
- package/dist/types/image.js.map +1 -0
- package/dist/types/index.d.ts +13 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +29 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/key-value-grid.d.ts +34 -0
- package/dist/types/key-value-grid.d.ts.map +1 -0
- package/dist/types/key-value-grid.js +3 -0
- package/dist/types/key-value-grid.js.map +1 -0
- package/dist/types/line.d.ts +11 -0
- package/dist/types/line.d.ts.map +1 -0
- package/dist/types/line.js +3 -0
- package/dist/types/line.js.map +1 -0
- package/dist/types/page-break.d.ts +5 -0
- package/dist/types/page-break.d.ts.map +1 -0
- package/dist/types/page-break.js +3 -0
- package/dist/types/page-break.js.map +1 -0
- package/dist/types/qr.d.ts +22 -0
- package/dist/types/qr.d.ts.map +1 -0
- package/dist/types/qr.js +10 -0
- package/dist/types/qr.js.map +1 -0
- package/dist/types/signature.d.ts +12 -0
- package/dist/types/signature.d.ts.map +1 -0
- package/dist/types/signature.js +3 -0
- package/dist/types/signature.js.map +1 -0
- package/dist/types/table.d.ts +32 -0
- package/dist/types/table.d.ts.map +1 -0
- package/dist/types/table.js +3 -0
- package/dist/types/table.js.map +1 -0
- package/dist/types/text.d.ts +19 -0
- package/dist/types/text.d.ts.map +1 -0
- package/dist/types/text.js +3 -0
- package/dist/types/text.js.map +1 -0
- package/dist/types/utility.d.ts +1 -0
- package/dist/types/utility.d.ts.map +1 -0
- package/dist/types/utility.js +2 -0
- package/dist/types/utility.js.map +1 -0
- package/package.json +42 -0
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createMeasureBlockHeight = createMeasureBlockHeight;
|
|
4
|
+
const table_1 = require("../blocks/table");
|
|
5
|
+
const styles_1 = require("./styles");
|
|
6
|
+
function createMeasureBlockHeight(deps) {
|
|
7
|
+
const { doc, styles, computeColumnPixelWidths } = deps;
|
|
8
|
+
const measureText = (b, env) => {
|
|
9
|
+
var _a, _b, _c;
|
|
10
|
+
const tb = (0, styles_1.resolveTextBlock)(styles, b);
|
|
11
|
+
// TextBlock doesn't have marginLeft/right, so use full env width
|
|
12
|
+
const width = Math.max(env.innerWidth, 1);
|
|
13
|
+
doc.font((0, styles_1.getFontNameForText)(tb));
|
|
14
|
+
doc.fontSize((_a = tb.fontSize) !== null && _a !== void 0 ? _a : 10);
|
|
15
|
+
const h = doc.heightOfString((_b = tb.text) !== null && _b !== void 0 ? _b : "", { width });
|
|
16
|
+
// Whatever you use in processTextBlock (keep consistent)
|
|
17
|
+
const gap = (_c = tb.lineGap) !== null && _c !== void 0 ? _c : 4;
|
|
18
|
+
return h + gap;
|
|
19
|
+
};
|
|
20
|
+
const measureImageLike = (mt, mb, h) => (mt !== null && mt !== void 0 ? mt : 0) + h + (mb !== null && mb !== void 0 ? mb : 0);
|
|
21
|
+
const measureImage = (b) => {
|
|
22
|
+
var _a;
|
|
23
|
+
const h = (_a = b.height) !== null && _a !== void 0 ? _a : 50; // fallback; if you want, improve using aspect ratio later
|
|
24
|
+
return measureImageLike(b.marginTop, b.marginBottom, h);
|
|
25
|
+
};
|
|
26
|
+
const measureQr = (b) => {
|
|
27
|
+
var _a;
|
|
28
|
+
const size = (_a = b.size) !== null && _a !== void 0 ? _a : 80;
|
|
29
|
+
return measureImageLike(b.marginTop, b.marginBottom, size);
|
|
30
|
+
};
|
|
31
|
+
const measureBarcode = (b) => {
|
|
32
|
+
var _a;
|
|
33
|
+
const h = (_a = b.height) !== null && _a !== void 0 ? _a : 40;
|
|
34
|
+
return measureImageLike(b.marginTop, b.marginBottom, h);
|
|
35
|
+
};
|
|
36
|
+
const measureLine = (b) => {
|
|
37
|
+
var _a, _b, _c;
|
|
38
|
+
const lw = (_a = b.lineWidth) !== null && _a !== void 0 ? _a : 1;
|
|
39
|
+
const mt = (_b = b.marginTop) !== null && _b !== void 0 ? _b : 0;
|
|
40
|
+
const mb = (_c = b.marginBottom) !== null && _c !== void 0 ? _c : 0;
|
|
41
|
+
return mt + lw + mb;
|
|
42
|
+
};
|
|
43
|
+
const measureTable = (b, env) => {
|
|
44
|
+
var _a, _b, _c, _d;
|
|
45
|
+
const mt = (_a = b.marginTop) !== null && _a !== void 0 ? _a : 0;
|
|
46
|
+
const mb = (_b = b.marginBottom) !== null && _b !== void 0 ? _b : 0;
|
|
47
|
+
const ml = (_c = b.marginLeft) !== null && _c !== void 0 ? _c : 0;
|
|
48
|
+
const mr = (_d = b.marginRight) !== null && _d !== void 0 ? _d : 0;
|
|
49
|
+
const innerWidth = Math.max(env.innerWidth - ml - mr, 1);
|
|
50
|
+
const fakeEnv = {
|
|
51
|
+
marginLeft: 0,
|
|
52
|
+
innerWidth,
|
|
53
|
+
allowPageBreak: false,
|
|
54
|
+
};
|
|
55
|
+
const h = (0, table_1.measureTableHeight)(doc, b, fakeEnv, styles, computeColumnPixelWidths);
|
|
56
|
+
return mt + h + mb;
|
|
57
|
+
};
|
|
58
|
+
const measureColumns = (b, env) => {
|
|
59
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
60
|
+
const mt = (_a = b.marginTop) !== null && _a !== void 0 ? _a : 0;
|
|
61
|
+
const mb = (_b = b.marginBottom) !== null && _b !== void 0 ? _b : 0;
|
|
62
|
+
const blockLeft = (_c = b.marginLeft) !== null && _c !== void 0 ? _c : 0;
|
|
63
|
+
const blockRight = (_d = b.marginRight) !== null && _d !== void 0 ? _d : 0;
|
|
64
|
+
const totalWidth = Math.max(env.innerWidth - blockLeft - blockRight, 1);
|
|
65
|
+
const cols = (_e = b.columns) !== null && _e !== void 0 ? _e : [];
|
|
66
|
+
const n = cols.length;
|
|
67
|
+
if (!n)
|
|
68
|
+
return mt + mb;
|
|
69
|
+
let colWidths;
|
|
70
|
+
const mode = (_f = b.mode) !== null && _f !== void 0 ? _f : "fixedGap";
|
|
71
|
+
let gap;
|
|
72
|
+
if (mode === "spaceBetween" && n > 1) {
|
|
73
|
+
if (b.widths && b.widths.length === n) {
|
|
74
|
+
colWidths = computeColumnPixelWidths(b.widths, totalWidth);
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
colWidths = Array(n).fill(totalWidth / n);
|
|
78
|
+
}
|
|
79
|
+
const totalColsWidth = colWidths.reduce((a, x) => a + x, 0);
|
|
80
|
+
const remaining = Math.max(totalWidth - totalColsWidth, 0);
|
|
81
|
+
gap = remaining / (n - 1);
|
|
82
|
+
void gap; // gap doesn't affect height
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
gap = (_g = b.gap) !== null && _g !== void 0 ? _g : 20;
|
|
86
|
+
const totalGapsWidth = gap * (n - 1);
|
|
87
|
+
const widthForCols = Math.max(totalWidth - totalGapsWidth, 1);
|
|
88
|
+
if (b.widths && b.widths.length === n) {
|
|
89
|
+
colWidths = computeColumnPixelWidths(b.widths, widthForCols);
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
colWidths = Array(n).fill(widthForCols / n);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
const heights = [];
|
|
96
|
+
for (let i = 0; i < n; i++) {
|
|
97
|
+
const colBlocks = (_h = cols[i]) !== null && _h !== void 0 ? _h : [];
|
|
98
|
+
const colEnv = {
|
|
99
|
+
marginLeft: 0,
|
|
100
|
+
innerWidth: colWidths[i],
|
|
101
|
+
allowPageBreak: false,
|
|
102
|
+
};
|
|
103
|
+
let colH = 0;
|
|
104
|
+
for (const child of colBlocks) {
|
|
105
|
+
if (!child || child.visible === false)
|
|
106
|
+
continue;
|
|
107
|
+
colH += measure(child, colEnv);
|
|
108
|
+
}
|
|
109
|
+
heights.push(colH);
|
|
110
|
+
}
|
|
111
|
+
const maxH = Math.max(...heights, 0);
|
|
112
|
+
return mt + maxH + mb;
|
|
113
|
+
};
|
|
114
|
+
const measureKeyValueGrid = (b, env) => {
|
|
115
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
116
|
+
const mt = (_a = b.marginTop) !== null && _a !== void 0 ? _a : 0;
|
|
117
|
+
const mb = (_b = b.marginBottom) !== null && _b !== void 0 ? _b : 0;
|
|
118
|
+
const rowGap = (_c = b.rowGap) !== null && _c !== void 0 ? _c : 4;
|
|
119
|
+
const orientation = (_d = b.orientation) !== null && _d !== void 0 ? _d : "horizontal";
|
|
120
|
+
const cols = (_e = b.columns) !== null && _e !== void 0 ? _e : [];
|
|
121
|
+
const colCount = cols.length;
|
|
122
|
+
if (!colCount)
|
|
123
|
+
return mt + mb;
|
|
124
|
+
const blockLeft = (_f = b.marginLeft) !== null && _f !== void 0 ? _f : 0;
|
|
125
|
+
const blockRight = (_g = b.marginRight) !== null && _g !== void 0 ? _g : 0;
|
|
126
|
+
const totalWidth = Math.max(env.innerWidth - blockLeft - blockRight, 1);
|
|
127
|
+
let colWidths;
|
|
128
|
+
if (b.columnWidths && b.columnWidths.length === colCount) {
|
|
129
|
+
const safe = b.columnWidths.map((w) => (w === undefined ? "*" : w));
|
|
130
|
+
colWidths = computeColumnPixelWidths(safe, totalWidth);
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
colWidths = Array(colCount).fill(totalWidth / colCount);
|
|
134
|
+
}
|
|
135
|
+
const separatorText = b.separator;
|
|
136
|
+
const sepBoxWidth = separatorText ? 10 : 0;
|
|
137
|
+
const baseKeyWidthRatio = 0.35;
|
|
138
|
+
const measureKVText = (tb, width) => {
|
|
139
|
+
var _a, _b;
|
|
140
|
+
const r = (0, styles_1.resolveTextBlock)(styles, tb);
|
|
141
|
+
const fontName = (0, styles_1.getFontNameForText)(r);
|
|
142
|
+
doc.font(fontName);
|
|
143
|
+
doc.fontSize((_a = r.fontSize) !== null && _a !== void 0 ? _a : 10);
|
|
144
|
+
return doc.heightOfString((_b = r.text) !== null && _b !== void 0 ? _b : "", { width });
|
|
145
|
+
};
|
|
146
|
+
let totalHeight = mt;
|
|
147
|
+
if (orientation === "vertical") {
|
|
148
|
+
const keyValueGap = (_h = b.verticalKeyValueGap) !== null && _h !== void 0 ? _h : 2;
|
|
149
|
+
let maxColHeight = 0;
|
|
150
|
+
for (let colIndex = 0; colIndex < colCount; colIndex++) {
|
|
151
|
+
const col = (_j = cols[colIndex]) !== null && _j !== void 0 ? _j : [];
|
|
152
|
+
const colWidth = colWidths[colIndex];
|
|
153
|
+
let colHeight = 0;
|
|
154
|
+
for (const item of col) {
|
|
155
|
+
const keyH = measureKVText({ type: "text", text: (_k = item.key) !== null && _k !== void 0 ? _k : "" }, colWidth);
|
|
156
|
+
const valH = measureKVText({ type: "text", text: (_l = item.value) !== null && _l !== void 0 ? _l : "" }, colWidth);
|
|
157
|
+
colHeight += keyH + keyValueGap + valH + rowGap;
|
|
158
|
+
}
|
|
159
|
+
if (colHeight > maxColHeight)
|
|
160
|
+
maxColHeight = colHeight;
|
|
161
|
+
}
|
|
162
|
+
totalHeight += maxColHeight;
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
const maxRows = Math.max(...cols.map((c) => (c ? c.length : 0)), 0);
|
|
166
|
+
for (let rowIndex = 0; rowIndex < maxRows; rowIndex++) {
|
|
167
|
+
let rowHeight = 0;
|
|
168
|
+
for (let colIndex = 0; colIndex < colCount; colIndex++) {
|
|
169
|
+
const item = (_m = cols[colIndex]) === null || _m === void 0 ? void 0 : _m[rowIndex];
|
|
170
|
+
if (!item)
|
|
171
|
+
continue;
|
|
172
|
+
const colWidth = colWidths[colIndex];
|
|
173
|
+
const keyWidthPx = b.keyWidth === "*"
|
|
174
|
+
? Math.max(colWidth * baseKeyWidthRatio, 20)
|
|
175
|
+
: (_o = b.keyWidth) !== null && _o !== void 0 ? _o : 80;
|
|
176
|
+
const keyH = measureKVText({ type: "text", text: (_p = item.key) !== null && _p !== void 0 ? _p : "" }, keyWidthPx);
|
|
177
|
+
const valueXInsideCol = keyWidthPx + (separatorText ? sepBoxWidth + 4 : 4);
|
|
178
|
+
const valueWidth = Math.max(colWidth - valueXInsideCol, 1);
|
|
179
|
+
const valH = measureKVText({ type: "text", text: (_q = item.value) !== null && _q !== void 0 ? _q : "" }, valueWidth);
|
|
180
|
+
rowHeight = Math.max(rowHeight, Math.max(keyH, valH));
|
|
181
|
+
}
|
|
182
|
+
if (rowHeight > 0)
|
|
183
|
+
totalHeight += rowHeight + rowGap;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
totalHeight += mb;
|
|
187
|
+
return totalHeight;
|
|
188
|
+
};
|
|
189
|
+
const measure = (block, env) => {
|
|
190
|
+
var _a;
|
|
191
|
+
if (!block || block.visible === false)
|
|
192
|
+
return 0;
|
|
193
|
+
switch (block.type) {
|
|
194
|
+
case "text":
|
|
195
|
+
return measureText(block, env);
|
|
196
|
+
case "image":
|
|
197
|
+
return measureImage(block);
|
|
198
|
+
case "qr":
|
|
199
|
+
return measureQr(block);
|
|
200
|
+
case "barcode":
|
|
201
|
+
return measureBarcode(block);
|
|
202
|
+
case "line":
|
|
203
|
+
return measureLine(block);
|
|
204
|
+
case "table":
|
|
205
|
+
return measureTable(block, env);
|
|
206
|
+
case "columns":
|
|
207
|
+
return measureColumns(block, env);
|
|
208
|
+
case "keyValueGrid":
|
|
209
|
+
return measureKeyValueGrid(block, env);
|
|
210
|
+
case "signature":
|
|
211
|
+
return (_a = block.height) !== null && _a !== void 0 ? _a : 0;
|
|
212
|
+
case "pageBreak":
|
|
213
|
+
return 0;
|
|
214
|
+
default:
|
|
215
|
+
return 0;
|
|
216
|
+
}
|
|
217
|
+
};
|
|
218
|
+
return (block, env) => measure(block, env);
|
|
219
|
+
}
|
|
220
|
+
//# sourceMappingURL=measure-block-height.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"measure-block-height.js","sourceRoot":"","sources":["../../../src/renderer-engine/utils/measure-block-height.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { PageBackgroundDef } from "../../types";
|
|
2
|
+
/**
|
|
3
|
+
* Draws a full-page background image with optional opacity.
|
|
4
|
+
*/
|
|
5
|
+
export declare function drawPageBackground(doc: PDFKit.PDFDocument, pageBackground?: PageBackgroundDef): void;
|
|
6
|
+
//# sourceMappingURL=page-background.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-background.d.ts","sourceRoot":"","sources":["../../../src/renderer-engine/utils/page-background.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,CAAC,WAAW,EACvB,cAAc,CAAC,EAAE,iBAAiB,GACjC,IAAI,CAuBN"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.drawPageBackground = drawPageBackground;
|
|
4
|
+
/**
|
|
5
|
+
* Draws a full-page background image with optional opacity.
|
|
6
|
+
*/
|
|
7
|
+
function drawPageBackground(doc, pageBackground) {
|
|
8
|
+
if (!pageBackground)
|
|
9
|
+
return;
|
|
10
|
+
const { src, opacity = 1 } = pageBackground;
|
|
11
|
+
const pageWidth = doc.page.width;
|
|
12
|
+
const pageHeight = doc.page.height;
|
|
13
|
+
doc.save();
|
|
14
|
+
try {
|
|
15
|
+
if (opacity < 1) {
|
|
16
|
+
doc.opacity(opacity);
|
|
17
|
+
}
|
|
18
|
+
doc.image(src, 0, 0, {
|
|
19
|
+
width: pageWidth,
|
|
20
|
+
height: pageHeight,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
catch (e) {
|
|
24
|
+
// eslint-disable-next-line no-console
|
|
25
|
+
console.warn("Failed to load page background image:", e);
|
|
26
|
+
}
|
|
27
|
+
doc.restore();
|
|
28
|
+
doc.opacity(1);
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=page-background.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-background.js","sourceRoot":"","sources":["../../../src/renderer-engine/utils/page-background.ts"],"names":[],"mappings":";;AAKA,gDA0BC;AA7BD;;GAEG;AACH,SAAgB,kBAAkB,CAChC,GAAuB,EACvB,cAAkC;IAElC,IAAI,CAAC,cAAc;QAAE,OAAO;IAE5B,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,CAAC,EAAE,GAAG,cAAc,CAAC;IAC5C,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;IACjC,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;IAEnC,GAAG,CAAC,IAAI,EAAE,CAAC;IACX,IAAI,CAAC;QACH,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;QAED,GAAG,CAAC,KAAK,CAAC,GAAuC,EAAE,CAAC,EAAE,CAAC,EAAE;YACvD,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,UAAU;SACnB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,sCAAsC;QACtC,OAAO,CAAC,IAAI,CAAC,uCAAuC,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IACD,GAAG,CAAC,OAAO,EAAE,CAAC;IACd,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-flow.d.ts","sourceRoot":"","sources":["../../../src/renderer-engine/utils/page-flow.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,MAAM,CAAC,WAAW,EACvB,GAAG,EAAE,WAAW,GACf,MAAM,CAGR"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getBottomLimitForContent = getBottomLimitForContent;
|
|
4
|
+
function getBottomLimitForContent(doc, ctx) {
|
|
5
|
+
var _a;
|
|
6
|
+
const pageBottomForContent = doc.page.height - doc.page.margins.bottom;
|
|
7
|
+
return (_a = ctx.signatureTopY) !== null && _a !== void 0 ? _a : pageBottomForContent;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=page-flow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-flow.js","sourceRoot":"","sources":["../../../src/renderer-engine/utils/page-flow.ts"],"names":[],"mappings":";;AAGA,4DAMC;AAND,SAAgB,wBAAwB,CACtC,GAAuB,EACvB,GAAgB;;IAEhB,MAAM,oBAAoB,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IACvE,OAAO,MAAA,GAAG,CAAC,aAAa,mCAAI,oBAAoB,CAAC;AACnD,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { PageContext } from "../../types";
|
|
2
|
+
export type BottomLimitForContentFn = () => number;
|
|
3
|
+
/**
|
|
4
|
+
* Creates a function that returns the current "bottom limit"
|
|
5
|
+
* for content on a page (taking signature reservation into account).
|
|
6
|
+
*/
|
|
7
|
+
export declare function createBottomLimitForContent(doc: PDFKit.PDFDocument, ctx: PageContext): BottomLimitForContentFn;
|
|
8
|
+
//# sourceMappingURL=page-limit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-limit.d.ts","sourceRoot":"","sources":["../../../src/renderer-engine/utils/page-limit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,MAAM,uBAAuB,GAAG,MAAM,MAAM,CAAC;AAEnD;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,MAAM,CAAC,WAAW,EACvB,GAAG,EAAE,WAAW,GACf,uBAAuB,CAKzB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createBottomLimitForContent = createBottomLimitForContent;
|
|
4
|
+
/**
|
|
5
|
+
* Creates a function that returns the current "bottom limit"
|
|
6
|
+
* for content on a page (taking signature reservation into account).
|
|
7
|
+
*/
|
|
8
|
+
function createBottomLimitForContent(doc, ctx) {
|
|
9
|
+
return () => {
|
|
10
|
+
var _a;
|
|
11
|
+
const pageBottomForContent = doc.page.height - doc.page.margins.bottom;
|
|
12
|
+
return (_a = ctx.signatureTopY) !== null && _a !== void 0 ? _a : pageBottomForContent;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=page-limit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-limit.js","sourceRoot":"","sources":["../../../src/renderer-engine/utils/page-limit.ts"],"names":[],"mappings":";;AASA,kEAQC;AAZD;;;GAGG;AACH,SAAgB,2BAA2B,CACzC,GAAuB,EACvB,GAAgB;IAEhB,OAAO,GAAG,EAAE;;QACV,MAAM,oBAAoB,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QACvE,OAAO,MAAA,GAAG,CAAC,aAAa,mCAAI,oBAAoB,CAAC;IACnD,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { BarcodeType, Block } from "../../types";
|
|
2
|
+
/** Generate QR buffer (used when only value is provided). */
|
|
3
|
+
export declare function generateQrBuffer(value: string, size: number, version?: number, errorCorrectionLevel?: "L" | "M" | "Q" | "H"): Promise<Buffer>;
|
|
4
|
+
export declare function mapBarcodeTypeToBcid(bcType?: BarcodeType | null): string;
|
|
5
|
+
export declare function generateBarcodeBuffer(value: string, options?: {
|
|
6
|
+
bcType?: BarcodeType;
|
|
7
|
+
scale?: number;
|
|
8
|
+
barHeight?: number;
|
|
9
|
+
includetext?: boolean;
|
|
10
|
+
textalign?: "left" | "center" | "right";
|
|
11
|
+
}): Promise<Buffer>;
|
|
12
|
+
/**
|
|
13
|
+
* Walks blocks (and nested columns/signature.blocks) and populates `qr.src` / `barcode.src`
|
|
14
|
+
* if only `value` is provided.
|
|
15
|
+
*/
|
|
16
|
+
export declare function materializeQrAndBarcodesInBlocks(blocks: Block[]): Promise<Block[]>;
|
|
17
|
+
//# sourceMappingURL=qr-bar-code.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qr-bar-code.d.ts","sourceRoot":"","sources":["../../../src/renderer-engine/utils/qr-bar-code.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,WAAW,EACX,KAAK,EAIN,MAAM,aAAa,CAAC;AAErB,6DAA6D;AAC7D,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,EAChB,oBAAoB,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAC3C,OAAO,CAAC,MAAM,CAAC,CAoBjB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,MAAM,CAcxE;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;IACP,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;CACpC,GACL,OAAO,CAAC,MAAM,CAAC,CA8CjB;AAED;;;GAGG;AACH,wBAAsB,gCAAgC,CACpD,MAAM,EAAE,KAAK,EAAE,GACd,OAAO,CAAC,KAAK,EAAE,CAAC,CA6DlB"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.generateQrBuffer = generateQrBuffer;
|
|
7
|
+
exports.mapBarcodeTypeToBcid = mapBarcodeTypeToBcid;
|
|
8
|
+
exports.generateBarcodeBuffer = generateBarcodeBuffer;
|
|
9
|
+
exports.materializeQrAndBarcodesInBlocks = materializeQrAndBarcodesInBlocks;
|
|
10
|
+
// src/renderer/qrBarcode.ts
|
|
11
|
+
const bwip_js_1 = __importDefault(require("bwip-js"));
|
|
12
|
+
const qrcode_1 = __importDefault(require("qrcode"));
|
|
13
|
+
/** Generate QR buffer (used when only value is provided). */
|
|
14
|
+
function generateQrBuffer(value, size, version, errorCorrectionLevel) {
|
|
15
|
+
const options = {
|
|
16
|
+
width: size,
|
|
17
|
+
margin: 0,
|
|
18
|
+
};
|
|
19
|
+
if (version && version >= 1 && version <= 40) {
|
|
20
|
+
options.version = version;
|
|
21
|
+
}
|
|
22
|
+
options.errorCorrectionLevel = errorCorrectionLevel !== null && errorCorrectionLevel !== void 0 ? errorCorrectionLevel : "M";
|
|
23
|
+
return new Promise((resolve, reject) => {
|
|
24
|
+
qrcode_1.default.toBuffer(value, options, (err, buffer) => {
|
|
25
|
+
if (err) {
|
|
26
|
+
return reject(err);
|
|
27
|
+
}
|
|
28
|
+
resolve(buffer);
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
function mapBarcodeTypeToBcid(bcType) {
|
|
33
|
+
switch (bcType) {
|
|
34
|
+
case "EAN13":
|
|
35
|
+
return "ean13";
|
|
36
|
+
case "CODE39":
|
|
37
|
+
return "code39";
|
|
38
|
+
case "ITF":
|
|
39
|
+
return "interleaved2of5";
|
|
40
|
+
case "CODE93":
|
|
41
|
+
return "code93";
|
|
42
|
+
case "CODE128":
|
|
43
|
+
default:
|
|
44
|
+
return "code128";
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
function generateBarcodeBuffer(value, options = {}) {
|
|
48
|
+
const { bcType, scale = 3, barHeight = 10, includetext = false, textalign = "center", } = options;
|
|
49
|
+
const bcid = mapBarcodeTypeToBcid(bcType);
|
|
50
|
+
return new Promise((resolve, reject) => {
|
|
51
|
+
let textValue = value;
|
|
52
|
+
if (bcType === "EAN13") {
|
|
53
|
+
const digitsOnly = textValue.replace(/\D/g, "");
|
|
54
|
+
if (digitsOnly.length === 13) {
|
|
55
|
+
textValue = digitsOnly.slice(0, 12);
|
|
56
|
+
}
|
|
57
|
+
else if (digitsOnly.length === 12) {
|
|
58
|
+
textValue = textValue;
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
return reject(new Error(`EAN13 barcode value must have 12 or 13 digits, got "${value}"`));
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
const bwipOptions = {
|
|
65
|
+
bcid,
|
|
66
|
+
text: textValue,
|
|
67
|
+
scale,
|
|
68
|
+
height: barHeight,
|
|
69
|
+
includetext,
|
|
70
|
+
};
|
|
71
|
+
bwipOptions.textxalign = textalign;
|
|
72
|
+
bwip_js_1.default.toBuffer(bwipOptions, (err, png) => {
|
|
73
|
+
if (err) {
|
|
74
|
+
return reject(err);
|
|
75
|
+
}
|
|
76
|
+
resolve(png);
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Walks blocks (and nested columns/signature.blocks) and populates `qr.src` / `barcode.src`
|
|
82
|
+
* if only `value` is provided.
|
|
83
|
+
*/
|
|
84
|
+
async function materializeQrAndBarcodesInBlocks(blocks) {
|
|
85
|
+
var _a;
|
|
86
|
+
const out = [];
|
|
87
|
+
for (const block of blocks) {
|
|
88
|
+
if (block.type === "columns") {
|
|
89
|
+
const colBlock = block;
|
|
90
|
+
const newCols = [];
|
|
91
|
+
for (const col of colBlock.columns) {
|
|
92
|
+
newCols.push(await materializeQrAndBarcodesInBlocks(col));
|
|
93
|
+
}
|
|
94
|
+
out.push({
|
|
95
|
+
...colBlock,
|
|
96
|
+
columns: newCols,
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
else if (block.type === "signature") {
|
|
100
|
+
const sig = block;
|
|
101
|
+
if (sig.blocks && sig.blocks.length) {
|
|
102
|
+
const newInner = await materializeQrAndBarcodesInBlocks(sig.blocks);
|
|
103
|
+
out.push({
|
|
104
|
+
...sig,
|
|
105
|
+
blocks: newInner,
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
out.push(block);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
else if (block.type === "qr") {
|
|
113
|
+
const qb = { ...block };
|
|
114
|
+
if (!qb.src && qb.value) {
|
|
115
|
+
const size = (_a = qb.size) !== null && _a !== void 0 ? _a : 80;
|
|
116
|
+
const buf = await generateQrBuffer(qb.value, size, qb.qrVersion, qb.errorCorrectionLevel);
|
|
117
|
+
qb.src = buf;
|
|
118
|
+
}
|
|
119
|
+
out.push(qb);
|
|
120
|
+
}
|
|
121
|
+
else if (block.type === "barcode") {
|
|
122
|
+
const bb = { ...block };
|
|
123
|
+
if (!bb.src && bb.value) {
|
|
124
|
+
const buf = await generateBarcodeBuffer(bb.value, {
|
|
125
|
+
bcType: bb.bcType,
|
|
126
|
+
scale: bb.scale,
|
|
127
|
+
barHeight: bb.barHeight,
|
|
128
|
+
includetext: bb.includetext,
|
|
129
|
+
textalign: bb.textalign,
|
|
130
|
+
});
|
|
131
|
+
bb.src = buf;
|
|
132
|
+
}
|
|
133
|
+
out.push(bb);
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
out.push(block);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return out;
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=qr-bar-code.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qr-bar-code.js","sourceRoot":"","sources":["../../../src/renderer-engine/utils/qr-bar-code.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Block, PageContext, RenderEnv, SignatureBlock, StyleDef } from "../../types";
|
|
2
|
+
export declare function drawSignatureBlock(doc: PDFKit.PDFDocument, block: SignatureBlock, y: number, env: RenderEnv, renderBlockArray: (blocks: Block[], startY: number, env: RenderEnv) => number): void;
|
|
3
|
+
/** Dependencies for the signature reservation logic */
|
|
4
|
+
interface SignatureProcessorDeps {
|
|
5
|
+
doc: PDFKit.PDFDocument;
|
|
6
|
+
ctx: PageContext;
|
|
7
|
+
styles: Record<string, StyleDef>;
|
|
8
|
+
/** Called to finish current page and optionally start a new one */
|
|
9
|
+
finishPage: (addNewPage: boolean) => void;
|
|
10
|
+
/** Returns the base RenderEnv for content for the current page */
|
|
11
|
+
contentEnvFn: (doc: PDFKit.PDFDocument) => RenderEnv;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Creates the `processSignatureBlock` function used in the main renderer.
|
|
15
|
+
* It measures inner content, reserves space at the bottom of the page,
|
|
16
|
+
* and updates `ctx.signature*` fields.
|
|
17
|
+
*/
|
|
18
|
+
export declare function createProcessSignatureBlock({ doc, ctx, styles, finishPage, contentEnvFn, }: SignatureProcessorDeps): (block: SignatureBlock) => void;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=signature.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../../src/renderer-engine/utils/signature.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EAIL,WAAW,EAEX,SAAS,EACT,cAAc,EACd,QAAQ,EAGT,MAAM,aAAa,CAAC;AAIrB,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,CAAC,WAAW,EACvB,KAAK,EAAE,cAAc,EACrB,CAAC,EAAE,MAAM,EACT,GAAG,EAAE,SAAS,EACd,gBAAgB,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,KAAK,MAAM,QA2C9E;AAED,uDAAuD;AACvD,UAAU,sBAAsB;IAC9B,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC;IACxB,GAAG,EAAE,WAAW,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjC,mEAAmE;IACnE,UAAU,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,kEAAkE;IAClE,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC;CACtD;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,EAC1C,GAAG,EACH,GAAG,EACH,MAAM,EACN,UAAU,EACV,YAAY,GACb,EAAE,sBAAsB,IACf,OAAO,cAAc,UA8L9B"}
|