@xyo-network/react-module 2.77.0 → 2.77.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,202 +1,2 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/index.ts
21
- var src_exports = {};
22
- __export(src_exports, {
23
- DivinerCard: () => DivinerCard,
24
- DivinerCardContent: () => DivinerCardContent,
25
- DivinerCardHeader: () => DivinerCardHeader,
26
- ModuleCard: () => ModuleCard,
27
- ModuleCardActions: () => ModuleCardActions,
28
- ModuleCardContent: () => ModuleCardContent,
29
- ModuleCardHeader: () => ModuleCardHeader,
30
- ModuleDetailsBox: () => ModuleDetailsBox,
31
- ModuleTableCell: () => ModuleTableCell,
32
- useRefresh: () => useRefresh
33
- });
34
- module.exports = __toCommonJS(src_exports);
35
-
36
- // src/components/Card/Diviner/Card.tsx
37
- var import_material6 = require("@mui/material");
38
-
39
- // src/components/Card/Module/Card.tsx
40
- var import_material5 = require("@mui/material");
41
-
42
- // src/components/Card/Module/CardActions.tsx
43
- var import_material2 = require("@mui/material");
44
- var import_react_button = require("@xylabs/react-button");
45
- var import_react_flexbox = require("@xylabs/react-flexbox");
46
- var import_react = require("react");
47
-
48
- // src/components/Card/Module/components/DiscoverDialog.tsx
49
- var import_material = require("@mui/material");
50
- var import_react_promise = require("@xylabs/react-promise");
51
- var import_jsx_runtime = require("react/jsx-runtime");
52
- var DiscoverDialog = ({ mod, setOpen, ...props }) => {
53
- const [discoverPayloads] = (0, import_react_promise.usePromise)(async () => {
54
- return await mod?.state();
55
- }, [mod]);
56
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_material.Dialog, { ...props, children: [
57
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_material.DialogTitle, { children: [
58
- "Supported Queries for ",
59
- mod?.config.name || mod?.address
60
- ] }),
61
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Divider, {}),
62
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.DialogContent, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_material.Paper, { sx: { p: 1 }, children: [
63
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.DialogContentText, { children: "All modules share a set of base queries along with ones specific to the module." }),
64
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("pre", { children: JSON.stringify(discoverPayloads, null, 2) })
65
- ] }) }),
66
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.DialogActions, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Button, { onClick: () => setOpen?.(false), variant: "outlined", children: "Close" }) })
67
- ] });
68
- };
69
-
70
- // src/components/Card/Module/CardActions.tsx
71
- var import_jsx_runtime2 = require("react/jsx-runtime");
72
- var ModuleCardActions = ({ children, mod, sx, ...props }) => {
73
- const [discoverDialogOpen, setDiscoverDialogOpen] = (0, import_react.useState)(false);
74
- const config = mod?.config;
75
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_material2.CardActions, { sx: { alignItems: "stretch", flexDirection: "column", ml: 1, ...sx }, ...props, children: [
76
- /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_react_flexbox.FlexRow, { justifyContent: "space-between", gap: 1, alignItems: "center", children: [
77
- mod ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_material2.Chip, { label: config?.schema, size: "small" }) : null,
78
- children,
79
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_button.ButtonEx, { onClick: () => setDiscoverDialogOpen(true), size: "small", variant: "outlined", children: "Discover" })
80
- ] }),
81
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(DiscoverDialog, { fullWidth: true, maxWidth: "md", mod, open: discoverDialogOpen, setOpen: setDiscoverDialogOpen })
82
- ] });
83
- };
84
-
85
- // src/components/Card/Module/CardContent.tsx
86
- var import_material3 = require("@mui/material");
87
- var import_jsx_runtime3 = require("react/jsx-runtime");
88
- var ModuleCardContent = ({ children, ...props }) => {
89
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_material3.CardContent, { ...props, children });
90
- };
91
-
92
- // src/components/Card/Module/CardHeader.tsx
93
- var import_material4 = require("@mui/material");
94
- var import_react_shared = require("@xyo-network/react-shared");
95
- var import_jsx_runtime4 = require("react/jsx-runtime");
96
- var moduleTypes = ["sentinel", "bridge", "archivist", "diviner", "node", "witness"];
97
- var getModuleIcons = (moduleType, mod) => {
98
- return mod?.queries.find((query) => query.startsWith(`network.xyo.query.${moduleType}`)) ? (0, import_react_shared.findNetworkComponent)(moduleType)?.icon : null;
99
- };
100
- var ModuleCardHeader = ({ subheader, avatar, title, mod, ...props }) => {
101
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
102
- import_material4.CardHeader,
103
- {
104
- title: title ?? mod?.config.name ?? "Module",
105
- subheader: subheader ?? mod?.address,
106
- avatar: avatar ?? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: mod ? moduleTypes.map((moduleType) => {
107
- const Icon = getModuleIcons(moduleType, mod);
108
- return Icon ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Icon, { fontSize: "large", color: "primary" }, moduleType) : null;
109
- }) : null }),
110
- ...props
111
- }
112
- );
113
- };
114
-
115
- // src/components/Card/Module/Card.tsx
116
- var import_jsx_runtime5 = require("react/jsx-runtime");
117
- var ModuleCard = ({ mod, ...props }) => {
118
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_material5.Card, { ...props, children: [
119
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(ModuleCardHeader, { mod }),
120
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(ModuleCardContent, { mod }),
121
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(ModuleCardActions, { mod })
122
- ] });
123
- };
124
-
125
- // src/components/Card/Diviner/CardContent.tsx
126
- var import_jsx_runtime6 = require("react/jsx-runtime");
127
- var DivinerCardContent = ({ children, ...props }) => {
128
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(ModuleCardContent, { ...props, children });
129
- };
130
-
131
- // src/components/Card/Diviner/CardHeader.tsx
132
- var import_jsx_runtime7 = require("react/jsx-runtime");
133
- var DivinerCardHeader = ({ title, mod, ...props }) => {
134
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(ModuleCardHeader, { mod, title: title ?? mod?.config.name ?? "Diviner", ...props });
135
- };
136
-
137
- // src/components/Card/Diviner/Card.tsx
138
- var import_jsx_runtime8 = require("react/jsx-runtime");
139
- var DivinerCard = ({ children, mod, ...props }) => {
140
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_material6.Card, { ...props, children: [
141
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(DivinerCardHeader, { mod }),
142
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(DivinerCardContent, { mod }),
143
- children,
144
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ModuleCardActions, { mod })
145
- ] });
146
- };
147
-
148
- // src/components/DetailsBox.tsx
149
- var import_eth_address = require("@xylabs/eth-address");
150
- var import_react_button2 = require("@xylabs/react-button");
151
- var import_react_crypto = require("@xylabs/react-crypto");
152
- var import_react_flexbox2 = require("@xylabs/react-flexbox");
153
- var import_react_shared2 = require("@xyo-network/react-shared");
154
- var import_react2 = require("react");
155
- var import_jsx_runtime9 = require("react/jsx-runtime");
156
- var getModuleIcon = (moduleType, mod) => {
157
- return mod?.queries.find((query) => query.startsWith(`network.xyo.query.${moduleType}`)) ? (0, import_react_shared2.findNetworkComponent)(moduleType)?.icon() : null;
158
- };
159
- var ModuleDetailsBox = ({ children, mod, ...props }) => {
160
- const [showQueries, setShowQueries] = (0, import_react2.useState)(false);
161
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_react_flexbox2.FlexCol, { ...props, children: [
162
- /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_react_flexbox2.FlexRow, { children: [
163
- mod ? ["sentinel", "bridge", "archivist", "diviner", "node"].map((moduleType) => {
164
- const icon = getModuleIcon(moduleType, mod);
165
- return icon ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react_button2.ButtonEx, { onClick: () => setShowQueries(!showQueries), children: icon }, moduleType) : null;
166
- }) : null,
167
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react_crypto.EthAccountBox, { address: import_eth_address.EthAddress.fromString(mod?.address) })
168
- ] }),
169
- showQueries ? mod?.queries.map((query) => {
170
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react_flexbox2.FlexRow, { children: query }, query);
171
- }) : null,
172
- children
173
- ] });
174
- };
175
-
176
- // src/components/TableCell.tsx
177
- var import_material7 = require("@mui/material");
178
- var import_eth_address2 = require("@xylabs/eth-address");
179
- var import_react_crypto2 = require("@xylabs/react-crypto");
180
- var import_jsx_runtime10 = require("react/jsx-runtime");
181
- var ModuleTableCell = ({ children, mod, ...props }) => {
182
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_material7.TableCell, { ...props, children: [
183
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react_crypto2.EthAccountBox, { address: import_eth_address2.EthAddress.fromString(mod?.address) }),
184
- children
185
- ] });
186
- };
187
-
188
- // src/hooks/useRefresh.tsx
189
- var import_react3 = require("react");
190
- var useRefresh = () => {
191
- const [count, setCount] = (0, import_react3.useState)(1);
192
- return [
193
- count,
194
- () => {
195
- const newCount = count + 1;
196
- setCount(newCount);
197
- return newCount;
198
- },
199
- () => setCount(0)
200
- ];
201
- };
1
+ "use strict";var R=Object.defineProperty;var K=Object.getOwnPropertyDescriptor;var L=Object.getOwnPropertyNames;var U=Object.prototype.hasOwnProperty;var V=(r,o)=>{for(var e in o)R(r,e,{get:o[e],enumerable:!0})},X=(r,o,e,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let i of L(o))!U.call(r,i)&&i!==e&&R(r,i,{get:()=>o[i],enumerable:!(n=K(o,i))||n.enumerable});return r};var Y=r=>X(R({},"__esModule",{value:!0}),r);var io={};V(io,{DivinerCard:()=>oo,DivinerCardContent:()=>x,DivinerCardHeader:()=>v,ModuleCard:()=>j,ModuleCardActions:()=>C,ModuleCardContent:()=>f,ModuleCardHeader:()=>P,ModuleDetailsBox:()=>eo,ModuleTableCell:()=>to,useRefresh:()=>no});module.exports=Y(io);var T=require("@mui/material");var y=require("@mui/material");var M=require("@mui/material"),F=require("@xylabs/react-button"),w=require("@xylabs/react-flexbox"),A=require("react");var t=require("@mui/material"),h=require("@xylabs/react-promise"),a=require("react/jsx-runtime"),b=({mod:r,setOpen:o,...e})=>{let[n]=(0,h.usePromise)(async()=>await r?.state(),[r]);return(0,a.jsxs)(t.Dialog,{...e,children:[(0,a.jsxs)(t.DialogTitle,{children:["Supported Queries for ",r?.config.name||r?.address]}),(0,a.jsx)(t.Divider,{}),(0,a.jsx)(t.DialogContent,{children:(0,a.jsxs)(t.Paper,{sx:{p:1},children:[(0,a.jsx)(t.DialogContentText,{children:"All modules share a set of base queries along with ones specific to the module."}),(0,a.jsx)("pre",{children:JSON.stringify(n,null,2)})]})}),(0,a.jsx)(t.DialogActions,{children:(0,a.jsx)(t.Button,{onClick:()=>o?.(!1),variant:"outlined",children:"Close"})})]})};var d=require("react/jsx-runtime"),C=({children:r,mod:o,sx:e,...n})=>{let[i,s]=(0,A.useState)(!1),l=o?.config;return(0,d.jsxs)(M.CardActions,{sx:{alignItems:"stretch",flexDirection:"column",ml:1,...e},...n,children:[(0,d.jsxs)(w.FlexRow,{justifyContent:"space-between",gap:1,alignItems:"center",children:[o?(0,d.jsx)(M.Chip,{label:l?.schema,size:"small"}):null,r,(0,d.jsx)(F.ButtonEx,{onClick:()=>s(!0),size:"small",variant:"outlined",children:"Discover"})]}),(0,d.jsx)(b,{fullWidth:!0,maxWidth:"md",mod:o,open:i,setOpen:s})]})};var k=require("@mui/material"),I=require("react/jsx-runtime"),f=({children:r,...o})=>(0,I.jsx)(k.CardContent,{...o,children:r});var S=require("@mui/material"),B=require("@xyo-network/react-shared"),m=require("react/jsx-runtime"),Z=["sentinel","bridge","archivist","diviner","node","witness"],_=(r,o)=>o?.queries.find(e=>e.startsWith(`network.xyo.query.${r}`))?(0,B.findNetworkComponent)(r)?.icon:null,P=({subheader:r,avatar:o,title:e,mod:n,...i})=>(0,m.jsx)(S.CardHeader,{title:e??n?.config.name??"Module",subheader:r??n?.address,avatar:o??(0,m.jsx)(m.Fragment,{children:n?Z.map(s=>{let l=_(s,n);return l?(0,m.jsx)(l,{fontSize:"large",color:"primary"},s):null}):null}),...i});var u=require("react/jsx-runtime"),j=({mod:r,...o})=>(0,u.jsxs)(y.Card,{...o,children:[(0,u.jsx)(P,{mod:r}),(0,u.jsx)(f,{mod:r}),(0,u.jsx)(C,{mod:r})]});var H=require("react/jsx-runtime"),x=({children:r,...o})=>(0,H.jsx)(f,{...o,children:r});var E=require("react/jsx-runtime"),v=({title:r,mod:o,...e})=>(0,E.jsx)(P,{mod:o,title:r??o?.config.name??"Diviner",...e});var c=require("react/jsx-runtime"),oo=({children:r,mod:o,...e})=>(0,c.jsxs)(T.Card,{...e,children:[(0,c.jsx)(v,{mod:o}),(0,c.jsx)(x,{mod:o}),r,(0,c.jsx)(C,{mod:o})]});var q=require("@xylabs/eth-address"),O=require("@xylabs/react-button"),W=require("@xylabs/react-crypto"),D=require("@xylabs/react-flexbox"),z=require("@xyo-network/react-shared"),N=require("react"),p=require("react/jsx-runtime"),ro=(r,o)=>o?.queries.find(e=>e.startsWith(`network.xyo.query.${r}`))?(0,z.findNetworkComponent)(r)?.icon():null,eo=({children:r,mod:o,...e})=>{let[n,i]=(0,N.useState)(!1);return(0,p.jsxs)(D.FlexCol,{...e,children:[(0,p.jsxs)(D.FlexRow,{children:[o?["sentinel","bridge","archivist","diviner","node"].map(s=>{let l=ro(s,o);return l?(0,p.jsx)(O.ButtonEx,{onClick:()=>i(!n),children:l},s):null}):null,(0,p.jsx)(W.EthAccountBox,{address:q.EthAddress.fromString(o?.address)})]}),n?o?.queries.map(s=>(0,p.jsx)(D.FlexRow,{children:s},s)):null,r]})};var Q=require("@mui/material"),$=require("@xylabs/eth-address"),J=require("@xylabs/react-crypto"),g=require("react/jsx-runtime"),to=({children:r,mod:o,...e})=>(0,g.jsxs)(Q.TableCell,{...e,children:[(0,g.jsx)(J.EthAccountBox,{address:$.EthAddress.fromString(o?.address)}),r]});var G=require("react"),no=()=>{let[r,o]=(0,G.useState)(1);return[r,()=>{let e=r+1;return o(e),e},()=>o(0)]};
202
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../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":["export * from './components'\nexport * from './hooks'\nexport * from './ModuleRenderProps'\n","import { Card, CardProps } from '@mui/material'\nimport { DivinerInstance } from '@xyo-network/diviner-model'\n\nimport { ModuleRenderProps } from '../../../ModuleRenderProps'\nimport { ModuleCardActions } from '../Module'\nimport { DivinerCardContent } from './CardContent'\nimport { DivinerCardHeader } from './CardHeader'\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'\n\nimport { ModuleRenderProps } from '../../../ModuleRenderProps'\nimport { ModuleCardActions } from './CardActions'\nimport { ModuleCardContent } from './CardContent'\nimport { ModuleCardHeader } from './CardHeader'\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 { useState } from 'react'\n\nimport { ModuleRenderProps } from '../../../ModuleRenderProps'\nimport { DiscoverDialog } from './components'\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 { 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>Supported Queries for {mod?.config.name || mod?.address}</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'\n\nimport { ModuleRenderProps } from '../../../ModuleRenderProps'\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'\n\nimport { ModuleRenderProps } from '../../../ModuleRenderProps'\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'\n\nimport { ModuleRenderProps } from '../../../ModuleRenderProps'\nimport { ModuleCardContent } from '../Module'\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'\n\nimport { ModuleRenderProps } from '../../../ModuleRenderProps'\nimport { ModuleCardHeader } from '../Module'\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 { useState } from 'react'\n\nimport { ModuleRenderProps } from '../ModuleRenderProps'\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 <ButtonEx onClick={() => setShowQueries(!showQueries)} key={moduleType}>\n {icon}\n </ButtonEx>\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'\n\nimport { ModuleRenderProps } from '../ModuleRenderProps'\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":["import_material","import_material","import_material","import_jsx_runtime","import_material","import_jsx_runtime","import_material","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_react_button","import_react_flexbox","import_react_shared","import_react","import_jsx_runtime","import_material","import_eth_address","import_react_crypto","import_jsx_runtime","import_react"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../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":["export * from './components'\nexport * from './hooks'\nexport * from './ModuleRenderProps'\n","import { Card, CardProps } from '@mui/material'\nimport { DivinerInstance } from '@xyo-network/diviner-model'\n\nimport { ModuleRenderProps } from '../../../ModuleRenderProps'\nimport { ModuleCardActions } from '../Module'\nimport { DivinerCardContent } from './CardContent'\nimport { DivinerCardHeader } from './CardHeader'\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'\n\nimport { ModuleRenderProps } from '../../../ModuleRenderProps'\nimport { ModuleCardActions } from './CardActions'\nimport { ModuleCardContent } from './CardContent'\nimport { ModuleCardHeader } from './CardHeader'\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 { useState } from 'react'\n\nimport { ModuleRenderProps } from '../../../ModuleRenderProps'\nimport { DiscoverDialog } from './components'\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 { 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>Supported Queries for {mod?.config.name || mod?.address}</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'\n\nimport { ModuleRenderProps } from '../../../ModuleRenderProps'\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'\n\nimport { ModuleRenderProps } from '../../../ModuleRenderProps'\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'\n\nimport { ModuleRenderProps } from '../../../ModuleRenderProps'\nimport { ModuleCardContent } from '../Module'\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'\n\nimport { ModuleRenderProps } from '../../../ModuleRenderProps'\nimport { ModuleCardHeader } from '../Module'\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 { useState } from 'react'\n\nimport { ModuleRenderProps } from '../ModuleRenderProps'\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 <ButtonEx onClick={() => setShowQueries(!showQueries)} key={moduleType}>\n {icon}\n </ButtonEx>\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'\n\nimport { ModuleRenderProps } from '../ModuleRenderProps'\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":["src_exports","__export","DivinerCard","DivinerCardContent","DivinerCardHeader","ModuleCard","ModuleCardActions","ModuleCardContent","ModuleCardHeader","ModuleDetailsBox","ModuleTableCell","useRefresh","__toCommonJS","import_material","import_material","import_material","import_react_button","import_react_flexbox","import_react","import_material","import_react_promise","import_jsx_runtime","DiscoverDialog","mod","setOpen","props","discoverPayloads","import_jsx_runtime","ModuleCardActions","children","mod","sx","props","discoverDialogOpen","setDiscoverDialogOpen","config","DiscoverDialog","import_material","import_jsx_runtime","ModuleCardContent","children","props","import_material","import_react_shared","import_jsx_runtime","moduleTypes","getModuleIcons","moduleType","mod","query","ModuleCardHeader","subheader","avatar","title","props","Icon","import_jsx_runtime","ModuleCard","mod","props","ModuleCardHeader","ModuleCardContent","ModuleCardActions","import_jsx_runtime","DivinerCardContent","children","props","ModuleCardContent","import_jsx_runtime","DivinerCardHeader","title","mod","props","ModuleCardHeader","import_jsx_runtime","DivinerCard","children","mod","props","DivinerCardHeader","DivinerCardContent","ModuleCardActions","import_eth_address","import_react_button","import_react_crypto","import_react_flexbox","import_react_shared","import_react","import_jsx_runtime","getModuleIcon","moduleType","mod","query","ModuleDetailsBox","children","props","showQueries","setShowQueries","icon","import_material","import_eth_address","import_react_crypto","import_jsx_runtime","ModuleTableCell","children","mod","props","import_react","useRefresh","count","setCount","newCount"]}
@@ -1,179 +1,2 @@
1
- // src/components/Card/Diviner/Card.tsx
2
- import { Card as Card2 } from "@mui/material";
3
-
4
- // src/components/Card/Module/Card.tsx
5
- import { Card } from "@mui/material";
6
-
7
- // src/components/Card/Module/CardActions.tsx
8
- import { CardActions, Chip } from "@mui/material";
9
- import { ButtonEx } from "@xylabs/react-button";
10
- import { FlexRow } from "@xylabs/react-flexbox";
11
- import { useState } from "react";
12
-
13
- // src/components/Card/Module/components/DiscoverDialog.tsx
14
- import { Button, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, Divider, Paper } from "@mui/material";
15
- import { usePromise } from "@xylabs/react-promise";
16
- import { jsx, jsxs } from "react/jsx-runtime";
17
- var DiscoverDialog = ({ mod, setOpen, ...props }) => {
18
- const [discoverPayloads] = usePromise(async () => {
19
- return await mod?.state();
20
- }, [mod]);
21
- return /* @__PURE__ */ jsxs(Dialog, { ...props, children: [
22
- /* @__PURE__ */ jsxs(DialogTitle, { children: [
23
- "Supported Queries for ",
24
- mod?.config.name || mod?.address
25
- ] }),
26
- /* @__PURE__ */ jsx(Divider, {}),
27
- /* @__PURE__ */ jsx(DialogContent, { children: /* @__PURE__ */ jsxs(Paper, { sx: { p: 1 }, children: [
28
- /* @__PURE__ */ jsx(DialogContentText, { children: "All modules share a set of base queries along with ones specific to the module." }),
29
- /* @__PURE__ */ jsx("pre", { children: JSON.stringify(discoverPayloads, null, 2) })
30
- ] }) }),
31
- /* @__PURE__ */ jsx(DialogActions, { children: /* @__PURE__ */ jsx(Button, { onClick: () => setOpen?.(false), variant: "outlined", children: "Close" }) })
32
- ] });
33
- };
34
-
35
- // src/components/Card/Module/CardActions.tsx
36
- import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
37
- var ModuleCardActions = ({ children, mod, sx, ...props }) => {
38
- const [discoverDialogOpen, setDiscoverDialogOpen] = useState(false);
39
- const config = mod?.config;
40
- return /* @__PURE__ */ jsxs2(CardActions, { sx: { alignItems: "stretch", flexDirection: "column", ml: 1, ...sx }, ...props, children: [
41
- /* @__PURE__ */ jsxs2(FlexRow, { justifyContent: "space-between", gap: 1, alignItems: "center", children: [
42
- mod ? /* @__PURE__ */ jsx2(Chip, { label: config?.schema, size: "small" }) : null,
43
- children,
44
- /* @__PURE__ */ jsx2(ButtonEx, { onClick: () => setDiscoverDialogOpen(true), size: "small", variant: "outlined", children: "Discover" })
45
- ] }),
46
- /* @__PURE__ */ jsx2(DiscoverDialog, { fullWidth: true, maxWidth: "md", mod, open: discoverDialogOpen, setOpen: setDiscoverDialogOpen })
47
- ] });
48
- };
49
-
50
- // src/components/Card/Module/CardContent.tsx
51
- import { CardContent } from "@mui/material";
52
- import { jsx as jsx3 } from "react/jsx-runtime";
53
- var ModuleCardContent = ({ children, ...props }) => {
54
- return /* @__PURE__ */ jsx3(CardContent, { ...props, children });
55
- };
56
-
57
- // src/components/Card/Module/CardHeader.tsx
58
- import { CardHeader } from "@mui/material";
59
- import { findNetworkComponent } from "@xyo-network/react-shared";
60
- import { Fragment, jsx as jsx4 } from "react/jsx-runtime";
61
- var moduleTypes = ["sentinel", "bridge", "archivist", "diviner", "node", "witness"];
62
- var getModuleIcons = (moduleType, mod) => {
63
- return mod?.queries.find((query) => query.startsWith(`network.xyo.query.${moduleType}`)) ? findNetworkComponent(moduleType)?.icon : null;
64
- };
65
- var ModuleCardHeader = ({ subheader, avatar, title, mod, ...props }) => {
66
- return /* @__PURE__ */ jsx4(
67
- CardHeader,
68
- {
69
- title: title ?? mod?.config.name ?? "Module",
70
- subheader: subheader ?? mod?.address,
71
- avatar: avatar ?? /* @__PURE__ */ jsx4(Fragment, { children: mod ? moduleTypes.map((moduleType) => {
72
- const Icon = getModuleIcons(moduleType, mod);
73
- return Icon ? /* @__PURE__ */ jsx4(Icon, { fontSize: "large", color: "primary" }, moduleType) : null;
74
- }) : null }),
75
- ...props
76
- }
77
- );
78
- };
79
-
80
- // src/components/Card/Module/Card.tsx
81
- import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
82
- var ModuleCard = ({ mod, ...props }) => {
83
- return /* @__PURE__ */ jsxs3(Card, { ...props, children: [
84
- /* @__PURE__ */ jsx5(ModuleCardHeader, { mod }),
85
- /* @__PURE__ */ jsx5(ModuleCardContent, { mod }),
86
- /* @__PURE__ */ jsx5(ModuleCardActions, { mod })
87
- ] });
88
- };
89
-
90
- // src/components/Card/Diviner/CardContent.tsx
91
- import { jsx as jsx6 } from "react/jsx-runtime";
92
- var DivinerCardContent = ({ children, ...props }) => {
93
- return /* @__PURE__ */ jsx6(ModuleCardContent, { ...props, children });
94
- };
95
-
96
- // src/components/Card/Diviner/CardHeader.tsx
97
- import { jsx as jsx7 } from "react/jsx-runtime";
98
- var DivinerCardHeader = ({ title, mod, ...props }) => {
99
- return /* @__PURE__ */ jsx7(ModuleCardHeader, { mod, title: title ?? mod?.config.name ?? "Diviner", ...props });
100
- };
101
-
102
- // src/components/Card/Diviner/Card.tsx
103
- import { jsx as jsx8, jsxs as jsxs4 } from "react/jsx-runtime";
104
- var DivinerCard = ({ children, mod, ...props }) => {
105
- return /* @__PURE__ */ jsxs4(Card2, { ...props, children: [
106
- /* @__PURE__ */ jsx8(DivinerCardHeader, { mod }),
107
- /* @__PURE__ */ jsx8(DivinerCardContent, { mod }),
108
- children,
109
- /* @__PURE__ */ jsx8(ModuleCardActions, { mod })
110
- ] });
111
- };
112
-
113
- // src/components/DetailsBox.tsx
114
- import { EthAddress } from "@xylabs/eth-address";
115
- import { ButtonEx as ButtonEx2 } from "@xylabs/react-button";
116
- import { EthAccountBox } from "@xylabs/react-crypto";
117
- import { FlexCol, FlexRow as FlexRow2 } from "@xylabs/react-flexbox";
118
- import { findNetworkComponent as findNetworkComponent2 } from "@xyo-network/react-shared";
119
- import { useState as useState2 } from "react";
120
- import { jsx as jsx9, jsxs as jsxs5 } from "react/jsx-runtime";
121
- var getModuleIcon = (moduleType, mod) => {
122
- return mod?.queries.find((query) => query.startsWith(`network.xyo.query.${moduleType}`)) ? findNetworkComponent2(moduleType)?.icon() : null;
123
- };
124
- var ModuleDetailsBox = ({ children, mod, ...props }) => {
125
- const [showQueries, setShowQueries] = useState2(false);
126
- return /* @__PURE__ */ jsxs5(FlexCol, { ...props, children: [
127
- /* @__PURE__ */ jsxs5(FlexRow2, { children: [
128
- mod ? ["sentinel", "bridge", "archivist", "diviner", "node"].map((moduleType) => {
129
- const icon = getModuleIcon(moduleType, mod);
130
- return icon ? /* @__PURE__ */ jsx9(ButtonEx2, { onClick: () => setShowQueries(!showQueries), children: icon }, moduleType) : null;
131
- }) : null,
132
- /* @__PURE__ */ jsx9(EthAccountBox, { address: EthAddress.fromString(mod?.address) })
133
- ] }),
134
- showQueries ? mod?.queries.map((query) => {
135
- return /* @__PURE__ */ jsx9(FlexRow2, { children: query }, query);
136
- }) : null,
137
- children
138
- ] });
139
- };
140
-
141
- // src/components/TableCell.tsx
142
- import { TableCell } from "@mui/material";
143
- import { EthAddress as EthAddress2 } from "@xylabs/eth-address";
144
- import { EthAccountBox as EthAccountBox2 } from "@xylabs/react-crypto";
145
- import { jsx as jsx10, jsxs as jsxs6 } from "react/jsx-runtime";
146
- var ModuleTableCell = ({ children, mod, ...props }) => {
147
- return /* @__PURE__ */ jsxs6(TableCell, { ...props, children: [
148
- /* @__PURE__ */ jsx10(EthAccountBox2, { address: EthAddress2.fromString(mod?.address) }),
149
- children
150
- ] });
151
- };
152
-
153
- // src/hooks/useRefresh.tsx
154
- import { useState as useState3 } from "react";
155
- var useRefresh = () => {
156
- const [count, setCount] = useState3(1);
157
- return [
158
- count,
159
- () => {
160
- const newCount = count + 1;
161
- setCount(newCount);
162
- return newCount;
163
- },
164
- () => setCount(0)
165
- ];
166
- };
167
- export {
168
- DivinerCard,
169
- DivinerCardContent,
170
- DivinerCardHeader,
171
- ModuleCard,
172
- ModuleCardActions,
173
- ModuleCardContent,
174
- ModuleCardHeader,
175
- ModuleDetailsBox,
176
- ModuleTableCell,
177
- useRefresh
178
- };
1
+ import{Card as V}from"@mui/material";import{Card as G}from"@mui/material";import{CardActions as y,Chip as H}from"@mui/material";import{ButtonEx as E}from"@xylabs/react-button";import{FlexRow as T}from"@xylabs/react-flexbox";import{useState as q}from"react";import{Button as h,Dialog as b,DialogActions as F,DialogContent as w,DialogContentText as A,DialogTitle as k,Divider as I,Paper as S}from"@mui/material";import{usePromise as B}from"@xylabs/react-promise";import{jsx as s,jsxs as m}from"react/jsx-runtime";var D=({mod:r,setOpen:o,...e})=>{let[t]=B(async()=>await r?.state(),[r]);return m(b,{...e,children:[m(k,{children:["Supported Queries for ",r?.config.name||r?.address]}),s(I,{}),s(w,{children:m(S,{sx:{p:1},children:[s(A,{children:"All modules share a set of base queries along with ones specific to the module."}),s("pre",{children:JSON.stringify(t,null,2)})]})}),s(F,{children:s(h,{onClick:()=>o?.(!1),variant:"outlined",children:"Close"})})]})};import{jsx as u,jsxs as M}from"react/jsx-runtime";var l=({children:r,mod:o,sx:e,...t})=>{let[a,n]=q(!1),i=o?.config;return M(y,{sx:{alignItems:"stretch",flexDirection:"column",ml:1,...e},...t,children:[M(T,{justifyContent:"space-between",gap:1,alignItems:"center",children:[o?u(H,{label:i?.schema,size:"small"}):null,r,u(E,{onClick:()=>n(!0),size:"small",variant:"outlined",children:"Discover"})]}),u(D,{fullWidth:!0,maxWidth:"md",mod:o,open:a,setOpen:n})]})};import{CardContent as O}from"@mui/material";import{jsx as W}from"react/jsx-runtime";var d=({children:r,...o})=>W(O,{...o,children:r});import{CardHeader as z}from"@mui/material";import{findNetworkComponent as N}from"@xyo-network/react-shared";import{Fragment as J,jsx as c}from"react/jsx-runtime";var Q=["sentinel","bridge","archivist","diviner","node","witness"],$=(r,o)=>o?.queries.find(e=>e.startsWith(`network.xyo.query.${r}`))?N(r)?.icon:null,p=({subheader:r,avatar:o,title:e,mod:t,...a})=>c(z,{title:e??t?.config.name??"Module",subheader:r??t?.address,avatar:o??c(J,{children:t?Q.map(n=>{let i=$(n,t);return i?c(i,{fontSize:"large",color:"primary"},n):null}):null}),...a});import{jsx as C,jsxs as K}from"react/jsx-runtime";var Oo=({mod:r,...o})=>K(G,{...o,children:[C(p,{mod:r}),C(d,{mod:r}),C(l,{mod:r})]});import{jsx as L}from"react/jsx-runtime";var g=({children:r,...o})=>L(d,{...o,children:r});import{jsx as U}from"react/jsx-runtime";var R=({title:r,mod:o,...e})=>U(p,{mod:o,title:r??o?.config.name??"Diviner",...e});import{jsx as f,jsxs as X}from"react/jsx-runtime";var Zo=({children:r,mod:o,...e})=>X(V,{...e,children:[f(R,{mod:o}),f(g,{mod:o}),r,f(l,{mod:o})]});import{EthAddress as Y}from"@xylabs/eth-address";import{ButtonEx as Z}from"@xylabs/react-button";import{EthAccountBox as _}from"@xylabs/react-crypto";import{FlexCol as j,FlexRow as x}from"@xylabs/react-flexbox";import{findNetworkComponent as oo}from"@xyo-network/react-shared";import{useState as ro}from"react";import{jsx as P,jsxs as v}from"react/jsx-runtime";var eo=(r,o)=>o?.queries.find(e=>e.startsWith(`network.xyo.query.${r}`))?oo(r)?.icon():null,ar=({children:r,mod:o,...e})=>{let[t,a]=ro(!1);return v(j,{...e,children:[v(x,{children:[o?["sentinel","bridge","archivist","diviner","node"].map(n=>{let i=eo(n,o);return i?P(Z,{onClick:()=>a(!t),children:i},n):null}):null,P(_,{address:Y.fromString(o?.address)})]}),t?o?.queries.map(n=>P(x,{children:n},n)):null,r]})};import{TableCell as to}from"@mui/material";import{EthAddress as no}from"@xylabs/eth-address";import{EthAccountBox as io}from"@xylabs/react-crypto";import{jsx as so,jsxs as ao}from"react/jsx-runtime";var Cr=({children:r,mod:o,...e})=>ao(to,{...e,children:[so(io,{address:no.fromString(o?.address)}),r]});import{useState as lo}from"react";var Mr=()=>{let[r,o]=lo(1);return[r,()=>{let e=r+1;return o(e),e},()=>o(0)]};export{Zo as DivinerCard,g as DivinerCardContent,R as DivinerCardHeader,Oo as ModuleCard,l as ModuleCardActions,d as ModuleCardContent,p as ModuleCardHeader,ar as ModuleDetailsBox,Cr as ModuleTableCell,Mr as useRefresh};
179
2
  //# sourceMappingURL=index.js.map
@@ -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'\n\nimport { ModuleRenderProps } from '../../../ModuleRenderProps'\nimport { ModuleCardActions } from '../Module'\nimport { DivinerCardContent } from './CardContent'\nimport { DivinerCardHeader } from './CardHeader'\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'\n\nimport { ModuleRenderProps } from '../../../ModuleRenderProps'\nimport { ModuleCardActions } from './CardActions'\nimport { ModuleCardContent } from './CardContent'\nimport { ModuleCardHeader } from './CardHeader'\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 { useState } from 'react'\n\nimport { ModuleRenderProps } from '../../../ModuleRenderProps'\nimport { DiscoverDialog } from './components'\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 { 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>Supported Queries for {mod?.config.name || mod?.address}</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'\n\nimport { ModuleRenderProps } from '../../../ModuleRenderProps'\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'\n\nimport { ModuleRenderProps } from '../../../ModuleRenderProps'\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'\n\nimport { ModuleRenderProps } from '../../../ModuleRenderProps'\nimport { ModuleCardContent } from '../Module'\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'\n\nimport { ModuleRenderProps } from '../../../ModuleRenderProps'\nimport { ModuleCardHeader } from '../Module'\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 { useState } from 'react'\n\nimport { ModuleRenderProps } from '../ModuleRenderProps'\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 <ButtonEx onClick={() => setShowQueries(!showQueries)} key={moduleType}>\n {icon}\n </ButtonEx>\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'\n\nimport { ModuleRenderProps } from '../ModuleRenderProps'\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","jsx","jsxs","jsx","jsx","jsx","jsxs","jsx","jsx","jsx","jsxs","Card","ButtonEx","FlexRow","findNetworkComponent","useState","jsx","jsxs","EthAddress","EthAccountBox","jsx","jsxs","useState"]}
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'\n\nimport { ModuleRenderProps } from '../../../ModuleRenderProps'\nimport { ModuleCardActions } from '../Module'\nimport { DivinerCardContent } from './CardContent'\nimport { DivinerCardHeader } from './CardHeader'\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'\n\nimport { ModuleRenderProps } from '../../../ModuleRenderProps'\nimport { ModuleCardActions } from './CardActions'\nimport { ModuleCardContent } from './CardContent'\nimport { ModuleCardHeader } from './CardHeader'\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 { useState } from 'react'\n\nimport { ModuleRenderProps } from '../../../ModuleRenderProps'\nimport { DiscoverDialog } from './components'\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 { 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>Supported Queries for {mod?.config.name || mod?.address}</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'\n\nimport { ModuleRenderProps } from '../../../ModuleRenderProps'\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'\n\nimport { ModuleRenderProps } from '../../../ModuleRenderProps'\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'\n\nimport { ModuleRenderProps } from '../../../ModuleRenderProps'\nimport { ModuleCardContent } from '../Module'\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'\n\nimport { ModuleRenderProps } from '../../../ModuleRenderProps'\nimport { ModuleCardHeader } from '../Module'\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 { useState } from 'react'\n\nimport { ModuleRenderProps } from '../ModuleRenderProps'\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 <ButtonEx onClick={() => setShowQueries(!showQueries)} key={moduleType}>\n {icon}\n </ButtonEx>\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'\n\nimport { ModuleRenderProps } from '../ModuleRenderProps'\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","Card","CardActions","Chip","ButtonEx","FlexRow","useState","Button","Dialog","DialogActions","DialogContent","DialogContentText","DialogTitle","Divider","Paper","usePromise","jsx","jsxs","DiscoverDialog","mod","setOpen","props","discoverPayloads","jsx","jsxs","ModuleCardActions","children","mod","sx","props","discoverDialogOpen","setDiscoverDialogOpen","useState","config","CardActions","FlexRow","Chip","ButtonEx","DiscoverDialog","CardContent","jsx","ModuleCardContent","children","props","CardHeader","findNetworkComponent","Fragment","jsx","moduleTypes","getModuleIcons","moduleType","mod","query","ModuleCardHeader","subheader","avatar","title","props","Icon","jsx","jsxs","ModuleCard","mod","props","Card","ModuleCardHeader","ModuleCardContent","ModuleCardActions","jsx","DivinerCardContent","children","props","ModuleCardContent","jsx","DivinerCardHeader","title","mod","props","ModuleCardHeader","jsx","jsxs","DivinerCard","children","mod","props","Card","DivinerCardHeader","DivinerCardContent","ModuleCardActions","EthAddress","ButtonEx","EthAccountBox","FlexCol","FlexRow","findNetworkComponent","useState","jsx","jsxs","getModuleIcon","moduleType","mod","query","ModuleDetailsBox","children","props","showQueries","setShowQueries","icon","TableCell","EthAddress","EthAccountBox","jsx","jsxs","ModuleTableCell","children","mod","props","useState","useRefresh","count","setCount","newCount"]}