@xyo-network/react-module 7.0.0 → 7.0.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.
@@ -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("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react-vite").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
+ declare const SingleModule: import(".store/storybook-virtual-997ab3c959/package/internal/csf").AnnotatedStoryFn<import("@storybook/react-vite").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("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react-vite").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"> & {
5
+ declare const SingleModule: import(".store/storybook-virtual-997ab3c959/package/internal/csf").AnnotatedStoryFn<import("@storybook/react-vite").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("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react-vite").ReactRenderer, import("../ModuleRenderProps.tsx").ModuleRenderProps & import("@xylabs/react-flexbox").BusyBoxProps>;
5
- declare const ArchivistDetails: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react-vite").ReactRenderer, import("../ModuleRenderProps.tsx").ModuleRenderProps & import("@xylabs/react-flexbox").BusyBoxProps>;
6
- declare const DivinerDetails: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react-vite").ReactRenderer, import("../ModuleRenderProps.tsx").ModuleRenderProps & import("@xylabs/react-flexbox").BusyBoxProps>;
4
+ declare const NodeDetails: import(".store/storybook-virtual-997ab3c959/package/internal/csf").AnnotatedStoryFn<import("@storybook/react-vite").ReactRenderer, import("../ModuleRenderProps.tsx").ModuleRenderProps & import("@xylabs/react-flexbox").BusyBoxProps>;
5
+ declare const ArchivistDetails: import(".store/storybook-virtual-997ab3c959/package/internal/csf").AnnotatedStoryFn<import("@storybook/react-vite").ReactRenderer, import("../ModuleRenderProps.tsx").ModuleRenderProps & import("@xylabs/react-flexbox").BusyBoxProps>;
6
+ declare const DivinerDetails: import(".store/storybook-virtual-997ab3c959/package/internal/csf").AnnotatedStoryFn<import("@storybook/react-vite").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,uMAAwB,CAAA;AAsBzC,QAAA,MAAM,gBAAgB,uMAA6B,CAAA;AAsBnD,QAAA,MAAM,cAAc,uMAA2B,CAAA;AAG/C,OAAO,EACL,gBAAgB,EAAE,cAAc,EAAE,WAAW,GAC9C,CAAA;AAED,eAAe,cAAc,CAAA"}
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,yOAAwB,CAAA;AAsBzC,QAAA,MAAM,gBAAgB,yOAA6B,CAAA;AAsBnD,QAAA,MAAM,cAAc,yOAA2B,CAAA;AAG/C,OAAO,EACL,gBAAgB,EAAE,cAAc,EAAE,WAAW,GAC9C,CAAA;AAED,eAAe,cAAc,CAAA"}
@@ -1,147 +1,158 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
-
4
1
  // src/components/Card/Diviner/Card.tsx
5
2
  import { Card as Card2 } from "@mui/material";
6
- import React8 from "react";
7
3
 
8
4
  // src/components/Card/Module/Card.tsx
9
5
  import { Card } from "@mui/material";
10
- import React5 from "react";
11
6
 
12
7
  // src/components/Card/Module/CardActions.tsx
13
8
  import { CardActions, Chip } from "@mui/material";
14
9
  import { ButtonEx } from "@xylabs/react-button";
15
10
  import { FlexRow } from "@xylabs/react-flexbox";
16
- import React2, { useState } from "react";
11
+ import { useState } from "react";
17
12
 
18
13
  // src/components/Card/Module/components/DiscoverDialog.tsx
19
- import { Button, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, Divider, Paper } from "@mui/material";
14
+ import {
15
+ Button,
16
+ Dialog,
17
+ DialogActions,
18
+ DialogContent,
19
+ DialogContentText,
20
+ DialogTitle,
21
+ Divider,
22
+ Paper
23
+ } from "@mui/material";
20
24
  import { usePromise } from "@xylabs/react-promise";
21
- import React from "react";
22
- var DiscoverDialog = /* @__PURE__ */ __name(({ mod, setOpen, ...props }) => {
25
+ import { jsx, jsxs } from "react/jsx-runtime";
26
+ var DiscoverDialog = ({
27
+ mod,
28
+ setOpen,
29
+ ...props
30
+ }) => {
23
31
  const [discoverPayloads] = usePromise(async () => {
24
32
  return await mod?.state();
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");
33
+ }, [mod]);
34
+ return /* @__PURE__ */ jsxs(Dialog, { ...props, children: [
35
+ /* @__PURE__ */ jsxs(DialogTitle, { children: [
36
+ "Supported Queries for",
37
+ mod?.config.name || mod?.address
38
+ ] }),
39
+ /* @__PURE__ */ jsx(Divider, {}),
40
+ /* @__PURE__ */ jsx(DialogContent, { children: /* @__PURE__ */ jsxs(Paper, { sx: { p: 1 }, children: [
41
+ /* @__PURE__ */ jsx(DialogContentText, { children: "All modules share a set of base queries along with ones specific to the module." }),
42
+ /* @__PURE__ */ jsx("pre", { children: JSON.stringify(discoverPayloads, null, 2) })
43
+ ] }) }),
44
+ /* @__PURE__ */ jsx(DialogActions, { children: /* @__PURE__ */ jsx(Button, { onClick: () => setOpen?.(false), variant: "outlined", children: "Close" }) })
45
+ ] });
46
+ };
37
47
 
38
48
  // src/components/Card/Module/CardActions.tsx
39
- var ModuleCardActions = /* @__PURE__ */ __name(({ children, mod, sx, ...props }) => {
49
+ import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
50
+ var ModuleCardActions = ({
51
+ children,
52
+ mod,
53
+ sx,
54
+ ...props
55
+ }) => {
40
56
  const [discoverDialogOpen, setDiscoverDialogOpen] = useState(false);
41
57
  const config = mod?.config;
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");
58
+ return /* @__PURE__ */ jsxs2(
59
+ CardActions,
60
+ {
61
+ sx: {
62
+ alignItems: "stretch",
63
+ flexDirection: "column",
64
+ ml: 1,
65
+ ...sx
66
+ },
67
+ ...props,
68
+ children: [
69
+ /* @__PURE__ */ jsxs2(FlexRow, { justifyContent: "space-between", gap: 1, alignItems: "center", children: [
70
+ mod ? /* @__PURE__ */ jsx2(Chip, { label: config?.schema, size: "small" }) : null,
71
+ children,
72
+ /* @__PURE__ */ jsx2(ButtonEx, { onClick: () => setDiscoverDialogOpen(true), size: "small", variant: "outlined", children: "Discover" })
73
+ ] }),
74
+ /* @__PURE__ */ jsx2(DiscoverDialog, { fullWidth: true, maxWidth: "md", mod, open: discoverDialogOpen, setOpen: setDiscoverDialogOpen })
75
+ ]
76
+ }
77
+ );
78
+ };
69
79
 
70
80
  // src/components/Card/Module/CardContent.tsx
71
81
  import { CardContent } from "@mui/material";
72
- import React3 from "react";
73
- var ModuleCardContent = /* @__PURE__ */ __name(({ children, ...props }) => {
74
- return /* @__PURE__ */ React3.createElement(CardContent, props, children);
75
- }, "ModuleCardContent");
82
+ import { jsx as jsx3 } from "react/jsx-runtime";
83
+ var ModuleCardContent = ({ children, ...props }) => {
84
+ return /* @__PURE__ */ jsx3(CardContent, { ...props, children });
85
+ };
76
86
 
77
87
  // src/components/Card/Module/CardHeader.tsx
78
88
  import { CardHeader } from "@mui/material";
79
89
  import { findNetworkComponent } from "@xyo-network/react-shared";
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) => {
90
+ import { Fragment, jsx as jsx4 } from "react/jsx-runtime";
91
+ var moduleTypes = ["sentinel", "bridge", "archivist", "diviner", "node", "witness"];
92
+ var getModuleIcons = (moduleType, mod) => {
90
93
  return mod?.queries.find((query) => query.startsWith(`network.xyo.query.${moduleType}`)) ? findNetworkComponent(moduleType)?.icon : null;
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");
94
+ };
95
+ var ModuleCardHeader = ({
96
+ subheader,
97
+ avatar,
98
+ title,
99
+ mod,
100
+ ...props
101
+ }) => {
102
+ return /* @__PURE__ */ jsx4(
103
+ CardHeader,
104
+ {
105
+ title: title ?? mod?.config.name ?? "Module",
106
+ subheader: subheader ?? mod?.address,
107
+ avatar: avatar ?? /* @__PURE__ */ jsx4(Fragment, { children: mod ? moduleTypes.map((moduleType) => {
108
+ const Icon = getModuleIcons(moduleType, mod);
109
+ return Icon ? /* @__PURE__ */ jsx4(Icon, { fontSize: "large", color: "primary" }, moduleType) : null;
110
+ }) : null }),
111
+ ...props
112
+ }
113
+ );
114
+ };
107
115
 
108
116
  // src/components/Card/Module/Card.tsx
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");
117
+ import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
118
+ var ModuleCard = ({ mod, ...props }) => {
119
+ return /* @__PURE__ */ jsxs3(Card, { ...props, children: [
120
+ /* @__PURE__ */ jsx5(ModuleCardHeader, { mod }),
121
+ /* @__PURE__ */ jsx5(ModuleCardContent, { mod }),
122
+ /* @__PURE__ */ jsx5(ModuleCardActions, { mod })
123
+ ] });
124
+ };
118
125
 
119
126
  // src/components/Card/Diviner/CardContent.tsx
120
- import React6 from "react";
121
- var DivinerCardContent = /* @__PURE__ */ __name(({ children, ...props }) => {
122
- return /* @__PURE__ */ React6.createElement(ModuleCardContent, props, children);
123
- }, "DivinerCardContent");
127
+ import { jsx as jsx6 } from "react/jsx-runtime";
128
+ var DivinerCardContent = ({ children, ...props }) => {
129
+ return /* @__PURE__ */ jsx6(ModuleCardContent, { ...props, children });
130
+ };
124
131
 
125
132
  // src/components/Card/Diviner/CardHeader.tsx
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");
133
+ import { jsx as jsx7 } from "react/jsx-runtime";
134
+ var DivinerCardHeader = ({
135
+ title,
136
+ mod,
137
+ ...props
138
+ }) => {
139
+ return /* @__PURE__ */ jsx7(ModuleCardHeader, { mod, title: title ?? mod?.config.name ?? "Diviner", ...props });
140
+ };
134
141
 
135
142
  // src/components/Card/Diviner/Card.tsx
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");
143
+ import { jsx as jsx8, jsxs as jsxs4 } from "react/jsx-runtime";
144
+ var DivinerCard = ({
145
+ children,
146
+ mod,
147
+ ...props
148
+ }) => {
149
+ return /* @__PURE__ */ jsxs4(Card2, { ...props, children: [
150
+ /* @__PURE__ */ jsx8(DivinerCardHeader, { mod }),
151
+ /* @__PURE__ */ jsx8(DivinerCardContent, { mod }),
152
+ children,
153
+ /* @__PURE__ */ jsx8(ModuleCardActions, { mod })
154
+ ] });
155
+ };
145
156
 
146
157
  // src/components/DetailsBox.tsx
147
158
  import { EthAddressWrapper } from "@xylabs/eth-address";
@@ -149,47 +160,51 @@ import { ButtonEx as ButtonEx2 } from "@xylabs/react-button";
149
160
  import { EthAccountBox } from "@xylabs/react-crypto";
150
161
  import { FlexCol, FlexRow as FlexRow2 } from "@xylabs/react-flexbox";
151
162
  import { findNetworkComponent as findNetworkComponent2 } from "@xyo-network/react-shared";
152
- import React9, { useState as useState2 } from "react";
153
- var getModuleIcon = /* @__PURE__ */ __name((moduleType, mod) => {
163
+ import { useState as useState2 } from "react";
164
+ import { jsx as jsx9, jsxs as jsxs5 } from "react/jsx-runtime";
165
+ var getModuleIcon = (moduleType, mod) => {
154
166
  return mod?.queries.find((query) => query.startsWith(`network.xyo.query.${moduleType}`)) ? findNetworkComponent2(moduleType)?.icon() : null;
155
- }, "getModuleIcon");
156
- var ModuleDetailsBox = /* @__PURE__ */ __name(({ children, mod, ...props }) => {
167
+ };
168
+ var ModuleDetailsBox = ({
169
+ children,
170
+ mod,
171
+ ...props
172
+ }) => {
157
173
  const [showQueries, setShowQueries] = useState2(false);
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");
174
+ return /* @__PURE__ */ jsxs5(FlexCol, { ...props, children: [
175
+ /* @__PURE__ */ jsxs5(FlexRow2, { children: [
176
+ mod ? ["sentinel", "bridge", "archivist", "diviner", "node"].map((moduleType) => {
177
+ const icon = getModuleIcon(moduleType, mod);
178
+ return icon ? /* @__PURE__ */ jsx9(ButtonEx2, { onClick: () => setShowQueries(!showQueries), children: icon }, moduleType) : null;
179
+ }) : null,
180
+ /* @__PURE__ */ jsx9(EthAccountBox, { address: EthAddressWrapper.fromString(mod?.address) })
181
+ ] }),
182
+ showQueries ? mod?.queries.map((query) => {
183
+ return /* @__PURE__ */ jsx9(FlexRow2, { children: query }, query);
184
+ }) : null,
185
+ children
186
+ ] });
187
+ };
178
188
 
179
189
  // src/components/TableCell.tsx
180
190
  import { TableCell } from "@mui/material";
181
191
  import { EthAddressWrapper as EthAddressWrapper2 } from "@xylabs/eth-address";
182
192
  import { EthAccountBox as EthAccountBox2 } from "@xylabs/react-crypto";
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");
193
+ import { jsx as jsx10, jsxs as jsxs6 } from "react/jsx-runtime";
194
+ var ModuleTableCell = ({
195
+ children,
196
+ mod,
197
+ ...props
198
+ }) => {
199
+ return /* @__PURE__ */ jsxs6(TableCell, { ...props, children: [
200
+ /* @__PURE__ */ jsx10(EthAccountBox2, { address: EthAddressWrapper2.fromString(mod?.address) }),
201
+ children
202
+ ] });
203
+ };
189
204
 
190
205
  // src/hooks/useRefresh.tsx
191
206
  import { useState as useState3 } from "react";
192
- var useRefresh = /* @__PURE__ */ __name(() => {
207
+ var useRefresh = () => {
193
208
  const [count, setCount] = useState3(1);
194
209
  return [
195
210
  count,
@@ -200,7 +215,7 @@ var useRefresh = /* @__PURE__ */ __name(() => {
200
215
  },
201
216
  () => setCount(0)
202
217
  ];
203
- }, "useRefresh");
218
+ };
204
219
  export {
205
220
  DivinerCard,
206
221
  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","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"]}
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"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/react-module",
3
- "version": "7.0.0",
3
+ "version": "7.0.1",
4
4
  "description": "Common React library for all XYO projects that use React",
5
5
  "keywords": [
6
6
  "xyo",
@@ -43,39 +43,42 @@
43
43
  "src"
44
44
  ],
45
45
  "dependencies": {
46
- "@xylabs/eth-address": "^5.0.0",
47
- "@xylabs/react-button": "^7.0.0",
48
- "@xylabs/react-crypto": "^7.0.0",
49
- "@xylabs/react-flexbox": "^7.0.0",
50
- "@xylabs/react-promise": "^7.0.0",
51
- "@xyo-network/diviner-model": "^5.0.0",
52
- "@xyo-network/module-model": "^5.0.0",
53
- "@xyo-network/react-shared": "^7.0.0"
46
+ "@xylabs/eth-address": "~5.0.8",
47
+ "@xylabs/react-button": "~7.0.1",
48
+ "@xylabs/react-crypto": "~7.0.1",
49
+ "@xylabs/react-flexbox": "~7.0.1",
50
+ "@xylabs/react-promise": "~7.0.1",
51
+ "@xyo-network/diviner-model": "~5.0.5",
52
+ "@xyo-network/module-model": "~5.0.5",
53
+ "@xyo-network/react-shared": "^7.0.1"
54
54
  },
55
55
  "devDependencies": {
56
- "@mui/icons-material": "^7.2.0",
57
- "@mui/material": "^7.2.0",
58
- "@storybook/react-vite": "^9.0.18",
59
- "@types/react": "^19.1.9",
60
- "@xylabs/hex": "^5.0.0",
61
- "@xylabs/react-async-effect": "^7.0.0",
62
- "@xylabs/ts-scripts-yarn3": "^7.0.2",
63
- "@xylabs/tsconfig-react": "^7.0.2",
64
- "@xyo-network/archivist": "^5.0.0",
65
- "@xyo-network/archivist-memory": "^5.0.0",
66
- "@xyo-network/crypto-asset-plugin": "^5.0.0",
67
- "@xyo-network/diviner-address-history": "^5.0.0",
68
- "@xyo-network/node-memory": "^5.0.0",
69
- "react": "^19.1.1",
70
- "react-dom": "^19.1.1",
71
- "storybook": "^9.0.18",
72
- "typescript": "^5.8.3"
56
+ "@mui/icons-material": "~7.3.1",
57
+ "@mui/material": "~7.3.1",
58
+ "@storybook/react-vite": "~9.1.2",
59
+ "@types/react": "~19.1.10",
60
+ "@xylabs/hex": "~5.0.8",
61
+ "@xylabs/react-async-effect": "~7.0.1",
62
+ "@xylabs/ts-scripts-yarn3": "~7.1.1",
63
+ "@xylabs/tsconfig": "~7.1.1",
64
+ "@xylabs/tsconfig-dom": "~7.1.1",
65
+ "@xylabs/tsconfig-react": "~7.1.1",
66
+ "@xyo-network/archivist": "~5.0.5",
67
+ "@xyo-network/archivist-memory": "~5.0.5",
68
+ "@xyo-network/crypto-asset-plugin": "~5.0.1",
69
+ "@xyo-network/diviner-address-history": "~5.0.5",
70
+ "@xyo-network/node-memory": "~5.0.5",
71
+ "react": "~19.1.1",
72
+ "react-dom": "~19.1.1",
73
+ "storybook": "~9.1.2",
74
+ "typescript": "~5.9.2",
75
+ "vite": "~7.1.2"
73
76
  },
74
77
  "peerDependencies": {
75
78
  "@mui/icons-material": ">=6 <8",
76
79
  "@mui/material": ">=6 <8",
77
- "react": "^19",
78
- "react-dom": "^19"
80
+ "react": "~19",
81
+ "react-dom": "~19"
79
82
  },
80
83
  "publishConfig": {
81
84
  "access": "public"