@module-federation/devtools 0.0.0-perf-devtools-20260106124142 → 0.0.0-perf-devtools-20260108034446

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.
@@ -0,0 +1,457 @@
1
+ .container_967de {
2
+ display: flex;
3
+ flex-direction: column;
4
+ gap: 16px;
5
+ padding: 16px 12px;
6
+ max-width: 1024px;
7
+ }
8
+
9
+ @media (min-width: 768px) {
10
+ .container_967de {
11
+ padding: 24px 16px;
12
+ }
13
+ }
14
+ .heroSection_967de {
15
+ display: flex;
16
+ flex-direction: column;
17
+ gap: 8px;
18
+ }
19
+
20
+ .heroSubtitle_967de {
21
+ font-size: 12px;
22
+ font-weight: 600;
23
+ text-transform: uppercase;
24
+ letter-spacing: 0.025em;
25
+ color: #71717a;
26
+ margin: 0;
27
+ }
28
+
29
+ .heroTitle_967de {
30
+ font-size: 30px;
31
+ line-height: 36px;
32
+ font-weight: 700;
33
+ letter-spacing: -0.025em;
34
+ color: #18181b;
35
+ margin: 0;
36
+ }
37
+
38
+ .statsGrid_967de {
39
+ display: grid;
40
+ grid-template-columns: repeat(1, minmax(0, 1fr));
41
+ gap: 16px;
42
+ }
43
+
44
+ @media (min-width: 640px) {
45
+ .statsGrid_967de {
46
+ grid-template-columns: repeat(2, minmax(0, 1fr));
47
+ }
48
+ }
49
+ @media (min-width: 1024px) {
50
+ .statsGrid_967de {
51
+ grid-template-columns: repeat(3, minmax(0, 1fr));
52
+ }
53
+ }
54
+ .card_967de {
55
+ border-radius: 12px;
56
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
57
+ border: 1px solid #e4e4e7;
58
+ background-color: white;
59
+ }
60
+
61
+ .cardWithPadding_967de {
62
+ border-radius: 12px;
63
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
64
+ border: 1px solid #e4e4e7;
65
+ background-color: white;
66
+ padding: 16px;
67
+ }
68
+
69
+ .cardHeader_967de {
70
+ display: flex;
71
+ flex-direction: row;
72
+ align-items: center;
73
+ justify-content: space-between;
74
+ padding-bottom: 8px;
75
+ }
76
+
77
+ .statSpace_967de {
78
+ display: flex;
79
+ flex-direction: column;
80
+ gap: 4px;
81
+ }
82
+
83
+ .statLabel_967de {
84
+ font-size: 14px;
85
+ color: #71717a;
86
+ }
87
+
88
+ .statValue_967de {
89
+ font-size: 24px;
90
+ font-weight: 600;
91
+ display: flex;
92
+ align-items: center;
93
+ gap: 8px;
94
+ color: #18181b;
95
+ }
96
+
97
+ .icon_967de {
98
+ height: 20px;
99
+ width: 20px;
100
+ color: #a1a1aa;
101
+ }
102
+
103
+ .iconSmall_967de {
104
+ height: 12px;
105
+ width: 12px;
106
+ }
107
+
108
+ .iconMedium_967de {
109
+ height: 14px;
110
+ width: 14px;
111
+ color: #71717a;
112
+ }
113
+
114
+ .statDescription_967de {
115
+ font-size: 12px;
116
+ color: #71717a;
117
+ margin: 0;
118
+ }
119
+
120
+ .statSubtext_967de {
121
+ font-size: 16px;
122
+ color: #a1a1aa;
123
+ font-weight: 400;
124
+ }
125
+
126
+ .cardFooter_967de {
127
+ display: flex;
128
+ align-items: center;
129
+ justify-content: space-between;
130
+ font-size: 12px;
131
+ color: #71717a;
132
+ white-space: nowrap;
133
+ }
134
+
135
+ .truncate_967de {
136
+ overflow: hidden;
137
+ text-overflow: ellipsis;
138
+ white-space: nowrap;
139
+ }
140
+
141
+ .mr2_967de {
142
+ margin-right: 8px;
143
+ }
144
+
145
+ .badgeGroup_967de {
146
+ display: inline-flex;
147
+ align-items: center;
148
+ gap: 4px;
149
+ flex-shrink: 0;
150
+ }
151
+
152
+ .statusTags_967de {
153
+ display: flex;
154
+ flex-direction: column;
155
+ gap: 4px;
156
+ font-size: 12px;
157
+ color: #71717a;
158
+ }
159
+
160
+ .tagRow_967de {
161
+ display: flex;
162
+ align-items: center;
163
+ gap: 8px;
164
+ }
165
+
166
+ .tagContent_967de {
167
+ display: flex;
168
+ align-items: center;
169
+ }
170
+
171
+ .tagValue_967de {
172
+ font-weight: 600;
173
+ color: #18181b;
174
+ margin-left: 4px;
175
+ }
176
+
177
+ .mr1_967de {
178
+ margin-right: 4px;
179
+ }
180
+
181
+ .rightPanels_967de {
182
+ display: flex;
183
+ flex-direction: column;
184
+ gap: 16px;
185
+ }
186
+
187
+ .panelStack_967de {
188
+ display: flex;
189
+ flex-direction: column;
190
+ gap: 16px;
191
+ }
192
+
193
+ .cardTitle_967de {
194
+ font-size: 16px;
195
+ display: flex;
196
+ align-items: center;
197
+ gap: 8px;
198
+ }
199
+
200
+ .controlsGrid_967de {
201
+ display: grid;
202
+ gap: 12px;
203
+ margin-bottom: 12px;
204
+ padding: 8px;
205
+ }
206
+
207
+ @media (min-width: 768px) {
208
+ .controlsGrid_967de {
209
+ grid-template-columns: repeat(2, minmax(0, 1fr));
210
+ }
211
+ }
212
+ .inputGroup_967de {
213
+ display: flex;
214
+ flex-direction: column;
215
+ gap: 4px;
216
+ }
217
+
218
+ .inputLabel_967de {
219
+ font-size: 12px;
220
+ color: #71717a;
221
+ }
222
+
223
+ .fullWidth_967de {
224
+ width: 100%;
225
+ }
226
+
227
+ .resultBox_967de {
228
+ border-radius: 6px;
229
+ border: 1px dashed #e4e4e7;
230
+ background-color: #f9fafb;
231
+ padding: 8px 12px;
232
+ font-size: 12px;
233
+ }
234
+
235
+ .filterGrid_967de {
236
+ display: grid;
237
+ gap: 12px;
238
+ margin-bottom: 12px;
239
+ }
240
+
241
+ @media (min-width: 768px) {
242
+ .filterGrid_967de {
243
+ grid-template-columns: repeat(2, minmax(0, 1fr));
244
+ }
245
+ }
246
+ @media (min-width: 1024px) {
247
+ .filterGrid_967de {
248
+ grid-template-columns: repeat(3, minmax(0, 1fr));
249
+ }
250
+ }
251
+ .padding2_967de {
252
+ padding: 8px;
253
+ }
254
+
255
+ .searchGrid_967de {
256
+ display: grid;
257
+ gap: 12px;
258
+ padding: 8px;
259
+ }
260
+
261
+ @media (min-width: 768px) {
262
+ .searchGrid_967de {
263
+ grid-template-columns: repeat(2, minmax(0, 1fr));
264
+ }
265
+ }
266
+ .searchInput_967de {
267
+ font-size: 12px;
268
+ }
269
+
270
+ .matchCount_967de {
271
+ display: flex;
272
+ align-items: flex-end;
273
+ justify-content: flex-end;
274
+ gap: 8px;
275
+ font-size: 12px;
276
+ color: #71717a;
277
+ }
278
+
279
+ .matchValue_967de {
280
+ font-weight: 600;
281
+ color: #18181b;
282
+ margin-left: 4px;
283
+ }
284
+
285
+ .loadingText_967de {
286
+ padding-top: 16px;
287
+ padding-bottom: 16px;
288
+ font-size: 12px;
289
+ color: #71717a;
290
+ }
291
+
292
+ .errorText_967de {
293
+ padding-top: 12px;
294
+ padding-bottom: 12px;
295
+ font-size: 12px;
296
+ color: #dc2626;
297
+ }
298
+
299
+ .noMatchText_967de {
300
+ padding-top: 12px;
301
+ padding-bottom: 12px;
302
+ font-size: 12px;
303
+ color: #71717a;
304
+ }
305
+
306
+ .treeContainer_967de {
307
+ max-height: 320px;
308
+ overflow-y: auto;
309
+ }
310
+
311
+ .collapseWrapper_967de {
312
+ display: flex;
313
+ flex-direction: column;
314
+ gap: 8px;
315
+ border: 0;
316
+ }
317
+
318
+ .providerHeader_967de {
319
+ display: flex;
320
+ flex-direction: column;
321
+ align-items: flex-start;
322
+ gap: 4px;
323
+ text-align: left;
324
+ }
325
+
326
+ .providerTitle_967de {
327
+ display: flex;
328
+ align-items: center;
329
+ gap: 8px;
330
+ font-size: 14px;
331
+ font-weight: 500;
332
+ }
333
+
334
+ .providerMeta_967de {
335
+ display: flex;
336
+ flex-wrap: wrap;
337
+ gap: 8px;
338
+ font-size: 10px;
339
+ color: #71717a;
340
+ }
341
+
342
+ .scopeList_967de {
343
+ display: flex;
344
+ flex-direction: column;
345
+ gap: 16px;
346
+ }
347
+
348
+ .scopeItem_967de {
349
+ display: flex;
350
+ flex-direction: column;
351
+ gap: 8px;
352
+ }
353
+
354
+ .scopeHeader_967de {
355
+ display: flex;
356
+ align-items: center;
357
+ gap: 8px;
358
+ font-size: 12px;
359
+ font-weight: 500;
360
+ color: #52525b;
361
+ }
362
+
363
+ .tableContainer_967de {
364
+ overflow: hidden;
365
+ border-radius: 6px;
366
+ border: 1px solid #e4e4e7;
367
+ background-color: rgba(249, 250, 251, 0.4);
368
+ }
369
+
370
+ .cellCol_967de {
371
+ display: flex;
372
+ flex-direction: column;
373
+ }
374
+
375
+ .packageName_967de {
376
+ word-break: break-all;
377
+ font-family: monospace;
378
+ font-size: 11px;
379
+ color: #27272a;
380
+ }
381
+
382
+ .version_967de {
383
+ margin-top: 4px;
384
+ font-size: 11px;
385
+ color: #71717a;
386
+ }
387
+
388
+ .cellColGap_967de {
389
+ display: flex;
390
+ flex-direction: column;
391
+ gap: 4px;
392
+ }
393
+
394
+ .scopeText_967de {
395
+ font-size: 11px;
396
+ color: #71717a;
397
+ }
398
+
399
+ .tagContainer_967de {
400
+ width: 64px;
401
+ display: flex;
402
+ align-items: center;
403
+ justify-content: center;
404
+ }
405
+
406
+ .configTags_967de {
407
+ margin-top: 4px;
408
+ display: flex;
409
+ flex-wrap: wrap;
410
+ gap: 4px;
411
+ font-size: 10px;
412
+ color: #71717a;
413
+ }
414
+
415
+ .scale90_967de {
416
+ transform: scale(0.9);
417
+ transform-origin: left;
418
+ }
419
+
420
+ .popoverContent_967de {
421
+ width: 288px;
422
+ }
423
+
424
+ .popoverTitle_967de {
425
+ margin-bottom: 4px;
426
+ font-size: 12px;
427
+ font-weight: 500;
428
+ }
429
+
430
+ .consumerList_967de {
431
+ display: flex;
432
+ flex-direction: column;
433
+ gap: 4px;
434
+ font-size: 11px;
435
+ color: #374151;
436
+ padding-left: 0;
437
+ list-style: none;
438
+ margin: 0;
439
+ }
440
+
441
+ .consumerItem_967de {
442
+ display: flex;
443
+ align-items: center;
444
+ gap: 4px;
445
+ }
446
+
447
+ .dot_967de {
448
+ height: 6px;
449
+ width: 6px;
450
+ border-radius: 50%;
451
+ background-color: #10b981;
452
+ }
453
+
454
+ .btnContent_967de {
455
+ display: flex;
456
+ align-items: center;
457
+ }
@@ -0,0 +1,42 @@
1
+ var _a;
2
+ import runtimeHelpers from "@module-federation/runtime/helpers";
3
+ import { definePropertyGlobalVal } from "../sdk";
4
+ import { __FEDERATION_DEVTOOLS__ } from "../../template";
5
+ const chromeOverrideRemotesPlugin = function() {
6
+ return {
7
+ name: "mf-chrome-devtools-override-remotes-plugin",
8
+ beforeRegisterRemote(args) {
9
+ try {
10
+ const { remote } = args;
11
+ const overrideRemote = runtimeHelpers.global.nativeGlobal.localStorage.getItem(
12
+ __FEDERATION_DEVTOOLS__
13
+ );
14
+ if (!overrideRemote) {
15
+ return args;
16
+ }
17
+ const parsedOverrideRemote = JSON.parse(overrideRemote);
18
+ const overrideEntryOrVersion = parsedOverrideRemote[remote.name];
19
+ if (overrideEntryOrVersion) {
20
+ if (overrideEntryOrVersion.startsWith("http")) {
21
+ delete remote.version;
22
+ remote.entry = overrideEntryOrVersion;
23
+ } else {
24
+ delete remote.entry;
25
+ remote.version = overrideEntryOrVersion;
26
+ }
27
+ }
28
+ } catch (e) {
29
+ console.error(e);
30
+ }
31
+ return args;
32
+ }
33
+ };
34
+ };
35
+ if (!(window == null ? void 0 : window.__FEDERATION__)) {
36
+ definePropertyGlobalVal(window, "__FEDERATION__", {});
37
+ definePropertyGlobalVal(window, "__VMOK__", window.__FEDERATION__);
38
+ }
39
+ if (!(window == null ? void 0 : window.__FEDERATION__.__GLOBAL_PLUGIN__)) {
40
+ window.__FEDERATION__.__GLOBAL_PLUGIN__ = [];
41
+ }
42
+ (_a = window.__FEDERATION__.__GLOBAL_PLUGIN__) == null ? void 0 : _a.push(chromeOverrideRemotesPlugin());
@@ -1,6 +1,3 @@
1
- @tailwind base;
2
- @tailwind components;
3
- @tailwind utilities;
4
1
  .loaded-status-tag {
5
2
  color: white !important;
6
3
  background-color: black !important;
package/dist/lib/App.js CHANGED
@@ -53,6 +53,8 @@ __export(App_exports, {
53
53
  module.exports = __toCommonJS(App_exports);
54
54
  var import_jsx_runtime = require("react/jsx-runtime");
55
55
  var import_react = require("react");
56
+ var import_react_19_adapter = require("@arco-design/web-react/es/_util/react-19-adapter");
57
+ var import_App = require("./App.css");
56
58
  var import_web_react = require("@arco-design/web-react");
57
59
  var import_init = require("./init");
58
60
  var import_Layout = __toESM(require("./component/Layout"));
@@ -62,7 +64,7 @@ var import_SharedDepsExplorer = __toESM(require("./component/SharedDepsExplorer"
62
64
  var import_utils = require("./utils");
63
65
  var import_messages = require("./utils/chrome/messages");
64
66
  var import_arco = require("@arco-design/web-react/dist/css/arco.css");
65
- var import_App = __toESM(require("./App.module"));
67
+ var import_App2 = __toESM(require("./App.module"));
66
68
  const cloneModuleInfo = (info) => {
67
69
  try {
68
70
  return JSON.parse(JSON.stringify(info || {}));
@@ -293,11 +295,11 @@ const App = (props) => {
293
295
  }
294
296
  );
295
297
  case "dependency":
296
- return hasModule ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_DependencyGraph.default, { snapshot: moduleInfo }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_App.default.emptyState, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
298
+ return hasModule ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_DependencyGraph.default, { snapshot: moduleInfo }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_App2.default.emptyState, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
297
299
  import_web_react.Empty,
298
300
  {
299
301
  description: "No ModuleInfo Detected",
300
- className: import_App.default.empty
302
+ className: import_App2.default.empty
301
303
  }
302
304
  ) });
303
305
  case "share":
@@ -310,28 +312,28 @@ const App = (props) => {
310
312
  }
311
313
  );
312
314
  case "performance":
313
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_App.default.placeholder, children: "WIP..." });
315
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_App2.default.placeholder, children: "WIP..." });
314
316
  default:
315
317
  return null;
316
318
  }
317
319
  };
318
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: `${import_App.default.shell} ${import_App.default.overrideArco}`, children: [
319
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("aside", { className: import_App.default.sidebar, children: NAV_ITEMS.map((item) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
320
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: `${import_App2.default.shell} ${import_App2.default.overrideArco}`, children: [
321
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("aside", { className: import_App2.default.sidebar, children: NAV_ITEMS.map((item) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
320
322
  "button",
321
323
  {
322
324
  type: "button",
323
- className: `${import_App.default.tabItem} ${activePanel === item.key ? import_App.default.activeTab : ""}`,
325
+ className: `${import_App2.default.tabItem} ${activePanel === item.key ? import_App2.default.activeTab : ""}`,
324
326
  onClick: () => setActivePanel(item.key),
325
327
  children: item.label
326
328
  },
327
329
  item.key
328
330
  )) }),
329
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("section", { className: import_App.default.panel, children: [
330
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("header", { className: import_App.default.header, children: [
331
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_App.default.headerTop, children: [
332
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_App.default.branding, children: [
333
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: import_App.default.logo, children: "Module Federation" }),
334
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: import_App.default.subtitle, children: "DevTools Companion" })
331
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("section", { className: import_App2.default.panel, children: [
332
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("header", { className: import_App2.default.header, children: [
333
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_App2.default.headerTop, children: [
334
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_App2.default.branding, children: [
335
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: import_App2.default.logo, children: "Module Federation" }),
336
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: import_App2.default.subtitle, children: "DevTools Companion" })
335
337
  ] }),
336
338
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web_react.Tooltip, { content: "重新同步当前页面的 Federation 信息", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
337
339
  import_web_react.Button,
@@ -340,33 +342,33 @@ const App = (props) => {
340
342
  type: "primary",
341
343
  loading: refreshing,
342
344
  onClick: handleRefresh,
343
- className: import_App.default.refresh,
345
+ className: import_App2.default.refresh,
344
346
  children: "Refresh"
345
347
  }
346
348
  ) })
347
349
  ] }),
348
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_App.default.meta, children: [
349
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_App.default.scope, children: [
350
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: import_App.default.scopeLabel, children: "Focus Tab" }),
350
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_App2.default.meta, children: [
351
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_App2.default.scope, children: [
352
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: import_App2.default.scopeLabel, children: "Focus Tab" }),
351
353
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web_react.Tag, { className: "common-tag", children: (inspectedTab == null ? void 0 : inspectedTab.title) || "Waiting for target" })
352
354
  ] }),
353
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_App.default.stats, children: [
354
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_App.default.statBlock, children: [
355
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: import_App.default.statValue, children: moduleCount }),
356
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: import_App.default.statLabel, children: "Modules" })
355
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_App2.default.stats, children: [
356
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_App2.default.statBlock, children: [
357
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: import_App2.default.statValue, children: moduleCount }),
358
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: import_App2.default.statLabel, children: "Modules" })
357
359
  ] }),
358
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_App.default.statBlock, children: [
359
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: import_App.default.statValue, children: producer.length }),
360
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: import_App.default.statLabel, children: "Remotes" })
360
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_App2.default.statBlock, children: [
361
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: import_App2.default.statValue, children: producer.length }),
362
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: import_App2.default.statLabel, children: "Remotes" })
361
363
  ] }),
362
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_App.default.statBlock, children: [
363
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: import_App.default.statValue, children: consumerCount }),
364
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: import_App.default.statLabel, children: "Consumers" })
364
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: import_App2.default.statBlock, children: [
365
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: import_App2.default.statValue, children: consumerCount }),
366
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: import_App2.default.statLabel, children: "Consumers" })
365
367
  ] })
366
368
  ] })
367
369
  ] })
368
370
  ] }),
369
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_App.default.body, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_App.default.content, children: renderContent() }) })
371
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_App2.default.body, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: import_App2.default.content, children: renderContent() }) })
370
372
  ] })
371
373
  ] });
372
374
  };
@@ -217,12 +217,23 @@ const Layout = (props) => {
217
217
  } else {
218
218
  setCondition(import_constant.statusInfo.noProxy);
219
219
  }
220
+ setCondition(import_constant.statusInfo.noProxy);
220
221
  return;
221
222
  }
222
223
  if (!clipChanged && effectiveSignature === lastEffectiveRulesRef.current) {
224
+ if (hadPreviousEffective) {
225
+ setCondition(import_constant.statusInfo.success);
226
+ } else {
227
+ setCondition(import_constant.statusInfo.noProxy);
228
+ }
223
229
  return;
224
230
  }
225
231
  if (rawRules.every((rule) => !rule.value)) {
232
+ if (hadPreviousEffective) {
233
+ setCondition(import_constant.statusInfo.success);
234
+ } else {
235
+ setCondition(import_constant.statusInfo.noProxy);
236
+ }
226
237
  return;
227
238
  }
228
239
  const { moduleInfo: moduleInfo2, status, overrides } = handleSnapshot ? yield handleSnapshot(effectiveRules) : yield (0, import_utils.getModuleInfo)(effectiveRules);
@@ -323,6 +334,11 @@ const Layout = (props) => {
323
334
  if (overridesApplied) {
324
335
  (0, import_utils.setChromeStorage)(storeData);
325
336
  }
337
+ if (effectiveRules.length) {
338
+ setCondition(import_constant.statusInfo.success);
339
+ } else {
340
+ setCondition(import_constant.statusInfo.noProxy);
341
+ }
326
342
  }
327
343
  });
328
344
  hydrateForm();