@xyo-network/react-module 3.0.1 → 3.0.2

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/Card/Diviner/Card.tsx","../../src/components/Card/Module/Card.tsx","../../src/components/Card/Module/CardActions.tsx","../../src/components/Card/Module/components/DiscoverDialog.tsx","../../src/components/Card/Module/CardContent.tsx","../../src/components/Card/Module/CardHeader.tsx","../../src/components/Card/Diviner/CardContent.tsx","../../src/components/Card/Diviner/CardHeader.tsx","../../src/components/DetailsBox.tsx","../../src/components/TableCell.tsx","../../src/hooks/useRefresh.tsx"],"sourcesContent":["import { Card, CardProps } from '@mui/material'\nimport { DivinerInstance } from '@xyo-network/diviner-model'\nimport React from 'react'\n\nimport { ModuleRenderProps } from '../../../ModuleRenderProps.tsx'\nimport { ModuleCardActions } from '../Module/index.ts'\nimport { DivinerCardContent } from './CardContent.tsx'\nimport { DivinerCardHeader } from './CardHeader.tsx'\n\nexport const DivinerCard: React.FC<CardProps & ModuleRenderProps<DivinerInstance>> = ({ children, mod, ...props }) => {\n return (\n <Card {...props}>\n <DivinerCardHeader mod={mod} />\n <DivinerCardContent mod={mod} />\n {children}\n <ModuleCardActions mod={mod} />\n </Card>\n )\n}\n","import { Card, CardProps } from '@mui/material'\nimport React from 'react'\n\nimport { ModuleRenderProps } from '../../../ModuleRenderProps.tsx'\nimport { ModuleCardActions } from './CardActions.tsx'\nimport { ModuleCardContent } from './CardContent.tsx'\nimport { ModuleCardHeader } from './CardHeader.tsx'\n\nexport const ModuleCard: React.FC<CardProps & ModuleRenderProps> = ({ mod, ...props }) => {\n return (\n <Card {...props}>\n <ModuleCardHeader mod={mod} />\n <ModuleCardContent mod={mod} />\n <ModuleCardActions mod={mod} />\n </Card>\n )\n}\n","import { CardActions, CardActionsProps, Chip } from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport React, { useState } from 'react'\n\nimport { ModuleRenderProps } from '../../../ModuleRenderProps.tsx'\nimport { DiscoverDialog } from './components/index.ts'\n\nexport const ModuleCardActions: React.FC<CardActionsProps & ModuleRenderProps> = ({ children, mod, sx, ...props }) => {\n const [discoverDialogOpen, setDiscoverDialogOpen] = useState(false)\n\n const config = mod?.config\n\n return (\n <CardActions sx={{ alignItems: 'stretch', flexDirection: 'column', ml: 1, ...sx }} {...props}>\n <FlexRow justifyContent=\"space-between\" gap={1} alignItems=\"center\">\n {mod\n ? <Chip label={config?.schema} size=\"small\" />\n : null}\n {children}\n <ButtonEx onClick={() => setDiscoverDialogOpen(true)} size=\"small\" variant=\"outlined\">\n Discover\n </ButtonEx>\n </FlexRow>\n <DiscoverDialog fullWidth maxWidth=\"md\" mod={mod} open={discoverDialogOpen} setOpen={setDiscoverDialogOpen} />\n </CardActions>\n )\n}\n","import { Button, Dialog, DialogActions, DialogContent, DialogContentText, DialogProps, DialogTitle, Divider, Paper } from '@mui/material'\nimport { usePromise } from '@xylabs/react-promise'\nimport { ModuleInstance } from '@xyo-network/module-model'\nimport React, { Dispatch, SetStateAction } from 'react'\n\nexport interface DiscoverDialogProps extends DialogProps {\n mod?: ModuleInstance\n setOpen?: Dispatch<SetStateAction<boolean>>\n}\n\n// Add a dialogue title and quick tip to show description of discover query\n\nexport const DiscoverDialog: React.FC<DiscoverDialogProps> = ({ mod, setOpen, ...props }) => {\n const [discoverPayloads] = usePromise(async () => {\n return await mod?.state()\n }, [mod])\n\n return (\n <Dialog {...props}>\n <DialogTitle>\n Supported Queries for\n {mod?.config.name || mod?.address}\n </DialogTitle>\n <Divider />\n <DialogContent>\n <Paper sx={{ p: 1 }}>\n <DialogContentText>All modules share a set of base queries along with ones specific to the module.</DialogContentText>\n <pre>{JSON.stringify(discoverPayloads, null, 2)}</pre>\n </Paper>\n </DialogContent>\n <DialogActions>\n <Button onClick={() => setOpen?.(false)} variant=\"outlined\">\n Close\n </Button>\n </DialogActions>\n </Dialog>\n )\n}\n","import { CardContent, CardContentProps } from '@mui/material'\nimport React from 'react'\n\nimport { ModuleRenderProps } from '../../../ModuleRenderProps.tsx'\n\nexport const ModuleCardContent: React.FC<ModuleRenderProps & CardContentProps> = ({ children, ...props }) => {\n return <CardContent {...props}>{children}</CardContent>\n}\n","import { CardHeader, CardHeaderProps } from '@mui/material'\nimport { Module } from '@xyo-network/module-model'\nimport { findNetworkComponent } from '@xyo-network/react-shared'\nimport React from 'react'\n\nimport { ModuleRenderProps } from '../../../ModuleRenderProps.tsx'\n\nconst moduleTypes = ['sentinel', 'bridge', 'archivist', 'diviner', 'node', 'witness']\n\nconst getModuleIcons = (moduleType: string, mod: Module) => {\n return mod?.queries.find(query => query.startsWith(`network.xyo.query.${moduleType}`)) ? findNetworkComponent(moduleType)?.icon : null\n}\n\nexport const ModuleCardHeader: React.FC<ModuleRenderProps & CardHeaderProps> = ({ subheader, avatar, title, mod, ...props }) => {\n return (\n <CardHeader\n title={title ?? mod?.config.name ?? 'Module'}\n subheader={subheader ?? mod?.address}\n avatar={\n avatar ?? (\n <>\n {mod\n ? moduleTypes.map((moduleType) => {\n const Icon = getModuleIcons(moduleType, mod)\n return Icon ? <Icon key={moduleType} fontSize=\"large\" color=\"primary\" /> : null\n })\n : null}\n </>\n )\n }\n {...props}\n />\n )\n}\n","import { CardContentProps } from '@mui/material'\nimport { DivinerInstance } from '@xyo-network/diviner-model'\nimport React from 'react'\n\nimport { ModuleRenderProps } from '../../../ModuleRenderProps.tsx'\nimport { ModuleCardContent } from '../Module/index.ts'\n\nexport const DivinerCardContent: React.FC<ModuleRenderProps<DivinerInstance> & CardContentProps> = ({ children, ...props }) => {\n return <ModuleCardContent {...props}>{children}</ModuleCardContent>\n}\n","import { CardHeaderProps } from '@mui/material'\nimport { DivinerInstance } from '@xyo-network/diviner-model'\nimport React from 'react'\n\nimport { ModuleRenderProps } from '../../../ModuleRenderProps.tsx'\nimport { ModuleCardHeader } from '../Module/index.ts'\n\nexport const DivinerCardHeader: React.FC<ModuleRenderProps<DivinerInstance> & CardHeaderProps> = ({ title, mod, ...props }) => {\n return <ModuleCardHeader mod={mod} title={title ?? mod?.config.name ?? 'Diviner'} {...props} />\n}\n","import { EthAddress } from '@xylabs/eth-address'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { EthAccountBox } from '@xylabs/react-crypto'\nimport { FlexBoxProps, FlexCol, FlexRow } from '@xylabs/react-flexbox'\nimport { Module } from '@xyo-network/module-model'\nimport { findNetworkComponent } from '@xyo-network/react-shared'\nimport React, { useState } from 'react'\n\nimport { ModuleRenderProps } from '../ModuleRenderProps.tsx'\n\nconst getModuleIcon = (moduleType: string, mod: Module) => {\n return mod?.queries.find(query => query.startsWith(`network.xyo.query.${moduleType}`)) ? findNetworkComponent(moduleType)?.icon() : null\n}\n\nexport const ModuleDetailsBox: React.FC<ModuleRenderProps & FlexBoxProps> = ({ children, mod, ...props }) => {\n const [showQueries, setShowQueries] = useState(false)\n return (\n <FlexCol {...props}>\n <FlexRow>\n {mod\n ? ['sentinel', 'bridge', 'archivist', 'diviner', 'node'].map((moduleType) => {\n const icon = getModuleIcon(moduleType, mod)\n return icon\n ? (\n <ButtonEx onClick={() => setShowQueries(!showQueries)} key={moduleType}>\n {icon}\n </ButtonEx>\n )\n : null\n })\n : null}\n <EthAccountBox address={EthAddress.fromString(mod?.address)} />\n </FlexRow>\n\n {showQueries\n ? mod?.queries.map((query) => {\n return <FlexRow key={query}>{query}</FlexRow>\n })\n : null}\n {children}\n </FlexCol>\n )\n}\n","import { TableCell, TableCellProps } from '@mui/material'\nimport { EthAddress } from '@xylabs/eth-address'\nimport { EthAccountBox } from '@xylabs/react-crypto'\nimport React from 'react'\n\nimport { ModuleRenderProps } from '../ModuleRenderProps.tsx'\n\nexport const ModuleTableCell: React.FC<ModuleRenderProps & TableCellProps> = ({ children, mod, ...props }) => {\n return (\n <TableCell {...props}>\n <EthAccountBox address={EthAddress.fromString(mod?.address)} />\n {children}\n </TableCell>\n )\n}\n","import { useState } from 'react'\n\nexport type RefreshCallback = () => number\nexport type DisableCallback = () => void\n\nexport const useRefresh = (): [number, RefreshCallback, DisableCallback] => {\n const [count, setCount] = useState(1)\n return [\n count,\n () => {\n const newCount = count + 1\n setCount(newCount)\n return newCount\n },\n () => setCount(0),\n ]\n}\n"],"mappings":"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","names":["Card","React","Card","React","CardActions","Chip","ButtonEx","FlexRow","React","useState","Button","Dialog","DialogActions","DialogContent","DialogContentText","DialogTitle","Divider","Paper","usePromise","React","DiscoverDialog","mod","setOpen","props","discoverPayloads","usePromise","state","Dialog","DialogTitle","config","name","address","Divider","DialogContent","Paper","sx","p","DialogContentText","pre","JSON","stringify","DialogActions","Button","onClick","variant","ModuleCardActions","children","mod","sx","props","discoverDialogOpen","setDiscoverDialogOpen","useState","config","React","CardActions","alignItems","flexDirection","ml","FlexRow","justifyContent","gap","Chip","label","schema","size","ButtonEx","onClick","variant","DiscoverDialog","fullWidth","maxWidth","open","setOpen","CardContent","React","ModuleCardContent","children","props","React","CardContent","CardHeader","findNetworkComponent","React","moduleTypes","getModuleIcons","moduleType","mod","queries","find","query","startsWith","findNetworkComponent","icon","ModuleCardHeader","subheader","avatar","title","props","React","CardHeader","config","name","address","map","Icon","key","fontSize","color","ModuleCard","mod","props","React","Card","ModuleCardHeader","ModuleCardContent","ModuleCardActions","React","DivinerCardContent","children","props","React","ModuleCardContent","React","DivinerCardHeader","title","mod","props","React","ModuleCardHeader","config","name","DivinerCard","children","mod","props","React","Card","DivinerCardHeader","DivinerCardContent","ModuleCardActions","EthAddress","ButtonEx","EthAccountBox","FlexCol","FlexRow","findNetworkComponent","React","useState","getModuleIcon","moduleType","mod","queries","find","query","startsWith","findNetworkComponent","icon","ModuleDetailsBox","children","props","showQueries","setShowQueries","useState","React","FlexCol","FlexRow","map","ButtonEx","onClick","key","EthAccountBox","address","EthAddress","fromString","TableCell","EthAddress","EthAccountBox","React","ModuleTableCell","children","mod","props","React","TableCell","EthAccountBox","address","EthAddress","fromString","useState","useRefresh","count","setCount","useState","newCount"]}
1
+ {"version":3,"sources":["../../src/components/Card/Diviner/Card.tsx","../../src/components/Card/Module/Card.tsx","../../src/components/Card/Module/CardActions.tsx","../../src/components/Card/Module/components/DiscoverDialog.tsx","../../src/components/Card/Module/CardContent.tsx","../../src/components/Card/Module/CardHeader.tsx","../../src/components/Card/Diviner/CardContent.tsx","../../src/components/Card/Diviner/CardHeader.tsx","../../src/components/DetailsBox.tsx","../../src/components/TableCell.tsx","../../src/hooks/useRefresh.tsx"],"sourcesContent":["import type { CardProps } from '@mui/material'\nimport { Card } from '@mui/material'\nimport type { DivinerInstance } from '@xyo-network/diviner-model'\nimport React from 'react'\n\nimport type { ModuleRenderProps } from '../../../ModuleRenderProps.tsx'\nimport { ModuleCardActions } from '../Module/index.ts'\nimport { DivinerCardContent } from './CardContent.tsx'\nimport { DivinerCardHeader } from './CardHeader.tsx'\n\nexport const DivinerCard: React.FC<CardProps & ModuleRenderProps<DivinerInstance>> = ({ children, mod, ...props }) => {\n return (\n <Card {...props}>\n <DivinerCardHeader mod={mod} />\n <DivinerCardContent mod={mod} />\n {children}\n <ModuleCardActions mod={mod} />\n </Card>\n )\n}\n","import type { CardProps } from '@mui/material'\nimport { Card } from '@mui/material'\nimport React from 'react'\n\nimport type { ModuleRenderProps } from '../../../ModuleRenderProps.tsx'\nimport { ModuleCardActions } from './CardActions.tsx'\nimport { ModuleCardContent } from './CardContent.tsx'\nimport { ModuleCardHeader } from './CardHeader.tsx'\n\nexport const ModuleCard: React.FC<CardProps & ModuleRenderProps> = ({ mod, ...props }) => {\n return (\n <Card {...props}>\n <ModuleCardHeader mod={mod} />\n <ModuleCardContent mod={mod} />\n <ModuleCardActions mod={mod} />\n </Card>\n )\n}\n","import type { CardActionsProps } from '@mui/material'\nimport { CardActions, Chip } from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport React, { useState } from 'react'\n\nimport type { ModuleRenderProps } from '../../../ModuleRenderProps.tsx'\nimport { DiscoverDialog } from './components/index.ts'\n\nexport const ModuleCardActions: React.FC<CardActionsProps & ModuleRenderProps> = ({ children, mod, sx, ...props }) => {\n const [discoverDialogOpen, setDiscoverDialogOpen] = useState(false)\n\n const config = mod?.config\n\n return (\n <CardActions sx={{ alignItems: 'stretch', flexDirection: 'column', ml: 1, ...sx }} {...props}>\n <FlexRow justifyContent=\"space-between\" gap={1} alignItems=\"center\">\n {mod\n ? <Chip label={config?.schema} size=\"small\" />\n : null}\n {children}\n <ButtonEx onClick={() => setDiscoverDialogOpen(true)} size=\"small\" variant=\"outlined\">\n Discover\n </ButtonEx>\n </FlexRow>\n <DiscoverDialog fullWidth maxWidth=\"md\" mod={mod} open={discoverDialogOpen} setOpen={setDiscoverDialogOpen} />\n </CardActions>\n )\n}\n","import type { DialogProps } from '@mui/material'\nimport { Button, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, Divider, Paper } from '@mui/material'\nimport { usePromise } from '@xylabs/react-promise'\nimport type { ModuleInstance } from '@xyo-network/module-model'\nimport type { Dispatch, SetStateAction } from 'react'\nimport React from 'react'\n\nexport interface DiscoverDialogProps extends DialogProps {\n mod?: ModuleInstance\n setOpen?: Dispatch<SetStateAction<boolean>>\n}\n\n// Add a dialogue title and quick tip to show description of discover query\n\nexport const DiscoverDialog: React.FC<DiscoverDialogProps> = ({ mod, setOpen, ...props }) => {\n const [discoverPayloads] = usePromise(async () => {\n return await mod?.state()\n }, [mod])\n\n return (\n <Dialog {...props}>\n <DialogTitle>\n Supported Queries for\n {mod?.config.name || mod?.address}\n </DialogTitle>\n <Divider />\n <DialogContent>\n <Paper sx={{ p: 1 }}>\n <DialogContentText>All modules share a set of base queries along with ones specific to the module.</DialogContentText>\n <pre>{JSON.stringify(discoverPayloads, null, 2)}</pre>\n </Paper>\n </DialogContent>\n <DialogActions>\n <Button onClick={() => setOpen?.(false)} variant=\"outlined\">\n Close\n </Button>\n </DialogActions>\n </Dialog>\n )\n}\n","import type { CardContentProps } from '@mui/material'\nimport { CardContent } from '@mui/material'\nimport React from 'react'\n\nimport type { ModuleRenderProps } from '../../../ModuleRenderProps.tsx'\n\nexport const ModuleCardContent: React.FC<ModuleRenderProps & CardContentProps> = ({ children, ...props }) => {\n return <CardContent {...props}>{children}</CardContent>\n}\n","import type { CardHeaderProps } from '@mui/material'\nimport { CardHeader } from '@mui/material'\nimport type { Module } from '@xyo-network/module-model'\nimport { findNetworkComponent } from '@xyo-network/react-shared'\nimport React from 'react'\n\nimport type { ModuleRenderProps } from '../../../ModuleRenderProps.tsx'\n\nconst moduleTypes = ['sentinel', 'bridge', 'archivist', 'diviner', 'node', 'witness']\n\nconst getModuleIcons = (moduleType: string, mod: Module) => {\n return mod?.queries.find(query => query.startsWith(`network.xyo.query.${moduleType}`)) ? findNetworkComponent(moduleType)?.icon : null\n}\n\nexport const ModuleCardHeader: React.FC<ModuleRenderProps & CardHeaderProps> = ({ subheader, avatar, title, mod, ...props }) => {\n return (\n <CardHeader\n title={title ?? mod?.config.name ?? 'Module'}\n subheader={subheader ?? mod?.address}\n avatar={\n avatar ?? (\n <>\n {mod\n ? moduleTypes.map((moduleType) => {\n const Icon = getModuleIcons(moduleType, mod)\n return Icon ? <Icon key={moduleType} fontSize=\"large\" color=\"primary\" /> : null\n })\n : null}\n </>\n )\n }\n {...props}\n />\n )\n}\n","import type { CardContentProps } from '@mui/material'\nimport type { DivinerInstance } from '@xyo-network/diviner-model'\nimport React from 'react'\n\nimport type { ModuleRenderProps } from '../../../ModuleRenderProps.tsx'\nimport { ModuleCardContent } from '../Module/index.ts'\n\nexport const DivinerCardContent: React.FC<ModuleRenderProps<DivinerInstance> & CardContentProps> = ({ children, ...props }) => {\n return <ModuleCardContent {...props}>{children}</ModuleCardContent>\n}\n","import type { CardHeaderProps } from '@mui/material'\nimport type { DivinerInstance } from '@xyo-network/diviner-model'\nimport React from 'react'\n\nimport type { ModuleRenderProps } from '../../../ModuleRenderProps.tsx'\nimport { ModuleCardHeader } from '../Module/index.ts'\n\nexport const DivinerCardHeader: React.FC<ModuleRenderProps<DivinerInstance> & CardHeaderProps> = ({ title, mod, ...props }) => {\n return <ModuleCardHeader mod={mod} title={title ?? mod?.config.name ?? 'Diviner'} {...props} />\n}\n","import { EthAddress } from '@xylabs/eth-address'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { EthAccountBox } from '@xylabs/react-crypto'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol, FlexRow } from '@xylabs/react-flexbox'\nimport type { Module } from '@xyo-network/module-model'\nimport { findNetworkComponent } from '@xyo-network/react-shared'\nimport React, { useState } from 'react'\n\nimport type { ModuleRenderProps } from '../ModuleRenderProps.tsx'\n\nconst getModuleIcon = (moduleType: string, mod: Module) => {\n return mod?.queries.find(query => query.startsWith(`network.xyo.query.${moduleType}`)) ? findNetworkComponent(moduleType)?.icon() : null\n}\n\nexport const ModuleDetailsBox: React.FC<ModuleRenderProps & FlexBoxProps> = ({ children, mod, ...props }) => {\n const [showQueries, setShowQueries] = useState(false)\n return (\n <FlexCol {...props}>\n <FlexRow>\n {mod\n ? ['sentinel', 'bridge', 'archivist', 'diviner', 'node'].map((moduleType) => {\n const icon = getModuleIcon(moduleType, mod)\n return icon\n ? (\n <ButtonEx onClick={() => setShowQueries(!showQueries)} key={moduleType}>\n {icon}\n </ButtonEx>\n )\n : null\n })\n : null}\n <EthAccountBox address={EthAddress.fromString(mod?.address)} />\n </FlexRow>\n\n {showQueries\n ? mod?.queries.map((query) => {\n return <FlexRow key={query}>{query}</FlexRow>\n })\n : null}\n {children}\n </FlexCol>\n )\n}\n","import type { TableCellProps } from '@mui/material'\nimport { TableCell } from '@mui/material'\nimport { EthAddress } from '@xylabs/eth-address'\nimport { EthAccountBox } from '@xylabs/react-crypto'\nimport React from 'react'\n\nimport type { ModuleRenderProps } from '../ModuleRenderProps.tsx'\n\nexport const ModuleTableCell: React.FC<ModuleRenderProps & TableCellProps> = ({ children, mod, ...props }) => {\n return (\n <TableCell {...props}>\n <EthAccountBox address={EthAddress.fromString(mod?.address)} />\n {children}\n </TableCell>\n )\n}\n","import { useState } from 'react'\n\nexport type RefreshCallback = () => number\nexport type DisableCallback = () => void\n\nexport const useRefresh = (): [number, RefreshCallback, DisableCallback] => {\n const [count, setCount] = useState(1)\n return [\n count,\n () => {\n const newCount = count + 1\n setCount(newCount)\n return newCount\n },\n () => setCount(0),\n ]\n}\n"],"mappings":"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","names":["Card","React","Card","React","CardActions","Chip","ButtonEx","FlexRow","React","useState","Button","Dialog","DialogActions","DialogContent","DialogContentText","DialogTitle","Divider","Paper","usePromise","React","DiscoverDialog","mod","setOpen","props","discoverPayloads","usePromise","state","Dialog","DialogTitle","config","name","address","Divider","DialogContent","Paper","sx","p","DialogContentText","pre","JSON","stringify","DialogActions","Button","onClick","variant","ModuleCardActions","children","mod","sx","props","discoverDialogOpen","setDiscoverDialogOpen","useState","config","React","CardActions","alignItems","flexDirection","ml","FlexRow","justifyContent","gap","Chip","label","schema","size","ButtonEx","onClick","variant","DiscoverDialog","fullWidth","maxWidth","open","setOpen","CardContent","React","ModuleCardContent","children","props","React","CardContent","CardHeader","findNetworkComponent","React","moduleTypes","getModuleIcons","moduleType","mod","queries","find","query","startsWith","findNetworkComponent","icon","ModuleCardHeader","subheader","avatar","title","props","React","CardHeader","config","name","address","map","Icon","key","fontSize","color","ModuleCard","mod","props","React","Card","ModuleCardHeader","ModuleCardContent","ModuleCardActions","React","DivinerCardContent","children","props","React","ModuleCardContent","React","DivinerCardHeader","title","mod","props","React","ModuleCardHeader","config","name","DivinerCard","children","mod","props","React","Card","DivinerCardHeader","DivinerCardContent","ModuleCardActions","EthAddress","ButtonEx","EthAccountBox","FlexCol","FlexRow","findNetworkComponent","React","useState","getModuleIcon","moduleType","mod","queries","find","query","startsWith","findNetworkComponent","icon","ModuleDetailsBox","children","props","showQueries","setShowQueries","useState","React","FlexCol","FlexRow","map","ButtonEx","onClick","key","EthAccountBox","address","EthAddress","fromString","TableCell","EthAddress","EthAccountBox","React","ModuleTableCell","children","mod","props","React","TableCell","EthAccountBox","address","EthAddress","fromString","useState","useRefresh","count","setCount","useState","newCount"]}
package/package.json CHANGED
@@ -7,27 +7,27 @@
7
7
  },
8
8
  "bugs": {
9
9
  "email": "support@xyo.network",
10
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues"
10
+ "url": "git+https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xylabs/eth-address": "^4.0.1",
14
- "@xylabs/react-button": "^4.0.1",
15
- "@xylabs/react-crypto": "^4.0.1",
16
- "@xylabs/react-flexbox": "^4.0.1",
17
- "@xylabs/react-promise": "^4.0.1",
18
- "@xyo-network/diviner-model": "^3.0.2",
19
- "@xyo-network/module-model": "^3.0.2",
20
- "@xyo-network/react-shared": "^3.0.1"
13
+ "@xylabs/eth-address": "^4.0.2",
14
+ "@xylabs/react-button": "^4.0.3",
15
+ "@xylabs/react-crypto": "^4.0.3",
16
+ "@xylabs/react-flexbox": "^4.0.3",
17
+ "@xylabs/react-promise": "^4.0.3",
18
+ "@xyo-network/diviner-model": "^3.0.3",
19
+ "@xyo-network/module-model": "^3.0.3",
20
+ "@xyo-network/react-shared": "^3.0.2"
21
21
  },
22
22
  "devDependencies": {
23
23
  "@storybook/react": "^8.2.9",
24
- "@xylabs/react-async-effect": "^4.0.1",
25
- "@xylabs/ts-scripts-yarn3": "^4.0.0-rc.15",
26
- "@xylabs/tsconfig-react": "^4.0.0-rc.15",
27
- "@xyo-network/archivist": "^3.0.2",
28
- "@xyo-network/crypto-asset-plugin": "^3.0.0",
29
- "@xyo-network/diviner-address-history": "^3.0.2",
30
- "@xyo-network/node-memory": "^3.0.2",
24
+ "@xylabs/react-async-effect": "^4.0.3",
25
+ "@xylabs/ts-scripts-yarn3": "^4.0.0-rc.20",
26
+ "@xylabs/tsconfig-react": "^4.0.0-rc.20",
27
+ "@xyo-network/archivist": "^3.0.3",
28
+ "@xyo-network/crypto-asset-plugin": "^3.0.3",
29
+ "@xyo-network/diviner-address-history": "^3.0.3",
30
+ "@xyo-network/node-memory": "^3.0.3",
31
31
  "typescript": "^5.5.4"
32
32
  },
33
33
  "peerDependencies": {
@@ -64,7 +64,7 @@
64
64
  },
65
65
  "repository": {
66
66
  "type": "git",
67
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js.git"
67
+ "url": "git+https://github.com/XYOracleNetwork/sdk-xyo-react-js.git"
68
68
  },
69
69
  "scripts": {
70
70
  "lint-pkg": "npmPkgJsonLint .",
@@ -72,6 +72,6 @@
72
72
  },
73
73
  "sideEffects": false,
74
74
  "types": "dist/browser/index.d.ts",
75
- "version": "3.0.1",
75
+ "version": "3.0.2",
76
76
  "type": "module"
77
77
  }
@@ -1,4 +1,4 @@
1
- import { ModuleInstance } from '@xyo-network/module-model'
1
+ import type { ModuleInstance } from '@xyo-network/module-model'
2
2
 
3
3
  export type ModuleRenderProps<T extends ModuleInstance = ModuleInstance> = {
4
4
  address?: string
@@ -1,7 +1,7 @@
1
- import { Meta, StoryFn } from '@storybook/react'
1
+ import type { Meta, StoryFn } from '@storybook/react'
2
2
  import { useAsyncEffect } from '@xylabs/react-async-effect'
3
3
  import { AddressHistoryDiviner, AddressHistoryDivinerConfigSchema } from '@xyo-network/diviner-address-history'
4
- import { DivinerInstance } from '@xyo-network/diviner-model'
4
+ import type { DivinerInstance } from '@xyo-network/diviner-model'
5
5
  import React, { useState } from 'react'
6
6
 
7
7
  import { DivinerCard } from './Card.tsx'
@@ -1,8 +1,9 @@
1
- import { Card, CardProps } from '@mui/material'
2
- import { DivinerInstance } from '@xyo-network/diviner-model'
1
+ import type { CardProps } from '@mui/material'
2
+ import { Card } from '@mui/material'
3
+ import type { DivinerInstance } from '@xyo-network/diviner-model'
3
4
  import React from 'react'
4
5
 
5
- import { ModuleRenderProps } from '../../../ModuleRenderProps.tsx'
6
+ import type { ModuleRenderProps } from '../../../ModuleRenderProps.tsx'
6
7
  import { ModuleCardActions } from '../Module/index.ts'
7
8
  import { DivinerCardContent } from './CardContent.tsx'
8
9
  import { DivinerCardHeader } from './CardHeader.tsx'
@@ -1,8 +1,8 @@
1
- import { CardActionsProps } from '@mui/material'
2
- import { DivinerInstance } from '@xyo-network/diviner-model'
1
+ import type { CardActionsProps } from '@mui/material'
2
+ import type { DivinerInstance } from '@xyo-network/diviner-model'
3
3
  import React from 'react'
4
4
 
5
- import { ModuleRenderProps } from '../../../ModuleRenderProps.tsx'
5
+ import type { ModuleRenderProps } from '../../../ModuleRenderProps.tsx'
6
6
  import { ModuleCardActions } from '../Module/index.ts'
7
7
 
8
8
  export const DivinerCardActions: React.FC<ModuleRenderProps<DivinerInstance> & CardActionsProps> = (props) => {
@@ -1,8 +1,8 @@
1
- import { CardContentProps } from '@mui/material'
2
- import { DivinerInstance } from '@xyo-network/diviner-model'
1
+ import type { CardContentProps } from '@mui/material'
2
+ import type { DivinerInstance } from '@xyo-network/diviner-model'
3
3
  import React from 'react'
4
4
 
5
- import { ModuleRenderProps } from '../../../ModuleRenderProps.tsx'
5
+ import type { ModuleRenderProps } from '../../../ModuleRenderProps.tsx'
6
6
  import { ModuleCardContent } from '../Module/index.ts'
7
7
 
8
8
  export const DivinerCardContent: React.FC<ModuleRenderProps<DivinerInstance> & CardContentProps> = ({ children, ...props }) => {
@@ -1,8 +1,8 @@
1
- import { CardHeaderProps } from '@mui/material'
2
- import { DivinerInstance } from '@xyo-network/diviner-model'
1
+ import type { CardHeaderProps } from '@mui/material'
2
+ import type { DivinerInstance } from '@xyo-network/diviner-model'
3
3
  import React from 'react'
4
4
 
5
- import { ModuleRenderProps } from '../../../ModuleRenderProps.tsx'
5
+ import type { ModuleRenderProps } from '../../../ModuleRenderProps.tsx'
6
6
  import { ModuleCardHeader } from '../Module/index.ts'
7
7
 
8
8
  export const DivinerCardHeader: React.FC<ModuleRenderProps<DivinerInstance> & CardHeaderProps> = ({ title, mod, ...props }) => {
@@ -1,6 +1,7 @@
1
- import { Meta, StoryFn } from '@storybook/react'
1
+ import type { Meta, StoryFn } from '@storybook/react'
2
2
  import { useAsyncEffect } from '@xylabs/react-async-effect'
3
- import { ArchivistInstance, MemoryArchivist } from '@xyo-network/archivist'
3
+ import type { ArchivistInstance } from '@xyo-network/archivist'
4
+ import { MemoryArchivist } from '@xyo-network/archivist'
4
5
  import React, { useState } from 'react'
5
6
 
6
7
  import { ModuleCard } from './Card.tsx'
@@ -1,7 +1,8 @@
1
- import { Card, CardProps } from '@mui/material'
1
+ import type { CardProps } from '@mui/material'
2
+ import { Card } from '@mui/material'
2
3
  import React from 'react'
3
4
 
4
- import { ModuleRenderProps } from '../../../ModuleRenderProps.tsx'
5
+ import type { ModuleRenderProps } from '../../../ModuleRenderProps.tsx'
5
6
  import { ModuleCardActions } from './CardActions.tsx'
6
7
  import { ModuleCardContent } from './CardContent.tsx'
7
8
  import { ModuleCardHeader } from './CardHeader.tsx'
@@ -1,9 +1,10 @@
1
- import { CardActions, CardActionsProps, Chip } from '@mui/material'
1
+ import type { CardActionsProps } from '@mui/material'
2
+ import { CardActions, Chip } from '@mui/material'
2
3
  import { ButtonEx } from '@xylabs/react-button'
3
4
  import { FlexRow } from '@xylabs/react-flexbox'
4
5
  import React, { useState } from 'react'
5
6
 
6
- import { ModuleRenderProps } from '../../../ModuleRenderProps.tsx'
7
+ import type { ModuleRenderProps } from '../../../ModuleRenderProps.tsx'
7
8
  import { DiscoverDialog } from './components/index.ts'
8
9
 
9
10
  export const ModuleCardActions: React.FC<CardActionsProps & ModuleRenderProps> = ({ children, mod, sx, ...props }) => {
@@ -1,7 +1,8 @@
1
- import { CardContent, CardContentProps } from '@mui/material'
1
+ import type { CardContentProps } from '@mui/material'
2
+ import { CardContent } from '@mui/material'
2
3
  import React from 'react'
3
4
 
4
- import { ModuleRenderProps } from '../../../ModuleRenderProps.tsx'
5
+ import type { ModuleRenderProps } from '../../../ModuleRenderProps.tsx'
5
6
 
6
7
  export const ModuleCardContent: React.FC<ModuleRenderProps & CardContentProps> = ({ children, ...props }) => {
7
8
  return <CardContent {...props}>{children}</CardContent>
@@ -1,9 +1,10 @@
1
- import { CardHeader, CardHeaderProps } from '@mui/material'
2
- import { Module } from '@xyo-network/module-model'
1
+ import type { CardHeaderProps } from '@mui/material'
2
+ import { CardHeader } from '@mui/material'
3
+ import type { Module } from '@xyo-network/module-model'
3
4
  import { findNetworkComponent } from '@xyo-network/react-shared'
4
5
  import React from 'react'
5
6
 
6
- import { ModuleRenderProps } from '../../../ModuleRenderProps.tsx'
7
+ import type { ModuleRenderProps } from '../../../ModuleRenderProps.tsx'
7
8
 
8
9
  const moduleTypes = ['sentinel', 'bridge', 'archivist', 'diviner', 'node', 'witness']
9
10
 
@@ -1,7 +1,9 @@
1
- import { Button, Dialog, DialogActions, DialogContent, DialogContentText, DialogProps, DialogTitle, Divider, Paper } from '@mui/material'
1
+ import type { DialogProps } from '@mui/material'
2
+ import { Button, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, Divider, Paper } from '@mui/material'
2
3
  import { usePromise } from '@xylabs/react-promise'
3
- import { ModuleInstance } from '@xyo-network/module-model'
4
- import React, { Dispatch, SetStateAction } from 'react'
4
+ import type { ModuleInstance } from '@xyo-network/module-model'
5
+ import type { Dispatch, SetStateAction } from 'react'
6
+ import React from 'react'
5
7
 
6
8
  export interface DiscoverDialogProps extends DialogProps {
7
9
  mod?: ModuleInstance
@@ -1,9 +1,9 @@
1
- import { Meta, StoryFn } from '@storybook/react'
1
+ import type { Meta, StoryFn } from '@storybook/react'
2
2
  import { useAsyncEffect } from '@xylabs/react-async-effect'
3
3
  import { FlexCol } from '@xylabs/react-flexbox'
4
4
  import { MemoryArchivist } from '@xyo-network/archivist'
5
5
  import { CryptoMarketAssetDiviner } from '@xyo-network/crypto-asset-plugin'
6
- import { DivinerInstance } from '@xyo-network/diviner-model'
6
+ import type { DivinerInstance } from '@xyo-network/diviner-model'
7
7
  import { MemoryNode } from '@xyo-network/node-memory'
8
8
  import React, { useState } from 'react'
9
9
 
@@ -1,12 +1,13 @@
1
1
  import { EthAddress } from '@xylabs/eth-address'
2
2
  import { ButtonEx } from '@xylabs/react-button'
3
3
  import { EthAccountBox } from '@xylabs/react-crypto'
4
- import { FlexBoxProps, FlexCol, FlexRow } from '@xylabs/react-flexbox'
5
- import { Module } from '@xyo-network/module-model'
4
+ import type { FlexBoxProps } from '@xylabs/react-flexbox'
5
+ import { FlexCol, FlexRow } from '@xylabs/react-flexbox'
6
+ import type { Module } from '@xyo-network/module-model'
6
7
  import { findNetworkComponent } from '@xyo-network/react-shared'
7
8
  import React, { useState } from 'react'
8
9
 
9
- import { ModuleRenderProps } from '../ModuleRenderProps.tsx'
10
+ import type { ModuleRenderProps } from '../ModuleRenderProps.tsx'
10
11
 
11
12
  const getModuleIcon = (moduleType: string, mod: Module) => {
12
13
  return mod?.queries.find(query => query.startsWith(`network.xyo.query.${moduleType}`)) ? findNetworkComponent(moduleType)?.icon() : null
@@ -1,9 +1,10 @@
1
- import { TableCell, TableCellProps } from '@mui/material'
1
+ import type { TableCellProps } from '@mui/material'
2
+ import { TableCell } from '@mui/material'
2
3
  import { EthAddress } from '@xylabs/eth-address'
3
4
  import { EthAccountBox } from '@xylabs/react-crypto'
4
5
  import React from 'react'
5
6
 
6
- import { ModuleRenderProps } from '../ModuleRenderProps.tsx'
7
+ import type { ModuleRenderProps } from '../ModuleRenderProps.tsx'
7
8
 
8
9
  export const ModuleTableCell: React.FC<ModuleRenderProps & TableCellProps> = ({ children, mod, ...props }) => {
9
10
  return (
package/xy.config.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { XyTsupConfig } from '@xylabs/ts-scripts-yarn3'
1
+ import type { XyTsupConfig } from '@xylabs/ts-scripts-yarn3'
2
2
  const config: XyTsupConfig = {
3
3
  compile: {
4
4
  browser: {