@xyo-network/react-module 7.4.2 → 7.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/components/Card/Diviner/Card.stories.d.ts +1 -1
- package/dist/browser/components/Card/Module/Card.stories.d.ts +1 -1
- package/dist/browser/components/DetailsBox.stories.d.ts +3 -3
- package/dist/browser/components/DetailsBox.stories.d.ts.map +1 -1
- package/dist/browser/index.mjs +141 -156
- package/dist/browser/index.mjs.map +1 -1
- package/package.json +34 -31
- package/src/components/Card/Diviner/Card.stories.tsx +3 -3
- package/src/components/Card/Module/Card.stories.tsx +2 -2
- package/src/components/DetailsBox.stories.tsx +1 -1
|
@@ -3,7 +3,7 @@ import type { DivinerInstance } from '@xyo-network/diviner-model';
|
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { DivinerCard } from './Card.tsx';
|
|
5
5
|
declare const StorybookEntry: Meta<typeof DivinerCard>;
|
|
6
|
-
declare const SingleModule: import("
|
|
6
|
+
declare const SingleModule: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("@mui/material").CardOwnProps & import("@mui/material/OverridableComponent").CommonProps & Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "classes" | "children" | "className" | "sx" | "style" | "variant" | "elevation" | "square" | "raised"> & {
|
|
7
7
|
component?: React.ElementType;
|
|
8
8
|
} & import("../../../ModuleRenderProps.tsx").ModuleRenderProps<DivinerInstance<import("@xyo-network/diviner-model").DivinerParams<import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/diviner-model").DivinerConfig>>, import("@xyo-network/payload-model").Payload, import("@xyo-network/payload-model").Payload, import("@xyo-network/diviner-model").DivinerModuleEventData>>>;
|
|
9
9
|
export { SingleModule };
|
|
@@ -2,7 +2,7 @@ import type { Meta } from '@storybook/react-vite';
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { ModuleCard } from './Card.tsx';
|
|
4
4
|
declare const StorybookEntry: Meta<typeof ModuleCard>;
|
|
5
|
-
declare const SingleModule: import("
|
|
5
|
+
declare const SingleModule: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("@mui/material").CardOwnProps & import("@mui/material/OverridableComponent").CommonProps & Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "classes" | "children" | "className" | "sx" | "style" | "variant" | "elevation" | "square" | "raised"> & {
|
|
6
6
|
component?: React.ElementType;
|
|
7
7
|
} & import("../../../ModuleRenderProps.tsx").ModuleRenderProps>;
|
|
8
8
|
export { SingleModule };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { Meta } from '@storybook/react-vite';
|
|
2
2
|
import { ModuleDetailsBox } from './DetailsBox.tsx';
|
|
3
3
|
declare const StorybookEntry: Meta<typeof ModuleDetailsBox>;
|
|
4
|
-
declare const NodeDetails: import("
|
|
5
|
-
declare const ArchivistDetails: import("
|
|
6
|
-
declare const DivinerDetails: import("
|
|
4
|
+
declare const NodeDetails: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("../ModuleRenderProps.tsx").ModuleRenderProps & import("@xylabs/react-flexbox").BusyBoxProps>;
|
|
5
|
+
declare const ArchivistDetails: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("../ModuleRenderProps.tsx").ModuleRenderProps & import("@xylabs/react-flexbox").BusyBoxProps>;
|
|
6
|
+
declare const DivinerDetails: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("../ModuleRenderProps.tsx").ModuleRenderProps & import("@xylabs/react-flexbox").BusyBoxProps>;
|
|
7
7
|
export { ArchivistDetails, DivinerDetails, NodeDetails, };
|
|
8
8
|
export default StorybookEntry;
|
|
9
9
|
//# sourceMappingURL=DetailsBox.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetailsBox.stories.d.ts","sourceRoot":"","sources":["../../../src/components/DetailsBox.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAW,MAAM,uBAAuB,CAAA;AAS1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAEnD,QAAA,MAAM,cAAc,EAKf,IAAI,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAqBlC,QAAA,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"DetailsBox.stories.d.ts","sourceRoot":"","sources":["../../../src/components/DetailsBox.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAW,MAAM,uBAAuB,CAAA;AAS1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAEnD,QAAA,MAAM,cAAc,EAKf,IAAI,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAqBlC,QAAA,MAAM,WAAW,kMAAwB,CAAA;AAsBzC,QAAA,MAAM,gBAAgB,kMAA6B,CAAA;AAsBnD,QAAA,MAAM,cAAc,kMAA2B,CAAA;AAG/C,OAAO,EACL,gBAAgB,EAAE,cAAc,EAAE,WAAW,GAC9C,CAAA;AAED,eAAe,cAAc,CAAA"}
|
package/dist/browser/index.mjs
CHANGED
|
@@ -1,158 +1,147 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
|
|
1
4
|
// src/components/Card/Diviner/Card.tsx
|
|
2
5
|
import { Card as Card2 } from "@mui/material";
|
|
6
|
+
import React8 from "react";
|
|
3
7
|
|
|
4
8
|
// src/components/Card/Module/Card.tsx
|
|
5
9
|
import { Card } from "@mui/material";
|
|
10
|
+
import React5 from "react";
|
|
6
11
|
|
|
7
12
|
// src/components/Card/Module/CardActions.tsx
|
|
8
13
|
import { CardActions, Chip } from "@mui/material";
|
|
9
14
|
import { ButtonEx } from "@xylabs/react-button";
|
|
10
15
|
import { FlexRow } from "@xylabs/react-flexbox";
|
|
11
|
-
import { useState } from "react";
|
|
16
|
+
import React2, { useState } from "react";
|
|
12
17
|
|
|
13
18
|
// src/components/Card/Module/components/DiscoverDialog.tsx
|
|
14
|
-
import {
|
|
15
|
-
Button,
|
|
16
|
-
Dialog,
|
|
17
|
-
DialogActions,
|
|
18
|
-
DialogContent,
|
|
19
|
-
DialogContentText,
|
|
20
|
-
DialogTitle,
|
|
21
|
-
Divider,
|
|
22
|
-
Paper
|
|
23
|
-
} from "@mui/material";
|
|
19
|
+
import { Button, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, Divider, Paper } from "@mui/material";
|
|
24
20
|
import { usePromise } from "@xylabs/react-promise";
|
|
25
|
-
import
|
|
26
|
-
var DiscoverDialog = ({
|
|
27
|
-
mod,
|
|
28
|
-
setOpen,
|
|
29
|
-
...props
|
|
30
|
-
}) => {
|
|
21
|
+
import React from "react";
|
|
22
|
+
var DiscoverDialog = /* @__PURE__ */ __name(({ mod, setOpen, ...props }) => {
|
|
31
23
|
const [discoverPayloads] = usePromise(async () => {
|
|
32
24
|
return await mod?.state();
|
|
33
|
-
}, [
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
] });
|
|
46
|
-
};
|
|
25
|
+
}, [
|
|
26
|
+
mod
|
|
27
|
+
]);
|
|
28
|
+
return /* @__PURE__ */ React.createElement(Dialog, props, /* @__PURE__ */ React.createElement(DialogTitle, null, "Supported Queries for", mod?.config.name || mod?.address), /* @__PURE__ */ React.createElement(Divider, null), /* @__PURE__ */ React.createElement(DialogContent, null, /* @__PURE__ */ React.createElement(Paper, {
|
|
29
|
+
sx: {
|
|
30
|
+
p: 1
|
|
31
|
+
}
|
|
32
|
+
}, /* @__PURE__ */ React.createElement(DialogContentText, null, "All modules share a set of base queries along with ones specific to the module."), /* @__PURE__ */ React.createElement("pre", null, JSON.stringify(discoverPayloads, null, 2)))), /* @__PURE__ */ React.createElement(DialogActions, null, /* @__PURE__ */ React.createElement(Button, {
|
|
33
|
+
onClick: /* @__PURE__ */ __name(() => setOpen?.(false), "onClick"),
|
|
34
|
+
variant: "outlined"
|
|
35
|
+
}, "Close")));
|
|
36
|
+
}, "DiscoverDialog");
|
|
47
37
|
|
|
48
38
|
// src/components/Card/Module/CardActions.tsx
|
|
49
|
-
|
|
50
|
-
var ModuleCardActions = ({
|
|
51
|
-
children,
|
|
52
|
-
mod,
|
|
53
|
-
sx,
|
|
54
|
-
...props
|
|
55
|
-
}) => {
|
|
39
|
+
var ModuleCardActions = /* @__PURE__ */ __name(({ children, mod, sx, ...props }) => {
|
|
56
40
|
const [discoverDialogOpen, setDiscoverDialogOpen] = useState(false);
|
|
57
41
|
const config = mod?.config;
|
|
58
|
-
return /* @__PURE__ */
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
)
|
|
78
|
-
|
|
42
|
+
return /* @__PURE__ */ React2.createElement(CardActions, {
|
|
43
|
+
sx: {
|
|
44
|
+
alignItems: "stretch",
|
|
45
|
+
flexDirection: "column",
|
|
46
|
+
ml: 1,
|
|
47
|
+
...sx
|
|
48
|
+
},
|
|
49
|
+
...props
|
|
50
|
+
}, /* @__PURE__ */ React2.createElement(FlexRow, {
|
|
51
|
+
justifyContent: "space-between",
|
|
52
|
+
gap: 1,
|
|
53
|
+
alignItems: "center"
|
|
54
|
+
}, mod ? /* @__PURE__ */ React2.createElement(Chip, {
|
|
55
|
+
label: config?.schema,
|
|
56
|
+
size: "small"
|
|
57
|
+
}) : null, children, /* @__PURE__ */ React2.createElement(ButtonEx, {
|
|
58
|
+
onClick: /* @__PURE__ */ __name(() => setDiscoverDialogOpen(true), "onClick"),
|
|
59
|
+
size: "small",
|
|
60
|
+
variant: "outlined"
|
|
61
|
+
}, "Discover")), /* @__PURE__ */ React2.createElement(DiscoverDialog, {
|
|
62
|
+
fullWidth: true,
|
|
63
|
+
maxWidth: "md",
|
|
64
|
+
mod,
|
|
65
|
+
open: discoverDialogOpen,
|
|
66
|
+
setOpen: setDiscoverDialogOpen
|
|
67
|
+
}));
|
|
68
|
+
}, "ModuleCardActions");
|
|
79
69
|
|
|
80
70
|
// src/components/Card/Module/CardContent.tsx
|
|
81
71
|
import { CardContent } from "@mui/material";
|
|
82
|
-
import
|
|
83
|
-
var ModuleCardContent = ({ children, ...props }) => {
|
|
84
|
-
return /* @__PURE__ */
|
|
85
|
-
};
|
|
72
|
+
import React3 from "react";
|
|
73
|
+
var ModuleCardContent = /* @__PURE__ */ __name(({ children, ...props }) => {
|
|
74
|
+
return /* @__PURE__ */ React3.createElement(CardContent, props, children);
|
|
75
|
+
}, "ModuleCardContent");
|
|
86
76
|
|
|
87
77
|
// src/components/Card/Module/CardHeader.tsx
|
|
88
78
|
import { CardHeader } from "@mui/material";
|
|
89
79
|
import { findNetworkComponent } from "@xyo-network/react-shared";
|
|
90
|
-
import
|
|
91
|
-
var moduleTypes = [
|
|
92
|
-
|
|
80
|
+
import React4 from "react";
|
|
81
|
+
var moduleTypes = [
|
|
82
|
+
"sentinel",
|
|
83
|
+
"bridge",
|
|
84
|
+
"archivist",
|
|
85
|
+
"diviner",
|
|
86
|
+
"node",
|
|
87
|
+
"witness"
|
|
88
|
+
];
|
|
89
|
+
var getModuleIcons = /* @__PURE__ */ __name((moduleType, mod) => {
|
|
93
90
|
return mod?.queries.find((query) => query.startsWith(`network.xyo.query.${moduleType}`)) ? findNetworkComponent(moduleType)?.icon : null;
|
|
94
|
-
};
|
|
95
|
-
var ModuleCardHeader = ({
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
}) : null }),
|
|
111
|
-
...props
|
|
112
|
-
}
|
|
113
|
-
);
|
|
114
|
-
};
|
|
91
|
+
}, "getModuleIcons");
|
|
92
|
+
var ModuleCardHeader = /* @__PURE__ */ __name(({ subheader, avatar, title, mod, ...props }) => {
|
|
93
|
+
return /* @__PURE__ */ React4.createElement(CardHeader, {
|
|
94
|
+
title: title ?? mod?.config.name ?? "Module",
|
|
95
|
+
subheader: subheader ?? mod?.address,
|
|
96
|
+
avatar: avatar ?? /* @__PURE__ */ React4.createElement(React4.Fragment, null, mod ? moduleTypes.map((moduleType) => {
|
|
97
|
+
const Icon = getModuleIcons(moduleType, mod);
|
|
98
|
+
return Icon ? /* @__PURE__ */ React4.createElement(Icon, {
|
|
99
|
+
key: moduleType,
|
|
100
|
+
fontSize: "large",
|
|
101
|
+
color: "primary"
|
|
102
|
+
}) : null;
|
|
103
|
+
}) : null),
|
|
104
|
+
...props
|
|
105
|
+
});
|
|
106
|
+
}, "ModuleCardHeader");
|
|
115
107
|
|
|
116
108
|
// src/components/Card/Module/Card.tsx
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
};
|
|
109
|
+
var ModuleCard = /* @__PURE__ */ __name(({ mod, ...props }) => {
|
|
110
|
+
return /* @__PURE__ */ React5.createElement(Card, props, /* @__PURE__ */ React5.createElement(ModuleCardHeader, {
|
|
111
|
+
mod
|
|
112
|
+
}), /* @__PURE__ */ React5.createElement(ModuleCardContent, {
|
|
113
|
+
mod
|
|
114
|
+
}), /* @__PURE__ */ React5.createElement(ModuleCardActions, {
|
|
115
|
+
mod
|
|
116
|
+
}));
|
|
117
|
+
}, "ModuleCard");
|
|
125
118
|
|
|
126
119
|
// src/components/Card/Diviner/CardContent.tsx
|
|
127
|
-
import
|
|
128
|
-
var DivinerCardContent = ({ children, ...props }) => {
|
|
129
|
-
return /* @__PURE__ */
|
|
130
|
-
};
|
|
120
|
+
import React6 from "react";
|
|
121
|
+
var DivinerCardContent = /* @__PURE__ */ __name(({ children, ...props }) => {
|
|
122
|
+
return /* @__PURE__ */ React6.createElement(ModuleCardContent, props, children);
|
|
123
|
+
}, "DivinerCardContent");
|
|
131
124
|
|
|
132
125
|
// src/components/Card/Diviner/CardHeader.tsx
|
|
133
|
-
import
|
|
134
|
-
var DivinerCardHeader = ({
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
};
|
|
126
|
+
import React7 from "react";
|
|
127
|
+
var DivinerCardHeader = /* @__PURE__ */ __name(({ title, mod, ...props }) => {
|
|
128
|
+
return /* @__PURE__ */ React7.createElement(ModuleCardHeader, {
|
|
129
|
+
mod,
|
|
130
|
+
title: title ?? mod?.config.name ?? "Diviner",
|
|
131
|
+
...props
|
|
132
|
+
});
|
|
133
|
+
}, "DivinerCardHeader");
|
|
141
134
|
|
|
142
135
|
// src/components/Card/Diviner/Card.tsx
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
})
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
children,
|
|
153
|
-
/* @__PURE__ */ jsx8(ModuleCardActions, { mod })
|
|
154
|
-
] });
|
|
155
|
-
};
|
|
136
|
+
var DivinerCard = /* @__PURE__ */ __name(({ children, mod, ...props }) => {
|
|
137
|
+
return /* @__PURE__ */ React8.createElement(Card2, props, /* @__PURE__ */ React8.createElement(DivinerCardHeader, {
|
|
138
|
+
mod
|
|
139
|
+
}), /* @__PURE__ */ React8.createElement(DivinerCardContent, {
|
|
140
|
+
mod
|
|
141
|
+
}), children, /* @__PURE__ */ React8.createElement(ModuleCardActions, {
|
|
142
|
+
mod
|
|
143
|
+
}));
|
|
144
|
+
}, "DivinerCard");
|
|
156
145
|
|
|
157
146
|
// src/components/DetailsBox.tsx
|
|
158
147
|
import { EthAddressWrapper } from "@xylabs/eth-address";
|
|
@@ -160,51 +149,47 @@ import { ButtonEx as ButtonEx2 } from "@xylabs/react-button";
|
|
|
160
149
|
import { EthAccountBox } from "@xylabs/react-crypto";
|
|
161
150
|
import { FlexCol, FlexRow as FlexRow2 } from "@xylabs/react-flexbox";
|
|
162
151
|
import { findNetworkComponent as findNetworkComponent2 } from "@xyo-network/react-shared";
|
|
163
|
-
import { useState as useState2 } from "react";
|
|
164
|
-
|
|
165
|
-
var getModuleIcon = (moduleType, mod) => {
|
|
152
|
+
import React9, { useState as useState2 } from "react";
|
|
153
|
+
var getModuleIcon = /* @__PURE__ */ __name((moduleType, mod) => {
|
|
166
154
|
return mod?.queries.find((query) => query.startsWith(`network.xyo.query.${moduleType}`)) ? findNetworkComponent2(moduleType)?.icon() : null;
|
|
167
|
-
};
|
|
168
|
-
var ModuleDetailsBox = ({
|
|
169
|
-
children,
|
|
170
|
-
mod,
|
|
171
|
-
...props
|
|
172
|
-
}) => {
|
|
155
|
+
}, "getModuleIcon");
|
|
156
|
+
var ModuleDetailsBox = /* @__PURE__ */ __name(({ children, mod, ...props }) => {
|
|
173
157
|
const [showQueries, setShowQueries] = useState2(false);
|
|
174
|
-
return /* @__PURE__ */
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
158
|
+
return /* @__PURE__ */ React9.createElement(FlexCol, props, /* @__PURE__ */ React9.createElement(FlexRow2, null, mod ? [
|
|
159
|
+
"sentinel",
|
|
160
|
+
"bridge",
|
|
161
|
+
"archivist",
|
|
162
|
+
"diviner",
|
|
163
|
+
"node"
|
|
164
|
+
].map((moduleType) => {
|
|
165
|
+
const icon = getModuleIcon(moduleType, mod);
|
|
166
|
+
return icon ? /* @__PURE__ */ React9.createElement(ButtonEx2, {
|
|
167
|
+
onClick: /* @__PURE__ */ __name(() => setShowQueries(!showQueries), "onClick"),
|
|
168
|
+
key: moduleType
|
|
169
|
+
}, icon) : null;
|
|
170
|
+
}) : null, /* @__PURE__ */ React9.createElement(EthAccountBox, {
|
|
171
|
+
address: EthAddressWrapper.fromString(mod?.address)
|
|
172
|
+
})), showQueries ? mod?.queries.map((query) => {
|
|
173
|
+
return /* @__PURE__ */ React9.createElement(FlexRow2, {
|
|
174
|
+
key: query
|
|
175
|
+
}, query);
|
|
176
|
+
}) : null, children);
|
|
177
|
+
}, "ModuleDetailsBox");
|
|
188
178
|
|
|
189
179
|
// src/components/TableCell.tsx
|
|
190
180
|
import { TableCell } from "@mui/material";
|
|
191
181
|
import { EthAddressWrapper as EthAddressWrapper2 } from "@xylabs/eth-address";
|
|
192
182
|
import { EthAccountBox as EthAccountBox2 } from "@xylabs/react-crypto";
|
|
193
|
-
import
|
|
194
|
-
var ModuleTableCell = ({
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
})
|
|
199
|
-
return /* @__PURE__ */ jsxs6(TableCell, { ...props, children: [
|
|
200
|
-
/* @__PURE__ */ jsx10(EthAccountBox2, { address: EthAddressWrapper2.fromString(mod?.address) }),
|
|
201
|
-
children
|
|
202
|
-
] });
|
|
203
|
-
};
|
|
183
|
+
import React10 from "react";
|
|
184
|
+
var ModuleTableCell = /* @__PURE__ */ __name(({ children, mod, ...props }) => {
|
|
185
|
+
return /* @__PURE__ */ React10.createElement(TableCell, props, /* @__PURE__ */ React10.createElement(EthAccountBox2, {
|
|
186
|
+
address: EthAddressWrapper2.fromString(mod?.address)
|
|
187
|
+
}), children);
|
|
188
|
+
}, "ModuleTableCell");
|
|
204
189
|
|
|
205
190
|
// src/hooks/useRefresh.tsx
|
|
206
191
|
import { useState as useState3 } from "react";
|
|
207
|
-
var useRefresh = () => {
|
|
192
|
+
var useRefresh = /* @__PURE__ */ __name(() => {
|
|
208
193
|
const [count, setCount] = useState3(1);
|
|
209
194
|
return [
|
|
210
195
|
count,
|
|
@@ -215,7 +200,7 @@ var useRefresh = () => {
|
|
|
215
200
|
},
|
|
216
201
|
() => setCount(0)
|
|
217
202
|
];
|
|
218
|
-
};
|
|
203
|
+
}, "useRefresh");
|
|
219
204
|
export {
|
|
220
205
|
DivinerCard,
|
|
221
206
|
DivinerCardContent,
|
|
@@ -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 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>> = ({\n children, mod, ...props\n}) => {\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> = ({\n children, mod, sx, ...props\n}) => {\n const [discoverDialogOpen, setDiscoverDialogOpen] = useState(false)\n\n const config = mod?.config\n\n return (\n <CardActions\n sx={{\n alignItems: 'stretch', flexDirection: 'column', ml: 1, ...sx,\n }}\n {...props}\n >\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 {\n Button, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, Divider, Paper,\n} 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> = ({\n mod, setOpen, ...props\n}) => {\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> = ({\n subheader, avatar, title, mod, ...props\n}) => {\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> = ({\n title, mod, ...props\n}) => {\n return <ModuleCardHeader mod={mod} title={title ?? mod?.config.name ?? 'Diviner'} {...props} />\n}\n","import { EthAddressWrapper } 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> = ({\n children, mod, ...props\n}) => {\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={EthAddressWrapper.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 { EthAddressWrapper } 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> = ({\n children, mod, ...props\n}) => {\n return (\n <TableCell {...props}>\n <EthAccountBox address={EthAddressWrapper.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","EthAddressWrapper","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 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>> = ({\n children, mod, ...props\n}) => {\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> = ({\n children, mod, sx, ...props\n}) => {\n const [discoverDialogOpen, setDiscoverDialogOpen] = useState(false)\n\n const config = mod?.config\n\n return (\n <CardActions\n sx={{\n alignItems: 'stretch', flexDirection: 'column', ml: 1, ...sx,\n }}\n {...props}\n >\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 {\n Button, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, Divider, Paper,\n} 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> = ({\n mod, setOpen, ...props\n}) => {\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> = ({\n subheader, avatar, title, mod, ...props\n}) => {\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> = ({\n title, mod, ...props\n}) => {\n return <ModuleCardHeader mod={mod} title={title ?? mod?.config.name ?? 'Diviner'} {...props} />\n}\n","import { EthAddressWrapper } 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> = ({\n children, mod, ...props\n}) => {\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={EthAddressWrapper.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 { EthAddressWrapper } 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> = ({\n children, mod, ...props\n}) => {\n return (\n <TableCell {...props}>\n <EthAccountBox address={EthAddressWrapper.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","EthAddressWrapper","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","EthAddressWrapper","fromString","TableCell","EthAddressWrapper","EthAccountBox","React","ModuleTableCell","children","mod","props","React","TableCell","EthAccountBox","address","EthAddressWrapper","fromString","useState","useRefresh","count","setCount","useState","newCount"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyo-network/react-module",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.5.1",
|
|
4
4
|
"description": "Common React library for all XYO projects that use React",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"xyo",
|
|
@@ -43,47 +43,50 @@
|
|
|
43
43
|
"src"
|
|
44
44
|
],
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@xylabs/eth-address": "~5.0.
|
|
47
|
-
"@xylabs/react-button": "~7.1.
|
|
48
|
-
"@xylabs/react-crypto": "~7.1.
|
|
49
|
-
"@xylabs/react-flexbox": "~7.1.
|
|
50
|
-
"@xylabs/react-promise": "~7.1.
|
|
51
|
-
"@
|
|
52
|
-
"@xyo-network/
|
|
53
|
-
"@xyo-network/
|
|
46
|
+
"@xylabs/eth-address": "~5.0.64",
|
|
47
|
+
"@xylabs/react-button": "~7.1.12",
|
|
48
|
+
"@xylabs/react-crypto": "~7.1.12",
|
|
49
|
+
"@xylabs/react-flexbox": "~7.1.12",
|
|
50
|
+
"@xylabs/react-promise": "~7.1.12",
|
|
51
|
+
"@xylabs/sdk-js": "~5.0.64",
|
|
52
|
+
"@xyo-network/diviner-model": "~5.3.2",
|
|
53
|
+
"@xyo-network/module-model": "~5.3.2",
|
|
54
|
+
"@xyo-network/react-shared": "7.5.1"
|
|
54
55
|
},
|
|
55
56
|
"devDependencies": {
|
|
56
|
-
"@mui/icons-material": "~7.3.
|
|
57
|
-
"@mui/material": "~7.3.
|
|
58
|
-
"@storybook/react-vite": "~10.1
|
|
59
|
-
"@types/react": "^19.2.
|
|
60
|
-
"@xylabs/
|
|
61
|
-
"@xylabs/
|
|
62
|
-
"@xylabs/ts-scripts-yarn3": "~7.2
|
|
63
|
-
"@xylabs/tsconfig": "~7.2
|
|
64
|
-
"@xylabs/tsconfig-dom": "~7.2
|
|
65
|
-
"@xylabs/tsconfig-react": "~7.2
|
|
66
|
-
"@xyo-network/archivist": "~5.2
|
|
67
|
-
"@xyo-network/archivist-memory": "~5.2
|
|
68
|
-
"@xyo-network/crypto-asset-plugin": "~5.
|
|
69
|
-
"@xyo-network/diviner-address-history": "~5.2
|
|
70
|
-
"@xyo-network/node-memory": "~5.2
|
|
71
|
-
"react": "^19.2.
|
|
72
|
-
"react-dom": "^19.2.
|
|
73
|
-
"react-router-dom": "^7.
|
|
74
|
-
"storybook": "~10.1
|
|
57
|
+
"@mui/icons-material": "~7.3.7",
|
|
58
|
+
"@mui/material": "~7.3.7",
|
|
59
|
+
"@storybook/react-vite": "~10.2.1",
|
|
60
|
+
"@types/react": "^19.2.10",
|
|
61
|
+
"@xylabs/react-async-effect": "~7.1.12",
|
|
62
|
+
"@xylabs/sdk-js": "~5.0.64",
|
|
63
|
+
"@xylabs/ts-scripts-yarn3": "~7.3.2",
|
|
64
|
+
"@xylabs/tsconfig": "~7.3.2",
|
|
65
|
+
"@xylabs/tsconfig-dom": "~7.3.2",
|
|
66
|
+
"@xylabs/tsconfig-react": "~7.3.2",
|
|
67
|
+
"@xyo-network/archivist": "~5.3.2",
|
|
68
|
+
"@xyo-network/archivist-memory": "~5.3.2",
|
|
69
|
+
"@xyo-network/crypto-asset-plugin": "~5.3.1",
|
|
70
|
+
"@xyo-network/diviner-address-history": "~5.3.2",
|
|
71
|
+
"@xyo-network/node-memory": "~5.3.2",
|
|
72
|
+
"react": "^19.2.4",
|
|
73
|
+
"react-dom": "^19.2.4",
|
|
74
|
+
"react-router-dom": "^7.13.0",
|
|
75
|
+
"storybook": "~10.2.1",
|
|
75
76
|
"typescript": "^5.9.3",
|
|
76
|
-
"vite": "~7.
|
|
77
|
+
"vite": "~7.3.1",
|
|
78
|
+
"zod": "^4.3.6"
|
|
77
79
|
},
|
|
78
80
|
"peerDependencies": {
|
|
79
81
|
"@mui/icons-material": ">=6 <8",
|
|
80
82
|
"@mui/material": ">=6 <8",
|
|
81
83
|
"react": "^19",
|
|
82
84
|
"react-dom": "^19",
|
|
83
|
-
"react-router-dom": "^7"
|
|
85
|
+
"react-router-dom": "^7",
|
|
86
|
+
"zod": "^4"
|
|
84
87
|
},
|
|
85
88
|
"publishConfig": {
|
|
86
89
|
"access": "public"
|
|
87
90
|
},
|
|
88
91
|
"docs": "dist/docs.json"
|
|
89
|
-
}
|
|
92
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Meta, StoryFn } from '@storybook/react-vite'
|
|
2
|
-
import type { Address } from '@xylabs/hex'
|
|
3
2
|
import { useAsyncEffect } from '@xylabs/react-async-effect'
|
|
3
|
+
import type { Address } from '@xylabs/sdk-js'
|
|
4
4
|
import { AddressHistoryDiviner, AddressHistoryDivinerConfigSchema } from '@xyo-network/diviner-address-history'
|
|
5
5
|
import type { DivinerInstance } from '@xyo-network/diviner-model'
|
|
6
6
|
import React, { useState } from 'react'
|
|
@@ -10,7 +10,7 @@ import { DivinerCard } from './Card.tsx'
|
|
|
10
10
|
const StorybookEntry = { title: 'modules/diviner/DivinerCard' } as Meta<typeof DivinerCard>
|
|
11
11
|
|
|
12
12
|
const Template: StoryFn<typeof DivinerCard> = () => {
|
|
13
|
-
const [mod,
|
|
13
|
+
const [mod, setMod] = useState<DivinerInstance>()
|
|
14
14
|
|
|
15
15
|
useAsyncEffect(
|
|
16
16
|
|
|
@@ -24,7 +24,7 @@ const Template: StoryFn<typeof DivinerCard> = () => {
|
|
|
24
24
|
},
|
|
25
25
|
})) as DivinerInstance
|
|
26
26
|
if (mounted()) {
|
|
27
|
-
|
|
27
|
+
setMod(newModule)
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
},
|
|
@@ -19,7 +19,7 @@ const StorybookEntry = {
|
|
|
19
19
|
} as Meta<typeof ModuleCard>
|
|
20
20
|
|
|
21
21
|
const Template: StoryFn<typeof ModuleCard> = () => {
|
|
22
|
-
const [mod,
|
|
22
|
+
const [mod, setMod] = useState<ArchivistInstance>()
|
|
23
23
|
|
|
24
24
|
useAsyncEffect(
|
|
25
25
|
|
|
@@ -27,7 +27,7 @@ const Template: StoryFn<typeof ModuleCard> = () => {
|
|
|
27
27
|
if (!mod) {
|
|
28
28
|
const newModule = await MemoryArchivist.create({})
|
|
29
29
|
if (mounted()) {
|
|
30
|
-
|
|
30
|
+
setMod(newModule)
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
},
|
|
@@ -65,7 +65,7 @@ const DivinerTemplate: StoryFn<typeof ModuleDetailsBox> = (args) => {
|
|
|
65
65
|
useAsyncEffect(
|
|
66
66
|
|
|
67
67
|
async (mounted) => {
|
|
68
|
-
const diviner = (await CryptoMarketAssetDiviner.create({})) as DivinerInstance
|
|
68
|
+
const diviner = (await CryptoMarketAssetDiviner.create({})) as unknown as DivinerInstance
|
|
69
69
|
if (mounted()) {
|
|
70
70
|
setDiviner(diviner)
|
|
71
71
|
}
|