@xyo-network/react-network 2.64.0 → 2.64.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/browser/components/SelectEx/NetworkSelectEx.js +137 -4
  2. package/dist/browser/components/SelectEx/NetworkSelectEx.js.map +1 -1
  3. package/dist/browser/components/SelectEx/index.js +165 -1
  4. package/dist/browser/components/SelectEx/index.js.map +1 -1
  5. package/dist/browser/components/index.js +165 -1
  6. package/dist/browser/components/index.js.map +1 -1
  7. package/dist/browser/contexts/Context.js +2 -1
  8. package/dist/browser/contexts/Context.js.map +1 -1
  9. package/dist/browser/contexts/Provider/Memory.js +125 -5
  10. package/dist/browser/contexts/Provider/Memory.js.map +1 -1
  11. package/dist/browser/contexts/Provider/Route.js +154 -11
  12. package/dist/browser/contexts/Provider/Route.js.map +1 -1
  13. package/dist/browser/contexts/Provider/index.js +198 -3
  14. package/dist/browser/contexts/Provider/index.js.map +1 -1
  15. package/dist/browser/contexts/index.js +200 -4
  16. package/dist/browser/contexts/index.js.map +1 -1
  17. package/dist/browser/contexts/use.js +8 -2
  18. package/dist/browser/contexts/use.js.map +1 -1
  19. package/dist/browser/index.js +266 -3
  20. package/dist/browser/index.js.map +1 -1
  21. package/dist/browser/lib/Config/default.js +95 -4
  22. package/dist/browser/lib/Config/default.js.map +1 -1
  23. package/dist/browser/lib/Config/find.js +118 -3
  24. package/dist/browser/lib/Config/find.js.map +1 -1
  25. package/dist/browser/lib/Config/index.js +142 -4
  26. package/dist/browser/lib/Config/index.js.map +1 -1
  27. package/dist/browser/lib/Config/resolveNetworkFromHostname.js +2 -1
  28. package/dist/browser/lib/Config/resolveNetworkFromHostname.js.map +1 -1
  29. package/dist/browser/lib/ExplorerMapHashes.js +2 -1
  30. package/dist/browser/lib/ExplorerMapHashes.js.map +1 -1
  31. package/dist/browser/lib/archivistNameToUri.js +53 -2
  32. package/dist/browser/lib/archivistNameToUri.js.map +1 -1
  33. package/dist/browser/lib/archivistPresets.js +23 -3
  34. package/dist/browser/lib/archivistPresets.js.map +1 -1
  35. package/dist/browser/lib/divinerPresets.js +3 -2
  36. package/dist/browser/lib/divinerPresets.js.map +1 -1
  37. package/dist/browser/lib/index.js +157 -4
  38. package/dist/browser/lib/index.js.map +1 -1
  39. package/dist/docs.json +40 -40
  40. package/package.json +9 -9
@@ -1,8 +1,128 @@
1
- import { jsx } from "react/jsx-runtime";
1
+ // src/contexts/Provider/Memory.tsx
2
2
  import { useState } from "react";
3
- import { defaultNetworkConfigs } from "../../lib";
4
- import { NetworkContext } from "../Context";
5
- const NetworkMemoryProvider = ({ defaultNetworkConfig, defaultNetworkName, ...props }) => {
3
+
4
+ // src/lib/archivistPresets.ts
5
+ import { NetworkNodeSchema } from "@xyo-network/network";
6
+
7
+ // src/lib/ExplorerMapHashes.ts
8
+ var ExplorerMapHashes = {
9
+ animatedAnswerHashes: [
10
+ "79af071f451fc7af10d009dc63236ef9a9b211732c1ee0c06f028fcecf2336c5",
11
+ "531bfba6d8dfefd3bcc888aca54cdbbd4574ed2b3ec551b230845a1f9a608898",
12
+ "c874412b4faa4947de81372fd1ba12fdd6f43f5e408622b7f357cb2bcb3f17cb",
13
+ "29d3f8b882c61a82a1a1675782a27e797ea7196f45a23b4409680ab8b8d5f14e",
14
+ "cfd20f80ac073fd9518f4ef3f43d2a1f5e4e56e40c2677f38d6f6fecd05df60c",
15
+ "1354fa73497519a39aed19fc99bdbae78a880a1eafb2f7898d607e07db36528d",
16
+ "1043b0d25eacfc5013ae9dba780305a6fbf01a43543bd871d7c00537fca142a9",
17
+ "973dfc5df142851ced258d52d0ac2784e814000ac22e35776f772256b0d4dde9",
18
+ "463808eb74d3d87e6563970e0301a493577f8cd1b501e6e0ffa5e027ad2cea95",
19
+ "15b21acea2e3fd9d1ace3768a72636ee7bdf67a6f8e0807bfa2273dea2207555",
20
+ "32d377bfe7ebe382598c54dd13f8af7510e0a1e2fd2e913311fdd58e517e5e2e"
21
+ ],
22
+ staticAnswerHash: "c7bbf61f61cfd4a1b2def160c28136fc1d100d39fbdb67b227a2c6e558d9d3a5"
23
+ };
24
+
25
+ // src/lib/archivistPresets.ts
26
+ var findArchivistPreset = (slug) => {
27
+ return archivistPresets.find((item) => {
28
+ return item.slug === slug;
29
+ }) ?? archivistPresets[0];
30
+ };
31
+ var archivistPresets = [
32
+ {
33
+ docs: "https://beta.archivist.xyo.network/api",
34
+ explorerMapHashes: ExplorerMapHashes,
35
+ name: "XYO Shared Archivist (kerplunk)",
36
+ schema: NetworkNodeSchema,
37
+ slug: "kerplunk-archivist-xyo-network",
38
+ type: "archivist",
39
+ uri: "https://beta.api.archivist.xyo.network"
40
+ },
41
+ {
42
+ docs: "https://archivist.xyo.network/api",
43
+ explorerMapHashes: ExplorerMapHashes,
44
+ name: "XYO Shared Archivist (main)",
45
+ schema: NetworkNodeSchema,
46
+ slug: "main-archivist-xyo-network",
47
+ type: "archivist",
48
+ uri: "https://api.archivist.xyo.network"
49
+ },
50
+ {
51
+ docs: "http://localhost:8080/api",
52
+ name: "XYO Shared Archivist (local)",
53
+ schema: NetworkNodeSchema,
54
+ slug: "local-archivist-xyo-network",
55
+ type: "archivist",
56
+ uri: "http://localhost:8080"
57
+ }
58
+ ];
59
+
60
+ // src/lib/Config/default.ts
61
+ import { NetworkSchema } from "@xyo-network/network";
62
+
63
+ // src/lib/divinerPresets.ts
64
+ import { NetworkNodeSchema as NetworkNodeSchema2 } from "@xyo-network/network";
65
+ var findDivinerPreset = (slug) => {
66
+ return divinerPresets.find((item) => {
67
+ return item.slug === slug;
68
+ }) ?? divinerPresets[0];
69
+ };
70
+ var divinerPresets = [
71
+ {
72
+ name: "XYO Location (beta)",
73
+ schema: NetworkNodeSchema2,
74
+ slug: "beta-location-diviner-xyo-network",
75
+ type: "diviner",
76
+ uri: "https://beta.api.location.diviner.xyo.network",
77
+ web: "https://beta.explore.xyo.network"
78
+ },
79
+ {
80
+ name: "XYO Location",
81
+ schema: NetworkNodeSchema2,
82
+ slug: "location-diviner-xyo-network",
83
+ type: "diviner",
84
+ uri: "https://api.location.diviner.xyo.network",
85
+ web: "https://explore.xyo.network"
86
+ },
87
+ {
88
+ name: "XYO Location (local)",
89
+ schema: NetworkNodeSchema2,
90
+ slug: "local-location-diviner-xyo-network",
91
+ type: "diviner",
92
+ uri: "http://localhost:8082",
93
+ web: "http://localhost:3000"
94
+ }
95
+ ];
96
+
97
+ // src/lib/Config/default.ts
98
+ var defaultNetworkConfigs = [
99
+ {
100
+ name: "Kerplunk",
101
+ nodes: [findArchivistPreset("kerplunk-archivist-xyo-network"), findDivinerPreset("beta-location-diviner-xyo-network")],
102
+ schema: NetworkSchema,
103
+ slug: "kerplunk"
104
+ },
105
+ {
106
+ name: "Main",
107
+ nodes: [findArchivistPreset("main-archivist-xyo-network"), findDivinerPreset("location-diviner-xyo-network")],
108
+ schema: NetworkSchema,
109
+ slug: "main"
110
+ },
111
+ {
112
+ name: "Local",
113
+ nodes: [findArchivistPreset("local-archivist-xyo-network"), findDivinerPreset("local-location-diviner-xyo-network")],
114
+ schema: NetworkSchema,
115
+ slug: "local"
116
+ }
117
+ ];
118
+
119
+ // src/contexts/Context.ts
120
+ import { createContextEx } from "@xyo-network/react-shared";
121
+ var NetworkContext = createContextEx();
122
+
123
+ // src/contexts/Provider/Memory.tsx
124
+ import { jsx } from "react/jsx-runtime";
125
+ var NetworkMemoryProvider = ({ defaultNetworkConfig, defaultNetworkName, ...props }) => {
6
126
  if (defaultNetworkConfig && defaultNetworkName) {
7
127
  console.warn("Both defaultNetworkConfig and defaultNetworkName were passed to provider. Falling back to defaultNetworkConfig");
8
128
  }
@@ -10,7 +130,7 @@ const NetworkMemoryProvider = ({ defaultNetworkConfig, defaultNetworkName, ...pr
10
130
  const [network, setNetwork] = useState(defaultNetworkConfig ?? resolvedDefaultNetworkConfig ?? defaultNetworkConfigs[0]);
11
131
  return /* @__PURE__ */ jsx(NetworkContext.Provider, { value: { network, networks: defaultNetworkConfigs, provided: true, setNetwork }, ...props });
12
132
  };
13
- const NetworkProvider = NetworkMemoryProvider;
133
+ var NetworkProvider = NetworkMemoryProvider;
14
134
  export {
15
135
  NetworkMemoryProvider,
16
136
  NetworkProvider
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/contexts/Provider/Memory.tsx"],"sourcesContent":["import { WithChildren } from '@xylabs/react-shared'\nimport { useState } from 'react'\n\nimport { defaultNetworkConfigs } from '../../lib'\nimport { NetworkContext } from '../Context'\nimport { NetworkProviderProps } from './Props'\n\nexport const NetworkMemoryProvider: React.FC<WithChildren<NetworkProviderProps>> = ({ defaultNetworkConfig, defaultNetworkName, ...props }) => {\n if (defaultNetworkConfig && defaultNetworkName) {\n console.warn('Both defaultNetworkConfig and defaultNetworkName were passed to provider. Falling back to defaultNetworkConfig')\n }\n\n const resolvedDefaultNetworkConfig = defaultNetworkName ? defaultNetworkConfigs.find((config) => config.name === defaultNetworkName) : undefined\n\n const [network, setNetwork] = useState(defaultNetworkConfig ?? resolvedDefaultNetworkConfig ?? defaultNetworkConfigs[0])\n\n return <NetworkContext.Provider value={{ network, networks: defaultNetworkConfigs, provided: true, setNetwork }} {...props} />\n}\n\n/** @deprecated use NetworkMemoryProvider instead */\nexport const NetworkProvider = NetworkMemoryProvider\n"],"mappings":"AAgBS;AAfT,SAAS,gBAAgB;AAEzB,SAAS,6BAA6B;AACtC,SAAS,sBAAsB;AAGxB,MAAM,wBAAsE,CAAC,EAAE,sBAAsB,oBAAoB,GAAG,MAAM,MAAM;AAC7I,MAAI,wBAAwB,oBAAoB;AAC9C,YAAQ,KAAK,gHAAgH;AAAA,EAC/H;AAEA,QAAM,+BAA+B,qBAAqB,sBAAsB,KAAK,CAAC,WAAW,OAAO,SAAS,kBAAkB,IAAI;AAEvI,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,wBAAwB,gCAAgC,sBAAsB,CAAC,CAAC;AAEvH,SAAO,oBAAC,eAAe,UAAf,EAAwB,OAAO,EAAE,SAAS,UAAU,uBAAuB,UAAU,MAAM,WAAW,GAAI,GAAG,OAAO;AAC9H;AAGO,MAAM,kBAAkB;","names":[]}
1
+ {"version":3,"sources":["../../../../src/contexts/Provider/Memory.tsx","../../../../src/lib/archivistPresets.ts","../../../../src/lib/ExplorerMapHashes.ts","../../../../src/lib/Config/default.ts","../../../../src/lib/divinerPresets.ts","../../../../src/contexts/Context.ts"],"sourcesContent":["import { WithChildren } from '@xylabs/react-shared'\nimport { useState } from 'react'\n\nimport { defaultNetworkConfigs } from '../../lib'\nimport { NetworkContext } from '../Context'\nimport { NetworkProviderProps } from './Props'\n\nexport const NetworkMemoryProvider: React.FC<WithChildren<NetworkProviderProps>> = ({ defaultNetworkConfig, defaultNetworkName, ...props }) => {\n if (defaultNetworkConfig && defaultNetworkName) {\n console.warn('Both defaultNetworkConfig and defaultNetworkName were passed to provider. Falling back to defaultNetworkConfig')\n }\n\n const resolvedDefaultNetworkConfig = defaultNetworkName ? defaultNetworkConfigs.find((config) => config.name === defaultNetworkName) : undefined\n\n const [network, setNetwork] = useState(defaultNetworkConfig ?? resolvedDefaultNetworkConfig ?? defaultNetworkConfigs[0])\n\n return <NetworkContext.Provider value={{ network, networks: defaultNetworkConfigs, provided: true, setNetwork }} {...props} />\n}\n\n/** @deprecated use NetworkMemoryProvider instead */\nexport const NetworkProvider = NetworkMemoryProvider\n","import { NetworkNodePayload, NetworkNodeSchema } from '@xyo-network/network'\n\nimport { ExplorerMapHashes } from './ExplorerMapHashes'\n\nexport interface ArchivistPreset extends NetworkNodePayload {\n explorerMapHashes?: {\n animatedAnswerHashes: string[]\n staticAnswerHash: string\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","export const ExplorerMapHashes = {\n animatedAnswerHashes: [\n '79af071f451fc7af10d009dc63236ef9a9b211732c1ee0c06f028fcecf2336c5',\n '531bfba6d8dfefd3bcc888aca54cdbbd4574ed2b3ec551b230845a1f9a608898',\n 'c874412b4faa4947de81372fd1ba12fdd6f43f5e408622b7f357cb2bcb3f17cb',\n '29d3f8b882c61a82a1a1675782a27e797ea7196f45a23b4409680ab8b8d5f14e',\n 'cfd20f80ac073fd9518f4ef3f43d2a1f5e4e56e40c2677f38d6f6fecd05df60c',\n '1354fa73497519a39aed19fc99bdbae78a880a1eafb2f7898d607e07db36528d',\n '1043b0d25eacfc5013ae9dba780305a6fbf01a43543bd871d7c00537fca142a9',\n '973dfc5df142851ced258d52d0ac2784e814000ac22e35776f772256b0d4dde9',\n '463808eb74d3d87e6563970e0301a493577f8cd1b501e6e0ffa5e027ad2cea95',\n '15b21acea2e3fd9d1ace3768a72636ee7bdf67a6f8e0807bfa2273dea2207555',\n '32d377bfe7ebe382598c54dd13f8af7510e0a1e2fd2e913311fdd58e517e5e2e',\n ],\n staticAnswerHash: 'c7bbf61f61cfd4a1b2def160c28136fc1d100d39fbdb67b227a2c6e558d9d3a5',\n}\n","import { NetworkPayload, NetworkSchema } from '@xyo-network/network'\n\nimport { findArchivistPreset } from '../archivistPresets'\nimport { findDivinerPreset } from '../divinerPresets'\n\nexport const defaultNetworkConfigs: NetworkPayload[] = [\n {\n name: 'Kerplunk',\n nodes: [findArchivistPreset('kerplunk-archivist-xyo-network'), findDivinerPreset('beta-location-diviner-xyo-network')],\n schema: NetworkSchema,\n slug: 'kerplunk',\n },\n {\n name: 'Main',\n nodes: [findArchivistPreset('main-archivist-xyo-network'), findDivinerPreset('location-diviner-xyo-network')],\n schema: NetworkSchema,\n slug: 'main',\n },\n {\n name: 'Local',\n nodes: [findArchivistPreset('local-archivist-xyo-network'), findDivinerPreset('local-location-diviner-xyo-network')],\n schema: NetworkSchema,\n slug: 'local',\n },\n]\n\n/** @deprecated use defaultNetworkConfigs instead */\nexport const networkPresets = defaultNetworkConfigs\n","import { NetworkNodePayload, NetworkNodeSchema } from '@xyo-network/network'\n\nexport const findDivinerPreset = (slug: string) => {\n return (\n divinerPresets.find((item) => {\n return item.slug === slug\n }) ?? divinerPresets[0]\n )\n}\n\nexport const divinerPresets: NetworkNodePayload[] = [\n {\n name: 'XYO Location (beta)',\n schema: NetworkNodeSchema,\n slug: 'beta-location-diviner-xyo-network',\n type: 'diviner',\n uri: 'https://beta.api.location.diviner.xyo.network',\n web: 'https://beta.explore.xyo.network',\n },\n {\n name: 'XYO Location',\n schema: NetworkNodeSchema,\n slug: 'location-diviner-xyo-network',\n type: 'diviner',\n uri: 'https://api.location.diviner.xyo.network',\n web: 'https://explore.xyo.network',\n },\n {\n name: 'XYO Location (local)',\n schema: NetworkNodeSchema,\n slug: 'local-location-diviner-xyo-network',\n type: 'diviner',\n uri: 'http://localhost:8082',\n web: 'http://localhost:3000',\n },\n]\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { NetworkContextState } from './State'\n\nexport const NetworkContext = createContextEx<NetworkContextState>()\n"],"mappings":"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","names":["NetworkNodeSchema"]}
@@ -1,12 +1,155 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { useCallback, useEffect, useState } from "react";
1
+ // src/contexts/Provider/Route.tsx
2
+ import { useCallback, useEffect, useState as useState2 } from "react";
3
3
  import { useSearchParams } from "react-router-dom";
4
- import { defaultNetworkConfigs, findNetworkConfig } from "../../lib";
5
- import { NetworkContext } from "../Context";
6
- import { useNetwork } from "../use";
7
- import { NetworkMemoryProvider } from "./Memory";
8
- const NetworkRouteProviderInner = ({ children }) => {
9
- const [initialized, setInitialized] = useState(false);
4
+
5
+ // src/lib/archivistPresets.ts
6
+ import { NetworkNodeSchema } from "@xyo-network/network";
7
+
8
+ // src/lib/ExplorerMapHashes.ts
9
+ var ExplorerMapHashes = {
10
+ animatedAnswerHashes: [
11
+ "79af071f451fc7af10d009dc63236ef9a9b211732c1ee0c06f028fcecf2336c5",
12
+ "531bfba6d8dfefd3bcc888aca54cdbbd4574ed2b3ec551b230845a1f9a608898",
13
+ "c874412b4faa4947de81372fd1ba12fdd6f43f5e408622b7f357cb2bcb3f17cb",
14
+ "29d3f8b882c61a82a1a1675782a27e797ea7196f45a23b4409680ab8b8d5f14e",
15
+ "cfd20f80ac073fd9518f4ef3f43d2a1f5e4e56e40c2677f38d6f6fecd05df60c",
16
+ "1354fa73497519a39aed19fc99bdbae78a880a1eafb2f7898d607e07db36528d",
17
+ "1043b0d25eacfc5013ae9dba780305a6fbf01a43543bd871d7c00537fca142a9",
18
+ "973dfc5df142851ced258d52d0ac2784e814000ac22e35776f772256b0d4dde9",
19
+ "463808eb74d3d87e6563970e0301a493577f8cd1b501e6e0ffa5e027ad2cea95",
20
+ "15b21acea2e3fd9d1ace3768a72636ee7bdf67a6f8e0807bfa2273dea2207555",
21
+ "32d377bfe7ebe382598c54dd13f8af7510e0a1e2fd2e913311fdd58e517e5e2e"
22
+ ],
23
+ staticAnswerHash: "c7bbf61f61cfd4a1b2def160c28136fc1d100d39fbdb67b227a2c6e558d9d3a5"
24
+ };
25
+
26
+ // src/lib/archivistPresets.ts
27
+ var findArchivistPreset = (slug) => {
28
+ return archivistPresets.find((item) => {
29
+ return item.slug === slug;
30
+ }) ?? archivistPresets[0];
31
+ };
32
+ var archivistPresets = [
33
+ {
34
+ docs: "https://beta.archivist.xyo.network/api",
35
+ explorerMapHashes: ExplorerMapHashes,
36
+ name: "XYO Shared Archivist (kerplunk)",
37
+ schema: NetworkNodeSchema,
38
+ slug: "kerplunk-archivist-xyo-network",
39
+ type: "archivist",
40
+ uri: "https://beta.api.archivist.xyo.network"
41
+ },
42
+ {
43
+ docs: "https://archivist.xyo.network/api",
44
+ explorerMapHashes: ExplorerMapHashes,
45
+ name: "XYO Shared Archivist (main)",
46
+ schema: NetworkNodeSchema,
47
+ slug: "main-archivist-xyo-network",
48
+ type: "archivist",
49
+ uri: "https://api.archivist.xyo.network"
50
+ },
51
+ {
52
+ docs: "http://localhost:8080/api",
53
+ name: "XYO Shared Archivist (local)",
54
+ schema: NetworkNodeSchema,
55
+ slug: "local-archivist-xyo-network",
56
+ type: "archivist",
57
+ uri: "http://localhost:8080"
58
+ }
59
+ ];
60
+
61
+ // src/lib/Config/default.ts
62
+ import { NetworkSchema } from "@xyo-network/network";
63
+
64
+ // src/lib/divinerPresets.ts
65
+ import { NetworkNodeSchema as NetworkNodeSchema2 } from "@xyo-network/network";
66
+ var findDivinerPreset = (slug) => {
67
+ return divinerPresets.find((item) => {
68
+ return item.slug === slug;
69
+ }) ?? divinerPresets[0];
70
+ };
71
+ var divinerPresets = [
72
+ {
73
+ name: "XYO Location (beta)",
74
+ schema: NetworkNodeSchema2,
75
+ slug: "beta-location-diviner-xyo-network",
76
+ type: "diviner",
77
+ uri: "https://beta.api.location.diviner.xyo.network",
78
+ web: "https://beta.explore.xyo.network"
79
+ },
80
+ {
81
+ name: "XYO Location",
82
+ schema: NetworkNodeSchema2,
83
+ slug: "location-diviner-xyo-network",
84
+ type: "diviner",
85
+ uri: "https://api.location.diviner.xyo.network",
86
+ web: "https://explore.xyo.network"
87
+ },
88
+ {
89
+ name: "XYO Location (local)",
90
+ schema: NetworkNodeSchema2,
91
+ slug: "local-location-diviner-xyo-network",
92
+ type: "diviner",
93
+ uri: "http://localhost:8082",
94
+ web: "http://localhost:3000"
95
+ }
96
+ ];
97
+
98
+ // src/lib/Config/default.ts
99
+ var defaultNetworkConfigs = [
100
+ {
101
+ name: "Kerplunk",
102
+ nodes: [findArchivistPreset("kerplunk-archivist-xyo-network"), findDivinerPreset("beta-location-diviner-xyo-network")],
103
+ schema: NetworkSchema,
104
+ slug: "kerplunk"
105
+ },
106
+ {
107
+ name: "Main",
108
+ nodes: [findArchivistPreset("main-archivist-xyo-network"), findDivinerPreset("location-diviner-xyo-network")],
109
+ schema: NetworkSchema,
110
+ slug: "main"
111
+ },
112
+ {
113
+ name: "Local",
114
+ nodes: [findArchivistPreset("local-archivist-xyo-network"), findDivinerPreset("local-location-diviner-xyo-network")],
115
+ schema: NetworkSchema,
116
+ slug: "local"
117
+ }
118
+ ];
119
+
120
+ // src/lib/Config/find.ts
121
+ var findNetworkConfig = (slug, configs = defaultNetworkConfigs) => {
122
+ return configs.find((item) => {
123
+ return item.slug === slug;
124
+ });
125
+ };
126
+
127
+ // src/contexts/Context.ts
128
+ import { createContextEx } from "@xyo-network/react-shared";
129
+ var NetworkContext = createContextEx();
130
+
131
+ // src/contexts/use.ts
132
+ import { useContextEx } from "@xyo-network/react-shared";
133
+ var useNetwork = (required = false) => {
134
+ return useContextEx(NetworkContext, "Network", required);
135
+ };
136
+
137
+ // src/contexts/Provider/Memory.tsx
138
+ import { useState } from "react";
139
+ import { jsx } from "react/jsx-runtime";
140
+ var NetworkMemoryProvider = ({ defaultNetworkConfig, defaultNetworkName, ...props }) => {
141
+ if (defaultNetworkConfig && defaultNetworkName) {
142
+ console.warn("Both defaultNetworkConfig and defaultNetworkName were passed to provider. Falling back to defaultNetworkConfig");
143
+ }
144
+ const resolvedDefaultNetworkConfig = defaultNetworkName ? defaultNetworkConfigs.find((config) => config.name === defaultNetworkName) : void 0;
145
+ const [network, setNetwork] = useState(defaultNetworkConfig ?? resolvedDefaultNetworkConfig ?? defaultNetworkConfigs[0]);
146
+ return /* @__PURE__ */ jsx(NetworkContext.Provider, { value: { network, networks: defaultNetworkConfigs, provided: true, setNetwork }, ...props });
147
+ };
148
+
149
+ // src/contexts/Provider/Route.tsx
150
+ import { jsx as jsx2 } from "react/jsx-runtime";
151
+ var NetworkRouteProviderInner = ({ children }) => {
152
+ const [initialized, setInitialized] = useState2(false);
10
153
  const { network, setNetwork } = useNetwork();
11
154
  const [params, setParams] = useSearchParams();
12
155
  const slug = params.get("network");
@@ -40,10 +183,10 @@ const NetworkRouteProviderInner = ({ children }) => {
40
183
  }
41
184
  setInitialized(true);
42
185
  }, [routeNetwork, network, setNetworkParam, setNetwork]);
43
- return /* @__PURE__ */ jsx(NetworkContext.Provider, { value: { network, networks: defaultNetworkConfigs, provided: true, setNetwork: setNetworkLocal }, children: initialized ? children : null });
186
+ return /* @__PURE__ */ jsx2(NetworkContext.Provider, { value: { network, networks: defaultNetworkConfigs, provided: true, setNetwork: setNetworkLocal }, children: initialized ? children : null });
44
187
  };
45
- const NetworkRouteProvider = ({ defaultNetworkConfig, defaultNetworkName, ...props }) => {
46
- return /* @__PURE__ */ jsx(NetworkMemoryProvider, { defaultNetworkConfig, defaultNetworkName, children: /* @__PURE__ */ jsx(NetworkRouteProviderInner, { ...props }) });
188
+ var NetworkRouteProvider = ({ defaultNetworkConfig, defaultNetworkName, ...props }) => {
189
+ return /* @__PURE__ */ jsx2(NetworkMemoryProvider, { defaultNetworkConfig, defaultNetworkName, children: /* @__PURE__ */ jsx2(NetworkRouteProviderInner, { ...props }) });
47
190
  };
48
191
  export {
49
192
  NetworkRouteProvider
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/contexts/Provider/Route.tsx"],"sourcesContent":["import { WithChildren } from '@xylabs/react-shared'\nimport { NetworkPayload } from '@xyo-network/network'\nimport { useCallback, useEffect, useState } from 'react'\nimport { useSearchParams } from 'react-router-dom'\n\nimport { defaultNetworkConfigs, findNetworkConfig } from '../../lib'\nimport { NetworkContext } from '../Context'\nimport { useNetwork } from '../use'\nimport { NetworkMemoryProvider } from './Memory'\nimport { NetworkProviderProps } from './Props'\n\nconst NetworkRouteProviderInner: React.FC<WithChildren> = ({ children }) => {\n const [initialized, setInitialized] = useState(false)\n const { network, setNetwork } = useNetwork()\n\n const [params, setParams] = useSearchParams()\n\n const slug = params.get('network')\n const routeNetwork = slug ? findNetworkConfig(slug) : undefined\n\n //update the network stored in the route\n const setNetworkParam = useCallback(\n (network?: NetworkPayload) => {\n if (network) {\n params.set('network', network.slug)\n setParams(params, { replace: true })\n setNetwork?.(network)\n } else {\n params.delete('network')\n }\n },\n [params, setParams, setNetwork],\n )\n\n //if the network is actively changed, update both memory and route\n const setNetworkLocal = useCallback(\n (network: NetworkPayload) => {\n setNetworkParam(network)\n setNetwork?.(network)\n },\n [setNetworkParam, setNetwork],\n )\n\n //sync memory and route storage of network\n useEffect(() => {\n if (routeNetwork !== network) {\n if (routeNetwork === undefined && network !== undefined) {\n //if the route does not have a network selected, use what is in the memory context\n setNetworkParam(network)\n } else if (routeNetwork) {\n //if the route has a selection and it is different from memory, update memory\n setNetwork?.(routeNetwork)\n }\n }\n setInitialized(true)\n }, [routeNetwork, network, setNetworkParam, setNetwork])\n\n return (\n <NetworkContext.Provider value={{ network, networks: defaultNetworkConfigs, provided: true, setNetwork: setNetworkLocal }}>\n {initialized ? children : null}\n </NetworkContext.Provider>\n )\n}\n\nexport const NetworkRouteProvider: React.FC<WithChildren<NetworkProviderProps>> = ({ defaultNetworkConfig, defaultNetworkName, ...props }) => {\n return (\n <NetworkMemoryProvider defaultNetworkConfig={defaultNetworkConfig} defaultNetworkName={defaultNetworkName}>\n <NetworkRouteProviderInner {...props} />\n </NetworkMemoryProvider>\n )\n}\n"],"mappings":"AA0DI;AAxDJ,SAAS,aAAa,WAAW,gBAAgB;AACjD,SAAS,uBAAuB;AAEhC,SAAS,uBAAuB,yBAAyB;AACzD,SAAS,sBAAsB;AAC/B,SAAS,kBAAkB;AAC3B,SAAS,6BAA6B;AAGtC,MAAM,4BAAoD,CAAC,EAAE,SAAS,MAAM;AAC1E,QAAM,CAAC,aAAa,cAAc,IAAI,SAAS,KAAK;AACpD,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,CAACA,aAA6B;AAC5B,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,aAA4B;AAC3B,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,cAAc;AAEvB,qBAAa,YAAY;AAAA,MAC3B;AAAA,IACF;AACA,mBAAe,IAAI;AAAA,EACrB,GAAG,CAAC,cAAc,SAAS,iBAAiB,UAAU,CAAC;AAEvD,SACE,oBAAC,eAAe,UAAf,EAAwB,OAAO,EAAE,SAAS,UAAU,uBAAuB,UAAU,MAAM,YAAY,gBAAgB,GACrH,wBAAc,WAAW,MAC5B;AAEJ;AAEO,MAAM,uBAAqE,CAAC,EAAE,sBAAsB,oBAAoB,GAAG,MAAM,MAAM;AAC5I,SACE,oBAAC,yBAAsB,sBAA4C,oBACjE,8BAAC,6BAA2B,GAAG,OAAO,GACxC;AAEJ;","names":["network"]}
1
+ {"version":3,"sources":["../../../../src/contexts/Provider/Route.tsx","../../../../src/lib/archivistPresets.ts","../../../../src/lib/ExplorerMapHashes.ts","../../../../src/lib/Config/default.ts","../../../../src/lib/divinerPresets.ts","../../../../src/lib/Config/find.ts","../../../../src/contexts/Context.ts","../../../../src/contexts/use.ts","../../../../src/contexts/Provider/Memory.tsx"],"sourcesContent":["import { WithChildren } from '@xylabs/react-shared'\nimport { NetworkPayload } from '@xyo-network/network'\nimport { useCallback, useEffect, useState } from 'react'\nimport { useSearchParams } from 'react-router-dom'\n\nimport { defaultNetworkConfigs, findNetworkConfig } from '../../lib'\nimport { NetworkContext } from '../Context'\nimport { useNetwork } from '../use'\nimport { NetworkMemoryProvider } from './Memory'\nimport { NetworkProviderProps } from './Props'\n\nconst NetworkRouteProviderInner: React.FC<WithChildren> = ({ children }) => {\n const [initialized, setInitialized] = useState(false)\n const { network, setNetwork } = useNetwork()\n\n const [params, setParams] = useSearchParams()\n\n const slug = params.get('network')\n const routeNetwork = slug ? findNetworkConfig(slug) : undefined\n\n //update the network stored in the route\n const setNetworkParam = useCallback(\n (network?: NetworkPayload) => {\n if (network) {\n params.set('network', network.slug)\n setParams(params, { replace: true })\n setNetwork?.(network)\n } else {\n params.delete('network')\n }\n },\n [params, setParams, setNetwork],\n )\n\n //if the network is actively changed, update both memory and route\n const setNetworkLocal = useCallback(\n (network: NetworkPayload) => {\n setNetworkParam(network)\n setNetwork?.(network)\n },\n [setNetworkParam, setNetwork],\n )\n\n //sync memory and route storage of network\n useEffect(() => {\n if (routeNetwork !== network) {\n if (routeNetwork === undefined && network !== undefined) {\n //if the route does not have a network selected, use what is in the memory context\n setNetworkParam(network)\n } else if (routeNetwork) {\n //if the route has a selection and it is different from memory, update memory\n setNetwork?.(routeNetwork)\n }\n }\n setInitialized(true)\n }, [routeNetwork, network, setNetworkParam, setNetwork])\n\n return (\n <NetworkContext.Provider value={{ network, networks: defaultNetworkConfigs, provided: true, setNetwork: setNetworkLocal }}>\n {initialized ? children : null}\n </NetworkContext.Provider>\n )\n}\n\nexport const NetworkRouteProvider: React.FC<WithChildren<NetworkProviderProps>> = ({ defaultNetworkConfig, defaultNetworkName, ...props }) => {\n return (\n <NetworkMemoryProvider defaultNetworkConfig={defaultNetworkConfig} defaultNetworkName={defaultNetworkName}>\n <NetworkRouteProviderInner {...props} />\n </NetworkMemoryProvider>\n )\n}\n","import { NetworkNodePayload, NetworkNodeSchema } from '@xyo-network/network'\n\nimport { ExplorerMapHashes } from './ExplorerMapHashes'\n\nexport interface ArchivistPreset extends NetworkNodePayload {\n explorerMapHashes?: {\n animatedAnswerHashes: string[]\n staticAnswerHash: string\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","export const ExplorerMapHashes = {\n animatedAnswerHashes: [\n '79af071f451fc7af10d009dc63236ef9a9b211732c1ee0c06f028fcecf2336c5',\n '531bfba6d8dfefd3bcc888aca54cdbbd4574ed2b3ec551b230845a1f9a608898',\n 'c874412b4faa4947de81372fd1ba12fdd6f43f5e408622b7f357cb2bcb3f17cb',\n '29d3f8b882c61a82a1a1675782a27e797ea7196f45a23b4409680ab8b8d5f14e',\n 'cfd20f80ac073fd9518f4ef3f43d2a1f5e4e56e40c2677f38d6f6fecd05df60c',\n '1354fa73497519a39aed19fc99bdbae78a880a1eafb2f7898d607e07db36528d',\n '1043b0d25eacfc5013ae9dba780305a6fbf01a43543bd871d7c00537fca142a9',\n '973dfc5df142851ced258d52d0ac2784e814000ac22e35776f772256b0d4dde9',\n '463808eb74d3d87e6563970e0301a493577f8cd1b501e6e0ffa5e027ad2cea95',\n '15b21acea2e3fd9d1ace3768a72636ee7bdf67a6f8e0807bfa2273dea2207555',\n '32d377bfe7ebe382598c54dd13f8af7510e0a1e2fd2e913311fdd58e517e5e2e',\n ],\n staticAnswerHash: 'c7bbf61f61cfd4a1b2def160c28136fc1d100d39fbdb67b227a2c6e558d9d3a5',\n}\n","import { NetworkPayload, NetworkSchema } from '@xyo-network/network'\n\nimport { findArchivistPreset } from '../archivistPresets'\nimport { findDivinerPreset } from '../divinerPresets'\n\nexport const defaultNetworkConfigs: NetworkPayload[] = [\n {\n name: 'Kerplunk',\n nodes: [findArchivistPreset('kerplunk-archivist-xyo-network'), findDivinerPreset('beta-location-diviner-xyo-network')],\n schema: NetworkSchema,\n slug: 'kerplunk',\n },\n {\n name: 'Main',\n nodes: [findArchivistPreset('main-archivist-xyo-network'), findDivinerPreset('location-diviner-xyo-network')],\n schema: NetworkSchema,\n slug: 'main',\n },\n {\n name: 'Local',\n nodes: [findArchivistPreset('local-archivist-xyo-network'), findDivinerPreset('local-location-diviner-xyo-network')],\n schema: NetworkSchema,\n slug: 'local',\n },\n]\n\n/** @deprecated use defaultNetworkConfigs instead */\nexport const networkPresets = defaultNetworkConfigs\n","import { NetworkNodePayload, NetworkNodeSchema } from '@xyo-network/network'\n\nexport const findDivinerPreset = (slug: string) => {\n return (\n divinerPresets.find((item) => {\n return item.slug === slug\n }) ?? divinerPresets[0]\n )\n}\n\nexport const divinerPresets: NetworkNodePayload[] = [\n {\n name: 'XYO Location (beta)',\n schema: NetworkNodeSchema,\n slug: 'beta-location-diviner-xyo-network',\n type: 'diviner',\n uri: 'https://beta.api.location.diviner.xyo.network',\n web: 'https://beta.explore.xyo.network',\n },\n {\n name: 'XYO Location',\n schema: NetworkNodeSchema,\n slug: 'location-diviner-xyo-network',\n type: 'diviner',\n uri: 'https://api.location.diviner.xyo.network',\n web: 'https://explore.xyo.network',\n },\n {\n name: 'XYO Location (local)',\n schema: NetworkNodeSchema,\n slug: 'local-location-diviner-xyo-network',\n type: 'diviner',\n uri: 'http://localhost:8082',\n web: 'http://localhost:3000',\n },\n]\n","import { defaultNetworkConfigs } from './default'\n\nexport const findNetworkConfig = (slug: string, configs = defaultNetworkConfigs) => {\n return configs.find((item) => {\n return item.slug === slug\n })\n}\n\n/** @deprecated use findNetworkConfig instead */\nexport const findNetworkPreset = findNetworkConfig\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { NetworkContextState } from './State'\n\nexport const NetworkContext = createContextEx<NetworkContextState>()\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { NetworkContext } from './Context'\nimport { NetworkContextState } from './State'\n\nexport const useNetwork = (required = false) => {\n return useContextEx<NetworkContextState>(NetworkContext, 'Network', required)\n}\n","import { WithChildren } from '@xylabs/react-shared'\nimport { useState } from 'react'\n\nimport { defaultNetworkConfigs } from '../../lib'\nimport { NetworkContext } from '../Context'\nimport { NetworkProviderProps } from './Props'\n\nexport const NetworkMemoryProvider: React.FC<WithChildren<NetworkProviderProps>> = ({ defaultNetworkConfig, defaultNetworkName, ...props }) => {\n if (defaultNetworkConfig && defaultNetworkName) {\n console.warn('Both defaultNetworkConfig and defaultNetworkName were passed to provider. Falling back to defaultNetworkConfig')\n }\n\n const resolvedDefaultNetworkConfig = defaultNetworkName ? defaultNetworkConfigs.find((config) => config.name === defaultNetworkName) : undefined\n\n const [network, setNetwork] = useState(defaultNetworkConfig ?? resolvedDefaultNetworkConfig ?? defaultNetworkConfigs[0])\n\n return <NetworkContext.Provider value={{ network, networks: defaultNetworkConfigs, provided: true, setNetwork }} {...props} />\n}\n\n/** @deprecated use NetworkMemoryProvider instead */\nexport const NetworkProvider = NetworkMemoryProvider\n"],"mappings":"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","names":["useState","NetworkNodeSchema","jsx","useState","network"]}
@@ -1,4 +1,199 @@
1
- export * from "./Memory";
2
- export * from "./Props";
3
- export * from "./Route";
1
+ // src/contexts/Provider/Memory.tsx
2
+ import { useState } from "react";
3
+
4
+ // src/lib/archivistPresets.ts
5
+ import { NetworkNodeSchema } from "@xyo-network/network";
6
+
7
+ // src/lib/ExplorerMapHashes.ts
8
+ var ExplorerMapHashes = {
9
+ animatedAnswerHashes: [
10
+ "79af071f451fc7af10d009dc63236ef9a9b211732c1ee0c06f028fcecf2336c5",
11
+ "531bfba6d8dfefd3bcc888aca54cdbbd4574ed2b3ec551b230845a1f9a608898",
12
+ "c874412b4faa4947de81372fd1ba12fdd6f43f5e408622b7f357cb2bcb3f17cb",
13
+ "29d3f8b882c61a82a1a1675782a27e797ea7196f45a23b4409680ab8b8d5f14e",
14
+ "cfd20f80ac073fd9518f4ef3f43d2a1f5e4e56e40c2677f38d6f6fecd05df60c",
15
+ "1354fa73497519a39aed19fc99bdbae78a880a1eafb2f7898d607e07db36528d",
16
+ "1043b0d25eacfc5013ae9dba780305a6fbf01a43543bd871d7c00537fca142a9",
17
+ "973dfc5df142851ced258d52d0ac2784e814000ac22e35776f772256b0d4dde9",
18
+ "463808eb74d3d87e6563970e0301a493577f8cd1b501e6e0ffa5e027ad2cea95",
19
+ "15b21acea2e3fd9d1ace3768a72636ee7bdf67a6f8e0807bfa2273dea2207555",
20
+ "32d377bfe7ebe382598c54dd13f8af7510e0a1e2fd2e913311fdd58e517e5e2e"
21
+ ],
22
+ staticAnswerHash: "c7bbf61f61cfd4a1b2def160c28136fc1d100d39fbdb67b227a2c6e558d9d3a5"
23
+ };
24
+
25
+ // src/lib/archivistPresets.ts
26
+ var findArchivistPreset = (slug) => {
27
+ return archivistPresets.find((item) => {
28
+ return item.slug === slug;
29
+ }) ?? archivistPresets[0];
30
+ };
31
+ var archivistPresets = [
32
+ {
33
+ docs: "https://beta.archivist.xyo.network/api",
34
+ explorerMapHashes: ExplorerMapHashes,
35
+ name: "XYO Shared Archivist (kerplunk)",
36
+ schema: NetworkNodeSchema,
37
+ slug: "kerplunk-archivist-xyo-network",
38
+ type: "archivist",
39
+ uri: "https://beta.api.archivist.xyo.network"
40
+ },
41
+ {
42
+ docs: "https://archivist.xyo.network/api",
43
+ explorerMapHashes: ExplorerMapHashes,
44
+ name: "XYO Shared Archivist (main)",
45
+ schema: NetworkNodeSchema,
46
+ slug: "main-archivist-xyo-network",
47
+ type: "archivist",
48
+ uri: "https://api.archivist.xyo.network"
49
+ },
50
+ {
51
+ docs: "http://localhost:8080/api",
52
+ name: "XYO Shared Archivist (local)",
53
+ schema: NetworkNodeSchema,
54
+ slug: "local-archivist-xyo-network",
55
+ type: "archivist",
56
+ uri: "http://localhost:8080"
57
+ }
58
+ ];
59
+
60
+ // src/lib/Config/default.ts
61
+ import { NetworkSchema } from "@xyo-network/network";
62
+
63
+ // src/lib/divinerPresets.ts
64
+ import { NetworkNodeSchema as NetworkNodeSchema2 } from "@xyo-network/network";
65
+ var findDivinerPreset = (slug) => {
66
+ return divinerPresets.find((item) => {
67
+ return item.slug === slug;
68
+ }) ?? divinerPresets[0];
69
+ };
70
+ var divinerPresets = [
71
+ {
72
+ name: "XYO Location (beta)",
73
+ schema: NetworkNodeSchema2,
74
+ slug: "beta-location-diviner-xyo-network",
75
+ type: "diviner",
76
+ uri: "https://beta.api.location.diviner.xyo.network",
77
+ web: "https://beta.explore.xyo.network"
78
+ },
79
+ {
80
+ name: "XYO Location",
81
+ schema: NetworkNodeSchema2,
82
+ slug: "location-diviner-xyo-network",
83
+ type: "diviner",
84
+ uri: "https://api.location.diviner.xyo.network",
85
+ web: "https://explore.xyo.network"
86
+ },
87
+ {
88
+ name: "XYO Location (local)",
89
+ schema: NetworkNodeSchema2,
90
+ slug: "local-location-diviner-xyo-network",
91
+ type: "diviner",
92
+ uri: "http://localhost:8082",
93
+ web: "http://localhost:3000"
94
+ }
95
+ ];
96
+
97
+ // src/lib/Config/default.ts
98
+ var defaultNetworkConfigs = [
99
+ {
100
+ name: "Kerplunk",
101
+ nodes: [findArchivistPreset("kerplunk-archivist-xyo-network"), findDivinerPreset("beta-location-diviner-xyo-network")],
102
+ schema: NetworkSchema,
103
+ slug: "kerplunk"
104
+ },
105
+ {
106
+ name: "Main",
107
+ nodes: [findArchivistPreset("main-archivist-xyo-network"), findDivinerPreset("location-diviner-xyo-network")],
108
+ schema: NetworkSchema,
109
+ slug: "main"
110
+ },
111
+ {
112
+ name: "Local",
113
+ nodes: [findArchivistPreset("local-archivist-xyo-network"), findDivinerPreset("local-location-diviner-xyo-network")],
114
+ schema: NetworkSchema,
115
+ slug: "local"
116
+ }
117
+ ];
118
+
119
+ // src/lib/Config/find.ts
120
+ var findNetworkConfig = (slug, configs = defaultNetworkConfigs) => {
121
+ return configs.find((item) => {
122
+ return item.slug === slug;
123
+ });
124
+ };
125
+
126
+ // src/contexts/Context.ts
127
+ import { createContextEx } from "@xyo-network/react-shared";
128
+ var NetworkContext = createContextEx();
129
+
130
+ // src/contexts/Provider/Memory.tsx
131
+ import { jsx } from "react/jsx-runtime";
132
+ var NetworkMemoryProvider = ({ defaultNetworkConfig, defaultNetworkName, ...props }) => {
133
+ if (defaultNetworkConfig && defaultNetworkName) {
134
+ console.warn("Both defaultNetworkConfig and defaultNetworkName were passed to provider. Falling back to defaultNetworkConfig");
135
+ }
136
+ const resolvedDefaultNetworkConfig = defaultNetworkName ? defaultNetworkConfigs.find((config) => config.name === defaultNetworkName) : void 0;
137
+ const [network, setNetwork] = useState(defaultNetworkConfig ?? resolvedDefaultNetworkConfig ?? defaultNetworkConfigs[0]);
138
+ return /* @__PURE__ */ jsx(NetworkContext.Provider, { value: { network, networks: defaultNetworkConfigs, provided: true, setNetwork }, ...props });
139
+ };
140
+ var NetworkProvider = NetworkMemoryProvider;
141
+
142
+ // src/contexts/Provider/Route.tsx
143
+ import { useCallback, useEffect, useState as useState2 } from "react";
144
+ import { useSearchParams } from "react-router-dom";
145
+
146
+ // src/contexts/use.ts
147
+ import { useContextEx } from "@xyo-network/react-shared";
148
+ var useNetwork = (required = false) => {
149
+ return useContextEx(NetworkContext, "Network", required);
150
+ };
151
+
152
+ // src/contexts/Provider/Route.tsx
153
+ import { jsx as jsx2 } from "react/jsx-runtime";
154
+ var NetworkRouteProviderInner = ({ children }) => {
155
+ const [initialized, setInitialized] = useState2(false);
156
+ const { network, setNetwork } = useNetwork();
157
+ const [params, setParams] = useSearchParams();
158
+ const slug = params.get("network");
159
+ const routeNetwork = slug ? findNetworkConfig(slug) : void 0;
160
+ const setNetworkParam = useCallback(
161
+ (network2) => {
162
+ if (network2) {
163
+ params.set("network", network2.slug);
164
+ setParams(params, { replace: true });
165
+ setNetwork?.(network2);
166
+ } else {
167
+ params.delete("network");
168
+ }
169
+ },
170
+ [params, setParams, setNetwork]
171
+ );
172
+ const setNetworkLocal = useCallback(
173
+ (network2) => {
174
+ setNetworkParam(network2);
175
+ setNetwork?.(network2);
176
+ },
177
+ [setNetworkParam, setNetwork]
178
+ );
179
+ useEffect(() => {
180
+ if (routeNetwork !== network) {
181
+ if (routeNetwork === void 0 && network !== void 0) {
182
+ setNetworkParam(network);
183
+ } else if (routeNetwork) {
184
+ setNetwork?.(routeNetwork);
185
+ }
186
+ }
187
+ setInitialized(true);
188
+ }, [routeNetwork, network, setNetworkParam, setNetwork]);
189
+ return /* @__PURE__ */ jsx2(NetworkContext.Provider, { value: { network, networks: defaultNetworkConfigs, provided: true, setNetwork: setNetworkLocal }, children: initialized ? children : null });
190
+ };
191
+ var NetworkRouteProvider = ({ defaultNetworkConfig, defaultNetworkName, ...props }) => {
192
+ return /* @__PURE__ */ jsx2(NetworkMemoryProvider, { defaultNetworkConfig, defaultNetworkName, children: /* @__PURE__ */ jsx2(NetworkRouteProviderInner, { ...props }) });
193
+ };
194
+ export {
195
+ NetworkMemoryProvider,
196
+ NetworkProvider,
197
+ NetworkRouteProvider
198
+ };
4
199
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/contexts/Provider/index.ts"],"sourcesContent":["export * from './Memory'\nexport * from './Props'\nexport * from './Route'\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../../src/contexts/Provider/Memory.tsx","../../../../src/lib/archivistPresets.ts","../../../../src/lib/ExplorerMapHashes.ts","../../../../src/lib/Config/default.ts","../../../../src/lib/divinerPresets.ts","../../../../src/lib/Config/find.ts","../../../../src/contexts/Context.ts","../../../../src/contexts/Provider/Route.tsx","../../../../src/contexts/use.ts"],"sourcesContent":["import { WithChildren } from '@xylabs/react-shared'\nimport { useState } from 'react'\n\nimport { defaultNetworkConfigs } from '../../lib'\nimport { NetworkContext } from '../Context'\nimport { NetworkProviderProps } from './Props'\n\nexport const NetworkMemoryProvider: React.FC<WithChildren<NetworkProviderProps>> = ({ defaultNetworkConfig, defaultNetworkName, ...props }) => {\n if (defaultNetworkConfig && defaultNetworkName) {\n console.warn('Both defaultNetworkConfig and defaultNetworkName were passed to provider. Falling back to defaultNetworkConfig')\n }\n\n const resolvedDefaultNetworkConfig = defaultNetworkName ? defaultNetworkConfigs.find((config) => config.name === defaultNetworkName) : undefined\n\n const [network, setNetwork] = useState(defaultNetworkConfig ?? resolvedDefaultNetworkConfig ?? defaultNetworkConfigs[0])\n\n return <NetworkContext.Provider value={{ network, networks: defaultNetworkConfigs, provided: true, setNetwork }} {...props} />\n}\n\n/** @deprecated use NetworkMemoryProvider instead */\nexport const NetworkProvider = NetworkMemoryProvider\n","import { NetworkNodePayload, NetworkNodeSchema } from '@xyo-network/network'\n\nimport { ExplorerMapHashes } from './ExplorerMapHashes'\n\nexport interface ArchivistPreset extends NetworkNodePayload {\n explorerMapHashes?: {\n animatedAnswerHashes: string[]\n staticAnswerHash: string\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","export const ExplorerMapHashes = {\n animatedAnswerHashes: [\n '79af071f451fc7af10d009dc63236ef9a9b211732c1ee0c06f028fcecf2336c5',\n '531bfba6d8dfefd3bcc888aca54cdbbd4574ed2b3ec551b230845a1f9a608898',\n 'c874412b4faa4947de81372fd1ba12fdd6f43f5e408622b7f357cb2bcb3f17cb',\n '29d3f8b882c61a82a1a1675782a27e797ea7196f45a23b4409680ab8b8d5f14e',\n 'cfd20f80ac073fd9518f4ef3f43d2a1f5e4e56e40c2677f38d6f6fecd05df60c',\n '1354fa73497519a39aed19fc99bdbae78a880a1eafb2f7898d607e07db36528d',\n '1043b0d25eacfc5013ae9dba780305a6fbf01a43543bd871d7c00537fca142a9',\n '973dfc5df142851ced258d52d0ac2784e814000ac22e35776f772256b0d4dde9',\n '463808eb74d3d87e6563970e0301a493577f8cd1b501e6e0ffa5e027ad2cea95',\n '15b21acea2e3fd9d1ace3768a72636ee7bdf67a6f8e0807bfa2273dea2207555',\n '32d377bfe7ebe382598c54dd13f8af7510e0a1e2fd2e913311fdd58e517e5e2e',\n ],\n staticAnswerHash: 'c7bbf61f61cfd4a1b2def160c28136fc1d100d39fbdb67b227a2c6e558d9d3a5',\n}\n","import { NetworkPayload, NetworkSchema } from '@xyo-network/network'\n\nimport { findArchivistPreset } from '../archivistPresets'\nimport { findDivinerPreset } from '../divinerPresets'\n\nexport const defaultNetworkConfigs: NetworkPayload[] = [\n {\n name: 'Kerplunk',\n nodes: [findArchivistPreset('kerplunk-archivist-xyo-network'), findDivinerPreset('beta-location-diviner-xyo-network')],\n schema: NetworkSchema,\n slug: 'kerplunk',\n },\n {\n name: 'Main',\n nodes: [findArchivistPreset('main-archivist-xyo-network'), findDivinerPreset('location-diviner-xyo-network')],\n schema: NetworkSchema,\n slug: 'main',\n },\n {\n name: 'Local',\n nodes: [findArchivistPreset('local-archivist-xyo-network'), findDivinerPreset('local-location-diviner-xyo-network')],\n schema: NetworkSchema,\n slug: 'local',\n },\n]\n\n/** @deprecated use defaultNetworkConfigs instead */\nexport const networkPresets = defaultNetworkConfigs\n","import { NetworkNodePayload, NetworkNodeSchema } from '@xyo-network/network'\n\nexport const findDivinerPreset = (slug: string) => {\n return (\n divinerPresets.find((item) => {\n return item.slug === slug\n }) ?? divinerPresets[0]\n )\n}\n\nexport const divinerPresets: NetworkNodePayload[] = [\n {\n name: 'XYO Location (beta)',\n schema: NetworkNodeSchema,\n slug: 'beta-location-diviner-xyo-network',\n type: 'diviner',\n uri: 'https://beta.api.location.diviner.xyo.network',\n web: 'https://beta.explore.xyo.network',\n },\n {\n name: 'XYO Location',\n schema: NetworkNodeSchema,\n slug: 'location-diviner-xyo-network',\n type: 'diviner',\n uri: 'https://api.location.diviner.xyo.network',\n web: 'https://explore.xyo.network',\n },\n {\n name: 'XYO Location (local)',\n schema: NetworkNodeSchema,\n slug: 'local-location-diviner-xyo-network',\n type: 'diviner',\n uri: 'http://localhost:8082',\n web: 'http://localhost:3000',\n },\n]\n","import { defaultNetworkConfigs } from './default'\n\nexport const findNetworkConfig = (slug: string, configs = defaultNetworkConfigs) => {\n return configs.find((item) => {\n return item.slug === slug\n })\n}\n\n/** @deprecated use findNetworkConfig instead */\nexport const findNetworkPreset = findNetworkConfig\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { NetworkContextState } from './State'\n\nexport const NetworkContext = createContextEx<NetworkContextState>()\n","import { WithChildren } from '@xylabs/react-shared'\nimport { NetworkPayload } from '@xyo-network/network'\nimport { useCallback, useEffect, useState } from 'react'\nimport { useSearchParams } from 'react-router-dom'\n\nimport { defaultNetworkConfigs, findNetworkConfig } from '../../lib'\nimport { NetworkContext } from '../Context'\nimport { useNetwork } from '../use'\nimport { NetworkMemoryProvider } from './Memory'\nimport { NetworkProviderProps } from './Props'\n\nconst NetworkRouteProviderInner: React.FC<WithChildren> = ({ children }) => {\n const [initialized, setInitialized] = useState(false)\n const { network, setNetwork } = useNetwork()\n\n const [params, setParams] = useSearchParams()\n\n const slug = params.get('network')\n const routeNetwork = slug ? findNetworkConfig(slug) : undefined\n\n //update the network stored in the route\n const setNetworkParam = useCallback(\n (network?: NetworkPayload) => {\n if (network) {\n params.set('network', network.slug)\n setParams(params, { replace: true })\n setNetwork?.(network)\n } else {\n params.delete('network')\n }\n },\n [params, setParams, setNetwork],\n )\n\n //if the network is actively changed, update both memory and route\n const setNetworkLocal = useCallback(\n (network: NetworkPayload) => {\n setNetworkParam(network)\n setNetwork?.(network)\n },\n [setNetworkParam, setNetwork],\n )\n\n //sync memory and route storage of network\n useEffect(() => {\n if (routeNetwork !== network) {\n if (routeNetwork === undefined && network !== undefined) {\n //if the route does not have a network selected, use what is in the memory context\n setNetworkParam(network)\n } else if (routeNetwork) {\n //if the route has a selection and it is different from memory, update memory\n setNetwork?.(routeNetwork)\n }\n }\n setInitialized(true)\n }, [routeNetwork, network, setNetworkParam, setNetwork])\n\n return (\n <NetworkContext.Provider value={{ network, networks: defaultNetworkConfigs, provided: true, setNetwork: setNetworkLocal }}>\n {initialized ? children : null}\n </NetworkContext.Provider>\n )\n}\n\nexport const NetworkRouteProvider: React.FC<WithChildren<NetworkProviderProps>> = ({ defaultNetworkConfig, defaultNetworkName, ...props }) => {\n return (\n <NetworkMemoryProvider defaultNetworkConfig={defaultNetworkConfig} defaultNetworkName={defaultNetworkName}>\n <NetworkRouteProviderInner {...props} />\n </NetworkMemoryProvider>\n )\n}\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { NetworkContext } from './Context'\nimport { NetworkContextState } from './State'\n\nexport const useNetwork = (required = false) => {\n return useContextEx<NetworkContextState>(NetworkContext, 'Network', required)\n}\n"],"mappings":"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","names":["NetworkNodeSchema","useState","jsx","useState","network"]}