@ioai/lerobot-studio 1.3.0 → 1.3.2
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
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.3.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Ensure embedded host token binding survives the full Vite CSS asset: bind `:root` / `.dark` tokens onto `.lerobot-root` with a string pass after Lightning CSS scoping (Rule visitors fail to deserialize on the packaged stylesheet).
|
|
8
|
+
|
|
9
|
+
## 1.3.1
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Fix embedded chart colors: bind design tokens to `.lerobot-root` / `.lerobot-root.dark` so host `:root` tokens no longer win, and resolve CSS colors (oklch / nested `var()`) to canvas-safe `rgb()` for uPlot strokes and grids.
|
|
14
|
+
|
|
3
15
|
## 1.3.0
|
|
4
16
|
|
|
5
17
|
### Minor Changes
|
|
@@ -14266,24 +14266,52 @@ _m.assign = Ad, _m.fmtNum = Ru, _m.rangeNum = Pu, _m.rangeLog = Ou, _m.rangeAsin
|
|
|
14266
14266
|
}
|
|
14267
14267
|
//#endregion
|
|
14268
14268
|
//#region src/react/lib/chartTheme.ts
|
|
14269
|
-
var vm = typeof document < "u" ? () => document.querySelector(".lerobot-root") ?? document.getElementById("lerobot-root") : () => null;
|
|
14270
|
-
function
|
|
14269
|
+
var vm = typeof document < "u" ? () => document.querySelector(".lerobot-root") ?? document.getElementById("lerobot-root") : () => null, ym = "rgb(1, 2, 3)", bm = null, xm = null, Sm = null, Cm = null;
|
|
14270
|
+
function wm() {
|
|
14271
|
+
return typeof document > "u" ? null : bm?.isConnected && xm?.isConnected ? {
|
|
14272
|
+
wrap: bm,
|
|
14273
|
+
probe: xm
|
|
14274
|
+
} : (bm = document.createElement("span"), bm.setAttribute("data-lerobot-color-probe-wrap", ""), bm.style.cssText = "position:absolute;width:0;height:0;overflow:hidden;pointer-events:none;visibility:hidden", xm = document.createElement("span"), xm.setAttribute("data-lerobot-color-probe", ""), bm.appendChild(xm), document.documentElement.appendChild(bm), {
|
|
14275
|
+
wrap: bm,
|
|
14276
|
+
probe: xm
|
|
14277
|
+
});
|
|
14278
|
+
}
|
|
14279
|
+
function Tm() {
|
|
14280
|
+
return typeof document > "u" ? null : Cm || (Sm = document.createElement("canvas"), Sm.width = 1, Sm.height = 1, Cm = Sm.getContext("2d", { willReadFrequently: !0 }), Cm);
|
|
14281
|
+
}
|
|
14282
|
+
function Em(e, t) {
|
|
14283
|
+
let n = Tm();
|
|
14284
|
+
if (!n) return t;
|
|
14285
|
+
n.clearRect(0, 0, 1, 1), n.fillStyle = "#000000", n.fillStyle = e, n.fillRect(0, 0, 1, 1);
|
|
14286
|
+
let [r, i, a, o] = n.getImageData(0, 0, 1, 1).data;
|
|
14287
|
+
return o === 0 ? t : o === 255 ? `rgb(${r}, ${i}, ${a})` : `rgba(${r}, ${i}, ${a}, ${+(o / 255).toFixed(3)})`;
|
|
14288
|
+
}
|
|
14289
|
+
function Dm(e, t, n) {
|
|
14290
|
+
if (!e.trim()) return n;
|
|
14291
|
+
let r = wm();
|
|
14292
|
+
if (!r) return n;
|
|
14293
|
+
let { wrap: i, probe: a } = r, o = t && t.isConnected ? t : document.documentElement;
|
|
14294
|
+
i.parentElement !== o && o.appendChild(i), i.style.color = ym, a.style.color = e;
|
|
14295
|
+
let s = getComputedStyle(a).color.trim();
|
|
14296
|
+
return a.style.color = "", i.style.color = "", !s || s === ym || s === "rgba(0, 0, 0, 0)" || s === "transparent" ? n : Em(s, n);
|
|
14297
|
+
}
|
|
14298
|
+
function Om(e, t, n = "#888") {
|
|
14271
14299
|
let r = e ?? (typeof document < "u" ? document.documentElement : null);
|
|
14272
14300
|
if (!r) return n;
|
|
14273
14301
|
let i = getComputedStyle(r).getPropertyValue(t).trim();
|
|
14274
|
-
return i ?
|
|
14302
|
+
return i ? Dm(i, r, n) : n;
|
|
14275
14303
|
}
|
|
14276
|
-
function
|
|
14277
|
-
return
|
|
14304
|
+
function km(e, t, n = "#888") {
|
|
14305
|
+
return Om(e, t, n);
|
|
14278
14306
|
}
|
|
14279
|
-
function
|
|
14307
|
+
function Am(e) {
|
|
14280
14308
|
return {
|
|
14281
|
-
axisStroke:
|
|
14282
|
-
gridStroke:
|
|
14283
|
-
tickStroke:
|
|
14309
|
+
axisStroke: Om(e, "--muted-foreground", "#6b7280"),
|
|
14310
|
+
gridStroke: Om(e, "--border", "#e5e7eb"),
|
|
14311
|
+
tickStroke: Om(e, "--border", "#d1d5db")
|
|
14284
14312
|
};
|
|
14285
14313
|
}
|
|
14286
|
-
var
|
|
14314
|
+
var jm = [
|
|
14287
14315
|
"--chart-1",
|
|
14288
14316
|
"--chart-2",
|
|
14289
14317
|
"--chart-3",
|
|
@@ -14291,7 +14319,7 @@ var Sm = [
|
|
|
14291
14319
|
"--chart-5",
|
|
14292
14320
|
"--primary"
|
|
14293
14321
|
];
|
|
14294
|
-
function
|
|
14322
|
+
function Mm(e) {
|
|
14295
14323
|
let t = [], n = [
|
|
14296
14324
|
"#2563eb",
|
|
14297
14325
|
"#dc2626",
|
|
@@ -14301,17 +14329,17 @@ function Cm(e) {
|
|
|
14301
14329
|
"#0d9488"
|
|
14302
14330
|
];
|
|
14303
14331
|
for (let r = 0; r < 14; r++) {
|
|
14304
|
-
let i =
|
|
14305
|
-
t.push(
|
|
14332
|
+
let i = jm[r % jm.length];
|
|
14333
|
+
t.push(Om(e, i, n[r % n.length]));
|
|
14306
14334
|
}
|
|
14307
14335
|
return t;
|
|
14308
14336
|
}
|
|
14309
|
-
function
|
|
14337
|
+
function Nm() {
|
|
14310
14338
|
return vm();
|
|
14311
14339
|
}
|
|
14312
14340
|
//#endregion
|
|
14313
14341
|
//#region src/react/components/panels/Common/PanelState.tsx
|
|
14314
|
-
var
|
|
14342
|
+
var Pm = ({ message: e, className: t }) => /* @__PURE__ */ W("div", {
|
|
14315
14343
|
role: "status",
|
|
14316
14344
|
"aria-live": "polite",
|
|
14317
14345
|
className: x("flex h-full min-h-0 w-full items-center justify-center text-muted-foreground", t),
|
|
@@ -14325,7 +14353,7 @@ var Tm = ({ message: e, className: t }) => /* @__PURE__ */ W("div", {
|
|
|
14325
14353
|
children: e
|
|
14326
14354
|
})]
|
|
14327
14355
|
})
|
|
14328
|
-
}),
|
|
14356
|
+
}), Fm = ({ message: e, className: t }) => /* @__PURE__ */ W("div", {
|
|
14329
14357
|
className: x("flex h-full min-h-0 w-full items-center justify-center text-muted-foreground", t),
|
|
14330
14358
|
children: /* @__PURE__ */ W("p", {
|
|
14331
14359
|
className: "text-[10px] font-medium uppercase tracking-widest opacity-50",
|
|
@@ -14334,13 +14362,13 @@ var Tm = ({ message: e, className: t }) => /* @__PURE__ */ W("div", {
|
|
|
14334
14362
|
});
|
|
14335
14363
|
//#endregion
|
|
14336
14364
|
//#region src/react/components/panels/ChartPanel/NestedHierarchicalFilterList.tsx
|
|
14337
|
-
function
|
|
14365
|
+
function Im(e, t) {
|
|
14338
14366
|
if (e.length === 0) return "none";
|
|
14339
14367
|
let n = 0;
|
|
14340
14368
|
for (let r of e) t.has(r) && n++;
|
|
14341
14369
|
return n === 0 ? "none" : n === e.length ? "all" : "partial";
|
|
14342
14370
|
}
|
|
14343
|
-
var
|
|
14371
|
+
var Lm = Ee(function({ checked: e, indeterminate: t }) {
|
|
14344
14372
|
let n = U(null);
|
|
14345
14373
|
return V(() => {
|
|
14346
14374
|
n.current && (n.current.checked = e, n.current.indeterminate = t);
|
|
@@ -14351,7 +14379,7 @@ var Om = Ee(function({ checked: e, indeterminate: t }) {
|
|
|
14351
14379
|
readOnly: !0,
|
|
14352
14380
|
className: "pointer-events-none h-3.5 w-3.5 shrink-0 rounded border-border accent-primary"
|
|
14353
14381
|
});
|
|
14354
|
-
}),
|
|
14382
|
+
}), Rm = Ee(function({ featureNodes: e, selectedIds: n, searchValue: r, onSearchChange: i, onSetItemsChecked: a, onToggleItem: o, onSelectAll: s, onClearAll: l, searchPlaceholder: u, emptyLabel: d, selectAllLabel: f, onHoverChange: m, getItemColor: h, className: g }) {
|
|
14355
14383
|
let _ = H(() => dr(e), [e]), v = H(() => fr(e, r), [e, r]), y = H(() => _.reduce((e, t) => n.has(t) ? e + 1 : e, 0), [_, n]), b = _.length > 0 && y === _.length, S = !b && y !== 0;
|
|
14356
14384
|
return /* @__PURE__ */ G("div", {
|
|
14357
14385
|
className: x("w-full", g),
|
|
@@ -14368,7 +14396,7 @@ var Om = Ee(function({ checked: e, indeterminate: t }) {
|
|
|
14368
14396
|
},
|
|
14369
14397
|
title: f,
|
|
14370
14398
|
"aria-label": f,
|
|
14371
|
-
children: /* @__PURE__ */ W(
|
|
14399
|
+
children: /* @__PURE__ */ W(Lm, {
|
|
14372
14400
|
checked: b,
|
|
14373
14401
|
indeterminate: S
|
|
14374
14402
|
})
|
|
@@ -14402,7 +14430,7 @@ var Om = Ee(function({ checked: e, indeterminate: t }) {
|
|
|
14402
14430
|
className: "px-2 py-3 text-xs text-muted-foreground",
|
|
14403
14431
|
children: d
|
|
14404
14432
|
}) : v.map((e) => {
|
|
14405
|
-
let t = ur(e), r =
|
|
14433
|
+
let t = ur(e), r = Im(t, n);
|
|
14406
14434
|
return /* @__PURE__ */ G("div", {
|
|
14407
14435
|
className: "mb-1 border-b border-border/50 pb-1 last:border-b-0",
|
|
14408
14436
|
children: [/* @__PURE__ */ G("button", {
|
|
@@ -14417,7 +14445,7 @@ var Om = Ee(function({ checked: e, indeterminate: t }) {
|
|
|
14417
14445
|
id: e.id,
|
|
14418
14446
|
itemIds: t
|
|
14419
14447
|
}),
|
|
14420
|
-
children: [/* @__PURE__ */ W(
|
|
14448
|
+
children: [/* @__PURE__ */ W(Lm, {
|
|
14421
14449
|
checked: r === "all",
|
|
14422
14450
|
indeterminate: r === "partial"
|
|
14423
14451
|
}), /* @__PURE__ */ W("span", {
|
|
@@ -14440,7 +14468,7 @@ var Om = Ee(function({ checked: e, indeterminate: t }) {
|
|
|
14440
14468
|
id: t.id,
|
|
14441
14469
|
itemIds: r
|
|
14442
14470
|
}),
|
|
14443
|
-
children: [/* @__PURE__ */ W(
|
|
14471
|
+
children: [/* @__PURE__ */ W(Lm, {
|
|
14444
14472
|
checked: i === "all",
|
|
14445
14473
|
indeterminate: i === "partial"
|
|
14446
14474
|
}), /* @__PURE__ */ W("span", {
|
|
@@ -14460,7 +14488,7 @@ var Om = Ee(function({ checked: e, indeterminate: t }) {
|
|
|
14460
14488
|
itemIds: [e.id]
|
|
14461
14489
|
}),
|
|
14462
14490
|
children: [
|
|
14463
|
-
/* @__PURE__ */ W(
|
|
14491
|
+
/* @__PURE__ */ W(Lm, {
|
|
14464
14492
|
checked: n.has(e.id),
|
|
14465
14493
|
indeterminate: !1
|
|
14466
14494
|
}),
|
|
@@ -14480,7 +14508,7 @@ var Om = Ee(function({ checked: e, indeterminate: t }) {
|
|
|
14480
14508
|
})
|
|
14481
14509
|
})]
|
|
14482
14510
|
});
|
|
14483
|
-
}),
|
|
14511
|
+
}), zm = Ee(function({ featureFilterNodes: e, selectedIds: t, jointSearch: n, onSearchChange: r, onSetItemsChecked: i, onToggleItem: a, onSelectAll: o, onClearAll: s, searchPlaceholder: l, emptyLabel: u, selectAllLabel: d, summaryAllLabel: f, summaryNoneLabel: p, summarySelectedCountLabel: m, totalSeriesCount: h, onHoverChange: g, getItemColor: _, onMenuOpenChange: v, triggerClassName: y, contentClassName: b, align: S = "start", side: C = "bottom", sideOffset: w = 4 }) {
|
|
14484
14512
|
let T = t.size, E = h > 0 && T === h ? f : T === 0 ? p : m(T);
|
|
14485
14513
|
return /* @__PURE__ */ G(An, {
|
|
14486
14514
|
onOpenChange: v,
|
|
@@ -14504,7 +14532,7 @@ var Om = Ee(function({ checked: e, indeterminate: t }) {
|
|
|
14504
14532
|
side: C,
|
|
14505
14533
|
sideOffset: w,
|
|
14506
14534
|
className: x("w-80 max-h-[60vh] overflow-hidden", b),
|
|
14507
|
-
children: /* @__PURE__ */ W(
|
|
14535
|
+
children: /* @__PURE__ */ W(Rm, {
|
|
14508
14536
|
featureNodes: e,
|
|
14509
14537
|
selectedIds: t,
|
|
14510
14538
|
searchValue: n,
|
|
@@ -14524,11 +14552,11 @@ var Om = Ee(function({ checked: e, indeterminate: t }) {
|
|
|
14524
14552
|
});
|
|
14525
14553
|
//#endregion
|
|
14526
14554
|
//#region src/react/components/panels/ChartPanel/chartPanelModel.ts
|
|
14527
|
-
function
|
|
14555
|
+
function Bm(e, t) {
|
|
14528
14556
|
return `${e}::${t}`;
|
|
14529
14557
|
}
|
|
14530
|
-
var
|
|
14531
|
-
function
|
|
14558
|
+
var Vm = [8, 5];
|
|
14559
|
+
function Hm(e) {
|
|
14532
14560
|
if (e <= 0) return [];
|
|
14533
14561
|
let t = Array(e).fill(!1), n = [], r = [[0, e - 1]], i = 0;
|
|
14534
14562
|
for (; i < r.length && n.length < e;) {
|
|
@@ -14538,7 +14566,7 @@ function Nm(e) {
|
|
|
14538
14566
|
for (let r = 0; r < e && n.length < e; r++) t[r] || n.push(r);
|
|
14539
14567
|
return n;
|
|
14540
14568
|
}
|
|
14541
|
-
function
|
|
14569
|
+
function Um(e, t, n) {
|
|
14542
14570
|
let r = Math.max(1, e.width), i = Math.ceil(e.rows / n), a = new Float64Array(i), o = 0;
|
|
14543
14571
|
for (let i = 0; i < e.rows; i += n) {
|
|
14544
14572
|
let n = i * r + Math.min(t, r - 1);
|
|
@@ -14546,13 +14574,13 @@ function Pm(e, t, n) {
|
|
|
14546
14574
|
}
|
|
14547
14575
|
return a;
|
|
14548
14576
|
}
|
|
14549
|
-
function
|
|
14577
|
+
function Wm(e, t) {
|
|
14550
14578
|
if (t <= 1) return Float64Array.from(e);
|
|
14551
14579
|
let n = Math.ceil(e.length / t), r = new Float64Array(n), i = 0;
|
|
14552
14580
|
for (let n = 0; n < e.length; n += t) r[i++] = e[n] ?? 0;
|
|
14553
14581
|
return r;
|
|
14554
14582
|
}
|
|
14555
|
-
function
|
|
14583
|
+
function Gm(e, t) {
|
|
14556
14584
|
if (e.length === 0) return 0;
|
|
14557
14585
|
let n = 0, r = e.length - 1;
|
|
14558
14586
|
if (t <= e[0]) return 0;
|
|
@@ -14564,7 +14592,7 @@ function Im(e, t) {
|
|
|
14564
14592
|
let i = n, a = Math.max(0, i - 1);
|
|
14565
14593
|
return Math.abs(e[i] - t) < Math.abs(e[a] - t) ? i : a;
|
|
14566
14594
|
}
|
|
14567
|
-
function
|
|
14595
|
+
function Km(e, t, n) {
|
|
14568
14596
|
let r = [];
|
|
14569
14597
|
return e.forEach((e) => {
|
|
14570
14598
|
let i = t?.[e];
|
|
@@ -14573,7 +14601,7 @@ function Lm(e, t, n) {
|
|
|
14573
14601
|
for (let t = 0; t < s; t++) {
|
|
14574
14602
|
let n = (typeof c[t] == "string" ? c[t] : null) || `${e.split(".").pop()}[${t}]`;
|
|
14575
14603
|
r.push({
|
|
14576
|
-
id:
|
|
14604
|
+
id: Bm(e, t),
|
|
14577
14605
|
featureKey: e,
|
|
14578
14606
|
dimIndex: t,
|
|
14579
14607
|
jointName: n,
|
|
@@ -14582,37 +14610,37 @@ function Lm(e, t, n) {
|
|
|
14582
14610
|
}
|
|
14583
14611
|
}), r;
|
|
14584
14612
|
}
|
|
14585
|
-
function
|
|
14613
|
+
function qm(e) {
|
|
14586
14614
|
let t = /* @__PURE__ */ new Set(), n = [];
|
|
14587
14615
|
return e.forEach((e) => {
|
|
14588
14616
|
t.has(e.jointName) || (t.add(e.jointName), n.push(e.jointName));
|
|
14589
14617
|
}), n;
|
|
14590
14618
|
}
|
|
14591
|
-
function
|
|
14592
|
-
let n = {}, r = e.slice().sort(), i =
|
|
14619
|
+
function Jm(e, t) {
|
|
14620
|
+
let n = {}, r = e.slice().sort(), i = Hm(r.length), a = Nm(), o = Mm(a), s = t === "dark" ? "#94a3b8" : "#64748b";
|
|
14593
14621
|
return r.forEach((e, t) => {
|
|
14594
14622
|
let r = i[t] ?? t;
|
|
14595
|
-
n[e] = o[r % o.length] ??
|
|
14623
|
+
n[e] = o[r % o.length] ?? km(a, "--muted-foreground", s);
|
|
14596
14624
|
}), n;
|
|
14597
14625
|
}
|
|
14598
|
-
var
|
|
14599
|
-
function
|
|
14626
|
+
var Ym = 2e3;
|
|
14627
|
+
function Xm(e) {
|
|
14600
14628
|
let { chartData: t, currentFrames: n, targetFeatures: r, features: i, resolvedTheme: a } = e, o = t.timestamp;
|
|
14601
14629
|
if (!o || o.rows === 0) return null;
|
|
14602
|
-
let s = (n && n.length > 0 ? n.map((e) => Number(e.timestamp ?? 0)) : Array.from(o.values.slice(0, o.rows))).slice(0, o.rows), c = o.rows >
|
|
14630
|
+
let s = (n && n.length > 0 ? n.map((e) => Number(e.timestamp ?? 0)) : Array.from(o.values.slice(0, o.rows))).slice(0, o.rows), c = o.rows > Ym, l = c ? Math.ceil(o.rows / Ym) : 1, u = Wm(s, l), d = n && n.length > 0 ? n.map((e) => Number(e.timestamp ?? 0)) : Array.from(o.values.slice(0, o.rows)), f = Km(r, i, t), p = qm(f), m = {}, h = {};
|
|
14603
14631
|
for (let e of p) h[e] = [];
|
|
14604
14632
|
return r.forEach((e) => {
|
|
14605
14633
|
let n = i?.[e], r = t[e];
|
|
14606
14634
|
if (!n || !r) return;
|
|
14607
14635
|
let a = n.shape || [r.width || 1], o = Math.max(r.width, a[0] ?? 1), s = Array.isArray(n.names) ? n.names : [];
|
|
14608
14636
|
for (let t = 0; t < o; t++) {
|
|
14609
|
-
let n = (typeof s[t] == "string" ? s[t] : null) || `${e.split(".").pop()}[${t}]`, i =
|
|
14610
|
-
m[i] =
|
|
14637
|
+
let n = (typeof s[t] == "string" ? s[t] : null) || `${e.split(".").pop()}[${t}]`, i = Bm(e, t);
|
|
14638
|
+
m[i] = Um(r, t, l), h[n] || (h[n] = []), h[n].push(i);
|
|
14611
14639
|
}
|
|
14612
14640
|
}), {
|
|
14613
14641
|
dimensions: f,
|
|
14614
14642
|
allJointNames: p,
|
|
14615
|
-
jointColorMap:
|
|
14643
|
+
jointColorMap: Jm(p, a),
|
|
14616
14644
|
simplifiedTimestamps: u,
|
|
14617
14645
|
originalTimestamps: d,
|
|
14618
14646
|
stride: l,
|
|
@@ -14626,7 +14654,7 @@ function Vm(e) {
|
|
|
14626
14654
|
seriesIdsByJoint: h
|
|
14627
14655
|
};
|
|
14628
14656
|
}
|
|
14629
|
-
function
|
|
14657
|
+
function Zm(e, t) {
|
|
14630
14658
|
let { selectedSeriesIds: n, showAction: r, showState: i, getStrokeColor: a, stateLabel: o, actionLabel: s } = t, c = [], l = [null], u = [{}];
|
|
14631
14659
|
return e.dimensions.forEach((t) => {
|
|
14632
14660
|
if (!n.has(t.id) || t.kind === "state" && !i || t.kind === "action" && !r) return;
|
|
@@ -14637,7 +14665,7 @@ function Hm(e, t) {
|
|
|
14637
14665
|
label: m,
|
|
14638
14666
|
stroke: () => a(t.id, f),
|
|
14639
14667
|
width: p ? 1.25 : 1.5,
|
|
14640
|
-
dash: p ? [] :
|
|
14668
|
+
dash: p ? [] : Vm,
|
|
14641
14669
|
points: { show: !1 },
|
|
14642
14670
|
spanGaps: !0
|
|
14643
14671
|
}), l.push({
|
|
@@ -14658,10 +14686,10 @@ function Hm(e, t) {
|
|
|
14658
14686
|
}
|
|
14659
14687
|
//#endregion
|
|
14660
14688
|
//#region src/react/components/panels/ChartPanel/Split/SplitJointMiniPlot.tsx
|
|
14661
|
-
var
|
|
14689
|
+
var Qm = {
|
|
14662
14690
|
min: null,
|
|
14663
14691
|
max: null
|
|
14664
|
-
},
|
|
14692
|
+
}, $m = z.memo(function({ jointName: e, core: t, chartHeight: n, selectedSeriesIds: i, showAction: o, showState: s, hasAction: c, hasState: l, actionLabel: u, stateLabel: d }) {
|
|
14665
14693
|
let { t: f } = a(), { subscribeFrameIndex: p } = ee(), { setFrameIndex: m } = F(), { resolvedTheme: h } = r(), g = U(null), _ = U(null), v = U(null), y = U(null), b = U(0), x = U([]), S = U("#ef4444"), C = U(null), w = U(null), T = U(null), E = U(!1), D = t.dimensions.filter((n) => n.jointName === e && i.has(n.id) && t.seriesData[n.id] != null), O = D.some((e) => e.kind === "action" && c && o || e.kind === "state" && l && s);
|
|
14666
14694
|
return V(() => p((e) => {
|
|
14667
14695
|
b.current = e, y.current?.redraw(!1, !1);
|
|
@@ -14683,7 +14711,7 @@ var Um = {
|
|
|
14683
14711
|
label: `${r ? d : u}: ${e.featureKey}`,
|
|
14684
14712
|
stroke: h,
|
|
14685
14713
|
width: r ? 1.25 : 1.5,
|
|
14686
|
-
dash: r ? [] :
|
|
14714
|
+
dash: r ? [] : Vm,
|
|
14687
14715
|
points: { show: !1 },
|
|
14688
14716
|
spanGaps: !0
|
|
14689
14717
|
});
|
|
@@ -14696,8 +14724,8 @@ var Um = {
|
|
|
14696
14724
|
return;
|
|
14697
14725
|
}
|
|
14698
14726
|
A();
|
|
14699
|
-
let j =
|
|
14700
|
-
S.current =
|
|
14727
|
+
let j = Nm(), { axisStroke: M, gridStroke: N, tickStroke: P } = Am(j);
|
|
14728
|
+
S.current = km(j, "--destructive", "#ef4444");
|
|
14701
14729
|
let te = (e) => {
|
|
14702
14730
|
let t = v.current;
|
|
14703
14731
|
if (!t) return;
|
|
@@ -14820,7 +14848,7 @@ var Um = {
|
|
|
14820
14848
|
return { hooks: {
|
|
14821
14849
|
init: (r) => {
|
|
14822
14850
|
e = () => {
|
|
14823
|
-
r.setScale("y",
|
|
14851
|
+
r.setScale("y", Qm);
|
|
14824
14852
|
}, t = () => {
|
|
14825
14853
|
E.current = !0, te(r), ne();
|
|
14826
14854
|
}, n = () => {
|
|
@@ -14829,7 +14857,7 @@ var Um = {
|
|
|
14829
14857
|
if (e.button !== 0) return;
|
|
14830
14858
|
let t = r.cursor.left;
|
|
14831
14859
|
if (t == null) return;
|
|
14832
|
-
let n = r.posToVal(t, "x"), i = x.current, a = i.length > 0 ?
|
|
14860
|
+
let n = r.posToVal(t, "x"), i = x.current, a = i.length > 0 ? Gm(i, n) : 0;
|
|
14833
14861
|
m(a);
|
|
14834
14862
|
});
|
|
14835
14863
|
},
|
|
@@ -14889,7 +14917,7 @@ var Um = {
|
|
|
14889
14917
|
});
|
|
14890
14918
|
//#endregion
|
|
14891
14919
|
//#region src/react/components/panels/ChartPanel/Split/SplitChartsSheet.tsx
|
|
14892
|
-
function
|
|
14920
|
+
function eh(e) {
|
|
14893
14921
|
let { index: t, style: n, ariaAttributes: r, jointOrder: i, chartCore: a, chartHeight: o, selectedSeriesIds: s, showAction: c, showState: l, hasAction: u, hasState: d, actionLabel: f, stateLabel: p } = e, m = i[t];
|
|
14894
14922
|
if (!m) return null;
|
|
14895
14923
|
let h = a.jointColorMap[m] ?? "#94a3b8";
|
|
@@ -14905,7 +14933,7 @@ function Gm(e) {
|
|
|
14905
14933
|
title: m,
|
|
14906
14934
|
children: m
|
|
14907
14935
|
})
|
|
14908
|
-
}), /* @__PURE__ */ W(
|
|
14936
|
+
}), /* @__PURE__ */ W($m, {
|
|
14909
14937
|
jointName: m,
|
|
14910
14938
|
core: a,
|
|
14911
14939
|
chartHeight: o,
|
|
@@ -14919,7 +14947,7 @@ function Gm(e) {
|
|
|
14919
14947
|
})]
|
|
14920
14948
|
});
|
|
14921
14949
|
}
|
|
14922
|
-
function
|
|
14950
|
+
function th({ open: e, onOpenChange: t, chartCore: n, allJointNames: r, selectedSeriesIds: i, jointFilterDropdownProps: o, showAction: s, showState: c, hasAction: l, hasState: u }) {
|
|
14923
14951
|
let { t: d } = a(), f = H(() => r, [r]), p = f.length, m = hr(p), h = gr(p), g = H(() => ({
|
|
14924
14952
|
jointOrder: f,
|
|
14925
14953
|
chartCore: n,
|
|
@@ -14951,7 +14979,7 @@ function Km({ open: e, onOpenChange: t, chartCore: n, allJointNames: r, selected
|
|
|
14951
14979
|
"aria-describedby": void 0,
|
|
14952
14980
|
children: [/* @__PURE__ */ W("div", {
|
|
14953
14981
|
className: "flex shrink-0 items-center border-b border-border/60 bg-muted/20 px-3 py-2",
|
|
14954
|
-
children: /* @__PURE__ */ W(
|
|
14982
|
+
children: /* @__PURE__ */ W(zm, {
|
|
14955
14983
|
...o,
|
|
14956
14984
|
contentClassName: x("w-80 max-h-[min(55vh,380px)] overflow-hidden", o.contentClassName)
|
|
14957
14985
|
})
|
|
@@ -14963,7 +14991,7 @@ function Km({ open: e, onOpenChange: t, chartCore: n, allJointNames: r, selected
|
|
|
14963
14991
|
}) : /* @__PURE__ */ W(fe, {
|
|
14964
14992
|
rowHeight: h,
|
|
14965
14993
|
rowCount: p,
|
|
14966
|
-
rowComponent:
|
|
14994
|
+
rowComponent: eh,
|
|
14967
14995
|
rowProps: g,
|
|
14968
14996
|
className: "h-full w-full",
|
|
14969
14997
|
style: {
|
|
@@ -14978,28 +15006,33 @@ function Km({ open: e, onOpenChange: t, chartCore: n, allJointNames: r, selected
|
|
|
14978
15006
|
}
|
|
14979
15007
|
//#endregion
|
|
14980
15008
|
//#region src/react/components/panels/ChartPanel/ChartPanel.tsx
|
|
14981
|
-
var
|
|
15009
|
+
var nh = (e, t) => {
|
|
14982
15010
|
let n = Math.max(0, Math.min(1, t));
|
|
14983
15011
|
if (e.startsWith("#")) {
|
|
14984
15012
|
let t = e.slice(1);
|
|
14985
15013
|
if (t.length === 3) return `rgba(${parseInt(t[0] + t[0], 16)}, ${parseInt(t[1] + t[1], 16)}, ${parseInt(t[2] + t[2], 16)}, ${n})`;
|
|
14986
15014
|
if (t.length === 6) return `rgba(${parseInt(t.slice(0, 2), 16)}, ${parseInt(t.slice(2, 4), 16)}, ${parseInt(t.slice(4, 6), 16)}, ${n})`;
|
|
14987
15015
|
}
|
|
14988
|
-
if (e.startsWith("rgb("))
|
|
15016
|
+
if (e.startsWith("rgb(")) {
|
|
15017
|
+
let t = e.slice(4, -1).trim();
|
|
15018
|
+
if (t.includes(",")) return `rgba(${t}, ${n})`;
|
|
15019
|
+
let [r] = t.split("/");
|
|
15020
|
+
return `rgba(${r.trim().replace(/\s+/g, ", ")}, ${n})`;
|
|
15021
|
+
}
|
|
14989
15022
|
if (e.startsWith("rgba(")) return e;
|
|
14990
15023
|
if (e.startsWith("hsl(")) {
|
|
14991
15024
|
let t = e.match(/^hsl\(\s*([0-9.]+)\s*,\s*([0-9.]+%)\s*,\s*([0-9.]+%)\s*\)$/);
|
|
14992
15025
|
if (t) return `hsla(${t[1]}, ${t[2]}, ${t[3]}, ${n})`;
|
|
14993
15026
|
}
|
|
14994
15027
|
return e.startsWith("hsla("), e;
|
|
14995
|
-
},
|
|
15028
|
+
}, rh = {
|
|
14996
15029
|
min: null,
|
|
14997
15030
|
max: null
|
|
14998
|
-
},
|
|
15031
|
+
}, ih = (e) => {
|
|
14999
15032
|
let t = e.deltaY;
|
|
15000
15033
|
return e.deltaMode === WheelEvent.DOM_DELTA_LINE ? t *= 16 : e.deltaMode === WheelEvent.DOM_DELTA_PAGE && (t *= 400), t;
|
|
15001
15034
|
};
|
|
15002
|
-
function
|
|
15035
|
+
function ah(e, t, n) {
|
|
15003
15036
|
let r = e.scales.y, i = r.min, a = r.max;
|
|
15004
15037
|
if (typeof i != "number" || typeof a != "number" || !Number.isFinite(i) || !Number.isFinite(a)) return !1;
|
|
15005
15038
|
let o = a - i;
|
|
@@ -15016,12 +15049,12 @@ function Xm(e, t, n) {
|
|
|
15016
15049
|
max: m
|
|
15017
15050
|
}), !0;
|
|
15018
15051
|
}
|
|
15019
|
-
var
|
|
15020
|
-
let { t, i18n: n } = a(), { chartData: i, currentFrames: o, setFrameIndex: s, setPlaying: l } = F(), { subscribeFrameIndex: u, info: d, isLoading: f, error: p } = ee(), { selectedEpisodeIndex: m } = me(), { resolvedTheme: h } = r(), g = U(null), _ = U(null), v = U(null), y = U(null), b = U(!1), x = U(null), S = U(null), C = U(null), w = U(null), T = U(null), E = U(null), D = U(null), O = U(null), k = U(null), A = U(!1), j = U(null), M = U(!1), N = U(!1), P = U(null), te = U(null), ne = U(null), re = U(h), ie = U("#ef4444"), ae = U(0), oe = U([]), se = U(void 0), ce = U(!1), [le, ue] = ke(/* @__PURE__ */ new Set()), [de, fe] = ke(""), [pe, he] = ke(!0), [ge, _e] = ke(!0), [ve, ye] = ke(!1), be = H(() => cr(d, e?.featureKey), [d, e?.featureKey]), xe = H(() => be.some((e) => sr(e) === "action" && i[e] != null), [be, i]), Se = H(() => be.some((e) => sr(e) === "state" && i[e] != null), [be, i]), Ce = H(() =>
|
|
15052
|
+
var oh = ({ params: e }) => {
|
|
15053
|
+
let { t, i18n: n } = a(), { chartData: i, currentFrames: o, setFrameIndex: s, setPlaying: l } = F(), { subscribeFrameIndex: u, info: d, isLoading: f, error: p } = ee(), { selectedEpisodeIndex: m } = me(), { resolvedTheme: h } = r(), g = U(null), _ = U(null), v = U(null), y = U(null), b = U(!1), x = U(null), S = U(null), C = U(null), w = U(null), T = U(null), E = U(null), D = U(null), O = U(null), k = U(null), A = U(!1), j = U(null), M = U(!1), N = U(!1), P = U(null), te = U(null), ne = U(null), re = U(h), ie = U("#ef4444"), ae = U(0), oe = U([]), se = U(void 0), ce = U(!1), [le, ue] = ke(/* @__PURE__ */ new Set()), [de, fe] = ke(""), [pe, he] = ke(!0), [ge, _e] = ke(!0), [ve, ye] = ke(!1), be = H(() => cr(d, e?.featureKey), [d, e?.featureKey]), xe = H(() => be.some((e) => sr(e) === "action" && i[e] != null), [be, i]), Se = H(() => be.some((e) => sr(e) === "state" && i[e] != null), [be, i]), Ce = H(() => Km(be, d?.features, i), [
|
|
15021
15054
|
be,
|
|
15022
15055
|
d?.features,
|
|
15023
15056
|
i
|
|
15024
|
-
]), I = H(() =>
|
|
15057
|
+
]), I = H(() => qm(Ce), [Ce]), L = H(() => Ce.map((e) => e.id), [Ce]), R = H(() => Xm({
|
|
15025
15058
|
chartData: i,
|
|
15026
15059
|
currentFrames: o,
|
|
15027
15060
|
targetFeatures: be,
|
|
@@ -15033,7 +15066,7 @@ var Zm = ({ params: e }) => {
|
|
|
15033
15066
|
be,
|
|
15034
15067
|
d?.features,
|
|
15035
15068
|
h
|
|
15036
|
-
]), z = H(() =>
|
|
15069
|
+
]), z = H(() => Jm(I, h), [I, h]), we = R?.jointColorMap ?? z, Te = U(!1);
|
|
15037
15070
|
V(() => {
|
|
15038
15071
|
Te.current = !1;
|
|
15039
15072
|
}, [L]), V(() => {
|
|
@@ -15041,8 +15074,8 @@ var Zm = ({ params: e }) => {
|
|
|
15041
15074
|
}, [L, le.size]);
|
|
15042
15075
|
let Ee = B((e, t) => {
|
|
15043
15076
|
let n = P.current;
|
|
15044
|
-
return !n || n.size === 0 || n.has(e) ? t :
|
|
15045
|
-
}, []), De = H(() => R ?
|
|
15077
|
+
return !n || n.size === 0 || n.has(e) ? t : nh(t, .22);
|
|
15078
|
+
}, []), De = H(() => R ? Zm(R, {
|
|
15046
15079
|
selectedSeriesIds: le,
|
|
15047
15080
|
showAction: pe,
|
|
15048
15081
|
showState: ge,
|
|
@@ -15085,7 +15118,7 @@ var Zm = ({ params: e }) => {
|
|
|
15085
15118
|
}, 300));
|
|
15086
15119
|
};
|
|
15087
15120
|
e?.addEventListener("mouseenter", r), e?.addEventListener("mouseleave", i);
|
|
15088
|
-
let a =
|
|
15121
|
+
let a = Nm(), o = (e, t) => km(a, e, t), { axisStroke: c, gridStroke: l, tickStroke: u } = Am(a);
|
|
15089
15122
|
ie.current = o("--destructive", "#ef4444"), v.current && re.current !== h && (v.current.destroy(), v.current = null, re.current = h);
|
|
15090
15123
|
let d = t("units.second.short"), f = t("units.frame"), p = t("chart.tooltip.time"), m = (e, t, n) => {
|
|
15091
15124
|
let r = ne.current;
|
|
@@ -15284,12 +15317,12 @@ var Zm = ({ params: e }) => {
|
|
|
15284
15317
|
let e = de;
|
|
15285
15318
|
if (de = 0, e === 0) return;
|
|
15286
15319
|
let t = v.current;
|
|
15287
|
-
t &&
|
|
15320
|
+
t && ah(t, e, fe);
|
|
15288
15321
|
}, me = (e) => {
|
|
15289
|
-
e.ctrlKey || e.metaKey || e.shiftKey || e.altKey || v.current && (de +=
|
|
15322
|
+
e.ctrlKey || e.metaKey || e.shiftKey || e.altKey || v.current && (de += ih(e), fe = e.offsetY, e.preventDefault(), ue ??= window.requestAnimationFrame(pe));
|
|
15290
15323
|
}, he = () => {
|
|
15291
15324
|
let e = v.current;
|
|
15292
|
-
e && e.setScale("y",
|
|
15325
|
+
e && e.setScale("y", rh);
|
|
15293
15326
|
}, ge = {
|
|
15294
15327
|
width: _.current.offsetWidth || 800,
|
|
15295
15328
|
height: _.current.offsetHeight || 400,
|
|
@@ -15356,7 +15389,7 @@ var Zm = ({ params: e }) => {
|
|
|
15356
15389
|
return;
|
|
15357
15390
|
}
|
|
15358
15391
|
if (A.current) return;
|
|
15359
|
-
let i = oe.current, a = i.length > 0 ?
|
|
15392
|
+
let i = oe.current, a = i.length > 0 ? Gm(i, r) : n, o = e.over, s = o.offsetLeft || 0, c = o.offsetTop || 0, l = e.cursor.left ?? 0, u = e.cursor.top ?? 0, d = s + l, f = c + u, p = _.current?.clientWidth ?? o.clientWidth, m = _.current?.clientHeight ?? o.clientHeight;
|
|
15360
15393
|
C.current = {
|
|
15361
15394
|
u: e,
|
|
15362
15395
|
idx: n,
|
|
@@ -15378,20 +15411,20 @@ var Zm = ({ params: e }) => {
|
|
|
15378
15411
|
let s = te.current;
|
|
15379
15412
|
if (!s) return;
|
|
15380
15413
|
let c = e.valToPos(s.xVal, "x", !0), l = e.valToPos(s.yVal, "y", !0);
|
|
15381
|
-
!Number.isFinite(c) || !Number.isFinite(l) || c < n.left || c > n.left + n.width || l < n.top || l > n.top + n.height || (t.save(), t.setLineDash([]), t.beginPath(), t.arc(c, l, 8, 0, Math.PI * 2), t.fillStyle =
|
|
15414
|
+
!Number.isFinite(c) || !Number.isFinite(l) || c < n.left || c > n.left + n.width || l < n.top || l > n.top + n.height || (t.save(), t.setLineDash([]), t.beginPath(), t.arc(c, l, 8, 0, Math.PI * 2), t.fillStyle = nh(s.color, .2), t.fill(), t.beginPath(), t.arc(c, l, 4.2, 0, Math.PI * 2), t.fillStyle = s.color, t.fill(), t.lineWidth = 1.5, t.strokeStyle = "#ffffff", t.stroke(), t.restore());
|
|
15382
15415
|
}]
|
|
15383
15416
|
},
|
|
15384
15417
|
plugins: [{ hooks: {
|
|
15385
15418
|
init: (e) => {
|
|
15386
15419
|
e.over.addEventListener("wheel", me, { passive: !1 }), e.over.addEventListener("dblclick", he), e.over.addEventListener("mousedown", (t) => {
|
|
15387
15420
|
if (t.button === 0) {
|
|
15388
|
-
let t = e.posToVal(e.cursor.left, "x"), n = oe.current, r = n.length > 0 ?
|
|
15421
|
+
let t = e.posToVal(e.cursor.left, "x"), n = oe.current, r = n.length > 0 ? Gm(n, t) : 0;
|
|
15389
15422
|
s(r);
|
|
15390
|
-
let i = e.over, a = i.offsetLeft || 0, o = i.offsetTop || 0, c = e.cursor.left ?? 0, l = e.cursor.top ?? 0, u = a + c, d = o + l, f = e.data[0], p = f.length > 0 ?
|
|
15423
|
+
let i = e.over, a = i.offsetLeft || 0, o = i.offsetTop || 0, c = e.cursor.left ?? 0, l = e.cursor.top ?? 0, u = a + c, d = o + l, f = e.data[0], p = f.length > 0 ? Gm(Array.from(f), t) : 0, m = Number(f[p] ?? t), h = {
|
|
15391
15424
|
u: e,
|
|
15392
15425
|
idx: p,
|
|
15393
15426
|
xVal: m,
|
|
15394
|
-
frameIdx: n.length > 0 ?
|
|
15427
|
+
frameIdx: n.length > 0 ? Gm(n, m) : p,
|
|
15395
15428
|
cursorX: u,
|
|
15396
15429
|
cursorY: d,
|
|
15397
15430
|
containerW: _.current?.clientWidth ?? i.clientWidth,
|
|
@@ -15510,7 +15543,7 @@ var Zm = ({ params: e }) => {
|
|
|
15510
15543
|
className: "flex items-center justify-between px-3 py-1.5 border-b bg-muted/20",
|
|
15511
15544
|
children: [/* @__PURE__ */ G("div", {
|
|
15512
15545
|
className: "flex items-center gap-2 overflow-hidden mr-2",
|
|
15513
|
-
children: [/* @__PURE__ */ W(
|
|
15546
|
+
children: [/* @__PURE__ */ W(zm, { ...Be }), /* @__PURE__ */ G(c, {
|
|
15514
15547
|
type: "button",
|
|
15515
15548
|
variant: "ghost",
|
|
15516
15549
|
size: "sm",
|
|
@@ -15617,10 +15650,10 @@ var Zm = ({ params: e }) => {
|
|
|
15617
15650
|
})]
|
|
15618
15651
|
}), !De && /* @__PURE__ */ W("div", {
|
|
15619
15652
|
className: "absolute inset-0",
|
|
15620
|
-
children: p && !f ? /* @__PURE__ */ W(
|
|
15653
|
+
children: p && !f ? /* @__PURE__ */ W(Fm, { message: p }) : m === null && !f ? /* @__PURE__ */ W(Fm, { message: t("playback.noData") }) : /* @__PURE__ */ W(Pm, { message: t("common.loading") })
|
|
15621
15654
|
})]
|
|
15622
15655
|
}),
|
|
15623
|
-
R ? /* @__PURE__ */ W(
|
|
15656
|
+
R ? /* @__PURE__ */ W(th, {
|
|
15624
15657
|
open: ve,
|
|
15625
15658
|
onOpenChange: (e) => {
|
|
15626
15659
|
ye(e), e && l(!1);
|
|
@@ -15636,7 +15669,7 @@ var Zm = ({ params: e }) => {
|
|
|
15636
15669
|
}) : null
|
|
15637
15670
|
]
|
|
15638
15671
|
});
|
|
15639
|
-
},
|
|
15672
|
+
}, sh = Ee(function({ checked: e, indeterminate: t }) {
|
|
15640
15673
|
let n = U(null);
|
|
15641
15674
|
return V(() => {
|
|
15642
15675
|
n.current && (n.current.checked = e, n.current.indeterminate = t);
|
|
@@ -15647,7 +15680,7 @@ var Zm = ({ params: e }) => {
|
|
|
15647
15680
|
readOnly: !0,
|
|
15648
15681
|
className: "pointer-events-none h-3.5 w-3.5 shrink-0 rounded border-border accent-primary"
|
|
15649
15682
|
});
|
|
15650
|
-
}),
|
|
15683
|
+
}), ch = Ee(function({ groups: e, selectedIds: n, searchValue: r, onSearchChange: i, onSetItemsChecked: a, onToggleItem: o, onSelectAll: s, onClearAll: l, searchPlaceholder: u, emptyLabel: d, selectAllLabel: f, onHoverChange: m, getItemColor: h, getGroupColor: g, className: _ }) {
|
|
15651
15684
|
let v = H(() => e.flatMap((e) => e.items.map((e) => e.id)), [e]), y = H(() => Qn(e, r), [e, r]), b = H(() => v.reduce((e, t) => n.has(t) ? e + 1 : e, 0), [v, n]), S = v.length > 0 && b === v.length, C = !S && b !== 0;
|
|
15652
15685
|
return /* @__PURE__ */ G("div", {
|
|
15653
15686
|
className: x("w-full", _),
|
|
@@ -15664,7 +15697,7 @@ var Zm = ({ params: e }) => {
|
|
|
15664
15697
|
},
|
|
15665
15698
|
title: f,
|
|
15666
15699
|
"aria-label": f,
|
|
15667
|
-
children: /* @__PURE__ */ W(
|
|
15700
|
+
children: /* @__PURE__ */ W(sh, {
|
|
15668
15701
|
checked: S,
|
|
15669
15702
|
indeterminate: C
|
|
15670
15703
|
})
|
|
@@ -15714,7 +15747,7 @@ var Zm = ({ params: e }) => {
|
|
|
15714
15747
|
itemIds: t
|
|
15715
15748
|
}),
|
|
15716
15749
|
children: [
|
|
15717
|
-
/* @__PURE__ */ W(
|
|
15750
|
+
/* @__PURE__ */ W(sh, {
|
|
15718
15751
|
checked: r === "all",
|
|
15719
15752
|
indeterminate: r === "partial"
|
|
15720
15753
|
}),
|
|
@@ -15740,7 +15773,7 @@ var Zm = ({ params: e }) => {
|
|
|
15740
15773
|
itemIds: [e.id]
|
|
15741
15774
|
}),
|
|
15742
15775
|
children: [
|
|
15743
|
-
/* @__PURE__ */ W(
|
|
15776
|
+
/* @__PURE__ */ W(sh, {
|
|
15744
15777
|
checked: n.has(e.id),
|
|
15745
15778
|
indeterminate: !1
|
|
15746
15779
|
}),
|
|
@@ -15758,39 +15791,39 @@ var Zm = ({ params: e }) => {
|
|
|
15758
15791
|
})
|
|
15759
15792
|
})]
|
|
15760
15793
|
});
|
|
15761
|
-
}),
|
|
15762
|
-
function
|
|
15794
|
+
}), lh = 200, uh = 50, dh = 20;
|
|
15795
|
+
function fh(e) {
|
|
15763
15796
|
return typeof e == "object" && !!e && e.__rawMedia === !0 && (e.kind === "image" || e.kind === "video");
|
|
15764
15797
|
}
|
|
15765
|
-
function
|
|
15798
|
+
function ph(e) {
|
|
15766
15799
|
return `${e.featureKey}_episode-${e.episodeIndex}_frame-${e.frameIndex}`;
|
|
15767
15800
|
}
|
|
15768
|
-
function
|
|
15801
|
+
function mh(e) {
|
|
15769
15802
|
if (e == null || e === "") return null;
|
|
15770
15803
|
let t = Number(e);
|
|
15771
15804
|
return Number.isFinite(t) ? t : null;
|
|
15772
15805
|
}
|
|
15773
|
-
function
|
|
15806
|
+
function hh(e, t) {
|
|
15774
15807
|
if (!e) return null;
|
|
15775
15808
|
let n = e.match(t);
|
|
15776
|
-
return n ?
|
|
15809
|
+
return n ? mh(n[1]) : null;
|
|
15777
15810
|
}
|
|
15778
|
-
function
|
|
15779
|
-
let t =
|
|
15811
|
+
function gh(e) {
|
|
15812
|
+
let t = mh(e?.chunks_size);
|
|
15780
15813
|
return t && t > 0 ? t : 1e3;
|
|
15781
15814
|
}
|
|
15782
|
-
function
|
|
15783
|
-
let { kind: t, featureKey: n, info: r, episode: i, episodeIndex: a, frameIndex: o, path: s } = e, c = i ?? {}, l = `videos/${n}`, u =
|
|
15815
|
+
function _h(e) {
|
|
15816
|
+
let { kind: t, featureKey: n, info: r, episode: i, episodeIndex: a, frameIndex: o, path: s } = e, c = i ?? {}, l = `videos/${n}`, u = hh(s, /chunk-(\d+)/), d = hh(s, /file-(\d+)/), f = Math.floor(a / gh(r));
|
|
15784
15817
|
return {
|
|
15785
15818
|
type: t,
|
|
15786
15819
|
path: s,
|
|
15787
|
-
chunk_index: t === "video" ?
|
|
15788
|
-
file_index: t === "video" ?
|
|
15820
|
+
chunk_index: t === "video" ? mh(c[`${l}/chunk_index`]) ?? mh(c["data/chunk_index"]) ?? mh(c.chunk_index) ?? u ?? f : mh(c["data/chunk_index"]) ?? mh(c.chunk_index) ?? u ?? f,
|
|
15821
|
+
file_index: t === "video" ? mh(c[`${l}/file_index`]) ?? mh(c["data/file_index"]) ?? mh(c.file_index) ?? d : mh(c["data/file_index"]) ?? mh(c.file_index) ?? d,
|
|
15789
15822
|
episode_index: a,
|
|
15790
15823
|
frame_index: o
|
|
15791
15824
|
};
|
|
15792
15825
|
}
|
|
15793
|
-
var
|
|
15826
|
+
var vh = Ee((e) => {
|
|
15794
15827
|
let { data: t, labelNode: r, depth: i, isLast: a, translations: o, mediaActions: s } = e, [c, l] = ke("idle"), u = H(() => ({ marginLeft: `${i * 14}px` }), [i]), d = B((e) => {
|
|
15795
15828
|
e.stopPropagation(), !(!s || c === "copying") && (l("copying"), s.copyImage(t).then((e) => {
|
|
15796
15829
|
l(e === "clipboard" ? "copied" : "downloaded"), window.setTimeout(() => l("idle"), 2e3);
|
|
@@ -15826,9 +15859,9 @@ var lh = Ee((e) => {
|
|
|
15826
15859
|
})
|
|
15827
15860
|
});
|
|
15828
15861
|
});
|
|
15829
|
-
|
|
15830
|
-
var
|
|
15831
|
-
let [c, l] = ke(n < 2), [u, d] = ke(
|
|
15862
|
+
vh.displayName = "RawMediaTreeNode";
|
|
15863
|
+
var yh = Ee(({ data: e, label: t, depth: n = 0, isLast: r = !0, annotations: i, path: a = "", translations: o, mediaActions: s }) => {
|
|
15864
|
+
let [c, l] = ke(n < 2), [u, d] = ke(dh), p = B((n) => {
|
|
15832
15865
|
if (n.stopPropagation(), !(e instanceof Uint8Array)) return;
|
|
15833
15866
|
let r = new Blob([e], { type: "application/octet-stream" }), i = URL.createObjectURL(r), a = document.createElement("a");
|
|
15834
15867
|
a.href = i, a.download = t ? `${t}.bin` : "data.bin", document.body.appendChild(a), a.click(), document.body.removeChild(a), URL.revokeObjectURL(i);
|
|
@@ -15880,7 +15913,7 @@ var uh = Ee(({ data: e, label: t, depth: n = 0, isLast: r = !0, annotations: i,
|
|
|
15880
15913
|
!r && ","
|
|
15881
15914
|
]
|
|
15882
15915
|
});
|
|
15883
|
-
if (
|
|
15916
|
+
if (fh(e)) return /* @__PURE__ */ W(vh, {
|
|
15884
15917
|
data: e,
|
|
15885
15918
|
labelNode: h,
|
|
15886
15919
|
depth: n,
|
|
@@ -15899,7 +15932,7 @@ var uh = Ee(({ data: e, label: t, depth: n = 0, isLast: r = !0, annotations: i,
|
|
|
15899
15932
|
!r && ","
|
|
15900
15933
|
]
|
|
15901
15934
|
});
|
|
15902
|
-
let v = f && e.length >
|
|
15935
|
+
let v = f && e.length > uh, y = f ? v ? e.slice(0, u) : e : Object.entries(e), b = f ? e.length - u : 0;
|
|
15903
15936
|
return /* @__PURE__ */ G("div", {
|
|
15904
15937
|
style: m,
|
|
15905
15938
|
className: "font-mono text-xs leading-5",
|
|
@@ -15925,7 +15958,7 @@ var uh = Ee(({ data: e, label: t, depth: n = 0, isLast: r = !0, annotations: i,
|
|
|
15925
15958
|
let r = i?.[_]?.[t], a = t;
|
|
15926
15959
|
return /* @__PURE__ */ G("div", {
|
|
15927
15960
|
className: "flex group",
|
|
15928
|
-
children: [/* @__PURE__ */ W(
|
|
15961
|
+
children: [/* @__PURE__ */ W(yh, {
|
|
15929
15962
|
data: e,
|
|
15930
15963
|
depth: n + 1,
|
|
15931
15964
|
isLast: t === y.length - 1 && b <= 0,
|
|
@@ -15943,21 +15976,21 @@ var uh = Ee(({ data: e, label: t, depth: n = 0, isLast: r = !0, annotations: i,
|
|
|
15943
15976
|
style: { marginLeft: `${(n + 1) * 14}px` },
|
|
15944
15977
|
className: "text-xs text-primary cursor-pointer hover:underline py-1",
|
|
15945
15978
|
onClick: (t) => {
|
|
15946
|
-
t.stopPropagation(), d((t) => Math.min(t +
|
|
15979
|
+
t.stopPropagation(), d((t) => Math.min(t + dh, e.length));
|
|
15947
15980
|
},
|
|
15948
15981
|
children: o.showMore(b)
|
|
15949
15982
|
}),
|
|
15950
|
-
v && u >
|
|
15983
|
+
v && u > dh && /* @__PURE__ */ W("div", {
|
|
15951
15984
|
style: { marginLeft: `${(n + 1) * 14}px` },
|
|
15952
15985
|
className: "text-xs text-muted-foreground cursor-pointer hover:underline py-1",
|
|
15953
15986
|
onClick: (e) => {
|
|
15954
|
-
e.stopPropagation(), d(
|
|
15987
|
+
e.stopPropagation(), d(dh);
|
|
15955
15988
|
},
|
|
15956
15989
|
children: o.showLess
|
|
15957
15990
|
})
|
|
15958
15991
|
] }) : y.map(([e, t], r, a) => {
|
|
15959
|
-
let c =
|
|
15960
|
-
return /* @__PURE__ */ W(
|
|
15992
|
+
let c = fh(t) ? `${e}:${t.kind}:${t.episodeIndex}` : e;
|
|
15993
|
+
return /* @__PURE__ */ W(yh, {
|
|
15961
15994
|
label: e,
|
|
15962
15995
|
data: t,
|
|
15963
15996
|
depth: n + 1,
|
|
@@ -15994,8 +16027,8 @@ var uh = Ee(({ data: e, label: t, depth: n = 0, isLast: r = !0, annotations: i,
|
|
|
15994
16027
|
]
|
|
15995
16028
|
});
|
|
15996
16029
|
}, (e, t) => e.data === t.data && e.label === t.label && e.depth === t.depth && e.isLast === t.isLast && e.path === t.path && e.annotations === t.annotations && e.translations === t.translations && e.mediaActions === t.mediaActions);
|
|
15997
|
-
|
|
15998
|
-
var
|
|
16030
|
+
yh.displayName = "JsonTreeView";
|
|
16031
|
+
var bh = Ee((e) => {
|
|
15999
16032
|
let { isPaused: t, copied: r, hasData: a, selectedFeatures: s, allFeaturesCount: l, featureGroups: u, featureSearch: d, onFeatureSearchChange: f, onToggleFeature: p, onSetFeaturesChecked: m, onSelectAll: h, onClearAll: _, onTogglePause: y, onManualRefresh: S, onCopy: C, allFeaturesLabel: w, featuresCountLabel: T, selectAllLabel: E, searchFeaturePlaceholder: D, noSearchResultLabel: O, pauseLabel: k, resumeLabel: ee, refreshLabel: A, copyLabel: j, copiedLabel: M } = e, N = s.size === 1 ? Array.from(s)[0] : null, P = s.size === l ? w : s.size === 1 ? N : T;
|
|
16000
16033
|
return /* @__PURE__ */ G("div", {
|
|
16001
16034
|
className: "flex items-center justify-between px-3 py-1.5 border-b bg-muted/20",
|
|
@@ -16018,7 +16051,7 @@ var dh = Ee((e) => {
|
|
|
16018
16051
|
}), /* @__PURE__ */ W(Mn, {
|
|
16019
16052
|
align: "start",
|
|
16020
16053
|
className: "w-80 max-h-[70vh] overflow-hidden",
|
|
16021
|
-
children: /* @__PURE__ */ W(
|
|
16054
|
+
children: /* @__PURE__ */ W(ch, {
|
|
16022
16055
|
groups: u,
|
|
16023
16056
|
selectedIds: s,
|
|
16024
16057
|
searchValue: d,
|
|
@@ -16070,27 +16103,27 @@ var dh = Ee((e) => {
|
|
|
16070
16103
|
})]
|
|
16071
16104
|
});
|
|
16072
16105
|
});
|
|
16073
|
-
|
|
16074
|
-
var
|
|
16106
|
+
bh.displayName = "RawPanelHeader";
|
|
16107
|
+
var xh = Ee((e) => {
|
|
16075
16108
|
let { combinedData: t, featureAnnotations: n, translations: r, mediaActions: i, selectedCount: a, loadingLabel: o, noFeatureLabel: s, noEpisodeLabel: c, hasSelectedEpisode: l, isStale: u } = e;
|
|
16076
|
-
return l ? !t && a > 0 ? /* @__PURE__ */ W(
|
|
16109
|
+
return l ? !t && a > 0 ? /* @__PURE__ */ W(Pm, { message: o }) : /* @__PURE__ */ W(h, {
|
|
16077
16110
|
className: x("flex-1 transition-opacity duration-150", u ? "opacity-85" : "opacity-100"),
|
|
16078
16111
|
children: /* @__PURE__ */ W("div", {
|
|
16079
16112
|
className: "p-3 min-w-fit max-w-full",
|
|
16080
|
-
children: t ? /* @__PURE__ */ W(
|
|
16113
|
+
children: t ? /* @__PURE__ */ W(yh, {
|
|
16081
16114
|
data: t,
|
|
16082
16115
|
annotations: n,
|
|
16083
16116
|
translations: r,
|
|
16084
16117
|
mediaActions: i
|
|
16085
|
-
}) : a === 0 ? /* @__PURE__ */ W(
|
|
16118
|
+
}) : a === 0 ? /* @__PURE__ */ W(Fm, {
|
|
16086
16119
|
message: s,
|
|
16087
16120
|
className: "py-20"
|
|
16088
16121
|
}) : null
|
|
16089
16122
|
})
|
|
16090
|
-
}) : /* @__PURE__ */ W(
|
|
16123
|
+
}) : /* @__PURE__ */ W(Fm, { message: c });
|
|
16091
16124
|
});
|
|
16092
|
-
|
|
16093
|
-
var
|
|
16125
|
+
xh.displayName = "RawPanelTreeBody";
|
|
16126
|
+
var Sh = ({ params: e }) => {
|
|
16094
16127
|
let { t } = a(), { info: n, featureData: r, subscribeFeature: i, unsubscribeFeature: o, subscribeFrameIndex: s, getFrameIndex: c, dataLoader: l, imageService: u, episodes: d } = ee(), { selectedEpisodeIndex: f } = me(), [p, m] = ke(null), [h, g] = ke(!1), [_, v] = ke(""), [y, b] = ke(!1), x = U(0), S = U(0), C = U({
|
|
16095
16128
|
value: c(),
|
|
16096
16129
|
listeners: /* @__PURE__ */ new Set()
|
|
@@ -16119,7 +16152,7 @@ var ph = ({ params: e }) => {
|
|
|
16119
16152
|
V(() => s((e) => {
|
|
16120
16153
|
if (S.current = e, y) return;
|
|
16121
16154
|
let t = Date.now();
|
|
16122
|
-
t - x.current >=
|
|
16155
|
+
t - x.current >= lh && (x.current = t, De(() => {
|
|
16123
16156
|
w(e);
|
|
16124
16157
|
}));
|
|
16125
16158
|
}), [
|
|
@@ -16177,7 +16210,7 @@ var ph = ({ params: e }) => {
|
|
|
16177
16210
|
f
|
|
16178
16211
|
]), ne = Oe(te), re = ne !== te, F = H(() => f === null ? null : d.find((e) => e.episode_index === f) ?? d[f] ?? null, [d, f]), ie = H(() => {
|
|
16179
16212
|
if (l) return { copyImage: async (e) => {
|
|
16180
|
-
let t =
|
|
16213
|
+
let t = ph(e);
|
|
16181
16214
|
if (e.kind === "image") {
|
|
16182
16215
|
let n = l.getEpisodeDataPath(e.episodeIndex);
|
|
16183
16216
|
if (!n) throw Error(`Episode ${e.episodeIndex} data path not found`);
|
|
@@ -16191,7 +16224,7 @@ var ph = ({ params: e }) => {
|
|
|
16191
16224
|
let a = ge(n, i);
|
|
16192
16225
|
if (f !== null && (a === "image" || a === "video")) {
|
|
16193
16226
|
let r = a === "video" ? l?.getEpisodeVideoPath(f, i)?.path ?? null : l?.getEpisodeDataPath(f)?.path ?? null;
|
|
16194
|
-
e[i] =
|
|
16227
|
+
e[i] = _h({
|
|
16195
16228
|
kind: a,
|
|
16196
16229
|
featureKey: i,
|
|
16197
16230
|
info: n,
|
|
@@ -16222,7 +16255,7 @@ var ph = ({ params: e }) => {
|
|
|
16222
16255
|
}, [M]), de = B((e) => v(e), []);
|
|
16223
16256
|
return /* @__PURE__ */ G("div", {
|
|
16224
16257
|
className: "flex flex-col h-full bg-background text-foreground overflow-hidden",
|
|
16225
|
-
children: [/* @__PURE__ */ W(
|
|
16258
|
+
children: [/* @__PURE__ */ W(bh, {
|
|
16226
16259
|
isPaused: y,
|
|
16227
16260
|
copied: h,
|
|
16228
16261
|
hasData: !!te,
|
|
@@ -16248,7 +16281,7 @@ var ph = ({ params: e }) => {
|
|
|
16248
16281
|
refreshLabel: t("panels.raw.refresh"),
|
|
16249
16282
|
copyLabel: t("common.copy"),
|
|
16250
16283
|
copiedLabel: t("common.copied")
|
|
16251
|
-
}), /* @__PURE__ */ W(
|
|
16284
|
+
}), /* @__PURE__ */ W(xh, {
|
|
16252
16285
|
combinedData: ne,
|
|
16253
16286
|
featureAnnotations: P,
|
|
16254
16287
|
translations: O,
|
|
@@ -16264,7 +16297,7 @@ var ph = ({ params: e }) => {
|
|
|
16264
16297
|
};
|
|
16265
16298
|
//#endregion
|
|
16266
16299
|
//#region src/react/components/panels/Common/PanelErrorBoundary.tsx
|
|
16267
|
-
function
|
|
16300
|
+
function Ch({ error: e, panelName: t, onRetry: n }) {
|
|
16268
16301
|
let { t: r } = a();
|
|
16269
16302
|
return /* @__PURE__ */ G("div", {
|
|
16270
16303
|
className: "flex flex-col items-center justify-center h-full w-full bg-background text-foreground p-4 text-center",
|
|
@@ -16305,7 +16338,7 @@ function mh({ error: e, panelName: t, onRetry: n }) {
|
|
|
16305
16338
|
]
|
|
16306
16339
|
});
|
|
16307
16340
|
}
|
|
16308
|
-
var
|
|
16341
|
+
var wh = class extends we {
|
|
16309
16342
|
state = {
|
|
16310
16343
|
hasError: !1,
|
|
16311
16344
|
error: null,
|
|
@@ -16334,23 +16367,23 @@ var hh = class extends we {
|
|
|
16334
16367
|
panelName: this.props.panelName,
|
|
16335
16368
|
onRetry: this.handleRetry
|
|
16336
16369
|
};
|
|
16337
|
-
return this.props.renderFallback ? this.props.renderFallback(e) : /* @__PURE__ */ W(
|
|
16370
|
+
return this.props.renderFallback ? this.props.renderFallback(e) : /* @__PURE__ */ W(Ch, { ...e });
|
|
16338
16371
|
}
|
|
16339
16372
|
return /* @__PURE__ */ W(z.Fragment, { children: this.props.children }, this.state.retryKey);
|
|
16340
16373
|
}
|
|
16341
|
-
},
|
|
16342
|
-
function
|
|
16374
|
+
}, Th = 3;
|
|
16375
|
+
function Eh(e) {
|
|
16343
16376
|
return e instanceof Error && e.message.includes("already exists");
|
|
16344
16377
|
}
|
|
16345
|
-
function
|
|
16378
|
+
function Dh(e, t, n) {
|
|
16346
16379
|
let r = `${t}-${n}`, i = 1;
|
|
16347
16380
|
for (; e.getPanel(`${r}-${i}`);) i += 1;
|
|
16348
16381
|
return `${r}-${i}`;
|
|
16349
16382
|
}
|
|
16350
|
-
function
|
|
16383
|
+
function Oh(e, t) {
|
|
16351
16384
|
let { autoId: n, ...r } = t;
|
|
16352
|
-
for (let t = 0; t <
|
|
16353
|
-
let i = r.id ?? (n ?
|
|
16385
|
+
for (let t = 0; t < Th; t++) {
|
|
16386
|
+
let i = r.id ?? (n ? Dh(e, n.type, n.featureKey) : void 0);
|
|
16354
16387
|
if (!i) {
|
|
16355
16388
|
console.warn("[dockview] safeAddPanel: missing panel id");
|
|
16356
16389
|
return;
|
|
@@ -16361,7 +16394,7 @@ function yh(e, t) {
|
|
|
16361
16394
|
id: i
|
|
16362
16395
|
});
|
|
16363
16396
|
} catch (e) {
|
|
16364
|
-
if (!
|
|
16397
|
+
if (!Eh(e)) throw e;
|
|
16365
16398
|
if (!n || t === 2) {
|
|
16366
16399
|
console.warn("[dockview] safeAddPanel: panel id conflict", i, e);
|
|
16367
16400
|
return;
|
|
@@ -16371,7 +16404,7 @@ function yh(e, t) {
|
|
|
16371
16404
|
}
|
|
16372
16405
|
//#endregion
|
|
16373
16406
|
//#region src/react/components/PanelTitle.tsx
|
|
16374
|
-
var
|
|
16407
|
+
var kh = (e) => {
|
|
16375
16408
|
let { api: n, containerApi: r } = e, { t: o } = a(), { info: s } = ee(), l = n.id, u = r.getPanel(l), d = z.useMemo(() => s?.features ? Object.keys(s.features).sort() : [], [s]), f = (e) => {
|
|
16376
16409
|
let t = s?.features[e];
|
|
16377
16410
|
return t ? t.dtype === "video" ? "video" : t.dtype === "image" ? "image" : t.dtype.includes("float") || t.dtype.includes("int") ? "chart" : "raw" : "raw";
|
|
@@ -16385,7 +16418,7 @@ var bh = (e) => {
|
|
|
16385
16418
|
}, m = (e, t) => {
|
|
16386
16419
|
if (!u) return;
|
|
16387
16420
|
let n = f(t), i = t.split(".").pop() || t;
|
|
16388
|
-
|
|
16421
|
+
Oh(r, {
|
|
16389
16422
|
component: n,
|
|
16390
16423
|
title: i,
|
|
16391
16424
|
params: { featureKey: t },
|
|
@@ -16507,24 +16540,24 @@ var bh = (e) => {
|
|
|
16507
16540
|
children: g
|
|
16508
16541
|
})
|
|
16509
16542
|
});
|
|
16510
|
-
},
|
|
16511
|
-
video: (e) => /* @__PURE__ */ W(
|
|
16543
|
+
}, Ah = Te(null), jh = {
|
|
16544
|
+
video: (e) => /* @__PURE__ */ W(wh, {
|
|
16512
16545
|
panelName: "Video",
|
|
16513
16546
|
children: /* @__PURE__ */ W(fl, { params: e.params })
|
|
16514
16547
|
}),
|
|
16515
|
-
image: (e) => /* @__PURE__ */ W(
|
|
16548
|
+
image: (e) => /* @__PURE__ */ W(wh, {
|
|
16516
16549
|
panelName: "Image",
|
|
16517
16550
|
children: /* @__PURE__ */ W(ul, { params: e.params })
|
|
16518
16551
|
}),
|
|
16519
|
-
chart: (e) => /* @__PURE__ */ W(
|
|
16552
|
+
chart: (e) => /* @__PURE__ */ W(wh, {
|
|
16520
16553
|
panelName: "Chart",
|
|
16521
|
-
children: /* @__PURE__ */ W(
|
|
16554
|
+
children: /* @__PURE__ */ W(oh, { params: e.params })
|
|
16522
16555
|
}),
|
|
16523
|
-
raw: (e) => /* @__PURE__ */ W(
|
|
16556
|
+
raw: (e) => /* @__PURE__ */ W(wh, {
|
|
16524
16557
|
panelName: "Raw",
|
|
16525
|
-
children: /* @__PURE__ */ W(
|
|
16558
|
+
children: /* @__PURE__ */ W(Sh, { params: e.params })
|
|
16526
16559
|
})
|
|
16527
|
-
},
|
|
16560
|
+
}, Mh = { default: kh }, Nh = () => {
|
|
16528
16561
|
let e = U(null), [t, n] = ke(null), { t: i } = a(), { resolvedTheme: o } = r(), { info: s } = ee(), c = U(null), [l, u] = ke(4);
|
|
16529
16562
|
V(() => {
|
|
16530
16563
|
let e = c.current;
|
|
@@ -16615,13 +16648,13 @@ var bh = (e) => {
|
|
|
16615
16648
|
}];
|
|
16616
16649
|
})), { row1: r, row2: a } = D(Array.from(n.keys()), 6, l), o = r.map((e) => n.get(e)).filter((e) => !!e), c = a.map((e) => n.get(e)).filter((e) => !!e), u = [...o, ...c];
|
|
16617
16650
|
if (u.length === 0) {
|
|
16618
|
-
|
|
16651
|
+
Oh(t, {
|
|
16619
16652
|
id: "chart-panel",
|
|
16620
16653
|
component: "chart",
|
|
16621
16654
|
title: i("common.chart"),
|
|
16622
16655
|
params: {},
|
|
16623
16656
|
tabComponent: "default"
|
|
16624
|
-
}),
|
|
16657
|
+
}), Oh(t, {
|
|
16625
16658
|
id: "raw-panel",
|
|
16626
16659
|
component: "raw",
|
|
16627
16660
|
title: i("panels.raw.title"),
|
|
@@ -16635,7 +16668,7 @@ var bh = (e) => {
|
|
|
16635
16668
|
return;
|
|
16636
16669
|
}
|
|
16637
16670
|
let f = o[0].id;
|
|
16638
|
-
|
|
16671
|
+
Oh(t, {
|
|
16639
16672
|
id: f,
|
|
16640
16673
|
component: u[0].component,
|
|
16641
16674
|
title: u[0].title,
|
|
@@ -16643,7 +16676,7 @@ var bh = (e) => {
|
|
|
16643
16676
|
tabComponent: "default"
|
|
16644
16677
|
});
|
|
16645
16678
|
let p = f;
|
|
16646
|
-
for (let e of o.slice(1))
|
|
16679
|
+
for (let e of o.slice(1)) Oh(t, {
|
|
16647
16680
|
id: e.id,
|
|
16648
16681
|
component: e.component,
|
|
16649
16682
|
title: e.title,
|
|
@@ -16656,7 +16689,7 @@ var bh = (e) => {
|
|
|
16656
16689
|
}), p = e.id;
|
|
16657
16690
|
if (c.length > 0) {
|
|
16658
16691
|
let e = c[0];
|
|
16659
|
-
|
|
16692
|
+
Oh(t, {
|
|
16660
16693
|
id: e.id,
|
|
16661
16694
|
component: e.component,
|
|
16662
16695
|
title: e.title,
|
|
@@ -16665,7 +16698,7 @@ var bh = (e) => {
|
|
|
16665
16698
|
position: { direction: "below" }
|
|
16666
16699
|
});
|
|
16667
16700
|
let n = e.id;
|
|
16668
|
-
for (let e of c.slice(1))
|
|
16701
|
+
for (let e of c.slice(1)) Oh(t, {
|
|
16669
16702
|
id: e.id,
|
|
16670
16703
|
component: e.component,
|
|
16671
16704
|
title: e.title,
|
|
@@ -16677,14 +16710,14 @@ var bh = (e) => {
|
|
|
16677
16710
|
}
|
|
16678
16711
|
}), n = e.id;
|
|
16679
16712
|
}
|
|
16680
|
-
|
|
16713
|
+
Oh(t, {
|
|
16681
16714
|
id: "chart-panel",
|
|
16682
16715
|
component: "chart",
|
|
16683
16716
|
title: i("common.chart"),
|
|
16684
16717
|
params: {},
|
|
16685
16718
|
tabComponent: "default",
|
|
16686
16719
|
position: { direction: "below" }
|
|
16687
|
-
}),
|
|
16720
|
+
}), Oh(t, {
|
|
16688
16721
|
id: "raw-panel",
|
|
16689
16722
|
component: "raw",
|
|
16690
16723
|
title: i("panels.raw.title"),
|
|
@@ -16699,15 +16732,15 @@ var bh = (e) => {
|
|
|
16699
16732
|
s,
|
|
16700
16733
|
i,
|
|
16701
16734
|
l
|
|
16702
|
-
]), /* @__PURE__ */ W(
|
|
16735
|
+
]), /* @__PURE__ */ W(Ah.Provider, {
|
|
16703
16736
|
value: t,
|
|
16704
16737
|
children: /* @__PURE__ */ W("div", {
|
|
16705
16738
|
ref: c,
|
|
16706
16739
|
className: "w-full h-full",
|
|
16707
16740
|
children: /* @__PURE__ */ W(Zc, {
|
|
16708
|
-
components:
|
|
16709
|
-
tabComponents:
|
|
16710
|
-
defaultTabComponent:
|
|
16741
|
+
components: jh,
|
|
16742
|
+
tabComponents: Mh,
|
|
16743
|
+
defaultTabComponent: kh,
|
|
16711
16744
|
singleTabMode: "fullwidth",
|
|
16712
16745
|
disableTabsOverflowList: !0,
|
|
16713
16746
|
onReady: (t) => {
|
|
@@ -16722,4 +16755,4 @@ var bh = (e) => {
|
|
|
16722
16755
|
});
|
|
16723
16756
|
};
|
|
16724
16757
|
//#endregion
|
|
16725
|
-
export {
|
|
16758
|
+
export { Nh as DockviewLayout };
|
|
@@ -4228,7 +4228,7 @@
|
|
|
4228
4228
|
unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
4229
4229
|
}
|
|
4230
4230
|
|
|
4231
|
-
:root {
|
|
4231
|
+
:root, .lerobot-root {
|
|
4232
4232
|
--background: oklch(100% 0 0);
|
|
4233
4233
|
--foreground: oklch(14.5% 0 0);
|
|
4234
4234
|
--card: oklch(100% 0 0);
|
|
@@ -4263,7 +4263,7 @@
|
|
|
4263
4263
|
--sidebar-ring: oklch(70.8% 0 0);
|
|
4264
4264
|
}
|
|
4265
4265
|
|
|
4266
|
-
.dark {
|
|
4266
|
+
.dark, .lerobot-root.dark {
|
|
4267
4267
|
--background: oklch(14.5% 0 0);
|
|
4268
4268
|
--foreground: oklch(98.5% 0 0);
|
|
4269
4269
|
--card: oklch(20.5% 0 0);
|
package/dist-lib/lerobot.es.js
CHANGED
|
@@ -8789,7 +8789,7 @@ var dm = () => {
|
|
|
8789
8789
|
})
|
|
8790
8790
|
]
|
|
8791
8791
|
});
|
|
8792
|
-
}, pm = H.lazy(async () => ({ default: (await import("./DockviewLayout-
|
|
8792
|
+
}, pm = H.lazy(async () => ({ default: (await import("./DockviewLayout-C8FCn77e.js")).DockviewLayout }));
|
|
8793
8793
|
function mm({ showSidebar: e = !0, showPlaybackBar: t = !0, className: n, sidebar: r, emptyState: i, sidebarHeader: a, showToaster: o = !0, onRetry: s }) {
|
|
8794
8794
|
let { t: l } = c(), { episodes: u, info: d, clearError: f, error: p } = j(), { tasks: m } = fp(), h = d !== null && u.length > 0, g = h && e && !!r, _ = m.find((e) => e.phase !== "ready" && e.phase !== "idle" && e.phase !== "error"), v = m.find((e) => e.phase === "error"), y = s ?? (() => {
|
|
8795
8795
|
f();
|