@qwik.dev/devtools 2.0.0-beta.43 → 2.0.0-beta.45

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 (85) hide show
  1. package/dist/kit/index.mjs +4 -6
  2. package/dist/plugin/codegen.mjs +1 -1
  3. package/dist/plugin/{create-hook-runtime-ChnIePeB.mjs → create-hook-runtime-CoRDu99E.mjs} +2 -4
  4. package/dist/plugin/index.mjs +4 -7
  5. package/dist/ui/{bundle-graph-CoI___e1.json → bundle-graph-DNRrO_5W.json} +1 -1
  6. package/dist/ui/entry.extension.qwik.mjs +3 -2
  7. package/dist/ui/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/element.qwik.mjs +2 -2
  8. package/dist/ui/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/index.qwik.mjs +1 -1
  9. package/dist/ui/node_modules/.pnpm/{property-information@7.1.0 → property-information@7.2.0}/node_modules/property-information/lib/html.qwik.mjs +11 -1
  10. package/dist/ui/node_modules/.pnpm/{property-information@7.1.0 → property-information@7.2.0}/node_modules/property-information/lib/svg.qwik.mjs +2 -0
  11. package/dist/ui/packages/devtools/kit/src/overlay-paths.qwik.mjs +4 -4
  12. package/dist/ui/packages/devtools/ui/src/components/DevtoolsButton/DevtoolsButton.qwik.mjs +15 -13
  13. package/dist/ui/packages/devtools/ui/src/components/DevtoolsContainer/DevtoolsContainer.qwik.mjs +4 -1
  14. package/dist/ui/packages/devtools/ui/src/components/DevtoolsPanel/DevtoolsPanel.qwik.mjs +82 -69
  15. package/dist/ui/packages/devtools/ui/src/components/IconButton/IconButton.qwik.mjs +3 -2
  16. package/dist/ui/packages/devtools/ui/src/components/Icons/Icons.qwik.mjs +178 -96
  17. package/dist/ui/packages/devtools/ui/src/components/InfoBanner/InfoBanner.qwik.mjs +4 -2
  18. package/dist/ui/packages/devtools/ui/src/components/Tab/Tab.qwik.mjs +5 -6
  19. package/dist/ui/packages/devtools/ui/src/components/TabContent/TabContent.qwik.mjs +1 -1
  20. package/dist/ui/packages/devtools/ui/src/components/TabTitle/TabTitle.qwik.mjs +1 -1
  21. package/dist/ui/packages/devtools/ui/src/components/ThemeToggle/QwikThemeToggle.qwik.mjs +4 -4
  22. package/dist/ui/packages/devtools/ui/src/components/ThemeToggle/theme-script.qwik.mjs +1 -1
  23. package/dist/ui/packages/devtools/ui/src/components/Tree/Tree.qwik.mjs +36 -19
  24. package/dist/ui/packages/devtools/ui/src/devtools/CommandPalette.qwik.mjs +40 -26
  25. package/dist/ui/packages/devtools/ui/src/devtools/CustomizeTabsPanel.qwik.mjs +39 -28
  26. package/dist/ui/packages/devtools/ui/src/devtools/DevtoolsContent.qwik.mjs +30 -45
  27. package/dist/ui/packages/devtools/ui/src/devtools/DevtoolsSidebar.qwik.mjs +26 -20
  28. package/dist/ui/packages/devtools/ui/src/devtools/QwikDevtools.qwik.mjs +7 -7
  29. package/dist/ui/packages/devtools/ui/src/devtools/QwikDevtoolsExtension.qwik.mjs +3 -2
  30. package/dist/ui/packages/devtools/ui/src/devtools/command-palette.qwik.mjs +24 -12
  31. package/dist/ui/packages/devtools/ui/src/devtools/page-data-source.qwik.mjs +4 -2
  32. package/dist/ui/packages/devtools/ui/src/devtools/rpc.qwik.mjs +6 -4
  33. package/dist/ui/packages/devtools/ui/src/devtools/sidebar-tabs.qwik.mjs +24 -13
  34. package/dist/ui/packages/devtools/ui/src/devtools/tabs.qwik.mjs +10 -10
  35. package/dist/ui/packages/devtools/ui/src/features/Assets/Assets.qwik.mjs +2 -2
  36. package/dist/ui/packages/devtools/ui/src/features/BuildAnalysis/BuildAnalysis.qwik.mjs +10 -8
  37. package/dist/ui/packages/devtools/ui/src/features/CodeBreak/CodeBreak.qwik.mjs +19 -21
  38. package/dist/ui/packages/devtools/ui/src/features/CodeBreak/HtmlParser.qwik.mjs +10 -8
  39. package/dist/ui/packages/devtools/ui/src/features/CodeBreak/StateParser.qwik.mjs +10 -8
  40. package/dist/ui/packages/devtools/ui/src/features/HookTree/HookTree.qwik.mjs +67 -56
  41. package/dist/ui/packages/devtools/ui/src/features/HookTree/hookTreeHelpers.qwik.mjs +6 -3
  42. package/dist/ui/packages/devtools/ui/src/features/Inspect/Inspect.qwik.mjs +12 -11
  43. package/dist/ui/packages/devtools/ui/src/features/Inspect/iframe-theme.qwik.mjs +2 -1
  44. package/dist/ui/packages/devtools/ui/src/features/Overview/Overview.qwik.mjs +14 -10
  45. package/dist/ui/packages/devtools/ui/src/features/Packages/Packages.qwik.mjs +24 -23
  46. package/dist/ui/packages/devtools/ui/src/features/Packages/components/DependencyCard/DependencyCard.qwik.mjs +34 -24
  47. package/dist/ui/packages/devtools/ui/src/features/Packages/components/DependencyOperationFeedback/DependencyOperationFeedback.qwik.mjs +4 -3
  48. package/dist/ui/packages/devtools/ui/src/features/Packages/components/DependencyToolbar/DependencyToolbar.qwik.mjs +19 -18
  49. package/dist/ui/packages/devtools/ui/src/features/Packages/components/InstalledDependencyList/InstalledDependencyList.qwik.mjs +4 -4
  50. package/dist/ui/packages/devtools/ui/src/features/Packages/components/PackageIcon/PackageIcon.qwik.mjs +2 -2
  51. package/dist/ui/packages/devtools/ui/src/features/Packages/components/PackageSearchResults/PackageSearchResults.qwik.mjs +6 -5
  52. package/dist/ui/packages/devtools/ui/src/features/Packages/components/SearchResultCard/SearchResultCard.qwik.mjs +25 -14
  53. package/dist/ui/packages/devtools/ui/src/features/Performance/Performance.qwik.mjs +14 -10
  54. package/dist/ui/packages/devtools/ui/src/features/Performance/components/ComponentCard.qwik.mjs +3 -1
  55. package/dist/ui/packages/devtools/ui/src/features/Performance/components/HookDetailsPanel.qwik.mjs +10 -6
  56. package/dist/ui/packages/devtools/ui/src/features/Performance/components/PerformanceOverview.qwik.mjs +11 -9
  57. package/dist/ui/packages/devtools/ui/src/features/Performance/components/StatCard.qwik.mjs +2 -2
  58. package/dist/ui/packages/devtools/ui/src/features/Performance/computePerfViewModel.qwik.mjs +4 -2
  59. package/dist/ui/packages/devtools/ui/src/features/Preloads/Preloads.qwik.mjs +84 -72
  60. package/dist/ui/packages/devtools/ui/src/features/RenderTree/RenderTree.qwik.mjs +25 -21
  61. package/dist/ui/packages/devtools/ui/src/features/RenderTree/components/HighlightedCodeList.qwik.mjs +2 -1
  62. package/dist/ui/packages/devtools/ui/src/features/RenderTree/components/HookFiltersCard.qwik.mjs +16 -17
  63. package/dist/ui/packages/devtools/ui/src/features/RenderTree/components/RenderTreeTabs.qwik.mjs +4 -2
  64. package/dist/ui/packages/devtools/ui/src/features/RenderTree/components/StateTreeNodeLabel.qwik.mjs +8 -7
  65. package/dist/ui/packages/devtools/ui/src/features/Routes/Routes.qwik.mjs +10 -6
  66. package/dist/ui/q-manifest.json +180 -180
  67. package/package.json +8 -8
  68. /package/dist/ui/node_modules/.pnpm/{debug@4.4.3_supports-color@10.2.2 → debug@4.4.3_supports-color@11.0.0}/node_modules/debug/src/browser.qwik.mjs +0 -0
  69. /package/dist/ui/node_modules/.pnpm/{debug@4.4.3_supports-color@10.2.2 → debug@4.4.3_supports-color@11.0.0}/node_modules/debug/src/common.qwik.mjs +0 -0
  70. /package/dist/ui/node_modules/.pnpm/{property-information@7.1.0 → property-information@7.2.0}/node_modules/property-information/index.qwik.mjs +0 -0
  71. /package/dist/ui/node_modules/.pnpm/{property-information@7.1.0 → property-information@7.2.0}/node_modules/property-information/lib/aria.qwik.mjs +0 -0
  72. /package/dist/ui/node_modules/.pnpm/{property-information@7.1.0 → property-information@7.2.0}/node_modules/property-information/lib/find.qwik.mjs +0 -0
  73. /package/dist/ui/node_modules/.pnpm/{property-information@7.1.0 → property-information@7.2.0}/node_modules/property-information/lib/normalize.qwik.mjs +0 -0
  74. /package/dist/ui/node_modules/.pnpm/{property-information@7.1.0 → property-information@7.2.0}/node_modules/property-information/lib/util/case-insensitive-transform.qwik.mjs +0 -0
  75. /package/dist/ui/node_modules/.pnpm/{property-information@7.1.0 → property-information@7.2.0}/node_modules/property-information/lib/util/case-sensitive-transform.qwik.mjs +0 -0
  76. /package/dist/ui/node_modules/.pnpm/{property-information@7.1.0 → property-information@7.2.0}/node_modules/property-information/lib/util/create.qwik.mjs +0 -0
  77. /package/dist/ui/node_modules/.pnpm/{property-information@7.1.0 → property-information@7.2.0}/node_modules/property-information/lib/util/defined-info.qwik.mjs +0 -0
  78. /package/dist/ui/node_modules/.pnpm/{property-information@7.1.0 → property-information@7.2.0}/node_modules/property-information/lib/util/info.qwik.mjs +0 -0
  79. /package/dist/ui/node_modules/.pnpm/{property-information@7.1.0 → property-information@7.2.0}/node_modules/property-information/lib/util/merge.qwik.mjs +0 -0
  80. /package/dist/ui/node_modules/.pnpm/{property-information@7.1.0 → property-information@7.2.0}/node_modules/property-information/lib/util/schema.qwik.mjs +0 -0
  81. /package/dist/ui/node_modules/.pnpm/{property-information@7.1.0 → property-information@7.2.0}/node_modules/property-information/lib/util/types.qwik.mjs +0 -0
  82. /package/dist/ui/node_modules/.pnpm/{property-information@7.1.0 → property-information@7.2.0}/node_modules/property-information/lib/xlink.qwik.mjs +0 -0
  83. /package/dist/ui/node_modules/.pnpm/{property-information@7.1.0 → property-information@7.2.0}/node_modules/property-information/lib/xml.qwik.mjs +0 -0
  84. /package/dist/ui/node_modules/.pnpm/{property-information@7.1.0 → property-information@7.2.0}/node_modules/property-information/lib/xmlns.qwik.mjs +0 -0
  85. /package/dist/ui/node_modules/.pnpm/{vite-hot-client@2.1.0_vite@8.2.1_@types_node@24.10.0_esbuild@0.28.2_jiti@2.6.1_terser@5.46.0_tsx@4.21.0_yaml@2.8.3_ → vite-hot-client@2.2.0_vite@8.2.1_@types_node@25.6.0_esbuild@0.28.2_jiti@2.7.0_terser@5.46.0_tsx@4.21.0_yaml@2.9.0_}/node_modules/vite-hot-client/dist/index.qwik.mjs +0 -0
@@ -1,42 +1,43 @@
1
- import { _fnSignal, _jsxSorted, _wrapProp, componentQrl, inlinedQrl } from "@qwik.dev/core";
1
+ import { _captures, _fnSignal, _jsxSorted, _wrapProp, componentQrl, inlinedQrl } from "@qwik.dev/core";
2
2
  var _hf0 = (p0) => p0.isSearching ? "Searching..." : "Search";
3
+ var _hf0_str = "p0.isSearching?\"Searching...\":\"Search\"";
3
4
  var _hf1 = (p0) => p0.isRefreshing ? "Refreshing..." : "Refresh";
5
+ var _hf1_str = "p0.isRefreshing?\"Refreshing...\":\"Refresh\"";
4
6
  var DependencyToolbar = /*#__PURE__*/ componentQrl(/*#__PURE__*/ inlinedQrl((props) => {
5
7
  return /*#__PURE__*/ _jsxSorted("div", null, { class: "border-glass-border bg-card-item-bg rounded-xl border p-4" }, /*#__PURE__*/ _jsxSorted("div", null, { class: "grid gap-3 lg:grid-cols-[1fr_1fr_auto]" }, [
6
- /*#__PURE__*/ _jsxSorted("label", null, { class: "flex min-w-0 flex-col gap-1.5" }, [/*#__PURE__*/ _jsxSorted("span", null, { class: "text-muted-foreground text-xs font-medium" }, "Installed dependencies", 3, null), /*#__PURE__*/ _jsxSorted("input", {
7
- "q-e:input": /*#__PURE__*/ inlinedQrl((_, target, props) => props.onInstalledSearch$(target.value), "DependencyToolbar_component_div_div_label_input_q_e_input_nhSJP6PYDI0").m(),
8
- "q:p": props,
9
- value: _wrapProp(props, "installedSearch")
10
- }, {
8
+ /*#__PURE__*/ _jsxSorted("label", null, { class: "flex min-w-0 flex-col gap-1.5" }, [/*#__PURE__*/ _jsxSorted("span", null, { class: "text-muted-foreground text-xs font-medium" }, "Installed dependencies", 3, null), /*#__PURE__*/ _jsxSorted("input", { value: _wrapProp(props, "installedSearch") }, {
9
+ "q-e:input": /*#__PURE__*/ inlinedQrl((_, target) => {
10
+ return _captures[0].onInstalledSearch$(target.value);
11
+ }, "DependencyToolbar_component_div_div_label_input_q_e_input_nhSJP6PYDI0", [props]),
11
12
  class: "border-border bg-background/60 text-foreground placeholder:text-muted-foreground rounded-lg border px-3 py-2 text-sm outline-none focus:border-primary",
12
13
  placeholder: "Search installed packages",
13
14
  type: "search"
14
- }, null, 6, null)], 1, null),
15
- /*#__PURE__*/ _jsxSorted("label", null, { class: "flex min-w-0 flex-col gap-1.5" }, [/*#__PURE__*/ _jsxSorted("span", null, { class: "text-muted-foreground text-xs font-medium" }, "Search npm", 3, null), /*#__PURE__*/ _jsxSorted("div", null, { class: "flex gap-2" }, [/*#__PURE__*/ _jsxSorted("input", {
16
- "q-e:input": /*#__PURE__*/ inlinedQrl((_, target, props) => props.onPackageSearch$(target.value), "DependencyToolbar_component_div_div_label_div_input_q_e_input_mwHCBr4jtxk").m(),
17
- "q-e:keydown": /*#__PURE__*/ inlinedQrl((event, _1, props) => {
15
+ }, null, 3, null)], 1, null),
16
+ /*#__PURE__*/ _jsxSorted("label", null, { class: "flex min-w-0 flex-col gap-1.5" }, [/*#__PURE__*/ _jsxSorted("span", null, { class: "text-muted-foreground text-xs font-medium" }, "Search npm", 3, null), /*#__PURE__*/ _jsxSorted("div", null, { class: "flex gap-2" }, [/*#__PURE__*/ _jsxSorted("input", { value: _wrapProp(props, "packageSearch") }, {
17
+ "q-e:input": /*#__PURE__*/ inlinedQrl((_, target) => {
18
+ return _captures[0].onPackageSearch$(target.value);
19
+ }, "DependencyToolbar_component_div_div_label_div_input_q_e_input_mwHCBr4jtxk", [props]),
20
+ "q-e:keydown": /*#__PURE__*/ inlinedQrl((event) => {
21
+ const props = _captures[0];
18
22
  if (event.key === "Enter") props.onSearch$();
19
- }, "DependencyToolbar_component_div_div_label_div_input_q_e_keydown_NtKT2JkJI0g").m(),
20
- "q:p": props,
21
- value: _wrapProp(props, "packageSearch")
22
- }, {
23
+ }, "DependencyToolbar_component_div_div_label_div_input_q_e_keydown_NtKT2JkJI0g", [props]),
23
24
  class: "border-border bg-background/60 text-foreground placeholder:text-muted-foreground min-w-0 flex-1 rounded-lg border px-3 py-2 text-sm outline-none focus:border-primary",
24
25
  placeholder: "Find new packages",
25
26
  type: "search"
26
- }, null, 6, null), /*#__PURE__*/ _jsxSorted("button", {
27
+ }, null, 3, null), /*#__PURE__*/ _jsxSorted("button", {
27
28
  disabled: _wrapProp(props, "isSearching"),
28
29
  "q-e:click": props.onSearch$
29
30
  }, {
30
31
  type: "button",
31
32
  class: "bg-primary/10 hover:bg-primary/20 text-primary rounded-lg px-3 py-2 text-sm font-medium transition-colors disabled:cursor-not-allowed disabled:opacity-50"
32
- }, _fnSignal(_hf0, [props]), 0, null)], 1, null)], 1, null),
33
+ }, _fnSignal(_hf0, [props], _hf0_str), 0, null)], 1, null)], 1, null),
33
34
  /*#__PURE__*/ _jsxSorted("div", null, { class: "flex items-end" }, /*#__PURE__*/ _jsxSorted("button", {
34
35
  disabled: _wrapProp(props, "isRefreshing"),
35
36
  "q-e:click": props.onRefresh$
36
37
  }, {
37
38
  type: "button",
38
39
  class: "border-border bg-foreground/5 hover:bg-foreground/10 rounded-lg border px-3 py-2 text-sm transition-colors disabled:cursor-not-allowed disabled:opacity-50"
39
- }, _fnSignal(_hf1, [props]), 0, null), 1, null)
40
- ], 1, null), 1, "DU_0");
40
+ }, _fnSignal(_hf1, [props], _hf1_str), 0, null), 1, null)
41
+ ], 1, null), 1, "0M_0");
41
42
  }, "DependencyToolbar_component_A01yfmGXjeo"));
42
43
  export { DependencyToolbar };
@@ -6,16 +6,16 @@ var InstalledDependencyList = /*#__PURE__*/ componentQrl(/*#__PURE__*/ inlinedQr
6
6
  "Dependencies are being preloaded in the background...",
7
7
  /*#__PURE__*/ _jsxSorted("br", null, null, null, 3, null),
8
8
  "This should only take a moment"
9
- ], 3, null)], 3, null), 3, "Bb_0");
10
- if (props.dependencies.length === 0) return /*#__PURE__*/ _jsxSorted("div", null, { class: "py-8 text-center" }, /*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground text-sm" }, "No dependencies found in package.json", 3, null), 3, "Bb_1");
9
+ ], 3, null)], 3, null), 3, "Jr_0");
10
+ if (props.dependencies.length === 0) return /*#__PURE__*/ _jsxSorted("div", null, { class: "py-8 text-center" }, /*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground text-sm" }, "No dependencies found in package.json", 3, null), 3, "Jr_1");
11
11
  if (props.filteredDependencies.length === 0) return /*#__PURE__*/ _jsxSorted("div", null, { class: "py-8 text-center" }, /*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground text-sm" }, [
12
12
  "No installed dependencies match \"",
13
13
  _wrapProp(props, "searchKeyword"),
14
14
  "\""
15
- ], 1, null), 1, "Bb_2");
15
+ ], 1, null), 1, "Jr_2");
16
16
  return /*#__PURE__*/ _jsxSorted("div", null, { class: "grid gap-4 md:grid-cols-2 lg:grid-cols-3" }, props.filteredDependencies.map((pkg) => /*#__PURE__*/ _jsxSorted(DependencyCard, {
17
17
  onUpdate$: props.onUpdate$,
18
18
  pkg
19
- }, { activeOperationKey: _wrapProp(props, "activeOperationKey") }, null, 2, pkg.name)), 1, "Bb_3");
19
+ }, { activeOperationKey: _wrapProp(props, "activeOperationKey") }, null, 2, pkg.name)), 1, "Jr_3");
20
20
  }, "InstalledDependencyList_component_uodXFl0i7Y0"));
21
21
  export { InstalledDependencyList };
@@ -6,7 +6,7 @@ var PackageIcon = /*#__PURE__*/ componentQrl(/*#__PURE__*/ inlinedQrl((_rawProps
6
6
  iconError.value = true;
7
7
  }, "PackageIcon_component_handleIconError_6GG7b4NJpQI", [iconError]);
8
8
  const fallbackInitial = _rawProps.packageName.split("/").pop()?.charAt(0).toUpperCase() || _rawProps.packageName.charAt(0).toUpperCase();
9
- if (!_rawProps.iconUrl || iconError.value) return /*#__PURE__*/ _jsxSorted("span", null, { class: "text-primary text-sm font-bold" }, fallbackInitial, 1, "JC_0");
9
+ if (!_rawProps.iconUrl || iconError.value) return /*#__PURE__*/ _jsxSorted("span", null, { class: "text-primary text-sm font-bold" }, fallbackInitial, 1, "6R_0");
10
10
  return /*#__PURE__*/ _jsxSorted("img", {
11
11
  alt: `${_rawProps.packageName} icon`,
12
12
  src: _wrapProp(_rawProps, "iconUrl")
@@ -16,6 +16,6 @@ var PackageIcon = /*#__PURE__*/ componentQrl(/*#__PURE__*/ inlinedQrl((_rawProps
16
16
  height: "24",
17
17
  "q-e:error": handleIconError,
18
18
  loading: "lazy"
19
- }, null, 3, "JC_1");
19
+ }, null, 3, "6R_1");
20
20
  }, "PackageIcon_component_JgJ0UtqxVLw"));
21
21
  export { PackageIcon };
@@ -2,23 +2,24 @@ import { SearchResultCard } from "../SearchResultCard/SearchResultCard.qwik.mjs"
2
2
  import "../SearchResultCard/index.qwik.mjs";
3
3
  import { _fnSignal, _jsxSorted, _wrapProp, componentQrl, inlinedQrl } from "@qwik.dev/core";
4
4
  var _hf0 = (p0, p1) => p0.selectedTypes[p1.name] || "devDependencies";
5
+ var _hf0_str = "p0.selectedTypes[p1.name]||\"devDependencies\"";
5
6
  var PackageSearchResults = /*#__PURE__*/ componentQrl(/*#__PURE__*/ inlinedQrl((props) => {
6
7
  if (!props.query.trim()) return null;
7
- if (props.isSearching) return /*#__PURE__*/ _jsxSorted("div", null, { class: "border-glass-border bg-card-item-bg text-muted-foreground rounded-xl border p-4 text-sm" }, "Searching packages...", 3, "bz_0");
8
+ if (props.isSearching) return /*#__PURE__*/ _jsxSorted("div", null, { class: "border-glass-border bg-card-item-bg text-muted-foreground rounded-xl border p-4 text-sm" }, "Searching packages...", 3, "RU_0");
8
9
  if (props.error) return /*#__PURE__*/ _jsxSorted("div", null, { class: "rounded-xl border border-red-500/20 bg-red-500/10 p-4 text-sm text-red-300" }, [/*#__PURE__*/ _jsxSorted("div", null, null, _wrapProp(props, "error"), 1, null), /*#__PURE__*/ _jsxSorted("button", { "q-e:click": props.onRetrySearch$ }, {
9
10
  type: "button",
10
11
  class: "mt-3 rounded-lg bg-red-500/10 px-3 py-1.5 text-xs font-medium hover:bg-red-500/20"
11
- }, "Retry", 2, null)], 1, "bz_1");
12
+ }, "Retry", 2, null)], 1, "RU_1");
12
13
  if (props.results.length === 0) return /*#__PURE__*/ _jsxSorted("div", null, { class: "border-glass-border bg-card-item-bg text-muted-foreground rounded-xl border p-4 text-sm" }, [
13
14
  "No external packages found for \"",
14
15
  _wrapProp(props, "query"),
15
16
  "\"."
16
- ], 1, "bz_2");
17
+ ], 1, "RU_2");
17
18
  return /*#__PURE__*/ _jsxSorted("div", null, { class: "flex flex-col gap-3" }, props.results.map((result) => /*#__PURE__*/ _jsxSorted(SearchResultCard, {
18
19
  onInstall$: props.onInstall$,
19
20
  onTypeChange$: props.onTypeChange$,
20
21
  result,
21
- selectedType: _fnSignal(_hf0, [props, result])
22
- }, { activeOperationKey: _wrapProp(props, "activeOperationKey") }, null, 2, result.name)), 1, "bz_3");
22
+ selectedType: _fnSignal(_hf0, [props, result], _hf0_str)
23
+ }, { activeOperationKey: _wrapProp(props, "activeOperationKey") }, null, 2, result.name)), 1, "RU_3");
23
24
  }, "PackageSearchResults_component_EKXKiudzonI"));
24
25
  export { PackageSearchResults };
@@ -1,32 +1,43 @@
1
- import { _fnSignal, _jsxSorted, _wrapProp, componentQrl, inlinedQrl } from "@qwik.dev/core";
1
+ import { _captures, _fnSignal, _jsxSorted, _wrapProp, componentQrl, inlinedQrl } from "@qwik.dev/core";
2
2
  var _hf0 = (p0) => p0.result.npmUrl;
3
+ var _hf0_str = "p0.result.npmUrl";
3
4
  var _hf1 = (p0) => p0.result.name;
5
+ var _hf1_str = "p0.result.name";
4
6
  var _hf2 = (p0) => p0.result.latestVersion;
7
+ var _hf2_str = "p0.result.latestVersion";
5
8
  var _hf3 = (p0) => p0.result.installedVersion;
9
+ var _hf3_str = "p0.result.installedVersion";
6
10
  var _hf4 = (p0) => p0.result.description || "No description available";
11
+ var _hf4_str = "p0.result.description||\"No description available\"";
7
12
  var _hf5 = (p0, p1) => p1.result.isInstalled || p0;
13
+ var _hf5_str = "p1.result.isInstalled||p0";
8
14
  var _hf6 = (p0, p1) => p1.result.isInstalled ? "Installed" : p0 ? "Installing..." : "Install";
15
+ var _hf6_str = "p1.result.isInstalled?\"Installed\":p0?\"Installing...\":\"Install\"";
9
16
  var SearchResultCard = /*#__PURE__*/ componentQrl(/*#__PURE__*/ inlinedQrl((props) => {
10
17
  const isInstalling = props.activeOperationKey === `install:${props.result.name}`;
11
18
  return /*#__PURE__*/ _jsxSorted("div", null, { class: "border-glass-border bg-card-item-bg rounded-xl border p-4" }, /*#__PURE__*/ _jsxSorted("div", null, { class: "flex flex-col gap-3" }, [/*#__PURE__*/ _jsxSorted("div", null, { class: "flex items-start justify-between gap-3" }, /*#__PURE__*/ _jsxSorted("div", null, { class: "min-w-0" }, [/*#__PURE__*/ _jsxSorted("div", null, { class: "flex flex-wrap items-center gap-2" }, [
12
- /*#__PURE__*/ _jsxSorted("a", { href: _fnSignal(_hf0, [props]) }, {
19
+ /*#__PURE__*/ _jsxSorted("a", { href: _fnSignal(_hf0, [props], _hf0_str) }, {
13
20
  target: "_blank",
14
21
  class: "text-foreground hover:text-primary truncate text-sm font-semibold"
15
- }, _fnSignal(_hf1, [props]), 1, null),
16
- /*#__PURE__*/ _jsxSorted("span", null, { class: "bg-primary/10 text-primary rounded-md px-2 py-0.5 text-xs" }, ["v", _fnSignal(_hf2, [props])], 1, null),
17
- props.result.isInstalled ? /*#__PURE__*/ _jsxSorted("span", null, { class: "rounded-md border border-emerald-500/20 bg-emerald-500/10 px-2 py-0.5 text-xs text-emerald-300" }, ["Installed ", _fnSignal(_hf3, [props])], 1, "LR_0") : null
18
- ], 1, null), /*#__PURE__*/ _jsxSorted("p", null, { class: "text-muted-foreground mt-2 line-clamp-2 text-sm" }, _fnSignal(_hf4, [props]), 1, null)], 1, null), 1, null), /*#__PURE__*/ _jsxSorted("div", null, { class: "flex flex-wrap items-center justify-between gap-3" }, [/*#__PURE__*/ _jsxSorted("select", {
19
- disabled: _fnSignal(_hf5, [isInstalling, props]),
20
- "q-e:change": /*#__PURE__*/ inlinedQrl((_, target, props) => props.onTypeChange$(props.result.name, target.value), "SearchResultCard_component_div_div_div_select_q_e_change_157XuaUcsW4").m(),
21
- "q:p": props,
22
+ }, _fnSignal(_hf1, [props], _hf1_str), 1, null),
23
+ /*#__PURE__*/ _jsxSorted("span", null, { class: "bg-primary/10 text-primary rounded-md px-2 py-0.5 text-xs" }, ["v", _fnSignal(_hf2, [props], _hf2_str)], 1, null),
24
+ props.result.isInstalled ? /*#__PURE__*/ _jsxSorted("span", null, { class: "rounded-md border border-emerald-500/20 bg-emerald-500/10 px-2 py-0.5 text-xs text-emerald-300" }, ["Installed ", _fnSignal(_hf3, [props], _hf3_str)], 1, "04_0") : null
25
+ ], 1, null), /*#__PURE__*/ _jsxSorted("p", null, { class: "text-muted-foreground mt-2 line-clamp-2 text-sm" }, _fnSignal(_hf4, [props], _hf4_str), 1, null)], 1, null), 1, null), /*#__PURE__*/ _jsxSorted("div", null, { class: "flex flex-wrap items-center justify-between gap-3" }, [/*#__PURE__*/ _jsxSorted("select", {
26
+ disabled: _fnSignal(_hf5, [isInstalling, props], _hf5_str),
22
27
  value: _wrapProp(props, "selectedType")
23
- }, { class: "border-border bg-background/60 rounded-lg border px-2 py-1.5 text-xs" }, [/*#__PURE__*/ _jsxSorted("option", null, { value: "devDependencies" }, "devDependencies", 3, null), /*#__PURE__*/ _jsxSorted("option", null, { value: "dependencies" }, "dependencies", 3, null)], 6, null), /*#__PURE__*/ _jsxSorted("button", {
24
- disabled: _fnSignal(_hf5, [isInstalling, props]),
25
- "q-e:click": /*#__PURE__*/ inlinedQrl((_, _1, props) => props.onInstall$(props.result.name, props.selectedType), "SearchResultCard_component_div_div_div_button_q_e_click_0DlfMgOZNRQ").m(),
26
- "q:p": props
27
28
  }, {
29
+ "q-e:change": /*#__PURE__*/ inlinedQrl((_, target) => {
30
+ const props = _captures[0];
31
+ return props.onTypeChange$(props.result.name, target.value);
32
+ }, "SearchResultCard_component_div_div_div_select_q_e_change_157XuaUcsW4", [props]),
33
+ class: "border-border bg-background/60 rounded-lg border px-2 py-1.5 text-xs"
34
+ }, [/*#__PURE__*/ _jsxSorted("option", null, { value: "devDependencies" }, "devDependencies", 3, null), /*#__PURE__*/ _jsxSorted("option", null, { value: "dependencies" }, "dependencies", 3, null)], 3, null), /*#__PURE__*/ _jsxSorted("button", { disabled: _fnSignal(_hf5, [isInstalling, props], _hf5_str) }, {
28
35
  type: "button",
36
+ "q-e:click": /*#__PURE__*/ inlinedQrl(() => {
37
+ const props = _captures[0];
38
+ return props.onInstall$(props.result.name, props.selectedType);
39
+ }, "SearchResultCard_component_div_div_div_button_q_e_click_0DlfMgOZNRQ", [props]),
29
40
  class: "bg-primary/10 hover:bg-primary/20 text-primary rounded-lg px-3 py-1.5 text-xs font-medium transition-colors disabled:cursor-not-allowed disabled:opacity-50"
30
- }, _fnSignal(_hf6, [isInstalling, props]), 4, null)], 1, null)], 1, null), 1, "LR_1");
41
+ }, _fnSignal(_hf6, [isInstalling, props], _hf6_str), 1, null)], 1, null)], 1, null), 1, "04_1");
31
42
  }, "SearchResultCard_component_3Z58OZETbL0"));
32
43
  export { SearchResultCard };
@@ -5,9 +5,13 @@ import { HookDetailsPanel } from "./components/HookDetailsPanel.qwik.mjs";
5
5
  import { PerformanceOverview } from "./components/PerformanceOverview.qwik.mjs";
6
6
  import { _captures, _fnSignal, _jsxSorted, _wrapProp, componentQrl, inlinedQrl, useComputedQrl, useSignal, useTaskQrl, useVisibleTaskQrl } from "@qwik.dev/core";
7
7
  var _hf0 = (p0) => p0.value.overview;
8
+ var _hf0_str = "p0.value.overview";
8
9
  var _hf1 = (p0) => p0.value.components.length;
10
+ var _hf1_str = "p0.value.components.length";
9
11
  var _hf2 = (p0, p1) => p1.value === p0.componentName;
12
+ var _hf2_str = "p1.value===p0.componentName";
10
13
  var _hf3 = (p0) => p0.value.length;
14
+ var _hf3_str = "p0.value.length";
11
15
  var Performance = /*#__PURE__*/ componentQrl(/*#__PURE__*/ inlinedQrl((_rawProps) => {
12
16
  const perf = useSignal(null);
13
17
  const selectedComponent = useSignal(null);
@@ -70,13 +74,13 @@ var Performance = /*#__PURE__*/ componentQrl(/*#__PURE__*/ inlinedQrl((_rawProps
70
74
  ]));
71
75
  const hasData = (perf.value?.ssr?.length ?? 0) > 0 || (perf.value?.csr?.length ?? 0) > 0;
72
76
  const hasRenderEvents = renderEvents.value.length > 0;
73
- if (!hasData && !hasRenderEvents) return /*#__PURE__*/ _jsxSorted("div", null, { class: "h-full w-full flex-1 overflow-hidden" }, /*#__PURE__*/ _jsxSorted("div", null, { class: "border-border bg-card-item-bg flex h-full items-center justify-center rounded-xl border p-8" }, /*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground text-center text-sm" }, ["No performance data found.", /*#__PURE__*/ _jsxSorted("div", null, { class: "mt-1 text-xs" }, "Ensure instrumentation is enabled and interact with the app, then reopen this tab.", 3, null)], 3, null), 3, null), 3, "pZ_0");
77
+ if (!hasData && !hasRenderEvents) return /*#__PURE__*/ _jsxSorted("div", null, { class: "h-full w-full flex-1 overflow-hidden" }, /*#__PURE__*/ _jsxSorted("div", null, { class: "border-border bg-card-item-bg flex h-full items-center justify-center rounded-xl border p-8" }, /*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground text-center text-sm" }, ["No performance data found.", /*#__PURE__*/ _jsxSorted("div", null, { class: "mt-1 text-xs" }, "Ensure instrumentation is enabled and interact with the app, then reopen this tab.", 3, null)], 3, null), 3, null), 3, "nz_0");
74
78
  return /*#__PURE__*/ _jsxSorted("div", null, { class: "h-full w-full flex-1 overflow-y-auto" }, /*#__PURE__*/ _jsxSorted("div", null, { class: "flex min-h-0 flex-col gap-4" }, [
75
- hasData && /*#__PURE__*/ _jsxSorted(PerformanceOverview, null, { overview: _fnSignal(_hf0, [vm]) }, null, 3, "pZ_1"),
79
+ hasData && /*#__PURE__*/ _jsxSorted(PerformanceOverview, null, { overview: _fnSignal(_hf0, [vm], _hf0_str) }, null, 3, "nz_1"),
76
80
  hasData && /*#__PURE__*/ _jsxSorted("div", null, { class: "border-glass-border bg-card-item-bg flex min-h-0 overflow-hidden rounded-2xl border" }, [
77
81
  /*#__PURE__*/ _jsxSorted("div", null, { class: "min-h-0 flex-1 overflow-y-auto p-4" }, [/*#__PURE__*/ _jsxSorted("div", null, { class: "mb-3 flex items-center justify-between" }, /*#__PURE__*/ _jsxSorted("div", null, null, [/*#__PURE__*/ _jsxSorted("div", null, { class: "text-lg font-semibold" }, "Components", 3, null), /*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground text-xs" }, [
78
82
  "CSR only • ",
79
- _fnSignal(_hf1, [vm]),
83
+ _fnSignal(_hf1, [vm], _hf1_str),
80
84
  " total"
81
85
  ], 3, null)], 3, null), 3, null), /*#__PURE__*/ _jsxSorted("div", null, { class: "grid grid-cols-1 gap-4 md:grid-cols-2" }, vm.value.components.map((c) => /*#__PURE__*/ _jsxSorted(ComponentCard, {
82
86
  component: c,
@@ -84,18 +88,18 @@ var Performance = /*#__PURE__*/ componentQrl(/*#__PURE__*/ inlinedQrl((_rawProps
84
88
  const c = _captures[0], onSelect = _captures[1];
85
89
  return onSelect(c.componentName);
86
90
  }, "Performance_component_div_div_div_div_div_ComponentCard_onClick_oHPGixzaMYc", [c, onSelect]),
87
- selected: _fnSignal(_hf2, [c, selectedComponent])
91
+ selected: _fnSignal(_hf2, [c, selectedComponent], _hf2_str)
88
92
  }, null, null, 2, c.componentName)), 1, null)], 1, null),
89
93
  /*#__PURE__*/ _jsxSorted("div", null, { class: "border-glass-border border-l" }, null, 3, null),
90
94
  /*#__PURE__*/ _jsxSorted("div", null, { class: "flex w-[420px] min-w-[320px] flex-col overflow-hidden" }, selectedVm.value ? /*#__PURE__*/ _jsxSorted(HookDetailsPanel, null, {
91
95
  component: _wrapProp(selectedVm),
92
96
  onClose$: clearSelect
93
- }, null, 3, "pZ_2") : /*#__PURE__*/ _jsxSorted("div", null, { class: "flex h-full items-center justify-center p-8" }, /*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground text-center text-sm" }, "Select a component to view hook details.", 3, null), 3, "pZ_3"), 1, null)
94
- ], 1, "pZ_4"),
95
- /*#__PURE__*/ _jsxSorted("div", null, { class: "border-glass-border bg-card-item-bg rounded-2xl border p-4" }, [/*#__PURE__*/ _jsxSorted("div", null, { class: "mb-3 flex items-center justify-between" }, [/*#__PURE__*/ _jsxSorted("div", null, null, [/*#__PURE__*/ _jsxSorted("div", null, { class: "text-lg font-semibold" }, "Live Renders", 3, null), /*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground text-xs" }, [_fnSignal(_hf3, [renderEvents]), " events captured"], 3, null)], 3, null), hasRenderEvents && /*#__PURE__*/ _jsxSorted("button", null, {
97
+ }, null, 3, "nz_2") : /*#__PURE__*/ _jsxSorted("div", null, { class: "flex h-full items-center justify-center p-8" }, /*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground text-center text-sm" }, "Select a component to view hook details.", 3, null), 3, "nz_3"), 1, null)
98
+ ], 1, "nz_4"),
99
+ /*#__PURE__*/ _jsxSorted("div", null, { class: "border-glass-border bg-card-item-bg rounded-2xl border p-4" }, [/*#__PURE__*/ _jsxSorted("div", null, { class: "mb-3 flex items-center justify-between" }, [/*#__PURE__*/ _jsxSorted("div", null, null, [/*#__PURE__*/ _jsxSorted("div", null, { class: "text-lg font-semibold" }, "Live Renders", 3, null), /*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground text-xs" }, [_fnSignal(_hf3, [renderEvents], _hf3_str), " events captured"], 3, null)], 3, null), hasRenderEvents && /*#__PURE__*/ _jsxSorted("button", null, {
96
100
  class: "text-muted-foreground hover:text-foreground rounded px-2 py-1 text-xs transition-colors",
97
101
  "q-e:click": clearRenderEvents
98
- }, "Clear", 3, "pZ_5")], 1, null), !hasRenderEvents ? /*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground py-6 text-center text-sm" }, "No renders captured yet. Interact with the app to trigger component renders.", 3, "pZ_6") : /*#__PURE__*/ _jsxSorted("div", null, { class: "max-h-[400px] overflow-y-auto" }, /*#__PURE__*/ _jsxSorted("table", null, { class: "w-full text-sm" }, [/*#__PURE__*/ _jsxSorted("thead", null, null, /*#__PURE__*/ _jsxSorted("tr", null, { class: "text-muted-foreground border-glass-border border-b text-left text-xs" }, [
102
+ }, "Clear", 3, "nz_5")], 1, null), !hasRenderEvents ? /*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground py-6 text-center text-sm" }, "No renders captured yet. Interact with the app to trigger component renders.", 3, "nz_6") : /*#__PURE__*/ _jsxSorted("div", null, { class: "max-h-[400px] overflow-y-auto" }, /*#__PURE__*/ _jsxSorted("table", null, { class: "w-full text-sm" }, [/*#__PURE__*/ _jsxSorted("thead", null, null, /*#__PURE__*/ _jsxSorted("tr", null, { class: "text-muted-foreground border-glass-border border-b text-left text-xs" }, [
99
103
  /*#__PURE__*/ _jsxSorted("th", null, { class: "py-1.5 pr-3 font-medium" }, "Time", 3, null),
100
104
  /*#__PURE__*/ _jsxSorted("th", null, { class: "py-1.5 pr-3 font-medium" }, "Component", 3, null),
101
105
  /*#__PURE__*/ _jsxSorted("th", null, { class: "py-1.5 pr-3 text-right font-medium" }, "Duration", 3, null),
@@ -105,7 +109,7 @@ var Performance = /*#__PURE__*/ componentQrl(/*#__PURE__*/ inlinedQrl((_rawProps
105
109
  /*#__PURE__*/ _jsxSorted("td", null, { class: "text-primary/80 py-1.5 pr-3 font-mono" }, _wrapProp(evt, "component"), 1, null),
106
110
  /*#__PURE__*/ _jsxSorted("td", null, { class: "py-1.5 pr-3 text-right font-mono" }, evt.duration > 0 ? `${evt.duration.toFixed(1)}ms` : "-", 1, null),
107
111
  /*#__PURE__*/ _jsxSorted("td", null, { class: "py-1.5" }, /*#__PURE__*/ _jsxSorted("span", { class: ["rounded-full px-2 py-0.5 text-xs font-medium", evt.phase === "ssr" ? "bg-blue-500/10 text-blue-400" : "bg-green-500/10 text-green-400"].join(" ") }, null, _wrapProp(evt, "phase"), 1, null), 1, null)
108
- ], 1, i)), 1, null)], 1, null), 1, "pZ_7")], 1, null)
109
- ], 1, null), 1, "pZ_8");
112
+ ], 1, i)), 1, null)], 1, null), 1, "nz_7")], 1, null)
113
+ ], 1, null), 1, "nz_8");
110
114
  }, "Performance_component_srUJ38wM5RE"));
111
115
  export { Performance };
@@ -1,11 +1,13 @@
1
1
  import { formatMs } from "../utils/formatMs.qwik.mjs";
2
2
  import { _fnSignal, _jsxSorted, componentQrl, inlinedQrl } from "@qwik.dev/core";
3
3
  var _hf0 = (p0) => p0.component.componentName;
4
+ var _hf0_str = "p0.component.componentName";
4
5
  var _hf1 = (p0) => typeof p0.component.ssr?.ssrCount === "number" ? p0.component.ssr.ssrCount : "-";
6
+ var _hf1_str = "typeof p0.component.ssr?.ssrCount===\"number\"?p0.component.ssr.ssrCount:\"-\"";
5
7
  var ComponentCard = /*#__PURE__*/ componentQrl(/*#__PURE__*/ inlinedQrl((_rawProps) => {
6
8
  return /*#__PURE__*/ _jsxSorted("button", {
7
9
  class: ["border-border bg-card-item-bg hover:bg-card-item-hover-bg w-full rounded-xl border p-4 text-left transition-all duration-200 hover:-translate-y-0.5", _rawProps.selected ? "ring-primary-active ring-2" : ""].join(" "),
8
10
  "q-e:click": _rawProps.onClick$
9
- }, null, /*#__PURE__*/ _jsxSorted("div", null, { class: "flex items-start justify-between gap-4" }, [/*#__PURE__*/ _jsxSorted("div", null, { class: "min-w-0 flex-1" }, [/*#__PURE__*/ _jsxSorted("div", null, { class: "truncate text-base font-semibold" }, _fnSignal(_hf0, [_rawProps]), 1, null), /*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground mt-1 text-xs" }, ["Avg: ", formatMs(_rawProps.component.avgTime)], 1, null)], 1, null), /*#__PURE__*/ _jsxSorted("div", null, { class: "shrink-0 text-right" }, [/*#__PURE__*/ _jsxSorted("div", null, { class: "text-primary text-lg font-semibold" }, formatMs(_rawProps.component.totalTime), 1, null), /*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground text-xs" }, ["SSR: ", _fnSignal(_hf1, [_rawProps])], 1, null)], 1, null)], 1, null), 0, _rawProps.component.componentName);
11
+ }, null, /*#__PURE__*/ _jsxSorted("div", null, { class: "flex items-start justify-between gap-4" }, [/*#__PURE__*/ _jsxSorted("div", null, { class: "min-w-0 flex-1" }, [/*#__PURE__*/ _jsxSorted("div", null, { class: "truncate text-base font-semibold" }, _fnSignal(_hf0, [_rawProps], _hf0_str), 1, null), /*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground mt-1 text-xs" }, ["Avg: ", formatMs(_rawProps.component.avgTime)], 1, null)], 1, null), /*#__PURE__*/ _jsxSorted("div", null, { class: "shrink-0 text-right" }, [/*#__PURE__*/ _jsxSorted("div", null, { class: "text-primary text-lg font-semibold" }, formatMs(_rawProps.component.totalTime), 1, null), /*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground text-xs" }, ["SSR: ", _fnSignal(_hf1, [_rawProps], _hf1_str)], 1, null)], 1, null)], 1, null), 0, _rawProps.component.componentName);
10
12
  }, "ComponentCard_component_n3qw8GM0NvQ"));
11
13
  export { ComponentCard };
@@ -3,21 +3,25 @@ import { formatMs } from "../utils/formatMs.qwik.mjs";
3
3
  import { _fnSignal, _jsxSorted, componentQrl, inlinedQrl } from "@qwik.dev/core";
4
4
  import { Fragment } from "@qwik.dev/core/jsx-runtime";
5
5
  var _hf0 = (p0) => p0.row.eventName;
6
+ var _hf0_str = "p0.row.eventName";
6
7
  var _hf1 = (p0) => p0.row.calls;
8
+ var _hf1_str = "p0.row.calls";
7
9
  var _hf2 = (p0) => p0.component.componentName;
10
+ var _hf2_str = "p0.component.componentName";
8
11
  var _hf3 = (p0) => p0.component.calls;
12
+ var _hf3_str = "p0.component.calls";
9
13
  var HookRow = /*#__PURE__*/ componentQrl(/*#__PURE__*/ inlinedQrl((_rawProps) => /*#__PURE__*/ _jsxSorted("div", null, { class: "grid grid-cols-3 px-3 py-2 text-sm" }, [
10
- /*#__PURE__*/ _jsxSorted("div", null, { class: "truncate" }, _fnSignal(_hf0, [_rawProps]), 1, null),
14
+ /*#__PURE__*/ _jsxSorted("div", null, { class: "truncate" }, _fnSignal(_hf0, [_rawProps], _hf0_str), 1, null),
11
15
  /*#__PURE__*/ _jsxSorted("div", null, { class: "text-right" }, formatMs(_rawProps.row.time), 1, null),
12
- /*#__PURE__*/ _jsxSorted("div", null, { class: "text-right" }, _fnSignal(_hf1, [_rawProps]), 1, null)
13
- ], 1, "Tx_0"), "HookRow_component_lEGVvl0yq4c"));
16
+ /*#__PURE__*/ _jsxSorted("div", null, { class: "text-right" }, _fnSignal(_hf1, [_rawProps], _hf1_str), 1, null)
17
+ ], 1, "M3_0"), "HookRow_component_lEGVvl0yq4c"));
14
18
  var HookDetailsPanel = /*#__PURE__*/ componentQrl(/*#__PURE__*/ inlinedQrl((_rawProps) => {
15
19
  const rows = computeEventRows(_rawProps.component.csrItems);
16
- return /*#__PURE__*/ _jsxSorted(Fragment, null, null, [/*#__PURE__*/ _jsxSorted("div", null, { class: "border-glass-border flex items-center justify-between border-b p-4" }, [/*#__PURE__*/ _jsxSorted("div", null, { class: "min-w-0" }, [/*#__PURE__*/ _jsxSorted("div", null, { class: "truncate text-base font-semibold" }, [_fnSignal(_hf2, [_rawProps]), " Hook Details"], 1, null), /*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground mt-1 text-xs" }, [
20
+ return /*#__PURE__*/ _jsxSorted(Fragment, null, null, [/*#__PURE__*/ _jsxSorted("div", null, { class: "border-glass-border flex items-center justify-between border-b p-4" }, [/*#__PURE__*/ _jsxSorted("div", null, { class: "min-w-0" }, [/*#__PURE__*/ _jsxSorted("div", null, { class: "truncate text-base font-semibold" }, [_fnSignal(_hf2, [_rawProps], _hf2_str), " Hook Details"], 1, null), /*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground mt-1 text-xs" }, [
17
21
  "Total: ",
18
22
  formatMs(_rawProps.component.totalTime),
19
23
  " • ",
20
- _fnSignal(_hf3, [_rawProps]),
24
+ _fnSignal(_hf3, [_rawProps], _hf3_str),
21
25
  " calls"
22
26
  ], 1, null)], 1, null), /*#__PURE__*/ _jsxSorted("button", { "q-e:click": _rawProps.onClose$ }, {
23
27
  "aria-label": "close",
@@ -26,6 +30,6 @@ var HookDetailsPanel = /*#__PURE__*/ componentQrl(/*#__PURE__*/ inlinedQrl((_raw
26
30
  /*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground" }, "HOOK NAME", 3, null),
27
31
  /*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground text-right" }, "TIME", 3, null),
28
32
  /*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground text-right" }, "CALLS", 3, null)
29
- ], 3, null), /*#__PURE__*/ _jsxSorted("div", null, { class: "divide-glass-border divide-y" }, [rows.map((row) => /*#__PURE__*/ _jsxSorted(HookRow, { row }, null, null, 3, row.eventName)), rows.length === 0 && /*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground px-3 py-4 text-center text-sm" }, "No CSR records for this component.", 3, "Tx_1")], 1, null)], 1, null), 1, null)], 1, "Tx_2");
33
+ ], 3, null), /*#__PURE__*/ _jsxSorted("div", null, { class: "divide-glass-border divide-y" }, [rows.map((row) => /*#__PURE__*/ _jsxSorted(HookRow, { row }, null, null, 3, row.eventName)), rows.length === 0 && /*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground px-3 py-4 text-center text-sm" }, "No CSR records for this component.", 3, "M3_1")], 1, null)], 1, null), 1, null)], 1, "M3_2");
30
34
  }, "HookDetailsPanel_component_8uC9a2UU5yo"));
31
35
  export { HookDetailsPanel };
@@ -1,16 +1,18 @@
1
1
  import { formatMs } from "../utils/formatMs.qwik.mjs";
2
2
  import { StatCard } from "./StatCard.qwik.mjs";
3
3
  import { _fnSignal, _jsxSorted, componentQrl, inlinedQrl } from "@qwik.dev/core";
4
- var _hf0 = (p0) => p0.overview.slowestComponent?.componentName || "-";
4
+ var _hf0 = (p0) => p0?.componentName || "-";
5
+ var _hf0_str = "p0?.componentName||\"-\"";
5
6
  var PerformanceOverview = /*#__PURE__*/ componentQrl(/*#__PURE__*/ inlinedQrl((_rawProps) => {
7
+ const slowestComponent = _rawProps.overview.slowestComponent;
6
8
  return /*#__PURE__*/ _jsxSorted("div", null, { class: "grid grid-cols-1 gap-5 md:grid-cols-4" }, [
7
- /*#__PURE__*/ _jsxSorted(StatCard, { value: formatMs(_rawProps.overview.totalRenderTime) }, { label: "TOTAL RENDER TIME" }, null, 3, "BX_0"),
8
- /*#__PURE__*/ _jsxSorted(StatCard, { subtitle: _rawProps.overview.slowestComponent ? `${formatMs(_rawProps.overview.slowestComponent.avgTime)} avg` : "-" }, {
9
- label: "SLOWEST COMPONENT",
10
- value: _fnSignal(_hf0, [_rawProps])
11
- }, null, 3, "BX_1"),
12
- /*#__PURE__*/ _jsxSorted(StatCard, { value: formatMs(_rawProps.overview.avgTime) }, { label: "AVG TIME" }, null, 3, "BX_2"),
13
- /*#__PURE__*/ _jsxSorted(StatCard, { value: String(_rawProps.overview.totalCalls) }, { label: "TOTAL CALLS" }, null, 3, "BX_3")
14
- ], 1, "BX_4");
9
+ /*#__PURE__*/ _jsxSorted(StatCard, { value: formatMs(_rawProps.overview.totalRenderTime) }, { label: "TOTAL RENDER TIME" }, null, 3, "XE_0"),
10
+ /*#__PURE__*/ _jsxSorted(StatCard, {
11
+ subtitle: slowestComponent ? `${formatMs(slowestComponent.avgTime)} avg` : "-",
12
+ value: _fnSignal(_hf0, [slowestComponent], _hf0_str)
13
+ }, { label: "SLOWEST COMPONENT" }, null, 3, "XE_1"),
14
+ /*#__PURE__*/ _jsxSorted(StatCard, { value: formatMs(_rawProps.overview.avgTime) }, { label: "AVG TIME" }, null, 3, "XE_2"),
15
+ /*#__PURE__*/ _jsxSorted(StatCard, { value: String(_rawProps.overview.totalCalls) }, { label: "TOTAL CALLS" }, null, 3, "XE_3")
16
+ ], 1, "XE_4");
15
17
  }, "PerformanceOverview_component_TcuA6nX9GNo"));
16
18
  export { PerformanceOverview };
@@ -3,7 +3,7 @@ var StatCard = /*#__PURE__*/ componentQrl(/*#__PURE__*/ inlinedQrl((_rawProps) =
3
3
  return /*#__PURE__*/ _jsxSorted("div", null, { class: "border-border bg-card-item-bg hover:bg-card-item-hover-bg flex items-center gap-4 rounded-xl border p-5 transition-all duration-200" }, /*#__PURE__*/ _jsxSorted("div", null, { class: "flex-1" }, [
4
4
  /*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground text-xs font-medium" }, _wrapProp(_rawProps, "label"), 1, null),
5
5
  /*#__PURE__*/ _jsxSorted("div", null, { class: "mt-1 text-3xl font-semibold" }, _wrapProp(_rawProps), 1, null),
6
- _rawProps.subtitle && /*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground mt-1 text-xs" }, _wrapProp(_rawProps, "subtitle"), 1, "RV_0")
7
- ], 1, null), 1, "RV_1");
6
+ _rawProps.subtitle && /*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground mt-1 text-xs" }, _wrapProp(_rawProps, "subtitle"), 1, "J2_0")
7
+ ], 1, null), 1, "J2_1");
8
8
  }, "StatCard_component_Uisqt5fvHhk"));
9
9
  export { StatCard };
@@ -37,7 +37,8 @@ function computeComponentVmFromCsr(componentName, csrItems, ssr) {
37
37
  csrItems
38
38
  };
39
39
  }
40
- /** Build component view-models when SSR entries are available. */ function groupComponentsBySsr(safe) {
40
+ /** Build component view-models when SSR entries are available. */
41
+ function groupComponentsBySsr(safe) {
41
42
  const grouped = groupCsrBySsr(safe);
42
43
  const result = [];
43
44
  for (const raw of safe.ssr) {
@@ -51,7 +52,8 @@ function computeComponentVmFromCsr(componentName, csrItems, ssr) {
51
52
  }
52
53
  return result;
53
54
  }
54
- /** Build component view-models from CSR-only data, grouped by component name. */ function groupComponentsByName(csrRaw) {
55
+ /** Build component view-models from CSR-only data, grouped by component name. */
56
+ function groupComponentsByName(csrRaw) {
55
57
  const byName = /* @__PURE__ */ new Map();
56
58
  for (const entry of csrRaw) {
57
59
  const csrItem = {