@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,4 +1,3 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -32,6 +31,13 @@ function isRecord(value) {
32
31
  return Boolean(value) && typeof value === "object" && !Array.isArray(value);
33
32
  }
34
33
  function computeLoadedStatus(entry) {
34
+ var _a, _b;
35
+ if (((_a = entry.treeShaking) == null ? void 0 : _a.loaded) === true) {
36
+ return "t-loaded";
37
+ }
38
+ if ((_b = entry.treeShaking) == null ? void 0 : _b.loading) {
39
+ return "t-loading";
40
+ }
35
41
  if (entry.loaded === true) {
36
42
  return "loaded";
37
43
  }
@@ -53,7 +59,7 @@ function normalizeEntry({
53
59
  versionKey,
54
60
  entry
55
61
  }) {
56
- var _a;
62
+ var _a, _b;
57
63
  if (!isRecord(entry)) {
58
64
  return null;
59
65
  }
@@ -70,6 +76,7 @@ function normalizeEntry({
70
76
  from: sharedEntry.from,
71
77
  useIn,
72
78
  shareConfig: (_a = sharedEntry.shareConfig) != null ? _a : {},
79
+ treeShakingMode: (_b = sharedEntry.treeShaking) == null ? void 0 : _b.mode,
73
80
  strategy: sharedEntry.strategy,
74
81
  loaded: sharedEntry.loaded,
75
82
  loading: sharedEntry.loading,
@@ -147,7 +154,7 @@ function computeShareStats(versions) {
147
154
  providerSet.add(v.provider);
148
155
  scopeSet.add(v.scope);
149
156
  packageSet.add(v.packageName);
150
- if (v.loadedStatus === "loaded") {
157
+ if (v.loadedStatus === "loaded" || v.loadedStatus === "t-loaded") {
151
158
  loadedCount += 1;
152
159
  }
153
160
  if (v.reuseStatus) {
@@ -206,11 +213,19 @@ function findPackageProvider(versions, packageName, version) {
206
213
  return null;
207
214
  }
208
215
  const providers = Array.from(new Set(candidates.map((v) => v.from))).sort();
209
- const hasLoaded = candidates.some((v) => v.loadedStatus === "loaded");
210
- const hasLoading = !hasLoaded && candidates.some((v) => v.loadedStatus === "loading");
216
+ const hasTreeShakingLoaded = candidates.some(
217
+ (v) => v.loadedStatus === "t-loaded"
218
+ );
219
+ const hasLoaded = !hasTreeShakingLoaded && candidates.some((v) => v.loadedStatus === "loaded");
220
+ const hasTreeShakingLoading = !hasTreeShakingLoaded && !hasLoaded && candidates.some((v) => v.loadedStatus === "t-loading");
221
+ const hasLoading = !hasTreeShakingLoaded && !hasLoaded && !hasTreeShakingLoading && candidates.some((v) => v.loadedStatus === "loading");
211
222
  let status = "not-loaded";
212
- if (hasLoaded) {
223
+ if (hasTreeShakingLoaded) {
224
+ status = "t-loaded";
225
+ } else if (hasLoaded) {
213
226
  status = "loaded";
227
+ } else if (hasTreeShakingLoading) {
228
+ status = "t-loading";
214
229
  } else if (hasLoading) {
215
230
  status = "loading";
216
231
  }
@@ -0,0 +1,48 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+ var ThemeToggle_exports = {};
29
+ __export(ThemeToggle_exports, {
30
+ default: () => ThemeToggle_default
31
+ });
32
+ module.exports = __toCommonJS(ThemeToggle_exports);
33
+ var import_jsx_runtime = require("react/jsx-runtime");
34
+ var import_web_react = require("@arco-design/web-react");
35
+ var import_icon = require("@arco-design/web-react/icon");
36
+ var import_ThemeToggle = __toESM(require("./ThemeToggle.module"));
37
+ const ThemeToggle = ({ theme, onToggle }) => {
38
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
39
+ import_web_react.Button,
40
+ {
41
+ className: import_ThemeToggle.default.themeToggle,
42
+ size: "default",
43
+ onClick: onToggle,
44
+ icon: theme === "dark" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icon.IconSun, {}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icon.IconMoon, {})
45
+ }
46
+ );
47
+ };
48
+ var ThemeToggle_default = ThemeToggle;
@@ -0,0 +1,24 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var ThemeToggle_module_exports = {};
19
+ __export(ThemeToggle_module_exports, {
20
+ default: () => ThemeToggle_module_default
21
+ });
22
+ module.exports = __toCommonJS(ThemeToggle_module_exports);
23
+ var import_ThemeToggle_module = require("./ThemeToggle_module.css");
24
+ var ThemeToggle_module_default = { "themeToggle": "themeToggle_2452c" };
@@ -0,0 +1,12 @@
1
+ .themeToggle_2452c {
2
+ background-color: transparent !important;
3
+ border-color: transparent !important;
4
+ margin: 0 6px !important;
5
+ padding: 0 !important;
6
+ }
7
+ .themeToggle_2452c:hover {
8
+ background-color: var(--color-fill-3, #fafafa) !important;
9
+ }
10
+ .arco-theme-dark .themeToggle_2452c :hover {
11
+ background-color: var(--color-bg-1) !important;
12
+ }
@@ -0,0 +1,100 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var useDevtoolsTheme_exports = {};
19
+ __export(useDevtoolsTheme_exports, {
20
+ useDevtoolsTheme: () => useDevtoolsTheme
21
+ });
22
+ module.exports = __toCommonJS(useDevtoolsTheme_exports);
23
+ var import_react = require("react");
24
+ const DARK_MEDIA_QUERY = "(prefers-color-scheme: dark)";
25
+ function resolveThemeFromDevtools() {
26
+ var _a, _b;
27
+ if (typeof window === "undefined") {
28
+ return null;
29
+ }
30
+ const devtools = (_a = window.chrome) == null ? void 0 : _a.devtools;
31
+ const themeName = (_b = devtools == null ? void 0 : devtools.panels) == null ? void 0 : _b.themeName;
32
+ if (typeof themeName === "string") {
33
+ return themeName.toLowerCase().includes("dark") ? "dark" : "light";
34
+ }
35
+ return null;
36
+ }
37
+ function resolveThemeFromMedia() {
38
+ if (typeof window === "undefined" || typeof window.matchMedia !== "function") {
39
+ return null;
40
+ }
41
+ return window.matchMedia(DARK_MEDIA_QUERY).matches ? "dark" : "light";
42
+ }
43
+ function getInitialTheme() {
44
+ var _a, _b;
45
+ return (_b = (_a = resolveThemeFromDevtools()) != null ? _a : resolveThemeFromMedia()) != null ? _b : "light";
46
+ }
47
+ const useDevtoolsTheme = () => {
48
+ const [theme, setTheme] = (0, import_react.useState)(() => getInitialTheme());
49
+ (0, import_react.useEffect)(() => {
50
+ var _a;
51
+ if (typeof window === "undefined") {
52
+ return;
53
+ }
54
+ const devtools = (_a = window.chrome) == null ? void 0 : _a.devtools;
55
+ const panels = devtools == null ? void 0 : devtools.panels;
56
+ const onThemeChanged = panels == null ? void 0 : panels.onThemeChanged;
57
+ const handleThemeChange = (newThemeName) => {
58
+ if (typeof newThemeName !== "string") {
59
+ return;
60
+ }
61
+ const next = newThemeName.toLowerCase().includes("dark") ? "dark" : "light";
62
+ setTheme(next);
63
+ };
64
+ const fromDevtools = resolveThemeFromDevtools();
65
+ if (fromDevtools) {
66
+ setTheme(fromDevtools);
67
+ }
68
+ let mediaQuery = null;
69
+ const handleMediaQueryChange = (event) => {
70
+ setTheme(event.matches ? "dark" : "light");
71
+ };
72
+ if (onThemeChanged && typeof onThemeChanged.addListener === "function") {
73
+ onThemeChanged.addListener(handleThemeChange);
74
+ } else if (typeof window.matchMedia === "function") {
75
+ mediaQuery = window.matchMedia(DARK_MEDIA_QUERY);
76
+ if (typeof mediaQuery.addEventListener === "function") {
77
+ mediaQuery.addEventListener("change", handleMediaQueryChange);
78
+ } else if (typeof mediaQuery.addListener === "function") {
79
+ mediaQuery.addListener(handleMediaQueryChange);
80
+ }
81
+ }
82
+ return () => {
83
+ if (onThemeChanged && typeof onThemeChanged.removeListener === "function") {
84
+ onThemeChanged.removeListener(handleThemeChange);
85
+ }
86
+ if (mediaQuery) {
87
+ if (typeof mediaQuery.removeEventListener === "function") {
88
+ mediaQuery.removeEventListener("change", handleMediaQueryChange);
89
+ } else if (typeof mediaQuery.removeListener === "function") {
90
+ mediaQuery.removeListener(handleMediaQueryChange);
91
+ }
92
+ }
93
+ };
94
+ }, []);
95
+ return theme;
96
+ };
97
+ // Annotate the CommonJS export names for ESM import in node:
98
+ 0 && (module.exports = {
99
+ useDevtoolsTheme
100
+ });