@object-ui/plugin-dashboard 3.3.0 → 3.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +21 -1
  3. package/dist/index.js +869 -787
  4. package/dist/index.umd.cjs +4 -4
  5. package/dist/packages/plugin-dashboard/src/DashboardRenderer.d.ts +5 -0
  6. package/dist/packages/plugin-dashboard/src/DashboardRenderer.d.ts.map +1 -1
  7. package/dist/packages/plugin-dashboard/src/MetricWidget.d.ts +4 -1
  8. package/dist/packages/plugin-dashboard/src/MetricWidget.d.ts.map +1 -1
  9. package/dist/packages/plugin-dashboard/src/ObjectMetricWidget.d.ts +2 -0
  10. package/dist/packages/plugin-dashboard/src/ObjectMetricWidget.d.ts.map +1 -1
  11. package/dist/packages/plugin-dashboard/src/index.d.ts +1 -1
  12. package/package.json +40 -7
  13. package/.turbo/turbo-build.log +0 -41
  14. package/src/DashboardConfigPanel.stories.tsx +0 -164
  15. package/src/DashboardConfigPanel.tsx +0 -158
  16. package/src/DashboardGridLayout.tsx +0 -367
  17. package/src/DashboardRenderer.stories.tsx +0 -173
  18. package/src/DashboardRenderer.tsx +0 -479
  19. package/src/DashboardWithConfig.tsx +0 -211
  20. package/src/MetricCard.tsx +0 -102
  21. package/src/MetricWidget.tsx +0 -96
  22. package/src/ObjectDataTable.tsx +0 -226
  23. package/src/ObjectMetricWidget.tsx +0 -159
  24. package/src/ObjectPivotTable.tsx +0 -160
  25. package/src/PivotTable.tsx +0 -262
  26. package/src/WidgetConfigPanel.tsx +0 -540
  27. package/src/__tests__/DashboardConfigPanel.test.tsx +0 -206
  28. package/src/__tests__/DashboardGridLayout.test.tsx +0 -199
  29. package/src/__tests__/DashboardRenderer.autoRefresh.test.tsx +0 -124
  30. package/src/__tests__/DashboardRenderer.designMode.test.tsx +0 -386
  31. package/src/__tests__/DashboardRenderer.header.test.tsx +0 -114
  32. package/src/__tests__/DashboardRenderer.mobile.test.tsx +0 -214
  33. package/src/__tests__/DashboardRenderer.widgetData.test.tsx +0 -1411
  34. package/src/__tests__/DashboardWithConfig.test.tsx +0 -276
  35. package/src/__tests__/MetricCard.test.tsx +0 -107
  36. package/src/__tests__/ObjectDataTable.test.tsx +0 -211
  37. package/src/__tests__/ObjectMetricWidget.test.tsx +0 -196
  38. package/src/__tests__/ObjectPivotTable.test.tsx +0 -192
  39. package/src/__tests__/PivotTable.test.tsx +0 -162
  40. package/src/__tests__/WidgetConfigPanel.test.tsx +0 -492
  41. package/src/__tests__/ensureWidgetIds.test.tsx +0 -103
  42. package/src/index.tsx +0 -236
  43. package/src/utils.ts +0 -17
  44. package/tsconfig.json +0 -19
  45. package/vite.config.ts +0 -64
  46. package/vitest.config.ts +0 -9
  47. package/vitest.setup.tsx +0 -18
package/dist/index.js CHANGED
@@ -1,24 +1,24 @@
1
1
  import { ComponentRegistry as e, extractRecords as t } from "@object-ui/core";
2
- import { SchemaRenderer as n, SchemaRendererContext as r, useDataScope as i, useDnd as a, useHasDndProvider as o } from "@object-ui/react";
3
- import { Button as s, Card as c, CardContent as l, CardHeader as u, CardTitle as d, Combobox as f, ConfigPanelRenderer as p, ConfigRow as m, Skeleton as h, cn as g, useConfigDraft as _ } from "@object-ui/components";
4
- import * as v from "react";
5
- import y, { forwardRef as b, useCallback as x, useContext as S, useEffect as C, useMemo as w, useRef as T, useState as E } from "react";
6
- import * as D from "lucide-react";
7
- import { AlertCircle as O, ArrowDownIcon as k, ArrowUpIcon as A, Edit as j, GripVertical as M, Loader2 as N, MinusIcon as P, RefreshCw as F, Save as I, Settings as L, X as R } from "lucide-react";
2
+ import { SchemaRenderer as n, SchemaRendererContext as r, useActionEngine as i, useDataScope as a, useDnd as o, useHasDndProvider as s } from "@object-ui/react";
3
+ import { Button as c, Card as l, CardContent as u, CardHeader as d, CardTitle as f, Combobox as p, ConfigPanelRenderer as m, ConfigRow as h, Skeleton as g, cn as _, useConfigDraft as v } from "@object-ui/components";
4
+ import * as y from "react";
5
+ import b, { forwardRef as x, useCallback as S, useContext as C, useEffect as w, useMemo as T, useRef as E, useState as D } from "react";
6
+ import * as O from "lucide-react";
7
+ import { AlertCircle as k, ArrowDownIcon as A, ArrowUpIcon as j, Edit as M, GripVertical as N, Loader2 as P, MinusIcon as F, RefreshCw as I, Save as L, Settings as R, X as z } from "lucide-react";
8
8
  import ee from "clsx";
9
9
  //#region \0rolldown/runtime.js
10
- var z = (e, t) => () => (t || e((t = { exports: {} }).exports, t), t.exports), B = /* @__PURE__ */ ((e) => typeof require < "u" ? require : typeof Proxy < "u" ? new Proxy(e, { get: (e, t) => (typeof require < "u" ? require : e)[t] }) : e)(function(e) {
10
+ var B = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t.exports), V = /* @__PURE__ */ ((e) => typeof require < "u" ? require : typeof Proxy < "u" ? new Proxy(e, { get: (e, t) => (typeof require < "u" ? require : e)[t] }) : e)(function(e) {
11
11
  if (typeof require < "u") return require.apply(this, arguments);
12
12
  throw Error("Calling `require` for \"" + e + "\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.");
13
13
  });
14
14
  //#endregion
15
15
  //#region src/utils.ts
16
- function V(e) {
16
+ function H(e) {
17
17
  return typeof e == "object" && !!e && !Array.isArray(e) && e.provider === "object";
18
18
  }
19
19
  //#endregion
20
20
  //#region ../../node_modules/.pnpm/react@19.2.5/node_modules/react/cjs/react-jsx-runtime.production.js
21
- var H = /* @__PURE__ */ z(((e) => {
21
+ var te = /* @__PURE__ */ B(((e) => {
22
22
  var t = Symbol.for("react.transitional.element"), n = Symbol.for("react.fragment");
23
23
  function r(e, n, r) {
24
24
  var i = null;
@@ -33,7 +33,7 @@ var H = /* @__PURE__ */ z(((e) => {
33
33
  };
34
34
  }
35
35
  e.Fragment = n, e.jsx = r, e.jsxs = r;
36
- })), te = /* @__PURE__ */ z(((e) => {
36
+ })), ne = /* @__PURE__ */ B(((e) => {
37
37
  process.env.NODE_ENV !== "production" && (function() {
38
38
  function t(e) {
39
39
  if (e == null) return null;
@@ -176,7 +176,7 @@ var H = /* @__PURE__ */ z(((e) => {
176
176
  function p(e) {
177
177
  return typeof e == "object" && !!e && e.$$typeof === h;
178
178
  }
179
- var m = B("react"), h = Symbol.for("react.transitional.element"), g = Symbol.for("react.portal"), _ = Symbol.for("react.fragment"), v = Symbol.for("react.strict_mode"), y = Symbol.for("react.profiler"), b = Symbol.for("react.consumer"), x = Symbol.for("react.context"), S = Symbol.for("react.forward_ref"), C = Symbol.for("react.suspense"), w = Symbol.for("react.suspense_list"), T = Symbol.for("react.memo"), E = Symbol.for("react.lazy"), D = Symbol.for("react.activity"), O = Symbol.for("react.client.reference"), k = m.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, A = Object.prototype.hasOwnProperty, j = Array.isArray, M = console.createTask ? console.createTask : function() {
179
+ var m = V("react"), h = Symbol.for("react.transitional.element"), g = Symbol.for("react.portal"), _ = Symbol.for("react.fragment"), v = Symbol.for("react.strict_mode"), y = Symbol.for("react.profiler"), b = Symbol.for("react.consumer"), x = Symbol.for("react.context"), S = Symbol.for("react.forward_ref"), C = Symbol.for("react.suspense"), w = Symbol.for("react.suspense_list"), T = Symbol.for("react.memo"), E = Symbol.for("react.lazy"), D = Symbol.for("react.activity"), O = Symbol.for("react.client.reference"), k = m.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, A = Object.prototype.hasOwnProperty, j = Array.isArray, M = console.createTask ? console.createTask : function() {
180
180
  return null;
181
181
  };
182
182
  m = { react_stack_bottom_frame: function(e) {
@@ -191,66 +191,91 @@ var H = /* @__PURE__ */ z(((e) => {
191
191
  return d(e, t, n, !0, r ? Error("react-stack-top-frame") : F, r ? M(i(e)) : I);
192
192
  };
193
193
  })();
194
- })), U = (/* @__PURE__ */ z(((e, t) => {
195
- process.env.NODE_ENV === "production" ? t.exports = H() : t.exports = te();
194
+ })), U = (/* @__PURE__ */ B(((e, t) => {
195
+ process.env.NODE_ENV === "production" ? t.exports = te() : t.exports = ne();
196
196
  })))();
197
- function W(e) {
197
+ function re(e) {
198
+ if (!e) return null;
199
+ let t = O;
200
+ return t[e] ? t[e] : t[e.split("-").map((e) => e.charAt(0).toUpperCase() + e.slice(1)).join("")] ?? null;
201
+ }
202
+ function ie(e) {
198
203
  if (e != null) return typeof e == "string" ? e : e.defaultValue || e.key;
199
204
  }
200
- var ne = [
205
+ var ae = [
201
206
  "hsl(var(--chart-1))",
202
207
  "hsl(var(--chart-2))",
203
208
  "hsl(var(--chart-3))",
204
209
  "hsl(var(--chart-4))",
205
210
  "hsl(var(--chart-5))"
206
- ], re = b(({ schema: e, className: t, dataSource: r, onRefresh: i, recordCount: a, userActions: o, designMode: f, selectedWidgetId: p, onWidgetClick: m, ...h }, _) => {
207
- let v = e.columns || 4, y = e.gap || 4, [b, S] = E(!1), [w, D] = E(!1), O = T(null);
208
- C(() => {
209
- let e = () => D(window.innerWidth < 768);
211
+ ], W = x(({ schema: e, className: t, dataSource: r, onRefresh: a, recordCount: o, userActions: s, designMode: p, selectedWidgetId: m, onWidgetClick: h, modalHandler: g, scriptHandlers: v, ...y }, b) => {
212
+ let x = (() => {
213
+ if (e.columns != null) return e.columns;
214
+ let t = e.widgets ?? [], n = 0;
215
+ for (let e of t) {
216
+ let t = (e.layout?.x ?? 0) + (e.layout?.w ?? 0);
217
+ t > n && (n = t), (e.layout?.w ?? 0) > n && (n = e.layout.w);
218
+ }
219
+ return n > 4 ? 12 : 4;
220
+ })(), C = x, O = e.gap || 4, [k, A] = D(!1), [j, M] = D(!1), N = E(null), { executeAction: P, engine: F } = i({ actions: T(() => (e.header?.actions ?? []).map((e) => ({
221
+ name: e.actionUrl || e.label,
222
+ type: e.actionType || "url",
223
+ target: e.actionUrl,
224
+ label: e.label
225
+ })), [e.header?.actions]) });
226
+ w(() => {
227
+ let e = F.getRunner();
228
+ if (g && e.setModalHandler(g), v) for (let [t, n] of Object.entries(v)) e.registerScript(t, n);
229
+ }, [
230
+ F,
231
+ g,
232
+ v
233
+ ]), w(() => {
234
+ let e = () => M(window.innerWidth < 768);
210
235
  return e(), window.addEventListener("resize", e), () => window.removeEventListener("resize", e);
211
236
  }, []);
212
- let k = x(() => {
213
- i && (S(!0), i(), setTimeout(() => S(!1), 600));
214
- }, [i]);
215
- C(() => {
216
- if (!(!e.refreshInterval || e.refreshInterval <= 0 || !i)) return O.current = setInterval(k, e.refreshInterval * 1e3), () => {
217
- O.current && clearInterval(O.current);
237
+ let L = S(() => {
238
+ a && (A(!0), a(), setTimeout(() => A(!1), 600));
239
+ }, [a]);
240
+ w(() => {
241
+ if (!(!e.refreshInterval || e.refreshInterval <= 0 || !a)) return N.current = setInterval(L, e.refreshInterval * 1e3), () => {
242
+ N.current && clearInterval(N.current);
218
243
  };
219
244
  }, [
220
245
  e.refreshInterval,
221
- i,
222
- k
246
+ a,
247
+ L
223
248
  ]);
224
- let A = x((e, t) => {
225
- !f || !m || !t || (e.stopPropagation(), m(t));
226
- }, [f, m]), j = x((t, n, r) => {
227
- if (!f || !m) return;
249
+ let R = S((e, t) => {
250
+ !p || !h || !t || (e.stopPropagation(), h(t));
251
+ }, [p, h]), z = S((t, n, r) => {
252
+ if (!p || !h) return;
228
253
  let i = e.widgets || [];
229
- if (t.key === "Enter" || t.key === " ") t.preventDefault(), m(n ?? null);
254
+ if (t.key === "Enter" || t.key === " ") t.preventDefault(), h(n ?? null);
230
255
  else if (t.key === "ArrowRight" || t.key === "ArrowDown") {
231
256
  t.preventDefault();
232
257
  let e = r + 1 < i.length ? i[r + 1] : null;
233
- e?.id && m(e.id);
258
+ e?.id && h(e.id);
234
259
  } else if (t.key === "ArrowLeft" || t.key === "ArrowUp") {
235
260
  t.preventDefault();
236
261
  let e = r - 1 >= 0 ? i[r - 1] : null;
237
- e?.id && m(e.id);
238
- } else t.key === "Escape" && (t.preventDefault(), m(null));
262
+ e?.id && h(e.id);
263
+ } else t.key === "Escape" && (t.preventDefault(), h(null));
239
264
  }, [
240
- f,
241
- m,
265
+ p,
266
+ h,
242
267
  e.widgets
243
- ]), M = x((e) => {
244
- !f || !m || e.target === e.currentTarget && m(null);
245
- }, [f, m]), N = (e, t, r) => {
246
- let i = e.layout ? {
268
+ ]), ee = S((e) => {
269
+ !p || !h || e.target === e.currentTarget && h(null);
270
+ }, [p, h]), B = (e, t, i) => {
271
+ let a = e.layout ? {
247
272
  ...e.layout,
248
- w: Math.min(e.layout.w, v)
249
- } : void 0, a = (() => {
273
+ w: Math.min(e.layout.w, C)
274
+ } : void 0, o = (() => {
250
275
  if (e.component) return e.component;
251
276
  let t = e.type, n = e.options || {};
252
277
  if (t === "metric" && e.object) {
253
- let t = n.data, r = V(t) && t.aggregate ? {
278
+ let t = n.data, r = H(t) && t.aggregate ? {
254
279
  field: e.valueField || t.aggregate.field,
255
280
  function: e.aggregate || t.aggregate.function,
256
281
  groupBy: e.categoryField ?? t.aggregate.groupBy ?? "_all"
@@ -261,65 +286,87 @@ var ne = [
261
286
  } : void 0;
262
287
  return {
263
288
  type: "object-metric",
264
- objectName: e.object || (V(t) ? t.object : void 0),
289
+ objectName: e.object || (H(t) ? t.object : void 0),
265
290
  aggregate: r,
266
- filter: (V(t) ? t.filter : void 0) || e.filter,
267
- label: n.label || W(e.title) || "",
291
+ filter: (H(t) ? t.filter : void 0) || e.filter,
292
+ label: n.label || ie(e.title) || "",
268
293
  fallbackValue: n.value,
269
294
  trend: n.trend,
270
295
  icon: n.icon,
296
+ description: n.description,
297
+ colorVariant: e.colorVariant
298
+ };
299
+ }
300
+ if ((t === "gauge" || t === "solid-gauge") && e.object) {
301
+ let t = e.aggregate ? {
302
+ field: e.valueField || "value",
303
+ function: e.aggregate,
304
+ groupBy: e.categoryField || "_all"
305
+ } : void 0;
306
+ return {
307
+ type: "object-metric",
308
+ objectName: e.object,
309
+ aggregate: t,
310
+ filter: e.filter,
311
+ label: n.label || ie(e.title) || "",
312
+ fallbackValue: n.fallbackValue ?? n.value,
313
+ icon: n.icon,
271
314
  description: n.description
272
315
  };
273
316
  }
274
- if (t === "bar" || t === "line" || t === "area" || t === "pie" || t === "donut" || t === "scatter") {
275
- let r = e.data || n.data, i = e.categoryField || n.xField || "name", a = e.valueField || n.yField || "value";
276
- if (V(r)) {
277
- let n = r.aggregate, o = n ? {
317
+ let r = {
318
+ funnel: "bar",
319
+ "horizontal-bar": "bar"
320
+ }[t] || t;
321
+ if (r === "bar" || r === "line" || r === "area" || r === "pie" || r === "donut" || r === "scatter") {
322
+ let t = e.data || n.data, i = e.categoryField || n.xField || "name", a = e.valueField || n.yField || "value";
323
+ if (H(t)) {
324
+ let n = t.aggregate, o = n ? {
278
325
  field: e.valueField || n.field,
279
326
  function: e.aggregate || n.function,
280
327
  groupBy: e.categoryField || n.groupBy
281
328
  } : void 0, s = o?.field || a;
282
329
  return {
283
330
  type: "object-chart",
284
- chartType: t,
285
- objectName: e.object || r.object,
331
+ chartType: r,
332
+ objectName: e.object || t.object,
286
333
  aggregate: o,
287
334
  xAxisKey: i,
288
335
  series: [{ dataKey: s }],
289
- colors: ne,
336
+ colors: ae,
290
337
  className: "h-[200px] sm:h-[250px] md:h-[300px]"
291
338
  };
292
339
  }
293
- if (!r && e.object) {
294
- let n = e.aggregate ? {
340
+ if (!t && e.object) {
341
+ let t = e.aggregate ? {
295
342
  field: e.valueField || "value",
296
343
  function: e.aggregate,
297
344
  groupBy: e.categoryField || "name"
298
345
  } : void 0;
299
346
  return {
300
347
  type: "object-chart",
301
- chartType: t,
348
+ chartType: r,
302
349
  objectName: e.object,
303
- aggregate: n,
350
+ aggregate: t,
304
351
  xAxisKey: i,
305
352
  series: [{ dataKey: e.valueField || "value" }],
306
- colors: ne,
353
+ colors: ae,
307
354
  className: "h-[200px] sm:h-[250px] md:h-[300px]"
308
355
  };
309
356
  }
310
357
  return {
311
358
  type: "chart",
312
- chartType: t,
313
- data: Array.isArray(r) ? r : r?.items || [],
359
+ chartType: r,
360
+ data: Array.isArray(t) ? t : t?.items || [],
314
361
  xAxisKey: i,
315
362
  series: [{ dataKey: a }],
316
- colors: ne,
363
+ colors: ae,
317
364
  className: "h-[200px] sm:h-[250px] md:h-[300px]"
318
365
  };
319
366
  }
320
367
  if (t === "table") {
321
368
  let t = e.data || n.data;
322
- if (V(t)) {
369
+ if (H(t)) {
323
370
  let { data: r, ...i } = n;
324
371
  return {
325
372
  type: "object-data-table",
@@ -351,7 +398,7 @@ var ne = [
351
398
  }
352
399
  if (t === "pivot") {
353
400
  let t = e.data || n.data;
354
- if (V(t)) {
401
+ if (H(t)) {
355
402
  let { data: r, ...i } = n;
356
403
  return {
357
404
  type: "object-pivot",
@@ -376,151 +423,176 @@ var ne = [
376
423
  ...e,
377
424
  ...n
378
425
  };
379
- })(), o = e.type === "metric", s = W(e.title), m = W(e.description), h = e.id || s || `widget-${t}`, _ = f && p === e.id, y = f ? {
426
+ })(), s = e.type === "metric", c = ie(e.title), h = ie(e.description), g = e.id || c || `widget-${t}`, v = p && m === e.id, y = p ? {
380
427
  "data-testid": `dashboard-preview-widget-${e.id}`,
381
428
  "data-widget-id": e.id,
382
429
  role: "button",
383
430
  tabIndex: 0,
384
- "aria-selected": _,
385
- "aria-label": `Widget: ${s || `Widget ${t + 1}`}`,
386
- onClick: (t) => A(t, e.id),
387
- onKeyDown: (n) => j(n, e.id, t)
388
- } : {}, b = f ? g("cursor-pointer rounded-lg transition-all outline-none", "focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2", _ ? "ring-2 ring-primary shadow-md bg-primary/5 dark:bg-primary/10" : "hover:ring-2 hover:ring-primary/40 hover:shadow-sm") : void 0;
389
- return o ? /* @__PURE__ */ (0, U.jsxs)("div", {
390
- className: g("h-full w-full", f && "relative", b),
391
- style: !w && i ? {
392
- gridColumn: `span ${i.w}`,
393
- gridRow: `span ${i.h}`
431
+ "aria-selected": v,
432
+ "aria-label": `Widget: ${c || `Widget ${t + 1}`}`,
433
+ onClick: (t) => R(t, e.id),
434
+ onKeyDown: (n) => z(n, e.id, t)
435
+ } : {}, b = p ? _("cursor-pointer rounded-lg transition-all outline-none", "focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2", v ? "ring-2 ring-primary shadow-md bg-primary/5 dark:bg-primary/10" : "hover:ring-2 hover:ring-primary/40 hover:shadow-sm") : void 0;
436
+ return s ? /* @__PURE__ */ (0, U.jsxs)("div", {
437
+ className: _("h-full w-full", p && "relative", b),
438
+ style: !j && a ? {
439
+ gridColumn: `span ${a.w}`,
440
+ gridRow: `span ${a.h}`
394
441
  } : void 0,
395
442
  ...y,
396
443
  children: [/* @__PURE__ */ (0, U.jsx)(n, {
397
- schema: a,
398
- className: g("h-full w-full", f && "pointer-events-none")
399
- }), f && /* @__PURE__ */ (0, U.jsx)("div", {
444
+ schema: o,
445
+ className: _("h-full w-full", p && "pointer-events-none"),
446
+ dataSource: r
447
+ }), p && /* @__PURE__ */ (0, U.jsx)("div", {
400
448
  className: "absolute inset-0 z-10",
401
449
  "aria-hidden": "true",
402
450
  "data-testid": "widget-click-overlay"
403
451
  })]
404
- }, h) : /* @__PURE__ */ (0, U.jsxs)(c, {
405
- className: g("overflow-hidden border-border/50 shadow-sm transition-all hover:shadow-md", "bg-card/50 backdrop-blur-sm", r && "w-full", f && "relative", b),
406
- style: !w && i ? {
407
- gridColumn: `span ${i.w}`,
408
- gridRow: `span ${i.h}`
452
+ }, g) : /* @__PURE__ */ (0, U.jsxs)(l, {
453
+ className: _("overflow-hidden border-border/50 shadow-sm transition-all hover:shadow-md", "bg-card/50 backdrop-blur-sm", i && "w-full", p && "relative", b),
454
+ style: !j && a ? {
455
+ gridColumn: `span ${a.w}`,
456
+ gridRow: `span ${a.h}`
409
457
  } : void 0,
410
458
  ...y,
411
459
  children: [
412
- s && /* @__PURE__ */ (0, U.jsxs)(u, {
460
+ c && /* @__PURE__ */ (0, U.jsxs)(d, {
413
461
  className: "pb-2 border-b border-border/40 bg-muted/20 px-3 sm:px-6",
414
- children: [/* @__PURE__ */ (0, U.jsx)(d, {
462
+ children: [/* @__PURE__ */ (0, U.jsx)(f, {
415
463
  className: "text-sm sm:text-base font-medium tracking-tight truncate",
416
- title: s,
417
- children: s
418
- }), m && /* @__PURE__ */ (0, U.jsx)("p", {
464
+ title: c,
465
+ children: c
466
+ }), h && /* @__PURE__ */ (0, U.jsx)("p", {
419
467
  className: "text-xs text-muted-foreground mt-0.5 line-clamp-2",
420
- children: m
468
+ children: h
421
469
  })]
422
470
  }),
423
- /* @__PURE__ */ (0, U.jsx)(l, {
471
+ /* @__PURE__ */ (0, U.jsx)(u, {
424
472
  className: "p-0",
425
473
  children: /* @__PURE__ */ (0, U.jsx)("div", {
426
- className: g("h-full w-full", "p-3 sm:p-4 md:p-6", f && "pointer-events-none"),
427
- children: /* @__PURE__ */ (0, U.jsx)(n, { schema: a })
474
+ className: _("h-full w-full", "p-3 sm:p-4 md:p-6", p && "pointer-events-none"),
475
+ children: /* @__PURE__ */ (0, U.jsx)(n, {
476
+ schema: o,
477
+ dataSource: r
478
+ })
428
479
  })
429
480
  }),
430
- f && /* @__PURE__ */ (0, U.jsx)("div", {
481
+ p && /* @__PURE__ */ (0, U.jsx)("div", {
431
482
  className: "absolute inset-0 z-10",
432
483
  "aria-hidden": "true",
433
484
  "data-testid": "widget-click-overlay"
434
485
  })
435
486
  ]
436
- }, h);
437
- }, P = e.header && /* @__PURE__ */ (0, U.jsxs)("div", {
487
+ }, g);
488
+ }, V = e.header && /* @__PURE__ */ (0, U.jsxs)("div", {
438
489
  className: "col-span-full mb-4",
439
490
  children: [
440
491
  e.header.showTitle !== !1 && e.title && /* @__PURE__ */ (0, U.jsx)("h2", {
441
492
  className: "text-lg font-semibold tracking-tight",
442
- children: W(e.title)
493
+ children: ie(e.title)
443
494
  }),
444
495
  e.header.showDescription !== !1 && e.description && /* @__PURE__ */ (0, U.jsx)("p", {
445
496
  className: "text-sm text-muted-foreground mt-1",
446
- children: W(e.description)
497
+ children: ie(e.description)
447
498
  }),
448
499
  e.header.actions && e.header.actions.length > 0 && /* @__PURE__ */ (0, U.jsx)("div", {
449
500
  className: "flex gap-2 mt-3",
450
- children: e.header.actions.map((e, t) => /* @__PURE__ */ (0, U.jsx)(s, {
451
- variant: "outline",
452
- size: "sm",
453
- children: e.label
454
- }, t))
501
+ children: e.header.actions.map((e, t) => {
502
+ let n = re(e.icon);
503
+ return /* @__PURE__ */ (0, U.jsxs)(c, {
504
+ variant: "outline",
505
+ size: "sm",
506
+ onClick: async () => {
507
+ let { actionType: t, actionUrl: n, label: r } = e;
508
+ if (!t || !n) {
509
+ console.warn("[DashboardRenderer] Header action missing actionType/actionUrl:", e);
510
+ return;
511
+ }
512
+ if (t === "url") {
513
+ /^https?:\/\//.test(n) || n.startsWith("//") ? window.location.assign(n) : (window.history.pushState({}, "", n), window.dispatchEvent(new PopStateEvent("popstate")));
514
+ return;
515
+ }
516
+ if (t === "modal" || t === "script") {
517
+ let e = await P(n || r);
518
+ e?.success || console.warn("[DashboardRenderer] action failed", e?.error);
519
+ return;
520
+ }
521
+ console.warn(`[DashboardRenderer] Unknown header actionType="${t}" for "${r}"`);
522
+ },
523
+ children: [n && /* @__PURE__ */ (0, U.jsx)(n, { className: "w-4 h-4 mr-1.5" }), e.label]
524
+ }, t);
525
+ })
455
526
  })
456
527
  ]
457
- }), I = a !== void 0 && /* @__PURE__ */ (0, U.jsxs)("span", {
528
+ }), te = o !== void 0 && /* @__PURE__ */ (0, U.jsxs)("span", {
458
529
  className: "text-xs text-muted-foreground",
459
- children: [a.toLocaleString(), " records"]
460
- }), L = o ? JSON.stringify(o) : void 0, R = i && /* @__PURE__ */ (0, U.jsxs)("div", {
461
- className: g("flex items-center justify-end gap-3 mb-2", !w && "col-span-full"),
462
- children: [I, /* @__PURE__ */ (0, U.jsxs)(s, {
530
+ children: [o.toLocaleString(), " records"]
531
+ }), ne = s ? JSON.stringify(s) : void 0, W = a && /* @__PURE__ */ (0, U.jsxs)("div", {
532
+ className: _("flex items-center justify-end gap-3 mb-2", !j && "col-span-full"),
533
+ children: [te, /* @__PURE__ */ (0, U.jsxs)(c, {
463
534
  variant: "outline",
464
535
  size: "sm",
465
- onClick: k,
466
- disabled: b,
536
+ onClick: L,
537
+ disabled: k,
467
538
  "aria-label": "Refresh dashboard",
468
- children: [/* @__PURE__ */ (0, U.jsx)(F, { className: g("h-4 w-4 mr-2", b && "animate-spin") }), b ? "Refreshing…" : "Refresh All"]
539
+ children: [/* @__PURE__ */ (0, U.jsx)(I, { className: _("h-4 w-4 mr-2", k && "animate-spin") }), k ? "Refreshing…" : "Refresh All"]
469
540
  })]
470
541
  });
471
- if (w) {
542
+ if (j) {
472
543
  let n = e.widgets?.filter((e) => e.type === "metric") || [], r = e.widgets?.filter((e) => e.type !== "metric") || [];
473
544
  return /* @__PURE__ */ (0, U.jsxs)("div", {
474
- ref: _,
475
- className: g("flex flex-col gap-4 px-4", t),
476
- "data-user-actions": L,
477
- onClick: M,
478
- ...h,
545
+ ref: b,
546
+ className: _("flex flex-col gap-4 px-4", t),
547
+ "data-user-actions": ne,
548
+ onClick: ee,
549
+ ...y,
479
550
  children: [
480
- P,
481
- R,
551
+ V,
552
+ W,
482
553
  n.length > 0 && /* @__PURE__ */ (0, U.jsx)("div", {
483
554
  className: "grid grid-cols-2 gap-3",
484
- onClick: M,
485
- children: n.map((e, t) => N(e, t))
555
+ onClick: ee,
556
+ children: n.map((e, t) => B(e, t))
486
557
  }),
487
558
  r.length > 0 && /* @__PURE__ */ (0, U.jsx)("div", {
488
559
  className: "flex flex-col gap-4",
489
- onClick: M,
490
- children: r.map((e, t) => N(e, t, !0))
560
+ onClick: ee,
561
+ children: r.map((e, t) => B(e, t, !0))
491
562
  })
492
563
  ]
493
564
  });
494
565
  }
566
+ let oe = e.columns != null || x !== 4;
495
567
  return /* @__PURE__ */ (0, U.jsxs)("div", {
496
- ref: _,
497
- className: g("grid auto-rows-min", "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4", t),
568
+ ref: b,
569
+ className: _("grid auto-rows-min", !oe && "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4", t),
498
570
  style: {
499
- ...v > 4 && { gridTemplateColumns: `repeat(${v}, minmax(0, 1fr))` },
500
- gap: `${y * .25}rem`
571
+ ...oe && { gridTemplateColumns: `repeat(${C}, minmax(0, 1fr))` },
572
+ gap: `${O * .25}rem`
501
573
  },
502
- "data-user-actions": L,
503
- onClick: M,
504
- ...h,
574
+ "data-user-actions": ne,
575
+ onClick: ee,
576
+ ...y,
505
577
  children: [
506
- P,
507
- R,
508
- e.widgets?.map((e, t) => N(e, t))
578
+ V,
579
+ W,
580
+ e.widgets?.map((e, t) => B(e, t))
509
581
  ]
510
582
  });
511
583
  });
512
584
  //#endregion
513
585
  //#region ../../node_modules/.pnpm/react-grid-layout@2.2.3_react-dom@19.2.5_react@19.2.5__react@19.2.5/node_modules/react-grid-layout/dist/chunk-76RTO6EO.mjs
514
- function ie(e) {
586
+ function oe(e) {
515
587
  let { margin: t, containerPadding: n, containerWidth: r, cols: i } = e;
516
588
  return (r - t[0] * (i - 1) - n[0] * 2) / i;
517
589
  }
518
- function ae(e, t, n) {
590
+ function se(e, t, n) {
519
591
  return Number.isFinite(e) ? Math.round(t * e + Math.max(0, e - 1) * n) : e;
520
592
  }
521
- function oe(e, t, n, r, i, a, o) {
522
- let { margin: s, containerPadding: c, rowHeight: l } = e, u = ie(e), d, f, p, m;
523
- if (o ? (d = Math.round(o.width), f = Math.round(o.height)) : (d = ae(r, u, s[0]), f = ae(i, l, s[1])), a ? (p = Math.round(a.top), m = Math.round(a.left)) : o ? (p = Math.round(o.top), m = Math.round(o.left)) : (p = Math.round((l + s[1]) * n + c[1]), m = Math.round((u + s[0]) * t + c[0])), !a && !o) {
593
+ function ce(e, t, n, r, i, a, o) {
594
+ let { margin: s, containerPadding: c, rowHeight: l } = e, u = oe(e), d, f, p, m;
595
+ if (o ? (d = Math.round(o.width), f = Math.round(o.height)) : (d = se(r, u, s[0]), f = se(i, l, s[1])), a ? (p = Math.round(a.top), m = Math.round(a.left)) : o ? (p = Math.round(o.top), m = Math.round(o.left)) : (p = Math.round((l + s[1]) * n + c[1]), m = Math.round((u + s[0]) * t + c[0])), !a && !o) {
524
596
  if (Number.isFinite(r)) {
525
597
  let e = Math.round((u + s[0]) * (t + r) + c[0]) - m - d;
526
598
  e !== s[0] && (d += e - s[0]);
@@ -537,52 +609,52 @@ function oe(e, t, n, r, i, a, o) {
537
609
  height: f
538
610
  };
539
611
  }
540
- function se(e, t, n, r, i) {
541
- let { margin: a, containerPadding: o, cols: s, rowHeight: c, maxRows: l } = e, u = ie(e), d = Math.round((n - o[0]) / (u + a[0])), f = Math.round((t - o[1]) / (c + a[1]));
542
- return d = ue(d, 0, s - r), f = ue(f, 0, l - i), {
612
+ function le(e, t, n, r, i) {
613
+ let { margin: a, containerPadding: o, cols: s, rowHeight: c, maxRows: l } = e, u = oe(e), d = Math.round((n - o[0]) / (u + a[0])), f = Math.round((t - o[1]) / (c + a[1]));
614
+ return d = de(d, 0, s - r), f = de(f, 0, l - i), {
543
615
  x: d,
544
616
  y: f
545
617
  };
546
618
  }
547
- function ce(e, t, n) {
548
- let { margin: r, containerPadding: i, rowHeight: a } = e, o = ie(e);
619
+ function ue(e, t, n) {
620
+ let { margin: r, containerPadding: i, rowHeight: a } = e, o = oe(e);
549
621
  return {
550
622
  x: Math.round((n - i[0]) / (o + r[0])),
551
623
  y: Math.round((t - i[1]) / (a + r[1]))
552
624
  };
553
625
  }
554
- function le(e, t, n) {
555
- let { margin: r, rowHeight: i } = e, a = ie(e);
626
+ function G(e, t, n) {
627
+ let { margin: r, rowHeight: i } = e, a = oe(e);
556
628
  return {
557
629
  w: Math.max(1, Math.round((t + r[0]) / (a + r[0]))),
558
630
  h: Math.max(1, Math.round((n + r[1]) / (i + r[1])))
559
631
  };
560
632
  }
561
- function ue(e, t, n) {
633
+ function de(e, t, n) {
562
634
  return Math.max(Math.min(e, n), t);
563
635
  }
564
- function G(e, t) {
636
+ function fe(e, t) {
565
637
  return !(e.i === t.i || e.x + e.w <= t.x || e.x >= t.x + t.w || e.y + e.h <= t.y || e.y >= t.y + t.h);
566
638
  }
567
639
  function K(e, t) {
568
640
  for (let n = 0; n < e.length; n++) {
569
641
  let r = e[n];
570
- if (r !== void 0 && G(r, t)) return r;
642
+ if (r !== void 0 && fe(r, t)) return r;
571
643
  }
572
644
  }
573
- function de(e, t) {
574
- return e.filter((e) => G(e, t));
645
+ function pe(e, t) {
646
+ return e.filter((e) => fe(e, t));
575
647
  }
576
- function fe(e, t) {
577
- return t === "horizontal" ? q(e) : t === "vertical" || t === "wrap" ? pe(e) : [...e];
648
+ function q(e, t) {
649
+ return t === "horizontal" ? he(e) : t === "vertical" || t === "wrap" ? me(e) : [...e];
578
650
  }
579
- function pe(e) {
651
+ function me(e) {
580
652
  return [...e].sort((e, t) => e.y === t.y ? e.x - t.x : e.y - t.y);
581
653
  }
582
- function q(e) {
654
+ function he(e) {
583
655
  return [...e].sort((e, t) => e.x === t.x ? e.y - t.y : e.x - t.x);
584
656
  }
585
- function me(e) {
657
+ function ge(e) {
586
658
  let t = 0;
587
659
  for (let n = 0; n < e.length; n++) {
588
660
  let r = e[n];
@@ -593,16 +665,16 @@ function me(e) {
593
665
  }
594
666
  return t;
595
667
  }
596
- function he(e, t) {
668
+ function _e(e, t) {
597
669
  for (let n = 0; n < e.length; n++) {
598
670
  let r = e[n];
599
671
  if (r !== void 0 && r.i === t) return r;
600
672
  }
601
673
  }
602
- function ge(e) {
674
+ function ve(e) {
603
675
  return e.filter((e) => e.static === !0);
604
676
  }
605
- function _e(e) {
677
+ function ye(e) {
606
678
  return {
607
679
  i: e.i,
608
680
  x: e.x,
@@ -626,11 +698,11 @@ function J(e) {
626
698
  let t = Array(e.length);
627
699
  for (let n = 0; n < e.length; n++) {
628
700
  let r = e[n];
629
- r !== void 0 && (t[n] = _e(r));
701
+ r !== void 0 && (t[n] = ye(r));
630
702
  }
631
703
  return t;
632
704
  }
633
- function Y(e, t) {
705
+ function be(e, t) {
634
706
  let n = Array(e.length);
635
707
  for (let r = 0; r < e.length; r++) {
636
708
  let i = e[r];
@@ -638,12 +710,12 @@ function Y(e, t) {
638
710
  }
639
711
  return n;
640
712
  }
641
- function ve(e, t, n) {
642
- let r = he(e, t);
643
- return r ? (r = n(_e(r)), [Y(e, r), r]) : [[...e], null];
713
+ function Y(e, t, n) {
714
+ let r = _e(e, t);
715
+ return r ? (r = n(ye(r)), [be(e, r), r]) : [[...e], null];
644
716
  }
645
- function ye(e, t) {
646
- let n = ge(e);
717
+ function X(e, t) {
718
+ let n = ve(e);
647
719
  for (let r = 0; r < e.length; r++) {
648
720
  let i = e[r];
649
721
  if (i !== void 0) if (i.x + i.w > t.cols && (i.x = t.cols - i.w), i.x < 0 && (i.x = 0, i.w = t.cols), !i.static) n.push(i);
@@ -651,23 +723,23 @@ function ye(e, t) {
651
723
  }
652
724
  return e;
653
725
  }
654
- function X(e, t, n, r, i, a, o, s, c) {
726
+ function Z(e, t, n, r, i, a, o, s, c) {
655
727
  if (t.static && t.isDraggable !== !0 || t.y === r && t.x === n) return [...e];
656
728
  let l = t.x, u = t.y;
657
729
  typeof n == "number" && (t.x = n), typeof r == "number" && (t.y = r), t.moved = !0;
658
- let d = fe(e, o);
730
+ let d = q(e, o);
659
731
  (o === "vertical" && typeof r == "number" ? u >= r : o === "horizontal" && typeof n == "number" && l >= n) && (d = d.reverse());
660
- let f = de(d, t), p = f.length > 0;
732
+ let f = pe(d, t), p = f.length > 0;
661
733
  if (p && c) return J(e);
662
734
  if (p && a) return t.x = l, t.y = u, t.moved = !1, e;
663
735
  let m = [...e];
664
736
  for (let e = 0; e < f.length; e++) {
665
737
  let n = f[e];
666
- n !== void 0 && (n.moved || (m = n.static ? be(m, n, t, i, o) : be(m, t, n, i, o)));
738
+ n !== void 0 && (n.moved || (m = n.static ? Q(m, n, t, i, o) : Q(m, t, n, i, o)));
667
739
  }
668
740
  return m;
669
741
  }
670
- function be(e, t, n, r, i, a) {
742
+ function Q(e, t, n, r, i, a) {
671
743
  let o = i === "horizontal", s = i === "vertical", c = t.static;
672
744
  if (r) {
673
745
  r = !1;
@@ -678,40 +750,40 @@ function be(e, t, n, r, i, a) {
678
750
  h: n.h,
679
751
  i: "-1"
680
752
  }, l = K(e, a), u = l !== void 0 && l.y + l.h > t.y, d = l !== void 0 && t.x + t.w > l.x;
681
- if (!l) return X(e, n, o ? a.x : void 0, s ? a.y : void 0, r, c, i);
682
- if (u && s) return X(e, n, void 0, n.y + 1, r, c, i);
753
+ if (!l) return Z(e, n, o ? a.x : void 0, s ? a.y : void 0, r, c, i);
754
+ if (u && s) return Z(e, n, void 0, n.y + 1, r, c, i);
683
755
  if (u && i === null) return t.y = n.y, n.y += n.h, [...e];
684
- if (d && o) return X(e, t, n.x, void 0, r, c, i);
756
+ if (d && o) return Z(e, t, n.x, void 0, r, c, i);
685
757
  }
686
758
  let l = o ? n.x + 1 : void 0, u = s ? n.y + 1 : void 0;
687
- return l === void 0 && u === void 0 ? [...e] : X(e, n, l, u, r, c, i);
759
+ return l === void 0 && u === void 0 ? [...e] : Z(e, n, l, u, r, c, i);
688
760
  }
689
761
  //#endregion
690
762
  //#region ../../node_modules/.pnpm/react-grid-layout@2.2.3_react-dom@19.2.5_react@19.2.5__react@19.2.5/node_modules/react-grid-layout/dist/chunk-KDANGDDL.mjs
691
- function Z(e, t, n) {
763
+ function $(e, t, n) {
692
764
  return Math.max(t, Math.min(n, e));
693
765
  }
694
766
  var xe = [{
695
767
  name: "gridBounds",
696
768
  constrainPosition(e, t, n, { cols: r, maxRows: i }) {
697
769
  return {
698
- x: Z(t, 0, Math.max(0, r - e.w)),
699
- y: Z(n, 0, Math.max(0, i - e.h))
770
+ x: $(t, 0, Math.max(0, r - e.w)),
771
+ y: $(n, 0, Math.max(0, i - e.h))
700
772
  };
701
773
  },
702
774
  constrainSize(e, t, n, r, { cols: i, maxRows: a }) {
703
775
  let o = r === "w" || r === "nw" || r === "sw" ? e.x + e.w : i - e.x, s = r === "n" || r === "nw" || r === "ne" ? e.y + e.h : a - e.y;
704
776
  return {
705
- w: Z(t, 1, Math.max(1, o)),
706
- h: Z(n, 1, Math.max(1, s))
777
+ w: $(t, 1, Math.max(1, o)),
778
+ h: $(n, 1, Math.max(1, s))
707
779
  };
708
780
  }
709
781
  }, {
710
782
  name: "minMaxSize",
711
783
  constrainSize(e, t, n) {
712
784
  return {
713
- w: Z(t, e.minW ?? 1, e.maxW ?? Infinity),
714
- h: Z(n, e.minH ?? 1, e.maxH ?? Infinity)
785
+ w: $(t, e.minW ?? 1, e.maxW ?? Infinity),
786
+ h: $(n, e.minH ?? 1, e.maxH ?? Infinity)
715
787
  };
716
788
  }
717
789
  }];
@@ -724,7 +796,7 @@ function Se(e, t, n, r, i) {
724
796
  if (t.constraints) for (let e of t.constraints) e.constrainPosition && (a = e.constrainPosition(t, a.x, a.y, i));
725
797
  return a;
726
798
  }
727
- function Q(e, t, n, r, i, a) {
799
+ function Ce(e, t, n, r, i, a) {
728
800
  let o = {
729
801
  w: n,
730
802
  h: r
@@ -733,7 +805,7 @@ function Q(e, t, n, r, i, a) {
733
805
  if (t.constraints) for (let e of t.constraints) e.constrainSize && (o = e.constrainSize(t, o.w, o.h, i, a));
734
806
  return o;
735
807
  }
736
- function Ce({ top: e, left: t, width: n, height: r }) {
808
+ function we({ top: e, left: t, width: n, height: r }) {
737
809
  let i = `translate(${t}px,${e}px)`;
738
810
  return {
739
811
  transform: i,
@@ -746,7 +818,7 @@ function Ce({ top: e, left: t, width: n, height: r }) {
746
818
  position: "absolute"
747
819
  };
748
820
  }
749
- function we({ top: e, left: t, width: n, height: r }) {
821
+ function Te({ top: e, left: t, width: n, height: r }) {
750
822
  return {
751
823
  top: `${e}px`,
752
824
  left: `${t}px`,
@@ -755,190 +827,190 @@ function we({ top: e, left: t, width: n, height: r }) {
755
827
  position: "absolute"
756
828
  };
757
829
  }
758
- function Te(e) {
830
+ function Ee(e) {
759
831
  return e * 100 + "%";
760
832
  }
761
- function $(e, t, n, r) {
833
+ function De(e, t, n, r) {
762
834
  return e + n > r ? t : n;
763
835
  }
764
- function Ee(e, t, n) {
836
+ function Oe(e, t, n) {
765
837
  return e < 0 ? t : n;
766
838
  }
767
- function De(e) {
839
+ function ke(e) {
768
840
  return Math.max(0, e);
769
841
  }
770
- function Oe(e) {
842
+ function Ae(e) {
771
843
  return Math.max(0, e);
772
844
  }
773
- var ke = (e, t, n) => {
845
+ var je = (e, t, n) => {
774
846
  let { left: r, height: i, width: a } = t, o = e.top - (i - e.height);
775
847
  return {
776
848
  left: r,
777
849
  width: a,
778
- height: Ee(o, e.height, i),
779
- top: Oe(o)
850
+ height: Oe(o, e.height, i),
851
+ top: Ae(o)
780
852
  };
781
- }, Ae = (e, t, n) => {
853
+ }, Me = (e, t, n) => {
782
854
  let { top: r, left: i, height: a, width: o } = t;
783
855
  return {
784
856
  top: r,
785
857
  height: a,
786
- width: $(e.left, e.width, o, n),
787
- left: De(i)
858
+ width: De(e.left, e.width, o, n),
859
+ left: ke(i)
788
860
  };
789
- }, je = (e, t, n) => {
861
+ }, Ne = (e, t, n) => {
790
862
  let { top: r, height: i, width: a } = t, o = e.left + e.width - a;
791
863
  return o < 0 ? {
792
864
  height: i,
793
865
  width: e.left + e.width,
794
- top: Oe(r),
866
+ top: Ae(r),
795
867
  left: 0
796
868
  } : {
797
869
  height: i,
798
870
  width: a,
799
- top: Oe(r),
871
+ top: Ae(r),
800
872
  left: o
801
873
  };
802
- }, Me = (e, t, n) => {
874
+ }, Pe = (e, t, n) => {
803
875
  let { top: r, left: i, height: a, width: o } = t;
804
876
  return {
805
877
  width: o,
806
878
  left: i,
807
- height: Ee(r, e.height, a),
808
- top: Oe(r)
879
+ height: Oe(r, e.height, a),
880
+ top: Ae(r)
809
881
  };
810
- }, Ne = {
811
- n: ke,
812
- ne: (e, t, n) => ke(e, Ae(e, t, n)),
813
- e: Ae,
814
- se: (e, t, n) => Me(e, Ae(e, t, n)),
815
- s: Me,
816
- sw: (e, t, n) => Me(e, je(e, t)),
817
- w: je,
818
- nw: (e, t, n) => ke(e, je(e, t))
882
+ }, Fe = {
883
+ n: je,
884
+ ne: (e, t, n) => je(e, Me(e, t, n)),
885
+ e: Me,
886
+ se: (e, t, n) => Pe(e, Me(e, t, n)),
887
+ s: Pe,
888
+ sw: (e, t, n) => Pe(e, Ne(e, t)),
889
+ w: Ne,
890
+ nw: (e, t, n) => je(e, Ne(e, t))
819
891
  };
820
- function Pe(e, t, n, r) {
821
- let i = Ne[e];
892
+ function Ie(e, t, n, r) {
893
+ let i = Fe[e];
822
894
  return i ? i(t, {
823
895
  ...t,
824
896
  ...n
825
897
  }, r) : n;
826
898
  }
827
- var Fe = {
899
+ var Le = {
828
900
  type: "transform",
829
901
  scale: 1,
830
902
  calcStyle(e) {
831
- return Ce(e);
903
+ return we(e);
832
904
  }
833
- }, Ie = {
905
+ }, Re = {
834
906
  cols: 12,
835
907
  rowHeight: 150,
836
908
  margin: [10, 10],
837
909
  containerPadding: null,
838
910
  maxRows: Infinity
839
- }, Le = {
911
+ }, ze = {
840
912
  enabled: !0,
841
913
  bounded: !1,
842
914
  threshold: 3
843
- }, Re = {
915
+ }, Be = {
844
916
  enabled: !0,
845
917
  handles: ["se"]
846
- }, ze = {
918
+ }, Ve = {
847
919
  enabled: !1,
848
920
  defaultItem: {
849
921
  w: 1,
850
922
  h: 1
851
923
  }
852
924
  };
853
- function Be(e, t, n, r, i) {
925
+ function He(e, t, n, r, i) {
854
926
  let a = r === "x" ? "w" : "h";
855
927
  t[r] += 1;
856
- let o = e.findIndex((e) => e.i === t.i), s = i ?? ge(e).length > 0;
928
+ let o = e.findIndex((e) => e.i === t.i), s = i ?? ve(e).length > 0;
857
929
  for (let i = o + 1; i < e.length; i++) {
858
930
  let o = e[i];
859
931
  if (o !== void 0 && !o.static) {
860
932
  if (!s && o.y > t.y + t.h) break;
861
- G(t, o) && Be(e, o, n + t[a], r, s);
933
+ fe(t, o) && He(e, o, n + t[a], r, s);
862
934
  }
863
935
  }
864
936
  t[r] = n;
865
937
  }
866
- function Ve(e, t, n, r) {
938
+ function Ue(e, t, n, r) {
867
939
  for (t.x = Math.max(t.x, 0), t.y = Math.max(t.y, 0), t.y = Math.min(r, t.y); t.y > 0 && !K(e, t);) t.y--;
868
940
  let i;
869
- for (; (i = K(e, t)) !== void 0;) Be(n, t, i.y + i.h, "y");
941
+ for (; (i = K(e, t)) !== void 0;) He(n, t, i.y + i.h, "y");
870
942
  return t.y = Math.max(t.y, 0), t;
871
943
  }
872
- function He(e, t, n, r) {
944
+ function We(e, t, n, r) {
873
945
  for (t.x = Math.max(t.x, 0), t.y = Math.max(t.y, 0); t.x > 0 && !K(e, t);) t.x--;
874
946
  let i;
875
- for (; (i = K(e, t)) !== void 0;) if (Be(r, t, i.x + i.w, "x"), t.x + t.w > n) for (t.x = n - t.w, t.y++; t.x > 0 && !K(e, t);) t.x--;
947
+ for (; (i = K(e, t)) !== void 0;) if (He(r, t, i.x + i.w, "x"), t.x + t.w > n) for (t.x = n - t.w, t.y++; t.x > 0 && !K(e, t);) t.x--;
876
948
  return t.x = Math.max(t.x, 0), t;
877
949
  }
878
- var Ue = {
950
+ var Ge = {
879
951
  type: "vertical",
880
952
  allowOverlap: !1,
881
953
  compact(e, t) {
882
- let n = ge(e), r = me(n), i = pe(e), a = Array(e.length);
954
+ let n = ve(e), r = ge(n), i = me(e), a = Array(e.length);
883
955
  for (let t = 0; t < i.length; t++) {
884
956
  let o = i[t];
885
957
  if (o === void 0) continue;
886
- let s = _e(o);
887
- s.static || (s = Ve(n, s, i, r), r = Math.max(r, s.y + s.h), n.push(s));
958
+ let s = ye(o);
959
+ s.static || (s = Ue(n, s, i, r), r = Math.max(r, s.y + s.h), n.push(s));
888
960
  let c = e.indexOf(o);
889
961
  a[c] = s, s.moved = !1;
890
962
  }
891
963
  return a;
892
964
  }
893
- }, We = {
965
+ }, Ke = {
894
966
  type: "horizontal",
895
967
  allowOverlap: !1,
896
968
  compact(e, t) {
897
- let n = ge(e), r = q(e), i = Array(e.length);
969
+ let n = ve(e), r = he(e), i = Array(e.length);
898
970
  for (let a = 0; a < r.length; a++) {
899
971
  let o = r[a];
900
972
  if (o === void 0) continue;
901
- let s = _e(o);
902
- s.static || (s = He(n, s, t, r), n.push(s));
973
+ let s = ye(o);
974
+ s.static || (s = We(n, s, t, r), n.push(s));
903
975
  let c = e.indexOf(o);
904
976
  i[c] = s, s.moved = !1;
905
977
  }
906
978
  return i;
907
979
  }
908
- }, Ge = {
980
+ }, qe = {
909
981
  type: null,
910
982
  allowOverlap: !1,
911
983
  compact(e, t) {
912
984
  return J(e);
913
985
  }
914
- }, Ke = {
915
- ...Ue,
986
+ }, Je = {
987
+ ...Ge,
916
988
  allowOverlap: !0,
917
989
  compact(e, t) {
918
990
  return J(e);
919
991
  }
920
- }, qe = {
921
- ...We,
992
+ }, Ye = {
993
+ ...Ke,
922
994
  allowOverlap: !0,
923
995
  compact(e, t) {
924
996
  return J(e);
925
997
  }
926
- }, Je = {
927
- ...Ge,
998
+ }, Xe = {
999
+ ...qe,
928
1000
  allowOverlap: !0
929
1001
  };
930
- function Ye(e, t = !1, n = !1) {
1002
+ function Ze(e, t = !1, n = !1) {
931
1003
  let r;
932
- return r = t ? e === "vertical" ? Ke : e === "horizontal" ? qe : Je : e === "vertical" ? Ue : e === "horizontal" ? We : Ge, n ? {
1004
+ return r = t ? e === "vertical" ? Je : e === "horizontal" ? Ye : Xe : e === "vertical" ? Ge : e === "horizontal" ? Ke : qe, n ? {
933
1005
  ...r,
934
1006
  preventCollision: n
935
1007
  } : r;
936
1008
  }
937
- function Xe(e) {
1009
+ function Qe(e) {
938
1010
  return Object.keys(e).sort((t, n) => e[t] - e[n]);
939
1011
  }
940
- function Ze(e, t) {
941
- let n = Xe(e), r = n[0];
1012
+ function $e(e, t) {
1013
+ let n = Qe(e), r = n[0];
942
1014
  if (r === void 0) throw Error("No breakpoints defined");
943
1015
  for (let i = 1; i < n.length; i++) {
944
1016
  let a = n[i];
@@ -946,15 +1018,15 @@ function Ze(e, t) {
946
1018
  }
947
1019
  return r;
948
1020
  }
949
- function Qe(e, t) {
1021
+ function et(e, t) {
950
1022
  let n = t[e];
951
1023
  if (n === void 0) throw Error(`ResponsiveReactGridLayout: \`cols\` entry for breakpoint ${String(e)} is missing!`);
952
1024
  return n;
953
1025
  }
954
- function $e(e, t, n, r, i, a) {
1026
+ function tt(e, t, n, r, i, a) {
955
1027
  let o = e[n];
956
1028
  if (o) return J(o);
957
- let s = e[r], c = Xe(t), l = c.slice(c.indexOf(n));
1029
+ let s = e[r], c = Qe(t), l = c.slice(c.indexOf(n));
958
1030
  for (let t = 0; t < l.length; t++) {
959
1031
  let n = l[t];
960
1032
  if (n === void 0) continue;
@@ -964,10 +1036,10 @@ function $e(e, t, n, r, i, a) {
964
1036
  break;
965
1037
  }
966
1038
  }
967
- let u = ye(J(s || []), { cols: i });
968
- return (typeof a == "object" && a ? a : Ye(a)).compact(u, i);
1039
+ let u = X(J(s || []), { cols: i });
1040
+ return (typeof a == "object" && a ? a : Ze(a)).compact(u, i);
969
1041
  }
970
- function et(e, t) {
1042
+ function nt(e, t) {
971
1043
  if (Array.isArray(e)) return e;
972
1044
  let n = e, r = n[t];
973
1045
  if (r !== void 0) return r;
@@ -980,7 +1052,7 @@ function et(e, t) {
980
1052
  }
981
1053
  //#endregion
982
1054
  //#region ../../node_modules/.pnpm/fast-equals@4.0.3/node_modules/fast-equals/dist/fast-equals.js
983
- var tt = /* @__PURE__ */ z(((e, t) => {
1055
+ var rt = /* @__PURE__ */ B(((e, t) => {
984
1056
  (function(n, r) {
985
1057
  typeof e == "object" && t !== void 0 ? r(e) : typeof define == "function" && define.amd ? define(["exports"], r) : (n = typeof globalThis < "u" ? globalThis : n || self, r(n["fast-equals"] = {}));
986
1058
  })(e, (function(e) {
@@ -1116,10 +1188,10 @@ var tt = /* @__PURE__ */ z(((e, t) => {
1116
1188
  var R = _(r(j, { createIsNestedEqual: function() {
1117
1189
  return o;
1118
1190
  } }));
1119
- function ee(e, t) {
1191
+ function z(e, t) {
1120
1192
  return R(e, t, /* @__PURE__ */ new WeakMap());
1121
1193
  }
1122
- function z(e) {
1194
+ function ee(e) {
1123
1195
  return _(r(A, e(A)));
1124
1196
  }
1125
1197
  function B(e) {
@@ -1128,20 +1200,20 @@ var tt = /* @__PURE__ */ z(((e, t) => {
1128
1200
  return r === void 0 && (r = /* @__PURE__ */ new WeakMap()), t(e, n, r);
1129
1201
  });
1130
1202
  }
1131
- e.circularDeepEqual = L, e.circularShallowEqual = ee, e.createCustomCircularEqual = B, e.createCustomEqual = z, e.deepEqual = N, e.sameValueZeroEqual = o, e.shallowEqual = F, Object.defineProperty(e, "__esModule", { value: !0 });
1203
+ e.circularDeepEqual = L, e.circularShallowEqual = z, e.createCustomCircularEqual = B, e.createCustomEqual = ee, e.deepEqual = N, e.sameValueZeroEqual = o, e.shallowEqual = F, Object.defineProperty(e, "__esModule", { value: !0 });
1132
1204
  }));
1133
1205
  }));
1134
1206
  //#endregion
1135
1207
  //#region ../../node_modules/.pnpm/react-grid-layout@2.2.3_react-dom@19.2.5_react@19.2.5__react@19.2.5/node_modules/react-grid-layout/dist/chunk-PZLKKWSX.mjs
1136
- function nt(e = {}) {
1137
- let { measureBeforeMount: t = !1, initialWidth: n = 1280 } = e, [r, i] = E(n), [a, o] = E(!t), s = T(null), c = T(null), l = x(() => {
1208
+ function it(e = {}) {
1209
+ let { measureBeforeMount: t = !1, initialWidth: n = 1280 } = e, [r, i] = D(n), [a, o] = D(!t), s = E(null), c = E(null), l = S(() => {
1138
1210
  let e = s.current;
1139
1211
  if (e) {
1140
1212
  let t = e.offsetWidth;
1141
1213
  i(t), a || o(!0);
1142
1214
  }
1143
1215
  }, [a]);
1144
- return C(() => {
1216
+ return w(() => {
1145
1217
  let e = s.current;
1146
1218
  if (e) {
1147
1219
  if (l(), typeof ResizeObserver < "u") {
@@ -1171,7 +1243,7 @@ function nt(e = {}) {
1171
1243
  }
1172
1244
  //#endregion
1173
1245
  //#region ../../node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/cjs/react-is.production.min.js
1174
- var rt = /* @__PURE__ */ z(((e) => {
1246
+ var at = /* @__PURE__ */ B(((e) => {
1175
1247
  var t = typeof Symbol == "function" && Symbol.for, n = t ? Symbol.for("react.element") : 60103, r = t ? Symbol.for("react.portal") : 60106, i = t ? Symbol.for("react.fragment") : 60107, a = t ? Symbol.for("react.strict_mode") : 60108, o = t ? Symbol.for("react.profiler") : 60114, s = t ? Symbol.for("react.provider") : 60109, c = t ? Symbol.for("react.context") : 60110, l = t ? Symbol.for("react.async_mode") : 60111, u = t ? Symbol.for("react.concurrent_mode") : 60111, d = t ? Symbol.for("react.forward_ref") : 60112, f = t ? Symbol.for("react.suspense") : 60113, p = t ? Symbol.for("react.suspense_list") : 60120, m = t ? Symbol.for("react.memo") : 60115, h = t ? Symbol.for("react.lazy") : 60116, g = t ? Symbol.for("react.block") : 60121, _ = t ? Symbol.for("react.fundamental") : 60117, v = t ? Symbol.for("react.responder") : 60118, y = t ? Symbol.for("react.scope") : 60119;
1176
1248
  function b(e) {
1177
1249
  if (typeof e == "object" && e) {
@@ -1227,7 +1299,7 @@ var rt = /* @__PURE__ */ z(((e) => {
1227
1299
  }, e.isValidElementType = function(e) {
1228
1300
  return typeof e == "string" || typeof e == "function" || e === i || e === u || e === o || e === a || e === f || e === p || typeof e == "object" && !!e && (e.$$typeof === h || e.$$typeof === m || e.$$typeof === s || e.$$typeof === c || e.$$typeof === d || e.$$typeof === _ || e.$$typeof === v || e.$$typeof === y || e.$$typeof === g);
1229
1301
  }, e.typeOf = b;
1230
- })), it = /* @__PURE__ */ z(((e) => {
1302
+ })), ot = /* @__PURE__ */ B(((e) => {
1231
1303
  process.env.NODE_ENV !== "production" && (function() {
1232
1304
  var t = typeof Symbol == "function" && Symbol.for, n = t ? Symbol.for("react.element") : 60103, r = t ? Symbol.for("react.portal") : 60106, i = t ? Symbol.for("react.fragment") : 60107, a = t ? Symbol.for("react.strict_mode") : 60108, o = t ? Symbol.for("react.profiler") : 60114, s = t ? Symbol.for("react.provider") : 60109, c = t ? Symbol.for("react.context") : 60110, l = t ? Symbol.for("react.async_mode") : 60111, u = t ? Symbol.for("react.concurrent_mode") : 60111, d = t ? Symbol.for("react.forward_ref") : 60112, f = t ? Symbol.for("react.suspense") : 60113, p = t ? Symbol.for("react.suspense_list") : 60120, m = t ? Symbol.for("react.memo") : 60115, h = t ? Symbol.for("react.lazy") : 60116, g = t ? Symbol.for("react.block") : 60121, _ = t ? Symbol.for("react.fundamental") : 60117, v = t ? Symbol.for("react.responder") : 60118, y = t ? Symbol.for("react.scope") : 60119;
1233
1305
  function b(e) {
@@ -1271,10 +1343,10 @@ var rt = /* @__PURE__ */ z(((e) => {
1271
1343
  function R(e) {
1272
1344
  return x(e) === c;
1273
1345
  }
1274
- function ee(e) {
1346
+ function z(e) {
1275
1347
  return x(e) === s;
1276
1348
  }
1277
- function z(e) {
1349
+ function ee(e) {
1278
1350
  return typeof e == "object" && !!e && e.$$typeof === n;
1279
1351
  }
1280
1352
  function B(e) {
@@ -1289,23 +1361,23 @@ var rt = /* @__PURE__ */ z(((e) => {
1289
1361
  function te(e) {
1290
1362
  return x(e) === m;
1291
1363
  }
1292
- function U(e) {
1364
+ function ne(e) {
1293
1365
  return x(e) === r;
1294
1366
  }
1295
- function W(e) {
1367
+ function U(e) {
1296
1368
  return x(e) === o;
1297
1369
  }
1298
- function ne(e) {
1370
+ function re(e) {
1299
1371
  return x(e) === a;
1300
1372
  }
1301
- function re(e) {
1373
+ function ie(e) {
1302
1374
  return x(e) === f;
1303
1375
  }
1304
- e.AsyncMode = S, e.ConcurrentMode = C, e.ContextConsumer = w, e.ContextProvider = T, e.Element = E, e.ForwardRef = D, e.Fragment = O, e.Lazy = k, e.Memo = A, e.Portal = j, e.Profiler = M, e.StrictMode = N, e.Suspense = P, e.isAsyncMode = I, e.isConcurrentMode = L, e.isContextConsumer = R, e.isContextProvider = ee, e.isElement = z, e.isForwardRef = B, e.isFragment = V, e.isLazy = H, e.isMemo = te, e.isPortal = U, e.isProfiler = W, e.isStrictMode = ne, e.isSuspense = re, e.isValidElementType = b, e.typeOf = x;
1376
+ e.AsyncMode = S, e.ConcurrentMode = C, e.ContextConsumer = w, e.ContextProvider = T, e.Element = E, e.ForwardRef = D, e.Fragment = O, e.Lazy = k, e.Memo = A, e.Portal = j, e.Profiler = M, e.StrictMode = N, e.Suspense = P, e.isAsyncMode = I, e.isConcurrentMode = L, e.isContextConsumer = R, e.isContextProvider = z, e.isElement = ee, e.isForwardRef = B, e.isFragment = V, e.isLazy = H, e.isMemo = te, e.isPortal = ne, e.isProfiler = U, e.isStrictMode = re, e.isSuspense = ie, e.isValidElementType = b, e.typeOf = x;
1305
1377
  })();
1306
- })), at = /* @__PURE__ */ z(((e, t) => {
1307
- process.env.NODE_ENV === "production" ? t.exports = rt() : t.exports = it();
1308
- })), ot = /* @__PURE__ */ z(((e, t) => {
1378
+ })), st = /* @__PURE__ */ B(((e, t) => {
1379
+ process.env.NODE_ENV === "production" ? t.exports = at() : t.exports = ot();
1380
+ })), ct = /* @__PURE__ */ B(((e, t) => {
1309
1381
  var n = Object.getOwnPropertySymbols, r = Object.prototype.hasOwnProperty, i = Object.prototype.propertyIsEnumerable;
1310
1382
  function a(e) {
1311
1383
  if (e == null) throw TypeError("Object.assign cannot be called with null or undefined");
@@ -1338,14 +1410,14 @@ var rt = /* @__PURE__ */ z(((e) => {
1338
1410
  }
1339
1411
  return s;
1340
1412
  };
1341
- })), st = /* @__PURE__ */ z(((e, t) => {
1413
+ })), lt = /* @__PURE__ */ B(((e, t) => {
1342
1414
  t.exports = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
1343
- })), ct = /* @__PURE__ */ z(((e, t) => {
1415
+ })), ut = /* @__PURE__ */ B(((e, t) => {
1344
1416
  t.exports = Function.call.bind(Object.prototype.hasOwnProperty);
1345
- })), lt = /* @__PURE__ */ z(((e, t) => {
1417
+ })), dt = /* @__PURE__ */ B(((e, t) => {
1346
1418
  var n = function() {};
1347
1419
  if (process.env.NODE_ENV !== "production") {
1348
- var r = st(), i = {}, a = ct();
1420
+ var r = lt(), i = {}, a = ut();
1349
1421
  n = function(e) {
1350
1422
  var t = "Warning: " + e;
1351
1423
  typeof console < "u" && console.error(t);
@@ -1378,8 +1450,8 @@ var rt = /* @__PURE__ */ z(((e) => {
1378
1450
  o.resetWarningCache = function() {
1379
1451
  process.env.NODE_ENV !== "production" && (i = {});
1380
1452
  }, t.exports = o;
1381
- })), ut = /* @__PURE__ */ z(((e, t) => {
1382
- var n = at(), r = ot(), i = st(), a = ct(), o = lt(), s = function() {};
1453
+ })), ft = /* @__PURE__ */ B(((e, t) => {
1454
+ var n = st(), r = ct(), i = lt(), a = ut(), o = dt(), s = function() {};
1383
1455
  process.env.NODE_ENV !== "production" && (s = function(e) {
1384
1456
  var t = "Warning: " + e;
1385
1457
  typeof console < "u" && console.error(t);
@@ -1637,8 +1709,8 @@ var rt = /* @__PURE__ */ z(((e) => {
1637
1709
  }
1638
1710
  return p.checkPropTypes = o, p.resetWarningCache = o.resetWarningCache, p.PropTypes = p, p;
1639
1711
  };
1640
- })), dt = /* @__PURE__ */ z(((e, t) => {
1641
- var n = st();
1712
+ })), pt = /* @__PURE__ */ B(((e, t) => {
1713
+ var n = lt();
1642
1714
  function r() {}
1643
1715
  function i() {}
1644
1716
  i.resetWarningCache = r, t.exports = function() {
@@ -1677,12 +1749,12 @@ var rt = /* @__PURE__ */ z(((e) => {
1677
1749
  };
1678
1750
  return a.PropTypes = a, a;
1679
1751
  };
1680
- })), ft = /* @__PURE__ */ z(((e, t) => {
1752
+ })), mt = /* @__PURE__ */ B(((e, t) => {
1681
1753
  if (process.env.NODE_ENV !== "production") {
1682
- var n = at();
1683
- t.exports = ut()(n.isElement, !0);
1684
- } else t.exports = dt()();
1685
- })), pt = /* @__PURE__ */ z(((e) => {
1754
+ var n = st();
1755
+ t.exports = ft()(n.isElement, !0);
1756
+ } else t.exports = pt()();
1757
+ })), ht = /* @__PURE__ */ B(((e) => {
1686
1758
  Object.defineProperty(e, "__esModule", { value: !0 }), e.dontSetMe = a, e.findInArray = t, e.int = i, e.isFunction = n, e.isNum = r;
1687
1759
  function t(e, t) {
1688
1760
  for (let n = 0, r = e.length; n < r; n++) if (t.apply(t, [
@@ -1703,7 +1775,7 @@ var rt = /* @__PURE__ */ z(((e) => {
1703
1775
  function a(e, t, n) {
1704
1776
  if (e[t]) return /* @__PURE__ */ Error(`Invalid prop ${t} passed to ${n} - do not set this, set it on the child.`);
1705
1777
  }
1706
- })), mt = /* @__PURE__ */ z(((e) => {
1778
+ })), gt = /* @__PURE__ */ B(((e) => {
1707
1779
  Object.defineProperty(e, "__esModule", { value: !0 }), e.browserPrefixToKey = r, e.browserPrefixToStyle = i, e.default = void 0, e.getPrefix = n;
1708
1780
  var t = [
1709
1781
  "Moz",
@@ -1731,9 +1803,9 @@ var rt = /* @__PURE__ */ z(((e) => {
1731
1803
  return t;
1732
1804
  }
1733
1805
  e.default = n();
1734
- })), ht = /* @__PURE__ */ z(((e) => {
1806
+ })), _t = /* @__PURE__ */ B(((e) => {
1735
1807
  Object.defineProperty(e, "__esModule", { value: !0 }), e.addClassName = S, e.addEvent = s, e.addUserSelectStyles = y, e.createCSSTransform = m, e.createSVGTransform = h, e.getTouch = _, e.getTouchIdentifier = v, e.getTranslation = g, e.innerHeight = d, e.innerWidth = f, e.matchesSelector = a, e.matchesSelectorAndParentsTo = o, e.offsetXYFromParent = p, e.outerHeight = l, e.outerWidth = u, e.removeClassName = C, e.removeEvent = c, e.scheduleRemoveUserSelectStyles = b;
1736
- var t = pt(), n = r(mt());
1808
+ var t = ht(), n = r(gt());
1737
1809
  function r(e, t) {
1738
1810
  if (typeof WeakMap == "function") var n = /* @__PURE__ */ new WeakMap(), i = /* @__PURE__ */ new WeakMap();
1739
1811
  return (r = function(e, t) {
@@ -1857,9 +1929,9 @@ var rt = /* @__PURE__ */ z(((e) => {
1857
1929
  function C(e, t) {
1858
1930
  e.classList ? e.classList.remove(t) : e.className = e.className.replace(RegExp(`(?:^|\\s)${t}(?!\\S)`, "g"), "");
1859
1931
  }
1860
- })), gt = /* @__PURE__ */ z(((e) => {
1932
+ })), vt = /* @__PURE__ */ B(((e) => {
1861
1933
  Object.defineProperty(e, "__esModule", { value: !0 }), e.canDragX = a, e.canDragY = o, e.createCoreData = c, e.createDraggableData = l, e.getBoundPosition = r, e.getControlPosition = s, e.snapToGrid = i;
1862
- var t = pt(), n = ht();
1934
+ var t = ht(), n = _t();
1863
1935
  function r(e, r, i) {
1864
1936
  if (!e.props.bounds) return [r, i];
1865
1937
  let { bounds: a } = e.props;
@@ -1938,12 +2010,12 @@ var rt = /* @__PURE__ */ z(((e) => {
1938
2010
  if (!t) throw Error("<DraggableCore>: Unmounted during event!");
1939
2011
  return t;
1940
2012
  }
1941
- })), _t = /* @__PURE__ */ z(((e) => {
2013
+ })), yt = /* @__PURE__ */ B(((e) => {
1942
2014
  Object.defineProperty(e, "__esModule", { value: !0 }), e.default = t;
1943
2015
  function t() {}
1944
- })), vt = /* @__PURE__ */ z(((e) => {
2016
+ })), bt = /* @__PURE__ */ B(((e) => {
1945
2017
  Object.defineProperty(e, "__esModule", { value: !0 }), e.default = void 0;
1946
- var t = l(B("react")), n = c(ft()), r = c(B("react-dom")), i = ht(), a = gt(), o = pt(), s = c(_t());
2018
+ var t = l(V("react")), n = c(mt()), r = c(V("react-dom")), i = _t(), a = vt(), o = ht(), s = c(yt());
1947
2019
  function c(e) {
1948
2020
  return e && e.__esModule ? e : { default: e };
1949
2021
  }
@@ -2103,14 +2175,14 @@ var rt = /* @__PURE__ */ z(((e) => {
2103
2175
  onMouseDown: function() {},
2104
2176
  scale: 1
2105
2177
  });
2106
- })), yt = /* @__PURE__ */ z(((e) => {
2178
+ })), xt = /* @__PURE__ */ B(((e) => {
2107
2179
  Object.defineProperty(e, "__esModule", { value: !0 }), Object.defineProperty(e, "DraggableCore", {
2108
2180
  enumerable: !0,
2109
2181
  get: function() {
2110
2182
  return c.default;
2111
2183
  }
2112
2184
  }), e.default = void 0;
2113
- var t = d(B("react")), n = u(ft()), r = u(B("react-dom")), i = B("clsx"), a = ht(), o = gt(), s = pt(), c = u(vt()), l = u(_t());
2185
+ var t = d(V("react")), n = u(mt()), r = u(V("react-dom")), i = V("clsx"), a = _t(), o = vt(), s = ht(), c = u(bt()), l = u(yt());
2114
2186
  function u(e) {
2115
2187
  return e && e.__esModule ? e : { default: e };
2116
2188
  }
@@ -2304,12 +2376,12 @@ var rt = /* @__PURE__ */ z(((e) => {
2304
2376
  },
2305
2377
  scale: 1
2306
2378
  });
2307
- })), bt = /* @__PURE__ */ z(((e, t) => {
2308
- var { default: n, DraggableCore: r } = yt();
2379
+ })), St = /* @__PURE__ */ B(((e, t) => {
2380
+ var { default: n, DraggableCore: r } = xt();
2309
2381
  t.exports = n, t.exports.default = n, t.exports.DraggableCore = r;
2310
- })), xt = /* @__PURE__ */ z(((e) => {
2382
+ })), Ct = /* @__PURE__ */ B(((e) => {
2311
2383
  e.__esModule = !0, e.cloneElement = c;
2312
- var t = n(B("react"));
2384
+ var t = n(V("react"));
2313
2385
  function n(e) {
2314
2386
  return e && e.__esModule ? e : { default: e };
2315
2387
  }
@@ -2359,10 +2431,10 @@ var rt = /* @__PURE__ */ z(((e) => {
2359
2431
  function c(e, n) {
2360
2432
  return n.style && e.props.style && (n.style = i(i({}, e.props.style), n.style)), n.className && e.props.className && (n.className = `${e.props.className} ${n.className}`), /* @__PURE__ */ t.default.cloneElement(e, n);
2361
2433
  }
2362
- })), St = /* @__PURE__ */ z(((e) => {
2434
+ })), wt = /* @__PURE__ */ B(((e) => {
2363
2435
  e.__esModule = !0, e.resizableProps = void 0;
2364
- var t = n(ft());
2365
- bt();
2436
+ var t = n(mt());
2437
+ St();
2366
2438
  function n(e) {
2367
2439
  return e && e.__esModule ? e : { default: e };
2368
2440
  }
@@ -2421,9 +2493,9 @@ var rt = /* @__PURE__ */ z(((e) => {
2421
2493
  return n.axis === "both" || n.axis === "x" ? t.default.number.isRequired(...e) : t.default.number(...e);
2422
2494
  }
2423
2495
  };
2424
- })), Ct = /* @__PURE__ */ z(((e) => {
2496
+ })), Tt = /* @__PURE__ */ B(((e) => {
2425
2497
  e.__esModule = !0, e.default = void 0;
2426
- var t = o(B("react")), n = bt(), r = xt(), i = St(), a = [
2498
+ var t = o(V("react")), n = St(), r = Ct(), i = wt(), a = [
2427
2499
  "children",
2428
2500
  "className",
2429
2501
  "draggableOpts",
@@ -2620,9 +2692,9 @@ var rt = /* @__PURE__ */ z(((e) => {
2620
2692
  resizeHandles: ["se"],
2621
2693
  transformScale: 1
2622
2694
  };
2623
- })), wt = /* @__PURE__ */ z(((e) => {
2695
+ })), Et = /* @__PURE__ */ B(((e) => {
2624
2696
  e.__esModule = !0, e.default = void 0;
2625
- var t = s(B("react")), n = o(ft()), r = o(Ct()), i = St(), a = [
2697
+ var t = s(V("react")), n = o(mt()), r = o(Tt()), i = wt(), a = [
2626
2698
  "handle",
2627
2699
  "handleSize",
2628
2700
  "onResize",
@@ -2773,26 +2845,26 @@ var rt = /* @__PURE__ */ z(((e) => {
2773
2845
  }
2774
2846
  };
2775
2847
  e.default = g, g.propTypes = u(u({}, i.resizableProps), {}, { children: n.default.element });
2776
- })), Tt = /* @__PURE__ */ z(((e, t) => {
2848
+ })), Dt = /* @__PURE__ */ B(((e, t) => {
2777
2849
  t.exports = function() {
2778
2850
  throw Error("Don't instantiate Resizable directly! Use require('react-resizable').Resizable");
2779
- }, t.exports.Resizable = Ct().default, t.exports.ResizableBox = wt().default;
2780
- })), Et = bt(), Dt = Tt(), Ot = tt();
2781
- function kt(e) {
2782
- let { children: t, cols: n, containerWidth: r, margin: i, containerPadding: a, rowHeight: o, maxRows: s, isDraggable: c, isResizable: l, isBounded: u, static: d, useCSSTransforms: f = !0, usePercentages: p = !1, transformScale: m = 1, positionStrategy: h, dragThreshold: g = 0, droppingPosition: _, className: v = "", style: b, handle: S = "", cancel: D = "", x: O, y: k, w: A, h: j, minW: M = 1, maxW: N = Infinity, minH: P = 1, maxH: F = Infinity, i: I, resizeHandles: L, resizeHandle: R, constraints: z = xe, layoutItem: B, layout: V = [], onDragStart: H, onDrag: te, onDragStop: W, onResizeStart: ne, onResize: re, onResizeStop: se } = e, [G, K] = E(!1), [de, fe] = E(!1), pe = T(null), q = T({
2851
+ }, t.exports.Resizable = Tt().default, t.exports.ResizableBox = Et().default;
2852
+ })), Ot = St(), kt = Dt(), At = rt();
2853
+ function jt(e) {
2854
+ let { children: t, cols: n, containerWidth: r, margin: i, containerPadding: a, rowHeight: o, maxRows: s, isDraggable: c, isResizable: l, isBounded: u, static: d, useCSSTransforms: f = !0, usePercentages: p = !1, transformScale: m = 1, positionStrategy: h, dragThreshold: g = 0, droppingPosition: _, className: v = "", style: y, handle: x = "", cancel: C = "", x: O, y: k, w: A, h: j, minW: M = 1, maxW: N = Infinity, minH: P = 1, maxH: F = Infinity, i: I, resizeHandles: L, resizeHandle: R, constraints: z = xe, layoutItem: B, layout: V = [], onDragStart: H, onDrag: te, onDragStop: ne, onResizeStart: re, onResize: ie, onResizeStop: ae } = e, [W, le] = D(!1), [fe, K] = D(!1), pe = E(null), q = E({
2783
2855
  left: 0,
2784
2856
  top: 0
2785
- }), me = T({
2857
+ }), me = E({
2786
2858
  top: 0,
2787
2859
  left: 0,
2788
2860
  width: 0,
2789
2861
  height: 0
2790
- }), he = T(void 0), ge = T(V);
2862
+ }), he = E(void 0), ge = E(V);
2791
2863
  ge.current = V;
2792
- let _e = T(null), J = T(null), Y = T(!1), ve = T({
2864
+ let _e = E(null), ve = E(null), ye = E(!1), J = E({
2793
2865
  x: 0,
2794
2866
  y: 0
2795
- }), ye = T(!1), X = w(() => ({
2867
+ }), be = E(!1), Y = T(() => ({
2796
2868
  cols: n,
2797
2869
  containerPadding: a,
2798
2870
  containerWidth: r,
@@ -2806,7 +2878,7 @@ function kt(e) {
2806
2878
  i,
2807
2879
  s,
2808
2880
  o
2809
- ]), be = w(() => ({
2881
+ ]), X = T(() => ({
2810
2882
  cols: n,
2811
2883
  maxRows: s,
2812
2884
  containerWidth: r,
@@ -2820,10 +2892,10 @@ function kt(e) {
2820
2892
  r,
2821
2893
  o,
2822
2894
  i
2823
- ]), Z = x(() => ({
2824
- ...be,
2895
+ ]), Z = S(() => ({
2896
+ ...X,
2825
2897
  layout: ge.current
2826
- }), [be]), $ = w(() => B ?? {
2898
+ }), [X]), Q = T(() => B ?? {
2827
2899
  i: I,
2828
2900
  x: O,
2829
2901
  y: k,
@@ -2844,21 +2916,21 @@ function kt(e) {
2844
2916
  N,
2845
2917
  P,
2846
2918
  F
2847
- ]), Ee = x((e) => {
2919
+ ]), $ = S((e) => {
2848
2920
  if (h?.calcStyle) return h.calcStyle(e);
2849
- if (f) return Ce(e);
2850
- let t = we(e);
2921
+ if (f) return we(e);
2922
+ let t = Te(e);
2851
2923
  return p ? {
2852
2924
  ...t,
2853
- left: Te(e.left / r),
2854
- width: Te(e.width / r)
2925
+ left: Ee(e.left / r),
2926
+ width: Ee(e.width / r)
2855
2927
  } : t;
2856
2928
  }, [
2857
2929
  h,
2858
2930
  f,
2859
2931
  p,
2860
2932
  r
2861
- ]), De = x((e, { node: t }) => {
2933
+ ]), De = S((e, { node: t }) => {
2862
2934
  if (!H) return;
2863
2935
  let { offsetParent: n } = t;
2864
2936
  if (!n) return;
@@ -2872,14 +2944,14 @@ function kt(e) {
2872
2944
  };
2873
2945
  if (q.current = l, g > 0) {
2874
2946
  let t = e;
2875
- ve.current = {
2947
+ J.current = {
2876
2948
  x: t.clientX,
2877
2949
  y: t.clientY
2878
- }, Y.current = !0, ye.current = !1, K(!0);
2950
+ }, ye.current = !0, be.current = !1, le(!0);
2879
2951
  return;
2880
2952
  }
2881
- K(!0);
2882
- let u = ce(X, l.top, l.left), { x: d, y: f } = Se(z, $, u.x, u.y, Z());
2953
+ le(!0);
2954
+ let u = ue(Y, l.top, l.left), { x: d, y: f } = Se(z, Q, u.x, u.y, Z());
2883
2955
  H(I, d, f, {
2884
2956
  e,
2885
2957
  node: t,
@@ -2888,21 +2960,21 @@ function kt(e) {
2888
2960
  }, [
2889
2961
  H,
2890
2962
  m,
2891
- X,
2963
+ Y,
2892
2964
  h,
2893
2965
  g,
2894
2966
  z,
2895
- $,
2967
+ Q,
2896
2968
  Z,
2897
2969
  I
2898
- ]), Oe = x((e, { node: t, deltaX: n, deltaY: a }) => {
2899
- if (!te || !G) return;
2970
+ ]), Oe = S((e, { node: t, deltaX: n, deltaY: a }) => {
2971
+ if (!te || !W) return;
2900
2972
  let s = e;
2901
- if (Y.current && !ye.current) {
2902
- let n = s.clientX - ve.current.x, r = s.clientY - ve.current.y;
2973
+ if (ye.current && !be.current) {
2974
+ let n = s.clientX - J.current.x, r = s.clientY - J.current.y;
2903
2975
  if (Math.hypot(n, r) < g) return;
2904
- if (ye.current = !0, Y.current = !1, H) {
2905
- let n = ce(X, q.current.top, q.current.left), { x: r, y: i } = Se(z, $, n.x, n.y, Z());
2976
+ if (be.current = !0, ye.current = !1, H) {
2977
+ let n = ue(Y, q.current.top, q.current.left), { x: r, y: i } = Se(z, Q, n.x, n.y, Z());
2906
2978
  H(I, r, i, {
2907
2979
  e,
2908
2980
  node: t,
@@ -2914,10 +2986,10 @@ function kt(e) {
2914
2986
  if (u) {
2915
2987
  let { offsetParent: e } = t;
2916
2988
  if (e) {
2917
- let t = e.clientHeight - ae(j, o, i[1]);
2918
- c = ue(c, 0, t);
2919
- let n = r - ae(A, ie(X), i[0]);
2920
- l = ue(l, 0, n);
2989
+ let t = e.clientHeight - se(j, o, i[1]);
2990
+ c = de(c, 0, t);
2991
+ let n = r - se(A, oe(Y), i[0]);
2992
+ l = de(l, 0, n);
2921
2993
  }
2922
2994
  }
2923
2995
  let d = {
@@ -2925,7 +2997,7 @@ function kt(e) {
2925
2997
  left: l
2926
2998
  };
2927
2999
  q.current = d;
2928
- let f = ce(X, c, l), { x: p, y: m } = Se(z, $, f.x, f.y, Z());
3000
+ let f = ue(Y, c, l), { x: p, y: m } = Se(z, Q, f.x, f.y, Z());
2929
3001
  te(I, p, m, {
2930
3002
  e,
2931
3003
  node: t,
@@ -2934,27 +3006,27 @@ function kt(e) {
2934
3006
  }, [
2935
3007
  te,
2936
3008
  H,
2937
- G,
3009
+ W,
2938
3010
  g,
2939
3011
  u,
2940
3012
  j,
2941
3013
  o,
2942
3014
  i,
2943
- X,
3015
+ Y,
2944
3016
  r,
2945
3017
  A,
2946
3018
  I,
2947
3019
  z,
2948
- $,
3020
+ Q,
2949
3021
  Z
2950
- ]), ke = x((e, { node: t }) => {
2951
- if (!W || !G) return;
2952
- let n = Y.current;
2953
- if (Y.current = !1, ye.current = !1, ve.current = {
3022
+ ]), ke = S((e, { node: t }) => {
3023
+ if (!ne || !W) return;
3024
+ let n = ye.current;
3025
+ if (ye.current = !1, be.current = !1, J.current = {
2954
3026
  x: 0,
2955
3027
  y: 0
2956
3028
  }, n) {
2957
- K(!1), q.current = {
3029
+ le(!1), q.current = {
2958
3030
  left: 0,
2959
3031
  top: 0
2960
3032
  };
@@ -2964,36 +3036,36 @@ function kt(e) {
2964
3036
  top: i,
2965
3037
  left: r
2966
3038
  };
2967
- K(!1), q.current = {
3039
+ le(!1), q.current = {
2968
3040
  left: 0,
2969
3041
  top: 0
2970
3042
  };
2971
- let o = ce(X, i, r), { x: s, y: c } = Se(z, $, o.x, o.y, Z());
2972
- W(I, s, c, {
3043
+ let o = ue(Y, i, r), { x: s, y: c } = Se(z, Q, o.x, o.y, Z());
3044
+ ne(I, s, c, {
2973
3045
  e,
2974
3046
  node: t,
2975
3047
  newPosition: a
2976
3048
  });
2977
3049
  }, [
3050
+ ne,
2978
3051
  W,
2979
- G,
2980
- X,
3052
+ Y,
2981
3053
  z,
2982
- $,
3054
+ Q,
2983
3055
  Z,
2984
3056
  I
2985
3057
  ]);
2986
- _e.current = De, J.current = Oe;
2987
- let Ae = x((e, { node: t, size: n, handle: i }, a, o) => {
2988
- let s = o === "onResizeStart" ? ne : o === "onResize" ? re : se;
3058
+ _e.current = De, ve.current = Oe;
3059
+ let Ae = S((e, { node: t, size: n, handle: i }, a, o) => {
3060
+ let s = o === "onResizeStart" ? re : o === "onResize" ? ie : ae;
2989
3061
  if (!s) return;
2990
3062
  let c;
2991
- c = t ? Pe(i, a, n, r) : {
3063
+ c = t ? Ie(i, a, n, r) : {
2992
3064
  ...n,
2993
3065
  top: a.top,
2994
3066
  left: a.left
2995
3067
  }, me.current = c;
2996
- let l = le(X, c.width, c.height), { w: u, h: d } = Q(z, $, l.w, l.h, i, Z());
3068
+ let l = G(Y, c.width, c.height), { w: u, h: d } = Ce(z, Q, l.w, l.h, i, Z());
2997
3069
  s(I, u, d, {
2998
3070
  e: e.nativeEvent,
2999
3071
  node: t,
@@ -3001,71 +3073,71 @@ function kt(e) {
3001
3073
  handle: i
3002
3074
  });
3003
3075
  }, [
3004
- ne,
3005
3076
  re,
3006
- se,
3077
+ ie,
3078
+ ae,
3007
3079
  r,
3008
- X,
3080
+ Y,
3009
3081
  I,
3010
3082
  z,
3011
- $,
3083
+ Q,
3012
3084
  Z
3013
- ]), je = x((e, t) => {
3014
- fe(!0);
3015
- let n = oe(X, O, k, A, j);
3085
+ ]), je = S((e, t) => {
3086
+ K(!0);
3087
+ let n = ce(Y, O, k, A, j);
3016
3088
  Ae(e, {
3017
3089
  ...t,
3018
3090
  handle: t.handle
3019
3091
  }, n, "onResizeStart");
3020
3092
  }, [
3021
3093
  Ae,
3022
- X,
3094
+ Y,
3023
3095
  O,
3024
3096
  k,
3025
3097
  A,
3026
3098
  j
3027
- ]), Me = x((e, t) => {
3028
- let n = oe(X, O, k, A, j);
3099
+ ]), Me = S((e, t) => {
3100
+ let n = ce(Y, O, k, A, j);
3029
3101
  Ae(e, {
3030
3102
  ...t,
3031
3103
  handle: t.handle
3032
3104
  }, n, "onResize");
3033
3105
  }, [
3034
3106
  Ae,
3035
- X,
3107
+ Y,
3036
3108
  O,
3037
3109
  k,
3038
3110
  A,
3039
3111
  j
3040
- ]), Ne = x((e, t) => {
3041
- fe(!1), me.current = {
3112
+ ]), Ne = S((e, t) => {
3113
+ K(!1), me.current = {
3042
3114
  top: 0,
3043
3115
  left: 0,
3044
3116
  width: 0,
3045
3117
  height: 0
3046
3118
  };
3047
- let n = oe(X, O, k, A, j);
3119
+ let n = ce(Y, O, k, A, j);
3048
3120
  Ae(e, {
3049
3121
  ...t,
3050
3122
  handle: t.handle
3051
3123
  }, n, "onResizeStop");
3052
3124
  }, [
3053
3125
  Ae,
3054
- X,
3126
+ Y,
3055
3127
  O,
3056
3128
  k,
3057
3129
  A,
3058
3130
  j
3059
3131
  ]);
3060
- C(() => {
3132
+ w(() => {
3061
3133
  if (!_) return;
3062
3134
  let e = pe.current;
3063
3135
  if (!e) return;
3064
3136
  let t = he.current || {
3065
3137
  left: 0,
3066
3138
  top: 0
3067
- }, n = G && (_.left !== t.left || _.top !== t.top);
3068
- if (!G) {
3139
+ }, n = W && (_.left !== t.left || _.top !== t.top);
3140
+ if (!W) {
3069
3141
  let t = {
3070
3142
  node: e,
3071
3143
  deltaX: _.left,
@@ -3086,35 +3158,35 @@ function kt(e) {
3086
3158
  x: _.left,
3087
3159
  y: _.top
3088
3160
  };
3089
- J.current?.(_.e, t);
3161
+ ve.current?.(_.e, t);
3090
3162
  }
3091
3163
  he.current = _;
3092
3164
  }, [
3093
3165
  _,
3094
- G,
3166
+ W,
3095
3167
  I
3096
3168
  ]);
3097
- let Fe = oe(X, O, k, A, j, G ? q.current : null, de ? me.current : null), Ie = y.Children.only(t), Le = ie(X), Re = [ae(M, Le, i[0]), ae(P, o, i[1])], ze = [ae(N, Le, i[0]), ae(F, o, i[1])], Be = Ie.props, Ve = Be.className, He = Be.style, Ue = y.cloneElement(Ie, {
3169
+ let Pe = ce(Y, O, k, A, j, W ? q.current : null, fe ? me.current : null), Fe = b.Children.only(t), Le = oe(Y), Re = [se(M, Le, i[0]), se(P, o, i[1])], ze = [se(N, Le, i[0]), se(F, o, i[1])], Be = Fe.props, Ve = Be.className, He = Be.style, Ue = b.cloneElement(Fe, {
3098
3170
  ref: pe,
3099
3171
  className: ee("react-grid-item", Ve, v, {
3100
3172
  static: d,
3101
- resizing: de,
3173
+ resizing: fe,
3102
3174
  "react-draggable": c,
3103
- "react-draggable-dragging": G,
3175
+ "react-draggable-dragging": W,
3104
3176
  dropping: !!_,
3105
3177
  cssTransforms: f
3106
3178
  }),
3107
3179
  style: {
3108
- ...b,
3180
+ ...y,
3109
3181
  ...He,
3110
- ...Ee(Fe)
3182
+ ...$(Pe)
3111
3183
  }
3112
3184
  }), We = R;
3113
- return Ue = /* @__PURE__ */ (0, U.jsx)(Dt.Resizable, {
3185
+ return Ue = /* @__PURE__ */ (0, U.jsx)(kt.Resizable, {
3114
3186
  draggableOpts: { disabled: !l },
3115
3187
  className: l ? void 0 : "react-resizable-hide",
3116
- width: Fe.width,
3117
- height: Fe.height,
3188
+ width: Pe.width,
3189
+ height: Pe.height,
3118
3190
  minConstraints: Re,
3119
3191
  maxConstraints: ze,
3120
3192
  onResizeStart: je,
@@ -3124,24 +3196,24 @@ function kt(e) {
3124
3196
  resizeHandles: L,
3125
3197
  handle: We,
3126
3198
  children: Ue
3127
- }), Ue = /* @__PURE__ */ (0, U.jsx)(Et.DraggableCore, {
3199
+ }), Ue = /* @__PURE__ */ (0, U.jsx)(Ot.DraggableCore, {
3128
3200
  disabled: !c,
3129
3201
  onStart: De,
3130
3202
  onDrag: Oe,
3131
3203
  onStop: ke,
3132
- handle: S,
3133
- cancel: ".react-resizable-handle" + (D ? "," + D : ""),
3204
+ handle: x,
3205
+ cancel: ".react-resizable-handle" + (C ? "," + C : ""),
3134
3206
  scale: m,
3135
3207
  nodeRef: pe,
3136
3208
  children: Ue
3137
3209
  }), Ue;
3138
3210
  }
3139
- var At = () => {}, jt = "react-grid-layout", Mt = !1;
3211
+ var Mt = () => {}, Nt = "react-grid-layout", Pt = !1;
3140
3212
  try {
3141
- Mt = /firefox/i.test(navigator.userAgent);
3213
+ Pt = /firefox/i.test(navigator.userAgent);
3142
3214
  } catch {}
3143
- function Nt(e, t) {
3144
- let n = y.Children.toArray(e), r = y.Children.toArray(t);
3215
+ function Ft(e, t) {
3216
+ let n = b.Children.toArray(e), r = b.Children.toArray(t);
3145
3217
  if (n.length !== r.length) return !1;
3146
3218
  for (let e = 0; e < n.length; e++) {
3147
3219
  let t = n[e], i = r[e];
@@ -3149,14 +3221,14 @@ function Nt(e, t) {
3149
3221
  }
3150
3222
  return !0;
3151
3223
  }
3152
- function Pt(e, t, n, r) {
3224
+ function It(e, t, n, r) {
3153
3225
  let i = [], a = /* @__PURE__ */ new Set();
3154
- y.Children.forEach(t, (t) => {
3155
- if (!y.isValidElement(t) || t.key === null) return;
3226
+ b.Children.forEach(t, (t) => {
3227
+ if (!b.isValidElement(t) || t.key === null) return;
3156
3228
  let n = String(t.key);
3157
3229
  a.add(n);
3158
3230
  let r = e.find((e) => e.i === n);
3159
- if (r) i.push(_e(r));
3231
+ if (r) i.push(ye(r));
3160
3232
  else {
3161
3233
  let e = t.props["data-grid"];
3162
3234
  e ? i.push({
@@ -3177,71 +3249,71 @@ function Pt(e, t, n, r) {
3177
3249
  }) : i.push({
3178
3250
  i: n,
3179
3251
  x: 0,
3180
- y: me(i),
3252
+ y: ge(i),
3181
3253
  w: 1,
3182
3254
  h: 1
3183
3255
  });
3184
3256
  }
3185
3257
  });
3186
- let o = ye(i, { cols: n });
3258
+ let o = X(i, { cols: n });
3187
3259
  return r.compact(o, n);
3188
3260
  }
3189
- function Ft(e) {
3190
- let { children: t, width: n, gridConfig: r, dragConfig: i, resizeConfig: a, dropConfig: o, positionStrategy: s = Fe, compactor: c, constraints: l = xe, layout: u = [], droppingItem: d, autoSize: f = !0, className: p = "", style: m = {}, innerRef: h, onLayoutChange: g = At, onDragStart: _ = At, onDrag: v = At, onDragStop: b = At, onResizeStart: S = At, onResize: D = At, onResizeStop: O = At, onDrop: k = At, onDropDragOver: A = At } = e, j = w(() => ({
3191
- ...Ie,
3261
+ function Lt(e) {
3262
+ let { children: t, width: n, gridConfig: r, dragConfig: i, resizeConfig: a, dropConfig: o, positionStrategy: s = Le, compactor: c, constraints: l = xe, layout: u = [], droppingItem: d, autoSize: f = !0, className: p = "", style: m = {}, innerRef: h, onLayoutChange: g = Mt, onDragStart: _ = Mt, onDrag: v = Mt, onDragStop: y = Mt, onResizeStart: x = Mt, onResize: C = Mt, onResizeStop: O = Mt, onDrop: k = Mt, onDropDragOver: A = Mt } = e, j = T(() => ({
3263
+ ...Re,
3192
3264
  ...r
3193
- }), [r]), M = w(() => ({
3194
- ...Le,
3265
+ }), [r]), M = T(() => ({
3266
+ ...ze,
3195
3267
  ...i
3196
- }), [i]), N = w(() => ({
3197
- ...Re,
3268
+ }), [i]), N = T(() => ({
3269
+ ...Be,
3198
3270
  ...a
3199
- }), [a]), P = w(() => ({
3200
- ...ze,
3271
+ }), [a]), P = T(() => ({
3272
+ ...Ve,
3201
3273
  ...o
3202
- }), [o]), { cols: F, rowHeight: I, maxRows: L, margin: R, containerPadding: z } = j, { enabled: B, bounded: V, handle: H, cancel: te, threshold: W } = M, { enabled: ne, handles: re, handleComponent: oe } = N, { enabled: ce, defaultItem: le, onDragOver: ue } = P, G = c ?? Ye("vertical"), K = G.type, fe = G.allowOverlap, pe = G.preventCollision ?? !1, q = w(() => d ?? {
3274
+ }), [o]), { cols: F, rowHeight: I, maxRows: L, margin: R, containerPadding: z } = j, { enabled: B, bounded: V, handle: H, cancel: te, threshold: ne } = M, { enabled: re, handles: ie, handleComponent: ae } = N, { enabled: W, defaultItem: ce, onDragOver: ue } = P, G = c ?? Ze("vertical"), de = G.type, fe = G.allowOverlap, K = G.preventCollision ?? !1, q = T(() => d ?? {
3203
3275
  i: "__dropping-elem__",
3204
- ...le
3205
- }, [d, le]), ge = s.type === "transform", J = s.scale, Y = z ?? R, [ye, be] = E(!1), [Z, Se] = E(() => Pt(u, t, F, G)), [Q, Ce] = E(null), [we, Te] = E(!1), [$, Ee] = E(null), [De, Oe] = E(), ke = T(null), Ae = T(null), je = T(null), Me = T(0), Ne = T(Z), Pe = T(u), Be = T(t), Ve = T(K), He = T(Z);
3206
- He.current = Z, C(() => {
3207
- be(!0), (0, Ot.deepEqual)(Z, u) || g(Z);
3208
- }, []), C(() => {
3209
- if (Q || $) return;
3210
- let e = !(0, Ot.deepEqual)(u, Pe.current), n = !Nt(t, Be.current), r = K !== Ve.current;
3276
+ ...ce
3277
+ }, [d, ce]), me = s.type === "transform", he = s.scale, ve = z ?? R, [J, be] = D(!1), [X, Q] = D(() => It(u, t, F, G)), [$, Se] = D(null), [Ce, we] = D(!1), [Te, Ee] = D(null), [De, Oe] = D(), ke = E(null), Ae = E(null), je = E(null), Me = E(0), Ne = E(X), Pe = E(u), Fe = E(t), Ie = E(de), He = E(X);
3278
+ He.current = X, w(() => {
3279
+ be(!0), (0, At.deepEqual)(X, u) || g(X);
3280
+ }, []), w(() => {
3281
+ if ($ || Te) return;
3282
+ let e = !(0, At.deepEqual)(u, Pe.current), n = !Ft(t, Fe.current), r = de !== Ie.current;
3211
3283
  if (e || n || r) {
3212
- let n = Pt(e ? u : Z, t, F, G);
3213
- (0, Ot.deepEqual)(n, Z) || Se(n);
3284
+ let n = It(e ? u : X, t, F, G);
3285
+ (0, At.deepEqual)(n, X) || Q(n);
3214
3286
  }
3215
- Pe.current = u, Be.current = t, Ve.current = K;
3287
+ Pe.current = u, Fe.current = t, Ie.current = de;
3216
3288
  }, [
3217
3289
  u,
3218
3290
  t,
3219
3291
  F,
3220
- K,
3292
+ de,
3221
3293
  G,
3222
- Q,
3223
3294
  $,
3224
- Z
3225
- ]), C(() => {
3226
- !Q && !(0, Ot.deepEqual)(Z, Ne.current) && (Ne.current = Z, g(Z.filter((e) => e.i !== q.i)));
3295
+ Te,
3296
+ X
3297
+ ]), w(() => {
3298
+ !$ && !(0, At.deepEqual)(X, Ne.current) && (Ne.current = X, g(X.filter((e) => e.i !== q.i)));
3227
3299
  }, [
3228
- Z,
3229
- Q,
3300
+ X,
3301
+ $,
3230
3302
  g,
3231
3303
  q.i
3232
3304
  ]);
3233
- let Ue = w(() => {
3305
+ let Ue = T(() => {
3234
3306
  if (!f) return;
3235
- let e = me(Z), t = Y[1];
3307
+ let e = ge(X), t = ve[1];
3236
3308
  return e * I + (e - 1) * R[1] + t * 2 + "px";
3237
3309
  }, [
3238
3310
  f,
3239
- Z,
3311
+ X,
3240
3312
  I,
3241
3313
  R,
3242
- Y
3243
- ]), We = x((e, t, n, r) => {
3244
- let i = He.current, a = he(i, e);
3314
+ ve
3315
+ ]), We = S((e, t, n, r) => {
3316
+ let i = He.current, a = _e(i, e);
3245
3317
  if (!a) return;
3246
3318
  let o = {
3247
3319
  w: a.w,
@@ -3250,9 +3322,9 @@ function Ft(e) {
3250
3322
  y: a.y,
3251
3323
  i: e
3252
3324
  };
3253
- ke.current = _e(a), je.current = i, Ce(o), _(i, a, a, null, r.e, r.node);
3254
- }, [_]), Ge = x((e, t, n, r) => {
3255
- let i = He.current, a = ke.current, o = he(i, e);
3325
+ ke.current = ye(a), je.current = i, Se(o), _(i, a, a, null, r.e, r.node);
3326
+ }, [_]), Ge = S((e, t, n, r) => {
3327
+ let i = He.current, a = ke.current, o = _e(i, e);
3256
3328
  if (!o) return;
3257
3329
  let s = {
3258
3330
  w: o.w,
@@ -3260,37 +3332,37 @@ function Ft(e) {
3260
3332
  x: o.x,
3261
3333
  y: o.y,
3262
3334
  i: e
3263
- }, c = X(i, o, t, n, !0, pe, K, F, fe);
3264
- v(c, a, o, s, r.e, r.node), Se(G.compact(c, F)), Ce(s);
3335
+ }, c = Z(i, o, t, n, !0, K, de, F, fe);
3336
+ v(c, a, o, s, r.e, r.node), Q(G.compact(c, F)), Se(s);
3265
3337
  }, [
3266
- pe,
3267
3338
  K,
3339
+ de,
3268
3340
  F,
3269
3341
  fe,
3270
3342
  G,
3271
3343
  v
3272
- ]), Ke = x((e, t, n, r) => {
3273
- if (!Q) return;
3274
- let i = He.current, a = ke.current, o = he(i, e);
3344
+ ]), Ke = S((e, t, n, r) => {
3345
+ if (!$) return;
3346
+ let i = He.current, a = ke.current, o = _e(i, e);
3275
3347
  if (!o) return;
3276
- let s = X(i, o, t, n, !0, pe, K, F, fe), c = G.compact(s, F);
3277
- b(c, a, o, null, r.e, r.node);
3348
+ let s = Z(i, o, t, n, !0, K, de, F, fe), c = G.compact(s, F);
3349
+ y(c, a, o, null, r.e, r.node);
3278
3350
  let l = je.current;
3279
- ke.current = null, je.current = null, Ce(null), Se(c), l && !(0, Ot.deepEqual)(l, c) && g(c);
3351
+ ke.current = null, je.current = null, Se(null), Q(c), l && !(0, At.deepEqual)(l, c) && g(c);
3280
3352
  }, [
3281
- Q,
3282
- pe,
3353
+ $,
3283
3354
  K,
3355
+ de,
3284
3356
  F,
3285
3357
  fe,
3286
3358
  G,
3287
- b,
3359
+ y,
3288
3360
  g
3289
- ]), qe = x((e, t, n, r) => {
3290
- let i = He.current, a = he(i, e);
3291
- a && (Ae.current = _e(a), je.current = i, Te(!0), S(i, a, a, null, r.e, r.node));
3292
- }, [S]), Je = x((e, t, n, r) => {
3293
- let i = He.current, a = Ae.current, { handle: o } = r, s = !1, c, l, [u, d] = ve(i, e, (e) => (c = e.x, l = e.y, [
3361
+ ]), qe = S((e, t, n, r) => {
3362
+ let i = He.current, a = _e(i, e);
3363
+ a && (Ae.current = ye(a), je.current = i, we(!0), x(i, a, a, null, r.e, r.node));
3364
+ }, [x]), Je = S((e, t, n, r) => {
3365
+ let i = He.current, a = Ae.current, { handle: o } = r, s = !1, c, l, [u, d] = Y(i, e, (e) => (c = e.x, l = e.y, [
3294
3366
  "sw",
3295
3367
  "w",
3296
3368
  "nw",
@@ -3304,7 +3376,7 @@ function Ft(e) {
3304
3376
  "ne",
3305
3377
  "n",
3306
3378
  "nw"
3307
- ].includes(o) && (l = e.y + (e.h - n), n = e.y !== l && l < 0 ? e.h : n, l = l < 0 ? 0 : l), s = !0), pe && !fe && de(i, {
3379
+ ].includes(o) && (l = e.y + (e.h - n), n = e.y !== l && l < 0 ? e.h : n, l = l < 0 ? 0 : l), s = !0), K && !fe && pe(i, {
3308
3380
  ...e,
3309
3381
  w: t,
3310
3382
  h: n,
@@ -3313,7 +3385,7 @@ function Ft(e) {
3313
3385
  }).filter((t) => t.i !== e.i).length > 0 && (l = e.y, n = e.h, c = e.x, t = e.w, s = !1), e.w = t, e.h = n, e));
3314
3386
  if (!d) return;
3315
3387
  let f = u;
3316
- s && c !== void 0 && l !== void 0 && (f = X(u, d, c, l, !0, pe, K, F, fe));
3388
+ s && c !== void 0 && l !== void 0 && (f = Z(u, d, c, l, !0, K, de, F, fe));
3317
3389
  let p = {
3318
3390
  w: d.w,
3319
3391
  h: d.h,
@@ -3322,39 +3394,39 @@ function Ft(e) {
3322
3394
  i: e,
3323
3395
  static: !0
3324
3396
  };
3325
- D(f, a, d, p, r.e, r.node), Se(G.compact(f, F)), Ce(p);
3397
+ C(f, a, d, p, r.e, r.node), Q(G.compact(f, F)), Se(p);
3326
3398
  }, [
3327
- pe,
3328
3399
  K,
3400
+ de,
3329
3401
  F,
3330
3402
  fe,
3331
3403
  G,
3332
- D
3333
- ]), Xe = x((e, t, n, r) => {
3334
- let i = He.current, a = Ae.current, o = he(i, e), s = G.compact(i, F);
3404
+ C
3405
+ ]), Ye = S((e, t, n, r) => {
3406
+ let i = He.current, a = Ae.current, o = _e(i, e), s = G.compact(i, F);
3335
3407
  O(s, a, o ?? null, null, r.e, r.node);
3336
3408
  let c = je.current;
3337
- Ae.current = null, je.current = null, Ce(null), Te(!1), Se(s), c && !(0, Ot.deepEqual)(c, s) && g(s);
3409
+ Ae.current = null, je.current = null, Se(null), we(!1), Q(s), c && !(0, At.deepEqual)(c, s) && g(s);
3338
3410
  }, [
3339
3411
  F,
3340
3412
  G,
3341
3413
  O,
3342
3414
  g
3343
- ]), Ze = x(() => {
3415
+ ]), Xe = S(() => {
3344
3416
  let e = He.current;
3345
3417
  if (!e.some((e) => e.i === q.i)) {
3346
- Ee(null), Ce(null), Oe(void 0);
3418
+ Ee(null), Se(null), Oe(void 0);
3347
3419
  return;
3348
3420
  }
3349
- Se(G.compact(e.filter((e) => e.i !== q.i), F)), Ee(null), Ce(null), Oe(void 0);
3421
+ Q(G.compact(e.filter((e) => e.i !== q.i), F)), Ee(null), Se(null), Oe(void 0);
3350
3422
  }, [
3351
3423
  q.i,
3352
3424
  F,
3353
3425
  G
3354
- ]), Qe = x((e) => {
3355
- if (e.preventDefault(), e.stopPropagation(), Mt && !e.nativeEvent.target?.classList.contains(jt)) return !1;
3426
+ ]), Qe = S((e) => {
3427
+ if (e.preventDefault(), e.stopPropagation(), Pt && !e.nativeEvent.target?.classList.contains(Nt)) return !1;
3356
3428
  let t = ue ? ue(e.nativeEvent) : A(e);
3357
- if (t === !1) return $ && Ze(), !1;
3429
+ if (t === !1) return Te && Xe(), !1;
3358
3430
  let { dragOffsetX: r = 0, dragOffsetY: i = 0, ...a } = t ?? {}, o = {
3359
3431
  ...q,
3360
3432
  ...a
@@ -3364,16 +3436,16 @@ function Ft(e) {
3364
3436
  maxRows: L,
3365
3437
  rowHeight: I,
3366
3438
  containerWidth: n,
3367
- containerPadding: Y
3368
- }, l = ie(c), u = ae(o.w, l, R[0]), d = ae(o.h, I, R[1]), f = u / 2, p = d / 2, m = e.clientX - s.left + r - f, h = e.clientY - s.top + i - p, g = Math.max(0, m), _ = Math.max(0, h), v = {
3369
- left: g / J,
3370
- top: _ / J,
3439
+ containerPadding: ve
3440
+ }, l = oe(c), u = se(o.w, l, R[0]), d = se(o.h, I, R[1]), f = u / 2, p = d / 2, m = e.clientX - s.left + r - f, h = e.clientY - s.top + i - p, g = Math.max(0, m), _ = Math.max(0, h), v = {
3441
+ left: g / he,
3442
+ top: _ / he,
3371
3443
  e: e.nativeEvent
3372
3444
  };
3373
- if ($) De && (De.left !== v.left || De.top !== v.top) && Oe(v);
3445
+ if (Te) De && (De.left !== v.left || De.top !== v.top) && Oe(v);
3374
3446
  else {
3375
- let e = se(c, _, g, o.w, o.h);
3376
- Ee(/* @__PURE__ */ (0, U.jsx)("div", {}, o.i)), Oe(v), Se([...He.current.filter((e) => e.i !== o.i), {
3447
+ let e = le(c, _, g, o.w, o.h);
3448
+ Ee(/* @__PURE__ */ (0, U.jsx)("div", {}, o.i)), Oe(v), Q([...He.current.filter((e) => e.i !== o.i), {
3377
3449
  ...o,
3378
3450
  x: e.x,
3379
3451
  y: e.y,
@@ -3382,41 +3454,41 @@ function Ft(e) {
3382
3454
  }]);
3383
3455
  }
3384
3456
  }, [
3385
- $,
3457
+ Te,
3386
3458
  De,
3387
3459
  q,
3388
3460
  ue,
3389
3461
  A,
3390
- Ze,
3391
- J,
3462
+ Xe,
3463
+ he,
3392
3464
  F,
3393
3465
  R,
3394
3466
  L,
3395
3467
  I,
3396
3468
  n,
3397
- Y
3398
- ]), $e = x((e) => {
3399
- e.preventDefault(), e.stopPropagation(), Me.current--, Me.current < 0 && (Me.current = 0), Me.current === 0 && Ze();
3400
- }, [Ze]), et = x((e) => {
3469
+ ve
3470
+ ]), $e = S((e) => {
3471
+ e.preventDefault(), e.stopPropagation(), Me.current--, Me.current < 0 && (Me.current = 0), Me.current === 0 && Xe();
3472
+ }, [Xe]), et = S((e) => {
3401
3473
  e.preventDefault(), e.stopPropagation(), Me.current++;
3402
- }, []), tt = x((e) => {
3474
+ }, []), tt = S((e) => {
3403
3475
  e.preventDefault(), e.stopPropagation();
3404
3476
  let t = He.current, n = t.find((e) => e.i === q.i);
3405
- Me.current = 0, Ze(), k(t, n, e.nativeEvent);
3477
+ Me.current = 0, Xe(), k(t, n, e.nativeEvent);
3406
3478
  }, [
3407
3479
  q.i,
3408
- Ze,
3480
+ Xe,
3409
3481
  k
3410
- ]), nt = x((e, t) => {
3482
+ ]), nt = S((e, t) => {
3411
3483
  if (!e || !e.key) return null;
3412
- let r = he(Z, String(e.key));
3484
+ let r = _e(X, String(e.key));
3413
3485
  if (!r) return null;
3414
- let i = typeof r.isDraggable == "boolean" ? r.isDraggable : !r.static && B, a = typeof r.isResizable == "boolean" ? r.isResizable : !r.static && ne, o = r.resizeHandles || [...re], c = i && V && r.isBounded !== !1, u = oe;
3415
- return /* @__PURE__ */ (0, U.jsx)(kt, {
3486
+ let i = typeof r.isDraggable == "boolean" ? r.isDraggable : !r.static && B, a = typeof r.isResizable == "boolean" ? r.isResizable : !r.static && re, o = r.resizeHandles || [...ie], c = i && V && r.isBounded !== !1, u = ae;
3487
+ return /* @__PURE__ */ (0, U.jsx)(jt, {
3416
3488
  containerWidth: n,
3417
3489
  cols: F,
3418
3490
  margin: R,
3419
- containerPadding: Y,
3491
+ containerPadding: ve,
3420
3492
  maxRows: L,
3421
3493
  rowHeight: I,
3422
3494
  cancel: te,
@@ -3426,15 +3498,15 @@ function Ft(e) {
3426
3498
  onDragStop: Ke,
3427
3499
  onResizeStart: qe,
3428
3500
  onResize: Je,
3429
- onResizeStop: Xe,
3501
+ onResizeStop: Ye,
3430
3502
  isDraggable: i,
3431
3503
  isResizable: a,
3432
3504
  isBounded: c,
3433
- useCSSTransforms: ge && ye,
3434
- usePercentages: !ye,
3435
- transformScale: J,
3505
+ useCSSTransforms: me && J,
3506
+ usePercentages: !J,
3507
+ transformScale: he,
3436
3508
  positionStrategy: s,
3437
- dragThreshold: W,
3509
+ dragThreshold: ne,
3438
3510
  w: r.w,
3439
3511
  h: r.h,
3440
3512
  x: r.x,
@@ -3450,15 +3522,15 @@ function Ft(e) {
3450
3522
  resizeHandle: u,
3451
3523
  constraints: l,
3452
3524
  layoutItem: r,
3453
- layout: Z,
3525
+ layout: X,
3454
3526
  children: e
3455
3527
  }, r.i);
3456
3528
  }, [
3457
- Z,
3529
+ X,
3458
3530
  n,
3459
3531
  F,
3460
3532
  R,
3461
- Y,
3533
+ ve,
3462
3534
  L,
3463
3535
  I,
3464
3536
  te,
@@ -3468,76 +3540,76 @@ function Ft(e) {
3468
3540
  Ke,
3469
3541
  qe,
3470
3542
  Je,
3471
- Xe,
3543
+ Ye,
3472
3544
  B,
3473
- ne,
3545
+ re,
3474
3546
  V,
3475
- ge,
3476
- ye,
3547
+ me,
3477
3548
  J,
3549
+ he,
3478
3550
  s,
3479
- W,
3551
+ ne,
3480
3552
  De,
3481
- re,
3482
- oe,
3553
+ ie,
3554
+ ae,
3483
3555
  l
3484
- ]), rt = () => Q ? /* @__PURE__ */ (0, U.jsx)(kt, {
3485
- w: Q.w,
3486
- h: Q.h,
3487
- x: Q.x,
3488
- y: Q.y,
3489
- i: Q.i,
3490
- className: `react-grid-placeholder ${we ? "placeholder-resizing" : ""}`,
3556
+ ]), rt = () => $ ? /* @__PURE__ */ (0, U.jsx)(jt, {
3557
+ w: $.w,
3558
+ h: $.h,
3559
+ x: $.x,
3560
+ y: $.y,
3561
+ i: $.i,
3562
+ className: `react-grid-placeholder ${Ce ? "placeholder-resizing" : ""}`,
3491
3563
  containerWidth: n,
3492
3564
  cols: F,
3493
3565
  margin: R,
3494
- containerPadding: Y,
3566
+ containerPadding: ve,
3495
3567
  maxRows: L,
3496
3568
  rowHeight: I,
3497
3569
  isDraggable: !1,
3498
3570
  isResizable: !1,
3499
3571
  isBounded: !1,
3500
- useCSSTransforms: ge,
3501
- transformScale: J,
3572
+ useCSSTransforms: me,
3573
+ transformScale: he,
3502
3574
  constraints: l,
3503
- layout: Z,
3575
+ layout: X,
3504
3576
  children: /* @__PURE__ */ (0, U.jsx)("div", {})
3505
3577
  }) : null;
3506
3578
  return /* @__PURE__ */ (0, U.jsxs)("div", {
3507
3579
  ref: h,
3508
- className: ee(jt, p),
3580
+ className: ee(Nt, p),
3509
3581
  style: {
3510
3582
  height: Ue,
3511
3583
  ...m
3512
3584
  },
3513
- onDrop: ce ? tt : void 0,
3514
- onDragLeave: ce ? $e : void 0,
3515
- onDragEnter: ce ? et : void 0,
3516
- onDragOver: ce ? Qe : void 0,
3585
+ onDrop: W ? tt : void 0,
3586
+ onDragLeave: W ? $e : void 0,
3587
+ onDragEnter: W ? et : void 0,
3588
+ onDragOver: W ? Qe : void 0,
3517
3589
  children: [
3518
- y.Children.map(t, (e) => y.isValidElement(e) ? nt(e) : null),
3519
- ce && $ && nt($, !0),
3590
+ b.Children.map(t, (e) => b.isValidElement(e) ? nt(e) : null),
3591
+ W && Te && nt(Te, !0),
3520
3592
  rt()
3521
3593
  ]
3522
3594
  });
3523
3595
  }
3524
- var It = {
3596
+ var Rt = {
3525
3597
  lg: 1200,
3526
3598
  md: 996,
3527
3599
  sm: 768,
3528
3600
  xs: 480,
3529
3601
  xxs: 0
3530
- }, Lt = {
3602
+ }, zt = {
3531
3603
  lg: 12,
3532
3604
  md: 10,
3533
3605
  sm: 6,
3534
3606
  xs: 4,
3535
3607
  xxs: 2
3536
- }, Rt = () => {};
3537
- function zt(e, t, n, r) {
3608
+ }, Bt = () => {};
3609
+ function Vt(e, t, n, r) {
3538
3610
  let i = [];
3539
- y.Children.forEach(t, (t) => {
3540
- if (!y.isValidElement(t) || t.key === null) return;
3611
+ b.Children.forEach(t, (t) => {
3612
+ if (!b.isValidElement(t) || t.key === null) return;
3541
3613
  let n = String(t.key), r = e.find((e) => e.i === n);
3542
3614
  if (r) i.push({
3543
3615
  ...r,
@@ -3563,36 +3635,36 @@ function zt(e, t, n, r) {
3563
3635
  }) : i.push({
3564
3636
  i: n,
3565
3637
  x: 0,
3566
- y: me(i),
3638
+ y: ge(i),
3567
3639
  w: 1,
3568
3640
  h: 1
3569
3641
  });
3570
3642
  }
3571
3643
  });
3572
- let a = ye(i, { cols: n });
3644
+ let a = X(i, { cols: n });
3573
3645
  return r.compact(a, n);
3574
3646
  }
3575
- function Bt(e) {
3576
- let { children: t, width: n, breakpoint: r, breakpoints: i = It, cols: a = Lt, layouts: o = {}, rowHeight: s = 150, maxRows: c = Infinity, margin: l = [10, 10], containerPadding: u = null, compactor: d, onBreakpointChange: f = Rt, onLayoutChange: p = Rt, onWidthChange: m = Rt, ...h } = e, g = d ?? Ye("vertical"), _ = g.type, v = g.allowOverlap, y = w(() => r ?? Ze(i, n), []), b = w(() => Qe(y, a), [y, a]), S = w(() => $e(o, i, y, y, b, _), []), [D, O] = E(y), [k, A] = E(b), [j, M] = E(S), [N, P] = E(o), F = T(n), I = T(r), L = T(i), R = T(a), ee = T(o), z = T(_), B = T(N);
3577
- C(() => {
3647
+ function Ht(e) {
3648
+ let { children: t, width: n, breakpoint: r, breakpoints: i = Rt, cols: a = zt, layouts: o = {}, rowHeight: s = 150, maxRows: c = Infinity, margin: l = [10, 10], containerPadding: u = null, compactor: d, onBreakpointChange: f = Bt, onLayoutChange: p = Bt, onWidthChange: m = Bt, ...h } = e, g = d ?? Ze("vertical"), _ = g.type, v = g.allowOverlap, y = T(() => r ?? $e(i, n), []), b = T(() => et(y, a), [y, a]), x = T(() => tt(o, i, y, y, b, _), []), [C, O] = D(y), [k, A] = D(b), [j, M] = D(x), [N, P] = D(o), F = E(n), I = E(r), L = E(i), R = E(a), z = E(o), ee = E(_), B = E(N);
3649
+ w(() => {
3578
3650
  B.current = N;
3579
3651
  }, [N]);
3580
- let V = w(() => (0, Ot.deepEqual)(o, ee.current) ? null : $e(o, i, D, D, k, g), [
3652
+ let V = T(() => (0, At.deepEqual)(o, z.current) ? null : tt(o, i, C, C, k, g), [
3581
3653
  o,
3582
3654
  i,
3583
- D,
3655
+ C,
3584
3656
  k,
3585
3657
  g
3586
3658
  ]), H = V ?? j;
3587
- C(() => {
3588
- V !== null && (M(V), P(o), B.current = o, ee.current = o);
3589
- }, [V, o]), C(() => {
3590
- if (_ !== z.current) {
3659
+ w(() => {
3660
+ V !== null && (M(V), P(o), B.current = o, z.current = o);
3661
+ }, [V, o]), w(() => {
3662
+ if (_ !== ee.current) {
3591
3663
  let e = g.compact(J(H), k), t = {
3592
3664
  ...B.current,
3593
- [D]: e
3665
+ [C]: e
3594
3666
  };
3595
- M(e), P(t), B.current = t, p(e, t), z.current = _;
3667
+ M(e), P(t), B.current = t, p(e, t), ee.current = _;
3596
3668
  }
3597
3669
  }, [
3598
3670
  _,
@@ -3600,26 +3672,26 @@ function Bt(e) {
3600
3672
  H,
3601
3673
  k,
3602
3674
  v,
3603
- D,
3675
+ C,
3604
3676
  p
3605
- ]), C(() => {
3606
- let e = n !== F.current, o = r !== I.current, s = !(0, Ot.deepEqual)(i, L.current), c = !(0, Ot.deepEqual)(a, R.current);
3677
+ ]), w(() => {
3678
+ let e = n !== F.current, o = r !== I.current, s = !(0, At.deepEqual)(i, L.current), c = !(0, At.deepEqual)(a, R.current);
3607
3679
  if (e || o || s || c) {
3608
- let e = r ?? Ze(i, n), o = Qe(e, a), d = D;
3680
+ let e = r ?? $e(i, n), o = et(e, a), d = C;
3609
3681
  if (d !== e || s || c) {
3610
3682
  let n = { ...B.current };
3611
3683
  n[d] || (n[d] = J(j));
3612
- let r = $e(n, i, e, d, o, g);
3613
- r = zt(r, t, o, g), n[e] = r, O(e), A(o), M(r), P(n), B.current = n, f(e, o), p(r, n);
3684
+ let r = tt(n, i, e, d, o, g);
3685
+ r = Vt(r, t, o, g), n[e] = r, O(e), A(o), M(r), P(n), B.current = n, f(e, o), p(r, n);
3614
3686
  }
3615
- m(n, et(l, e), o, u ? et(u, e) : null), F.current = n, I.current = r, L.current = i, R.current = a;
3687
+ m(n, nt(l, e), o, u ? nt(u, e) : null), F.current = n, I.current = r, L.current = i, R.current = a;
3616
3688
  }
3617
3689
  }, [
3618
3690
  n,
3619
3691
  r,
3620
3692
  i,
3621
3693
  a,
3622
- D,
3694
+ C,
3623
3695
  k,
3624
3696
  j,
3625
3697
  t,
@@ -3632,29 +3704,29 @@ function Bt(e) {
3632
3704
  p,
3633
3705
  m
3634
3706
  ]);
3635
- let te = x((e) => {
3707
+ let te = S((e) => {
3636
3708
  let t = {
3637
3709
  ...B.current,
3638
- [D]: e
3710
+ [C]: e
3639
3711
  };
3640
3712
  M(e), P(t), B.current = t, p(e, t);
3641
- }, [D, p]), W = w(() => et(l, D), [l, D]), ne = w(() => u === null ? null : et(u, D), [u, D]), re = w(() => ({
3713
+ }, [C, p]), ne = T(() => nt(l, C), [l, C]), re = T(() => u === null ? null : nt(u, C), [u, C]), ie = T(() => ({
3642
3714
  cols: k,
3643
3715
  rowHeight: s,
3644
3716
  maxRows: c,
3645
- margin: W,
3646
- containerPadding: ne
3717
+ margin: ne,
3718
+ containerPadding: re
3647
3719
  }), [
3648
3720
  k,
3649
3721
  s,
3650
3722
  c,
3651
- W,
3652
- ne
3723
+ ne,
3724
+ re
3653
3725
  ]);
3654
- return /* @__PURE__ */ (0, U.jsx)(Ft, {
3726
+ return /* @__PURE__ */ (0, U.jsx)(Lt, {
3655
3727
  ...h,
3656
3728
  width: n,
3657
- gridConfig: re,
3729
+ gridConfig: ie,
3658
3730
  compactor: g,
3659
3731
  onLayoutChange: te,
3660
3732
  layout: H,
@@ -3663,9 +3735,9 @@ function Bt(e) {
3663
3735
  }
3664
3736
  //#endregion
3665
3737
  //#region src/DashboardGridLayout.tsx
3666
- function Vt({ editMode: e }) {
3667
- let t = a();
3668
- return v.useEffect(() => {
3738
+ function Ut({ editMode: e }) {
3739
+ let t = o();
3740
+ return y.useEffect(() => {
3669
3741
  if (e) return t.startDrag({
3670
3742
  id: "dashboard-layout",
3671
3743
  type: "dashboard-widget",
@@ -3676,17 +3748,17 @@ function Vt({ editMode: e }) {
3676
3748
  t.endDrag("dashboard");
3677
3749
  }, [e, t]), null;
3678
3750
  }
3679
- var Ht = [
3751
+ var Wt = [
3680
3752
  "hsl(var(--chart-1))",
3681
3753
  "hsl(var(--chart-2))",
3682
3754
  "hsl(var(--chart-3))",
3683
3755
  "hsl(var(--chart-4))",
3684
3756
  "hsl(var(--chart-5))"
3685
- ], Ut = ({ schema: e, className: t, onLayoutChange: r, persistLayoutKey: i = "dashboard-layout", onRefresh: a }) => {
3686
- let { width: f, containerRef: p, mounted: m } = nt(), [h, _] = v.useState(!1), [y, b] = v.useState(!1), x = o(), S = v.useRef(null), C = v.useCallback(() => {
3757
+ ], Gt = ({ schema: e, className: t, onLayoutChange: r, persistLayoutKey: i = "dashboard-layout", onRefresh: a }) => {
3758
+ let { width: o, containerRef: p, mounted: m } = it(), [h, g] = y.useState(!1), [v, b] = y.useState(!1), x = s(), S = y.useRef(null), C = y.useCallback(() => {
3687
3759
  a && (b(!0), a(), setTimeout(() => b(!1), 600));
3688
3760
  }, [a]);
3689
- v.useEffect(() => {
3761
+ y.useEffect(() => {
3690
3762
  if (!(!e.refreshInterval || e.refreshInterval <= 0 || !a)) return S.current = setInterval(C, e.refreshInterval * 1e3), () => {
3691
3763
  S.current && clearInterval(S.current);
3692
3764
  };
@@ -3695,7 +3767,7 @@ var Ht = [
3695
3767
  a,
3696
3768
  C
3697
3769
  ]);
3698
- let [w, T] = v.useState(() => {
3770
+ let [w, T] = y.useState(() => {
3699
3771
  if (typeof window < "u" && i) {
3700
3772
  let e = localStorage.getItem(i);
3701
3773
  if (e) try {
@@ -3711,11 +3783,11 @@ var Ht = [
3711
3783
  w: e.layout?.w || 3,
3712
3784
  h: e.layout?.h || 4
3713
3785
  })) || [] };
3714
- }), E = v.useCallback((e, t) => {
3786
+ }), E = y.useCallback((e, t) => {
3715
3787
  T(t), r?.(e);
3716
- }, [r]), D = v.useCallback(() => {
3717
- typeof window < "u" && i && localStorage.setItem(i, JSON.stringify(w)), _(!1);
3718
- }, [w, i]), O = v.useCallback(() => {
3788
+ }, [r]), D = y.useCallback(() => {
3789
+ typeof window < "u" && i && localStorage.setItem(i, JSON.stringify(w)), g(!1);
3790
+ }, [w, i]), O = y.useCallback(() => {
3719
3791
  T({ lg: e.widgets?.map((e, t) => ({
3720
3792
  i: e.id || `widget-${t}`,
3721
3793
  x: e.layout?.x || t % 4 * 3,
@@ -3723,12 +3795,12 @@ var Ht = [
3723
3795
  w: e.layout?.w || 3,
3724
3796
  h: e.layout?.h || 4
3725
3797
  })) || [] }), typeof window < "u" && i && localStorage.removeItem(i);
3726
- }, [e.widgets, i]), k = v.useCallback((e) => {
3798
+ }, [e.widgets, i]), k = y.useCallback((e) => {
3727
3799
  if (e.component) return e.component;
3728
3800
  let t = e.type, n = e.options || {};
3729
3801
  if (t === "bar" || t === "line" || t === "area" || t === "pie" || t === "donut" || t === "scatter") {
3730
3802
  let r = e.data || n.data, i = e.categoryField || n.xField || "name", a = e.valueField || n.yField || "value";
3731
- if (V(r)) {
3803
+ if (H(r)) {
3732
3804
  let n = r.aggregate, o = n ? {
3733
3805
  field: e.valueField || n.field,
3734
3806
  function: e.aggregate || n.function,
@@ -3741,7 +3813,7 @@ var Ht = [
3741
3813
  aggregate: o,
3742
3814
  xAxisKey: i,
3743
3815
  series: [{ dataKey: s }],
3744
- colors: Ht,
3816
+ colors: Wt,
3745
3817
  className: "h-full"
3746
3818
  };
3747
3819
  }
@@ -3758,7 +3830,7 @@ var Ht = [
3758
3830
  aggregate: n,
3759
3831
  xAxisKey: i,
3760
3832
  series: [{ dataKey: e.valueField || "value" }],
3761
- colors: Ht,
3833
+ colors: Wt,
3762
3834
  className: "h-full"
3763
3835
  };
3764
3836
  }
@@ -3768,13 +3840,13 @@ var Ht = [
3768
3840
  data: Array.isArray(r) ? r : r?.items || [],
3769
3841
  xAxisKey: i,
3770
3842
  series: [{ dataKey: a }],
3771
- colors: Ht,
3843
+ colors: Wt,
3772
3844
  className: "h-full"
3773
3845
  };
3774
3846
  }
3775
3847
  if (t === "table") {
3776
3848
  let t = e.data || n.data;
3777
- if (V(t)) {
3849
+ if (H(t)) {
3778
3850
  let { data: r, ...i } = n;
3779
3851
  return {
3780
3852
  type: "data-table",
@@ -3806,7 +3878,7 @@ var Ht = [
3806
3878
  }
3807
3879
  if (t === "pivot") {
3808
3880
  let t = e.data || n.data;
3809
- if (V(t)) {
3881
+ if (H(t)) {
3810
3882
  let { data: r, ...i } = n;
3811
3883
  return {
3812
3884
  type: "pivot",
@@ -3829,10 +3901,10 @@ var Ht = [
3829
3901
  }, []);
3830
3902
  return /* @__PURE__ */ (0, U.jsxs)("div", {
3831
3903
  ref: p,
3832
- className: g("w-full", t),
3904
+ className: _("w-full", t),
3833
3905
  "data-testid": "grid-layout",
3834
3906
  children: [
3835
- x && /* @__PURE__ */ (0, U.jsx)(Vt, { editMode: h }),
3907
+ x && /* @__PURE__ */ (0, U.jsx)(Ut, { editMode: h }),
3836
3908
  /* @__PURE__ */ (0, U.jsxs)("div", {
3837
3909
  className: "mb-4 flex items-center justify-between",
3838
3910
  children: [/* @__PURE__ */ (0, U.jsx)("h2", {
@@ -3841,42 +3913,42 @@ var Ht = [
3841
3913
  }), /* @__PURE__ */ (0, U.jsx)("div", {
3842
3914
  className: "flex gap-2",
3843
3915
  children: h ? /* @__PURE__ */ (0, U.jsxs)(U.Fragment, { children: [
3844
- /* @__PURE__ */ (0, U.jsxs)(s, {
3916
+ /* @__PURE__ */ (0, U.jsxs)(c, {
3845
3917
  onClick: D,
3846
3918
  size: "sm",
3847
3919
  variant: "default",
3848
- children: [/* @__PURE__ */ (0, U.jsx)(I, { className: "h-4 w-4 mr-2" }), "Save Layout"]
3920
+ children: [/* @__PURE__ */ (0, U.jsx)(L, { className: "h-4 w-4 mr-2" }), "Save Layout"]
3849
3921
  }),
3850
- /* @__PURE__ */ (0, U.jsxs)(s, {
3922
+ /* @__PURE__ */ (0, U.jsxs)(c, {
3851
3923
  onClick: O,
3852
3924
  size: "sm",
3853
3925
  variant: "outline",
3854
- children: [/* @__PURE__ */ (0, U.jsx)(R, { className: "h-4 w-4 mr-2" }), "Reset"]
3926
+ children: [/* @__PURE__ */ (0, U.jsx)(z, { className: "h-4 w-4 mr-2" }), "Reset"]
3855
3927
  }),
3856
- /* @__PURE__ */ (0, U.jsx)(s, {
3857
- onClick: () => _(!1),
3928
+ /* @__PURE__ */ (0, U.jsx)(c, {
3929
+ onClick: () => g(!1),
3858
3930
  size: "sm",
3859
3931
  variant: "ghost",
3860
3932
  children: "Cancel"
3861
3933
  })
3862
- ] }) : /* @__PURE__ */ (0, U.jsxs)(U.Fragment, { children: [a && /* @__PURE__ */ (0, U.jsxs)(s, {
3934
+ ] }) : /* @__PURE__ */ (0, U.jsxs)(U.Fragment, { children: [a && /* @__PURE__ */ (0, U.jsxs)(c, {
3863
3935
  onClick: C,
3864
3936
  size: "sm",
3865
3937
  variant: "outline",
3866
- disabled: y,
3938
+ disabled: v,
3867
3939
  "aria-label": "Refresh dashboard",
3868
- children: [/* @__PURE__ */ (0, U.jsx)(F, { className: g("h-4 w-4 mr-2", y && "animate-spin") }), y ? "Refreshing…" : "Refresh All"]
3869
- }), /* @__PURE__ */ (0, U.jsxs)(s, {
3870
- onClick: () => _(!0),
3940
+ children: [/* @__PURE__ */ (0, U.jsx)(I, { className: _("h-4 w-4 mr-2", v && "animate-spin") }), v ? "Refreshing…" : "Refresh All"]
3941
+ }), /* @__PURE__ */ (0, U.jsxs)(c, {
3942
+ onClick: () => g(!0),
3871
3943
  size: "sm",
3872
3944
  variant: "outline",
3873
- children: [/* @__PURE__ */ (0, U.jsx)(j, { className: "h-4 w-4 mr-2" }), "Edit Layout"]
3945
+ children: [/* @__PURE__ */ (0, U.jsx)(M, { className: "h-4 w-4 mr-2" }), "Edit Layout"]
3874
3946
  })] })
3875
3947
  })]
3876
3948
  }),
3877
- m && /* @__PURE__ */ (0, U.jsx)(Bt, {
3949
+ m && /* @__PURE__ */ (0, U.jsx)(Ht, {
3878
3950
  className: "layout",
3879
- width: f,
3951
+ width: o,
3880
3952
  layouts: w,
3881
3953
  breakpoints: {
3882
3954
  lg: 1200,
@@ -3907,27 +3979,27 @@ var Ht = [
3907
3979
  className: "h-full w-full relative",
3908
3980
  children: [h && /* @__PURE__ */ (0, U.jsx)("div", {
3909
3981
  className: "drag-handle absolute top-2 right-2 z-10 cursor-move p-1 bg-background/80 rounded border border-border",
3910
- children: /* @__PURE__ */ (0, U.jsx)(M, { className: "h-4 w-4" })
3982
+ children: /* @__PURE__ */ (0, U.jsx)(N, { className: "h-4 w-4" })
3911
3983
  }), /* @__PURE__ */ (0, U.jsx)(n, {
3912
3984
  schema: i,
3913
3985
  className: "h-full w-full"
3914
3986
  })]
3915
- }) : /* @__PURE__ */ (0, U.jsxs)(c, {
3916
- className: g("h-full overflow-hidden border-border/50 shadow-sm transition-all", "bg-card/50 backdrop-blur-sm", h && "ring-2 ring-primary/20"),
3917
- children: [e.title && /* @__PURE__ */ (0, U.jsxs)(u, {
3987
+ }) : /* @__PURE__ */ (0, U.jsxs)(l, {
3988
+ className: _("h-full overflow-hidden border-border/50 shadow-sm transition-all", "bg-card/50 backdrop-blur-sm", h && "ring-2 ring-primary/20"),
3989
+ children: [e.title && /* @__PURE__ */ (0, U.jsxs)(d, {
3918
3990
  className: "pb-2 border-b border-border/40 bg-muted/20 flex flex-row items-center justify-between",
3919
- children: [/* @__PURE__ */ (0, U.jsx)(d, {
3991
+ children: [/* @__PURE__ */ (0, U.jsx)(f, {
3920
3992
  className: "text-base font-medium tracking-tight truncate",
3921
3993
  title: e.title,
3922
3994
  children: e.title
3923
3995
  }), h && /* @__PURE__ */ (0, U.jsx)("div", {
3924
3996
  className: "drag-handle cursor-move p-1 hover:bg-muted/40 rounded",
3925
- children: /* @__PURE__ */ (0, U.jsx)(M, { className: "h-4 w-4" })
3997
+ children: /* @__PURE__ */ (0, U.jsx)(N, { className: "h-4 w-4" })
3926
3998
  })]
3927
- }), /* @__PURE__ */ (0, U.jsx)(l, {
3999
+ }), /* @__PURE__ */ (0, U.jsx)(u, {
3928
4000
  className: "p-0 h-full",
3929
4001
  children: /* @__PURE__ */ (0, U.jsx)("div", {
3930
- className: g("h-full w-full overflow-auto p-4"),
4002
+ className: _("h-full w-full overflow-auto p-4"),
3931
4003
  children: /* @__PURE__ */ (0, U.jsx)(n, { schema: i })
3932
4004
  })
3933
4005
  })]
@@ -3940,33 +4012,42 @@ var Ht = [
3940
4012
  };
3941
4013
  //#endregion
3942
4014
  //#region src/MetricWidget.tsx
3943
- function Wt(e) {
4015
+ function Kt(e) {
3944
4016
  if (e != null) return typeof e == "string" ? e : e.defaultValue || e.key;
3945
4017
  }
3946
- var Gt = ({ label: e, value: t, trend: n, icon: r, className: i, description: a, loading: o, error: s, ...f }) => {
3947
- let p = w(() => {
4018
+ var qt = {
4019
+ default: "bg-muted text-muted-foreground",
4020
+ blue: "bg-blue-500/10 text-blue-600 dark:text-blue-400",
4021
+ teal: "bg-teal-500/10 text-teal-600 dark:text-teal-400",
4022
+ orange: "bg-orange-500/10 text-orange-600 dark:text-orange-400",
4023
+ purple: "bg-purple-500/10 text-purple-600 dark:text-purple-400",
4024
+ success: "bg-emerald-500/10 text-emerald-600 dark:text-emerald-400",
4025
+ warning: "bg-amber-500/10 text-amber-600 dark:text-amber-400",
4026
+ danger: "bg-rose-500/10 text-rose-600 dark:text-rose-400"
4027
+ }, Jt = ({ label: e, value: t, trend: n, icon: r, className: i, description: a, loading: o, error: s, colorVariant: c = "default", ...p }) => {
4028
+ let m = qt[c] || qt.default, h = T(() => {
3948
4029
  if (typeof r == "string") {
3949
- let e = D[r];
3950
- return e ? /* @__PURE__ */ (0, U.jsx)(e, { className: "h-4 w-4 text-muted-foreground" }) : null;
4030
+ let e = O[r];
4031
+ return e ? /* @__PURE__ */ (0, U.jsx)(e, { className: "h-4 w-4" }) : null;
3951
4032
  }
3952
4033
  return r;
3953
4034
  }, [r]);
3954
- return /* @__PURE__ */ (0, U.jsxs)(c, {
3955
- className: g("h-full overflow-hidden", i),
3956
- ...f,
3957
- children: [/* @__PURE__ */ (0, U.jsxs)(u, {
4035
+ return /* @__PURE__ */ (0, U.jsxs)(l, {
4036
+ className: _("h-full overflow-hidden", i),
4037
+ ...p,
4038
+ children: [/* @__PURE__ */ (0, U.jsxs)(d, {
3958
4039
  className: "flex flex-row items-center justify-between space-y-0 pb-2",
3959
- children: [/* @__PURE__ */ (0, U.jsx)(d, {
4040
+ children: [/* @__PURE__ */ (0, U.jsx)(f, {
3960
4041
  className: "text-sm font-medium truncate",
3961
- children: Wt(e)
3962
- }), p && /* @__PURE__ */ (0, U.jsx)("div", {
3963
- className: "h-4 w-4 text-muted-foreground shrink-0",
3964
- children: p
4042
+ children: Kt(e)
4043
+ }), h && /* @__PURE__ */ (0, U.jsx)("div", {
4044
+ className: _("flex h-8 w-8 items-center justify-center rounded-md shrink-0", m),
4045
+ children: h
3965
4046
  })]
3966
- }), /* @__PURE__ */ (0, U.jsx)(l, { children: o ? /* @__PURE__ */ (0, U.jsxs)("div", {
4047
+ }), /* @__PURE__ */ (0, U.jsx)(u, { children: o ? /* @__PURE__ */ (0, U.jsxs)("div", {
3967
4048
  className: "flex items-center gap-2 text-muted-foreground",
3968
4049
  "data-testid": "metric-loading",
3969
- children: [/* @__PURE__ */ (0, U.jsx)(N, { className: "h-4 w-4 animate-spin" }), /* @__PURE__ */ (0, U.jsx)("span", {
4050
+ children: [/* @__PURE__ */ (0, U.jsx)(P, { className: "h-4 w-4 animate-spin" }), /* @__PURE__ */ (0, U.jsx)("span", {
3970
4051
  className: "text-sm",
3971
4052
  children: "Loading…"
3972
4053
  })]
@@ -3974,7 +4055,7 @@ var Gt = ({ label: e, value: t, trend: n, icon: r, className: i, description: a,
3974
4055
  className: "flex items-center gap-2",
3975
4056
  "data-testid": "metric-error",
3976
4057
  role: "alert",
3977
- children: [/* @__PURE__ */ (0, U.jsx)(O, { className: "h-4 w-4 text-destructive shrink-0" }), /* @__PURE__ */ (0, U.jsx)("span", {
4058
+ children: [/* @__PURE__ */ (0, U.jsx)(k, { className: "h-4 w-4 text-destructive shrink-0" }), /* @__PURE__ */ (0, U.jsx)("span", {
3978
4059
  className: "text-xs text-destructive truncate",
3979
4060
  children: s
3980
4061
  })]
@@ -3984,51 +4065,51 @@ var Gt = ({ label: e, value: t, trend: n, icon: r, className: i, description: a,
3984
4065
  }), (n || a) && /* @__PURE__ */ (0, U.jsxs)("p", {
3985
4066
  className: "text-xs text-muted-foreground flex items-center mt-1 truncate",
3986
4067
  children: [n && /* @__PURE__ */ (0, U.jsxs)("span", {
3987
- className: g("flex items-center mr-2 shrink-0", n.direction === "up" && "text-green-500", n.direction === "down" && "text-red-500", n.direction === "neutral" && "text-yellow-500"),
4068
+ className: _("flex items-center mr-2 shrink-0 font-medium", n.direction === "up" && "text-emerald-600 dark:text-emerald-400", n.direction === "down" && "text-rose-600 dark:text-rose-400", n.direction === "neutral" && "text-muted-foreground"),
3988
4069
  children: [
3989
- n.direction === "up" && /* @__PURE__ */ (0, U.jsx)(A, { className: "h-3 w-3 mr-1" }),
3990
- n.direction === "down" && /* @__PURE__ */ (0, U.jsx)(k, { className: "h-3 w-3 mr-1" }),
3991
- n.direction === "neutral" && /* @__PURE__ */ (0, U.jsx)(P, { className: "h-3 w-3 mr-1" }),
4070
+ n.direction === "up" && /* @__PURE__ */ (0, U.jsx)(j, { className: "h-3 w-3 mr-1" }),
4071
+ n.direction === "down" && /* @__PURE__ */ (0, U.jsx)(A, { className: "h-3 w-3 mr-1" }),
4072
+ n.direction === "neutral" && /* @__PURE__ */ (0, U.jsx)(F, { className: "h-3 w-3 mr-1" }),
3992
4073
  n.value,
3993
4074
  "%"
3994
4075
  ]
3995
4076
  }), /* @__PURE__ */ (0, U.jsx)("span", {
3996
4077
  className: "truncate",
3997
- children: Wt(a) || Wt(n?.label)
4078
+ children: Kt(a) || Kt(n?.label)
3998
4079
  })]
3999
4080
  })] }) })]
4000
4081
  });
4001
4082
  };
4002
4083
  //#endregion
4003
4084
  //#region src/MetricCard.tsx
4004
- function Kt(e) {
4085
+ function Yt(e) {
4005
4086
  if (e != null) return typeof e == "string" ? e : e.defaultValue || e.key;
4006
4087
  }
4007
- var qt = ({ title: e, value: t, icon: n, trend: r, trendValue: i, description: a, className: o, loading: s, error: f, ...p }) => {
4008
- let m = n && D[n];
4009
- return /* @__PURE__ */ (0, U.jsxs)(c, {
4010
- className: g("h-full", o),
4088
+ var Xt = ({ title: e, value: t, icon: n, trend: r, trendValue: i, description: a, className: o, loading: s, error: c, ...p }) => {
4089
+ let m = n && O[n];
4090
+ return /* @__PURE__ */ (0, U.jsxs)(l, {
4091
+ className: _("h-full", o),
4011
4092
  ...p,
4012
- children: [/* @__PURE__ */ (0, U.jsxs)(u, {
4093
+ children: [/* @__PURE__ */ (0, U.jsxs)(d, {
4013
4094
  className: "flex flex-row items-center justify-between space-y-0 pb-2",
4014
- children: [/* @__PURE__ */ (0, U.jsx)(d, {
4095
+ children: [/* @__PURE__ */ (0, U.jsx)(f, {
4015
4096
  className: "text-sm font-medium",
4016
- children: Kt(e)
4097
+ children: Yt(e)
4017
4098
  }), m && /* @__PURE__ */ (0, U.jsx)(m, { className: "h-4 w-4 text-muted-foreground" })]
4018
- }), /* @__PURE__ */ (0, U.jsx)(l, { children: s ? /* @__PURE__ */ (0, U.jsxs)("div", {
4099
+ }), /* @__PURE__ */ (0, U.jsx)(u, { children: s ? /* @__PURE__ */ (0, U.jsxs)("div", {
4019
4100
  className: "flex items-center gap-2 text-muted-foreground",
4020
4101
  "data-testid": "metric-card-loading",
4021
- children: [/* @__PURE__ */ (0, U.jsx)(N, { className: "h-4 w-4 animate-spin" }), /* @__PURE__ */ (0, U.jsx)("span", {
4102
+ children: [/* @__PURE__ */ (0, U.jsx)(P, { className: "h-4 w-4 animate-spin" }), /* @__PURE__ */ (0, U.jsx)("span", {
4022
4103
  className: "text-sm",
4023
4104
  children: "Loading…"
4024
4105
  })]
4025
- }) : f ? /* @__PURE__ */ (0, U.jsxs)("div", {
4106
+ }) : c ? /* @__PURE__ */ (0, U.jsxs)("div", {
4026
4107
  className: "flex items-center gap-2",
4027
4108
  "data-testid": "metric-card-error",
4028
4109
  role: "alert",
4029
- children: [/* @__PURE__ */ (0, U.jsx)(O, { className: "h-4 w-4 text-destructive shrink-0" }), /* @__PURE__ */ (0, U.jsx)("span", {
4110
+ children: [/* @__PURE__ */ (0, U.jsx)(k, { className: "h-4 w-4 text-destructive shrink-0" }), /* @__PURE__ */ (0, U.jsx)("span", {
4030
4111
  className: "text-xs text-destructive truncate",
4031
- children: f
4112
+ children: c
4032
4113
  })]
4033
4114
  }) : /* @__PURE__ */ (0, U.jsxs)(U.Fragment, { children: [/* @__PURE__ */ (0, U.jsx)("div", {
4034
4115
  className: "text-2xl font-bold",
@@ -4036,20 +4117,20 @@ var qt = ({ title: e, value: t, icon: n, trend: r, trendValue: i, description: a
4036
4117
  }), (r || i || a) && /* @__PURE__ */ (0, U.jsxs)("p", {
4037
4118
  className: "text-xs text-muted-foreground flex items-center mt-1",
4038
4119
  children: [r && i && /* @__PURE__ */ (0, U.jsxs)("span", {
4039
- className: g("flex items-center mr-2", r === "up" && "text-green-500", r === "down" && "text-red-500", r === "neutral" && "text-yellow-500"),
4120
+ className: _("flex items-center mr-2", r === "up" && "text-green-500", r === "down" && "text-red-500", r === "neutral" && "text-yellow-500"),
4040
4121
  children: [
4041
- r === "up" && /* @__PURE__ */ (0, U.jsx)(A, { className: "h-3 w-3 mr-1" }),
4042
- r === "down" && /* @__PURE__ */ (0, U.jsx)(k, { className: "h-3 w-3 mr-1" }),
4043
- r === "neutral" && /* @__PURE__ */ (0, U.jsx)(P, { className: "h-3 w-3 mr-1" }),
4122
+ r === "up" && /* @__PURE__ */ (0, U.jsx)(j, { className: "h-3 w-3 mr-1" }),
4123
+ r === "down" && /* @__PURE__ */ (0, U.jsx)(A, { className: "h-3 w-3 mr-1" }),
4124
+ r === "neutral" && /* @__PURE__ */ (0, U.jsx)(F, { className: "h-3 w-3 mr-1" }),
4044
4125
  i
4045
4126
  ]
4046
- }), Kt(a)]
4127
+ }), Yt(a)]
4047
4128
  })] }) })]
4048
4129
  });
4049
- }, Jt = ({ objectName: e, aggregate: t, filter: n, label: i, fallbackValue: a, trend: o, icon: s, className: c, description: l, dataSource: u }) => {
4050
- let d = S(r), f = u || d?.dataSource, [p, m] = E(null), [h, g] = E(!1), [_, v] = E(null), y = x(async (r, i) => {
4130
+ }, Zt = ({ objectName: e, aggregate: t, filter: n, label: i, fallbackValue: a, trend: o, icon: s, className: c, description: l, dataSource: u, colorVariant: d }) => {
4131
+ let f = C(r), p = u || f?.dataSource, [m, h] = D(null), [g, _] = D(!1), [v, y] = D(null), b = S(async (r, i) => {
4051
4132
  if (!(!r || !e)) {
4052
- i.current && (g(!0), v(null));
4133
+ i.current && (_(!0), y(null));
4053
4134
  try {
4054
4135
  let a;
4055
4136
  if (t && typeof r.aggregate == "function") {
@@ -4064,11 +4145,11 @@ var qt = ({ title: e, value: t, icon: n, trend: r, trendValue: i, description: a
4064
4145
  let t = await r.find(e, { $filter: n });
4065
4146
  a = (Array.isArray(t) ? t : t?.data || t?.records || []).length;
4066
4147
  } else return;
4067
- i.current && m(a);
4148
+ i.current && h(a);
4068
4149
  } catch (e) {
4069
- console.error("[ObjectMetricWidget] Fetch error:", e), i.current && v(e instanceof Error ? e.message : "Failed to load metric");
4150
+ console.error("[ObjectMetricWidget] Fetch error:", e), i.current && y(e instanceof Error ? e.message : "Failed to load metric");
4070
4151
  } finally {
4071
- i.current && g(!1);
4152
+ i.current && _(!1);
4072
4153
  }
4073
4154
  }
4074
4155
  }, [
@@ -4076,29 +4157,30 @@ var qt = ({ title: e, value: t, icon: n, trend: r, trendValue: i, description: a
4076
4157
  t,
4077
4158
  n
4078
4159
  ]);
4079
- return C(() => {
4160
+ return w(() => {
4080
4161
  let t = { current: !0 };
4081
- return f && e ? y(f, t) : (m(null), v(null)), () => {
4162
+ return p && e ? b(p, t) : (h(null), y(null)), () => {
4082
4163
  t.current = !1;
4083
4164
  };
4084
4165
  }, [
4085
- f,
4166
+ p,
4086
4167
  e,
4087
- y
4088
- ]), /* @__PURE__ */ (0, U.jsx)(Gt, {
4168
+ b
4169
+ ]), /* @__PURE__ */ (0, U.jsx)(Jt, {
4089
4170
  label: i,
4090
- value: p === null ? f ? "—" : a ?? "—" : p,
4171
+ value: m === null ? p ? "—" : a ?? "—" : m,
4091
4172
  trend: o,
4092
4173
  icon: s,
4093
4174
  className: c,
4094
4175
  description: l,
4095
- loading: h,
4096
- error: _
4176
+ loading: g,
4177
+ error: v,
4178
+ colorVariant: d
4097
4179
  });
4098
4180
  };
4099
4181
  //#endregion
4100
4182
  //#region src/PivotTable.tsx
4101
- function Yt(e, t) {
4183
+ function Qt(e, t) {
4102
4184
  if (!t) return String(e);
4103
4185
  let n = "", r = "", i = !1, a, o = t, s = o.match(/^([^0-9.,#]*)/);
4104
4186
  if (s && s[1]) {
@@ -4115,7 +4197,7 @@ function Yt(e, t) {
4115
4197
  }
4116
4198
  return n + l + r;
4117
4199
  }
4118
- function Xt(e, t) {
4200
+ function $t(e, t) {
4119
4201
  if (e.length === 0) return 0;
4120
4202
  switch (t) {
4121
4203
  case "sum": return e.reduce((e, t) => e + t, 0);
@@ -4126,8 +4208,8 @@ function Xt(e, t) {
4126
4208
  default: return e.reduce((e, t) => e + t, 0);
4127
4209
  }
4128
4210
  }
4129
- var Zt = ({ schema: e, className: t }) => {
4130
- let { title: n, rowField: r, columnField: i, valueField: a, aggregation: o = "sum", data: s = [], showRowTotals: c = !1, showColumnTotals: l = !1, format: u, columnColors: d } = e, f = Array.isArray(s) ? s : [], { rowKeys: p, colKeys: m, matrix: h, rowTotals: _, colTotals: v, grandTotal: y } = w(() => {
4211
+ var en = ({ schema: e, className: t }) => {
4212
+ let { title: n, rowField: r, columnField: i, valueField: a, aggregation: o = "sum", data: s = [], showRowTotals: c = !1, showColumnTotals: l = !1, format: u, columnColors: d } = e, f = Array.isArray(s) ? s : [], { rowKeys: p, colKeys: m, matrix: h, rowTotals: g, colTotals: v, grandTotal: y } = T(() => {
4131
4213
  let e = /* @__PURE__ */ new Map(), t = /* @__PURE__ */ new Map(), n = {};
4132
4214
  for (let o of f) {
4133
4215
  let s = String(o[r] ?? ""), c = String(o[i] ?? ""), l = Number(o[a]) || 0;
@@ -4138,10 +4220,10 @@ var Zt = ({ schema: e, className: t }) => {
4138
4220
  l[e] = {};
4139
4221
  let t = [];
4140
4222
  for (let r of c) {
4141
- let i = n[e]?.[r] ?? [], a = Xt(i, o);
4223
+ let i = n[e]?.[r] ?? [], a = $t(i, o);
4142
4224
  l[e][r] = a, t.push(...i), !d[r] && d[r];
4143
4225
  }
4144
- u[e] = Xt(t, o);
4226
+ u[e] = $t(t, o);
4145
4227
  }
4146
4228
  for (let e of c) {
4147
4229
  let t = [];
@@ -4149,7 +4231,7 @@ var Zt = ({ schema: e, className: t }) => {
4149
4231
  let i = n[r]?.[e] ?? [];
4150
4232
  t.push(...i);
4151
4233
  }
4152
- d[e] = Xt(t, o);
4234
+ d[e] = $t(t, o);
4153
4235
  }
4154
4236
  let p = [];
4155
4237
  for (let e of f) p.push(Number(e[a]) || 0);
@@ -4159,7 +4241,7 @@ var Zt = ({ schema: e, className: t }) => {
4159
4241
  matrix: l,
4160
4242
  rowTotals: u,
4161
4243
  colTotals: d,
4162
- grandTotal: Xt(p, o)
4244
+ grandTotal: $t(p, o)
4163
4245
  };
4164
4246
  }, [
4165
4247
  f,
@@ -4167,9 +4249,9 @@ var Zt = ({ schema: e, className: t }) => {
4167
4249
  i,
4168
4250
  a,
4169
4251
  o
4170
- ]), b = (e) => Yt(e, u);
4252
+ ]), b = (e) => Qt(e, u);
4171
4253
  return f.length === 0 ? /* @__PURE__ */ (0, U.jsxs)("div", {
4172
- className: g("overflow-auto", t),
4254
+ className: _("overflow-auto", t),
4173
4255
  children: [n && /* @__PURE__ */ (0, U.jsx)("h3", {
4174
4256
  className: "text-sm font-semibold mb-2",
4175
4257
  children: n
@@ -4217,7 +4299,7 @@ var Zt = ({ schema: e, className: t }) => {
4217
4299
  })]
4218
4300
  })]
4219
4301
  }) : /* @__PURE__ */ (0, U.jsxs)("div", {
4220
- className: g("overflow-auto", t),
4302
+ className: _("overflow-auto", t),
4221
4303
  children: [n && /* @__PURE__ */ (0, U.jsx)("h3", {
4222
4304
  className: "text-sm font-semibold mb-2",
4223
4305
  children: n
@@ -4233,7 +4315,7 @@ var Zt = ({ schema: e, className: t }) => {
4233
4315
  children: r
4234
4316
  }),
4235
4317
  m.map((e) => /* @__PURE__ */ (0, U.jsx)("th", {
4236
- className: g("text-right p-2 font-medium", d?.[e] ?? "text-muted-foreground"),
4318
+ className: _("text-right p-2 font-medium", d?.[e] ?? "text-muted-foreground"),
4237
4319
  children: e
4238
4320
  }, e)),
4239
4321
  c && /* @__PURE__ */ (0, U.jsx)("th", {
@@ -4250,12 +4332,12 @@ var Zt = ({ schema: e, className: t }) => {
4250
4332
  children: e
4251
4333
  }),
4252
4334
  m.map((t) => /* @__PURE__ */ (0, U.jsx)("td", {
4253
- className: g("text-right p-2 tabular-nums", d?.[t]),
4335
+ className: _("text-right p-2 tabular-nums", d?.[t]),
4254
4336
  children: b(h[e]?.[t] ?? 0)
4255
4337
  }, t)),
4256
4338
  c && /* @__PURE__ */ (0, U.jsx)("td", {
4257
4339
  className: "text-right p-2 font-semibold tabular-nums bg-muted/20",
4258
- children: b(_[e] ?? 0)
4340
+ children: b(g[e] ?? 0)
4259
4341
  })
4260
4342
  ]
4261
4343
  }, e)) }),
@@ -4279,9 +4361,9 @@ var Zt = ({ schema: e, className: t }) => {
4279
4361
  ]
4280
4362
  })]
4281
4363
  });
4282
- }, Qt = ({ schema: e, dataSource: n, className: a }) => {
4283
- let o = S(r), s = n || o?.dataSource, c = i(e.bind), [l, u] = E([]), [d, f] = E(!1), [p, m] = E(null);
4284
- C(() => {
4364
+ }, tn = ({ schema: e, dataSource: n, className: i }) => {
4365
+ let o = C(r), s = n || o?.dataSource, c = a(e.bind), [l, u] = D([]), [d, f] = D(!1), [p, m] = D(null);
4366
+ w(() => {
4285
4367
  let n = !0;
4286
4368
  return e.objectName && !c && (!e.data || e.data.length === 0) && (async () => {
4287
4369
  if (!(!s || !e.objectName)) {
@@ -4307,9 +4389,9 @@ var Zt = ({ schema: e, className: t }) => {
4307
4389
  e.data,
4308
4390
  e.filter
4309
4391
  ]);
4310
- let _ = c || e.data || l, v = Array.isArray(_) ? _ : [];
4392
+ let h = c || e.data || l, v = Array.isArray(h) ? h : [];
4311
4393
  return d && v.length === 0 ? /* @__PURE__ */ (0, U.jsxs)("div", {
4312
- className: g("overflow-auto", a),
4394
+ className: _("overflow-auto", i),
4313
4395
  "data-testid": "pivot-loading",
4314
4396
  children: [e.title && /* @__PURE__ */ (0, U.jsx)("h3", {
4315
4397
  className: "text-sm font-semibold mb-2",
@@ -4319,10 +4401,10 @@ var Zt = ({ schema: e, className: t }) => {
4319
4401
  children: [/* @__PURE__ */ (0, U.jsxs)("div", {
4320
4402
  className: "flex gap-2",
4321
4403
  children: [
4322
- /* @__PURE__ */ (0, U.jsx)(h, { className: "h-6 w-24" }),
4323
- /* @__PURE__ */ (0, U.jsx)(h, { className: "h-6 w-20" }),
4324
- /* @__PURE__ */ (0, U.jsx)(h, { className: "h-6 w-20" }),
4325
- /* @__PURE__ */ (0, U.jsx)(h, { className: "h-6 w-20" })
4404
+ /* @__PURE__ */ (0, U.jsx)(g, { className: "h-6 w-24" }),
4405
+ /* @__PURE__ */ (0, U.jsx)(g, { className: "h-6 w-20" }),
4406
+ /* @__PURE__ */ (0, U.jsx)(g, { className: "h-6 w-20" }),
4407
+ /* @__PURE__ */ (0, U.jsx)(g, { className: "h-6 w-20" })
4326
4408
  ]
4327
4409
  }), [
4328
4410
  1,
@@ -4331,15 +4413,15 @@ var Zt = ({ schema: e, className: t }) => {
4331
4413
  ].map((e) => /* @__PURE__ */ (0, U.jsxs)("div", {
4332
4414
  className: "flex gap-2",
4333
4415
  children: [
4334
- /* @__PURE__ */ (0, U.jsx)(h, { className: "h-5 w-24" }),
4335
- /* @__PURE__ */ (0, U.jsx)(h, { className: "h-5 w-20" }),
4336
- /* @__PURE__ */ (0, U.jsx)(h, { className: "h-5 w-20" }),
4337
- /* @__PURE__ */ (0, U.jsx)(h, { className: "h-5 w-20" })
4416
+ /* @__PURE__ */ (0, U.jsx)(g, { className: "h-5 w-24" }),
4417
+ /* @__PURE__ */ (0, U.jsx)(g, { className: "h-5 w-20" }),
4418
+ /* @__PURE__ */ (0, U.jsx)(g, { className: "h-5 w-20" }),
4419
+ /* @__PURE__ */ (0, U.jsx)(g, { className: "h-5 w-20" })
4338
4420
  ]
4339
4421
  }, e))]
4340
4422
  })]
4341
4423
  }) : p ? /* @__PURE__ */ (0, U.jsxs)("div", {
4342
- className: g("overflow-auto", a),
4424
+ className: _("overflow-auto", i),
4343
4425
  "data-testid": "pivot-error",
4344
4426
  children: [e.title && /* @__PURE__ */ (0, U.jsx)("h3", {
4345
4427
  className: "text-sm font-semibold mb-2",
@@ -4381,7 +4463,7 @@ var Zt = ({ schema: e, className: t }) => {
4381
4463
  })]
4382
4464
  })]
4383
4465
  }) : !s && e.objectName && v.length === 0 ? /* @__PURE__ */ (0, U.jsxs)("div", {
4384
- className: g("overflow-auto", a),
4466
+ className: _("overflow-auto", i),
4385
4467
  children: [e.title && /* @__PURE__ */ (0, U.jsx)("h3", {
4386
4468
  className: "text-sm font-semibold mb-2",
4387
4469
  children: e.title
@@ -4396,36 +4478,36 @@ var Zt = ({ schema: e, className: t }) => {
4396
4478
  ]
4397
4479
  })
4398
4480
  })]
4399
- }) : /* @__PURE__ */ (0, U.jsx)(Zt, {
4481
+ }) : /* @__PURE__ */ (0, U.jsx)(en, {
4400
4482
  schema: {
4401
4483
  ...e,
4402
4484
  data: v
4403
4485
  },
4404
- className: a
4486
+ className: i
4405
4487
  });
4406
4488
  };
4407
4489
  //#endregion
4408
4490
  //#region src/ObjectDataTable.tsx
4409
- function $t(e) {
4491
+ function nn(e) {
4410
4492
  return e.map((e) => typeof e == "string" ? {
4411
4493
  header: e.replace(/_/g, " ").replace(/([A-Z])/g, " $1").trim().replace(/\b\w/g, (e) => e.toUpperCase()),
4412
4494
  accessorKey: e
4413
4495
  } : e);
4414
4496
  }
4415
- var en = ({ schema: e, dataSource: a, className: o }) => {
4416
- let s = S(r), c = a || s?.dataSource, l = i(e.bind), [u, d] = E([]), [f, p] = E(!1), [m, _] = E(null);
4417
- C(() => {
4497
+ var rn = ({ schema: e, dataSource: i, className: o }) => {
4498
+ let s = C(r), c = i || s?.dataSource, l = a(e.bind), [u, d] = D([]), [f, p] = D(!1), [m, h] = D(null);
4499
+ w(() => {
4418
4500
  let n = !0;
4419
4501
  return e.objectName && !l && (!e.data || e.data.length === 0) && (async () => {
4420
4502
  if (!(!c || !e.objectName)) {
4421
- n && (p(!0), _(null));
4503
+ n && (p(!0), h(null));
4422
4504
  try {
4423
4505
  let r;
4424
4506
  if (typeof c.find == "function") r = t(await c.find(e.objectName, { $filter: e.filter }));
4425
4507
  else return;
4426
4508
  n && d(r);
4427
4509
  } catch (e) {
4428
- console.error("[ObjectDataTable] Fetch error:", e), n && _(e instanceof Error ? e.message : "Failed to load data");
4510
+ console.error("[ObjectDataTable] Fetch error:", e), n && h(e instanceof Error ? e.message : "Failed to load data");
4429
4511
  } finally {
4430
4512
  n && p(!1);
4431
4513
  }
@@ -4440,22 +4522,22 @@ var en = ({ schema: e, dataSource: a, className: o }) => {
4440
4522
  e.data,
4441
4523
  e.filter
4442
4524
  ]);
4443
- let v = l || e.data || u, y = Array.isArray(v) ? v : [], b = w(() => e.columns && e.columns.length > 0 ? $t(e.columns) : y.length === 0 ? [] : Object.keys(y[0]).filter((e) => !e.startsWith("_")).map((e) => ({
4525
+ let v = l || e.data || u, y = Array.isArray(v) ? v : [], b = T(() => e.columns && e.columns.length > 0 ? nn(e.columns) : y.length === 0 ? [] : Object.keys(y[0]).filter((e) => !e.startsWith("_")).map((e) => ({
4444
4526
  header: e.charAt(0).toUpperCase() + e.slice(1).replace(/([A-Z])/g, " $1"),
4445
4527
  accessorKey: e
4446
4528
  })), [e.columns, y]);
4447
4529
  return f && y.length === 0 ? /* @__PURE__ */ (0, U.jsx)("div", {
4448
- className: g("overflow-auto", o),
4530
+ className: _("overflow-auto", o),
4449
4531
  "data-testid": "table-loading",
4450
4532
  children: /* @__PURE__ */ (0, U.jsxs)("div", {
4451
4533
  className: "space-y-2 p-2",
4452
4534
  children: [/* @__PURE__ */ (0, U.jsxs)("div", {
4453
4535
  className: "flex gap-2",
4454
4536
  children: [
4455
- /* @__PURE__ */ (0, U.jsx)(h, { className: "h-6 w-1/4" }),
4456
- /* @__PURE__ */ (0, U.jsx)(h, { className: "h-6 w-1/4" }),
4457
- /* @__PURE__ */ (0, U.jsx)(h, { className: "h-6 w-1/4" }),
4458
- /* @__PURE__ */ (0, U.jsx)(h, { className: "h-6 w-1/4" })
4537
+ /* @__PURE__ */ (0, U.jsx)(g, { className: "h-6 w-1/4" }),
4538
+ /* @__PURE__ */ (0, U.jsx)(g, { className: "h-6 w-1/4" }),
4539
+ /* @__PURE__ */ (0, U.jsx)(g, { className: "h-6 w-1/4" }),
4540
+ /* @__PURE__ */ (0, U.jsx)(g, { className: "h-6 w-1/4" })
4459
4541
  ]
4460
4542
  }), [
4461
4543
  1,
@@ -4465,15 +4547,15 @@ var en = ({ schema: e, dataSource: a, className: o }) => {
4465
4547
  ].map((e) => /* @__PURE__ */ (0, U.jsxs)("div", {
4466
4548
  className: "flex gap-2",
4467
4549
  children: [
4468
- /* @__PURE__ */ (0, U.jsx)(h, { className: "h-5 w-1/4" }),
4469
- /* @__PURE__ */ (0, U.jsx)(h, { className: "h-5 w-1/4" }),
4470
- /* @__PURE__ */ (0, U.jsx)(h, { className: "h-5 w-1/4" }),
4471
- /* @__PURE__ */ (0, U.jsx)(h, { className: "h-5 w-1/4" })
4550
+ /* @__PURE__ */ (0, U.jsx)(g, { className: "h-5 w-1/4" }),
4551
+ /* @__PURE__ */ (0, U.jsx)(g, { className: "h-5 w-1/4" }),
4552
+ /* @__PURE__ */ (0, U.jsx)(g, { className: "h-5 w-1/4" }),
4553
+ /* @__PURE__ */ (0, U.jsx)(g, { className: "h-5 w-1/4" })
4472
4554
  ]
4473
4555
  }, e))]
4474
4556
  })
4475
4557
  }) : m ? /* @__PURE__ */ (0, U.jsx)("div", {
4476
- className: g("overflow-auto", o),
4558
+ className: _("overflow-auto", o),
4477
4559
  "data-testid": "table-error",
4478
4560
  children: /* @__PURE__ */ (0, U.jsxs)("div", {
4479
4561
  className: "flex flex-col items-center justify-center py-8 text-destructive",
@@ -4512,7 +4594,7 @@ var en = ({ schema: e, dataSource: a, className: o }) => {
4512
4594
  })]
4513
4595
  })
4514
4596
  }) : !c && e.objectName && y.length === 0 ? /* @__PURE__ */ (0, U.jsx)("div", {
4515
- className: g("overflow-auto", o),
4597
+ className: _("overflow-auto", o),
4516
4598
  children: /* @__PURE__ */ (0, U.jsx)("div", {
4517
4599
  className: "flex flex-col items-center justify-center py-8 text-muted-foreground",
4518
4600
  children: /* @__PURE__ */ (0, U.jsxs)("p", {
@@ -4525,7 +4607,7 @@ var en = ({ schema: e, dataSource: a, className: o }) => {
4525
4607
  })
4526
4608
  })
4527
4609
  }) : y.length === 0 ? /* @__PURE__ */ (0, U.jsx)("div", {
4528
- className: g("overflow-auto", o),
4610
+ className: _("overflow-auto", o),
4529
4611
  "data-testid": "table-empty-state",
4530
4612
  children: /* @__PURE__ */ (0, U.jsxs)("div", {
4531
4613
  className: "flex flex-col items-center justify-center py-8 text-muted-foreground",
@@ -4574,7 +4656,7 @@ var en = ({ schema: e, dataSource: a, className: o }) => {
4574
4656
  },
4575
4657
  className: o
4576
4658
  });
4577
- }, tn = {
4659
+ }, an = {
4578
4660
  breadcrumb: ["Dashboard", "Configuration"],
4579
4661
  sections: [
4580
4662
  {
@@ -4679,12 +4761,12 @@ var en = ({ schema: e, dataSource: a, className: o }) => {
4679
4761
  }
4680
4762
  ]
4681
4763
  };
4682
- function nn({ open: e, onClose: t, config: n, onSave: r, onFieldChange: i }) {
4683
- let { draft: a, isDirty: o, updateField: s, discard: c } = _(n, { onUpdate: i });
4684
- return /* @__PURE__ */ (0, U.jsx)(p, {
4764
+ function on({ open: e, onClose: t, config: n, onSave: r, onFieldChange: i }) {
4765
+ let { draft: a, isDirty: o, updateField: s, discard: c } = v(n, { onUpdate: i });
4766
+ return /* @__PURE__ */ (0, U.jsx)(m, {
4685
4767
  open: e,
4686
4768
  onClose: t,
4687
- schema: tn,
4769
+ schema: an,
4688
4770
  draft: a,
4689
4771
  isDirty: o,
4690
4772
  onFieldChange: s,
@@ -4694,7 +4776,7 @@ function nn({ open: e, onClose: t, config: n, onSave: r, onFieldChange: i }) {
4694
4776
  }
4695
4777
  //#endregion
4696
4778
  //#region src/WidgetConfigPanel.tsx
4697
- var rn = [
4779
+ var sn = [
4698
4780
  {
4699
4781
  value: "metric",
4700
4782
  label: "Metric"
@@ -4739,7 +4821,7 @@ var rn = [
4739
4821
  value: "custom",
4740
4822
  label: "Custom"
4741
4823
  }
4742
- ], an = [
4824
+ ], cn = [
4743
4825
  {
4744
4826
  value: "default",
4745
4827
  label: "Default"
@@ -4772,7 +4854,7 @@ var rn = [
4772
4854
  value: "danger",
4773
4855
  label: "Danger"
4774
4856
  }
4775
- ], on = [
4857
+ ], ln = [
4776
4858
  {
4777
4859
  value: "count",
4778
4860
  label: "Count"
@@ -4793,7 +4875,7 @@ var rn = [
4793
4875
  value: "max",
4794
4876
  label: "Max"
4795
4877
  }
4796
- ], sn = [
4878
+ ], un = [
4797
4879
  "bar",
4798
4880
  "line",
4799
4881
  "area",
@@ -4801,32 +4883,32 @@ var rn = [
4801
4883
  "donut",
4802
4884
  "scatter"
4803
4885
  ];
4804
- function cn(e) {
4805
- return !!e && sn.includes(e);
4886
+ function dn(e) {
4887
+ return !!e && un.includes(e);
4806
4888
  }
4807
- var ln = [{
4889
+ var fn = [{
4808
4890
  value: "group",
4809
4891
  label: "Group"
4810
4892
  }, {
4811
4893
  value: "value",
4812
4894
  label: "Value"
4813
- }], un = [{
4895
+ }], pn = [{
4814
4896
  value: "asc",
4815
4897
  label: "↑"
4816
4898
  }, {
4817
4899
  value: "desc",
4818
4900
  label: "↓"
4819
4901
  }];
4820
- function dn(e, t, n, r) {
4902
+ function mn(e, t, n, r) {
4821
4903
  return {
4822
4904
  key: e,
4823
4905
  label: t,
4824
4906
  type: "custom",
4825
- render: (i, a, o) => /* @__PURE__ */ (0, U.jsx)(m, {
4907
+ render: (i, a, o) => /* @__PURE__ */ (0, U.jsx)(h, {
4826
4908
  label: t,
4827
4909
  children: /* @__PURE__ */ (0, U.jsx)("div", {
4828
4910
  "data-testid": `config-field-${e}`,
4829
- children: /* @__PURE__ */ (0, U.jsx)(f, {
4911
+ children: /* @__PURE__ */ (0, U.jsx)(p, {
4830
4912
  options: r ?? [],
4831
4913
  value: i ?? "",
4832
4914
  onValueChange: a,
@@ -4840,16 +4922,16 @@ function dn(e, t, n, r) {
4840
4922
  })
4841
4923
  };
4842
4924
  }
4843
- function fn(e, t, n) {
4925
+ function hn(e, t, n) {
4844
4926
  let r = e && e.length > 0, i = r ? {
4845
4927
  key: "object",
4846
4928
  label: "Data source",
4847
4929
  type: "custom",
4848
- render: (t, n) => /* @__PURE__ */ (0, U.jsx)(m, {
4930
+ render: (t, n) => /* @__PURE__ */ (0, U.jsx)(h, {
4849
4931
  label: "Data source",
4850
4932
  children: /* @__PURE__ */ (0, U.jsx)("div", {
4851
4933
  "data-testid": "config-field-object",
4852
- children: /* @__PURE__ */ (0, U.jsx)(f, {
4934
+ children: /* @__PURE__ */ (0, U.jsx)(p, {
4853
4935
  options: e,
4854
4936
  value: t ?? "",
4855
4937
  onValueChange: n,
@@ -4865,27 +4947,27 @@ function fn(e, t, n) {
4865
4947
  label: "Data source",
4866
4948
  type: "input",
4867
4949
  placeholder: "Object name"
4868
- }, a = r ? dn("categoryField", "Category field", "Select field…", t) : {
4950
+ }, a = r ? mn("categoryField", "Category field", "Select field…", t) : {
4869
4951
  key: "categoryField",
4870
4952
  label: "Category field",
4871
4953
  type: "input",
4872
4954
  placeholder: "e.g. status"
4873
- }, o = r ? dn("valueField", "Value field", "Select field…", t) : {
4955
+ }, o = r ? mn("valueField", "Value field", "Select field…", t) : {
4874
4956
  key: "valueField",
4875
4957
  label: "Value field",
4876
4958
  type: "input",
4877
4959
  placeholder: "e.g. amount"
4878
- }, s = r ? dn("rowField", "Field", "Select row field…", t) : {
4960
+ }, s = r ? mn("rowField", "Field", "Select row field…", t) : {
4879
4961
  key: "rowField",
4880
4962
  label: "Field",
4881
4963
  type: "input",
4882
4964
  placeholder: "e.g. owner"
4883
- }, c = r ? dn("columnField", "Field", "Select column field…", t) : {
4965
+ }, c = r ? mn("columnField", "Field", "Select column field…", t) : {
4884
4966
  key: "columnField",
4885
4967
  label: "Field",
4886
4968
  type: "input",
4887
4969
  placeholder: "e.g. stage"
4888
- }, l = r ? dn("pivotValueField", "Field", "Select value field…", t) : {
4970
+ }, l = r ? mn("pivotValueField", "Field", "Select value field…", t) : {
4889
4971
  key: "pivotValueField",
4890
4972
  label: "Field",
4891
4973
  type: "input",
@@ -4895,7 +4977,7 @@ function fn(e, t, n) {
4895
4977
  breadcrumb: ["Dashboard", {
4896
4978
  pivot: "Pivot table",
4897
4979
  table: "Table"
4898
- }[n ?? ""] ?? (cn(n) ? "Chart" : "Widget")],
4980
+ }[n ?? ""] ?? (dn(n) ? "Chart" : "Widget")],
4899
4981
  sections: [
4900
4982
  {
4901
4983
  key: "general",
@@ -4917,7 +4999,7 @@ function fn(e, t, n) {
4917
4999
  key: "type",
4918
5000
  label: "Widget type",
4919
5001
  type: "select",
4920
- options: rn,
5002
+ options: sn,
4921
5003
  defaultValue: "metric"
4922
5004
  }
4923
5005
  ]
@@ -4935,7 +5017,7 @@ function fn(e, t, n) {
4935
5017
  key: "aggregate",
4936
5018
  label: "Aggregation",
4937
5019
  type: "select",
4938
- options: on,
5020
+ options: ln,
4939
5021
  defaultValue: "count"
4940
5022
  }
4941
5023
  ]
@@ -4958,14 +5040,14 @@ function fn(e, t, n) {
4958
5040
  key: "rowSortBy",
4959
5041
  label: "Sort by",
4960
5042
  type: "icon-group",
4961
- options: ln,
5043
+ options: fn,
4962
5044
  defaultValue: "group"
4963
5045
  },
4964
5046
  {
4965
5047
  key: "rowSortOrder",
4966
5048
  label: "Sort order",
4967
5049
  type: "icon-group",
4968
- options: un,
5050
+ options: pn,
4969
5051
  defaultValue: "asc"
4970
5052
  },
4971
5053
  {
@@ -4993,14 +5075,14 @@ function fn(e, t, n) {
4993
5075
  key: "columnSortBy",
4994
5076
  label: "Sort by",
4995
5077
  type: "icon-group",
4996
- options: ln,
5078
+ options: fn,
4997
5079
  defaultValue: "group"
4998
5080
  },
4999
5081
  {
5000
5082
  key: "columnSortOrder",
5001
5083
  label: "Sort order",
5002
5084
  type: "icon-group",
5003
- options: un,
5085
+ options: pn,
5004
5086
  defaultValue: "asc"
5005
5087
  },
5006
5088
  {
@@ -5028,7 +5110,7 @@ function fn(e, t, n) {
5028
5110
  key: "aggregation",
5029
5111
  label: "Aggregation",
5030
5112
  type: "select",
5031
- options: on,
5113
+ options: ln,
5032
5114
  defaultValue: "sum"
5033
5115
  },
5034
5116
  {
@@ -5043,7 +5125,7 @@ function fn(e, t, n) {
5043
5125
  key: "chart-axis",
5044
5126
  title: "Axis & Series",
5045
5127
  collapsible: !0,
5046
- visibleWhen: (e) => cn(e.type),
5128
+ visibleWhen: (e) => dn(e.type),
5047
5129
  fields: [
5048
5130
  {
5049
5131
  key: "xAxisLabel",
@@ -5113,7 +5195,7 @@ function fn(e, t, n) {
5113
5195
  key: "colorVariant",
5114
5196
  label: "Color variant",
5115
5197
  type: "select",
5116
- options: an,
5198
+ options: cn,
5117
5199
  defaultValue: "default"
5118
5200
  }, {
5119
5201
  key: "actionUrl",
@@ -5125,7 +5207,7 @@ function fn(e, t, n) {
5125
5207
  ]
5126
5208
  };
5127
5209
  }
5128
- function pn(e) {
5210
+ function gn(e) {
5129
5211
  if (e == null) return "";
5130
5212
  if (typeof e == "string") return e;
5131
5213
  if (typeof e == "object") {
@@ -5134,16 +5216,16 @@ function pn(e) {
5134
5216
  }
5135
5217
  return String(e);
5136
5218
  }
5137
- function mn({ open: e, onClose: t, config: n, onSave: r, onFieldChange: i, headerExtra: a, availableObjects: o, availableFields: s }) {
5138
- let { draft: c, isDirty: l, updateField: u, discard: d } = _(v.useMemo(() => ({
5219
+ function _n({ open: e, onClose: t, config: n, onSave: r, onFieldChange: i, headerExtra: a, availableObjects: o, availableFields: s }) {
5220
+ let { draft: c, isDirty: l, updateField: u, discard: d } = v(y.useMemo(() => ({
5139
5221
  ...n,
5140
- title: typeof n.title == "object" ? pn(n.title) : n.title,
5141
- description: typeof n.description == "object" ? pn(n.description) : n.description
5222
+ title: typeof n.title == "object" ? gn(n.title) : n.title,
5223
+ description: typeof n.description == "object" ? gn(n.description) : n.description
5142
5224
  }), [n]), { onUpdate: i });
5143
- return /* @__PURE__ */ (0, U.jsx)(p, {
5225
+ return /* @__PURE__ */ (0, U.jsx)(m, {
5144
5226
  open: e,
5145
5227
  onClose: t,
5146
- schema: v.useMemo(() => fn(o, s, c.type), [
5228
+ schema: y.useMemo(() => hn(o, s, c.type), [
5147
5229
  o,
5148
5230
  s,
5149
5231
  c.type
@@ -5158,12 +5240,12 @@ function mn({ open: e, onClose: t, config: n, onSave: r, onFieldChange: i, heade
5158
5240
  }
5159
5241
  //#endregion
5160
5242
  //#region src/DashboardWithConfig.tsx
5161
- function hn({ schema: e, config: t, onConfigSave: n, onWidgetSave: r, onRefresh: i, recordCount: a, defaultConfigOpen: o = !1, className: c }) {
5162
- let [l, u] = E(o), [d, f] = E(null), [p, m] = E(e), [h, _] = E(0);
5163
- C(() => {
5164
- m(e), _((e) => e + 1);
5243
+ function vn({ schema: e, config: t, onConfigSave: n, onWidgetSave: r, onRefresh: i, recordCount: a, defaultConfigOpen: o = !1, className: s }) {
5244
+ let [l, u] = D(o), [d, f] = D(null), [p, m] = D(e), [h, g] = D(0);
5245
+ w(() => {
5246
+ m(e), g((e) => e + 1);
5165
5247
  }, [e]);
5166
- let y = v.useMemo(() => {
5248
+ let v = y.useMemo(() => {
5167
5249
  if (!d || !p.widgets) return null;
5168
5250
  let e = p.widgets.find((e) => (e.id || e.title) === d);
5169
5251
  return e ? {
@@ -5180,11 +5262,11 @@ function hn({ schema: e, config: t, onConfigSave: n, onWidgetSave: r, onRefresh:
5180
5262
  layoutW: e.layout?.w ?? 1,
5181
5263
  layoutH: e.layout?.h ?? 1
5182
5264
  } : null;
5183
- }, [d, h]), b = x((e) => {
5265
+ }, [d, h]), b = S((e) => {
5184
5266
  f(e), u(!0);
5185
- }, []), S = x(() => {
5267
+ }, []), x = S(() => {
5186
5268
  f(null);
5187
- }, []), w = x((e, t) => {
5269
+ }, []), C = S((e, t) => {
5188
5270
  d && m((n) => n.widgets ? {
5189
5271
  ...n,
5190
5272
  widgets: n.widgets.map((n) => (n.id || n.title) === d ? e === "layoutW" ? {
@@ -5204,26 +5286,26 @@ function hn({ schema: e, config: t, onConfigSave: n, onWidgetSave: r, onRefresh:
5204
5286
  [e]: t
5205
5287
  } : n)
5206
5288
  } : n);
5207
- }, [d]), T = x((e) => {
5208
- d && r && r(d, e), f(null), _((e) => e + 1);
5209
- }, [d, r]), D = x(() => {
5289
+ }, [d]), T = S((e) => {
5290
+ d && r && r(d, e), f(null), g((e) => e + 1);
5291
+ }, [d, r]), E = S(() => {
5210
5292
  u((e) => !e), f(null);
5211
5293
  }, []);
5212
5294
  return /* @__PURE__ */ (0, U.jsxs)("div", {
5213
- className: g("flex h-full w-full", c),
5295
+ className: _("flex h-full w-full", s),
5214
5296
  "data-testid": "dashboard-with-config",
5215
5297
  children: [/* @__PURE__ */ (0, U.jsxs)("div", {
5216
5298
  className: "flex-1 min-w-0 overflow-auto relative",
5217
5299
  children: [/* @__PURE__ */ (0, U.jsx)("div", {
5218
5300
  className: "absolute top-2 right-2 z-10",
5219
- children: /* @__PURE__ */ (0, U.jsxs)(s, {
5301
+ children: /* @__PURE__ */ (0, U.jsxs)(c, {
5220
5302
  size: "sm",
5221
5303
  variant: l ? "default" : "outline",
5222
- onClick: D,
5304
+ onClick: E,
5223
5305
  "data-testid": "dashboard-config-toggle",
5224
- children: [/* @__PURE__ */ (0, U.jsx)(L, { className: "h-3.5 w-3.5 mr-1" }), "Settings"]
5306
+ children: [/* @__PURE__ */ (0, U.jsx)(R, { className: "h-3.5 w-3.5 mr-1" }), "Settings"]
5225
5307
  })
5226
- }), /* @__PURE__ */ (0, U.jsx)(re, {
5308
+ }), /* @__PURE__ */ (0, U.jsx)(W, {
5227
5309
  schema: p,
5228
5310
  onRefresh: i,
5229
5311
  recordCount: a,
@@ -5233,13 +5315,13 @@ function hn({ schema: e, config: t, onConfigSave: n, onWidgetSave: r, onRefresh:
5233
5315
  })]
5234
5316
  }), l && /* @__PURE__ */ (0, U.jsx)("div", {
5235
5317
  className: "relative shrink-0",
5236
- children: d && y ? /* @__PURE__ */ (0, U.jsx)(mn, {
5318
+ children: d && v ? /* @__PURE__ */ (0, U.jsx)(_n, {
5237
5319
  open: !0,
5238
- onClose: S,
5239
- config: y,
5320
+ onClose: x,
5321
+ config: v,
5240
5322
  onSave: T,
5241
- onFieldChange: w
5242
- }) : /* @__PURE__ */ (0, U.jsx)(nn, {
5323
+ onFieldChange: C
5324
+ }) : /* @__PURE__ */ (0, U.jsx)(on, {
5243
5325
  open: !0,
5244
5326
  onClose: () => u(!1),
5245
5327
  config: t,
@@ -5248,7 +5330,7 @@ function hn({ schema: e, config: t, onConfigSave: n, onWidgetSave: r, onRefresh:
5248
5330
  })]
5249
5331
  });
5250
5332
  }
5251
- e.register("dashboard", re, {
5333
+ e.register("dashboard", W, {
5252
5334
  namespace: "view",
5253
5335
  label: "Dashboard",
5254
5336
  category: "Complex",
@@ -5276,7 +5358,7 @@ e.register("dashboard", re, {
5276
5358
  columns: 3,
5277
5359
  widgets: []
5278
5360
  }
5279
- }), e.register("metric", Gt, {
5361
+ }), e.register("metric", Jt, {
5280
5362
  namespace: "plugin-dashboard",
5281
5363
  label: "Metric Widget",
5282
5364
  category: "Dashboard",
@@ -5289,7 +5371,7 @@ e.register("dashboard", re, {
5289
5371
  type: "string",
5290
5372
  label: "Value"
5291
5373
  }]
5292
- }), e.register("metric-card", qt, {
5374
+ }), e.register("metric-card", Xt, {
5293
5375
  namespace: "plugin-dashboard",
5294
5376
  label: "Metric Card",
5295
5377
  category: "Dashboard",
@@ -5344,7 +5426,7 @@ e.register("dashboard", re, {
5344
5426
  title: "Metric",
5345
5427
  value: "0"
5346
5428
  }
5347
- }), e.register("object-metric", Jt, {
5429
+ }), e.register("object-metric", Zt, {
5348
5430
  namespace: "plugin-dashboard",
5349
5431
  label: "Object Metric",
5350
5432
  category: "Dashboard",
@@ -5373,7 +5455,7 @@ e.register("dashboard", re, {
5373
5455
  }
5374
5456
  ],
5375
5457
  defaultProps: { label: "Metric" }
5376
- }), e.register("pivot", Zt, {
5458
+ }), e.register("pivot", en, {
5377
5459
  namespace: "plugin-dashboard",
5378
5460
  label: "Pivot Table",
5379
5461
  category: "Dashboard",
@@ -5452,7 +5534,7 @@ e.register("dashboard", re, {
5452
5534
  aggregation: "sum",
5453
5535
  data: []
5454
5536
  }
5455
- }), e.register("object-pivot", Qt, {
5537
+ }), e.register("object-pivot", tn, {
5456
5538
  namespace: "plugin-dashboard",
5457
5539
  label: "Object Pivot Table",
5458
5540
  category: "Dashboard",
@@ -5541,7 +5623,7 @@ e.register("dashboard", re, {
5541
5623
  valueField: "",
5542
5624
  aggregation: "sum"
5543
5625
  }
5544
- }), e.register("dashboard-grid", Ut, {
5626
+ }), e.register("dashboard-grid", Gt, {
5545
5627
  namespace: "plugin-dashboard",
5546
5628
  label: "Dashboard Grid (Editable)",
5547
5629
  category: "Complex",
@@ -5569,7 +5651,7 @@ e.register("dashboard", re, {
5569
5651
  widgets: [],
5570
5652
  persistLayoutKey: "dashboard-layout"
5571
5653
  }
5572
- }), e.register("object-data-table", en, {
5654
+ }), e.register("object-data-table", rn, {
5573
5655
  namespace: "plugin-dashboard",
5574
5656
  label: "Object Data Table",
5575
5657
  category: "Dashboard",
@@ -5607,18 +5689,18 @@ e.register("dashboard", re, {
5607
5689
  pagination: !1
5608
5690
  }
5609
5691
  });
5610
- var gn = {
5611
- DashboardRenderer: re,
5612
- DashboardGridLayout: Ut,
5613
- MetricWidget: Gt,
5614
- MetricCard: qt,
5615
- ObjectMetricWidget: Jt,
5616
- PivotTable: Zt,
5617
- ObjectPivotTable: Qt,
5618
- ObjectDataTable: en,
5619
- DashboardConfigPanel: nn,
5620
- WidgetConfigPanel: mn,
5621
- DashboardWithConfig: hn
5692
+ var yn = {
5693
+ DashboardRenderer: W,
5694
+ DashboardGridLayout: Gt,
5695
+ MetricWidget: Jt,
5696
+ MetricCard: Xt,
5697
+ ObjectMetricWidget: Zt,
5698
+ PivotTable: en,
5699
+ ObjectPivotTable: tn,
5700
+ ObjectDataTable: rn,
5701
+ DashboardConfigPanel: on,
5702
+ WidgetConfigPanel: _n,
5703
+ DashboardWithConfig: vn
5622
5704
  };
5623
5705
  //#endregion
5624
- export { nn as DashboardConfigPanel, Ut as DashboardGridLayout, re as DashboardRenderer, hn as DashboardWithConfig, qt as MetricCard, Gt as MetricWidget, en as ObjectDataTable, Jt as ObjectMetricWidget, Qt as ObjectPivotTable, Zt as PivotTable, mn as WidgetConfigPanel, gn as dashboardComponents };
5706
+ export { on as DashboardConfigPanel, Gt as DashboardGridLayout, W as DashboardRenderer, vn as DashboardWithConfig, Xt as MetricCard, Jt as MetricWidget, rn as ObjectDataTable, Zt as ObjectMetricWidget, tn as ObjectPivotTable, en as PivotTable, _n as WidgetConfigPanel, yn as dashboardComponents };