@xyo-network/react-network 7.5.7 → 7.5.11
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.
- package/dist/browser/contexts/Provider/Route.d.ts.map +1 -1
- package/dist/browser/index.mjs +97 -106
- package/dist/browser/index.mjs.map +1 -1
- package/package.json +55 -30
- package/src/components/SelectEx/NetworkSelectEx.stories.tsx +0 -99
- package/src/components/SelectEx/NetworkSelectEx.tsx +0 -45
- package/src/components/SelectEx/index.ts +0 -1
- package/src/components/index.ts +0 -1
- package/src/contexts/Context.ts +0 -5
- package/src/contexts/Provider/Memory.stories.tsx +0 -56
- package/src/contexts/Provider/Memory.tsx +0 -28
- package/src/contexts/Provider/Props.ts +0 -10
- package/src/contexts/Provider/Route.tsx +0 -74
- package/src/contexts/Provider/index.ts +0 -3
- package/src/contexts/State.ts +0 -12
- package/src/contexts/index.ts +0 -4
- package/src/contexts/use.ts +0 -8
- package/src/index.ts +0 -3
- package/src/lib/Config/NetworkNames.ts +0 -1
- package/src/lib/Config/default.ts +0 -35
- package/src/lib/Config/find.ts +0 -10
- package/src/lib/Config/index.ts +0 -4
- package/src/lib/Config/resolveNetworkFromHostname.ts +0 -17
- package/src/lib/ExplorerMapHashes.ts +0 -17
- package/src/lib/archivistNameToUri.ts +0 -11
- package/src/lib/archivistPresets.ts +0 -49
- package/src/lib/divinerPresets.ts +0 -37
- package/src/lib/index.ts +0 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Route.d.ts","sourceRoot":"","sources":["../../../../src/contexts/Provider/Route.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAC9C,OAAO,
|
|
1
|
+
{"version":3,"file":"Route.d.ts","sourceRoot":"","sources":["../../../../src/contexts/Provider/Route.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAC9C,OAAO,KAEN,MAAM,OAAO,CAAA;AAOd,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAyDtD,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAQlF,CAAA"}
|
package/dist/browser/index.mjs
CHANGED
|
@@ -1,19 +1,15 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
|
|
4
1
|
// src/components/SelectEx/NetworkSelectEx.tsx
|
|
5
2
|
import { MenuItem } from "@mui/material";
|
|
6
3
|
import { SelectEx } from "@xylabs/react-select";
|
|
7
4
|
import { useBreakpoint } from "@xylabs/react-shared";
|
|
8
5
|
import { assertEx } from "@xylabs/sdk-js";
|
|
9
|
-
import React3 from "react";
|
|
10
6
|
|
|
11
7
|
// src/contexts/Context.ts
|
|
12
8
|
import { createContextEx } from "@xylabs/react-shared";
|
|
13
9
|
var NetworkContext = createContextEx();
|
|
14
10
|
|
|
15
11
|
// src/contexts/Provider/Memory.tsx
|
|
16
|
-
import
|
|
12
|
+
import { useMemo, useState } from "react";
|
|
17
13
|
|
|
18
14
|
// src/lib/archivistPresets.ts
|
|
19
15
|
import { NetworkNodeSchema } from "@xyo-network/network";
|
|
@@ -37,11 +33,11 @@ var ExplorerMapHashes = {
|
|
|
37
33
|
};
|
|
38
34
|
|
|
39
35
|
// src/lib/archivistPresets.ts
|
|
40
|
-
var findArchivistPreset =
|
|
36
|
+
var findArchivistPreset = (slug) => {
|
|
41
37
|
return archivistPresets.find((item) => {
|
|
42
38
|
return item.slug === slug;
|
|
43
39
|
}) ?? archivistPresets[0];
|
|
44
|
-
}
|
|
40
|
+
};
|
|
45
41
|
var archivistPresets = [
|
|
46
42
|
{
|
|
47
43
|
docs: "https://beta.archivist.xyo.network/api",
|
|
@@ -72,25 +68,25 @@ var archivistPresets = [
|
|
|
72
68
|
];
|
|
73
69
|
|
|
74
70
|
// src/lib/archivistNameToUri.ts
|
|
75
|
-
var archivistUriToName =
|
|
71
|
+
var archivistUriToName = () => {
|
|
76
72
|
return archivistPresets.reduce((acc, { name, uri }) => {
|
|
77
73
|
if (name) {
|
|
78
74
|
acc[uri] = name;
|
|
79
75
|
}
|
|
80
76
|
return acc;
|
|
81
77
|
}, {});
|
|
82
|
-
}
|
|
78
|
+
};
|
|
83
79
|
|
|
84
80
|
// src/lib/Config/default.ts
|
|
85
81
|
import { NetworkSchema } from "@xyo-network/network";
|
|
86
82
|
|
|
87
83
|
// src/lib/divinerPresets.ts
|
|
88
84
|
import { NetworkNodeSchema as NetworkNodeSchema2 } from "@xyo-network/network";
|
|
89
|
-
var findDivinerPreset =
|
|
85
|
+
var findDivinerPreset = (slug) => {
|
|
90
86
|
return divinerPresets.find((item) => {
|
|
91
87
|
return item.slug === slug;
|
|
92
88
|
}) ?? divinerPresets[0];
|
|
93
|
-
}
|
|
89
|
+
};
|
|
94
90
|
var divinerPresets = [
|
|
95
91
|
{
|
|
96
92
|
name: "XYO Location (beta)",
|
|
@@ -122,37 +118,25 @@ var divinerPresets = [
|
|
|
122
118
|
var defaultNetworkConfigs = [
|
|
123
119
|
{
|
|
124
120
|
name: "Kerplunk",
|
|
125
|
-
nodes: [
|
|
126
|
-
findArchivistPreset("kerplunk-archivist-xyo-network"),
|
|
127
|
-
findDivinerPreset("beta-location-diviner-xyo-network")
|
|
128
|
-
],
|
|
121
|
+
nodes: [findArchivistPreset("kerplunk-archivist-xyo-network"), findDivinerPreset("beta-location-diviner-xyo-network")],
|
|
129
122
|
schema: NetworkSchema,
|
|
130
123
|
slug: "kerplunk"
|
|
131
124
|
},
|
|
132
125
|
{
|
|
133
126
|
name: "Main",
|
|
134
|
-
nodes: [
|
|
135
|
-
findArchivistPreset("main-archivist-xyo-network"),
|
|
136
|
-
findDivinerPreset("location-diviner-xyo-network")
|
|
137
|
-
],
|
|
127
|
+
nodes: [findArchivistPreset("main-archivist-xyo-network"), findDivinerPreset("location-diviner-xyo-network")],
|
|
138
128
|
schema: NetworkSchema,
|
|
139
129
|
slug: "main"
|
|
140
130
|
},
|
|
141
131
|
{
|
|
142
132
|
name: "Local",
|
|
143
|
-
nodes: [
|
|
144
|
-
findArchivistPreset("local-archivist-xyo-network"),
|
|
145
|
-
findDivinerPreset("local-location-diviner-xyo-network")
|
|
146
|
-
],
|
|
133
|
+
nodes: [findArchivistPreset("local-archivist-xyo-network"), findDivinerPreset("local-location-diviner-xyo-network")],
|
|
147
134
|
schema: NetworkSchema,
|
|
148
135
|
slug: "local"
|
|
149
136
|
},
|
|
150
137
|
{
|
|
151
138
|
name: "Custom",
|
|
152
|
-
nodes: [
|
|
153
|
-
findArchivistPreset("kerplunk-archivist-xyo-network"),
|
|
154
|
-
findDivinerPreset("beta-location-diviner-xyo-network")
|
|
155
|
-
],
|
|
139
|
+
nodes: [findArchivistPreset("kerplunk-archivist-xyo-network"), findDivinerPreset("beta-location-diviner-xyo-network")],
|
|
156
140
|
schema: NetworkSchema,
|
|
157
141
|
slug: "custom"
|
|
158
142
|
}
|
|
@@ -160,15 +144,15 @@ var defaultNetworkConfigs = [
|
|
|
160
144
|
var networkPresets = defaultNetworkConfigs;
|
|
161
145
|
|
|
162
146
|
// src/lib/Config/find.ts
|
|
163
|
-
var findNetworkConfig =
|
|
147
|
+
var findNetworkConfig = (slug, configs = defaultNetworkConfigs) => {
|
|
164
148
|
return configs.find((item) => {
|
|
165
149
|
return item.slug === slug;
|
|
166
150
|
});
|
|
167
|
-
}
|
|
151
|
+
};
|
|
168
152
|
var findNetworkPreset = findNetworkConfig;
|
|
169
153
|
|
|
170
154
|
// src/lib/Config/resolveNetworkFromHostname.ts
|
|
171
|
-
var resolveNetworkFromHostName =
|
|
155
|
+
var resolveNetworkFromHostName = (fallback = "Kerplunk", siteName) => {
|
|
172
156
|
switch (document.location.hostname) {
|
|
173
157
|
case `${siteName}.xyo.network`: {
|
|
174
158
|
return "Main";
|
|
@@ -180,10 +164,15 @@ var resolveNetworkFromHostName = /* @__PURE__ */ __name((fallback = "Kerplunk",
|
|
|
180
164
|
return fallback;
|
|
181
165
|
}
|
|
182
166
|
}
|
|
183
|
-
}
|
|
167
|
+
};
|
|
184
168
|
|
|
185
169
|
// src/contexts/Provider/Memory.tsx
|
|
186
|
-
|
|
170
|
+
import { jsx } from "react/jsx-runtime";
|
|
171
|
+
var NetworkMemoryProvider = ({
|
|
172
|
+
defaultNetworkConfig,
|
|
173
|
+
defaultNetworkName,
|
|
174
|
+
...props
|
|
175
|
+
}) => {
|
|
187
176
|
if (defaultNetworkConfig && defaultNetworkName) {
|
|
188
177
|
console.warn("Both defaultNetworkConfig and defaultNetworkName were passed to provider. Falling back to defaultNetworkConfig");
|
|
189
178
|
}
|
|
@@ -194,55 +183,51 @@ var NetworkMemoryProvider = /* @__PURE__ */ __name(({ defaultNetworkConfig, defa
|
|
|
194
183
|
networks: defaultNetworkConfigs,
|
|
195
184
|
provided: true,
|
|
196
185
|
setNetwork
|
|
197
|
-
}), [
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
]);
|
|
201
|
-
return /* @__PURE__ */ React.createElement(NetworkContext, {
|
|
202
|
-
value,
|
|
203
|
-
...props
|
|
204
|
-
});
|
|
205
|
-
}, "NetworkMemoryProvider");
|
|
186
|
+
}), [network, setNetwork]);
|
|
187
|
+
return /* @__PURE__ */ jsx(NetworkContext, { value, ...props });
|
|
188
|
+
};
|
|
206
189
|
var NetworkProvider = NetworkMemoryProvider;
|
|
207
190
|
|
|
208
191
|
// src/contexts/Provider/Route.tsx
|
|
209
|
-
import
|
|
192
|
+
import {
|
|
193
|
+
useCallback,
|
|
194
|
+
useEffect,
|
|
195
|
+
useMemo as useMemo2
|
|
196
|
+
} from "react";
|
|
210
197
|
import { useSearchParams } from "react-router-dom";
|
|
211
198
|
|
|
212
199
|
// src/contexts/use.ts
|
|
213
200
|
import { useContextEx } from "@xylabs/react-shared";
|
|
214
|
-
var useNetwork =
|
|
201
|
+
var useNetwork = (required = false) => {
|
|
215
202
|
return useContextEx(NetworkContext, "Network", required);
|
|
216
|
-
}
|
|
203
|
+
};
|
|
217
204
|
|
|
218
205
|
// src/contexts/Provider/Route.tsx
|
|
219
|
-
|
|
206
|
+
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
207
|
+
var NetworkRouteProviderInner = ({ children }) => {
|
|
220
208
|
const { network, setNetwork } = useNetwork();
|
|
221
209
|
const [params, setParams] = useSearchParams();
|
|
222
210
|
const slug = params.get("network");
|
|
223
211
|
const routeNetwork = slug ? findNetworkConfig(slug) : void 0;
|
|
224
|
-
const setNetworkParam = useCallback(
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
replace: true
|
|
229
|
-
|
|
212
|
+
const setNetworkParam = useCallback(
|
|
213
|
+
(network2) => {
|
|
214
|
+
if (network2) {
|
|
215
|
+
params.set("network", network2.slug);
|
|
216
|
+
setParams(params, { replace: true });
|
|
217
|
+
setNetwork?.(network2);
|
|
218
|
+
} else {
|
|
219
|
+
params.delete("network");
|
|
220
|
+
}
|
|
221
|
+
},
|
|
222
|
+
[params, setParams, setNetwork]
|
|
223
|
+
);
|
|
224
|
+
const setNetworkLocal = useCallback(
|
|
225
|
+
(network2) => {
|
|
226
|
+
setNetworkParam(network2);
|
|
230
227
|
setNetwork?.(network2);
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
}, [
|
|
235
|
-
params,
|
|
236
|
-
setParams,
|
|
237
|
-
setNetwork
|
|
238
|
-
]);
|
|
239
|
-
const setNetworkLocal = useCallback((network2) => {
|
|
240
|
-
setNetworkParam(network2);
|
|
241
|
-
setNetwork?.(network2);
|
|
242
|
-
}, [
|
|
243
|
-
setNetworkParam,
|
|
244
|
-
setNetwork
|
|
245
|
-
]);
|
|
228
|
+
},
|
|
229
|
+
[setNetworkParam, setNetwork]
|
|
230
|
+
);
|
|
246
231
|
useEffect(() => {
|
|
247
232
|
if (routeNetwork !== network) {
|
|
248
233
|
if (routeNetwork === void 0 && network !== void 0) {
|
|
@@ -251,50 +236,56 @@ var NetworkRouteProviderInner = /* @__PURE__ */ __name(({ children }) => {
|
|
|
251
236
|
setNetwork?.(routeNetwork);
|
|
252
237
|
}
|
|
253
238
|
}
|
|
254
|
-
}, [
|
|
255
|
-
|
|
239
|
+
}, [routeNetwork, network, setNetworkParam, setNetwork]);
|
|
240
|
+
const value = useMemo2(() => ({
|
|
256
241
|
network,
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
return /* @__PURE__ */ React2.createElement(NetworkMemoryProvider, {
|
|
271
|
-
defaultNetworkConfig,
|
|
272
|
-
defaultNetworkName
|
|
273
|
-
}, /* @__PURE__ */ React2.createElement(NetworkRouteProviderInner, props));
|
|
274
|
-
}, "NetworkRouteProvider");
|
|
242
|
+
networks: defaultNetworkConfigs,
|
|
243
|
+
provided: true,
|
|
244
|
+
setNetwork: setNetworkLocal
|
|
245
|
+
}), [network, setNetworkLocal]);
|
|
246
|
+
return /* @__PURE__ */ jsx2(NetworkContext, { value, children: network ? children : null });
|
|
247
|
+
};
|
|
248
|
+
var NetworkRouteProvider = ({
|
|
249
|
+
defaultNetworkConfig,
|
|
250
|
+
defaultNetworkName,
|
|
251
|
+
...props
|
|
252
|
+
}) => {
|
|
253
|
+
return /* @__PURE__ */ jsx2(NetworkMemoryProvider, { defaultNetworkConfig, defaultNetworkName, children: /* @__PURE__ */ jsx2(NetworkRouteProviderInner, { ...props }) });
|
|
254
|
+
};
|
|
275
255
|
|
|
276
256
|
// src/components/SelectEx/NetworkSelectEx.tsx
|
|
277
|
-
|
|
278
|
-
|
|
257
|
+
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
258
|
+
var NetworkSelectEx = ({
|
|
259
|
+
onChange,
|
|
260
|
+
variant = "outlined",
|
|
261
|
+
responsive = true,
|
|
262
|
+
...props
|
|
263
|
+
}) => {
|
|
264
|
+
const {
|
|
265
|
+
network,
|
|
266
|
+
setNetwork,
|
|
267
|
+
networks
|
|
268
|
+
} = useNetwork(false);
|
|
279
269
|
const sm = useBreakpoint() === "sm";
|
|
280
|
-
return /* @__PURE__ */
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
270
|
+
return /* @__PURE__ */ jsx3(
|
|
271
|
+
SelectEx,
|
|
272
|
+
{
|
|
273
|
+
variant,
|
|
274
|
+
size: "small",
|
|
275
|
+
value: network?.slug ?? "",
|
|
276
|
+
onChange: (event, child) => {
|
|
277
|
+
if (event.target.value !== network?.slug) {
|
|
278
|
+
onChange?.(event, child);
|
|
279
|
+
setNetwork?.(assertEx(findNetworkConfig(event.target.value, networks)));
|
|
280
|
+
}
|
|
281
|
+
},
|
|
282
|
+
...props,
|
|
283
|
+
children: networks?.map((network2) => {
|
|
284
|
+
return /* @__PURE__ */ jsx3(MenuItem, { value: network2.slug, children: responsive && sm ? network2.name?.[0].toUpperCase() : network2.name }, network2.slug);
|
|
285
|
+
})
|
|
286
|
+
}
|
|
287
|
+
);
|
|
288
|
+
};
|
|
298
289
|
export {
|
|
299
290
|
NetworkContext,
|
|
300
291
|
NetworkMemoryProvider,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../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":["import { MenuItem } from '@mui/material'\nimport type { SelectExProps } from '@xylabs/react-select'\nimport { SelectEx } from '@xylabs/react-select'\nimport { useBreakpoint } from '@xylabs/react-shared'\nimport { assertEx } from '@xylabs/sdk-js'\nimport React from 'react'\n\nimport { useNetwork } from '../../contexts/index.ts'\nimport { findNetworkConfig } from '../../lib/index.ts'\n\nexport type NetworkSelectExProps = Omit<SelectExProps<string>, 'variant'>\n & Partial<SelectExProps<string>> & {\n responsive?: boolean\n }\n\nexport const NetworkSelectEx: React.FC<NetworkSelectExProps> = ({\n onChange, variant = 'outlined', responsive = true, ...props\n}) => {\n const {\n network, setNetwork, networks,\n } = 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 '@xylabs/react-shared'\n\nimport type { NetworkContextState } from './State.ts'\n\nexport const NetworkContext = createContextEx<NetworkContextState>()\n","import type { PropsWithChildren } from 'react'\nimport React, { useMemo, useState } from 'react'\n\nimport { defaultNetworkConfigs } from '../../lib/index.ts'\nimport { NetworkContext } from '../Context.ts'\nimport type { NetworkContextState } from '../State.ts'\nimport type { NetworkProviderProps } from './Props.ts'\n\nexport const NetworkMemoryProvider: React.FC<PropsWithChildren<NetworkProviderProps>> = ({\n defaultNetworkConfig, defaultNetworkName, ...props\n}) => {\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 const value: NetworkContextState = useMemo(() => ({\n network, networks: defaultNetworkConfigs, provided: true, setNetwork,\n }), [network, setNetwork])\n\n return <NetworkContext value={value} {...props} />\n}\n\n/** @deprecated use NetworkMemoryProvider instead */\nexport const NetworkProvider = NetworkMemoryProvider\n","import type { Hash } from '@xylabs/sdk-js'\nimport type { NetworkNodePayload } from '@xyo-network/network'\nimport { NetworkNodeSchema } from '@xyo-network/network'\n\nimport { ExplorerMapHashes } from './ExplorerMapHashes.ts'\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 type { Hash } from '@xylabs/sdk-js'\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 ] as Hash[],\n staticAnswerHash: 'c7bbf61f61cfd4a1b2def160c28136fc1d100d39fbdb67b227a2c6e558d9d3a5' as Hash,\n}\n","import { archivistPresets } from './archivistPresets.ts'\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 type { NetworkPayload } from '@xyo-network/network'\nimport { NetworkSchema } from '@xyo-network/network'\n\nimport { findArchivistPreset } from '../archivistPresets.ts'\nimport { findDivinerPreset } from '../divinerPresets.ts'\n\nexport const defaultNetworkConfigs: (Omit<NetworkPayload, 'schema'> & { schema: NetworkSchema })[] = [\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 name: 'Custom',\n nodes: [findArchivistPreset('kerplunk-archivist-xyo-network'), findDivinerPreset('beta-location-diviner-xyo-network')],\n schema: NetworkSchema,\n slug: 'custom',\n },\n]\n\n/** @deprecated use defaultNetworkConfigs instead */\nexport const networkPresets = defaultNetworkConfigs\n","import type { NetworkNodePayload } from '@xyo-network/network'\nimport { 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.ts'\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 type { NetworkNames } from './NetworkNames.ts'\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 type { NetworkPayload, NetworkSchema } from '@xyo-network/network'\nimport type { PropsWithChildren } from 'react'\nimport React, { useCallback, useEffect } from 'react'\nimport { useSearchParams } from 'react-router-dom'\n\nimport { defaultNetworkConfigs, findNetworkConfig } from '../../lib/index.ts'\nimport { NetworkContext } from '../Context.ts'\nimport { useNetwork } from '../use.ts'\nimport { NetworkMemoryProvider } from './Memory.tsx'\nimport type { NetworkProviderProps } from './Props.ts'\n\nconst NetworkRouteProviderInner: React.FC<PropsWithChildren> = ({ children }) => {\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?: Omit<NetworkPayload, 'schema'> & { schema: NetworkSchema }) => {\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: Omit<NetworkPayload, 'schema'> & { schema: NetworkSchema }) => {\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 !== undefined) {\n // if the route has a selection and it is different from memory, update memory\n setNetwork?.(routeNetwork)\n }\n }\n }, [routeNetwork, network, setNetworkParam, setNetwork])\n\n return (\n <NetworkContext value={{\n network, networks: defaultNetworkConfigs, provided: true, setNetwork: setNetworkLocal,\n }}\n >\n {network ? children : null}\n </NetworkContext>\n )\n}\n\nexport const NetworkRouteProvider: React.FC<PropsWithChildren<NetworkProviderProps>> = ({\n defaultNetworkConfig, defaultNetworkName, ...props\n}) => {\n return (\n <NetworkMemoryProvider defaultNetworkConfig={defaultNetworkConfig} defaultNetworkName={defaultNetworkName}>\n <NetworkRouteProviderInner {...props} />\n </NetworkMemoryProvider>\n )\n}\n","import { useContextEx } from '@xylabs/react-shared'\n\nimport { NetworkContext } from './Context.ts'\nimport type { NetworkContextState } from './State.ts'\n\nexport const useNetwork = (required = false) => {\n return useContextEx<NetworkContextState>(NetworkContext, 'Network', required)\n}\n"],"mappings":"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","names":["MenuItem","SelectEx","useBreakpoint","assertEx","React","createContextEx","NetworkContext","React","useMemo","useState","NetworkNodeSchema","ExplorerMapHashes","animatedAnswerHashes","staticAnswerHash","findArchivistPreset","slug","archivistPresets","find","item","docs","explorerMapHashes","ExplorerMapHashes","name","schema","NetworkNodeSchema","type","uri","archivistUriToName","archivistPresets","reduce","acc","name","uri","NetworkSchema","NetworkNodeSchema","findDivinerPreset","slug","divinerPresets","find","item","name","schema","NetworkNodeSchema","type","uri","web","defaultNetworkConfigs","name","nodes","findArchivistPreset","findDivinerPreset","schema","NetworkSchema","slug","networkPresets","findNetworkConfig","slug","configs","defaultNetworkConfigs","find","item","findNetworkPreset","resolveNetworkFromHostName","fallback","siteName","document","location","hostname","NetworkMemoryProvider","defaultNetworkConfig","defaultNetworkName","props","console","warn","resolvedDefaultNetworkConfig","defaultNetworkConfigs","find","config","name","undefined","network","setNetwork","useState","value","useMemo","networks","provided","NetworkContext","NetworkProvider","React","useCallback","useEffect","useSearchParams","useContextEx","useNetwork","required","useContextEx","NetworkContext","NetworkRouteProviderInner","children","network","setNetwork","useNetwork","params","setParams","useSearchParams","slug","get","routeNetwork","findNetworkConfig","undefined","setNetworkParam","useCallback","set","replace","delete","setNetworkLocal","useEffect","React","NetworkContext","value","networks","defaultNetworkConfigs","provided","NetworkRouteProvider","defaultNetworkConfig","defaultNetworkName","props","NetworkMemoryProvider","NetworkSelectEx","onChange","variant","responsive","props","network","setNetwork","networks","useNetwork","sm","useBreakpoint","React","SelectEx","size","value","slug","event","child","target","assertEx","findNetworkConfig","map","MenuItem","key","name","toUpperCase"]}
|
|
1
|
+
{"version":3,"sources":["../../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":["import { MenuItem } from '@mui/material'\nimport type { SelectExProps } from '@xylabs/react-select'\nimport { SelectEx } from '@xylabs/react-select'\nimport { useBreakpoint } from '@xylabs/react-shared'\nimport { assertEx } from '@xylabs/sdk-js'\nimport React from 'react'\n\nimport { useNetwork } from '../../contexts/index.ts'\nimport { findNetworkConfig } from '../../lib/index.ts'\n\nexport type NetworkSelectExProps = Omit<SelectExProps<string>, 'variant'>\n & Partial<SelectExProps<string>> & {\n responsive?: boolean\n }\n\nexport const NetworkSelectEx: React.FC<NetworkSelectExProps> = ({\n onChange, variant = 'outlined', responsive = true, ...props\n}) => {\n const {\n network, setNetwork, networks,\n } = 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 '@xylabs/react-shared'\n\nimport type { NetworkContextState } from './State.ts'\n\nexport const NetworkContext = createContextEx<NetworkContextState>()\n","import type { PropsWithChildren } from 'react'\nimport React, { useMemo, useState } from 'react'\n\nimport { defaultNetworkConfigs } from '../../lib/index.ts'\nimport { NetworkContext } from '../Context.ts'\nimport type { NetworkContextState } from '../State.ts'\nimport type { NetworkProviderProps } from './Props.ts'\n\nexport const NetworkMemoryProvider: React.FC<PropsWithChildren<NetworkProviderProps>> = ({\n defaultNetworkConfig, defaultNetworkName, ...props\n}) => {\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 const value: NetworkContextState = useMemo(() => ({\n network, networks: defaultNetworkConfigs, provided: true, setNetwork,\n }), [network, setNetwork])\n\n return <NetworkContext value={value} {...props} />\n}\n\n/** @deprecated use NetworkMemoryProvider instead */\nexport const NetworkProvider = NetworkMemoryProvider\n","import type { Hash } from '@xylabs/sdk-js'\nimport type { NetworkNodePayload } from '@xyo-network/network'\nimport { NetworkNodeSchema } from '@xyo-network/network'\n\nimport { ExplorerMapHashes } from './ExplorerMapHashes.ts'\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 type { Hash } from '@xylabs/sdk-js'\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 ] as Hash[],\n staticAnswerHash: 'c7bbf61f61cfd4a1b2def160c28136fc1d100d39fbdb67b227a2c6e558d9d3a5' as Hash,\n}\n","import { archivistPresets } from './archivistPresets.ts'\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 type { NetworkPayload } from '@xyo-network/network'\nimport { NetworkSchema } from '@xyo-network/network'\n\nimport { findArchivistPreset } from '../archivistPresets.ts'\nimport { findDivinerPreset } from '../divinerPresets.ts'\n\nexport const defaultNetworkConfigs: (Omit<NetworkPayload, 'schema'> & { schema: NetworkSchema })[] = [\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 name: 'Custom',\n nodes: [findArchivistPreset('kerplunk-archivist-xyo-network'), findDivinerPreset('beta-location-diviner-xyo-network')],\n schema: NetworkSchema,\n slug: 'custom',\n },\n]\n\n/** @deprecated use defaultNetworkConfigs instead */\nexport const networkPresets = defaultNetworkConfigs\n","import type { NetworkNodePayload } from '@xyo-network/network'\nimport { 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.ts'\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 type { NetworkNames } from './NetworkNames.ts'\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 type { NetworkPayload, NetworkSchema } from '@xyo-network/network'\nimport type { PropsWithChildren } from 'react'\nimport React, {\n useCallback, useEffect, useMemo,\n} from 'react'\nimport { useSearchParams } from 'react-router-dom'\n\nimport { defaultNetworkConfigs, findNetworkConfig } from '../../lib/index.ts'\nimport { NetworkContext } from '../Context.ts'\nimport { useNetwork } from '../use.ts'\nimport { NetworkMemoryProvider } from './Memory.tsx'\nimport type { NetworkProviderProps } from './Props.ts'\n\nconst NetworkRouteProviderInner: React.FC<PropsWithChildren> = ({ children }) => {\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?: Omit<NetworkPayload, 'schema'> & { schema: NetworkSchema }) => {\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: Omit<NetworkPayload, 'schema'> & { schema: NetworkSchema }) => {\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 !== undefined) {\n // if the route has a selection and it is different from memory, update memory\n setNetwork?.(routeNetwork)\n }\n }\n }, [routeNetwork, network, setNetworkParam, setNetwork])\n\n const value = useMemo(() => ({\n network, networks: defaultNetworkConfigs, provided: true as const, setNetwork: setNetworkLocal,\n }), [network, setNetworkLocal])\n\n return (\n <NetworkContext value={value}>\n {network ? children : null}\n </NetworkContext>\n )\n}\n\nexport const NetworkRouteProvider: React.FC<PropsWithChildren<NetworkProviderProps>> = ({\n defaultNetworkConfig, defaultNetworkName, ...props\n}) => {\n return (\n <NetworkMemoryProvider defaultNetworkConfig={defaultNetworkConfig} defaultNetworkName={defaultNetworkName}>\n <NetworkRouteProviderInner {...props} />\n </NetworkMemoryProvider>\n )\n}\n","import { useContextEx } from '@xylabs/react-shared'\n\nimport { NetworkContext } from './Context.ts'\nimport type { NetworkContextState } from './State.ts'\n\nexport const useNetwork = (required = false) => {\n return useContextEx<NetworkContextState>(NetworkContext, 'Network', required)\n}\n"],"mappings":";AAAA,SAAS,gBAAgB;AAEzB,SAAS,gBAAgB;AACzB,SAAS,qBAAqB;AAC9B,SAAS,gBAAgB;;;ACJzB,SAAS,uBAAuB;AAIzB,IAAM,iBAAiB,gBAAqC;;;ACHnE,SAAgB,SAAS,gBAAgB;;;ACCzC,SAAS,yBAAyB;;;ACD3B,IAAM,oBAA8E;AAAA,EACzF,sBAAsB;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,kBAAkB;AACpB;;;ADHO,IAAM,sBAAsB,CAAC,SAAiB;AACnD,SACE,iBAAiB,KAAK,CAAC,SAAS;AAC9B,WAAO,KAAK,SAAS;AAAA,EACvB,CAAC,KAAK,iBAAiB,CAAC;AAE5B;AAEO,IAAM,mBAAsC;AAAA,EACjD;AAAA,IACE,MAAM;AAAA,IACN,mBAAmB;AAAA,IACnB,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,MAAM;AAAA,IACN,KAAK;AAAA,EACP;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,mBAAmB;AAAA,IACnB,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,MAAM;AAAA,IACN,KAAK;AAAA,EACP;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,MAAM;AAAA,IACN,KAAK;AAAA,EACP;AACF;;;AE9CO,IAAM,qBAAqB,MAAM;AAEtC,SAAO,iBAAiB,OAA+B,CAAC,KAAK,EAAE,MAAM,IAAI,MAAM;AAC7E,QAAI,MAAM;AACR,UAAI,GAAG,IAAI;AAAA,IACb;AACA,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AACP;;;ACTA,SAAS,qBAAqB;;;ACA9B,SAAS,qBAAAA,0BAAyB;AAE3B,IAAM,oBAAoB,CAAC,SAAiB;AACjD,SACE,eAAe,KAAK,CAAC,SAAS;AAC5B,WAAO,KAAK,SAAS;AAAA,EACvB,CAAC,KAAK,eAAe,CAAC;AAE1B;AAEO,IAAM,iBAAuC;AAAA,EAClD;AAAA,IACE,MAAM;AAAA,IACN,QAAQA;AAAA,IACR,MAAM;AAAA,IACN,MAAM;AAAA,IACN,KAAK;AAAA,IACL,KAAK;AAAA,EACP;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,QAAQA;AAAA,IACR,MAAM;AAAA,IACN,MAAM;AAAA,IACN,KAAK;AAAA,IACL,KAAK;AAAA,EACP;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,QAAQA;AAAA,IACR,MAAM;AAAA,IACN,MAAM;AAAA,IACN,KAAK;AAAA,IACL,KAAK;AAAA,EACP;AACF;;;AD9BO,IAAM,wBAAwF;AAAA,EACnG;AAAA,IACE,MAAM;AAAA,IACN,OAAO,CAAC,oBAAoB,gCAAgC,GAAG,kBAAkB,mCAAmC,CAAC;AAAA,IACrH,QAAQ;AAAA,IACR,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,OAAO,CAAC,oBAAoB,4BAA4B,GAAG,kBAAkB,8BAA8B,CAAC;AAAA,IAC5G,QAAQ;AAAA,IACR,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,OAAO,CAAC,oBAAoB,6BAA6B,GAAG,kBAAkB,oCAAoC,CAAC;AAAA,IACnH,QAAQ;AAAA,IACR,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,OAAO,CAAC,oBAAoB,gCAAgC,GAAG,kBAAkB,mCAAmC,CAAC;AAAA,IACrH,QAAQ;AAAA,IACR,MAAM;AAAA,EACR;AACF;AAGO,IAAM,iBAAiB;;;AEhCvB,IAAM,oBAAoB,CAAC,MAAc,UAAU,0BAA0B;AAClF,SAAO,QAAQ,KAAK,CAAC,SAAS;AAC5B,WAAO,KAAK,SAAS;AAAA,EACvB,CAAC;AACH;AAGO,IAAM,oBAAoB;;;ACL1B,IAAM,6BAA6B,CAAC,WAAyB,YAAY,aAAuB;AACrG,UAAQ,SAAS,SAAS,UAAU;AAAA,IAClC,KAAK,GAAG,QAAQ,gBAAgB;AAC9B,aAAO;AAAA,IACT;AAAA,IACA,KAAK,QAAQ,QAAQ,gBAAgB;AACnC,aAAO;AAAA,IACT;AAAA,IACA,SAAS;AACP,aAAO;AAAA,IACT;AAAA,EACF;AACF;;;APOS;AAfF,IAAM,wBAA2E,CAAC;AAAA,EACvF;AAAA,EAAsB;AAAA,EAAoB,GAAG;AAC/C,MAAM;AACJ,MAAI,wBAAwB,oBAAoB;AAC9C,YAAQ,KAAK,gHAAgH;AAAA,EAC/H;AAEA,QAAM,+BAA+B,qBAAqB,sBAAsB,KAAK,YAAU,OAAO,SAAS,kBAAkB,IAAI;AAErI,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,wBAAwB,gCAAgC,sBAAsB,CAAC,CAAC;AAEvH,QAAM,QAA6B,QAAQ,OAAO;AAAA,IAChD;AAAA,IAAS,UAAU;AAAA,IAAuB,UAAU;AAAA,IAAM;AAAA,EAC5D,IAAI,CAAC,SAAS,UAAU,CAAC;AAEzB,SAAO,oBAAC,kBAAe,OAAe,GAAG,OAAO;AAClD;AAGO,IAAM,kBAAkB;;;AQzB/B;AAAA,EACE;AAAA,EAAa;AAAA,EAAW,WAAAC;AAAA,OACnB;AACP,SAAS,uBAAuB;;;ACLhC,SAAS,oBAAoB;AAKtB,IAAM,aAAa,CAAC,WAAW,UAAU;AAC9C,SAAO,aAAkC,gBAAgB,WAAW,QAAQ;AAC9E;;;ADuDI,gBAAAC,YAAA;AAjDJ,IAAM,4BAAyD,CAAC,EAAE,SAAS,MAAM;AAC/E,QAAM,EAAE,SAAS,WAAW,IAAI,WAAW;AAE3C,QAAM,CAAC,QAAQ,SAAS,IAAI,gBAAgB;AAE5C,QAAM,OAAO,OAAO,IAAI,SAAS;AACjC,QAAM,eAAe,OAAO,kBAAkB,IAAI,IAAI;AAGtD,QAAM,kBAAkB;AAAA,IACtB,CAACC,aAAyE;AACxE,UAAIA,UAAS;AACX,eAAO,IAAI,WAAWA,SAAQ,IAAI;AAClC,kBAAU,QAAQ,EAAE,SAAS,KAAK,CAAC;AACnC,qBAAaA,QAAO;AAAA,MACtB,OAAO;AACL,eAAO,OAAO,SAAS;AAAA,MACzB;AAAA,IACF;AAAA,IACA,CAAC,QAAQ,WAAW,UAAU;AAAA,EAChC;AAGA,QAAM,kBAAkB;AAAA,IACtB,CAACA,aAAwE;AACvE,sBAAgBA,QAAO;AACvB,mBAAaA,QAAO;AAAA,IACtB;AAAA,IACA,CAAC,iBAAiB,UAAU;AAAA,EAC9B;AAGA,YAAU,MAAM;AACd,QAAI,iBAAiB,SAAS;AAC5B,UAAI,iBAAiB,UAAa,YAAY,QAAW;AAEvD,wBAAgB,OAAO;AAAA,MACzB,WAAW,iBAAiB,QAAW;AAErC,qBAAa,YAAY;AAAA,MAC3B;AAAA,IACF;AAAA,EACF,GAAG,CAAC,cAAc,SAAS,iBAAiB,UAAU,CAAC;AAEvD,QAAM,QAAQC,SAAQ,OAAO;AAAA,IAC3B;AAAA,IAAS,UAAU;AAAA,IAAuB,UAAU;AAAA,IAAe,YAAY;AAAA,EACjF,IAAI,CAAC,SAAS,eAAe,CAAC;AAE9B,SACE,gBAAAF,KAAC,kBAAe,OACb,oBAAU,WAAW,MACxB;AAEJ;AAEO,IAAM,uBAA0E,CAAC;AAAA,EACtF;AAAA,EAAsB;AAAA,EAAoB,GAAG;AAC/C,MAAM;AACJ,SACE,gBAAAA,KAAC,yBAAsB,sBAA4C,oBACjE,0BAAAA,KAAC,6BAA2B,GAAG,OAAO,GACxC;AAEJ;;;AVvCU,gBAAAG,YAAA;AAtBH,IAAM,kBAAkD,CAAC;AAAA,EAC9D;AAAA,EAAU,UAAU;AAAA,EAAY,aAAa;AAAA,EAAM,GAAG;AACxD,MAAM;AACJ,QAAM;AAAA,IACJ;AAAA,IAAS;AAAA,IAAY;AAAA,EACvB,IAAI,WAAW,KAAK;AACpB,QAAM,KAAK,cAAc,MAAM;AAC/B,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,MAAK;AAAA,MACL,OAAO,SAAS,QAAQ;AAAA,MACxB,UAAU,CAAC,OAAO,UAAU;AAC1B,YAAI,MAAM,OAAO,UAAU,SAAS,MAAM;AACxC,qBAAW,OAAO,KAAK;AACvB,uBAAa,SAAS,kBAAkB,MAAM,OAAO,OAAO,QAAQ,CAAC,CAAC;AAAA,QACxE;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEH,oBAAU,IAAI,CAACC,aAAY;AAC1B,eACE,gBAAAD,KAAC,YAA4B,OAAOC,SAAQ,MACzC,wBAAc,KAAKA,SAAQ,OAAO,CAAC,EAAE,YAAY,IAAIA,SAAQ,QADjDA,SAAQ,IAEvB;AAAA,MAEJ,CAAC;AAAA;AAAA,EACH;AAEJ;","names":["NetworkNodeSchema","useMemo","jsx","network","useMemo","jsx","network"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyo-network/react-network",
|
|
3
|
-
"version": "7.5.
|
|
3
|
+
"version": "7.5.11",
|
|
4
4
|
"description": "Common React library for all XYO projects that use React",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"xyo",
|
|
@@ -36,46 +36,71 @@
|
|
|
36
36
|
},
|
|
37
37
|
"./package.json": "./package.json"
|
|
38
38
|
},
|
|
39
|
-
"module": "dist/browser/index.mjs",
|
|
40
|
-
"types": "dist/browser/index.d.ts",
|
|
41
39
|
"files": [
|
|
42
40
|
"dist",
|
|
43
|
-
"
|
|
41
|
+
"README.md"
|
|
44
42
|
],
|
|
45
|
-
"dependencies": {
|
|
46
|
-
"@xylabs/react-select": "~7.1.17",
|
|
47
|
-
"@xylabs/react-shared": "~7.1.17",
|
|
48
|
-
"@xylabs/sdk-js": "~5.0.90",
|
|
49
|
-
"@xyo-network/network": "~5.3.17",
|
|
50
|
-
"react-router-dom": "^7.13.2"
|
|
51
|
-
},
|
|
52
43
|
"devDependencies": {
|
|
53
|
-
"@mui/
|
|
54
|
-
"@
|
|
55
|
-
"@
|
|
44
|
+
"@mui/material": "^7.3.10",
|
|
45
|
+
"@opentelemetry/api": "^1.9.1",
|
|
46
|
+
"@opentelemetry/sdk-trace-base": "^2.7.0",
|
|
47
|
+
"@storybook/react-vite": "~10.3.5",
|
|
48
|
+
"@types/node": "~25.6.0",
|
|
56
49
|
"@types/react": "^19.2.14",
|
|
57
|
-
"@xylabs/react-
|
|
58
|
-
"@xylabs/
|
|
59
|
-
"@xylabs/
|
|
60
|
-
"@xylabs/
|
|
61
|
-
"@xylabs/
|
|
62
|
-
"@xylabs/
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"
|
|
50
|
+
"@xylabs/react-async-effect": "~7.1.20",
|
|
51
|
+
"@xylabs/react-flexbox": "~7.1.20",
|
|
52
|
+
"@xylabs/react-promise": "~7.1.20",
|
|
53
|
+
"@xylabs/react-select": "~7.1.20",
|
|
54
|
+
"@xylabs/react-shared": "~7.1.20",
|
|
55
|
+
"@xylabs/sdk-js": "^5.0.100",
|
|
56
|
+
"@xylabs/threads": "~5.0.100",
|
|
57
|
+
"@xylabs/toolchain": "~7.11.9",
|
|
58
|
+
"@xylabs/tsconfig": "^7.11.9",
|
|
59
|
+
"@xylabs/tsconfig-dom": "^7.11.9",
|
|
60
|
+
"@xylabs/tsconfig-react": "~7.11.9",
|
|
61
|
+
"@xyo-network/network": "~5.5.1",
|
|
62
|
+
"async-mutex": "^0.5.0",
|
|
63
|
+
"axios": "^1.15.2",
|
|
64
|
+
"bn.js": "^5.2.3",
|
|
65
|
+
"buffer": "^6.0.3",
|
|
66
|
+
"chalk": "^5.6.2",
|
|
67
|
+
"debug": "~4.4.3",
|
|
68
|
+
"esbuild": "~0.28.0",
|
|
69
|
+
"eslint": "^10.2.1",
|
|
70
|
+
"ethers": "^6.16.0",
|
|
71
|
+
"hash-wasm": "~4.12.0",
|
|
72
|
+
"observable-fns": "~0.6.1",
|
|
73
|
+
"pako": "^2.1.0",
|
|
74
|
+
"react": "^19.2.5",
|
|
75
|
+
"react-dom": "^19.2.5",
|
|
76
|
+
"react-router-dom": "^7.14.2",
|
|
77
|
+
"storybook": "^10.3.5",
|
|
66
78
|
"typescript": "^5.9.3",
|
|
67
|
-
"vite": "
|
|
79
|
+
"vite": "^8.0.10",
|
|
80
|
+
"wasm-feature-detect": "~1.8.0",
|
|
68
81
|
"zod": "^4.3.6"
|
|
69
82
|
},
|
|
70
83
|
"peerDependencies": {
|
|
71
|
-
"@mui/
|
|
72
|
-
"@
|
|
73
|
-
"react": "
|
|
74
|
-
"react-
|
|
75
|
-
"
|
|
84
|
+
"@mui/material": "^7.3.10",
|
|
85
|
+
"@opentelemetry/sdk-trace-base": "^2.7.0",
|
|
86
|
+
"@xylabs/react-async-effect": "~7.1.20",
|
|
87
|
+
"@xylabs/react-select": "~7.1.20",
|
|
88
|
+
"@xylabs/react-shared": "~7.1.20",
|
|
89
|
+
"@xylabs/sdk-js": "^5.0.100",
|
|
90
|
+
"@xyo-network/network": "~5.5.1",
|
|
91
|
+
"async-mutex": "^0.5.0",
|
|
92
|
+
"bn.js": "^5.2.3",
|
|
93
|
+
"buffer": "^6.0.3",
|
|
94
|
+
"chalk": "^5.6.2",
|
|
95
|
+
"ethers": "^6.16.0",
|
|
96
|
+
"pako": "^2.1.0",
|
|
97
|
+
"react": "^19.2.5",
|
|
98
|
+
"react-dom": "^19.2.5",
|
|
99
|
+
"react-router-dom": "^7.14.2",
|
|
100
|
+
"zod": "^4.3.6"
|
|
76
101
|
},
|
|
77
102
|
"publishConfig": {
|
|
78
103
|
"access": "public"
|
|
79
104
|
},
|
|
80
105
|
"docs": "dist/docs.json"
|
|
81
|
-
}
|
|
106
|
+
}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { Card, CardContent } from '@mui/material'
|
|
2
|
-
import type { Meta, StoryFn } from '@storybook/react-vite'
|
|
3
|
-
import { FlexCol } from '@xylabs/react-flexbox'
|
|
4
|
-
import type { FC } from 'react'
|
|
5
|
-
import React, {
|
|
6
|
-
useEffect, useMemo, useState,
|
|
7
|
-
} from 'react'
|
|
8
|
-
import { BrowserRouter } from 'react-router-dom'
|
|
9
|
-
|
|
10
|
-
import {
|
|
11
|
-
NetworkMemoryProvider, NetworkRouteProvider, useNetwork,
|
|
12
|
-
} from '../../contexts/index.ts'
|
|
13
|
-
import type { NetworkSelectExProps } from './NetworkSelectEx.tsx'
|
|
14
|
-
import { NetworkSelectEx } from './NetworkSelectEx.tsx'
|
|
15
|
-
|
|
16
|
-
const StorybookEntry = {
|
|
17
|
-
argTypes: { responsive: { defaultValue: false } },
|
|
18
|
-
component: NetworkSelectEx,
|
|
19
|
-
parameters: { docs: { page: null } },
|
|
20
|
-
title: 'network/NetworkSelectEx',
|
|
21
|
-
} as Meta<typeof NetworkSelectEx>
|
|
22
|
-
|
|
23
|
-
const NetworkConfigOutput = () => {
|
|
24
|
-
const { network } = useNetwork()
|
|
25
|
-
return (
|
|
26
|
-
<FlexCol my={2}>
|
|
27
|
-
<Card>
|
|
28
|
-
<CardContent>
|
|
29
|
-
<pre>{JSON.stringify(network, null, 2)}</pre>
|
|
30
|
-
</CardContent>
|
|
31
|
-
</Card>
|
|
32
|
-
</FlexCol>
|
|
33
|
-
)
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
const Template: StoryFn<typeof NetworkSelectEx> = (args) => {
|
|
37
|
-
return <NetworkSelectEx {...args}></NetworkSelectEx>
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
const TemplateWithMemoryProvider: StoryFn<typeof NetworkSelectEx> = (props) => {
|
|
41
|
-
return (
|
|
42
|
-
<NetworkMemoryProvider>
|
|
43
|
-
<NetworkSelectEx {...props}></NetworkSelectEx>
|
|
44
|
-
<NetworkConfigOutput />
|
|
45
|
-
</NetworkMemoryProvider>
|
|
46
|
-
)
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
const TemplateWithRouteProvider: StoryFn<typeof NetworkSelectEx> = (props) => {
|
|
50
|
-
const url = new URL(globalThis.location.toString())
|
|
51
|
-
url.searchParams.set('network', 'main')
|
|
52
|
-
history.pushState({}, '', url)
|
|
53
|
-
return (
|
|
54
|
-
<BrowserRouter>
|
|
55
|
-
<NetworkRouteProvider>
|
|
56
|
-
<TemplateWithRouteProviderInner {...props} />
|
|
57
|
-
</NetworkRouteProvider>
|
|
58
|
-
</BrowserRouter>
|
|
59
|
-
)
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
const TemplateWithRouteProviderInner: FC<NetworkSelectExProps> = (props) => {
|
|
63
|
-
const { network } = useNetwork()
|
|
64
|
-
const [uris, setUris] = useState<(string | undefined)[]>([])
|
|
65
|
-
|
|
66
|
-
useEffect(() => {
|
|
67
|
-
setUris(previous => [...previous, network?.nodes?.find(node => node.type === 'archivist')?.uri])
|
|
68
|
-
}, [network?.nodes])
|
|
69
|
-
|
|
70
|
-
useEffect(() => {
|
|
71
|
-
if (uris.length > 1) {
|
|
72
|
-
throw new Error('Error: Route Provider sent multiple network uris but should only send one.')
|
|
73
|
-
}
|
|
74
|
-
})
|
|
75
|
-
|
|
76
|
-
return (
|
|
77
|
-
<>
|
|
78
|
-
<NetworkSelectEx {...props}></NetworkSelectEx>
|
|
79
|
-
{uris.map(uri => (
|
|
80
|
-
<p key={uri}>{uri}</p>
|
|
81
|
-
))}
|
|
82
|
-
</>
|
|
83
|
-
)
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
const Default = Template.bind({})
|
|
87
|
-
Default.args = {}
|
|
88
|
-
|
|
89
|
-
const WithMemoryProvider = TemplateWithMemoryProvider.bind({})
|
|
90
|
-
WithMemoryProvider.args = {}
|
|
91
|
-
|
|
92
|
-
const WithRouteProvider = TemplateWithRouteProvider.bind({})
|
|
93
|
-
WithRouteProvider.args = {}
|
|
94
|
-
|
|
95
|
-
export {
|
|
96
|
-
Default, WithMemoryProvider, WithRouteProvider,
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
export default StorybookEntry
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { MenuItem } from '@mui/material'
|
|
2
|
-
import type { SelectExProps } from '@xylabs/react-select'
|
|
3
|
-
import { SelectEx } from '@xylabs/react-select'
|
|
4
|
-
import { useBreakpoint } from '@xylabs/react-shared'
|
|
5
|
-
import { assertEx } from '@xylabs/sdk-js'
|
|
6
|
-
import React from 'react'
|
|
7
|
-
|
|
8
|
-
import { useNetwork } from '../../contexts/index.ts'
|
|
9
|
-
import { findNetworkConfig } from '../../lib/index.ts'
|
|
10
|
-
|
|
11
|
-
export type NetworkSelectExProps = Omit<SelectExProps<string>, 'variant'>
|
|
12
|
-
& Partial<SelectExProps<string>> & {
|
|
13
|
-
responsive?: boolean
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export const NetworkSelectEx: React.FC<NetworkSelectExProps> = ({
|
|
17
|
-
onChange, variant = 'outlined', responsive = true, ...props
|
|
18
|
-
}) => {
|
|
19
|
-
const {
|
|
20
|
-
network, setNetwork, networks,
|
|
21
|
-
} = useNetwork(false)
|
|
22
|
-
const sm = useBreakpoint() === 'sm'
|
|
23
|
-
return (
|
|
24
|
-
<SelectEx
|
|
25
|
-
variant={variant}
|
|
26
|
-
size="small"
|
|
27
|
-
value={network?.slug ?? ''}
|
|
28
|
-
onChange={(event, child) => {
|
|
29
|
-
if (event.target.value !== network?.slug) {
|
|
30
|
-
onChange?.(event, child)
|
|
31
|
-
setNetwork?.(assertEx(findNetworkConfig(event.target.value, networks)))
|
|
32
|
-
}
|
|
33
|
-
}}
|
|
34
|
-
{...props}
|
|
35
|
-
>
|
|
36
|
-
{networks?.map((network) => {
|
|
37
|
-
return (
|
|
38
|
-
<MenuItem key={network.slug} value={network.slug}>
|
|
39
|
-
{responsive && sm ? network.name?.[0].toUpperCase() : network.name}
|
|
40
|
-
</MenuItem>
|
|
41
|
-
)
|
|
42
|
-
})}
|
|
43
|
-
</SelectEx>
|
|
44
|
-
)
|
|
45
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './NetworkSelectEx.tsx'
|
package/src/components/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './SelectEx/index.ts'
|
package/src/contexts/Context.ts
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Card, CardContent, Typography,
|
|
3
|
-
} from '@mui/material'
|
|
4
|
-
import type { Meta, StoryFn } from '@storybook/react-vite'
|
|
5
|
-
import { FlexCol } from '@xylabs/react-flexbox'
|
|
6
|
-
import React from 'react'
|
|
7
|
-
|
|
8
|
-
import { defaultNetworkConfigs } from '../../lib/index.ts'
|
|
9
|
-
import { useNetwork } from '../use.ts'
|
|
10
|
-
import { NetworkMemoryProvider } from './Memory.tsx'
|
|
11
|
-
|
|
12
|
-
const StorybookEntry: Meta = {
|
|
13
|
-
component: NetworkMemoryProvider,
|
|
14
|
-
title: 'network/NetworkMemoryProvider',
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
const NetworkConfigOutput = () => {
|
|
18
|
-
const { network } = useNetwork()
|
|
19
|
-
return (
|
|
20
|
-
<FlexCol my={2}>
|
|
21
|
-
<Card>
|
|
22
|
-
<CardContent>
|
|
23
|
-
<pre>{JSON.stringify(network, null, 2)}</pre>
|
|
24
|
-
</CardContent>
|
|
25
|
-
</Card>
|
|
26
|
-
</FlexCol>
|
|
27
|
-
)
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
const Template: StoryFn<typeof NetworkMemoryProvider> = (props) => {
|
|
31
|
-
return (
|
|
32
|
-
<NetworkMemoryProvider {...props}>
|
|
33
|
-
<Typography>
|
|
34
|
-
Props:
|
|
35
|
-
{' '}
|
|
36
|
-
<pre>{JSON.stringify(props, null, 2)}</pre>
|
|
37
|
-
</Typography>
|
|
38
|
-
<NetworkConfigOutput />
|
|
39
|
-
</NetworkMemoryProvider>
|
|
40
|
-
)
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
const Default = Template.bind({})
|
|
44
|
-
Default.args = {}
|
|
45
|
-
|
|
46
|
-
const DefaultNetworkName = Template.bind({})
|
|
47
|
-
DefaultNetworkName.args = { defaultNetworkName: 'Main' }
|
|
48
|
-
|
|
49
|
-
const DefaultNetworkConfig = Template.bind({})
|
|
50
|
-
DefaultNetworkConfig.args = { defaultNetworkConfig: defaultNetworkConfigs[2] }
|
|
51
|
-
|
|
52
|
-
export default StorybookEntry
|
|
53
|
-
|
|
54
|
-
export {
|
|
55
|
-
Default, DefaultNetworkConfig, DefaultNetworkName,
|
|
56
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import type { PropsWithChildren } from 'react'
|
|
2
|
-
import React, { useMemo, useState } from 'react'
|
|
3
|
-
|
|
4
|
-
import { defaultNetworkConfigs } from '../../lib/index.ts'
|
|
5
|
-
import { NetworkContext } from '../Context.ts'
|
|
6
|
-
import type { NetworkContextState } from '../State.ts'
|
|
7
|
-
import type { NetworkProviderProps } from './Props.ts'
|
|
8
|
-
|
|
9
|
-
export const NetworkMemoryProvider: React.FC<PropsWithChildren<NetworkProviderProps>> = ({
|
|
10
|
-
defaultNetworkConfig, defaultNetworkName, ...props
|
|
11
|
-
}) => {
|
|
12
|
-
if (defaultNetworkConfig && defaultNetworkName) {
|
|
13
|
-
console.warn('Both defaultNetworkConfig and defaultNetworkName were passed to provider. Falling back to defaultNetworkConfig')
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
const resolvedDefaultNetworkConfig = defaultNetworkName ? defaultNetworkConfigs.find(config => config.name === defaultNetworkName) : undefined
|
|
17
|
-
|
|
18
|
-
const [network, setNetwork] = useState(defaultNetworkConfig ?? resolvedDefaultNetworkConfig ?? defaultNetworkConfigs[0])
|
|
19
|
-
|
|
20
|
-
const value: NetworkContextState = useMemo(() => ({
|
|
21
|
-
network, networks: defaultNetworkConfigs, provided: true, setNetwork,
|
|
22
|
-
}), [network, setNetwork])
|
|
23
|
-
|
|
24
|
-
return <NetworkContext value={value} {...props} />
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
/** @deprecated use NetworkMemoryProvider instead */
|
|
28
|
-
export const NetworkProvider = NetworkMemoryProvider
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { NetworkPayload, NetworkSchema } from '@xyo-network/network'
|
|
2
|
-
|
|
3
|
-
import type { NetworkNames } from '../../lib/index.ts'
|
|
4
|
-
|
|
5
|
-
export interface NetworkProviderProps {
|
|
6
|
-
/** @deprecated use defaultNetworkConfig instead */
|
|
7
|
-
defaultNetwork?: (Omit<NetworkPayload, 'schema'> & { schema: NetworkSchema })
|
|
8
|
-
defaultNetworkConfig?: (Omit<NetworkPayload, 'schema'> & { schema: NetworkSchema })
|
|
9
|
-
defaultNetworkName?: NetworkNames
|
|
10
|
-
}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import type { NetworkPayload, NetworkSchema } from '@xyo-network/network'
|
|
2
|
-
import type { PropsWithChildren } from 'react'
|
|
3
|
-
import React, { useCallback, useEffect } from 'react'
|
|
4
|
-
import { useSearchParams } from 'react-router-dom'
|
|
5
|
-
|
|
6
|
-
import { defaultNetworkConfigs, findNetworkConfig } from '../../lib/index.ts'
|
|
7
|
-
import { NetworkContext } from '../Context.ts'
|
|
8
|
-
import { useNetwork } from '../use.ts'
|
|
9
|
-
import { NetworkMemoryProvider } from './Memory.tsx'
|
|
10
|
-
import type { NetworkProviderProps } from './Props.ts'
|
|
11
|
-
|
|
12
|
-
const NetworkRouteProviderInner: React.FC<PropsWithChildren> = ({ children }) => {
|
|
13
|
-
const { network, setNetwork } = useNetwork()
|
|
14
|
-
|
|
15
|
-
const [params, setParams] = useSearchParams()
|
|
16
|
-
|
|
17
|
-
const slug = params.get('network')
|
|
18
|
-
const routeNetwork = slug ? findNetworkConfig(slug) : undefined
|
|
19
|
-
|
|
20
|
-
// update the network stored in the route
|
|
21
|
-
const setNetworkParam = useCallback(
|
|
22
|
-
(network?: Omit<NetworkPayload, 'schema'> & { schema: NetworkSchema }) => {
|
|
23
|
-
if (network) {
|
|
24
|
-
params.set('network', network.slug)
|
|
25
|
-
setParams(params, { replace: true })
|
|
26
|
-
setNetwork?.(network)
|
|
27
|
-
} else {
|
|
28
|
-
params.delete('network')
|
|
29
|
-
}
|
|
30
|
-
},
|
|
31
|
-
[params, setParams, setNetwork],
|
|
32
|
-
)
|
|
33
|
-
|
|
34
|
-
// if the network is actively changed, update both memory and route
|
|
35
|
-
const setNetworkLocal = useCallback(
|
|
36
|
-
(network: Omit<NetworkPayload, 'schema'> & { schema: NetworkSchema }) => {
|
|
37
|
-
setNetworkParam(network)
|
|
38
|
-
setNetwork?.(network)
|
|
39
|
-
},
|
|
40
|
-
[setNetworkParam, setNetwork],
|
|
41
|
-
)
|
|
42
|
-
|
|
43
|
-
// sync memory and route storage of network
|
|
44
|
-
useEffect(() => {
|
|
45
|
-
if (routeNetwork !== network) {
|
|
46
|
-
if (routeNetwork === undefined && network !== undefined) {
|
|
47
|
-
// if the route does not have a network selected, use what is in the memory context
|
|
48
|
-
setNetworkParam(network)
|
|
49
|
-
} else if (routeNetwork !== undefined) {
|
|
50
|
-
// if the route has a selection and it is different from memory, update memory
|
|
51
|
-
setNetwork?.(routeNetwork)
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}, [routeNetwork, network, setNetworkParam, setNetwork])
|
|
55
|
-
|
|
56
|
-
return (
|
|
57
|
-
<NetworkContext value={{
|
|
58
|
-
network, networks: defaultNetworkConfigs, provided: true, setNetwork: setNetworkLocal,
|
|
59
|
-
}}
|
|
60
|
-
>
|
|
61
|
-
{network ? children : null}
|
|
62
|
-
</NetworkContext>
|
|
63
|
-
)
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
export const NetworkRouteProvider: React.FC<PropsWithChildren<NetworkProviderProps>> = ({
|
|
67
|
-
defaultNetworkConfig, defaultNetworkName, ...props
|
|
68
|
-
}) => {
|
|
69
|
-
return (
|
|
70
|
-
<NetworkMemoryProvider defaultNetworkConfig={defaultNetworkConfig} defaultNetworkName={defaultNetworkName}>
|
|
71
|
-
<NetworkRouteProviderInner {...props} />
|
|
72
|
-
</NetworkMemoryProvider>
|
|
73
|
-
)
|
|
74
|
-
}
|
package/src/contexts/State.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { ContextExState } from '@xylabs/react-shared'
|
|
2
|
-
import type { NetworkPayload } from '@xyo-network/network'
|
|
3
|
-
import type { Dispatch } from 'react'
|
|
4
|
-
|
|
5
|
-
export type NetworkContextState = ContextExState<{
|
|
6
|
-
/** @field The currently selected XYO Network */
|
|
7
|
-
network?: NetworkPayload
|
|
8
|
-
/** @field The list of known available networks */
|
|
9
|
-
networks?: NetworkPayload[]
|
|
10
|
-
/** @field Function to set the selected Network */
|
|
11
|
-
setNetwork?: Dispatch<NetworkPayload>
|
|
12
|
-
}>
|
package/src/contexts/index.ts
DELETED
package/src/contexts/use.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { useContextEx } from '@xylabs/react-shared'
|
|
2
|
-
|
|
3
|
-
import { NetworkContext } from './Context.ts'
|
|
4
|
-
import type { NetworkContextState } from './State.ts'
|
|
5
|
-
|
|
6
|
-
export const useNetwork = (required = false) => {
|
|
7
|
-
return useContextEx<NetworkContextState>(NetworkContext, 'Network', required)
|
|
8
|
-
}
|
package/src/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export type NetworkNames = 'Kerplunk' | 'Main' | 'Local' | 'Custom'
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import type { NetworkPayload } from '@xyo-network/network'
|
|
2
|
-
import { NetworkSchema } from '@xyo-network/network'
|
|
3
|
-
|
|
4
|
-
import { findArchivistPreset } from '../archivistPresets.ts'
|
|
5
|
-
import { findDivinerPreset } from '../divinerPresets.ts'
|
|
6
|
-
|
|
7
|
-
export const defaultNetworkConfigs: (Omit<NetworkPayload, 'schema'> & { schema: NetworkSchema })[] = [
|
|
8
|
-
{
|
|
9
|
-
name: 'Kerplunk',
|
|
10
|
-
nodes: [findArchivistPreset('kerplunk-archivist-xyo-network'), findDivinerPreset('beta-location-diviner-xyo-network')],
|
|
11
|
-
schema: NetworkSchema,
|
|
12
|
-
slug: 'kerplunk',
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
name: 'Main',
|
|
16
|
-
nodes: [findArchivistPreset('main-archivist-xyo-network'), findDivinerPreset('location-diviner-xyo-network')],
|
|
17
|
-
schema: NetworkSchema,
|
|
18
|
-
slug: 'main',
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
name: 'Local',
|
|
22
|
-
nodes: [findArchivistPreset('local-archivist-xyo-network'), findDivinerPreset('local-location-diviner-xyo-network')],
|
|
23
|
-
schema: NetworkSchema,
|
|
24
|
-
slug: 'local',
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
name: 'Custom',
|
|
28
|
-
nodes: [findArchivistPreset('kerplunk-archivist-xyo-network'), findDivinerPreset('beta-location-diviner-xyo-network')],
|
|
29
|
-
schema: NetworkSchema,
|
|
30
|
-
slug: 'custom',
|
|
31
|
-
},
|
|
32
|
-
]
|
|
33
|
-
|
|
34
|
-
/** @deprecated use defaultNetworkConfigs instead */
|
|
35
|
-
export const networkPresets = defaultNetworkConfigs
|
package/src/lib/Config/find.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { defaultNetworkConfigs } from './default.ts'
|
|
2
|
-
|
|
3
|
-
export const findNetworkConfig = (slug: string, configs = defaultNetworkConfigs) => {
|
|
4
|
-
return configs.find((item) => {
|
|
5
|
-
return item.slug === slug
|
|
6
|
-
})
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
/** @deprecated use findNetworkConfig instead */
|
|
10
|
-
export const findNetworkPreset = findNetworkConfig
|
package/src/lib/Config/index.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { NetworkNames } from './NetworkNames.ts'
|
|
2
|
-
|
|
3
|
-
export type SiteName = 'explore' | 'node'
|
|
4
|
-
|
|
5
|
-
export const resolveNetworkFromHostName = (fallback: NetworkNames = 'Kerplunk', siteName: SiteName) => {
|
|
6
|
-
switch (document.location.hostname) {
|
|
7
|
-
case `${siteName}.xyo.network`: {
|
|
8
|
-
return 'Main'
|
|
9
|
-
}
|
|
10
|
-
case `beta.${siteName}.xyo.network`: {
|
|
11
|
-
return 'Kerplunk'
|
|
12
|
-
}
|
|
13
|
-
default: {
|
|
14
|
-
return fallback
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { Hash } from '@xylabs/sdk-js'
|
|
2
|
-
export const ExplorerMapHashes: { animatedAnswerHashes: Hash[]; staticAnswerHash: Hash } = {
|
|
3
|
-
animatedAnswerHashes: [
|
|
4
|
-
'79af071f451fc7af10d009dc63236ef9a9b211732c1ee0c06f028fcecf2336c5',
|
|
5
|
-
'531bfba6d8dfefd3bcc888aca54cdbbd4574ed2b3ec551b230845a1f9a608898',
|
|
6
|
-
'c874412b4faa4947de81372fd1ba12fdd6f43f5e408622b7f357cb2bcb3f17cb',
|
|
7
|
-
'29d3f8b882c61a82a1a1675782a27e797ea7196f45a23b4409680ab8b8d5f14e',
|
|
8
|
-
'cfd20f80ac073fd9518f4ef3f43d2a1f5e4e56e40c2677f38d6f6fecd05df60c',
|
|
9
|
-
'1354fa73497519a39aed19fc99bdbae78a880a1eafb2f7898d607e07db36528d',
|
|
10
|
-
'1043b0d25eacfc5013ae9dba780305a6fbf01a43543bd871d7c00537fca142a9',
|
|
11
|
-
'973dfc5df142851ced258d52d0ac2784e814000ac22e35776f772256b0d4dde9',
|
|
12
|
-
'463808eb74d3d87e6563970e0301a493577f8cd1b501e6e0ffa5e027ad2cea95',
|
|
13
|
-
'15b21acea2e3fd9d1ace3768a72636ee7bdf67a6f8e0807bfa2273dea2207555',
|
|
14
|
-
'32d377bfe7ebe382598c54dd13f8af7510e0a1e2fd2e913311fdd58e517e5e2e',
|
|
15
|
-
] as Hash[],
|
|
16
|
-
staticAnswerHash: 'c7bbf61f61cfd4a1b2def160c28136fc1d100d39fbdb67b227a2c6e558d9d3a5' as Hash,
|
|
17
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { archivistPresets } from './archivistPresets.ts'
|
|
2
|
-
|
|
3
|
-
export const archivistUriToName = () => {
|
|
4
|
-
// eslint-disable-next-line unicorn/no-array-reduce
|
|
5
|
-
return archivistPresets.reduce<Record<string, string>>((acc, { name, uri }) => {
|
|
6
|
-
if (name) {
|
|
7
|
-
acc[uri] = name
|
|
8
|
-
}
|
|
9
|
-
return acc
|
|
10
|
-
}, {})
|
|
11
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import type { Hash } from '@xylabs/sdk-js'
|
|
2
|
-
import type { NetworkNodePayload } from '@xyo-network/network'
|
|
3
|
-
import { NetworkNodeSchema } from '@xyo-network/network'
|
|
4
|
-
|
|
5
|
-
import { ExplorerMapHashes } from './ExplorerMapHashes.ts'
|
|
6
|
-
|
|
7
|
-
export type ArchivistPreset = NetworkNodePayload & {
|
|
8
|
-
explorerMapHashes?: {
|
|
9
|
-
animatedAnswerHashes: Hash[]
|
|
10
|
-
staticAnswerHash: Hash
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export const findArchivistPreset = (slug: string) => {
|
|
15
|
-
return (
|
|
16
|
-
archivistPresets.find((item) => {
|
|
17
|
-
return item.slug === slug
|
|
18
|
-
}) ?? archivistPresets[0]
|
|
19
|
-
)
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export const archivistPresets: ArchivistPreset[] = [
|
|
23
|
-
{
|
|
24
|
-
docs: 'https://beta.archivist.xyo.network/api',
|
|
25
|
-
explorerMapHashes: ExplorerMapHashes,
|
|
26
|
-
name: 'XYO Shared Archivist (kerplunk)',
|
|
27
|
-
schema: NetworkNodeSchema,
|
|
28
|
-
slug: 'kerplunk-archivist-xyo-network',
|
|
29
|
-
type: 'archivist',
|
|
30
|
-
uri: 'https://beta.api.archivist.xyo.network',
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
docs: 'https://archivist.xyo.network/api',
|
|
34
|
-
explorerMapHashes: ExplorerMapHashes,
|
|
35
|
-
name: 'XYO Shared Archivist (main)',
|
|
36
|
-
schema: NetworkNodeSchema,
|
|
37
|
-
slug: 'main-archivist-xyo-network',
|
|
38
|
-
type: 'archivist',
|
|
39
|
-
uri: 'https://api.archivist.xyo.network',
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
docs: 'http://localhost:8080/api',
|
|
43
|
-
name: 'XYO Shared Archivist (local)',
|
|
44
|
-
schema: NetworkNodeSchema,
|
|
45
|
-
slug: 'local-archivist-xyo-network',
|
|
46
|
-
type: 'archivist',
|
|
47
|
-
uri: 'http://localhost:8080',
|
|
48
|
-
},
|
|
49
|
-
]
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import type { NetworkNodePayload } from '@xyo-network/network'
|
|
2
|
-
import { NetworkNodeSchema } from '@xyo-network/network'
|
|
3
|
-
|
|
4
|
-
export const findDivinerPreset = (slug: string) => {
|
|
5
|
-
return (
|
|
6
|
-
divinerPresets.find((item) => {
|
|
7
|
-
return item.slug === slug
|
|
8
|
-
}) ?? divinerPresets[0]
|
|
9
|
-
)
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export const divinerPresets: NetworkNodePayload[] = [
|
|
13
|
-
{
|
|
14
|
-
name: 'XYO Location (beta)',
|
|
15
|
-
schema: NetworkNodeSchema,
|
|
16
|
-
slug: 'beta-location-diviner-xyo-network',
|
|
17
|
-
type: 'diviner',
|
|
18
|
-
uri: 'https://beta.api.location.diviner.xyo.network',
|
|
19
|
-
web: 'https://beta.explore.xyo.network',
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
name: 'XYO Location',
|
|
23
|
-
schema: NetworkNodeSchema,
|
|
24
|
-
slug: 'location-diviner-xyo-network',
|
|
25
|
-
type: 'diviner',
|
|
26
|
-
uri: 'https://api.location.diviner.xyo.network',
|
|
27
|
-
web: 'https://explore.xyo.network',
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
name: 'XYO Location (local)',
|
|
31
|
-
schema: NetworkNodeSchema,
|
|
32
|
-
slug: 'local-location-diviner-xyo-network',
|
|
33
|
-
type: 'diviner',
|
|
34
|
-
uri: 'http://localhost:8082',
|
|
35
|
-
web: 'http://localhost:3000',
|
|
36
|
-
},
|
|
37
|
-
]
|
package/src/lib/index.ts
DELETED