@xyo-network/react-network 7.4.2 → 7.5.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.
- package/dist/browser/components/SelectEx/NetworkSelectEx.stories.d.ts +3 -3
- package/dist/browser/components/SelectEx/NetworkSelectEx.stories.d.ts.map +1 -1
- package/dist/browser/contexts/Provider/Memory.stories.d.ts +3 -3
- package/dist/browser/contexts/Provider/Props.d.ts +7 -3
- package/dist/browser/contexts/Provider/Props.d.ts.map +1 -1
- package/dist/browser/index.mjs +106 -98
- package/dist/browser/index.mjs.map +1 -1
- package/dist/browser/lib/Config/default.d.ts +7 -2
- package/dist/browser/lib/Config/default.d.ts.map +1 -1
- package/dist/browser/lib/Config/find.d.ts +10 -2
- package/dist/browser/lib/Config/find.d.ts.map +1 -1
- package/dist/browser/lib/ExplorerMapHashes.d.ts +1 -1
- package/dist/browser/lib/ExplorerMapHashes.d.ts.map +1 -1
- package/dist/browser/lib/archivistPresets.d.ts +1 -1
- package/dist/browser/lib/archivistPresets.d.ts.map +1 -1
- package/package.json +25 -22
- package/src/contexts/Provider/Props.ts +3 -3
- package/src/contexts/Provider/Route.tsx +3 -3
- package/src/lib/Config/default.ts +1 -1
- package/src/lib/ExplorerMapHashes.ts +1 -1
- package/src/lib/archivistPresets.ts +1 -1
|
@@ -2,9 +2,9 @@ import type { Meta } from '@storybook/react-vite';
|
|
|
2
2
|
import type { NetworkSelectExProps } from './NetworkSelectEx.tsx';
|
|
3
3
|
import { NetworkSelectEx } from './NetworkSelectEx.tsx';
|
|
4
4
|
declare const StorybookEntry: Meta<typeof NetworkSelectEx>;
|
|
5
|
-
declare const Default: import("
|
|
6
|
-
declare const WithMemoryProvider: import("
|
|
7
|
-
declare const WithRouteProvider: import("
|
|
5
|
+
declare const Default: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, NetworkSelectExProps>;
|
|
6
|
+
declare const WithMemoryProvider: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, NetworkSelectExProps>;
|
|
7
|
+
declare const WithRouteProvider: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, NetworkSelectExProps>;
|
|
8
8
|
export { Default, WithMemoryProvider, WithRouteProvider, };
|
|
9
9
|
export default StorybookEntry;
|
|
10
10
|
//# sourceMappingURL=NetworkSelectEx.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NetworkSelectEx.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/SelectEx/NetworkSelectEx.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAW,MAAM,uBAAuB,CAAA;AAW1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,QAAA,MAAM,cAAc,EAKf,IAAI,CAAC,OAAO,eAAe,CAAC,CAAA;AAiEjC,QAAA,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"NetworkSelectEx.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/SelectEx/NetworkSelectEx.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAW,MAAM,uBAAuB,CAAA;AAW1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,QAAA,MAAM,cAAc,EAKf,IAAI,CAAC,OAAO,eAAe,CAAC,CAAA;AAiEjC,QAAA,MAAM,OAAO,mHAAoB,CAAA;AAGjC,QAAA,MAAM,kBAAkB,mHAAsC,CAAA;AAG9D,QAAA,MAAM,iBAAiB,mHAAqC,CAAA;AAG5D,OAAO,EACL,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,GAC/C,CAAA;AAED,eAAe,cAAc,CAAA"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type { Meta } from '@storybook/react-vite';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
declare const StorybookEntry: Meta;
|
|
4
|
-
declare const Default: import("
|
|
4
|
+
declare const Default: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./Props.ts").NetworkProviderProps & {
|
|
5
5
|
children?: React.ReactNode | undefined;
|
|
6
6
|
}>;
|
|
7
|
-
declare const DefaultNetworkName: import("
|
|
7
|
+
declare const DefaultNetworkName: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./Props.ts").NetworkProviderProps & {
|
|
8
8
|
children?: React.ReactNode | undefined;
|
|
9
9
|
}>;
|
|
10
|
-
declare const DefaultNetworkConfig: import("
|
|
10
|
+
declare const DefaultNetworkConfig: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./Props.ts").NetworkProviderProps & {
|
|
11
11
|
children?: React.ReactNode | undefined;
|
|
12
12
|
}>;
|
|
13
13
|
export default StorybookEntry;
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
import type { NetworkPayload } from '@xyo-network/network';
|
|
1
|
+
import type { NetworkPayload, NetworkSchema } from '@xyo-network/network';
|
|
2
2
|
import type { NetworkNames } from '../../lib/index.ts';
|
|
3
3
|
export interface NetworkProviderProps {
|
|
4
4
|
/** @deprecated use defaultNetworkConfig instead */
|
|
5
|
-
defaultNetwork?: NetworkPayload
|
|
6
|
-
|
|
5
|
+
defaultNetwork?: (Omit<NetworkPayload, 'schema'> & {
|
|
6
|
+
schema: NetworkSchema;
|
|
7
|
+
});
|
|
8
|
+
defaultNetworkConfig?: (Omit<NetworkPayload, 'schema'> & {
|
|
9
|
+
schema: NetworkSchema;
|
|
10
|
+
});
|
|
7
11
|
defaultNetworkName?: NetworkNames;
|
|
8
12
|
}
|
|
9
13
|
//# sourceMappingURL=Props.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Props.d.ts","sourceRoot":"","sources":["../../../../src/contexts/Provider/Props.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"Props.d.ts","sourceRoot":"","sources":["../../../../src/contexts/Provider/Props.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEtD,MAAM,WAAW,oBAAoB;IACnC,mDAAmD;IACnD,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,GAAG;QAAE,MAAM,EAAE,aAAa,CAAA;KAAE,CAAC,CAAA;IAC7E,oBAAoB,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,GAAG;QAAE,MAAM,EAAE,aAAa,CAAA;KAAE,CAAC,CAAA;IACnF,kBAAkB,CAAC,EAAE,YAAY,CAAA;CAClC"}
|
package/dist/browser/index.mjs
CHANGED
|
@@ -1,15 +1,19 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
|
|
1
4
|
// src/components/SelectEx/NetworkSelectEx.tsx
|
|
2
5
|
import { MenuItem } from "@mui/material";
|
|
3
6
|
import { assertEx } from "@xylabs/assert";
|
|
4
7
|
import { SelectEx } from "@xylabs/react-select";
|
|
5
8
|
import { useBreakpoint } from "@xylabs/react-shared";
|
|
9
|
+
import React3 from "react";
|
|
6
10
|
|
|
7
11
|
// src/contexts/Context.ts
|
|
8
12
|
import { createContextEx } from "@xylabs/react-shared";
|
|
9
13
|
var NetworkContext = createContextEx();
|
|
10
14
|
|
|
11
15
|
// src/contexts/Provider/Memory.tsx
|
|
12
|
-
import { useMemo, useState } from "react";
|
|
16
|
+
import React, { useMemo, useState } from "react";
|
|
13
17
|
|
|
14
18
|
// src/lib/archivistPresets.ts
|
|
15
19
|
import { NetworkNodeSchema } from "@xyo-network/network";
|
|
@@ -33,11 +37,11 @@ var ExplorerMapHashes = {
|
|
|
33
37
|
};
|
|
34
38
|
|
|
35
39
|
// src/lib/archivistPresets.ts
|
|
36
|
-
var findArchivistPreset = (slug) => {
|
|
40
|
+
var findArchivistPreset = /* @__PURE__ */ __name((slug) => {
|
|
37
41
|
return archivistPresets.find((item) => {
|
|
38
42
|
return item.slug === slug;
|
|
39
43
|
}) ?? archivistPresets[0];
|
|
40
|
-
};
|
|
44
|
+
}, "findArchivistPreset");
|
|
41
45
|
var archivistPresets = [
|
|
42
46
|
{
|
|
43
47
|
docs: "https://beta.archivist.xyo.network/api",
|
|
@@ -68,25 +72,25 @@ var archivistPresets = [
|
|
|
68
72
|
];
|
|
69
73
|
|
|
70
74
|
// src/lib/archivistNameToUri.ts
|
|
71
|
-
var archivistUriToName = () => {
|
|
75
|
+
var archivistUriToName = /* @__PURE__ */ __name(() => {
|
|
72
76
|
return archivistPresets.reduce((acc, { name, uri }) => {
|
|
73
77
|
if (name) {
|
|
74
78
|
acc[uri] = name;
|
|
75
79
|
}
|
|
76
80
|
return acc;
|
|
77
81
|
}, {});
|
|
78
|
-
};
|
|
82
|
+
}, "archivistUriToName");
|
|
79
83
|
|
|
80
84
|
// src/lib/Config/default.ts
|
|
81
85
|
import { NetworkSchema } from "@xyo-network/network";
|
|
82
86
|
|
|
83
87
|
// src/lib/divinerPresets.ts
|
|
84
88
|
import { NetworkNodeSchema as NetworkNodeSchema2 } from "@xyo-network/network";
|
|
85
|
-
var findDivinerPreset = (slug) => {
|
|
89
|
+
var findDivinerPreset = /* @__PURE__ */ __name((slug) => {
|
|
86
90
|
return divinerPresets.find((item) => {
|
|
87
91
|
return item.slug === slug;
|
|
88
92
|
}) ?? divinerPresets[0];
|
|
89
|
-
};
|
|
93
|
+
}, "findDivinerPreset");
|
|
90
94
|
var divinerPresets = [
|
|
91
95
|
{
|
|
92
96
|
name: "XYO Location (beta)",
|
|
@@ -118,25 +122,37 @@ var divinerPresets = [
|
|
|
118
122
|
var defaultNetworkConfigs = [
|
|
119
123
|
{
|
|
120
124
|
name: "Kerplunk",
|
|
121
|
-
nodes: [
|
|
125
|
+
nodes: [
|
|
126
|
+
findArchivistPreset("kerplunk-archivist-xyo-network"),
|
|
127
|
+
findDivinerPreset("beta-location-diviner-xyo-network")
|
|
128
|
+
],
|
|
122
129
|
schema: NetworkSchema,
|
|
123
130
|
slug: "kerplunk"
|
|
124
131
|
},
|
|
125
132
|
{
|
|
126
133
|
name: "Main",
|
|
127
|
-
nodes: [
|
|
134
|
+
nodes: [
|
|
135
|
+
findArchivistPreset("main-archivist-xyo-network"),
|
|
136
|
+
findDivinerPreset("location-diviner-xyo-network")
|
|
137
|
+
],
|
|
128
138
|
schema: NetworkSchema,
|
|
129
139
|
slug: "main"
|
|
130
140
|
},
|
|
131
141
|
{
|
|
132
142
|
name: "Local",
|
|
133
|
-
nodes: [
|
|
143
|
+
nodes: [
|
|
144
|
+
findArchivistPreset("local-archivist-xyo-network"),
|
|
145
|
+
findDivinerPreset("local-location-diviner-xyo-network")
|
|
146
|
+
],
|
|
134
147
|
schema: NetworkSchema,
|
|
135
148
|
slug: "local"
|
|
136
149
|
},
|
|
137
150
|
{
|
|
138
151
|
name: "Custom",
|
|
139
|
-
nodes: [
|
|
152
|
+
nodes: [
|
|
153
|
+
findArchivistPreset("kerplunk-archivist-xyo-network"),
|
|
154
|
+
findDivinerPreset("beta-location-diviner-xyo-network")
|
|
155
|
+
],
|
|
140
156
|
schema: NetworkSchema,
|
|
141
157
|
slug: "custom"
|
|
142
158
|
}
|
|
@@ -144,15 +160,15 @@ var defaultNetworkConfigs = [
|
|
|
144
160
|
var networkPresets = defaultNetworkConfigs;
|
|
145
161
|
|
|
146
162
|
// src/lib/Config/find.ts
|
|
147
|
-
var findNetworkConfig = (slug, configs = defaultNetworkConfigs) => {
|
|
163
|
+
var findNetworkConfig = /* @__PURE__ */ __name((slug, configs = defaultNetworkConfigs) => {
|
|
148
164
|
return configs.find((item) => {
|
|
149
165
|
return item.slug === slug;
|
|
150
166
|
});
|
|
151
|
-
};
|
|
167
|
+
}, "findNetworkConfig");
|
|
152
168
|
var findNetworkPreset = findNetworkConfig;
|
|
153
169
|
|
|
154
170
|
// src/lib/Config/resolveNetworkFromHostname.ts
|
|
155
|
-
var resolveNetworkFromHostName = (fallback = "Kerplunk", siteName) => {
|
|
171
|
+
var resolveNetworkFromHostName = /* @__PURE__ */ __name((fallback = "Kerplunk", siteName) => {
|
|
156
172
|
switch (document.location.hostname) {
|
|
157
173
|
case `${siteName}.xyo.network`: {
|
|
158
174
|
return "Main";
|
|
@@ -164,15 +180,10 @@ var resolveNetworkFromHostName = (fallback = "Kerplunk", siteName) => {
|
|
|
164
180
|
return fallback;
|
|
165
181
|
}
|
|
166
182
|
}
|
|
167
|
-
};
|
|
183
|
+
}, "resolveNetworkFromHostName");
|
|
168
184
|
|
|
169
185
|
// src/contexts/Provider/Memory.tsx
|
|
170
|
-
|
|
171
|
-
var NetworkMemoryProvider = ({
|
|
172
|
-
defaultNetworkConfig,
|
|
173
|
-
defaultNetworkName,
|
|
174
|
-
...props
|
|
175
|
-
}) => {
|
|
186
|
+
var NetworkMemoryProvider = /* @__PURE__ */ __name(({ defaultNetworkConfig, defaultNetworkName, ...props }) => {
|
|
176
187
|
if (defaultNetworkConfig && defaultNetworkName) {
|
|
177
188
|
console.warn("Both defaultNetworkConfig and defaultNetworkName were passed to provider. Falling back to defaultNetworkConfig");
|
|
178
189
|
}
|
|
@@ -183,47 +194,55 @@ var NetworkMemoryProvider = ({
|
|
|
183
194
|
networks: defaultNetworkConfigs,
|
|
184
195
|
provided: true,
|
|
185
196
|
setNetwork
|
|
186
|
-
}), [
|
|
187
|
-
|
|
188
|
-
|
|
197
|
+
}), [
|
|
198
|
+
network,
|
|
199
|
+
setNetwork
|
|
200
|
+
]);
|
|
201
|
+
return /* @__PURE__ */ React.createElement(NetworkContext, {
|
|
202
|
+
value,
|
|
203
|
+
...props
|
|
204
|
+
});
|
|
205
|
+
}, "NetworkMemoryProvider");
|
|
189
206
|
var NetworkProvider = NetworkMemoryProvider;
|
|
190
207
|
|
|
191
208
|
// src/contexts/Provider/Route.tsx
|
|
192
|
-
import { useCallback, useEffect } from "react";
|
|
209
|
+
import React2, { useCallback, useEffect } from "react";
|
|
193
210
|
import { useSearchParams } from "react-router-dom";
|
|
194
211
|
|
|
195
212
|
// src/contexts/use.ts
|
|
196
213
|
import { useContextEx } from "@xylabs/react-shared";
|
|
197
|
-
var useNetwork = (required = false) => {
|
|
214
|
+
var useNetwork = /* @__PURE__ */ __name((required = false) => {
|
|
198
215
|
return useContextEx(NetworkContext, "Network", required);
|
|
199
|
-
};
|
|
216
|
+
}, "useNetwork");
|
|
200
217
|
|
|
201
218
|
// src/contexts/Provider/Route.tsx
|
|
202
|
-
|
|
203
|
-
var NetworkRouteProviderInner = ({ children }) => {
|
|
219
|
+
var NetworkRouteProviderInner = /* @__PURE__ */ __name(({ children }) => {
|
|
204
220
|
const { network, setNetwork } = useNetwork();
|
|
205
221
|
const [params, setParams] = useSearchParams();
|
|
206
222
|
const slug = params.get("network");
|
|
207
223
|
const routeNetwork = slug ? findNetworkConfig(slug) : void 0;
|
|
208
|
-
const setNetworkParam = useCallback(
|
|
209
|
-
(network2)
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
} else {
|
|
215
|
-
params.delete("network");
|
|
216
|
-
}
|
|
217
|
-
},
|
|
218
|
-
[params, setParams, setNetwork]
|
|
219
|
-
);
|
|
220
|
-
const setNetworkLocal = useCallback(
|
|
221
|
-
(network2) => {
|
|
222
|
-
setNetworkParam(network2);
|
|
224
|
+
const setNetworkParam = useCallback((network2) => {
|
|
225
|
+
if (network2) {
|
|
226
|
+
params.set("network", network2.slug);
|
|
227
|
+
setParams(params, {
|
|
228
|
+
replace: true
|
|
229
|
+
});
|
|
223
230
|
setNetwork?.(network2);
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
|
|
231
|
+
} else {
|
|
232
|
+
params.delete("network");
|
|
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
|
+
]);
|
|
227
246
|
useEffect(() => {
|
|
228
247
|
if (routeNetwork !== network) {
|
|
229
248
|
if (routeNetwork === void 0 && network !== void 0) {
|
|
@@ -232,61 +251,50 @@ var NetworkRouteProviderInner = ({ children }) => {
|
|
|
232
251
|
setNetwork?.(routeNetwork);
|
|
233
252
|
}
|
|
234
253
|
}
|
|
235
|
-
}, [
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
254
|
+
}, [
|
|
255
|
+
routeNetwork,
|
|
256
|
+
network,
|
|
257
|
+
setNetworkParam,
|
|
258
|
+
setNetwork
|
|
259
|
+
]);
|
|
260
|
+
return /* @__PURE__ */ React2.createElement(NetworkContext, {
|
|
261
|
+
value: {
|
|
262
|
+
network,
|
|
263
|
+
networks: defaultNetworkConfigs,
|
|
264
|
+
provided: true,
|
|
265
|
+
setNetwork: setNetworkLocal
|
|
246
266
|
}
|
|
247
|
-
);
|
|
248
|
-
};
|
|
249
|
-
var NetworkRouteProvider = ({
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
};
|
|
267
|
+
}, network ? children : null);
|
|
268
|
+
}, "NetworkRouteProviderInner");
|
|
269
|
+
var NetworkRouteProvider = /* @__PURE__ */ __name(({ defaultNetworkConfig, defaultNetworkName, ...props }) => {
|
|
270
|
+
return /* @__PURE__ */ React2.createElement(NetworkMemoryProvider, {
|
|
271
|
+
defaultNetworkConfig,
|
|
272
|
+
defaultNetworkName
|
|
273
|
+
}, /* @__PURE__ */ React2.createElement(NetworkRouteProviderInner, props));
|
|
274
|
+
}, "NetworkRouteProvider");
|
|
256
275
|
|
|
257
276
|
// src/components/SelectEx/NetworkSelectEx.tsx
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
onChange,
|
|
261
|
-
variant = "outlined",
|
|
262
|
-
responsive = true,
|
|
263
|
-
...props
|
|
264
|
-
}) => {
|
|
265
|
-
const {
|
|
266
|
-
network,
|
|
267
|
-
setNetwork,
|
|
268
|
-
networks
|
|
269
|
-
} = useNetwork(false);
|
|
277
|
+
var NetworkSelectEx = /* @__PURE__ */ __name(({ onChange, variant = "outlined", responsive = true, ...props }) => {
|
|
278
|
+
const { network, setNetwork, networks } = useNetwork(false);
|
|
270
279
|
const sm = useBreakpoint() === "sm";
|
|
271
|
-
return /* @__PURE__ */
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
value
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
};
|
|
280
|
+
return /* @__PURE__ */ React3.createElement(SelectEx, {
|
|
281
|
+
variant,
|
|
282
|
+
size: "small",
|
|
283
|
+
value: network?.slug ?? "",
|
|
284
|
+
onChange: /* @__PURE__ */ __name((event, child) => {
|
|
285
|
+
if (event.target.value !== network?.slug) {
|
|
286
|
+
onChange?.(event, child);
|
|
287
|
+
setNetwork?.(assertEx(findNetworkConfig(event.target.value, networks)));
|
|
288
|
+
}
|
|
289
|
+
}, "onChange"),
|
|
290
|
+
...props
|
|
291
|
+
}, networks?.map((network2) => {
|
|
292
|
+
return /* @__PURE__ */ React3.createElement(MenuItem, {
|
|
293
|
+
key: network2.slug,
|
|
294
|
+
value: network2.slug
|
|
295
|
+
}, responsive && sm ? network2.name?.[0].toUpperCase() : network2.name);
|
|
296
|
+
}));
|
|
297
|
+
}, "NetworkSelectEx");
|
|
290
298
|
export {
|
|
291
299
|
NetworkContext,
|
|
292
300
|
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 { assertEx } from '@xylabs/assert'\nimport type { SelectExProps } from '@xylabs/react-select'\nimport { SelectEx } from '@xylabs/react-select'\nimport { useBreakpoint } from '@xylabs/react-shared'\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/hex'\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/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 ] 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: 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 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 } 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?: 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 !== 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":["NetworkNodeSchema","jsx","network","jsx","network"]}
|
|
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 { assertEx } from '@xylabs/assert'\nimport type { SelectExProps } from '@xylabs/react-select'\nimport { SelectEx } from '@xylabs/react-select'\nimport { useBreakpoint } from '@xylabs/react-shared'\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","assertEx","SelectEx","useBreakpoint","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,5 +1,10 @@
|
|
|
1
1
|
import type { NetworkPayload } from '@xyo-network/network';
|
|
2
|
-
|
|
2
|
+
import { NetworkSchema } from '@xyo-network/network';
|
|
3
|
+
export declare const defaultNetworkConfigs: (Omit<NetworkPayload, 'schema'> & {
|
|
4
|
+
schema: NetworkSchema;
|
|
5
|
+
})[];
|
|
3
6
|
/** @deprecated use defaultNetworkConfigs instead */
|
|
4
|
-
export declare const networkPresets: NetworkPayload
|
|
7
|
+
export declare const networkPresets: (Omit<NetworkPayload, "schema"> & {
|
|
8
|
+
schema: NetworkSchema;
|
|
9
|
+
})[];
|
|
5
10
|
//# sourceMappingURL=default.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../../src/lib/Config/default.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../../src/lib/Config/default.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAKpD,eAAO,MAAM,qBAAqB,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,GAAG;IAAE,MAAM,EAAE,aAAa,CAAA;CAAE,CAAC,EAyB/F,CAAA;AAED,oDAAoD;AACpD,eAAO,MAAM,cAAc;YA5BqD,aAAa;IA4B1C,CAAA"}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
|
-
export declare const findNetworkConfig: (slug: string, configs?: import("@xyo-network/network").NetworkPayload
|
|
1
|
+
export declare const findNetworkConfig: (slug: string, configs?: (Omit<import("@xyo-network/network").NetworkPayload, "schema"> & {
|
|
2
|
+
schema: import("@xyo-network/network").NetworkSchema;
|
|
3
|
+
})[]) => (Omit<import("@xyo-network/network").NetworkPayload, "schema"> & {
|
|
4
|
+
schema: import("@xyo-network/network").NetworkSchema;
|
|
5
|
+
}) | undefined;
|
|
2
6
|
/** @deprecated use findNetworkConfig instead */
|
|
3
|
-
export declare const findNetworkPreset: (slug: string, configs?: import("@xyo-network/network").NetworkPayload
|
|
7
|
+
export declare const findNetworkPreset: (slug: string, configs?: (Omit<import("@xyo-network/network").NetworkPayload, "schema"> & {
|
|
8
|
+
schema: import("@xyo-network/network").NetworkSchema;
|
|
9
|
+
})[]) => (Omit<import("@xyo-network/network").NetworkPayload, "schema"> & {
|
|
10
|
+
schema: import("@xyo-network/network").NetworkSchema;
|
|
11
|
+
}) | undefined;
|
|
4
12
|
//# sourceMappingURL=find.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../../src/lib/Config/find.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,EAAE
|
|
1
|
+
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../../src/lib/Config/find.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,EAAE;;IAA+B;;cAI9E,CAAA;AAED,gDAAgD;AAChD,eAAO,MAAM,iBAAiB,SAPU,MAAM;;;;cAOI,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExplorerMapHashes.d.ts","sourceRoot":"","sources":["../../../src/lib/ExplorerMapHashes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ExplorerMapHashes.d.ts","sourceRoot":"","sources":["../../../src/lib/ExplorerMapHashes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAC1C,eAAO,MAAM,iBAAiB,EAAE;IAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;IAAC,gBAAgB,EAAE,IAAI,CAAA;CAerF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archivistPresets.d.ts","sourceRoot":"","sources":["../../../src/lib/archivistPresets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"archivistPresets.d.ts","sourceRoot":"","sources":["../../../src/lib/archivistPresets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAK9D,MAAM,MAAM,eAAe,GAAG,kBAAkB,GAAG;IACjD,iBAAiB,CAAC,EAAE;QAClB,oBAAoB,EAAE,IAAI,EAAE,CAAA;QAC5B,gBAAgB,EAAE,IAAI,CAAA;KACvB,CAAA;CACF,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,MAAM,MAAM,oBAM/C,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,eAAe,EA2B7C,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyo-network/react-network",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.5.0",
|
|
4
4
|
"description": "Common React library for all XYO projects that use React",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"xyo",
|
|
@@ -43,37 +43,40 @@
|
|
|
43
43
|
"src"
|
|
44
44
|
],
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@xylabs/assert": "~5.0.
|
|
47
|
-
"@xylabs/hex": "~5.0.
|
|
48
|
-
"@xylabs/react-select": "~7.1.
|
|
49
|
-
"@xylabs/react-shared": "~7.1.
|
|
50
|
-
"@
|
|
51
|
-
"
|
|
46
|
+
"@xylabs/assert": "~5.0.64",
|
|
47
|
+
"@xylabs/hex": "~5.0.64",
|
|
48
|
+
"@xylabs/react-select": "~7.1.9",
|
|
49
|
+
"@xylabs/react-shared": "~7.1.9",
|
|
50
|
+
"@xylabs/sdk-js": "~5.0.64",
|
|
51
|
+
"@xyo-network/network": "~5.3.2",
|
|
52
|
+
"react-router-dom": "^7.13.0"
|
|
52
53
|
},
|
|
53
54
|
"devDependencies": {
|
|
54
|
-
"@mui/icons-material": "~7.3.
|
|
55
|
-
"@mui/material": "~7.3.
|
|
56
|
-
"@storybook/react-vite": "~10.1
|
|
57
|
-
"@types/react": "^19.2.
|
|
58
|
-
"@xylabs/react-flexbox": "~7.1.
|
|
59
|
-
"@xylabs/ts-scripts-yarn3": "~7.2
|
|
60
|
-
"@xylabs/tsconfig": "~7.2
|
|
61
|
-
"@xylabs/tsconfig-dom": "~7.2
|
|
62
|
-
"@xylabs/tsconfig-react": "~7.2
|
|
63
|
-
"react": "^19.2.
|
|
64
|
-
"react-dom": "^19.2.
|
|
65
|
-
"storybook": "~10.1
|
|
55
|
+
"@mui/icons-material": "~7.3.7",
|
|
56
|
+
"@mui/material": "~7.3.7",
|
|
57
|
+
"@storybook/react-vite": "~10.2.1",
|
|
58
|
+
"@types/react": "^19.2.10",
|
|
59
|
+
"@xylabs/react-flexbox": "~7.1.9",
|
|
60
|
+
"@xylabs/ts-scripts-yarn3": "~7.3.2",
|
|
61
|
+
"@xylabs/tsconfig": "~7.3.2",
|
|
62
|
+
"@xylabs/tsconfig-dom": "~7.3.2",
|
|
63
|
+
"@xylabs/tsconfig-react": "~7.3.2",
|
|
64
|
+
"react": "^19.2.4",
|
|
65
|
+
"react-dom": "^19.2.4",
|
|
66
|
+
"storybook": "~10.2.1",
|
|
66
67
|
"typescript": "^5.9.3",
|
|
67
|
-
"vite": "~7.
|
|
68
|
+
"vite": "~7.3.1",
|
|
69
|
+
"zod": "^4.3.6"
|
|
68
70
|
},
|
|
69
71
|
"peerDependencies": {
|
|
70
72
|
"@mui/icons-material": ">=6 <8",
|
|
71
73
|
"@mui/material": ">=6 <8",
|
|
72
74
|
"react": "^19",
|
|
73
|
-
"react-dom": "^19"
|
|
75
|
+
"react-dom": "^19",
|
|
76
|
+
"zod": "^4"
|
|
74
77
|
},
|
|
75
78
|
"publishConfig": {
|
|
76
79
|
"access": "public"
|
|
77
80
|
},
|
|
78
81
|
"docs": "dist/docs.json"
|
|
79
|
-
}
|
|
82
|
+
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type { NetworkPayload } from '@xyo-network/network'
|
|
1
|
+
import type { NetworkPayload, NetworkSchema } from '@xyo-network/network'
|
|
2
2
|
|
|
3
3
|
import type { NetworkNames } from '../../lib/index.ts'
|
|
4
4
|
|
|
5
5
|
export interface NetworkProviderProps {
|
|
6
6
|
/** @deprecated use defaultNetworkConfig instead */
|
|
7
|
-
defaultNetwork?: NetworkPayload
|
|
8
|
-
defaultNetworkConfig?: NetworkPayload
|
|
7
|
+
defaultNetwork?: (Omit<NetworkPayload, 'schema'> & { schema: NetworkSchema })
|
|
8
|
+
defaultNetworkConfig?: (Omit<NetworkPayload, 'schema'> & { schema: NetworkSchema })
|
|
9
9
|
defaultNetworkName?: NetworkNames
|
|
10
10
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { NetworkPayload } from '@xyo-network/network'
|
|
1
|
+
import type { NetworkPayload, NetworkSchema } from '@xyo-network/network'
|
|
2
2
|
import type { PropsWithChildren } from 'react'
|
|
3
3
|
import React, { useCallback, useEffect } from 'react'
|
|
4
4
|
import { useSearchParams } from 'react-router-dom'
|
|
@@ -19,7 +19,7 @@ const NetworkRouteProviderInner: React.FC<PropsWithChildren> = ({ children }) =>
|
|
|
19
19
|
|
|
20
20
|
// update the network stored in the route
|
|
21
21
|
const setNetworkParam = useCallback(
|
|
22
|
-
(network?: NetworkPayload) => {
|
|
22
|
+
(network?: Omit<NetworkPayload, 'schema'> & { schema: NetworkSchema }) => {
|
|
23
23
|
if (network) {
|
|
24
24
|
params.set('network', network.slug)
|
|
25
25
|
setParams(params, { replace: true })
|
|
@@ -33,7 +33,7 @@ const NetworkRouteProviderInner: React.FC<PropsWithChildren> = ({ children }) =>
|
|
|
33
33
|
|
|
34
34
|
// if the network is actively changed, update both memory and route
|
|
35
35
|
const setNetworkLocal = useCallback(
|
|
36
|
-
(network: NetworkPayload) => {
|
|
36
|
+
(network: Omit<NetworkPayload, 'schema'> & { schema: NetworkSchema }) => {
|
|
37
37
|
setNetworkParam(network)
|
|
38
38
|
setNetwork?.(network)
|
|
39
39
|
},
|
|
@@ -4,7 +4,7 @@ import { NetworkSchema } from '@xyo-network/network'
|
|
|
4
4
|
import { findArchivistPreset } from '../archivistPresets.ts'
|
|
5
5
|
import { findDivinerPreset } from '../divinerPresets.ts'
|
|
6
6
|
|
|
7
|
-
export const defaultNetworkConfigs: NetworkPayload[] = [
|
|
7
|
+
export const defaultNetworkConfigs: (Omit<NetworkPayload, 'schema'> & { schema: NetworkSchema })[] = [
|
|
8
8
|
{
|
|
9
9
|
name: 'Kerplunk',
|
|
10
10
|
nodes: [findArchivistPreset('kerplunk-archivist-xyo-network'), findDivinerPreset('beta-location-diviner-xyo-network')],
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Hash } from '@xylabs/
|
|
1
|
+
import type { Hash } from '@xylabs/sdk-js'
|
|
2
2
|
export const ExplorerMapHashes: { animatedAnswerHashes: Hash[]; staticAnswerHash: Hash } = {
|
|
3
3
|
animatedAnswerHashes: [
|
|
4
4
|
'79af071f451fc7af10d009dc63236ef9a9b211732c1ee0c06f028fcecf2336c5',
|