@xyo-network/react-powered-by-xyo 2.62.3 → 2.64.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +16 -16
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +8 -8
- package/dist/index.mjs.map +1 -1
- package/package.json +18 -17
- package/src/components/ArchivistSummary.tsx +1 -1
- package/src/components/BridgeSummary.tsx +1 -1
- package/src/components/DivinerSummary.tsx +1 -1
- package/src/components/ModuleAccordion.tsx +1 -1
- package/src/components/ModuleSummary.tsx +1 -1
- package/src/components/NodeSummary.tsx +1 -1
- package/src/components/SentinelSummary.tsx +1 -1
- package/src/components/WitnessSummary.tsx +1 -1
- package/dist/docs.json +0 -95405
package/dist/index.js
CHANGED
|
@@ -48,10 +48,10 @@ __export(src_exports, {
|
|
|
48
48
|
module.exports = __toCommonJS(src_exports);
|
|
49
49
|
|
|
50
50
|
// src/components/ArchivistSummary.tsx
|
|
51
|
-
var
|
|
51
|
+
var import_icons_material2 = require("@mui/icons-material");
|
|
52
52
|
|
|
53
53
|
// src/components/ModuleSummary.tsx
|
|
54
|
-
var
|
|
54
|
+
var import_icons_material = require("@mui/icons-material");
|
|
55
55
|
var import_delay = require("@xylabs/delay");
|
|
56
56
|
var import_react_flexbox = require("@xylabs/react-flexbox");
|
|
57
57
|
var import_react_node = require("@xyo-network/react-node");
|
|
@@ -71,7 +71,7 @@ var ModuleSummary = ({ children, icon, module: module2, ...props }) => {
|
|
|
71
71
|
});
|
|
72
72
|
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: [
|
|
73
73
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_react_flexbox.FlexRow, { children: [
|
|
74
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_shared.TypographyEx, { color: busy ? "gray" : void 0, children: icon ?? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
74
|
+
/* @__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, {}) }),
|
|
75
75
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_shared.TypographyEx, { marginX: 1, children: module2?.config?.name ?? "<Unknown>" })
|
|
76
76
|
] }),
|
|
77
77
|
children ?? (downModulesFromResolve !== void 0 && upModulesFromResolve !== void 0) ? `[${downModulesFromResolve}\u2193/${upModulesFromResolve}\u2191]` : null
|
|
@@ -81,14 +81,14 @@ var ModuleSummary = ({ children, icon, module: module2, ...props }) => {
|
|
|
81
81
|
// src/components/ArchivistSummary.tsx
|
|
82
82
|
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
83
83
|
var ArchivistSummary = ({ module: module2, ...props }) => {
|
|
84
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ModuleSummary, { module: module2, icon: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
84
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ModuleSummary, { module: module2, icon: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_icons_material2.Inventory2Rounded, {}), ...props });
|
|
85
85
|
};
|
|
86
86
|
|
|
87
87
|
// src/components/BridgeSummary.tsx
|
|
88
|
-
var
|
|
88
|
+
var import_icons_material3 = require("@mui/icons-material");
|
|
89
89
|
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
90
90
|
var BridgeSummary = ({ module: module2, ...props }) => {
|
|
91
|
-
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ModuleSummary, { module: module2, icon: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
91
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ModuleSummary, { module: module2, icon: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_icons_material3.InsertLinkRounded, {}), ...props });
|
|
92
92
|
};
|
|
93
93
|
|
|
94
94
|
// src/components/DebugDialog.tsx
|
|
@@ -99,7 +99,7 @@ var import_react_flexbox3 = require("@xylabs/react-flexbox");
|
|
|
99
99
|
var import_react_node3 = require("@xyo-network/react-node");
|
|
100
100
|
|
|
101
101
|
// src/components/ModuleAccordion.tsx
|
|
102
|
-
var
|
|
102
|
+
var import_icons_material8 = require("@mui/icons-material");
|
|
103
103
|
var import_material3 = require("@mui/material");
|
|
104
104
|
|
|
105
105
|
// src/components/ModuleDetails.tsx
|
|
@@ -169,14 +169,14 @@ var import_sentinel = require("@xyo-network/sentinel");
|
|
|
169
169
|
var import_witness_model = require("@xyo-network/witness-model");
|
|
170
170
|
|
|
171
171
|
// src/components/DivinerSummary.tsx
|
|
172
|
-
var
|
|
172
|
+
var import_icons_material4 = require("@mui/icons-material");
|
|
173
173
|
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
174
174
|
var DivinerSummary = ({ module: module2, ...props }) => {
|
|
175
|
-
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(ModuleSummary, { module: module2, icon: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
175
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(ModuleSummary, { module: module2, icon: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_icons_material4.BubbleChartRounded, {}), ...props });
|
|
176
176
|
};
|
|
177
177
|
|
|
178
178
|
// src/components/NodeSummary.tsx
|
|
179
|
-
var
|
|
179
|
+
var import_icons_material5 = require("@mui/icons-material");
|
|
180
180
|
var import_react_promise2 = require("@xylabs/react-promise");
|
|
181
181
|
var import_react_node2 = require("@xyo-network/react-node");
|
|
182
182
|
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
@@ -189,21 +189,21 @@ var NodeSummary = ({ module: module2, ...props }) => {
|
|
|
189
189
|
const downModulesFromResolve = downModules?.length;
|
|
190
190
|
const upModulesFromResolve = upModules?.length;
|
|
191
191
|
const manifestPublicModules = manifest?.modules?.public?.length;
|
|
192
|
-
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(ModuleSummary, { module: module2, icon: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
192
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(ModuleSummary, { module: module2, icon: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_icons_material5.HubRounded, {}), ...props, children: manifestPublicModules !== void 0 && downModulesFromResolve !== void 0 && upModulesFromResolve !== void 0 ? `[${manifestPublicModules}m/${downModulesFromResolve}\u2193/${upModulesFromResolve}\u2191]` : null });
|
|
193
193
|
};
|
|
194
194
|
|
|
195
195
|
// src/components/SentinelSummary.tsx
|
|
196
|
-
var
|
|
196
|
+
var import_icons_material6 = require("@mui/icons-material");
|
|
197
197
|
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
198
198
|
var SentinelSummary = ({ module: module2, ...props }) => {
|
|
199
|
-
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ModuleSummary, { module: module2, icon: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
199
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ModuleSummary, { module: module2, icon: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_icons_material6.TimerRounded, {}), ...props });
|
|
200
200
|
};
|
|
201
201
|
|
|
202
202
|
// src/components/WitnessSummary.tsx
|
|
203
|
-
var
|
|
203
|
+
var import_icons_material7 = require("@mui/icons-material");
|
|
204
204
|
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
205
205
|
var WitnessSummary = ({ module: module2, ...props }) => {
|
|
206
|
-
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(ModuleSummary, { module: module2, icon: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
206
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(ModuleSummary, { module: module2, icon: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_icons_material7.VisibilityRounded, {}), ...props });
|
|
207
207
|
};
|
|
208
208
|
|
|
209
209
|
// src/components/TypedModuleSummary.tsx
|
|
@@ -234,7 +234,7 @@ var TypedModuleSummary = ({ module: module2, ...props }) => {
|
|
|
234
234
|
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
235
235
|
var ModuleAccordion = ({ module: module2, ...props }) => {
|
|
236
236
|
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_material3.Accordion, { ...props, children: [
|
|
237
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_material3.AccordionSummary, { expandIcon: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
237
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_material3.AccordionSummary, { expandIcon: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_icons_material8.ExpandMore, {}), children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(TypedModuleSummary, { module: module2 }) }),
|
|
238
238
|
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_material3.AccordionDetails, { children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(ModuleDetails, { module: module2 }) })
|
|
239
239
|
] });
|
|
240
240
|
};
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/components/ArchivistSummary.tsx","../src/components/ModuleSummary.tsx","../src/components/BridgeSummary.tsx","../src/components/DebugDialog.tsx","../src/components/NodeDetails.tsx","../src/components/ModuleAccordion.tsx","../src/components/ModuleDetails.tsx","../src/components/JsonViewerButton.tsx","../src/components/TypedModuleSummary.tsx","../src/components/DivinerSummary.tsx","../src/components/NodeSummary.tsx","../src/components/SentinelSummary.tsx","../src/components/WitnessSummary.tsx","../src/components/PoweredByXyo.tsx","../src/components/PoweredByXyoButton.tsx","../src/components/XyoBusy.tsx"],"sourcesContent":["export * from './components'\n","import Inventory2RoundedIcon from '@mui/icons-material/Inventory2Rounded'\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 ExtensionIcon from '@mui/icons-material/Extension'\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 InsertLinkRoundedIcon from '@mui/icons-material/InsertLinkRounded'\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 { Button, Dialog, DialogActions, DialogContent, DialogProps, DialogTitle } from '@mui/material'\n\nimport { NodeDetails } from './NodeDetails'\n\nexport interface DebugDialogProps extends DialogProps {}\n\nexport const DebugDialog: React.FC<DebugDialogProps> = ({ onClose, ...props }) => {\n return (\n <Dialog {...props}>\n <DialogTitle>Xyo Module Viewer</DialogTitle>\n <DialogContent>\n <NodeDetails width=\"100%\" />\n </DialogContent>\n <DialogActions>\n <Button onClick={(event) => onClose?.(event, 'backdropClick')}>Close</Button>\n </DialogActions>\n </Dialog>\n )\n}\n","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 ExpandMoreIcon from '@mui/icons-material/ExpandMore'\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 BubbleChartRoundedIcon from '@mui/icons-material/BubbleChartRounded'\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 HubRoundedIcon from '@mui/icons-material/HubRounded'\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 TimerRoundedIcon from '@mui/icons-material/TimerRounded'\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 VisibilityRoundedIcon from '@mui/icons-material/VisibilityRounded'\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","import { Paper } from '@mui/material'\nimport { delay } from '@xylabs/delay'\nimport { forget } from '@xylabs/forget'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { ButtonExProps } from '@xylabs/react-button'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { Module } from '@xyo-network/module-model'\nimport { NodeInstance } from '@xyo-network/node-model'\nimport { useProvidedNode } from '@xyo-network/react-node'\nimport { KeyboardEvent, useMemo, useState } from 'react'\n\nimport { DebugDialog } from './DebugDialog'\nimport { PoweredByXyoButton, PoweredByXyoButtonProps } from './PoweredByXyoButton'\n\nexport interface PoweredByXyoProps extends FlexBoxProps {\n autoStop?: boolean\n busy?: boolean\n buttonProps?: PoweredByXyoButtonProps\n debugDialog?: boolean\n disableAnimation?: boolean\n href?: ButtonExProps['href']\n logoHeight?: number\n logoTextSize?: number\n node?: NodeInstance\n onButtonClick?: ButtonExProps['onClick']\n}\n\nexport const PoweredByXyo: React.FC<PoweredByXyoProps> = ({\n autoStop,\n busy,\n buttonProps = {},\n debugDialog = false,\n disableAnimation = false,\n href = 'https://xyo.network',\n logoHeight,\n logoTextSize,\n onButtonClick,\n node: propNode,\n ...props\n}) => {\n const [node] = useProvidedNode()\n const [debugDialogOpen, setDebugDialogOpen] = useState(false)\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const busyMap: Record<string, boolean> = useMemo(() => ({}), [node])\n\n const activeBusy = busy ?? Object.values(busyMap).reduce((prev, value) => prev || value, false)\n\n const activeOnButtonClick: PoweredByXyoProps['onButtonClick'] =\n (debugDialog\n ? (event) => {\n if (event.shiftKey && event.altKey) {\n setDebugDialogOpen(true)\n } else if (href) {\n window.open(href)\n }\n }\n : undefined) ?? onButtonClick\n\n const activeHref = activeOnButtonClick ? undefined : href\n\n const onKeyDownEscListener = (event: KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'Escape' && debugDialogOpen) {\n setDebugDialogOpen(false)\n }\n }\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async () => {\n const activeNode = propNode ?? node\n if (disableAnimation) {\n return\n } else if (activeNode) {\n const mods = await activeNode?.resolve()\n mods?.map((mod) => {\n mod.on('moduleBusy', ({ module, busy }) => {\n busyMap[(module as Module).address] = busy\n if (autoStop) {\n forget(\n (async () => {\n await delay(1000)\n busyMap[(module as Module).address] = false\n })(),\n )\n }\n })\n })\n activeNode?.on('moduleBusy', ({ module, busy }) => {\n busyMap[(module as Module).address] = busy\n if (autoStop) {\n forget(\n (async () => {\n await delay(1000)\n busyMap[(module as Module).address] = false\n })(),\n )\n }\n })\n }\n },\n [disableAnimation, propNode, node, busyMap, autoStop],\n )\n\n return (\n <FlexCol alignItems=\"stretch\" position=\"absolute\" bottom=\"0\" left=\"0\" {...props}>\n <Paper sx={{ borderRadius: 0 }}>\n <PoweredByXyoButton\n onClick={activeOnButtonClick}\n href={activeHref}\n busy={activeBusy}\n logoHeight={logoHeight}\n logoTextSize={logoTextSize}\n fullWidth\n {...buttonProps}\n />\n </Paper>\n {debugDialog ? (\n <DebugDialog fullScreen open={debugDialogOpen} onClose={() => setDebugDialogOpen(false)} onKeyDown={onKeyDownEscListener} />\n ) : null}\n </FlexCol>\n )\n}\n","import { Typography } from '@mui/material'\nimport { ButtonEx, ButtonExProps } from '@xylabs/react-button'\nimport { FlexCol, FlexRow } from '@xylabs/react-flexbox'\nimport { useState } from 'react'\n\nimport { xyoColorLogoText } from '../img'\nimport { XyoBusy } from './XyoBusy'\n\nexport interface PoweredByXyoButtonProps extends ButtonExProps {\n busy?: boolean\n logoHeight?: number\n logoTextSize?: number\n}\n\nexport const PoweredByXyoButton: React.FC<PoweredByXyoButtonProps> = ({\n busy = false,\n href,\n logoHeight,\n logoTextSize,\n sx,\n target = '_blank',\n variant = 'text',\n ...props\n}) => {\n //preloading image to prevent shifting\n const [imageLoaded, setImageLoaded] = useState(false)\n const img = new Image()\n img.onload = () => setImageLoaded(true)\n img.src = xyoColorLogoText\n return imageLoaded ? (\n <ButtonEx href={href} target={target} variant={variant} sx={{ borderRadius: 0, padding: 0, ...sx }} {...props}>\n <FlexCol padding={0.5}>\n <Typography style={{ fontSize: logoTextSize ?? 10 }} fontSize=\"small\">\n Powered by\n </Typography>\n <FlexRow>\n <XyoBusy busy={busy} />\n <img src={xyoColorLogoText} height={logoHeight ?? 24} width={45} />\n </FlexRow>\n </FlexCol>\n </ButtonEx>\n ) : null\n}\n","import { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { useState } from 'react'\n\nimport { xyoColorLogo } from '../img'\n\nexport type XyoBusyProps = Omit<FlexBoxProps, 'children'> & {\n busy?: boolean\n spinsPerSecond?: number\n widthInPixels?: number\n}\n\nexport const XyoBusy: React.FC<XyoBusyProps> = ({ widthInPixels, busy, spinsPerSecond = 0.5, ...props }) => {\n //preloading image to prevent shifting\n const [imageLoaded, setImageLoaded] = useState(false)\n if (!imageLoaded) {\n const img = new Image()\n img.onload = () => setImageLoaded(true)\n img.src = xyoColorLogo\n }\n return imageLoaded ? (\n <FlexCol\n sx={{\n '@keyframes spin': {\n '0%': {\n transform: 'rotate(360deg)',\n },\n '100%': {\n transform: 'rotate(0deg)',\n },\n },\n animation: busy ? `spin ${1 / spinsPerSecond}s linear infinite` : undefined,\n animationDirection: 'reverse',\n }}\n {...props}\n >\n <img src={xyoColorLogo} height={widthInPixels ?? 22} />\n </FlexCol>\n ) : null\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,+BAAkC;;;ACAlC,uBAA0B;AAC1B,mBAAsB;AACtB,2BAA+C;AAE/C,wBAAmC;AACnC,0BAA6B;AAC7B,mBAAoC;AAwB5B;AAjBD,IAAM,gBAA8C,CAAC,EAAE,UAAU,MAAM,QAAAA,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,iBAAAC,SAAA,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;;;ADlC8C,IAAAG,sBAAA;AADvC,IAAM,mBAAoE,CAAC,EAAE,QAAAC,SAAQ,GAAG,MAAM,MAAM;AACzG,SAAO,6CAAC,iBAAc,QAAQA,SAAQ,MAAM,6CAAC,yBAAAC,SAAA,EAAsB,GAAK,GAAG,OAAO;AACpF;;;AEPA,+BAAkC;AAMY,IAAAC,sBAAA;AADvC,IAAM,gBAA8D,CAAC,EAAE,QAAAC,SAAQ,GAAG,MAAM,MAAM;AACnG,SAAO,6CAAC,iBAAc,QAAQA,SAAQ,MAAM,6CAAC,yBAAAC,SAAA,EAAsB,GAAK,GAAG,OAAO;AACpF;;;ACPA,IAAAC,mBAAuF;;;ACAvF,IAAAC,wBAAwB;AAExB,IAAAC,qBAAoD;;;ACFpD,wBAA2B;AAO3B,IAAAC,mBAA8E;;;ACP9E,IAAAC,mBAA4B;AAC5B,IAAAC,uBAAyB;AACzB,IAAAC,wBAA+C;AAC/C,2BAA2B;AAE3B,4BAAyB;;;ACLzB,sBAAkE;AAClE,0BAAwC;AACxC,IAAAC,gBAAyB;AACzB,6BAA6C;AAUzC,IAAAC,sBAAA;AAHG,IAAM,mBAAoD,CAAC,EAAE,UAAU,eAAe,KAAK,OAAO,GAAG,MAAM,MAAM;AACtH,QAAM,CAAC,MAAM,OAAO,QAAI,wBAAS,KAAK;AACtC,SACE,8EACE;AAAA,iDAAC,gCAAS,SAAS,MAAM,QAAQ,CAAC,IAAI,GAAI,GAAG,OAC1C,sBAAY,QACf;AAAA,IACA,8CAAC,0BAAO,MAAY,SAAS,MAAM,QAAQ,KAAK,GAC7C;AAAA,cAAQ,6CAAC,+BAAa,iBAAM,IAAiB;AAAA,MAC9C,6CAAC,iCACC,uDAAC,uBAAAC,SAAA,EAAS,KAAW,GAAG,eAAe,GACzC;AAAA,MACA,6CAAC,iCACC,uDAAC,gCAAS,SAAS,MAAM,QAAQ,KAAK,GAAG,mBAAK,GAChD;AAAA,OACF;AAAA,KACF;AAEJ;;;ADIM,IAAAC,sBAAA;AAnBC,IAAM,gBAA8C,CAAC,EAAE,QAAAC,SAAQ,GAAG,MAAM,MAAM;AACnF,QAAM,CAAC,QAAQ,QAAI,iCAAW,YAAY;AACxC,WAAO,MAAMA,SAAQ,SAAS;AAAA,EAChC,GAAG,CAACA,OAAM,CAAC;AAEX,QAAM,CAAC,QAAQ,QAAI,iCAAW,YAAY;AACxC,WAAO,MAAMA,SAAQ,SAAS;AAAA,EAChC,GAAG,CAACA,OAAM,CAAC;AAEX,QAAM,CAAC,QAAQ,QAAI,iCAAW,YAAY;AACxC,WAAO,MAAMA,SAAQ,SAAS;AAAA,EAChC,GAAG,CAACA,OAAM,CAAC;AAEX,QAAM,UAAUA,SAAQ;AAExB,QAAM,SAASA,SAAQ;AAEvB,SACE,8CAAC,iCAAQ,YAAW,WAAW,GAAG,OAChC;AAAA,iDAAC,kCAAS,OAAM,WAAU,OAAOA,SAAQ,SAAS;AAAA,IAElD,8CAAC,iCAAQ,KAAK,GAAG,gBAAe,iBAC9B;AAAA,oDAAC,gCACE;AAAA,mBACC,6CAAC,oBAAiB,SAAQ,aAAY,KAAK,UAAU,sBAErD,IACE;AAAA,QACH,SACC,6CAAC,oBAAiB,SAAQ,aAAY,KAAK,QAAQ,oBAEnD,IACE;AAAA,QACH,WACC,6CAAC,oBAAiB,SAAQ,aAAY,KAAK,UAAU,sBAErD,IACE;AAAA,QACH,WACC,6CAAC,oBAAiB,SAAQ,aAAY,KAAK,UAAU,sBAErD,IACE;AAAA,QACH,UACC,6CAAC,oBAAiB,SAAQ,aAAY,KAAK,SAAS,qBAEpD,IACE;AAAA,SACN;AAAA,MACA,8CAAC,gCACC;AAAA,qDAAC,iCAAS,QAAO,UAAS,MAAM,0DAA0DA,SAAQ,OAAO,IAAI,SAAQ,YAAW,kBAEhI;AAAA,QACA,6CAAC,iCAAS,QAAO,UAAS,MAAM,mEAAmEA,SAAQ,OAAO,IAAI,SAAQ,YAAW,sBAEzI;AAAA,QACA,6CAAC,iCAAS,QAAO,UAAS,MAAM,gEAAgEA,SAAQ,OAAO,IAAI,SAAQ,YAAW,mBAEtI;AAAA,SACF;AAAA,OACF;AAAA,KACF;AAEJ;;;AE5EA,6BAAoC;AACpC,0BAAiC;AACjC,2BAAkC;AAClC,wBAA+B;AAC/B,sBAAmC;AACnC,2BAAkC;;;ACLlC,gCAAmC;AAMW,IAAAC,sBAAA;AADvC,IAAM,iBAAgE,CAAC,EAAE,QAAAC,SAAQ,GAAG,MAAM,MAAM;AACrG,SAAO,6CAAC,iBAAc,QAAQA,SAAQ,MAAM,6CAAC,0BAAAC,SAAA,EAAuB,GAAK,GAAG,OAAO;AACrF;;;ACPA,wBAA2B;AAC3B,IAAAC,wBAA2B;AAE3B,IAAAC,qBAAmC;AAkBM,IAAAC,sBAAA;AAdlC,IAAM,cAA0D,CAAC,EAAE,QAAAC,SAAQ,GAAG,MAAM,MAAM;AAC/F,QAAM,CAAC,QAAQ,QAAI,kCAAW,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,kBAAAC,SAAA,EAAe,GAAK,GAAG,OAC1D,oCAA0B,UAAa,2BAA2B,UAAa,yBAAyB,SACrG,IAAI,qBAAqB,KAAK,sBAAsB,UAAK,oBAAoB,YAC7E,MACN;AAEJ;;;AC3BA,0BAA6B;AAMiB,IAAAC,sBAAA;AADvC,IAAM,kBAAkE,CAAC,EAAE,QAAAC,SAAQ,GAAG,MAAM,MAAM;AACvG,SAAO,6CAAC,iBAAc,QAAQA,SAAQ,MAAM,6CAAC,oBAAAC,SAAA,EAAiB,GAAK,GAAG,OAAO;AAC/E;;;ACPA,+BAAkC;AAMY,IAAAC,sBAAA;AADvC,IAAM,iBAAgE,CAAC,EAAE,QAAAC,SAAQ,GAAG,MAAM,MAAM;AACrG,SAAO,6CAAC,iBAAc,QAAQA,SAAQ,MAAM,6CAAC,yBAAAC,SAAA,EAAsB,GAAK,GAAG,OAAO;AACpF;;;AJUW,IAAAC,uBAAA;AAFJ,IAAM,qBAAmD,CAAC,EAAE,QAAAC,SAAQ,GAAG,MAAM,MAAM;AACxF,UAAI,4CAAoBA,OAAM,GAAG;AAC/B,WAAO,8CAAC,oBAAiB,QAAQA,SAAS,GAAG,OAAO;AAAA,EACtD;AACA,UAAI,wCAAkBA,OAAM,GAAG;AAC7B,WAAO,8CAAC,kBAAe,QAAQA,SAAS,GAAG,OAAO;AAAA,EACpD;AACA,UAAI,kCAAeA,OAAM,GAAG;AAC1B,WAAO,8CAAC,eAAY,QAAQA,SAAS,GAAG,OAAO;AAAA,EACjD;AACA,UAAI,wCAAkBA,OAAM,GAAG;AAC7B,WAAO,8CAAC,kBAAe,QAAQA,SAAS,GAAG,OAAO;AAAA,EACpD;AACA,UAAI,sCAAiBA,OAAM,GAAG;AAC5B,WAAO,8CAAC,iBAAc,QAAQA,SAAS,GAAG,OAAO;AAAA,EACnD;AACA,UAAI,oCAAmBA,OAAM,GAAG;AAC9B,WAAO,8CAAC,mBAAgB,QAAQA,SAAS,GAAG,OAAO;AAAA,EACrD;AACA,SAAO,8CAAC,iBAAc,QAAQA,SAAS,GAAG,OAAO;AACnD;;;AHrBI,IAAAC,uBAAA;AAFG,IAAM,kBAAkD,CAAC,EAAE,QAAAC,SAAQ,GAAG,MAAM,MAAM;AACvF,SACE,+CAAC,8BAAW,GAAG,OACb;AAAA,kDAAC,qCAAiB,YAAY,8CAAC,kBAAAC,SAAA,EAAe,GAC5C,wDAAC,sBAAmB,QAAQD,SAAQ,GACtC;AAAA,IACA,8CAAC,qCACC,wDAAC,iBAAc,QAAQA,SAAQ,GACjC;AAAA,KACF;AAEJ;;;ADNQ,IAAAE,uBAAA;AARD,IAAM,cAAyC,CAAC,EAAE,QAAAC,SAAQ,GAAG,MAAM,MAAM;AAC9E,QAAM,CAAC,OAAOA,OAAM,QAAI,oCAAgB;AAExC,QAAM,CAAC,QAAQ,QAAI,uCAAmB,QAAW,EAAE,MAAM,QAAQ,OAAU,CAAC;AAE5E,SACE,8CAAC,iCAAQ,YAAW,WAAW,GAAG,OAC/B,qBACC,+EACE,wDAAC,iCAAQ,YAAW,WAAU,SAAS,GACpC,oBAAU,IAAI,CAAC,UAAU,8CAAC,mBAAoC,QAAQ,SAAvB,MAAM,OAAwB,CAAE,GAClF,GACF,IACE,MACN;AAEJ;;;ADjBI,IAAAC,uBAAA;AAFG,IAAM,cAA0C,CAAC,EAAE,SAAS,GAAG,MAAM,MAAM;AAChF,SACE,+CAAC,2BAAQ,GAAG,OACV;AAAA,kDAAC,gCAAY,+BAAiB;AAAA,IAC9B,8CAAC,kCACC,wDAAC,eAAY,OAAM,QAAO,GAC5B;AAAA,IACA,8CAAC,kCACC,wDAAC,2BAAO,SAAS,CAAC,UAAU,UAAU,OAAO,eAAe,GAAG,mBAAK,GACtE;AAAA,KACF;AAEJ;;;AUlBA,IAAAC,mBAAsB;AACtB,IAAAC,gBAAsB;AACtB,oBAAuB;AACvB,gCAA+B;AAE/B,IAAAC,wBAAsC;AAGtC,IAAAC,qBAAgC;AAChC,IAAAC,gBAAiD;;;ACTjD,IAAAC,mBAA2B;AAC3B,IAAAC,uBAAwC;AACxC,IAAAC,wBAAiC;AACjC,IAAAC,gBAAyB;;;;;;;;;ACHzB,IAAAC,wBAAsC;AACtC,IAAAC,gBAAyB;AAkCnB,IAAAC,uBAAA;AAxBC,IAAM,UAAkC,CAAC,EAAE,eAAe,MAAM,iBAAiB,KAAK,GAAG,MAAM,MAAM;AAE1G,QAAM,CAAC,aAAa,cAAc,QAAI,wBAAS,KAAK;AACpD,MAAI,CAAC,aAAa;AAChB,UAAM,MAAM,IAAI,MAAM;AACtB,QAAI,SAAS,MAAM,eAAe,IAAI;AACtC,QAAI,MAAM;AAAA,EACZ;AACA,SAAO,cACL;AAAA,IAAC;AAAA;AAAA,MACC,IAAI;AAAA,QACF,mBAAmB;AAAA,UACjB,MAAM;AAAA,YACJ,WAAW;AAAA,UACb;AAAA,UACA,QAAQ;AAAA,YACN,WAAW;AAAA,UACb;AAAA,QACF;AAAA,QACA,WAAW,OAAO,QAAQ,IAAI,cAAc,sBAAsB;AAAA,QAClE,oBAAoB;AAAA,MACtB;AAAA,MACC,GAAG;AAAA,MAEJ,wDAAC,SAAI,KAAK,wBAAc,QAAQ,iBAAiB,IAAI;AAAA;AAAA,EACvD,IACE;AACN;;;ADNQ,IAAAC,uBAAA;AAlBD,IAAM,qBAAwD,CAAC;AAAA,EACpE,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT,UAAU;AAAA,EACV,GAAG;AACL,MAAM;AAEJ,QAAM,CAAC,aAAa,cAAc,QAAI,wBAAS,KAAK;AACpD,QAAM,MAAM,IAAI,MAAM;AACtB,MAAI,SAAS,MAAM,eAAe,IAAI;AACtC,MAAI,MAAM;AACV,SAAO,cACL,8CAAC,iCAAS,MAAY,QAAgB,SAAkB,IAAI,EAAE,cAAc,GAAG,SAAS,GAAG,GAAG,GAAG,GAAI,GAAG,OACtG,yDAAC,iCAAQ,SAAS,KAChB;AAAA,kDAAC,+BAAW,OAAO,EAAE,UAAU,gBAAgB,GAAG,GAAG,UAAS,SAAQ,wBAEtE;AAAA,IACA,+CAAC,iCACC;AAAA,oDAAC,WAAQ,MAAY;AAAA,MACrB,8CAAC,SAAI,KAAK,kCAAkB,QAAQ,cAAc,IAAI,OAAO,IAAI;AAAA,OACnE;AAAA,KACF,GACF,IACE;AACN;;;AD+DI,IAAAC,uBAAA;AA9EG,IAAM,eAA4C,CAAC;AAAA,EACxD;AAAA,EACA;AAAA,EACA,cAAc,CAAC;AAAA,EACf,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA;AAAA,EACA,MAAM;AAAA,EACN,GAAG;AACL,MAAM;AACJ,QAAM,CAAC,IAAI,QAAI,oCAAgB;AAC/B,QAAM,CAAC,iBAAiB,kBAAkB,QAAI,wBAAS,KAAK;AAG5D,QAAM,cAAmC,uBAAQ,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;AAEnE,QAAM,aAAa,QAAQ,OAAO,OAAO,OAAO,EAAE,OAAO,CAAC,MAAM,UAAU,QAAQ,OAAO,KAAK;AAE9F,QAAM,uBACH,cACG,CAAC,UAAU;AACT,QAAI,MAAM,YAAY,MAAM,QAAQ;AAClC,yBAAmB,IAAI;AAAA,IACzB,WAAW,MAAM;AACf,aAAO,KAAK,IAAI;AAAA,IAClB;AAAA,EACF,IACA,WAAc;AAEpB,QAAM,aAAa,sBAAsB,SAAY;AAErD,QAAM,uBAAuB,CAAC,UAAyC;AACrE,QAAI,MAAM,QAAQ,YAAY,iBAAiB;AAC7C,yBAAmB,KAAK;AAAA,IAC1B;AAAA,EACF;AAEA;AAAA;AAAA,IAEE,YAAY;AACV,YAAM,aAAa,YAAY;AAC/B,UAAI,kBAAkB;AACpB;AAAA,MACF,WAAW,YAAY;AACrB,cAAM,OAAO,MAAM,YAAY,QAAQ;AACvC,cAAM,IAAI,CAAC,QAAQ;AACjB,cAAI,GAAG,cAAc,CAAC,EAAE,QAAAC,SAAQ,MAAAC,MAAK,MAAM;AACzC,oBAASD,QAAkB,OAAO,IAAIC;AACtC,gBAAI,UAAU;AACZ;AAAA,iBACG,YAAY;AACX,4BAAM,qBAAM,GAAI;AAChB,0BAASD,QAAkB,OAAO,IAAI;AAAA,gBACxC,GAAG;AAAA,cACL;AAAA,YACF;AAAA,UACF,CAAC;AAAA,QACH,CAAC;AACD,oBAAY,GAAG,cAAc,CAAC,EAAE,QAAAA,SAAQ,MAAAC,MAAK,MAAM;AACjD,kBAASD,QAAkB,OAAO,IAAIC;AACtC,cAAI,UAAU;AACZ;AAAA,eACG,YAAY;AACX,0BAAM,qBAAM,GAAI;AAChB,wBAASD,QAAkB,OAAO,IAAI;AAAA,cACxC,GAAG;AAAA,YACL;AAAA,UACF;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF;AAAA,IACA,CAAC,kBAAkB,UAAU,MAAM,SAAS,QAAQ;AAAA,EACtD;AAEA,SACE,+CAAC,iCAAQ,YAAW,WAAU,UAAS,YAAW,QAAO,KAAI,MAAK,KAAK,GAAG,OACxE;AAAA,kDAAC,0BAAM,IAAI,EAAE,cAAc,EAAE,GAC3B;AAAA,MAAC;AAAA;AAAA,QACC,SAAS;AAAA,QACT,MAAM;AAAA,QACN,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA,WAAS;AAAA,QACR,GAAG;AAAA;AAAA,IACN,GACF;AAAA,IACC,cACC,8CAAC,eAAY,YAAU,MAAC,MAAM,iBAAiB,SAAS,MAAM,mBAAmB,KAAK,GAAG,WAAW,sBAAsB,IACxH;AAAA,KACN;AAEJ;","names":["module","busy","ExtensionIcon","import_jsx_runtime","module","Inventory2RoundedIcon","import_jsx_runtime","module","InsertLinkRoundedIcon","import_material","import_react_flexbox","import_react_node","import_material","import_material","import_react_button","import_react_flexbox","import_react","import_jsx_runtime","JsonView","import_jsx_runtime","module","import_jsx_runtime","module","BubbleChartRoundedIcon","import_react_promise","import_react_node","import_jsx_runtime","module","HubRoundedIcon","import_jsx_runtime","module","TimerRoundedIcon","import_jsx_runtime","module","VisibilityRoundedIcon","import_jsx_runtime","module","import_jsx_runtime","module","ExpandMoreIcon","import_jsx_runtime","module","import_jsx_runtime","import_material","import_delay","import_react_flexbox","import_react_node","import_react","import_material","import_react_button","import_react_flexbox","import_react","import_react_flexbox","import_react","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","module","busy"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/components/ArchivistSummary.tsx","../src/components/ModuleSummary.tsx","../src/components/BridgeSummary.tsx","../src/components/DebugDialog.tsx","../src/components/NodeDetails.tsx","../src/components/ModuleAccordion.tsx","../src/components/ModuleDetails.tsx","../src/components/JsonViewerButton.tsx","../src/components/TypedModuleSummary.tsx","../src/components/DivinerSummary.tsx","../src/components/NodeSummary.tsx","../src/components/SentinelSummary.tsx","../src/components/WitnessSummary.tsx","../src/components/PoweredByXyo.tsx","../src/components/PoweredByXyoButton.tsx","../src/components/XyoBusy.tsx"],"sourcesContent":["export * from './components'\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 { Button, Dialog, DialogActions, DialogContent, DialogProps, DialogTitle } from '@mui/material'\n\nimport { NodeDetails } from './NodeDetails'\n\nexport interface DebugDialogProps extends DialogProps {}\n\nexport const DebugDialog: React.FC<DebugDialogProps> = ({ onClose, ...props }) => {\n return (\n <Dialog {...props}>\n <DialogTitle>Xyo Module Viewer</DialogTitle>\n <DialogContent>\n <NodeDetails width=\"100%\" />\n </DialogContent>\n <DialogActions>\n <Button onClick={(event) => onClose?.(event, 'backdropClick')}>Close</Button>\n </DialogActions>\n </Dialog>\n )\n}\n","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 { 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","import { Paper } from '@mui/material'\nimport { delay } from '@xylabs/delay'\nimport { forget } from '@xylabs/forget'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { ButtonExProps } from '@xylabs/react-button'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { Module } from '@xyo-network/module-model'\nimport { NodeInstance } from '@xyo-network/node-model'\nimport { useProvidedNode } from '@xyo-network/react-node'\nimport { KeyboardEvent, useMemo, useState } from 'react'\n\nimport { DebugDialog } from './DebugDialog'\nimport { PoweredByXyoButton, PoweredByXyoButtonProps } from './PoweredByXyoButton'\n\nexport interface PoweredByXyoProps extends FlexBoxProps {\n autoStop?: boolean\n busy?: boolean\n buttonProps?: PoweredByXyoButtonProps\n debugDialog?: boolean\n disableAnimation?: boolean\n href?: ButtonExProps['href']\n logoHeight?: number\n logoTextSize?: number\n node?: NodeInstance\n onButtonClick?: ButtonExProps['onClick']\n}\n\nexport const PoweredByXyo: React.FC<PoweredByXyoProps> = ({\n autoStop,\n busy,\n buttonProps = {},\n debugDialog = false,\n disableAnimation = false,\n href = 'https://xyo.network',\n logoHeight,\n logoTextSize,\n onButtonClick,\n node: propNode,\n ...props\n}) => {\n const [node] = useProvidedNode()\n const [debugDialogOpen, setDebugDialogOpen] = useState(false)\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const busyMap: Record<string, boolean> = useMemo(() => ({}), [node])\n\n const activeBusy = busy ?? Object.values(busyMap).reduce((prev, value) => prev || value, false)\n\n const activeOnButtonClick: PoweredByXyoProps['onButtonClick'] =\n (debugDialog\n ? (event) => {\n if (event.shiftKey && event.altKey) {\n setDebugDialogOpen(true)\n } else if (href) {\n window.open(href)\n }\n }\n : undefined) ?? onButtonClick\n\n const activeHref = activeOnButtonClick ? undefined : href\n\n const onKeyDownEscListener = (event: KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'Escape' && debugDialogOpen) {\n setDebugDialogOpen(false)\n }\n }\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async () => {\n const activeNode = propNode ?? node\n if (disableAnimation) {\n return\n } else if (activeNode) {\n const mods = await activeNode?.resolve()\n mods?.map((mod) => {\n mod.on('moduleBusy', ({ module, busy }) => {\n busyMap[(module as Module).address] = busy\n if (autoStop) {\n forget(\n (async () => {\n await delay(1000)\n busyMap[(module as Module).address] = false\n })(),\n )\n }\n })\n })\n activeNode?.on('moduleBusy', ({ module, busy }) => {\n busyMap[(module as Module).address] = busy\n if (autoStop) {\n forget(\n (async () => {\n await delay(1000)\n busyMap[(module as Module).address] = false\n })(),\n )\n }\n })\n }\n },\n [disableAnimation, propNode, node, busyMap, autoStop],\n )\n\n return (\n <FlexCol alignItems=\"stretch\" position=\"absolute\" bottom=\"0\" left=\"0\" {...props}>\n <Paper sx={{ borderRadius: 0 }}>\n <PoweredByXyoButton\n onClick={activeOnButtonClick}\n href={activeHref}\n busy={activeBusy}\n logoHeight={logoHeight}\n logoTextSize={logoTextSize}\n fullWidth\n {...buttonProps}\n />\n </Paper>\n {debugDialog ? (\n <DebugDialog fullScreen open={debugDialogOpen} onClose={() => setDebugDialogOpen(false)} onKeyDown={onKeyDownEscListener} />\n ) : null}\n </FlexCol>\n )\n}\n","import { Typography } from '@mui/material'\nimport { ButtonEx, ButtonExProps } from '@xylabs/react-button'\nimport { FlexCol, FlexRow } from '@xylabs/react-flexbox'\nimport { useState } from 'react'\n\nimport { xyoColorLogoText } from '../img'\nimport { XyoBusy } from './XyoBusy'\n\nexport interface PoweredByXyoButtonProps extends ButtonExProps {\n busy?: boolean\n logoHeight?: number\n logoTextSize?: number\n}\n\nexport const PoweredByXyoButton: React.FC<PoweredByXyoButtonProps> = ({\n busy = false,\n href,\n logoHeight,\n logoTextSize,\n sx,\n target = '_blank',\n variant = 'text',\n ...props\n}) => {\n //preloading image to prevent shifting\n const [imageLoaded, setImageLoaded] = useState(false)\n const img = new Image()\n img.onload = () => setImageLoaded(true)\n img.src = xyoColorLogoText\n return imageLoaded ? (\n <ButtonEx href={href} target={target} variant={variant} sx={{ borderRadius: 0, padding: 0, ...sx }} {...props}>\n <FlexCol padding={0.5}>\n <Typography style={{ fontSize: logoTextSize ?? 10 }} fontSize=\"small\">\n Powered by\n </Typography>\n <FlexRow>\n <XyoBusy busy={busy} />\n <img src={xyoColorLogoText} height={logoHeight ?? 24} width={45} />\n </FlexRow>\n </FlexCol>\n </ButtonEx>\n ) : null\n}\n","import { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { useState } from 'react'\n\nimport { xyoColorLogo } from '../img'\n\nexport type XyoBusyProps = Omit<FlexBoxProps, 'children'> & {\n busy?: boolean\n spinsPerSecond?: number\n widthInPixels?: number\n}\n\nexport const XyoBusy: React.FC<XyoBusyProps> = ({ widthInPixels, busy, spinsPerSecond = 0.5, ...props }) => {\n //preloading image to prevent shifting\n const [imageLoaded, setImageLoaded] = useState(false)\n if (!imageLoaded) {\n const img = new Image()\n img.onload = () => setImageLoaded(true)\n img.src = xyoColorLogo\n }\n return imageLoaded ? (\n <FlexCol\n sx={{\n '@keyframes spin': {\n '0%': {\n transform: 'rotate(360deg)',\n },\n '100%': {\n transform: 'rotate(0deg)',\n },\n },\n animation: busy ? `spin ${1 / spinsPerSecond}s linear infinite` : undefined,\n animationDirection: 'reverse',\n }}\n {...props}\n >\n <img src={xyoColorLogo} height={widthInPixels ?? 22} />\n </FlexCol>\n ) : null\n}\n"],"mappings":"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","names":["import_icons_material","module","busy","ExtensionIcon","import_jsx_runtime","module","Inventory2RoundedIcon","import_icons_material","import_jsx_runtime","module","InsertLinkRoundedIcon","import_material","import_react_flexbox","import_react_node","import_icons_material","import_material","import_material","import_react_button","import_react_flexbox","import_react","import_jsx_runtime","JsonView","import_jsx_runtime","module","import_icons_material","import_jsx_runtime","module","BubbleChartRoundedIcon","import_icons_material","import_react_promise","import_react_node","import_jsx_runtime","module","HubRoundedIcon","import_icons_material","import_jsx_runtime","module","TimerRoundedIcon","import_icons_material","import_jsx_runtime","module","VisibilityRoundedIcon","import_jsx_runtime","module","import_jsx_runtime","module","ExpandMoreIcon","import_jsx_runtime","module","import_jsx_runtime","import_material","import_delay","import_react_flexbox","import_react_node","import_react","import_material","import_react_button","import_react_flexbox","import_react","import_react_flexbox","import_react","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","module","busy"]}
|
package/dist/index.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// src/components/ArchivistSummary.tsx
|
|
2
|
-
import Inventory2RoundedIcon from "@mui/icons-material
|
|
2
|
+
import { Inventory2Rounded as Inventory2RoundedIcon } from "@mui/icons-material";
|
|
3
3
|
|
|
4
4
|
// src/components/ModuleSummary.tsx
|
|
5
|
-
import ExtensionIcon from "@mui/icons-material
|
|
5
|
+
import { Extension as ExtensionIcon } from "@mui/icons-material";
|
|
6
6
|
import { delay } from "@xylabs/delay";
|
|
7
7
|
import { FlexCol, FlexRow } from "@xylabs/react-flexbox";
|
|
8
8
|
import { useModulesFromNode } from "@xyo-network/react-node";
|
|
@@ -36,7 +36,7 @@ var ArchivistSummary = ({ module, ...props }) => {
|
|
|
36
36
|
};
|
|
37
37
|
|
|
38
38
|
// src/components/BridgeSummary.tsx
|
|
39
|
-
import InsertLinkRoundedIcon from "@mui/icons-material
|
|
39
|
+
import { InsertLinkRounded as InsertLinkRoundedIcon } from "@mui/icons-material";
|
|
40
40
|
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
41
41
|
var BridgeSummary = ({ module, ...props }) => {
|
|
42
42
|
return /* @__PURE__ */ jsx3(ModuleSummary, { module, icon: /* @__PURE__ */ jsx3(InsertLinkRoundedIcon, {}), ...props });
|
|
@@ -50,7 +50,7 @@ import { FlexCol as FlexCol3 } from "@xylabs/react-flexbox";
|
|
|
50
50
|
import { useModulesFromNode as useModulesFromNode3, useProvidedNode } from "@xyo-network/react-node";
|
|
51
51
|
|
|
52
52
|
// src/components/ModuleAccordion.tsx
|
|
53
|
-
import ExpandMoreIcon from "@mui/icons-material
|
|
53
|
+
import { ExpandMore as ExpandMoreIcon } from "@mui/icons-material";
|
|
54
54
|
import { Accordion, AccordionDetails, AccordionSummary } from "@mui/material";
|
|
55
55
|
|
|
56
56
|
// src/components/ModuleDetails.tsx
|
|
@@ -120,14 +120,14 @@ import { isSentinelInstance } from "@xyo-network/sentinel";
|
|
|
120
120
|
import { isWitnessInstance } from "@xyo-network/witness-model";
|
|
121
121
|
|
|
122
122
|
// src/components/DivinerSummary.tsx
|
|
123
|
-
import BubbleChartRoundedIcon from "@mui/icons-material
|
|
123
|
+
import { BubbleChartRounded as BubbleChartRoundedIcon } from "@mui/icons-material";
|
|
124
124
|
import { jsx as jsx6 } from "react/jsx-runtime";
|
|
125
125
|
var DivinerSummary = ({ module, ...props }) => {
|
|
126
126
|
return /* @__PURE__ */ jsx6(ModuleSummary, { module, icon: /* @__PURE__ */ jsx6(BubbleChartRoundedIcon, {}), ...props });
|
|
127
127
|
};
|
|
128
128
|
|
|
129
129
|
// src/components/NodeSummary.tsx
|
|
130
|
-
import HubRoundedIcon from "@mui/icons-material
|
|
130
|
+
import { HubRounded as HubRoundedIcon } from "@mui/icons-material";
|
|
131
131
|
import { usePromise as usePromise2 } from "@xylabs/react-promise";
|
|
132
132
|
import { useModulesFromNode as useModulesFromNode2 } from "@xyo-network/react-node";
|
|
133
133
|
import { jsx as jsx7 } from "react/jsx-runtime";
|
|
@@ -144,14 +144,14 @@ var NodeSummary = ({ module, ...props }) => {
|
|
|
144
144
|
};
|
|
145
145
|
|
|
146
146
|
// src/components/SentinelSummary.tsx
|
|
147
|
-
import TimerRoundedIcon from "@mui/icons-material
|
|
147
|
+
import { TimerRounded as TimerRoundedIcon } from "@mui/icons-material";
|
|
148
148
|
import { jsx as jsx8 } from "react/jsx-runtime";
|
|
149
149
|
var SentinelSummary = ({ module, ...props }) => {
|
|
150
150
|
return /* @__PURE__ */ jsx8(ModuleSummary, { module, icon: /* @__PURE__ */ jsx8(TimerRoundedIcon, {}), ...props });
|
|
151
151
|
};
|
|
152
152
|
|
|
153
153
|
// src/components/WitnessSummary.tsx
|
|
154
|
-
import VisibilityRoundedIcon from "@mui/icons-material
|
|
154
|
+
import { VisibilityRounded as VisibilityRoundedIcon } from "@mui/icons-material";
|
|
155
155
|
import { jsx as jsx9 } from "react/jsx-runtime";
|
|
156
156
|
var WitnessSummary = ({ module, ...props }) => {
|
|
157
157
|
return /* @__PURE__ */ jsx9(ModuleSummary, { module, icon: /* @__PURE__ */ jsx9(VisibilityRoundedIcon, {}), ...props });
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ArchivistSummary.tsx","../src/components/ModuleSummary.tsx","../src/components/BridgeSummary.tsx","../src/components/DebugDialog.tsx","../src/components/NodeDetails.tsx","../src/components/ModuleAccordion.tsx","../src/components/ModuleDetails.tsx","../src/components/JsonViewerButton.tsx","../src/components/TypedModuleSummary.tsx","../src/components/DivinerSummary.tsx","../src/components/NodeSummary.tsx","../src/components/SentinelSummary.tsx","../src/components/WitnessSummary.tsx","../src/components/PoweredByXyo.tsx","../src/components/PoweredByXyoButton.tsx","../src/components/XyoBusy.tsx"],"sourcesContent":["import Inventory2RoundedIcon from '@mui/icons-material/Inventory2Rounded'\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 ExtensionIcon from '@mui/icons-material/Extension'\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 InsertLinkRoundedIcon from '@mui/icons-material/InsertLinkRounded'\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 { Button, Dialog, DialogActions, DialogContent, DialogProps, DialogTitle } from '@mui/material'\n\nimport { NodeDetails } from './NodeDetails'\n\nexport interface DebugDialogProps extends DialogProps {}\n\nexport const DebugDialog: React.FC<DebugDialogProps> = ({ onClose, ...props }) => {\n return (\n <Dialog {...props}>\n <DialogTitle>Xyo Module Viewer</DialogTitle>\n <DialogContent>\n <NodeDetails width=\"100%\" />\n </DialogContent>\n <DialogActions>\n <Button onClick={(event) => onClose?.(event, 'backdropClick')}>Close</Button>\n </DialogActions>\n </Dialog>\n )\n}\n","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 ExpandMoreIcon from '@mui/icons-material/ExpandMore'\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 BubbleChartRoundedIcon from '@mui/icons-material/BubbleChartRounded'\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 HubRoundedIcon from '@mui/icons-material/HubRounded'\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 TimerRoundedIcon from '@mui/icons-material/TimerRounded'\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 VisibilityRoundedIcon from '@mui/icons-material/VisibilityRounded'\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","import { Paper } from '@mui/material'\nimport { delay } from '@xylabs/delay'\nimport { forget } from '@xylabs/forget'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { ButtonExProps } from '@xylabs/react-button'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { Module } from '@xyo-network/module-model'\nimport { NodeInstance } from '@xyo-network/node-model'\nimport { useProvidedNode } from '@xyo-network/react-node'\nimport { KeyboardEvent, useMemo, useState } from 'react'\n\nimport { DebugDialog } from './DebugDialog'\nimport { PoweredByXyoButton, PoweredByXyoButtonProps } from './PoweredByXyoButton'\n\nexport interface PoweredByXyoProps extends FlexBoxProps {\n autoStop?: boolean\n busy?: boolean\n buttonProps?: PoweredByXyoButtonProps\n debugDialog?: boolean\n disableAnimation?: boolean\n href?: ButtonExProps['href']\n logoHeight?: number\n logoTextSize?: number\n node?: NodeInstance\n onButtonClick?: ButtonExProps['onClick']\n}\n\nexport const PoweredByXyo: React.FC<PoweredByXyoProps> = ({\n autoStop,\n busy,\n buttonProps = {},\n debugDialog = false,\n disableAnimation = false,\n href = 'https://xyo.network',\n logoHeight,\n logoTextSize,\n onButtonClick,\n node: propNode,\n ...props\n}) => {\n const [node] = useProvidedNode()\n const [debugDialogOpen, setDebugDialogOpen] = useState(false)\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const busyMap: Record<string, boolean> = useMemo(() => ({}), [node])\n\n const activeBusy = busy ?? Object.values(busyMap).reduce((prev, value) => prev || value, false)\n\n const activeOnButtonClick: PoweredByXyoProps['onButtonClick'] =\n (debugDialog\n ? (event) => {\n if (event.shiftKey && event.altKey) {\n setDebugDialogOpen(true)\n } else if (href) {\n window.open(href)\n }\n }\n : undefined) ?? onButtonClick\n\n const activeHref = activeOnButtonClick ? undefined : href\n\n const onKeyDownEscListener = (event: KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'Escape' && debugDialogOpen) {\n setDebugDialogOpen(false)\n }\n }\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async () => {\n const activeNode = propNode ?? node\n if (disableAnimation) {\n return\n } else if (activeNode) {\n const mods = await activeNode?.resolve()\n mods?.map((mod) => {\n mod.on('moduleBusy', ({ module, busy }) => {\n busyMap[(module as Module).address] = busy\n if (autoStop) {\n forget(\n (async () => {\n await delay(1000)\n busyMap[(module as Module).address] = false\n })(),\n )\n }\n })\n })\n activeNode?.on('moduleBusy', ({ module, busy }) => {\n busyMap[(module as Module).address] = busy\n if (autoStop) {\n forget(\n (async () => {\n await delay(1000)\n busyMap[(module as Module).address] = false\n })(),\n )\n }\n })\n }\n },\n [disableAnimation, propNode, node, busyMap, autoStop],\n )\n\n return (\n <FlexCol alignItems=\"stretch\" position=\"absolute\" bottom=\"0\" left=\"0\" {...props}>\n <Paper sx={{ borderRadius: 0 }}>\n <PoweredByXyoButton\n onClick={activeOnButtonClick}\n href={activeHref}\n busy={activeBusy}\n logoHeight={logoHeight}\n logoTextSize={logoTextSize}\n fullWidth\n {...buttonProps}\n />\n </Paper>\n {debugDialog ? (\n <DebugDialog fullScreen open={debugDialogOpen} onClose={() => setDebugDialogOpen(false)} onKeyDown={onKeyDownEscListener} />\n ) : null}\n </FlexCol>\n )\n}\n","import { Typography } from '@mui/material'\nimport { ButtonEx, ButtonExProps } from '@xylabs/react-button'\nimport { FlexCol, FlexRow } from '@xylabs/react-flexbox'\nimport { useState } from 'react'\n\nimport { xyoColorLogoText } from '../img'\nimport { XyoBusy } from './XyoBusy'\n\nexport interface PoweredByXyoButtonProps extends ButtonExProps {\n busy?: boolean\n logoHeight?: number\n logoTextSize?: number\n}\n\nexport const PoweredByXyoButton: React.FC<PoweredByXyoButtonProps> = ({\n busy = false,\n href,\n logoHeight,\n logoTextSize,\n sx,\n target = '_blank',\n variant = 'text',\n ...props\n}) => {\n //preloading image to prevent shifting\n const [imageLoaded, setImageLoaded] = useState(false)\n const img = new Image()\n img.onload = () => setImageLoaded(true)\n img.src = xyoColorLogoText\n return imageLoaded ? (\n <ButtonEx href={href} target={target} variant={variant} sx={{ borderRadius: 0, padding: 0, ...sx }} {...props}>\n <FlexCol padding={0.5}>\n <Typography style={{ fontSize: logoTextSize ?? 10 }} fontSize=\"small\">\n Powered by\n </Typography>\n <FlexRow>\n <XyoBusy busy={busy} />\n <img src={xyoColorLogoText} height={logoHeight ?? 24} width={45} />\n </FlexRow>\n </FlexCol>\n </ButtonEx>\n ) : null\n}\n","import { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { useState } from 'react'\n\nimport { xyoColorLogo } from '../img'\n\nexport type XyoBusyProps = Omit<FlexBoxProps, 'children'> & {\n busy?: boolean\n spinsPerSecond?: number\n widthInPixels?: number\n}\n\nexport const XyoBusy: React.FC<XyoBusyProps> = ({ widthInPixels, busy, spinsPerSecond = 0.5, ...props }) => {\n //preloading image to prevent shifting\n const [imageLoaded, setImageLoaded] = useState(false)\n if (!imageLoaded) {\n const img = new Image()\n img.onload = () => setImageLoaded(true)\n img.src = xyoColorLogo\n }\n return imageLoaded ? (\n <FlexCol\n sx={{\n '@keyframes spin': {\n '0%': {\n transform: 'rotate(360deg)',\n },\n '100%': {\n transform: 'rotate(0deg)',\n },\n },\n animation: busy ? `spin ${1 / spinsPerSecond}s linear infinite` : undefined,\n animationDirection: 'reverse',\n }}\n {...props}\n >\n <img src={xyoColorLogo} height={widthInPixels ?? 22} />\n </FlexCol>\n ) : null\n}\n"],"mappings":"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","names":["busy","jsx","jsx","Dialog","DialogActions","DialogContent","DialogTitle","FlexCol","useModulesFromNode","ButtonEx","FlexCol","FlexRow","useState","jsx","jsxs","jsx","jsxs","FlexCol","FlexRow","ButtonEx","jsx","usePromise","useModulesFromNode","jsx","usePromise","useModulesFromNode","jsx","jsx","jsx","jsx","jsxs","Fragment","jsx","useModulesFromNode","FlexCol","jsx","jsxs","Dialog","DialogTitle","DialogContent","DialogActions","delay","FlexCol","useProvidedNode","useState","ButtonEx","FlexCol","FlexRow","useState","FlexCol","useState","jsx","useState","FlexCol","jsx","jsxs","useState","ButtonEx","FlexCol","FlexRow","jsx","jsxs","useProvidedNode","useState","busy","delay","FlexCol"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/ArchivistSummary.tsx","../src/components/ModuleSummary.tsx","../src/components/BridgeSummary.tsx","../src/components/DebugDialog.tsx","../src/components/NodeDetails.tsx","../src/components/ModuleAccordion.tsx","../src/components/ModuleDetails.tsx","../src/components/JsonViewerButton.tsx","../src/components/TypedModuleSummary.tsx","../src/components/DivinerSummary.tsx","../src/components/NodeSummary.tsx","../src/components/SentinelSummary.tsx","../src/components/WitnessSummary.tsx","../src/components/PoweredByXyo.tsx","../src/components/PoweredByXyoButton.tsx","../src/components/XyoBusy.tsx"],"sourcesContent":["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 { Button, Dialog, DialogActions, DialogContent, DialogProps, DialogTitle } from '@mui/material'\n\nimport { NodeDetails } from './NodeDetails'\n\nexport interface DebugDialogProps extends DialogProps {}\n\nexport const DebugDialog: React.FC<DebugDialogProps> = ({ onClose, ...props }) => {\n return (\n <Dialog {...props}>\n <DialogTitle>Xyo Module Viewer</DialogTitle>\n <DialogContent>\n <NodeDetails width=\"100%\" />\n </DialogContent>\n <DialogActions>\n <Button onClick={(event) => onClose?.(event, 'backdropClick')}>Close</Button>\n </DialogActions>\n </Dialog>\n )\n}\n","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 { 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","import { Paper } from '@mui/material'\nimport { delay } from '@xylabs/delay'\nimport { forget } from '@xylabs/forget'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { ButtonExProps } from '@xylabs/react-button'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { Module } from '@xyo-network/module-model'\nimport { NodeInstance } from '@xyo-network/node-model'\nimport { useProvidedNode } from '@xyo-network/react-node'\nimport { KeyboardEvent, useMemo, useState } from 'react'\n\nimport { DebugDialog } from './DebugDialog'\nimport { PoweredByXyoButton, PoweredByXyoButtonProps } from './PoweredByXyoButton'\n\nexport interface PoweredByXyoProps extends FlexBoxProps {\n autoStop?: boolean\n busy?: boolean\n buttonProps?: PoweredByXyoButtonProps\n debugDialog?: boolean\n disableAnimation?: boolean\n href?: ButtonExProps['href']\n logoHeight?: number\n logoTextSize?: number\n node?: NodeInstance\n onButtonClick?: ButtonExProps['onClick']\n}\n\nexport const PoweredByXyo: React.FC<PoweredByXyoProps> = ({\n autoStop,\n busy,\n buttonProps = {},\n debugDialog = false,\n disableAnimation = false,\n href = 'https://xyo.network',\n logoHeight,\n logoTextSize,\n onButtonClick,\n node: propNode,\n ...props\n}) => {\n const [node] = useProvidedNode()\n const [debugDialogOpen, setDebugDialogOpen] = useState(false)\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const busyMap: Record<string, boolean> = useMemo(() => ({}), [node])\n\n const activeBusy = busy ?? Object.values(busyMap).reduce((prev, value) => prev || value, false)\n\n const activeOnButtonClick: PoweredByXyoProps['onButtonClick'] =\n (debugDialog\n ? (event) => {\n if (event.shiftKey && event.altKey) {\n setDebugDialogOpen(true)\n } else if (href) {\n window.open(href)\n }\n }\n : undefined) ?? onButtonClick\n\n const activeHref = activeOnButtonClick ? undefined : href\n\n const onKeyDownEscListener = (event: KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'Escape' && debugDialogOpen) {\n setDebugDialogOpen(false)\n }\n }\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async () => {\n const activeNode = propNode ?? node\n if (disableAnimation) {\n return\n } else if (activeNode) {\n const mods = await activeNode?.resolve()\n mods?.map((mod) => {\n mod.on('moduleBusy', ({ module, busy }) => {\n busyMap[(module as Module).address] = busy\n if (autoStop) {\n forget(\n (async () => {\n await delay(1000)\n busyMap[(module as Module).address] = false\n })(),\n )\n }\n })\n })\n activeNode?.on('moduleBusy', ({ module, busy }) => {\n busyMap[(module as Module).address] = busy\n if (autoStop) {\n forget(\n (async () => {\n await delay(1000)\n busyMap[(module as Module).address] = false\n })(),\n )\n }\n })\n }\n },\n [disableAnimation, propNode, node, busyMap, autoStop],\n )\n\n return (\n <FlexCol alignItems=\"stretch\" position=\"absolute\" bottom=\"0\" left=\"0\" {...props}>\n <Paper sx={{ borderRadius: 0 }}>\n <PoweredByXyoButton\n onClick={activeOnButtonClick}\n href={activeHref}\n busy={activeBusy}\n logoHeight={logoHeight}\n logoTextSize={logoTextSize}\n fullWidth\n {...buttonProps}\n />\n </Paper>\n {debugDialog ? (\n <DebugDialog fullScreen open={debugDialogOpen} onClose={() => setDebugDialogOpen(false)} onKeyDown={onKeyDownEscListener} />\n ) : null}\n </FlexCol>\n )\n}\n","import { Typography } from '@mui/material'\nimport { ButtonEx, ButtonExProps } from '@xylabs/react-button'\nimport { FlexCol, FlexRow } from '@xylabs/react-flexbox'\nimport { useState } from 'react'\n\nimport { xyoColorLogoText } from '../img'\nimport { XyoBusy } from './XyoBusy'\n\nexport interface PoweredByXyoButtonProps extends ButtonExProps {\n busy?: boolean\n logoHeight?: number\n logoTextSize?: number\n}\n\nexport const PoweredByXyoButton: React.FC<PoweredByXyoButtonProps> = ({\n busy = false,\n href,\n logoHeight,\n logoTextSize,\n sx,\n target = '_blank',\n variant = 'text',\n ...props\n}) => {\n //preloading image to prevent shifting\n const [imageLoaded, setImageLoaded] = useState(false)\n const img = new Image()\n img.onload = () => setImageLoaded(true)\n img.src = xyoColorLogoText\n return imageLoaded ? (\n <ButtonEx href={href} target={target} variant={variant} sx={{ borderRadius: 0, padding: 0, ...sx }} {...props}>\n <FlexCol padding={0.5}>\n <Typography style={{ fontSize: logoTextSize ?? 10 }} fontSize=\"small\">\n Powered by\n </Typography>\n <FlexRow>\n <XyoBusy busy={busy} />\n <img src={xyoColorLogoText} height={logoHeight ?? 24} width={45} />\n </FlexRow>\n </FlexCol>\n </ButtonEx>\n ) : null\n}\n","import { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { useState } from 'react'\n\nimport { xyoColorLogo } from '../img'\n\nexport type XyoBusyProps = Omit<FlexBoxProps, 'children'> & {\n busy?: boolean\n spinsPerSecond?: number\n widthInPixels?: number\n}\n\nexport const XyoBusy: React.FC<XyoBusyProps> = ({ widthInPixels, busy, spinsPerSecond = 0.5, ...props }) => {\n //preloading image to prevent shifting\n const [imageLoaded, setImageLoaded] = useState(false)\n if (!imageLoaded) {\n const img = new Image()\n img.onload = () => setImageLoaded(true)\n img.src = xyoColorLogo\n }\n return imageLoaded ? (\n <FlexCol\n sx={{\n '@keyframes spin': {\n '0%': {\n transform: 'rotate(360deg)',\n },\n '100%': {\n transform: 'rotate(0deg)',\n },\n },\n animation: busy ? `spin ${1 / spinsPerSecond}s linear infinite` : undefined,\n animationDirection: 'reverse',\n }}\n {...props}\n >\n <img src={xyoColorLogo} height={widthInPixels ?? 22} />\n </FlexCol>\n ) : null\n}\n"],"mappings":"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","names":["busy","jsx","jsx","Dialog","DialogActions","DialogContent","DialogTitle","FlexCol","useModulesFromNode","ButtonEx","FlexCol","FlexRow","useState","jsx","jsxs","jsx","jsxs","FlexCol","FlexRow","ButtonEx","jsx","usePromise","useModulesFromNode","jsx","usePromise","useModulesFromNode","jsx","jsx","jsx","jsx","jsxs","Fragment","jsx","useModulesFromNode","FlexCol","jsx","jsxs","Dialog","DialogTitle","DialogContent","DialogActions","delay","FlexCol","useProvidedNode","useState","ButtonEx","FlexCol","FlexRow","useState","FlexCol","useState","jsx","useState","FlexCol","jsx","jsxs","useState","ButtonEx","FlexCol","FlexRow","jsx","jsxs","useProvidedNode","useState","busy","delay","FlexCol"]}
|
package/package.json
CHANGED
|
@@ -12,20 +12,20 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@xylabs/delay": "^2.11.7",
|
|
14
14
|
"@xylabs/forget": "^2.11.7",
|
|
15
|
-
"@xylabs/react-async-effect": "
|
|
16
|
-
"@xylabs/react-button": "
|
|
17
|
-
"@xylabs/react-flexbox": "
|
|
18
|
-
"@xylabs/react-promise": "
|
|
19
|
-
"@xyo-network/archivist-model": "^2.74.
|
|
20
|
-
"@xyo-network/bridge-model": "^2.74.
|
|
21
|
-
"@xyo-network/diviner-model": "^2.74.
|
|
22
|
-
"@xyo-network/module-model": "^2.74.
|
|
23
|
-
"@xyo-network/node-model": "^2.74.
|
|
24
|
-
"@xyo-network/react-node": "~2.
|
|
25
|
-
"@xyo-network/react-property": "~2.
|
|
26
|
-
"@xyo-network/react-shared": "~2.
|
|
27
|
-
"@xyo-network/sentinel": "^2.74.
|
|
28
|
-
"@xyo-network/witness-model": "^2.74.
|
|
15
|
+
"@xylabs/react-async-effect": "^3.1.0-rc.3",
|
|
16
|
+
"@xylabs/react-button": "^3.1.0-rc.3",
|
|
17
|
+
"@xylabs/react-flexbox": "^3.1.0-rc.3",
|
|
18
|
+
"@xylabs/react-promise": "^3.1.0-rc.3",
|
|
19
|
+
"@xyo-network/archivist-model": "^2.74.4",
|
|
20
|
+
"@xyo-network/bridge-model": "^2.74.4",
|
|
21
|
+
"@xyo-network/diviner-model": "^2.74.4",
|
|
22
|
+
"@xyo-network/module-model": "^2.74.4",
|
|
23
|
+
"@xyo-network/node-model": "^2.74.4",
|
|
24
|
+
"@xyo-network/react-node": "~2.64.0-rc.1",
|
|
25
|
+
"@xyo-network/react-property": "~2.64.0-rc.1",
|
|
26
|
+
"@xyo-network/react-shared": "~2.64.0-rc.1",
|
|
27
|
+
"@xyo-network/sentinel": "^2.74.4",
|
|
28
|
+
"@xyo-network/witness-model": "^2.74.4",
|
|
29
29
|
"react-json-view": "^1.21.3"
|
|
30
30
|
},
|
|
31
31
|
"peerDependencies": {
|
|
@@ -40,8 +40,8 @@
|
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@storybook/react": "^7.4.3",
|
|
42
42
|
"@xylabs/ts-scripts-yarn3": "^3.0.28",
|
|
43
|
-
"@xyo-network/account": "^2.74.
|
|
44
|
-
"@xyo-network/manifest": "^2.74.
|
|
43
|
+
"@xyo-network/account": "^2.74.4",
|
|
44
|
+
"@xyo-network/manifest": "^2.74.4",
|
|
45
45
|
"typescript": "^5.2.2"
|
|
46
46
|
},
|
|
47
47
|
"description": "Common React library for all XYO projects that use React",
|
|
@@ -95,5 +95,6 @@
|
|
|
95
95
|
},
|
|
96
96
|
"sideEffects": false,
|
|
97
97
|
"types": "dist/index.d.ts",
|
|
98
|
-
"version": "2.
|
|
98
|
+
"version": "2.64.0-rc.1",
|
|
99
|
+
"stableVersion": "2.63.1"
|
|
99
100
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import Inventory2RoundedIcon from '@mui/icons-material
|
|
1
|
+
import { Inventory2Rounded as Inventory2RoundedIcon } from '@mui/icons-material'
|
|
2
2
|
import { ArchivistInstance } from '@xyo-network/archivist-model'
|
|
3
3
|
|
|
4
4
|
import { ModuleSummary, ModuleSummaryProps } from './ModuleSummary'
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import InsertLinkRoundedIcon from '@mui/icons-material
|
|
1
|
+
import { InsertLinkRounded as InsertLinkRoundedIcon } from '@mui/icons-material'
|
|
2
2
|
import { BridgeInstance } from '@xyo-network/bridge-model'
|
|
3
3
|
|
|
4
4
|
import { ModuleSummary, ModuleSummaryProps } from './ModuleSummary'
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import BubbleChartRoundedIcon from '@mui/icons-material
|
|
1
|
+
import { BubbleChartRounded as BubbleChartRoundedIcon } from '@mui/icons-material'
|
|
2
2
|
import { DivinerInstance } from '@xyo-network/diviner-model'
|
|
3
3
|
|
|
4
4
|
import { ModuleSummary, ModuleSummaryProps } from './ModuleSummary'
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import ExpandMoreIcon from '@mui/icons-material
|
|
1
|
+
import { ExpandMore as ExpandMoreIcon } from '@mui/icons-material'
|
|
2
2
|
import { ModuleInstance } from '@xyo-network/module-model'
|
|
3
3
|
|
|
4
4
|
export interface ModuleAccordionProps<T extends ModuleInstance = ModuleInstance> extends Omit<AccordionProps, 'children'> {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import ExtensionIcon from '@mui/icons-material
|
|
1
|
+
import { Extension as ExtensionIcon } from '@mui/icons-material'
|
|
2
2
|
import { delay } from '@xylabs/delay'
|
|
3
3
|
import { FlexBoxProps, FlexCol, FlexRow } from '@xylabs/react-flexbox'
|
|
4
4
|
import { ModuleInstance } from '@xyo-network/module-model'
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import HubRoundedIcon from '@mui/icons-material
|
|
1
|
+
import { HubRounded as HubRoundedIcon } from '@mui/icons-material'
|
|
2
2
|
import { usePromise } from '@xylabs/react-promise'
|
|
3
3
|
import { NodeInstance } from '@xyo-network/node-model'
|
|
4
4
|
import { useModulesFromNode } from '@xyo-network/react-node'
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import VisibilityRoundedIcon from '@mui/icons-material
|
|
1
|
+
import { VisibilityRounded as VisibilityRoundedIcon } from '@mui/icons-material'
|
|
2
2
|
import { WitnessInstance } from '@xyo-network/witness-model'
|
|
3
3
|
|
|
4
4
|
import { ModuleSummary, ModuleSummaryProps } from './ModuleSummary'
|