@industry-theme/repository-composition-panels 0.6.24 → 0.6.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{BufferResource-DdBroP8T.js → BufferResource-BpwdsDX0.js} +2 -2
- package/dist/{BufferResource-DdBroP8T.js.map → BufferResource-BpwdsDX0.js.map} +1 -1
- package/dist/{CanvasRenderer-BDNCY5O9.js → CanvasRenderer-CPXgnUH1.js} +3 -3
- package/dist/{CanvasRenderer-BDNCY5O9.js.map → CanvasRenderer-CPXgnUH1.js.map} +1 -1
- package/dist/{Filter-CRFHnDlT.js → Filter-mj7HIghB.js} +2 -2
- package/dist/{Filter-CRFHnDlT.js.map → Filter-mj7HIghB.js.map} +1 -1
- package/dist/{RenderTargetSystem-D2aJ1wgA.js → RenderTargetSystem-hvP6wkm5.js} +3 -3
- package/dist/{RenderTargetSystem-D2aJ1wgA.js.map → RenderTargetSystem-hvP6wkm5.js.map} +1 -1
- package/dist/{WebGLRenderer-BC7QWBvA.js → WebGLRenderer-CSpWLo6L.js} +4 -4
- package/dist/{WebGLRenderer-BC7QWBvA.js.map → WebGLRenderer-CSpWLo6L.js.map} +1 -1
- package/dist/{WebGPURenderer-kG50TdbS.js → WebGPURenderer-Dlw7vvZU.js} +4 -4
- package/dist/{WebGPURenderer-kG50TdbS.js.map → WebGPURenderer-Dlw7vvZU.js.map} +1 -1
- package/dist/{browserAll-B-6hqqmg.js → browserAll-C1iy5xbx.js} +3 -3
- package/dist/{browserAll-B-6hqqmg.js.map → browserAll-C1iy5xbx.js.map} +1 -1
- package/dist/{index-DqpaKlrF.js → index-BwWx2Yhi.js} +1166 -524
- package/dist/{index-DqpaKlrF.js.map → index-BwWx2Yhi.js.map} +1 -1
- package/dist/{init-rtMA0Dd6.js → init-DGC3XtNO.js} +3 -3
- package/dist/{init-rtMA0Dd6.js.map → init-DGC3XtNO.js.map} +1 -1
- package/dist/panels/CollectionMapPanel.d.ts +8 -0
- package/dist/panels/CollectionMapPanel.d.ts.map +1 -1
- package/dist/panels/PackageCompositionPanel.d.ts +2 -0
- package/dist/panels/PackageCompositionPanel.d.ts.map +1 -1
- package/dist/panels/components/DependencyRow.d.ts.map +1 -1
- package/dist/panels/components/FilterBar.d.ts.map +1 -1
- package/dist/panels/components/PackageDetailCard.d.ts +16 -0
- package/dist/panels/components/PackageDetailCard.d.ts.map +1 -0
- package/dist/panels/components/PackageSummaryCard.d.ts +10 -0
- package/dist/panels/components/PackageSummaryCard.d.ts.map +1 -0
- package/dist/panels/components/index.d.ts +3 -1
- package/dist/panels/components/index.d.ts.map +1 -1
- package/dist/panels/overworld-map/OverworldMapPanel.d.ts +4 -0
- package/dist/panels/overworld-map/OverworldMapPanel.d.ts.map +1 -1
- package/dist/panels/overworld-map/components/IsometricInteractionManager.d.ts +18 -1
- package/dist/panels/overworld-map/components/IsometricInteractionManager.d.ts.map +1 -1
- package/dist/panels.bundle.js +1 -1
- package/dist/types/index.d.ts +8 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/envParser.d.ts +29 -0
- package/dist/utils/envParser.d.ts.map +1 -0
- package/dist/webworkerAll-BmgxtxZy.js +3 -0
- package/dist/webworkerAll-BmgxtxZy.js.map +1 -0
- package/package.json +3 -3
- package/dist/webworkerAll-Bvp7nJ85.js +0 -3
- package/dist/webworkerAll-Bvp7nJ85.js.map +0 -1
|
@@ -151,28 +151,17 @@ const Activity$1 = createLucideIcon$1("activity", __iconNode$qk);
|
|
|
151
151
|
* See the LICENSE file in the root directory of this source tree.
|
|
152
152
|
*/
|
|
153
153
|
const __iconNode$qj = [
|
|
154
|
-
["path", { d: "M5 12h14", key: "1ays0h" }],
|
|
155
|
-
["path", { d: "m12 5 7 7-7 7", key: "xquz4c" }]
|
|
156
|
-
];
|
|
157
|
-
const ArrowRight$1 = createLucideIcon$1("arrow-right", __iconNode$qj);
|
|
158
|
-
/**
|
|
159
|
-
* @license lucide-react v0.552.0 - ISC
|
|
160
|
-
*
|
|
161
|
-
* This source code is licensed under the ISC license.
|
|
162
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
163
|
-
*/
|
|
164
|
-
const __iconNode$qi = [
|
|
165
154
|
["path", { d: "m5 12 7-7 7 7", key: "hav0vg" }],
|
|
166
155
|
["path", { d: "M12 19V5", key: "x0mq9r" }]
|
|
167
156
|
];
|
|
168
|
-
const ArrowUp$1 = createLucideIcon$1("arrow-up", __iconNode$
|
|
157
|
+
const ArrowUp$1 = createLucideIcon$1("arrow-up", __iconNode$qj);
|
|
169
158
|
/**
|
|
170
159
|
* @license lucide-react v0.552.0 - ISC
|
|
171
160
|
*
|
|
172
161
|
* This source code is licensed under the ISC license.
|
|
173
162
|
* See the LICENSE file in the root directory of this source tree.
|
|
174
163
|
*/
|
|
175
|
-
const __iconNode$
|
|
164
|
+
const __iconNode$qi = [
|
|
176
165
|
[
|
|
177
166
|
"path",
|
|
178
167
|
{
|
|
@@ -183,59 +172,70 @@ const __iconNode$qh = [
|
|
|
183
172
|
["path", { d: "m3.3 7 8.7 5 8.7-5", key: "g66t2b" }],
|
|
184
173
|
["path", { d: "M12 22V12", key: "d0xqtd" }]
|
|
185
174
|
];
|
|
186
|
-
const Box$1 = createLucideIcon$1("box", __iconNode$
|
|
175
|
+
const Box$1 = createLucideIcon$1("box", __iconNode$qi);
|
|
187
176
|
/**
|
|
188
177
|
* @license lucide-react v0.552.0 - ISC
|
|
189
178
|
*
|
|
190
179
|
* This source code is licensed under the ISC license.
|
|
191
180
|
* See the LICENSE file in the root directory of this source tree.
|
|
192
181
|
*/
|
|
193
|
-
const __iconNode$
|
|
194
|
-
const Check$1 = createLucideIcon$1("check", __iconNode$
|
|
182
|
+
const __iconNode$qh = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
|
|
183
|
+
const Check$1 = createLucideIcon$1("check", __iconNode$qh);
|
|
195
184
|
/**
|
|
196
185
|
* @license lucide-react v0.552.0 - ISC
|
|
197
186
|
*
|
|
198
187
|
* This source code is licensed under the ISC license.
|
|
199
188
|
* See the LICENSE file in the root directory of this source tree.
|
|
200
189
|
*/
|
|
201
|
-
const __iconNode$
|
|
202
|
-
const ChevronDown$1 = createLucideIcon$1("chevron-down", __iconNode$
|
|
190
|
+
const __iconNode$qg = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
|
|
191
|
+
const ChevronDown$1 = createLucideIcon$1("chevron-down", __iconNode$qg);
|
|
203
192
|
/**
|
|
204
193
|
* @license lucide-react v0.552.0 - ISC
|
|
205
194
|
*
|
|
206
195
|
* This source code is licensed under the ISC license.
|
|
207
196
|
* See the LICENSE file in the root directory of this source tree.
|
|
208
197
|
*/
|
|
209
|
-
const __iconNode$
|
|
210
|
-
const ChevronLeft$1 = createLucideIcon$1("chevron-left", __iconNode$
|
|
198
|
+
const __iconNode$qf = [["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }]];
|
|
199
|
+
const ChevronLeft$1 = createLucideIcon$1("chevron-left", __iconNode$qf);
|
|
211
200
|
/**
|
|
212
201
|
* @license lucide-react v0.552.0 - ISC
|
|
213
202
|
*
|
|
214
203
|
* This source code is licensed under the ISC license.
|
|
215
204
|
* See the LICENSE file in the root directory of this source tree.
|
|
216
205
|
*/
|
|
217
|
-
const __iconNode$
|
|
218
|
-
const ChevronRight$1 = createLucideIcon$1("chevron-right", __iconNode$
|
|
206
|
+
const __iconNode$qe = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
|
|
207
|
+
const ChevronRight$1 = createLucideIcon$1("chevron-right", __iconNode$qe);
|
|
219
208
|
/**
|
|
220
209
|
* @license lucide-react v0.552.0 - ISC
|
|
221
210
|
*
|
|
222
211
|
* This source code is licensed under the ISC license.
|
|
223
212
|
* See the LICENSE file in the root directory of this source tree.
|
|
224
213
|
*/
|
|
225
|
-
const __iconNode$
|
|
226
|
-
const ChevronUp$1 = createLucideIcon$1("chevron-up", __iconNode$
|
|
214
|
+
const __iconNode$qd = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]];
|
|
215
|
+
const ChevronUp$1 = createLucideIcon$1("chevron-up", __iconNode$qd);
|
|
227
216
|
/**
|
|
228
217
|
* @license lucide-react v0.552.0 - ISC
|
|
229
218
|
*
|
|
230
219
|
* This source code is licensed under the ISC license.
|
|
231
220
|
* See the LICENSE file in the root directory of this source tree.
|
|
232
221
|
*/
|
|
233
|
-
const __iconNode$
|
|
222
|
+
const __iconNode$qc = [
|
|
234
223
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
235
224
|
["line", { x1: "12", x2: "12", y1: "8", y2: "12", key: "1pkeuh" }],
|
|
236
225
|
["line", { x1: "12", x2: "12.01", y1: "16", y2: "16", key: "4dfq90" }]
|
|
237
226
|
];
|
|
238
|
-
const CircleAlert$1 = createLucideIcon$1("circle-alert", __iconNode$
|
|
227
|
+
const CircleAlert$1 = createLucideIcon$1("circle-alert", __iconNode$qc);
|
|
228
|
+
/**
|
|
229
|
+
* @license lucide-react v0.552.0 - ISC
|
|
230
|
+
*
|
|
231
|
+
* This source code is licensed under the ISC license.
|
|
232
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
233
|
+
*/
|
|
234
|
+
const __iconNode$qb = [
|
|
235
|
+
["path", { d: "M21.801 10A10 10 0 1 1 17 3.335", key: "yps3ct" }],
|
|
236
|
+
["path", { d: "m9 11 3 3L22 4", key: "1pflzl" }]
|
|
237
|
+
];
|
|
238
|
+
const CircleCheckBig$1 = createLucideIcon$1("circle-check-big", __iconNode$qb);
|
|
239
239
|
/**
|
|
240
240
|
* @license lucide-react v0.552.0 - ISC
|
|
241
241
|
*
|
|
@@ -1554,6 +1554,7 @@ const DependencyRow = ({ dependency }) => {
|
|
|
1554
1554
|
borderRadius: `${theme2.radii[1]}px`,
|
|
1555
1555
|
fontSize: `${theme2.fontSizes[0]}px`,
|
|
1556
1556
|
fontWeight: theme2.fontWeights.medium,
|
|
1557
|
+
fontFamily: theme2.fonts.body,
|
|
1557
1558
|
minWidth: "36px",
|
|
1558
1559
|
textAlign: "center"
|
|
1559
1560
|
};
|
|
@@ -1616,11 +1617,12 @@ const DependencyRow = ({ dependency }) => {
|
|
|
1616
1617
|
display: "flex",
|
|
1617
1618
|
alignItems: "center",
|
|
1618
1619
|
justifyContent: "space-between",
|
|
1619
|
-
padding: `${theme2.space[
|
|
1620
|
+
padding: `${theme2.space[3]}px ${theme2.space[2]}px`,
|
|
1620
1621
|
backgroundColor: theme2.colors.background,
|
|
1621
|
-
borderRadius:
|
|
1622
|
+
borderRadius: 0,
|
|
1622
1623
|
fontSize: `${theme2.fontSizes[1]}px`,
|
|
1623
|
-
|
|
1624
|
+
fontFamily: theme2.fonts.body,
|
|
1625
|
+
borderBottom: `1px solid ${theme2.colors.border}`,
|
|
1624
1626
|
transition: "all 0.2s"
|
|
1625
1627
|
},
|
|
1626
1628
|
onMouseEnter: () => setIsHovered(true),
|
|
@@ -1692,7 +1694,16 @@ const DependencyRow = ({ dependency }) => {
|
|
|
1692
1694
|
children: copied ? /* @__PURE__ */ jsx(Check$1, { size: 12 }) : /* @__PURE__ */ jsx(Copy$1, { size: 12 })
|
|
1693
1695
|
}
|
|
1694
1696
|
),
|
|
1695
|
-
/* @__PURE__ */ jsx(
|
|
1697
|
+
/* @__PURE__ */ jsx(
|
|
1698
|
+
"span",
|
|
1699
|
+
{
|
|
1700
|
+
style: {
|
|
1701
|
+
color: theme2.colors.textSecondary,
|
|
1702
|
+
fontFamily: theme2.fonts.body
|
|
1703
|
+
},
|
|
1704
|
+
children: dependency.version
|
|
1705
|
+
}
|
|
1706
|
+
)
|
|
1696
1707
|
]
|
|
1697
1708
|
}
|
|
1698
1709
|
)
|
|
@@ -1719,8 +1730,7 @@ const FilterBar = ({
|
|
|
1719
1730
|
{
|
|
1720
1731
|
style: {
|
|
1721
1732
|
display: "flex",
|
|
1722
|
-
flexDirection: "column"
|
|
1723
|
-
gap: `${theme2.space[2]}px`
|
|
1733
|
+
flexDirection: "column"
|
|
1724
1734
|
},
|
|
1725
1735
|
children: [
|
|
1726
1736
|
/* @__PURE__ */ jsxs(
|
|
@@ -1753,9 +1763,10 @@ const FilterBar = ({
|
|
|
1753
1763
|
onChange: (e2) => onSearchChange(e2.target.value),
|
|
1754
1764
|
style: {
|
|
1755
1765
|
width: "100%",
|
|
1756
|
-
padding: `${theme2.space[
|
|
1757
|
-
borderRadius:
|
|
1758
|
-
border:
|
|
1766
|
+
padding: `${theme2.space[3]}px ${theme2.space[5]}px`,
|
|
1767
|
+
borderRadius: 0,
|
|
1768
|
+
border: "none",
|
|
1769
|
+
borderBottom: `1px solid ${theme2.colors.border}`,
|
|
1759
1770
|
backgroundColor: theme2.colors.backgroundSecondary,
|
|
1760
1771
|
color: theme2.colors.text,
|
|
1761
1772
|
fontSize: `${theme2.fontSizes[1]}px`,
|
|
@@ -1788,7 +1799,7 @@ const FilterBar = ({
|
|
|
1788
1799
|
]
|
|
1789
1800
|
}
|
|
1790
1801
|
),
|
|
1791
|
-
showFilters && /* @__PURE__ */ jsx("div", { style: { display: "flex",
|
|
1802
|
+
showFilters && /* @__PURE__ */ jsx("div", { style: { display: "flex", width: "100%" }, children: availableFilters.map((type2) => {
|
|
1792
1803
|
const isActive = activeFilters.has(type2);
|
|
1793
1804
|
return /* @__PURE__ */ jsxs(
|
|
1794
1805
|
"button",
|
|
@@ -1796,12 +1807,13 @@ const FilterBar = ({
|
|
|
1796
1807
|
onClick: () => onToggleFilter(type2),
|
|
1797
1808
|
style: {
|
|
1798
1809
|
flex: 1,
|
|
1799
|
-
padding: `${theme2.space[
|
|
1810
|
+
padding: `${theme2.space[2]}px ${theme2.space[2]}px`,
|
|
1800
1811
|
fontSize: `${theme2.fontSizes[0]}px`,
|
|
1801
1812
|
fontWeight: theme2.fontWeights.medium,
|
|
1802
1813
|
fontFamily: theme2.fonts.body,
|
|
1803
|
-
borderRadius:
|
|
1804
|
-
border:
|
|
1814
|
+
borderRadius: 0,
|
|
1815
|
+
border: "none",
|
|
1816
|
+
borderRight: `1px solid ${theme2.colors.border}`,
|
|
1805
1817
|
backgroundColor: isActive ? `${theme2.colors.primary}20` : theme2.colors.backgroundSecondary,
|
|
1806
1818
|
color: isActive ? theme2.colors.primary : theme2.colors.text,
|
|
1807
1819
|
cursor: "pointer",
|
|
@@ -2565,6 +2577,110 @@ const OtherScriptsSection = ({
|
|
|
2565
2577
|
)
|
|
2566
2578
|
] });
|
|
2567
2579
|
};
|
|
2580
|
+
function parseEnvJson(content2) {
|
|
2581
|
+
const parsed = JSON.parse(content2);
|
|
2582
|
+
if (!parsed.variables || !Array.isArray(parsed.variables)) {
|
|
2583
|
+
throw new Error('Invalid env.json: missing "variables" array');
|
|
2584
|
+
}
|
|
2585
|
+
return parsed.variables.map((v2) => ({
|
|
2586
|
+
name: v2.name,
|
|
2587
|
+
description: v2.description,
|
|
2588
|
+
required: v2.required ?? false,
|
|
2589
|
+
default: v2.default,
|
|
2590
|
+
example: v2.example,
|
|
2591
|
+
group: v2.group,
|
|
2592
|
+
link: v2.link
|
|
2593
|
+
}));
|
|
2594
|
+
}
|
|
2595
|
+
const urlPattern = /https?:\/\/[^\s)>\]]+/gi;
|
|
2596
|
+
function parseDotEnv(content2) {
|
|
2597
|
+
const lines = content2.split("\n");
|
|
2598
|
+
const variables = [];
|
|
2599
|
+
const commentBuffer = [];
|
|
2600
|
+
let currentGroup = void 0;
|
|
2601
|
+
const sectionPatterns = [
|
|
2602
|
+
/^#\s*===\s*(.+?)\s*===\s*$/,
|
|
2603
|
+
// # === Section ===
|
|
2604
|
+
/^##\s+(.+?)\s*$/,
|
|
2605
|
+
// ## Section
|
|
2606
|
+
/^#\s*\[(.+?)\]\s*$/
|
|
2607
|
+
// # [Section]
|
|
2608
|
+
];
|
|
2609
|
+
for (const line of lines) {
|
|
2610
|
+
const trimmed = line.trim();
|
|
2611
|
+
if (!trimmed) {
|
|
2612
|
+
commentBuffer.length = 0;
|
|
2613
|
+
continue;
|
|
2614
|
+
}
|
|
2615
|
+
if (trimmed.startsWith("#")) {
|
|
2616
|
+
let isSection = false;
|
|
2617
|
+
for (const pattern of sectionPatterns) {
|
|
2618
|
+
const sectionMatch = trimmed.match(pattern);
|
|
2619
|
+
if (sectionMatch) {
|
|
2620
|
+
currentGroup = sectionMatch[1].trim();
|
|
2621
|
+
commentBuffer.length = 0;
|
|
2622
|
+
isSection = true;
|
|
2623
|
+
break;
|
|
2624
|
+
}
|
|
2625
|
+
}
|
|
2626
|
+
if (!isSection) {
|
|
2627
|
+
commentBuffer.push(trimmed.slice(1).trim());
|
|
2628
|
+
}
|
|
2629
|
+
continue;
|
|
2630
|
+
}
|
|
2631
|
+
const match = trimmed.match(/^([A-Z_][A-Z0-9_]*)=(.*)$/i);
|
|
2632
|
+
if (match) {
|
|
2633
|
+
const [, name2, value] = match;
|
|
2634
|
+
let required = false;
|
|
2635
|
+
let link2 = void 0;
|
|
2636
|
+
const descriptionParts = [];
|
|
2637
|
+
for (const comment2 of commentBuffer) {
|
|
2638
|
+
const lowerComment = comment2.toLowerCase();
|
|
2639
|
+
if (!link2) {
|
|
2640
|
+
const urlMatch = comment2.match(urlPattern);
|
|
2641
|
+
if (urlMatch) {
|
|
2642
|
+
link2 = urlMatch[0];
|
|
2643
|
+
}
|
|
2644
|
+
}
|
|
2645
|
+
if (lowerComment === "required" || lowerComment === "(required)") {
|
|
2646
|
+
required = true;
|
|
2647
|
+
} else if (lowerComment.includes("required")) {
|
|
2648
|
+
required = true;
|
|
2649
|
+
descriptionParts.push(
|
|
2650
|
+
comment2.replace(/\s*\(?\s*required\s*\)?\s*/gi, "").trim()
|
|
2651
|
+
);
|
|
2652
|
+
} else {
|
|
2653
|
+
descriptionParts.push(comment2);
|
|
2654
|
+
}
|
|
2655
|
+
}
|
|
2656
|
+
const description = descriptionParts.filter(Boolean).join(" ") || void 0;
|
|
2657
|
+
const defaultValue = value.trim() || void 0;
|
|
2658
|
+
variables.push({
|
|
2659
|
+
name: name2,
|
|
2660
|
+
description,
|
|
2661
|
+
required,
|
|
2662
|
+
default: defaultValue,
|
|
2663
|
+
example: defaultValue,
|
|
2664
|
+
group: currentGroup,
|
|
2665
|
+
link: link2
|
|
2666
|
+
});
|
|
2667
|
+
commentBuffer.length = 0;
|
|
2668
|
+
}
|
|
2669
|
+
}
|
|
2670
|
+
return variables;
|
|
2671
|
+
}
|
|
2672
|
+
function parseEnvFile(content2, fileType) {
|
|
2673
|
+
if (fileType === "json") {
|
|
2674
|
+
return {
|
|
2675
|
+
variables: parseEnvJson(content2),
|
|
2676
|
+
format: "json"
|
|
2677
|
+
};
|
|
2678
|
+
}
|
|
2679
|
+
return {
|
|
2680
|
+
variables: parseDotEnv(content2),
|
|
2681
|
+
format: "dotenv"
|
|
2682
|
+
};
|
|
2683
|
+
}
|
|
2568
2684
|
const dependencyTypeOrder = {
|
|
2569
2685
|
peer: 0,
|
|
2570
2686
|
production: 1,
|
|
@@ -2594,369 +2710,42 @@ function extractDependencies(packageLayer) {
|
|
|
2594
2710
|
return a2.name.localeCompare(b2.name);
|
|
2595
2711
|
});
|
|
2596
2712
|
}
|
|
2597
|
-
|
|
2598
|
-
const currentName = pkg.packageData.name;
|
|
2599
|
-
const allDeps = /* @__PURE__ */ new Set([
|
|
2600
|
-
...Object.keys(pkg.packageData.dependencies || {}),
|
|
2601
|
-
...Object.keys(pkg.packageData.devDependencies || {}),
|
|
2602
|
-
...Object.keys(pkg.packageData.peerDependencies || {})
|
|
2603
|
-
]);
|
|
2604
|
-
const dependsOn = allPackages.filter(
|
|
2605
|
-
(p2) => p2.packageData.name !== currentName && allDeps.has(p2.packageData.name)
|
|
2606
|
-
);
|
|
2607
|
-
const usedBy = allPackages.filter((other) => {
|
|
2608
|
-
if (other.packageData.name === currentName) return false;
|
|
2609
|
-
const otherDeps = /* @__PURE__ */ new Set([
|
|
2610
|
-
...Object.keys(other.packageData.dependencies || {}),
|
|
2611
|
-
...Object.keys(other.packageData.devDependencies || {}),
|
|
2612
|
-
...Object.keys(other.packageData.peerDependencies || {})
|
|
2613
|
-
]);
|
|
2614
|
-
return otherDeps.has(currentName);
|
|
2615
|
-
});
|
|
2616
|
-
return { dependsOn, usedBy };
|
|
2617
|
-
}
|
|
2618
|
-
const PackageSummaryCard = ({
|
|
2619
|
-
pkg,
|
|
2620
|
-
allPackages,
|
|
2621
|
-
onClick,
|
|
2622
|
-
onHover
|
|
2623
|
-
}) => {
|
|
2624
|
-
var _a, _b;
|
|
2625
|
-
const { theme: theme2 } = useTheme();
|
|
2626
|
-
const deps = pkg.packageData.dependencies || {};
|
|
2627
|
-
const devDeps = pkg.packageData.devDependencies || {};
|
|
2628
|
-
const peerDeps = pkg.packageData.peerDependencies || {};
|
|
2629
|
-
const totalDeps = Object.keys(deps).length + Object.keys(devDeps).length + Object.keys(peerDeps).length;
|
|
2630
|
-
const configFilesArray = pkg.configFiles ? Object.values(pkg.configFiles).filter((c2) => c2 == null ? void 0 : c2.exists) : [];
|
|
2631
|
-
configFilesArray.filter((c2) => !(c2 == null ? void 0 : c2.isInherited)).length;
|
|
2632
|
-
const inheritedConfigs = configFilesArray.filter(
|
|
2633
|
-
(c2) => c2 == null ? void 0 : c2.isInherited
|
|
2634
|
-
).length;
|
|
2635
|
-
const commands = ((_a = pkg.packageData.availableCommands) == null ? void 0 : _a.length) || 0;
|
|
2636
|
-
const { dependsOn, usedBy } = useMemo(
|
|
2637
|
-
() => findInternalDependencies(pkg, allPackages),
|
|
2638
|
-
[pkg, allPackages]
|
|
2639
|
-
);
|
|
2640
|
-
const hasInternalDeps = dependsOn.length > 0 || usedBy.length > 0;
|
|
2641
|
-
const packageRole = useMemo(() => {
|
|
2642
|
-
if (dependsOn.length === 0 && usedBy.length === 0) {
|
|
2643
|
-
return null;
|
|
2644
|
-
}
|
|
2645
|
-
if (dependsOn.length === 0 && usedBy.length > 0) {
|
|
2646
|
-
return { label: "core", icon: Box$1, color: "#10b981" };
|
|
2647
|
-
}
|
|
2648
|
-
if (dependsOn.length > 0 && usedBy.length === 0) {
|
|
2649
|
-
return { label: "app", icon: Layers$1, color: "#8b5cf6" };
|
|
2650
|
-
}
|
|
2651
|
-
return { label: "shared", icon: LayoutGrid$1, color: "#f59e0b" };
|
|
2652
|
-
}, [dependsOn.length, usedBy.length]);
|
|
2653
|
-
return /* @__PURE__ */ jsxs(
|
|
2654
|
-
"button",
|
|
2655
|
-
{
|
|
2656
|
-
onClick,
|
|
2657
|
-
style: {
|
|
2658
|
-
display: "flex",
|
|
2659
|
-
flexDirection: "column",
|
|
2660
|
-
gap: "8px",
|
|
2661
|
-
padding: "12px",
|
|
2662
|
-
backgroundColor: theme2.colors.backgroundSecondary,
|
|
2663
|
-
border: `1px solid ${theme2.colors.border}`,
|
|
2664
|
-
borderRadius: "0",
|
|
2665
|
-
cursor: "pointer",
|
|
2666
|
-
textAlign: "left",
|
|
2667
|
-
transition: "all 0.15s ease",
|
|
2668
|
-
width: "100%"
|
|
2669
|
-
},
|
|
2670
|
-
onMouseEnter: (e2) => {
|
|
2671
|
-
e2.currentTarget.style.borderColor = theme2.colors.primary;
|
|
2672
|
-
e2.currentTarget.style.backgroundColor = theme2.colors.backgroundTertiary;
|
|
2673
|
-
onHover == null ? void 0 : onHover(pkg);
|
|
2674
|
-
},
|
|
2675
|
-
onMouseLeave: (e2) => {
|
|
2676
|
-
e2.currentTarget.style.borderColor = theme2.colors.border;
|
|
2677
|
-
e2.currentTarget.style.backgroundColor = theme2.colors.backgroundSecondary;
|
|
2678
|
-
onHover == null ? void 0 : onHover(null);
|
|
2679
|
-
},
|
|
2680
|
-
children: [
|
|
2681
|
-
/* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "8px" }, children: [
|
|
2682
|
-
/* @__PURE__ */ jsx(
|
|
2683
|
-
PackageManagerIcon,
|
|
2684
|
-
{
|
|
2685
|
-
packageManager: pkg.packageData.packageManager,
|
|
2686
|
-
size: 20
|
|
2687
|
-
}
|
|
2688
|
-
),
|
|
2689
|
-
/* @__PURE__ */ jsxs("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
2690
|
-
/* @__PURE__ */ jsx(
|
|
2691
|
-
"div",
|
|
2692
|
-
{
|
|
2693
|
-
style: {
|
|
2694
|
-
fontSize: theme2.fontSizes[2],
|
|
2695
|
-
fontWeight: theme2.fontWeights.semibold,
|
|
2696
|
-
fontFamily: theme2.fonts.body,
|
|
2697
|
-
color: theme2.colors.text,
|
|
2698
|
-
overflow: "hidden",
|
|
2699
|
-
textOverflow: "ellipsis",
|
|
2700
|
-
whiteSpace: "nowrap"
|
|
2701
|
-
},
|
|
2702
|
-
children: pkg.packageData.name
|
|
2703
|
-
}
|
|
2704
|
-
),
|
|
2705
|
-
/* @__PURE__ */ jsxs(
|
|
2706
|
-
"div",
|
|
2707
|
-
{
|
|
2708
|
-
style: {
|
|
2709
|
-
fontSize: theme2.fontSizes[0],
|
|
2710
|
-
fontFamily: theme2.fonts.body,
|
|
2711
|
-
color: theme2.colors.textSecondary
|
|
2712
|
-
},
|
|
2713
|
-
children: [
|
|
2714
|
-
pkg.packageData.path || "/",
|
|
2715
|
-
pkg.packageData.version && ` • v${pkg.packageData.version}`
|
|
2716
|
-
]
|
|
2717
|
-
}
|
|
2718
|
-
)
|
|
2719
|
-
] }),
|
|
2720
|
-
pkg.packageData.isMonorepoRoot && ((_b = pkg.packageData.monorepoMetadata) == null ? void 0 : _b.orchestrator) && /* @__PURE__ */ jsx(
|
|
2721
|
-
OrchestratorBadge,
|
|
2722
|
-
{
|
|
2723
|
-
orchestrator: pkg.packageData.monorepoMetadata.orchestrator,
|
|
2724
|
-
rootRole: pkg.packageData.monorepoMetadata.rootRole,
|
|
2725
|
-
size: "sm"
|
|
2726
|
-
}
|
|
2727
|
-
),
|
|
2728
|
-
packageRole && /* @__PURE__ */ jsxs(
|
|
2729
|
-
"span",
|
|
2730
|
-
{
|
|
2731
|
-
style: {
|
|
2732
|
-
display: "flex",
|
|
2733
|
-
alignItems: "center",
|
|
2734
|
-
gap: "4px",
|
|
2735
|
-
padding: "3px 8px",
|
|
2736
|
-
backgroundColor: packageRole.color + "20",
|
|
2737
|
-
color: packageRole.color,
|
|
2738
|
-
borderRadius: "4px",
|
|
2739
|
-
fontSize: theme2.fontSizes[0],
|
|
2740
|
-
fontWeight: theme2.fontWeights.medium,
|
|
2741
|
-
fontFamily: theme2.fonts.body,
|
|
2742
|
-
flexShrink: 0
|
|
2743
|
-
},
|
|
2744
|
-
children: [
|
|
2745
|
-
/* @__PURE__ */ jsx(packageRole.icon, { size: 12 }),
|
|
2746
|
-
packageRole.label
|
|
2747
|
-
]
|
|
2748
|
-
}
|
|
2749
|
-
),
|
|
2750
|
-
/* @__PURE__ */ jsx(ChevronRight$1, { size: 16, color: theme2.colors.textSecondary })
|
|
2751
|
-
] }),
|
|
2752
|
-
(pkg.packageData.description || pkg.packageData.license) && /* @__PURE__ */ jsxs(
|
|
2753
|
-
"div",
|
|
2754
|
-
{
|
|
2755
|
-
style: {
|
|
2756
|
-
display: "flex",
|
|
2757
|
-
flexDirection: "column",
|
|
2758
|
-
gap: "4px"
|
|
2759
|
-
},
|
|
2760
|
-
children: [
|
|
2761
|
-
pkg.packageData.description && /* @__PURE__ */ jsx(
|
|
2762
|
-
"div",
|
|
2763
|
-
{
|
|
2764
|
-
style: {
|
|
2765
|
-
fontSize: theme2.fontSizes[0],
|
|
2766
|
-
fontFamily: theme2.fonts.body,
|
|
2767
|
-
color: theme2.colors.textSecondary,
|
|
2768
|
-
lineHeight: 1.4,
|
|
2769
|
-
overflow: "hidden",
|
|
2770
|
-
display: "-webkit-box",
|
|
2771
|
-
WebkitLineClamp: 2,
|
|
2772
|
-
WebkitBoxOrient: "vertical"
|
|
2773
|
-
},
|
|
2774
|
-
children: pkg.packageData.description
|
|
2775
|
-
}
|
|
2776
|
-
),
|
|
2777
|
-
pkg.packageData.license && /* @__PURE__ */ jsx(
|
|
2778
|
-
"div",
|
|
2779
|
-
{
|
|
2780
|
-
style: {
|
|
2781
|
-
display: "flex",
|
|
2782
|
-
alignItems: "center",
|
|
2783
|
-
gap: "4px",
|
|
2784
|
-
fontSize: theme2.fontSizes[0]
|
|
2785
|
-
},
|
|
2786
|
-
children: /* @__PURE__ */ jsx(
|
|
2787
|
-
"span",
|
|
2788
|
-
{
|
|
2789
|
-
style: {
|
|
2790
|
-
padding: "1px 6px",
|
|
2791
|
-
backgroundColor: theme2.colors.textSecondary + "15",
|
|
2792
|
-
color: theme2.colors.textSecondary,
|
|
2793
|
-
borderRadius: "3px",
|
|
2794
|
-
fontWeight: theme2.fontWeights.medium,
|
|
2795
|
-
fontFamily: theme2.fonts.body
|
|
2796
|
-
},
|
|
2797
|
-
children: pkg.packageData.license
|
|
2798
|
-
}
|
|
2799
|
-
)
|
|
2800
|
-
}
|
|
2801
|
-
)
|
|
2802
|
-
]
|
|
2803
|
-
}
|
|
2804
|
-
),
|
|
2805
|
-
hasInternalDeps && /* @__PURE__ */ jsxs(
|
|
2806
|
-
"div",
|
|
2807
|
-
{
|
|
2808
|
-
style: {
|
|
2809
|
-
display: "flex",
|
|
2810
|
-
flexDirection: "column",
|
|
2811
|
-
gap: "4px",
|
|
2812
|
-
fontSize: theme2.fontSizes[0]
|
|
2813
|
-
},
|
|
2814
|
-
children: [
|
|
2815
|
-
dependsOn.length > 0 && /* @__PURE__ */ jsxs(
|
|
2816
|
-
"div",
|
|
2817
|
-
{
|
|
2818
|
-
style: {
|
|
2819
|
-
display: "flex",
|
|
2820
|
-
alignItems: "center",
|
|
2821
|
-
gap: "6px",
|
|
2822
|
-
flexWrap: "wrap"
|
|
2823
|
-
},
|
|
2824
|
-
children: [
|
|
2825
|
-
/* @__PURE__ */ jsxs(
|
|
2826
|
-
"span",
|
|
2827
|
-
{
|
|
2828
|
-
style: {
|
|
2829
|
-
color: theme2.colors.textSecondary,
|
|
2830
|
-
fontFamily: theme2.fonts.body,
|
|
2831
|
-
display: "flex",
|
|
2832
|
-
alignItems: "center",
|
|
2833
|
-
gap: "2px"
|
|
2834
|
-
},
|
|
2835
|
-
children: [
|
|
2836
|
-
/* @__PURE__ */ jsx(ArrowRight$1, { size: 10 }),
|
|
2837
|
-
"uses"
|
|
2838
|
-
]
|
|
2839
|
-
}
|
|
2840
|
-
),
|
|
2841
|
-
dependsOn.map((dep) => /* @__PURE__ */ jsx(
|
|
2842
|
-
"span",
|
|
2843
|
-
{
|
|
2844
|
-
style: {
|
|
2845
|
-
padding: "2px 6px",
|
|
2846
|
-
backgroundColor: theme2.colors.primary + "15",
|
|
2847
|
-
color: theme2.colors.primary,
|
|
2848
|
-
borderRadius: "4px",
|
|
2849
|
-
fontWeight: theme2.fontWeights.medium,
|
|
2850
|
-
fontFamily: theme2.fonts.body
|
|
2851
|
-
},
|
|
2852
|
-
children: dep.packageData.name
|
|
2853
|
-
},
|
|
2854
|
-
dep.id
|
|
2855
|
-
))
|
|
2856
|
-
]
|
|
2857
|
-
}
|
|
2858
|
-
),
|
|
2859
|
-
usedBy.length > 0 && /* @__PURE__ */ jsxs(
|
|
2860
|
-
"div",
|
|
2861
|
-
{
|
|
2862
|
-
style: {
|
|
2863
|
-
display: "flex",
|
|
2864
|
-
alignItems: "center",
|
|
2865
|
-
gap: "6px",
|
|
2866
|
-
flexWrap: "wrap"
|
|
2867
|
-
},
|
|
2868
|
-
children: [
|
|
2869
|
-
/* @__PURE__ */ jsx(
|
|
2870
|
-
"span",
|
|
2871
|
-
{
|
|
2872
|
-
style: {
|
|
2873
|
-
color: theme2.colors.textSecondary,
|
|
2874
|
-
fontFamily: theme2.fonts.body
|
|
2875
|
-
},
|
|
2876
|
-
children: "used by"
|
|
2877
|
-
}
|
|
2878
|
-
),
|
|
2879
|
-
usedBy.map((dep) => /* @__PURE__ */ jsx(
|
|
2880
|
-
"span",
|
|
2881
|
-
{
|
|
2882
|
-
style: {
|
|
2883
|
-
padding: "2px 6px",
|
|
2884
|
-
backgroundColor: theme2.colors.textSecondary + "20",
|
|
2885
|
-
color: theme2.colors.textSecondary,
|
|
2886
|
-
borderRadius: "4px",
|
|
2887
|
-
fontWeight: theme2.fontWeights.medium,
|
|
2888
|
-
fontFamily: theme2.fonts.body
|
|
2889
|
-
},
|
|
2890
|
-
children: dep.packageData.name
|
|
2891
|
-
},
|
|
2892
|
-
dep.id
|
|
2893
|
-
))
|
|
2894
|
-
]
|
|
2895
|
-
}
|
|
2896
|
-
)
|
|
2897
|
-
]
|
|
2898
|
-
}
|
|
2899
|
-
),
|
|
2900
|
-
/* @__PURE__ */ jsxs(
|
|
2901
|
-
"div",
|
|
2902
|
-
{
|
|
2903
|
-
style: {
|
|
2904
|
-
display: "flex",
|
|
2905
|
-
gap: "12px",
|
|
2906
|
-
fontSize: theme2.fontSizes[0],
|
|
2907
|
-
fontFamily: theme2.fonts.body,
|
|
2908
|
-
color: theme2.colors.textSecondary
|
|
2909
|
-
},
|
|
2910
|
-
children: [
|
|
2911
|
-
/* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "4px" }, children: [
|
|
2912
|
-
/* @__PURE__ */ jsx(Package$1, { size: 12 }),
|
|
2913
|
-
/* @__PURE__ */ jsxs("span", { children: [
|
|
2914
|
-
totalDeps,
|
|
2915
|
-
" deps"
|
|
2916
|
-
] })
|
|
2917
|
-
] }),
|
|
2918
|
-
/* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "4px" }, children: [
|
|
2919
|
-
/* @__PURE__ */ jsx(Settings$1, { size: 12 }),
|
|
2920
|
-
/* @__PURE__ */ jsxs("span", { children: [
|
|
2921
|
-
configFilesArray.length,
|
|
2922
|
-
" configs",
|
|
2923
|
-
inheritedConfigs > 0 && /* @__PURE__ */ jsxs("span", { style: { color: theme2.colors.primary }, children: [
|
|
2924
|
-
" ",
|
|
2925
|
-
"(",
|
|
2926
|
-
inheritedConfigs,
|
|
2927
|
-
"↑)"
|
|
2928
|
-
] })
|
|
2929
|
-
] })
|
|
2930
|
-
] }),
|
|
2931
|
-
/* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "4px" }, children: [
|
|
2932
|
-
/* @__PURE__ */ jsx(Terminal$1, { size: 12 }),
|
|
2933
|
-
/* @__PURE__ */ jsxs("span", { children: [
|
|
2934
|
-
commands,
|
|
2935
|
-
" commands"
|
|
2936
|
-
] })
|
|
2937
|
-
] })
|
|
2938
|
-
]
|
|
2939
|
-
}
|
|
2940
|
-
)
|
|
2941
|
-
]
|
|
2942
|
-
}
|
|
2943
|
-
);
|
|
2944
|
-
};
|
|
2945
|
-
const PackageCard = ({
|
|
2713
|
+
const PackageDetailCard = ({
|
|
2946
2714
|
pkg,
|
|
2947
2715
|
isExpanded,
|
|
2948
2716
|
onToggle,
|
|
2949
2717
|
onCommandClick,
|
|
2950
2718
|
onConfigClick,
|
|
2951
2719
|
onPackageClick,
|
|
2952
|
-
standalone = false
|
|
2720
|
+
standalone = false,
|
|
2721
|
+
readFile
|
|
2953
2722
|
}) => {
|
|
2954
|
-
var _a, _b, _c, _d, _e2, _f, _g, _h;
|
|
2723
|
+
var _a, _b, _c, _d, _e2, _f, _g, _h, _i;
|
|
2955
2724
|
const { theme: theme2 } = useTheme();
|
|
2956
2725
|
const [activeTab, setActiveTab] = useState("dependencies");
|
|
2957
2726
|
const [activeFilters, setActiveFilters] = useState(/* @__PURE__ */ new Set());
|
|
2958
2727
|
const [searchQuery, setSearchQuery] = useState("");
|
|
2959
2728
|
const [showInfoModal, setShowInfoModal] = useState(false);
|
|
2729
|
+
const [envVariables, setEnvVariables] = useState([]);
|
|
2730
|
+
const [envLoading, setEnvLoading] = useState(false);
|
|
2731
|
+
const [envError, setEnvError] = useState(null);
|
|
2732
|
+
const groupedEnvVariables = useMemo(() => {
|
|
2733
|
+
const groups = /* @__PURE__ */ new Map();
|
|
2734
|
+
for (const variable of envVariables) {
|
|
2735
|
+
const group = variable.group;
|
|
2736
|
+
if (!groups.has(group)) {
|
|
2737
|
+
groups.set(group, []);
|
|
2738
|
+
}
|
|
2739
|
+
groups.get(group).push(variable);
|
|
2740
|
+
}
|
|
2741
|
+
const sortedGroups = Array.from(groups.entries()).sort(([a2], [b2]) => {
|
|
2742
|
+
if (a2 === void 0 && b2 === void 0) return 0;
|
|
2743
|
+
if (a2 === void 0) return 1;
|
|
2744
|
+
if (b2 === void 0) return -1;
|
|
2745
|
+
return a2.localeCompare(b2);
|
|
2746
|
+
});
|
|
2747
|
+
return sortedGroups;
|
|
2748
|
+
}, [envVariables]);
|
|
2960
2749
|
const configFiles = useMemo(() => {
|
|
2961
2750
|
if (!pkg.configFiles) return [];
|
|
2962
2751
|
return Object.entries(pkg.configFiles).filter(([, config]) => config == null ? void 0 : config.exists).map(([name2, config]) => ({ name: name2, ...config }));
|
|
@@ -2966,6 +2755,34 @@ const PackageCard = ({
|
|
|
2966
2755
|
const inherited = configFiles.filter((c2) => c2.isInherited).length;
|
|
2967
2756
|
return { local, inherited, total: configFiles.length };
|
|
2968
2757
|
}, [configFiles]);
|
|
2758
|
+
const envConfig = (_a = pkg.configFiles) == null ? void 0 : _a.envvars;
|
|
2759
|
+
const hasEnvConfig = (envConfig == null ? void 0 : envConfig.exists) ?? false;
|
|
2760
|
+
useEffect(() => {
|
|
2761
|
+
if (activeTab !== "env" || !(envConfig == null ? void 0 : envConfig.exists) || !readFile) {
|
|
2762
|
+
return;
|
|
2763
|
+
}
|
|
2764
|
+
const fetchEnvFile = async () => {
|
|
2765
|
+
setEnvLoading(true);
|
|
2766
|
+
setEnvError(null);
|
|
2767
|
+
try {
|
|
2768
|
+
const filePath = pkg.packageData.path ? `${pkg.packageData.path}/${envConfig.path}` : envConfig.path;
|
|
2769
|
+
const content2 = await readFile(filePath);
|
|
2770
|
+
const result = parseEnvFile(content2, envConfig.type);
|
|
2771
|
+
const sorted = [...result.variables].sort(
|
|
2772
|
+
(a2, b2) => a2.name.localeCompare(b2.name)
|
|
2773
|
+
);
|
|
2774
|
+
setEnvVariables(sorted);
|
|
2775
|
+
} catch (err) {
|
|
2776
|
+
setEnvError(
|
|
2777
|
+
err instanceof Error ? err.message : "Failed to load env file"
|
|
2778
|
+
);
|
|
2779
|
+
setEnvVariables([]);
|
|
2780
|
+
} finally {
|
|
2781
|
+
setEnvLoading(false);
|
|
2782
|
+
}
|
|
2783
|
+
};
|
|
2784
|
+
fetchEnvFile();
|
|
2785
|
+
}, [activeTab, envConfig, readFile, pkg.packageData.path]);
|
|
2969
2786
|
const commands = pkg.packageData.availableCommands || [];
|
|
2970
2787
|
const dependencyItems = useMemo(() => extractDependencies(pkg), [pkg]);
|
|
2971
2788
|
const depCounts = useMemo(
|
|
@@ -3085,7 +2902,7 @@ const PackageCard = ({
|
|
|
3085
2902
|
title: "Open package folder",
|
|
3086
2903
|
children: [
|
|
3087
2904
|
/* @__PURE__ */ jsx(Folder$1, { size: 12 }),
|
|
3088
|
-
pkg.packageData.path || "
|
|
2905
|
+
pkg.packageData.path || "root"
|
|
3089
2906
|
]
|
|
3090
2907
|
}
|
|
3091
2908
|
)
|
|
@@ -3140,7 +2957,7 @@ const PackageCard = ({
|
|
|
3140
2957
|
children: pkg.packageData.license
|
|
3141
2958
|
}
|
|
3142
2959
|
),
|
|
3143
|
-
(pkg.packageData.author || ((
|
|
2960
|
+
(pkg.packageData.author || ((_b = pkg.packageData.authors) == null ? void 0 : _b[0])) && /* @__PURE__ */ jsxs(
|
|
3144
2961
|
"span",
|
|
3145
2962
|
{
|
|
3146
2963
|
style: {
|
|
@@ -3150,7 +2967,7 @@ const PackageCard = ({
|
|
|
3150
2967
|
},
|
|
3151
2968
|
children: [
|
|
3152
2969
|
"by ",
|
|
3153
|
-
pkg.packageData.author || ((
|
|
2970
|
+
pkg.packageData.author || ((_c = pkg.packageData.authors) == null ? void 0 : _c[0])
|
|
3154
2971
|
]
|
|
3155
2972
|
}
|
|
3156
2973
|
)
|
|
@@ -3174,6 +2991,13 @@ const PackageCard = ({
|
|
|
3174
2991
|
label: "Dependencies",
|
|
3175
2992
|
count: dependencyItems.length
|
|
3176
2993
|
},
|
|
2994
|
+
...hasEnvConfig ? [
|
|
2995
|
+
{
|
|
2996
|
+
id: "env",
|
|
2997
|
+
label: "Env",
|
|
2998
|
+
count: 1
|
|
2999
|
+
}
|
|
3000
|
+
] : [],
|
|
3177
3001
|
{
|
|
3178
3002
|
id: "configs",
|
|
3179
3003
|
label: "Configs",
|
|
@@ -3183,10 +3007,10 @@ const PackageCard = ({
|
|
|
3183
3007
|
{
|
|
3184
3008
|
id: "lenses",
|
|
3185
3009
|
label: "Lenses",
|
|
3186
|
-
count: ((
|
|
3010
|
+
count: ((_d = pkg.qualityMetrics) == null ? void 0 : _d.lensReadiness) ? Object.values(pkg.qualityMetrics.lensReadiness).filter(
|
|
3187
3011
|
(l2) => l2.ready
|
|
3188
3012
|
).length : 0,
|
|
3189
|
-
total: ((
|
|
3013
|
+
total: ((_e2 = pkg.qualityMetrics) == null ? void 0 : _e2.lensReadiness) ? Object.keys(pkg.qualityMetrics.lensReadiness).length : 0
|
|
3190
3014
|
}
|
|
3191
3015
|
].map((tab2) => /* @__PURE__ */ jsxs(
|
|
3192
3016
|
"button",
|
|
@@ -3237,6 +3061,259 @@ const PackageCard = ({
|
|
|
3237
3061
|
overflow: "auto"
|
|
3238
3062
|
},
|
|
3239
3063
|
children: [
|
|
3064
|
+
activeTab === "env" && envConfig && /* @__PURE__ */ jsxs("div", { children: [
|
|
3065
|
+
/* @__PURE__ */ jsxs(
|
|
3066
|
+
"div",
|
|
3067
|
+
{
|
|
3068
|
+
style: {
|
|
3069
|
+
display: "flex",
|
|
3070
|
+
alignItems: "center",
|
|
3071
|
+
justifyContent: "space-between",
|
|
3072
|
+
padding: `${theme2.space[2]}px ${theme2.space[4]}px`,
|
|
3073
|
+
borderBottom: `1px solid ${theme2.colors.border}`
|
|
3074
|
+
},
|
|
3075
|
+
children: [
|
|
3076
|
+
/* @__PURE__ */ jsx(
|
|
3077
|
+
"span",
|
|
3078
|
+
{
|
|
3079
|
+
style: {
|
|
3080
|
+
fontSize: theme2.fontSizes[0],
|
|
3081
|
+
fontFamily: theme2.fonts.body,
|
|
3082
|
+
color: theme2.colors.textSecondary
|
|
3083
|
+
},
|
|
3084
|
+
children: envVariables.length > 0 ? `${envVariables.length} variables` : "Environment Variables"
|
|
3085
|
+
}
|
|
3086
|
+
),
|
|
3087
|
+
/* @__PURE__ */ jsxs(
|
|
3088
|
+
"button",
|
|
3089
|
+
{
|
|
3090
|
+
onClick: () => onConfigClick == null ? void 0 : onConfigClick(envConfig),
|
|
3091
|
+
style: {
|
|
3092
|
+
display: "flex",
|
|
3093
|
+
alignItems: "center",
|
|
3094
|
+
gap: "4px",
|
|
3095
|
+
padding: "4px 8px",
|
|
3096
|
+
backgroundColor: "transparent",
|
|
3097
|
+
border: `1px solid ${theme2.colors.border}`,
|
|
3098
|
+
borderRadius: "4px",
|
|
3099
|
+
cursor: "pointer",
|
|
3100
|
+
color: theme2.colors.textSecondary,
|
|
3101
|
+
fontSize: theme2.fontSizes[0],
|
|
3102
|
+
fontFamily: theme2.fonts.body
|
|
3103
|
+
},
|
|
3104
|
+
title: `Open ${envConfig.path}`,
|
|
3105
|
+
children: [
|
|
3106
|
+
/* @__PURE__ */ jsx(FileText$1, { size: 12 }),
|
|
3107
|
+
envConfig.path
|
|
3108
|
+
]
|
|
3109
|
+
}
|
|
3110
|
+
)
|
|
3111
|
+
]
|
|
3112
|
+
}
|
|
3113
|
+
),
|
|
3114
|
+
envLoading && /* @__PURE__ */ jsx(
|
|
3115
|
+
"div",
|
|
3116
|
+
{
|
|
3117
|
+
style: {
|
|
3118
|
+
padding: "20px",
|
|
3119
|
+
textAlign: "center",
|
|
3120
|
+
color: theme2.colors.textSecondary,
|
|
3121
|
+
fontSize: theme2.fontSizes[1],
|
|
3122
|
+
fontFamily: theme2.fonts.body
|
|
3123
|
+
},
|
|
3124
|
+
children: "Loading environment variables..."
|
|
3125
|
+
}
|
|
3126
|
+
),
|
|
3127
|
+
envError && /* @__PURE__ */ jsxs(
|
|
3128
|
+
"div",
|
|
3129
|
+
{
|
|
3130
|
+
style: {
|
|
3131
|
+
padding: "12px",
|
|
3132
|
+
backgroundColor: theme2.colors.error + "15",
|
|
3133
|
+
border: `1px solid ${theme2.colors.error}30`,
|
|
3134
|
+
borderRadius: "6px",
|
|
3135
|
+
color: theme2.colors.error,
|
|
3136
|
+
fontSize: theme2.fontSizes[1],
|
|
3137
|
+
fontFamily: theme2.fonts.body,
|
|
3138
|
+
display: "flex",
|
|
3139
|
+
alignItems: "center",
|
|
3140
|
+
gap: "8px"
|
|
3141
|
+
},
|
|
3142
|
+
children: [
|
|
3143
|
+
/* @__PURE__ */ jsx(CircleAlert$1, { size: 16 }),
|
|
3144
|
+
envError
|
|
3145
|
+
]
|
|
3146
|
+
}
|
|
3147
|
+
),
|
|
3148
|
+
!envLoading && !envError && envVariables.length > 0 && /* @__PURE__ */ jsx(
|
|
3149
|
+
"div",
|
|
3150
|
+
{
|
|
3151
|
+
style: {
|
|
3152
|
+
display: "flex",
|
|
3153
|
+
flexDirection: "column"
|
|
3154
|
+
},
|
|
3155
|
+
children: groupedEnvVariables.map(([groupName, variables]) => /* @__PURE__ */ jsxs("div", { children: [
|
|
3156
|
+
groupName && /* @__PURE__ */ jsx(
|
|
3157
|
+
"div",
|
|
3158
|
+
{
|
|
3159
|
+
style: {
|
|
3160
|
+
padding: "8px 12px",
|
|
3161
|
+
backgroundColor: theme2.colors.backgroundTertiary,
|
|
3162
|
+
borderBottom: `1px solid ${theme2.colors.border}`,
|
|
3163
|
+
fontSize: theme2.fontSizes[0],
|
|
3164
|
+
fontFamily: theme2.fonts.body,
|
|
3165
|
+
fontWeight: theme2.fontWeights.semibold,
|
|
3166
|
+
color: theme2.colors.textSecondary,
|
|
3167
|
+
textTransform: "uppercase",
|
|
3168
|
+
letterSpacing: "0.5px"
|
|
3169
|
+
},
|
|
3170
|
+
children: groupName
|
|
3171
|
+
}
|
|
3172
|
+
),
|
|
3173
|
+
variables.map((variable) => /* @__PURE__ */ jsxs(
|
|
3174
|
+
"div",
|
|
3175
|
+
{
|
|
3176
|
+
style: {
|
|
3177
|
+
padding: `${theme2.space[3]}px ${theme2.space[4]}px`,
|
|
3178
|
+
backgroundColor: theme2.colors.background,
|
|
3179
|
+
borderBottom: `1px solid ${theme2.colors.border}`
|
|
3180
|
+
},
|
|
3181
|
+
children: [
|
|
3182
|
+
/* @__PURE__ */ jsxs(
|
|
3183
|
+
"div",
|
|
3184
|
+
{
|
|
3185
|
+
style: {
|
|
3186
|
+
display: "flex",
|
|
3187
|
+
alignItems: "center",
|
|
3188
|
+
gap: "8px",
|
|
3189
|
+
marginBottom: variable.description ? "6px" : 0
|
|
3190
|
+
},
|
|
3191
|
+
children: [
|
|
3192
|
+
/* @__PURE__ */ jsx(
|
|
3193
|
+
"code",
|
|
3194
|
+
{
|
|
3195
|
+
style: {
|
|
3196
|
+
fontSize: theme2.fontSizes[1],
|
|
3197
|
+
fontFamily: theme2.fonts.monospace,
|
|
3198
|
+
color: theme2.colors.text,
|
|
3199
|
+
fontWeight: theme2.fontWeights.medium
|
|
3200
|
+
},
|
|
3201
|
+
children: variable.name
|
|
3202
|
+
}
|
|
3203
|
+
),
|
|
3204
|
+
variable.link && /* @__PURE__ */ jsx(
|
|
3205
|
+
"a",
|
|
3206
|
+
{
|
|
3207
|
+
href: variable.link,
|
|
3208
|
+
target: "_blank",
|
|
3209
|
+
rel: "noopener noreferrer",
|
|
3210
|
+
style: {
|
|
3211
|
+
display: "flex",
|
|
3212
|
+
alignItems: "center",
|
|
3213
|
+
color: theme2.colors.accent,
|
|
3214
|
+
opacity: 0.7,
|
|
3215
|
+
transition: "opacity 0.15s ease"
|
|
3216
|
+
},
|
|
3217
|
+
onMouseEnter: (e2) => {
|
|
3218
|
+
e2.currentTarget.style.opacity = "1";
|
|
3219
|
+
},
|
|
3220
|
+
onMouseLeave: (e2) => {
|
|
3221
|
+
e2.currentTarget.style.opacity = "0.7";
|
|
3222
|
+
},
|
|
3223
|
+
title: variable.link,
|
|
3224
|
+
children: /* @__PURE__ */ jsx(ExternalLink$1, { size: 12 })
|
|
3225
|
+
}
|
|
3226
|
+
),
|
|
3227
|
+
variable.required ? /* @__PURE__ */ jsxs(
|
|
3228
|
+
"span",
|
|
3229
|
+
{
|
|
3230
|
+
style: {
|
|
3231
|
+
display: "flex",
|
|
3232
|
+
alignItems: "center",
|
|
3233
|
+
gap: "3px",
|
|
3234
|
+
padding: "2px 6px",
|
|
3235
|
+
backgroundColor: theme2.colors.error + "20",
|
|
3236
|
+
color: theme2.colors.error,
|
|
3237
|
+
borderRadius: "4px",
|
|
3238
|
+
fontSize: theme2.fontSizes[0],
|
|
3239
|
+
fontFamily: theme2.fonts.body,
|
|
3240
|
+
fontWeight: theme2.fontWeights.medium
|
|
3241
|
+
},
|
|
3242
|
+
children: [
|
|
3243
|
+
/* @__PURE__ */ jsx(CircleAlert$1, { size: 10 }),
|
|
3244
|
+
"required"
|
|
3245
|
+
]
|
|
3246
|
+
}
|
|
3247
|
+
) : /* @__PURE__ */ jsxs(
|
|
3248
|
+
"span",
|
|
3249
|
+
{
|
|
3250
|
+
style: {
|
|
3251
|
+
display: "flex",
|
|
3252
|
+
alignItems: "center",
|
|
3253
|
+
gap: "3px",
|
|
3254
|
+
padding: "2px 6px",
|
|
3255
|
+
backgroundColor: theme2.colors.success + "20",
|
|
3256
|
+
color: theme2.colors.success,
|
|
3257
|
+
borderRadius: "4px",
|
|
3258
|
+
fontSize: theme2.fontSizes[0],
|
|
3259
|
+
fontFamily: theme2.fonts.body
|
|
3260
|
+
},
|
|
3261
|
+
children: [
|
|
3262
|
+
/* @__PURE__ */ jsx(CircleCheckBig$1, { size: 10 }),
|
|
3263
|
+
"optional"
|
|
3264
|
+
]
|
|
3265
|
+
}
|
|
3266
|
+
),
|
|
3267
|
+
variable.default && /* @__PURE__ */ jsxs(
|
|
3268
|
+
"span",
|
|
3269
|
+
{
|
|
3270
|
+
style: {
|
|
3271
|
+
fontSize: theme2.fontSizes[0],
|
|
3272
|
+
fontFamily: theme2.fonts.monospace,
|
|
3273
|
+
color: theme2.colors.textSecondary
|
|
3274
|
+
},
|
|
3275
|
+
children: [
|
|
3276
|
+
"default: ",
|
|
3277
|
+
variable.default
|
|
3278
|
+
]
|
|
3279
|
+
}
|
|
3280
|
+
)
|
|
3281
|
+
]
|
|
3282
|
+
}
|
|
3283
|
+
),
|
|
3284
|
+
variable.description && /* @__PURE__ */ jsx(
|
|
3285
|
+
"div",
|
|
3286
|
+
{
|
|
3287
|
+
style: {
|
|
3288
|
+
fontSize: theme2.fontSizes[1],
|
|
3289
|
+
fontFamily: theme2.fonts.body,
|
|
3290
|
+
color: theme2.colors.textSecondary,
|
|
3291
|
+
lineHeight: 1.4
|
|
3292
|
+
},
|
|
3293
|
+
children: variable.description
|
|
3294
|
+
}
|
|
3295
|
+
)
|
|
3296
|
+
]
|
|
3297
|
+
},
|
|
3298
|
+
variable.name
|
|
3299
|
+
))
|
|
3300
|
+
] }, groupName ?? "__ungrouped__"))
|
|
3301
|
+
}
|
|
3302
|
+
),
|
|
3303
|
+
!envLoading && !envError && envVariables.length === 0 && !readFile && /* @__PURE__ */ jsx(
|
|
3304
|
+
"div",
|
|
3305
|
+
{
|
|
3306
|
+
style: {
|
|
3307
|
+
padding: "20px",
|
|
3308
|
+
textAlign: "center",
|
|
3309
|
+
color: theme2.colors.textSecondary,
|
|
3310
|
+
fontSize: theme2.fontSizes[1],
|
|
3311
|
+
fontFamily: theme2.fonts.body
|
|
3312
|
+
},
|
|
3313
|
+
children: "Click the file to view environment variables"
|
|
3314
|
+
}
|
|
3315
|
+
)
|
|
3316
|
+
] }),
|
|
3240
3317
|
activeTab === "configs" && /* @__PURE__ */ jsx("div", { style: { padding: "12px" }, children: /* @__PURE__ */ jsx(ConfigList, { configs: configFiles, onConfigClick }) }),
|
|
3241
3318
|
activeTab === "lenses" && /* @__PURE__ */ jsxs(
|
|
3242
3319
|
"div",
|
|
@@ -3250,7 +3327,7 @@ const PackageCard = ({
|
|
|
3250
3327
|
/* @__PURE__ */ jsx(
|
|
3251
3328
|
LensReadinessSection,
|
|
3252
3329
|
{
|
|
3253
|
-
lensReadiness: (
|
|
3330
|
+
lensReadiness: (_f = pkg.qualityMetrics) == null ? void 0 : _f.lensReadiness
|
|
3254
3331
|
}
|
|
3255
3332
|
),
|
|
3256
3333
|
/* @__PURE__ */ jsx(
|
|
@@ -3295,7 +3372,6 @@ const PackageCard = ({
|
|
|
3295
3372
|
"div",
|
|
3296
3373
|
{
|
|
3297
3374
|
style: {
|
|
3298
|
-
padding: "12px",
|
|
3299
3375
|
borderBottom: `1px solid ${theme2.colors.border}`
|
|
3300
3376
|
},
|
|
3301
3377
|
children: /* @__PURE__ */ jsx(
|
|
@@ -3310,59 +3386,44 @@ const PackageCard = ({
|
|
|
3310
3386
|
)
|
|
3311
3387
|
}
|
|
3312
3388
|
),
|
|
3313
|
-
/* @__PURE__ */
|
|
3389
|
+
/* @__PURE__ */ jsx(
|
|
3314
3390
|
"div",
|
|
3315
3391
|
{
|
|
3316
|
-
style: {
|
|
3317
|
-
|
|
3318
|
-
|
|
3319
|
-
|
|
3320
|
-
|
|
3321
|
-
|
|
3322
|
-
|
|
3323
|
-
|
|
3324
|
-
|
|
3325
|
-
|
|
3326
|
-
|
|
3327
|
-
|
|
3328
|
-
|
|
3329
|
-
|
|
3330
|
-
|
|
3331
|
-
|
|
3332
|
-
|
|
3333
|
-
|
|
3334
|
-
|
|
3335
|
-
|
|
3336
|
-
|
|
3337
|
-
|
|
3338
|
-
|
|
3339
|
-
style: {
|
|
3340
|
-
display: "flex",
|
|
3341
|
-
flexDirection: "column",
|
|
3342
|
-
gap: "4px"
|
|
3343
|
-
},
|
|
3344
|
-
children: filteredDependencies.length === 0 ? /* @__PURE__ */ jsx(
|
|
3345
|
-
"div",
|
|
3346
|
-
{
|
|
3347
|
-
style: {
|
|
3348
|
-
padding: "12px",
|
|
3349
|
-
textAlign: "center",
|
|
3350
|
-
color: theme2.colors.textSecondary,
|
|
3351
|
-
fontSize: theme2.fontSizes[1],
|
|
3352
|
-
fontFamily: theme2.fonts.body
|
|
3353
|
-
},
|
|
3354
|
-
children: "No dependencies match your filters"
|
|
3355
|
-
}
|
|
3356
|
-
) : filteredDependencies.map((dep) => /* @__PURE__ */ jsx(
|
|
3357
|
-
DependencyRow,
|
|
3358
|
-
{
|
|
3359
|
-
dependency: dep
|
|
3392
|
+
style: {
|
|
3393
|
+
flex: 1,
|
|
3394
|
+
overflow: "auto",
|
|
3395
|
+
scrollbarWidth: "none",
|
|
3396
|
+
msOverflowStyle: "none"
|
|
3397
|
+
},
|
|
3398
|
+
className: "hide-scrollbar",
|
|
3399
|
+
children: /* @__PURE__ */ jsx(
|
|
3400
|
+
"div",
|
|
3401
|
+
{
|
|
3402
|
+
style: {
|
|
3403
|
+
display: "flex",
|
|
3404
|
+
flexDirection: "column"
|
|
3405
|
+
},
|
|
3406
|
+
children: filteredDependencies.length === 0 ? /* @__PURE__ */ jsx(
|
|
3407
|
+
"div",
|
|
3408
|
+
{
|
|
3409
|
+
style: {
|
|
3410
|
+
padding: "12px",
|
|
3411
|
+
textAlign: "center",
|
|
3412
|
+
color: theme2.colors.textSecondary,
|
|
3413
|
+
fontSize: theme2.fontSizes[1],
|
|
3414
|
+
fontFamily: theme2.fonts.body
|
|
3360
3415
|
},
|
|
3361
|
-
|
|
3362
|
-
|
|
3363
|
-
|
|
3364
|
-
|
|
3365
|
-
|
|
3416
|
+
children: "No dependencies match your filters"
|
|
3417
|
+
}
|
|
3418
|
+
) : filteredDependencies.map((dep) => /* @__PURE__ */ jsx(
|
|
3419
|
+
DependencyRow,
|
|
3420
|
+
{
|
|
3421
|
+
dependency: dep
|
|
3422
|
+
},
|
|
3423
|
+
`${dep.name}-${dep.dependencyType}`
|
|
3424
|
+
))
|
|
3425
|
+
}
|
|
3426
|
+
)
|
|
3366
3427
|
}
|
|
3367
3428
|
)
|
|
3368
3429
|
] }),
|
|
@@ -3469,7 +3530,7 @@ const PackageCard = ({
|
|
|
3469
3530
|
title: "Open package folder",
|
|
3470
3531
|
children: [
|
|
3471
3532
|
/* @__PURE__ */ jsx(Folder$1, { size: 12 }),
|
|
3472
|
-
pkg.packageData.path || "
|
|
3533
|
+
pkg.packageData.path || "root"
|
|
3473
3534
|
]
|
|
3474
3535
|
}
|
|
3475
3536
|
)
|
|
@@ -3491,6 +3552,13 @@ const PackageCard = ({
|
|
|
3491
3552
|
label: "Deps",
|
|
3492
3553
|
count: dependencyItems.length
|
|
3493
3554
|
},
|
|
3555
|
+
...hasEnvConfig ? [
|
|
3556
|
+
{
|
|
3557
|
+
id: "env",
|
|
3558
|
+
label: "Env",
|
|
3559
|
+
count: 1
|
|
3560
|
+
}
|
|
3561
|
+
] : [],
|
|
3494
3562
|
{
|
|
3495
3563
|
id: "configs",
|
|
3496
3564
|
label: "Configs",
|
|
@@ -3500,10 +3568,10 @@ const PackageCard = ({
|
|
|
3500
3568
|
{
|
|
3501
3569
|
id: "lenses",
|
|
3502
3570
|
label: "Lenses",
|
|
3503
|
-
count: ((
|
|
3571
|
+
count: ((_g = pkg.qualityMetrics) == null ? void 0 : _g.lensReadiness) ? Object.values(pkg.qualityMetrics.lensReadiness).filter(
|
|
3504
3572
|
(l2) => l2.ready
|
|
3505
3573
|
).length : 0,
|
|
3506
|
-
total: ((
|
|
3574
|
+
total: ((_h = pkg.qualityMetrics) == null ? void 0 : _h.lensReadiness) ? Object.keys(pkg.qualityMetrics.lensReadiness).length : 0
|
|
3507
3575
|
}
|
|
3508
3576
|
].map((tab2) => /* @__PURE__ */ jsxs(
|
|
3509
3577
|
"button",
|
|
@@ -3554,6 +3622,259 @@ const PackageCard = ({
|
|
|
3554
3622
|
overflow: "auto"
|
|
3555
3623
|
},
|
|
3556
3624
|
children: [
|
|
3625
|
+
activeTab === "env" && envConfig && /* @__PURE__ */ jsxs("div", { children: [
|
|
3626
|
+
/* @__PURE__ */ jsxs(
|
|
3627
|
+
"div",
|
|
3628
|
+
{
|
|
3629
|
+
style: {
|
|
3630
|
+
display: "flex",
|
|
3631
|
+
alignItems: "center",
|
|
3632
|
+
justifyContent: "space-between",
|
|
3633
|
+
padding: `${theme2.space[2]}px ${theme2.space[4]}px`,
|
|
3634
|
+
borderBottom: `1px solid ${theme2.colors.border}`
|
|
3635
|
+
},
|
|
3636
|
+
children: [
|
|
3637
|
+
/* @__PURE__ */ jsx(
|
|
3638
|
+
"span",
|
|
3639
|
+
{
|
|
3640
|
+
style: {
|
|
3641
|
+
fontSize: theme2.fontSizes[0],
|
|
3642
|
+
fontFamily: theme2.fonts.body,
|
|
3643
|
+
color: theme2.colors.textSecondary
|
|
3644
|
+
},
|
|
3645
|
+
children: envVariables.length > 0 ? `${envVariables.length} variables` : "Environment Variables"
|
|
3646
|
+
}
|
|
3647
|
+
),
|
|
3648
|
+
/* @__PURE__ */ jsxs(
|
|
3649
|
+
"button",
|
|
3650
|
+
{
|
|
3651
|
+
onClick: () => onConfigClick == null ? void 0 : onConfigClick(envConfig),
|
|
3652
|
+
style: {
|
|
3653
|
+
display: "flex",
|
|
3654
|
+
alignItems: "center",
|
|
3655
|
+
gap: "4px",
|
|
3656
|
+
padding: "4px 8px",
|
|
3657
|
+
backgroundColor: "transparent",
|
|
3658
|
+
border: `1px solid ${theme2.colors.border}`,
|
|
3659
|
+
borderRadius: "4px",
|
|
3660
|
+
cursor: "pointer",
|
|
3661
|
+
color: theme2.colors.textSecondary,
|
|
3662
|
+
fontSize: theme2.fontSizes[0],
|
|
3663
|
+
fontFamily: theme2.fonts.body
|
|
3664
|
+
},
|
|
3665
|
+
title: `Open ${envConfig.path}`,
|
|
3666
|
+
children: [
|
|
3667
|
+
/* @__PURE__ */ jsx(FileText$1, { size: 12 }),
|
|
3668
|
+
envConfig.path
|
|
3669
|
+
]
|
|
3670
|
+
}
|
|
3671
|
+
)
|
|
3672
|
+
]
|
|
3673
|
+
}
|
|
3674
|
+
),
|
|
3675
|
+
envLoading && /* @__PURE__ */ jsx(
|
|
3676
|
+
"div",
|
|
3677
|
+
{
|
|
3678
|
+
style: {
|
|
3679
|
+
padding: "20px",
|
|
3680
|
+
textAlign: "center",
|
|
3681
|
+
color: theme2.colors.textSecondary,
|
|
3682
|
+
fontSize: theme2.fontSizes[1],
|
|
3683
|
+
fontFamily: theme2.fonts.body
|
|
3684
|
+
},
|
|
3685
|
+
children: "Loading environment variables..."
|
|
3686
|
+
}
|
|
3687
|
+
),
|
|
3688
|
+
envError && /* @__PURE__ */ jsxs(
|
|
3689
|
+
"div",
|
|
3690
|
+
{
|
|
3691
|
+
style: {
|
|
3692
|
+
padding: "12px",
|
|
3693
|
+
backgroundColor: theme2.colors.error + "15",
|
|
3694
|
+
border: `1px solid ${theme2.colors.error}30`,
|
|
3695
|
+
borderRadius: "6px",
|
|
3696
|
+
color: theme2.colors.error,
|
|
3697
|
+
fontSize: theme2.fontSizes[1],
|
|
3698
|
+
fontFamily: theme2.fonts.body,
|
|
3699
|
+
display: "flex",
|
|
3700
|
+
alignItems: "center",
|
|
3701
|
+
gap: "8px"
|
|
3702
|
+
},
|
|
3703
|
+
children: [
|
|
3704
|
+
/* @__PURE__ */ jsx(CircleAlert$1, { size: 16 }),
|
|
3705
|
+
envError
|
|
3706
|
+
]
|
|
3707
|
+
}
|
|
3708
|
+
),
|
|
3709
|
+
!envLoading && !envError && envVariables.length > 0 && /* @__PURE__ */ jsx(
|
|
3710
|
+
"div",
|
|
3711
|
+
{
|
|
3712
|
+
style: {
|
|
3713
|
+
display: "flex",
|
|
3714
|
+
flexDirection: "column"
|
|
3715
|
+
},
|
|
3716
|
+
children: groupedEnvVariables.map(([groupName, variables]) => /* @__PURE__ */ jsxs("div", { children: [
|
|
3717
|
+
groupName && /* @__PURE__ */ jsx(
|
|
3718
|
+
"div",
|
|
3719
|
+
{
|
|
3720
|
+
style: {
|
|
3721
|
+
padding: "8px 12px",
|
|
3722
|
+
backgroundColor: theme2.colors.backgroundTertiary,
|
|
3723
|
+
borderBottom: `1px solid ${theme2.colors.border}`,
|
|
3724
|
+
fontSize: theme2.fontSizes[0],
|
|
3725
|
+
fontFamily: theme2.fonts.body,
|
|
3726
|
+
fontWeight: theme2.fontWeights.semibold,
|
|
3727
|
+
color: theme2.colors.textSecondary,
|
|
3728
|
+
textTransform: "uppercase",
|
|
3729
|
+
letterSpacing: "0.5px"
|
|
3730
|
+
},
|
|
3731
|
+
children: groupName
|
|
3732
|
+
}
|
|
3733
|
+
),
|
|
3734
|
+
variables.map((variable) => /* @__PURE__ */ jsxs(
|
|
3735
|
+
"div",
|
|
3736
|
+
{
|
|
3737
|
+
style: {
|
|
3738
|
+
padding: `${theme2.space[3]}px ${theme2.space[4]}px`,
|
|
3739
|
+
backgroundColor: theme2.colors.background,
|
|
3740
|
+
borderBottom: `1px solid ${theme2.colors.border}`
|
|
3741
|
+
},
|
|
3742
|
+
children: [
|
|
3743
|
+
/* @__PURE__ */ jsxs(
|
|
3744
|
+
"div",
|
|
3745
|
+
{
|
|
3746
|
+
style: {
|
|
3747
|
+
display: "flex",
|
|
3748
|
+
alignItems: "center",
|
|
3749
|
+
gap: "8px",
|
|
3750
|
+
marginBottom: variable.description ? "6px" : 0
|
|
3751
|
+
},
|
|
3752
|
+
children: [
|
|
3753
|
+
/* @__PURE__ */ jsx(
|
|
3754
|
+
"code",
|
|
3755
|
+
{
|
|
3756
|
+
style: {
|
|
3757
|
+
fontSize: theme2.fontSizes[1],
|
|
3758
|
+
fontFamily: theme2.fonts.monospace,
|
|
3759
|
+
color: theme2.colors.text,
|
|
3760
|
+
fontWeight: theme2.fontWeights.medium
|
|
3761
|
+
},
|
|
3762
|
+
children: variable.name
|
|
3763
|
+
}
|
|
3764
|
+
),
|
|
3765
|
+
variable.link && /* @__PURE__ */ jsx(
|
|
3766
|
+
"a",
|
|
3767
|
+
{
|
|
3768
|
+
href: variable.link,
|
|
3769
|
+
target: "_blank",
|
|
3770
|
+
rel: "noopener noreferrer",
|
|
3771
|
+
style: {
|
|
3772
|
+
display: "flex",
|
|
3773
|
+
alignItems: "center",
|
|
3774
|
+
color: theme2.colors.accent,
|
|
3775
|
+
opacity: 0.7,
|
|
3776
|
+
transition: "opacity 0.15s ease"
|
|
3777
|
+
},
|
|
3778
|
+
onMouseEnter: (e2) => {
|
|
3779
|
+
e2.currentTarget.style.opacity = "1";
|
|
3780
|
+
},
|
|
3781
|
+
onMouseLeave: (e2) => {
|
|
3782
|
+
e2.currentTarget.style.opacity = "0.7";
|
|
3783
|
+
},
|
|
3784
|
+
title: variable.link,
|
|
3785
|
+
children: /* @__PURE__ */ jsx(ExternalLink$1, { size: 12 })
|
|
3786
|
+
}
|
|
3787
|
+
),
|
|
3788
|
+
variable.required ? /* @__PURE__ */ jsxs(
|
|
3789
|
+
"span",
|
|
3790
|
+
{
|
|
3791
|
+
style: {
|
|
3792
|
+
display: "flex",
|
|
3793
|
+
alignItems: "center",
|
|
3794
|
+
gap: "3px",
|
|
3795
|
+
padding: "2px 6px",
|
|
3796
|
+
backgroundColor: theme2.colors.error + "20",
|
|
3797
|
+
color: theme2.colors.error,
|
|
3798
|
+
borderRadius: "4px",
|
|
3799
|
+
fontSize: theme2.fontSizes[0],
|
|
3800
|
+
fontFamily: theme2.fonts.body,
|
|
3801
|
+
fontWeight: theme2.fontWeights.medium
|
|
3802
|
+
},
|
|
3803
|
+
children: [
|
|
3804
|
+
/* @__PURE__ */ jsx(CircleAlert$1, { size: 10 }),
|
|
3805
|
+
"required"
|
|
3806
|
+
]
|
|
3807
|
+
}
|
|
3808
|
+
) : /* @__PURE__ */ jsxs(
|
|
3809
|
+
"span",
|
|
3810
|
+
{
|
|
3811
|
+
style: {
|
|
3812
|
+
display: "flex",
|
|
3813
|
+
alignItems: "center",
|
|
3814
|
+
gap: "3px",
|
|
3815
|
+
padding: "2px 6px",
|
|
3816
|
+
backgroundColor: theme2.colors.success + "20",
|
|
3817
|
+
color: theme2.colors.success,
|
|
3818
|
+
borderRadius: "4px",
|
|
3819
|
+
fontSize: theme2.fontSizes[0],
|
|
3820
|
+
fontFamily: theme2.fonts.body
|
|
3821
|
+
},
|
|
3822
|
+
children: [
|
|
3823
|
+
/* @__PURE__ */ jsx(CircleCheckBig$1, { size: 10 }),
|
|
3824
|
+
"optional"
|
|
3825
|
+
]
|
|
3826
|
+
}
|
|
3827
|
+
),
|
|
3828
|
+
variable.default && /* @__PURE__ */ jsxs(
|
|
3829
|
+
"span",
|
|
3830
|
+
{
|
|
3831
|
+
style: {
|
|
3832
|
+
fontSize: theme2.fontSizes[0],
|
|
3833
|
+
fontFamily: theme2.fonts.monospace,
|
|
3834
|
+
color: theme2.colors.textSecondary
|
|
3835
|
+
},
|
|
3836
|
+
children: [
|
|
3837
|
+
"default: ",
|
|
3838
|
+
variable.default
|
|
3839
|
+
]
|
|
3840
|
+
}
|
|
3841
|
+
)
|
|
3842
|
+
]
|
|
3843
|
+
}
|
|
3844
|
+
),
|
|
3845
|
+
variable.description && /* @__PURE__ */ jsx(
|
|
3846
|
+
"div",
|
|
3847
|
+
{
|
|
3848
|
+
style: {
|
|
3849
|
+
fontSize: theme2.fontSizes[1],
|
|
3850
|
+
fontFamily: theme2.fonts.body,
|
|
3851
|
+
color: theme2.colors.textSecondary,
|
|
3852
|
+
lineHeight: 1.4
|
|
3853
|
+
},
|
|
3854
|
+
children: variable.description
|
|
3855
|
+
}
|
|
3856
|
+
)
|
|
3857
|
+
]
|
|
3858
|
+
},
|
|
3859
|
+
variable.name
|
|
3860
|
+
))
|
|
3861
|
+
] }, groupName ?? "__ungrouped__"))
|
|
3862
|
+
}
|
|
3863
|
+
),
|
|
3864
|
+
!envLoading && !envError && envVariables.length === 0 && !readFile && /* @__PURE__ */ jsx(
|
|
3865
|
+
"div",
|
|
3866
|
+
{
|
|
3867
|
+
style: {
|
|
3868
|
+
padding: "20px",
|
|
3869
|
+
textAlign: "center",
|
|
3870
|
+
color: theme2.colors.textSecondary,
|
|
3871
|
+
fontSize: theme2.fontSizes[1],
|
|
3872
|
+
fontFamily: theme2.fonts.body
|
|
3873
|
+
},
|
|
3874
|
+
children: "Click the file to view environment variables"
|
|
3875
|
+
}
|
|
3876
|
+
)
|
|
3877
|
+
] }),
|
|
3557
3878
|
activeTab === "configs" && /* @__PURE__ */ jsx("div", { style: { padding: "12px" }, children: /* @__PURE__ */ jsx(
|
|
3558
3879
|
ConfigList,
|
|
3559
3880
|
{
|
|
@@ -3565,7 +3886,7 @@ const PackageCard = ({
|
|
|
3565
3886
|
/* @__PURE__ */ jsx(
|
|
3566
3887
|
LensReadinessSection,
|
|
3567
3888
|
{
|
|
3568
|
-
lensReadiness: (
|
|
3889
|
+
lensReadiness: (_i = pkg.qualityMetrics) == null ? void 0 : _i.lensReadiness
|
|
3569
3890
|
}
|
|
3570
3891
|
),
|
|
3571
3892
|
/* @__PURE__ */ jsx(
|
|
@@ -3608,7 +3929,6 @@ const PackageCard = ({
|
|
|
3608
3929
|
"div",
|
|
3609
3930
|
{
|
|
3610
3931
|
style: {
|
|
3611
|
-
padding: "12px",
|
|
3612
3932
|
borderBottom: `1px solid ${theme2.colors.border}`
|
|
3613
3933
|
},
|
|
3614
3934
|
children: /* @__PURE__ */ jsx(
|
|
@@ -3623,59 +3943,44 @@ const PackageCard = ({
|
|
|
3623
3943
|
)
|
|
3624
3944
|
}
|
|
3625
3945
|
),
|
|
3626
|
-
/* @__PURE__ */
|
|
3946
|
+
/* @__PURE__ */ jsx(
|
|
3627
3947
|
"div",
|
|
3628
3948
|
{
|
|
3629
|
-
style: {
|
|
3630
|
-
|
|
3631
|
-
|
|
3632
|
-
|
|
3633
|
-
|
|
3634
|
-
|
|
3635
|
-
|
|
3636
|
-
|
|
3637
|
-
|
|
3638
|
-
|
|
3639
|
-
|
|
3640
|
-
|
|
3641
|
-
|
|
3642
|
-
|
|
3643
|
-
|
|
3644
|
-
|
|
3645
|
-
|
|
3646
|
-
|
|
3647
|
-
|
|
3648
|
-
|
|
3649
|
-
|
|
3650
|
-
|
|
3651
|
-
|
|
3652
|
-
style: {
|
|
3653
|
-
display: "flex",
|
|
3654
|
-
flexDirection: "column",
|
|
3655
|
-
gap: "4px"
|
|
3656
|
-
},
|
|
3657
|
-
children: filteredDependencies.length === 0 ? /* @__PURE__ */ jsx(
|
|
3658
|
-
"div",
|
|
3659
|
-
{
|
|
3660
|
-
style: {
|
|
3661
|
-
padding: "12px",
|
|
3662
|
-
textAlign: "center",
|
|
3663
|
-
color: theme2.colors.textSecondary,
|
|
3664
|
-
fontSize: theme2.fontSizes[1],
|
|
3665
|
-
fontFamily: theme2.fonts.body
|
|
3666
|
-
},
|
|
3667
|
-
children: "No dependencies match your filters"
|
|
3668
|
-
}
|
|
3669
|
-
) : filteredDependencies.map((dep) => /* @__PURE__ */ jsx(
|
|
3670
|
-
DependencyRow,
|
|
3671
|
-
{
|
|
3672
|
-
dependency: dep
|
|
3949
|
+
style: {
|
|
3950
|
+
flex: 1,
|
|
3951
|
+
overflow: "auto",
|
|
3952
|
+
scrollbarWidth: "none",
|
|
3953
|
+
msOverflowStyle: "none"
|
|
3954
|
+
},
|
|
3955
|
+
className: "hide-scrollbar",
|
|
3956
|
+
children: /* @__PURE__ */ jsx(
|
|
3957
|
+
"div",
|
|
3958
|
+
{
|
|
3959
|
+
style: {
|
|
3960
|
+
display: "flex",
|
|
3961
|
+
flexDirection: "column"
|
|
3962
|
+
},
|
|
3963
|
+
children: filteredDependencies.length === 0 ? /* @__PURE__ */ jsx(
|
|
3964
|
+
"div",
|
|
3965
|
+
{
|
|
3966
|
+
style: {
|
|
3967
|
+
padding: "12px",
|
|
3968
|
+
textAlign: "center",
|
|
3969
|
+
color: theme2.colors.textSecondary,
|
|
3970
|
+
fontSize: theme2.fontSizes[1],
|
|
3971
|
+
fontFamily: theme2.fonts.body
|
|
3673
3972
|
},
|
|
3674
|
-
|
|
3675
|
-
|
|
3676
|
-
|
|
3677
|
-
|
|
3678
|
-
|
|
3973
|
+
children: "No dependencies match your filters"
|
|
3974
|
+
}
|
|
3975
|
+
) : filteredDependencies.map((dep) => /* @__PURE__ */ jsx(
|
|
3976
|
+
DependencyRow,
|
|
3977
|
+
{
|
|
3978
|
+
dependency: dep
|
|
3979
|
+
},
|
|
3980
|
+
`${dep.name}-${dep.dependencyType}`
|
|
3981
|
+
))
|
|
3982
|
+
}
|
|
3983
|
+
)
|
|
3679
3984
|
}
|
|
3680
3985
|
)
|
|
3681
3986
|
] }),
|
|
@@ -3697,6 +4002,257 @@ const PackageCard = ({
|
|
|
3697
4002
|
}
|
|
3698
4003
|
);
|
|
3699
4004
|
};
|
|
4005
|
+
function findInternalDependencies(pkg, allPackages) {
|
|
4006
|
+
const currentName = pkg.packageData.name;
|
|
4007
|
+
const allDeps = /* @__PURE__ */ new Set([
|
|
4008
|
+
...Object.keys(pkg.packageData.dependencies || {}),
|
|
4009
|
+
...Object.keys(pkg.packageData.devDependencies || {}),
|
|
4010
|
+
...Object.keys(pkg.packageData.peerDependencies || {})
|
|
4011
|
+
]);
|
|
4012
|
+
const dependsOn = allPackages.filter(
|
|
4013
|
+
(p2) => p2.packageData.name !== currentName && allDeps.has(p2.packageData.name)
|
|
4014
|
+
);
|
|
4015
|
+
const usedBy = allPackages.filter((other) => {
|
|
4016
|
+
if (other.packageData.name === currentName) return false;
|
|
4017
|
+
const otherDeps = /* @__PURE__ */ new Set([
|
|
4018
|
+
...Object.keys(other.packageData.dependencies || {}),
|
|
4019
|
+
...Object.keys(other.packageData.devDependencies || {}),
|
|
4020
|
+
...Object.keys(other.packageData.peerDependencies || {})
|
|
4021
|
+
]);
|
|
4022
|
+
return otherDeps.has(currentName);
|
|
4023
|
+
});
|
|
4024
|
+
return { dependsOn, usedBy };
|
|
4025
|
+
}
|
|
4026
|
+
const PackageSummaryCard = ({
|
|
4027
|
+
pkg,
|
|
4028
|
+
allPackages,
|
|
4029
|
+
onClick,
|
|
4030
|
+
onHover
|
|
4031
|
+
}) => {
|
|
4032
|
+
var _a, _b;
|
|
4033
|
+
const { theme: theme2 } = useTheme();
|
|
4034
|
+
const deps = pkg.packageData.dependencies || {};
|
|
4035
|
+
const devDeps = pkg.packageData.devDependencies || {};
|
|
4036
|
+
const peerDeps = pkg.packageData.peerDependencies || {};
|
|
4037
|
+
const totalDeps = Object.keys(deps).length + Object.keys(devDeps).length + Object.keys(peerDeps).length;
|
|
4038
|
+
const configFilesArray = pkg.configFiles ? Object.values(pkg.configFiles).filter((c2) => c2 == null ? void 0 : c2.exists) : [];
|
|
4039
|
+
const inheritedConfigs = configFilesArray.filter(
|
|
4040
|
+
(c2) => c2 == null ? void 0 : c2.isInherited
|
|
4041
|
+
).length;
|
|
4042
|
+
const commands = ((_a = pkg.packageData.availableCommands) == null ? void 0 : _a.length) || 0;
|
|
4043
|
+
const { dependsOn, usedBy } = useMemo(
|
|
4044
|
+
() => findInternalDependencies(pkg, allPackages),
|
|
4045
|
+
[pkg, allPackages]
|
|
4046
|
+
);
|
|
4047
|
+
const packageRole = useMemo(() => {
|
|
4048
|
+
if (dependsOn.length === 0 && usedBy.length === 0) {
|
|
4049
|
+
return null;
|
|
4050
|
+
}
|
|
4051
|
+
if (dependsOn.length === 0 && usedBy.length > 0) {
|
|
4052
|
+
return { label: "core", icon: Box$1, color: "#10b981" };
|
|
4053
|
+
}
|
|
4054
|
+
if (dependsOn.length > 0 && usedBy.length === 0) {
|
|
4055
|
+
return { label: "app", icon: Layers$1, color: "#8b5cf6" };
|
|
4056
|
+
}
|
|
4057
|
+
return { label: "shared", icon: LayoutGrid$1, color: "#f59e0b" };
|
|
4058
|
+
}, [dependsOn.length, usedBy.length]);
|
|
4059
|
+
return /* @__PURE__ */ jsxs(
|
|
4060
|
+
"button",
|
|
4061
|
+
{
|
|
4062
|
+
onClick,
|
|
4063
|
+
style: {
|
|
4064
|
+
display: "flex",
|
|
4065
|
+
flexDirection: "column",
|
|
4066
|
+
gap: "8px",
|
|
4067
|
+
padding: "20px",
|
|
4068
|
+
backgroundColor: theme2.colors.backgroundSecondary,
|
|
4069
|
+
border: `1px solid ${theme2.colors.border}`,
|
|
4070
|
+
borderRadius: "0",
|
|
4071
|
+
cursor: "pointer",
|
|
4072
|
+
textAlign: "left",
|
|
4073
|
+
transition: "all 0.15s ease",
|
|
4074
|
+
width: "100%"
|
|
4075
|
+
},
|
|
4076
|
+
onMouseEnter: (e2) => {
|
|
4077
|
+
e2.currentTarget.style.borderColor = theme2.colors.primary;
|
|
4078
|
+
e2.currentTarget.style.backgroundColor = theme2.colors.backgroundTertiary;
|
|
4079
|
+
onHover == null ? void 0 : onHover(pkg);
|
|
4080
|
+
},
|
|
4081
|
+
onMouseLeave: (e2) => {
|
|
4082
|
+
e2.currentTarget.style.borderColor = theme2.colors.border;
|
|
4083
|
+
e2.currentTarget.style.backgroundColor = theme2.colors.backgroundSecondary;
|
|
4084
|
+
onHover == null ? void 0 : onHover(null);
|
|
4085
|
+
},
|
|
4086
|
+
children: [
|
|
4087
|
+
/* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "8px" }, children: [
|
|
4088
|
+
/* @__PURE__ */ jsx(
|
|
4089
|
+
PackageManagerIcon,
|
|
4090
|
+
{
|
|
4091
|
+
packageManager: pkg.packageData.packageManager,
|
|
4092
|
+
size: 20
|
|
4093
|
+
}
|
|
4094
|
+
),
|
|
4095
|
+
/* @__PURE__ */ jsxs("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
4096
|
+
/* @__PURE__ */ jsx(
|
|
4097
|
+
"div",
|
|
4098
|
+
{
|
|
4099
|
+
style: {
|
|
4100
|
+
fontSize: theme2.fontSizes[3],
|
|
4101
|
+
fontWeight: theme2.fontWeights.semibold,
|
|
4102
|
+
fontFamily: theme2.fonts.body,
|
|
4103
|
+
color: theme2.colors.text,
|
|
4104
|
+
overflow: "hidden",
|
|
4105
|
+
textOverflow: "ellipsis",
|
|
4106
|
+
whiteSpace: "nowrap"
|
|
4107
|
+
},
|
|
4108
|
+
children: pkg.packageData.name
|
|
4109
|
+
}
|
|
4110
|
+
),
|
|
4111
|
+
/* @__PURE__ */ jsxs(
|
|
4112
|
+
"div",
|
|
4113
|
+
{
|
|
4114
|
+
style: {
|
|
4115
|
+
fontSize: theme2.fontSizes[1],
|
|
4116
|
+
fontFamily: theme2.fonts.body,
|
|
4117
|
+
color: theme2.colors.textSecondary
|
|
4118
|
+
},
|
|
4119
|
+
children: [
|
|
4120
|
+
pkg.packageData.path || "root",
|
|
4121
|
+
pkg.packageData.version && ` • v${pkg.packageData.version}`
|
|
4122
|
+
]
|
|
4123
|
+
}
|
|
4124
|
+
)
|
|
4125
|
+
] }),
|
|
4126
|
+
pkg.packageData.isMonorepoRoot && ((_b = pkg.packageData.monorepoMetadata) == null ? void 0 : _b.orchestrator) && /* @__PURE__ */ jsx(
|
|
4127
|
+
OrchestratorBadge,
|
|
4128
|
+
{
|
|
4129
|
+
orchestrator: pkg.packageData.monorepoMetadata.orchestrator,
|
|
4130
|
+
rootRole: pkg.packageData.monorepoMetadata.rootRole,
|
|
4131
|
+
size: "sm"
|
|
4132
|
+
}
|
|
4133
|
+
),
|
|
4134
|
+
packageRole && /* @__PURE__ */ jsxs(
|
|
4135
|
+
"span",
|
|
4136
|
+
{
|
|
4137
|
+
style: {
|
|
4138
|
+
display: "flex",
|
|
4139
|
+
alignItems: "center",
|
|
4140
|
+
gap: "4px",
|
|
4141
|
+
padding: "3px 8px",
|
|
4142
|
+
backgroundColor: packageRole.color + "20",
|
|
4143
|
+
color: packageRole.color,
|
|
4144
|
+
borderRadius: "4px",
|
|
4145
|
+
fontSize: theme2.fontSizes[1],
|
|
4146
|
+
fontWeight: theme2.fontWeights.medium,
|
|
4147
|
+
fontFamily: theme2.fonts.body,
|
|
4148
|
+
flexShrink: 0
|
|
4149
|
+
},
|
|
4150
|
+
children: [
|
|
4151
|
+
/* @__PURE__ */ jsx(packageRole.icon, { size: 12 }),
|
|
4152
|
+
packageRole.label
|
|
4153
|
+
]
|
|
4154
|
+
}
|
|
4155
|
+
),
|
|
4156
|
+
/* @__PURE__ */ jsx(ChevronRight$1, { size: 16, color: theme2.colors.textSecondary })
|
|
4157
|
+
] }),
|
|
4158
|
+
(pkg.packageData.description || pkg.packageData.license) && /* @__PURE__ */ jsxs(
|
|
4159
|
+
"div",
|
|
4160
|
+
{
|
|
4161
|
+
style: {
|
|
4162
|
+
display: "flex",
|
|
4163
|
+
flexDirection: "column",
|
|
4164
|
+
gap: "4px"
|
|
4165
|
+
},
|
|
4166
|
+
children: [
|
|
4167
|
+
pkg.packageData.description && /* @__PURE__ */ jsx(
|
|
4168
|
+
"div",
|
|
4169
|
+
{
|
|
4170
|
+
style: {
|
|
4171
|
+
fontSize: theme2.fontSizes[1],
|
|
4172
|
+
fontFamily: theme2.fonts.body,
|
|
4173
|
+
color: theme2.colors.textSecondary,
|
|
4174
|
+
lineHeight: 1.4,
|
|
4175
|
+
overflow: "hidden",
|
|
4176
|
+
display: "-webkit-box",
|
|
4177
|
+
WebkitLineClamp: 2,
|
|
4178
|
+
WebkitBoxOrient: "vertical"
|
|
4179
|
+
},
|
|
4180
|
+
children: pkg.packageData.description
|
|
4181
|
+
}
|
|
4182
|
+
),
|
|
4183
|
+
pkg.packageData.license && /* @__PURE__ */ jsx(
|
|
4184
|
+
"div",
|
|
4185
|
+
{
|
|
4186
|
+
style: {
|
|
4187
|
+
display: "flex",
|
|
4188
|
+
alignItems: "center",
|
|
4189
|
+
gap: "4px",
|
|
4190
|
+
fontSize: theme2.fontSizes[1]
|
|
4191
|
+
},
|
|
4192
|
+
children: /* @__PURE__ */ jsx(
|
|
4193
|
+
"span",
|
|
4194
|
+
{
|
|
4195
|
+
style: {
|
|
4196
|
+
padding: "1px 6px",
|
|
4197
|
+
backgroundColor: theme2.colors.textSecondary + "15",
|
|
4198
|
+
color: theme2.colors.textSecondary,
|
|
4199
|
+
borderRadius: "3px",
|
|
4200
|
+
fontWeight: theme2.fontWeights.medium,
|
|
4201
|
+
fontFamily: theme2.fonts.body
|
|
4202
|
+
},
|
|
4203
|
+
children: pkg.packageData.license
|
|
4204
|
+
}
|
|
4205
|
+
)
|
|
4206
|
+
}
|
|
4207
|
+
)
|
|
4208
|
+
]
|
|
4209
|
+
}
|
|
4210
|
+
),
|
|
4211
|
+
/* @__PURE__ */ jsxs(
|
|
4212
|
+
"div",
|
|
4213
|
+
{
|
|
4214
|
+
style: {
|
|
4215
|
+
display: "flex",
|
|
4216
|
+
gap: "12px",
|
|
4217
|
+
fontSize: theme2.fontSizes[1],
|
|
4218
|
+
fontFamily: theme2.fonts.body,
|
|
4219
|
+
color: theme2.colors.textSecondary
|
|
4220
|
+
},
|
|
4221
|
+
children: [
|
|
4222
|
+
/* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "4px" }, children: [
|
|
4223
|
+
/* @__PURE__ */ jsx(Package$1, { size: 12 }),
|
|
4224
|
+
/* @__PURE__ */ jsxs("span", { children: [
|
|
4225
|
+
totalDeps,
|
|
4226
|
+
" deps"
|
|
4227
|
+
] })
|
|
4228
|
+
] }),
|
|
4229
|
+
/* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "4px" }, children: [
|
|
4230
|
+
/* @__PURE__ */ jsx(Settings$1, { size: 12 }),
|
|
4231
|
+
/* @__PURE__ */ jsxs("span", { children: [
|
|
4232
|
+
configFilesArray.length,
|
|
4233
|
+
" configs",
|
|
4234
|
+
inheritedConfigs > 0 && /* @__PURE__ */ jsxs("span", { style: { color: theme2.colors.primary }, children: [
|
|
4235
|
+
" ",
|
|
4236
|
+
"(",
|
|
4237
|
+
inheritedConfigs,
|
|
4238
|
+
"↑)"
|
|
4239
|
+
] })
|
|
4240
|
+
] })
|
|
4241
|
+
] }),
|
|
4242
|
+
/* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "4px" }, children: [
|
|
4243
|
+
/* @__PURE__ */ jsx(Terminal$1, { size: 12 }),
|
|
4244
|
+
/* @__PURE__ */ jsxs("span", { children: [
|
|
4245
|
+
commands,
|
|
4246
|
+
" commands"
|
|
4247
|
+
] })
|
|
4248
|
+
] })
|
|
4249
|
+
]
|
|
4250
|
+
}
|
|
4251
|
+
)
|
|
4252
|
+
]
|
|
4253
|
+
}
|
|
4254
|
+
);
|
|
4255
|
+
};
|
|
3700
4256
|
const PackageCompositionPanelContent = ({
|
|
3701
4257
|
packages,
|
|
3702
4258
|
isLoading = false,
|
|
@@ -3706,7 +4262,8 @@ const PackageCompositionPanelContent = ({
|
|
|
3706
4262
|
onPackageClick,
|
|
3707
4263
|
onPackageHover,
|
|
3708
4264
|
onPackageSelect,
|
|
3709
|
-
events
|
|
4265
|
+
events,
|
|
4266
|
+
readFile
|
|
3710
4267
|
}) => {
|
|
3711
4268
|
const { theme: theme2 } = useTheme();
|
|
3712
4269
|
const [selectedPackageId, setSelectedPackageId] = useState(
|
|
@@ -3755,7 +4312,7 @@ const PackageCompositionPanelContent = ({
|
|
|
3755
4312
|
}
|
|
3756
4313
|
if (packages.length === 1) {
|
|
3757
4314
|
return /* @__PURE__ */ jsx(
|
|
3758
|
-
|
|
4315
|
+
PackageDetailCard,
|
|
3759
4316
|
{
|
|
3760
4317
|
pkg: packages[0],
|
|
3761
4318
|
isExpanded: true,
|
|
@@ -3764,7 +4321,8 @@ const PackageCompositionPanelContent = ({
|
|
|
3764
4321
|
onCommandClick,
|
|
3765
4322
|
onConfigClick,
|
|
3766
4323
|
onPackageClick,
|
|
3767
|
-
standalone: true
|
|
4324
|
+
standalone: true,
|
|
4325
|
+
readFile
|
|
3768
4326
|
}
|
|
3769
4327
|
);
|
|
3770
4328
|
}
|
|
@@ -3957,7 +4515,7 @@ const PackageCompositionPanelContent = ({
|
|
|
3957
4515
|
}
|
|
3958
4516
|
),
|
|
3959
4517
|
/* @__PURE__ */ jsx("div", { style: { flex: 1, overflow: "hidden" }, children: selectedPackage && /* @__PURE__ */ jsx(
|
|
3960
|
-
|
|
4518
|
+
PackageDetailCard,
|
|
3961
4519
|
{
|
|
3962
4520
|
pkg: selectedPackage,
|
|
3963
4521
|
isExpanded: true,
|
|
@@ -3966,7 +4524,8 @@ const PackageCompositionPanelContent = ({
|
|
|
3966
4524
|
onCommandClick,
|
|
3967
4525
|
onConfigClick,
|
|
3968
4526
|
onPackageClick,
|
|
3969
|
-
standalone: true
|
|
4527
|
+
standalone: true,
|
|
4528
|
+
readFile
|
|
3970
4529
|
}
|
|
3971
4530
|
) })
|
|
3972
4531
|
]
|
|
@@ -4046,7 +4605,7 @@ const PackageCompositionPanelPreview = () => {
|
|
|
4046
4605
|
}
|
|
4047
4606
|
);
|
|
4048
4607
|
};
|
|
4049
|
-
const PackageCompositionPanel = ({ context: context2, events }) => {
|
|
4608
|
+
const PackageCompositionPanel = ({ context: context2, actions, events }) => {
|
|
4050
4609
|
var _a;
|
|
4051
4610
|
const packagesSlice = context2.packages;
|
|
4052
4611
|
const packages = ((_a = packagesSlice == null ? void 0 : packagesSlice.data) == null ? void 0 : _a.packages) ?? [];
|
|
@@ -4080,7 +4639,8 @@ const PackageCompositionPanel = ({ context: context2, events }) => {
|
|
|
4080
4639
|
isLoading,
|
|
4081
4640
|
onPackageHover: handlePackageHover,
|
|
4082
4641
|
onPackageSelect: handlePackageSelect,
|
|
4083
|
-
events
|
|
4642
|
+
events,
|
|
4643
|
+
readFile: actions.readFile
|
|
4084
4644
|
}
|
|
4085
4645
|
);
|
|
4086
4646
|
};
|
|
@@ -105383,7 +105943,7 @@ const browserExt = {
|
|
|
105383
105943
|
},
|
|
105384
105944
|
test: () => true,
|
|
105385
105945
|
load: async () => {
|
|
105386
|
-
await import("./browserAll-
|
|
105946
|
+
await import("./browserAll-C1iy5xbx.js");
|
|
105387
105947
|
}
|
|
105388
105948
|
};
|
|
105389
105949
|
const webworkerExt = {
|
|
@@ -105394,7 +105954,7 @@ const webworkerExt = {
|
|
|
105394
105954
|
},
|
|
105395
105955
|
test: () => typeof self !== "undefined" && self.WorkerGlobalScope !== void 0,
|
|
105396
105956
|
load: async () => {
|
|
105397
|
-
await import("./webworkerAll-
|
|
105957
|
+
await import("./webworkerAll-BmgxtxZy.js");
|
|
105398
105958
|
}
|
|
105399
105959
|
};
|
|
105400
105960
|
class ObservablePoint {
|
|
@@ -117637,19 +118197,19 @@ async function autoDetectRenderer(options) {
|
|
|
117637
118197
|
for (let i2 = 0; i2 < preferredOrder.length; i2++) {
|
|
117638
118198
|
const rendererType = preferredOrder[i2];
|
|
117639
118199
|
if (rendererType === "webgpu" && await isWebGPUSupported()) {
|
|
117640
|
-
const { WebGPURenderer } = await import("./WebGPURenderer-
|
|
118200
|
+
const { WebGPURenderer } = await import("./WebGPURenderer-Dlw7vvZU.js");
|
|
117641
118201
|
RendererClass = WebGPURenderer;
|
|
117642
118202
|
finalOptions = { ...options, ...options.webgpu };
|
|
117643
118203
|
break;
|
|
117644
118204
|
} else if (rendererType === "webgl" && isWebGLSupported(
|
|
117645
118205
|
options.failIfMajorPerformanceCaveat ?? AbstractRenderer.defaultOptions.failIfMajorPerformanceCaveat
|
|
117646
118206
|
)) {
|
|
117647
|
-
const { WebGLRenderer } = await import("./WebGLRenderer-
|
|
118207
|
+
const { WebGLRenderer } = await import("./WebGLRenderer-CSpWLo6L.js");
|
|
117648
118208
|
RendererClass = WebGLRenderer;
|
|
117649
118209
|
finalOptions = { ...options, ...options.webgl };
|
|
117650
118210
|
break;
|
|
117651
118211
|
} else if (rendererType === "canvas") {
|
|
117652
|
-
const { CanvasRenderer } = await import("./CanvasRenderer-
|
|
118212
|
+
const { CanvasRenderer } = await import("./CanvasRenderer-CPXgnUH1.js");
|
|
117653
118213
|
RendererClass = CanvasRenderer;
|
|
117654
118214
|
finalOptions = { ...options, ...options.canvasOptions };
|
|
117655
118215
|
break;
|
|
@@ -132772,8 +133332,10 @@ class IsometricInteractionManager {
|
|
|
132772
133332
|
this.sprites = /* @__PURE__ */ new Map();
|
|
132773
133333
|
this.dragState = null;
|
|
132774
133334
|
this.hoveredNodeId = null;
|
|
133335
|
+
this.selectedNodeId = null;
|
|
132775
133336
|
this.draggingEnabled = true;
|
|
132776
133337
|
this.mapBounds = null;
|
|
133338
|
+
this.hoverColor = 16776960;
|
|
132777
133339
|
this.onGlobalPointerMove = (event) => {
|
|
132778
133340
|
var _a, _b;
|
|
132779
133341
|
if (!this.dragState || !this.dragState.isDragging) return;
|
|
@@ -132794,6 +133356,12 @@ class IsometricInteractionManager {
|
|
|
132794
133356
|
if (this.wouldCollide(this.dragState.nodeId, { gridX: newGridX, gridY: newGridY })) {
|
|
132795
133357
|
return;
|
|
132796
133358
|
}
|
|
133359
|
+
const movedDistance = Math.sqrt(
|
|
133360
|
+
Math.pow(newGridX - this.dragState.spriteStartPos.gridX, 2) + Math.pow(newGridY - this.dragState.spriteStartPos.gridY, 2)
|
|
133361
|
+
);
|
|
133362
|
+
if (movedDistance > 0.5) {
|
|
133363
|
+
this.dragState.hasMoved = true;
|
|
133364
|
+
}
|
|
132797
133365
|
this.dragState.instance.update(newGridX, newGridY);
|
|
132798
133366
|
this.updateNearbyHighlights(this.dragState.nodeId, { gridX: newGridX, gridY: newGridY });
|
|
132799
133367
|
(_b = (_a = this.events).onDragMove) == null ? void 0 : _b.call(_a, this.dragState.nodeId, newGridX, newGridY);
|
|
@@ -132813,6 +133381,7 @@ class IsometricInteractionManager {
|
|
|
132813
133381
|
this.config = config;
|
|
132814
133382
|
this.events = events;
|
|
132815
133383
|
this.mapBounds = config.mapBounds || null;
|
|
133384
|
+
this.selectedColor = config.selectedColor ?? 3900150;
|
|
132816
133385
|
}
|
|
132817
133386
|
/**
|
|
132818
133387
|
* Register a sprite for interaction
|
|
@@ -132873,6 +133442,7 @@ class IsometricInteractionManager {
|
|
|
132873
133442
|
nodeId,
|
|
132874
133443
|
instance,
|
|
132875
133444
|
isDragging: true,
|
|
133445
|
+
hasMoved: false,
|
|
132876
133446
|
dragStartPos: { x: event.global.x, y: event.global.y },
|
|
132877
133447
|
spriteStartPos: { gridX: instance.gridPosition.gridX, gridY: instance.gridPosition.gridY },
|
|
132878
133448
|
nearbySprites: /* @__PURE__ */ new Set()
|
|
@@ -132941,9 +133511,9 @@ class IsometricInteractionManager {
|
|
|
132941
133511
|
* Finish dragging - snap to grid and cleanup
|
|
132942
133512
|
*/
|
|
132943
133513
|
finishDrag() {
|
|
132944
|
-
var _a, _b;
|
|
133514
|
+
var _a, _b, _c, _d;
|
|
132945
133515
|
if (!this.dragState) return;
|
|
132946
|
-
const { nodeId, instance, nearbySprites } = this.dragState;
|
|
133516
|
+
const { nodeId, instance, nearbySprites, hasMoved } = this.dragState;
|
|
132947
133517
|
let snappedGridX = Math.round(instance.gridPosition.gridX);
|
|
132948
133518
|
let snappedGridY = Math.round(instance.gridPosition.gridY);
|
|
132949
133519
|
const clamped = this.clampToMapBounds(snappedGridX, snappedGridY, instance.size);
|
|
@@ -132956,19 +133526,24 @@ class IsometricInteractionManager {
|
|
|
132956
133526
|
instance.update(snappedGridX, snappedGridY);
|
|
132957
133527
|
instance.sprite.cursor = "pointer";
|
|
132958
133528
|
instance.highlight.cursor = "pointer";
|
|
132959
|
-
if (this.hoveredNodeId !== nodeId) {
|
|
133529
|
+
if (this.hoveredNodeId !== nodeId && this.selectedNodeId !== nodeId) {
|
|
132960
133530
|
instance.highlight.visible = false;
|
|
132961
133531
|
}
|
|
132962
133532
|
for (const nearbyId of nearbySprites) {
|
|
132963
133533
|
const nearbyInstance = this.sprites.get(nearbyId);
|
|
132964
|
-
if (nearbyInstance && this.hoveredNodeId !== nearbyId) {
|
|
133534
|
+
if (nearbyInstance && this.hoveredNodeId !== nearbyId && this.selectedNodeId !== nearbyId) {
|
|
132965
133535
|
nearbyInstance.highlight.visible = false;
|
|
132966
133536
|
}
|
|
132967
133537
|
}
|
|
132968
133538
|
if (this.viewport) {
|
|
132969
133539
|
this.viewport.plugins.resume("drag");
|
|
132970
133540
|
}
|
|
132971
|
-
|
|
133541
|
+
if (hasMoved) {
|
|
133542
|
+
(_b = (_a = this.events).onDragEnd) == null ? void 0 : _b.call(_a, nodeId, snappedGridX, snappedGridY);
|
|
133543
|
+
} else {
|
|
133544
|
+
this.setSelected(nodeId);
|
|
133545
|
+
(_d = (_c = this.events).onClick) == null ? void 0 : _d.call(_c, nodeId);
|
|
133546
|
+
}
|
|
132972
133547
|
const eventTarget = this.viewport || this.worldContainer;
|
|
132973
133548
|
eventTarget.off("globalpointermove", this.onGlobalPointerMove);
|
|
132974
133549
|
eventTarget.off("pointerup", this.onPointerUp);
|
|
@@ -132985,14 +133560,16 @@ class IsometricInteractionManager {
|
|
|
132985
133560
|
(_b = (_a = this.events).onHover) == null ? void 0 : _b.call(_a, nodeId);
|
|
132986
133561
|
}
|
|
132987
133562
|
/**
|
|
132988
|
-
* Handle pointer out - hide highlight (unless dragging)
|
|
133563
|
+
* Handle pointer out - hide highlight (unless dragging or selected)
|
|
132989
133564
|
*/
|
|
132990
133565
|
onPointerOut(nodeId, instance) {
|
|
132991
133566
|
var _a, _b;
|
|
132992
133567
|
if (this.hoveredNodeId === nodeId) {
|
|
132993
133568
|
this.hoveredNodeId = null;
|
|
132994
133569
|
}
|
|
132995
|
-
|
|
133570
|
+
const isDragging = this.dragState && this.dragState.nodeId === nodeId;
|
|
133571
|
+
const isSelected = this.selectedNodeId === nodeId;
|
|
133572
|
+
if (!isDragging && !isSelected) {
|
|
132996
133573
|
instance.highlight.visible = false;
|
|
132997
133574
|
}
|
|
132998
133575
|
(_b = (_a = this.events).onHoverEnd) == null ? void 0 : _b.call(_a, nodeId);
|
|
@@ -133007,6 +133584,55 @@ class IsometricInteractionManager {
|
|
|
133007
133584
|
instance.highlight.cursor = enabled ? "pointer" : "default";
|
|
133008
133585
|
}
|
|
133009
133586
|
}
|
|
133587
|
+
/**
|
|
133588
|
+
* Set the selected node
|
|
133589
|
+
*/
|
|
133590
|
+
setSelected(nodeId) {
|
|
133591
|
+
const previousSelected = this.selectedNodeId;
|
|
133592
|
+
this.selectedNodeId = nodeId;
|
|
133593
|
+
if (previousSelected && previousSelected !== nodeId) {
|
|
133594
|
+
const prevInstance = this.sprites.get(previousSelected);
|
|
133595
|
+
if (prevInstance) {
|
|
133596
|
+
if (this.hoveredNodeId !== previousSelected) {
|
|
133597
|
+
prevInstance.highlight.visible = false;
|
|
133598
|
+
}
|
|
133599
|
+
this.updateHighlightColor(prevInstance, false);
|
|
133600
|
+
}
|
|
133601
|
+
}
|
|
133602
|
+
if (nodeId) {
|
|
133603
|
+
const instance = this.sprites.get(nodeId);
|
|
133604
|
+
if (instance) {
|
|
133605
|
+
instance.highlight.visible = true;
|
|
133606
|
+
this.updateHighlightColor(instance, true);
|
|
133607
|
+
}
|
|
133608
|
+
}
|
|
133609
|
+
}
|
|
133610
|
+
/**
|
|
133611
|
+
* Get the currently selected node ID
|
|
133612
|
+
*/
|
|
133613
|
+
getSelectedNodeId() {
|
|
133614
|
+
return this.selectedNodeId;
|
|
133615
|
+
}
|
|
133616
|
+
/**
|
|
133617
|
+
* Update highlight color based on selected state
|
|
133618
|
+
*/
|
|
133619
|
+
updateHighlightColor(instance, isSelected) {
|
|
133620
|
+
const color2 = isSelected ? this.selectedColor : this.hoverColor;
|
|
133621
|
+
instance.highlight.clear();
|
|
133622
|
+
const pos = gridToScreen(instance.gridPosition.gridX, instance.gridPosition.gridY);
|
|
133623
|
+
const hoverSize = 4 * instance.size;
|
|
133624
|
+
const tileWidth = hoverSize * (this.config.tileWidth ?? 64);
|
|
133625
|
+
const tileHeight = hoverSize * (this.config.tileHeight ?? 32);
|
|
133626
|
+
instance.highlight.setStrokeStyle({ width: 3, color: color2, alpha: 1 });
|
|
133627
|
+
instance.highlight.setFillStyle({ color: color2, alpha: isSelected ? 0.25 : 0.1 });
|
|
133628
|
+
instance.highlight.moveTo(pos.screenX, pos.screenY - tileHeight / 2);
|
|
133629
|
+
instance.highlight.lineTo(pos.screenX + tileWidth / 2, pos.screenY);
|
|
133630
|
+
instance.highlight.lineTo(pos.screenX, pos.screenY + tileHeight / 2);
|
|
133631
|
+
instance.highlight.lineTo(pos.screenX - tileWidth / 2, pos.screenY);
|
|
133632
|
+
instance.highlight.closePath();
|
|
133633
|
+
instance.highlight.fill();
|
|
133634
|
+
instance.highlight.stroke();
|
|
133635
|
+
}
|
|
133010
133636
|
/**
|
|
133011
133637
|
* Check if position would cause boundary overlap with other sprites
|
|
133012
133638
|
* Boundary size is 4 × size tiles, extending 2 × size in each direction
|
|
@@ -133885,6 +134511,8 @@ const OverworldMapPanelContent = ({
|
|
|
133885
134511
|
height,
|
|
133886
134512
|
isLoading = false,
|
|
133887
134513
|
onProjectMoved,
|
|
134514
|
+
onNodeClicked,
|
|
134515
|
+
selectedNodeId,
|
|
133888
134516
|
isEditingRegions = false,
|
|
133889
134517
|
customRegions = [],
|
|
133890
134518
|
onAddRegion,
|
|
@@ -134096,6 +134724,9 @@ const OverworldMapPanelContent = ({
|
|
|
134096
134724
|
},
|
|
134097
134725
|
onDragEnd: (nodeId, gridX, gridY) => {
|
|
134098
134726
|
onProjectMoved == null ? void 0 : onProjectMoved(nodeId, gridX, gridY);
|
|
134727
|
+
},
|
|
134728
|
+
onClick: (nodeId) => {
|
|
134729
|
+
onNodeClicked == null ? void 0 : onNodeClicked(nodeId);
|
|
134099
134730
|
}
|
|
134100
134731
|
}
|
|
134101
134732
|
);
|
|
@@ -134497,6 +135128,11 @@ const OverworldMapPanelContent = ({
|
|
|
134497
135128
|
renderPlaceholdersRef.current();
|
|
134498
135129
|
}
|
|
134499
135130
|
}, [isEditingRegions]);
|
|
135131
|
+
useEffect(() => {
|
|
135132
|
+
if (interactionRef.current) {
|
|
135133
|
+
interactionRef.current.setSelected(selectedNodeId ?? null);
|
|
135134
|
+
}
|
|
135135
|
+
}, [selectedNodeId]);
|
|
134500
135136
|
return /* @__PURE__ */ jsxs(
|
|
134501
135137
|
"div",
|
|
134502
135138
|
{
|
|
@@ -134823,7 +135459,9 @@ const CollectionMapPanelContent = ({
|
|
|
134823
135459
|
regionLayout,
|
|
134824
135460
|
isLoading = false,
|
|
134825
135461
|
regionCallbacks,
|
|
134826
|
-
addRepositoryToCollection
|
|
135462
|
+
addRepositoryToCollection,
|
|
135463
|
+
onRepositoryClicked,
|
|
135464
|
+
selectedRepositoryId
|
|
134827
135465
|
}) => {
|
|
134828
135466
|
var _a;
|
|
134829
135467
|
const customRegions = React2__default.useMemo(
|
|
@@ -135316,6 +135954,8 @@ This indicates a sprite was rendered without valid backing data.`
|
|
|
135316
135954
|
customRegions,
|
|
135317
135955
|
collectionKey: collection.id,
|
|
135318
135956
|
onProjectMoved: handleProjectMoved,
|
|
135957
|
+
onNodeClicked: onRepositoryClicked,
|
|
135958
|
+
selectedNodeId: selectedRepositoryId,
|
|
135319
135959
|
onViewportReady: handleViewportReady,
|
|
135320
135960
|
onAddRegion: async (position2) => {
|
|
135321
135961
|
const order2 = position2.row * 10 + position2.col;
|
|
@@ -135480,7 +136120,9 @@ const CollectionMapPanel = ({ context: context2, actions }) => {
|
|
|
135480
136120
|
dependencies,
|
|
135481
136121
|
isLoading,
|
|
135482
136122
|
regionCallbacks,
|
|
135483
|
-
addRepositoryToCollection: actions.addRepositoryToCollection
|
|
136123
|
+
addRepositoryToCollection: actions.addRepositoryToCollection,
|
|
136124
|
+
onRepositoryClicked: actions.onRepositoryClicked,
|
|
136125
|
+
selectedRepositoryId: actions.selectedRepositoryId
|
|
135484
136126
|
}
|
|
135485
136127
|
) });
|
|
135486
136128
|
};
|
|
@@ -136577,4 +137219,4 @@ export {
|
|
|
136577
137219
|
UPDATE_PRIORITY as y,
|
|
136578
137220
|
removeItems as z
|
|
136579
137221
|
};
|
|
136580
|
-
//# sourceMappingURL=index-
|
|
137222
|
+
//# sourceMappingURL=index-BwWx2Yhi.js.map
|