@xyo-network/react-network 5.3.15 → 6.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{types → browser}/components/SelectEx/NetworkSelectEx.d.ts.map +1 -1
- package/dist/browser/components/SelectEx/NetworkSelectEx.stories.d.ts +10 -0
- package/dist/browser/components/SelectEx/NetworkSelectEx.stories.d.ts.map +1 -0
- package/dist/browser/contexts/Provider/Memory.stories.d.ts +15 -0
- package/dist/browser/contexts/Provider/Memory.stories.d.ts.map +1 -0
- package/dist/browser/index.d.ts +93 -0
- package/dist/browser/index.mjs.map +1 -1
- package/package.json +17 -16
- package/src/components/SelectEx/NetworkSelectEx.tsx +2 -2
- package/dist/types/index.d.ts +0 -4
- /package/dist/{types → browser}/components/SelectEx/NetworkSelectEx.d.ts +0 -0
- /package/dist/{types → browser}/components/SelectEx/index.d.ts +0 -0
- /package/dist/{types → browser}/components/SelectEx/index.d.ts.map +0 -0
- /package/dist/{types → browser}/components/index.d.ts +0 -0
- /package/dist/{types → browser}/components/index.d.ts.map +0 -0
- /package/dist/{types → browser}/contexts/Context.d.ts +0 -0
- /package/dist/{types → browser}/contexts/Context.d.ts.map +0 -0
- /package/dist/{types → browser}/contexts/Provider/Memory.d.ts +0 -0
- /package/dist/{types → browser}/contexts/Provider/Memory.d.ts.map +0 -0
- /package/dist/{types → browser}/contexts/Provider/Props.d.ts +0 -0
- /package/dist/{types → browser}/contexts/Provider/Props.d.ts.map +0 -0
- /package/dist/{types → browser}/contexts/Provider/Route.d.ts +0 -0
- /package/dist/{types → browser}/contexts/Provider/Route.d.ts.map +0 -0
- /package/dist/{types → browser}/contexts/Provider/index.d.ts +0 -0
- /package/dist/{types → browser}/contexts/Provider/index.d.ts.map +0 -0
- /package/dist/{types → browser}/contexts/State.d.ts +0 -0
- /package/dist/{types → browser}/contexts/State.d.ts.map +0 -0
- /package/dist/{types → browser}/contexts/index.d.ts +0 -0
- /package/dist/{types → browser}/contexts/index.d.ts.map +0 -0
- /package/dist/{types → browser}/contexts/use.d.ts +0 -0
- /package/dist/{types → browser}/contexts/use.d.ts.map +0 -0
- /package/dist/{types → browser}/index.d.ts.map +0 -0
- /package/dist/{types → browser}/lib/Config/NetworkNames.d.ts +0 -0
- /package/dist/{types → browser}/lib/Config/NetworkNames.d.ts.map +0 -0
- /package/dist/{types → browser}/lib/Config/default.d.ts +0 -0
- /package/dist/{types → browser}/lib/Config/default.d.ts.map +0 -0
- /package/dist/{types → browser}/lib/Config/find.d.ts +0 -0
- /package/dist/{types → browser}/lib/Config/find.d.ts.map +0 -0
- /package/dist/{types → browser}/lib/Config/index.d.ts +0 -0
- /package/dist/{types → browser}/lib/Config/index.d.ts.map +0 -0
- /package/dist/{types → browser}/lib/Config/resolveNetworkFromHostname.d.ts +0 -0
- /package/dist/{types → browser}/lib/Config/resolveNetworkFromHostname.d.ts.map +0 -0
- /package/dist/{types → browser}/lib/ExplorerMapHashes.d.ts +0 -0
- /package/dist/{types → browser}/lib/ExplorerMapHashes.d.ts.map +0 -0
- /package/dist/{types → browser}/lib/archivistNameToUri.d.ts +0 -0
- /package/dist/{types → browser}/lib/archivistNameToUri.d.ts.map +0 -0
- /package/dist/{types → browser}/lib/archivistPresets.d.ts +0 -0
- /package/dist/{types → browser}/lib/archivistPresets.d.ts.map +0 -0
- /package/dist/{types → browser}/lib/divinerPresets.d.ts +0 -0
- /package/dist/{types → browser}/lib/divinerPresets.d.ts.map +0 -0
- /package/dist/{types → browser}/lib/index.d.ts +0 -0
- /package/dist/{types → browser}/lib/index.d.ts.map +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NetworkSelectEx.d.ts","sourceRoot":"","sources":["../../../../src/components/SelectEx/NetworkSelectEx.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAGzD,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"NetworkSelectEx.d.ts","sourceRoot":"","sources":["../../../../src/components/SelectEx/NetworkSelectEx.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAGzD,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,GACrE,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG;IACjC,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAEH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA6B1D,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Meta } from '@storybook/react-vite';
|
|
2
|
+
import type { NetworkSelectExProps } from './NetworkSelectEx.tsx';
|
|
3
|
+
import { NetworkSelectEx } from './NetworkSelectEx.tsx';
|
|
4
|
+
declare const StorybookEntry: Meta<typeof NetworkSelectEx>;
|
|
5
|
+
declare const Default: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react-vite").ReactRenderer, NetworkSelectExProps>;
|
|
6
|
+
declare const WithMemoryProvider: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react-vite").ReactRenderer, NetworkSelectExProps>;
|
|
7
|
+
declare const WithRouteProvider: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react-vite").ReactRenderer, NetworkSelectExProps>;
|
|
8
|
+
export { Default, WithMemoryProvider, WithRouteProvider, };
|
|
9
|
+
export default StorybookEntry;
|
|
10
|
+
//# sourceMappingURL=NetworkSelectEx.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NetworkSelectEx.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/SelectEx/NetworkSelectEx.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAW,MAAM,uBAAuB,CAAA;AAW1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,QAAA,MAAM,cAAc,EAKf,IAAI,CAAC,OAAO,eAAe,CAAC,CAAA;AAiEjC,QAAA,MAAM,OAAO,wHAAoB,CAAA;AAGjC,QAAA,MAAM,kBAAkB,wHAAsC,CAAA;AAG9D,QAAA,MAAM,iBAAiB,wHAAqC,CAAA;AAG5D,OAAO,EACL,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,GAC/C,CAAA;AAED,eAAe,cAAc,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Meta } from '@storybook/react-vite';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
declare const StorybookEntry: Meta;
|
|
4
|
+
declare const Default: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react-vite").ReactRenderer, import("./Props.ts").NetworkProviderProps & {
|
|
5
|
+
children?: React.ReactNode | undefined;
|
|
6
|
+
}>;
|
|
7
|
+
declare const DefaultNetworkName: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react-vite").ReactRenderer, import("./Props.ts").NetworkProviderProps & {
|
|
8
|
+
children?: React.ReactNode | undefined;
|
|
9
|
+
}>;
|
|
10
|
+
declare const DefaultNetworkConfig: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react-vite").ReactRenderer, import("./Props.ts").NetworkProviderProps & {
|
|
11
|
+
children?: React.ReactNode | undefined;
|
|
12
|
+
}>;
|
|
13
|
+
export default StorybookEntry;
|
|
14
|
+
export { Default, DefaultNetworkConfig, DefaultNetworkName, };
|
|
15
|
+
//# sourceMappingURL=Memory.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Memory.stories.d.ts","sourceRoot":"","sources":["../../../../src/contexts/Provider/Memory.stories.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAW,MAAM,uBAAuB,CAAA;AAE1D,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,QAAA,MAAM,cAAc,EAAE,IAGrB,CAAA;AA4BD,QAAA,MAAM,OAAO;;EAAoB,CAAA;AAGjC,QAAA,MAAM,kBAAkB;;EAAoB,CAAA;AAG5C,QAAA,MAAM,oBAAoB;;EAAoB,CAAA;AAG9C,eAAe,cAAc,CAAA;AAE7B,OAAO,EACL,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,GAClD,CAAA"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { SelectExProps } from '@xylabs/react-select';
|
|
2
|
+
import * as react from 'react';
|
|
3
|
+
import react__default, { PropsWithChildren, Dispatch } from 'react';
|
|
4
|
+
import * as _xylabs_react_shared from '@xylabs/react-shared';
|
|
5
|
+
import { ContextExState } from '@xylabs/react-shared';
|
|
6
|
+
import * as _xyo_network_network from '@xyo-network/network';
|
|
7
|
+
import { NetworkNodePayload, NetworkPayload } from '@xyo-network/network';
|
|
8
|
+
import { Hash } from '@xylabs/hex';
|
|
9
|
+
|
|
10
|
+
type NetworkSelectExProps = Omit<SelectExProps<string>, 'variant'> & Partial<SelectExProps<string>> & {
|
|
11
|
+
responsive?: boolean;
|
|
12
|
+
};
|
|
13
|
+
declare const NetworkSelectEx: react__default.FC<NetworkSelectExProps>;
|
|
14
|
+
|
|
15
|
+
declare const NetworkContext: react.Context<({
|
|
16
|
+
network?: _xyo_network_network.NetworkPayload;
|
|
17
|
+
networks?: _xyo_network_network.NetworkPayload[];
|
|
18
|
+
setNetwork?: react.Dispatch<_xyo_network_network.NetworkPayload>;
|
|
19
|
+
} & {
|
|
20
|
+
provided: true;
|
|
21
|
+
}) | (_xylabs_react_shared.FixedValues<_xylabs_react_shared.ProvidedContextExState<{
|
|
22
|
+
network?: _xyo_network_network.NetworkPayload;
|
|
23
|
+
networks?: _xyo_network_network.NetworkPayload[];
|
|
24
|
+
setNetwork?: react.Dispatch<_xyo_network_network.NetworkPayload>;
|
|
25
|
+
}>, never> & {
|
|
26
|
+
provided: false;
|
|
27
|
+
}) | (_xylabs_react_shared.FixedValues<_xylabs_react_shared.NotProvidedContextExState<{
|
|
28
|
+
network?: _xyo_network_network.NetworkPayload;
|
|
29
|
+
networks?: _xyo_network_network.NetworkPayload[];
|
|
30
|
+
setNetwork?: react.Dispatch<_xyo_network_network.NetworkPayload>;
|
|
31
|
+
}>, never> & {
|
|
32
|
+
provided: false;
|
|
33
|
+
})>;
|
|
34
|
+
|
|
35
|
+
declare const archivistUriToName: () => Record<string, string>;
|
|
36
|
+
|
|
37
|
+
type ArchivistPreset = NetworkNodePayload & {
|
|
38
|
+
explorerMapHashes?: {
|
|
39
|
+
animatedAnswerHashes: Hash[];
|
|
40
|
+
staticAnswerHash: Hash;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
declare const findArchivistPreset: (slug: string) => ArchivistPreset;
|
|
44
|
+
declare const archivistPresets: ArchivistPreset[];
|
|
45
|
+
|
|
46
|
+
declare const defaultNetworkConfigs: NetworkPayload[];
|
|
47
|
+
/** @deprecated use defaultNetworkConfigs instead */
|
|
48
|
+
declare const networkPresets: NetworkPayload[];
|
|
49
|
+
|
|
50
|
+
declare const findNetworkConfig: (slug: string, configs?: _xyo_network_network.NetworkPayload[]) => _xyo_network_network.NetworkPayload | undefined;
|
|
51
|
+
/** @deprecated use findNetworkConfig instead */
|
|
52
|
+
declare const findNetworkPreset: (slug: string, configs?: _xyo_network_network.NetworkPayload[]) => _xyo_network_network.NetworkPayload | undefined;
|
|
53
|
+
|
|
54
|
+
type NetworkNames = 'Kerplunk' | 'Main' | 'Local' | 'Custom';
|
|
55
|
+
|
|
56
|
+
type SiteName = 'explore' | 'node';
|
|
57
|
+
declare const resolveNetworkFromHostName: (fallback: NetworkNames | undefined, siteName: SiteName) => NetworkNames;
|
|
58
|
+
|
|
59
|
+
declare const findDivinerPreset: (slug: string) => NetworkNodePayload;
|
|
60
|
+
declare const divinerPresets: NetworkNodePayload[];
|
|
61
|
+
|
|
62
|
+
interface NetworkProviderProps {
|
|
63
|
+
/** @deprecated use defaultNetworkConfig instead */
|
|
64
|
+
defaultNetwork?: NetworkPayload;
|
|
65
|
+
defaultNetworkConfig?: NetworkPayload;
|
|
66
|
+
defaultNetworkName?: NetworkNames;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
declare const NetworkMemoryProvider: react__default.FC<PropsWithChildren<NetworkProviderProps>>;
|
|
70
|
+
/** @deprecated use NetworkMemoryProvider instead */
|
|
71
|
+
declare const NetworkProvider: react__default.FC<PropsWithChildren<NetworkProviderProps>>;
|
|
72
|
+
|
|
73
|
+
declare const NetworkRouteProvider: react__default.FC<PropsWithChildren<NetworkProviderProps>>;
|
|
74
|
+
|
|
75
|
+
type NetworkContextState = ContextExState<{
|
|
76
|
+
/** @field The currently selected XYO Network */
|
|
77
|
+
network?: NetworkPayload;
|
|
78
|
+
/** @field The list of known available networks */
|
|
79
|
+
networks?: NetworkPayload[];
|
|
80
|
+
/** @field Function to set the selected Network */
|
|
81
|
+
setNetwork?: Dispatch<NetworkPayload>;
|
|
82
|
+
}>;
|
|
83
|
+
|
|
84
|
+
declare const useNetwork: (required?: boolean) => Omit<{
|
|
85
|
+
network?: _xyo_network_network.NetworkPayload;
|
|
86
|
+
networks?: _xyo_network_network.NetworkPayload[];
|
|
87
|
+
setNetwork?: react.Dispatch<_xyo_network_network.NetworkPayload>;
|
|
88
|
+
} & {
|
|
89
|
+
provided: true;
|
|
90
|
+
}, "provided"> | Omit<_xylabs_react_shared.NotProvidedContextExState<NetworkContextState>, "provided">;
|
|
91
|
+
|
|
92
|
+
export { NetworkContext, NetworkMemoryProvider, NetworkProvider, NetworkRouteProvider, NetworkSelectEx, archivistPresets, archivistUriToName, defaultNetworkConfigs, divinerPresets, findArchivistPreset, findDivinerPreset, findNetworkConfig, findNetworkPreset, networkPresets, resolveNetworkFromHostName, useNetwork };
|
|
93
|
+
export type { ArchivistPreset, NetworkContextState, NetworkNames, NetworkProviderProps, NetworkSelectExProps, SiteName };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/SelectEx/NetworkSelectEx.tsx","../../src/contexts/Context.ts","../../src/contexts/Provider/Memory.tsx","../../src/lib/archivistPresets.ts","../../src/lib/ExplorerMapHashes.ts","../../src/lib/archivistNameToUri.ts","../../src/lib/Config/default.ts","../../src/lib/divinerPresets.ts","../../src/lib/Config/find.ts","../../src/lib/Config/resolveNetworkFromHostname.ts","../../src/contexts/Provider/Route.tsx","../../src/contexts/use.ts"],"sourcesContent":["import { MenuItem } from '@mui/material'\nimport { assertEx } from '@xylabs/assert'\nimport type { SelectExProps } from '@xylabs/react-select'\nimport { SelectEx } from '@xylabs/react-select'\nimport { useBreakpoint } from '@xylabs/react-shared'\nimport React from 'react'\n\nimport { useNetwork } from '../../contexts/index.ts'\nimport { findNetworkConfig } from '../../lib/index.ts'\n\nexport type NetworkSelectExProps = Omit<SelectExProps<string>, 'variant'> &\n Partial<SelectExProps<string>> & {\n responsive?: boolean\n }\n\nexport const NetworkSelectEx: React.FC<NetworkSelectExProps> = ({\n onChange, variant = 'outlined', responsive = true, ...props\n}) => {\n const {\n network, setNetwork, networks,\n } = useNetwork(false)\n const sm = useBreakpoint() === 'sm'\n return (\n <SelectEx\n variant={variant}\n size=\"small\"\n value={network?.slug ?? ''}\n onChange={(event, child) => {\n if (event.target.value !== network?.slug) {\n onChange?.(event, child)\n setNetwork?.(assertEx(findNetworkConfig(event.target.value, networks)))\n }\n }}\n {...props}\n >\n {networks?.map((network) => {\n return (\n <MenuItem key={network.slug} value={network.slug}>\n {responsive && sm ? network.name?.[0].toUpperCase() : network.name}\n </MenuItem>\n )\n })}\n </SelectEx>\n )\n}\n","import { createContextEx } from '@xylabs/react-shared'\n\nimport type { NetworkContextState } from './State.ts'\n\nexport const NetworkContext = createContextEx<NetworkContextState>()\n","import type { PropsWithChildren } from 'react'\nimport React, { useMemo, useState } from 'react'\n\nimport { defaultNetworkConfigs } from '../../lib/index.ts'\nimport { NetworkContext } from '../Context.ts'\nimport type { NetworkContextState } from '../State.ts'\nimport type { NetworkProviderProps } from './Props.ts'\n\nexport const NetworkMemoryProvider: React.FC<PropsWithChildren<NetworkProviderProps>> = ({\n defaultNetworkConfig, defaultNetworkName, ...props\n}) => {\n if (defaultNetworkConfig && defaultNetworkName) {\n console.warn('Both defaultNetworkConfig and defaultNetworkName were passed to provider. Falling back to defaultNetworkConfig')\n }\n\n const resolvedDefaultNetworkConfig = defaultNetworkName ? defaultNetworkConfigs.find(config => config.name === defaultNetworkName) : undefined\n\n const [network, setNetwork] = useState(defaultNetworkConfig ?? resolvedDefaultNetworkConfig ?? defaultNetworkConfigs[0])\n\n const value: NetworkContextState = useMemo(() => ({\n network, networks: defaultNetworkConfigs, provided: true, setNetwork,\n }), [network, setNetwork])\n\n return <NetworkContext value={value} {...props} />\n}\n\n/** @deprecated use NetworkMemoryProvider instead */\nexport const NetworkProvider = NetworkMemoryProvider\n","import type { Hash } from '@xylabs/hex'\nimport type { NetworkNodePayload } from '@xyo-network/network'\nimport { NetworkNodeSchema } from '@xyo-network/network'\n\nimport { ExplorerMapHashes } from './ExplorerMapHashes.ts'\n\nexport type ArchivistPreset = NetworkNodePayload & {\n explorerMapHashes?: {\n animatedAnswerHashes: Hash[]\n staticAnswerHash: Hash\n }\n}\n\nexport const findArchivistPreset = (slug: string) => {\n return (\n archivistPresets.find((item) => {\n return item.slug === slug\n }) ?? archivistPresets[0]\n )\n}\n\nexport const archivistPresets: ArchivistPreset[] = [\n {\n docs: 'https://beta.archivist.xyo.network/api',\n explorerMapHashes: ExplorerMapHashes,\n name: 'XYO Shared Archivist (kerplunk)',\n schema: NetworkNodeSchema,\n slug: 'kerplunk-archivist-xyo-network',\n type: 'archivist',\n uri: 'https://beta.api.archivist.xyo.network',\n },\n {\n docs: 'https://archivist.xyo.network/api',\n explorerMapHashes: ExplorerMapHashes,\n name: 'XYO Shared Archivist (main)',\n schema: NetworkNodeSchema,\n slug: 'main-archivist-xyo-network',\n type: 'archivist',\n uri: 'https://api.archivist.xyo.network',\n },\n {\n docs: 'http://localhost:8080/api',\n name: 'XYO Shared Archivist (local)',\n schema: NetworkNodeSchema,\n slug: 'local-archivist-xyo-network',\n type: 'archivist',\n uri: 'http://localhost:8080',\n },\n]\n","import type { Hash } from '@xylabs/hex'\nexport const ExplorerMapHashes: { animatedAnswerHashes: Hash[]; staticAnswerHash: Hash } = {\n animatedAnswerHashes: [\n '79af071f451fc7af10d009dc63236ef9a9b211732c1ee0c06f028fcecf2336c5',\n '531bfba6d8dfefd3bcc888aca54cdbbd4574ed2b3ec551b230845a1f9a608898',\n 'c874412b4faa4947de81372fd1ba12fdd6f43f5e408622b7f357cb2bcb3f17cb',\n '29d3f8b882c61a82a1a1675782a27e797ea7196f45a23b4409680ab8b8d5f14e',\n 'cfd20f80ac073fd9518f4ef3f43d2a1f5e4e56e40c2677f38d6f6fecd05df60c',\n '1354fa73497519a39aed19fc99bdbae78a880a1eafb2f7898d607e07db36528d',\n '1043b0d25eacfc5013ae9dba780305a6fbf01a43543bd871d7c00537fca142a9',\n '973dfc5df142851ced258d52d0ac2784e814000ac22e35776f772256b0d4dde9',\n '463808eb74d3d87e6563970e0301a493577f8cd1b501e6e0ffa5e027ad2cea95',\n '15b21acea2e3fd9d1ace3768a72636ee7bdf67a6f8e0807bfa2273dea2207555',\n '32d377bfe7ebe382598c54dd13f8af7510e0a1e2fd2e913311fdd58e517e5e2e',\n ],\n staticAnswerHash: 'c7bbf61f61cfd4a1b2def160c28136fc1d100d39fbdb67b227a2c6e558d9d3a5',\n}\n","import { archivistPresets } from './archivistPresets.ts'\n\nexport const archivistUriToName = () => {\n // eslint-disable-next-line unicorn/no-array-reduce\n return archivistPresets.reduce<Record<string, string>>((acc, { name, uri }) => {\n if (name) {\n acc[uri] = name\n }\n return acc\n }, {})\n}\n","import type { NetworkPayload } from '@xyo-network/network'\nimport { NetworkSchema } from '@xyo-network/network'\n\nimport { findArchivistPreset } from '../archivistPresets.ts'\nimport { findDivinerPreset } from '../divinerPresets.ts'\n\nexport const defaultNetworkConfigs: NetworkPayload[] = [\n {\n name: 'Kerplunk',\n nodes: [findArchivistPreset('kerplunk-archivist-xyo-network'), findDivinerPreset('beta-location-diviner-xyo-network')],\n schema: NetworkSchema,\n slug: 'kerplunk',\n },\n {\n name: 'Main',\n nodes: [findArchivistPreset('main-archivist-xyo-network'), findDivinerPreset('location-diviner-xyo-network')],\n schema: NetworkSchema,\n slug: 'main',\n },\n {\n name: 'Local',\n nodes: [findArchivistPreset('local-archivist-xyo-network'), findDivinerPreset('local-location-diviner-xyo-network')],\n schema: NetworkSchema,\n slug: 'local',\n },\n {\n name: 'Custom',\n nodes: [findArchivistPreset('kerplunk-archivist-xyo-network'), findDivinerPreset('beta-location-diviner-xyo-network')],\n schema: NetworkSchema,\n slug: 'custom',\n },\n]\n\n/** @deprecated use defaultNetworkConfigs instead */\nexport const networkPresets = defaultNetworkConfigs\n","import type { NetworkNodePayload } from '@xyo-network/network'\nimport { NetworkNodeSchema } from '@xyo-network/network'\n\nexport const findDivinerPreset = (slug: string) => {\n return (\n divinerPresets.find((item) => {\n return item.slug === slug\n }) ?? divinerPresets[0]\n )\n}\n\nexport const divinerPresets: NetworkNodePayload[] = [\n {\n name: 'XYO Location (beta)',\n schema: NetworkNodeSchema,\n slug: 'beta-location-diviner-xyo-network',\n type: 'diviner',\n uri: 'https://beta.api.location.diviner.xyo.network',\n web: 'https://beta.explore.xyo.network',\n },\n {\n name: 'XYO Location',\n schema: NetworkNodeSchema,\n slug: 'location-diviner-xyo-network',\n type: 'diviner',\n uri: 'https://api.location.diviner.xyo.network',\n web: 'https://explore.xyo.network',\n },\n {\n name: 'XYO Location (local)',\n schema: NetworkNodeSchema,\n slug: 'local-location-diviner-xyo-network',\n type: 'diviner',\n uri: 'http://localhost:8082',\n web: 'http://localhost:3000',\n },\n]\n","import { defaultNetworkConfigs } from './default.ts'\n\nexport const findNetworkConfig = (slug: string, configs = defaultNetworkConfigs) => {\n return configs.find((item) => {\n return item.slug === slug\n })\n}\n\n/** @deprecated use findNetworkConfig instead */\nexport const findNetworkPreset = findNetworkConfig\n","import type { NetworkNames } from './NetworkNames.ts'\n\nexport type SiteName = 'explore' | 'node'\n\nexport const resolveNetworkFromHostName = (fallback: NetworkNames = 'Kerplunk', siteName: SiteName) => {\n switch (document.location.hostname) {\n case `${siteName}.xyo.network`: {\n return 'Main'\n }\n case `beta.${siteName}.xyo.network`: {\n return 'Kerplunk'\n }\n default: {\n return fallback\n }\n }\n}\n","import type { NetworkPayload } from '@xyo-network/network'\nimport type { PropsWithChildren } from 'react'\nimport React, { useCallback, useEffect } from 'react'\nimport { useSearchParams } from 'react-router-dom'\n\nimport { defaultNetworkConfigs, findNetworkConfig } from '../../lib/index.ts'\nimport { NetworkContext } from '../Context.ts'\nimport { useNetwork } from '../use.ts'\nimport { NetworkMemoryProvider } from './Memory.tsx'\nimport type { NetworkProviderProps } from './Props.ts'\n\nconst NetworkRouteProviderInner: React.FC<PropsWithChildren> = ({ children }) => {\n const { network, setNetwork } = useNetwork()\n\n const [params, setParams] = useSearchParams()\n\n const slug = params.get('network')\n const routeNetwork = slug ? findNetworkConfig(slug) : undefined\n\n // update the network stored in the route\n const setNetworkParam = useCallback(\n (network?: NetworkPayload) => {\n if (network) {\n params.set('network', network.slug)\n setParams(params, { replace: true })\n setNetwork?.(network)\n } else {\n params.delete('network')\n }\n },\n [params, setParams, setNetwork],\n )\n\n // if the network is actively changed, update both memory and route\n const setNetworkLocal = useCallback(\n (network: NetworkPayload) => {\n setNetworkParam(network)\n setNetwork?.(network)\n },\n [setNetworkParam, setNetwork],\n )\n\n // sync memory and route storage of network\n useEffect(() => {\n if (routeNetwork !== network) {\n if (routeNetwork === undefined && network !== undefined) {\n // if the route does not have a network selected, use what is in the memory context\n setNetworkParam(network)\n } else if (routeNetwork !== undefined) {\n // if the route has a selection and it is different from memory, update memory\n setNetwork?.(routeNetwork)\n }\n }\n }, [routeNetwork, network, setNetworkParam, setNetwork])\n\n return (\n // eslint-disable-next-line @eslint-react/no-unstable-context-value\n <NetworkContext value={{\n network, networks: defaultNetworkConfigs, provided: true, setNetwork: setNetworkLocal,\n }}\n >\n {network ? children : null}\n </NetworkContext>\n )\n}\n\nexport const NetworkRouteProvider: React.FC<PropsWithChildren<NetworkProviderProps>> = ({\n defaultNetworkConfig, defaultNetworkName, ...props\n}) => {\n return (\n <NetworkMemoryProvider defaultNetworkConfig={defaultNetworkConfig} defaultNetworkName={defaultNetworkName}>\n <NetworkRouteProviderInner {...props} />\n </NetworkMemoryProvider>\n )\n}\n","import { useContextEx } from '@xylabs/react-shared'\n\nimport { NetworkContext } from './Context.ts'\nimport type { NetworkContextState } from './State.ts'\n\nexport const useNetwork = (required = false) => {\n return useContextEx<NetworkContextState>(NetworkContext, 'Network', required)\n}\n"],"mappings":"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","names":["MenuItem","assertEx","SelectEx","useBreakpoint","React","createContextEx","NetworkContext","React","useMemo","useState","NetworkNodeSchema","ExplorerMapHashes","animatedAnswerHashes","staticAnswerHash","findArchivistPreset","slug","archivistPresets","find","item","docs","explorerMapHashes","ExplorerMapHashes","name","schema","NetworkNodeSchema","type","uri","archivistUriToName","archivistPresets","reduce","acc","name","uri","NetworkSchema","NetworkNodeSchema","findDivinerPreset","slug","divinerPresets","find","item","name","schema","NetworkNodeSchema","type","uri","web","defaultNetworkConfigs","name","nodes","findArchivistPreset","findDivinerPreset","schema","NetworkSchema","slug","networkPresets","findNetworkConfig","slug","configs","defaultNetworkConfigs","find","item","findNetworkPreset","resolveNetworkFromHostName","fallback","siteName","document","location","hostname","NetworkMemoryProvider","defaultNetworkConfig","defaultNetworkName","props","console","warn","resolvedDefaultNetworkConfig","defaultNetworkConfigs","find","config","name","undefined","network","setNetwork","useState","value","useMemo","networks","provided","NetworkContext","NetworkProvider","React","useCallback","useEffect","useSearchParams","useContextEx","useNetwork","required","useContextEx","NetworkContext","NetworkRouteProviderInner","children","network","setNetwork","useNetwork","params","setParams","useSearchParams","slug","get","routeNetwork","findNetworkConfig","undefined","setNetworkParam","useCallback","set","replace","delete","setNetworkLocal","useEffect","React","NetworkContext","value","networks","defaultNetworkConfigs","provided","NetworkRouteProvider","defaultNetworkConfig","defaultNetworkName","props","NetworkMemoryProvider","NetworkSelectEx","onChange","variant","responsive","props","network","setNetwork","networks","useNetwork","sm","useBreakpoint","React","SelectEx","size","value","slug","event","child","target","assertEx","findNetworkConfig","map","MenuItem","key","name","toUpperCase"]}
|
|
1
|
+
{"version":3,"sources":["../../src/components/SelectEx/NetworkSelectEx.tsx","../../src/contexts/Context.ts","../../src/contexts/Provider/Memory.tsx","../../src/lib/archivistPresets.ts","../../src/lib/ExplorerMapHashes.ts","../../src/lib/archivistNameToUri.ts","../../src/lib/Config/default.ts","../../src/lib/divinerPresets.ts","../../src/lib/Config/find.ts","../../src/lib/Config/resolveNetworkFromHostname.ts","../../src/contexts/Provider/Route.tsx","../../src/contexts/use.ts"],"sourcesContent":["import { MenuItem } from '@mui/material'\nimport { assertEx } from '@xylabs/assert'\nimport type { SelectExProps } from '@xylabs/react-select'\nimport { SelectEx } from '@xylabs/react-select'\nimport { useBreakpoint } from '@xylabs/react-shared'\nimport React from 'react'\n\nimport { useNetwork } from '../../contexts/index.ts'\nimport { findNetworkConfig } from '../../lib/index.ts'\n\nexport type NetworkSelectExProps = Omit<SelectExProps<string>, 'variant'>\n & Partial<SelectExProps<string>> & {\n responsive?: boolean\n }\n\nexport const NetworkSelectEx: React.FC<NetworkSelectExProps> = ({\n onChange, variant = 'outlined', responsive = true, ...props\n}) => {\n const {\n network, setNetwork, networks,\n } = useNetwork(false)\n const sm = useBreakpoint() === 'sm'\n return (\n <SelectEx\n variant={variant}\n size=\"small\"\n value={network?.slug ?? ''}\n onChange={(event, child) => {\n if (event.target.value !== network?.slug) {\n onChange?.(event, child)\n setNetwork?.(assertEx(findNetworkConfig(event.target.value, networks)))\n }\n }}\n {...props}\n >\n {networks?.map((network) => {\n return (\n <MenuItem key={network.slug} value={network.slug}>\n {responsive && sm ? network.name?.[0].toUpperCase() : network.name}\n </MenuItem>\n )\n })}\n </SelectEx>\n )\n}\n","import { createContextEx } from '@xylabs/react-shared'\n\nimport type { NetworkContextState } from './State.ts'\n\nexport const NetworkContext = createContextEx<NetworkContextState>()\n","import type { PropsWithChildren } from 'react'\nimport React, { useMemo, useState } from 'react'\n\nimport { defaultNetworkConfigs } from '../../lib/index.ts'\nimport { NetworkContext } from '../Context.ts'\nimport type { NetworkContextState } from '../State.ts'\nimport type { NetworkProviderProps } from './Props.ts'\n\nexport const NetworkMemoryProvider: React.FC<PropsWithChildren<NetworkProviderProps>> = ({\n defaultNetworkConfig, defaultNetworkName, ...props\n}) => {\n if (defaultNetworkConfig && defaultNetworkName) {\n console.warn('Both defaultNetworkConfig and defaultNetworkName were passed to provider. Falling back to defaultNetworkConfig')\n }\n\n const resolvedDefaultNetworkConfig = defaultNetworkName ? defaultNetworkConfigs.find(config => config.name === defaultNetworkName) : undefined\n\n const [network, setNetwork] = useState(defaultNetworkConfig ?? resolvedDefaultNetworkConfig ?? defaultNetworkConfigs[0])\n\n const value: NetworkContextState = useMemo(() => ({\n network, networks: defaultNetworkConfigs, provided: true, setNetwork,\n }), [network, setNetwork])\n\n return <NetworkContext value={value} {...props} />\n}\n\n/** @deprecated use NetworkMemoryProvider instead */\nexport const NetworkProvider = NetworkMemoryProvider\n","import type { Hash } from '@xylabs/hex'\nimport type { NetworkNodePayload } from '@xyo-network/network'\nimport { NetworkNodeSchema } from '@xyo-network/network'\n\nimport { ExplorerMapHashes } from './ExplorerMapHashes.ts'\n\nexport type ArchivistPreset = NetworkNodePayload & {\n explorerMapHashes?: {\n animatedAnswerHashes: Hash[]\n staticAnswerHash: Hash\n }\n}\n\nexport const findArchivistPreset = (slug: string) => {\n return (\n archivistPresets.find((item) => {\n return item.slug === slug\n }) ?? archivistPresets[0]\n )\n}\n\nexport const archivistPresets: ArchivistPreset[] = [\n {\n docs: 'https://beta.archivist.xyo.network/api',\n explorerMapHashes: ExplorerMapHashes,\n name: 'XYO Shared Archivist (kerplunk)',\n schema: NetworkNodeSchema,\n slug: 'kerplunk-archivist-xyo-network',\n type: 'archivist',\n uri: 'https://beta.api.archivist.xyo.network',\n },\n {\n docs: 'https://archivist.xyo.network/api',\n explorerMapHashes: ExplorerMapHashes,\n name: 'XYO Shared Archivist (main)',\n schema: NetworkNodeSchema,\n slug: 'main-archivist-xyo-network',\n type: 'archivist',\n uri: 'https://api.archivist.xyo.network',\n },\n {\n docs: 'http://localhost:8080/api',\n name: 'XYO Shared Archivist (local)',\n schema: NetworkNodeSchema,\n slug: 'local-archivist-xyo-network',\n type: 'archivist',\n uri: 'http://localhost:8080',\n },\n]\n","import type { Hash } from '@xylabs/hex'\nexport const ExplorerMapHashes: { animatedAnswerHashes: Hash[]; staticAnswerHash: Hash } = {\n animatedAnswerHashes: [\n '79af071f451fc7af10d009dc63236ef9a9b211732c1ee0c06f028fcecf2336c5',\n '531bfba6d8dfefd3bcc888aca54cdbbd4574ed2b3ec551b230845a1f9a608898',\n 'c874412b4faa4947de81372fd1ba12fdd6f43f5e408622b7f357cb2bcb3f17cb',\n '29d3f8b882c61a82a1a1675782a27e797ea7196f45a23b4409680ab8b8d5f14e',\n 'cfd20f80ac073fd9518f4ef3f43d2a1f5e4e56e40c2677f38d6f6fecd05df60c',\n '1354fa73497519a39aed19fc99bdbae78a880a1eafb2f7898d607e07db36528d',\n '1043b0d25eacfc5013ae9dba780305a6fbf01a43543bd871d7c00537fca142a9',\n '973dfc5df142851ced258d52d0ac2784e814000ac22e35776f772256b0d4dde9',\n '463808eb74d3d87e6563970e0301a493577f8cd1b501e6e0ffa5e027ad2cea95',\n '15b21acea2e3fd9d1ace3768a72636ee7bdf67a6f8e0807bfa2273dea2207555',\n '32d377bfe7ebe382598c54dd13f8af7510e0a1e2fd2e913311fdd58e517e5e2e',\n ],\n staticAnswerHash: 'c7bbf61f61cfd4a1b2def160c28136fc1d100d39fbdb67b227a2c6e558d9d3a5',\n}\n","import { archivistPresets } from './archivistPresets.ts'\n\nexport const archivistUriToName = () => {\n // eslint-disable-next-line unicorn/no-array-reduce\n return archivistPresets.reduce<Record<string, string>>((acc, { name, uri }) => {\n if (name) {\n acc[uri] = name\n }\n return acc\n }, {})\n}\n","import type { NetworkPayload } from '@xyo-network/network'\nimport { NetworkSchema } from '@xyo-network/network'\n\nimport { findArchivistPreset } from '../archivistPresets.ts'\nimport { findDivinerPreset } from '../divinerPresets.ts'\n\nexport const defaultNetworkConfigs: NetworkPayload[] = [\n {\n name: 'Kerplunk',\n nodes: [findArchivistPreset('kerplunk-archivist-xyo-network'), findDivinerPreset('beta-location-diviner-xyo-network')],\n schema: NetworkSchema,\n slug: 'kerplunk',\n },\n {\n name: 'Main',\n nodes: [findArchivistPreset('main-archivist-xyo-network'), findDivinerPreset('location-diviner-xyo-network')],\n schema: NetworkSchema,\n slug: 'main',\n },\n {\n name: 'Local',\n nodes: [findArchivistPreset('local-archivist-xyo-network'), findDivinerPreset('local-location-diviner-xyo-network')],\n schema: NetworkSchema,\n slug: 'local',\n },\n {\n name: 'Custom',\n nodes: [findArchivistPreset('kerplunk-archivist-xyo-network'), findDivinerPreset('beta-location-diviner-xyo-network')],\n schema: NetworkSchema,\n slug: 'custom',\n },\n]\n\n/** @deprecated use defaultNetworkConfigs instead */\nexport const networkPresets = defaultNetworkConfigs\n","import type { NetworkNodePayload } from '@xyo-network/network'\nimport { NetworkNodeSchema } from '@xyo-network/network'\n\nexport const findDivinerPreset = (slug: string) => {\n return (\n divinerPresets.find((item) => {\n return item.slug === slug\n }) ?? divinerPresets[0]\n )\n}\n\nexport const divinerPresets: NetworkNodePayload[] = [\n {\n name: 'XYO Location (beta)',\n schema: NetworkNodeSchema,\n slug: 'beta-location-diviner-xyo-network',\n type: 'diviner',\n uri: 'https://beta.api.location.diviner.xyo.network',\n web: 'https://beta.explore.xyo.network',\n },\n {\n name: 'XYO Location',\n schema: NetworkNodeSchema,\n slug: 'location-diviner-xyo-network',\n type: 'diviner',\n uri: 'https://api.location.diviner.xyo.network',\n web: 'https://explore.xyo.network',\n },\n {\n name: 'XYO Location (local)',\n schema: NetworkNodeSchema,\n slug: 'local-location-diviner-xyo-network',\n type: 'diviner',\n uri: 'http://localhost:8082',\n web: 'http://localhost:3000',\n },\n]\n","import { defaultNetworkConfigs } from './default.ts'\n\nexport const findNetworkConfig = (slug: string, configs = defaultNetworkConfigs) => {\n return configs.find((item) => {\n return item.slug === slug\n })\n}\n\n/** @deprecated use findNetworkConfig instead */\nexport const findNetworkPreset = findNetworkConfig\n","import type { NetworkNames } from './NetworkNames.ts'\n\nexport type SiteName = 'explore' | 'node'\n\nexport const resolveNetworkFromHostName = (fallback: NetworkNames = 'Kerplunk', siteName: SiteName) => {\n switch (document.location.hostname) {\n case `${siteName}.xyo.network`: {\n return 'Main'\n }\n case `beta.${siteName}.xyo.network`: {\n return 'Kerplunk'\n }\n default: {\n return fallback\n }\n }\n}\n","import type { NetworkPayload } from '@xyo-network/network'\nimport type { PropsWithChildren } from 'react'\nimport React, { useCallback, useEffect } from 'react'\nimport { useSearchParams } from 'react-router-dom'\n\nimport { defaultNetworkConfigs, findNetworkConfig } from '../../lib/index.ts'\nimport { NetworkContext } from '../Context.ts'\nimport { useNetwork } from '../use.ts'\nimport { NetworkMemoryProvider } from './Memory.tsx'\nimport type { NetworkProviderProps } from './Props.ts'\n\nconst NetworkRouteProviderInner: React.FC<PropsWithChildren> = ({ children }) => {\n const { network, setNetwork } = useNetwork()\n\n const [params, setParams] = useSearchParams()\n\n const slug = params.get('network')\n const routeNetwork = slug ? findNetworkConfig(slug) : undefined\n\n // update the network stored in the route\n const setNetworkParam = useCallback(\n (network?: NetworkPayload) => {\n if (network) {\n params.set('network', network.slug)\n setParams(params, { replace: true })\n setNetwork?.(network)\n } else {\n params.delete('network')\n }\n },\n [params, setParams, setNetwork],\n )\n\n // if the network is actively changed, update both memory and route\n const setNetworkLocal = useCallback(\n (network: NetworkPayload) => {\n setNetworkParam(network)\n setNetwork?.(network)\n },\n [setNetworkParam, setNetwork],\n )\n\n // sync memory and route storage of network\n useEffect(() => {\n if (routeNetwork !== network) {\n if (routeNetwork === undefined && network !== undefined) {\n // if the route does not have a network selected, use what is in the memory context\n setNetworkParam(network)\n } else if (routeNetwork !== undefined) {\n // if the route has a selection and it is different from memory, update memory\n setNetwork?.(routeNetwork)\n }\n }\n }, [routeNetwork, network, setNetworkParam, setNetwork])\n\n return (\n // eslint-disable-next-line @eslint-react/no-unstable-context-value\n <NetworkContext value={{\n network, networks: defaultNetworkConfigs, provided: true, setNetwork: setNetworkLocal,\n }}\n >\n {network ? children : null}\n </NetworkContext>\n )\n}\n\nexport const NetworkRouteProvider: React.FC<PropsWithChildren<NetworkProviderProps>> = ({\n defaultNetworkConfig, defaultNetworkName, ...props\n}) => {\n return (\n <NetworkMemoryProvider defaultNetworkConfig={defaultNetworkConfig} defaultNetworkName={defaultNetworkName}>\n <NetworkRouteProviderInner {...props} />\n </NetworkMemoryProvider>\n )\n}\n","import { useContextEx } from '@xylabs/react-shared'\n\nimport { NetworkContext } from './Context.ts'\nimport type { NetworkContextState } from './State.ts'\n\nexport const useNetwork = (required = false) => {\n return useContextEx<NetworkContextState>(NetworkContext, 'Network', required)\n}\n"],"mappings":"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","names":["MenuItem","assertEx","SelectEx","useBreakpoint","React","createContextEx","NetworkContext","React","useMemo","useState","NetworkNodeSchema","ExplorerMapHashes","animatedAnswerHashes","staticAnswerHash","findArchivistPreset","slug","archivistPresets","find","item","docs","explorerMapHashes","ExplorerMapHashes","name","schema","NetworkNodeSchema","type","uri","archivistUriToName","archivistPresets","reduce","acc","name","uri","NetworkSchema","NetworkNodeSchema","findDivinerPreset","slug","divinerPresets","find","item","name","schema","NetworkNodeSchema","type","uri","web","defaultNetworkConfigs","name","nodes","findArchivistPreset","findDivinerPreset","schema","NetworkSchema","slug","networkPresets","findNetworkConfig","slug","configs","defaultNetworkConfigs","find","item","findNetworkPreset","resolveNetworkFromHostName","fallback","siteName","document","location","hostname","NetworkMemoryProvider","defaultNetworkConfig","defaultNetworkName","props","console","warn","resolvedDefaultNetworkConfig","defaultNetworkConfigs","find","config","name","undefined","network","setNetwork","useState","value","useMemo","networks","provided","NetworkContext","NetworkProvider","React","useCallback","useEffect","useSearchParams","useContextEx","useNetwork","required","useContextEx","NetworkContext","NetworkRouteProviderInner","children","network","setNetwork","useNetwork","params","setParams","useSearchParams","slug","get","routeNetwork","findNetworkConfig","undefined","setNetworkParam","useCallback","set","replace","delete","setNetworkLocal","useEffect","React","NetworkContext","value","networks","defaultNetworkConfigs","provided","NetworkRouteProvider","defaultNetworkConfig","defaultNetworkName","props","NetworkMemoryProvider","NetworkSelectEx","onChange","variant","responsive","props","network","setNetwork","networks","useNetwork","sm","useBreakpoint","React","SelectEx","size","value","slug","event","child","target","assertEx","findNetworkConfig","map","MenuItem","key","name","toUpperCase"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyo-network/react-network",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.1.0",
|
|
4
4
|
"description": "Common React library for all XYO projects that use React",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"xyo",
|
|
@@ -28,34 +28,35 @@
|
|
|
28
28
|
"exports": {
|
|
29
29
|
".": {
|
|
30
30
|
"browser": {
|
|
31
|
-
"types": "./dist/
|
|
31
|
+
"types": "./dist/browser/index.d.ts",
|
|
32
32
|
"default": "./dist/browser/index.mjs"
|
|
33
33
|
},
|
|
34
|
-
"types": "./dist/
|
|
34
|
+
"types": "./dist/browser/index.d.ts",
|
|
35
35
|
"default": "./dist/browser/index.mjs"
|
|
36
36
|
},
|
|
37
37
|
"./package.json": "./package.json"
|
|
38
38
|
},
|
|
39
39
|
"module": "dist/browser/index.mjs",
|
|
40
|
-
"types": "dist/
|
|
40
|
+
"types": "dist/browser/index.d.ts",
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@xylabs/assert": "^4.
|
|
43
|
-
"@xylabs/hex": "^4.
|
|
44
|
-
"@xylabs/react-select": "^6.3.
|
|
45
|
-
"@xylabs/react-shared": "^6.3.
|
|
46
|
-
"@xyo-network/network": "^
|
|
47
|
-
"react-router-dom": "^7.6.
|
|
42
|
+
"@xylabs/assert": "^4.13.15",
|
|
43
|
+
"@xylabs/hex": "^4.13.15",
|
|
44
|
+
"@xylabs/react-select": "^6.3.10",
|
|
45
|
+
"@xylabs/react-shared": "^6.3.10",
|
|
46
|
+
"@xyo-network/network": "^4.1.1",
|
|
47
|
+
"react-router-dom": "^7.6.3"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
|
-
"@mui/icons-material": "^7.
|
|
51
|
-
"@mui/material": "^7.
|
|
50
|
+
"@mui/icons-material": "^7.2.0",
|
|
51
|
+
"@mui/material": "^7.2.0",
|
|
52
|
+
"@storybook/react-vite": "^9.0.16",
|
|
52
53
|
"@types/react": "^19.1.8",
|
|
53
|
-
"@xylabs/react-flexbox": "^6.3.
|
|
54
|
-
"@xylabs/ts-scripts-yarn3": "
|
|
55
|
-
"@xylabs/tsconfig-react": "
|
|
54
|
+
"@xylabs/react-flexbox": "^6.3.10",
|
|
55
|
+
"@xylabs/ts-scripts-yarn3": "next",
|
|
56
|
+
"@xylabs/tsconfig-react": "next",
|
|
56
57
|
"react": "^19.1.0",
|
|
57
58
|
"react-dom": "^19.1.0",
|
|
58
|
-
"storybook": "^9.0.
|
|
59
|
+
"storybook": "^9.0.16",
|
|
59
60
|
"typescript": "^5.8.3"
|
|
60
61
|
},
|
|
61
62
|
"peerDependencies": {
|
|
@@ -8,8 +8,8 @@ import React from 'react'
|
|
|
8
8
|
import { useNetwork } from '../../contexts/index.ts'
|
|
9
9
|
import { findNetworkConfig } from '../../lib/index.ts'
|
|
10
10
|
|
|
11
|
-
export type NetworkSelectExProps = Omit<SelectExProps<string>, 'variant'>
|
|
12
|
-
Partial<SelectExProps<string>> & {
|
|
11
|
+
export type NetworkSelectExProps = Omit<SelectExProps<string>, 'variant'>
|
|
12
|
+
& Partial<SelectExProps<string>> & {
|
|
13
13
|
responsive?: boolean
|
|
14
14
|
}
|
|
15
15
|
|
package/dist/types/index.d.ts
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|