@burdenoff/microfe-bigconsole 2026.1103.5 → 2026.1103.7
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/bigconsole/components/widgets/table/TableConfig.js +208 -201
- package/dist/bigconsole/components/widgets/table/TableWidget.js +121 -119
- package/dist/bigconsole/hooks/useDashboardImageExport.js +44 -64
- package/dist/bigconsole/hooks/useWidgetExport.js +37 -51
- package/dist/bigconsole/utils/elementToCanvas.d.ts +9 -0
- package/dist/bigconsole/utils/elementToCanvas.js +16 -0
- package/dist/node_modules/html-to-image/es/apply-style.js +11 -0
- package/dist/node_modules/html-to-image/es/clone-node.js +82 -0
- package/dist/node_modules/html-to-image/es/clone-pseudos.js +30 -0
- package/dist/node_modules/html-to-image/es/dataurl.js +49 -0
- package/dist/node_modules/html-to-image/es/embed-images.js +41 -0
- package/dist/node_modules/html-to-image/es/embed-resources.js +39 -0
- package/dist/node_modules/html-to-image/es/embed-webfonts.js +115 -0
- package/dist/node_modules/html-to-image/es/index.js +16 -0
- package/dist/node_modules/html-to-image/es/mimes.js +23 -0
- package/dist/node_modules/html-to-image/es/util.js +75 -0
- package/package.json +3 -2
|
@@ -179,217 +179,224 @@ var c = [
|
|
|
179
179
|
})
|
|
180
180
|
]
|
|
181
181
|
})] }),
|
|
182
|
-
/* @__PURE__ */ s("div", { children: [
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
className: "
|
|
197
|
-
children:
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
type: "text",
|
|
225
|
-
value: e.field || "",
|
|
226
|
-
onChange: (e) => g(t, "field", e.target.value),
|
|
227
|
-
placeholder: f("bigconsole.widget.config.table.column.fieldPlaceholder", "Field name"),
|
|
228
|
-
className: "\n px-2 py-1\n text-sm text-text-primary\n bg-bg-surface\n border border-border-default\n rounded-md\n focus:outline-none focus:ring-2 focus:ring-action-primary-bg\n "
|
|
229
|
-
}), /* @__PURE__ */ o("input", {
|
|
230
|
-
type: "text",
|
|
231
|
-
value: e.header || "",
|
|
232
|
-
onChange: (e) => g(t, "header", e.target.value),
|
|
233
|
-
placeholder: f("bigconsole.widget.config.table.column.headerPlaceholder", "Header label"),
|
|
234
|
-
className: "\n px-2 py-1\n text-sm text-text-primary\n bg-bg-surface\n border border-border-default\n rounded-md\n focus:outline-none focus:ring-2 focus:ring-action-primary-bg\n "
|
|
235
|
-
})]
|
|
236
|
-
}),
|
|
237
|
-
/* @__PURE__ */ s("div", {
|
|
238
|
-
className: "grid grid-cols-1 gap-2 sm:grid-cols-2",
|
|
239
|
-
children: [/* @__PURE__ */ s("select", {
|
|
240
|
-
value: e.format || "text",
|
|
241
|
-
onChange: (e) => g(t, "format", e.target.value),
|
|
242
|
-
className: "\n px-2 py-1\n text-sm text-text-primary\n bg-bg-surface\n border border-border-default\n rounded-md\n focus:outline-none focus:ring-2 focus:ring-action-primary-bg\n ",
|
|
243
|
-
children: [
|
|
244
|
-
/* @__PURE__ */ o("option", {
|
|
245
|
-
value: "text",
|
|
246
|
-
children: f("bigconsole.widget.config.table.format.text", "Text")
|
|
247
|
-
}),
|
|
248
|
-
/* @__PURE__ */ o("option", {
|
|
249
|
-
value: "number",
|
|
250
|
-
children: f("bigconsole.widget.config.table.format.number", "Number")
|
|
251
|
-
}),
|
|
252
|
-
/* @__PURE__ */ o("option", {
|
|
253
|
-
value: "currency",
|
|
254
|
-
children: f("bigconsole.widget.config.table.format.currency", "Currency")
|
|
255
|
-
}),
|
|
256
|
-
/* @__PURE__ */ o("option", {
|
|
257
|
-
value: "percentage",
|
|
258
|
-
children: f("bigconsole.widget.config.table.format.percentage", "Percentage")
|
|
259
|
-
}),
|
|
260
|
-
/* @__PURE__ */ o("option", {
|
|
261
|
-
value: "date",
|
|
262
|
-
children: f("bigconsole.widget.config.table.format.date", "Date")
|
|
263
|
-
}),
|
|
264
|
-
/* @__PURE__ */ o("option", {
|
|
265
|
-
value: "badge",
|
|
266
|
-
children: f("bigconsole.widget.config.table.format.badge", "Badge")
|
|
182
|
+
/* @__PURE__ */ s("div", { children: [
|
|
183
|
+
/* @__PURE__ */ s("div", {
|
|
184
|
+
className: "flex items-center justify-between mb-2",
|
|
185
|
+
children: [/* @__PURE__ */ o("label", {
|
|
186
|
+
className: "text-sm font-medium text-text-primary",
|
|
187
|
+
children: f("bigconsole.widget.config.table.columns.label", "Columns")
|
|
188
|
+
}), /* @__PURE__ */ o("button", {
|
|
189
|
+
type: "button",
|
|
190
|
+
onClick: S,
|
|
191
|
+
className: "\n text-sm text-action-primary-bg\n hover:text-action-primary-bgHover\n ",
|
|
192
|
+
children: f("bigconsole.widget.config.table.columns.add", "+ Add Column")
|
|
193
|
+
})]
|
|
194
|
+
}),
|
|
195
|
+
/* @__PURE__ */ o("p", {
|
|
196
|
+
className: "text-sm text-text-secondary mb-3",
|
|
197
|
+
children: f("bigconsole.widget.config.table.columns.replacementHelp", "Adding columns here replaces auto-generated columns. Only configured columns will be shown, in this order. In edit mode, drag table headers to reorder.")
|
|
198
|
+
}),
|
|
199
|
+
/* @__PURE__ */ s("div", {
|
|
200
|
+
className: "space-y-3",
|
|
201
|
+
children: [p.map((e, t) => /* @__PURE__ */ s("div", {
|
|
202
|
+
className: "\n p-3\n bg-bg-sunken\n rounded-md\n space-y-2\n ",
|
|
203
|
+
children: [
|
|
204
|
+
/* @__PURE__ */ s("div", {
|
|
205
|
+
className: "flex items-center justify-between",
|
|
206
|
+
children: [/* @__PURE__ */ o("span", {
|
|
207
|
+
className: "text-xs text-text-secondary",
|
|
208
|
+
children: f("bigconsole.widget.config.table.columns.columnN", "Column {{index}}", { index: t + 1 })
|
|
209
|
+
}), /* @__PURE__ */ o("button", {
|
|
210
|
+
type: "button",
|
|
211
|
+
onClick: () => C(t),
|
|
212
|
+
className: "text-status-error-text hover:text-status-error-text/80",
|
|
213
|
+
children: /* @__PURE__ */ o("svg", {
|
|
214
|
+
className: "w-4 h-4",
|
|
215
|
+
fill: "none",
|
|
216
|
+
stroke: "currentColor",
|
|
217
|
+
viewBox: "0 0 24 24",
|
|
218
|
+
children: /* @__PURE__ */ o("path", {
|
|
219
|
+
strokeLinecap: "round",
|
|
220
|
+
strokeLinejoin: "round",
|
|
221
|
+
strokeWidth: 2,
|
|
222
|
+
d: "M6 18L18 6M6 6l12 12"
|
|
223
|
+
})
|
|
267
224
|
})
|
|
268
|
-
]
|
|
269
|
-
}),
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
225
|
+
})]
|
|
226
|
+
}),
|
|
227
|
+
/* @__PURE__ */ s("div", {
|
|
228
|
+
className: "grid grid-cols-1 gap-2 sm:grid-cols-2",
|
|
229
|
+
children: [/* @__PURE__ */ o("input", {
|
|
230
|
+
type: "text",
|
|
231
|
+
value: e.field || "",
|
|
232
|
+
onChange: (e) => g(t, "field", e.target.value),
|
|
233
|
+
placeholder: f("bigconsole.widget.config.table.column.fieldPlaceholder", "Field name"),
|
|
234
|
+
className: "\n px-2 py-1\n text-sm text-text-primary\n bg-bg-surface\n border border-border-default\n rounded-md\n focus:outline-none focus:ring-2 focus:ring-action-primary-bg\n "
|
|
235
|
+
}), /* @__PURE__ */ o("input", {
|
|
236
|
+
type: "text",
|
|
237
|
+
value: e.header || "",
|
|
238
|
+
onChange: (e) => g(t, "header", e.target.value),
|
|
239
|
+
placeholder: f("bigconsole.widget.config.table.column.headerPlaceholder", "Header label"),
|
|
240
|
+
className: "\n px-2 py-1\n text-sm text-text-primary\n bg-bg-surface\n border border-border-default\n rounded-md\n focus:outline-none focus:ring-2 focus:ring-action-primary-bg\n "
|
|
241
|
+
})]
|
|
242
|
+
}),
|
|
243
|
+
/* @__PURE__ */ s("div", {
|
|
244
|
+
className: "grid grid-cols-1 gap-2 sm:grid-cols-2",
|
|
245
|
+
children: [/* @__PURE__ */ s("select", {
|
|
246
|
+
value: e.format || "text",
|
|
247
|
+
onChange: (e) => g(t, "format", e.target.value),
|
|
248
|
+
className: "\n px-2 py-1\n text-sm text-text-primary\n bg-bg-surface\n border border-border-default\n rounded-md\n focus:outline-none focus:ring-2 focus:ring-action-primary-bg\n ",
|
|
249
|
+
children: [
|
|
250
|
+
/* @__PURE__ */ o("option", {
|
|
251
|
+
value: "text",
|
|
252
|
+
children: f("bigconsole.widget.config.table.format.text", "Text")
|
|
253
|
+
}),
|
|
254
|
+
/* @__PURE__ */ o("option", {
|
|
255
|
+
value: "number",
|
|
256
|
+
children: f("bigconsole.widget.config.table.format.number", "Number")
|
|
257
|
+
}),
|
|
258
|
+
/* @__PURE__ */ o("option", {
|
|
259
|
+
value: "currency",
|
|
260
|
+
children: f("bigconsole.widget.config.table.format.currency", "Currency")
|
|
261
|
+
}),
|
|
262
|
+
/* @__PURE__ */ o("option", {
|
|
263
|
+
value: "percentage",
|
|
264
|
+
children: f("bigconsole.widget.config.table.format.percentage", "Percentage")
|
|
265
|
+
}),
|
|
266
|
+
/* @__PURE__ */ o("option", {
|
|
267
|
+
value: "date",
|
|
268
|
+
children: f("bigconsole.widget.config.table.format.date", "Date")
|
|
269
|
+
}),
|
|
270
|
+
/* @__PURE__ */ o("option", {
|
|
271
|
+
value: "badge",
|
|
272
|
+
children: f("bigconsole.widget.config.table.format.badge", "Badge")
|
|
273
|
+
})
|
|
274
|
+
]
|
|
275
|
+
}), /* @__PURE__ */ s("select", {
|
|
276
|
+
value: e.align || "left",
|
|
277
|
+
onChange: (e) => g(t, "align", e.target.value),
|
|
278
|
+
className: "\n px-2 py-1\n text-sm text-text-primary\n bg-bg-surface\n border border-border-default\n rounded-md\n focus:outline-none focus:ring-2 focus:ring-action-primary-bg\n ",
|
|
279
|
+
children: [
|
|
280
|
+
/* @__PURE__ */ o("option", {
|
|
281
|
+
value: "left",
|
|
282
|
+
children: f("bigconsole.widget.config.table.align.left", "Left")
|
|
283
|
+
}),
|
|
284
|
+
/* @__PURE__ */ o("option", {
|
|
285
|
+
value: "center",
|
|
286
|
+
children: f("bigconsole.widget.config.table.align.center", "Center")
|
|
287
|
+
}),
|
|
288
|
+
/* @__PURE__ */ o("option", {
|
|
289
|
+
value: "right",
|
|
290
|
+
children: f("bigconsole.widget.config.table.align.right", "Right")
|
|
291
|
+
})
|
|
292
|
+
]
|
|
293
|
+
})]
|
|
294
|
+
}),
|
|
295
|
+
/* @__PURE__ */ s("div", {
|
|
296
|
+
className: "pt-2 border-t border-border-default/60",
|
|
273
297
|
children: [
|
|
274
|
-
/* @__PURE__ */
|
|
275
|
-
|
|
276
|
-
children:
|
|
298
|
+
/* @__PURE__ */ s("div", {
|
|
299
|
+
className: "flex items-center justify-between mb-1",
|
|
300
|
+
children: [/* @__PURE__ */ o("span", {
|
|
301
|
+
className: "text-xs font-medium text-text-secondary",
|
|
302
|
+
children: f("bigconsole.widget.config.table.conditionalFormatting.title", "Conditional formatting")
|
|
303
|
+
}), /* @__PURE__ */ o("button", {
|
|
304
|
+
type: "button",
|
|
305
|
+
onClick: () => v(t),
|
|
306
|
+
className: "text-xs text-action-primary-bg hover:text-action-primary-bgHover",
|
|
307
|
+
children: f("bigconsole.widget.config.table.conditionalFormatting.addRule", "+ Add rule")
|
|
308
|
+
})]
|
|
277
309
|
}),
|
|
278
|
-
/* @__PURE__ */ o("
|
|
279
|
-
|
|
280
|
-
children: f("bigconsole.widget.config.table.
|
|
310
|
+
(e.conditionalRules?.length ?? 0) === 0 && /* @__PURE__ */ o("p", {
|
|
311
|
+
className: "text-xs text-text-secondary",
|
|
312
|
+
children: f("bigconsole.widget.config.table.conditionalFormatting.noRules", "No rules — cell shows its plain value.")
|
|
281
313
|
}),
|
|
282
|
-
/* @__PURE__ */ o("
|
|
283
|
-
|
|
284
|
-
children:
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
314
|
+
/* @__PURE__ */ o("div", {
|
|
315
|
+
className: "space-y-2",
|
|
316
|
+
children: (e.conditionalRules ?? []).map((e, n) => {
|
|
317
|
+
let r = e.operator === "between" || e.operator === "outside", i = e.style?.bgColor ?? e.style?.textColor ?? "danger";
|
|
318
|
+
return /* @__PURE__ */ s("div", {
|
|
319
|
+
className: "p-2 bg-bg-surface rounded-md border border-border-default space-y-2",
|
|
320
|
+
children: [/* @__PURE__ */ s("div", {
|
|
321
|
+
className: "flex items-center gap-2",
|
|
322
|
+
children: [
|
|
323
|
+
/* @__PURE__ */ o("select", {
|
|
324
|
+
value: e.operator,
|
|
325
|
+
onChange: (e) => y(t, n, { operator: e.target.value }),
|
|
326
|
+
className: `${u} flex-1`,
|
|
327
|
+
children: c.map((e) => /* @__PURE__ */ o("option", {
|
|
328
|
+
value: e.value,
|
|
329
|
+
children: f(e.labelKey, e.labelDefault)
|
|
330
|
+
}, e.value))
|
|
331
|
+
}),
|
|
332
|
+
/* @__PURE__ */ o("input", {
|
|
333
|
+
type: "text",
|
|
334
|
+
value: e.value ?? "",
|
|
335
|
+
onChange: (e) => y(t, n, { value: e.target.value }),
|
|
336
|
+
placeholder: f("bigconsole.widget.config.table.rule.valuePlaceholder", "value"),
|
|
337
|
+
className: `${u} w-20`
|
|
338
|
+
}),
|
|
339
|
+
r && /* @__PURE__ */ o("input", {
|
|
340
|
+
type: "text",
|
|
341
|
+
value: e.value2 ?? "",
|
|
342
|
+
onChange: (e) => y(t, n, { value2: e.target.value }),
|
|
343
|
+
placeholder: f("bigconsole.widget.config.table.rule.value2Placeholder", "and"),
|
|
344
|
+
className: `${u} w-20`
|
|
345
|
+
}),
|
|
346
|
+
/* @__PURE__ */ o("button", {
|
|
347
|
+
type: "button",
|
|
348
|
+
onClick: () => x(t, n),
|
|
349
|
+
className: "text-status-error-text hover:text-status-error-text/80",
|
|
350
|
+
"aria-label": f("bigconsole.widget.config.table.rule.remove", "Remove rule"),
|
|
351
|
+
children: /* @__PURE__ */ o("svg", {
|
|
352
|
+
className: "w-3.5 h-3.5",
|
|
353
|
+
fill: "none",
|
|
354
|
+
stroke: "currentColor",
|
|
355
|
+
viewBox: "0 0 24 24",
|
|
356
|
+
children: /* @__PURE__ */ o("path", {
|
|
357
|
+
strokeLinecap: "round",
|
|
358
|
+
strokeLinejoin: "round",
|
|
359
|
+
strokeWidth: 2,
|
|
360
|
+
d: "M6 18L18 6M6 6l12 12"
|
|
361
|
+
})
|
|
362
|
+
})
|
|
363
|
+
})
|
|
364
|
+
]
|
|
365
|
+
}), /* @__PURE__ */ s("div", {
|
|
366
|
+
className: "flex items-center gap-2",
|
|
367
|
+
children: [/* @__PURE__ */ o("select", {
|
|
368
|
+
value: i,
|
|
369
|
+
onChange: (e) => b(t, n, e.target.value),
|
|
320
370
|
className: `${u} flex-1`,
|
|
321
|
-
children:
|
|
371
|
+
children: l.map((e) => /* @__PURE__ */ o("option", {
|
|
322
372
|
value: e.value,
|
|
323
373
|
children: f(e.labelKey, e.labelDefault)
|
|
324
374
|
}, e.value))
|
|
325
|
-
}),
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
placeholder: f("bigconsole.widget.config.table.rule.value2Placeholder", "and"),
|
|
338
|
-
className: `${u} w-20`
|
|
339
|
-
}),
|
|
340
|
-
/* @__PURE__ */ o("button", {
|
|
341
|
-
type: "button",
|
|
342
|
-
onClick: () => x(t, n),
|
|
343
|
-
className: "text-status-error-text hover:text-status-error-text/80",
|
|
344
|
-
"aria-label": f("bigconsole.widget.config.table.rule.remove", "Remove rule"),
|
|
345
|
-
children: /* @__PURE__ */ o("svg", {
|
|
346
|
-
className: "w-3.5 h-3.5",
|
|
347
|
-
fill: "none",
|
|
348
|
-
stroke: "currentColor",
|
|
349
|
-
viewBox: "0 0 24 24",
|
|
350
|
-
children: /* @__PURE__ */ o("path", {
|
|
351
|
-
strokeLinecap: "round",
|
|
352
|
-
strokeLinejoin: "round",
|
|
353
|
-
strokeWidth: 2,
|
|
354
|
-
d: "M6 18L18 6M6 6l12 12"
|
|
355
|
-
})
|
|
356
|
-
})
|
|
357
|
-
})
|
|
358
|
-
]
|
|
359
|
-
}), /* @__PURE__ */ s("div", {
|
|
360
|
-
className: "flex items-center gap-2",
|
|
361
|
-
children: [/* @__PURE__ */ o("select", {
|
|
362
|
-
value: i,
|
|
363
|
-
onChange: (e) => b(t, n, e.target.value),
|
|
364
|
-
className: `${u} flex-1`,
|
|
365
|
-
children: l.map((e) => /* @__PURE__ */ o("option", {
|
|
366
|
-
value: e.value,
|
|
367
|
-
children: f(e.labelKey, e.labelDefault)
|
|
368
|
-
}, e.value))
|
|
369
|
-
}), /* @__PURE__ */ s("label", {
|
|
370
|
-
className: "flex items-center gap-1 text-xs text-text-primary",
|
|
371
|
-
children: [/* @__PURE__ */ o("input", {
|
|
372
|
-
type: "checkbox",
|
|
373
|
-
checked: e.style?.bold === !0,
|
|
374
|
-
onChange: (r) => y(t, n, { style: {
|
|
375
|
-
...e.style,
|
|
376
|
-
bold: r.target.checked
|
|
377
|
-
} }),
|
|
378
|
-
className: "w-3.5 h-3.5 text-action-primary-bg bg-bg-surface border-border-default rounded focus:ring-action-primary-bg"
|
|
379
|
-
}), f("bigconsole.widget.config.table.rule.bold", "Bold")]
|
|
375
|
+
}), /* @__PURE__ */ s("label", {
|
|
376
|
+
className: "flex items-center gap-1 text-xs text-text-primary",
|
|
377
|
+
children: [/* @__PURE__ */ o("input", {
|
|
378
|
+
type: "checkbox",
|
|
379
|
+
checked: e.style?.bold === !0,
|
|
380
|
+
onChange: (r) => y(t, n, { style: {
|
|
381
|
+
...e.style,
|
|
382
|
+
bold: r.target.checked
|
|
383
|
+
} }),
|
|
384
|
+
className: "w-3.5 h-3.5 text-action-primary-bg bg-bg-surface border-border-default rounded focus:ring-action-primary-bg"
|
|
385
|
+
}), f("bigconsole.widget.config.table.rule.bold", "Bold")]
|
|
386
|
+
})]
|
|
380
387
|
})]
|
|
381
|
-
})
|
|
382
|
-
}
|
|
388
|
+
}, n);
|
|
389
|
+
})
|
|
383
390
|
})
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
})
|
|
392
|
-
|
|
391
|
+
]
|
|
392
|
+
})
|
|
393
|
+
]
|
|
394
|
+
}, t)), p.length === 0 && /* @__PURE__ */ o("p", {
|
|
395
|
+
className: "text-sm text-text-secondary text-center py-4",
|
|
396
|
+
children: f("bigconsole.widget.config.table.columns.empty", "No columns configured. Columns will be auto-generated from data.")
|
|
397
|
+
})]
|
|
398
|
+
})
|
|
399
|
+
] }),
|
|
393
400
|
/* @__PURE__ */ s("div", {
|
|
394
401
|
role: "group",
|
|
395
402
|
"aria-label": "Display options",
|