@module-federation/devtools 0.22.1 → 0.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/es/App.css +6 -5
- package/dist/es/App.js +191 -59
- package/dist/es/App.module.js +1 -1
- package/dist/es/App_module.css +38 -36
- package/dist/es/component/DependencyGraph/index.js +10 -11
- package/dist/es/component/DependencyGraph/index_module.css +20 -17
- package/dist/es/component/DependencyGraphItem/index.js +5 -3
- package/dist/es/component/DependencyGraphItem/index_module.css +7 -7
- package/dist/es/component/Form/index.js +24 -31
- package/dist/es/component/Form/index.module.js +1 -1
- package/dist/es/component/Form/index_module.css +22 -25
- package/dist/es/component/LanguageSwitch.js +50 -0
- package/dist/es/component/Layout/index.js +6 -10
- package/dist/es/component/Layout/index_module.css +7 -7
- package/dist/es/component/ModuleInfo/index.js +65 -41
- package/dist/es/component/ModuleInfo/index_module.css +12 -11
- package/dist/es/component/SharedDepsExplorer/FocusResultDisplay.js +5 -3
- package/dist/es/component/SharedDepsExplorer/FocusResultDisplay_module.css +5 -5
- package/dist/es/component/SharedDepsExplorer/index.js +64 -75
- package/dist/es/component/SharedDepsExplorer/index_module.css +12 -2
- package/dist/es/component/ThemeToggle.js +19 -0
- package/dist/es/component/ThemeToggle.module.js +5 -0
- package/dist/es/component/ThemeToggle_module.css +12 -0
- package/dist/es/hooks/useDevtoolsTheme.js +77 -0
- package/dist/es/i18n/index.js +506 -0
- package/dist/lib/App.css +6 -5
- package/dist/lib/App.js +189 -59
- package/dist/lib/App.module.js +1 -1
- package/dist/lib/App_module.css +38 -36
- package/dist/lib/component/DependencyGraph/index.js +10 -11
- package/dist/lib/component/DependencyGraph/index_module.css +20 -17
- package/dist/lib/component/DependencyGraphItem/index.js +5 -3
- package/dist/lib/component/DependencyGraphItem/index_module.css +7 -7
- package/dist/lib/component/Form/index.js +24 -31
- package/dist/lib/component/Form/index.module.js +1 -1
- package/dist/lib/component/Form/index_module.css +22 -25
- package/dist/lib/component/LanguageSwitch.js +80 -0
- package/dist/lib/component/Layout/index.js +6 -10
- package/dist/lib/component/Layout/index_module.css +7 -7
- package/dist/lib/component/ModuleInfo/index.js +65 -41
- package/dist/lib/component/ModuleInfo/index_module.css +12 -11
- package/dist/lib/component/SharedDepsExplorer/FocusResultDisplay.js +5 -3
- package/dist/lib/component/SharedDepsExplorer/FocusResultDisplay_module.css +5 -5
- package/dist/lib/component/SharedDepsExplorer/index.js +64 -75
- package/dist/lib/component/SharedDepsExplorer/index_module.css +12 -2
- package/dist/lib/component/ThemeToggle.js +49 -0
- package/dist/lib/component/ThemeToggle.module.js +25 -0
- package/dist/lib/component/ThemeToggle_module.css +12 -0
- package/dist/lib/hooks/useDevtoolsTheme.js +101 -0
- package/dist/lib/i18n/index.js +540 -0
- package/dist/types/src/component/LanguageSwitch.d.ts +2 -0
- package/dist/types/src/component/ThemeToggle.d.ts +8 -0
- package/dist/types/src/hooks/useDevtoolsTheme.d.ts +2 -0
- package/dist/types/src/i18n/index.d.ts +5 -0
- package/package.json +10 -8
|
@@ -39,6 +39,7 @@ import {
|
|
|
39
39
|
Popover,
|
|
40
40
|
Button
|
|
41
41
|
} from "@arco-design/web-react";
|
|
42
|
+
import { useTranslation } from "react-i18next";
|
|
42
43
|
import {
|
|
43
44
|
normalizeShareData,
|
|
44
45
|
computeShareStats,
|
|
@@ -49,21 +50,22 @@ import {
|
|
|
49
50
|
import FocusResultDisplay from "./FocusResultDisplay";
|
|
50
51
|
import styles from "./index.module";
|
|
51
52
|
const ALL_VALUE = "__all__";
|
|
52
|
-
function loadedStatusLabel(status) {
|
|
53
|
-
if (status === "loaded") {
|
|
54
|
-
return "Loaded";
|
|
55
|
-
}
|
|
56
|
-
if (status === "loading") {
|
|
57
|
-
return "Loading";
|
|
58
|
-
}
|
|
59
|
-
return "Not Loaded";
|
|
60
|
-
}
|
|
61
53
|
function SharedDepsExplorer({
|
|
62
54
|
shareData: shareDataProp
|
|
63
55
|
}) {
|
|
56
|
+
const { t } = useTranslation();
|
|
64
57
|
const [normalized, setNormalized] = useState([]);
|
|
65
58
|
const [loadingState, setLoadingState] = useState("idle");
|
|
66
59
|
const [errorMessage, setErrorMessage] = useState(null);
|
|
60
|
+
const loadedStatusLabelLocal = (status) => {
|
|
61
|
+
if (status === "loaded") {
|
|
62
|
+
return t("sharedDeps.status.loaded");
|
|
63
|
+
}
|
|
64
|
+
if (status === "loading") {
|
|
65
|
+
return t("sharedDeps.status.loading");
|
|
66
|
+
}
|
|
67
|
+
return t("sharedDeps.status.notLoaded");
|
|
68
|
+
};
|
|
67
69
|
const [selectedProvider, setSelectedProvider] = useState("");
|
|
68
70
|
const [selectedPackage, setSelectedPackage] = useState("");
|
|
69
71
|
const [selectedVersion, setSelectedVersion] = useState("");
|
|
@@ -178,7 +180,7 @@ function SharedDepsExplorer({
|
|
|
178
180
|
const hasData = normalized.length > 0;
|
|
179
181
|
const columns = [
|
|
180
182
|
{
|
|
181
|
-
title: "
|
|
183
|
+
title: t("sharedDeps.table.columns.packageVersion"),
|
|
182
184
|
width: "28%",
|
|
183
185
|
render: (_, item) => /* @__PURE__ */ jsxs("div", { className: styles.cellCol, children: [
|
|
184
186
|
/* @__PURE__ */ jsx("div", { className: styles.packageName, children: item.packageName }),
|
|
@@ -189,21 +191,15 @@ function SharedDepsExplorer({
|
|
|
189
191
|
] })
|
|
190
192
|
},
|
|
191
193
|
{
|
|
192
|
-
title: "
|
|
194
|
+
title: t("sharedDeps.table.columns.providerScope"),
|
|
193
195
|
width: "20%",
|
|
194
196
|
render: (_, item) => /* @__PURE__ */ jsxs("div", { className: styles.cellColGap, children: [
|
|
195
|
-
/* @__PURE__ */
|
|
196
|
-
|
|
197
|
-
item.from
|
|
198
|
-
] }),
|
|
199
|
-
/* @__PURE__ */ jsxs("span", { className: styles.scopeText, children: [
|
|
200
|
-
"scope: ",
|
|
201
|
-
item.scope
|
|
202
|
-
] })
|
|
197
|
+
/* @__PURE__ */ jsx("span", { className: styles.truncate, title: item.from, children: t("sharedDeps.table.providerPrefix", { name: item.from }) }),
|
|
198
|
+
/* @__PURE__ */ jsx("span", { className: styles.scopeText, children: t("sharedDeps.table.scopePrefix", { scope: item.scope }) })
|
|
203
199
|
] })
|
|
204
200
|
},
|
|
205
201
|
{
|
|
206
|
-
title: "
|
|
202
|
+
title: t("sharedDeps.table.columns.status"),
|
|
207
203
|
width: "22%",
|
|
208
204
|
render: (_, item) => /* @__PURE__ */ jsxs("div", { className: styles.cellColGap, children: [
|
|
209
205
|
["loaded", "loading"].includes(item.loadedStatus) ? /* @__PURE__ */ jsx(
|
|
@@ -211,7 +207,7 @@ function SharedDepsExplorer({
|
|
|
211
207
|
{
|
|
212
208
|
size: "small",
|
|
213
209
|
className: `${styles.tagContainer} loaded-status-tag`,
|
|
214
|
-
children:
|
|
210
|
+
children: loadedStatusLabelLocal(item.loadedStatus)
|
|
215
211
|
}
|
|
216
212
|
) : null,
|
|
217
213
|
/* @__PURE__ */ jsxs("div", { className: styles.configTags, children: [
|
|
@@ -226,7 +222,7 @@ function SharedDepsExplorer({
|
|
|
226
222
|
] })
|
|
227
223
|
},
|
|
228
224
|
{
|
|
229
|
-
title: "
|
|
225
|
+
title: t("sharedDeps.table.columns.consumers"),
|
|
230
226
|
width: "18%",
|
|
231
227
|
render: (_, item) => /* @__PURE__ */ jsx(
|
|
232
228
|
Popover,
|
|
@@ -234,70 +230,71 @@ function SharedDepsExplorer({
|
|
|
234
230
|
trigger: "click",
|
|
235
231
|
position: "right",
|
|
236
232
|
content: /* @__PURE__ */ jsxs("div", { className: styles.popoverContent, children: [
|
|
237
|
-
/* @__PURE__ */ jsx("div", { className: styles.popoverTitle, children: "
|
|
238
|
-
item.useIn.length === 0 ? /* @__PURE__ */ jsx("p", { className: styles.scopeText, children: "
|
|
233
|
+
/* @__PURE__ */ jsx("div", { className: styles.popoverTitle, children: t("sharedDeps.consumersPopover.title") }),
|
|
234
|
+
item.useIn.length === 0 ? /* @__PURE__ */ jsx("p", { className: styles.scopeText, children: t("sharedDeps.consumersPopover.empty") }) : /* @__PURE__ */ jsx("ul", { className: styles.consumerList, children: item.useIn.map((c) => /* @__PURE__ */ jsxs("li", { className: styles.consumerItem, children: [
|
|
239
235
|
/* @__PURE__ */ jsx("span", { className: styles.dot }),
|
|
240
236
|
/* @__PURE__ */ jsx("span", { className: styles.packageName, children: c })
|
|
241
237
|
] }, c)) })
|
|
242
238
|
] }),
|
|
243
239
|
children: /* @__PURE__ */ jsx(Button, { size: "mini", type: "secondary", children: /* @__PURE__ */ jsxs("div", { className: styles.btnContent, children: [
|
|
244
240
|
/* @__PURE__ */ jsx(Network, { className: styles.mr1, size: 12 }),
|
|
245
|
-
/* @__PURE__ */
|
|
246
|
-
item.useIn.length || 0
|
|
247
|
-
|
|
248
|
-
] })
|
|
241
|
+
/* @__PURE__ */ jsx("span", { children: t("sharedDeps.consumersPopover.button", {
|
|
242
|
+
count: item.useIn.length || 0
|
|
243
|
+
}) })
|
|
249
244
|
] }) })
|
|
250
245
|
}
|
|
251
246
|
)
|
|
252
247
|
},
|
|
253
248
|
{
|
|
254
|
-
title: "
|
|
249
|
+
title: t("sharedDeps.table.columns.strategy"),
|
|
255
250
|
width: "12%",
|
|
256
251
|
render: (_, item) => {
|
|
257
252
|
var _a;
|
|
258
|
-
return /* @__PURE__ */ jsx(Tag, { size: "small", color: "gray", children: (_a = item.strategy) != null ? _a : "
|
|
253
|
+
return /* @__PURE__ */ jsx(Tag, { size: "small", color: "gray", children: (_a = item.strategy) != null ? _a : t("sharedDeps.table.strategyFallback") });
|
|
259
254
|
}
|
|
260
255
|
}
|
|
261
256
|
];
|
|
262
257
|
return /* @__PURE__ */ jsxs("div", { className: styles.container, children: [
|
|
263
258
|
/* @__PURE__ */ jsxs("section", { className: styles.heroSection, children: [
|
|
264
|
-
/* @__PURE__ */ jsx("p", { className: styles.heroSubtitle, children: "
|
|
265
|
-
/* @__PURE__ */ jsx("h1", { className: styles.heroTitle, children: "
|
|
259
|
+
/* @__PURE__ */ jsx("p", { className: styles.heroSubtitle, children: t("sharedDeps.hero.subtitle") }),
|
|
260
|
+
/* @__PURE__ */ jsx("h1", { className: styles.heroTitle, children: t("sharedDeps.hero.title") })
|
|
266
261
|
] }),
|
|
267
262
|
/* @__PURE__ */ jsx("section", { children: /* @__PURE__ */ jsxs("div", { className: styles.statsGrid, children: [
|
|
268
263
|
/* @__PURE__ */ jsxs(Card, { className: styles.cardWithPadding, children: [
|
|
269
264
|
/* @__PURE__ */ jsx("div", { className: styles.cardHeader, children: /* @__PURE__ */ jsxs("div", { className: styles.statSpace, children: [
|
|
270
|
-
/* @__PURE__ */ jsx("div", { className: styles.statLabel, children: "
|
|
265
|
+
/* @__PURE__ */ jsx("div", { className: styles.statLabel, children: t("sharedDeps.stats.providers.title") }),
|
|
271
266
|
/* @__PURE__ */ jsxs("div", { className: styles.statValue, children: [
|
|
272
267
|
/* @__PURE__ */ jsx(Server, { className: styles.icon }),
|
|
273
268
|
/* @__PURE__ */ jsx("span", { children: stats.totalProviders })
|
|
274
269
|
] })
|
|
275
270
|
] }) }),
|
|
276
|
-
/* @__PURE__ */ jsx("p", { className: styles.statDescription, children: "
|
|
271
|
+
/* @__PURE__ */ jsx("p", { className: styles.statDescription, children: t("sharedDeps.stats.providers.description") })
|
|
277
272
|
] }),
|
|
278
273
|
/* @__PURE__ */ jsxs(Card, { className: styles.cardWithPadding, children: [
|
|
279
274
|
/* @__PURE__ */ jsx("div", { className: styles.cardHeader, children: /* @__PURE__ */ jsxs("div", { className: styles.statSpace, children: [
|
|
280
|
-
/* @__PURE__ */ jsx("div", { className: styles.statLabel, children: "
|
|
275
|
+
/* @__PURE__ */ jsx("div", { className: styles.statLabel, children: t("sharedDeps.stats.scopes.title") }),
|
|
281
276
|
/* @__PURE__ */ jsxs("div", { className: styles.statValue, children: [
|
|
282
277
|
/* @__PURE__ */ jsx(Layers, { className: styles.icon }),
|
|
283
278
|
/* @__PURE__ */ jsx("span", { children: stats.totalScopes }),
|
|
284
|
-
/* @__PURE__ */ jsx("span", { className: styles.statSubtext, children: "
|
|
279
|
+
/* @__PURE__ */ jsx("span", { className: styles.statSubtext, children: t("sharedDeps.stats.scopes.badge") })
|
|
285
280
|
] })
|
|
286
281
|
] }) }),
|
|
287
282
|
/* @__PURE__ */ jsxs("div", { className: styles.cardFooter, children: [
|
|
288
|
-
/* @__PURE__ */ jsx("span", { className: `${styles.truncate} ${styles.mr2}`, children: "
|
|
283
|
+
/* @__PURE__ */ jsx("span", { className: `${styles.truncate} ${styles.mr2}`, children: t("sharedDeps.stats.scopes.description") }),
|
|
289
284
|
/* @__PURE__ */ jsxs("span", { className: styles.badgeGroup, children: [
|
|
290
285
|
/* @__PURE__ */ jsx(Box, { className: styles.iconSmall }),
|
|
291
286
|
/* @__PURE__ */ jsxs("span", { children: [
|
|
292
287
|
stats.totalPackages,
|
|
293
|
-
"
|
|
288
|
+
t("sharedDeps.stats.scopes.packagesBadge", {
|
|
289
|
+
count: stats.totalPackages
|
|
290
|
+
})
|
|
294
291
|
] })
|
|
295
292
|
] })
|
|
296
293
|
] })
|
|
297
294
|
] }),
|
|
298
295
|
/* @__PURE__ */ jsxs(Card, { className: styles.cardWithPadding, children: [
|
|
299
296
|
/* @__PURE__ */ jsx("div", { className: styles.cardHeader, children: /* @__PURE__ */ jsxs("div", { className: styles.statSpace, children: [
|
|
300
|
-
/* @__PURE__ */ jsx("div", { className: styles.statLabel, children: "
|
|
297
|
+
/* @__PURE__ */ jsx("div", { className: styles.statLabel, children: t("sharedDeps.stats.versions.title") }),
|
|
301
298
|
/* @__PURE__ */ jsxs("div", { className: styles.statValue, children: [
|
|
302
299
|
/* @__PURE__ */ jsx(Package2, { className: styles.icon }),
|
|
303
300
|
/* @__PURE__ */ jsx("span", { children: stats.totalVersions })
|
|
@@ -306,12 +303,12 @@ function SharedDepsExplorer({
|
|
|
306
303
|
/* @__PURE__ */ jsx("div", { className: styles.statusTags, children: /* @__PURE__ */ jsxs("div", { className: styles.tagRow, children: [
|
|
307
304
|
/* @__PURE__ */ jsx(Tag, { className: `${styles.tagContent} loaded-status-tag`, children: /* @__PURE__ */ jsxs("div", { className: styles.tagContent, children: [
|
|
308
305
|
/* @__PURE__ */ jsx(Network, { className: `${styles.iconSmall} ${styles.mr1}` }),
|
|
309
|
-
/* @__PURE__ */ jsx("span", { children: "
|
|
306
|
+
/* @__PURE__ */ jsx("span", { children: t("sharedDeps.stats.versions.loadedLabel") }),
|
|
310
307
|
/* @__PURE__ */ jsx("span", { className: styles.tagValue, children: stats.loadedCount })
|
|
311
308
|
] }) }),
|
|
312
309
|
/* @__PURE__ */ jsx(Tag, { className: `${styles.tagContent} reused-status-tag`, children: /* @__PURE__ */ jsxs("div", { className: styles.tagContent, children: [
|
|
313
310
|
/* @__PURE__ */ jsx(Repeat, { className: `${styles.iconSmall} ${styles.mr1}` }),
|
|
314
|
-
/* @__PURE__ */ jsx("span", { children: "
|
|
311
|
+
/* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx("span", { children: t("sharedDeps.stats.versions.reusedLabel") }) }),
|
|
315
312
|
/* @__PURE__ */ jsx("span", { className: styles.tagValue, children: stats.reusedCount })
|
|
316
313
|
] }) })
|
|
317
314
|
] }) })
|
|
@@ -323,14 +320,12 @@ function SharedDepsExplorer({
|
|
|
323
320
|
className: styles.card,
|
|
324
321
|
title: /* @__PURE__ */ jsxs("div", { className: styles.cardTitle, children: [
|
|
325
322
|
/* @__PURE__ */ jsx(Box, { className: styles.iconMedium }),
|
|
326
|
-
"
|
|
327
|
-
focusPackage,
|
|
328
|
-
"'?"
|
|
323
|
+
t("sharedDeps.focusPanel.title", { package: focusPackage })
|
|
329
324
|
] }),
|
|
330
325
|
children: [
|
|
331
326
|
/* @__PURE__ */ jsxs("div", { className: styles.controlsGrid, children: [
|
|
332
327
|
/* @__PURE__ */ jsxs("div", { className: styles.inputGroup, children: [
|
|
333
|
-
/* @__PURE__ */ jsx("div", { className: styles.inputLabel, children: "
|
|
328
|
+
/* @__PURE__ */ jsx("div", { className: styles.inputLabel, children: t("sharedDeps.focusPanel.packageLabel") }),
|
|
334
329
|
/* @__PURE__ */ jsx(
|
|
335
330
|
Select,
|
|
336
331
|
{
|
|
@@ -340,24 +335,24 @@ function SharedDepsExplorer({
|
|
|
340
335
|
setFocusPackage(value);
|
|
341
336
|
setFocusVersion("");
|
|
342
337
|
},
|
|
343
|
-
placeholder: "
|
|
338
|
+
placeholder: t("sharedDeps.focusPanel.packagePlaceholder"),
|
|
344
339
|
className: styles.fullWidth,
|
|
345
340
|
children: filterOptions.packages.map((name) => /* @__PURE__ */ jsx(Select.Option, { value: name, children: name }, name))
|
|
346
341
|
}
|
|
347
342
|
)
|
|
348
343
|
] }),
|
|
349
344
|
/* @__PURE__ */ jsxs("div", { className: styles.inputGroup, children: [
|
|
350
|
-
/* @__PURE__ */ jsx("div", { className: styles.inputLabel, children: "
|
|
345
|
+
/* @__PURE__ */ jsx("div", { className: styles.inputLabel, children: t("sharedDeps.focusPanel.versionLabel") }),
|
|
351
346
|
/* @__PURE__ */ jsxs(
|
|
352
347
|
Select,
|
|
353
348
|
{
|
|
354
349
|
showSearch: true,
|
|
355
350
|
value: focusVersion || ALL_VALUE,
|
|
356
351
|
onChange: (value) => setFocusVersion(value === ALL_VALUE ? "" : value),
|
|
357
|
-
placeholder: "
|
|
352
|
+
placeholder: t("sharedDeps.focusPanel.versionPlaceholder"),
|
|
358
353
|
className: styles.fullWidth,
|
|
359
354
|
children: [
|
|
360
|
-
/* @__PURE__ */ jsx(Select.Option, { value: ALL_VALUE, children: "
|
|
355
|
+
/* @__PURE__ */ jsx(Select.Option, { value: ALL_VALUE, children: t("sharedDeps.focusPanel.versionAllOption") }),
|
|
361
356
|
focusVersionsForPackage.map((v) => /* @__PURE__ */ jsx(Select.Option, { value: v, children: v }, v))
|
|
362
357
|
]
|
|
363
358
|
}
|
|
@@ -369,7 +364,7 @@ function SharedDepsExplorer({
|
|
|
369
364
|
{
|
|
370
365
|
focusResult,
|
|
371
366
|
hasData,
|
|
372
|
-
loadedStatusLabel
|
|
367
|
+
loadedStatusLabel: loadedStatusLabelLocal
|
|
373
368
|
}
|
|
374
369
|
) })
|
|
375
370
|
]
|
|
@@ -381,18 +376,18 @@ function SharedDepsExplorer({
|
|
|
381
376
|
className: styles.card,
|
|
382
377
|
title: /* @__PURE__ */ jsxs("div", { className: styles.cardTitle, children: [
|
|
383
378
|
/* @__PURE__ */ jsx(Search, { className: styles.iconMedium }),
|
|
384
|
-
"
|
|
379
|
+
t("sharedDeps.filters.cardTitle")
|
|
385
380
|
] }),
|
|
386
381
|
children: [
|
|
387
382
|
/* @__PURE__ */ jsxs("div", { className: styles.filterGrid, children: [
|
|
388
383
|
/* @__PURE__ */ jsxs("div", { className: `${styles.inputGroup} ${styles.padding2}`, children: [
|
|
389
|
-
/* @__PURE__ */ jsx("div", { className: styles.inputLabel, children: "
|
|
384
|
+
/* @__PURE__ */ jsx("div", { className: styles.inputLabel, children: t("sharedDeps.filters.providerLabel") }),
|
|
390
385
|
/* @__PURE__ */ jsx(
|
|
391
386
|
Select,
|
|
392
387
|
{
|
|
393
388
|
value: selectedProvider || void 0,
|
|
394
389
|
onChange: (value) => setSelectedProvider(value === ALL_VALUE ? "" : value),
|
|
395
|
-
placeholder: "
|
|
390
|
+
placeholder: t("sharedDeps.filters.providerPlaceholder"),
|
|
396
391
|
className: styles.fullWidth,
|
|
397
392
|
allowClear: true,
|
|
398
393
|
children: filterOptions.providers.map((p) => /* @__PURE__ */ jsx(Select.Option, { value: p, children: p }, p))
|
|
@@ -400,13 +395,13 @@ function SharedDepsExplorer({
|
|
|
400
395
|
)
|
|
401
396
|
] }),
|
|
402
397
|
/* @__PURE__ */ jsxs("div", { className: `${styles.inputGroup} ${styles.padding2}`, children: [
|
|
403
|
-
/* @__PURE__ */ jsx("div", { className: styles.inputLabel, children: "
|
|
398
|
+
/* @__PURE__ */ jsx("div", { className: styles.inputLabel, children: t("sharedDeps.filters.packageLabel") }),
|
|
404
399
|
/* @__PURE__ */ jsx(
|
|
405
400
|
Select,
|
|
406
401
|
{
|
|
407
402
|
value: selectedPackage || void 0,
|
|
408
403
|
onChange: (value) => setSelectedPackage(value === ALL_VALUE ? "" : value),
|
|
409
|
-
placeholder: "
|
|
404
|
+
placeholder: t("sharedDeps.filters.packagePlaceholder"),
|
|
410
405
|
className: styles.fullWidth,
|
|
411
406
|
allowClear: true,
|
|
412
407
|
children: filterOptions.packages.map((name) => /* @__PURE__ */ jsx(Select.Option, { value: name, children: name }, name))
|
|
@@ -414,13 +409,13 @@ function SharedDepsExplorer({
|
|
|
414
409
|
)
|
|
415
410
|
] }),
|
|
416
411
|
/* @__PURE__ */ jsxs("div", { className: `${styles.inputGroup} ${styles.padding2}`, children: [
|
|
417
|
-
/* @__PURE__ */ jsx("div", { className: styles.inputLabel, children: "
|
|
412
|
+
/* @__PURE__ */ jsx("div", { className: styles.inputLabel, children: t("sharedDeps.filters.versionLabel") }),
|
|
418
413
|
/* @__PURE__ */ jsx(
|
|
419
414
|
Select,
|
|
420
415
|
{
|
|
421
416
|
value: selectedVersion || void 0,
|
|
422
417
|
onChange: (value) => setSelectedVersion(value === ALL_VALUE ? "" : value),
|
|
423
|
-
placeholder: "
|
|
418
|
+
placeholder: t("sharedDeps.filters.versionPlaceholder"),
|
|
424
419
|
className: styles.fullWidth,
|
|
425
420
|
disabled: !selectedPackage,
|
|
426
421
|
allowClear: true,
|
|
@@ -431,30 +426,26 @@ function SharedDepsExplorer({
|
|
|
431
426
|
] }),
|
|
432
427
|
/* @__PURE__ */ jsxs("div", { className: styles.searchGrid, children: [
|
|
433
428
|
/* @__PURE__ */ jsxs("div", { className: styles.inputGroup, children: [
|
|
434
|
-
/* @__PURE__ */ jsx("div", { className: styles.inputLabel, children: "
|
|
429
|
+
/* @__PURE__ */ jsx("div", { className: styles.inputLabel, children: t("sharedDeps.filters.keywordLabel") }),
|
|
435
430
|
/* @__PURE__ */ jsx(
|
|
436
431
|
Input,
|
|
437
432
|
{
|
|
438
433
|
prefix: /* @__PURE__ */ jsx(Search, { className: styles.iconMedium }),
|
|
439
434
|
className: styles.searchInput,
|
|
440
|
-
placeholder: "
|
|
435
|
+
placeholder: t("sharedDeps.filters.keywordPlaceholder"),
|
|
441
436
|
value: searchText,
|
|
442
437
|
onChange: (val) => setSearchText(val)
|
|
443
438
|
}
|
|
444
439
|
)
|
|
445
440
|
] }),
|
|
446
441
|
/* @__PURE__ */ jsx("div", { className: styles.matchCount, children: /* @__PURE__ */ jsxs("span", { children: [
|
|
447
|
-
"
|
|
442
|
+
t("sharedDeps.filters.matchCountLabel"),
|
|
448
443
|
/* @__PURE__ */ jsx("span", { className: styles.matchValue, children: filteredVersions.length })
|
|
449
444
|
] }) })
|
|
450
445
|
] }),
|
|
451
|
-
!hasData && loadingState === "loading" && /* @__PURE__ */ jsx("div", { className: styles.loadingText, children: "
|
|
452
|
-
loadingState === "error" && /* @__PURE__ */
|
|
453
|
-
|
|
454
|
-
" ",
|
|
455
|
-
errorMessage != null ? errorMessage : "Unknown Error"
|
|
456
|
-
] }),
|
|
457
|
-
hasData && Object.keys(tree).length === 0 && /* @__PURE__ */ jsx("div", { className: styles.noMatchText, children: "No matching shared dependency versions under current filter conditions, try relaxing the filter conditions." }),
|
|
446
|
+
!hasData && loadingState === "loading" && /* @__PURE__ */ jsx("div", { className: styles.loadingText, children: t("sharedDeps.messages.loading") }),
|
|
447
|
+
loadingState === "error" && /* @__PURE__ */ jsx("div", { className: styles.errorText, children: errorMessage ? t("sharedDeps.messages.error", { message: errorMessage }) : t("sharedDeps.messages.errorUnknown") }),
|
|
448
|
+
hasData && Object.keys(tree).length === 0 && /* @__PURE__ */ jsx("div", { className: styles.noMatchText, children: t("sharedDeps.messages.noMatch") }),
|
|
458
449
|
hasData && Object.keys(tree).length > 0 && /* @__PURE__ */ jsx("div", { className: styles.treeContainer, children: /* @__PURE__ */ jsx("div", { className: styles.collapseWrapper, children: /* @__PURE__ */ jsx(Collapse, { children: Object.entries(tree).map(([provider, scopes]) => /* @__PURE__ */ jsx(
|
|
459
450
|
Collapse.Item,
|
|
460
451
|
{
|
|
@@ -464,20 +455,18 @@ function SharedDepsExplorer({
|
|
|
464
455
|
/* @__PURE__ */ jsx(Server, { className: styles.iconMedium }),
|
|
465
456
|
/* @__PURE__ */ jsx("span", { children: provider })
|
|
466
457
|
] }),
|
|
467
|
-
/* @__PURE__ */ jsx("div", { className: styles.providerMeta, children: /* @__PURE__ */
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
] }) })
|
|
458
|
+
/* @__PURE__ */ jsx("div", { className: styles.providerMeta, children: /* @__PURE__ */ jsx("span", { children: t("sharedDeps.filters.scopeCount", {
|
|
459
|
+
count: Object.keys(scopes).length
|
|
460
|
+
}) }) })
|
|
471
461
|
] }),
|
|
472
462
|
children: /* @__PURE__ */ jsx("div", { className: styles.scopeList, children: Object.entries(scopes).map(([scopeName, packages]) => {
|
|
473
463
|
const list = Object.values(packages).flat();
|
|
474
464
|
return /* @__PURE__ */ jsxs("div", { className: styles.scopeItem, children: [
|
|
475
465
|
/* @__PURE__ */ jsxs("div", { className: styles.scopeHeader, children: [
|
|
476
466
|
/* @__PURE__ */ jsx(Layers, { className: styles.iconSmall }),
|
|
477
|
-
/* @__PURE__ */
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
] })
|
|
467
|
+
/* @__PURE__ */ jsx("span", { children: t("sharedDeps.filters.scopePrefix", {
|
|
468
|
+
name: scopeName
|
|
469
|
+
}) })
|
|
481
470
|
] }),
|
|
482
471
|
/* @__PURE__ */ jsx("div", { className: styles.tableContainer, children: /* @__PURE__ */ jsx(
|
|
483
472
|
Table,
|
|
@@ -227,7 +227,7 @@
|
|
|
227
227
|
.resultBox_967de {
|
|
228
228
|
border-radius: 6px;
|
|
229
229
|
border: 1px dashed #e4e4e7;
|
|
230
|
-
background-color: #f9fafb;
|
|
230
|
+
background-color: var(--color-bg-1, #f9fafb) !important;
|
|
231
231
|
padding: 8px 12px;
|
|
232
232
|
font-size: 12px;
|
|
233
233
|
}
|
|
@@ -366,6 +366,16 @@
|
|
|
366
366
|
border: 1px solid #e4e4e7;
|
|
367
367
|
background-color: rgba(249, 250, 251, 0.4);
|
|
368
368
|
}
|
|
369
|
+
.tableContainer_967de .arco-table-hover .arco-table-tr:not(.arco-table-empty-row):hover .arco-table-td:not(.arco-table-col-fixed-left):not(.arco-table-col-fixed-right) {
|
|
370
|
+
background-color: var(--color-fill-2, #f2f3f5) !important;
|
|
371
|
+
}
|
|
372
|
+
.arco-theme-dark .tableContainer_967de .arco-table-hover
|
|
373
|
+
.arco-table-tr:not(.arco-table-empty-row):hover
|
|
374
|
+
.arco-table-td:not(.arco-table-col-fixed-left):not(
|
|
375
|
+
.arco-table-col-fixed-right
|
|
376
|
+
) {
|
|
377
|
+
background-color: var(--color-bg-4) !important;
|
|
378
|
+
}
|
|
369
379
|
|
|
370
380
|
.cellCol_967de {
|
|
371
381
|
display: flex;
|
|
@@ -376,7 +386,7 @@
|
|
|
376
386
|
word-break: break-all;
|
|
377
387
|
font-family: monospace;
|
|
378
388
|
font-size: 11px;
|
|
379
|
-
color: #27272a;
|
|
389
|
+
color: var(--color-neutral-10, #27272a) !important;
|
|
380
390
|
}
|
|
381
391
|
|
|
382
392
|
.version_967de {
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Button } from "@arco-design/web-react";
|
|
3
|
+
import { IconMoon, IconSun } from "@arco-design/web-react/icon";
|
|
4
|
+
import styles from "./ThemeToggle.module";
|
|
5
|
+
const ThemeToggle = ({ theme, onToggle }) => {
|
|
6
|
+
return /* @__PURE__ */ jsx(
|
|
7
|
+
Button,
|
|
8
|
+
{
|
|
9
|
+
className: styles.themeToggle,
|
|
10
|
+
size: "default",
|
|
11
|
+
onClick: onToggle,
|
|
12
|
+
icon: theme === "dark" ? /* @__PURE__ */ jsx(IconSun, {}) : /* @__PURE__ */ jsx(IconMoon, {})
|
|
13
|
+
}
|
|
14
|
+
);
|
|
15
|
+
};
|
|
16
|
+
var ThemeToggle_default = ThemeToggle;
|
|
17
|
+
export {
|
|
18
|
+
ThemeToggle_default as default
|
|
19
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
.themeToggle_2452c {
|
|
2
|
+
background-color: transparent !important;
|
|
3
|
+
border-color: transparent !important;
|
|
4
|
+
margin: 0 6px !important;
|
|
5
|
+
padding: 0 !important;
|
|
6
|
+
}
|
|
7
|
+
.themeToggle_2452c:hover {
|
|
8
|
+
background-color: var(--color-fill-3, #fafafa) !important;
|
|
9
|
+
}
|
|
10
|
+
.arco-theme-dark .themeToggle_2452c :hover {
|
|
11
|
+
background-color: var(--color-bg-1) !important;
|
|
12
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { useEffect, useState } from "react";
|
|
2
|
+
const DARK_MEDIA_QUERY = "(prefers-color-scheme: dark)";
|
|
3
|
+
function resolveThemeFromDevtools() {
|
|
4
|
+
var _a, _b;
|
|
5
|
+
if (typeof window === "undefined") {
|
|
6
|
+
return null;
|
|
7
|
+
}
|
|
8
|
+
const devtools = (_a = window.chrome) == null ? void 0 : _a.devtools;
|
|
9
|
+
const themeName = (_b = devtools == null ? void 0 : devtools.panels) == null ? void 0 : _b.themeName;
|
|
10
|
+
if (typeof themeName === "string") {
|
|
11
|
+
return themeName.toLowerCase().includes("dark") ? "dark" : "light";
|
|
12
|
+
}
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
function resolveThemeFromMedia() {
|
|
16
|
+
if (typeof window === "undefined" || typeof window.matchMedia !== "function") {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
return window.matchMedia(DARK_MEDIA_QUERY).matches ? "dark" : "light";
|
|
20
|
+
}
|
|
21
|
+
function getInitialTheme() {
|
|
22
|
+
var _a, _b;
|
|
23
|
+
return (_b = (_a = resolveThemeFromDevtools()) != null ? _a : resolveThemeFromMedia()) != null ? _b : "light";
|
|
24
|
+
}
|
|
25
|
+
const useDevtoolsTheme = () => {
|
|
26
|
+
const [theme, setTheme] = useState(() => getInitialTheme());
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
var _a;
|
|
29
|
+
if (typeof window === "undefined") {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
const devtools = (_a = window.chrome) == null ? void 0 : _a.devtools;
|
|
33
|
+
const panels = devtools == null ? void 0 : devtools.panels;
|
|
34
|
+
const onThemeChanged = panels == null ? void 0 : panels.onThemeChanged;
|
|
35
|
+
const handleThemeChange = (newThemeName) => {
|
|
36
|
+
if (typeof newThemeName !== "string") {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const next = newThemeName.toLowerCase().includes("dark") ? "dark" : "light";
|
|
40
|
+
setTheme(next);
|
|
41
|
+
};
|
|
42
|
+
const fromDevtools = resolveThemeFromDevtools();
|
|
43
|
+
if (fromDevtools) {
|
|
44
|
+
setTheme(fromDevtools);
|
|
45
|
+
}
|
|
46
|
+
let mediaQuery = null;
|
|
47
|
+
const handleMediaQueryChange = (event) => {
|
|
48
|
+
setTheme(event.matches ? "dark" : "light");
|
|
49
|
+
};
|
|
50
|
+
if (onThemeChanged && typeof onThemeChanged.addListener === "function") {
|
|
51
|
+
onThemeChanged.addListener(handleThemeChange);
|
|
52
|
+
} else if (typeof window.matchMedia === "function") {
|
|
53
|
+
mediaQuery = window.matchMedia(DARK_MEDIA_QUERY);
|
|
54
|
+
if (typeof mediaQuery.addEventListener === "function") {
|
|
55
|
+
mediaQuery.addEventListener("change", handleMediaQueryChange);
|
|
56
|
+
} else if (typeof mediaQuery.addListener === "function") {
|
|
57
|
+
mediaQuery.addListener(handleMediaQueryChange);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return () => {
|
|
61
|
+
if (onThemeChanged && typeof onThemeChanged.removeListener === "function") {
|
|
62
|
+
onThemeChanged.removeListener(handleThemeChange);
|
|
63
|
+
}
|
|
64
|
+
if (mediaQuery) {
|
|
65
|
+
if (typeof mediaQuery.removeEventListener === "function") {
|
|
66
|
+
mediaQuery.removeEventListener("change", handleMediaQueryChange);
|
|
67
|
+
} else if (typeof mediaQuery.removeListener === "function") {
|
|
68
|
+
mediaQuery.removeListener(handleMediaQueryChange);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
}, []);
|
|
73
|
+
return theme;
|
|
74
|
+
};
|
|
75
|
+
export {
|
|
76
|
+
useDevtoolsTheme
|
|
77
|
+
};
|