@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.
- package/CHANGELOG.md +10 -0
- package/README.md +21 -1
- package/dist/index.js +869 -787
- package/dist/index.umd.cjs +4 -4
- package/dist/packages/plugin-dashboard/src/DashboardRenderer.d.ts +5 -0
- package/dist/packages/plugin-dashboard/src/DashboardRenderer.d.ts.map +1 -1
- package/dist/packages/plugin-dashboard/src/MetricWidget.d.ts +4 -1
- package/dist/packages/plugin-dashboard/src/MetricWidget.d.ts.map +1 -1
- package/dist/packages/plugin-dashboard/src/ObjectMetricWidget.d.ts +2 -0
- package/dist/packages/plugin-dashboard/src/ObjectMetricWidget.d.ts.map +1 -1
- package/dist/packages/plugin-dashboard/src/index.d.ts +1 -1
- package/package.json +40 -7
- package/.turbo/turbo-build.log +0 -41
- package/src/DashboardConfigPanel.stories.tsx +0 -164
- package/src/DashboardConfigPanel.tsx +0 -158
- package/src/DashboardGridLayout.tsx +0 -367
- package/src/DashboardRenderer.stories.tsx +0 -173
- package/src/DashboardRenderer.tsx +0 -479
- package/src/DashboardWithConfig.tsx +0 -211
- package/src/MetricCard.tsx +0 -102
- package/src/MetricWidget.tsx +0 -96
- package/src/ObjectDataTable.tsx +0 -226
- package/src/ObjectMetricWidget.tsx +0 -159
- package/src/ObjectPivotTable.tsx +0 -160
- package/src/PivotTable.tsx +0 -262
- package/src/WidgetConfigPanel.tsx +0 -540
- package/src/__tests__/DashboardConfigPanel.test.tsx +0 -206
- package/src/__tests__/DashboardGridLayout.test.tsx +0 -199
- package/src/__tests__/DashboardRenderer.autoRefresh.test.tsx +0 -124
- package/src/__tests__/DashboardRenderer.designMode.test.tsx +0 -386
- package/src/__tests__/DashboardRenderer.header.test.tsx +0 -114
- package/src/__tests__/DashboardRenderer.mobile.test.tsx +0 -214
- package/src/__tests__/DashboardRenderer.widgetData.test.tsx +0 -1411
- package/src/__tests__/DashboardWithConfig.test.tsx +0 -276
- package/src/__tests__/MetricCard.test.tsx +0 -107
- package/src/__tests__/ObjectDataTable.test.tsx +0 -211
- package/src/__tests__/ObjectMetricWidget.test.tsx +0 -196
- package/src/__tests__/ObjectPivotTable.test.tsx +0 -192
- package/src/__tests__/PivotTable.test.tsx +0 -162
- package/src/__tests__/WidgetConfigPanel.test.tsx +0 -492
- package/src/__tests__/ensureWidgetIds.test.tsx +0 -103
- package/src/index.tsx +0 -236
- package/src/utils.ts +0 -17
- package/tsconfig.json +0 -19
- package/vite.config.ts +0 -64
- package/vitest.config.ts +0 -9
- 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,
|
|
3
|
-
import { Button as
|
|
4
|
-
import * as
|
|
5
|
-
import
|
|
6
|
-
import * as
|
|
7
|
-
import { AlertCircle as
|
|
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
|
|
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
|
|
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
|
|
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
|
-
})),
|
|
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 =
|
|
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__ */
|
|
195
|
-
process.env.NODE_ENV === "production" ? t.exports =
|
|
194
|
+
})), U = (/* @__PURE__ */ B(((e, t) => {
|
|
195
|
+
process.env.NODE_ENV === "production" ? t.exports = te() : t.exports = ne();
|
|
196
196
|
})))();
|
|
197
|
-
function
|
|
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
|
|
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
|
-
],
|
|
207
|
-
let
|
|
208
|
-
|
|
209
|
-
let
|
|
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
|
|
213
|
-
|
|
214
|
-
}, [
|
|
215
|
-
|
|
216
|
-
if (!(!e.refreshInterval || e.refreshInterval <= 0 || !
|
|
217
|
-
|
|
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
|
-
|
|
222
|
-
|
|
246
|
+
a,
|
|
247
|
+
L
|
|
223
248
|
]);
|
|
224
|
-
let
|
|
225
|
-
!
|
|
226
|
-
}, [
|
|
227
|
-
if (!
|
|
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(),
|
|
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 &&
|
|
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 &&
|
|
238
|
-
} else t.key === "Escape" && (t.preventDefault(),
|
|
262
|
+
e?.id && h(e.id);
|
|
263
|
+
} else t.key === "Escape" && (t.preventDefault(), h(null));
|
|
239
264
|
}, [
|
|
240
|
-
|
|
241
|
-
|
|
265
|
+
p,
|
|
266
|
+
h,
|
|
242
267
|
e.widgets
|
|
243
|
-
]),
|
|
244
|
-
!
|
|
245
|
-
}, [
|
|
246
|
-
let
|
|
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,
|
|
249
|
-
} : void 0,
|
|
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 =
|
|
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 || (
|
|
289
|
+
objectName: e.object || (H(t) ? t.object : void 0),
|
|
265
290
|
aggregate: r,
|
|
266
|
-
filter: (
|
|
267
|
-
label: n.label ||
|
|
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
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
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:
|
|
285
|
-
objectName: e.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:
|
|
336
|
+
colors: ae,
|
|
290
337
|
className: "h-[200px] sm:h-[250px] md:h-[300px]"
|
|
291
338
|
};
|
|
292
339
|
}
|
|
293
|
-
if (!
|
|
294
|
-
let
|
|
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:
|
|
348
|
+
chartType: r,
|
|
302
349
|
objectName: e.object,
|
|
303
|
-
aggregate:
|
|
350
|
+
aggregate: t,
|
|
304
351
|
xAxisKey: i,
|
|
305
352
|
series: [{ dataKey: e.valueField || "value" }],
|
|
306
|
-
colors:
|
|
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:
|
|
313
|
-
data: Array.isArray(
|
|
359
|
+
chartType: r,
|
|
360
|
+
data: Array.isArray(t) ? t : t?.items || [],
|
|
314
361
|
xAxisKey: i,
|
|
315
362
|
series: [{ dataKey: a }],
|
|
316
|
-
colors:
|
|
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 (
|
|
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 (
|
|
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
|
-
})(),
|
|
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: ${
|
|
386
|
-
onClick: (t) =>
|
|
387
|
-
onKeyDown: (n) =>
|
|
388
|
-
} : {}, b =
|
|
389
|
-
return
|
|
390
|
-
className:
|
|
391
|
-
style: !
|
|
392
|
-
gridColumn: `span ${
|
|
393
|
-
gridRow: `span ${
|
|
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:
|
|
398
|
-
className:
|
|
399
|
-
|
|
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
|
-
},
|
|
405
|
-
className:
|
|
406
|
-
style: !
|
|
407
|
-
gridColumn: `span ${
|
|
408
|
-
gridRow: `span ${
|
|
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
|
-
|
|
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)(
|
|
462
|
+
children: [/* @__PURE__ */ (0, U.jsx)(f, {
|
|
415
463
|
className: "text-sm sm:text-base font-medium tracking-tight truncate",
|
|
416
|
-
title:
|
|
417
|
-
children:
|
|
418
|
-
}),
|
|
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:
|
|
468
|
+
children: h
|
|
421
469
|
})]
|
|
422
470
|
}),
|
|
423
|
-
/* @__PURE__ */ (0, U.jsx)(
|
|
471
|
+
/* @__PURE__ */ (0, U.jsx)(u, {
|
|
424
472
|
className: "p-0",
|
|
425
473
|
children: /* @__PURE__ */ (0, U.jsx)("div", {
|
|
426
|
-
className:
|
|
427
|
-
children: /* @__PURE__ */ (0, U.jsx)(n, {
|
|
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
|
-
|
|
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
|
-
},
|
|
437
|
-
},
|
|
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:
|
|
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:
|
|
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) =>
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
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
|
-
}),
|
|
528
|
+
}), te = o !== void 0 && /* @__PURE__ */ (0, U.jsxs)("span", {
|
|
458
529
|
className: "text-xs text-muted-foreground",
|
|
459
|
-
children: [
|
|
460
|
-
}),
|
|
461
|
-
className:
|
|
462
|
-
children: [
|
|
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:
|
|
466
|
-
disabled:
|
|
536
|
+
onClick: L,
|
|
537
|
+
disabled: k,
|
|
467
538
|
"aria-label": "Refresh dashboard",
|
|
468
|
-
children: [/* @__PURE__ */ (0, U.jsx)(
|
|
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 (
|
|
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:
|
|
476
|
-
"data-user-actions":
|
|
477
|
-
onClick:
|
|
478
|
-
...
|
|
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
|
-
|
|
481
|
-
|
|
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:
|
|
485
|
-
children: n.map((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:
|
|
490
|
-
children: r.map((e, t) =>
|
|
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:
|
|
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
|
-
...
|
|
500
|
-
gap: `${
|
|
571
|
+
...oe && { gridTemplateColumns: `repeat(${C}, minmax(0, 1fr))` },
|
|
572
|
+
gap: `${O * .25}rem`
|
|
501
573
|
},
|
|
502
|
-
"data-user-actions":
|
|
503
|
-
onClick:
|
|
504
|
-
...
|
|
574
|
+
"data-user-actions": ne,
|
|
575
|
+
onClick: ee,
|
|
576
|
+
...y,
|
|
505
577
|
children: [
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
e.widgets?.map((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
|
|
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
|
|
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
|
|
522
|
-
let { margin: s, containerPadding: c, rowHeight: l } = e, u =
|
|
523
|
-
if (o ? (d = Math.round(o.width), f = Math.round(o.height)) : (d =
|
|
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
|
|
541
|
-
let { margin: a, containerPadding: o, cols: s, rowHeight: c, maxRows: l } = e, u =
|
|
542
|
-
return d =
|
|
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
|
|
548
|
-
let { margin: r, containerPadding: i, rowHeight: a } = e, o =
|
|
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
|
|
555
|
-
let { margin: r, rowHeight: i } = e, a =
|
|
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
|
|
633
|
+
function de(e, t, n) {
|
|
562
634
|
return Math.max(Math.min(e, n), t);
|
|
563
635
|
}
|
|
564
|
-
function
|
|
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 &&
|
|
642
|
+
if (r !== void 0 && fe(r, t)) return r;
|
|
571
643
|
}
|
|
572
644
|
}
|
|
573
|
-
function
|
|
574
|
-
return e.filter((e) =>
|
|
645
|
+
function pe(e, t) {
|
|
646
|
+
return e.filter((e) => fe(e, t));
|
|
575
647
|
}
|
|
576
|
-
function
|
|
577
|
-
return t === "horizontal" ?
|
|
648
|
+
function q(e, t) {
|
|
649
|
+
return t === "horizontal" ? he(e) : t === "vertical" || t === "wrap" ? me(e) : [...e];
|
|
578
650
|
}
|
|
579
|
-
function
|
|
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
|
|
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
|
|
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
|
|
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
|
|
674
|
+
function ve(e) {
|
|
603
675
|
return e.filter((e) => e.static === !0);
|
|
604
676
|
}
|
|
605
|
-
function
|
|
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] =
|
|
701
|
+
r !== void 0 && (t[n] = ye(r));
|
|
630
702
|
}
|
|
631
703
|
return t;
|
|
632
704
|
}
|
|
633
|
-
function
|
|
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
|
|
642
|
-
let r =
|
|
643
|
-
return r ? (r = n(
|
|
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
|
|
646
|
-
let n =
|
|
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
|
|
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 =
|
|
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 =
|
|
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 ?
|
|
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
|
|
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
|
|
682
|
-
if (u && s) return
|
|
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
|
|
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] :
|
|
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
|
|
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:
|
|
699
|
-
y:
|
|
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:
|
|
706
|
-
h:
|
|
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:
|
|
714
|
-
h:
|
|
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
|
|
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
|
|
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
|
|
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
|
|
830
|
+
function Ee(e) {
|
|
759
831
|
return e * 100 + "%";
|
|
760
832
|
}
|
|
761
|
-
function
|
|
833
|
+
function De(e, t, n, r) {
|
|
762
834
|
return e + n > r ? t : n;
|
|
763
835
|
}
|
|
764
|
-
function
|
|
836
|
+
function Oe(e, t, n) {
|
|
765
837
|
return e < 0 ? t : n;
|
|
766
838
|
}
|
|
767
|
-
function
|
|
839
|
+
function ke(e) {
|
|
768
840
|
return Math.max(0, e);
|
|
769
841
|
}
|
|
770
|
-
function
|
|
842
|
+
function Ae(e) {
|
|
771
843
|
return Math.max(0, e);
|
|
772
844
|
}
|
|
773
|
-
var
|
|
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:
|
|
779
|
-
top:
|
|
850
|
+
height: Oe(o, e.height, i),
|
|
851
|
+
top: Ae(o)
|
|
780
852
|
};
|
|
781
|
-
},
|
|
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:
|
|
787
|
-
left:
|
|
858
|
+
width: De(e.left, e.width, o, n),
|
|
859
|
+
left: ke(i)
|
|
788
860
|
};
|
|
789
|
-
},
|
|
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:
|
|
866
|
+
top: Ae(r),
|
|
795
867
|
left: 0
|
|
796
868
|
} : {
|
|
797
869
|
height: i,
|
|
798
870
|
width: a,
|
|
799
|
-
top:
|
|
871
|
+
top: Ae(r),
|
|
800
872
|
left: o
|
|
801
873
|
};
|
|
802
|
-
},
|
|
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:
|
|
808
|
-
top:
|
|
879
|
+
height: Oe(r, e.height, a),
|
|
880
|
+
top: Ae(r)
|
|
809
881
|
};
|
|
810
|
-
},
|
|
811
|
-
n:
|
|
812
|
-
ne: (e, t, n) =>
|
|
813
|
-
e:
|
|
814
|
-
se: (e, t, n) =>
|
|
815
|
-
s:
|
|
816
|
-
sw: (e, t, n) =>
|
|
817
|
-
w:
|
|
818
|
-
nw: (e, t, n) =>
|
|
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
|
|
821
|
-
let i =
|
|
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
|
|
899
|
+
var Le = {
|
|
828
900
|
type: "transform",
|
|
829
901
|
scale: 1,
|
|
830
902
|
calcStyle(e) {
|
|
831
|
-
return
|
|
903
|
+
return we(e);
|
|
832
904
|
}
|
|
833
|
-
},
|
|
905
|
+
}, Re = {
|
|
834
906
|
cols: 12,
|
|
835
907
|
rowHeight: 150,
|
|
836
908
|
margin: [10, 10],
|
|
837
909
|
containerPadding: null,
|
|
838
910
|
maxRows: Infinity
|
|
839
|
-
},
|
|
911
|
+
}, ze = {
|
|
840
912
|
enabled: !0,
|
|
841
913
|
bounded: !1,
|
|
842
914
|
threshold: 3
|
|
843
|
-
},
|
|
915
|
+
}, Be = {
|
|
844
916
|
enabled: !0,
|
|
845
917
|
handles: ["se"]
|
|
846
|
-
},
|
|
918
|
+
}, Ve = {
|
|
847
919
|
enabled: !1,
|
|
848
920
|
defaultItem: {
|
|
849
921
|
w: 1,
|
|
850
922
|
h: 1
|
|
851
923
|
}
|
|
852
924
|
};
|
|
853
|
-
function
|
|
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 ??
|
|
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
|
-
|
|
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
|
|
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;)
|
|
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
|
|
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 (
|
|
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
|
|
950
|
+
var Ge = {
|
|
879
951
|
type: "vertical",
|
|
880
952
|
allowOverlap: !1,
|
|
881
953
|
compact(e, t) {
|
|
882
|
-
let n =
|
|
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 =
|
|
887
|
-
s.static || (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
|
-
},
|
|
965
|
+
}, Ke = {
|
|
894
966
|
type: "horizontal",
|
|
895
967
|
allowOverlap: !1,
|
|
896
968
|
compact(e, t) {
|
|
897
|
-
let n =
|
|
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 =
|
|
902
|
-
s.static || (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
|
-
},
|
|
980
|
+
}, qe = {
|
|
909
981
|
type: null,
|
|
910
982
|
allowOverlap: !1,
|
|
911
983
|
compact(e, t) {
|
|
912
984
|
return J(e);
|
|
913
985
|
}
|
|
914
|
-
},
|
|
915
|
-
...
|
|
986
|
+
}, Je = {
|
|
987
|
+
...Ge,
|
|
916
988
|
allowOverlap: !0,
|
|
917
989
|
compact(e, t) {
|
|
918
990
|
return J(e);
|
|
919
991
|
}
|
|
920
|
-
},
|
|
921
|
-
...
|
|
992
|
+
}, Ye = {
|
|
993
|
+
...Ke,
|
|
922
994
|
allowOverlap: !0,
|
|
923
995
|
compact(e, t) {
|
|
924
996
|
return J(e);
|
|
925
997
|
}
|
|
926
|
-
},
|
|
927
|
-
...
|
|
998
|
+
}, Xe = {
|
|
999
|
+
...qe,
|
|
928
1000
|
allowOverlap: !0
|
|
929
1001
|
};
|
|
930
|
-
function
|
|
1002
|
+
function Ze(e, t = !1, n = !1) {
|
|
931
1003
|
let r;
|
|
932
|
-
return r = t ? e === "vertical" ?
|
|
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
|
|
1009
|
+
function Qe(e) {
|
|
938
1010
|
return Object.keys(e).sort((t, n) => e[t] - e[n]);
|
|
939
1011
|
}
|
|
940
|
-
function
|
|
941
|
-
let n =
|
|
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
|
|
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
|
|
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 =
|
|
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 =
|
|
968
|
-
return (typeof a == "object" && a ? a :
|
|
1039
|
+
let u = X(J(s || []), { cols: i });
|
|
1040
|
+
return (typeof a == "object" && a ? a : Ze(a)).compact(u, i);
|
|
969
1041
|
}
|
|
970
|
-
function
|
|
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
|
|
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
|
|
1191
|
+
function z(e, t) {
|
|
1120
1192
|
return R(e, t, /* @__PURE__ */ new WeakMap());
|
|
1121
1193
|
}
|
|
1122
|
-
function
|
|
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 =
|
|
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
|
|
1137
|
-
let { measureBeforeMount: t = !1, initialWidth: n = 1280 } = e, [r, i] =
|
|
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
|
|
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
|
|
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
|
-
})),
|
|
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
|
|
1346
|
+
function z(e) {
|
|
1275
1347
|
return x(e) === s;
|
|
1276
1348
|
}
|
|
1277
|
-
function
|
|
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
|
|
1364
|
+
function ne(e) {
|
|
1293
1365
|
return x(e) === r;
|
|
1294
1366
|
}
|
|
1295
|
-
function
|
|
1367
|
+
function U(e) {
|
|
1296
1368
|
return x(e) === o;
|
|
1297
1369
|
}
|
|
1298
|
-
function
|
|
1370
|
+
function re(e) {
|
|
1299
1371
|
return x(e) === a;
|
|
1300
1372
|
}
|
|
1301
|
-
function
|
|
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 =
|
|
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
|
-
})),
|
|
1307
|
-
process.env.NODE_ENV === "production" ? t.exports =
|
|
1308
|
-
})),
|
|
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
|
-
})),
|
|
1413
|
+
})), lt = /* @__PURE__ */ B(((e, t) => {
|
|
1342
1414
|
t.exports = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
|
|
1343
|
-
})),
|
|
1415
|
+
})), ut = /* @__PURE__ */ B(((e, t) => {
|
|
1344
1416
|
t.exports = Function.call.bind(Object.prototype.hasOwnProperty);
|
|
1345
|
-
})),
|
|
1417
|
+
})), dt = /* @__PURE__ */ B(((e, t) => {
|
|
1346
1418
|
var n = function() {};
|
|
1347
1419
|
if (process.env.NODE_ENV !== "production") {
|
|
1348
|
-
var r =
|
|
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
|
-
})),
|
|
1382
|
-
var n =
|
|
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
|
-
})),
|
|
1641
|
-
var n =
|
|
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
|
-
})),
|
|
1752
|
+
})), mt = /* @__PURE__ */ B(((e, t) => {
|
|
1681
1753
|
if (process.env.NODE_ENV !== "production") {
|
|
1682
|
-
var n =
|
|
1683
|
-
t.exports =
|
|
1684
|
-
} else t.exports =
|
|
1685
|
-
})),
|
|
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
|
-
})),
|
|
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
|
-
})),
|
|
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 =
|
|
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
|
-
})),
|
|
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 =
|
|
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
|
-
})),
|
|
2013
|
+
})), yt = /* @__PURE__ */ B(((e) => {
|
|
1942
2014
|
Object.defineProperty(e, "__esModule", { value: !0 }), e.default = t;
|
|
1943
2015
|
function t() {}
|
|
1944
|
-
})),
|
|
2016
|
+
})), bt = /* @__PURE__ */ B(((e) => {
|
|
1945
2017
|
Object.defineProperty(e, "__esModule", { value: !0 }), e.default = void 0;
|
|
1946
|
-
var t = l(
|
|
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
|
-
})),
|
|
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(
|
|
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
|
-
})),
|
|
2308
|
-
var { default: n, DraggableCore: r } =
|
|
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
|
-
})),
|
|
2382
|
+
})), Ct = /* @__PURE__ */ B(((e) => {
|
|
2311
2383
|
e.__esModule = !0, e.cloneElement = c;
|
|
2312
|
-
var t = n(
|
|
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
|
-
})),
|
|
2434
|
+
})), wt = /* @__PURE__ */ B(((e) => {
|
|
2363
2435
|
e.__esModule = !0, e.resizableProps = void 0;
|
|
2364
|
-
var t = n(
|
|
2365
|
-
|
|
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
|
-
})),
|
|
2496
|
+
})), Tt = /* @__PURE__ */ B(((e) => {
|
|
2425
2497
|
e.__esModule = !0, e.default = void 0;
|
|
2426
|
-
var t = o(
|
|
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
|
-
})),
|
|
2695
|
+
})), Et = /* @__PURE__ */ B(((e) => {
|
|
2624
2696
|
e.__esModule = !0, e.default = void 0;
|
|
2625
|
-
var t = s(
|
|
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
|
-
})),
|
|
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 =
|
|
2780
|
-
})),
|
|
2781
|
-
function
|
|
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:
|
|
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 =
|
|
2857
|
+
}), me = E({
|
|
2786
2858
|
top: 0,
|
|
2787
2859
|
left: 0,
|
|
2788
2860
|
width: 0,
|
|
2789
2861
|
height: 0
|
|
2790
|
-
}), he =
|
|
2862
|
+
}), he = E(void 0), ge = E(V);
|
|
2791
2863
|
ge.current = V;
|
|
2792
|
-
let _e =
|
|
2864
|
+
let _e = E(null), ve = E(null), ye = E(!1), J = E({
|
|
2793
2865
|
x: 0,
|
|
2794
2866
|
y: 0
|
|
2795
|
-
}),
|
|
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
|
-
]),
|
|
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 =
|
|
2824
|
-
...
|
|
2895
|
+
]), Z = S(() => ({
|
|
2896
|
+
...X,
|
|
2825
2897
|
layout: ge.current
|
|
2826
|
-
}), [
|
|
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
|
-
]),
|
|
2919
|
+
]), $ = S((e) => {
|
|
2848
2920
|
if (h?.calcStyle) return h.calcStyle(e);
|
|
2849
|
-
if (f) return
|
|
2850
|
-
let t =
|
|
2921
|
+
if (f) return we(e);
|
|
2922
|
+
let t = Te(e);
|
|
2851
2923
|
return p ? {
|
|
2852
2924
|
...t,
|
|
2853
|
-
left:
|
|
2854
|
-
width:
|
|
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 =
|
|
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
|
-
|
|
2947
|
+
J.current = {
|
|
2876
2948
|
x: t.clientX,
|
|
2877
2949
|
y: t.clientY
|
|
2878
|
-
},
|
|
2950
|
+
}, ye.current = !0, be.current = !1, le(!0);
|
|
2879
2951
|
return;
|
|
2880
2952
|
}
|
|
2881
|
-
|
|
2882
|
-
let u =
|
|
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
|
-
|
|
2963
|
+
Y,
|
|
2892
2964
|
h,
|
|
2893
2965
|
g,
|
|
2894
2966
|
z,
|
|
2895
|
-
|
|
2967
|
+
Q,
|
|
2896
2968
|
Z,
|
|
2897
2969
|
I
|
|
2898
|
-
]), Oe =
|
|
2899
|
-
if (!te || !
|
|
2970
|
+
]), Oe = S((e, { node: t, deltaX: n, deltaY: a }) => {
|
|
2971
|
+
if (!te || !W) return;
|
|
2900
2972
|
let s = e;
|
|
2901
|
-
if (
|
|
2902
|
-
let n = s.clientX -
|
|
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 (
|
|
2905
|
-
let n =
|
|
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 -
|
|
2918
|
-
c =
|
|
2919
|
-
let n = r -
|
|
2920
|
-
l =
|
|
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 =
|
|
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
|
-
|
|
3009
|
+
W,
|
|
2938
3010
|
g,
|
|
2939
3011
|
u,
|
|
2940
3012
|
j,
|
|
2941
3013
|
o,
|
|
2942
3014
|
i,
|
|
2943
|
-
|
|
3015
|
+
Y,
|
|
2944
3016
|
r,
|
|
2945
3017
|
A,
|
|
2946
3018
|
I,
|
|
2947
3019
|
z,
|
|
2948
|
-
|
|
3020
|
+
Q,
|
|
2949
3021
|
Z
|
|
2950
|
-
]), ke =
|
|
2951
|
-
if (!
|
|
2952
|
-
let n =
|
|
2953
|
-
if (
|
|
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
|
-
|
|
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
|
-
|
|
3039
|
+
le(!1), q.current = {
|
|
2968
3040
|
left: 0,
|
|
2969
3041
|
top: 0
|
|
2970
3042
|
};
|
|
2971
|
-
let o =
|
|
2972
|
-
|
|
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
|
-
|
|
2980
|
-
X,
|
|
3052
|
+
Y,
|
|
2981
3053
|
z,
|
|
2982
|
-
|
|
3054
|
+
Q,
|
|
2983
3055
|
Z,
|
|
2984
3056
|
I
|
|
2985
3057
|
]);
|
|
2986
|
-
_e.current = De,
|
|
2987
|
-
let Ae =
|
|
2988
|
-
let s = o === "onResizeStart" ?
|
|
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 ?
|
|
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 =
|
|
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
|
-
|
|
3077
|
+
ie,
|
|
3078
|
+
ae,
|
|
3007
3079
|
r,
|
|
3008
|
-
|
|
3080
|
+
Y,
|
|
3009
3081
|
I,
|
|
3010
3082
|
z,
|
|
3011
|
-
|
|
3083
|
+
Q,
|
|
3012
3084
|
Z
|
|
3013
|
-
]), je =
|
|
3014
|
-
|
|
3015
|
-
let n =
|
|
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
|
-
|
|
3094
|
+
Y,
|
|
3023
3095
|
O,
|
|
3024
3096
|
k,
|
|
3025
3097
|
A,
|
|
3026
3098
|
j
|
|
3027
|
-
]), Me =
|
|
3028
|
-
let n =
|
|
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
|
-
|
|
3107
|
+
Y,
|
|
3036
3108
|
O,
|
|
3037
3109
|
k,
|
|
3038
3110
|
A,
|
|
3039
3111
|
j
|
|
3040
|
-
]), Ne =
|
|
3041
|
-
|
|
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 =
|
|
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
|
-
|
|
3126
|
+
Y,
|
|
3055
3127
|
O,
|
|
3056
3128
|
k,
|
|
3057
3129
|
A,
|
|
3058
3130
|
j
|
|
3059
3131
|
]);
|
|
3060
|
-
|
|
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 =
|
|
3068
|
-
if (!
|
|
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
|
-
|
|
3161
|
+
ve.current?.(_.e, t);
|
|
3090
3162
|
}
|
|
3091
3163
|
he.current = _;
|
|
3092
3164
|
}, [
|
|
3093
3165
|
_,
|
|
3094
|
-
|
|
3166
|
+
W,
|
|
3095
3167
|
I
|
|
3096
3168
|
]);
|
|
3097
|
-
let
|
|
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:
|
|
3173
|
+
resizing: fe,
|
|
3102
3174
|
"react-draggable": c,
|
|
3103
|
-
"react-draggable-dragging":
|
|
3175
|
+
"react-draggable-dragging": W,
|
|
3104
3176
|
dropping: !!_,
|
|
3105
3177
|
cssTransforms: f
|
|
3106
3178
|
}),
|
|
3107
3179
|
style: {
|
|
3108
|
-
...
|
|
3180
|
+
...y,
|
|
3109
3181
|
...He,
|
|
3110
|
-
|
|
3182
|
+
...$(Pe)
|
|
3111
3183
|
}
|
|
3112
3184
|
}), We = R;
|
|
3113
|
-
return Ue = /* @__PURE__ */ (0, U.jsx)(
|
|
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:
|
|
3117
|
-
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)(
|
|
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:
|
|
3133
|
-
cancel: ".react-resizable-handle" + (
|
|
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
|
|
3211
|
+
var Mt = () => {}, Nt = "react-grid-layout", Pt = !1;
|
|
3140
3212
|
try {
|
|
3141
|
-
|
|
3213
|
+
Pt = /firefox/i.test(navigator.userAgent);
|
|
3142
3214
|
} catch {}
|
|
3143
|
-
function
|
|
3144
|
-
let n =
|
|
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
|
|
3224
|
+
function It(e, t, n, r) {
|
|
3153
3225
|
let i = [], a = /* @__PURE__ */ new Set();
|
|
3154
|
-
|
|
3155
|
-
if (!
|
|
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(
|
|
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:
|
|
3252
|
+
y: ge(i),
|
|
3181
3253
|
w: 1,
|
|
3182
3254
|
h: 1
|
|
3183
3255
|
});
|
|
3184
3256
|
}
|
|
3185
3257
|
});
|
|
3186
|
-
let o =
|
|
3258
|
+
let o = X(i, { cols: n });
|
|
3187
3259
|
return r.compact(o, n);
|
|
3188
3260
|
}
|
|
3189
|
-
function
|
|
3190
|
-
let { children: t, width: n, gridConfig: r, dragConfig: i, resizeConfig: a, dropConfig: o, positionStrategy: s =
|
|
3191
|
-
...
|
|
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 =
|
|
3194
|
-
...
|
|
3265
|
+
}), [r]), M = T(() => ({
|
|
3266
|
+
...ze,
|
|
3195
3267
|
...i
|
|
3196
|
-
}), [i]), N =
|
|
3197
|
-
...
|
|
3268
|
+
}), [i]), N = T(() => ({
|
|
3269
|
+
...Be,
|
|
3198
3270
|
...a
|
|
3199
|
-
}), [a]), P =
|
|
3200
|
-
...
|
|
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:
|
|
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
|
-
...
|
|
3205
|
-
}, [d,
|
|
3206
|
-
He.current =
|
|
3207
|
-
be(!0), (0,
|
|
3208
|
-
}, []),
|
|
3209
|
-
if (
|
|
3210
|
-
let e = !(0,
|
|
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 =
|
|
3213
|
-
(0,
|
|
3284
|
+
let n = It(e ? u : X, t, F, G);
|
|
3285
|
+
(0, At.deepEqual)(n, X) || Q(n);
|
|
3214
3286
|
}
|
|
3215
|
-
Pe.current = u,
|
|
3287
|
+
Pe.current = u, Fe.current = t, Ie.current = de;
|
|
3216
3288
|
}, [
|
|
3217
3289
|
u,
|
|
3218
3290
|
t,
|
|
3219
3291
|
F,
|
|
3220
|
-
|
|
3292
|
+
de,
|
|
3221
3293
|
G,
|
|
3222
|
-
Q,
|
|
3223
3294
|
$,
|
|
3224
|
-
|
|
3225
|
-
|
|
3226
|
-
|
|
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
|
-
|
|
3229
|
-
|
|
3300
|
+
X,
|
|
3301
|
+
$,
|
|
3230
3302
|
g,
|
|
3231
3303
|
q.i
|
|
3232
3304
|
]);
|
|
3233
|
-
let Ue =
|
|
3305
|
+
let Ue = T(() => {
|
|
3234
3306
|
if (!f) return;
|
|
3235
|
-
let e =
|
|
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
|
-
|
|
3311
|
+
X,
|
|
3240
3312
|
I,
|
|
3241
3313
|
R,
|
|
3242
|
-
|
|
3243
|
-
]), We =
|
|
3244
|
-
let i = He.current, a =
|
|
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 =
|
|
3254
|
-
}, [_]), Ge =
|
|
3255
|
-
let i = He.current, a = ke.current, o =
|
|
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 =
|
|
3264
|
-
v(c, a, o, s, r.e, r.node),
|
|
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 =
|
|
3273
|
-
if (
|
|
3274
|
-
let i = He.current, a = ke.current, o =
|
|
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 =
|
|
3277
|
-
|
|
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,
|
|
3351
|
+
ke.current = null, je.current = null, Se(null), Q(c), l && !(0, At.deepEqual)(l, c) && g(c);
|
|
3280
3352
|
}, [
|
|
3281
|
-
|
|
3282
|
-
pe,
|
|
3353
|
+
$,
|
|
3283
3354
|
K,
|
|
3355
|
+
de,
|
|
3284
3356
|
F,
|
|
3285
3357
|
fe,
|
|
3286
3358
|
G,
|
|
3287
|
-
|
|
3359
|
+
y,
|
|
3288
3360
|
g
|
|
3289
|
-
]), qe =
|
|
3290
|
-
let i = He.current, a =
|
|
3291
|
-
a && (Ae.current =
|
|
3292
|
-
}, [
|
|
3293
|
-
let i = He.current, a = Ae.current, { handle: o } = r, s = !1, c, l, [u, d] =
|
|
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),
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
3333
|
-
]),
|
|
3334
|
-
let i = He.current, a = Ae.current, o =
|
|
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,
|
|
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
|
-
]),
|
|
3415
|
+
]), Xe = S(() => {
|
|
3344
3416
|
let e = He.current;
|
|
3345
3417
|
if (!e.some((e) => e.i === q.i)) {
|
|
3346
|
-
Ee(null),
|
|
3418
|
+
Ee(null), Se(null), Oe(void 0);
|
|
3347
3419
|
return;
|
|
3348
3420
|
}
|
|
3349
|
-
|
|
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 =
|
|
3355
|
-
if (e.preventDefault(), e.stopPropagation(),
|
|
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
|
|
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:
|
|
3368
|
-
}, l =
|
|
3369
|
-
left: g /
|
|
3370
|
-
top: _ /
|
|
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 (
|
|
3445
|
+
if (Te) De && (De.left !== v.left || De.top !== v.top) && Oe(v);
|
|
3374
3446
|
else {
|
|
3375
|
-
let e =
|
|
3376
|
-
Ee(/* @__PURE__ */ (0, U.jsx)("div", {}, o.i)), Oe(v),
|
|
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
|
-
|
|
3391
|
-
|
|
3462
|
+
Xe,
|
|
3463
|
+
he,
|
|
3392
3464
|
F,
|
|
3393
3465
|
R,
|
|
3394
3466
|
L,
|
|
3395
3467
|
I,
|
|
3396
3468
|
n,
|
|
3397
|
-
|
|
3398
|
-
]), $e =
|
|
3399
|
-
e.preventDefault(), e.stopPropagation(), Me.current--, Me.current < 0 && (Me.current = 0), Me.current === 0 &&
|
|
3400
|
-
}, [
|
|
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 =
|
|
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,
|
|
3477
|
+
Me.current = 0, Xe(), k(t, n, e.nativeEvent);
|
|
3406
3478
|
}, [
|
|
3407
3479
|
q.i,
|
|
3408
|
-
|
|
3480
|
+
Xe,
|
|
3409
3481
|
k
|
|
3410
|
-
]), nt =
|
|
3482
|
+
]), nt = S((e, t) => {
|
|
3411
3483
|
if (!e || !e.key) return null;
|
|
3412
|
-
let r =
|
|
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 &&
|
|
3415
|
-
return /* @__PURE__ */ (0, U.jsx)(
|
|
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:
|
|
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:
|
|
3501
|
+
onResizeStop: Ye,
|
|
3430
3502
|
isDraggable: i,
|
|
3431
3503
|
isResizable: a,
|
|
3432
3504
|
isBounded: c,
|
|
3433
|
-
useCSSTransforms:
|
|
3434
|
-
usePercentages: !
|
|
3435
|
-
transformScale:
|
|
3505
|
+
useCSSTransforms: me && J,
|
|
3506
|
+
usePercentages: !J,
|
|
3507
|
+
transformScale: he,
|
|
3436
3508
|
positionStrategy: s,
|
|
3437
|
-
dragThreshold:
|
|
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:
|
|
3525
|
+
layout: X,
|
|
3454
3526
|
children: e
|
|
3455
3527
|
}, r.i);
|
|
3456
3528
|
}, [
|
|
3457
|
-
|
|
3529
|
+
X,
|
|
3458
3530
|
n,
|
|
3459
3531
|
F,
|
|
3460
3532
|
R,
|
|
3461
|
-
|
|
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
|
-
|
|
3543
|
+
Ye,
|
|
3472
3544
|
B,
|
|
3473
|
-
|
|
3545
|
+
re,
|
|
3474
3546
|
V,
|
|
3475
|
-
|
|
3476
|
-
ye,
|
|
3547
|
+
me,
|
|
3477
3548
|
J,
|
|
3549
|
+
he,
|
|
3478
3550
|
s,
|
|
3479
|
-
|
|
3551
|
+
ne,
|
|
3480
3552
|
De,
|
|
3481
|
-
|
|
3482
|
-
|
|
3553
|
+
ie,
|
|
3554
|
+
ae,
|
|
3483
3555
|
l
|
|
3484
|
-
]), rt = () =>
|
|
3485
|
-
w:
|
|
3486
|
-
h:
|
|
3487
|
-
x:
|
|
3488
|
-
y:
|
|
3489
|
-
i:
|
|
3490
|
-
className: `react-grid-placeholder ${
|
|
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:
|
|
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:
|
|
3501
|
-
transformScale:
|
|
3572
|
+
useCSSTransforms: me,
|
|
3573
|
+
transformScale: he,
|
|
3502
3574
|
constraints: l,
|
|
3503
|
-
layout:
|
|
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(
|
|
3580
|
+
className: ee(Nt, p),
|
|
3509
3581
|
style: {
|
|
3510
3582
|
height: Ue,
|
|
3511
3583
|
...m
|
|
3512
3584
|
},
|
|
3513
|
-
onDrop:
|
|
3514
|
-
onDragLeave:
|
|
3515
|
-
onDragEnter:
|
|
3516
|
-
onDragOver:
|
|
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
|
-
|
|
3519
|
-
|
|
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
|
|
3596
|
+
var Rt = {
|
|
3525
3597
|
lg: 1200,
|
|
3526
3598
|
md: 996,
|
|
3527
3599
|
sm: 768,
|
|
3528
3600
|
xs: 480,
|
|
3529
3601
|
xxs: 0
|
|
3530
|
-
},
|
|
3602
|
+
}, zt = {
|
|
3531
3603
|
lg: 12,
|
|
3532
3604
|
md: 10,
|
|
3533
3605
|
sm: 6,
|
|
3534
3606
|
xs: 4,
|
|
3535
3607
|
xxs: 2
|
|
3536
|
-
},
|
|
3537
|
-
function
|
|
3608
|
+
}, Bt = () => {};
|
|
3609
|
+
function Vt(e, t, n, r) {
|
|
3538
3610
|
let i = [];
|
|
3539
|
-
|
|
3540
|
-
if (!
|
|
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:
|
|
3638
|
+
y: ge(i),
|
|
3567
3639
|
w: 1,
|
|
3568
3640
|
h: 1
|
|
3569
3641
|
});
|
|
3570
3642
|
}
|
|
3571
3643
|
});
|
|
3572
|
-
let a =
|
|
3644
|
+
let a = X(i, { cols: n });
|
|
3573
3645
|
return r.compact(a, n);
|
|
3574
3646
|
}
|
|
3575
|
-
function
|
|
3576
|
-
let { children: t, width: n, breakpoint: r, breakpoints: i =
|
|
3577
|
-
|
|
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 =
|
|
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
|
-
|
|
3655
|
+
C,
|
|
3584
3656
|
k,
|
|
3585
3657
|
g
|
|
3586
3658
|
]), H = V ?? j;
|
|
3587
|
-
|
|
3588
|
-
V !== null && (M(V), P(o), B.current = o,
|
|
3589
|
-
}, [V, o]),
|
|
3590
|
-
if (_ !==
|
|
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
|
-
[
|
|
3665
|
+
[C]: e
|
|
3594
3666
|
};
|
|
3595
|
-
M(e), P(t), B.current = t, p(e, t),
|
|
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
|
-
|
|
3675
|
+
C,
|
|
3604
3676
|
p
|
|
3605
|
-
]),
|
|
3606
|
-
let e = n !== F.current, o = r !== I.current, s = !(0,
|
|
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 ??
|
|
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 =
|
|
3613
|
-
r =
|
|
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,
|
|
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
|
-
|
|
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 =
|
|
3707
|
+
let te = S((e) => {
|
|
3636
3708
|
let t = {
|
|
3637
3709
|
...B.current,
|
|
3638
|
-
[
|
|
3710
|
+
[C]: e
|
|
3639
3711
|
};
|
|
3640
3712
|
M(e), P(t), B.current = t, p(e, t);
|
|
3641
|
-
}, [
|
|
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:
|
|
3646
|
-
containerPadding:
|
|
3717
|
+
margin: ne,
|
|
3718
|
+
containerPadding: re
|
|
3647
3719
|
}), [
|
|
3648
3720
|
k,
|
|
3649
3721
|
s,
|
|
3650
3722
|
c,
|
|
3651
|
-
|
|
3652
|
-
|
|
3723
|
+
ne,
|
|
3724
|
+
re
|
|
3653
3725
|
]);
|
|
3654
|
-
return /* @__PURE__ */ (0, U.jsx)(
|
|
3726
|
+
return /* @__PURE__ */ (0, U.jsx)(Lt, {
|
|
3655
3727
|
...h,
|
|
3656
3728
|
width: n,
|
|
3657
|
-
gridConfig:
|
|
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
|
|
3667
|
-
let t =
|
|
3668
|
-
return
|
|
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
|
|
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
|
-
],
|
|
3686
|
-
let { width:
|
|
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
|
-
|
|
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] =
|
|
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 =
|
|
3786
|
+
}), E = y.useCallback((e, t) => {
|
|
3715
3787
|
T(t), r?.(e);
|
|
3716
|
-
}, [r]), D =
|
|
3717
|
-
typeof window < "u" && i && localStorage.setItem(i, JSON.stringify(w)),
|
|
3718
|
-
}, [w, i]), O =
|
|
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 =
|
|
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 (
|
|
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:
|
|
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:
|
|
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:
|
|
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 (
|
|
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 (
|
|
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:
|
|
3904
|
+
className: _("w-full", t),
|
|
3833
3905
|
"data-testid": "grid-layout",
|
|
3834
3906
|
children: [
|
|
3835
|
-
x && /* @__PURE__ */ (0, U.jsx)(
|
|
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)(
|
|
3916
|
+
/* @__PURE__ */ (0, U.jsxs)(c, {
|
|
3845
3917
|
onClick: D,
|
|
3846
3918
|
size: "sm",
|
|
3847
3919
|
variant: "default",
|
|
3848
|
-
children: [/* @__PURE__ */ (0, U.jsx)(
|
|
3920
|
+
children: [/* @__PURE__ */ (0, U.jsx)(L, { className: "h-4 w-4 mr-2" }), "Save Layout"]
|
|
3849
3921
|
}),
|
|
3850
|
-
/* @__PURE__ */ (0, U.jsxs)(
|
|
3922
|
+
/* @__PURE__ */ (0, U.jsxs)(c, {
|
|
3851
3923
|
onClick: O,
|
|
3852
3924
|
size: "sm",
|
|
3853
3925
|
variant: "outline",
|
|
3854
|
-
children: [/* @__PURE__ */ (0, U.jsx)(
|
|
3926
|
+
children: [/* @__PURE__ */ (0, U.jsx)(z, { className: "h-4 w-4 mr-2" }), "Reset"]
|
|
3855
3927
|
}),
|
|
3856
|
-
/* @__PURE__ */ (0, U.jsx)(
|
|
3857
|
-
onClick: () =>
|
|
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)(
|
|
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:
|
|
3938
|
+
disabled: v,
|
|
3867
3939
|
"aria-label": "Refresh dashboard",
|
|
3868
|
-
children: [/* @__PURE__ */ (0, U.jsx)(
|
|
3869
|
-
}), /* @__PURE__ */ (0, U.jsxs)(
|
|
3870
|
-
onClick: () =>
|
|
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)(
|
|
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)(
|
|
3949
|
+
m && /* @__PURE__ */ (0, U.jsx)(Ht, {
|
|
3878
3950
|
className: "layout",
|
|
3879
|
-
width:
|
|
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)(
|
|
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)(
|
|
3916
|
-
className:
|
|
3917
|
-
children: [e.title && /* @__PURE__ */ (0, U.jsxs)(
|
|
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)(
|
|
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)(
|
|
3997
|
+
children: /* @__PURE__ */ (0, U.jsx)(N, { className: "h-4 w-4" })
|
|
3926
3998
|
})]
|
|
3927
|
-
}), /* @__PURE__ */ (0, U.jsx)(
|
|
3999
|
+
}), /* @__PURE__ */ (0, U.jsx)(u, {
|
|
3928
4000
|
className: "p-0 h-full",
|
|
3929
4001
|
children: /* @__PURE__ */ (0, U.jsx)("div", {
|
|
3930
|
-
className:
|
|
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
|
|
4015
|
+
function Kt(e) {
|
|
3944
4016
|
if (e != null) return typeof e == "string" ? e : e.defaultValue || e.key;
|
|
3945
4017
|
}
|
|
3946
|
-
var
|
|
3947
|
-
|
|
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 =
|
|
3950
|
-
return e ? /* @__PURE__ */ (0, U.jsx)(e, { className: "h-4 w-4
|
|
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)(
|
|
3955
|
-
className:
|
|
3956
|
-
...
|
|
3957
|
-
children: [/* @__PURE__ */ (0, U.jsxs)(
|
|
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)(
|
|
4040
|
+
children: [/* @__PURE__ */ (0, U.jsx)(f, {
|
|
3960
4041
|
className: "text-sm font-medium truncate",
|
|
3961
|
-
children:
|
|
3962
|
-
}),
|
|
3963
|
-
className: "h-
|
|
3964
|
-
children:
|
|
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)(
|
|
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)(
|
|
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)(
|
|
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:
|
|
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)(
|
|
3990
|
-
n.direction === "down" && /* @__PURE__ */ (0, U.jsx)(
|
|
3991
|
-
n.direction === "neutral" && /* @__PURE__ */ (0, U.jsx)(
|
|
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:
|
|
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
|
|
4085
|
+
function Yt(e) {
|
|
4005
4086
|
if (e != null) return typeof e == "string" ? e : e.defaultValue || e.key;
|
|
4006
4087
|
}
|
|
4007
|
-
var
|
|
4008
|
-
let m = n &&
|
|
4009
|
-
return /* @__PURE__ */ (0, U.jsxs)(
|
|
4010
|
-
className:
|
|
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)(
|
|
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)(
|
|
4095
|
+
children: [/* @__PURE__ */ (0, U.jsx)(f, {
|
|
4015
4096
|
className: "text-sm font-medium",
|
|
4016
|
-
children:
|
|
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)(
|
|
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)(
|
|
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
|
-
}) :
|
|
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)(
|
|
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:
|
|
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:
|
|
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)(
|
|
4042
|
-
r === "down" && /* @__PURE__ */ (0, U.jsx)(
|
|
4043
|
-
r === "neutral" && /* @__PURE__ */ (0, U.jsx)(
|
|
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
|
-
}),
|
|
4127
|
+
}), Yt(a)]
|
|
4047
4128
|
})] }) })]
|
|
4048
4129
|
});
|
|
4049
|
-
},
|
|
4050
|
-
let
|
|
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 && (
|
|
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 &&
|
|
4148
|
+
i.current && h(a);
|
|
4068
4149
|
} catch (e) {
|
|
4069
|
-
console.error("[ObjectMetricWidget] Fetch error:", e), i.current &&
|
|
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 &&
|
|
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
|
|
4160
|
+
return w(() => {
|
|
4080
4161
|
let t = { current: !0 };
|
|
4081
|
-
return
|
|
4162
|
+
return p && e ? b(p, t) : (h(null), y(null)), () => {
|
|
4082
4163
|
t.current = !1;
|
|
4083
4164
|
};
|
|
4084
4165
|
}, [
|
|
4085
|
-
|
|
4166
|
+
p,
|
|
4086
4167
|
e,
|
|
4087
|
-
|
|
4088
|
-
]), /* @__PURE__ */ (0, U.jsx)(
|
|
4168
|
+
b
|
|
4169
|
+
]), /* @__PURE__ */ (0, U.jsx)(Jt, {
|
|
4089
4170
|
label: i,
|
|
4090
|
-
value:
|
|
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:
|
|
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
|
|
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
|
|
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
|
|
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:
|
|
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 =
|
|
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] =
|
|
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] =
|
|
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:
|
|
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) =>
|
|
4252
|
+
]), b = (e) => Qt(e, u);
|
|
4171
4253
|
return f.length === 0 ? /* @__PURE__ */ (0, U.jsxs)("div", {
|
|
4172
|
-
className:
|
|
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:
|
|
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:
|
|
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:
|
|
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(
|
|
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
|
-
},
|
|
4283
|
-
let o =
|
|
4284
|
-
|
|
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
|
|
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:
|
|
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)(
|
|
4323
|
-
/* @__PURE__ */ (0, U.jsx)(
|
|
4324
|
-
/* @__PURE__ */ (0, U.jsx)(
|
|
4325
|
-
/* @__PURE__ */ (0, U.jsx)(
|
|
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)(
|
|
4335
|
-
/* @__PURE__ */ (0, U.jsx)(
|
|
4336
|
-
/* @__PURE__ */ (0, U.jsx)(
|
|
4337
|
-
/* @__PURE__ */ (0, U.jsx)(
|
|
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:
|
|
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:
|
|
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)(
|
|
4481
|
+
}) : /* @__PURE__ */ (0, U.jsx)(en, {
|
|
4400
4482
|
schema: {
|
|
4401
4483
|
...e,
|
|
4402
4484
|
data: v
|
|
4403
4485
|
},
|
|
4404
|
-
className:
|
|
4486
|
+
className: i
|
|
4405
4487
|
});
|
|
4406
4488
|
};
|
|
4407
4489
|
//#endregion
|
|
4408
4490
|
//#region src/ObjectDataTable.tsx
|
|
4409
|
-
function
|
|
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
|
|
4416
|
-
let s =
|
|
4417
|
-
|
|
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),
|
|
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 &&
|
|
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 =
|
|
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:
|
|
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)(
|
|
4456
|
-
/* @__PURE__ */ (0, U.jsx)(
|
|
4457
|
-
/* @__PURE__ */ (0, U.jsx)(
|
|
4458
|
-
/* @__PURE__ */ (0, U.jsx)(
|
|
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)(
|
|
4469
|
-
/* @__PURE__ */ (0, U.jsx)(
|
|
4470
|
-
/* @__PURE__ */ (0, U.jsx)(
|
|
4471
|
-
/* @__PURE__ */ (0, U.jsx)(
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
-
},
|
|
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
|
|
4683
|
-
let { draft: a, isDirty: o, updateField: s, discard: c } =
|
|
4684
|
-
return /* @__PURE__ */ (0, U.jsx)(
|
|
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:
|
|
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
|
|
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
|
-
],
|
|
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
|
-
],
|
|
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
|
-
],
|
|
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
|
|
4805
|
-
return !!e &&
|
|
4886
|
+
function dn(e) {
|
|
4887
|
+
return !!e && un.includes(e);
|
|
4806
4888
|
}
|
|
4807
|
-
var
|
|
4889
|
+
var fn = [{
|
|
4808
4890
|
value: "group",
|
|
4809
4891
|
label: "Group"
|
|
4810
4892
|
}, {
|
|
4811
4893
|
value: "value",
|
|
4812
4894
|
label: "Value"
|
|
4813
|
-
}],
|
|
4895
|
+
}], pn = [{
|
|
4814
4896
|
value: "asc",
|
|
4815
4897
|
label: "↑"
|
|
4816
4898
|
}, {
|
|
4817
4899
|
value: "desc",
|
|
4818
4900
|
label: "↓"
|
|
4819
4901
|
}];
|
|
4820
|
-
function
|
|
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)(
|
|
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)(
|
|
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
|
|
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)(
|
|
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)(
|
|
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 ?
|
|
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 ?
|
|
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 ?
|
|
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 ?
|
|
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 ?
|
|
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 ?? ""] ?? (
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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) =>
|
|
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:
|
|
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
|
|
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
|
|
5138
|
-
let { draft: c, isDirty: l, updateField: u, discard: d } =
|
|
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" ?
|
|
5141
|
-
description: typeof n.description == "object" ?
|
|
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)(
|
|
5225
|
+
return /* @__PURE__ */ (0, U.jsx)(m, {
|
|
5144
5226
|
open: e,
|
|
5145
5227
|
onClose: t,
|
|
5146
|
-
schema:
|
|
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
|
|
5162
|
-
let [l, u] =
|
|
5163
|
-
|
|
5164
|
-
m(e),
|
|
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
|
|
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 =
|
|
5265
|
+
}, [d, h]), b = S((e) => {
|
|
5184
5266
|
f(e), u(!0);
|
|
5185
|
-
}, []),
|
|
5267
|
+
}, []), x = S(() => {
|
|
5186
5268
|
f(null);
|
|
5187
|
-
}, []),
|
|
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 =
|
|
5208
|
-
d && r && r(d, e), f(null),
|
|
5209
|
-
}, [d, r]),
|
|
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:
|
|
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)(
|
|
5301
|
+
children: /* @__PURE__ */ (0, U.jsxs)(c, {
|
|
5220
5302
|
size: "sm",
|
|
5221
5303
|
variant: l ? "default" : "outline",
|
|
5222
|
-
onClick:
|
|
5304
|
+
onClick: E,
|
|
5223
5305
|
"data-testid": "dashboard-config-toggle",
|
|
5224
|
-
children: [/* @__PURE__ */ (0, U.jsx)(
|
|
5306
|
+
children: [/* @__PURE__ */ (0, U.jsx)(R, { className: "h-3.5 w-3.5 mr-1" }), "Settings"]
|
|
5225
5307
|
})
|
|
5226
|
-
}), /* @__PURE__ */ (0, U.jsx)(
|
|
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 &&
|
|
5318
|
+
children: d && v ? /* @__PURE__ */ (0, U.jsx)(_n, {
|
|
5237
5319
|
open: !0,
|
|
5238
|
-
onClose:
|
|
5239
|
-
config:
|
|
5320
|
+
onClose: x,
|
|
5321
|
+
config: v,
|
|
5240
5322
|
onSave: T,
|
|
5241
|
-
onFieldChange:
|
|
5242
|
-
}) : /* @__PURE__ */ (0, U.jsx)(
|
|
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",
|
|
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",
|
|
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",
|
|
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",
|
|
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",
|
|
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",
|
|
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",
|
|
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",
|
|
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
|
|
5611
|
-
DashboardRenderer:
|
|
5612
|
-
DashboardGridLayout:
|
|
5613
|
-
MetricWidget:
|
|
5614
|
-
MetricCard:
|
|
5615
|
-
ObjectMetricWidget:
|
|
5616
|
-
PivotTable:
|
|
5617
|
-
ObjectPivotTable:
|
|
5618
|
-
ObjectDataTable:
|
|
5619
|
-
DashboardConfigPanel:
|
|
5620
|
-
WidgetConfigPanel:
|
|
5621
|
-
DashboardWithConfig:
|
|
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 {
|
|
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 };
|