@module-federation/devtools 0.22.0 → 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.
Files changed (116) hide show
  1. package/dist/es/App.css +13 -0
  2. package/dist/es/App.js +461 -21
  3. package/dist/es/App.module.js +1 -1
  4. package/dist/es/App_module.css +293 -5
  5. package/dist/es/component/DependencyGraph/index.js +204 -0
  6. package/dist/es/component/DependencyGraph/index.module.js +5 -0
  7. package/dist/es/component/DependencyGraph/index_module.css +100 -0
  8. package/dist/es/component/{GraphItem → DependencyGraphItem}/index.js +20 -9
  9. package/dist/es/component/DependencyGraphItem/index.module.js +5 -0
  10. package/dist/es/component/DependencyGraphItem/index_module.css +95 -0
  11. package/dist/es/component/Form/index.js +192 -117
  12. package/dist/es/component/Form/index.module.js +1 -1
  13. package/dist/es/component/Form/index_module.css +176 -25
  14. package/dist/es/component/LanguageSwitch.js +50 -0
  15. package/dist/es/component/Layout/index.js +296 -49
  16. package/dist/es/component/Layout/index.module.js +1 -1
  17. package/dist/es/component/Layout/index_module.css +52 -32
  18. package/dist/es/component/ModuleInfo/index.js +313 -0
  19. package/dist/es/component/ModuleInfo/index.module.js +5 -0
  20. package/dist/es/component/ModuleInfo/index_module.css +184 -0
  21. package/dist/es/component/SharedDepsExplorer/FocusResultDisplay.js +35 -0
  22. package/dist/es/component/SharedDepsExplorer/FocusResultDisplay.module.js +5 -0
  23. package/dist/es/component/SharedDepsExplorer/FocusResultDisplay_module.css +45 -0
  24. package/dist/es/component/SharedDepsExplorer/index.js +495 -0
  25. package/dist/es/component/SharedDepsExplorer/index.module.js +5 -0
  26. package/dist/es/component/SharedDepsExplorer/index_module.css +467 -0
  27. package/dist/es/component/SharedDepsExplorer/share-utils.js +206 -0
  28. package/dist/es/component/ThemeToggle.js +19 -0
  29. package/dist/es/component/ThemeToggle.module.js +5 -0
  30. package/dist/es/component/ThemeToggle_module.css +12 -0
  31. package/dist/es/hooks/useDevtoolsTheme.js +77 -0
  32. package/dist/es/i18n/index.js +506 -0
  33. package/dist/es/template/constant.js +3 -19
  34. package/dist/es/utils/chrome/index.js +91 -38
  35. package/dist/es/utils/chrome/messages.js +6 -0
  36. package/dist/es/utils/chrome/override-remote.js +42 -0
  37. package/dist/es/utils/chrome/post-message-listener.js +2 -1
  38. package/dist/es/utils/chrome/post-message-start.js +10 -2
  39. package/dist/es/utils/chrome/storage.js +6 -1
  40. package/dist/es/utils/sdk/graph.js +25 -4
  41. package/dist/es/utils/sdk/index.js +9 -0
  42. package/dist/es/worker/index.js +168 -1
  43. package/dist/lib/App.css +13 -0
  44. package/dist/lib/App.js +451 -18
  45. package/dist/lib/App.module.js +1 -1
  46. package/dist/lib/App_module.css +293 -5
  47. package/dist/lib/component/DependencyGraph/index.js +226 -0
  48. package/dist/lib/component/{GraphItem → DependencyGraph}/index.module.js +1 -1
  49. package/dist/lib/component/DependencyGraph/index_module.css +100 -0
  50. package/dist/lib/component/{GraphItem → DependencyGraphItem}/index.js +23 -12
  51. package/dist/lib/component/{Graph → DependencyGraphItem}/index.module.js +1 -1
  52. package/dist/lib/component/DependencyGraphItem/index_module.css +95 -0
  53. package/dist/lib/component/Form/index.js +189 -115
  54. package/dist/lib/component/Form/index.module.js +1 -1
  55. package/dist/lib/component/Form/index_module.css +176 -25
  56. package/dist/lib/component/LanguageSwitch.js +80 -0
  57. package/dist/lib/component/Layout/index.js +290 -47
  58. package/dist/lib/component/Layout/index.module.js +1 -1
  59. package/dist/lib/component/Layout/index_module.css +52 -32
  60. package/dist/lib/component/ModuleInfo/index.js +343 -0
  61. package/dist/lib/component/ModuleInfo/index.module.js +25 -0
  62. package/dist/lib/component/ModuleInfo/index_module.css +184 -0
  63. package/dist/lib/component/SharedDepsExplorer/FocusResultDisplay.js +65 -0
  64. package/dist/lib/component/SharedDepsExplorer/FocusResultDisplay.module.js +25 -0
  65. package/dist/lib/component/SharedDepsExplorer/FocusResultDisplay_module.css +45 -0
  66. package/dist/lib/component/SharedDepsExplorer/index.js +502 -0
  67. package/dist/lib/component/SharedDepsExplorer/index.module.js +25 -0
  68. package/dist/lib/component/SharedDepsExplorer/index_module.css +467 -0
  69. package/dist/lib/component/SharedDepsExplorer/share-utils.js +237 -0
  70. package/dist/lib/component/ThemeToggle.js +49 -0
  71. package/dist/lib/component/ThemeToggle.module.js +25 -0
  72. package/dist/lib/component/ThemeToggle_module.css +12 -0
  73. package/dist/lib/hooks/useDevtoolsTheme.js +101 -0
  74. package/dist/lib/i18n/index.js +540 -0
  75. package/dist/lib/template/constant.js +4 -17
  76. package/dist/lib/utils/chrome/index.js +94 -38
  77. package/dist/lib/utils/chrome/messages.js +31 -0
  78. package/dist/lib/utils/chrome/override-remote.js +65 -0
  79. package/dist/lib/utils/chrome/post-message-listener.js +2 -1
  80. package/dist/lib/utils/chrome/post-message-start.js +10 -2
  81. package/dist/lib/utils/chrome/storage.js +5 -0
  82. package/dist/lib/utils/sdk/graph.js +25 -4
  83. package/dist/lib/utils/sdk/index.js +10 -0
  84. package/dist/lib/worker/index.js +156 -1
  85. package/dist/types/src/App.d.ts +2 -1
  86. package/dist/types/src/component/{Graph → DependencyGraph}/index.d.ts +0 -1
  87. package/dist/types/src/component/{GraphItem → DependencyGraphItem}/index.d.ts +0 -1
  88. package/dist/types/src/component/Form/index.d.ts +2 -0
  89. package/dist/types/src/component/LanguageSwitch.d.ts +2 -0
  90. package/dist/types/src/component/Layout/index.d.ts +0 -1
  91. package/dist/types/src/component/ModuleInfo/index.d.ts +8 -0
  92. package/dist/types/src/component/SharedDepsExplorer/FocusResultDisplay.d.ts +15 -0
  93. package/dist/types/src/component/SharedDepsExplorer/index.d.ts +6 -0
  94. package/dist/types/src/component/SharedDepsExplorer/share-utils.d.ts +44 -0
  95. package/dist/types/src/component/ThemeToggle.d.ts +8 -0
  96. package/dist/types/src/hooks/useDevtoolsTheme.d.ts +2 -0
  97. package/dist/types/src/i18n/index.d.ts +5 -0
  98. package/dist/types/src/init.d.ts +0 -1
  99. package/dist/types/src/template/constant.d.ts +2 -5
  100. package/dist/types/src/utils/chrome/index.d.ts +5 -3
  101. package/dist/types/src/utils/chrome/messages.d.ts +2 -0
  102. package/dist/types/src/utils/chrome/override-remote.d.ts +1 -0
  103. package/dist/types/src/utils/chrome/storage.d.ts +5 -4
  104. package/dist/types/src/utils/sdk/graph.d.ts +2 -1
  105. package/dist/types/src/utils/sdk/index.d.ts +1 -0
  106. package/dist/types/src/utils/types/common.d.ts +4 -0
  107. package/dist/types/src/worker/index.d.ts +1 -0
  108. package/package.json +18 -14
  109. package/dist/es/component/Graph/index.js +0 -127
  110. package/dist/es/component/Graph/index.module.js +0 -5
  111. package/dist/es/component/Graph/index_module.css +0 -12
  112. package/dist/es/component/GraphItem/index.module.js +0 -5
  113. package/dist/es/component/GraphItem/index_module.css +0 -61
  114. package/dist/lib/component/Graph/index.js +0 -149
  115. package/dist/lib/component/Graph/index_module.css +0 -12
  116. package/dist/lib/component/GraphItem/index_module.css +0 -61
@@ -0,0 +1,343 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var ModuleInfo_exports = {};
30
+ __export(ModuleInfo_exports, {
31
+ default: () => ModuleInfo_default
32
+ });
33
+ module.exports = __toCommonJS(ModuleInfo_exports);
34
+ var import_jsx_runtime = require("react/jsx-runtime");
35
+ var import_react = require("react");
36
+ var import_web_react = require("@arco-design/web-react");
37
+ var import_react_i18next = require("react-i18next");
38
+ var import_index = __toESM(require("./index.module"));
39
+ const renderValue = (value) => {
40
+ if (value === void 0 || value === null) {
41
+ return null;
42
+ }
43
+ if (Array.isArray(value)) {
44
+ if (!value.length) {
45
+ return null;
46
+ }
47
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.pillGroup, children: value.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: import_index.default.pill, children: typeof item === "string" ? item : JSON.stringify(item) }, index)) });
48
+ }
49
+ if (typeof value === "object") {
50
+ if (Object.keys(value).length === 0) {
51
+ return null;
52
+ }
53
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "flex flex-col gap-3", children: Object.entries(value).map(([key, val]) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
54
+ "div",
55
+ {
56
+ className: "flex flex-col border-b border-zinc-100 pb-2 last:border-0 last:pb-0",
57
+ children: [
58
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "font-medium text-zinc-700 text-xs mb-1", children: key }),
59
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "text-zinc-600 text-xs break-all font-mono bg-zinc-50 p-2 rounded border border-zinc-100", children: (() => {
60
+ if (Array.isArray(val)) {
61
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "flex flex-col gap-1", children: val.map((item, idx) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
62
+ "div",
63
+ {
64
+ className: "border-b border-zinc-200 last:border-0 pb-1 last:pb-0",
65
+ children: typeof item === "object" ? JSON.stringify(item) : String(item)
66
+ },
67
+ idx
68
+ )) });
69
+ }
70
+ return typeof val === "object" ? JSON.stringify(val) : String(val);
71
+ })() })
72
+ ]
73
+ },
74
+ key
75
+ )) });
76
+ }
77
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: import_index.default.valueText, children: String(value) });
78
+ };
79
+ const RemotesTable = ({ data }) => {
80
+ const { t } = (0, import_react_i18next.useTranslation)();
81
+ if (!data || Object.keys(data).length === 0) {
82
+ return null;
83
+ }
84
+ const dataSource = Object.entries(data).map(([key, val]) => ({
85
+ key,
86
+ name: key,
87
+ type: val.type || val.remoteType || "-",
88
+ version: val.version || val.matchedVersion || "-",
89
+ scmVersion: val.scmVersion || val.buildVersion || "-"
90
+ }));
91
+ const columns = [
92
+ { title: t("moduleInfo.tables.remotes.name"), dataIndex: "name" },
93
+ { title: t("moduleInfo.tables.remotes.type"), dataIndex: "type" },
94
+ { title: t("moduleInfo.tables.remotes.version"), dataIndex: "version" },
95
+ {
96
+ title: t("moduleInfo.tables.remotes.scmVersion"),
97
+ dataIndex: "scmVersion"
98
+ }
99
+ ];
100
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
101
+ import_web_react.Table,
102
+ {
103
+ columns,
104
+ data: dataSource,
105
+ pagination: false,
106
+ border: false,
107
+ rowKey: "key",
108
+ className: "bg-zinc-50 rounded border border-zinc-200"
109
+ }
110
+ );
111
+ };
112
+ const ExposesTable = ({ data }) => {
113
+ const { t } = (0, import_react_i18next.useTranslation)();
114
+ if (!Array.isArray(data) || data.length === 0) {
115
+ return null;
116
+ }
117
+ const dataSource = data.map((item, index) => ({
118
+ key: index,
119
+ name: item.name || item.moduleName || item.expose || "-",
120
+ path: item.path || item.file || "-",
121
+ shared: Array.isArray(item.requires) ? item.requires.join(", ") : item.requires || t("moduleInfo.tables.exposes.noShared")
122
+ }));
123
+ const columns = [
124
+ { title: t("moduleInfo.tables.exposes.moduleName"), dataIndex: "name" },
125
+ { title: t("moduleInfo.tables.exposes.filePath"), dataIndex: "path" },
126
+ {
127
+ title: t("moduleInfo.tables.exposes.sharedDependencies"),
128
+ dataIndex: "shared"
129
+ }
130
+ ];
131
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
132
+ import_web_react.Table,
133
+ {
134
+ columns,
135
+ data: dataSource,
136
+ pagination: false,
137
+ border: false,
138
+ rowKey: "key",
139
+ className: "bg-zinc-50 rounded border border-zinc-200"
140
+ }
141
+ );
142
+ };
143
+ const ConsumersTable = ({ data }) => {
144
+ const { t } = (0, import_react_i18next.useTranslation)();
145
+ if (!Array.isArray(data) || data.length === 0) {
146
+ return null;
147
+ }
148
+ const dataSource = data.map((item, index) => ({
149
+ key: index,
150
+ name: item.name || item.consumerName || "-",
151
+ type: item.type || "-",
152
+ version: item.version || "-",
153
+ moduleName: item.moduleName || "-",
154
+ usedIn: Array.isArray(item.usedIn) ? item.usedIn.join(", ") : item.usedIn || "-",
155
+ time: item.time || "-"
156
+ }));
157
+ const columns = [
158
+ { title: t("moduleInfo.tables.consumers.name"), dataIndex: "name" },
159
+ { title: t("moduleInfo.tables.consumers.type"), dataIndex: "type" },
160
+ { title: t("moduleInfo.tables.consumers.version"), dataIndex: "version" },
161
+ {
162
+ title: t("moduleInfo.tables.consumers.moduleName"),
163
+ dataIndex: "moduleName"
164
+ },
165
+ { title: t("moduleInfo.tables.consumers.usedIn"), dataIndex: "usedIn" },
166
+ { title: t("moduleInfo.tables.consumers.time"), dataIndex: "time" }
167
+ ];
168
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
169
+ import_web_react.Table,
170
+ {
171
+ columns,
172
+ data: dataSource,
173
+ pagination: false,
174
+ border: false,
175
+ rowKey: "key",
176
+ className: "bg-zinc-50 rounded border border-zinc-200"
177
+ }
178
+ );
179
+ };
180
+ const SharedTable = ({
181
+ data
182
+ }) => {
183
+ const { t } = (0, import_react_i18next.useTranslation)();
184
+ if (!data || Array.isArray(data) && data.length === 0) {
185
+ return null;
186
+ }
187
+ const dataSource = Object.entries(data).map(([key, val]) => {
188
+ var _a, _b, _c;
189
+ return {
190
+ key,
191
+ name: val.sharedName,
192
+ version: val.version || "-",
193
+ requiredVersion: (_a = val.shareConfig) == null ? void 0 : _a.requiredVersion,
194
+ singleton: (_b = val.shareConfig) == null ? void 0 : _b.singleton,
195
+ eager: (_c = val.shareConfig) == null ? void 0 : _c.eager
196
+ };
197
+ });
198
+ const columns = [
199
+ { title: t("moduleInfo.tables.shared.dependencyName"), dataIndex: "name" },
200
+ { title: t("moduleInfo.tables.shared.version"), dataIndex: "version" },
201
+ {
202
+ title: t("moduleInfo.tables.shared.requiredVersion"),
203
+ dataIndex: "requiredVersion"
204
+ },
205
+ { title: t("moduleInfo.tables.shared.singleton"), dataIndex: "singleton" },
206
+ { title: t("moduleInfo.tables.shared.eager"), dataIndex: "eager" }
207
+ ];
208
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
209
+ import_web_react.Table,
210
+ {
211
+ columns,
212
+ data: dataSource,
213
+ pagination: false,
214
+ border: false,
215
+ rowKey: "key",
216
+ className: "bg-zinc-50 rounded border border-zinc-200"
217
+ }
218
+ );
219
+ };
220
+ const extractDetailSections = (moduleSnapshot) => {
221
+ if (!moduleSnapshot) {
222
+ return [];
223
+ }
224
+ const sections = [];
225
+ const remoteEntry = moduleSnapshot.remoteEntry || moduleSnapshot.entry || moduleSnapshot.version;
226
+ if (remoteEntry) {
227
+ sections.push({
228
+ key: "remoteEntry",
229
+ value: remoteEntry
230
+ });
231
+ }
232
+ if (moduleSnapshot.version) {
233
+ sections.push({
234
+ key: "version",
235
+ value: moduleSnapshot.version
236
+ });
237
+ }
238
+ if (moduleSnapshot.consumerList) {
239
+ sections.push({
240
+ key: "consumers",
241
+ value: moduleSnapshot.consumerList
242
+ });
243
+ }
244
+ if (moduleSnapshot.modules) {
245
+ sections.push({
246
+ key: "exposes",
247
+ value: moduleSnapshot.modules
248
+ });
249
+ }
250
+ if (moduleSnapshot.remotesInfo) {
251
+ sections.push({
252
+ key: "remotes",
253
+ value: moduleSnapshot.remotesInfo
254
+ });
255
+ }
256
+ if (moduleSnapshot.shared) {
257
+ sections.push({
258
+ key: "shared",
259
+ value: moduleSnapshot.shared
260
+ });
261
+ }
262
+ if (!sections.length) {
263
+ sections.push({
264
+ key: "snapshot",
265
+ value: moduleSnapshot
266
+ });
267
+ }
268
+ return sections;
269
+ };
270
+ const Home = (props) => {
271
+ const { t } = (0, import_react_i18next.useTranslation)();
272
+ const { moduleInfo, selectedModuleId, onSelectModule } = props;
273
+ const moduleEntries = (0, import_react.useMemo)(
274
+ () => Object.entries(moduleInfo || {}).filter(([key]) => key !== "extendInfos"),
275
+ [moduleInfo]
276
+ );
277
+ const [currentModuleId, currentSnapshot] = (0, import_react.useMemo)(() => {
278
+ if (!moduleEntries.length) {
279
+ return [null, null];
280
+ }
281
+ const entry = moduleEntries.find(([moduleId]) => moduleId === selectedModuleId) || moduleEntries[0];
282
+ return entry;
283
+ }, [moduleEntries, selectedModuleId]);
284
+ const detailSections = (0, import_react.useMemo)(
285
+ () => extractDetailSections(currentSnapshot),
286
+ [currentSnapshot]
287
+ );
288
+ if (!moduleEntries.length || !currentModuleId) {
289
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.emptyState, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web_react.Empty, { description: t("moduleInfo.empty.noModuleInfo") }) });
290
+ }
291
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_index.default.home, children: [
292
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
293
+ import_web_react.Select,
294
+ {
295
+ className: import_index.default.moduleSelect,
296
+ placeholder: t("moduleInfo.selector.placeholder"),
297
+ style: { width: "100%" },
298
+ allowClear: true,
299
+ showSearch: true,
300
+ autoWidth: true,
301
+ onChange: onSelectModule,
302
+ children: moduleEntries.map(([moduleId, snapshot]) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_web_react.Select.Option, { value: moduleId, children: [
303
+ snapshot && "remotesInfo" in snapshot && Object.keys(snapshot.remotesInfo).length ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web_react.Tag, { color: "pinkpurple", children: t("moduleInfo.selector.consumerTag") }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web_react.Tag, { color: "cyan", children: t("moduleInfo.selector.providerTag") }),
304
+ " ",
305
+ moduleId
306
+ ] }, moduleId))
307
+ }
308
+ ),
309
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.moduleSelector, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_index.default.moduleDetail, children: [
310
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.detailHeader, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center gap-2", children: [
311
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: import_index.default.detailTitle, children: currentModuleId }),
312
+ currentSnapshot && "remotesInfo" in currentSnapshot && Object.keys(currentSnapshot.remotesInfo).length ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web_react.Tag, { color: "pinkpurple", children: "Consumer" }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web_react.Tag, { color: "cyan", children: "Provider" })
313
+ ] }) }),
314
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.detailBody, children: detailSections.map((section) => {
315
+ let content;
316
+ switch (section.key) {
317
+ case "remotes":
318
+ content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RemotesTable, { data: section.value });
319
+ break;
320
+ case "exposes":
321
+ content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ExposesTable, { data: section.value });
322
+ break;
323
+ case "consumers":
324
+ content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ConsumersTable, { data: section.value });
325
+ break;
326
+ case "shared":
327
+ content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SharedTable, { data: section.value });
328
+ break;
329
+ default:
330
+ content = renderValue(section.value);
331
+ }
332
+ if (!content) {
333
+ return null;
334
+ }
335
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_index.default.detailRow, children: [
336
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.detailLabel, children: t(`moduleInfo.detail.${section.key}`) }),
337
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.detailValue, children: content })
338
+ ] }, section.key);
339
+ }) })
340
+ ] }) })
341
+ ] });
342
+ };
343
+ var ModuleInfo_default = Home;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var index_module_exports = {};
20
+ __export(index_module_exports, {
21
+ default: () => index_module_default
22
+ });
23
+ module.exports = __toCommonJS(index_module_exports);
24
+ var import_index_module = require("./index_module.css");
25
+ var index_module_default = { "home": "home_cde89", "moduleSelector": "moduleSelector_cde89", "moduleList": "moduleList_cde89", "moduleItem": "moduleItem_cde89", "moduleItemActive": "moduleItemActive_cde89", "moduleName": "moduleName_cde89", "moduleDetail": "moduleDetail_cde89", "detailHeader": "detailHeader_cde89", "detailTitle": "detailTitle_cde89", "detailBody": "detailBody_cde89", "detailRow": "detailRow_cde89", "detailLabel": "detailLabel_cde89", "detailValue": "detailValue_cde89", "valueText": "valueText_cde89", "pillGroup": "pillGroup_cde89", "pill": "pill_cde89", "jsonBlock": "jsonBlock_cde89", "emptyState": "emptyState_cde89" };
@@ -0,0 +1,184 @@
1
+ .home_cde89 {
2
+ display: flex;
3
+ flex-direction: column;
4
+ gap: 20px;
5
+ height: 100%;
6
+ }
7
+
8
+ .moduleSelector_cde89 {
9
+ display: flex;
10
+ gap: clamp(12px, 2vw, 20px);
11
+ flex: 1 1;
12
+ min-height: 0;
13
+ }
14
+
15
+ .moduleList_cde89 {
16
+ width: clamp(220px, 28%, 320px);
17
+ max-width: 40%;
18
+ padding: 12px;
19
+ border-radius: 16px;
20
+ border: 1px solid var(--color-border-1, rgba(96, 165, 250, 0.3));
21
+ background: var(--color-bg-2, rgba(255, 255, 255, 0.9));
22
+ display: flex;
23
+ flex-direction: column;
24
+ gap: 8px;
25
+ overflow-y: auto;
26
+ }
27
+
28
+ .moduleItem_cde89 {
29
+ border: 1px solid transparent;
30
+ border-radius: 12px;
31
+ padding: 10px 12px;
32
+ background: rgba(243, 244, 246, 0.4);
33
+ color: var(--color-text-1, #1f2937);
34
+ font-size: 13px;
35
+ text-align: left;
36
+ cursor: pointer;
37
+ transition: all 0.15s ease;
38
+ }
39
+
40
+ .moduleItem_cde89:hover {
41
+ border-color: rgba(34, 197, 94, 0.5);
42
+ background: rgba(243, 244, 246, 0.6);
43
+ }
44
+
45
+ .moduleItemActive_cde89 {
46
+ border-color: rgba(34, 197, 94, 0.6);
47
+ background: rgba(243, 244, 246, 0.8);
48
+ box-shadow: 0 10px 22px rgba(34, 197, 94, 0.2);
49
+ }
50
+
51
+ .moduleName_cde89 {
52
+ display: block;
53
+ overflow: hidden;
54
+ text-overflow: ellipsis;
55
+ white-space: nowrap;
56
+ }
57
+
58
+ .moduleDetail_cde89 {
59
+ flex: 1 1;
60
+ display: flex;
61
+ flex-direction: column;
62
+ min-height: 0;
63
+ padding: 16px 20px;
64
+ border-radius: 20px;
65
+ border: 1px solid var(--color-border-2, rgba(228, 228, 231, 0.5));
66
+ background: var(--color-bg-1, rgba(255, 255, 255, 0.9));
67
+ }
68
+
69
+ .detailHeader_cde89 {
70
+ display: flex;
71
+ justify-content: space-between;
72
+ align-items: center;
73
+ margin-bottom: 16px;
74
+ }
75
+
76
+ .detailTitle_cde89 {
77
+ font-size: 16px;
78
+ font-weight: 600;
79
+ color: var(--color-text-1, #1f2937);
80
+ word-break: break-word;
81
+ margin-right: 10px;
82
+ }
83
+
84
+ .detailBody_cde89 {
85
+ flex: 1 1;
86
+ overflow-y: auto;
87
+ display: flex;
88
+ flex-direction: column;
89
+ gap: 12px;
90
+ }
91
+
92
+ .detailRow_cde89 {
93
+ display: flex;
94
+ flex-direction: column;
95
+ gap: 6px;
96
+ padding: 12px;
97
+ border-radius: 14px;
98
+ background: rgba(243, 244, 246, 0.4);
99
+ border: 1px solid rgba(228, 228, 231, 0.5);
100
+ }
101
+
102
+ .detailLabel_cde89 {
103
+ font-size: 12px;
104
+ letter-spacing: 0.08em;
105
+ text-transform: uppercase;
106
+ color: var(--color-text-2, #4b5563);
107
+ }
108
+
109
+ .detailValue_cde89 {
110
+ font-size: 13px;
111
+ color: var(--color-text-1, #1f2937);
112
+ }
113
+
114
+ .valueText_cde89 {
115
+ word-break: break-word;
116
+ }
117
+
118
+ .pillGroup_cde89 {
119
+ display: flex;
120
+ flex-wrap: wrap;
121
+ gap: 6px;
122
+ }
123
+
124
+ .pill_cde89 {
125
+ padding: 4px 8px;
126
+ border-radius: 999px;
127
+ background: rgba(243, 244, 246, 0.4);
128
+ border: 1px solid rgba(96, 165, 250, 0.3);
129
+ font-size: 11px;
130
+ color: var(--color-text-1, #1f2937);
131
+ max-width: 100%;
132
+ text-overflow: ellipsis;
133
+ overflow: hidden;
134
+ }
135
+
136
+ .jsonBlock_cde89 {
137
+ margin: 0;
138
+ padding: 12px;
139
+ border-radius: 12px;
140
+ background: rgba(243, 244, 246, 0.4);
141
+ border: 1px solid rgba(96, 165, 250, 0.3);
142
+ font-size: 12px;
143
+ color: var(--color-text-1, #1f2937);
144
+ overflow-x: auto;
145
+ }
146
+
147
+ .emptyState_cde89 {
148
+ flex: 1 1;
149
+ display: flex;
150
+ align-items: center;
151
+ justify-content: center;
152
+ border-radius: 18px;
153
+ border: 1px dashed rgba(96, 165, 250, 0.3);
154
+ background: var(--color-bg-2, rgba(255, 255, 255, 0.9));
155
+ }
156
+
157
+ @media (max-width: 960px) {
158
+ .moduleSelector_cde89 {
159
+ flex-direction: column;
160
+ }
161
+ .moduleList_cde89 {
162
+ width: 100%;
163
+ max-width: none;
164
+ flex-direction: row;
165
+ flex-wrap: nowrap;
166
+ overflow-x: auto;
167
+ padding: 10px;
168
+ }
169
+ .moduleItem_cde89 {
170
+ min-width: 180px;
171
+ }
172
+ .moduleDetail_cde89 {
173
+ width: 100%;
174
+ padding: 14px 18px;
175
+ }
176
+ }
177
+ @media (max-width: 640px) {
178
+ .moduleItem_cde89 {
179
+ min-width: 150px;
180
+ }
181
+ .detailRow_cde89 {
182
+ padding: 10px;
183
+ }
184
+ }
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var FocusResultDisplay_exports = {};
30
+ __export(FocusResultDisplay_exports, {
31
+ default: () => FocusResultDisplay_default
32
+ });
33
+ module.exports = __toCommonJS(FocusResultDisplay_exports);
34
+ var import_jsx_runtime = require("react/jsx-runtime");
35
+ var import_web_react = require("@arco-design/web-react");
36
+ var import_react_i18next = require("react-i18next");
37
+ var import_FocusResultDisplay = __toESM(require("./FocusResultDisplay.module"));
38
+ const FocusResultDisplay = ({
39
+ focusResult,
40
+ hasData,
41
+ loadedStatusLabel
42
+ }) => {
43
+ const { t } = (0, import_react_i18next.useTranslation)();
44
+ if (focusResult) {
45
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_FocusResultDisplay.default.container, children: [
46
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_FocusResultDisplay.default.header, children: [
47
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className: import_FocusResultDisplay.default.packageInfo, children: [
48
+ focusResult.packageName,
49
+ "@",
50
+ focusResult.version
51
+ ] }),
52
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web_react.Tag, { size: "small", className: "loaded-status-tag", children: loadedStatusLabel(focusResult.status) })
53
+ ] }),
54
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_FocusResultDisplay.default.providers, children: [
55
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: import_FocusResultDisplay.default.label, children: t("sharedDeps.focusResult.providerLabel") }),
56
+ focusResult.providers.map((p) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: import_FocusResultDisplay.default.providerTag, children: p }, p))
57
+ ] })
58
+ ] });
59
+ }
60
+ if (hasData) {
61
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: import_FocusResultDisplay.default.emptyText, children: t("sharedDeps.messages.noFocusMatch") });
62
+ }
63
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: import_FocusResultDisplay.default.emptyText, children: t("sharedDeps.messages.noData") });
64
+ };
65
+ var FocusResultDisplay_default = FocusResultDisplay;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var FocusResultDisplay_module_exports = {};
20
+ __export(FocusResultDisplay_module_exports, {
21
+ default: () => FocusResultDisplay_module_default
22
+ });
23
+ module.exports = __toCommonJS(FocusResultDisplay_module_exports);
24
+ var import_FocusResultDisplay_module = require("./FocusResultDisplay_module.css");
25
+ var FocusResultDisplay_module_default = { "container": "container_ee3c9", "header": "header_ee3c9", "packageInfo": "packageInfo_ee3c9", "providers": "providers_ee3c9", "label": "label_ee3c9", "providerTag": "providerTag_ee3c9", "emptyText": "emptyText_ee3c9" };
@@ -0,0 +1,45 @@
1
+ .container_ee3c9 {
2
+ display: flex;
3
+ flex-direction: column;
4
+ gap: 4px;
5
+ }
6
+
7
+ .header_ee3c9 {
8
+ display: flex;
9
+ flex-wrap: wrap;
10
+ align-items: center;
11
+ gap: 8px;
12
+ }
13
+
14
+ .packageInfo_ee3c9 {
15
+ font-family: monospace;
16
+ font-size: 11px;
17
+ }
18
+
19
+ .providers_ee3c9 {
20
+ display: flex;
21
+ flex-wrap: wrap;
22
+ align-items: center;
23
+ gap: 4px;
24
+ font-size: 11px;
25
+ color: var(--color-text-1, #374151); /* text-zinc-700 */
26
+ }
27
+
28
+ .label_ee3c9 {
29
+ color: var(--color-text-2, #71717a); /* text-zinc-500 */
30
+ }
31
+
32
+ .providerTag_ee3c9 {
33
+ border-radius: 4px;
34
+ background-color: var(--color-bg-1, #ffffff);
35
+ padding: 2px 6px;
36
+ font-weight: 500;
37
+ color: var(--color-text-1, #27272a); /* text-zinc-800 */
38
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
39
+ }
40
+
41
+ .emptyText_ee3c9 {
42
+ font-size: 11px;
43
+ color: var(--color-text-2, #71717a); /* text-zinc-500 */
44
+ margin: 0;
45
+ }