@xyo-network/react-network 2.64.0 → 2.64.1

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,11 +1,144 @@
1
- import { jsx } from "react/jsx-runtime";
1
+ // src/components/SelectEx/NetworkSelectEx.tsx
2
2
  import { MenuItem } from "@mui/material";
3
3
  import { assertEx } from "@xylabs/assert";
4
4
  import { SelectEx } from "@xylabs/react-select";
5
5
  import { useBreakpoint } from "@xylabs/react-shared";
6
- import { useNetwork } from "../../contexts";
7
- import { findNetworkConfig } from "../../lib";
8
- const NetworkSelectEx = ({ onChange, responsive = true, ...props }) => {
6
+
7
+ // src/contexts/Context.ts
8
+ import { createContextEx } from "@xyo-network/react-shared";
9
+ var NetworkContext = createContextEx();
10
+
11
+ // src/lib/archivistPresets.ts
12
+ import { NetworkNodeSchema } from "@xyo-network/network";
13
+
14
+ // src/lib/ExplorerMapHashes.ts
15
+ var ExplorerMapHashes = {
16
+ animatedAnswerHashes: [
17
+ "79af071f451fc7af10d009dc63236ef9a9b211732c1ee0c06f028fcecf2336c5",
18
+ "531bfba6d8dfefd3bcc888aca54cdbbd4574ed2b3ec551b230845a1f9a608898",
19
+ "c874412b4faa4947de81372fd1ba12fdd6f43f5e408622b7f357cb2bcb3f17cb",
20
+ "29d3f8b882c61a82a1a1675782a27e797ea7196f45a23b4409680ab8b8d5f14e",
21
+ "cfd20f80ac073fd9518f4ef3f43d2a1f5e4e56e40c2677f38d6f6fecd05df60c",
22
+ "1354fa73497519a39aed19fc99bdbae78a880a1eafb2f7898d607e07db36528d",
23
+ "1043b0d25eacfc5013ae9dba780305a6fbf01a43543bd871d7c00537fca142a9",
24
+ "973dfc5df142851ced258d52d0ac2784e814000ac22e35776f772256b0d4dde9",
25
+ "463808eb74d3d87e6563970e0301a493577f8cd1b501e6e0ffa5e027ad2cea95",
26
+ "15b21acea2e3fd9d1ace3768a72636ee7bdf67a6f8e0807bfa2273dea2207555",
27
+ "32d377bfe7ebe382598c54dd13f8af7510e0a1e2fd2e913311fdd58e517e5e2e"
28
+ ],
29
+ staticAnswerHash: "c7bbf61f61cfd4a1b2def160c28136fc1d100d39fbdb67b227a2c6e558d9d3a5"
30
+ };
31
+
32
+ // src/lib/archivistPresets.ts
33
+ var findArchivistPreset = (slug) => {
34
+ return archivistPresets.find((item) => {
35
+ return item.slug === slug;
36
+ }) ?? archivistPresets[0];
37
+ };
38
+ var archivistPresets = [
39
+ {
40
+ docs: "https://beta.archivist.xyo.network/api",
41
+ explorerMapHashes: ExplorerMapHashes,
42
+ name: "XYO Shared Archivist (kerplunk)",
43
+ schema: NetworkNodeSchema,
44
+ slug: "kerplunk-archivist-xyo-network",
45
+ type: "archivist",
46
+ uri: "https://beta.api.archivist.xyo.network"
47
+ },
48
+ {
49
+ docs: "https://archivist.xyo.network/api",
50
+ explorerMapHashes: ExplorerMapHashes,
51
+ name: "XYO Shared Archivist (main)",
52
+ schema: NetworkNodeSchema,
53
+ slug: "main-archivist-xyo-network",
54
+ type: "archivist",
55
+ uri: "https://api.archivist.xyo.network"
56
+ },
57
+ {
58
+ docs: "http://localhost:8080/api",
59
+ name: "XYO Shared Archivist (local)",
60
+ schema: NetworkNodeSchema,
61
+ slug: "local-archivist-xyo-network",
62
+ type: "archivist",
63
+ uri: "http://localhost:8080"
64
+ }
65
+ ];
66
+
67
+ // src/lib/Config/default.ts
68
+ import { NetworkSchema } from "@xyo-network/network";
69
+
70
+ // src/lib/divinerPresets.ts
71
+ import { NetworkNodeSchema as NetworkNodeSchema2 } from "@xyo-network/network";
72
+ var findDivinerPreset = (slug) => {
73
+ return divinerPresets.find((item) => {
74
+ return item.slug === slug;
75
+ }) ?? divinerPresets[0];
76
+ };
77
+ var divinerPresets = [
78
+ {
79
+ name: "XYO Location (beta)",
80
+ schema: NetworkNodeSchema2,
81
+ slug: "beta-location-diviner-xyo-network",
82
+ type: "diviner",
83
+ uri: "https://beta.api.location.diviner.xyo.network",
84
+ web: "https://beta.explore.xyo.network"
85
+ },
86
+ {
87
+ name: "XYO Location",
88
+ schema: NetworkNodeSchema2,
89
+ slug: "location-diviner-xyo-network",
90
+ type: "diviner",
91
+ uri: "https://api.location.diviner.xyo.network",
92
+ web: "https://explore.xyo.network"
93
+ },
94
+ {
95
+ name: "XYO Location (local)",
96
+ schema: NetworkNodeSchema2,
97
+ slug: "local-location-diviner-xyo-network",
98
+ type: "diviner",
99
+ uri: "http://localhost:8082",
100
+ web: "http://localhost:3000"
101
+ }
102
+ ];
103
+
104
+ // src/lib/Config/default.ts
105
+ var defaultNetworkConfigs = [
106
+ {
107
+ name: "Kerplunk",
108
+ nodes: [findArchivistPreset("kerplunk-archivist-xyo-network"), findDivinerPreset("beta-location-diviner-xyo-network")],
109
+ schema: NetworkSchema,
110
+ slug: "kerplunk"
111
+ },
112
+ {
113
+ name: "Main",
114
+ nodes: [findArchivistPreset("main-archivist-xyo-network"), findDivinerPreset("location-diviner-xyo-network")],
115
+ schema: NetworkSchema,
116
+ slug: "main"
117
+ },
118
+ {
119
+ name: "Local",
120
+ nodes: [findArchivistPreset("local-archivist-xyo-network"), findDivinerPreset("local-location-diviner-xyo-network")],
121
+ schema: NetworkSchema,
122
+ slug: "local"
123
+ }
124
+ ];
125
+
126
+ // src/lib/Config/find.ts
127
+ var findNetworkConfig = (slug, configs = defaultNetworkConfigs) => {
128
+ return configs.find((item) => {
129
+ return item.slug === slug;
130
+ });
131
+ };
132
+
133
+ // src/contexts/use.ts
134
+ import { useContextEx } from "@xyo-network/react-shared";
135
+ var useNetwork = (required = false) => {
136
+ return useContextEx(NetworkContext, "Network", required);
137
+ };
138
+
139
+ // src/components/SelectEx/NetworkSelectEx.tsx
140
+ import { jsx } from "react/jsx-runtime";
141
+ var NetworkSelectEx = ({ onChange, responsive = true, ...props }) => {
9
142
  const { network, setNetwork, networks } = useNetwork(false);
10
143
  const sm = useBreakpoint() === "sm";
11
144
  return /* @__PURE__ */ jsx(
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/SelectEx/NetworkSelectEx.tsx"],"sourcesContent":["import { MenuItem } from '@mui/material'\nimport { assertEx } from '@xylabs/assert'\nimport { SelectEx, SelectExProps } from '@xylabs/react-select'\nimport { useBreakpoint } from '@xylabs/react-shared'\n\nimport { useNetwork } from '../../contexts'\nimport { findNetworkConfig } from '../../lib'\n\nexport interface NetworkSelectExProps extends SelectExProps<string> {\n responsive?: boolean\n}\n\nexport const NetworkSelectEx: React.FC<NetworkSelectExProps> = ({ onChange, responsive = true, ...props }) => {\n const { network, setNetwork, networks } = useNetwork(false)\n const sm = useBreakpoint() === 'sm'\n return (\n <SelectEx\n variant=\"outlined\"\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"],"mappings":"AA8BU;AA9BV,SAAS,gBAAgB;AACzB,SAAS,gBAAgB;AACzB,SAAS,gBAA+B;AACxC,SAAS,qBAAqB;AAE9B,SAAS,kBAAkB;AAC3B,SAAS,yBAAyB;AAM3B,MAAM,kBAAkD,CAAC,EAAE,UAAU,aAAa,MAAM,GAAG,MAAM,MAAM;AAC5G,QAAM,EAAE,SAAS,YAAY,SAAS,IAAI,WAAW,KAAK;AAC1D,QAAM,KAAK,cAAc,MAAM;AAC/B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAO,SAAS,QAAQ;AAAA,MACxB,UAAU,CAAC,OAAO,UAAU;AAC1B,YAAI,MAAM,OAAO,UAAU,SAAS,MAAM;AACxC,qBAAW,OAAO,KAAK;AACvB,uBAAa,SAAS,kBAAkB,MAAM,OAAO,OAAO,QAAQ,CAAC,CAAC;AAAA,QACxE;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEH,oBAAU,IAAI,CAACA,aAAY;AAC1B,eACE,oBAAC,YAA4B,OAAOA,SAAQ,MACzC,wBAAc,KAAKA,SAAQ,OAAO,CAAC,EAAE,YAAY,IAAIA,SAAQ,QADjDA,SAAQ,IAEvB;AAAA,MAEJ,CAAC;AAAA;AAAA,EACH;AAEJ;","names":["network"]}
1
+ {"version":3,"sources":["../../../../src/components/SelectEx/NetworkSelectEx.tsx","../../../../src/contexts/Context.ts","../../../../src/lib/archivistPresets.ts","../../../../src/lib/ExplorerMapHashes.ts","../../../../src/lib/Config/default.ts","../../../../src/lib/divinerPresets.ts","../../../../src/lib/Config/find.ts","../../../../src/contexts/use.ts"],"sourcesContent":["import { MenuItem } from '@mui/material'\nimport { assertEx } from '@xylabs/assert'\nimport { SelectEx, SelectExProps } from '@xylabs/react-select'\nimport { useBreakpoint } from '@xylabs/react-shared'\n\nimport { useNetwork } from '../../contexts'\nimport { findNetworkConfig } from '../../lib'\n\nexport interface NetworkSelectExProps extends SelectExProps<string> {\n responsive?: boolean\n}\n\nexport const NetworkSelectEx: React.FC<NetworkSelectExProps> = ({ onChange, responsive = true, ...props }) => {\n const { network, setNetwork, networks } = useNetwork(false)\n const sm = useBreakpoint() === 'sm'\n return (\n <SelectEx\n variant=\"outlined\"\n size=\"small\"\n value={network?.slug ?? ''}\n onChange={(event, child) => {\n if (event.target.value !== network?.slug) {\n onChange?.(event, child)\n setNetwork?.(assertEx(findNetworkConfig(event.target.value, networks)))\n }\n }}\n {...props}\n >\n {networks?.map((network) => {\n return (\n <MenuItem key={network.slug} value={network.slug}>\n {responsive && sm ? network.name?.[0].toUpperCase() : network.name}\n </MenuItem>\n )\n })}\n </SelectEx>\n )\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { NetworkContextState } from './State'\n\nexport const NetworkContext = createContextEx<NetworkContextState>()\n","import { 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 { 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","network"]}
@@ -1,2 +1,166 @@
1
- export * from "./NetworkSelectEx";
1
+ // src/components/SelectEx/NetworkSelectEx.tsx
2
+ import { MenuItem } from "@mui/material";
3
+ import { assertEx } from "@xylabs/assert";
4
+ import { SelectEx } from "@xylabs/react-select";
5
+ import { useBreakpoint } from "@xylabs/react-shared";
6
+
7
+ // src/contexts/Context.ts
8
+ import { createContextEx } from "@xyo-network/react-shared";
9
+ var NetworkContext = createContextEx();
10
+
11
+ // src/lib/archivistPresets.ts
12
+ import { NetworkNodeSchema } from "@xyo-network/network";
13
+
14
+ // src/lib/ExplorerMapHashes.ts
15
+ var ExplorerMapHashes = {
16
+ animatedAnswerHashes: [
17
+ "79af071f451fc7af10d009dc63236ef9a9b211732c1ee0c06f028fcecf2336c5",
18
+ "531bfba6d8dfefd3bcc888aca54cdbbd4574ed2b3ec551b230845a1f9a608898",
19
+ "c874412b4faa4947de81372fd1ba12fdd6f43f5e408622b7f357cb2bcb3f17cb",
20
+ "29d3f8b882c61a82a1a1675782a27e797ea7196f45a23b4409680ab8b8d5f14e",
21
+ "cfd20f80ac073fd9518f4ef3f43d2a1f5e4e56e40c2677f38d6f6fecd05df60c",
22
+ "1354fa73497519a39aed19fc99bdbae78a880a1eafb2f7898d607e07db36528d",
23
+ "1043b0d25eacfc5013ae9dba780305a6fbf01a43543bd871d7c00537fca142a9",
24
+ "973dfc5df142851ced258d52d0ac2784e814000ac22e35776f772256b0d4dde9",
25
+ "463808eb74d3d87e6563970e0301a493577f8cd1b501e6e0ffa5e027ad2cea95",
26
+ "15b21acea2e3fd9d1ace3768a72636ee7bdf67a6f8e0807bfa2273dea2207555",
27
+ "32d377bfe7ebe382598c54dd13f8af7510e0a1e2fd2e913311fdd58e517e5e2e"
28
+ ],
29
+ staticAnswerHash: "c7bbf61f61cfd4a1b2def160c28136fc1d100d39fbdb67b227a2c6e558d9d3a5"
30
+ };
31
+
32
+ // src/lib/archivistPresets.ts
33
+ var findArchivistPreset = (slug) => {
34
+ return archivistPresets.find((item) => {
35
+ return item.slug === slug;
36
+ }) ?? archivistPresets[0];
37
+ };
38
+ var archivistPresets = [
39
+ {
40
+ docs: "https://beta.archivist.xyo.network/api",
41
+ explorerMapHashes: ExplorerMapHashes,
42
+ name: "XYO Shared Archivist (kerplunk)",
43
+ schema: NetworkNodeSchema,
44
+ slug: "kerplunk-archivist-xyo-network",
45
+ type: "archivist",
46
+ uri: "https://beta.api.archivist.xyo.network"
47
+ },
48
+ {
49
+ docs: "https://archivist.xyo.network/api",
50
+ explorerMapHashes: ExplorerMapHashes,
51
+ name: "XYO Shared Archivist (main)",
52
+ schema: NetworkNodeSchema,
53
+ slug: "main-archivist-xyo-network",
54
+ type: "archivist",
55
+ uri: "https://api.archivist.xyo.network"
56
+ },
57
+ {
58
+ docs: "http://localhost:8080/api",
59
+ name: "XYO Shared Archivist (local)",
60
+ schema: NetworkNodeSchema,
61
+ slug: "local-archivist-xyo-network",
62
+ type: "archivist",
63
+ uri: "http://localhost:8080"
64
+ }
65
+ ];
66
+
67
+ // src/lib/Config/default.ts
68
+ import { NetworkSchema } from "@xyo-network/network";
69
+
70
+ // src/lib/divinerPresets.ts
71
+ import { NetworkNodeSchema as NetworkNodeSchema2 } from "@xyo-network/network";
72
+ var findDivinerPreset = (slug) => {
73
+ return divinerPresets.find((item) => {
74
+ return item.slug === slug;
75
+ }) ?? divinerPresets[0];
76
+ };
77
+ var divinerPresets = [
78
+ {
79
+ name: "XYO Location (beta)",
80
+ schema: NetworkNodeSchema2,
81
+ slug: "beta-location-diviner-xyo-network",
82
+ type: "diviner",
83
+ uri: "https://beta.api.location.diviner.xyo.network",
84
+ web: "https://beta.explore.xyo.network"
85
+ },
86
+ {
87
+ name: "XYO Location",
88
+ schema: NetworkNodeSchema2,
89
+ slug: "location-diviner-xyo-network",
90
+ type: "diviner",
91
+ uri: "https://api.location.diviner.xyo.network",
92
+ web: "https://explore.xyo.network"
93
+ },
94
+ {
95
+ name: "XYO Location (local)",
96
+ schema: NetworkNodeSchema2,
97
+ slug: "local-location-diviner-xyo-network",
98
+ type: "diviner",
99
+ uri: "http://localhost:8082",
100
+ web: "http://localhost:3000"
101
+ }
102
+ ];
103
+
104
+ // src/lib/Config/default.ts
105
+ var defaultNetworkConfigs = [
106
+ {
107
+ name: "Kerplunk",
108
+ nodes: [findArchivistPreset("kerplunk-archivist-xyo-network"), findDivinerPreset("beta-location-diviner-xyo-network")],
109
+ schema: NetworkSchema,
110
+ slug: "kerplunk"
111
+ },
112
+ {
113
+ name: "Main",
114
+ nodes: [findArchivistPreset("main-archivist-xyo-network"), findDivinerPreset("location-diviner-xyo-network")],
115
+ schema: NetworkSchema,
116
+ slug: "main"
117
+ },
118
+ {
119
+ name: "Local",
120
+ nodes: [findArchivistPreset("local-archivist-xyo-network"), findDivinerPreset("local-location-diviner-xyo-network")],
121
+ schema: NetworkSchema,
122
+ slug: "local"
123
+ }
124
+ ];
125
+
126
+ // src/lib/Config/find.ts
127
+ var findNetworkConfig = (slug, configs = defaultNetworkConfigs) => {
128
+ return configs.find((item) => {
129
+ return item.slug === slug;
130
+ });
131
+ };
132
+
133
+ // src/contexts/use.ts
134
+ import { useContextEx } from "@xyo-network/react-shared";
135
+ var useNetwork = (required = false) => {
136
+ return useContextEx(NetworkContext, "Network", required);
137
+ };
138
+
139
+ // src/components/SelectEx/NetworkSelectEx.tsx
140
+ import { jsx } from "react/jsx-runtime";
141
+ var NetworkSelectEx = ({ onChange, responsive = true, ...props }) => {
142
+ const { network, setNetwork, networks } = useNetwork(false);
143
+ const sm = useBreakpoint() === "sm";
144
+ return /* @__PURE__ */ jsx(
145
+ SelectEx,
146
+ {
147
+ variant: "outlined",
148
+ size: "small",
149
+ value: network?.slug ?? "",
150
+ onChange: (event, child) => {
151
+ if (event.target.value !== network?.slug) {
152
+ onChange?.(event, child);
153
+ setNetwork?.(assertEx(findNetworkConfig(event.target.value, networks)));
154
+ }
155
+ },
156
+ ...props,
157
+ children: networks?.map((network2) => {
158
+ return /* @__PURE__ */ jsx(MenuItem, { value: network2.slug, children: responsive && sm ? network2.name?.[0].toUpperCase() : network2.name }, network2.slug);
159
+ })
160
+ }
161
+ );
162
+ };
163
+ export {
164
+ NetworkSelectEx
165
+ };
2
166
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/SelectEx/index.ts"],"sourcesContent":["export * from './NetworkSelectEx'\n"],"mappings":"AAAA,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/SelectEx/NetworkSelectEx.tsx","../../../../src/contexts/Context.ts","../../../../src/lib/archivistPresets.ts","../../../../src/lib/ExplorerMapHashes.ts","../../../../src/lib/Config/default.ts","../../../../src/lib/divinerPresets.ts","../../../../src/lib/Config/find.ts","../../../../src/contexts/use.ts"],"sourcesContent":["import { MenuItem } from '@mui/material'\nimport { assertEx } from '@xylabs/assert'\nimport { SelectEx, SelectExProps } from '@xylabs/react-select'\nimport { useBreakpoint } from '@xylabs/react-shared'\n\nimport { useNetwork } from '../../contexts'\nimport { findNetworkConfig } from '../../lib'\n\nexport interface NetworkSelectExProps extends SelectExProps<string> {\n responsive?: boolean\n}\n\nexport const NetworkSelectEx: React.FC<NetworkSelectExProps> = ({ onChange, responsive = true, ...props }) => {\n const { network, setNetwork, networks } = useNetwork(false)\n const sm = useBreakpoint() === 'sm'\n return (\n <SelectEx\n variant=\"outlined\"\n size=\"small\"\n value={network?.slug ?? ''}\n onChange={(event, child) => {\n if (event.target.value !== network?.slug) {\n onChange?.(event, child)\n setNetwork?.(assertEx(findNetworkConfig(event.target.value, networks)))\n }\n }}\n {...props}\n >\n {networks?.map((network) => {\n return (\n <MenuItem key={network.slug} value={network.slug}>\n {responsive && sm ? network.name?.[0].toUpperCase() : network.name}\n </MenuItem>\n )\n })}\n </SelectEx>\n )\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { NetworkContextState } from './State'\n\nexport const NetworkContext = createContextEx<NetworkContextState>()\n","import { 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 { 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","network"]}
@@ -1,2 +1,166 @@
1
- export * from "./SelectEx";
1
+ // src/components/SelectEx/NetworkSelectEx.tsx
2
+ import { MenuItem } from "@mui/material";
3
+ import { assertEx } from "@xylabs/assert";
4
+ import { SelectEx } from "@xylabs/react-select";
5
+ import { useBreakpoint } from "@xylabs/react-shared";
6
+
7
+ // src/contexts/Context.ts
8
+ import { createContextEx } from "@xyo-network/react-shared";
9
+ var NetworkContext = createContextEx();
10
+
11
+ // src/lib/archivistPresets.ts
12
+ import { NetworkNodeSchema } from "@xyo-network/network";
13
+
14
+ // src/lib/ExplorerMapHashes.ts
15
+ var ExplorerMapHashes = {
16
+ animatedAnswerHashes: [
17
+ "79af071f451fc7af10d009dc63236ef9a9b211732c1ee0c06f028fcecf2336c5",
18
+ "531bfba6d8dfefd3bcc888aca54cdbbd4574ed2b3ec551b230845a1f9a608898",
19
+ "c874412b4faa4947de81372fd1ba12fdd6f43f5e408622b7f357cb2bcb3f17cb",
20
+ "29d3f8b882c61a82a1a1675782a27e797ea7196f45a23b4409680ab8b8d5f14e",
21
+ "cfd20f80ac073fd9518f4ef3f43d2a1f5e4e56e40c2677f38d6f6fecd05df60c",
22
+ "1354fa73497519a39aed19fc99bdbae78a880a1eafb2f7898d607e07db36528d",
23
+ "1043b0d25eacfc5013ae9dba780305a6fbf01a43543bd871d7c00537fca142a9",
24
+ "973dfc5df142851ced258d52d0ac2784e814000ac22e35776f772256b0d4dde9",
25
+ "463808eb74d3d87e6563970e0301a493577f8cd1b501e6e0ffa5e027ad2cea95",
26
+ "15b21acea2e3fd9d1ace3768a72636ee7bdf67a6f8e0807bfa2273dea2207555",
27
+ "32d377bfe7ebe382598c54dd13f8af7510e0a1e2fd2e913311fdd58e517e5e2e"
28
+ ],
29
+ staticAnswerHash: "c7bbf61f61cfd4a1b2def160c28136fc1d100d39fbdb67b227a2c6e558d9d3a5"
30
+ };
31
+
32
+ // src/lib/archivistPresets.ts
33
+ var findArchivistPreset = (slug) => {
34
+ return archivistPresets.find((item) => {
35
+ return item.slug === slug;
36
+ }) ?? archivistPresets[0];
37
+ };
38
+ var archivistPresets = [
39
+ {
40
+ docs: "https://beta.archivist.xyo.network/api",
41
+ explorerMapHashes: ExplorerMapHashes,
42
+ name: "XYO Shared Archivist (kerplunk)",
43
+ schema: NetworkNodeSchema,
44
+ slug: "kerplunk-archivist-xyo-network",
45
+ type: "archivist",
46
+ uri: "https://beta.api.archivist.xyo.network"
47
+ },
48
+ {
49
+ docs: "https://archivist.xyo.network/api",
50
+ explorerMapHashes: ExplorerMapHashes,
51
+ name: "XYO Shared Archivist (main)",
52
+ schema: NetworkNodeSchema,
53
+ slug: "main-archivist-xyo-network",
54
+ type: "archivist",
55
+ uri: "https://api.archivist.xyo.network"
56
+ },
57
+ {
58
+ docs: "http://localhost:8080/api",
59
+ name: "XYO Shared Archivist (local)",
60
+ schema: NetworkNodeSchema,
61
+ slug: "local-archivist-xyo-network",
62
+ type: "archivist",
63
+ uri: "http://localhost:8080"
64
+ }
65
+ ];
66
+
67
+ // src/lib/Config/default.ts
68
+ import { NetworkSchema } from "@xyo-network/network";
69
+
70
+ // src/lib/divinerPresets.ts
71
+ import { NetworkNodeSchema as NetworkNodeSchema2 } from "@xyo-network/network";
72
+ var findDivinerPreset = (slug) => {
73
+ return divinerPresets.find((item) => {
74
+ return item.slug === slug;
75
+ }) ?? divinerPresets[0];
76
+ };
77
+ var divinerPresets = [
78
+ {
79
+ name: "XYO Location (beta)",
80
+ schema: NetworkNodeSchema2,
81
+ slug: "beta-location-diviner-xyo-network",
82
+ type: "diviner",
83
+ uri: "https://beta.api.location.diviner.xyo.network",
84
+ web: "https://beta.explore.xyo.network"
85
+ },
86
+ {
87
+ name: "XYO Location",
88
+ schema: NetworkNodeSchema2,
89
+ slug: "location-diviner-xyo-network",
90
+ type: "diviner",
91
+ uri: "https://api.location.diviner.xyo.network",
92
+ web: "https://explore.xyo.network"
93
+ },
94
+ {
95
+ name: "XYO Location (local)",
96
+ schema: NetworkNodeSchema2,
97
+ slug: "local-location-diviner-xyo-network",
98
+ type: "diviner",
99
+ uri: "http://localhost:8082",
100
+ web: "http://localhost:3000"
101
+ }
102
+ ];
103
+
104
+ // src/lib/Config/default.ts
105
+ var defaultNetworkConfigs = [
106
+ {
107
+ name: "Kerplunk",
108
+ nodes: [findArchivistPreset("kerplunk-archivist-xyo-network"), findDivinerPreset("beta-location-diviner-xyo-network")],
109
+ schema: NetworkSchema,
110
+ slug: "kerplunk"
111
+ },
112
+ {
113
+ name: "Main",
114
+ nodes: [findArchivistPreset("main-archivist-xyo-network"), findDivinerPreset("location-diviner-xyo-network")],
115
+ schema: NetworkSchema,
116
+ slug: "main"
117
+ },
118
+ {
119
+ name: "Local",
120
+ nodes: [findArchivistPreset("local-archivist-xyo-network"), findDivinerPreset("local-location-diviner-xyo-network")],
121
+ schema: NetworkSchema,
122
+ slug: "local"
123
+ }
124
+ ];
125
+
126
+ // src/lib/Config/find.ts
127
+ var findNetworkConfig = (slug, configs = defaultNetworkConfigs) => {
128
+ return configs.find((item) => {
129
+ return item.slug === slug;
130
+ });
131
+ };
132
+
133
+ // src/contexts/use.ts
134
+ import { useContextEx } from "@xyo-network/react-shared";
135
+ var useNetwork = (required = false) => {
136
+ return useContextEx(NetworkContext, "Network", required);
137
+ };
138
+
139
+ // src/components/SelectEx/NetworkSelectEx.tsx
140
+ import { jsx } from "react/jsx-runtime";
141
+ var NetworkSelectEx = ({ onChange, responsive = true, ...props }) => {
142
+ const { network, setNetwork, networks } = useNetwork(false);
143
+ const sm = useBreakpoint() === "sm";
144
+ return /* @__PURE__ */ jsx(
145
+ SelectEx,
146
+ {
147
+ variant: "outlined",
148
+ size: "small",
149
+ value: network?.slug ?? "",
150
+ onChange: (event, child) => {
151
+ if (event.target.value !== network?.slug) {
152
+ onChange?.(event, child);
153
+ setNetwork?.(assertEx(findNetworkConfig(event.target.value, networks)));
154
+ }
155
+ },
156
+ ...props,
157
+ children: networks?.map((network2) => {
158
+ return /* @__PURE__ */ jsx(MenuItem, { value: network2.slug, children: responsive && sm ? network2.name?.[0].toUpperCase() : network2.name }, network2.slug);
159
+ })
160
+ }
161
+ );
162
+ };
163
+ export {
164
+ NetworkSelectEx
165
+ };
2
166
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/index.ts"],"sourcesContent":["export * from './SelectEx'\n"],"mappings":"AAAA,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/SelectEx/NetworkSelectEx.tsx","../../../src/contexts/Context.ts","../../../src/lib/archivistPresets.ts","../../../src/lib/ExplorerMapHashes.ts","../../../src/lib/Config/default.ts","../../../src/lib/divinerPresets.ts","../../../src/lib/Config/find.ts","../../../src/contexts/use.ts"],"sourcesContent":["import { MenuItem } from '@mui/material'\nimport { assertEx } from '@xylabs/assert'\nimport { SelectEx, SelectExProps } from '@xylabs/react-select'\nimport { useBreakpoint } from '@xylabs/react-shared'\n\nimport { useNetwork } from '../../contexts'\nimport { findNetworkConfig } from '../../lib'\n\nexport interface NetworkSelectExProps extends SelectExProps<string> {\n responsive?: boolean\n}\n\nexport const NetworkSelectEx: React.FC<NetworkSelectExProps> = ({ onChange, responsive = true, ...props }) => {\n const { network, setNetwork, networks } = useNetwork(false)\n const sm = useBreakpoint() === 'sm'\n return (\n <SelectEx\n variant=\"outlined\"\n size=\"small\"\n value={network?.slug ?? ''}\n onChange={(event, child) => {\n if (event.target.value !== network?.slug) {\n onChange?.(event, child)\n setNetwork?.(assertEx(findNetworkConfig(event.target.value, networks)))\n }\n }}\n {...props}\n >\n {networks?.map((network) => {\n return (\n <MenuItem key={network.slug} value={network.slug}>\n {responsive && sm ? network.name?.[0].toUpperCase() : network.name}\n </MenuItem>\n )\n })}\n </SelectEx>\n )\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { NetworkContextState } from './State'\n\nexport const NetworkContext = createContextEx<NetworkContextState>()\n","import { 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 { 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","network"]}
@@ -1,5 +1,6 @@
1
+ // src/contexts/Context.ts
1
2
  import { createContextEx } from "@xyo-network/react-shared";
2
- const NetworkContext = createContextEx();
3
+ var NetworkContext = createContextEx();
3
4
  export {
4
5
  NetworkContext
5
6
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/contexts/Context.ts"],"sourcesContent":["import { createContextEx } from '@xyo-network/react-shared'\n\nimport { NetworkContextState } from './State'\n\nexport const NetworkContext = createContextEx<NetworkContextState>()\n"],"mappings":"AAAA,SAAS,uBAAuB;AAIzB,MAAM,iBAAiB,gBAAqC;","names":[]}
1
+ {"version":3,"sources":["../../../src/contexts/Context.ts"],"sourcesContent":["import { createContextEx } from '@xyo-network/react-shared'\n\nimport { NetworkContextState } from './State'\n\nexport const NetworkContext = createContextEx<NetworkContextState>()\n"],"mappings":";AAAA,SAAS,uBAAuB;AAIzB,IAAM,iBAAiB,gBAAqC;","names":[]}