@module-federation/devtools 0.0.0-perf-devtools-20260107043700 → 0.0.0-perf-website-code-usage-20260914033703

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 (203) hide show
  1. package/README.md +3 -0
  2. package/dist/es/App.css +6 -5
  3. package/dist/es/App.js +211 -63
  4. package/dist/es/App.module.js +1 -1
  5. package/dist/es/App_module.css +41 -39
  6. package/dist/es/component/DependencyGraph/index.js +11 -12
  7. package/dist/es/component/DependencyGraph/index_module.css +20 -17
  8. package/dist/es/component/DependencyGraphItem/index.js +23 -10
  9. package/dist/es/component/DependencyGraphItem/index_module.css +7 -7
  10. package/dist/es/component/Form/index.js +24 -31
  11. package/dist/es/component/Form/index.module.js +1 -1
  12. package/dist/es/component/Form/index_module.css +22 -25
  13. package/dist/es/component/LanguageSwitch.js +50 -0
  14. package/dist/es/component/Layout/index.js +27 -10
  15. package/dist/es/component/Layout/index_module.css +7 -7
  16. package/dist/es/component/LoadingTrace/index.js +944 -0
  17. package/dist/es/component/LoadingTrace/index.module.js +5 -0
  18. package/dist/es/component/LoadingTrace/index_module.css +876 -0
  19. package/dist/es/component/ModuleInfo/index.js +65 -41
  20. package/dist/es/component/ModuleInfo/index_module.css +12 -11
  21. package/dist/es/component/SharedDepsExplorer/FocusResultDisplay.js +5 -3
  22. package/dist/es/component/SharedDepsExplorer/FocusResultDisplay_module.css +5 -5
  23. package/dist/es/component/SharedDepsExplorer/index.js +223 -96
  24. package/dist/es/component/SharedDepsExplorer/index_module.css +12 -2
  25. package/dist/es/component/SharedDepsExplorer/share-utils.js +21 -5
  26. package/dist/es/component/ThemeToggle.js +19 -0
  27. package/dist/es/component/ThemeToggle.module.js +5 -0
  28. package/dist/es/component/ThemeToggle_module.css +12 -0
  29. package/dist/es/hooks/useDevtoolsTheme.js +77 -0
  30. package/dist/es/i18n/index.js +688 -0
  31. package/dist/es/utils/chrome/fast-refresh.js +297 -173
  32. package/dist/es/utils/chrome/index.js +42 -22
  33. package/dist/es/utils/chrome/messages.js +7 -1
  34. package/dist/es/utils/chrome/observability-plugin.js +93 -0
  35. package/dist/es/utils/chrome/observability-shared.js +99 -0
  36. package/dist/es/utils/chrome/observability.js +208 -0
  37. package/dist/es/utils/chrome/override-remote.js +7 -0
  38. package/dist/es/utils/chrome/post-message-listener.js +22 -4
  39. package/dist/es/utils/chrome/post-message-start.js +4 -10
  40. package/dist/es/utils/chrome/post-message.js +12 -3
  41. package/dist/es/utils/chrome/resolve-basic-proxy-core.js +4 -0
  42. package/dist/es/utils/chrome/safe-post-message.js +124 -0
  43. package/dist/es/utils/chrome/snapshot-plugin.js +2 -36
  44. package/dist/es/utils/data/index.js +5 -25
  45. package/dist/es/utils/sdk/graph.js +25 -11
  46. package/dist/es/vendor/basic-proxy-core.js +155 -0
  47. package/dist/es/worker/index.js +27 -8
  48. package/dist/lib/App.css +6 -5
  49. package/dist/lib/App.js +208 -64
  50. package/dist/lib/App.module.js +1 -2
  51. package/dist/lib/App_module.css +41 -39
  52. package/dist/lib/component/DependencyGraph/index.js +11 -13
  53. package/dist/lib/component/DependencyGraph/index.module.js +0 -1
  54. package/dist/lib/component/DependencyGraph/index_module.css +20 -17
  55. package/dist/lib/component/DependencyGraphItem/index.js +23 -11
  56. package/dist/lib/component/DependencyGraphItem/index.module.js +0 -1
  57. package/dist/lib/component/DependencyGraphItem/index_module.css +7 -7
  58. package/dist/lib/component/Form/index.js +24 -32
  59. package/dist/lib/component/Form/index.module.js +1 -2
  60. package/dist/lib/component/Form/index_module.css +22 -25
  61. package/dist/lib/component/LanguageSwitch.js +79 -0
  62. package/dist/lib/component/Layout/index.js +27 -11
  63. package/dist/lib/component/Layout/index.module.js +0 -1
  64. package/dist/lib/component/Layout/index_module.css +7 -7
  65. package/dist/lib/component/LoadingTrace/index.js +953 -0
  66. package/dist/lib/component/LoadingTrace/index.module.js +24 -0
  67. package/dist/lib/component/LoadingTrace/index_module.css +876 -0
  68. package/dist/lib/component/ModuleInfo/index.js +65 -42
  69. package/dist/lib/component/ModuleInfo/index.module.js +0 -1
  70. package/dist/lib/component/ModuleInfo/index_module.css +12 -11
  71. package/dist/lib/component/SharedDepsExplorer/FocusResultDisplay.js +5 -4
  72. package/dist/lib/component/SharedDepsExplorer/FocusResultDisplay.module.js +0 -1
  73. package/dist/lib/component/SharedDepsExplorer/FocusResultDisplay_module.css +5 -5
  74. package/dist/lib/component/SharedDepsExplorer/index.js +217 -95
  75. package/dist/lib/component/SharedDepsExplorer/index.module.js +0 -1
  76. package/dist/lib/component/SharedDepsExplorer/index_module.css +12 -2
  77. package/dist/lib/component/SharedDepsExplorer/share-utils.js +21 -6
  78. package/dist/lib/component/ThemeToggle.js +48 -0
  79. package/dist/lib/component/ThemeToggle.module.js +24 -0
  80. package/dist/lib/component/ThemeToggle_module.css +12 -0
  81. package/dist/lib/hooks/useDevtoolsTheme.js +100 -0
  82. package/dist/lib/i18n/index.js +721 -0
  83. package/dist/lib/init.js +0 -1
  84. package/dist/lib/template/constant.js +0 -1
  85. package/dist/lib/template/index.js +0 -1
  86. package/dist/lib/utils/chrome/fast-refresh.js +250 -136
  87. package/dist/lib/utils/chrome/index.js +43 -23
  88. package/dist/lib/utils/chrome/messages.js +11 -3
  89. package/dist/lib/utils/chrome/observability-plugin.js +85 -0
  90. package/dist/lib/utils/chrome/observability-shared.js +125 -0
  91. package/dist/lib/utils/chrome/observability.js +233 -0
  92. package/dist/lib/utils/chrome/override-remote.js +20 -0
  93. package/dist/lib/utils/chrome/post-message-init.js +0 -1
  94. package/dist/lib/utils/chrome/post-message-listener.js +19 -5
  95. package/dist/lib/utils/chrome/post-message-start.js +4 -11
  96. package/dist/lib/utils/chrome/post-message.js +12 -4
  97. package/dist/lib/utils/chrome/resolve-basic-proxy-core.js +27 -0
  98. package/dist/lib/utils/chrome/safe-post-message.js +147 -0
  99. package/dist/lib/utils/chrome/snapshot-plugin.js +5 -47
  100. package/dist/lib/utils/chrome/storage.js +0 -1
  101. package/dist/lib/utils/data/index.js +6 -29
  102. package/dist/lib/utils/index.js +0 -1
  103. package/dist/lib/utils/sdk/graph.js +25 -12
  104. package/dist/lib/utils/sdk/index.js +0 -1
  105. package/dist/lib/utils/types/common.js +0 -1
  106. package/dist/lib/utils/types/index.js +0 -1
  107. package/dist/lib/vendor/basic-proxy-core.js +147 -0
  108. package/dist/lib/worker/index.js +27 -9
  109. package/dist/types/App.css +13 -0
  110. package/dist/types/App.js +519 -0
  111. package/dist/types/App.module.js +24 -0
  112. package/dist/types/App_module.css +307 -0
  113. package/dist/types/component/DependencyGraph/index.js +225 -0
  114. package/dist/types/component/DependencyGraph/index.module.js +24 -0
  115. package/dist/types/component/DependencyGraph/index_module.css +100 -0
  116. package/dist/types/component/DependencyGraphItem/index.js +124 -0
  117. package/dist/types/component/DependencyGraphItem/index.module.js +24 -0
  118. package/dist/types/component/DependencyGraphItem/index_module.css +95 -0
  119. package/dist/types/component/Form/index.js +372 -0
  120. package/dist/types/component/Form/index.module.js +24 -0
  121. package/dist/types/component/Form/index_module.css +198 -0
  122. package/dist/types/component/LanguageSwitch.js +79 -0
  123. package/dist/types/component/Layout/index.js +471 -0
  124. package/dist/types/component/Layout/index.module.js +24 -0
  125. package/dist/types/component/Layout/index_module.css +68 -0
  126. package/dist/types/component/LoadingTrace/index.js +953 -0
  127. package/dist/types/component/LoadingTrace/index.module.js +24 -0
  128. package/dist/types/component/LoadingTrace/index_module.css +876 -0
  129. package/dist/types/component/ModuleInfo/index.js +342 -0
  130. package/dist/types/component/ModuleInfo/index.module.js +24 -0
  131. package/dist/types/component/ModuleInfo/index_module.css +184 -0
  132. package/dist/types/component/SharedDepsExplorer/FocusResultDisplay.js +64 -0
  133. package/dist/types/component/SharedDepsExplorer/FocusResultDisplay.module.js +24 -0
  134. package/dist/types/component/SharedDepsExplorer/FocusResultDisplay_module.css +45 -0
  135. package/dist/types/component/SharedDepsExplorer/index.js +635 -0
  136. package/dist/types/component/SharedDepsExplorer/index.module.js +24 -0
  137. package/dist/types/component/SharedDepsExplorer/index_module.css +467 -0
  138. package/dist/types/component/SharedDepsExplorer/share-utils.js +252 -0
  139. package/dist/types/component/ThemeToggle.js +48 -0
  140. package/dist/types/component/ThemeToggle.module.js +24 -0
  141. package/dist/types/component/ThemeToggle_module.css +12 -0
  142. package/dist/types/hooks/useDevtoolsTheme.js +100 -0
  143. package/dist/types/i18n/index.js +721 -0
  144. package/dist/types/init.js +8 -0
  145. package/dist/types/src/App.d.ts +1 -1
  146. package/dist/types/src/component/DependencyGraph/index.d.ts +1 -1
  147. package/dist/types/src/component/DependencyGraphItem/index.d.ts +1 -1
  148. package/dist/types/src/component/Form/index.d.ts +1 -1
  149. package/dist/types/src/component/LanguageSwitch.d.ts +2 -0
  150. package/dist/types/src/component/Layout/index.d.ts +1 -1
  151. package/dist/types/src/component/LoadingTrace/index.d.ts +6 -0
  152. package/dist/types/src/component/ModuleInfo/index.d.ts +1 -1
  153. package/dist/types/src/component/SharedDepsExplorer/index.d.ts +1 -1
  154. package/dist/types/src/component/SharedDepsExplorer/share-utils.d.ts +3 -2
  155. package/dist/types/src/component/ThemeToggle.d.ts +8 -0
  156. package/dist/types/src/hooks/useDevtoolsTheme.d.ts +2 -0
  157. package/dist/types/src/i18n/index.d.ts +5 -0
  158. package/dist/types/src/template/constant.d.ts +1 -1
  159. package/dist/types/src/utils/chrome/index.d.ts +2 -1
  160. package/dist/types/src/utils/chrome/messages.d.ts +3 -0
  161. package/dist/types/src/utils/chrome/observability-plugin.d.ts +1 -0
  162. package/dist/types/src/utils/chrome/observability-shared.d.ts +41 -0
  163. package/dist/types/src/utils/chrome/observability.d.ts +110 -0
  164. package/dist/types/src/utils/chrome/override-remote.d.ts +1 -0
  165. package/dist/types/src/utils/chrome/post-message-listener.d.ts +1 -0
  166. package/dist/types/src/utils/chrome/post-message-start.d.ts +1 -1
  167. package/dist/types/src/utils/chrome/resolve-basic-proxy-core.d.ts +6 -0
  168. package/dist/types/src/utils/chrome/safe-post-message.d.ts +1 -0
  169. package/dist/types/src/utils/chrome/snapshot-plugin.d.ts +0 -3
  170. package/dist/types/src/utils/data/index.d.ts +1 -2
  171. package/dist/types/src/utils/sdk/graph.d.ts +1 -1
  172. package/dist/types/src/utils/sdk/index.d.ts +2 -2
  173. package/dist/types/stories/index.stories.d.ts +2 -1
  174. package/dist/types/template/constant.js +84 -0
  175. package/dist/types/template/index.js +21 -0
  176. package/dist/types/utils/chrome/fast-refresh.js +329 -0
  177. package/dist/types/utils/chrome/index.js +321 -0
  178. package/dist/types/utils/chrome/messages.js +39 -0
  179. package/dist/types/utils/chrome/observability-plugin.js +85 -0
  180. package/dist/types/utils/chrome/observability-shared.js +125 -0
  181. package/dist/types/utils/chrome/observability.js +233 -0
  182. package/dist/types/utils/chrome/override-remote.js +20 -0
  183. package/dist/types/utils/chrome/post-message-init.js +5 -0
  184. package/dist/types/utils/chrome/post-message-listener.js +36 -0
  185. package/dist/types/utils/chrome/post-message-start.js +10 -0
  186. package/dist/types/utils/chrome/post-message.js +91 -0
  187. package/dist/types/utils/chrome/resolve-basic-proxy-core.js +27 -0
  188. package/dist/types/utils/chrome/safe-post-message.js +147 -0
  189. package/dist/types/utils/chrome/snapshot-plugin.js +17 -0
  190. package/dist/types/utils/chrome/storage.js +71 -0
  191. package/dist/types/utils/data/index.js +83 -0
  192. package/dist/types/utils/index.js +27 -0
  193. package/dist/types/utils/sdk/graph.js +213 -0
  194. package/dist/types/utils/sdk/index.js +104 -0
  195. package/dist/types/utils/types/common.js +15 -0
  196. package/dist/types/utils/types/index.js +21 -0
  197. package/dist/types/vendor/basic-proxy-core.js +147 -0
  198. package/dist/types/worker/index.js +175 -0
  199. package/install-deps.bash +7 -3
  200. package/package.json +47 -28
  201. package/dist/es/utils/data/snapshot.js +0 -82
  202. package/dist/lib/utils/data/snapshot.js +0 -107
  203. package/dist/types/src/utils/data/snapshot.d.ts +0 -3
@@ -1,10 +1,38 @@
1
- "use strict";
2
1
  var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
5
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
8
  var __getProtoOf = Object.getPrototypeOf;
7
9
  var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
+ var __spreadValues = (a, b) => {
13
+ for (var prop in b || (b = {}))
14
+ if (__hasOwnProp.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ if (__getOwnPropSymbols)
17
+ for (var prop of __getOwnPropSymbols(b)) {
18
+ if (__propIsEnum.call(b, prop))
19
+ __defNormalProp(a, prop, b[prop]);
20
+ }
21
+ return a;
22
+ };
23
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
+ var __objRest = (source, exclude) => {
25
+ var target = {};
26
+ for (var prop in source)
27
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
28
+ target[prop] = source[prop];
29
+ if (source != null && __getOwnPropSymbols)
30
+ for (var prop of __getOwnPropSymbols(source)) {
31
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
32
+ target[prop] = source[prop];
33
+ }
34
+ return target;
35
+ };
8
36
  var __export = (target, all) => {
9
37
  for (var name in all)
10
38
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -55,28 +83,41 @@ var import_jsx_runtime = require("react/jsx-runtime");
55
83
  var import_react = require("react");
56
84
  var import_lucide_react = require("lucide-react");
57
85
  var import_web_react = require("@arco-design/web-react");
86
+ var import_react_i18next = require("react-i18next");
58
87
  var import_share_utils = require("./share-utils");
59
88
  var import_FocusResultDisplay = __toESM(require("./FocusResultDisplay"));
60
89
  var import_index = __toESM(require("./index.module"));
61
90
  const ALL_VALUE = "__all__";
62
- function loadedStatusLabel(status) {
63
- if (status === "loaded") {
64
- return "Loaded";
65
- }
66
- if (status === "loading") {
67
- return "Loading";
68
- }
69
- return "Not Loaded";
91
+ function HoverTag(_a) {
92
+ var _b = _a, { tooltip, children } = _b, tagProps = __objRest(_b, ["tooltip", "children"]);
93
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web_react.Popover, { trigger: "hover", position: "top", content: tooltip != null ? tooltip : children, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web_react.Tag, __spreadProps(__spreadValues({}, tagProps), { children })) });
70
94
  }
71
95
  function SharedDepsExplorer({
72
96
  shareData: shareDataProp
73
97
  }) {
98
+ const { t } = (0, import_react_i18next.useTranslation)();
74
99
  const [normalized, setNormalized] = (0, import_react.useState)([]);
75
100
  const [loadingState, setLoadingState] = (0, import_react.useState)("idle");
76
101
  const [errorMessage, setErrorMessage] = (0, import_react.useState)(null);
102
+ const loadedStatusLabelLocal = (status) => {
103
+ if (status === "loaded") {
104
+ return t("sharedDeps.status.loaded");
105
+ }
106
+ if (status === "loading") {
107
+ return t("sharedDeps.status.loading");
108
+ }
109
+ if (status === "t-loaded") {
110
+ return t("sharedDeps.status.tLoaded");
111
+ }
112
+ if (status === "t-loading") {
113
+ return t("sharedDeps.status.tLoading");
114
+ }
115
+ return t("sharedDeps.status.notLoaded");
116
+ };
77
117
  const [selectedProvider, setSelectedProvider] = (0, import_react.useState)("");
78
118
  const [selectedPackage, setSelectedPackage] = (0, import_react.useState)("");
79
119
  const [selectedVersion, setSelectedVersion] = (0, import_react.useState)("");
120
+ const [selectedMode, setSelectedMode] = (0, import_react.useState)("");
80
121
  const [searchText, setSearchText] = (0, import_react.useState)("");
81
122
  const [chartScope, setChartScope] = (0, import_react.useState)("default");
82
123
  const [focusPackage, setFocusPackage] = (0, import_react.useState)("react");
@@ -135,6 +176,9 @@ function SharedDepsExplorer({
135
176
  if (selectedVersion && v.version !== selectedVersion) {
136
177
  return false;
137
178
  }
179
+ if (selectedMode && v.treeShakingMode !== selectedMode) {
180
+ return false;
181
+ }
138
182
  if (keyword && !v.packageName.toLowerCase().includes(keyword)) {
139
183
  return false;
140
184
  }
@@ -145,6 +189,7 @@ function SharedDepsExplorer({
145
189
  selectedProvider,
146
190
  selectedPackage,
147
191
  selectedVersion,
192
+ selectedMode,
148
193
  searchText
149
194
  ]);
150
195
  const tree = (0, import_react.useMemo)(
@@ -163,6 +208,18 @@ function SharedDepsExplorer({
163
208
  });
164
209
  return Array.from(set).sort();
165
210
  }, [normalized, selectedPackage]);
211
+ const modesForSelectedPackage = (0, import_react.useMemo)(() => {
212
+ if (!selectedPackage) {
213
+ return [];
214
+ }
215
+ const set = /* @__PURE__ */ new Set();
216
+ normalized.forEach((v) => {
217
+ if (v.packageName === selectedPackage && v.treeShakingMode) {
218
+ set.add(v.treeShakingMode);
219
+ }
220
+ });
221
+ return Array.from(set).sort();
222
+ }, [normalized, selectedPackage]);
166
223
  const focusVersionsForPackage = (0, import_react.useMemo)(() => {
167
224
  if (!focusPackage) {
168
225
  return [];
@@ -188,7 +245,7 @@ function SharedDepsExplorer({
188
245
  const hasData = normalized.length > 0;
189
246
  const columns = [
190
247
  {
191
- title: "Package / Version",
248
+ title: t("sharedDeps.table.columns.packageVersion"),
192
249
  width: "28%",
193
250
  render: (_, item) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_index.default.cellCol, children: [
194
251
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.packageName, children: item.packageName }),
@@ -199,44 +256,74 @@ function SharedDepsExplorer({
199
256
  ] })
200
257
  },
201
258
  {
202
- title: "Provider / Scope",
259
+ title: t("sharedDeps.table.columns.providerScope"),
203
260
  width: "20%",
204
261
  render: (_, item) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_index.default.cellColGap, children: [
205
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className: import_index.default.truncate, title: item.from, children: [
206
- "Provider: ",
207
- item.from
208
- ] }),
209
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className: import_index.default.scopeText, children: [
210
- "scope: ",
211
- item.scope
212
- ] })
262
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: import_index.default.truncate, title: item.from, children: t("sharedDeps.table.providerPrefix", { name: item.from }) }),
263
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: import_index.default.scopeText, children: t("sharedDeps.table.scopePrefix", { scope: item.scope }) })
213
264
  ] })
214
265
  },
215
266
  {
216
- title: "Status",
267
+ title: t("sharedDeps.table.columns.status"),
217
268
  width: "22%",
218
269
  render: (_, item) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_index.default.cellColGap, children: [
219
- ["loaded", "loading"].includes(item.loadedStatus) ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
220
- import_web_react.Tag,
270
+ ["loaded", "loading", "t-loaded", "t-loading"].includes(
271
+ item.loadedStatus
272
+ ) ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
273
+ HoverTag,
221
274
  {
222
275
  size: "small",
223
276
  className: `${import_index.default.tagContainer} loaded-status-tag`,
224
- children: loadedStatusLabel(item.loadedStatus)
277
+ tooltip: loadedStatusLabelLocal(item.loadedStatus),
278
+ children: loadedStatusLabelLocal(item.loadedStatus)
279
+ }
280
+ ) : null,
281
+ item.treeShakingMode ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
282
+ HoverTag,
283
+ {
284
+ size: "small",
285
+ className: import_index.default.tagContainer,
286
+ tooltip: item.treeShakingMode,
287
+ children: item.treeShakingMode
225
288
  }
226
289
  ) : null,
227
290
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_index.default.configTags, children: [
228
- item.shareConfig.singleton && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web_react.Tag, { size: "small", className: import_index.default.scale90, children: "singleton" }),
229
- item.shareConfig.eager && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web_react.Tag, { size: "small", className: import_index.default.scale90, children: "eager" }),
230
- item.shareConfig.strictVersion && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web_react.Tag, { size: "small", className: import_index.default.scale90, children: "strictVersion" }),
231
- item.shareConfig.requiredVersion && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_web_react.Tag, { size: "small", className: import_index.default.scale90, children: [
232
- "req: ",
233
- item.shareConfig.requiredVersion
234
- ] })
291
+ item.shareConfig.singleton && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
292
+ HoverTag,
293
+ {
294
+ size: "small",
295
+ className: import_index.default.scale90,
296
+ tooltip: "singleton",
297
+ children: "singleton"
298
+ }
299
+ ),
300
+ item.shareConfig.eager && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(HoverTag, { size: "small", className: import_index.default.scale90, tooltip: "eager", children: "eager" }),
301
+ item.shareConfig.strictVersion && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
302
+ HoverTag,
303
+ {
304
+ size: "small",
305
+ className: import_index.default.scale90,
306
+ tooltip: "strictVersion",
307
+ children: "strictVersion"
308
+ }
309
+ ),
310
+ item.shareConfig.requiredVersion && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
311
+ HoverTag,
312
+ {
313
+ size: "small",
314
+ className: import_index.default.scale90,
315
+ tooltip: `requiredVersion: ${item.shareConfig.requiredVersion}`,
316
+ children: [
317
+ "requiredVersion: ",
318
+ item.shareConfig.requiredVersion
319
+ ]
320
+ }
321
+ )
235
322
  ] })
236
323
  ] })
237
324
  },
238
325
  {
239
- title: "Consumers",
326
+ title: t("sharedDeps.table.columns.consumers"),
240
327
  width: "18%",
241
328
  render: (_, item) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
242
329
  import_web_react.Popover,
@@ -244,86 +331,98 @@ function SharedDepsExplorer({
244
331
  trigger: "click",
245
332
  position: "right",
246
333
  content: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_index.default.popoverContent, children: [
247
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.popoverTitle, children: "Consumer List" }),
248
- item.useIn.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: import_index.default.scopeText, children: "No applications are consuming this shared dependency version." }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("ul", { className: import_index.default.consumerList, children: item.useIn.map((c) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("li", { className: import_index.default.consumerItem, children: [
334
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.popoverTitle, children: t("sharedDeps.consumersPopover.title") }),
335
+ item.useIn.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: import_index.default.scopeText, children: t("sharedDeps.consumersPopover.empty") }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("ul", { className: import_index.default.consumerList, children: item.useIn.map((c) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("li", { className: import_index.default.consumerItem, children: [
249
336
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: import_index.default.dot }),
250
337
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: import_index.default.packageName, children: c })
251
338
  ] }, c)) })
252
339
  ] }),
253
340
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web_react.Button, { size: "mini", type: "secondary", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_index.default.btnContent, children: [
254
341
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Network, { className: import_index.default.mr1, size: 12 }),
255
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [
256
- item.useIn.length || 0,
257
- " Apps"
258
- ] })
342
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: t("sharedDeps.consumersPopover.button", {
343
+ count: item.useIn.length || 0
344
+ }) })
259
345
  ] }) })
260
346
  }
261
347
  )
262
348
  },
263
349
  {
264
- title: "Strategy",
350
+ title: t("sharedDeps.table.columns.strategy"),
265
351
  width: "12%",
266
352
  render: (_, item) => {
267
353
  var _a;
268
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web_react.Tag, { size: "small", color: "gray", children: (_a = item.strategy) != null ? _a : "-" });
354
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(HoverTag, { size: "small", color: "gray", children: (_a = item.strategy) != null ? _a : t("sharedDeps.table.strategyFallback") });
269
355
  }
270
356
  }
271
357
  ];
272
358
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_index.default.container, children: [
273
359
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("section", { className: import_index.default.heroSection, children: [
274
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: import_index.default.heroSubtitle, children: "Module Federation · Shared Dependencies" }),
275
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h1", { className: import_index.default.heroTitle, children: "Overview of Shared Dependencies Usage" })
360
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: import_index.default.heroSubtitle, children: t("sharedDeps.hero.subtitle") }),
361
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h1", { className: import_index.default.heroTitle, children: t("sharedDeps.hero.title") })
276
362
  ] }),
277
363
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("section", { children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_index.default.statsGrid, children: [
278
364
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_web_react.Card, { className: import_index.default.cardWithPadding, children: [
279
365
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.cardHeader, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_index.default.statSpace, children: [
280
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.statLabel, children: "Number of Providers" }),
366
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.statLabel, children: t("sharedDeps.stats.providers.title") }),
281
367
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_index.default.statValue, children: [
282
368
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Server, { className: import_index.default.icon }),
283
369
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: stats.totalProviders })
284
370
  ] })
285
371
  ] }) }),
286
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: import_index.default.statDescription, children: "Number of applications/build versions exposing shared dependencies." })
372
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: import_index.default.statDescription, children: t("sharedDeps.stats.providers.description") })
287
373
  ] }),
288
374
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_web_react.Card, { className: import_index.default.cardWithPadding, children: [
289
375
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.cardHeader, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_index.default.statSpace, children: [
290
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.statLabel, children: "Share Scope / Package" }),
376
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.statLabel, children: t("sharedDeps.stats.scopes.title") }),
291
377
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_index.default.statValue, children: [
292
378
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Layers, { className: import_index.default.icon }),
293
379
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: stats.totalScopes }),
294
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: import_index.default.statSubtext, children: "scope" })
380
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: import_index.default.statSubtext, children: t("sharedDeps.stats.scopes.badge") })
295
381
  ] })
296
382
  ] }) }),
297
383
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_index.default.cardFooter, children: [
298
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: `${import_index.default.truncate} ${import_index.default.mr2}`, children: "Shared spaces under Scope dimension." }),
384
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: `${import_index.default.truncate} ${import_index.default.mr2}`, children: t("sharedDeps.stats.scopes.description") }),
299
385
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className: import_index.default.badgeGroup, children: [
300
386
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Box, { className: import_index.default.iconSmall }),
301
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [
302
- stats.totalPackages,
303
- " packages"
304
- ] })
387
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: t("sharedDeps.stats.scopes.packagesBadge", {
388
+ count: stats.totalPackages
389
+ }) })
305
390
  ] })
306
391
  ] })
307
392
  ] }),
308
393
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_web_react.Card, { className: import_index.default.cardWithPadding, children: [
309
394
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.cardHeader, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_index.default.statSpace, children: [
310
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.statLabel, children: "Version Loading & Reuse" }),
395
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.statLabel, children: t("sharedDeps.stats.versions.title") }),
311
396
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_index.default.statValue, children: [
312
397
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Package2, { className: import_index.default.icon }),
313
398
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: stats.totalVersions })
314
399
  ] })
315
400
  ] }) }),
316
401
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.statusTags, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_index.default.tagRow, children: [
317
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web_react.Tag, { className: `${import_index.default.tagContent} loaded-status-tag`, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_index.default.tagContent, children: [
318
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Network, { className: `${import_index.default.iconSmall} ${import_index.default.mr1}` }),
319
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "Loaded" }),
320
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: import_index.default.tagValue, children: stats.loadedCount })
321
- ] }) }),
322
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web_react.Tag, { className: `${import_index.default.tagContent} reused-status-tag`, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_index.default.tagContent, children: [
323
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Repeat, { className: `${import_index.default.iconSmall} ${import_index.default.mr1}` }),
324
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "Reused" }),
325
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: import_index.default.tagValue, children: stats.reusedCount })
326
- ] }) })
402
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
403
+ HoverTag,
404
+ {
405
+ className: `${import_index.default.tagContent} loaded-status-tag`,
406
+ tooltip: `Loaded: ${stats.loadedCount}`,
407
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_index.default.tagContent, children: [
408
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Network, { className: `${import_index.default.iconSmall} ${import_index.default.mr1}` }),
409
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: t("sharedDeps.stats.versions.loadedLabel") }),
410
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: import_index.default.tagValue, children: stats.loadedCount })
411
+ ] })
412
+ }
413
+ ),
414
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
415
+ HoverTag,
416
+ {
417
+ className: `${import_index.default.tagContent} reused-status-tag`,
418
+ tooltip: `Reused: ${stats.reusedCount}`,
419
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_index.default.tagContent, children: [
420
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Repeat, { className: `${import_index.default.iconSmall} ${import_index.default.mr1}` }),
421
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: t("sharedDeps.stats.versions.reusedLabel") }) }),
422
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: import_index.default.tagValue, children: stats.reusedCount })
423
+ ] })
424
+ }
425
+ )
327
426
  ] }) })
328
427
  ] })
329
428
  ] }) }),
@@ -333,14 +432,12 @@ function SharedDepsExplorer({
333
432
  className: import_index.default.card,
334
433
  title: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_index.default.cardTitle, children: [
335
434
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Box, { className: import_index.default.iconMedium }),
336
- "Who provides the current shared: '",
337
- focusPackage,
338
- "'?"
435
+ t("sharedDeps.focusPanel.title", { package: focusPackage })
339
436
  ] }),
340
437
  children: [
341
438
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_index.default.controlsGrid, children: [
342
439
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_index.default.inputGroup, children: [
343
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.inputLabel, children: "Package Name" }),
440
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.inputLabel, children: t("sharedDeps.focusPanel.packageLabel") }),
344
441
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
345
442
  import_web_react.Select,
346
443
  {
@@ -350,24 +447,24 @@ function SharedDepsExplorer({
350
447
  setFocusPackage(value);
351
448
  setFocusVersion("");
352
449
  },
353
- placeholder: "Select Shared Dependency Package Name",
450
+ placeholder: t("sharedDeps.focusPanel.packagePlaceholder"),
354
451
  className: import_index.default.fullWidth,
355
452
  children: filterOptions.packages.map((name) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web_react.Select.Option, { value: name, children: name }, name))
356
453
  }
357
454
  )
358
455
  ] }),
359
456
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_index.default.inputGroup, children: [
360
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.inputLabel, children: "Version (Optional, inferred if empty)" }),
457
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.inputLabel, children: t("sharedDeps.focusPanel.versionLabel") }),
361
458
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
362
459
  import_web_react.Select,
363
460
  {
364
461
  showSearch: true,
365
462
  value: focusVersion || ALL_VALUE,
366
463
  onChange: (value) => setFocusVersion(value === ALL_VALUE ? "" : value),
367
- placeholder: "All Versions",
464
+ placeholder: t("sharedDeps.focusPanel.versionPlaceholder"),
368
465
  className: import_index.default.fullWidth,
369
466
  children: [
370
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web_react.Select.Option, { value: ALL_VALUE, children: "All Versions" }),
467
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web_react.Select.Option, { value: ALL_VALUE, children: t("sharedDeps.focusPanel.versionAllOption") }),
371
468
  focusVersionsForPackage.map((v) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web_react.Select.Option, { value: v, children: v }, v))
372
469
  ]
373
470
  }
@@ -379,7 +476,7 @@ function SharedDepsExplorer({
379
476
  {
380
477
  focusResult,
381
478
  hasData,
382
- loadedStatusLabel
479
+ loadedStatusLabel: loadedStatusLabelLocal
383
480
  }
384
481
  ) })
385
482
  ]
@@ -391,18 +488,18 @@ function SharedDepsExplorer({
391
488
  className: import_index.default.card,
392
489
  title: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_index.default.cardTitle, children: [
393
490
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Search, { className: import_index.default.iconMedium }),
394
- "Filter / Search"
491
+ t("sharedDeps.filters.cardTitle")
395
492
  ] }),
396
493
  children: [
397
494
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_index.default.filterGrid, children: [
398
495
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: `${import_index.default.inputGroup} ${import_index.default.padding2}`, children: [
399
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.inputLabel, children: "Provider" }),
496
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.inputLabel, children: t("sharedDeps.filters.providerLabel") }),
400
497
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
401
498
  import_web_react.Select,
402
499
  {
403
500
  value: selectedProvider || void 0,
404
501
  onChange: (value) => setSelectedProvider(value === ALL_VALUE ? "" : value),
405
- placeholder: "All Providers",
502
+ placeholder: t("sharedDeps.filters.providerPlaceholder"),
406
503
  className: import_index.default.fullWidth,
407
504
  allowClear: true,
408
505
  children: filterOptions.providers.map((p) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web_react.Select.Option, { value: p, children: p }, p))
@@ -410,13 +507,13 @@ function SharedDepsExplorer({
410
507
  )
411
508
  ] }),
412
509
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: `${import_index.default.inputGroup} ${import_index.default.padding2}`, children: [
413
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.inputLabel, children: "Package Name" }),
510
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.inputLabel, children: t("sharedDeps.filters.packageLabel") }),
414
511
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
415
512
  import_web_react.Select,
416
513
  {
417
514
  value: selectedPackage || void 0,
418
515
  onChange: (value) => setSelectedPackage(value === ALL_VALUE ? "" : value),
419
- placeholder: "All Packages",
516
+ placeholder: t("sharedDeps.filters.packagePlaceholder"),
420
517
  className: import_index.default.fullWidth,
421
518
  allowClear: true,
422
519
  children: filterOptions.packages.map((name) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web_react.Select.Option, { value: name, children: name }, name))
@@ -424,47 +521,74 @@ function SharedDepsExplorer({
424
521
  )
425
522
  ] }),
426
523
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: `${import_index.default.inputGroup} ${import_index.default.padding2}`, children: [
427
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.inputLabel, children: "Version" }),
524
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.inputLabel, children: t("sharedDeps.filters.versionLabel") }),
428
525
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
429
526
  import_web_react.Select,
430
527
  {
431
528
  value: selectedVersion || void 0,
432
529
  onChange: (value) => setSelectedVersion(value === ALL_VALUE ? "" : value),
433
- placeholder: "All Versions",
530
+ placeholder: t("sharedDeps.filters.versionPlaceholder"),
434
531
  className: import_index.default.fullWidth,
435
532
  disabled: !selectedPackage,
436
533
  allowClear: true,
437
534
  children: versionsForSelectedPackage.map((v) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web_react.Select.Option, { value: v, children: v }, v))
438
535
  }
439
536
  )
537
+ ] }),
538
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: `${import_index.default.inputGroup} ${import_index.default.padding2}`, children: [
539
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
540
+ "div",
541
+ {
542
+ className: import_index.default.inputLabel,
543
+ style: { display: "flex", alignItems: "center", gap: 4 },
544
+ children: [
545
+ "Mode",
546
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web_react.Tooltip, { content: "Shared Tree Shaking Mode, options: server-calc | runtime-infer", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
547
+ import_lucide_react.Info,
548
+ {
549
+ size: 14,
550
+ style: { cursor: "help", color: "#86909c" }
551
+ }
552
+ ) })
553
+ ]
554
+ }
555
+ ),
556
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
557
+ import_web_react.Select,
558
+ {
559
+ value: selectedMode || void 0,
560
+ onChange: (value) => setSelectedMode(value === ALL_VALUE ? "" : value),
561
+ placeholder: "All Modes",
562
+ className: import_index.default.fullWidth,
563
+ disabled: !selectedPackage || modesForSelectedPackage.length === 0,
564
+ allowClear: true,
565
+ children: modesForSelectedPackage.map((v) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web_react.Select.Option, { value: v, children: v }, v))
566
+ }
567
+ )
440
568
  ] })
441
569
  ] }),
442
570
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_index.default.searchGrid, children: [
443
571
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_index.default.inputGroup, children: [
444
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.inputLabel, children: "Package Name Keyword (Fuzzy Match)" }),
572
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.inputLabel, children: t("sharedDeps.filters.keywordLabel") }),
445
573
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
446
574
  import_web_react.Input,
447
575
  {
448
576
  prefix: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Search, { className: import_index.default.iconMedium }),
449
577
  className: import_index.default.searchInput,
450
- placeholder: "e.g., react / axios",
578
+ placeholder: t("sharedDeps.filters.keywordPlaceholder"),
451
579
  value: searchText,
452
580
  onChange: (val) => setSearchText(val)
453
581
  }
454
582
  )
455
583
  ] }),
456
584
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.matchCount, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [
457
- "Currently Matched Versions:",
585
+ t("sharedDeps.filters.matchCountLabel"),
458
586
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: import_index.default.matchValue, children: filteredVersions.length })
459
587
  ] }) })
460
588
  ] }),
461
- !hasData && loadingState === "loading" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.loadingText, children: "Parsing shared dependency data..." }),
462
- loadingState === "error" && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_index.default.errorText, children: [
463
- "Failed to load shared dependency data:",
464
- " ",
465
- errorMessage != null ? errorMessage : "Unknown Error"
466
- ] }),
467
- hasData && Object.keys(tree).length === 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.noMatchText, children: "No matching shared dependency versions under current filter conditions, try relaxing the filter conditions." }),
589
+ !hasData && loadingState === "loading" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.loadingText, children: t("sharedDeps.messages.loading") }),
590
+ loadingState === "error" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.errorText, children: errorMessage ? t("sharedDeps.messages.error", { message: errorMessage }) : t("sharedDeps.messages.errorUnknown") }),
591
+ hasData && Object.keys(tree).length === 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.noMatchText, children: t("sharedDeps.messages.noMatch") }),
468
592
  hasData && Object.keys(tree).length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.treeContainer, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.collapseWrapper, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web_react.Collapse, { children: Object.entries(tree).map(([provider, scopes]) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
469
593
  import_web_react.Collapse.Item,
470
594
  {
@@ -474,20 +598,18 @@ function SharedDepsExplorer({
474
598
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Server, { className: import_index.default.iconMedium }),
475
599
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: provider })
476
600
  ] }),
477
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.providerMeta, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [
478
- "Scope Count: ",
479
- Object.keys(scopes).length
480
- ] }) })
601
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.providerMeta, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: t("sharedDeps.filters.scopeCount", {
602
+ count: Object.keys(scopes).length
603
+ }) }) })
481
604
  ] }),
482
605
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.scopeList, children: Object.entries(scopes).map(([scopeName, packages]) => {
483
606
  const list = Object.values(packages).flat();
484
607
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_index.default.scopeItem, children: [
485
608
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_index.default.scopeHeader, children: [
486
609
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Layers, { className: import_index.default.iconSmall }),
487
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [
488
- "Scope: ",
489
- scopeName
490
- ] })
610
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: t("sharedDeps.filters.scopePrefix", {
611
+ name: scopeName
612
+ }) })
491
613
  ] }),
492
614
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_index.default.tableContainer, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
493
615
  import_web_react.Table,
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -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 {