@xyo-network/react-network 2.75.7 → 2.76.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/dist/neutral/components/SelectEx/NetworkSelectEx.d.cts +7 -0
  2. package/dist/neutral/components/SelectEx/NetworkSelectEx.d.cts.map +1 -0
  3. package/dist/neutral/components/SelectEx/NetworkSelectEx.d.mts +7 -0
  4. package/dist/neutral/components/SelectEx/NetworkSelectEx.d.mts.map +1 -0
  5. package/dist/neutral/components/SelectEx/NetworkSelectEx.d.ts +7 -0
  6. package/dist/neutral/components/SelectEx/NetworkSelectEx.d.ts.map +1 -0
  7. package/dist/neutral/components/SelectEx/index.d.cts +2 -0
  8. package/dist/neutral/components/SelectEx/index.d.cts.map +1 -0
  9. package/dist/neutral/components/SelectEx/index.d.mts +2 -0
  10. package/dist/neutral/components/SelectEx/index.d.mts.map +1 -0
  11. package/dist/neutral/components/SelectEx/index.d.ts +2 -0
  12. package/dist/neutral/components/SelectEx/index.d.ts.map +1 -0
  13. package/dist/neutral/components/index.d.cts +2 -0
  14. package/dist/neutral/components/index.d.cts.map +1 -0
  15. package/dist/neutral/components/index.d.mts +2 -0
  16. package/dist/neutral/components/index.d.mts.map +1 -0
  17. package/dist/neutral/components/index.d.ts +2 -0
  18. package/dist/neutral/components/index.d.ts.map +1 -0
  19. package/dist/neutral/contexts/Context.d.cts +4 -0
  20. package/dist/neutral/contexts/Context.d.cts.map +1 -0
  21. package/dist/neutral/contexts/Context.d.mts +4 -0
  22. package/dist/neutral/contexts/Context.d.mts.map +1 -0
  23. package/dist/neutral/contexts/Context.d.ts +4 -0
  24. package/dist/neutral/contexts/Context.d.ts.map +1 -0
  25. package/dist/neutral/contexts/Provider/Memory.d.cts +7 -0
  26. package/dist/neutral/contexts/Provider/Memory.d.cts.map +1 -0
  27. package/dist/neutral/contexts/Provider/Memory.d.mts +7 -0
  28. package/dist/neutral/contexts/Provider/Memory.d.mts.map +1 -0
  29. package/dist/neutral/contexts/Provider/Memory.d.ts +7 -0
  30. package/dist/neutral/contexts/Provider/Memory.d.ts.map +1 -0
  31. package/dist/neutral/contexts/Provider/Props.d.cts +9 -0
  32. package/dist/neutral/contexts/Provider/Props.d.cts.map +1 -0
  33. package/dist/neutral/contexts/Provider/Props.d.mts +9 -0
  34. package/dist/neutral/contexts/Provider/Props.d.mts.map +1 -0
  35. package/dist/neutral/contexts/Provider/Props.d.ts +9 -0
  36. package/dist/neutral/contexts/Provider/Props.d.ts.map +1 -0
  37. package/dist/neutral/contexts/Provider/Route.d.cts +5 -0
  38. package/dist/neutral/contexts/Provider/Route.d.cts.map +1 -0
  39. package/dist/neutral/contexts/Provider/Route.d.mts +5 -0
  40. package/dist/neutral/contexts/Provider/Route.d.mts.map +1 -0
  41. package/dist/neutral/contexts/Provider/Route.d.ts +5 -0
  42. package/dist/neutral/contexts/Provider/Route.d.ts.map +1 -0
  43. package/dist/neutral/contexts/Provider/index.d.cts +4 -0
  44. package/dist/neutral/contexts/Provider/index.d.cts.map +1 -0
  45. package/dist/neutral/contexts/Provider/index.d.mts +4 -0
  46. package/dist/neutral/contexts/Provider/index.d.mts.map +1 -0
  47. package/dist/neutral/contexts/Provider/index.d.ts +4 -0
  48. package/dist/neutral/contexts/Provider/index.d.ts.map +1 -0
  49. package/dist/neutral/contexts/State.d.cts +12 -0
  50. package/dist/neutral/contexts/State.d.cts.map +1 -0
  51. package/dist/neutral/contexts/State.d.mts +12 -0
  52. package/dist/neutral/contexts/State.d.mts.map +1 -0
  53. package/dist/neutral/contexts/State.d.ts +12 -0
  54. package/dist/neutral/contexts/State.d.ts.map +1 -0
  55. package/dist/neutral/contexts/index.d.cts +5 -0
  56. package/dist/neutral/contexts/index.d.cts.map +1 -0
  57. package/dist/neutral/contexts/index.d.mts +5 -0
  58. package/dist/neutral/contexts/index.d.mts.map +1 -0
  59. package/dist/neutral/contexts/index.d.ts +5 -0
  60. package/dist/neutral/contexts/index.d.ts.map +1 -0
  61. package/dist/neutral/contexts/use.d.cts +3 -0
  62. package/dist/neutral/contexts/use.d.cts.map +1 -0
  63. package/dist/neutral/contexts/use.d.mts +3 -0
  64. package/dist/neutral/contexts/use.d.mts.map +1 -0
  65. package/dist/neutral/contexts/use.d.ts +3 -0
  66. package/dist/neutral/contexts/use.d.ts.map +1 -0
  67. package/dist/neutral/index.cjs +293 -0
  68. package/dist/neutral/index.cjs.map +1 -0
  69. package/dist/neutral/index.d.cts +4 -0
  70. package/dist/neutral/index.d.cts.map +1 -0
  71. package/dist/neutral/index.d.mts +4 -0
  72. package/dist/neutral/index.d.mts.map +1 -0
  73. package/dist/neutral/index.d.ts +4 -0
  74. package/dist/neutral/index.d.ts.map +1 -0
  75. package/dist/neutral/index.js +270 -0
  76. package/dist/neutral/index.js.map +1 -0
  77. package/dist/neutral/lib/Config/NetworkNames.d.cts +2 -0
  78. package/dist/neutral/lib/Config/NetworkNames.d.cts.map +1 -0
  79. package/dist/neutral/lib/Config/NetworkNames.d.mts +2 -0
  80. package/dist/neutral/lib/Config/NetworkNames.d.mts.map +1 -0
  81. package/dist/neutral/lib/Config/NetworkNames.d.ts +2 -0
  82. package/dist/neutral/lib/Config/NetworkNames.d.ts.map +1 -0
  83. package/dist/neutral/lib/Config/default.d.cts +19 -0
  84. package/dist/neutral/lib/Config/default.d.cts.map +1 -0
  85. package/dist/neutral/lib/Config/default.d.mts +19 -0
  86. package/dist/neutral/lib/Config/default.d.mts.map +1 -0
  87. package/dist/neutral/lib/Config/default.d.ts +19 -0
  88. package/dist/neutral/lib/Config/default.d.ts.map +1 -0
  89. package/dist/neutral/lib/Config/find.d.cts +60 -0
  90. package/dist/neutral/lib/Config/find.d.cts.map +1 -0
  91. package/dist/neutral/lib/Config/find.d.mts +60 -0
  92. package/dist/neutral/lib/Config/find.d.mts.map +1 -0
  93. package/dist/neutral/lib/Config/find.d.ts +60 -0
  94. package/dist/neutral/lib/Config/find.d.ts.map +1 -0
  95. package/dist/neutral/lib/Config/index.d.cts +5 -0
  96. package/dist/neutral/lib/Config/index.d.cts.map +1 -0
  97. package/dist/neutral/lib/Config/index.d.mts +5 -0
  98. package/dist/neutral/lib/Config/index.d.mts.map +1 -0
  99. package/dist/neutral/lib/Config/index.d.ts +5 -0
  100. package/dist/neutral/lib/Config/index.d.ts.map +1 -0
  101. package/dist/neutral/lib/Config/resolveNetworkFromHostname.d.cts +4 -0
  102. package/dist/neutral/lib/Config/resolveNetworkFromHostname.d.cts.map +1 -0
  103. package/dist/neutral/lib/Config/resolveNetworkFromHostname.d.mts +4 -0
  104. package/dist/neutral/lib/Config/resolveNetworkFromHostname.d.mts.map +1 -0
  105. package/dist/neutral/lib/Config/resolveNetworkFromHostname.d.ts +4 -0
  106. package/dist/neutral/lib/Config/resolveNetworkFromHostname.d.ts.map +1 -0
  107. package/dist/neutral/lib/ExplorerMapHashes.d.cts +6 -0
  108. package/dist/neutral/lib/ExplorerMapHashes.d.cts.map +1 -0
  109. package/dist/neutral/lib/ExplorerMapHashes.d.mts +6 -0
  110. package/dist/neutral/lib/ExplorerMapHashes.d.mts.map +1 -0
  111. package/dist/neutral/lib/ExplorerMapHashes.d.ts +6 -0
  112. package/dist/neutral/lib/ExplorerMapHashes.d.ts.map +1 -0
  113. package/dist/neutral/lib/archivistNameToUri.d.cts +2 -0
  114. package/dist/neutral/lib/archivistNameToUri.d.cts.map +1 -0
  115. package/dist/neutral/lib/archivistNameToUri.d.mts +2 -0
  116. package/dist/neutral/lib/archivistNameToUri.d.mts.map +1 -0
  117. package/dist/neutral/lib/archivistNameToUri.d.ts +2 -0
  118. package/dist/neutral/lib/archivistNameToUri.d.ts.map +1 -0
  119. package/dist/neutral/lib/archivistPresets.d.cts +11 -0
  120. package/dist/neutral/lib/archivistPresets.d.cts.map +1 -0
  121. package/dist/neutral/lib/archivistPresets.d.mts +11 -0
  122. package/dist/neutral/lib/archivistPresets.d.mts.map +1 -0
  123. package/dist/neutral/lib/archivistPresets.d.ts +11 -0
  124. package/dist/neutral/lib/archivistPresets.d.ts.map +1 -0
  125. package/dist/neutral/lib/divinerPresets.d.cts +13 -0
  126. package/dist/neutral/lib/divinerPresets.d.cts.map +1 -0
  127. package/dist/neutral/lib/divinerPresets.d.mts +13 -0
  128. package/dist/neutral/lib/divinerPresets.d.mts.map +1 -0
  129. package/dist/neutral/lib/divinerPresets.d.ts +13 -0
  130. package/dist/neutral/lib/divinerPresets.d.ts.map +1 -0
  131. package/dist/neutral/lib/index.d.cts +5 -0
  132. package/dist/neutral/lib/index.d.cts.map +1 -0
  133. package/dist/neutral/lib/index.d.mts +5 -0
  134. package/dist/neutral/lib/index.d.mts.map +1 -0
  135. package/dist/neutral/lib/index.d.ts +5 -0
  136. package/dist/neutral/lib/index.d.ts.map +1 -0
  137. package/package.json +7 -7
@@ -0,0 +1,293 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/index.ts
21
+ var src_exports = {};
22
+ __export(src_exports, {
23
+ NetworkContext: () => NetworkContext,
24
+ NetworkMemoryProvider: () => NetworkMemoryProvider,
25
+ NetworkProvider: () => NetworkProvider,
26
+ NetworkRouteProvider: () => NetworkRouteProvider,
27
+ NetworkSelectEx: () => NetworkSelectEx,
28
+ archivistPresets: () => archivistPresets,
29
+ archivistUriToName: () => archivistUriToName,
30
+ defaultNetworkConfigs: () => defaultNetworkConfigs,
31
+ divinerPresets: () => divinerPresets,
32
+ findArchivistPreset: () => findArchivistPreset,
33
+ findDivinerPreset: () => findDivinerPreset,
34
+ findNetworkConfig: () => findNetworkConfig,
35
+ findNetworkPreset: () => findNetworkPreset,
36
+ networkPresets: () => networkPresets,
37
+ resolveNetworkFromHostName: () => resolveNetworkFromHostName,
38
+ useNetwork: () => useNetwork
39
+ });
40
+ module.exports = __toCommonJS(src_exports);
41
+
42
+ // src/components/SelectEx/NetworkSelectEx.tsx
43
+ var import_material = require("@mui/material");
44
+ var import_assert = require("@xylabs/assert");
45
+ var import_react_select = require("@xylabs/react-select");
46
+ var import_react_shared3 = require("@xylabs/react-shared");
47
+
48
+ // src/contexts/Context.ts
49
+ var import_react_shared = require("@xyo-network/react-shared");
50
+ var NetworkContext = (0, import_react_shared.createContextEx)();
51
+
52
+ // src/contexts/Provider/Memory.tsx
53
+ var import_react = require("react");
54
+
55
+ // src/lib/archivistPresets.ts
56
+ var import_network = require("@xyo-network/network");
57
+
58
+ // src/lib/ExplorerMapHashes.ts
59
+ var ExplorerMapHashes = {
60
+ animatedAnswerHashes: [
61
+ "79af071f451fc7af10d009dc63236ef9a9b211732c1ee0c06f028fcecf2336c5",
62
+ "531bfba6d8dfefd3bcc888aca54cdbbd4574ed2b3ec551b230845a1f9a608898",
63
+ "c874412b4faa4947de81372fd1ba12fdd6f43f5e408622b7f357cb2bcb3f17cb",
64
+ "29d3f8b882c61a82a1a1675782a27e797ea7196f45a23b4409680ab8b8d5f14e",
65
+ "cfd20f80ac073fd9518f4ef3f43d2a1f5e4e56e40c2677f38d6f6fecd05df60c",
66
+ "1354fa73497519a39aed19fc99bdbae78a880a1eafb2f7898d607e07db36528d",
67
+ "1043b0d25eacfc5013ae9dba780305a6fbf01a43543bd871d7c00537fca142a9",
68
+ "973dfc5df142851ced258d52d0ac2784e814000ac22e35776f772256b0d4dde9",
69
+ "463808eb74d3d87e6563970e0301a493577f8cd1b501e6e0ffa5e027ad2cea95",
70
+ "15b21acea2e3fd9d1ace3768a72636ee7bdf67a6f8e0807bfa2273dea2207555",
71
+ "32d377bfe7ebe382598c54dd13f8af7510e0a1e2fd2e913311fdd58e517e5e2e"
72
+ ],
73
+ staticAnswerHash: "c7bbf61f61cfd4a1b2def160c28136fc1d100d39fbdb67b227a2c6e558d9d3a5"
74
+ };
75
+
76
+ // src/lib/archivistPresets.ts
77
+ var findArchivistPreset = (slug) => {
78
+ return archivistPresets.find((item) => {
79
+ return item.slug === slug;
80
+ }) ?? archivistPresets[0];
81
+ };
82
+ var archivistPresets = [
83
+ {
84
+ docs: "https://beta.archivist.xyo.network/api",
85
+ explorerMapHashes: ExplorerMapHashes,
86
+ name: "XYO Shared Archivist (kerplunk)",
87
+ schema: import_network.NetworkNodeSchema,
88
+ slug: "kerplunk-archivist-xyo-network",
89
+ type: "archivist",
90
+ uri: "https://beta.api.archivist.xyo.network"
91
+ },
92
+ {
93
+ docs: "https://archivist.xyo.network/api",
94
+ explorerMapHashes: ExplorerMapHashes,
95
+ name: "XYO Shared Archivist (main)",
96
+ schema: import_network.NetworkNodeSchema,
97
+ slug: "main-archivist-xyo-network",
98
+ type: "archivist",
99
+ uri: "https://api.archivist.xyo.network"
100
+ },
101
+ {
102
+ docs: "http://localhost:8080/api",
103
+ name: "XYO Shared Archivist (local)",
104
+ schema: import_network.NetworkNodeSchema,
105
+ slug: "local-archivist-xyo-network",
106
+ type: "archivist",
107
+ uri: "http://localhost:8080"
108
+ }
109
+ ];
110
+
111
+ // src/lib/archivistNameToUri.ts
112
+ var archivistUriToName = () => {
113
+ return archivistPresets.reduce((acc, { name, uri }) => {
114
+ if (name) {
115
+ acc[uri] = name;
116
+ }
117
+ return acc;
118
+ }, {});
119
+ };
120
+
121
+ // src/lib/Config/default.ts
122
+ var import_network3 = require("@xyo-network/network");
123
+
124
+ // src/lib/divinerPresets.ts
125
+ var import_network2 = require("@xyo-network/network");
126
+ var findDivinerPreset = (slug) => {
127
+ return divinerPresets.find((item) => {
128
+ return item.slug === slug;
129
+ }) ?? divinerPresets[0];
130
+ };
131
+ var divinerPresets = [
132
+ {
133
+ name: "XYO Location (beta)",
134
+ schema: import_network2.NetworkNodeSchema,
135
+ slug: "beta-location-diviner-xyo-network",
136
+ type: "diviner",
137
+ uri: "https://beta.api.location.diviner.xyo.network",
138
+ web: "https://beta.explore.xyo.network"
139
+ },
140
+ {
141
+ name: "XYO Location",
142
+ schema: import_network2.NetworkNodeSchema,
143
+ slug: "location-diviner-xyo-network",
144
+ type: "diviner",
145
+ uri: "https://api.location.diviner.xyo.network",
146
+ web: "https://explore.xyo.network"
147
+ },
148
+ {
149
+ name: "XYO Location (local)",
150
+ schema: import_network2.NetworkNodeSchema,
151
+ slug: "local-location-diviner-xyo-network",
152
+ type: "diviner",
153
+ uri: "http://localhost:8082",
154
+ web: "http://localhost:3000"
155
+ }
156
+ ];
157
+
158
+ // src/lib/Config/default.ts
159
+ var defaultNetworkConfigs = [
160
+ {
161
+ name: "Kerplunk",
162
+ nodes: [findArchivistPreset("kerplunk-archivist-xyo-network"), findDivinerPreset("beta-location-diviner-xyo-network")],
163
+ schema: import_network3.NetworkSchema,
164
+ slug: "kerplunk"
165
+ },
166
+ {
167
+ name: "Main",
168
+ nodes: [findArchivistPreset("main-archivist-xyo-network"), findDivinerPreset("location-diviner-xyo-network")],
169
+ schema: import_network3.NetworkSchema,
170
+ slug: "main"
171
+ },
172
+ {
173
+ name: "Local",
174
+ nodes: [findArchivistPreset("local-archivist-xyo-network"), findDivinerPreset("local-location-diviner-xyo-network")],
175
+ schema: import_network3.NetworkSchema,
176
+ slug: "local"
177
+ }
178
+ ];
179
+ var networkPresets = defaultNetworkConfigs;
180
+
181
+ // src/lib/Config/find.ts
182
+ var findNetworkConfig = (slug, configs = defaultNetworkConfigs) => {
183
+ return configs.find((item) => {
184
+ return item.slug === slug;
185
+ });
186
+ };
187
+ var findNetworkPreset = findNetworkConfig;
188
+
189
+ // src/lib/Config/resolveNetworkFromHostname.ts
190
+ var resolveNetworkFromHostName = (fallback = "Kerplunk", siteName) => {
191
+ switch (document.location.hostname) {
192
+ case `${siteName}.xyo.network`: {
193
+ return "Main";
194
+ }
195
+ case `beta.${siteName}.xyo.network`: {
196
+ return "Kerplunk";
197
+ }
198
+ default: {
199
+ return fallback;
200
+ }
201
+ }
202
+ };
203
+
204
+ // src/contexts/Provider/Memory.tsx
205
+ var import_jsx_runtime = require("react/jsx-runtime");
206
+ var NetworkMemoryProvider = ({ defaultNetworkConfig, defaultNetworkName, ...props }) => {
207
+ if (defaultNetworkConfig && defaultNetworkName) {
208
+ console.warn("Both defaultNetworkConfig and defaultNetworkName were passed to provider. Falling back to defaultNetworkConfig");
209
+ }
210
+ const resolvedDefaultNetworkConfig = defaultNetworkName ? defaultNetworkConfigs.find((config) => config.name === defaultNetworkName) : void 0;
211
+ const [network, setNetwork] = (0, import_react.useState)(defaultNetworkConfig ?? resolvedDefaultNetworkConfig ?? defaultNetworkConfigs[0]);
212
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(NetworkContext.Provider, { value: { network, networks: defaultNetworkConfigs, provided: true, setNetwork }, ...props });
213
+ };
214
+ var NetworkProvider = NetworkMemoryProvider;
215
+
216
+ // src/contexts/Provider/Route.tsx
217
+ var import_react2 = require("react");
218
+ var import_react_router_dom = require("react-router-dom");
219
+
220
+ // src/contexts/use.ts
221
+ var import_react_shared2 = require("@xyo-network/react-shared");
222
+ var useNetwork = (required = false) => {
223
+ return (0, import_react_shared2.useContextEx)(NetworkContext, "Network", required);
224
+ };
225
+
226
+ // src/contexts/Provider/Route.tsx
227
+ var import_jsx_runtime2 = require("react/jsx-runtime");
228
+ var NetworkRouteProviderInner = ({ children }) => {
229
+ const [initialized, setInitialized] = (0, import_react2.useState)(false);
230
+ const { network, setNetwork } = useNetwork();
231
+ const [params, setParams] = (0, import_react_router_dom.useSearchParams)();
232
+ const slug = params.get("network");
233
+ const routeNetwork = slug ? findNetworkConfig(slug) : void 0;
234
+ const setNetworkParam = (0, import_react2.useCallback)(
235
+ (network2) => {
236
+ if (network2) {
237
+ params.set("network", network2.slug);
238
+ setParams(params, { replace: true });
239
+ setNetwork?.(network2);
240
+ } else {
241
+ params.delete("network");
242
+ }
243
+ },
244
+ [params, setParams, setNetwork]
245
+ );
246
+ const setNetworkLocal = (0, import_react2.useCallback)(
247
+ (network2) => {
248
+ setNetworkParam(network2);
249
+ setNetwork?.(network2);
250
+ },
251
+ [setNetworkParam, setNetwork]
252
+ );
253
+ (0, import_react2.useEffect)(() => {
254
+ if (routeNetwork !== network) {
255
+ if (routeNetwork === void 0 && network !== void 0) {
256
+ setNetworkParam(network);
257
+ } else if (routeNetwork) {
258
+ setNetwork?.(routeNetwork);
259
+ }
260
+ }
261
+ setInitialized(true);
262
+ }, [routeNetwork, network, setNetworkParam, setNetwork]);
263
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(NetworkContext.Provider, { value: { network, networks: defaultNetworkConfigs, provided: true, setNetwork: setNetworkLocal }, children: initialized ? children : null });
264
+ };
265
+ var NetworkRouteProvider = ({ defaultNetworkConfig, defaultNetworkName, ...props }) => {
266
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(NetworkMemoryProvider, { defaultNetworkConfig, defaultNetworkName, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(NetworkRouteProviderInner, { ...props }) });
267
+ };
268
+
269
+ // src/components/SelectEx/NetworkSelectEx.tsx
270
+ var import_jsx_runtime3 = require("react/jsx-runtime");
271
+ var NetworkSelectEx = ({ onChange, variant = "outlined", responsive = true, ...props }) => {
272
+ const { network, setNetwork, networks } = useNetwork(false);
273
+ const sm = (0, import_react_shared3.useBreakpoint)() === "sm";
274
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
275
+ import_react_select.SelectEx,
276
+ {
277
+ variant,
278
+ size: "small",
279
+ value: network?.slug ?? "",
280
+ onChange: (event, child) => {
281
+ if (event.target.value !== network?.slug) {
282
+ onChange?.(event, child);
283
+ setNetwork?.((0, import_assert.assertEx)(findNetworkConfig(event.target.value, networks)));
284
+ }
285
+ },
286
+ ...props,
287
+ children: networks?.map((network2) => {
288
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_material.MenuItem, { value: network2.slug, children: responsive && sm ? network2.name?.[0].toUpperCase() : network2.name }, network2.slug);
289
+ })
290
+ }
291
+ );
292
+ };
293
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/index.ts","../../src/components/SelectEx/NetworkSelectEx.tsx","../../src/contexts/Context.ts","../../src/contexts/Provider/Memory.tsx","../../src/lib/archivistPresets.ts","../../src/lib/ExplorerMapHashes.ts","../../src/lib/archivistNameToUri.ts","../../src/lib/Config/default.ts","../../src/lib/divinerPresets.ts","../../src/lib/Config/find.ts","../../src/lib/Config/resolveNetworkFromHostname.ts","../../src/contexts/Provider/Route.tsx","../../src/contexts/use.ts"],"sourcesContent":["export * from './components'\nexport * from './contexts'\nexport * from './lib'\n","import { MenuItem } from '@mui/material'\nimport { assertEx } from '@xylabs/assert'\nimport { SelectEx, SelectExProps } from '@xylabs/react-select'\nimport { useBreakpoint } from '@xylabs/react-shared'\n\nimport { useNetwork } from '../../contexts'\nimport { findNetworkConfig } from '../../lib'\n\nexport type NetworkSelectExProps = Omit<SelectExProps<string>, 'variant'> &\n Partial<SelectExProps<string>> & {\n responsive?: boolean\n }\n\nexport const NetworkSelectEx: React.FC<NetworkSelectExProps> = ({ onChange, variant = 'outlined', responsive = true, ...props }) => {\n const { network, setNetwork, networks } = useNetwork(false)\n const sm = useBreakpoint() === 'sm'\n return (\n <SelectEx\n variant={variant}\n size=\"small\"\n value={network?.slug ?? ''}\n onChange={(event, child) => {\n if (event.target.value !== network?.slug) {\n onChange?.(event, child)\n setNetwork?.(assertEx(findNetworkConfig(event.target.value, networks)))\n }\n }}\n {...props}\n >\n {networks?.map((network) => {\n return (\n <MenuItem key={network.slug} value={network.slug}>\n {responsive && sm ? network.name?.[0].toUpperCase() : network.name}\n </MenuItem>\n )\n })}\n </SelectEx>\n )\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { NetworkContextState } from './State'\n\nexport const NetworkContext = createContextEx<NetworkContextState>()\n","import { WithChildren } from '@xylabs/react-shared'\nimport { useState } from 'react'\n\nimport { defaultNetworkConfigs } from '../../lib'\nimport { NetworkContext } from '../Context'\nimport { NetworkProviderProps } from './Props'\n\nexport const NetworkMemoryProvider: React.FC<WithChildren<NetworkProviderProps>> = ({ defaultNetworkConfig, defaultNetworkName, ...props }) => {\n if (defaultNetworkConfig && defaultNetworkName) {\n console.warn('Both defaultNetworkConfig and defaultNetworkName were passed to provider. Falling back to defaultNetworkConfig')\n }\n\n const resolvedDefaultNetworkConfig = defaultNetworkName ? defaultNetworkConfigs.find((config) => config.name === defaultNetworkName) : undefined\n\n const [network, setNetwork] = useState(defaultNetworkConfig ?? resolvedDefaultNetworkConfig ?? defaultNetworkConfigs[0])\n\n return <NetworkContext.Provider value={{ network, networks: defaultNetworkConfigs, provided: true, setNetwork }} {...props} />\n}\n\n/** @deprecated use NetworkMemoryProvider instead */\nexport const NetworkProvider = NetworkMemoryProvider\n","import { Hash } from '@xylabs/hex'\nimport { NetworkNodePayload, NetworkNodeSchema } from '@xyo-network/network'\n\nimport { ExplorerMapHashes } from './ExplorerMapHashes'\n\nexport type ArchivistPreset = NetworkNodePayload & {\n explorerMapHashes?: {\n animatedAnswerHashes: Hash[]\n staticAnswerHash: Hash\n }\n}\n\nexport const findArchivistPreset = (slug: string) => {\n return (\n archivistPresets.find((item) => {\n return item.slug === slug\n }) ?? archivistPresets[0]\n )\n}\n\nexport const archivistPresets: ArchivistPreset[] = [\n {\n docs: 'https://beta.archivist.xyo.network/api',\n explorerMapHashes: ExplorerMapHashes,\n name: 'XYO Shared Archivist (kerplunk)',\n schema: NetworkNodeSchema,\n slug: 'kerplunk-archivist-xyo-network',\n type: 'archivist',\n uri: 'https://beta.api.archivist.xyo.network',\n },\n {\n docs: 'https://archivist.xyo.network/api',\n explorerMapHashes: ExplorerMapHashes,\n name: 'XYO Shared Archivist (main)',\n schema: NetworkNodeSchema,\n slug: 'main-archivist-xyo-network',\n type: 'archivist',\n uri: 'https://api.archivist.xyo.network',\n },\n {\n docs: 'http://localhost:8080/api',\n name: 'XYO Shared Archivist (local)',\n schema: NetworkNodeSchema,\n slug: 'local-archivist-xyo-network',\n type: 'archivist',\n uri: 'http://localhost:8080',\n },\n]\n","import { Hash } from '@xylabs/hex'\nexport const ExplorerMapHashes: { animatedAnswerHashes: Hash[]; staticAnswerHash: Hash } = {\n animatedAnswerHashes: [\n '79af071f451fc7af10d009dc63236ef9a9b211732c1ee0c06f028fcecf2336c5',\n '531bfba6d8dfefd3bcc888aca54cdbbd4574ed2b3ec551b230845a1f9a608898',\n 'c874412b4faa4947de81372fd1ba12fdd6f43f5e408622b7f357cb2bcb3f17cb',\n '29d3f8b882c61a82a1a1675782a27e797ea7196f45a23b4409680ab8b8d5f14e',\n 'cfd20f80ac073fd9518f4ef3f43d2a1f5e4e56e40c2677f38d6f6fecd05df60c',\n '1354fa73497519a39aed19fc99bdbae78a880a1eafb2f7898d607e07db36528d',\n '1043b0d25eacfc5013ae9dba780305a6fbf01a43543bd871d7c00537fca142a9',\n '973dfc5df142851ced258d52d0ac2784e814000ac22e35776f772256b0d4dde9',\n '463808eb74d3d87e6563970e0301a493577f8cd1b501e6e0ffa5e027ad2cea95',\n '15b21acea2e3fd9d1ace3768a72636ee7bdf67a6f8e0807bfa2273dea2207555',\n '32d377bfe7ebe382598c54dd13f8af7510e0a1e2fd2e913311fdd58e517e5e2e',\n ],\n staticAnswerHash: 'c7bbf61f61cfd4a1b2def160c28136fc1d100d39fbdb67b227a2c6e558d9d3a5',\n}\n","import { archivistPresets } from './archivistPresets'\n\nexport const archivistUriToName = () => {\n // eslint-disable-next-line unicorn/no-array-reduce\n return archivistPresets.reduce<Record<string, string>>((acc, { name, uri }) => {\n if (name) {\n acc[uri] = name\n }\n return acc\n }, {})\n}\n","import { NetworkPayload, NetworkSchema } from '@xyo-network/network'\n\nimport { findArchivistPreset } from '../archivistPresets'\nimport { findDivinerPreset } from '../divinerPresets'\n\nexport const defaultNetworkConfigs: NetworkPayload[] = [\n {\n name: 'Kerplunk',\n nodes: [findArchivistPreset('kerplunk-archivist-xyo-network'), findDivinerPreset('beta-location-diviner-xyo-network')],\n schema: NetworkSchema,\n slug: 'kerplunk',\n },\n {\n name: 'Main',\n nodes: [findArchivistPreset('main-archivist-xyo-network'), findDivinerPreset('location-diviner-xyo-network')],\n schema: NetworkSchema,\n slug: 'main',\n },\n {\n name: 'Local',\n nodes: [findArchivistPreset('local-archivist-xyo-network'), findDivinerPreset('local-location-diviner-xyo-network')],\n schema: NetworkSchema,\n slug: 'local',\n },\n]\n\n/** @deprecated use defaultNetworkConfigs instead */\nexport const networkPresets = defaultNetworkConfigs\n","import { NetworkNodePayload, NetworkNodeSchema } from '@xyo-network/network'\n\nexport const findDivinerPreset = (slug: string) => {\n return (\n divinerPresets.find((item) => {\n return item.slug === slug\n }) ?? divinerPresets[0]\n )\n}\n\nexport const divinerPresets: NetworkNodePayload[] = [\n {\n name: 'XYO Location (beta)',\n schema: NetworkNodeSchema,\n slug: 'beta-location-diviner-xyo-network',\n type: 'diviner',\n uri: 'https://beta.api.location.diviner.xyo.network',\n web: 'https://beta.explore.xyo.network',\n },\n {\n name: 'XYO Location',\n schema: NetworkNodeSchema,\n slug: 'location-diviner-xyo-network',\n type: 'diviner',\n uri: 'https://api.location.diviner.xyo.network',\n web: 'https://explore.xyo.network',\n },\n {\n name: 'XYO Location (local)',\n schema: NetworkNodeSchema,\n slug: 'local-location-diviner-xyo-network',\n type: 'diviner',\n uri: 'http://localhost:8082',\n web: 'http://localhost:3000',\n },\n]\n","import { defaultNetworkConfigs } from './default'\n\nexport const findNetworkConfig = (slug: string, configs = defaultNetworkConfigs) => {\n return configs.find((item) => {\n return item.slug === slug\n })\n}\n\n/** @deprecated use findNetworkConfig instead */\nexport const findNetworkPreset = findNetworkConfig\n","import { NetworkNames } from './NetworkNames'\n\nexport type SiteName = 'explore' | 'node'\n\nexport const resolveNetworkFromHostName = (fallback: NetworkNames = 'Kerplunk', siteName: SiteName) => {\n switch (document.location.hostname) {\n case `${siteName}.xyo.network`: {\n return 'Main'\n }\n case `beta.${siteName}.xyo.network`: {\n return 'Kerplunk'\n }\n default: {\n return fallback\n }\n }\n}\n","import { WithChildren } from '@xylabs/react-shared'\nimport { NetworkPayload } from '@xyo-network/network'\nimport { useCallback, useEffect, useState } from 'react'\nimport { useSearchParams } from 'react-router-dom'\n\nimport { defaultNetworkConfigs, findNetworkConfig } from '../../lib'\nimport { NetworkContext } from '../Context'\nimport { useNetwork } from '../use'\nimport { NetworkMemoryProvider } from './Memory'\nimport { NetworkProviderProps } from './Props'\n\nconst NetworkRouteProviderInner: React.FC<WithChildren> = ({ children }) => {\n const [initialized, setInitialized] = useState(false)\n const { network, setNetwork } = useNetwork()\n\n const [params, setParams] = useSearchParams()\n\n const slug = params.get('network')\n const routeNetwork = slug ? findNetworkConfig(slug) : undefined\n\n //update the network stored in the route\n const setNetworkParam = useCallback(\n (network?: NetworkPayload) => {\n if (network) {\n params.set('network', network.slug)\n setParams(params, { replace: true })\n setNetwork?.(network)\n } else {\n params.delete('network')\n }\n },\n [params, setParams, setNetwork],\n )\n\n //if the network is actively changed, update both memory and route\n const setNetworkLocal = useCallback(\n (network: NetworkPayload) => {\n setNetworkParam(network)\n setNetwork?.(network)\n },\n [setNetworkParam, setNetwork],\n )\n\n //sync memory and route storage of network\n useEffect(() => {\n if (routeNetwork !== network) {\n if (routeNetwork === undefined && network !== undefined) {\n //if the route does not have a network selected, use what is in the memory context\n setNetworkParam(network)\n } else if (routeNetwork) {\n //if the route has a selection and it is different from memory, update memory\n setNetwork?.(routeNetwork)\n }\n }\n setInitialized(true)\n }, [routeNetwork, network, setNetworkParam, setNetwork])\n\n return (\n <NetworkContext.Provider value={{ network, networks: defaultNetworkConfigs, provided: true, setNetwork: setNetworkLocal }}>\n {initialized ? children : null}\n </NetworkContext.Provider>\n )\n}\n\nexport const NetworkRouteProvider: React.FC<WithChildren<NetworkProviderProps>> = ({ defaultNetworkConfig, defaultNetworkName, ...props }) => {\n return (\n <NetworkMemoryProvider defaultNetworkConfig={defaultNetworkConfig} defaultNetworkName={defaultNetworkName}>\n <NetworkRouteProviderInner {...props} />\n </NetworkMemoryProvider>\n )\n}\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { NetworkContext } from './Context'\nimport { NetworkContextState } from './State'\n\nexport const useNetwork = (required = false) => {\n return useContextEx<NetworkContextState>(NetworkContext, 'Network', required)\n}\n"],"mappings":"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","names":["import_react_shared","import_network","import_network","import_react","import_react_shared","import_jsx_runtime","network","import_jsx_runtime","network"]}
@@ -0,0 +1,4 @@
1
+ export * from './components';
2
+ export * from './contexts';
3
+ export * from './lib';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,OAAO,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from './components';
2
+ export * from './contexts';
3
+ export * from './lib';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,OAAO,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from './components';
2
+ export * from './contexts';
3
+ export * from './lib';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,OAAO,CAAA"}
@@ -0,0 +1,270 @@
1
+ // src/components/SelectEx/NetworkSelectEx.tsx
2
+ import { MenuItem } from "@mui/material";
3
+ import { assertEx } from "@xylabs/assert";
4
+ import { SelectEx } from "@xylabs/react-select";
5
+ import { useBreakpoint } from "@xylabs/react-shared";
6
+
7
+ // src/contexts/Context.ts
8
+ import { createContextEx } from "@xyo-network/react-shared";
9
+ var NetworkContext = createContextEx();
10
+
11
+ // src/contexts/Provider/Memory.tsx
12
+ import { useState } from "react";
13
+
14
+ // src/lib/archivistPresets.ts
15
+ import { NetworkNodeSchema } from "@xyo-network/network";
16
+
17
+ // src/lib/ExplorerMapHashes.ts
18
+ var ExplorerMapHashes = {
19
+ animatedAnswerHashes: [
20
+ "79af071f451fc7af10d009dc63236ef9a9b211732c1ee0c06f028fcecf2336c5",
21
+ "531bfba6d8dfefd3bcc888aca54cdbbd4574ed2b3ec551b230845a1f9a608898",
22
+ "c874412b4faa4947de81372fd1ba12fdd6f43f5e408622b7f357cb2bcb3f17cb",
23
+ "29d3f8b882c61a82a1a1675782a27e797ea7196f45a23b4409680ab8b8d5f14e",
24
+ "cfd20f80ac073fd9518f4ef3f43d2a1f5e4e56e40c2677f38d6f6fecd05df60c",
25
+ "1354fa73497519a39aed19fc99bdbae78a880a1eafb2f7898d607e07db36528d",
26
+ "1043b0d25eacfc5013ae9dba780305a6fbf01a43543bd871d7c00537fca142a9",
27
+ "973dfc5df142851ced258d52d0ac2784e814000ac22e35776f772256b0d4dde9",
28
+ "463808eb74d3d87e6563970e0301a493577f8cd1b501e6e0ffa5e027ad2cea95",
29
+ "15b21acea2e3fd9d1ace3768a72636ee7bdf67a6f8e0807bfa2273dea2207555",
30
+ "32d377bfe7ebe382598c54dd13f8af7510e0a1e2fd2e913311fdd58e517e5e2e"
31
+ ],
32
+ staticAnswerHash: "c7bbf61f61cfd4a1b2def160c28136fc1d100d39fbdb67b227a2c6e558d9d3a5"
33
+ };
34
+
35
+ // src/lib/archivistPresets.ts
36
+ var findArchivistPreset = (slug) => {
37
+ return archivistPresets.find((item) => {
38
+ return item.slug === slug;
39
+ }) ?? archivistPresets[0];
40
+ };
41
+ var archivistPresets = [
42
+ {
43
+ docs: "https://beta.archivist.xyo.network/api",
44
+ explorerMapHashes: ExplorerMapHashes,
45
+ name: "XYO Shared Archivist (kerplunk)",
46
+ schema: NetworkNodeSchema,
47
+ slug: "kerplunk-archivist-xyo-network",
48
+ type: "archivist",
49
+ uri: "https://beta.api.archivist.xyo.network"
50
+ },
51
+ {
52
+ docs: "https://archivist.xyo.network/api",
53
+ explorerMapHashes: ExplorerMapHashes,
54
+ name: "XYO Shared Archivist (main)",
55
+ schema: NetworkNodeSchema,
56
+ slug: "main-archivist-xyo-network",
57
+ type: "archivist",
58
+ uri: "https://api.archivist.xyo.network"
59
+ },
60
+ {
61
+ docs: "http://localhost:8080/api",
62
+ name: "XYO Shared Archivist (local)",
63
+ schema: NetworkNodeSchema,
64
+ slug: "local-archivist-xyo-network",
65
+ type: "archivist",
66
+ uri: "http://localhost:8080"
67
+ }
68
+ ];
69
+
70
+ // src/lib/archivistNameToUri.ts
71
+ var archivistUriToName = () => {
72
+ return archivistPresets.reduce((acc, { name, uri }) => {
73
+ if (name) {
74
+ acc[uri] = name;
75
+ }
76
+ return acc;
77
+ }, {});
78
+ };
79
+
80
+ // src/lib/Config/default.ts
81
+ import { NetworkSchema } from "@xyo-network/network";
82
+
83
+ // src/lib/divinerPresets.ts
84
+ import { NetworkNodeSchema as NetworkNodeSchema2 } from "@xyo-network/network";
85
+ var findDivinerPreset = (slug) => {
86
+ return divinerPresets.find((item) => {
87
+ return item.slug === slug;
88
+ }) ?? divinerPresets[0];
89
+ };
90
+ var divinerPresets = [
91
+ {
92
+ name: "XYO Location (beta)",
93
+ schema: NetworkNodeSchema2,
94
+ slug: "beta-location-diviner-xyo-network",
95
+ type: "diviner",
96
+ uri: "https://beta.api.location.diviner.xyo.network",
97
+ web: "https://beta.explore.xyo.network"
98
+ },
99
+ {
100
+ name: "XYO Location",
101
+ schema: NetworkNodeSchema2,
102
+ slug: "location-diviner-xyo-network",
103
+ type: "diviner",
104
+ uri: "https://api.location.diviner.xyo.network",
105
+ web: "https://explore.xyo.network"
106
+ },
107
+ {
108
+ name: "XYO Location (local)",
109
+ schema: NetworkNodeSchema2,
110
+ slug: "local-location-diviner-xyo-network",
111
+ type: "diviner",
112
+ uri: "http://localhost:8082",
113
+ web: "http://localhost:3000"
114
+ }
115
+ ];
116
+
117
+ // src/lib/Config/default.ts
118
+ var defaultNetworkConfigs = [
119
+ {
120
+ name: "Kerplunk",
121
+ nodes: [findArchivistPreset("kerplunk-archivist-xyo-network"), findDivinerPreset("beta-location-diviner-xyo-network")],
122
+ schema: NetworkSchema,
123
+ slug: "kerplunk"
124
+ },
125
+ {
126
+ name: "Main",
127
+ nodes: [findArchivistPreset("main-archivist-xyo-network"), findDivinerPreset("location-diviner-xyo-network")],
128
+ schema: NetworkSchema,
129
+ slug: "main"
130
+ },
131
+ {
132
+ name: "Local",
133
+ nodes: [findArchivistPreset("local-archivist-xyo-network"), findDivinerPreset("local-location-diviner-xyo-network")],
134
+ schema: NetworkSchema,
135
+ slug: "local"
136
+ }
137
+ ];
138
+ var networkPresets = defaultNetworkConfigs;
139
+
140
+ // src/lib/Config/find.ts
141
+ var findNetworkConfig = (slug, configs = defaultNetworkConfigs) => {
142
+ return configs.find((item) => {
143
+ return item.slug === slug;
144
+ });
145
+ };
146
+ var findNetworkPreset = findNetworkConfig;
147
+
148
+ // src/lib/Config/resolveNetworkFromHostname.ts
149
+ var resolveNetworkFromHostName = (fallback = "Kerplunk", siteName) => {
150
+ switch (document.location.hostname) {
151
+ case `${siteName}.xyo.network`: {
152
+ return "Main";
153
+ }
154
+ case `beta.${siteName}.xyo.network`: {
155
+ return "Kerplunk";
156
+ }
157
+ default: {
158
+ return fallback;
159
+ }
160
+ }
161
+ };
162
+
163
+ // src/contexts/Provider/Memory.tsx
164
+ import { jsx } from "react/jsx-runtime";
165
+ var NetworkMemoryProvider = ({ defaultNetworkConfig, defaultNetworkName, ...props }) => {
166
+ if (defaultNetworkConfig && defaultNetworkName) {
167
+ console.warn("Both defaultNetworkConfig and defaultNetworkName were passed to provider. Falling back to defaultNetworkConfig");
168
+ }
169
+ const resolvedDefaultNetworkConfig = defaultNetworkName ? defaultNetworkConfigs.find((config) => config.name === defaultNetworkName) : void 0;
170
+ const [network, setNetwork] = useState(defaultNetworkConfig ?? resolvedDefaultNetworkConfig ?? defaultNetworkConfigs[0]);
171
+ return /* @__PURE__ */ jsx(NetworkContext.Provider, { value: { network, networks: defaultNetworkConfigs, provided: true, setNetwork }, ...props });
172
+ };
173
+ var NetworkProvider = NetworkMemoryProvider;
174
+
175
+ // src/contexts/Provider/Route.tsx
176
+ import { useCallback, useEffect, useState as useState2 } from "react";
177
+ import { useSearchParams } from "react-router-dom";
178
+
179
+ // src/contexts/use.ts
180
+ import { useContextEx } from "@xyo-network/react-shared";
181
+ var useNetwork = (required = false) => {
182
+ return useContextEx(NetworkContext, "Network", required);
183
+ };
184
+
185
+ // src/contexts/Provider/Route.tsx
186
+ import { jsx as jsx2 } from "react/jsx-runtime";
187
+ var NetworkRouteProviderInner = ({ children }) => {
188
+ const [initialized, setInitialized] = useState2(false);
189
+ const { network, setNetwork } = useNetwork();
190
+ const [params, setParams] = useSearchParams();
191
+ const slug = params.get("network");
192
+ const routeNetwork = slug ? findNetworkConfig(slug) : void 0;
193
+ const setNetworkParam = useCallback(
194
+ (network2) => {
195
+ if (network2) {
196
+ params.set("network", network2.slug);
197
+ setParams(params, { replace: true });
198
+ setNetwork?.(network2);
199
+ } else {
200
+ params.delete("network");
201
+ }
202
+ },
203
+ [params, setParams, setNetwork]
204
+ );
205
+ const setNetworkLocal = useCallback(
206
+ (network2) => {
207
+ setNetworkParam(network2);
208
+ setNetwork?.(network2);
209
+ },
210
+ [setNetworkParam, setNetwork]
211
+ );
212
+ useEffect(() => {
213
+ if (routeNetwork !== network) {
214
+ if (routeNetwork === void 0 && network !== void 0) {
215
+ setNetworkParam(network);
216
+ } else if (routeNetwork) {
217
+ setNetwork?.(routeNetwork);
218
+ }
219
+ }
220
+ setInitialized(true);
221
+ }, [routeNetwork, network, setNetworkParam, setNetwork]);
222
+ return /* @__PURE__ */ jsx2(NetworkContext.Provider, { value: { network, networks: defaultNetworkConfigs, provided: true, setNetwork: setNetworkLocal }, children: initialized ? children : null });
223
+ };
224
+ var NetworkRouteProvider = ({ defaultNetworkConfig, defaultNetworkName, ...props }) => {
225
+ return /* @__PURE__ */ jsx2(NetworkMemoryProvider, { defaultNetworkConfig, defaultNetworkName, children: /* @__PURE__ */ jsx2(NetworkRouteProviderInner, { ...props }) });
226
+ };
227
+
228
+ // src/components/SelectEx/NetworkSelectEx.tsx
229
+ import { jsx as jsx3 } from "react/jsx-runtime";
230
+ var NetworkSelectEx = ({ onChange, variant = "outlined", responsive = true, ...props }) => {
231
+ const { network, setNetwork, networks } = useNetwork(false);
232
+ const sm = useBreakpoint() === "sm";
233
+ return /* @__PURE__ */ jsx3(
234
+ SelectEx,
235
+ {
236
+ variant,
237
+ size: "small",
238
+ value: network?.slug ?? "",
239
+ onChange: (event, child) => {
240
+ if (event.target.value !== network?.slug) {
241
+ onChange?.(event, child);
242
+ setNetwork?.(assertEx(findNetworkConfig(event.target.value, networks)));
243
+ }
244
+ },
245
+ ...props,
246
+ children: networks?.map((network2) => {
247
+ return /* @__PURE__ */ jsx3(MenuItem, { value: network2.slug, children: responsive && sm ? network2.name?.[0].toUpperCase() : network2.name }, network2.slug);
248
+ })
249
+ }
250
+ );
251
+ };
252
+ export {
253
+ NetworkContext,
254
+ NetworkMemoryProvider,
255
+ NetworkProvider,
256
+ NetworkRouteProvider,
257
+ NetworkSelectEx,
258
+ archivistPresets,
259
+ archivistUriToName,
260
+ defaultNetworkConfigs,
261
+ divinerPresets,
262
+ findArchivistPreset,
263
+ findDivinerPreset,
264
+ findNetworkConfig,
265
+ findNetworkPreset,
266
+ networkPresets,
267
+ resolveNetworkFromHostName,
268
+ useNetwork
269
+ };
270
+ //# sourceMappingURL=index.js.map