@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
@@ -8,8 +8,11 @@ import { HookFiltersCard } from "../RenderTree/components/HookFiltersCard.qwik.m
8
8
  import { IconButton } from "../../components/IconButton/IconButton.qwik.mjs";
9
9
  import { _captures, _fnSignal, _jsxSorted, _wrapProp, componentQrl, inlinedQrl, useComputedQrl, useSignal, useVisibleTaskQrl } from "@qwik.dev/core";
10
10
  var _hf0 = (p0) => p0.value ? "Picking..." : "Pick";
11
+ var _hf0_str = "p0.value?\"Picking...\":\"Pick\"";
11
12
  var _hf1 = (p0) => p0.value ? "Collapse all" : "Expand all";
13
+ var _hf1_str = "p0.value?\"Collapse all\":\"Expand all\"";
12
14
  var _hf2 = (p0) => p0.value ? "Collapse" : "Expand";
15
+ var _hf2_str = "p0.value?\"Collapse\":\"Expand\"";
13
16
  var EXPAND_ANIMATION_DELAY_MS = 250;
14
17
  var HIGHLIGHT_FLASH_MS = 1500;
15
18
  var LOAD_RETRY_DELAY_MS = 300;
@@ -110,7 +113,8 @@ function buildDetailTree(entries) {
110
113
  }
111
114
  return result;
112
115
  }
113
- /** DOM helpers for expand/scroll/highlight */ function expandAndScrollToNode(targetName) {
116
+ /** DOM helpers for expand/scroll/highlight */
117
+ function expandAndScrollToNode(targetName) {
114
118
  requestAnimationFrame(() => {
115
119
  const container = document.getElementById("hook-tree-left");
116
120
  if (!container) return;
@@ -165,7 +169,7 @@ var HookTree = /*#__PURE__*/ componentQrl(/*#__PURE__*/ inlinedQrl((_rawProps) =
165
169
  const editValue = useSignal("");
166
170
  const inspecting = useSignal(false);
167
171
  const handleElementPicked = /*#__PURE__*/ inlinedQrl((payload) => {
168
- const inspecting = _captures[0], treeData = _captures[1];
172
+ const inspecting = _captures[0], onNodeClick = _captures[1], treeData = _captures[2];
169
173
  inspecting.value = false;
170
174
  let found = null;
171
175
  if (payload.treeNodeId) found = findNodeById(treeData.value, payload.treeNodeId);
@@ -174,7 +178,11 @@ var HookTree = /*#__PURE__*/ componentQrl(/*#__PURE__*/ inlinedQrl((_rawProps) =
174
178
  onNodeClick(found);
175
179
  expandAndScrollToNode(found.label || found.name || "");
176
180
  }
177
- }, "HookTree_component_handleElementPicked_Tg1fX7eTA88", [inspecting, treeData]);
181
+ }, "HookTree_component_handleElementPicked_Tg1fX7eTA88", [
182
+ inspecting,
183
+ onNodeClick,
184
+ treeData
185
+ ]);
178
186
  const applyFilters = /*#__PURE__*/ inlinedQrl((tree, filters) => {
179
187
  if (filters.length === 0) return tree;
180
188
  return tree.filter((node) => filters.some((f) => f.key === node.label && f.display));
@@ -441,81 +449,84 @@ var HookTree = /*#__PURE__*/ componentQrl(/*#__PURE__*/ inlinedQrl((_rawProps) =
441
449
  }, [/*#__PURE__*/ _jsxSorted("div", null, { class: "mb-2 flex items-center gap-1" }, [/*#__PURE__*/ _jsxSorted(IconButton, { onClick$: inspecting.value ? stopInspect : startInspect }, {
442
450
  active: _wrapProp(inspecting),
443
451
  title: "Select a component on the page"
444
- }, [/*#__PURE__*/ _jsxSorted(IconTarget, null, { class: "h-3.5 w-3.5" }, null, 3, "uB_0"), _fnSignal(_hf0, [inspecting])], 0, "uB_1"), /*#__PURE__*/ _jsxSorted(IconButton, null, {
452
+ }, [/*#__PURE__*/ _jsxSorted(IconTarget, null, { class: "h-3.5 w-3.5" }, null, 3, "n0_2"), _fnSignal(_hf0, [inspecting], _hf0_str)], 0, "n0_3"), /*#__PURE__*/ _jsxSorted(IconButton, null, {
445
453
  onClick$: toggleTreeExpand,
446
- title: _fnSignal(_hf1, [treeExpanded])
454
+ title: _fnSignal(_hf1, [treeExpanded], _hf1_str)
447
455
  }, [/*#__PURE__*/ _jsxSorted(IconExpandShrink, null, {
448
456
  class: "h-3.5 w-3.5",
449
457
  expanded: _wrapProp(treeExpanded)
450
- }, null, 3, "uB_2"), _fnSignal(_hf2, [treeExpanded])], 1, "uB_3")], 1, null), /*#__PURE__*/ _jsxSorted("div", null, {
458
+ }, null, 3, "n0_4"), _fnSignal(_hf2, [treeExpanded], _hf2_str)], 1, "n0_5")], 1, null), /*#__PURE__*/ _jsxSorted("div", null, {
451
459
  id: "hook-tree-left",
452
460
  class: "min-h-0 flex-1 overflow-y-auto"
453
- }, treeData.value.length === 0 ? /*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground flex h-full items-center justify-center text-sm" }, "Waiting for component tree...", 3, "uB_4") : /*#__PURE__*/ _jsxSorted(Tree, { onRevealed$: /*#__PURE__*/ inlinedQrl(() => {
454
- const _rawProps = _captures[0];
455
- return _rawProps.state.componentReveal = null;
456
- }, "HookTree_component_div_div_div_div_Tree_onRevealed_bBy7gH7s5cA", [_rawProps]) }, {
457
- data: treeData,
461
+ }, treeData.value.length === 0 ? /*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground flex h-full items-center justify-center text-sm" }, "Waiting for component tree...", 3, "n0_6") : /*#__PURE__*/ _jsxSorted(Tree, {
458
462
  onNodeClick,
463
+ onRevealed$: /*#__PURE__*/ inlinedQrl(() => {
464
+ const _rawProps = _captures[0];
465
+ return _rawProps.state.componentReveal = null;
466
+ }, "HookTree_component_div_div_div_div_Tree_onRevealed_bBy7gH7s5cA", [_rawProps])
467
+ }, {
468
+ data: treeData,
459
469
  revealNode
460
470
  }, null, 2, treeVersion.value), 1, null)], 1, null),
461
471
  /*#__PURE__*/ _jsxSorted("div", null, { class: "border-glass-border border-l" }, null, 3, null),
462
472
  /*#__PURE__*/ _jsxSorted("div", null, { class: "flex h-full min-h-0 w-1/2 flex-col overflow-hidden p-4" }, [
463
- /*#__PURE__*/ _jsxSorted(RenderTreeTabs, {
464
- onCodeClick$: /*#__PURE__*/ inlinedQrl(() => {
465
- const currentTab = _captures[0];
466
- return currentTab.value = "code";
467
- }, "HookTree_component_div_div_div_RenderTreeTabs_onCodeClick_0lAe8vTbWRQ", [currentTab]),
473
+ /*#__PURE__*/ _jsxSorted(RenderTreeTabs, null, {
474
+ currentTab: _wrapProp(currentTab),
468
475
  onStateClick$: /*#__PURE__*/ inlinedQrl(() => {
469
476
  const currentTab = _captures[0];
470
477
  return currentTab.value = "state";
471
- }, "HookTree_component_div_div_div_RenderTreeTabs_onStateClick_91eAngQRRXU", [currentTab])
472
- }, { currentTab: _wrapProp(currentTab) }, null, 2, "uB_5"),
473
- currentTab.value === "state" && /*#__PURE__*/ _jsxSorted("div", null, { class: "mt-5 flex min-h-0 flex-1 flex-col" }, [hookFilters.value.length > 0 && /*#__PURE__*/ _jsxSorted(HookFiltersCard, { onToggleOpen$: /*#__PURE__*/ inlinedQrl(() => {
474
- const hooksOpen = _captures[0];
475
- return hooksOpen.value = !hooksOpen.value;
476
- }, "HookTree_component_div_div_div_div_HookFiltersCard_onToggleOpen_wb4o4GAUjKQ", [hooksOpen]) }, {
478
+ }, "HookTree_component_div_div_div_RenderTreeTabs_onStateClick_91eAngQRRXU", [currentTab]),
479
+ onCodeClick$: /*#__PURE__*/ inlinedQrl(() => {
480
+ const currentTab = _captures[0];
481
+ return currentTab.value = "code";
482
+ }, "HookTree_component_div_div_div_RenderTreeTabs_onCodeClick_0lAe8vTbWRQ", [currentTab])
483
+ }, null, 3, "n0_7"),
484
+ currentTab.value === "state" && /*#__PURE__*/ _jsxSorted("div", null, { class: "mt-5 flex min-h-0 flex-1 flex-col" }, [hookFilters.value.length > 0 && /*#__PURE__*/ _jsxSorted(HookFiltersCard, null, {
477
485
  filters: _wrapProp(hookFilters),
478
486
  isOpen: _wrapProp(hooksOpen),
479
487
  onSelectAll$: handleSelectAll,
480
488
  onClear$: handleClear,
489
+ onToggleOpen$: /*#__PURE__*/ inlinedQrl(() => {
490
+ const hooksOpen = _captures[0];
491
+ return hooksOpen.value = !hooksOpen.value;
492
+ }, "HookTree_component_div_div_div_div_HookFiltersCard_onToggleOpen_wb4o4GAUjKQ", [hooksOpen]),
481
493
  onFilterChange$: handleFilterChange
482
- }, null, 2, "uB_6"), stateTree.value.length > 0 ? /*#__PURE__*/ _jsxSorted("div", null, { class: "mt-4 min-h-0 flex-1 overflow-y-auto p-2" }, /*#__PURE__*/ _jsxSorted(Tree, { renderNode: /*#__PURE__*/ inlinedQrl((node) => {
483
- const cancelEdit = _captures[0], commitEdit = _captures[1], editValue = _captures[2];
484
- if (_captures[3].value === node.id) return /*#__PURE__*/ _jsxSorted("form", null, {
485
- "preventdefault:submit": true,
486
- "q-e:submit": commitEdit,
487
- class: "inline-flex items-center gap-1"
488
- }, [/*#__PURE__*/ _jsxSorted("input", {
489
- "q-e:input": /*#__PURE__*/ inlinedQrl((_, el, _2, editValue) => {
490
- editValue.value = el.value;
491
- }, "HookTree_component_div_div_div_div_div_Tree_renderNode_form_input_q_e_input_z05hdrGPzhg").m(),
492
- "q-e:keydown": /*#__PURE__*/ inlinedQrl((e, _1, cancelEdit) => {
493
- if (e.key === "Escape") cancelEdit();
494
- }, "HookTree_component_div_div_div_div_div_Tree_renderNode_form_input_q_e_keydown_0AuxXsO3Wa0").m(),
495
- "q:ps": [cancelEdit, editValue]
496
- }, {
497
- type: "text",
498
- class: "border-primary/50 bg-card-item-hover-bg text-foreground focus:border-primary w-32 rounded border px-1.5 py-0.5 text-xs outline-none",
499
- value: _wrapProp(editValue),
500
- autoFocus: true
501
- }, null, 6, null), /*#__PURE__*/ _jsxSorted("button", null, {
502
- type: "submit",
503
- class: "bg-primary/20 text-primary hover:bg-primary/30 rounded px-1.5 py-0.5 text-xs"
504
- }, "ok", 3, null)], 1, "uB_7");
505
- return /*#__PURE__*/ _jsxSorted(StateTreeNodeLabel, { node }, null, null, 3, "uB_8");
506
- }, "HookTree_component_div_div_div_div_div_Tree_renderNode_vC6C4CEUHF8", [
507
- cancelEdit,
508
- commitEdit,
509
- editValue,
510
- editingNodeId
511
- ]) }, {
494
+ }, null, 3, "n0_8"), stateTree.value.length > 0 ? /*#__PURE__*/ _jsxSorted("div", null, { class: "mt-4 min-h-0 flex-1 overflow-y-auto p-2" }, /*#__PURE__*/ _jsxSorted(Tree, { onNodeClick: onStateNodeClick }, {
512
495
  data: stateTree,
513
496
  gap: 10,
514
497
  animate: true,
515
498
  animationDuration: 200,
516
499
  isHover: true,
517
- onNodeClick: onStateNodeClick
518
- }, null, 3, "uB_9"), 1, "uB_10") : /*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground flex h-full items-center justify-center text-sm" }, "Select a component to inspect its state", 3, "uB_11")], 1, "uB_12"),
500
+ renderNode: /*#__PURE__*/ inlinedQrl((node) => {
501
+ const cancelEdit = _captures[0], commitEdit = _captures[1], editValue = _captures[2];
502
+ if (_captures[3].value === node.id) return /*#__PURE__*/ _jsxSorted("form", null, {
503
+ "preventdefault:submit": true,
504
+ "q-e:submit": commitEdit,
505
+ class: "inline-flex items-center gap-1"
506
+ }, [/*#__PURE__*/ _jsxSorted("input", { value: _wrapProp(editValue) }, {
507
+ type: "text",
508
+ class: "border-primary/50 bg-card-item-hover-bg text-foreground focus:border-primary w-32 rounded border px-1.5 py-0.5 text-xs outline-none",
509
+ "q-e:input": /*#__PURE__*/ inlinedQrl((_, el) => {
510
+ const editValue = _captures[0];
511
+ editValue.value = el.value;
512
+ }, "HookTree_component_div_div_div_div_div_Tree_renderNode_form_input_q_e_input_z05hdrGPzhg", [editValue]),
513
+ "q-e:keydown": /*#__PURE__*/ inlinedQrl((e) => {
514
+ const cancelEdit = _captures[0];
515
+ if (e.key === "Escape") cancelEdit();
516
+ }, "HookTree_component_div_div_div_div_div_Tree_renderNode_form_input_q_e_keydown_0AuxXsO3Wa0", [cancelEdit]),
517
+ autoFocus: true
518
+ }, null, 3, null), /*#__PURE__*/ _jsxSorted("button", null, {
519
+ type: "submit",
520
+ class: "bg-primary/20 text-primary hover:bg-primary/30 rounded px-1.5 py-0.5 text-xs"
521
+ }, "ok", 3, null)], 1, "n0_0");
522
+ return /*#__PURE__*/ _jsxSorted(StateTreeNodeLabel, { node }, null, null, 3, "n0_1");
523
+ }, "HookTree_component_div_div_div_div_div_Tree_renderNode_vC6C4CEUHF8", [
524
+ cancelEdit,
525
+ commitEdit,
526
+ editValue,
527
+ editingNodeId
528
+ ])
529
+ }, null, 3, "n0_9"), 1, "n0_10") : /*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground flex h-full items-center justify-center text-sm" }, "Select a component to inspect its state", 3, "n0_11")], 1, "n0_12"),
519
530
  currentTab.value === "code" && /*#__PURE__*/ _jsxSorted("div", null, { class: "border-glass-border bg-card-item-bg mt-4 flex min-h-0 flex-1 items-center justify-center rounded-xl border p-4" }, /*#__PURE__*/ _jsxSorted("div", null, { class: "text-center" }, [/*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground text-sm" }, [/*#__PURE__*/ _jsxSorted("span", null, { class: "font-medium" }, "Code", 3, null), " requires the Qwik DevTools Vite plugin."], 3, null), /*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground/60 mt-2 text-xs" }, [
520
531
  "Available in the in-app overlay when running",
521
532
  " ",
@@ -523,8 +534,8 @@ var HookTree = /*#__PURE__*/ componentQrl(/*#__PURE__*/ inlinedQrl((_rawProps) =
523
534
  " with",
524
535
  " ",
525
536
  /*#__PURE__*/ _jsxSorted("code", null, { class: "bg-card-item-hover-bg rounded px-1.5 py-0.5" }, "@qwik.dev/devtools", 3, null)
526
- ], 3, null)], 3, null), 3, "uB_13")
537
+ ], 3, null)], 3, null), 3, "n0_13")
527
538
  ], 1, null)
528
- ], 1, null), 1, "uB_14");
539
+ ], 1, null), 1, "n0_14");
529
540
  }, "HookTree_component_Q5wO3ucVIeA"));
530
541
  export { HookTree };
@@ -1,4 +1,5 @@
1
- /** VNodeTreeNode -> TreeNode conversion */ function toTreeNodes(vnodes) {
1
+ /** VNodeTreeNode -> TreeNode conversion */
2
+ function toTreeNodes(vnodes) {
2
3
  return vnodes.map((v) => ({
3
4
  id: v.id,
4
5
  name: v.name,
@@ -7,7 +8,8 @@
7
8
  children: v.children ? toTreeNodes(v.children) : void 0
8
9
  }));
9
10
  }
10
- /** Quick structural fingerprint from node IDs. */ function treeIdFingerprint(nodes) {
11
+ /** Quick structural fingerprint from node IDs. */
12
+ function treeIdFingerprint(nodes) {
11
13
  const ids = [];
12
14
  const walk = (list) => {
13
15
  for (const n of list) {
@@ -18,7 +20,8 @@
18
20
  walk(nodes);
19
21
  return ids.join(",");
20
22
  }
21
- /** Tree search helpers */ function findNodeById(nodes, id) {
23
+ /** Tree search helpers */
24
+ function findNodeById(nodes, id) {
22
25
  for (const node of nodes) {
23
26
  if (node.id === id) return node;
24
27
  if (node.children) {
@@ -5,24 +5,25 @@ import { _jsxSorted, componentQrl, inlinedQrl, isBrowser } from "@qwik.dev/core"
5
5
  * Inspect iframe must load under app root (Vite `BASE_URL` + origin), not `location.pathname`, so
6
6
  * deep routes do not produce `.../nested/route__inspect/`. SSR: no `location` — return empty until
7
7
  * the client runs.
8
- */ function getInspectIframeSrc() {
8
+ */
9
+ function getInspectIframeSrc() {
9
10
  if (!isBrowser) return "";
10
11
  const base = new URL("/", location.origin);
11
12
  return new URL(inspectorLink, base).href;
12
13
  }
13
14
  var Inspect = /*#__PURE__*/ componentQrl(/*#__PURE__*/ inlinedQrl(() => {
14
- return /*#__PURE__*/ _jsxSorted("div", null, { class: "border-glass-border bg-card-item-bg h-full w-full flex-1 overflow-hidden rounded-2xl border" }, /*#__PURE__*/ _jsxSorted("iframe", { "q-e:load": /*#__PURE__*/ inlinedQrl((_, el) => {
15
- try {
16
- setupIframeThemeSync(el);
17
- } catch (err) {
18
- console.error("Failed to inject theme into inspect iframe:", err);
19
- }
20
- }, "Inspect_component_div_iframe_q_e_load_yjJo1Bx5M0w") }, {
21
- src: getInspectIframeSrc(),
15
+ return /*#__PURE__*/ _jsxSorted("div", null, { class: "border-glass-border bg-card-item-bg h-full w-full flex-1 overflow-hidden rounded-2xl border" }, /*#__PURE__*/ _jsxSorted("iframe", { src: getInspectIframeSrc() }, {
22
16
  width: "100%",
23
17
  height: "100%",
24
18
  id: "inspect_qwik",
25
- class: "h-full w-full rounded-xl"
26
- }, null, 2, null), 1, "XI_0");
19
+ class: "h-full w-full rounded-xl",
20
+ "q-e:load": /*#__PURE__*/ inlinedQrl((_, el) => {
21
+ try {
22
+ setupIframeThemeSync(el);
23
+ } catch (err) {
24
+ console.error("Failed to inject theme into inspect iframe:", err);
25
+ }
26
+ }, "Inspect_component_div_iframe_q_e_load_yjJo1Bx5M0w")
27
+ }, null, 3, null), 1, "sh_0");
27
28
  }, "Inspect_component_domPlQHzbck"));
28
29
  export { Inspect };
@@ -26,7 +26,8 @@ var GLASSMORPHISM_CSS = `
26
26
  html.dark { color: #fafafa !important; }
27
27
  html, body, #app { overflow-x: hidden !important; max-width: 100vw !important; }
28
28
  `;
29
- /** 在 iframe onLoad 中调用,同步父主题 + 注入透明背景样式 */ function setupIframeThemeSync(iframe) {
29
+ /** 在 iframe onLoad 中调用,同步父主题 + 注入透明背景样式 */
30
+ function setupIframeThemeSync(iframe) {
30
31
  const doc = iframe.contentDocument;
31
32
  const win = iframe.contentWindow;
32
33
  if (!doc || !win) return;
@@ -3,9 +3,13 @@ import { InfoBanner } from "../../components/InfoBanner/InfoBanner.qwik.mjs";
3
3
  import { _captures, _fnSignal, _jsxSorted, _qrlSync, componentQrl, inlinedQrl } from "@qwik.dev/core";
4
4
  import { Fragment } from "@qwik.dev/core/jsx-runtime";
5
5
  var _hf0 = (p0) => p0.state.routes?.length;
6
+ var _hf0_str = "p0.state.routes?.length";
6
7
  var _hf1 = (p0) => p0.state.components.length;
8
+ var _hf1_str = "p0.state.components.length";
7
9
  var _hf2 = (p0) => p0.state.assets.length || 0;
10
+ var _hf2_str = "p0.state.assets.length||0";
8
11
  var Overview = /*#__PURE__*/ componentQrl(/*#__PURE__*/ inlinedQrl((_rawProps) => {
12
+ const isExtension = _rawProps.state.isExtension;
9
13
  const pageJump = /*#__PURE__*/ inlinedQrl((pageName) => {
10
14
  const _rawProps = _captures[0];
11
15
  _rawProps.state.activeTab = pageName;
@@ -14,33 +18,33 @@ var Overview = /*#__PURE__*/ componentQrl(/*#__PURE__*/ inlinedQrl((_rawProps) =
14
18
  e.preventDefault();
15
19
  }, "e=>{e.preventDefault();}");
16
20
  return /*#__PURE__*/ _jsxSorted(Fragment, null, null, [
17
- _rawProps.state.isExtension && _rawProps.state.vitePluginDetected && /*#__PURE__*/ _jsxSorted(InfoBanner, null, { class: "mb-5" }, [/*#__PURE__*/ _jsxSorted("span", null, { class: "text-foreground font-medium" }, "Vite plugin detected", 3, null), /*#__PURE__*/ _jsxSorted("span", null, { class: "text-muted-foreground" }, [" ", "- the in-app overlay has additional features (routes, assets, packages, code inspection)"], 3, null)], 3, "G0_0"),
21
+ isExtension && _rawProps.state.vitePluginDetected && /*#__PURE__*/ _jsxSorted(InfoBanner, null, { class: "mb-5" }, [/*#__PURE__*/ _jsxSorted("span", null, { class: "text-foreground font-medium" }, "Vite plugin detected", 3, null), /*#__PURE__*/ _jsxSorted("span", null, { class: "text-muted-foreground" }, [" ", "- the in-app overlay has additional features (routes, assets, packages, code inspection)"], 3, null)], 3, "pG_0"),
18
22
  /*#__PURE__*/ _jsxSorted("div", null, { class: "grid grid-cols-1 gap-5 md:grid-cols-3" }, [
19
- !_rawProps.state.isExtension && /*#__PURE__*/ _jsxSorted("div", { "q-e:click": [/*#__PURE__*/ inlinedQrl(() => {
23
+ !isExtension && /*#__PURE__*/ _jsxSorted("div", { "q-e:click": [/*#__PURE__*/ inlinedQrl(() => {
20
24
  const pageJump = _captures[0];
21
25
  return pageJump("routes");
22
- }, "Overview_component_Fragment_div_div_q_e_click_qb0eJJi67Us", [pageJump]), stopPropagation] }, { class: "border-border bg-card-item-bg hover:bg-card-item-hover-bg flex cursor-pointer items-center gap-5 rounded-xl border p-5 transition-all duration-200 hover:-translate-y-0.5" }, [/*#__PURE__*/ _jsxSorted("div", null, { class: "bg-foreground/5 border-border rounded-lg border p-3.5" }, /*#__PURE__*/ _jsxSorted(IconFolderTree, null, { class: "text-accent h-6 w-6" }, null, 3, "G0_1"), 1, null), /*#__PURE__*/ _jsxSorted("div", null, null, [/*#__PURE__*/ _jsxSorted("div", null, { class: "text-3xl font-semibold" }, _fnSignal(_hf0, [_rawProps]), 1, null), /*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground text-sm" }, "pages", 3, null)], 1, null)], 0, "G0_2"),
26
+ }, "Overview_component_Fragment_div_div_q_e_click_qb0eJJi67Us", [pageJump]), stopPropagation] }, { class: "border-border bg-card-item-bg hover:bg-card-item-hover-bg flex cursor-pointer items-center gap-5 rounded-xl border p-5 transition-all duration-200 hover:-translate-y-0.5" }, [/*#__PURE__*/ _jsxSorted("div", null, { class: "bg-foreground/5 border-border rounded-lg border p-3.5" }, /*#__PURE__*/ _jsxSorted(IconFolderTree, null, { class: "text-accent h-6 w-6" }, null, 3, "pG_1"), 1, null), /*#__PURE__*/ _jsxSorted("div", null, null, [/*#__PURE__*/ _jsxSorted("div", null, { class: "text-3xl font-semibold" }, _fnSignal(_hf0, [_rawProps], _hf0_str), 1, null), /*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground text-sm" }, "pages", 3, null)], 1, null)], 0, "pG_2"),
23
27
  /*#__PURE__*/ _jsxSorted("div", { "q-e:click": [/*#__PURE__*/ inlinedQrl(() => {
24
28
  const pageJump = _captures[0];
25
29
  return pageJump("renderTree");
26
- }, "Overview_component_Fragment_div_div_q_e_click_1_B7lsWRRqMVk", [pageJump]), stopPropagation] }, { class: "border-border bg-card-item-bg hover:bg-card-item-hover-bg flex cursor-pointer items-center gap-5 rounded-xl border p-5 transition-all duration-200 hover:-translate-y-0.5" }, [/*#__PURE__*/ _jsxSorted("div", null, { class: "bg-foreground/5 border-border rounded-lg border p-3.5" }, /*#__PURE__*/ _jsxSorted(IconCubeOutline, null, { class: "text-accent h-6 w-6" }, null, 3, "G0_3"), 1, null), /*#__PURE__*/ _jsxSorted("div", null, null, [/*#__PURE__*/ _jsxSorted("div", null, { class: "text-3xl font-semibold" }, _fnSignal(_hf1, [_rawProps]), 1, null), /*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground text-sm" }, "components", 3, null)], 1, null)], 0, null),
27
- !_rawProps.state.isExtension && /*#__PURE__*/ _jsxSorted("div", { "q-e:click": [/*#__PURE__*/ inlinedQrl(() => {
30
+ }, "Overview_component_Fragment_div_div_q_e_click_1_B7lsWRRqMVk", [pageJump]), stopPropagation] }, { class: "border-border bg-card-item-bg hover:bg-card-item-hover-bg flex cursor-pointer items-center gap-5 rounded-xl border p-5 transition-all duration-200 hover:-translate-y-0.5" }, [/*#__PURE__*/ _jsxSorted("div", null, { class: "bg-foreground/5 border-border rounded-lg border p-3.5" }, /*#__PURE__*/ _jsxSorted(IconCubeOutline, null, { class: "text-accent h-6 w-6" }, null, 3, "pG_3"), 1, null), /*#__PURE__*/ _jsxSorted("div", null, null, [/*#__PURE__*/ _jsxSorted("div", null, { class: "text-3xl font-semibold" }, _fnSignal(_hf1, [_rawProps], _hf1_str), 1, null), /*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground text-sm" }, "components", 3, null)], 1, null)], 0, null),
31
+ !isExtension && /*#__PURE__*/ _jsxSorted("div", { "q-e:click": [/*#__PURE__*/ inlinedQrl(() => {
28
32
  const pageJump = _captures[0];
29
33
  return pageJump("assets");
30
- }, "Overview_component_Fragment_div_div_q_e_click_2_ZsZbMuPvZFo", [pageJump]), stopPropagation] }, { class: "border-border bg-card-item-bg hover:bg-card-item-hover-bg flex cursor-pointer items-center gap-5 rounded-xl border p-5 transition-all duration-200 hover:-translate-y-0.5" }, [/*#__PURE__*/ _jsxSorted("div", null, { class: "bg-foreground/5 border-border rounded-lg border p-3.5" }, /*#__PURE__*/ _jsxSorted(IconPhotoOutline, null, { class: "text-accent h-6 w-6" }, null, 3, "G0_4"), 1, null), /*#__PURE__*/ _jsxSorted("div", null, null, [/*#__PURE__*/ _jsxSorted("div", null, { class: "text-3xl font-semibold" }, _fnSignal(_hf2, [_rawProps]), 1, null), /*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground text-sm" }, "assets", 3, null)], 1, null)], 0, "G0_5")
34
+ }, "Overview_component_Fragment_div_div_q_e_click_2_ZsZbMuPvZFo", [pageJump]), stopPropagation] }, { class: "border-border bg-card-item-bg hover:bg-card-item-hover-bg flex cursor-pointer items-center gap-5 rounded-xl border p-5 transition-all duration-200 hover:-translate-y-0.5" }, [/*#__PURE__*/ _jsxSorted("div", null, { class: "bg-foreground/5 border-border rounded-lg border p-3.5" }, /*#__PURE__*/ _jsxSorted(IconPhotoOutline, null, { class: "text-accent h-6 w-6" }, null, 3, "pG_4"), 1, null), /*#__PURE__*/ _jsxSorted("div", null, null, [/*#__PURE__*/ _jsxSorted("div", null, { class: "text-3xl font-semibold" }, _fnSignal(_hf2, [_rawProps], _hf2_str), 1, null), /*#__PURE__*/ _jsxSorted("div", null, { class: "text-muted-foreground text-sm" }, "assets", 3, null)], 1, null)], 0, "pG_5")
31
35
  ], 1, null),
32
36
  _rawProps.state.npmPackages.length > 0 && /*#__PURE__*/ _jsxSorted("div", {
33
- class: ["border-border bg-card-item-bg mt-6 space-y-4 rounded-xl border p-5 md:mt-6", !_rawProps.state.isExtension && "hover:bg-card-item-hover-bg cursor-pointer hover:-translate-y-0.5"],
34
- "q-e:click": _rawProps.state.isExtension ? void 0 : [/*#__PURE__*/ inlinedQrl(() => {
37
+ class: ["border-border bg-card-item-bg mt-6 space-y-4 rounded-xl border p-5 md:mt-6", !isExtension && "hover:bg-card-item-hover-bg cursor-pointer hover:-translate-y-0.5"],
38
+ "q-e:click": isExtension ? void 0 : [/*#__PURE__*/ inlinedQrl(() => {
35
39
  const pageJump = _captures[0];
36
40
  return pageJump("packages");
37
41
  }, "Overview_component_Fragment_div_q_e_click_vcC0WjWKJuE", [pageJump]), stopPropagation]
38
- }, null, [/*#__PURE__*/ _jsxSorted("h3", null, { class: "text-lg font-semibold" }, "Installed Packages", 3, null), /*#__PURE__*/ _jsxSorted("div", null, { class: "grid grid-cols-1 gap-3 md:grid-cols-2" }, _rawProps.state.npmPackages.map(([name, version]) => /*#__PURE__*/ _jsxSorted("div", null, { class: "bg-foreground/5 flex items-center justify-between rounded-lg p-3" }, [/*#__PURE__*/ _jsxSorted("div", null, { class: "text-sm" }, name, 1, null), /*#__PURE__*/ _jsxSorted("div", null, { class: "bg-foreground/5 border-border text-muted-foreground rounded-full border px-2 py-1 text-xs" }, version, 1, null)], 1, name)), 1, null)], 0, "G0_6"),
42
+ }, null, [/*#__PURE__*/ _jsxSorted("h3", null, { class: "text-lg font-semibold" }, "Installed Packages", 3, null), /*#__PURE__*/ _jsxSorted("div", null, { class: "grid grid-cols-1 gap-3 md:grid-cols-2" }, _rawProps.state.npmPackages.map(([name, version]) => /*#__PURE__*/ _jsxSorted("div", null, { class: "bg-foreground/5 flex items-center justify-between rounded-lg p-3" }, [/*#__PURE__*/ _jsxSorted("div", null, { class: "text-sm" }, name, 1, null), /*#__PURE__*/ _jsxSorted("div", null, { class: "bg-foreground/5 border-border text-muted-foreground rounded-full border px-2 py-1 text-xs" }, version, 1, null)], 1, name)), 1, null)], 0, "pG_6"),
39
43
  /*#__PURE__*/ _jsxSorted("div", null, { class: "border-border bg-card-item-bg mt-6 space-y-4 rounded-xl border p-5 md:mt-6" }, [/*#__PURE__*/ _jsxSorted("h3", null, { class: "text-lg font-semibold" }, "Performance", 3, null), /*#__PURE__*/ _jsxSorted("div", null, { class: "space-y-3" }, [
40
44
  /*#__PURE__*/ _jsxSorted("div", null, { class: "border-border flex justify-between border-b py-2" }, [/*#__PURE__*/ _jsxSorted("span", null, { class: "text-muted-foreground" }, "SSR to full load", 3, null), /*#__PURE__*/ _jsxSorted("span", null, { class: "font-medium" }, "-", 3, null)], 3, null),
41
45
  /*#__PURE__*/ _jsxSorted("div", null, { class: "border-border flex justify-between border-b py-2" }, [/*#__PURE__*/ _jsxSorted("span", null, { class: "text-muted-foreground" }, "Page load", 3, null), /*#__PURE__*/ _jsxSorted("span", null, { class: "font-medium" }, "-", 3, null)], 3, null),
42
46
  /*#__PURE__*/ _jsxSorted("div", null, { class: "flex justify-between py-2" }, [/*#__PURE__*/ _jsxSorted("span", null, { class: "text-muted-foreground" }, "Navigation", 3, null), /*#__PURE__*/ _jsxSorted("span", null, { class: "font-medium" }, "-", 3, null)], 3, null)
43
47
  ], 3, null)], 3, null)
44
- ], 1, "G0_7");
48
+ ], 1, "pG_7");
45
49
  }, "Overview_component_05j1MjtAwR0"));
46
50
  export { Overview };
@@ -10,6 +10,7 @@ import { PackageSearchResults } from "./components/PackageSearchResults/PackageS
10
10
  import "./components/PackageSearchResults/index.qwik.mjs";
11
11
  import { _captures, _fnSignal, _jsxSorted, _wrapProp, componentQrl, inlinedQrl, useComputedQrl, useSignal, useStore, useVisibleTaskQrl } from "@qwik.dev/core";
12
12
  var _hf0 = (p0) => p0.state.isLoadingDependencies;
13
+ var _hf0_str = "p0.state.isLoadingDependencies";
13
14
  var Packages = /*#__PURE__*/ componentQrl(/*#__PURE__*/ inlinedQrl((_rawProps) => {
14
15
  const installedSearch = useSignal("");
15
16
  const packageSearch = useSignal("");
@@ -202,7 +203,11 @@ var Packages = /*#__PURE__*/ componentQrl(/*#__PURE__*/ inlinedQrl((_rawProps) =
202
203
  cleanup(() => window.clearInterval(interval));
203
204
  }, "Packages_component_useVisibleTask_XrRVvgaLnoU", [_rawProps]));
204
205
  return /*#__PURE__*/ _jsxSorted("div", null, { class: "flex h-full min-h-0 flex-col gap-4" }, [
205
- /*#__PURE__*/ _jsxSorted(DependencyToolbar, {
206
+ /*#__PURE__*/ _jsxSorted(DependencyToolbar, null, {
207
+ installedSearch: _wrapProp(installedSearch),
208
+ packageSearch: _wrapProp(packageSearch),
209
+ isRefreshing: _wrapProp(isRefreshing),
210
+ isSearching: _wrapProp(isSearching),
206
211
  onInstalledSearch$: /*#__PURE__*/ inlinedQrl((value) => {
207
212
  const installedSearch = _captures[0];
208
213
  installedSearch.value = value;
@@ -210,26 +215,19 @@ var Packages = /*#__PURE__*/ componentQrl(/*#__PURE__*/ inlinedQrl((_rawProps) =
210
215
  onPackageSearch$: /*#__PURE__*/ inlinedQrl((value) => {
211
216
  const packageSearch = _captures[0];
212
217
  packageSearch.value = value;
213
- }, "Packages_component_div_DependencyToolbar_onPackageSearch_RhfweH40tz8", [packageSearch])
214
- }, {
215
- installedSearch: _wrapProp(installedSearch),
216
- packageSearch: _wrapProp(packageSearch),
217
- isRefreshing: _wrapProp(isRefreshing),
218
- isSearching: _wrapProp(isSearching),
218
+ }, "Packages_component_div_DependencyToolbar_onPackageSearch_RhfweH40tz8", [packageSearch]),
219
219
  onSearch$: runPackageSearch,
220
220
  onRefresh$: refreshDependencies
221
- }, null, 2, "Kn_0"),
222
- /*#__PURE__*/ _jsxSorted(DependencyOperationFeedback, { onDismiss$: /*#__PURE__*/ inlinedQrl(() => {
223
- const feedback = _captures[0];
224
- feedback.value = null;
225
- }, "Packages_component_div_DependencyOperationFeedback_onDismiss_Vs5uHnyH1n8", [feedback]) }, {
221
+ }, null, 3, "Kq_0"),
222
+ /*#__PURE__*/ _jsxSorted(DependencyOperationFeedback, null, {
226
223
  feedback: _wrapProp(feedback),
227
- onRetry$: retryLastOperation
228
- }, null, 2, "Kn_1"),
229
- /*#__PURE__*/ _jsxSorted(PackageSearchResults, { onTypeChange$: /*#__PURE__*/ inlinedQrl((packageName, dependencyType) => {
230
- const selectedTypes = _captures[0];
231
- selectedTypes[packageName] = dependencyType;
232
- }, "Packages_component_div_PackageSearchResults_onTypeChange_DUQ8MUEyaY4", [selectedTypes]) }, {
224
+ onRetry$: retryLastOperation,
225
+ onDismiss$: /*#__PURE__*/ inlinedQrl(() => {
226
+ const feedback = _captures[0];
227
+ feedback.value = null;
228
+ }, "Packages_component_div_DependencyOperationFeedback_onDismiss_Vs5uHnyH1n8", [feedback])
229
+ }, null, 3, "Kq_1"),
230
+ /*#__PURE__*/ _jsxSorted(PackageSearchResults, null, {
233
231
  query: _wrapProp(packageSearch),
234
232
  results: _wrapProp(searchResults),
235
233
  error: _wrapProp(searchError),
@@ -237,16 +235,19 @@ var Packages = /*#__PURE__*/ componentQrl(/*#__PURE__*/ inlinedQrl((_rawProps) =
237
235
  activeOperationKey: _wrapProp(activeOperationKey),
238
236
  selectedTypes,
239
237
  onRetrySearch$: runPackageSearch,
238
+ onTypeChange$: /*#__PURE__*/ inlinedQrl((packageName, dependencyType) => {
239
+ const selectedTypes = _captures[0];
240
+ selectedTypes[packageName] = dependencyType;
241
+ }, "Packages_component_div_PackageSearchResults_onTypeChange_DUQ8MUEyaY4", [selectedTypes]),
240
242
  onInstall$: installPackage
241
- }, null, 2, "Kn_2"),
242
- /*#__PURE__*/ _jsxSorted(InstalledDependencyList, null, {
243
+ }, null, 3, "Kq_2"),
244
+ /*#__PURE__*/ _jsxSorted(InstalledDependencyList, { isLoading: _fnSignal(_hf0, [_rawProps], _hf0_str) }, {
243
245
  dependencies: _wrapProp(packages),
244
246
  filteredDependencies: _wrapProp(filteredPackages),
245
- isLoading: _fnSignal(_hf0, [_rawProps]),
246
247
  searchKeyword: _wrapProp(installedSearch),
247
248
  activeOperationKey: _wrapProp(activeOperationKey),
248
249
  onUpdate$: updatePackage
249
- }, null, 3, "Kn_3")
250
- ], 1, "Kn_4");
250
+ }, null, 3, "Kq_3")
251
+ ], 1, "Kq_4");
251
252
  }, "Packages_component_M0NSps63wxg"));
252
253
  export { Packages };
@@ -3,22 +3,30 @@ import { PackageIcon } from "../PackageIcon/PackageIcon.qwik.mjs";
3
3
  import "../PackageIcon/index.qwik.mjs";
4
4
  import { _captures, _fnSignal, _jsxSorted, componentQrl, inlinedQrl } from "@qwik.dev/core";
5
5
  var _hf0 = (p0) => p0.pkg.name;
6
+ var _hf0_str = "p0.pkg.name";
6
7
  var _hf1 = (p0) => p0.pkg.iconUrl;
8
+ var _hf1_str = "p0.pkg.iconUrl";
7
9
  var _hf2 = (p0) => p0.pkg.currentVersion;
10
+ var _hf2_str = "p0.pkg.currentVersion";
8
11
  var _hf3 = (p0) => p0.pkg.latestVersion;
12
+ var _hf3_str = "p0.pkg.latestVersion";
9
13
  var _hf4 = (p0) => p0.pkg.description || "No description available";
14
+ var _hf4_str = "p0.pkg.description||\"No description available\"";
10
15
  var _hf5 = (p0) => p0.activeOperationKey === `update:${p0.pkg.name}`;
16
+ var _hf5_str = "p0.activeOperationKey===`update:${p0.pkg.name}`";
11
17
  var _hf6 = (p0) => p0.activeOperationKey === `update:${p0.pkg.name}` ? "Updating..." : "Update Now";
18
+ var _hf6_str = "p0.activeOperationKey===`update:${p0.pkg.name}`?\"Updating...\":\"Update Now\"";
12
19
  var DependencyCard = /*#__PURE__*/ componentQrl(/*#__PURE__*/ inlinedQrl((_rawProps) => {
13
- const authorDisplayName = (typeof _rawProps.pkg.author === "string" ? _rawProps.pkg.author.trim() : (_rawProps.pkg.author?.name || "").trim()) || "Unknown";
20
+ const author = _rawProps.pkg.author;
21
+ const authorDisplayName = (typeof author === "string" ? author.trim() : (author?.name || "").trim()) || "Unknown";
14
22
  const authorInitials = authorDisplayName.split(/\s+/).filter(Boolean).map((n) => n.charAt(0)).join("").substring(0, 2).toUpperCase() || "??";
15
23
  const handleAuthorClick = /*#__PURE__*/ inlinedQrl(() => {
16
- const _rawProps = _captures[0];
17
- if (typeof _rawProps.pkg.author !== "string") {
18
- if (_rawProps.pkg.author?.url) window.open(_rawProps.pkg.author.url, "_blank");
19
- else if (_rawProps.pkg.author?.email) window.open(`mailto:${_rawProps.pkg.author.email}`, "_blank");
24
+ const author = _captures[0];
25
+ if (typeof author !== "string") {
26
+ if (author?.url) window.open(author.url, "_blank");
27
+ else if (author?.email) window.open(`mailto:${author.email}`, "_blank");
20
28
  }
21
- }, "DependencyCard_component_handleAuthorClick_Z27jxExGLYo", [_rawProps]);
29
+ }, "DependencyCard_component_handleAuthorClick_Z27jxExGLYo", [author]);
22
30
  const handlePackageClick = /*#__PURE__*/ inlinedQrl(() => {
23
31
  const _rawProps = _captures[0];
24
32
  if (_rawProps.pkg.npmUrl) window.open(_rawProps.pkg.npmUrl, "_blank");
@@ -35,13 +43,13 @@ var DependencyCard = /*#__PURE__*/ componentQrl(/*#__PURE__*/ inlinedQrl((_rawPr
35
43
  /*#__PURE__*/ _jsxSorted("div", null, { class: "flex items-start gap-4" }, [/*#__PURE__*/ _jsxSorted("div", { title: `View ${_rawProps.pkg.name} on npm` }, {
36
44
  class: "from-primary/10 via-primary/20 to-primary/30 border-primary/20 group-hover:shadow-primary/20 flex h-12 w-12 flex-shrink-0 cursor-pointer items-center justify-center overflow-hidden rounded-xl border bg-gradient-to-br shadow-md transition-all duration-300 hover:scale-110 hover:rotate-3",
37
45
  "q-e:click": handlePackageClick
38
- }, /*#__PURE__*/ _jsxSorted(PackageIcon, null, {
39
- packageName: _fnSignal(_hf0, [_rawProps]),
40
- iconUrl: _fnSignal(_hf1, [_rawProps])
41
- }, null, 3, "ct_0"), 1, null), /*#__PURE__*/ _jsxSorted("div", null, { class: "min-w-0 flex-1" }, [/*#__PURE__*/ _jsxSorted("h3", { title: _fnSignal(_hf0, [_rawProps]) }, {
46
+ }, /*#__PURE__*/ _jsxSorted(PackageIcon, {
47
+ iconUrl: _fnSignal(_hf1, [_rawProps], _hf1_str),
48
+ packageName: _fnSignal(_hf0, [_rawProps], _hf0_str)
49
+ }, null, null, 3, "y7_0"), 1, null), /*#__PURE__*/ _jsxSorted("div", null, { class: "min-w-0 flex-1" }, [/*#__PURE__*/ _jsxSorted("h3", { title: _fnSignal(_hf0, [_rawProps], _hf0_str) }, {
42
50
  class: "text-foreground hover:text-primary mb-1.5 cursor-pointer truncate text-base font-bold transition-colors",
43
51
  "q-e:click": handlePackageClick
44
- }, _fnSignal(_hf0, [_rawProps]), 1, null), /*#__PURE__*/ _jsxSorted("div", null, { class: "flex flex-wrap items-center gap-2" }, [
52
+ }, _fnSignal(_hf0, [_rawProps], _hf0_str), 1, null), /*#__PURE__*/ _jsxSorted("div", null, { class: "flex flex-wrap items-center gap-2" }, [
45
53
  /*#__PURE__*/ _jsxSorted("span", null, { class: "bg-primary/10 border-primary/20 text-primary inline-flex items-center gap-1 rounded-md border px-2.5 py-0.5 text-xs font-medium" }, [
46
54
  /*#__PURE__*/ _jsxSorted("svg", null, {
47
55
  class: "h-3 w-3",
@@ -55,26 +63,28 @@ var DependencyCard = /*#__PURE__*/ componentQrl(/*#__PURE__*/ inlinedQrl((_rawPr
55
63
  d: "M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z"
56
64
  }, null, 3, null), 3, null),
57
65
  "v",
58
- _fnSignal(_hf2, [_rawProps])
66
+ _fnSignal(_hf2, [_rawProps], _hf2_str)
59
67
  ], 1, null),
60
68
  /*#__PURE__*/ _jsxSorted("span", { class: ["inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-medium", getDependencyStatusClass(_rawProps.pkg.status)].join(" ") }, null, getDependencyStatusLabel(_rawProps.pkg.status), 1, null),
61
- _rawProps.pkg.latestVersion && _rawProps.pkg.status === "outdated" ? /*#__PURE__*/ _jsxSorted("span", null, { class: "text-muted-foreground text-xs" }, ["latest v", _fnSignal(_hf3, [_rawProps])], 1, "ct_1") : null
69
+ _rawProps.pkg.latestVersion && _rawProps.pkg.status === "outdated" ? /*#__PURE__*/ _jsxSorted("span", null, { class: "text-muted-foreground text-xs" }, ["latest v", _fnSignal(_hf3, [_rawProps], _hf3_str)], 1, "y7_1") : null
62
70
  ], 1, null)], 1, null)], 1, null),
63
- /*#__PURE__*/ _jsxSorted("p", null, { class: "text-muted-foreground line-clamp-2 min-h-[2.5rem] text-sm leading-relaxed" }, _fnSignal(_hf4, [_rawProps]), 1, null),
71
+ /*#__PURE__*/ _jsxSorted("p", null, { class: "text-muted-foreground line-clamp-2 min-h-[2.5rem] text-sm leading-relaxed" }, _fnSignal(_hf4, [_rawProps], _hf4_str), 1, null),
64
72
  /*#__PURE__*/ _jsxSorted("div", null, { class: "border-border border-t" }, null, 3, null),
65
- /*#__PURE__*/ _jsxSorted("div", null, { class: "flex items-center justify-between gap-3" }, [_rawProps.pkg.author ? /*#__PURE__*/ _jsxSorted("div", null, { class: "flex min-w-0 flex-1 items-center gap-2" }, [/*#__PURE__*/ _jsxSorted("div", { title: `Contact ${authorDisplayName}` }, {
73
+ /*#__PURE__*/ _jsxSorted("div", null, { class: "flex items-center justify-between gap-3" }, [author ? /*#__PURE__*/ _jsxSorted("div", null, { class: "flex min-w-0 flex-1 items-center gap-2" }, [/*#__PURE__*/ _jsxSorted("div", { title: `Contact ${authorDisplayName}` }, {
66
74
  class: "from-accent/20 to-accent/40 border-accent/30 flex h-7 w-7 flex-shrink-0 cursor-pointer items-center justify-center rounded-full border bg-gradient-to-br transition-transform hover:scale-110",
67
75
  "q-e:click": handleAuthorClick
68
- }, /*#__PURE__*/ _jsxSorted("span", null, { class: "text-accent text-[10px] font-semibold" }, authorInitials, 1, null), 1, null), /*#__PURE__*/ _jsxSorted("span", null, { class: "text-muted-foreground truncate text-xs" }, /*#__PURE__*/ _jsxSorted("span", null, { class: "text-foreground font-medium" }, authorDisplayName, 1, null), 1, null)], 1, "ct_2") : /*#__PURE__*/ _jsxSorted("div", null, { class: "flex-1" }, null, 3, "ct_3"), /*#__PURE__*/ _jsxSorted("div", null, { class: "flex items-center gap-1.5" }, [
76
+ }, /*#__PURE__*/ _jsxSorted("span", null, { class: "text-accent text-[10px] font-semibold" }, authorInitials, 1, null), 1, null), /*#__PURE__*/ _jsxSorted("span", null, { class: "text-muted-foreground truncate text-xs" }, /*#__PURE__*/ _jsxSorted("span", null, { class: "text-foreground font-medium" }, authorDisplayName, 1, null), 1, null)], 1, "y7_2") : /*#__PURE__*/ _jsxSorted("div", null, { class: "flex-1" }, null, 3, "y7_3"), /*#__PURE__*/ _jsxSorted("div", null, { class: "flex items-center gap-1.5" }, [
69
77
  _rawProps.pkg.status === "outdated" && /*#__PURE__*/ _jsxSorted("button", {
70
- disabled: _fnSignal(_hf5, [_rawProps]),
71
- "q-e:click": /*#__PURE__*/ inlinedQrl((_, _1, _rawProps) => _rawProps.onUpdate$(_rawProps.pkg.name), "DependencyCard_component_div_div_div_div_button_q_e_click_0yYsxJjsZQk").m(),
72
- "q:p": _rawProps,
78
+ disabled: _fnSignal(_hf5, [_rawProps], _hf5_str),
73
79
  title: `Update ${_rawProps.pkg.name}`
74
80
  }, {
75
81
  type: "button",
82
+ "q-e:click": /*#__PURE__*/ inlinedQrl(() => {
83
+ const _rawProps = _captures[0];
84
+ return _rawProps.onUpdate$(_rawProps.pkg.name);
85
+ }, "DependencyCard_component_div_div_div_div_button_q_e_click_0yYsxJjsZQk", [_rawProps]),
76
86
  class: "bg-primary/10 hover:bg-primary/20 text-primary rounded-lg px-2.5 py-1.5 text-xs font-medium transition-colors disabled:cursor-not-allowed disabled:opacity-50"
77
- }, _fnSignal(_hf6, [_rawProps]), 4, "ct_4"),
87
+ }, _fnSignal(_hf6, [_rawProps], _hf6_str), 1, "y7_4"),
78
88
  _rawProps.pkg.homepage && /*#__PURE__*/ _jsxSorted("button", null, {
79
89
  "q-e:click": handleHomepageClick,
80
90
  class: "hover:bg-primary/10 group/btn text-muted-foreground hover:text-primary rounded-lg p-1.5 transition-all duration-200",
@@ -89,7 +99,7 @@ var DependencyCard = /*#__PURE__*/ componentQrl(/*#__PURE__*/ inlinedQrl((_rawPr
89
99
  "stroke-linejoin": "round",
90
100
  "stroke-width": "2",
91
101
  d: "M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"
92
- }, null, 3, null), 3, null), 3, "ct_5"),
102
+ }, null, 3, null), 3, null), 3, "y7_5"),
93
103
  _rawProps.pkg.repository && /*#__PURE__*/ _jsxSorted("button", null, {
94
104
  "q-e:click": handleRepositoryClick,
95
105
  class: "hover:bg-primary/10 group/btn text-muted-foreground hover:text-primary rounded-lg p-1.5 transition-all duration-200",
@@ -98,7 +108,7 @@ var DependencyCard = /*#__PURE__*/ componentQrl(/*#__PURE__*/ inlinedQrl((_rawPr
98
108
  class: "h-4 w-4",
99
109
  fill: "currentColor",
100
110
  viewBox: "0 0 24 24"
101
- }, /*#__PURE__*/ _jsxSorted("path", null, { d: "M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z" }, null, 3, null), 3, null), 3, "ct_6"),
111
+ }, /*#__PURE__*/ _jsxSorted("path", null, { d: "M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z" }, null, 3, null), 3, null), 3, "y7_6"),
102
112
  _rawProps.pkg.npmUrl && /*#__PURE__*/ _jsxSorted("button", null, {
103
113
  "q-e:click": handlePackageClick,
104
114
  class: "hover:bg-primary/10 group/btn text-muted-foreground hover:text-primary rounded-lg p-1.5 transition-all duration-200",
@@ -107,8 +117,8 @@ var DependencyCard = /*#__PURE__*/ componentQrl(/*#__PURE__*/ inlinedQrl((_rawPr
107
117
  class: "h-4 w-4",
108
118
  fill: "currentColor",
109
119
  viewBox: "0 0 24 24"
110
- }, /*#__PURE__*/ _jsxSorted("path", null, { d: "M0 7.334v8h6.666v1.332H12v-1.332h12v-8H0zm6.666 6.664H5.334v-4H3.999v4H1.335V8.667h5.331v5.331zm4 0v1.336H8.001V8.667h5.334v5.332h-2.669v-.001zm12.001 0h-1.33v-4h-1.336v4h-1.335v-4h-1.33v4h-2.671V8.667h8.002v5.331zM10.665 10H12v2.667h-1.335V10z" }, null, 3, null), 3, null), 3, "ct_7")
120
+ }, /*#__PURE__*/ _jsxSorted("path", null, { d: "M0 7.334v8h6.666v1.332H12v-1.332h12v-8H0zm6.666 6.664H5.334v-4H3.999v4H1.335V8.667h5.331v5.331zm4 0v1.336H8.001V8.667h5.334v5.332h-2.669v-.001zm12.001 0h-1.33v-4h-1.336v4h-1.335v-4h-1.33v4h-2.671V8.667h8.002v5.331zM10.665 10H12v2.667h-1.335V10z" }, null, 3, null), 3, null), 3, "y7_7")
111
121
  ], 1, null)], 1, null)
112
- ], 1, null)], 1, "ct_8");
122
+ ], 1, null)], 1, "y7_8");
113
123
  }, "DependencyCard_component_16iStPKJyzY"));
114
124
  export { DependencyCard };
@@ -1,14 +1,15 @@
1
1
  import { _fnSignal, _jsxSorted, componentQrl, inlinedQrl } from "@qwik.dev/core";
2
2
  var _hf0 = (p0) => p0.feedback.message;
3
+ var _hf0_str = "p0.feedback.message";
3
4
  var DependencyOperationFeedback = /*#__PURE__*/ componentQrl(/*#__PURE__*/ inlinedQrl((_rawProps) => {
4
5
  if (!_rawProps.feedback) return null;
5
6
  const isError = _rawProps.feedback.type === "error";
6
- return /*#__PURE__*/ _jsxSorted("div", { class: ["rounded-xl border px-4 py-3 text-sm", isError ? "border-red-500/20 bg-red-500/10 text-red-300" : "border-emerald-500/20 bg-emerald-500/10 text-emerald-300"].join(" ") }, null, /*#__PURE__*/ _jsxSorted("div", null, { class: "flex flex-wrap items-center justify-between gap-3" }, [/*#__PURE__*/ _jsxSorted("span", null, null, _fnSignal(_hf0, [_rawProps]), 1, null), /*#__PURE__*/ _jsxSorted("div", null, { class: "flex items-center gap-2" }, [isError && _rawProps.feedback.retryAction ? /*#__PURE__*/ _jsxSorted("button", { "q-e:click": _rawProps.onRetry$ }, {
7
+ return /*#__PURE__*/ _jsxSorted("div", { class: ["rounded-xl border px-4 py-3 text-sm", isError ? "border-red-500/20 bg-red-500/10 text-red-300" : "border-emerald-500/20 bg-emerald-500/10 text-emerald-300"].join(" ") }, null, /*#__PURE__*/ _jsxSorted("div", null, { class: "flex flex-wrap items-center justify-between gap-3" }, [/*#__PURE__*/ _jsxSorted("span", null, null, _fnSignal(_hf0, [_rawProps], _hf0_str), 1, null), /*#__PURE__*/ _jsxSorted("div", null, { class: "flex items-center gap-2" }, [isError && _rawProps.feedback.retryAction ? /*#__PURE__*/ _jsxSorted("button", { "q-e:click": _rawProps.onRetry$ }, {
7
8
  type: "button",
8
9
  class: "rounded-lg bg-foreground/10 px-2.5 py-1 text-xs hover:bg-foreground/20"
9
- }, "Retry", 2, "yy_0") : null, /*#__PURE__*/ _jsxSorted("button", { "q-e:click": _rawProps.onDismiss$ }, {
10
+ }, "Retry", 2, "Jo_0") : null, /*#__PURE__*/ _jsxSorted("button", { "q-e:click": _rawProps.onDismiss$ }, {
10
11
  type: "button",
11
12
  class: "rounded-lg bg-foreground/10 px-2.5 py-1 text-xs hover:bg-foreground/20"
12
- }, "Dismiss", 2, null)], 1, null)], 1, null), 1, "yy_1");
13
+ }, "Dismiss", 2, null)], 1, null)], 1, null), 1, "Jo_1");
13
14
  }, "DependencyOperationFeedback_component_3LtTZiIpvzQ"));
14
15
  export { DependencyOperationFeedback };