@xyo-network/react-powered-by-xyo 2.64.9 → 2.64.10
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/index.cjs +2 -2
- package/dist/browser/index.js +2 -2
- package/dist/docs.json +54748 -41740
- package/dist/node/index.cjs +2 -2
- package/dist/node/index.js +2 -2
- package/package.json +20 -20
- package/dist/browser/components/ArchivistSummary.cjs +0 -61
- package/dist/browser/components/ArchivistSummary.cjs.map +0 -1
- package/dist/browser/components/ArchivistSummary.js +0 -40
- package/dist/browser/components/ArchivistSummary.js.map +0 -1
- package/dist/browser/components/BridgeSummary.cjs +0 -61
- package/dist/browser/components/BridgeSummary.cjs.map +0 -1
- package/dist/browser/components/BridgeSummary.js +0 -40
- package/dist/browser/components/BridgeSummary.js.map +0 -1
- package/dist/browser/components/DebugDialog.cjs +0 -244
- package/dist/browser/components/DebugDialog.cjs.map +0 -1
- package/dist/browser/components/DebugDialog.js +0 -213
- package/dist/browser/components/DebugDialog.js.map +0 -1
- package/dist/browser/components/DivinerSummary.cjs +0 -61
- package/dist/browser/components/DivinerSummary.cjs.map +0 -1
- package/dist/browser/components/DivinerSummary.js +0 -40
- package/dist/browser/components/DivinerSummary.js.map +0 -1
- package/dist/browser/components/JsonViewerButton.cjs +0 -52
- package/dist/browser/components/JsonViewerButton.cjs.map +0 -1
- package/dist/browser/components/JsonViewerButton.js +0 -21
- package/dist/browser/components/JsonViewerButton.js.map +0 -1
- package/dist/browser/components/ModuleAccordion.cjs +0 -219
- package/dist/browser/components/ModuleAccordion.cjs.map +0 -1
- package/dist/browser/components/ModuleAccordion.js +0 -188
- package/dist/browser/components/ModuleAccordion.js.map +0 -1
- package/dist/browser/components/ModuleDetails.cjs +0 -92
- package/dist/browser/components/ModuleDetails.cjs.map +0 -1
- package/dist/browser/components/ModuleDetails.js +0 -61
- package/dist/browser/components/ModuleDetails.js.map +0 -1
- package/dist/browser/components/ModuleSummary.cjs +0 -52
- package/dist/browser/components/ModuleSummary.cjs.map +0 -1
- package/dist/browser/components/ModuleSummary.js +0 -31
- package/dist/browser/components/ModuleSummary.js.map +0 -1
- package/dist/browser/components/NodeDetails.cjs +0 -231
- package/dist/browser/components/NodeDetails.cjs.map +0 -1
- package/dist/browser/components/NodeDetails.js +0 -200
- package/dist/browser/components/NodeDetails.js.map +0 -1
- package/dist/browser/components/NodeSummary.cjs +0 -71
- package/dist/browser/components/NodeSummary.cjs.map +0 -1
- package/dist/browser/components/NodeSummary.js +0 -50
- package/dist/browser/components/NodeSummary.js.map +0 -1
- package/dist/browser/components/PoweredByXyo.cjs +0 -405
- package/dist/browser/components/PoweredByXyo.cjs.map +0 -1
- package/dist/browser/components/PoweredByXyo.js +0 -374
- package/dist/browser/components/PoweredByXyo.js.map +0 -1
- package/dist/browser/components/PoweredByXyoButton.cjs +0 -101
- package/dist/browser/components/PoweredByXyoButton.cjs.map +0 -1
- package/dist/browser/components/PoweredByXyoButton.js +0 -70
- package/dist/browser/components/PoweredByXyoButton.js.map +0 -1
- package/dist/browser/components/SentinelSummary.cjs +0 -61
- package/dist/browser/components/SentinelSummary.cjs.map +0 -1
- package/dist/browser/components/SentinelSummary.js +0 -40
- package/dist/browser/components/SentinelSummary.js.map +0 -1
- package/dist/browser/components/TypedModuleSummary.cjs +0 -138
- package/dist/browser/components/TypedModuleSummary.cjs.map +0 -1
- package/dist/browser/components/TypedModuleSummary.js +0 -117
- package/dist/browser/components/TypedModuleSummary.js.map +0 -1
- package/dist/browser/components/WitnessSummary.cjs +0 -61
- package/dist/browser/components/WitnessSummary.cjs.map +0 -1
- package/dist/browser/components/WitnessSummary.js +0 -40
- package/dist/browser/components/WitnessSummary.js.map +0 -1
- package/dist/browser/components/XyoBusy.cjs +0 -72
- package/dist/browser/components/XyoBusy.cjs.map +0 -1
- package/dist/browser/components/XyoBusy.js +0 -41
- package/dist/browser/components/XyoBusy.js.map +0 -1
- package/dist/browser/components/index.cjs +0 -420
- package/dist/browser/components/index.cjs.map +0 -1
- package/dist/browser/components/index.js +0 -387
- package/dist/browser/components/index.js.map +0 -1
- package/dist/browser/components/stories/simple-node-inline-manifest.cjs +0 -57
- package/dist/browser/components/stories/simple-node-inline-manifest.cjs.map +0 -1
- package/dist/browser/components/stories/simple-node-inline-manifest.js +0 -63
- package/dist/browser/components/stories/simple-node-inline-manifest.js.map +0 -1
- package/dist/browser/img/index.cjs +0 -39
- package/dist/browser/img/index.cjs.map +0 -1
- package/dist/browser/img/index.js +0 -8
- package/dist/browser/img/index.js.map +0 -1
- package/dist/browser/types/images.d.cjs +0 -2
- package/dist/browser/types/images.d.cjs.map +0 -1
- package/dist/browser/types/images.d.js +0 -1
- package/dist/browser/types/images.d.js.map +0 -1
- package/dist/node/components/ArchivistSummary.cjs +0 -66
- package/dist/node/components/ArchivistSummary.cjs.map +0 -1
- package/dist/node/components/ArchivistSummary.js +0 -41
- package/dist/node/components/ArchivistSummary.js.map +0 -1
- package/dist/node/components/BridgeSummary.cjs +0 -66
- package/dist/node/components/BridgeSummary.cjs.map +0 -1
- package/dist/node/components/BridgeSummary.js +0 -41
- package/dist/node/components/BridgeSummary.js.map +0 -1
- package/dist/node/components/DebugDialog.cjs +0 -250
- package/dist/node/components/DebugDialog.cjs.map +0 -1
- package/dist/node/components/DebugDialog.js +0 -215
- package/dist/node/components/DebugDialog.js.map +0 -1
- package/dist/node/components/DivinerSummary.cjs +0 -66
- package/dist/node/components/DivinerSummary.cjs.map +0 -1
- package/dist/node/components/DivinerSummary.js +0 -41
- package/dist/node/components/DivinerSummary.js.map +0 -1
- package/dist/node/components/JsonViewerButton.cjs +0 -56
- package/dist/node/components/JsonViewerButton.cjs.map +0 -1
- package/dist/node/components/JsonViewerButton.js +0 -21
- package/dist/node/components/JsonViewerButton.js.map +0 -1
- package/dist/node/components/ModuleAccordion.cjs +0 -225
- package/dist/node/components/ModuleAccordion.cjs.map +0 -1
- package/dist/node/components/ModuleAccordion.js +0 -190
- package/dist/node/components/ModuleAccordion.js.map +0 -1
- package/dist/node/components/ModuleDetails.cjs +0 -96
- package/dist/node/components/ModuleDetails.cjs.map +0 -1
- package/dist/node/components/ModuleDetails.js +0 -61
- package/dist/node/components/ModuleDetails.js.map +0 -1
- package/dist/node/components/ModuleSummary.cjs +0 -57
- package/dist/node/components/ModuleSummary.cjs.map +0 -1
- package/dist/node/components/ModuleSummary.js +0 -32
- package/dist/node/components/ModuleSummary.js.map +0 -1
- package/dist/node/components/NodeDetails.cjs +0 -237
- package/dist/node/components/NodeDetails.cjs.map +0 -1
- package/dist/node/components/NodeDetails.js +0 -202
- package/dist/node/components/NodeDetails.js.map +0 -1
- package/dist/node/components/NodeSummary.cjs +0 -77
- package/dist/node/components/NodeSummary.cjs.map +0 -1
- package/dist/node/components/NodeSummary.js +0 -52
- package/dist/node/components/NodeSummary.js.map +0 -1
- package/dist/node/components/PoweredByXyo.cjs +0 -411
- package/dist/node/components/PoweredByXyo.cjs.map +0 -1
- package/dist/node/components/PoweredByXyo.js +0 -376
- package/dist/node/components/PoweredByXyo.js.map +0 -1
- package/dist/node/components/PoweredByXyoButton.cjs +0 -105
- package/dist/node/components/PoweredByXyoButton.cjs.map +0 -1
- package/dist/node/components/PoweredByXyoButton.js +0 -70
- package/dist/node/components/PoweredByXyoButton.js.map +0 -1
- package/dist/node/components/SentinelSummary.cjs +0 -66
- package/dist/node/components/SentinelSummary.cjs.map +0 -1
- package/dist/node/components/SentinelSummary.js +0 -41
- package/dist/node/components/SentinelSummary.js.map +0 -1
- package/dist/node/components/TypedModuleSummary.cjs +0 -144
- package/dist/node/components/TypedModuleSummary.cjs.map +0 -1
- package/dist/node/components/TypedModuleSummary.js +0 -119
- package/dist/node/components/TypedModuleSummary.js.map +0 -1
- package/dist/node/components/WitnessSummary.cjs +0 -66
- package/dist/node/components/WitnessSummary.cjs.map +0 -1
- package/dist/node/components/WitnessSummary.js +0 -41
- package/dist/node/components/WitnessSummary.js.map +0 -1
- package/dist/node/components/XyoBusy.cjs +0 -76
- package/dist/node/components/XyoBusy.cjs.map +0 -1
- package/dist/node/components/XyoBusy.js +0 -41
- package/dist/node/components/XyoBusy.js.map +0 -1
- package/dist/node/components/index.cjs +0 -439
- package/dist/node/components/index.cjs.map +0 -1
- package/dist/node/components/index.js +0 -389
- package/dist/node/components/index.js.map +0 -1
- package/dist/node/components/stories/simple-node-inline-manifest.cjs +0 -63
- package/dist/node/components/stories/simple-node-inline-manifest.cjs.map +0 -1
- package/dist/node/components/stories/simple-node-inline-manifest.js +0 -63
- package/dist/node/components/stories/simple-node-inline-manifest.js.map +0 -1
- package/dist/node/img/index.cjs +0 -44
- package/dist/node/img/index.cjs.map +0 -1
- package/dist/node/img/index.js +0 -8
- package/dist/node/img/index.js.map +0 -1
- package/dist/node/types/images.d.cjs +0 -2
- package/dist/node/types/images.d.cjs.map +0 -1
- package/dist/node/types/images.d.js +0 -1
- package/dist/node/types/images.d.js.map +0 -1
- /package/dist/browser/{img/xyo-color-logo.svg → xyo-color-logo-LHR2SMEM.svg} +0 -0
- /package/dist/browser/{img/xyo-color-logo-text-only.svg → xyo-color-logo-text-only-QPAW5BSQ.svg} +0 -0
- /package/dist/node/{img/xyo-color-logo.svg → xyo-color-logo-LHR2SMEM.svg} +0 -0
- /package/dist/node/{img/xyo-color-logo-text-only.svg → xyo-color-logo-text-only-QPAW5BSQ.svg} +0 -0
|
@@ -1,200 +0,0 @@
|
|
|
1
|
-
// src/components/NodeDetails.tsx
|
|
2
|
-
import { FlexCol as FlexCol3 } from "@xylabs/react-flexbox";
|
|
3
|
-
import { useModulesFromNode as useModulesFromNode3, useProvidedNode } from "@xyo-network/react-node";
|
|
4
|
-
|
|
5
|
-
// src/components/ModuleAccordion.tsx
|
|
6
|
-
import { ExpandMore as ExpandMoreIcon } from "@mui/icons-material";
|
|
7
|
-
import { Accordion, AccordionDetails, AccordionSummary } from "@mui/material";
|
|
8
|
-
|
|
9
|
-
// src/components/ModuleDetails.tsx
|
|
10
|
-
import { ButtonGroup } from "@mui/material";
|
|
11
|
-
import { ButtonEx as ButtonEx2 } from "@xylabs/react-button";
|
|
12
|
-
import { FlexCol, FlexRow } from "@xylabs/react-flexbox";
|
|
13
|
-
import { usePromise } from "@xylabs/react-promise";
|
|
14
|
-
import { Property } from "@xyo-network/react-property";
|
|
15
|
-
|
|
16
|
-
// src/components/JsonViewerButton.tsx
|
|
17
|
-
import { Dialog, DialogActions, DialogContent, DialogTitle } from "@mui/material";
|
|
18
|
-
import { ButtonEx } from "@xylabs/react-button";
|
|
19
|
-
import { useState } from "react";
|
|
20
|
-
import JsonView from "react-json-view";
|
|
21
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
22
|
-
var JsonViewerButton = ({ children, jsonViewProps, src, title, ...props }) => {
|
|
23
|
-
const [open, setOpen] = useState(false);
|
|
24
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
25
|
-
/* @__PURE__ */ jsx(ButtonEx, { onClick: () => setOpen(!open), ...props, children: children ?? "JSON" }),
|
|
26
|
-
/* @__PURE__ */ jsxs(Dialog, { open, onClose: () => setOpen(false), children: [
|
|
27
|
-
title ? /* @__PURE__ */ jsx(DialogTitle, { children: title }) : null,
|
|
28
|
-
/* @__PURE__ */ jsx(DialogContent, { children: /* @__PURE__ */ jsx(JsonView, { src, ...jsonViewProps }) }),
|
|
29
|
-
/* @__PURE__ */ jsx(DialogActions, { children: /* @__PURE__ */ jsx(ButtonEx, { onClick: () => setOpen(false), children: "Close" }) })
|
|
30
|
-
] })
|
|
31
|
-
] });
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
// src/components/ModuleDetails.tsx
|
|
35
|
-
import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
36
|
-
var ModuleDetails = ({ module, ...props }) => {
|
|
37
|
-
const [manifest] = usePromise(async () => {
|
|
38
|
-
return await module?.manifest();
|
|
39
|
-
}, [module]);
|
|
40
|
-
const [discover] = usePromise(async () => {
|
|
41
|
-
return await module?.discover();
|
|
42
|
-
}, [module]);
|
|
43
|
-
const [describe] = usePromise(async () => {
|
|
44
|
-
return await module?.describe();
|
|
45
|
-
}, [module]);
|
|
46
|
-
const queries = module?.queries;
|
|
47
|
-
const config = module?.config;
|
|
48
|
-
return /* @__PURE__ */ jsxs2(FlexCol, { alignItems: "stretch", ...props, children: [
|
|
49
|
-
/* @__PURE__ */ jsx2(Property, { title: "Address", value: module?.address }),
|
|
50
|
-
/* @__PURE__ */ jsxs2(FlexRow, { gap: 1, justifyContent: "space-between", children: [
|
|
51
|
-
/* @__PURE__ */ jsxs2(ButtonGroup, { children: [
|
|
52
|
-
manifest ? /* @__PURE__ */ jsx2(JsonViewerButton, { variant: "contained", src: manifest, children: "Manifest" }) : null,
|
|
53
|
-
config ? /* @__PURE__ */ jsx2(JsonViewerButton, { variant: "contained", src: config, children: "Config" }) : null,
|
|
54
|
-
discover ? /* @__PURE__ */ jsx2(JsonViewerButton, { variant: "contained", src: discover, children: "Discover" }) : null,
|
|
55
|
-
describe ? /* @__PURE__ */ jsx2(JsonViewerButton, { variant: "contained", src: describe, children: "Describe" }) : null,
|
|
56
|
-
queries ? /* @__PURE__ */ jsx2(JsonViewerButton, { variant: "contained", src: queries, children: "Queries" }) : null
|
|
57
|
-
] }),
|
|
58
|
-
/* @__PURE__ */ jsxs2(ButtonGroup, { children: [
|
|
59
|
-
/* @__PURE__ */ jsx2(ButtonEx2, { target: "_blank", href: `https://explore.xyo.network/block?network=main&address=${module?.address}`, variant: "outlined", children: "Main" }),
|
|
60
|
-
/* @__PURE__ */ jsx2(ButtonEx2, { target: "_blank", href: `https://beta.explore.xyo.network/block?network=kerplunk&address=${module?.address}`, variant: "outlined", children: "Kerplunk" }),
|
|
61
|
-
/* @__PURE__ */ jsx2(ButtonEx2, { target: "_blank", href: `https://beta.explore.xyo.network/block?network=local&address=${module?.address}`, variant: "outlined", children: "Local" })
|
|
62
|
-
] })
|
|
63
|
-
] })
|
|
64
|
-
] });
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
// src/components/TypedModuleSummary.tsx
|
|
68
|
-
import { isArchivistInstance } from "@xyo-network/archivist-model";
|
|
69
|
-
import { isBridgeInstance } from "@xyo-network/bridge-model";
|
|
70
|
-
import { isDivinerInstance } from "@xyo-network/diviner-model";
|
|
71
|
-
import { isNodeInstance } from "@xyo-network/node-model";
|
|
72
|
-
import { isSentinelInstance } from "@xyo-network/sentinel";
|
|
73
|
-
import { isWitnessInstance } from "@xyo-network/witness-model";
|
|
74
|
-
|
|
75
|
-
// src/components/ArchivistSummary.tsx
|
|
76
|
-
import { Inventory2Rounded as Inventory2RoundedIcon } from "@mui/icons-material";
|
|
77
|
-
|
|
78
|
-
// src/components/ModuleSummary.tsx
|
|
79
|
-
import { Extension as ExtensionIcon } from "@mui/icons-material";
|
|
80
|
-
import { delay } from "@xylabs/delay";
|
|
81
|
-
import { FlexCol as FlexCol2, FlexRow as FlexRow2 } from "@xylabs/react-flexbox";
|
|
82
|
-
import { useModulesFromNode } from "@xyo-network/react-node";
|
|
83
|
-
import { TypographyEx } from "@xyo-network/react-shared";
|
|
84
|
-
import { useState as useState2 } from "react";
|
|
85
|
-
import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
86
|
-
var ModuleSummary = ({ children, icon, module, ...props }) => {
|
|
87
|
-
const [downModules] = useModulesFromNode(void 0, { direction: "down" });
|
|
88
|
-
const [upModules] = useModulesFromNode(void 0, { direction: "up" });
|
|
89
|
-
const [busy, setBusy] = useState2(false);
|
|
90
|
-
const downModulesFromResolve = downModules?.length;
|
|
91
|
-
const upModulesFromResolve = upModules?.length;
|
|
92
|
-
module?.on("moduleBusy", async ({ busy: busy2 }) => {
|
|
93
|
-
setBusy(busy2);
|
|
94
|
-
await delay(2e3);
|
|
95
|
-
setBusy(false);
|
|
96
|
-
});
|
|
97
|
-
return /* @__PURE__ */ jsx3(FlexCol2, { alignItems: "stretch", width: "100%", ...props, children: /* @__PURE__ */ jsxs3(FlexRow2, { justifyContent: "flex-start", children: [
|
|
98
|
-
/* @__PURE__ */ jsxs3(FlexRow2, { children: [
|
|
99
|
-
/* @__PURE__ */ jsx3(TypographyEx, { color: busy ? "gray" : void 0, children: icon ?? /* @__PURE__ */ jsx3(ExtensionIcon, {}) }),
|
|
100
|
-
/* @__PURE__ */ jsx3(TypographyEx, { marginX: 1, children: module?.config?.name ?? "<Unknown>" })
|
|
101
|
-
] }),
|
|
102
|
-
children ?? (downModulesFromResolve !== void 0 && upModulesFromResolve !== void 0) ? `[${downModulesFromResolve}\u2193/${upModulesFromResolve}\u2191]` : null
|
|
103
|
-
] }) });
|
|
104
|
-
};
|
|
105
|
-
|
|
106
|
-
// src/components/ArchivistSummary.tsx
|
|
107
|
-
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
108
|
-
var ArchivistSummary = ({ module, ...props }) => {
|
|
109
|
-
return /* @__PURE__ */ jsx4(ModuleSummary, { module, icon: /* @__PURE__ */ jsx4(Inventory2RoundedIcon, {}), ...props });
|
|
110
|
-
};
|
|
111
|
-
|
|
112
|
-
// src/components/BridgeSummary.tsx
|
|
113
|
-
import { InsertLinkRounded as InsertLinkRoundedIcon } from "@mui/icons-material";
|
|
114
|
-
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
115
|
-
var BridgeSummary = ({ module, ...props }) => {
|
|
116
|
-
return /* @__PURE__ */ jsx5(ModuleSummary, { module, icon: /* @__PURE__ */ jsx5(InsertLinkRoundedIcon, {}), ...props });
|
|
117
|
-
};
|
|
118
|
-
|
|
119
|
-
// src/components/DivinerSummary.tsx
|
|
120
|
-
import { BubbleChartRounded as BubbleChartRoundedIcon } from "@mui/icons-material";
|
|
121
|
-
import { jsx as jsx6 } from "react/jsx-runtime";
|
|
122
|
-
var DivinerSummary = ({ module, ...props }) => {
|
|
123
|
-
return /* @__PURE__ */ jsx6(ModuleSummary, { module, icon: /* @__PURE__ */ jsx6(BubbleChartRoundedIcon, {}), ...props });
|
|
124
|
-
};
|
|
125
|
-
|
|
126
|
-
// src/components/NodeSummary.tsx
|
|
127
|
-
import { HubRounded as HubRoundedIcon } from "@mui/icons-material";
|
|
128
|
-
import { usePromise as usePromise2 } from "@xylabs/react-promise";
|
|
129
|
-
import { useModulesFromNode as useModulesFromNode2 } from "@xyo-network/react-node";
|
|
130
|
-
import { jsx as jsx7 } from "react/jsx-runtime";
|
|
131
|
-
var NodeSummary = ({ module, ...props }) => {
|
|
132
|
-
const [manifest] = usePromise2(async () => {
|
|
133
|
-
return await module?.manifest();
|
|
134
|
-
}, [module]);
|
|
135
|
-
const [downModules] = useModulesFromNode2(void 0, { direction: "down" });
|
|
136
|
-
const [upModules] = useModulesFromNode2(void 0, { direction: "up" });
|
|
137
|
-
const downModulesFromResolve = downModules?.length;
|
|
138
|
-
const upModulesFromResolve = upModules?.length;
|
|
139
|
-
const manifestPublicModules = manifest?.modules?.public?.length;
|
|
140
|
-
return /* @__PURE__ */ jsx7(ModuleSummary, { module, icon: /* @__PURE__ */ jsx7(HubRoundedIcon, {}), ...props, children: manifestPublicModules !== void 0 && downModulesFromResolve !== void 0 && upModulesFromResolve !== void 0 ? `[${manifestPublicModules}m/${downModulesFromResolve}\u2193/${upModulesFromResolve}\u2191]` : null });
|
|
141
|
-
};
|
|
142
|
-
|
|
143
|
-
// src/components/SentinelSummary.tsx
|
|
144
|
-
import { TimerRounded as TimerRoundedIcon } from "@mui/icons-material";
|
|
145
|
-
import { jsx as jsx8 } from "react/jsx-runtime";
|
|
146
|
-
var SentinelSummary = ({ module, ...props }) => {
|
|
147
|
-
return /* @__PURE__ */ jsx8(ModuleSummary, { module, icon: /* @__PURE__ */ jsx8(TimerRoundedIcon, {}), ...props });
|
|
148
|
-
};
|
|
149
|
-
|
|
150
|
-
// src/components/WitnessSummary.tsx
|
|
151
|
-
import { VisibilityRounded as VisibilityRoundedIcon } from "@mui/icons-material";
|
|
152
|
-
import { jsx as jsx9 } from "react/jsx-runtime";
|
|
153
|
-
var WitnessSummary = ({ module, ...props }) => {
|
|
154
|
-
return /* @__PURE__ */ jsx9(ModuleSummary, { module, icon: /* @__PURE__ */ jsx9(VisibilityRoundedIcon, {}), ...props });
|
|
155
|
-
};
|
|
156
|
-
|
|
157
|
-
// src/components/TypedModuleSummary.tsx
|
|
158
|
-
import { jsx as jsx10 } from "react/jsx-runtime";
|
|
159
|
-
var TypedModuleSummary = ({ module, ...props }) => {
|
|
160
|
-
if (isArchivistInstance(module)) {
|
|
161
|
-
return /* @__PURE__ */ jsx10(ArchivistSummary, { module, ...props });
|
|
162
|
-
}
|
|
163
|
-
if (isDivinerInstance(module)) {
|
|
164
|
-
return /* @__PURE__ */ jsx10(DivinerSummary, { module, ...props });
|
|
165
|
-
}
|
|
166
|
-
if (isNodeInstance(module)) {
|
|
167
|
-
return /* @__PURE__ */ jsx10(NodeSummary, { module, ...props });
|
|
168
|
-
}
|
|
169
|
-
if (isWitnessInstance(module)) {
|
|
170
|
-
return /* @__PURE__ */ jsx10(WitnessSummary, { module, ...props });
|
|
171
|
-
}
|
|
172
|
-
if (isBridgeInstance(module)) {
|
|
173
|
-
return /* @__PURE__ */ jsx10(BridgeSummary, { module, ...props });
|
|
174
|
-
}
|
|
175
|
-
if (isSentinelInstance(module)) {
|
|
176
|
-
return /* @__PURE__ */ jsx10(SentinelSummary, { module, ...props });
|
|
177
|
-
}
|
|
178
|
-
return /* @__PURE__ */ jsx10(ModuleSummary, { module, ...props });
|
|
179
|
-
};
|
|
180
|
-
|
|
181
|
-
// src/components/ModuleAccordion.tsx
|
|
182
|
-
import { jsx as jsx11, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
183
|
-
var ModuleAccordion = ({ module, ...props }) => {
|
|
184
|
-
return /* @__PURE__ */ jsxs4(Accordion, { ...props, children: [
|
|
185
|
-
/* @__PURE__ */ jsx11(AccordionSummary, { expandIcon: /* @__PURE__ */ jsx11(ExpandMoreIcon, {}), children: /* @__PURE__ */ jsx11(TypedModuleSummary, { module }) }),
|
|
186
|
-
/* @__PURE__ */ jsx11(AccordionDetails, { children: /* @__PURE__ */ jsx11(ModuleDetails, { module }) })
|
|
187
|
-
] });
|
|
188
|
-
};
|
|
189
|
-
|
|
190
|
-
// src/components/NodeDetails.tsx
|
|
191
|
-
import { Fragment as Fragment2, jsx as jsx12 } from "react/jsx-runtime";
|
|
192
|
-
var NodeDetails = ({ module, ...props }) => {
|
|
193
|
-
const [node = module] = useProvidedNode();
|
|
194
|
-
const [children] = useModulesFromNode3(void 0, { node: node ?? void 0 });
|
|
195
|
-
return /* @__PURE__ */ jsx12(FlexCol3, { alignItems: "stretch", ...props, children: children ? /* @__PURE__ */ jsx12(Fragment2, { children: /* @__PURE__ */ jsx12(FlexCol3, { alignItems: "stretch", marginY: 1, children: children?.map((child) => /* @__PURE__ */ jsx12(ModuleAccordion, { module: child }, child.address)) }) }) : null });
|
|
196
|
-
};
|
|
197
|
-
export {
|
|
198
|
-
NodeDetails
|
|
199
|
-
};
|
|
200
|
-
//# sourceMappingURL=NodeDetails.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/NodeDetails.tsx","../../../src/components/ModuleAccordion.tsx","../../../src/components/ModuleDetails.tsx","../../../src/components/JsonViewerButton.tsx","../../../src/components/TypedModuleSummary.tsx","../../../src/components/ArchivistSummary.tsx","../../../src/components/ModuleSummary.tsx","../../../src/components/BridgeSummary.tsx","../../../src/components/DivinerSummary.tsx","../../../src/components/NodeSummary.tsx","../../../src/components/SentinelSummary.tsx","../../../src/components/WitnessSummary.tsx"],"sourcesContent":["import { FlexCol } from '@xylabs/react-flexbox'\nimport { NodeInstance } from '@xyo-network/node-model'\nimport { useModulesFromNode, useProvidedNode } from '@xyo-network/react-node'\n\nimport { ModuleAccordion } from './ModuleAccordion'\nimport { ModuleDetailsProps } from './ModuleDetails'\n\nexport interface NodeViewerProps extends ModuleDetailsProps<NodeInstance> {}\n\nexport const NodeDetails: React.FC<NodeViewerProps> = ({ module, ...props }) => {\n const [node = module] = useProvidedNode()\n\n const [children] = useModulesFromNode(undefined, { node: node ?? undefined })\n\n return (\n <FlexCol alignItems=\"stretch\" {...props}>\n {children ? (\n <>\n <FlexCol alignItems=\"stretch\" marginY={1}>\n {children?.map((child) => <ModuleAccordion key={child.address} module={child} />)}\n </FlexCol>\n </>\n ) : null}\n </FlexCol>\n )\n}\n","import { ExpandMore as ExpandMoreIcon } from '@mui/icons-material'\nimport { ModuleInstance } from '@xyo-network/module-model'\n\nexport interface ModuleAccordionProps<T extends ModuleInstance = ModuleInstance> extends Omit<AccordionProps, 'children'> {\n module?: T\n}\n\nimport { Accordion, AccordionDetails, AccordionProps, AccordionSummary } from '@mui/material'\n\nimport { ModuleDetails } from './ModuleDetails'\nimport { TypedModuleSummary } from './TypedModuleSummary'\n\nexport const ModuleAccordion: React.FC<ModuleAccordionProps> = ({ module, ...props }) => {\n return (\n <Accordion {...props}>\n <AccordionSummary expandIcon={<ExpandMoreIcon />}>\n <TypedModuleSummary module={module} />\n </AccordionSummary>\n <AccordionDetails>\n <ModuleDetails module={module} />\n </AccordionDetails>\n </Accordion>\n )\n}\n","import { ButtonGroup } from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { FlexBoxProps, FlexCol, FlexRow } from '@xylabs/react-flexbox'\nimport { usePromise } from '@xylabs/react-promise'\nimport { ModuleInstance } from '@xyo-network/module-model'\nimport { Property } from '@xyo-network/react-property'\n\nimport { JsonViewerButton } from './JsonViewerButton'\n\nexport interface ModuleDetailsProps<T extends ModuleInstance = ModuleInstance> extends FlexBoxProps {\n module?: T\n}\n\nexport const ModuleDetails: React.FC<ModuleDetailsProps> = ({ module, ...props }) => {\n const [manifest] = usePromise(async () => {\n return await module?.manifest()\n }, [module])\n\n const [discover] = usePromise(async () => {\n return await module?.discover()\n }, [module])\n\n const [describe] = usePromise(async () => {\n return await module?.describe()\n }, [module])\n\n const queries = module?.queries\n\n const config = module?.config\n\n return (\n <FlexCol alignItems=\"stretch\" {...props}>\n <Property title=\"Address\" value={module?.address} />\n\n <FlexRow gap={1} justifyContent=\"space-between\">\n <ButtonGroup>\n {manifest ? (\n <JsonViewerButton variant=\"contained\" src={manifest}>\n Manifest\n </JsonViewerButton>\n ) : null}\n {config ? (\n <JsonViewerButton variant=\"contained\" src={config}>\n Config\n </JsonViewerButton>\n ) : null}\n {discover ? (\n <JsonViewerButton variant=\"contained\" src={discover}>\n Discover\n </JsonViewerButton>\n ) : null}\n {describe ? (\n <JsonViewerButton variant=\"contained\" src={describe}>\n Describe\n </JsonViewerButton>\n ) : null}\n {queries ? (\n <JsonViewerButton variant=\"contained\" src={queries}>\n Queries\n </JsonViewerButton>\n ) : null}\n </ButtonGroup>\n <ButtonGroup>\n <ButtonEx target=\"_blank\" href={`https://explore.xyo.network/block?network=main&address=${module?.address}`} variant=\"outlined\">\n Main\n </ButtonEx>\n <ButtonEx target=\"_blank\" href={`https://beta.explore.xyo.network/block?network=kerplunk&address=${module?.address}`} variant=\"outlined\">\n Kerplunk\n </ButtonEx>\n <ButtonEx target=\"_blank\" href={`https://beta.explore.xyo.network/block?network=local&address=${module?.address}`} variant=\"outlined\">\n Local\n </ButtonEx>\n </ButtonGroup>\n </FlexRow>\n </FlexCol>\n )\n}\n","import { Dialog, DialogActions, DialogContent, DialogTitle } from '@mui/material'\nimport { ButtonEx, ButtonExProps } from '@xylabs/react-button'\nimport { useState } from 'react'\nimport JsonView, { ReactJsonViewProps } from 'react-json-view'\n\nexport interface JsonViewerButtonProps extends ButtonExProps {\n jsonViewProps?: Partial<ReactJsonViewProps>\n src: object\n}\n\nexport const JsonViewerButton: React.FC<JsonViewerButtonProps> = ({ children, jsonViewProps, src, title, ...props }) => {\n const [open, setOpen] = useState(false)\n return (\n <>\n <ButtonEx onClick={() => setOpen(!open)} {...props}>\n {children ?? 'JSON'}\n </ButtonEx>\n <Dialog open={open} onClose={() => setOpen(false)}>\n {title ? <DialogTitle>{title}</DialogTitle> : null}\n <DialogContent>\n <JsonView src={src} {...jsonViewProps} />\n </DialogContent>\n <DialogActions>\n <ButtonEx onClick={() => setOpen(false)}>Close</ButtonEx>\n </DialogActions>\n </Dialog>\n </>\n )\n}\n","import { isArchivistInstance } from '@xyo-network/archivist-model'\nimport { isBridgeInstance } from '@xyo-network/bridge-model'\nimport { isDivinerInstance } from '@xyo-network/diviner-model'\nimport { isNodeInstance } from '@xyo-network/node-model'\nimport { isSentinelInstance } from '@xyo-network/sentinel'\nimport { isWitnessInstance } from '@xyo-network/witness-model'\n\nimport { ArchivistSummary } from './ArchivistSummary'\nimport { BridgeSummary } from './BridgeSummary'\nimport { DivinerSummary } from './DivinerSummary'\nimport { ModuleSummary, ModuleSummaryProps } from './ModuleSummary'\nimport { NodeSummary } from './NodeSummary'\nimport { SentinelSummary } from './SentinelSummary'\nimport { WitnessSummary } from './WitnessSummary'\n\nexport const TypedModuleSummary: React.FC<ModuleSummaryProps> = ({ module, ...props }) => {\n if (isArchivistInstance(module)) {\n return <ArchivistSummary module={module} {...props} />\n }\n if (isDivinerInstance(module)) {\n return <DivinerSummary module={module} {...props} />\n }\n if (isNodeInstance(module)) {\n return <NodeSummary module={module} {...props} />\n }\n if (isWitnessInstance(module)) {\n return <WitnessSummary module={module} {...props} />\n }\n if (isBridgeInstance(module)) {\n return <BridgeSummary module={module} {...props} />\n }\n if (isSentinelInstance(module)) {\n return <SentinelSummary module={module} {...props} />\n }\n return <ModuleSummary module={module} {...props} />\n}\n","import { Inventory2Rounded as Inventory2RoundedIcon } from '@mui/icons-material'\nimport { ArchivistInstance } from '@xyo-network/archivist-model'\n\nimport { ModuleSummary, ModuleSummaryProps } from './ModuleSummary'\n\nexport const ArchivistSummary: React.FC<ModuleSummaryProps<ArchivistInstance>> = ({ module, ...props }) => {\n return <ModuleSummary module={module} icon={<Inventory2RoundedIcon />} {...props} />\n}\n","import { Extension as ExtensionIcon } from '@mui/icons-material'\nimport { delay } from '@xylabs/delay'\nimport { FlexBoxProps, FlexCol, FlexRow } from '@xylabs/react-flexbox'\nimport { ModuleInstance } from '@xyo-network/module-model'\nimport { useModulesFromNode } from '@xyo-network/react-node'\nimport { TypographyEx } from '@xyo-network/react-shared'\nimport { ReactNode, useState } from 'react'\n\nexport interface ModuleSummaryProps<T extends ModuleInstance = ModuleInstance> extends FlexBoxProps {\n icon?: ReactNode\n module?: T\n}\n\nexport const ModuleSummary: React.FC<ModuleSummaryProps> = ({ children, icon, module, ...props }) => {\n const [downModules] = useModulesFromNode(undefined, { direction: 'down' })\n const [upModules] = useModulesFromNode(undefined, { direction: 'up' })\n const [busy, setBusy] = useState(false)\n\n const downModulesFromResolve = downModules?.length\n const upModulesFromResolve = upModules?.length\n\n module?.on('moduleBusy', async ({ busy }) => {\n setBusy(busy)\n await delay(2000)\n setBusy(false)\n })\n\n return (\n <FlexCol alignItems=\"stretch\" width=\"100%\" {...props}>\n <FlexRow justifyContent=\"flex-start\">\n <FlexRow>\n <TypographyEx color={busy ? 'gray' : undefined}>{icon ?? <ExtensionIcon />}</TypographyEx>\n <TypographyEx marginX={1}>{module?.config?.name ?? '<Unknown>'}</TypographyEx>\n </FlexRow>\n {children ?? (downModulesFromResolve !== undefined && upModulesFromResolve !== undefined)\n ? `[${downModulesFromResolve}↓/${upModulesFromResolve}↑]`\n : null}\n </FlexRow>\n </FlexCol>\n )\n}\n","import { InsertLinkRounded as InsertLinkRoundedIcon } from '@mui/icons-material'\nimport { BridgeInstance } from '@xyo-network/bridge-model'\n\nimport { ModuleSummary, ModuleSummaryProps } from './ModuleSummary'\n\nexport const BridgeSummary: React.FC<ModuleSummaryProps<BridgeInstance>> = ({ module, ...props }) => {\n return <ModuleSummary module={module} icon={<InsertLinkRoundedIcon />} {...props}></ModuleSummary>\n}\n","import { BubbleChartRounded as BubbleChartRoundedIcon } from '@mui/icons-material'\nimport { DivinerInstance } from '@xyo-network/diviner-model'\n\nimport { ModuleSummary, ModuleSummaryProps } from './ModuleSummary'\n\nexport const DivinerSummary: React.FC<ModuleSummaryProps<DivinerInstance>> = ({ module, ...props }) => {\n return <ModuleSummary module={module} icon={<BubbleChartRoundedIcon />} {...props} />\n}\n","import { HubRounded as HubRoundedIcon } from '@mui/icons-material'\nimport { usePromise } from '@xylabs/react-promise'\nimport { NodeInstance } from '@xyo-network/node-model'\nimport { useModulesFromNode } from '@xyo-network/react-node'\n\nimport { ModuleSummary, ModuleSummaryProps } from './ModuleSummary'\n\nexport const NodeSummary: React.FC<ModuleSummaryProps<NodeInstance>> = ({ module, ...props }) => {\n const [manifest] = usePromise(async () => {\n return await module?.manifest()\n }, [module])\n\n const [downModules] = useModulesFromNode(undefined, { direction: 'down' })\n const [upModules] = useModulesFromNode(undefined, { direction: 'up' })\n\n const downModulesFromResolve = downModules?.length\n const upModulesFromResolve = upModules?.length\n\n const manifestPublicModules = manifest?.modules?.public?.length\n\n return (\n <ModuleSummary module={module} icon={<HubRoundedIcon />} {...props}>\n {manifestPublicModules !== undefined && downModulesFromResolve !== undefined && upModulesFromResolve !== undefined\n ? `[${manifestPublicModules}m/${downModulesFromResolve}↓/${upModulesFromResolve}↑]`\n : null}\n </ModuleSummary>\n )\n}\n","import { TimerRounded as TimerRoundedIcon } from '@mui/icons-material'\nimport { SentinelInstance } from '@xyo-network/sentinel'\n\nimport { ModuleSummary, ModuleSummaryProps } from './ModuleSummary'\n\nexport const SentinelSummary: React.FC<ModuleSummaryProps<SentinelInstance>> = ({ module, ...props }) => {\n return <ModuleSummary module={module} icon={<TimerRoundedIcon />} {...props} />\n}\n","import { VisibilityRounded as VisibilityRoundedIcon } from '@mui/icons-material'\nimport { WitnessInstance } from '@xyo-network/witness-model'\n\nimport { ModuleSummary, ModuleSummaryProps } from './ModuleSummary'\n\nexport const WitnessSummary: React.FC<ModuleSummaryProps<WitnessInstance>> = ({ module, ...props }) => {\n return <ModuleSummary module={module} icon={<VisibilityRoundedIcon />} {...props} />\n}\n"],"mappings":"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","names":["FlexCol","useModulesFromNode","ButtonEx","jsx","jsxs","ButtonEx","FlexCol","FlexRow","useState","jsx","jsxs","busy","jsx","jsx","jsx","usePromise","useModulesFromNode","jsx","usePromise","useModulesFromNode","jsx","jsx","jsx","jsx","jsxs","Fragment","jsx","useModulesFromNode","FlexCol"]}
|
|
@@ -1,71 +0,0 @@
|
|
|
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/components/NodeSummary.tsx
|
|
21
|
-
var NodeSummary_exports = {};
|
|
22
|
-
__export(NodeSummary_exports, {
|
|
23
|
-
NodeSummary: () => NodeSummary
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(NodeSummary_exports);
|
|
26
|
-
var import_icons_material2 = require("@mui/icons-material");
|
|
27
|
-
var import_react_promise = require("@xylabs/react-promise");
|
|
28
|
-
var import_react_node2 = require("@xyo-network/react-node");
|
|
29
|
-
|
|
30
|
-
// src/components/ModuleSummary.tsx
|
|
31
|
-
var import_icons_material = require("@mui/icons-material");
|
|
32
|
-
var import_delay = require("@xylabs/delay");
|
|
33
|
-
var import_react_flexbox = require("@xylabs/react-flexbox");
|
|
34
|
-
var import_react_node = require("@xyo-network/react-node");
|
|
35
|
-
var import_react_shared = require("@xyo-network/react-shared");
|
|
36
|
-
var import_react = require("react");
|
|
37
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
38
|
-
var ModuleSummary = ({ children, icon, module: module2, ...props }) => {
|
|
39
|
-
const [downModules] = (0, import_react_node.useModulesFromNode)(void 0, { direction: "down" });
|
|
40
|
-
const [upModules] = (0, import_react_node.useModulesFromNode)(void 0, { direction: "up" });
|
|
41
|
-
const [busy, setBusy] = (0, import_react.useState)(false);
|
|
42
|
-
const downModulesFromResolve = downModules?.length;
|
|
43
|
-
const upModulesFromResolve = upModules?.length;
|
|
44
|
-
module2?.on("moduleBusy", async ({ busy: busy2 }) => {
|
|
45
|
-
setBusy(busy2);
|
|
46
|
-
await (0, import_delay.delay)(2e3);
|
|
47
|
-
setBusy(false);
|
|
48
|
-
});
|
|
49
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_flexbox.FlexCol, { alignItems: "stretch", width: "100%", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_react_flexbox.FlexRow, { justifyContent: "flex-start", children: [
|
|
50
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_react_flexbox.FlexRow, { children: [
|
|
51
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_shared.TypographyEx, { color: busy ? "gray" : void 0, children: icon ?? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.Extension, {}) }),
|
|
52
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_shared.TypographyEx, { marginX: 1, children: module2?.config?.name ?? "<Unknown>" })
|
|
53
|
-
] }),
|
|
54
|
-
children ?? (downModulesFromResolve !== void 0 && upModulesFromResolve !== void 0) ? `[${downModulesFromResolve}\u2193/${upModulesFromResolve}\u2191]` : null
|
|
55
|
-
] }) });
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
// src/components/NodeSummary.tsx
|
|
59
|
-
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
60
|
-
var NodeSummary = ({ module: module2, ...props }) => {
|
|
61
|
-
const [manifest] = (0, import_react_promise.usePromise)(async () => {
|
|
62
|
-
return await module2?.manifest();
|
|
63
|
-
}, [module2]);
|
|
64
|
-
const [downModules] = (0, import_react_node2.useModulesFromNode)(void 0, { direction: "down" });
|
|
65
|
-
const [upModules] = (0, import_react_node2.useModulesFromNode)(void 0, { direction: "up" });
|
|
66
|
-
const downModulesFromResolve = downModules?.length;
|
|
67
|
-
const upModulesFromResolve = upModules?.length;
|
|
68
|
-
const manifestPublicModules = manifest?.modules?.public?.length;
|
|
69
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ModuleSummary, { module: module2, icon: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_icons_material2.HubRounded, {}), ...props, children: manifestPublicModules !== void 0 && downModulesFromResolve !== void 0 && upModulesFromResolve !== void 0 ? `[${manifestPublicModules}m/${downModulesFromResolve}\u2193/${upModulesFromResolve}\u2191]` : null });
|
|
70
|
-
};
|
|
71
|
-
//# sourceMappingURL=NodeSummary.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/NodeSummary.tsx","../../../src/components/ModuleSummary.tsx"],"sourcesContent":["import { HubRounded as HubRoundedIcon } from '@mui/icons-material'\nimport { usePromise } from '@xylabs/react-promise'\nimport { NodeInstance } from '@xyo-network/node-model'\nimport { useModulesFromNode } from '@xyo-network/react-node'\n\nimport { ModuleSummary, ModuleSummaryProps } from './ModuleSummary'\n\nexport const NodeSummary: React.FC<ModuleSummaryProps<NodeInstance>> = ({ module, ...props }) => {\n const [manifest] = usePromise(async () => {\n return await module?.manifest()\n }, [module])\n\n const [downModules] = useModulesFromNode(undefined, { direction: 'down' })\n const [upModules] = useModulesFromNode(undefined, { direction: 'up' })\n\n const downModulesFromResolve = downModules?.length\n const upModulesFromResolve = upModules?.length\n\n const manifestPublicModules = manifest?.modules?.public?.length\n\n return (\n <ModuleSummary module={module} icon={<HubRoundedIcon />} {...props}>\n {manifestPublicModules !== undefined && downModulesFromResolve !== undefined && upModulesFromResolve !== undefined\n ? `[${manifestPublicModules}m/${downModulesFromResolve}↓/${upModulesFromResolve}↑]`\n : null}\n </ModuleSummary>\n )\n}\n","import { Extension as ExtensionIcon } from '@mui/icons-material'\nimport { delay } from '@xylabs/delay'\nimport { FlexBoxProps, FlexCol, FlexRow } from '@xylabs/react-flexbox'\nimport { ModuleInstance } from '@xyo-network/module-model'\nimport { useModulesFromNode } from '@xyo-network/react-node'\nimport { TypographyEx } from '@xyo-network/react-shared'\nimport { ReactNode, useState } from 'react'\n\nexport interface ModuleSummaryProps<T extends ModuleInstance = ModuleInstance> extends FlexBoxProps {\n icon?: ReactNode\n module?: T\n}\n\nexport const ModuleSummary: React.FC<ModuleSummaryProps> = ({ children, icon, module, ...props }) => {\n const [downModules] = useModulesFromNode(undefined, { direction: 'down' })\n const [upModules] = useModulesFromNode(undefined, { direction: 'up' })\n const [busy, setBusy] = useState(false)\n\n const downModulesFromResolve = downModules?.length\n const upModulesFromResolve = upModules?.length\n\n module?.on('moduleBusy', async ({ busy }) => {\n setBusy(busy)\n await delay(2000)\n setBusy(false)\n })\n\n return (\n <FlexCol alignItems=\"stretch\" width=\"100%\" {...props}>\n <FlexRow justifyContent=\"flex-start\">\n <FlexRow>\n <TypographyEx color={busy ? 'gray' : undefined}>{icon ?? <ExtensionIcon />}</TypographyEx>\n <TypographyEx marginX={1}>{module?.config?.name ?? '<Unknown>'}</TypographyEx>\n </FlexRow>\n {children ?? (downModulesFromResolve !== undefined && upModulesFromResolve !== undefined)\n ? `[${downModulesFromResolve}↓/${upModulesFromResolve}↑]`\n : null}\n </FlexRow>\n </FlexCol>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAA,yBAA6C;AAC7C,2BAA2B;AAE3B,IAAAC,qBAAmC;;;ACHnC,4BAA2C;AAC3C,mBAAsB;AACtB,2BAA+C;AAE/C,wBAAmC;AACnC,0BAA6B;AAC7B,mBAAoC;AAwB5B;AAjBD,IAAM,gBAA8C,CAAC,EAAE,UAAU,MAAM,QAAAC,SAAQ,GAAG,MAAM,MAAM;AACnG,QAAM,CAAC,WAAW,QAAI,sCAAmB,QAAW,EAAE,WAAW,OAAO,CAAC;AACzE,QAAM,CAAC,SAAS,QAAI,sCAAmB,QAAW,EAAE,WAAW,KAAK,CAAC;AACrE,QAAM,CAAC,MAAM,OAAO,QAAI,uBAAS,KAAK;AAEtC,QAAM,yBAAyB,aAAa;AAC5C,QAAM,uBAAuB,WAAW;AAExC,EAAAA,SAAQ,GAAG,cAAc,OAAO,EAAE,MAAAC,MAAK,MAAM;AAC3C,YAAQA,KAAI;AACZ,cAAM,oBAAM,GAAI;AAChB,YAAQ,KAAK;AAAA,EACf,CAAC;AAED,SACE,4CAAC,gCAAQ,YAAW,WAAU,OAAM,QAAQ,GAAG,OAC7C,uDAAC,gCAAQ,gBAAe,cACtB;AAAA,iDAAC,gCACC;AAAA,kDAAC,oCAAa,OAAO,OAAO,SAAS,QAAY,kBAAQ,4CAAC,sBAAAC,WAAA,EAAc,GAAG;AAAA,MAC3E,4CAAC,oCAAa,SAAS,GAAI,UAAAF,SAAQ,QAAQ,QAAQ,aAAY;AAAA,OACjE;AAAA,IACC,aAAa,2BAA2B,UAAa,yBAAyB,UAC3E,IAAI,sBAAsB,UAAK,oBAAoB,YACnD;AAAA,KACN,GACF;AAEJ;;;ADnByC,IAAAG,sBAAA;AAdlC,IAAM,cAA0D,CAAC,EAAE,QAAAC,SAAQ,GAAG,MAAM,MAAM;AAC/F,QAAM,CAAC,QAAQ,QAAI,iCAAW,YAAY;AACxC,WAAO,MAAMA,SAAQ,SAAS;AAAA,EAChC,GAAG,CAACA,OAAM,CAAC;AAEX,QAAM,CAAC,WAAW,QAAI,uCAAmB,QAAW,EAAE,WAAW,OAAO,CAAC;AACzE,QAAM,CAAC,SAAS,QAAI,uCAAmB,QAAW,EAAE,WAAW,KAAK,CAAC;AAErE,QAAM,yBAAyB,aAAa;AAC5C,QAAM,uBAAuB,WAAW;AAExC,QAAM,wBAAwB,UAAU,SAAS,QAAQ;AAEzD,SACE,6CAAC,iBAAc,QAAQA,SAAQ,MAAM,6CAAC,uBAAAC,YAAA,EAAe,GAAK,GAAG,OAC1D,oCAA0B,UAAa,2BAA2B,UAAa,yBAAyB,SACrG,IAAI,qBAAqB,KAAK,sBAAsB,UAAK,oBAAoB,YAC7E,MACN;AAEJ;","names":["import_icons_material","import_react_node","module","busy","ExtensionIcon","import_jsx_runtime","module","HubRoundedIcon"]}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
// src/components/NodeSummary.tsx
|
|
2
|
-
import { HubRounded as HubRoundedIcon } from "@mui/icons-material";
|
|
3
|
-
import { usePromise } from "@xylabs/react-promise";
|
|
4
|
-
import { useModulesFromNode as useModulesFromNode2 } from "@xyo-network/react-node";
|
|
5
|
-
|
|
6
|
-
// src/components/ModuleSummary.tsx
|
|
7
|
-
import { Extension as ExtensionIcon } from "@mui/icons-material";
|
|
8
|
-
import { delay } from "@xylabs/delay";
|
|
9
|
-
import { FlexCol, FlexRow } from "@xylabs/react-flexbox";
|
|
10
|
-
import { useModulesFromNode } from "@xyo-network/react-node";
|
|
11
|
-
import { TypographyEx } from "@xyo-network/react-shared";
|
|
12
|
-
import { useState } from "react";
|
|
13
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
14
|
-
var ModuleSummary = ({ children, icon, module, ...props }) => {
|
|
15
|
-
const [downModules] = useModulesFromNode(void 0, { direction: "down" });
|
|
16
|
-
const [upModules] = useModulesFromNode(void 0, { direction: "up" });
|
|
17
|
-
const [busy, setBusy] = useState(false);
|
|
18
|
-
const downModulesFromResolve = downModules?.length;
|
|
19
|
-
const upModulesFromResolve = upModules?.length;
|
|
20
|
-
module?.on("moduleBusy", async ({ busy: busy2 }) => {
|
|
21
|
-
setBusy(busy2);
|
|
22
|
-
await delay(2e3);
|
|
23
|
-
setBusy(false);
|
|
24
|
-
});
|
|
25
|
-
return /* @__PURE__ */ jsx(FlexCol, { alignItems: "stretch", width: "100%", ...props, children: /* @__PURE__ */ jsxs(FlexRow, { justifyContent: "flex-start", children: [
|
|
26
|
-
/* @__PURE__ */ jsxs(FlexRow, { children: [
|
|
27
|
-
/* @__PURE__ */ jsx(TypographyEx, { color: busy ? "gray" : void 0, children: icon ?? /* @__PURE__ */ jsx(ExtensionIcon, {}) }),
|
|
28
|
-
/* @__PURE__ */ jsx(TypographyEx, { marginX: 1, children: module?.config?.name ?? "<Unknown>" })
|
|
29
|
-
] }),
|
|
30
|
-
children ?? (downModulesFromResolve !== void 0 && upModulesFromResolve !== void 0) ? `[${downModulesFromResolve}\u2193/${upModulesFromResolve}\u2191]` : null
|
|
31
|
-
] }) });
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
// src/components/NodeSummary.tsx
|
|
35
|
-
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
36
|
-
var NodeSummary = ({ module, ...props }) => {
|
|
37
|
-
const [manifest] = usePromise(async () => {
|
|
38
|
-
return await module?.manifest();
|
|
39
|
-
}, [module]);
|
|
40
|
-
const [downModules] = useModulesFromNode2(void 0, { direction: "down" });
|
|
41
|
-
const [upModules] = useModulesFromNode2(void 0, { direction: "up" });
|
|
42
|
-
const downModulesFromResolve = downModules?.length;
|
|
43
|
-
const upModulesFromResolve = upModules?.length;
|
|
44
|
-
const manifestPublicModules = manifest?.modules?.public?.length;
|
|
45
|
-
return /* @__PURE__ */ jsx2(ModuleSummary, { module, icon: /* @__PURE__ */ jsx2(HubRoundedIcon, {}), ...props, children: manifestPublicModules !== void 0 && downModulesFromResolve !== void 0 && upModulesFromResolve !== void 0 ? `[${manifestPublicModules}m/${downModulesFromResolve}\u2193/${upModulesFromResolve}\u2191]` : null });
|
|
46
|
-
};
|
|
47
|
-
export {
|
|
48
|
-
NodeSummary
|
|
49
|
-
};
|
|
50
|
-
//# sourceMappingURL=NodeSummary.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/NodeSummary.tsx","../../../src/components/ModuleSummary.tsx"],"sourcesContent":["import { HubRounded as HubRoundedIcon } from '@mui/icons-material'\nimport { usePromise } from '@xylabs/react-promise'\nimport { NodeInstance } from '@xyo-network/node-model'\nimport { useModulesFromNode } from '@xyo-network/react-node'\n\nimport { ModuleSummary, ModuleSummaryProps } from './ModuleSummary'\n\nexport const NodeSummary: React.FC<ModuleSummaryProps<NodeInstance>> = ({ module, ...props }) => {\n const [manifest] = usePromise(async () => {\n return await module?.manifest()\n }, [module])\n\n const [downModules] = useModulesFromNode(undefined, { direction: 'down' })\n const [upModules] = useModulesFromNode(undefined, { direction: 'up' })\n\n const downModulesFromResolve = downModules?.length\n const upModulesFromResolve = upModules?.length\n\n const manifestPublicModules = manifest?.modules?.public?.length\n\n return (\n <ModuleSummary module={module} icon={<HubRoundedIcon />} {...props}>\n {manifestPublicModules !== undefined && downModulesFromResolve !== undefined && upModulesFromResolve !== undefined\n ? `[${manifestPublicModules}m/${downModulesFromResolve}↓/${upModulesFromResolve}↑]`\n : null}\n </ModuleSummary>\n )\n}\n","import { Extension as ExtensionIcon } from '@mui/icons-material'\nimport { delay } from '@xylabs/delay'\nimport { FlexBoxProps, FlexCol, FlexRow } from '@xylabs/react-flexbox'\nimport { ModuleInstance } from '@xyo-network/module-model'\nimport { useModulesFromNode } from '@xyo-network/react-node'\nimport { TypographyEx } from '@xyo-network/react-shared'\nimport { ReactNode, useState } from 'react'\n\nexport interface ModuleSummaryProps<T extends ModuleInstance = ModuleInstance> extends FlexBoxProps {\n icon?: ReactNode\n module?: T\n}\n\nexport const ModuleSummary: React.FC<ModuleSummaryProps> = ({ children, icon, module, ...props }) => {\n const [downModules] = useModulesFromNode(undefined, { direction: 'down' })\n const [upModules] = useModulesFromNode(undefined, { direction: 'up' })\n const [busy, setBusy] = useState(false)\n\n const downModulesFromResolve = downModules?.length\n const upModulesFromResolve = upModules?.length\n\n module?.on('moduleBusy', async ({ busy }) => {\n setBusy(busy)\n await delay(2000)\n setBusy(false)\n })\n\n return (\n <FlexCol alignItems=\"stretch\" width=\"100%\" {...props}>\n <FlexRow justifyContent=\"flex-start\">\n <FlexRow>\n <TypographyEx color={busy ? 'gray' : undefined}>{icon ?? <ExtensionIcon />}</TypographyEx>\n <TypographyEx marginX={1}>{module?.config?.name ?? '<Unknown>'}</TypographyEx>\n </FlexRow>\n {children ?? (downModulesFromResolve !== undefined && upModulesFromResolve !== undefined)\n ? `[${downModulesFromResolve}↓/${upModulesFromResolve}↑]`\n : null}\n </FlexRow>\n </FlexCol>\n )\n}\n"],"mappings":";AAAA,SAAS,cAAc,sBAAsB;AAC7C,SAAS,kBAAkB;AAE3B,SAAS,sBAAAA,2BAA0B;;;ACHnC,SAAS,aAAa,qBAAqB;AAC3C,SAAS,aAAa;AACtB,SAAuB,SAAS,eAAe;AAE/C,SAAS,0BAA0B;AACnC,SAAS,oBAAoB;AAC7B,SAAoB,gBAAgB;AAwB5B,SAC2D,KAD3D;AAjBD,IAAM,gBAA8C,CAAC,EAAE,UAAU,MAAM,QAAQ,GAAG,MAAM,MAAM;AACnG,QAAM,CAAC,WAAW,IAAI,mBAAmB,QAAW,EAAE,WAAW,OAAO,CAAC;AACzE,QAAM,CAAC,SAAS,IAAI,mBAAmB,QAAW,EAAE,WAAW,KAAK,CAAC;AACrE,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS,KAAK;AAEtC,QAAM,yBAAyB,aAAa;AAC5C,QAAM,uBAAuB,WAAW;AAExC,UAAQ,GAAG,cAAc,OAAO,EAAE,MAAAC,MAAK,MAAM;AAC3C,YAAQA,KAAI;AACZ,UAAM,MAAM,GAAI;AAChB,YAAQ,KAAK;AAAA,EACf,CAAC;AAED,SACE,oBAAC,WAAQ,YAAW,WAAU,OAAM,QAAQ,GAAG,OAC7C,+BAAC,WAAQ,gBAAe,cACtB;AAAA,yBAAC,WACC;AAAA,0BAAC,gBAAa,OAAO,OAAO,SAAS,QAAY,kBAAQ,oBAAC,iBAAc,GAAG;AAAA,MAC3E,oBAAC,gBAAa,SAAS,GAAI,kBAAQ,QAAQ,QAAQ,aAAY;AAAA,OACjE;AAAA,IACC,aAAa,2BAA2B,UAAa,yBAAyB,UAC3E,IAAI,sBAAsB,UAAK,oBAAoB,YACnD;AAAA,KACN,GACF;AAEJ;;;ADnByC,gBAAAC,YAAA;AAdlC,IAAM,cAA0D,CAAC,EAAE,QAAQ,GAAG,MAAM,MAAM;AAC/F,QAAM,CAAC,QAAQ,IAAI,WAAW,YAAY;AACxC,WAAO,MAAM,QAAQ,SAAS;AAAA,EAChC,GAAG,CAAC,MAAM,CAAC;AAEX,QAAM,CAAC,WAAW,IAAIC,oBAAmB,QAAW,EAAE,WAAW,OAAO,CAAC;AACzE,QAAM,CAAC,SAAS,IAAIA,oBAAmB,QAAW,EAAE,WAAW,KAAK,CAAC;AAErE,QAAM,yBAAyB,aAAa;AAC5C,QAAM,uBAAuB,WAAW;AAExC,QAAM,wBAAwB,UAAU,SAAS,QAAQ;AAEzD,SACE,gBAAAD,KAAC,iBAAc,QAAgB,MAAM,gBAAAA,KAAC,kBAAe,GAAK,GAAG,OAC1D,oCAA0B,UAAa,2BAA2B,UAAa,yBAAyB,SACrG,IAAI,qBAAqB,KAAK,sBAAsB,UAAK,oBAAoB,YAC7E,MACN;AAEJ;","names":["useModulesFromNode","busy","jsx","useModulesFromNode"]}
|