@plitzi/sdk-dev-tools 0.33.1 → 0.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +27 -0
- package/dist/DevToolsContainer.mjs +50 -45
- package/dist/DevToolsContextProvider.mjs +1 -1
- package/dist/components/DevToolsIndicator/DevToolsIndicator.mjs +1 -1
- package/dist/components/DevToolsPanel/DevToolsBody.mjs +32 -30
- package/dist/components/DevToolsPanel/DevToolsHeader.mjs +40 -34
- package/dist/components/DevToolsPanel/DevToolsPanel.mjs +13 -13
- package/dist/components/DevToolsPanel/ThemeControl.d.ts +2 -0
- package/dist/components/DevToolsPanel/ThemeControl.mjs +27 -0
- package/dist/components/DevToolsPanel/tabs/ActionsViewer/ActionsViewer.d.ts +3 -0
- package/dist/components/DevToolsPanel/tabs/ActionsViewer/ActionsViewer.mjs +147 -0
- package/dist/components/DevToolsPanel/tabs/ActionsViewer/index.d.ts +3 -0
- package/dist/components/DevToolsPanel/tabs/ActionsViewer/index.mjs +5 -0
- package/dist/components/DevToolsPanel/tabs/ElementsViewer/ElementsList.mjs +23 -16
- package/dist/components/DevToolsPanel/tabs/HistoryViewer/HistoryViewer.mjs +9 -9
- package/dist/components/DevToolsPanel/tabs/Logs/Log.mjs +30 -24
- package/dist/components/DevToolsPanel/tabs/Logs/categories/LogAction/LogAction.d.ts +11 -0
- package/dist/components/DevToolsPanel/tabs/Logs/categories/LogAction/LogAction.mjs +42 -0
- package/dist/components/DevToolsPanel/tabs/Logs/categories/LogAction/index.d.ts +3 -0
- package/dist/components/DevToolsPanel/tabs/Logs/categories/LogAction/index.mjs +5 -0
- package/dist/components/DevToolsPanel/tabs/Logs/categories/LogInteraction/BodyContent.d.ts +3 -3
- package/dist/components/DevToolsPanel/tabs/Logs/categories/LogInteraction/BodyHeader.d.ts +2 -2
- package/dist/components/DevToolsPanel/tabs/Logs/categories/LogInteraction/BodyHeader.mjs +1 -1
- package/dist/components/DevToolsPanel/tabs/Logs/categories/LogInteraction/ExecutionTree/ExecutionTree.d.ts +2 -2
- package/dist/components/DevToolsPanel/tabs/Logs/categories/LogInteraction/LogInteraction.d.ts +7 -2
- package/dist/components/DevToolsPanel/tabs/Logs/categories/LogInteraction/LogInteraction.mjs +41 -24
- package/dist/components/DevToolsPanel/tabs/Logs/categories/LogInteraction/LogInteractionBody.d.ts +5 -5
- package/dist/components/DevToolsPanel/tabs/Logs/categories/LogInteraction/LogInteractionBody.mjs +2 -2
- package/dist/components/DevToolsPanel/tabs/Logs/categories/LogInteraction/LogInteractionNote.d.ts +17 -0
- package/dist/components/DevToolsPanel/tabs/Logs/categories/LogInteraction/LogInteractionNote.mjs +72 -0
- package/dist/components/DevToolsPanel/tabs/PluginsViewer/PluginDetails.d.ts +10 -3
- package/dist/components/DevToolsPanel/tabs/PluginsViewer/PluginDetails.mjs +27 -8
- package/dist/components/DevToolsPanel/tabs/PluginsViewer/PluginsViewer.d.ts +1 -0
- package/dist/components/DevToolsPanel/tabs/PluginsViewer/PluginsViewer.mjs +37 -22
- package/dist/components/DevToolsPanel/tabs/StoreViewer/StoreViewer.mjs +27 -26
- package/dist/components/DevToolsPanel/tabs/TracingViewer/TracingViewer.mjs +34 -34
- package/dist/components/DevToolsPanel/tabs/TracingViewer/components/Flamegraph/FlameFrame.mjs +3 -2
- package/dist/components/DevToolsPanel/tabs/TracingViewer/components/Flamegraph/Flamegraph.mjs +48 -35
- package/dist/components/DevToolsPanel/tabs/TracingViewer/components/HotspotsList/HotspotsList.mjs +32 -32
- package/dist/components/DevToolsPanel/tabs/TracingViewer/components/RankedList/RankedList.mjs +40 -40
- package/dist/components/DevToolsPanel/tabs/TracingViewer/components/SidebarShell/SidebarShell.mjs +7 -7
- package/dist/components/DevToolsPanel/tabs/TracingViewer/helpers.d.ts +26 -1
- package/dist/components/DevToolsPanel/tabs/TracingViewer/helpers.mjs +106 -84
- package/dist/components/List/List.mjs +1 -1
- package/dist/useHydrated.d.ts +2 -0
- package/dist/useHydrated.mjs +5 -0
- package/dist/useRegisterRootStore.d.ts +11 -0
- package/dist/useRegisterRootStore.mjs +13 -0
- package/package.json +57 -11
|
@@ -4,43 +4,58 @@ import n from "clsx";
|
|
|
4
4
|
import { use as r, useCallback as i, useMemo as a, useState as o } from "react";
|
|
5
5
|
import { jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
6
6
|
import l from "@plitzi/sdk-plugins/PluginsContext";
|
|
7
|
+
import u from "@plitzi/sdk-shared/elements/ComponentContext";
|
|
7
8
|
//#region src/components/DevToolsPanel/tabs/PluginsViewer/PluginsViewer.tsx
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
var d = {
|
|
10
|
+
"local-custom": "Shipped with this space",
|
|
11
|
+
remote: "Installed"
|
|
12
|
+
}, f = ({ className: f }) => {
|
|
13
|
+
let { plugins: p } = r(l), { components: m } = r(u), h = a(() => {
|
|
14
|
+
let e = /* @__PURE__ */ new Map();
|
|
15
|
+
return Object.entries(m.current).forEach(([t, n]) => {
|
|
16
|
+
let { origin: r } = n;
|
|
17
|
+
(r === "local-custom" || r === "remote") && e.set(t, {
|
|
18
|
+
type: t,
|
|
19
|
+
origin: r,
|
|
20
|
+
version: n.version
|
|
21
|
+
});
|
|
22
|
+
}), Object.entries(p).forEach(([t, n]) => {
|
|
23
|
+
let r = e.get(t), { manifest: i } = n;
|
|
24
|
+
e.set(t, {
|
|
25
|
+
type: t,
|
|
26
|
+
origin: r?.origin ?? "remote",
|
|
27
|
+
version: i.version || r?.version,
|
|
28
|
+
author: i.author,
|
|
29
|
+
settings: n.settings
|
|
30
|
+
});
|
|
31
|
+
}), [...e.values()].map((e) => ({
|
|
32
|
+
...e,
|
|
33
|
+
id: e.type,
|
|
34
|
+
name: e.type,
|
|
15
35
|
label: /* @__PURE__ */ c("div", {
|
|
16
36
|
className: "flex flex-col gap-0.5",
|
|
17
37
|
children: [/* @__PURE__ */ s("span", {
|
|
18
38
|
className: "capitalize",
|
|
19
|
-
children: e
|
|
39
|
+
children: e.type
|
|
20
40
|
}), /* @__PURE__ */ s("span", {
|
|
21
41
|
className: "text-[10px] text-zinc-400 dark:text-zinc-500",
|
|
22
|
-
children:
|
|
42
|
+
children: e.version ?? d[e.origin]
|
|
23
43
|
})]
|
|
24
44
|
})
|
|
25
|
-
};
|
|
26
|
-
}
|
|
45
|
+
}));
|
|
46
|
+
}, [p, m.current]), [g, _] = o(), v = i((e) => _(e), []);
|
|
27
47
|
return /* @__PURE__ */ c("div", {
|
|
28
|
-
className: n("flex h-full w-full",
|
|
48
|
+
className: n("flex h-full w-full", f),
|
|
29
49
|
children: [/* @__PURE__ */ s(t, {
|
|
30
50
|
className: "w-[240px]",
|
|
31
|
-
items:
|
|
32
|
-
value:
|
|
33
|
-
onSelect:
|
|
34
|
-
}),
|
|
35
|
-
label: p.name,
|
|
36
|
-
version: p.manifest.version,
|
|
37
|
-
author: p.manifest.author,
|
|
38
|
-
settings: p.settings
|
|
39
|
-
}) : /* @__PURE__ */ c("div", {
|
|
51
|
+
items: h,
|
|
52
|
+
value: g,
|
|
53
|
+
onSelect: v
|
|
54
|
+
}), g ? /* @__PURE__ */ s(e, { entry: g }) : /* @__PURE__ */ c("div", {
|
|
40
55
|
className: "flex grow flex-col items-center justify-center gap-2 text-zinc-400 dark:text-zinc-600",
|
|
41
56
|
children: [/* @__PURE__ */ s("i", { className: "fa-solid fa-puzzle-piece text-2xl opacity-30" }), /* @__PURE__ */ s("span", { children: "Select a plugin" })]
|
|
42
57
|
})]
|
|
43
58
|
});
|
|
44
59
|
};
|
|
45
60
|
//#endregion
|
|
46
|
-
export {
|
|
61
|
+
export { f as default };
|
|
@@ -2,57 +2,58 @@ import e from "./helpers/mapFunctionValues.mjs";
|
|
|
2
2
|
import t from "./helpers/renderFunctionValue.mjs";
|
|
3
3
|
import { useSelectedStore as n } from "../../../../scope/useScope.mjs";
|
|
4
4
|
import r from "../../../../scope/useStoreState.mjs";
|
|
5
|
-
import i from "
|
|
6
|
-
import
|
|
7
|
-
import c from "
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import f from "
|
|
11
|
-
import
|
|
12
|
-
import
|
|
5
|
+
import i from "@plitzi/plitzi-ui/hooks/useStorage";
|
|
6
|
+
import a from "clsx";
|
|
7
|
+
import { use as o, useCallback as s, useMemo as c } from "react";
|
|
8
|
+
import l from "@plitzi/sdk-shared/theme/useTheme";
|
|
9
|
+
import u from "@plitzi/sdk-shared/devTools/DevToolsContext";
|
|
10
|
+
import { jsx as d, jsxs as f } from "react/jsx-runtime";
|
|
11
|
+
import p from "@uiw/react-json-view";
|
|
12
|
+
import * as m from "@uiw/react-json-view/vscode";
|
|
13
|
+
import { emptyObject as h } from "@plitzi/sdk-shared/helpers/utils";
|
|
13
14
|
//#region src/components/DevToolsPanel/tabs/StoreViewer/StoreViewer.tsx
|
|
14
|
-
var
|
|
15
|
-
...
|
|
15
|
+
var g = {
|
|
16
|
+
...m.vscodeTheme,
|
|
16
17
|
width: "100%",
|
|
17
18
|
height: "100%",
|
|
18
19
|
overflow: "auto",
|
|
19
20
|
padding: "8px",
|
|
20
21
|
fontSize: "14px"
|
|
21
|
-
},
|
|
22
|
-
let { getData:
|
|
23
|
-
return /* @__PURE__ */
|
|
22
|
+
}, _ = (e) => a("cursor-pointer rounded px-2 py-0.5 font-medium transition-colors", e ? "bg-violet-500/15 text-violet-600 dark:text-violet-300" : "text-zinc-500 hover:bg-zinc-200/70 hover:text-zinc-800 dark:text-zinc-400 dark:hover:bg-zinc-700/50 dark:hover:text-zinc-100"), v = ({ elementSelected: a }) => {
|
|
23
|
+
let { resolvedTheme: m } = l(), { getData: v } = o(u), y = n(), [b, x] = i("plitzi-sdk.dev-tools.store.view", "own"), S = r(a ? void 0 : y, b === "merged"), C = s(() => x("own"), [x]), w = s(() => x("merged"), [x]), T = a ? v?.(`getElementDataSource-${a}`) : S, E = c(() => e(T), [T]);
|
|
24
|
+
return /* @__PURE__ */ f("div", {
|
|
24
25
|
className: "flex h-full w-full flex-col",
|
|
25
|
-
children: [!
|
|
26
|
+
children: [!a && /* @__PURE__ */ f("div", {
|
|
26
27
|
className: "flex shrink-0 items-center gap-1 border-b border-zinc-200 px-2 py-1 text-[11px] dark:border-zinc-800",
|
|
27
28
|
children: [
|
|
28
|
-
/* @__PURE__ */
|
|
29
|
+
/* @__PURE__ */ d("span", {
|
|
29
30
|
className: "mr-1 text-zinc-400 dark:text-zinc-500",
|
|
30
31
|
children: "View"
|
|
31
32
|
}),
|
|
32
|
-
/* @__PURE__ */
|
|
33
|
-
className:
|
|
34
|
-
onClick:
|
|
33
|
+
/* @__PURE__ */ d("button", {
|
|
34
|
+
className: _(b === "own"),
|
|
35
|
+
onClick: C,
|
|
35
36
|
title: "Only this scope's own layer",
|
|
36
37
|
children: "Own"
|
|
37
38
|
}),
|
|
38
|
-
/* @__PURE__ */
|
|
39
|
-
className:
|
|
40
|
-
onClick:
|
|
39
|
+
/* @__PURE__ */ d("button", {
|
|
40
|
+
className: _(b === "merged"),
|
|
41
|
+
onClick: w,
|
|
41
42
|
title: "Own layer merged over the parent scope chain",
|
|
42
43
|
children: "Merged"
|
|
43
44
|
})
|
|
44
45
|
]
|
|
45
|
-
}), /* @__PURE__ */
|
|
46
|
-
value:
|
|
47
|
-
style:
|
|
46
|
+
}), /* @__PURE__ */ d(p, {
|
|
47
|
+
value: E ?? h,
|
|
48
|
+
style: m === "dark" ? g : void 0,
|
|
48
49
|
enableClipboard: !1,
|
|
49
50
|
indentWidth: 15,
|
|
50
51
|
collapsed: 2,
|
|
51
52
|
displayObjectSize: !1,
|
|
52
53
|
displayDataTypes: !1,
|
|
53
|
-
children: /* @__PURE__ */
|
|
54
|
+
children: /* @__PURE__ */ d(p.String, { render: t })
|
|
54
55
|
})]
|
|
55
56
|
});
|
|
56
57
|
};
|
|
57
58
|
//#endregion
|
|
58
|
-
export {
|
|
59
|
+
export { v as default };
|
|
@@ -5,23 +5,23 @@ import i from "./components/HotspotsList/HotspotsList.mjs";
|
|
|
5
5
|
import a from "./components/RankedList/RankedList.mjs";
|
|
6
6
|
import o from "./components/TracingToolbar/TracingToolbar.mjs";
|
|
7
7
|
import s from "./useHighlightElement.mjs";
|
|
8
|
-
import
|
|
9
|
-
import {
|
|
10
|
-
import h from "
|
|
8
|
+
import c from "@plitzi/plitzi-ui/hooks/useStorage";
|
|
9
|
+
import { useCallback as l, useEffect as u, useMemo as d, useRef as f, useState as p } from "react";
|
|
10
|
+
import { jsx as m, jsxs as h } from "react/jsx-runtime";
|
|
11
11
|
import { useCommonStore as g } from "@plitzi/sdk-shared/store";
|
|
12
12
|
import { useTracing as _ } from "@plitzi/sdk-shared/store/tracing";
|
|
13
13
|
//#region src/components/DevToolsPanel/tabs/TracingViewer/TracingViewer.tsx
|
|
14
14
|
var v = () => {
|
|
15
|
-
let { enabled: v, hydrated: y, commits: b, tree: x, clear: S } = _(), [[C, w]] = g(["schema.flat", "navigation.currentPageId"]), [T, E] =
|
|
16
|
-
|
|
15
|
+
let { enabled: v, hydrated: y, commits: b, tree: x, clear: S } = _(), [[C, w]] = g(["schema.flat", "navigation.currentPageId"]), [T, E] = c("plitzi-sdk.dev-tools.tracing.view", "ranked"), [D, O] = c("plitzi-sdk.dev-tools.tracing.persist", !1), [k, A] = c("plitzi-sdk.dev-tools.tracing.sidebar-open", !1), [j, M] = p(), [N, P] = p(), F = f(w);
|
|
16
|
+
u(() => {
|
|
17
17
|
F.current !== w && (F.current = w, D || (S(), M(void 0), P(void 0)));
|
|
18
18
|
}, [
|
|
19
19
|
w,
|
|
20
20
|
D,
|
|
21
21
|
S
|
|
22
22
|
]);
|
|
23
|
-
let I =
|
|
24
|
-
if (
|
|
23
|
+
let I = d(() => {
|
|
24
|
+
if (y && b.length !== 0) return {
|
|
25
25
|
commitId: 0,
|
|
26
26
|
timestamp: b[0].timestamp,
|
|
27
27
|
duration: 0,
|
|
@@ -33,36 +33,36 @@ var v = () => {
|
|
|
33
33
|
y,
|
|
34
34
|
b,
|
|
35
35
|
x
|
|
36
|
-
]), L =
|
|
36
|
+
]), L = d(() => I ? [I, ...b] : b, [I, b]), R = b[0]?.commitId, z = d(() => {
|
|
37
37
|
if (L.length === 0) return -1;
|
|
38
38
|
let e = L.findIndex((e) => e.commitId === j);
|
|
39
39
|
return e === -1 ? L.length - 1 : e;
|
|
40
|
-
}, [L, j]), B = z === -1 ? void 0 : L[z], V = B?.commitId === 0, H =
|
|
40
|
+
}, [L, j]), B = z === -1 ? void 0 : L[z], V = B?.commitId === 0, H = d(() => B && !V ? e(B, x, C) : void 0, [
|
|
41
41
|
B,
|
|
42
42
|
V,
|
|
43
43
|
x,
|
|
44
44
|
C
|
|
45
|
-
]), U =
|
|
46
|
-
s(U?.
|
|
47
|
-
let W =
|
|
45
|
+
]), U = d(() => H?.nodes.find((e) => e.id === N) ?? H?.nodes.find((e) => e.elementId === N), [H, N]);
|
|
46
|
+
s(U?.elementId ?? N);
|
|
47
|
+
let W = d(() => B ? t(B, y, B.commitId === R) : "update", [
|
|
48
48
|
B,
|
|
49
49
|
y,
|
|
50
50
|
R
|
|
51
|
-
]), G =
|
|
51
|
+
]), G = l((e) => {
|
|
52
52
|
M(e), P(void 0);
|
|
53
|
-
}, []), K =
|
|
53
|
+
}, []), K = l((e) => {
|
|
54
54
|
P(e), e && A(!0);
|
|
55
|
-
}, [A]), q =
|
|
55
|
+
}, [A]), q = l(() => A((e) => !e), [A]), J = l((e) => {
|
|
56
56
|
let t = z + e;
|
|
57
57
|
t >= 0 && t < L.length && (M(L[t].commitId), P(void 0));
|
|
58
|
-
}, [L, z]), Y =
|
|
58
|
+
}, [L, z]), Y = l((e) => {
|
|
59
59
|
(e.key === "ArrowLeft" || e.key === "ArrowRight") && (e.preventDefault(), J(e.key === "ArrowLeft" ? -1 : 1));
|
|
60
60
|
}, [J]);
|
|
61
|
-
return v ? B ? /* @__PURE__ */
|
|
61
|
+
return v ? B ? /* @__PURE__ */ h("div", {
|
|
62
62
|
className: "flex h-full min-h-0 w-full flex-col",
|
|
63
63
|
onKeyDown: Y,
|
|
64
64
|
children: [
|
|
65
|
-
/* @__PURE__ */
|
|
65
|
+
/* @__PURE__ */ m(o, {
|
|
66
66
|
view: T,
|
|
67
67
|
persist: D,
|
|
68
68
|
commitCount: b.length,
|
|
@@ -70,41 +70,41 @@ var v = () => {
|
|
|
70
70
|
onViewChange: E,
|
|
71
71
|
onPersistChange: O
|
|
72
72
|
}),
|
|
73
|
-
T !== "hotspots" && /* @__PURE__ */
|
|
73
|
+
T !== "hotspots" && /* @__PURE__ */ m(n, {
|
|
74
74
|
commits: L,
|
|
75
75
|
selectedIndex: z,
|
|
76
76
|
hydrated: y,
|
|
77
77
|
onSelect: G
|
|
78
78
|
}),
|
|
79
|
-
T !== "hotspots" && V && /* @__PURE__ */
|
|
79
|
+
T !== "hotspots" && V && /* @__PURE__ */ h("div", {
|
|
80
80
|
className: "flex grow flex-col items-center justify-center gap-3 px-6 text-center text-zinc-500 dark:text-zinc-400",
|
|
81
81
|
children: [
|
|
82
|
-
/* @__PURE__ */
|
|
83
|
-
/* @__PURE__ */
|
|
82
|
+
/* @__PURE__ */ m("i", { className: "fa-solid fa-server text-3xl opacity-30" }),
|
|
83
|
+
/* @__PURE__ */ m("span", {
|
|
84
84
|
className: "text-sm font-medium text-zinc-600 dark:text-zinc-300",
|
|
85
85
|
children: "Server render (SSR)"
|
|
86
86
|
}),
|
|
87
|
-
/* @__PURE__ */
|
|
87
|
+
/* @__PURE__ */ h("span", {
|
|
88
88
|
className: "max-w-md text-xs leading-relaxed",
|
|
89
89
|
children: [
|
|
90
90
|
"This page was rendered on the server first. React's Profiler doesn't run during server rendering, so there's no per-element timing for it — this commit marks that baseline. Commit\xA0#",
|
|
91
91
|
R,
|
|
92
92
|
" ",
|
|
93
93
|
"is the client ",
|
|
94
|
-
/* @__PURE__ */
|
|
94
|
+
/* @__PURE__ */ m("span", {
|
|
95
95
|
className: "font-medium text-violet-600 dark:text-violet-400",
|
|
96
96
|
children: "hydration"
|
|
97
97
|
}),
|
|
98
98
|
" of this tree."
|
|
99
99
|
]
|
|
100
100
|
}),
|
|
101
|
-
/* @__PURE__ */
|
|
101
|
+
/* @__PURE__ */ h("span", {
|
|
102
102
|
className: "text-[11px] opacity-70",
|
|
103
103
|
children: [B.elementCount, " elements in the rendered tree"]
|
|
104
104
|
})
|
|
105
105
|
]
|
|
106
106
|
}),
|
|
107
|
-
T === "ranked" && H && /* @__PURE__ */
|
|
107
|
+
T === "ranked" && H && /* @__PURE__ */ m(a, {
|
|
108
108
|
commit: B,
|
|
109
109
|
model: H,
|
|
110
110
|
active: U,
|
|
@@ -113,7 +113,7 @@ var v = () => {
|
|
|
113
113
|
onSelectElement: K,
|
|
114
114
|
onToggleSidebar: q
|
|
115
115
|
}),
|
|
116
|
-
T === "flamegraph" && H && /* @__PURE__ */
|
|
116
|
+
T === "flamegraph" && H && /* @__PURE__ */ m(r, {
|
|
117
117
|
commit: B,
|
|
118
118
|
model: H,
|
|
119
119
|
active: U,
|
|
@@ -122,7 +122,7 @@ var v = () => {
|
|
|
122
122
|
onSelectElement: K,
|
|
123
123
|
onToggleSidebar: q
|
|
124
124
|
}),
|
|
125
|
-
T === "hotspots" && /* @__PURE__ */
|
|
125
|
+
T === "hotspots" && /* @__PURE__ */ m(i, {
|
|
126
126
|
commits: b,
|
|
127
127
|
tree: x,
|
|
128
128
|
flat: C,
|
|
@@ -130,25 +130,25 @@ var v = () => {
|
|
|
130
130
|
onSelectElement: K
|
|
131
131
|
})
|
|
132
132
|
]
|
|
133
|
-
}) : /* @__PURE__ */
|
|
133
|
+
}) : /* @__PURE__ */ h("div", {
|
|
134
134
|
className: "flex h-full min-h-0 w-full flex-col",
|
|
135
|
-
children: [/* @__PURE__ */
|
|
135
|
+
children: [/* @__PURE__ */ m(o, {
|
|
136
136
|
view: T,
|
|
137
137
|
persist: D,
|
|
138
138
|
commitCount: b.length,
|
|
139
139
|
onClear: S,
|
|
140
140
|
onViewChange: E,
|
|
141
141
|
onPersistChange: O
|
|
142
|
-
}), /* @__PURE__ */
|
|
142
|
+
}), /* @__PURE__ */ h("div", {
|
|
143
143
|
className: "flex grow flex-col items-center justify-center gap-2 text-zinc-400 dark:text-zinc-500",
|
|
144
|
-
children: [/* @__PURE__ */
|
|
144
|
+
children: [/* @__PURE__ */ m("i", { className: "fa-solid fa-chart-column text-3xl opacity-20" }), /* @__PURE__ */ m("span", {
|
|
145
145
|
className: "text-xs",
|
|
146
146
|
children: "No commits recorded yet — interact with the page"
|
|
147
147
|
})]
|
|
148
148
|
})]
|
|
149
|
-
}) : /* @__PURE__ */
|
|
149
|
+
}) : /* @__PURE__ */ h("div", {
|
|
150
150
|
className: "flex h-full w-full flex-col items-center justify-center gap-2 text-zinc-400 dark:text-zinc-500",
|
|
151
|
-
children: [/* @__PURE__ */
|
|
151
|
+
children: [/* @__PURE__ */ m("i", { className: "fa-solid fa-gauge-high text-3xl opacity-20" }), /* @__PURE__ */ m("span", {
|
|
152
152
|
className: "text-xs",
|
|
153
153
|
children: "Enable debugMode to record render tracing"
|
|
154
154
|
})]
|
package/dist/components/DevToolsPanel/tabs/TracingViewer/components/Flamegraph/FlameFrame.mjs
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { HATCH_STYLE as e, formatMs as t, formatPercent as n, frameColor as r, frameTextColor as i } from "../../helpers.mjs";
|
|
2
2
|
import a from "clsx";
|
|
3
3
|
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
4
|
-
|
|
4
|
+
//#region src/components/DevToolsPanel/tabs/TracingViewer/components/Flamegraph/FlameFrame.tsx
|
|
5
|
+
var c = 18, l = ({ node: c, left: l, width: u, top: d, selected: f, onClick: p }) => {
|
|
5
6
|
let m = {
|
|
6
7
|
left: `${l}%`,
|
|
7
8
|
width: `${u}%`,
|
|
@@ -26,4 +27,4 @@ var c = ({ node: c, left: l, width: u, top: d, selected: f, onClick: p }) => {
|
|
|
26
27
|
});
|
|
27
28
|
};
|
|
28
29
|
//#endregion
|
|
29
|
-
export { c as default };
|
|
30
|
+
export { c as ROW_HEIGHT, l as default };
|
package/dist/components/DevToolsPanel/tabs/TracingViewer/components/Flamegraph/Flamegraph.mjs
CHANGED
|
@@ -9,26 +9,30 @@ import s from "./FlameFrame.mjs";
|
|
|
9
9
|
import { useCallback as c, useMemo as l } from "react";
|
|
10
10
|
import { jsx as u, jsxs as d } from "react/jsx-runtime";
|
|
11
11
|
//#region src/components/DevToolsPanel/tabs/TracingViewer/components/Flamegraph/Flamegraph.tsx
|
|
12
|
-
var f = 1e-6, p = ({ commit:
|
|
13
|
-
let
|
|
12
|
+
var f = 1e-6, p = 3e-4, m = ({ commit: m, model: h, active: g, origin: _, sidebarOpen: v, onSelectElement: y, onToggleSidebar: b }) => {
|
|
13
|
+
let x = l(() => {
|
|
14
14
|
let e = /* @__PURE__ */ new Map();
|
|
15
|
-
for (let t of
|
|
15
|
+
for (let t of h.nodes) e.set(t.id, t);
|
|
16
16
|
return e;
|
|
17
|
-
}, [
|
|
18
|
-
if (!
|
|
19
|
-
let e = [], t =
|
|
17
|
+
}, [h]), S = g, C = S ? S.x : 0, w = S ? S.width : 1, T = S ? S.depth : 0, E = l(() => {
|
|
18
|
+
if (!S) return [];
|
|
19
|
+
let e = [], t = S.parentId;
|
|
20
20
|
for (; t !== void 0;) {
|
|
21
|
-
let n =
|
|
21
|
+
let n = x.get(t);
|
|
22
22
|
if (!n) break;
|
|
23
23
|
e.push(n), t = n.parentId;
|
|
24
24
|
}
|
|
25
25
|
return e.reverse();
|
|
26
|
-
}, [
|
|
27
|
-
|
|
28
|
-
S,
|
|
26
|
+
}, [S, x]), D = l(() => h.nodes.filter((e) => e.depth >= T && e.x >= C - f && e.x + e.width <= C + w + f), [
|
|
27
|
+
h,
|
|
29
28
|
C,
|
|
30
|
-
w
|
|
31
|
-
|
|
29
|
+
w,
|
|
30
|
+
T
|
|
31
|
+
]), O = l(() => D.filter((e) => e.width / w >= p || e.id === g?.id), [
|
|
32
|
+
D,
|
|
33
|
+
w,
|
|
34
|
+
g
|
|
35
|
+
]), k = D.length - O.length, A = l(() => O.reduce((e, t) => Math.max(e, t.depth), T), [O, T]), j = c((e) => y(e.id === g?.id ? void 0 : e.id), [g, y]);
|
|
32
36
|
return /* @__PURE__ */ d("div", {
|
|
33
37
|
className: "flex min-h-0 flex-1 flex-col overflow-hidden",
|
|
34
38
|
children: [
|
|
@@ -37,26 +41,35 @@ var f = 1e-6, p = ({ commit: p, model: m, active: h, origin: g, sidebarOpen: _,
|
|
|
37
41
|
children: [
|
|
38
42
|
/* @__PURE__ */ d("span", {
|
|
39
43
|
className: "font-medium text-zinc-700 dark:text-zinc-200",
|
|
40
|
-
children: ["Commit #",
|
|
44
|
+
children: ["Commit #", m.commitId]
|
|
41
45
|
}),
|
|
42
|
-
|
|
46
|
+
_ !== "update" && /* @__PURE__ */ u("span", {
|
|
43
47
|
className: "rounded bg-violet-100 px-1 text-[9px] font-medium text-violet-700 uppercase dark:bg-violet-500/20 dark:text-violet-300",
|
|
44
|
-
children: e[
|
|
48
|
+
children: e[_]
|
|
45
49
|
}),
|
|
46
50
|
/* @__PURE__ */ u("span", {
|
|
47
51
|
className: "opacity-60",
|
|
48
52
|
children: "click a frame to zoom · click the focused frame to zoom out"
|
|
49
53
|
}),
|
|
54
|
+
k > 0 && /* @__PURE__ */ d("span", {
|
|
55
|
+
className: "opacity-60",
|
|
56
|
+
title: "Frames too narrow to draw at this zoom level — zoom in to see them",
|
|
57
|
+
children: [
|
|
58
|
+
"· ",
|
|
59
|
+
k,
|
|
60
|
+
" too narrow to draw"
|
|
61
|
+
]
|
|
62
|
+
}),
|
|
50
63
|
/* @__PURE__ */ u(t, {
|
|
51
|
-
commit:
|
|
52
|
-
model:
|
|
53
|
-
active:
|
|
54
|
-
onSelectElement:
|
|
64
|
+
commit: m,
|
|
65
|
+
model: h,
|
|
66
|
+
active: g,
|
|
67
|
+
onSelectElement: y
|
|
55
68
|
}),
|
|
56
69
|
/* @__PURE__ */ u(o, {
|
|
57
70
|
className: "ml-auto",
|
|
58
|
-
open:
|
|
59
|
-
onToggle:
|
|
71
|
+
open: v,
|
|
72
|
+
onToggle: b
|
|
60
73
|
})
|
|
61
74
|
]
|
|
62
75
|
}),
|
|
@@ -66,27 +79,27 @@ var f = 1e-6, p = ({ commit: p, model: m, active: h, origin: g, sidebarOpen: _,
|
|
|
66
79
|
className: "min-h-0 flex-1 overflow-auto p-1",
|
|
67
80
|
children: /* @__PURE__ */ d("div", {
|
|
68
81
|
className: "relative w-full",
|
|
69
|
-
style: { height: (
|
|
70
|
-
children: [
|
|
82
|
+
style: { height: (A + 1) * 18 },
|
|
83
|
+
children: [E.map((e) => /* @__PURE__ */ u(s, {
|
|
71
84
|
node: e,
|
|
72
85
|
left: 0,
|
|
73
86
|
width: 100,
|
|
74
87
|
top: e.depth * 18,
|
|
75
|
-
selected: e.id ===
|
|
76
|
-
onClick:
|
|
77
|
-
}, e.id)),
|
|
88
|
+
selected: e.id === g?.id,
|
|
89
|
+
onClick: j
|
|
90
|
+
}, e.id)), O.map((e) => /* @__PURE__ */ u(s, {
|
|
78
91
|
node: e,
|
|
79
|
-
left: (e.x -
|
|
80
|
-
width: e.width /
|
|
92
|
+
left: (e.x - C) / w * 100,
|
|
93
|
+
width: e.width / w * 100,
|
|
81
94
|
top: e.depth * 18,
|
|
82
|
-
selected: e.id ===
|
|
83
|
-
onClick:
|
|
95
|
+
selected: e.id === g?.id,
|
|
96
|
+
onClick: j
|
|
84
97
|
}, e.id))]
|
|
85
98
|
})
|
|
86
|
-
}),
|
|
87
|
-
node:
|
|
88
|
-
commit:
|
|
89
|
-
model:
|
|
99
|
+
}), v && /* @__PURE__ */ u(i, { children: g ? /* @__PURE__ */ u(n, {
|
|
100
|
+
node: g,
|
|
101
|
+
commit: m,
|
|
102
|
+
model: h
|
|
90
103
|
}) : /* @__PURE__ */ u(a, {}) })]
|
|
91
104
|
}),
|
|
92
105
|
/* @__PURE__ */ u(r, {})
|
|
@@ -94,4 +107,4 @@ var f = 1e-6, p = ({ commit: p, model: m, active: h, origin: g, sidebarOpen: _,
|
|
|
94
107
|
});
|
|
95
108
|
};
|
|
96
109
|
//#endregion
|
|
97
|
-
export {
|
|
110
|
+
export { m as default };
|