@memberjunction/core-actions 5.24.0 → 5.25.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/custom/files/add-document-content.action.d.ts +20 -0
- package/dist/custom/files/add-document-content.action.d.ts.map +1 -0
- package/dist/custom/files/add-document-content.action.js +74 -0
- package/dist/custom/files/add-document-content.action.js.map +1 -0
- package/dist/custom/files/base-file-storage.action.d.ts +6 -9
- package/dist/custom/files/base-file-storage.action.d.ts.map +1 -1
- package/dist/custom/files/base-file-storage.action.js +14 -39
- package/dist/custom/files/base-file-storage.action.js.map +1 -1
- package/dist/custom/files/create-document.action.d.ts +19 -0
- package/dist/custom/files/create-document.action.d.ts.map +1 -0
- package/dist/custom/files/create-document.action.js +65 -0
- package/dist/custom/files/create-document.action.js.map +1 -0
- package/dist/custom/files/excel-reader.action.js +1 -1
- package/dist/custom/files/excel-reader.action.js.map +1 -1
- package/dist/custom/files/finalize-document.action.d.ts +21 -0
- package/dist/custom/files/finalize-document.action.d.ts.map +1 -0
- package/dist/custom/files/finalize-document.action.js +94 -0
- package/dist/custom/files/finalize-document.action.js.map +1 -0
- package/dist/custom/files/index.d.ts +5 -0
- package/dist/custom/files/index.d.ts.map +1 -1
- package/dist/custom/files/index.js +6 -0
- package/dist/custom/files/index.js.map +1 -1
- package/dist/custom/files/list-storage-providers.action.d.ts.map +1 -1
- package/dist/custom/files/list-storage-providers.action.js +6 -33
- package/dist/custom/files/list-storage-providers.action.js.map +1 -1
- package/dist/custom/files/modify-document-section.action.d.ts +19 -0
- package/dist/custom/files/modify-document-section.action.d.ts.map +1 -0
- package/dist/custom/files/modify-document-section.action.js +85 -0
- package/dist/custom/files/modify-document-section.action.js.map +1 -0
- package/dist/custom/files/pdf-extractor.action.d.ts +8 -14
- package/dist/custom/files/pdf-extractor.action.d.ts.map +1 -1
- package/dist/custom/files/pdf-extractor.action.js +89 -91
- package/dist/custom/files/pdf-extractor.action.js.map +1 -1
- package/dist/custom/files/preview-document.action.d.ts +17 -0
- package/dist/custom/files/preview-document.action.d.ts.map +1 -0
- package/dist/custom/files/preview-document.action.js +50 -0
- package/dist/custom/files/preview-document.action.js.map +1 -0
- package/dist/custom/geo/scheduled-geocoding.action.d.ts +135 -0
- package/dist/custom/geo/scheduled-geocoding.action.d.ts.map +1 -0
- package/dist/custom/geo/scheduled-geocoding.action.js +428 -0
- package/dist/custom/geo/scheduled-geocoding.action.js.map +1 -0
- package/dist/custom/search/search.action.d.ts +67 -0
- package/dist/custom/search/search.action.d.ts.map +1 -0
- package/dist/custom/search/search.action.js +211 -0
- package/dist/custom/search/search.action.js.map +1 -0
- package/dist/custom/utilities/artifact-builder-service.d.ts +139 -0
- package/dist/custom/utilities/artifact-builder-service.d.ts.map +1 -0
- package/dist/custom/utilities/artifact-builder-service.js +338 -0
- package/dist/custom/utilities/artifact-builder-service.js.map +1 -0
- package/dist/custom/utilities/base-file-handler.d.ts +25 -3
- package/dist/custom/utilities/base-file-handler.d.ts.map +1 -1
- package/dist/custom/utilities/base-file-handler.js +81 -28
- package/dist/custom/utilities/base-file-handler.js.map +1 -1
- package/dist/custom/utilities/docx-renderer.d.ts +61 -0
- package/dist/custom/utilities/docx-renderer.d.ts.map +1 -0
- package/dist/custom/utilities/docx-renderer.js +409 -0
- package/dist/custom/utilities/docx-renderer.js.map +1 -0
- package/dist/custom/utilities/pdf-renderer.d.ts +53 -0
- package/dist/custom/utilities/pdf-renderer.d.ts.map +1 -0
- package/dist/custom/utilities/pdf-renderer.js +315 -0
- package/dist/custom/utilities/pdf-renderer.js.map +1 -0
- package/dist/custom/utilities/xlsx-renderer.d.ts +120 -0
- package/dist/custom/utilities/xlsx-renderer.d.ts.map +1 -0
- package/dist/custom/utilities/xlsx-renderer.js +165 -0
- package/dist/custom/utilities/xlsx-renderer.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/package.json +31 -27
- package/dist/custom/files/excel-writer.action.d.ts +0 -88
- package/dist/custom/files/excel-writer.action.d.ts.map +0 -1
- package/dist/custom/files/excel-writer.action.js +0 -326
- package/dist/custom/files/excel-writer.action.js.map +0 -1
- package/dist/custom/files/pdf-generator.action.d.ts +0 -66
- package/dist/custom/files/pdf-generator.action.d.ts.map +0 -1
- package/dist/custom/files/pdf-generator.action.js +0 -254
- package/dist/custom/files/pdf-generator.action.js.map +0 -1
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PDF rendering engine extracted from PDFGeneratorAction.
|
|
3
|
+
* Used by both the single-shot PDF Generator action and the incremental ArtifactBuilderService.
|
|
4
|
+
*/
|
|
5
|
+
import PDFDocument from "pdfkit";
|
|
6
|
+
import { Parser } from 'htmlparser2';
|
|
7
|
+
export const DEFAULT_PDF_OPTIONS = {
|
|
8
|
+
margin: { top: 72, bottom: 72, left: 72, right: 72 },
|
|
9
|
+
fontSize: 12,
|
|
10
|
+
font: 'Helvetica',
|
|
11
|
+
orientation: 'portrait',
|
|
12
|
+
size: 'Letter'
|
|
13
|
+
};
|
|
14
|
+
// ── Rendering ─────────────────────────────────────────────────────────────────
|
|
15
|
+
/**
|
|
16
|
+
* Render an array of PDFNodeType nodes to a PDF buffer using pdfkit.
|
|
17
|
+
*/
|
|
18
|
+
export function renderPDFFromNodes(nodes, options) {
|
|
19
|
+
return new Promise((resolve, reject) => {
|
|
20
|
+
try {
|
|
21
|
+
const doc = new PDFDocument({
|
|
22
|
+
size: options.size,
|
|
23
|
+
layout: options.orientation,
|
|
24
|
+
margins: options.margin,
|
|
25
|
+
info: { Title: 'Generated Document', Author: 'MemberJunction', Creator: 'PDF Generator Action' }
|
|
26
|
+
});
|
|
27
|
+
const chunks = [];
|
|
28
|
+
doc.on('data', (chunk) => chunks.push(chunk));
|
|
29
|
+
doc.on('end', () => resolve(Buffer.concat(chunks)));
|
|
30
|
+
doc.on('error', reject);
|
|
31
|
+
renderNodes(doc, nodes, options);
|
|
32
|
+
doc.end();
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
reject(error);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Render an HTML string to a PDF buffer.
|
|
41
|
+
* If contentType is 'markdown', converts to HTML first using the provided marked function.
|
|
42
|
+
*/
|
|
43
|
+
export async function renderPDFFromHTML(htmlContent, options) {
|
|
44
|
+
const nodes = parseHTML(htmlContent);
|
|
45
|
+
return renderPDFFromNodes(nodes, options);
|
|
46
|
+
}
|
|
47
|
+
// ── Internal renderers ────────────────────────────────────────────────────────
|
|
48
|
+
function renderNodes(doc, nodes, options) {
|
|
49
|
+
for (const node of nodes) {
|
|
50
|
+
renderNode(doc, node, options);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
function renderNode(doc, node, options) {
|
|
54
|
+
switch (node.type) {
|
|
55
|
+
case 'heading':
|
|
56
|
+
renderHeading(doc, node, options);
|
|
57
|
+
break;
|
|
58
|
+
case 'paragraph':
|
|
59
|
+
renderParagraph(doc, node, options);
|
|
60
|
+
break;
|
|
61
|
+
case 'list':
|
|
62
|
+
renderList(doc, node, options);
|
|
63
|
+
break;
|
|
64
|
+
case 'table':
|
|
65
|
+
renderTable(doc, node, options);
|
|
66
|
+
break;
|
|
67
|
+
case 'image':
|
|
68
|
+
renderImage(doc, node);
|
|
69
|
+
break;
|
|
70
|
+
case 'hr':
|
|
71
|
+
renderHR(doc, options);
|
|
72
|
+
break;
|
|
73
|
+
case 'br':
|
|
74
|
+
doc.moveDown(0.5);
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
function renderHeading(doc, node, options) {
|
|
79
|
+
const sizemap = { 1: 24, 2: 20, 3: 16, 4: 14, 5: 13, 6: 12 };
|
|
80
|
+
const size = sizemap[node.level] ?? 12;
|
|
81
|
+
doc.font(`${options.font}-Bold`).fontSize(size).text(node.text, { align: 'left' });
|
|
82
|
+
doc.font(options.font).fontSize(options.fontSize);
|
|
83
|
+
doc.moveDown(0.5);
|
|
84
|
+
}
|
|
85
|
+
function renderParagraph(doc, node, options) {
|
|
86
|
+
const font = node.bold
|
|
87
|
+
? `${options.font}-Bold`
|
|
88
|
+
: node.italic
|
|
89
|
+
? `${options.font}-Oblique`
|
|
90
|
+
: options.font;
|
|
91
|
+
doc.font(font).fontSize(options.fontSize).text(node.text, { align: 'left' });
|
|
92
|
+
doc.font(options.font);
|
|
93
|
+
doc.moveDown(0.3);
|
|
94
|
+
}
|
|
95
|
+
function renderList(doc, node, options) {
|
|
96
|
+
doc.font(options.font).fontSize(options.fontSize);
|
|
97
|
+
doc.list(node.items, { bulletRadius: 2, textIndent: 20, bulletIndent: 10 });
|
|
98
|
+
doc.moveDown(0.3);
|
|
99
|
+
}
|
|
100
|
+
function renderTable(doc, node, options) {
|
|
101
|
+
const colCount = Math.max(node.headers.length, ...node.rows.map(r => r.length));
|
|
102
|
+
if (colCount === 0)
|
|
103
|
+
return;
|
|
104
|
+
const usableWidth = doc.page.width - doc.page.margins.left - doc.page.margins.right;
|
|
105
|
+
const colWidth = usableWidth / colCount;
|
|
106
|
+
const rowHeight = options.fontSize + 8;
|
|
107
|
+
const x = doc.page.margins.left;
|
|
108
|
+
let y = doc.y;
|
|
109
|
+
// Headers
|
|
110
|
+
doc.font(`${options.font}-Bold`).fontSize(options.fontSize);
|
|
111
|
+
for (let c = 0; c < colCount; c++) {
|
|
112
|
+
doc.rect(x + c * colWidth, y, colWidth, rowHeight).stroke();
|
|
113
|
+
doc.text(node.headers[c] ?? '', x + c * colWidth + 4, y + 4, {
|
|
114
|
+
width: colWidth - 8, height: rowHeight - 4, ellipsis: true
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
y += rowHeight;
|
|
118
|
+
// Rows
|
|
119
|
+
doc.font(options.font).fontSize(options.fontSize);
|
|
120
|
+
for (const row of node.rows) {
|
|
121
|
+
for (let c = 0; c < colCount; c++) {
|
|
122
|
+
doc.rect(x + c * colWidth, y, colWidth, rowHeight).stroke();
|
|
123
|
+
doc.text(row[c] ?? '', x + c * colWidth + 4, y + 4, {
|
|
124
|
+
width: colWidth - 8, height: rowHeight - 4, ellipsis: true
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
y += rowHeight;
|
|
128
|
+
}
|
|
129
|
+
doc.y = y + 4;
|
|
130
|
+
doc.moveDown(0.3);
|
|
131
|
+
}
|
|
132
|
+
function renderImage(doc, node) {
|
|
133
|
+
if (!node.src)
|
|
134
|
+
return;
|
|
135
|
+
const dataUri = /^data:image\/(png|jpe?g|gif|webp);base64,(.+)$/i.exec(node.src);
|
|
136
|
+
if (!dataUri)
|
|
137
|
+
return;
|
|
138
|
+
try {
|
|
139
|
+
const imageBuffer = Buffer.from(dataUri[2], 'base64');
|
|
140
|
+
const maxWidth = doc.page.width - doc.page.margins.left - doc.page.margins.right;
|
|
141
|
+
doc.image(imageBuffer, { fit: [maxWidth, 400], align: 'center' });
|
|
142
|
+
doc.moveDown(0.3);
|
|
143
|
+
}
|
|
144
|
+
catch {
|
|
145
|
+
// Skip images that can't be decoded rather than crashing the whole PDF
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
function renderHR(doc, options) {
|
|
149
|
+
const x = doc.page.margins.left;
|
|
150
|
+
const width = doc.page.width - doc.page.margins.left - doc.page.margins.right;
|
|
151
|
+
doc.moveTo(x, doc.y).lineTo(x + width, doc.y).stroke();
|
|
152
|
+
doc.moveDown(0.5);
|
|
153
|
+
doc.fontSize(options.fontSize);
|
|
154
|
+
}
|
|
155
|
+
// ── HTML → PDFNodeType[] parser ───────────────────────────────────────────────
|
|
156
|
+
/**
|
|
157
|
+
* Parse an HTML string into a flat list of renderable nodes using htmlparser2.
|
|
158
|
+
*/
|
|
159
|
+
export function parseHTML(html) {
|
|
160
|
+
const nodes = [];
|
|
161
|
+
const tagStack = [];
|
|
162
|
+
let currentText = '';
|
|
163
|
+
let inHeading = false;
|
|
164
|
+
let headingLevel = 1;
|
|
165
|
+
let inParagraph = false;
|
|
166
|
+
let boldDepth = 0;
|
|
167
|
+
let italicDepth = 0;
|
|
168
|
+
let inList = false;
|
|
169
|
+
let listOrdered = false;
|
|
170
|
+
let listItems = [];
|
|
171
|
+
let inListItem = false;
|
|
172
|
+
let listItemText = '';
|
|
173
|
+
let inTable = false;
|
|
174
|
+
let inThead = false;
|
|
175
|
+
let tableHeaders = [];
|
|
176
|
+
let tableRows = [];
|
|
177
|
+
let currentRow = [];
|
|
178
|
+
let inCell = false;
|
|
179
|
+
let cellText = '';
|
|
180
|
+
const flushText = () => {
|
|
181
|
+
const t = currentText.trim();
|
|
182
|
+
currentText = '';
|
|
183
|
+
return t;
|
|
184
|
+
};
|
|
185
|
+
const parser = new Parser({
|
|
186
|
+
onopentag(name, attribs) {
|
|
187
|
+
tagStack.push(name);
|
|
188
|
+
if (/^h[1-6]$/.test(name)) {
|
|
189
|
+
inHeading = true;
|
|
190
|
+
headingLevel = parseInt(name[1]);
|
|
191
|
+
currentText = '';
|
|
192
|
+
}
|
|
193
|
+
else if (name === 'p') {
|
|
194
|
+
inParagraph = true;
|
|
195
|
+
currentText = '';
|
|
196
|
+
}
|
|
197
|
+
else if (name === 'strong' || name === 'b') {
|
|
198
|
+
boldDepth++;
|
|
199
|
+
}
|
|
200
|
+
else if (name === 'em' || name === 'i') {
|
|
201
|
+
italicDepth++;
|
|
202
|
+
}
|
|
203
|
+
else if (name === 'ul' || name === 'ol') {
|
|
204
|
+
inList = true;
|
|
205
|
+
listOrdered = name === 'ol';
|
|
206
|
+
listItems = [];
|
|
207
|
+
}
|
|
208
|
+
else if (name === 'li') {
|
|
209
|
+
inListItem = true;
|
|
210
|
+
listItemText = '';
|
|
211
|
+
}
|
|
212
|
+
else if (name === 'table') {
|
|
213
|
+
inTable = true;
|
|
214
|
+
tableHeaders = [];
|
|
215
|
+
tableRows = [];
|
|
216
|
+
}
|
|
217
|
+
else if (name === 'thead') {
|
|
218
|
+
inThead = true;
|
|
219
|
+
}
|
|
220
|
+
else if (name === 'tbody') {
|
|
221
|
+
// no-op, tracked via inTable
|
|
222
|
+
}
|
|
223
|
+
else if (name === 'tr') {
|
|
224
|
+
currentRow = [];
|
|
225
|
+
}
|
|
226
|
+
else if (name === 'th' || name === 'td') {
|
|
227
|
+
inCell = true;
|
|
228
|
+
cellText = '';
|
|
229
|
+
}
|
|
230
|
+
else if (name === 'img') {
|
|
231
|
+
nodes.push({ type: 'image', src: attribs['src'] ?? '', alt: attribs['alt'] });
|
|
232
|
+
}
|
|
233
|
+
else if (name === 'hr') {
|
|
234
|
+
nodes.push({ type: 'hr' });
|
|
235
|
+
}
|
|
236
|
+
else if (name === 'br') {
|
|
237
|
+
nodes.push({ type: 'br' });
|
|
238
|
+
}
|
|
239
|
+
},
|
|
240
|
+
ontext(text) {
|
|
241
|
+
const cleaned = text.replace(/\s+/g, ' ');
|
|
242
|
+
if (inCell) {
|
|
243
|
+
cellText += cleaned;
|
|
244
|
+
}
|
|
245
|
+
else if (inListItem) {
|
|
246
|
+
listItemText += cleaned;
|
|
247
|
+
}
|
|
248
|
+
else if (inHeading || inParagraph) {
|
|
249
|
+
currentText += cleaned;
|
|
250
|
+
}
|
|
251
|
+
},
|
|
252
|
+
onclosetag(name) {
|
|
253
|
+
tagStack.pop();
|
|
254
|
+
if (/^h[1-6]$/.test(name) && inHeading) {
|
|
255
|
+
const text = flushText();
|
|
256
|
+
if (text)
|
|
257
|
+
nodes.push({ type: 'heading', level: headingLevel, text });
|
|
258
|
+
inHeading = false;
|
|
259
|
+
}
|
|
260
|
+
else if (name === 'p' && inParagraph) {
|
|
261
|
+
const text = flushText();
|
|
262
|
+
if (text) {
|
|
263
|
+
nodes.push({ type: 'paragraph', text, bold: boldDepth > 0, italic: italicDepth > 0 });
|
|
264
|
+
}
|
|
265
|
+
inParagraph = false;
|
|
266
|
+
}
|
|
267
|
+
else if (name === 'strong' || name === 'b') {
|
|
268
|
+
boldDepth = Math.max(0, boldDepth - 1);
|
|
269
|
+
}
|
|
270
|
+
else if (name === 'em' || name === 'i') {
|
|
271
|
+
italicDepth = Math.max(0, italicDepth - 1);
|
|
272
|
+
}
|
|
273
|
+
else if (name === 'li' && inListItem) {
|
|
274
|
+
const text = listItemText.trim();
|
|
275
|
+
if (text)
|
|
276
|
+
listItems.push(text);
|
|
277
|
+
inListItem = false;
|
|
278
|
+
listItemText = '';
|
|
279
|
+
}
|
|
280
|
+
else if ((name === 'ul' || name === 'ol') && inList) {
|
|
281
|
+
if (listItems.length > 0) {
|
|
282
|
+
nodes.push({ type: 'list', items: listItems, ordered: listOrdered });
|
|
283
|
+
}
|
|
284
|
+
inList = false;
|
|
285
|
+
listItems = [];
|
|
286
|
+
}
|
|
287
|
+
else if (name === 'th' || name === 'td') {
|
|
288
|
+
const text = cellText.trim();
|
|
289
|
+
currentRow.push(text);
|
|
290
|
+
inCell = false;
|
|
291
|
+
cellText = '';
|
|
292
|
+
}
|
|
293
|
+
else if (name === 'tr') {
|
|
294
|
+
if (inThead) {
|
|
295
|
+
tableHeaders = currentRow;
|
|
296
|
+
}
|
|
297
|
+
else {
|
|
298
|
+
tableRows.push(currentRow);
|
|
299
|
+
}
|
|
300
|
+
currentRow = [];
|
|
301
|
+
}
|
|
302
|
+
else if (name === 'thead') {
|
|
303
|
+
inThead = false;
|
|
304
|
+
}
|
|
305
|
+
else if (name === 'table' && inTable) {
|
|
306
|
+
nodes.push({ type: 'table', headers: tableHeaders, rows: tableRows });
|
|
307
|
+
inTable = false;
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
}, { decodeEntities: true });
|
|
311
|
+
parser.write(html);
|
|
312
|
+
parser.end();
|
|
313
|
+
return nodes;
|
|
314
|
+
}
|
|
315
|
+
//# sourceMappingURL=pdf-renderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pdf-renderer.js","sourceRoot":"","sources":["../../../src/custom/utilities/pdf-renderer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,WAAW,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAqBrC,MAAM,CAAC,MAAM,mBAAmB,GAAe;IAC3C,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;IACpD,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,UAAU;IACvB,IAAI,EAAE,QAAQ;CACjB,CAAC;AAEF,iFAAiF;AAEjF;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAoB,EAAE,OAAmB;IACxE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC;gBACxB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,OAAO,CAAC,WAAW;gBAC3B,OAAO,EAAE,OAAO,CAAC,MAAM;gBACvB,IAAI,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,sBAAsB,EAAE;aACnG,CAAC,CAAC;YAEH,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACtD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAiC,CAAC,CAAC,CAAC,CAAC;YAC/E,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAExB,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YACjC,GAAG,CAAC,GAAG,EAAE,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACnC,WAAmB,EACnB,OAAmB;IAEnB,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IACrC,OAAO,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED,iFAAiF;AAEjF,SAAS,WAAW,CAAC,GAAqC,EAAE,KAAoB,EAAE,OAAmB;IACjG,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;AACL,CAAC;AAED,SAAS,UAAU,CAAC,GAAqC,EAAE,IAAiB,EAAE,OAAmB;IAC7F,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,SAAS;YAAI,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YAAC,MAAM;QAC3D,KAAK,WAAW;YAAE,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YAAC,MAAM;QAC7D,KAAK,MAAM;YAAO,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YAAC,MAAM;QACxD,KAAK,OAAO;YAAM,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YAAC,MAAM;QACzD,KAAK,OAAO;YAAM,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAAC,MAAM;QAChD,KAAK,IAAI;YAAS,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAAC,MAAM;QAChD,KAAK,IAAI;YAAS,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAAC,MAAM;IAC/C,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAClB,GAAqC,EACrC,IAA+C,EAC/C,OAAmB;IAEnB,MAAM,OAAO,GAA2B,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;IACrF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACvC,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACnF,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClD,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,eAAe,CACpB,GAAqC,EACrC,IAAiD,EACjD,OAAmB;IAEnB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI;QAClB,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,OAAO;QACxB,CAAC,CAAC,IAAI,CAAC,MAAM;YACT,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,UAAU;YAC3B,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACvB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7E,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CACf,GAAqC,EACrC,IAA4C,EAC5C,OAAmB;IAEnB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5E,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,WAAW,CAChB,GAAqC,EACrC,IAA6C,EAC7C,OAAmB;IAEnB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAChF,IAAI,QAAQ,KAAK,CAAC;QAAE,OAAO;IAE3B,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IACpF,MAAM,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC;IACxC,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvC,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAChC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAEd,UAAU;IACV,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC;QAC5D,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;YACzD,KAAK,EAAE,QAAQ,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI;SAC7D,CAAC,CAAC;IACP,CAAC;IACD,CAAC,IAAI,SAAS,CAAC;IAEf,OAAO;IACP,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC;YAC5D,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;gBAChD,KAAK,EAAE,QAAQ,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI;aAC7D,CAAC,CAAC;QACP,CAAC;QACD,CAAC,IAAI,SAAS,CAAC;IACnB,CAAC;IAED,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACd,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,WAAW,CAAC,GAAqC,EAAE,IAA6C;IACrG,IAAI,CAAC,IAAI,CAAC,GAAG;QAAE,OAAO;IAEtB,MAAM,OAAO,GAAG,iDAAiD,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjF,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,IAAI,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QACjF,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAClE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACL,uEAAuE;IAC3E,CAAC;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,GAAqC,EAAE,OAAmB;IACxE,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAChC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9E,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACvD,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAClB,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACnC,CAAC;AAED,iFAAiF;AAEjF;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY;IAClC,MAAM,KAAK,GAAkB,EAAE,CAAC;IAEhC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,YAAY,GAA0B,CAAC,CAAC;IAC5C,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,SAAS,GAAa,EAAE,CAAC;IAC7B,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,YAAY,GAAG,EAAE,CAAC;IAEtB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,YAAY,GAAa,EAAE,CAAC;IAChC,IAAI,SAAS,GAAe,EAAE,CAAC;IAC/B,IAAI,UAAU,GAAa,EAAE,CAAC;IAC9B,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,QAAQ,GAAG,EAAE,CAAC;IAElB,MAAM,SAAS,GAAG,GAAW,EAAE;QAC3B,MAAM,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;QAC7B,WAAW,GAAG,EAAE,CAAC;QACjB,OAAO,CAAC,CAAC;IACb,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;QACtB,SAAS,CAAC,IAAI,EAAE,OAAO;YACnB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEpB,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,SAAS,GAAG,IAAI,CAAC;gBACjB,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAA0B,CAAC;gBAC1D,WAAW,GAAG,EAAE,CAAC;YACrB,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACtB,WAAW,GAAG,IAAI,CAAC;gBACnB,WAAW,GAAG,EAAE,CAAC;YACrB,CAAC;iBAAM,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBAC3C,SAAS,EAAE,CAAC;YAChB,CAAC;iBAAM,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACvC,WAAW,EAAE,CAAC;YAClB,CAAC;iBAAM,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACxC,MAAM,GAAG,IAAI,CAAC;gBACd,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;gBAC5B,SAAS,GAAG,EAAE,CAAC;YACnB,CAAC;iBAAM,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACvB,UAAU,GAAG,IAAI,CAAC;gBAClB,YAAY,GAAG,EAAE,CAAC;YACtB,CAAC;iBAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC1B,OAAO,GAAG,IAAI,CAAC;gBACf,YAAY,GAAG,EAAE,CAAC;gBAClB,SAAS,GAAG,EAAE,CAAC;YACnB,CAAC;iBAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC1B,OAAO,GAAG,IAAI,CAAC;YACnB,CAAC;iBAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC1B,6BAA6B;YACjC,CAAC;iBAAM,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACvB,UAAU,GAAG,EAAE,CAAC;YACpB,CAAC;iBAAM,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACxC,MAAM,GAAG,IAAI,CAAC;gBACd,QAAQ,GAAG,EAAE,CAAC;YAClB,CAAC;iBAAM,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBACxB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAClF,CAAC;iBAAM,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/B,CAAC;iBAAM,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/B,CAAC;QACL,CAAC;QAED,MAAM,CAAC,IAAI;YACP,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC1C,IAAI,MAAM,EAAE,CAAC;gBACT,QAAQ,IAAI,OAAO,CAAC;YACxB,CAAC;iBAAM,IAAI,UAAU,EAAE,CAAC;gBACpB,YAAY,IAAI,OAAO,CAAC;YAC5B,CAAC;iBAAM,IAAI,SAAS,IAAI,WAAW,EAAE,CAAC;gBAClC,WAAW,IAAI,OAAO,CAAC;YAC3B,CAAC;QACL,CAAC;QAED,UAAU,CAAC,IAAI;YACX,QAAQ,CAAC,GAAG,EAAE,CAAC;YAEf,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;gBACrC,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;gBACzB,IAAI,IAAI;oBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrE,SAAS,GAAG,KAAK,CAAC;YACtB,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC;gBACrC,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;gBACzB,IAAI,IAAI,EAAE,CAAC;oBACP,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,GAAG,CAAC,EAAE,MAAM,EAAE,WAAW,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC1F,CAAC;gBACD,WAAW,GAAG,KAAK,CAAC;YACxB,CAAC;iBAAM,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBAC3C,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;YAC3C,CAAC;iBAAM,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACvC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,IAAI,IAAI,KAAK,IAAI,IAAI,UAAU,EAAE,CAAC;gBACrC,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;gBACjC,IAAI,IAAI;oBAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/B,UAAU,GAAG,KAAK,CAAC;gBACnB,YAAY,GAAG,EAAE,CAAC;YACtB,CAAC;iBAAM,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC;gBACpD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;gBACzE,CAAC;gBACD,MAAM,GAAG,KAAK,CAAC;gBACf,SAAS,GAAG,EAAE,CAAC;YACnB,CAAC;iBAAM,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACxC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC7B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtB,MAAM,GAAG,KAAK,CAAC;gBACf,QAAQ,GAAG,EAAE,CAAC;YAClB,CAAC;iBAAM,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACvB,IAAI,OAAO,EAAE,CAAC;oBACV,YAAY,GAAG,UAAU,CAAC;gBAC9B,CAAC;qBAAM,CAAC;oBACJ,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC/B,CAAC;gBACD,UAAU,GAAG,EAAE,CAAC;YACpB,CAAC;iBAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC1B,OAAO,GAAG,KAAK,CAAC;YACpB,CAAC;iBAAM,IAAI,IAAI,KAAK,OAAO,IAAI,OAAO,EAAE,CAAC;gBACrC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;gBACtE,OAAO,GAAG,KAAK,CAAC;YACpB,CAAC;QACL,CAAC;KACJ,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnB,MAAM,CAAC,GAAG,EAAE,CAAC;IAEb,OAAO,KAAK,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Excel rendering utilities extracted from ExcelWriterAction.
|
|
3
|
+
* The actual rendering is delegated to ExportEngine.toExcelMultiSheet().
|
|
4
|
+
* This module handles input normalization and style conversion.
|
|
5
|
+
*/
|
|
6
|
+
import { SheetDefinition, CellStyle } from '@memberjunction/export-engine';
|
|
7
|
+
export interface ExcelOptions {
|
|
8
|
+
fileName?: string;
|
|
9
|
+
author?: string;
|
|
10
|
+
title?: string;
|
|
11
|
+
description?: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Input sheet definition format (accepts legacy ExcelJS-style objects)
|
|
15
|
+
*/
|
|
16
|
+
export interface SheetInputDefinition {
|
|
17
|
+
name: string;
|
|
18
|
+
data?: Record<string, unknown>[] | unknown[][];
|
|
19
|
+
/** Alternative to data: LLMs sometimes send rows+columns instead */
|
|
20
|
+
rows?: unknown[][];
|
|
21
|
+
columns?: string[];
|
|
22
|
+
headers?: string[];
|
|
23
|
+
columnWidths?: number[];
|
|
24
|
+
styles?: {
|
|
25
|
+
headerStyle?: LegacyStyle;
|
|
26
|
+
dataStyle?: LegacyStyle;
|
|
27
|
+
};
|
|
28
|
+
headerStyle?: LegacyStyle;
|
|
29
|
+
dataStyle?: LegacyStyle;
|
|
30
|
+
formulas?: Array<{
|
|
31
|
+
cell: string;
|
|
32
|
+
formula: string;
|
|
33
|
+
result?: unknown;
|
|
34
|
+
}>;
|
|
35
|
+
autoFilter?: boolean | string;
|
|
36
|
+
freeze?: {
|
|
37
|
+
row?: number;
|
|
38
|
+
column?: number;
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Legacy ExcelJS-style style object
|
|
43
|
+
*/
|
|
44
|
+
export interface LegacyStyle {
|
|
45
|
+
font?: {
|
|
46
|
+
bold?: boolean;
|
|
47
|
+
italic?: boolean;
|
|
48
|
+
underline?: boolean;
|
|
49
|
+
strike?: boolean;
|
|
50
|
+
size?: number;
|
|
51
|
+
name?: string;
|
|
52
|
+
color?: {
|
|
53
|
+
argb?: string;
|
|
54
|
+
} | string;
|
|
55
|
+
};
|
|
56
|
+
fill?: {
|
|
57
|
+
type?: string;
|
|
58
|
+
pattern?: string;
|
|
59
|
+
fgColor?: {
|
|
60
|
+
argb?: string;
|
|
61
|
+
} | string;
|
|
62
|
+
bgColor?: {
|
|
63
|
+
argb?: string;
|
|
64
|
+
} | string;
|
|
65
|
+
};
|
|
66
|
+
alignment?: {
|
|
67
|
+
horizontal?: 'left' | 'center' | 'right' | 'fill' | 'justify';
|
|
68
|
+
vertical?: 'top' | 'middle' | 'bottom';
|
|
69
|
+
wrapText?: boolean;
|
|
70
|
+
};
|
|
71
|
+
border?: {
|
|
72
|
+
top?: {
|
|
73
|
+
style?: string;
|
|
74
|
+
color?: {
|
|
75
|
+
argb?: string;
|
|
76
|
+
} | string;
|
|
77
|
+
};
|
|
78
|
+
bottom?: {
|
|
79
|
+
style?: string;
|
|
80
|
+
color?: {
|
|
81
|
+
argb?: string;
|
|
82
|
+
} | string;
|
|
83
|
+
};
|
|
84
|
+
left?: {
|
|
85
|
+
style?: string;
|
|
86
|
+
color?: {
|
|
87
|
+
argb?: string;
|
|
88
|
+
} | string;
|
|
89
|
+
};
|
|
90
|
+
right?: {
|
|
91
|
+
style?: string;
|
|
92
|
+
color?: {
|
|
93
|
+
argb?: string;
|
|
94
|
+
} | string;
|
|
95
|
+
};
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
export interface ExcelRenderResult {
|
|
99
|
+
buffer: Buffer;
|
|
100
|
+
sheetCount?: number;
|
|
101
|
+
rowCount?: number;
|
|
102
|
+
sizeBytes?: number;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Render sheet input definitions to an Excel buffer via ExportEngine.
|
|
106
|
+
*/
|
|
107
|
+
export declare function renderExcelFromSheets(sheets: SheetInputDefinition[], options?: ExcelOptions): Promise<ExcelRenderResult>;
|
|
108
|
+
/**
|
|
109
|
+
* Convert columns+rows format to the data array format expected by export-engine.
|
|
110
|
+
*/
|
|
111
|
+
export declare function normalizeRowsToData(rows: unknown[][], columns?: string[]): Record<string, unknown>[];
|
|
112
|
+
/**
|
|
113
|
+
* Convert the input sheet definition to the export-engine SheetDefinition format
|
|
114
|
+
*/
|
|
115
|
+
export declare function convertToSheetDefinition(input: SheetInputDefinition): SheetDefinition;
|
|
116
|
+
/**
|
|
117
|
+
* Convert legacy ExcelJS-style objects to export-engine CellStyle format
|
|
118
|
+
*/
|
|
119
|
+
export declare function convertLegacyStyle(style: LegacyStyle): CellStyle;
|
|
120
|
+
//# sourceMappingURL=xlsx-renderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xlsx-renderer.d.ts","sourceRoot":"","sources":["../../../src/custom/utilities/xlsx-renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Excel rendering utilities extracted from ExcelWriterAction.
|
|
3
|
+
* The actual rendering is delegated to ExportEngine.toExcelMultiSheet().
|
|
4
|
+
* This module handles input normalization and style conversion.
|
|
5
|
+
*/
|
|
6
|
+
import { ExportEngine } from '@memberjunction/export-engine';
|
|
7
|
+
// ── Rendering ─────────────────────────────────────────────────────────────────
|
|
8
|
+
/**
|
|
9
|
+
* Render sheet input definitions to an Excel buffer via ExportEngine.
|
|
10
|
+
*/
|
|
11
|
+
export async function renderExcelFromSheets(sheets, options = {}) {
|
|
12
|
+
const sheetDefinitions = [];
|
|
13
|
+
for (const sheetInput of sheets) {
|
|
14
|
+
// Normalize: LLMs sometimes send columns+rows instead of data
|
|
15
|
+
if (!sheetInput.data && sheetInput.rows) {
|
|
16
|
+
sheetInput.data = normalizeRowsToData(sheetInput.rows, sheetInput.columns);
|
|
17
|
+
}
|
|
18
|
+
if (!sheetInput.name || !sheetInput.data) {
|
|
19
|
+
throw new Error("Each sheet must have a name and data");
|
|
20
|
+
}
|
|
21
|
+
sheetDefinitions.push(convertToSheetDefinition(sheetInput));
|
|
22
|
+
}
|
|
23
|
+
const fileName = (options.fileName || 'workbook.xlsx').replace(/\.xlsx$/i, '');
|
|
24
|
+
const result = await ExportEngine.toExcelMultiSheet(sheetDefinitions, {
|
|
25
|
+
fileName,
|
|
26
|
+
metadata: {
|
|
27
|
+
author: options.author || 'MemberJunction',
|
|
28
|
+
title: options.title,
|
|
29
|
+
description: options.description
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
if (!result.success || !result.data) {
|
|
33
|
+
throw new Error(result.error || 'Failed to generate Excel file');
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
buffer: Buffer.from(result.data),
|
|
37
|
+
sheetCount: result.sheetCount,
|
|
38
|
+
rowCount: result.rowCount,
|
|
39
|
+
sizeBytes: result.sizeBytes,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
// ── Input normalization ───────────────────────────────────────────────────────
|
|
43
|
+
/**
|
|
44
|
+
* Convert columns+rows format to the data array format expected by export-engine.
|
|
45
|
+
*/
|
|
46
|
+
export function normalizeRowsToData(rows, columns) {
|
|
47
|
+
if (columns && columns.length > 0) {
|
|
48
|
+
return rows.map(row => {
|
|
49
|
+
const obj = {};
|
|
50
|
+
columns.forEach((col, i) => { obj[col] = row[i]; });
|
|
51
|
+
return obj;
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
return rows;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Convert the input sheet definition to the export-engine SheetDefinition format
|
|
58
|
+
*/
|
|
59
|
+
export function convertToSheetDefinition(input) {
|
|
60
|
+
const sheetDef = {
|
|
61
|
+
name: input.name,
|
|
62
|
+
data: input.data,
|
|
63
|
+
includeHeaders: true
|
|
64
|
+
};
|
|
65
|
+
if (input.headers) {
|
|
66
|
+
sheetDef.headers = input.headers;
|
|
67
|
+
}
|
|
68
|
+
else if (input.columns) {
|
|
69
|
+
sheetDef.headers = input.columns;
|
|
70
|
+
}
|
|
71
|
+
if (input.columnWidths) {
|
|
72
|
+
sheetDef.columnWidths = input.columnWidths;
|
|
73
|
+
}
|
|
74
|
+
if (input.styles?.headerStyle) {
|
|
75
|
+
sheetDef.headerStyle = convertLegacyStyle(input.styles.headerStyle);
|
|
76
|
+
}
|
|
77
|
+
else if (input.headerStyle) {
|
|
78
|
+
sheetDef.headerStyle = convertLegacyStyle(input.headerStyle);
|
|
79
|
+
}
|
|
80
|
+
if (input.styles?.dataStyle) {
|
|
81
|
+
sheetDef.dataStyle = convertLegacyStyle(input.styles.dataStyle);
|
|
82
|
+
}
|
|
83
|
+
else if (input.dataStyle) {
|
|
84
|
+
sheetDef.dataStyle = convertLegacyStyle(input.dataStyle);
|
|
85
|
+
}
|
|
86
|
+
if (input.formulas) {
|
|
87
|
+
sheetDef.formulas = input.formulas.map(f => ({
|
|
88
|
+
cell: f.cell,
|
|
89
|
+
formula: f.formula,
|
|
90
|
+
result: f.result
|
|
91
|
+
}));
|
|
92
|
+
}
|
|
93
|
+
if (input.autoFilter !== undefined) {
|
|
94
|
+
sheetDef.autoFilter = input.autoFilter;
|
|
95
|
+
}
|
|
96
|
+
if (input.freeze) {
|
|
97
|
+
sheetDef.freeze = input.freeze;
|
|
98
|
+
}
|
|
99
|
+
return sheetDef;
|
|
100
|
+
}
|
|
101
|
+
// ── Style conversion ──────────────────────────────────────────────────────────
|
|
102
|
+
/**
|
|
103
|
+
* Convert legacy ExcelJS-style objects to export-engine CellStyle format
|
|
104
|
+
*/
|
|
105
|
+
export function convertLegacyStyle(style) {
|
|
106
|
+
const result = {};
|
|
107
|
+
if (style.font) {
|
|
108
|
+
result.font = {
|
|
109
|
+
bold: style.font.bold,
|
|
110
|
+
italic: style.font.italic,
|
|
111
|
+
underline: style.font.underline,
|
|
112
|
+
strike: style.font.strike,
|
|
113
|
+
size: style.font.size,
|
|
114
|
+
name: style.font.name
|
|
115
|
+
};
|
|
116
|
+
const fontColor = extractColorValue(style.font.color);
|
|
117
|
+
if (fontColor) {
|
|
118
|
+
result.font.color = fontColor;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
if (style.fill) {
|
|
122
|
+
result.fill = {
|
|
123
|
+
pattern: (style.fill.pattern || 'solid')
|
|
124
|
+
};
|
|
125
|
+
const fgColor = extractColorValue(style.fill.fgColor);
|
|
126
|
+
if (fgColor) {
|
|
127
|
+
result.fill.fgColor = fgColor;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
if (style.alignment) {
|
|
131
|
+
result.alignment = {
|
|
132
|
+
horizontal: style.alignment.horizontal,
|
|
133
|
+
vertical: style.alignment.vertical,
|
|
134
|
+
wrapText: style.alignment.wrapText
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
if (style.border) {
|
|
138
|
+
result.border = {};
|
|
139
|
+
if (style.border.top)
|
|
140
|
+
result.border.top = convertBorderSide(style.border.top);
|
|
141
|
+
if (style.border.bottom)
|
|
142
|
+
result.border.bottom = convertBorderSide(style.border.bottom);
|
|
143
|
+
if (style.border.left)
|
|
144
|
+
result.border.left = convertBorderSide(style.border.left);
|
|
145
|
+
if (style.border.right)
|
|
146
|
+
result.border.right = convertBorderSide(style.border.right);
|
|
147
|
+
}
|
|
148
|
+
return result;
|
|
149
|
+
}
|
|
150
|
+
function extractColorValue(color) {
|
|
151
|
+
if (!color)
|
|
152
|
+
return undefined;
|
|
153
|
+
if (typeof color === 'string')
|
|
154
|
+
return color;
|
|
155
|
+
if (color.argb)
|
|
156
|
+
return color.argb.substring(2);
|
|
157
|
+
return undefined;
|
|
158
|
+
}
|
|
159
|
+
function convertBorderSide(side) {
|
|
160
|
+
return {
|
|
161
|
+
style: (side.style || 'thin'),
|
|
162
|
+
color: extractColorValue(side.color)
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
//# sourceMappingURL=xlsx-renderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xlsx-renderer.js","sourceRoot":"","sources":["../../../src/custom/utilities/xlsx-renderer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACH,YAAY,EAMf,MAAM,+BAA+B,CAAC;AAwEvC,iFAAiF;AAEjF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACvC,MAA8B,EAC9B,UAAwB,EAAE;IAE1B,MAAM,gBAAgB,GAAsB,EAAE,CAAC;IAC/C,KAAK,MAAM,UAAU,IAAI,MAAM,EAAE,CAAC;QAC9B,8DAA8D;QAC9D,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;YACtC,UAAU,CAAC,IAAI,GAAG,mBAAmB,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QAC/E,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC5D,CAAC;QAED,gBAAgB,CAAC,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,eAAe,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC/E,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,iBAAiB,CAAC,gBAAgB,EAAE;QAClE,QAAQ;QACR,QAAQ,EAAE;YACN,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,gBAAgB;YAC1C,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,WAAW,EAAE,OAAO,CAAC,WAAW;SACnC;KACJ,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,+BAA+B,CAAC,CAAC;IACrE,CAAC;IAED,OAAO;QACH,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAChC,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,SAAS,EAAE,MAAM,CAAC,SAAS;KAC9B,CAAC;AACN,CAAC;AAED,iFAAiF;AAEjF;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAiB,EAAE,OAAkB;IACrE,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAClB,MAAM,GAAG,GAA4B,EAAE,CAAC;YACxC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,GAAI,GAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnE,OAAO,GAAG,CAAC;QACf,CAAC,CAAC,CAAC;IACP,CAAC;IACD,OAAO,IAA4C,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAA2B;IAChE,MAAM,QAAQ,GAAoB;QAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,KAAK,CAAC,IAAK;QACjB,cAAc,EAAE,IAAI;KACvB,CAAC;IAEF,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IACrC,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QACvB,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IACrC,CAAC;IAED,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACrB,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;IAC/C,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;QAC5B,QAAQ,CAAC,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACxE,CAAC;SAAM,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QAC3B,QAAQ,CAAC,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;QAC1B,QAAQ,CAAC,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpE,CAAC;SAAM,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACzB,QAAQ,CAAC,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACzC,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,MAAM,EAAE,CAAC,CAAC,MAAM;SACnB,CAAC,CAAC,CAAC;IACR,CAAC;IAED,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACjC,QAAQ,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IAC3C,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACf,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IACnC,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,iFAAiF;AAEjF;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAkB;IACjD,MAAM,MAAM,GAAc,EAAE,CAAC;IAE7B,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,GAAG;YACV,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;YACrB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM;YACzB,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS;YAC/B,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM;YACzB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;YACrB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;SACxB,CAAC;QACF,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,SAAS,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QAClC,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,GAAG;YACV,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAgB;SAC1D,CAAC;QACF,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAClC,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QAClB,MAAM,CAAC,SAAS,GAAG;YACf,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU;YACtC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ;YAClC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ;SACrC,CAAC;IACN,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACf,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG;YAAE,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9E,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM;YAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvF,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI;YAAE,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjF,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK;YAAE,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxF,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAA6C;IACpE,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,KAAK,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC/C,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAS,iBAAiB,CAAC,IAA4D;IACnF,OAAO;QACH,KAAK,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAoB;QAChD,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;KACvC,CAAC;AACN,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -19,6 +19,7 @@ export * from './custom/utilities/census-data-lookup.action.js';
|
|
|
19
19
|
export * from './custom/utilities/external-change-detection.action.js';
|
|
20
20
|
export * from './custom/utilities/qr-code.action.js';
|
|
21
21
|
export * from './custom/utilities/address-services.action.js';
|
|
22
|
+
export * from './custom/geo/scheduled-geocoding.action.js';
|
|
22
23
|
export * from './custom/web/web-search.action.js';
|
|
23
24
|
export * from './custom/web/web-page-content.action.js';
|
|
24
25
|
export * from './custom/web/url-link-validator.action.js';
|
|
@@ -37,10 +38,8 @@ export * from './custom/data/get-entity-list.action.js';
|
|
|
37
38
|
export * from './custom/data/run-stored-query.action.js';
|
|
38
39
|
export * from './custom/data/search-query-catalog.action.js';
|
|
39
40
|
export * from './custom/code-execution/execute-code.action.js';
|
|
40
|
-
export * from './custom/files/pdf-generator.action.js';
|
|
41
41
|
export * from './custom/files/pdf-extractor.action.js';
|
|
42
42
|
export * from './custom/files/excel-reader.action.js';
|
|
43
|
-
export * from './custom/files/excel-writer.action.js';
|
|
44
43
|
export * from './custom/files/file-compress.action.js';
|
|
45
44
|
export * from './custom/files/index.js';
|
|
46
45
|
export * from './custom/files/get-file-content.action.js';
|
|
@@ -81,4 +80,5 @@ export * from './custom/visualization/shared/svg-utils.js';
|
|
|
81
80
|
export * from './custom/visualization/shared/svg-theming.js';
|
|
82
81
|
export * from './custom/visualization/shared/mermaid-types.js';
|
|
83
82
|
export * from './custom/mcp/index.js';
|
|
83
|
+
export * from './custom/search/search.action.js';
|
|
84
84
|
//# sourceMappingURL=index.d.ts.map
|