@plitzi/sdk-dev-tools 0.32.25 → 0.33.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.
Files changed (52) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/DevToolsContainer.mjs +45 -29
  3. package/dist/DevToolsContextProvider.mjs +4 -4
  4. package/dist/components/DevToolsIndicator/DevToolsIndicator.d.ts +7 -0
  5. package/dist/components/DevToolsIndicator/DevToolsIndicator.mjs +50 -0
  6. package/dist/components/DevToolsIndicator/index.d.ts +3 -0
  7. package/dist/components/DevToolsIndicator/index.mjs +5 -0
  8. package/dist/components/DevToolsOverlay/DevToolsOverlay.d.ts +15 -0
  9. package/dist/components/DevToolsOverlay/DevToolsOverlay.mjs +18 -0
  10. package/dist/components/DevToolsOverlay/index.d.ts +3 -0
  11. package/dist/components/DevToolsOverlay/index.mjs +5 -0
  12. package/dist/components/DevToolsPanel/DevToolsBody.d.ts +3 -1
  13. package/dist/components/DevToolsPanel/DevToolsBody.mjs +8 -7
  14. package/dist/components/DevToolsPanel/DevToolsHeader.d.ts +2 -1
  15. package/dist/components/DevToolsPanel/DevToolsHeader.mjs +31 -22
  16. package/dist/components/DevToolsPanel/DevToolsPanel.d.ts +7 -1
  17. package/dist/components/DevToolsPanel/DevToolsPanel.mjs +36 -34
  18. package/dist/components/DevToolsPanel/DevToolsSubHeader.mjs +8 -8
  19. package/dist/components/DevToolsPanel/tabs/ElementsViewer/DetailsValue.mjs +9 -9
  20. package/dist/components/DevToolsPanel/tabs/ElementsViewer/ElementDetails.mjs +7 -7
  21. package/dist/components/DevToolsPanel/tabs/ElementsViewer/ElementsList.mjs +9 -9
  22. package/dist/components/DevToolsPanel/tabs/ElementsViewer/ElementsViewer.mjs +15 -16
  23. package/dist/components/DevToolsPanel/tabs/Logs/Log.mjs +23 -17
  24. package/dist/components/DevToolsPanel/tabs/Logs/Logs.d.ts +4 -2
  25. package/dist/components/DevToolsPanel/tabs/Logs/Logs.mjs +15 -15
  26. package/dist/components/DevToolsPanel/tabs/Logs/categories/LogInteraction/BodyContent.mjs +8 -8
  27. package/dist/components/DevToolsPanel/tabs/Logs/categories/LogInteraction/BodyHeader.d.ts +2 -1
  28. package/dist/components/DevToolsPanel/tabs/Logs/categories/LogInteraction/BodyHeader.mjs +53 -43
  29. package/dist/components/DevToolsPanel/tabs/Logs/categories/LogInteraction/ExecutionTree/ExecutionTree.mjs +11 -11
  30. package/dist/components/DevToolsPanel/tabs/Logs/categories/LogInteraction/LogInteraction.d.ts +1 -1
  31. package/dist/components/DevToolsPanel/tabs/Logs/categories/LogInteraction/LogInteraction.mjs +22 -15
  32. package/dist/components/DevToolsPanel/tabs/Logs/categories/LogInteraction/LogInteractionBody.d.ts +2 -1
  33. package/dist/components/DevToolsPanel/tabs/Logs/categories/LogInteraction/LogInteractionBody.mjs +3 -2
  34. package/dist/components/DevToolsPanel/tabs/Logs/categories/LogInteraction/LogInteractionHeader.d.ts +2 -1
  35. package/dist/components/DevToolsPanel/tabs/Logs/categories/LogInteraction/LogInteractionHeader.mjs +4 -0
  36. package/dist/components/DevToolsPanel/tabs/Logs/categories/LogNavigation/LogNavigationBody.mjs +26 -26
  37. package/dist/components/DevToolsPanel/tabs/Logs/categories/LogNetwork/LogNetwork.d.ts +10 -0
  38. package/dist/components/DevToolsPanel/tabs/Logs/categories/LogNetwork/LogNetwork.mjs +52 -0
  39. package/dist/components/DevToolsPanel/tabs/Logs/categories/LogNetwork/index.d.ts +3 -0
  40. package/dist/components/DevToolsPanel/tabs/Logs/categories/LogNetwork/index.mjs +5 -0
  41. package/dist/components/DevToolsPanel/tabs/StoreViewer/StoreViewer.mjs +31 -28
  42. package/dist/components/DevToolsPanel/tabs/StoreViewer/helpers/mapFunctionValues.d.ts +3 -0
  43. package/dist/components/DevToolsPanel/tabs/StoreViewer/helpers/mapFunctionValues.mjs +22 -0
  44. package/dist/components/DevToolsPanel/tabs/StoreViewer/helpers/renderFunctionValue.d.ts +3 -0
  45. package/dist/components/DevToolsPanel/tabs/StoreViewer/helpers/renderFunctionValue.mjs +13 -0
  46. package/dist/components/DevToolsPanel/tabs/TracingViewer/TracingViewer.mjs +98 -99
  47. package/dist/components/DevToolsPanel/tabs/TracingViewer/components/CommitStrip/CommitStrip.mjs +6 -4
  48. package/dist/components/DevToolsPanel/tabs/TracingViewer/components/HotspotsList/HotspotsList.mjs +32 -32
  49. package/dist/components/DevToolsPanel/tabs/TracingViewer/components/RankedList/RankedList.mjs +40 -40
  50. package/dist/components/DevToolsPanel/tabs/TracingViewer/components/SidebarShell/SidebarShell.mjs +7 -7
  51. package/dist/components/DevToolsPanel/tabs/VariablesViewer/VariablesViewer.mjs +12 -12
  52. package/package.json +52 -8
@@ -1,60 +1,60 @@
1
1
  import { useMemo as e } from "react";
2
- import { useCommonStore as t } from "@plitzi/sdk-shared/store";
3
- import { get as n } from "@plitzi/plitzi-ui/helpers";
4
- import { jsx as r, jsxs as i } from "react/jsx-runtime";
2
+ import { jsx as t, jsxs as n } from "react/jsx-runtime";
3
+ import { useCommonStore as r } from "@plitzi/sdk-shared/store";
4
+ import { get as i } from "@plitzi/plitzi-ui/helpers";
5
5
  import { formatDate as a } from "@plitzi/sdk-shared/helpers";
6
6
  //#region src/components/DevToolsPanel/tabs/Logs/categories/LogNavigation/LogNavigationBody.tsx
7
7
  var o = ({ elementId: o, startTime: s, endTime: c, duration: l }) => {
8
- let [u] = t("schema.flat"), d = e(() => o ? n(u, o) : void 0, [o, u]);
9
- return /* @__PURE__ */ i("div", {
8
+ let [u] = r("schema.flat"), d = e(() => o ? i(u, o) : void 0, [o, u]);
9
+ return /* @__PURE__ */ n("div", {
10
10
  className: "m-2 flex justify-around gap-4",
11
11
  children: [
12
- /* @__PURE__ */ i("div", {
12
+ /* @__PURE__ */ n("div", {
13
13
  className: "flex min-w-0 grow basis-0 flex-col gap-2",
14
- children: [/* @__PURE__ */ i("div", {
14
+ children: [/* @__PURE__ */ n("div", {
15
15
  className: "flex items-center gap-1 font-bold",
16
- children: [/* @__PURE__ */ r("i", { className: "fa-regular fa-clock" }), "Times"]
17
- }), /* @__PURE__ */ i("div", {
16
+ children: [/* @__PURE__ */ t("i", { className: "fa-regular fa-clock" }), "Times"]
17
+ }), /* @__PURE__ */ n("div", {
18
18
  className: "flex flex-col",
19
19
  children: [
20
- /* @__PURE__ */ i("div", {
20
+ /* @__PURE__ */ n("div", {
21
21
  className: "flex gap-1",
22
- children: [/* @__PURE__ */ r("span", { children: "Started:" }), typeof s == "string" ? s : a(s)]
22
+ children: [/* @__PURE__ */ t("span", { children: "Started:" }), typeof s == "string" ? s : a(s)]
23
23
  }),
24
- /* @__PURE__ */ i("div", {
24
+ /* @__PURE__ */ n("div", {
25
25
  className: "flex gap-1",
26
- children: [/* @__PURE__ */ r("span", { children: "End:" }), typeof c == "string" ? c : a(c)]
26
+ children: [/* @__PURE__ */ t("span", { children: "End:" }), typeof c == "string" ? c : a(c)]
27
27
  }),
28
- /* @__PURE__ */ i("div", {
28
+ /* @__PURE__ */ n("div", {
29
29
  className: "flex gap-1",
30
- children: [/* @__PURE__ */ r("span", { children: "Duration:" }), l]
30
+ children: [/* @__PURE__ */ t("span", { children: "Duration:" }), l]
31
31
  })
32
32
  ]
33
33
  })]
34
34
  }),
35
- /* @__PURE__ */ r("div", { className: "border-r border-gray-300" }),
36
- /* @__PURE__ */ i("div", {
35
+ /* @__PURE__ */ t("div", { className: "border-r border-gray-300" }),
36
+ /* @__PURE__ */ n("div", {
37
37
  className: "flex min-w-0 grow basis-0 flex-col gap-2",
38
- children: [/* @__PURE__ */ i("div", {
38
+ children: [/* @__PURE__ */ n("div", {
39
39
  className: "flex items-center gap-1",
40
- children: [/* @__PURE__ */ r("i", { className: "fa-solid fa-circle-info" }), "Details"]
41
- }), /* @__PURE__ */ i("div", {
40
+ children: [/* @__PURE__ */ t("i", { className: "fa-solid fa-circle-info" }), "Details"]
41
+ }), /* @__PURE__ */ n("div", {
42
42
  className: "flex flex-col",
43
43
  children: [
44
- /* @__PURE__ */ i("div", {
44
+ /* @__PURE__ */ n("div", {
45
45
  className: "flex gap-1",
46
- children: [/* @__PURE__ */ r("span", { children: "Type:" }), /* @__PURE__ */ r("span", { children: "Navigation" })]
46
+ children: [/* @__PURE__ */ t("span", { children: "Type:" }), /* @__PURE__ */ t("span", { children: "Navigation" })]
47
47
  }),
48
- /* @__PURE__ */ i("div", {
48
+ /* @__PURE__ */ n("div", {
49
49
  className: "flex gap-1",
50
- children: [/* @__PURE__ */ r("span", { children: "Trigger:" }), /* @__PURE__ */ r("span", {
50
+ children: [/* @__PURE__ */ t("span", { children: "Trigger:" }), /* @__PURE__ */ t("span", {
51
51
  className: "truncate",
52
52
  children: "-"
53
53
  })]
54
54
  }),
55
- d && /* @__PURE__ */ i("div", {
55
+ d && /* @__PURE__ */ n("div", {
56
56
  className: "flex gap-1",
57
- children: [/* @__PURE__ */ r("span", { children: "Element:" }), /* @__PURE__ */ i("span", {
57
+ children: [/* @__PURE__ */ t("span", { children: "Element:" }), /* @__PURE__ */ n("span", {
58
58
  className: "cursor-pointer truncate text-blue-500",
59
59
  children: [
60
60
  d.definition.label,
@@ -0,0 +1,10 @@
1
+ import { LogNetwork as TLogNetwork } from '@plitzi/sdk-shared';
2
+ import { ReactNode } from 'react';
3
+ export type LogNetworkProps = {
4
+ className?: string;
5
+ message?: ReactNode;
6
+ params: TLogNetwork['params'];
7
+ time?: string;
8
+ };
9
+ declare const LogNetwork: ({ time, message, params: { event, issues, payload } }: LogNetworkProps) => import("react").JSX.Element;
10
+ export default LogNetwork;
@@ -0,0 +1,52 @@
1
+ import e from "../../LogStatus.mjs";
2
+ import { jsx as t, jsxs as n } from "react/jsx-runtime";
3
+ import r from "@plitzi/plitzi-ui/ContainerCollapsable";
4
+ //#region src/components/DevToolsPanel/tabs/Logs/categories/LogNetwork/LogNetwork.tsx
5
+ var i = /* @__PURE__ */ t("i", { className: "fa-solid fa-angle-right text-[10px]" }), a = /* @__PURE__ */ t("i", { className: "fa-solid fa-angle-down text-[10px]" }), o = ({ time: o, message: s, params: { event: c, issues: l, payload: u } }) => /* @__PURE__ */ n(r, {
6
+ className: "last:border-b-none w-full border-b border-l-2 border-b-zinc-200 border-l-red-500 px-2 py-1 transition-colors hover:bg-zinc-50 dark:border-b-zinc-700 dark:hover:bg-zinc-800/50",
7
+ collapsed: !0,
8
+ children: [/* @__PURE__ */ t(r.Header, {
9
+ title: /* @__PURE__ */ n("div", {
10
+ className: "flex w-full items-center gap-2 overflow-hidden",
11
+ children: [
12
+ /* @__PURE__ */ t("span", {
13
+ className: "shrink-0 font-mono text-zinc-400 tabular-nums dark:text-zinc-500",
14
+ children: o
15
+ }),
16
+ /* @__PURE__ */ t(e, {
17
+ logType: "danger",
18
+ children: "Invalid"
19
+ }),
20
+ /* @__PURE__ */ t("div", {
21
+ className: "grow basis-0 truncate text-zinc-700 dark:text-zinc-300",
22
+ children: s
23
+ })
24
+ ]
25
+ }),
26
+ placement: "left",
27
+ className: { headerTitle: "overflow-hidden" },
28
+ iconCollapsed: i,
29
+ iconExpanded: a,
30
+ children: /* @__PURE__ */ t("span", {
31
+ className: "font-mono text-zinc-400 dark:text-zinc-500",
32
+ children: c
33
+ })
34
+ }), /* @__PURE__ */ t(r.Content, { children: /* @__PURE__ */ n("div", {
35
+ className: "flex flex-col gap-1 py-1 pl-4",
36
+ children: [l.map((e) => /* @__PURE__ */ n("div", {
37
+ className: "flex gap-2",
38
+ children: [/* @__PURE__ */ t("span", {
39
+ className: "font-mono text-red-600 dark:text-red-400",
40
+ children: e.path || "(root)"
41
+ }), /* @__PURE__ */ t("span", {
42
+ className: "text-zinc-600 dark:text-zinc-300",
43
+ children: e.message
44
+ })]
45
+ }, `${e.path}-${e.message}`)), u !== void 0 && /* @__PURE__ */ t("pre", {
46
+ className: "mt-1 overflow-x-auto rounded bg-zinc-50 p-2 text-[11px] text-zinc-600 dark:bg-zinc-800/60 dark:text-zinc-300",
47
+ children: JSON.stringify(u, null, 2)
48
+ })]
49
+ }) })]
50
+ });
51
+ //#endregion
52
+ export { o as default };
@@ -0,0 +1,3 @@
1
+ import { default as LogNetwork } from './LogNetwork';
2
+ export * from './LogNetwork';
3
+ export default LogNetwork;
@@ -0,0 +1,5 @@
1
+ import e from "./LogNetwork.mjs";
2
+ //#region src/components/DevToolsPanel/tabs/Logs/categories/LogNetwork/index.ts
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -1,55 +1,58 @@
1
- import { useSelectedStore as e } from "../../../../scope/useScope.mjs";
2
- import t from "../../../../scope/useStoreState.mjs";
3
- import n from "@plitzi/plitzi-ui/hooks/useStorage";
4
- import r from "clsx";
5
- import { use as i, useCallback as a } from "react";
6
- import o from "@plitzi/sdk-shared/devTools/DevToolsContext";
7
- import { jsx as s, jsxs as c } from "react/jsx-runtime";
8
- import l from "@uiw/react-json-view";
9
- import * as u from "@uiw/react-json-view/vscode";
10
- import { emptyObject as d } from "@plitzi/sdk-shared/helpers/utils";
1
+ import e from "./helpers/mapFunctionValues.mjs";
2
+ import t from "./helpers/renderFunctionValue.mjs";
3
+ import { useSelectedStore as n } from "../../../../scope/useScope.mjs";
4
+ import r from "../../../../scope/useStoreState.mjs";
5
+ import i from "clsx";
6
+ import { use as a, useCallback as o, useMemo as s } from "react";
7
+ import c from "@plitzi/sdk-shared/devTools/DevToolsContext";
8
+ import { jsx as l, jsxs as u } from "react/jsx-runtime";
9
+ import d from "@plitzi/plitzi-ui/hooks/useStorage";
10
+ import f from "@uiw/react-json-view";
11
+ import * as p from "@uiw/react-json-view/vscode";
12
+ import { emptyObject as m } from "@plitzi/sdk-shared/helpers/utils";
11
13
  //#region src/components/DevToolsPanel/tabs/StoreViewer/StoreViewer.tsx
12
- var f = {
13
- ...u.vscodeTheme,
14
+ var h = {
15
+ ...p.vscodeTheme,
14
16
  width: "100%",
15
17
  height: "100%",
16
18
  overflow: "auto",
17
19
  padding: "8px",
18
20
  fontSize: "14px"
19
- }, p = (e) => r("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"), m = ({ elementSelected: r }) => {
20
- let { getData: u } = i(o), m = e(), [h, g] = n("plitzi-sdk.dev-tools.store.view", "own"), _ = t(r ? void 0 : m, h === "merged"), v = a(() => g("own"), [g]), y = a(() => g("merged"), [g]), b = r ? u?.(`getElementDataSource-${r}`) : _;
21
- return /* @__PURE__ */ c("div", {
21
+ }, g = (e) => i("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"), _ = ({ elementSelected: i }) => {
22
+ let { getData: p } = a(c), _ = n(), [v, y] = d("plitzi-sdk.dev-tools.store.view", "own"), b = r(i ? void 0 : _, v === "merged"), x = o(() => y("own"), [y]), S = o(() => y("merged"), [y]), C = i ? p?.(`getElementDataSource-${i}`) : b, w = s(() => e(C), [C]);
23
+ return /* @__PURE__ */ u("div", {
22
24
  className: "flex h-full w-full flex-col",
23
- children: [!r && /* @__PURE__ */ c("div", {
25
+ children: [!i && /* @__PURE__ */ u("div", {
24
26
  className: "flex shrink-0 items-center gap-1 border-b border-zinc-200 px-2 py-1 text-[11px] dark:border-zinc-800",
25
27
  children: [
26
- /* @__PURE__ */ s("span", {
28
+ /* @__PURE__ */ l("span", {
27
29
  className: "mr-1 text-zinc-400 dark:text-zinc-500",
28
30
  children: "View"
29
31
  }),
30
- /* @__PURE__ */ s("button", {
31
- className: p(h === "own"),
32
- onClick: v,
32
+ /* @__PURE__ */ l("button", {
33
+ className: g(v === "own"),
34
+ onClick: x,
33
35
  title: "Only this scope's own layer",
34
36
  children: "Own"
35
37
  }),
36
- /* @__PURE__ */ s("button", {
37
- className: p(h === "merged"),
38
- onClick: y,
38
+ /* @__PURE__ */ l("button", {
39
+ className: g(v === "merged"),
40
+ onClick: S,
39
41
  title: "Own layer merged over the parent scope chain",
40
42
  children: "Merged"
41
43
  })
42
44
  ]
43
- }), /* @__PURE__ */ s(l, {
44
- value: b ?? d,
45
- style: f,
45
+ }), /* @__PURE__ */ l(f, {
46
+ value: w ?? m,
47
+ style: h,
46
48
  enableClipboard: !1,
47
49
  indentWidth: 15,
48
50
  collapsed: 2,
49
51
  displayObjectSize: !1,
50
- displayDataTypes: !1
52
+ displayDataTypes: !1,
53
+ children: /* @__PURE__ */ l(f.String, { render: t })
51
54
  })]
52
55
  });
53
56
  };
54
57
  //#endregion
55
- export { m as default };
58
+ export { _ as default };
@@ -0,0 +1,3 @@
1
+ export declare const readFunctionLabel: (value: string) => string;
2
+ declare const mapFunctionValues: (state?: Record<string, unknown>) => Record<string, unknown> | undefined;
3
+ export default mapFunctionValues;
@@ -0,0 +1,22 @@
1
+ //#region src/components/DevToolsPanel/tabs/StoreViewer/helpers/mapFunctionValues.ts
2
+ var e = "\0fn:", t = (t) => t.startsWith(e) ? t.slice(4) : "", n = (e) => Array.isArray(e), r = (e) => {
3
+ if (typeof e != "object" || !e) return !1;
4
+ let t = Object.getPrototypeOf(e);
5
+ return t === Object.prototype || t === null;
6
+ }, i = (t) => {
7
+ if (typeof t == "function") return `${e}ƒ ${t.name || "anonymous"}()`;
8
+ if (n(t)) {
9
+ let e = t.map(i);
10
+ return e.every((e, n) => e === t[n]) ? t : e;
11
+ }
12
+ if (!r(t)) return t;
13
+ let a = {}, o = !1;
14
+ for (let [e, n] of Object.entries(t)) a[e] = i(n), o ||= a[e] !== n;
15
+ return o ? a : t;
16
+ }, a = (e) => {
17
+ if (!e) return;
18
+ let t = i(e);
19
+ return r(t) ? t : e;
20
+ };
21
+ //#endregion
22
+ export { a as default, t as readFunctionLabel };
@@ -0,0 +1,3 @@
1
+ import { TypesElement } from '@uiw/react-json-view';
2
+ declare const renderFunctionValue: NonNullable<TypesElement<'span'>['render']>;
3
+ export default renderFunctionValue;
@@ -0,0 +1,13 @@
1
+ import { readFunctionLabel as e } from "./mapFunctionValues.mjs";
2
+ import { jsx as t } from "react/jsx-runtime";
3
+ //#region src/components/DevToolsPanel/tabs/StoreViewer/helpers/renderFunctionValue.tsx
4
+ var n = (n, { type: r, value: i }) => {
5
+ if (r !== "value" || typeof i != "string") return null;
6
+ let a = e(i);
7
+ return a ? /* @__PURE__ */ t("span", {
8
+ className: "w-rjv-value text-violet-400 italic",
9
+ children: a
10
+ }) : null;
11
+ };
12
+ //#endregion
13
+ export { n as default };
@@ -5,155 +5,154 @@ 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 c from "@plitzi/plitzi-ui/hooks/useStorage";
9
- import { use as l, useCallback as u, useEffect as d, useMemo as f, useRef as p, useState as m } from "react";
10
- import h from "@plitzi/sdk-navigation/NavigationContext";
8
+ import { useCallback as c, useEffect as l, useMemo as u, useRef as d, useState as f } from "react";
9
+ import { jsx as p, jsxs as m } from "react/jsx-runtime";
10
+ import h from "@plitzi/plitzi-ui/hooks/useStorage";
11
11
  import { useCommonStore as g } from "@plitzi/sdk-shared/store";
12
- import { jsx as _, jsxs as v } from "react/jsx-runtime";
13
- import { useTracing as y } from "@plitzi/sdk-shared/store/tracing";
12
+ import { useTracing as _ } from "@plitzi/sdk-shared/store/tracing";
14
13
  //#region src/components/DevToolsPanel/tabs/TracingViewer/TracingViewer.tsx
15
- var b = () => {
16
- let { enabled: b, hydrated: x, commits: S, tree: C, clear: w } = y(), [T] = g("schema.flat"), { currentPageId: E } = l(h), [D, O] = c("plitzi-sdk.dev-tools.tracing.view", "ranked"), [k, A] = c("plitzi-sdk.dev-tools.tracing.persist", !1), [j, M] = c("plitzi-sdk.dev-tools.tracing.sidebar-open", !1), [N, P] = m(), [F, I] = m(), L = p(E);
17
- d(() => {
18
- L.current !== E && (L.current = E, k || (w(), P(void 0), I(void 0)));
14
+ var v = () => {
15
+ let { enabled: v, hydrated: y, commits: b, tree: x, clear: S } = _(), [[C, w]] = g(["schema.flat", "navigation.currentPageId"]), [T, E] = h("plitzi-sdk.dev-tools.tracing.view", "ranked"), [D, O] = h("plitzi-sdk.dev-tools.tracing.persist", !1), [k, A] = h("plitzi-sdk.dev-tools.tracing.sidebar-open", !1), [j, M] = f(), [N, P] = f(), F = d(w);
16
+ l(() => {
17
+ F.current !== w && (F.current = w, D || (S(), M(void 0), P(void 0)));
19
18
  }, [
20
- E,
21
- k,
22
- w
19
+ w,
20
+ D,
21
+ S
23
22
  ]);
24
- let R = f(() => {
25
- if (!(!x || S.length === 0)) return {
23
+ let I = u(() => {
24
+ if (!(!y || b.length === 0)) return {
26
25
  commitId: 0,
27
- timestamp: S[0].timestamp,
26
+ timestamp: b[0].timestamp,
28
27
  duration: 0,
29
- elementCount: Object.keys(C).length,
28
+ elementCount: Object.keys(x).length,
30
29
  elements: [],
31
30
  causes: []
32
31
  };
33
32
  }, [
33
+ y,
34
+ b,
35
+ x
36
+ ]), L = u(() => I ? [I, ...b] : b, [I, b]), R = b[0]?.commitId, z = u(() => {
37
+ if (L.length === 0) return -1;
38
+ let e = L.findIndex((e) => e.commitId === j);
39
+ return e === -1 ? L.length - 1 : e;
40
+ }, [L, j]), B = z === -1 ? void 0 : L[z], V = B?.commitId === 0, H = u(() => B && !V ? e(B, x, C) : void 0, [
41
+ B,
42
+ V,
34
43
  x,
35
- S,
36
44
  C
37
- ]), z = f(() => R ? [R, ...S] : S, [R, S]), B = S[0]?.commitId, V = f(() => {
38
- if (z.length === 0) return -1;
39
- let e = z.findIndex((e) => e.commitId === N);
40
- return e === -1 ? z.length - 1 : e;
41
- }, [z, N]), H = V === -1 ? void 0 : z[V], U = H?.commitId === 0, W = f(() => H && !U ? e(H, C, T) : void 0, [
42
- H,
43
- U,
44
- C,
45
- T
46
- ]), G = f(() => W?.nodes.find((e) => e.id === F), [W, F]);
47
- s(G?.id);
48
- let K = f(() => H ? t(H, x, H.commitId === B) : "update", [
49
- H,
50
- x,
51
- B
52
- ]), q = u((e) => {
53
- P(e), I(void 0);
54
- }, []), J = u((e) => {
55
- I(e), e && M(!0);
56
- }, [M]), Y = u(() => M((e) => !e), [M]), X = u((e) => {
57
- let t = V + e;
58
- t >= 0 && t < z.length && (P(z[t].commitId), I(void 0));
59
- }, [z, V]), Z = u((e) => {
60
- (e.key === "ArrowLeft" || e.key === "ArrowRight") && (e.preventDefault(), X(e.key === "ArrowLeft" ? -1 : 1));
61
- }, [X]);
62
- return b ? H ? /* @__PURE__ */ v("div", {
45
+ ]), U = u(() => H?.nodes.find((e) => e.id === N), [H, N]);
46
+ s(U?.id);
47
+ let W = u(() => B ? t(B, y, B.commitId === R) : "update", [
48
+ B,
49
+ y,
50
+ R
51
+ ]), G = c((e) => {
52
+ M(e), P(void 0);
53
+ }, []), K = c((e) => {
54
+ P(e), e && A(!0);
55
+ }, [A]), q = c(() => A((e) => !e), [A]), J = c((e) => {
56
+ let t = z + e;
57
+ t >= 0 && t < L.length && (M(L[t].commitId), P(void 0));
58
+ }, [L, z]), Y = c((e) => {
59
+ (e.key === "ArrowLeft" || e.key === "ArrowRight") && (e.preventDefault(), J(e.key === "ArrowLeft" ? -1 : 1));
60
+ }, [J]);
61
+ return v ? B ? /* @__PURE__ */ m("div", {
63
62
  className: "flex h-full min-h-0 w-full flex-col",
64
- onKeyDown: Z,
63
+ onKeyDown: Y,
65
64
  children: [
66
- /* @__PURE__ */ _(o, {
67
- view: D,
68
- persist: k,
69
- commitCount: S.length,
70
- onClear: w,
71
- onViewChange: O,
72
- onPersistChange: A
65
+ /* @__PURE__ */ p(o, {
66
+ view: T,
67
+ persist: D,
68
+ commitCount: b.length,
69
+ onClear: S,
70
+ onViewChange: E,
71
+ onPersistChange: O
73
72
  }),
74
- D !== "hotspots" && /* @__PURE__ */ _(n, {
75
- commits: z,
76
- selectedIndex: V,
77
- hydrated: x,
78
- onSelect: q
73
+ T !== "hotspots" && /* @__PURE__ */ p(n, {
74
+ commits: L,
75
+ selectedIndex: z,
76
+ hydrated: y,
77
+ onSelect: G
79
78
  }),
80
- D !== "hotspots" && U && /* @__PURE__ */ v("div", {
79
+ T !== "hotspots" && V && /* @__PURE__ */ m("div", {
81
80
  className: "flex grow flex-col items-center justify-center gap-3 px-6 text-center text-zinc-500 dark:text-zinc-400",
82
81
  children: [
83
- /* @__PURE__ */ _("i", { className: "fa-solid fa-server text-3xl opacity-30" }),
84
- /* @__PURE__ */ _("span", {
82
+ /* @__PURE__ */ p("i", { className: "fa-solid fa-server text-3xl opacity-30" }),
83
+ /* @__PURE__ */ p("span", {
85
84
  className: "text-sm font-medium text-zinc-600 dark:text-zinc-300",
86
85
  children: "Server render (SSR)"
87
86
  }),
88
- /* @__PURE__ */ v("span", {
87
+ /* @__PURE__ */ m("span", {
89
88
  className: "max-w-md text-xs leading-relaxed",
90
89
  children: [
91
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#",
92
- B,
91
+ R,
93
92
  " ",
94
93
  "is the client ",
95
- /* @__PURE__ */ _("span", {
94
+ /* @__PURE__ */ p("span", {
96
95
  className: "font-medium text-violet-600 dark:text-violet-400",
97
96
  children: "hydration"
98
97
  }),
99
98
  " of this tree."
100
99
  ]
101
100
  }),
102
- /* @__PURE__ */ v("span", {
101
+ /* @__PURE__ */ m("span", {
103
102
  className: "text-[11px] opacity-70",
104
- children: [H.elementCount, " elements in the rendered tree"]
103
+ children: [B.elementCount, " elements in the rendered tree"]
105
104
  })
106
105
  ]
107
106
  }),
108
- D === "ranked" && W && /* @__PURE__ */ _(a, {
109
- commit: H,
110
- model: W,
111
- active: G,
112
- origin: K,
113
- sidebarOpen: j,
114
- onSelectElement: J,
115
- onToggleSidebar: Y
107
+ T === "ranked" && H && /* @__PURE__ */ p(a, {
108
+ commit: B,
109
+ model: H,
110
+ active: U,
111
+ origin: W,
112
+ sidebarOpen: k,
113
+ onSelectElement: K,
114
+ onToggleSidebar: q
116
115
  }),
117
- D === "flamegraph" && W && /* @__PURE__ */ _(r, {
118
- commit: H,
119
- model: W,
120
- active: G,
121
- origin: K,
122
- sidebarOpen: j,
123
- onSelectElement: J,
124
- onToggleSidebar: Y
116
+ T === "flamegraph" && H && /* @__PURE__ */ p(r, {
117
+ commit: B,
118
+ model: H,
119
+ active: U,
120
+ origin: W,
121
+ sidebarOpen: k,
122
+ onSelectElement: K,
123
+ onToggleSidebar: q
125
124
  }),
126
- D === "hotspots" && /* @__PURE__ */ _(i, {
127
- commits: S,
128
- tree: C,
129
- flat: T,
130
- selectedId: F,
131
- onSelectElement: J
125
+ T === "hotspots" && /* @__PURE__ */ p(i, {
126
+ commits: b,
127
+ tree: x,
128
+ flat: C,
129
+ selectedId: N,
130
+ onSelectElement: K
132
131
  })
133
132
  ]
134
- }) : /* @__PURE__ */ v("div", {
133
+ }) : /* @__PURE__ */ m("div", {
135
134
  className: "flex h-full min-h-0 w-full flex-col",
136
- children: [/* @__PURE__ */ _(o, {
137
- view: D,
138
- persist: k,
139
- commitCount: S.length,
140
- onClear: w,
141
- onViewChange: O,
142
- onPersistChange: A
143
- }), /* @__PURE__ */ v("div", {
135
+ children: [/* @__PURE__ */ p(o, {
136
+ view: T,
137
+ persist: D,
138
+ commitCount: b.length,
139
+ onClear: S,
140
+ onViewChange: E,
141
+ onPersistChange: O
142
+ }), /* @__PURE__ */ m("div", {
144
143
  className: "flex grow flex-col items-center justify-center gap-2 text-zinc-400 dark:text-zinc-500",
145
- children: [/* @__PURE__ */ _("i", { className: "fa-solid fa-chart-column text-3xl opacity-20" }), /* @__PURE__ */ _("span", {
144
+ children: [/* @__PURE__ */ p("i", { className: "fa-solid fa-chart-column text-3xl opacity-20" }), /* @__PURE__ */ p("span", {
146
145
  className: "text-xs",
147
146
  children: "No commits recorded yet — interact with the page"
148
147
  })]
149
148
  })]
150
- }) : /* @__PURE__ */ v("div", {
149
+ }) : /* @__PURE__ */ m("div", {
151
150
  className: "flex h-full w-full flex-col items-center justify-center gap-2 text-zinc-400 dark:text-zinc-500",
152
- children: [/* @__PURE__ */ _("i", { className: "fa-solid fa-gauge-high text-3xl opacity-20" }), /* @__PURE__ */ _("span", {
151
+ children: [/* @__PURE__ */ p("i", { className: "fa-solid fa-gauge-high text-3xl opacity-20" }), /* @__PURE__ */ p("span", {
153
152
  className: "text-xs",
154
153
  children: "Enable debugMode to record render tracing"
155
154
  })]
156
155
  });
157
156
  };
158
157
  //#endregion
159
- export { b as default };
158
+ export { v as default };
@@ -5,10 +5,12 @@ import { jsx as d, jsxs as f } from "react/jsx-runtime";
5
5
  //#region src/components/DevToolsPanel/tabs/TracingViewer/components/CommitStrip/CommitStrip.tsx
6
6
  var p = 6, m = ({ commits: m, selectedIndex: h, hydrated: g, onSelect: _ }) => {
7
7
  let v = u(null), y = l(() => Math.max(1, ...m.map((e) => e.duration)), [m]), b = l(() => m.find((e) => e.commitId !== 0)?.commitId, [m]);
8
- c(() => v.current?.scrollIntoView({
9
- block: "nearest",
10
- inline: "nearest"
11
- }), [h]);
8
+ c(() => {
9
+ v.current?.scrollIntoView({
10
+ block: "nearest",
11
+ inline: "nearest"
12
+ });
13
+ }, [h]);
12
14
  let x = s((e) => () => _(e), [_]), S = s((e) => {
13
15
  if (e.key !== "ArrowLeft" && e.key !== "ArrowRight") return;
14
16
  e.preventDefault(), e.stopPropagation();