@xyo-network/react-archivist 2.64.9 → 2.65.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/hooks/queries/useArchivistAll.d.cts +2 -2
- package/dist/browser/hooks/queries/useArchivistAll.d.cts.map +1 -1
- package/dist/browser/hooks/queries/useArchivistAll.d.mts +2 -2
- package/dist/browser/hooks/queries/useArchivistAll.d.mts.map +1 -1
- package/dist/browser/hooks/queries/useArchivistAll.d.ts +2 -2
- package/dist/browser/hooks/queries/useArchivistAll.d.ts.map +1 -1
- package/dist/browser/hooks/queries/useArchivistGet.d.cts +2 -2
- package/dist/browser/hooks/queries/useArchivistGet.d.cts.map +1 -1
- package/dist/browser/hooks/queries/useArchivistGet.d.mts +2 -2
- package/dist/browser/hooks/queries/useArchivistGet.d.mts.map +1 -1
- package/dist/browser/hooks/queries/useArchivistGet.d.ts +2 -2
- package/dist/browser/hooks/queries/useArchivistGet.d.ts.map +1 -1
- package/dist/node/hooks/queries/useArchivistAll.d.cts +2 -2
- package/dist/node/hooks/queries/useArchivistAll.d.cts.map +1 -1
- package/dist/node/hooks/queries/useArchivistAll.d.mts +2 -2
- package/dist/node/hooks/queries/useArchivistAll.d.mts.map +1 -1
- package/dist/node/hooks/queries/useArchivistAll.d.ts +2 -2
- package/dist/node/hooks/queries/useArchivistAll.d.ts.map +1 -1
- package/dist/node/hooks/queries/useArchivistGet.d.cts +2 -2
- package/dist/node/hooks/queries/useArchivistGet.d.cts.map +1 -1
- package/dist/node/hooks/queries/useArchivistGet.d.mts +2 -2
- package/dist/node/hooks/queries/useArchivistGet.d.mts.map +1 -1
- package/dist/node/hooks/queries/useArchivistGet.d.ts +2 -2
- package/dist/node/hooks/queries/useArchivistGet.d.ts.map +1 -1
- package/package.json +20 -20
- package/dist/browser/components/Card/Card.cjs +0 -206
- package/dist/browser/components/Card/Card.cjs.map +0 -1
- package/dist/browser/components/Card/Card.js +0 -185
- package/dist/browser/components/Card/Card.js.map +0 -1
- package/dist/browser/components/Card/CardActions.cjs +0 -31
- package/dist/browser/components/Card/CardActions.cjs.map +0 -1
- package/dist/browser/components/Card/CardActions.js +0 -10
- package/dist/browser/components/Card/CardActions.js.map +0 -1
- package/dist/browser/components/Card/CardContent.cjs +0 -92
- package/dist/browser/components/Card/CardContent.cjs.map +0 -1
- package/dist/browser/components/Card/CardContent.js +0 -71
- package/dist/browser/components/Card/CardContent.js.map +0 -1
- package/dist/browser/components/Card/CardHeader.cjs +0 -125
- package/dist/browser/components/Card/CardHeader.cjs.map +0 -1
- package/dist/browser/components/Card/CardHeader.js +0 -104
- package/dist/browser/components/Card/CardHeader.js.map +0 -1
- package/dist/browser/components/Card/components/ArchivistParent.cjs +0 -36
- package/dist/browser/components/Card/components/ArchivistParent.cjs.map +0 -1
- package/dist/browser/components/Card/components/ArchivistParent.js +0 -15
- package/dist/browser/components/Card/components/ArchivistParent.js.map +0 -1
- package/dist/browser/components/Card/components/ArchivistParents.cjs +0 -60
- package/dist/browser/components/Card/components/ArchivistParents.cjs.map +0 -1
- package/dist/browser/components/Card/components/ArchivistParents.js +0 -39
- package/dist/browser/components/Card/components/ArchivistParents.js.map +0 -1
- package/dist/browser/components/Card/components/Stats/ArchivistStats.cjs +0 -39
- package/dist/browser/components/Card/components/Stats/ArchivistStats.cjs.map +0 -1
- package/dist/browser/components/Card/components/Stats/ArchivistStats.js +0 -18
- package/dist/browser/components/Card/components/Stats/ArchivistStats.js.map +0 -1
- package/dist/browser/components/Card/components/Stats/MemoryArchivistStats.cjs +0 -107
- package/dist/browser/components/Card/components/Stats/MemoryArchivistStats.cjs.map +0 -1
- package/dist/browser/components/Card/components/Stats/MemoryArchivistStats.js +0 -86
- package/dist/browser/components/Card/components/Stats/MemoryArchivistStats.js.map +0 -1
- package/dist/browser/components/Card/components/Stats/index.cjs +0 -108
- package/dist/browser/components/Card/components/Stats/index.cjs.map +0 -1
- package/dist/browser/components/Card/components/Stats/index.js +0 -85
- package/dist/browser/components/Card/components/Stats/index.js.map +0 -1
- package/dist/browser/components/Card/components/index.cjs +0 -144
- package/dist/browser/components/Card/components/index.cjs.map +0 -1
- package/dist/browser/components/Card/components/index.js +0 -121
- package/dist/browser/components/Card/components/index.js.map +0 -1
- package/dist/browser/components/Card/index.cjs +0 -210
- package/dist/browser/components/Card/index.cjs.map +0 -1
- package/dist/browser/components/Card/index.js +0 -187
- package/dist/browser/components/Card/index.js.map +0 -1
- package/dist/browser/components/Details/Details.cjs +0 -100
- package/dist/browser/components/Details/Details.cjs.map +0 -1
- package/dist/browser/components/Details/Details.js +0 -79
- package/dist/browser/components/Details/Details.js.map +0 -1
- package/dist/browser/components/Details/index.cjs +0 -102
- package/dist/browser/components/Details/index.cjs.map +0 -1
- package/dist/browser/components/Details/index.js +0 -79
- package/dist/browser/components/Details/index.js.map +0 -1
- package/dist/browser/components/index.cjs +0 -287
- package/dist/browser/components/index.cjs.map +0 -1
- package/dist/browser/components/index.js +0 -264
- package/dist/browser/components/index.js.map +0 -1
- package/dist/browser/hooks/index.cjs +0 -99
- package/dist/browser/hooks/index.cjs.map +0 -1
- package/dist/browser/hooks/index.js +0 -76
- package/dist/browser/hooks/index.js.map +0 -1
- package/dist/browser/hooks/node/index.cjs +0 -64
- package/dist/browser/hooks/node/index.cjs.map +0 -1
- package/dist/browser/hooks/node/index.js +0 -41
- package/dist/browser/hooks/node/index.js.map +0 -1
- package/dist/browser/hooks/node/useArchivistFromNode.cjs +0 -38
- package/dist/browser/hooks/node/useArchivistFromNode.cjs.map +0 -1
- package/dist/browser/hooks/node/useArchivistFromNode.js +0 -17
- package/dist/browser/hooks/node/useArchivistFromNode.js.map +0 -1
- package/dist/browser/hooks/node/useArchivistsFromNode.cjs +0 -47
- package/dist/browser/hooks/node/useArchivistsFromNode.cjs.map +0 -1
- package/dist/browser/hooks/node/useArchivistsFromNode.js +0 -26
- package/dist/browser/hooks/node/useArchivistsFromNode.js.map +0 -1
- package/dist/browser/hooks/queries/index.cjs +0 -60
- package/dist/browser/hooks/queries/index.cjs.map +0 -1
- package/dist/browser/hooks/queries/index.js +0 -37
- package/dist/browser/hooks/queries/index.js.map +0 -1
- package/dist/browser/hooks/queries/useArchivistAll.cjs +0 -44
- package/dist/browser/hooks/queries/useArchivistAll.cjs.map +0 -1
- package/dist/browser/hooks/queries/useArchivistAll.js +0 -23
- package/dist/browser/hooks/queries/useArchivistAll.js.map +0 -1
- package/dist/browser/hooks/queries/useArchivistGet.cjs +0 -37
- package/dist/browser/hooks/queries/useArchivistGet.cjs.map +0 -1
- package/dist/browser/hooks/queries/useArchivistGet.js +0 -16
- package/dist/browser/hooks/queries/useArchivistGet.js.map +0 -1
- package/dist/docs.json +0 -25256
- package/dist/node/components/Card/Card.cjs +0 -212
- package/dist/node/components/Card/Card.cjs.map +0 -1
- package/dist/node/components/Card/Card.js +0 -187
- package/dist/node/components/Card/Card.js.map +0 -1
- package/dist/node/components/Card/CardActions.cjs +0 -35
- package/dist/node/components/Card/CardActions.cjs.map +0 -1
- package/dist/node/components/Card/CardActions.js +0 -10
- package/dist/node/components/Card/CardActions.js.map +0 -1
- package/dist/node/components/Card/CardContent.cjs +0 -96
- package/dist/node/components/Card/CardContent.cjs.map +0 -1
- package/dist/node/components/Card/CardContent.js +0 -71
- package/dist/node/components/Card/CardContent.js.map +0 -1
- package/dist/node/components/Card/CardHeader.cjs +0 -131
- package/dist/node/components/Card/CardHeader.cjs.map +0 -1
- package/dist/node/components/Card/CardHeader.js +0 -106
- package/dist/node/components/Card/CardHeader.js.map +0 -1
- package/dist/node/components/Card/components/ArchivistParent.cjs +0 -40
- package/dist/node/components/Card/components/ArchivistParent.cjs.map +0 -1
- package/dist/node/components/Card/components/ArchivistParent.js +0 -15
- package/dist/node/components/Card/components/ArchivistParent.js.map +0 -1
- package/dist/node/components/Card/components/ArchivistParents.cjs +0 -64
- package/dist/node/components/Card/components/ArchivistParents.cjs.map +0 -1
- package/dist/node/components/Card/components/ArchivistParents.js +0 -39
- package/dist/node/components/Card/components/ArchivistParents.js.map +0 -1
- package/dist/node/components/Card/components/Stats/ArchivistStats.cjs +0 -43
- package/dist/node/components/Card/components/Stats/ArchivistStats.cjs.map +0 -1
- package/dist/node/components/Card/components/Stats/ArchivistStats.js +0 -18
- package/dist/node/components/Card/components/Stats/ArchivistStats.js.map +0 -1
- package/dist/node/components/Card/components/Stats/MemoryArchivistStats.cjs +0 -113
- package/dist/node/components/Card/components/Stats/MemoryArchivistStats.cjs.map +0 -1
- package/dist/node/components/Card/components/Stats/MemoryArchivistStats.js +0 -88
- package/dist/node/components/Card/components/Stats/MemoryArchivistStats.js.map +0 -1
- package/dist/node/components/Card/components/Stats/index.cjs +0 -115
- package/dist/node/components/Card/components/Stats/index.cjs.map +0 -1
- package/dist/node/components/Card/components/Stats/index.js +0 -87
- package/dist/node/components/Card/components/Stats/index.js.map +0 -1
- package/dist/node/components/Card/components/index.cjs +0 -153
- package/dist/node/components/Card/components/index.cjs.map +0 -1
- package/dist/node/components/Card/components/index.js +0 -123
- package/dist/node/components/Card/components/index.js.map +0 -1
- package/dist/node/components/Card/index.cjs +0 -218
- package/dist/node/components/Card/index.cjs.map +0 -1
- package/dist/node/components/Card/index.js +0 -189
- package/dist/node/components/Card/index.js.map +0 -1
- package/dist/node/components/Details/Details.cjs +0 -112
- package/dist/node/components/Details/Details.cjs.map +0 -1
- package/dist/node/components/Details/Details.js +0 -87
- package/dist/node/components/Details/Details.js.map +0 -1
- package/dist/node/components/Details/index.cjs +0 -114
- package/dist/node/components/Details/index.cjs.map +0 -1
- package/dist/node/components/Details/index.js +0 -87
- package/dist/node/components/Details/index.js.map +0 -1
- package/dist/node/components/index.cjs +0 -304
- package/dist/node/components/index.cjs.map +0 -1
- package/dist/node/components/index.js +0 -274
- package/dist/node/components/index.js.map +0 -1
- package/dist/node/hooks/index.cjs +0 -108
- package/dist/node/hooks/index.cjs.map +0 -1
- package/dist/node/hooks/index.js +0 -78
- package/dist/node/hooks/index.js.map +0 -1
- package/dist/node/hooks/node/index.cjs +0 -70
- package/dist/node/hooks/node/index.cjs.map +0 -1
- package/dist/node/hooks/node/index.js +0 -42
- package/dist/node/hooks/node/index.js.map +0 -1
- package/dist/node/hooks/node/useArchivistFromNode.cjs +0 -43
- package/dist/node/hooks/node/useArchivistFromNode.cjs.map +0 -1
- package/dist/node/hooks/node/useArchivistFromNode.js +0 -18
- package/dist/node/hooks/node/useArchivistFromNode.js.map +0 -1
- package/dist/node/hooks/node/useArchivistsFromNode.cjs +0 -51
- package/dist/node/hooks/node/useArchivistsFromNode.cjs.map +0 -1
- package/dist/node/hooks/node/useArchivistsFromNode.js +0 -26
- package/dist/node/hooks/node/useArchivistsFromNode.js.map +0 -1
- package/dist/node/hooks/queries/index.cjs +0 -66
- package/dist/node/hooks/queries/index.cjs.map +0 -1
- package/dist/node/hooks/queries/index.js +0 -38
- package/dist/node/hooks/queries/index.js.map +0 -1
- package/dist/node/hooks/queries/useArchivistAll.cjs +0 -49
- package/dist/node/hooks/queries/useArchivistAll.cjs.map +0 -1
- package/dist/node/hooks/queries/useArchivistAll.js +0 -24
- package/dist/node/hooks/queries/useArchivistAll.js.map +0 -1
- package/dist/node/hooks/queries/useArchivistGet.cjs +0 -41
- package/dist/node/hooks/queries/useArchivistGet.cjs.map +0 -1
- package/dist/node/hooks/queries/useArchivistGet.js +0 -16
- package/dist/node/hooks/queries/useArchivistGet.js.map +0 -1
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
// src/components/Card/Card.tsx
|
|
2
|
-
import { Card } from "@mui/material";
|
|
3
|
-
import { ModuleCardActions } from "@xyo-network/react-module";
|
|
4
|
-
|
|
5
|
-
// src/components/Card/CardContent.tsx
|
|
6
|
-
import { useAsyncEffect as useAsyncEffect2 } from "@xylabs/react-async-effect";
|
|
7
|
-
import { FlexGrowRow } from "@xylabs/react-flexbox";
|
|
8
|
-
import { ModuleWrapper } from "@xyo-network/module";
|
|
9
|
-
import { ModuleCardContent } from "@xyo-network/react-module";
|
|
10
|
-
import { useWallet } from "@xyo-network/react-wallet";
|
|
11
|
-
import { useState as useState3 } from "react";
|
|
12
|
-
|
|
13
|
-
// src/components/Card/components/ArchivistParent.tsx
|
|
14
|
-
import { ListItem, Typography } from "@mui/material";
|
|
15
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
16
|
-
var ArchivistParent = ({ archivistType, parentArchivists }) => /* @__PURE__ */ jsx(Fragment, { children: parentArchivists?.map((address) => {
|
|
17
|
-
return /* @__PURE__ */ jsx(ListItem, { children: /* @__PURE__ */ jsxs(Typography, { variant: "subtitle2", children: [
|
|
18
|
-
archivistType,
|
|
19
|
-
":",
|
|
20
|
-
" ",
|
|
21
|
-
/* @__PURE__ */ jsx(Typography, { variant: "caption", sx: { ml: 0.5 }, children: address })
|
|
22
|
-
] }) }, address);
|
|
23
|
-
}) });
|
|
24
|
-
|
|
25
|
-
// src/components/Card/components/ArchivistParents.tsx
|
|
26
|
-
import { ArrowRightRounded as ArrowRightRoundedIcon } from "@mui/icons-material";
|
|
27
|
-
import { Collapse, IconButton, List, Paper, Typography as Typography2 } from "@mui/material";
|
|
28
|
-
import { FlexCol } from "@xylabs/react-flexbox";
|
|
29
|
-
import { useState } from "react";
|
|
30
|
-
import { Fragment as Fragment2, jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
31
|
-
var ArchivistParents = ({ config, ...props }) => {
|
|
32
|
-
const [parentArchivistCollapse, setParentArchivistCollapse] = useState(false);
|
|
33
|
-
const { commit, read, write } = config?.parents ?? {};
|
|
34
|
-
return /* @__PURE__ */ jsx2(Fragment2, { children: commit || read || write ? /* @__PURE__ */ jsxs2(FlexCol, { alignItems: "start", ...props, children: [
|
|
35
|
-
/* @__PURE__ */ jsxs2("span", { onClick: () => setParentArchivistCollapse(!parentArchivistCollapse), children: [
|
|
36
|
-
/* @__PURE__ */ jsx2(Typography2, { variant: "subtitle2", sx: { cursor: "pointer", display: "inline-block" }, children: "Parents" }),
|
|
37
|
-
/* @__PURE__ */ jsx2(IconButton, { size: "small", children: /* @__PURE__ */ jsx2(ArrowRightRoundedIcon, { sx: { rotate: parentArchivistCollapse ? "90deg" : "0deg", transition: "all .25s" } }) })
|
|
38
|
-
] }),
|
|
39
|
-
/* @__PURE__ */ jsx2(Collapse, { in: parentArchivistCollapse, children: /* @__PURE__ */ jsx2(Paper, { elevation: 2, children: /* @__PURE__ */ jsxs2(List, { children: [
|
|
40
|
-
/* @__PURE__ */ jsx2(ArchivistParent, { archivistType: "Commit", parentArchivists: commit }),
|
|
41
|
-
/* @__PURE__ */ jsx2(ArchivistParent, { archivistType: "Read", parentArchivists: read }),
|
|
42
|
-
/* @__PURE__ */ jsx2(ArchivistParent, { archivistType: "Write", parentArchivists: write })
|
|
43
|
-
] }) }) })
|
|
44
|
-
] }) : null });
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
// src/components/Card/components/Stats/ArchivistStats.tsx
|
|
48
|
-
import { Badge, Tooltip } from "@mui/material";
|
|
49
|
-
import { FlexRow } from "@xylabs/react-flexbox";
|
|
50
|
-
import { BsFileEarmarkCode } from "react-icons/bs/index.js";
|
|
51
|
-
import { VscOrganization, VscSymbolMethod, VscSymbolNamespace } from "react-icons/vsc/index.js";
|
|
52
|
-
import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
53
|
-
var ArchivistStats = ({ addresses = {}, boundWitnesses, payloads, schemas = {} }) => {
|
|
54
|
-
return /* @__PURE__ */ jsxs3(FlexRow, { gap: 2, mr: 0.5, children: [
|
|
55
|
-
payloads?.length ? /* @__PURE__ */ jsx3(Tooltip, { title: "Payloads", children: /* @__PURE__ */ jsx3(Badge, { badgeContent: payloads?.length, color: "primary", children: /* @__PURE__ */ jsx3(VscSymbolNamespace, { size: 20 }) }) }) : null,
|
|
56
|
-
boundWitnesses?.length ? /* @__PURE__ */ jsx3(Tooltip, { title: "Blocks", children: /* @__PURE__ */ jsx3(Badge, { badgeContent: boundWitnesses?.length, color: "primary", children: /* @__PURE__ */ jsx3(VscSymbolMethod, { size: 20 }) }) }) : null,
|
|
57
|
-
Object.entries(schemas).length ? /* @__PURE__ */ jsx3(Tooltip, { title: "Schemas", children: /* @__PURE__ */ jsx3(Badge, { badgeContent: Object.entries(schemas).length, color: "primary", children: /* @__PURE__ */ jsx3(BsFileEarmarkCode, { size: 20 }) }) }) : null,
|
|
58
|
-
Object.entries(addresses).length ? /* @__PURE__ */ jsx3(Tooltip, { title: "Addresses", children: /* @__PURE__ */ jsx3(Badge, { badgeContent: Object.entries(addresses).length, color: "primary", children: /* @__PURE__ */ jsx3(VscOrganization, { size: 20 }) }) }) : null
|
|
59
|
-
] });
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
// src/components/Card/components/Stats/MemoryArchivistStats.tsx
|
|
63
|
-
import { useAsyncEffect } from "@xylabs/react-async-effect";
|
|
64
|
-
import { ArchivistAllQuerySchema } from "@xyo-network/archivist";
|
|
65
|
-
import { BoundWitnessSchema } from "@xyo-network/boundwitness-model";
|
|
66
|
-
import { BoundWitnessWrapper } from "@xyo-network/boundwitness-wrapper";
|
|
67
|
-
import { useCallback, useEffect, useMemo, useState as useState2 } from "react";
|
|
68
|
-
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
69
|
-
var MemoryArchivistsStats = ({ archivist }) => {
|
|
70
|
-
const [all, setAll] = useState2();
|
|
71
|
-
const getAll = useCallback(async (archivist2) => {
|
|
72
|
-
const all2 = await archivist2?.all?.();
|
|
73
|
-
setAll(all2);
|
|
74
|
-
}, []);
|
|
75
|
-
useEffect(() => {
|
|
76
|
-
const listeners = [];
|
|
77
|
-
if (archivist?.queries.includes(ArchivistAllQuerySchema)) {
|
|
78
|
-
const insertListener = archivist.on("inserted", async () => {
|
|
79
|
-
await getAll(archivist);
|
|
80
|
-
});
|
|
81
|
-
listeners.push(insertListener);
|
|
82
|
-
const clearListener = archivist.on("cleared", async () => {
|
|
83
|
-
await getAll(archivist);
|
|
84
|
-
});
|
|
85
|
-
listeners.push(clearListener);
|
|
86
|
-
}
|
|
87
|
-
return () => listeners.forEach((listener) => listener?.());
|
|
88
|
-
}, [archivist, getAll]);
|
|
89
|
-
useAsyncEffect(
|
|
90
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
91
|
-
async () => {
|
|
92
|
-
if (archivist?.queries.includes(ArchivistAllQuerySchema)) {
|
|
93
|
-
await getAll(archivist);
|
|
94
|
-
} else {
|
|
95
|
-
setAll(null);
|
|
96
|
-
}
|
|
97
|
-
},
|
|
98
|
-
[archivist, getAll]
|
|
99
|
-
);
|
|
100
|
-
const payloads = useMemo(() => all === null ? [] : all?.filter((payload) => payload.schema !== BoundWitnessSchema), [all]);
|
|
101
|
-
const boundWitnesses = useMemo(() => all === null ? [] : all?.filter((payload) => payload.schema === BoundWitnessSchema), [all]);
|
|
102
|
-
const addresses = useMemo(
|
|
103
|
-
() => all?.reduce(
|
|
104
|
-
(prev, payload) => {
|
|
105
|
-
const w = BoundWitnessWrapper.tryParse(payload);
|
|
106
|
-
w?.addresses?.forEach((address) => {
|
|
107
|
-
prev[address] = (prev[address] ?? 0) + 1;
|
|
108
|
-
});
|
|
109
|
-
return prev;
|
|
110
|
-
},
|
|
111
|
-
{}
|
|
112
|
-
) ?? {},
|
|
113
|
-
[all]
|
|
114
|
-
);
|
|
115
|
-
const schemas = useMemo(
|
|
116
|
-
() => all?.reduce(
|
|
117
|
-
(prev, payload) => {
|
|
118
|
-
prev[payload.schema] = (prev[payload.schema] ?? 0) + 1;
|
|
119
|
-
return prev;
|
|
120
|
-
},
|
|
121
|
-
{}
|
|
122
|
-
) ?? {},
|
|
123
|
-
[all]
|
|
124
|
-
);
|
|
125
|
-
return /* @__PURE__ */ jsx4(ArchivistStats, { addresses, boundWitnesses, payloads, schemas });
|
|
126
|
-
};
|
|
127
|
-
|
|
128
|
-
// src/components/Card/CardContent.tsx
|
|
129
|
-
import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
130
|
-
var ArchivistCardContent = ({ children, module, ...props }) => {
|
|
131
|
-
const [config, setConfig] = useState3();
|
|
132
|
-
const [wallet] = useWallet();
|
|
133
|
-
useAsyncEffect2(
|
|
134
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
135
|
-
async (mounted) => {
|
|
136
|
-
if (wallet && module) {
|
|
137
|
-
const wrapper = ModuleWrapper.wrap(module, wallet);
|
|
138
|
-
const payloads = await wrapper?.discover();
|
|
139
|
-
if (mounted()) {
|
|
140
|
-
setConfig(payloads?.[0]);
|
|
141
|
-
}
|
|
142
|
-
} else {
|
|
143
|
-
setConfig(void 0);
|
|
144
|
-
}
|
|
145
|
-
},
|
|
146
|
-
[module, wallet]
|
|
147
|
-
);
|
|
148
|
-
return /* @__PURE__ */ jsx5(ModuleCardContent, { module, ...props, children: /* @__PURE__ */ jsxs4(FlexGrowRow, { flexWrap: "wrap", justifyContent: "start", gap: 2, children: [
|
|
149
|
-
children,
|
|
150
|
-
/* @__PURE__ */ jsx5(ArchivistParents, { config })
|
|
151
|
-
] }) });
|
|
152
|
-
};
|
|
153
|
-
|
|
154
|
-
// src/components/Card/CardHeader.tsx
|
|
155
|
-
import { MemoryArchivistConfigSchema } from "@xyo-network/archivist";
|
|
156
|
-
import { ModuleCardHeader } from "@xyo-network/react-module";
|
|
157
|
-
import { useMemo as useMemo2 } from "react";
|
|
158
|
-
import { Fragment as Fragment3, jsx as jsx6 } from "react/jsx-runtime";
|
|
159
|
-
var ArchivistStats2 = (archivist) => {
|
|
160
|
-
switch (archivist?.config.schema) {
|
|
161
|
-
case MemoryArchivistConfigSchema:
|
|
162
|
-
return /* @__PURE__ */ jsx6(MemoryArchivistsStats, { archivist });
|
|
163
|
-
default:
|
|
164
|
-
return /* @__PURE__ */ jsx6(Fragment3, {});
|
|
165
|
-
}
|
|
166
|
-
};
|
|
167
|
-
var ArchivistCardHeader = ({ title, module, ...props }) => {
|
|
168
|
-
const Stats = useMemo2(() => ArchivistStats2(module), [module]);
|
|
169
|
-
return /* @__PURE__ */ jsx6(ModuleCardHeader, { module, title: title ?? module?.config.name ?? "Archivist", action: Stats, ...props });
|
|
170
|
-
};
|
|
171
|
-
|
|
172
|
-
// src/components/Card/Card.tsx
|
|
173
|
-
import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
174
|
-
var ArchivistCard = ({ children, module, ...props }) => {
|
|
175
|
-
return /* @__PURE__ */ jsxs5(Card, { ...props, children: [
|
|
176
|
-
/* @__PURE__ */ jsx7(ArchivistCardHeader, { module }),
|
|
177
|
-
/* @__PURE__ */ jsx7(ArchivistCardContent, { module }),
|
|
178
|
-
children,
|
|
179
|
-
/* @__PURE__ */ jsx7(ModuleCardActions, { module })
|
|
180
|
-
] });
|
|
181
|
-
};
|
|
182
|
-
export {
|
|
183
|
-
ArchivistCard
|
|
184
|
-
};
|
|
185
|
-
//# sourceMappingURL=Card.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Card/Card.tsx","../../../../src/components/Card/CardContent.tsx","../../../../src/components/Card/components/ArchivistParent.tsx","../../../../src/components/Card/components/ArchivistParents.tsx","../../../../src/components/Card/components/Stats/ArchivistStats.tsx","../../../../src/components/Card/components/Stats/MemoryArchivistStats.tsx","../../../../src/components/Card/CardHeader.tsx"],"sourcesContent":["import { Card, CardProps } from '@mui/material'\nimport { ArchivistInstance } from '@xyo-network/archivist'\nimport { ModuleCardActions, ModuleRenderProps } from '@xyo-network/react-module'\n\nimport { ArchivistCardContent } from './CardContent'\nimport { ArchivistCardHeader } from './CardHeader'\n\nexport const ArchivistCard: React.FC<CardProps & ModuleRenderProps<ArchivistInstance>> = ({ children, module, ...props }) => {\n return (\n <Card {...props}>\n <ArchivistCardHeader module={module} />\n <ArchivistCardContent module={module} />\n {children}\n <ModuleCardActions module={module} />\n </Card>\n )\n}\n","import { CardContentProps } from '@mui/material'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport { ArchivistConfig, ArchivistInstance } from '@xyo-network/archivist'\nimport { ModuleWrapper } from '@xyo-network/module'\nimport { ModuleCardContent, ModuleRenderProps } from '@xyo-network/react-module'\nimport { useWallet } from '@xyo-network/react-wallet'\nimport React, { useState } from 'react'\n\nimport { ArchivistParents } from './components'\n\nexport const ArchivistCardContent: React.FC<ModuleRenderProps<ArchivistInstance> & CardContentProps> = ({ children, module, ...props }) => {\n const [config, setConfig] = useState<ArchivistConfig>()\n const [wallet] = useWallet()\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n if (wallet && module) {\n const wrapper = ModuleWrapper.wrap(module, wallet)\n const payloads = await wrapper?.discover()\n if (mounted()) {\n setConfig(payloads?.[0] as ArchivistConfig)\n }\n } else {\n setConfig(undefined)\n }\n },\n [module, wallet],\n )\n\n return (\n <ModuleCardContent module={module} {...props}>\n <FlexGrowRow flexWrap=\"wrap\" justifyContent=\"start\" gap={2}>\n {children}\n <ArchivistParents config={config} />\n </FlexGrowRow>\n </ModuleCardContent>\n )\n}\n","import { ListItem, Typography } from '@mui/material'\n\nexport interface ArchivistTypeProps {\n archivistType?: 'Commit' | 'Read' | 'Write'\n parentArchivists?: string[]\n}\n\nexport const ArchivistParent: React.FC<ArchivistTypeProps> = ({ archivistType, parentArchivists }) => (\n <>\n {parentArchivists?.map((address) => {\n return (\n <ListItem key={address}>\n <Typography variant=\"subtitle2\">\n {archivistType}:{' '}\n <Typography variant={'caption'} sx={{ ml: 0.5 }}>\n {address}\n </Typography>\n </Typography>\n </ListItem>\n )\n })}\n </>\n)\n","import { ArrowRightRounded as ArrowRightRoundedIcon } from '@mui/icons-material'\nimport { Collapse, IconButton, List, Paper, Typography } from '@mui/material'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { ArchivistConfig } from '@xyo-network/archivist'\nimport { useState } from 'react'\n\nimport { ArchivistParent } from './ArchivistParent'\n\nexport interface ArchivistParentsProps extends FlexBoxProps {\n config?: ArchivistConfig\n}\n\nexport const ArchivistParents: React.FC<ArchivistParentsProps> = ({ config, ...props }) => {\n const [parentArchivistCollapse, setParentArchivistCollapse] = useState(false)\n\n const { commit, read, write } = config?.parents ?? {}\n\n return (\n <>\n {commit || read || write ? (\n <FlexCol alignItems=\"start\" {...props}>\n <span onClick={() => setParentArchivistCollapse(!parentArchivistCollapse)}>\n <Typography variant=\"subtitle2\" sx={{ cursor: 'pointer', display: 'inline-block' }}>\n Parents\n </Typography>\n <IconButton size=\"small\">\n <ArrowRightRoundedIcon sx={{ rotate: parentArchivistCollapse ? '90deg' : '0deg', transition: 'all .25s' }} />\n </IconButton>\n </span>\n <Collapse in={parentArchivistCollapse}>\n <Paper elevation={2}>\n <List>\n <ArchivistParent archivistType=\"Commit\" parentArchivists={commit} />\n <ArchivistParent archivistType=\"Read\" parentArchivists={read} />\n <ArchivistParent archivistType=\"Write\" parentArchivists={write} />\n </List>\n </Paper>\n </Collapse>\n </FlexCol>\n ) : null}\n </>\n )\n}\n","import { Badge, Tooltip } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { Payload } from '@xyo-network/payload-model'\n// eslint-disable-next-line import/no-internal-modules\nimport { BsFileEarmarkCode } from 'react-icons/bs/index.js'\n// eslint-disable-next-line import/no-internal-modules\nimport { VscOrganization, VscSymbolMethod, VscSymbolNamespace } from 'react-icons/vsc/index.js'\n\nexport interface ArchivistStatsProps {\n addresses?: Record<string, number>\n boundWitnesses?: Payload[] | null\n payloads?: Payload[] | null\n schemas?: Record<string, number>\n}\n\nexport const ArchivistStats: React.FC<ArchivistStatsProps> = ({ addresses = {}, boundWitnesses, payloads, schemas = {} }) => {\n return (\n <FlexRow gap={2} mr={0.5}>\n {payloads?.length ? (\n <Tooltip title=\"Payloads\">\n <Badge badgeContent={payloads?.length} color=\"primary\">\n <VscSymbolNamespace size={20} />\n </Badge>\n </Tooltip>\n ) : null}\n {boundWitnesses?.length ? (\n <Tooltip title=\"Blocks\">\n <Badge badgeContent={boundWitnesses?.length} color=\"primary\">\n <VscSymbolMethod size={20} />\n </Badge>\n </Tooltip>\n ) : null}\n {Object.entries(schemas).length ? (\n <Tooltip title=\"Schemas\">\n <Badge badgeContent={Object.entries(schemas).length} color=\"primary\">\n <BsFileEarmarkCode size={20} />\n </Badge>\n </Tooltip>\n ) : null}\n {Object.entries(addresses).length ? (\n <Tooltip title=\"Addresses\">\n <Badge badgeContent={Object.entries(addresses).length} color=\"primary\">\n <VscOrganization size={20} />\n </Badge>\n </Tooltip>\n ) : null}\n </FlexRow>\n )\n}\n","import { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { ArchivistAllQuerySchema, ArchivistInstance } from '@xyo-network/archivist'\nimport { BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport { EventUnsubscribeFunction } from '@xyo-network/module'\nimport { Payload } from '@xyo-network/payload-model'\nimport { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport { ArchivistStats } from './ArchivistStats'\n\nexport interface MemoryArchivistStatsProps {\n archivist?: ArchivistInstance\n}\n\nexport const MemoryArchivistsStats: React.FC<MemoryArchivistStatsProps> = ({ archivist }) => {\n const [all, setAll] = useState<Payload[] | null>()\n\n const getAll = useCallback(async (archivist?: ArchivistInstance) => {\n const all = await archivist?.all?.()\n setAll(all)\n }, [])\n\n useEffect(() => {\n const listeners: EventUnsubscribeFunction[] = []\n\n if (archivist?.queries.includes(ArchivistAllQuerySchema)) {\n const insertListener = archivist.on('inserted', async () => {\n await getAll(archivist)\n })\n listeners.push(insertListener)\n\n const clearListener = archivist.on('cleared', async () => {\n await getAll(archivist)\n })\n listeners.push(clearListener)\n }\n\n return () => listeners.forEach((listener) => listener?.())\n }, [archivist, getAll])\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async () => {\n if (archivist?.queries.includes(ArchivistAllQuerySchema)) {\n await getAll(archivist)\n } else {\n setAll(null)\n }\n },\n [archivist, getAll],\n )\n\n const payloads = useMemo(() => (all === null ? [] : all?.filter((payload) => payload.schema !== BoundWitnessSchema)), [all])\n const boundWitnesses = useMemo(() => (all === null ? [] : all?.filter((payload) => payload.schema === BoundWitnessSchema)), [all])\n const addresses = useMemo(\n () =>\n all?.reduce(\n (prev, payload) => {\n const w = BoundWitnessWrapper.tryParse(payload) as BoundWitnessWrapper | undefined\n w?.addresses?.forEach((address) => {\n prev[address] = (prev[address] ?? 0) + 1\n })\n return prev\n },\n {} as Record<string, number>,\n ) ?? {},\n [all],\n )\n const schemas = useMemo(\n () =>\n all?.reduce(\n (prev, payload) => {\n prev[payload.schema] = (prev[payload.schema] ?? 0) + 1\n return prev\n },\n {} as Record<string, number>,\n ) ?? {},\n [all],\n )\n\n return <ArchivistStats addresses={addresses} boundWitnesses={boundWitnesses} payloads={payloads} schemas={schemas} />\n}\n","import { CardHeaderProps } from '@mui/material'\nimport { ArchivistInstance, MemoryArchivistConfigSchema } from '@xyo-network/archivist'\nimport { ModuleCardHeader, ModuleRenderProps } from '@xyo-network/react-module'\nimport { useMemo } from 'react'\n\nimport { MemoryArchivistsStats } from './components'\n\nconst ArchivistStats = (archivist?: ArchivistInstance) => {\n switch (archivist?.config.schema) {\n case MemoryArchivistConfigSchema:\n return <MemoryArchivistsStats archivist={archivist} />\n default:\n return <></>\n }\n}\n\nexport const ArchivistCardHeader: React.FC<ModuleRenderProps<ArchivistInstance> & CardHeaderProps> = ({ title, module, ...props }) => {\n const Stats = useMemo(() => ArchivistStats(module), [module])\n return <ModuleCardHeader module={module} title={title ?? module?.config.name ?? 'Archivist'} action={Stats} {...props} />\n}\n"],"mappings":"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","names":["useAsyncEffect","useState","Typography","Fragment","jsx","jsxs","Typography","jsx","jsxs","useState","jsx","useState","archivist","all","jsx","jsxs","useState","useAsyncEffect","useMemo","Fragment","jsx","ArchivistStats","useMemo","jsx","jsxs"]}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// src/components/Card/CardActions.tsx
|
|
21
|
-
var CardActions_exports = {};
|
|
22
|
-
__export(CardActions_exports, {
|
|
23
|
-
ArchivistCardActions: () => ArchivistCardActions
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(CardActions_exports);
|
|
26
|
-
var import_react_module = require("@xyo-network/react-module");
|
|
27
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
28
|
-
var ArchivistCardActions = (props) => {
|
|
29
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_module.ModuleCardActions, { ...props });
|
|
30
|
-
};
|
|
31
|
-
//# sourceMappingURL=CardActions.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Card/CardActions.tsx"],"sourcesContent":["import { CardActionsProps } from '@mui/material'\nimport { ArchivistInstance } from '@xyo-network/archivist'\nimport { ModuleCardActions, ModuleRenderProps } from '@xyo-network/react-module'\n\nexport const ArchivistCardActions: React.FC<ModuleRenderProps<ArchivistInstance> & CardActionsProps> = (props) => {\n return <ModuleCardActions {...props} />\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,0BAAqD;AAG5C;AADF,IAAM,uBAA0F,CAAC,UAAU;AAChH,SAAO,4CAAC,yCAAmB,GAAG,OAAO;AACvC;","names":[]}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
// src/components/Card/CardActions.tsx
|
|
2
|
-
import { ModuleCardActions } from "@xyo-network/react-module";
|
|
3
|
-
import { jsx } from "react/jsx-runtime";
|
|
4
|
-
var ArchivistCardActions = (props) => {
|
|
5
|
-
return /* @__PURE__ */ jsx(ModuleCardActions, { ...props });
|
|
6
|
-
};
|
|
7
|
-
export {
|
|
8
|
-
ArchivistCardActions
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=CardActions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Card/CardActions.tsx"],"sourcesContent":["import { CardActionsProps } from '@mui/material'\nimport { ArchivistInstance } from '@xyo-network/archivist'\nimport { ModuleCardActions, ModuleRenderProps } from '@xyo-network/react-module'\n\nexport const ArchivistCardActions: React.FC<ModuleRenderProps<ArchivistInstance> & CardActionsProps> = (props) => {\n return <ModuleCardActions {...props} />\n}\n"],"mappings":";AAEA,SAAS,yBAA4C;AAG5C;AADF,IAAM,uBAA0F,CAAC,UAAU;AAChH,SAAO,oBAAC,qBAAmB,GAAG,OAAO;AACvC;","names":[]}
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// src/components/Card/CardContent.tsx
|
|
21
|
-
var CardContent_exports = {};
|
|
22
|
-
__export(CardContent_exports, {
|
|
23
|
-
ArchivistCardContent: () => ArchivistCardContent
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(CardContent_exports);
|
|
26
|
-
var import_react_async_effect = require("@xylabs/react-async-effect");
|
|
27
|
-
var import_react_flexbox2 = require("@xylabs/react-flexbox");
|
|
28
|
-
var import_module = require("@xyo-network/module");
|
|
29
|
-
var import_react_module = require("@xyo-network/react-module");
|
|
30
|
-
var import_react_wallet = require("@xyo-network/react-wallet");
|
|
31
|
-
var import_react2 = require("react");
|
|
32
|
-
|
|
33
|
-
// src/components/Card/components/ArchivistParent.tsx
|
|
34
|
-
var import_material = require("@mui/material");
|
|
35
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
36
|
-
var ArchivistParent = ({ archivistType, parentArchivists }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: parentArchivists?.map((address) => {
|
|
37
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.ListItem, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_material.Typography, { variant: "subtitle2", children: [
|
|
38
|
-
archivistType,
|
|
39
|
-
":",
|
|
40
|
-
" ",
|
|
41
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { variant: "caption", sx: { ml: 0.5 }, children: address })
|
|
42
|
-
] }) }, address);
|
|
43
|
-
}) });
|
|
44
|
-
|
|
45
|
-
// src/components/Card/components/ArchivistParents.tsx
|
|
46
|
-
var import_icons_material = require("@mui/icons-material");
|
|
47
|
-
var import_material2 = require("@mui/material");
|
|
48
|
-
var import_react_flexbox = require("@xylabs/react-flexbox");
|
|
49
|
-
var import_react = require("react");
|
|
50
|
-
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
51
|
-
var ArchivistParents = ({ config, ...props }) => {
|
|
52
|
-
const [parentArchivistCollapse, setParentArchivistCollapse] = (0, import_react.useState)(false);
|
|
53
|
-
const { commit, read, write } = config?.parents ?? {};
|
|
54
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: commit || read || write ? /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_react_flexbox.FlexCol, { alignItems: "start", ...props, children: [
|
|
55
|
-
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("span", { onClick: () => setParentArchivistCollapse(!parentArchivistCollapse), children: [
|
|
56
|
-
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_material2.Typography, { variant: "subtitle2", sx: { cursor: "pointer", display: "inline-block" }, children: "Parents" }),
|
|
57
|
-
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_material2.IconButton, { size: "small", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_icons_material.ArrowRightRounded, { sx: { rotate: parentArchivistCollapse ? "90deg" : "0deg", transition: "all .25s" } }) })
|
|
58
|
-
] }),
|
|
59
|
-
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_material2.Collapse, { in: parentArchivistCollapse, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_material2.Paper, { elevation: 2, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_material2.List, { children: [
|
|
60
|
-
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ArchivistParent, { archivistType: "Commit", parentArchivists: commit }),
|
|
61
|
-
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ArchivistParent, { archivistType: "Read", parentArchivists: read }),
|
|
62
|
-
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ArchivistParent, { archivistType: "Write", parentArchivists: write })
|
|
63
|
-
] }) }) })
|
|
64
|
-
] }) : null });
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
// src/components/Card/CardContent.tsx
|
|
68
|
-
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
69
|
-
var ArchivistCardContent = ({ children, module: module2, ...props }) => {
|
|
70
|
-
const [config, setConfig] = (0, import_react2.useState)();
|
|
71
|
-
const [wallet] = (0, import_react_wallet.useWallet)();
|
|
72
|
-
(0, import_react_async_effect.useAsyncEffect)(
|
|
73
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
74
|
-
async (mounted) => {
|
|
75
|
-
if (wallet && module2) {
|
|
76
|
-
const wrapper = import_module.ModuleWrapper.wrap(module2, wallet);
|
|
77
|
-
const payloads = await wrapper?.discover();
|
|
78
|
-
if (mounted()) {
|
|
79
|
-
setConfig(payloads?.[0]);
|
|
80
|
-
}
|
|
81
|
-
} else {
|
|
82
|
-
setConfig(void 0);
|
|
83
|
-
}
|
|
84
|
-
},
|
|
85
|
-
[module2, wallet]
|
|
86
|
-
);
|
|
87
|
-
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_module.ModuleCardContent, { module: module2, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_react_flexbox2.FlexGrowRow, { flexWrap: "wrap", justifyContent: "start", gap: 2, children: [
|
|
88
|
-
children,
|
|
89
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ArchivistParents, { config })
|
|
90
|
-
] }) });
|
|
91
|
-
};
|
|
92
|
-
//# sourceMappingURL=CardContent.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Card/CardContent.tsx","../../../../src/components/Card/components/ArchivistParent.tsx","../../../../src/components/Card/components/ArchivistParents.tsx"],"sourcesContent":["import { CardContentProps } from '@mui/material'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport { ArchivistConfig, ArchivistInstance } from '@xyo-network/archivist'\nimport { ModuleWrapper } from '@xyo-network/module'\nimport { ModuleCardContent, ModuleRenderProps } from '@xyo-network/react-module'\nimport { useWallet } from '@xyo-network/react-wallet'\nimport React, { useState } from 'react'\n\nimport { ArchivistParents } from './components'\n\nexport const ArchivistCardContent: React.FC<ModuleRenderProps<ArchivistInstance> & CardContentProps> = ({ children, module, ...props }) => {\n const [config, setConfig] = useState<ArchivistConfig>()\n const [wallet] = useWallet()\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n if (wallet && module) {\n const wrapper = ModuleWrapper.wrap(module, wallet)\n const payloads = await wrapper?.discover()\n if (mounted()) {\n setConfig(payloads?.[0] as ArchivistConfig)\n }\n } else {\n setConfig(undefined)\n }\n },\n [module, wallet],\n )\n\n return (\n <ModuleCardContent module={module} {...props}>\n <FlexGrowRow flexWrap=\"wrap\" justifyContent=\"start\" gap={2}>\n {children}\n <ArchivistParents config={config} />\n </FlexGrowRow>\n </ModuleCardContent>\n )\n}\n","import { ListItem, Typography } from '@mui/material'\n\nexport interface ArchivistTypeProps {\n archivistType?: 'Commit' | 'Read' | 'Write'\n parentArchivists?: string[]\n}\n\nexport const ArchivistParent: React.FC<ArchivistTypeProps> = ({ archivistType, parentArchivists }) => (\n <>\n {parentArchivists?.map((address) => {\n return (\n <ListItem key={address}>\n <Typography variant=\"subtitle2\">\n {archivistType}:{' '}\n <Typography variant={'caption'} sx={{ ml: 0.5 }}>\n {address}\n </Typography>\n </Typography>\n </ListItem>\n )\n })}\n </>\n)\n","import { ArrowRightRounded as ArrowRightRoundedIcon } from '@mui/icons-material'\nimport { Collapse, IconButton, List, Paper, Typography } from '@mui/material'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { ArchivistConfig } from '@xyo-network/archivist'\nimport { useState } from 'react'\n\nimport { ArchivistParent } from './ArchivistParent'\n\nexport interface ArchivistParentsProps extends FlexBoxProps {\n config?: ArchivistConfig\n}\n\nexport const ArchivistParents: React.FC<ArchivistParentsProps> = ({ config, ...props }) => {\n const [parentArchivistCollapse, setParentArchivistCollapse] = useState(false)\n\n const { commit, read, write } = config?.parents ?? {}\n\n return (\n <>\n {commit || read || write ? (\n <FlexCol alignItems=\"start\" {...props}>\n <span onClick={() => setParentArchivistCollapse(!parentArchivistCollapse)}>\n <Typography variant=\"subtitle2\" sx={{ cursor: 'pointer', display: 'inline-block' }}>\n Parents\n </Typography>\n <IconButton size=\"small\">\n <ArrowRightRoundedIcon sx={{ rotate: parentArchivistCollapse ? '90deg' : '0deg', transition: 'all .25s' }} />\n </IconButton>\n </span>\n <Collapse in={parentArchivistCollapse}>\n <Paper elevation={2}>\n <List>\n <ArchivistParent archivistType=\"Commit\" parentArchivists={commit} />\n <ArchivistParent archivistType=\"Read\" parentArchivists={read} />\n <ArchivistParent archivistType=\"Write\" parentArchivists={write} />\n </List>\n </Paper>\n </Collapse>\n </FlexCol>\n ) : null}\n </>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,gCAA+B;AAC/B,IAAAA,wBAA4B;AAE5B,oBAA8B;AAC9B,0BAAqD;AACrD,0BAA0B;AAC1B,IAAAC,gBAAgC;;;ACPhC,sBAAqC;AAQnC;AADK,IAAM,kBAAgD,CAAC,EAAE,eAAe,iBAAiB,MAC9F,2EACG,4BAAkB,IAAI,CAAC,YAAY;AAClC,SACE,4CAAC,4BACC,uDAAC,8BAAW,SAAQ,aACjB;AAAA;AAAA,IAAc;AAAA,IAAE;AAAA,IACjB,4CAAC,8BAAW,SAAS,WAAW,IAAI,EAAE,IAAI,IAAI,GAC3C,mBACH;AAAA,KACF,KANa,OAOf;AAEJ,CAAC,GACH;;;ACrBF,4BAA2D;AAC3D,IAAAC,mBAA8D;AAC9D,2BAAsC;AAEtC,mBAAyB;AAcrB,IAAAC,sBAAA;AANG,IAAM,mBAAoD,CAAC,EAAE,QAAQ,GAAG,MAAM,MAAM;AACzF,QAAM,CAAC,yBAAyB,0BAA0B,QAAI,uBAAS,KAAK;AAE5E,QAAM,EAAE,QAAQ,MAAM,MAAM,IAAI,QAAQ,WAAW,CAAC;AAEpD,SACE,6EACG,oBAAU,QAAQ,QACjB,8CAAC,gCAAQ,YAAW,SAAS,GAAG,OAC9B;AAAA,kDAAC,UAAK,SAAS,MAAM,2BAA2B,CAAC,uBAAuB,GACtE;AAAA,mDAAC,+BAAW,SAAQ,aAAY,IAAI,EAAE,QAAQ,WAAW,SAAS,eAAe,GAAG,qBAEpF;AAAA,MACA,6CAAC,+BAAW,MAAK,SACf,uDAAC,sBAAAC,mBAAA,EAAsB,IAAI,EAAE,QAAQ,0BAA0B,UAAU,QAAQ,YAAY,WAAW,GAAG,GAC7G;AAAA,OACF;AAAA,IACA,6CAAC,6BAAS,IAAI,yBACZ,uDAAC,0BAAM,WAAW,GAChB,wDAAC,yBACC;AAAA,mDAAC,mBAAgB,eAAc,UAAS,kBAAkB,QAAQ;AAAA,MAClE,6CAAC,mBAAgB,eAAc,QAAO,kBAAkB,MAAM;AAAA,MAC9D,6CAAC,mBAAgB,eAAc,SAAQ,kBAAkB,OAAO;AAAA,OAClE,GACF,GACF;AAAA,KACF,IACE,MACN;AAEJ;;;AFTM,IAAAC,sBAAA;AAtBC,IAAM,uBAA0F,CAAC,EAAE,UAAU,QAAAC,SAAQ,GAAG,MAAM,MAAM;AACzI,QAAM,CAAC,QAAQ,SAAS,QAAI,wBAA0B;AACtD,QAAM,CAAC,MAAM,QAAI,+BAAU;AAE3B;AAAA;AAAA,IAEE,OAAO,YAAY;AACjB,UAAI,UAAUA,SAAQ;AACpB,cAAM,UAAU,4BAAc,KAAKA,SAAQ,MAAM;AACjD,cAAM,WAAW,MAAM,SAAS,SAAS;AACzC,YAAI,QAAQ,GAAG;AACb,oBAAU,WAAW,CAAC,CAAoB;AAAA,QAC5C;AAAA,MACF,OAAO;AACL,kBAAU,MAAS;AAAA,MACrB;AAAA,IACF;AAAA,IACA,CAACA,SAAQ,MAAM;AAAA,EACjB;AAEA,SACE,6CAAC,yCAAkB,QAAQA,SAAS,GAAG,OACrC,wDAAC,qCAAY,UAAS,QAAO,gBAAe,SAAQ,KAAK,GACtD;AAAA;AAAA,IACD,6CAAC,oBAAiB,QAAgB;AAAA,KACpC,GACF;AAEJ;","names":["import_react_flexbox","import_react","import_material","import_jsx_runtime","ArrowRightRoundedIcon","import_jsx_runtime","module"]}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
// src/components/Card/CardContent.tsx
|
|
2
|
-
import { useAsyncEffect } from "@xylabs/react-async-effect";
|
|
3
|
-
import { FlexGrowRow } from "@xylabs/react-flexbox";
|
|
4
|
-
import { ModuleWrapper } from "@xyo-network/module";
|
|
5
|
-
import { ModuleCardContent } from "@xyo-network/react-module";
|
|
6
|
-
import { useWallet } from "@xyo-network/react-wallet";
|
|
7
|
-
import { useState as useState2 } from "react";
|
|
8
|
-
|
|
9
|
-
// src/components/Card/components/ArchivistParent.tsx
|
|
10
|
-
import { ListItem, Typography } from "@mui/material";
|
|
11
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
12
|
-
var ArchivistParent = ({ archivistType, parentArchivists }) => /* @__PURE__ */ jsx(Fragment, { children: parentArchivists?.map((address) => {
|
|
13
|
-
return /* @__PURE__ */ jsx(ListItem, { children: /* @__PURE__ */ jsxs(Typography, { variant: "subtitle2", children: [
|
|
14
|
-
archivistType,
|
|
15
|
-
":",
|
|
16
|
-
" ",
|
|
17
|
-
/* @__PURE__ */ jsx(Typography, { variant: "caption", sx: { ml: 0.5 }, children: address })
|
|
18
|
-
] }) }, address);
|
|
19
|
-
}) });
|
|
20
|
-
|
|
21
|
-
// src/components/Card/components/ArchivistParents.tsx
|
|
22
|
-
import { ArrowRightRounded as ArrowRightRoundedIcon } from "@mui/icons-material";
|
|
23
|
-
import { Collapse, IconButton, List, Paper, Typography as Typography2 } from "@mui/material";
|
|
24
|
-
import { FlexCol } from "@xylabs/react-flexbox";
|
|
25
|
-
import { useState } from "react";
|
|
26
|
-
import { Fragment as Fragment2, jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
27
|
-
var ArchivistParents = ({ config, ...props }) => {
|
|
28
|
-
const [parentArchivistCollapse, setParentArchivistCollapse] = useState(false);
|
|
29
|
-
const { commit, read, write } = config?.parents ?? {};
|
|
30
|
-
return /* @__PURE__ */ jsx2(Fragment2, { children: commit || read || write ? /* @__PURE__ */ jsxs2(FlexCol, { alignItems: "start", ...props, children: [
|
|
31
|
-
/* @__PURE__ */ jsxs2("span", { onClick: () => setParentArchivistCollapse(!parentArchivistCollapse), children: [
|
|
32
|
-
/* @__PURE__ */ jsx2(Typography2, { variant: "subtitle2", sx: { cursor: "pointer", display: "inline-block" }, children: "Parents" }),
|
|
33
|
-
/* @__PURE__ */ jsx2(IconButton, { size: "small", children: /* @__PURE__ */ jsx2(ArrowRightRoundedIcon, { sx: { rotate: parentArchivistCollapse ? "90deg" : "0deg", transition: "all .25s" } }) })
|
|
34
|
-
] }),
|
|
35
|
-
/* @__PURE__ */ jsx2(Collapse, { in: parentArchivistCollapse, children: /* @__PURE__ */ jsx2(Paper, { elevation: 2, children: /* @__PURE__ */ jsxs2(List, { children: [
|
|
36
|
-
/* @__PURE__ */ jsx2(ArchivistParent, { archivistType: "Commit", parentArchivists: commit }),
|
|
37
|
-
/* @__PURE__ */ jsx2(ArchivistParent, { archivistType: "Read", parentArchivists: read }),
|
|
38
|
-
/* @__PURE__ */ jsx2(ArchivistParent, { archivistType: "Write", parentArchivists: write })
|
|
39
|
-
] }) }) })
|
|
40
|
-
] }) : null });
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
// src/components/Card/CardContent.tsx
|
|
44
|
-
import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
45
|
-
var ArchivistCardContent = ({ children, module, ...props }) => {
|
|
46
|
-
const [config, setConfig] = useState2();
|
|
47
|
-
const [wallet] = useWallet();
|
|
48
|
-
useAsyncEffect(
|
|
49
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
50
|
-
async (mounted) => {
|
|
51
|
-
if (wallet && module) {
|
|
52
|
-
const wrapper = ModuleWrapper.wrap(module, wallet);
|
|
53
|
-
const payloads = await wrapper?.discover();
|
|
54
|
-
if (mounted()) {
|
|
55
|
-
setConfig(payloads?.[0]);
|
|
56
|
-
}
|
|
57
|
-
} else {
|
|
58
|
-
setConfig(void 0);
|
|
59
|
-
}
|
|
60
|
-
},
|
|
61
|
-
[module, wallet]
|
|
62
|
-
);
|
|
63
|
-
return /* @__PURE__ */ jsx3(ModuleCardContent, { module, ...props, children: /* @__PURE__ */ jsxs3(FlexGrowRow, { flexWrap: "wrap", justifyContent: "start", gap: 2, children: [
|
|
64
|
-
children,
|
|
65
|
-
/* @__PURE__ */ jsx3(ArchivistParents, { config })
|
|
66
|
-
] }) });
|
|
67
|
-
};
|
|
68
|
-
export {
|
|
69
|
-
ArchivistCardContent
|
|
70
|
-
};
|
|
71
|
-
//# sourceMappingURL=CardContent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Card/CardContent.tsx","../../../../src/components/Card/components/ArchivistParent.tsx","../../../../src/components/Card/components/ArchivistParents.tsx"],"sourcesContent":["import { CardContentProps } from '@mui/material'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport { ArchivistConfig, ArchivistInstance } from '@xyo-network/archivist'\nimport { ModuleWrapper } from '@xyo-network/module'\nimport { ModuleCardContent, ModuleRenderProps } from '@xyo-network/react-module'\nimport { useWallet } from '@xyo-network/react-wallet'\nimport React, { useState } from 'react'\n\nimport { ArchivistParents } from './components'\n\nexport const ArchivistCardContent: React.FC<ModuleRenderProps<ArchivistInstance> & CardContentProps> = ({ children, module, ...props }) => {\n const [config, setConfig] = useState<ArchivistConfig>()\n const [wallet] = useWallet()\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n if (wallet && module) {\n const wrapper = ModuleWrapper.wrap(module, wallet)\n const payloads = await wrapper?.discover()\n if (mounted()) {\n setConfig(payloads?.[0] as ArchivistConfig)\n }\n } else {\n setConfig(undefined)\n }\n },\n [module, wallet],\n )\n\n return (\n <ModuleCardContent module={module} {...props}>\n <FlexGrowRow flexWrap=\"wrap\" justifyContent=\"start\" gap={2}>\n {children}\n <ArchivistParents config={config} />\n </FlexGrowRow>\n </ModuleCardContent>\n )\n}\n","import { ListItem, Typography } from '@mui/material'\n\nexport interface ArchivistTypeProps {\n archivistType?: 'Commit' | 'Read' | 'Write'\n parentArchivists?: string[]\n}\n\nexport const ArchivistParent: React.FC<ArchivistTypeProps> = ({ archivistType, parentArchivists }) => (\n <>\n {parentArchivists?.map((address) => {\n return (\n <ListItem key={address}>\n <Typography variant=\"subtitle2\">\n {archivistType}:{' '}\n <Typography variant={'caption'} sx={{ ml: 0.5 }}>\n {address}\n </Typography>\n </Typography>\n </ListItem>\n )\n })}\n </>\n)\n","import { ArrowRightRounded as ArrowRightRoundedIcon } from '@mui/icons-material'\nimport { Collapse, IconButton, List, Paper, Typography } from '@mui/material'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { ArchivistConfig } from '@xyo-network/archivist'\nimport { useState } from 'react'\n\nimport { ArchivistParent } from './ArchivistParent'\n\nexport interface ArchivistParentsProps extends FlexBoxProps {\n config?: ArchivistConfig\n}\n\nexport const ArchivistParents: React.FC<ArchivistParentsProps> = ({ config, ...props }) => {\n const [parentArchivistCollapse, setParentArchivistCollapse] = useState(false)\n\n const { commit, read, write } = config?.parents ?? {}\n\n return (\n <>\n {commit || read || write ? (\n <FlexCol alignItems=\"start\" {...props}>\n <span onClick={() => setParentArchivistCollapse(!parentArchivistCollapse)}>\n <Typography variant=\"subtitle2\" sx={{ cursor: 'pointer', display: 'inline-block' }}>\n Parents\n </Typography>\n <IconButton size=\"small\">\n <ArrowRightRoundedIcon sx={{ rotate: parentArchivistCollapse ? '90deg' : '0deg', transition: 'all .25s' }} />\n </IconButton>\n </span>\n <Collapse in={parentArchivistCollapse}>\n <Paper elevation={2}>\n <List>\n <ArchivistParent archivistType=\"Commit\" parentArchivists={commit} />\n <ArchivistParent archivistType=\"Read\" parentArchivists={read} />\n <ArchivistParent archivistType=\"Write\" parentArchivists={write} />\n </List>\n </Paper>\n </Collapse>\n </FlexCol>\n ) : null}\n </>\n )\n}\n"],"mappings":";AACA,SAAS,sBAAsB;AAC/B,SAAS,mBAAmB;AAE5B,SAAS,qBAAqB;AAC9B,SAAS,yBAA4C;AACrD,SAAS,iBAAiB;AAC1B,SAAgB,YAAAA,iBAAgB;;;ACPhC,SAAS,UAAU,kBAAkB;AAQnC,mBAMU,KAFF,YAJR;AADK,IAAM,kBAAgD,CAAC,EAAE,eAAe,iBAAiB,MAC9F,gCACG,4BAAkB,IAAI,CAAC,YAAY;AAClC,SACE,oBAAC,YACC,+BAAC,cAAW,SAAQ,aACjB;AAAA;AAAA,IAAc;AAAA,IAAE;AAAA,IACjB,oBAAC,cAAW,SAAS,WAAW,IAAI,EAAE,IAAI,IAAI,GAC3C,mBACH;AAAA,KACF,KANa,OAOf;AAEJ,CAAC,GACH;;;ACrBF,SAAS,qBAAqB,6BAA6B;AAC3D,SAAS,UAAU,YAAY,MAAM,OAAO,cAAAC,mBAAkB;AAC9D,SAAuB,eAAe;AAEtC,SAAS,gBAAgB;AAcrB,qBAAAC,WAIQ,OAAAC,MADF,QAAAC,aAHN;AANG,IAAM,mBAAoD,CAAC,EAAE,QAAQ,GAAG,MAAM,MAAM;AACzF,QAAM,CAAC,yBAAyB,0BAA0B,IAAI,SAAS,KAAK;AAE5E,QAAM,EAAE,QAAQ,MAAM,MAAM,IAAI,QAAQ,WAAW,CAAC;AAEpD,SACE,gBAAAD,KAAAD,WAAA,EACG,oBAAU,QAAQ,QACjB,gBAAAE,MAAC,WAAQ,YAAW,SAAS,GAAG,OAC9B;AAAA,oBAAAA,MAAC,UAAK,SAAS,MAAM,2BAA2B,CAAC,uBAAuB,GACtE;AAAA,sBAAAD,KAACE,aAAA,EAAW,SAAQ,aAAY,IAAI,EAAE,QAAQ,WAAW,SAAS,eAAe,GAAG,qBAEpF;AAAA,MACA,gBAAAF,KAAC,cAAW,MAAK,SACf,0BAAAA,KAAC,yBAAsB,IAAI,EAAE,QAAQ,0BAA0B,UAAU,QAAQ,YAAY,WAAW,GAAG,GAC7G;AAAA,OACF;AAAA,IACA,gBAAAA,KAAC,YAAS,IAAI,yBACZ,0BAAAA,KAAC,SAAM,WAAW,GAChB,0BAAAC,MAAC,QACC;AAAA,sBAAAD,KAAC,mBAAgB,eAAc,UAAS,kBAAkB,QAAQ;AAAA,MAClE,gBAAAA,KAAC,mBAAgB,eAAc,QAAO,kBAAkB,MAAM;AAAA,MAC9D,gBAAAA,KAAC,mBAAgB,eAAc,SAAQ,kBAAkB,OAAO;AAAA,OAClE,GACF,GACF;AAAA,KACF,IACE,MACN;AAEJ;;;AFTM,SAEE,OAAAG,MAFF,QAAAC,aAAA;AAtBC,IAAM,uBAA0F,CAAC,EAAE,UAAU,QAAQ,GAAG,MAAM,MAAM;AACzI,QAAM,CAAC,QAAQ,SAAS,IAAIC,UAA0B;AACtD,QAAM,CAAC,MAAM,IAAI,UAAU;AAE3B;AAAA;AAAA,IAEE,OAAO,YAAY;AACjB,UAAI,UAAU,QAAQ;AACpB,cAAM,UAAU,cAAc,KAAK,QAAQ,MAAM;AACjD,cAAM,WAAW,MAAM,SAAS,SAAS;AACzC,YAAI,QAAQ,GAAG;AACb,oBAAU,WAAW,CAAC,CAAoB;AAAA,QAC5C;AAAA,MACF,OAAO;AACL,kBAAU,MAAS;AAAA,MACrB;AAAA,IACF;AAAA,IACA,CAAC,QAAQ,MAAM;AAAA,EACjB;AAEA,SACE,gBAAAF,KAAC,qBAAkB,QAAiB,GAAG,OACrC,0BAAAC,MAAC,eAAY,UAAS,QAAO,gBAAe,SAAQ,KAAK,GACtD;AAAA;AAAA,IACD,gBAAAD,KAAC,oBAAiB,QAAgB;AAAA,KACpC,GACF;AAEJ;","names":["useState","Typography","Fragment","jsx","jsxs","Typography","jsx","jsxs","useState"]}
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// src/components/Card/CardHeader.tsx
|
|
21
|
-
var CardHeader_exports = {};
|
|
22
|
-
__export(CardHeader_exports, {
|
|
23
|
-
ArchivistCardHeader: () => ArchivistCardHeader
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(CardHeader_exports);
|
|
26
|
-
var import_archivist2 = require("@xyo-network/archivist");
|
|
27
|
-
var import_react_module = require("@xyo-network/react-module");
|
|
28
|
-
var import_react2 = require("react");
|
|
29
|
-
|
|
30
|
-
// src/components/Card/components/Stats/ArchivistStats.tsx
|
|
31
|
-
var import_material = require("@mui/material");
|
|
32
|
-
var import_react_flexbox = require("@xylabs/react-flexbox");
|
|
33
|
-
var import_bs = require("react-icons/bs/index.js");
|
|
34
|
-
var import_vsc = require("react-icons/vsc/index.js");
|
|
35
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
36
|
-
var ArchivistStats = ({ addresses = {}, boundWitnesses, payloads, schemas = {} }) => {
|
|
37
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_react_flexbox.FlexRow, { gap: 2, mr: 0.5, children: [
|
|
38
|
-
payloads?.length ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Tooltip, { title: "Payloads", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Badge, { badgeContent: payloads?.length, color: "primary", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_vsc.VscSymbolNamespace, { size: 20 }) }) }) : null,
|
|
39
|
-
boundWitnesses?.length ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Tooltip, { title: "Blocks", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Badge, { badgeContent: boundWitnesses?.length, color: "primary", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_vsc.VscSymbolMethod, { size: 20 }) }) }) : null,
|
|
40
|
-
Object.entries(schemas).length ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Tooltip, { title: "Schemas", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Badge, { badgeContent: Object.entries(schemas).length, color: "primary", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_bs.BsFileEarmarkCode, { size: 20 }) }) }) : null,
|
|
41
|
-
Object.entries(addresses).length ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Tooltip, { title: "Addresses", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Badge, { badgeContent: Object.entries(addresses).length, color: "primary", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_vsc.VscOrganization, { size: 20 }) }) }) : null
|
|
42
|
-
] });
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
// src/components/Card/components/Stats/MemoryArchivistStats.tsx
|
|
46
|
-
var import_react_async_effect = require("@xylabs/react-async-effect");
|
|
47
|
-
var import_archivist = require("@xyo-network/archivist");
|
|
48
|
-
var import_boundwitness_model = require("@xyo-network/boundwitness-model");
|
|
49
|
-
var import_boundwitness_wrapper = require("@xyo-network/boundwitness-wrapper");
|
|
50
|
-
var import_react = require("react");
|
|
51
|
-
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
52
|
-
var MemoryArchivistsStats = ({ archivist }) => {
|
|
53
|
-
const [all, setAll] = (0, import_react.useState)();
|
|
54
|
-
const getAll = (0, import_react.useCallback)(async (archivist2) => {
|
|
55
|
-
const all2 = await archivist2?.all?.();
|
|
56
|
-
setAll(all2);
|
|
57
|
-
}, []);
|
|
58
|
-
(0, import_react.useEffect)(() => {
|
|
59
|
-
const listeners = [];
|
|
60
|
-
if (archivist?.queries.includes(import_archivist.ArchivistAllQuerySchema)) {
|
|
61
|
-
const insertListener = archivist.on("inserted", async () => {
|
|
62
|
-
await getAll(archivist);
|
|
63
|
-
});
|
|
64
|
-
listeners.push(insertListener);
|
|
65
|
-
const clearListener = archivist.on("cleared", async () => {
|
|
66
|
-
await getAll(archivist);
|
|
67
|
-
});
|
|
68
|
-
listeners.push(clearListener);
|
|
69
|
-
}
|
|
70
|
-
return () => listeners.forEach((listener) => listener?.());
|
|
71
|
-
}, [archivist, getAll]);
|
|
72
|
-
(0, import_react_async_effect.useAsyncEffect)(
|
|
73
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
74
|
-
async () => {
|
|
75
|
-
if (archivist?.queries.includes(import_archivist.ArchivistAllQuerySchema)) {
|
|
76
|
-
await getAll(archivist);
|
|
77
|
-
} else {
|
|
78
|
-
setAll(null);
|
|
79
|
-
}
|
|
80
|
-
},
|
|
81
|
-
[archivist, getAll]
|
|
82
|
-
);
|
|
83
|
-
const payloads = (0, import_react.useMemo)(() => all === null ? [] : all?.filter((payload) => payload.schema !== import_boundwitness_model.BoundWitnessSchema), [all]);
|
|
84
|
-
const boundWitnesses = (0, import_react.useMemo)(() => all === null ? [] : all?.filter((payload) => payload.schema === import_boundwitness_model.BoundWitnessSchema), [all]);
|
|
85
|
-
const addresses = (0, import_react.useMemo)(
|
|
86
|
-
() => all?.reduce(
|
|
87
|
-
(prev, payload) => {
|
|
88
|
-
const w = import_boundwitness_wrapper.BoundWitnessWrapper.tryParse(payload);
|
|
89
|
-
w?.addresses?.forEach((address) => {
|
|
90
|
-
prev[address] = (prev[address] ?? 0) + 1;
|
|
91
|
-
});
|
|
92
|
-
return prev;
|
|
93
|
-
},
|
|
94
|
-
{}
|
|
95
|
-
) ?? {},
|
|
96
|
-
[all]
|
|
97
|
-
);
|
|
98
|
-
const schemas = (0, import_react.useMemo)(
|
|
99
|
-
() => all?.reduce(
|
|
100
|
-
(prev, payload) => {
|
|
101
|
-
prev[payload.schema] = (prev[payload.schema] ?? 0) + 1;
|
|
102
|
-
return prev;
|
|
103
|
-
},
|
|
104
|
-
{}
|
|
105
|
-
) ?? {},
|
|
106
|
-
[all]
|
|
107
|
-
);
|
|
108
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ArchivistStats, { addresses, boundWitnesses, payloads, schemas });
|
|
109
|
-
};
|
|
110
|
-
|
|
111
|
-
// src/components/Card/CardHeader.tsx
|
|
112
|
-
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
113
|
-
var ArchivistStats2 = (archivist) => {
|
|
114
|
-
switch (archivist?.config.schema) {
|
|
115
|
-
case import_archivist2.MemoryArchivistConfigSchema:
|
|
116
|
-
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(MemoryArchivistsStats, { archivist });
|
|
117
|
-
default:
|
|
118
|
-
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, {});
|
|
119
|
-
}
|
|
120
|
-
};
|
|
121
|
-
var ArchivistCardHeader = ({ title, module: module2, ...props }) => {
|
|
122
|
-
const Stats = (0, import_react2.useMemo)(() => ArchivistStats2(module2), [module2]);
|
|
123
|
-
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_module.ModuleCardHeader, { module: module2, title: title ?? module2?.config.name ?? "Archivist", action: Stats, ...props });
|
|
124
|
-
};
|
|
125
|
-
//# sourceMappingURL=CardHeader.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Card/CardHeader.tsx","../../../../src/components/Card/components/Stats/ArchivistStats.tsx","../../../../src/components/Card/components/Stats/MemoryArchivistStats.tsx"],"sourcesContent":["import { CardHeaderProps } from '@mui/material'\nimport { ArchivistInstance, MemoryArchivistConfigSchema } from '@xyo-network/archivist'\nimport { ModuleCardHeader, ModuleRenderProps } from '@xyo-network/react-module'\nimport { useMemo } from 'react'\n\nimport { MemoryArchivistsStats } from './components'\n\nconst ArchivistStats = (archivist?: ArchivistInstance) => {\n switch (archivist?.config.schema) {\n case MemoryArchivistConfigSchema:\n return <MemoryArchivistsStats archivist={archivist} />\n default:\n return <></>\n }\n}\n\nexport const ArchivistCardHeader: React.FC<ModuleRenderProps<ArchivistInstance> & CardHeaderProps> = ({ title, module, ...props }) => {\n const Stats = useMemo(() => ArchivistStats(module), [module])\n return <ModuleCardHeader module={module} title={title ?? module?.config.name ?? 'Archivist'} action={Stats} {...props} />\n}\n","import { Badge, Tooltip } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { Payload } from '@xyo-network/payload-model'\n// eslint-disable-next-line import/no-internal-modules\nimport { BsFileEarmarkCode } from 'react-icons/bs/index.js'\n// eslint-disable-next-line import/no-internal-modules\nimport { VscOrganization, VscSymbolMethod, VscSymbolNamespace } from 'react-icons/vsc/index.js'\n\nexport interface ArchivistStatsProps {\n addresses?: Record<string, number>\n boundWitnesses?: Payload[] | null\n payloads?: Payload[] | null\n schemas?: Record<string, number>\n}\n\nexport const ArchivistStats: React.FC<ArchivistStatsProps> = ({ addresses = {}, boundWitnesses, payloads, schemas = {} }) => {\n return (\n <FlexRow gap={2} mr={0.5}>\n {payloads?.length ? (\n <Tooltip title=\"Payloads\">\n <Badge badgeContent={payloads?.length} color=\"primary\">\n <VscSymbolNamespace size={20} />\n </Badge>\n </Tooltip>\n ) : null}\n {boundWitnesses?.length ? (\n <Tooltip title=\"Blocks\">\n <Badge badgeContent={boundWitnesses?.length} color=\"primary\">\n <VscSymbolMethod size={20} />\n </Badge>\n </Tooltip>\n ) : null}\n {Object.entries(schemas).length ? (\n <Tooltip title=\"Schemas\">\n <Badge badgeContent={Object.entries(schemas).length} color=\"primary\">\n <BsFileEarmarkCode size={20} />\n </Badge>\n </Tooltip>\n ) : null}\n {Object.entries(addresses).length ? (\n <Tooltip title=\"Addresses\">\n <Badge badgeContent={Object.entries(addresses).length} color=\"primary\">\n <VscOrganization size={20} />\n </Badge>\n </Tooltip>\n ) : null}\n </FlexRow>\n )\n}\n","import { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { ArchivistAllQuerySchema, ArchivistInstance } from '@xyo-network/archivist'\nimport { BoundWitnessSchema } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport { EventUnsubscribeFunction } from '@xyo-network/module'\nimport { Payload } from '@xyo-network/payload-model'\nimport { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport { ArchivistStats } from './ArchivistStats'\n\nexport interface MemoryArchivistStatsProps {\n archivist?: ArchivistInstance\n}\n\nexport const MemoryArchivistsStats: React.FC<MemoryArchivistStatsProps> = ({ archivist }) => {\n const [all, setAll] = useState<Payload[] | null>()\n\n const getAll = useCallback(async (archivist?: ArchivistInstance) => {\n const all = await archivist?.all?.()\n setAll(all)\n }, [])\n\n useEffect(() => {\n const listeners: EventUnsubscribeFunction[] = []\n\n if (archivist?.queries.includes(ArchivistAllQuerySchema)) {\n const insertListener = archivist.on('inserted', async () => {\n await getAll(archivist)\n })\n listeners.push(insertListener)\n\n const clearListener = archivist.on('cleared', async () => {\n await getAll(archivist)\n })\n listeners.push(clearListener)\n }\n\n return () => listeners.forEach((listener) => listener?.())\n }, [archivist, getAll])\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async () => {\n if (archivist?.queries.includes(ArchivistAllQuerySchema)) {\n await getAll(archivist)\n } else {\n setAll(null)\n }\n },\n [archivist, getAll],\n )\n\n const payloads = useMemo(() => (all === null ? [] : all?.filter((payload) => payload.schema !== BoundWitnessSchema)), [all])\n const boundWitnesses = useMemo(() => (all === null ? [] : all?.filter((payload) => payload.schema === BoundWitnessSchema)), [all])\n const addresses = useMemo(\n () =>\n all?.reduce(\n (prev, payload) => {\n const w = BoundWitnessWrapper.tryParse(payload) as BoundWitnessWrapper | undefined\n w?.addresses?.forEach((address) => {\n prev[address] = (prev[address] ?? 0) + 1\n })\n return prev\n },\n {} as Record<string, number>,\n ) ?? {},\n [all],\n )\n const schemas = useMemo(\n () =>\n all?.reduce(\n (prev, payload) => {\n prev[payload.schema] = (prev[payload.schema] ?? 0) + 1\n return prev\n },\n {} as Record<string, number>,\n ) ?? {},\n [all],\n )\n\n return <ArchivistStats addresses={addresses} boundWitnesses={boundWitnesses} payloads={payloads} schemas={schemas} />\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,IAAAA,oBAA+D;AAC/D,0BAAoD;AACpD,IAAAC,gBAAwB;;;ACHxB,sBAA+B;AAC/B,2BAAwB;AAGxB,gBAAkC;AAElC,iBAAqE;AAWjE;AAFG,IAAM,iBAAgD,CAAC,EAAE,YAAY,CAAC,GAAG,gBAAgB,UAAU,UAAU,CAAC,EAAE,MAAM;AAC3H,SACE,6CAAC,gCAAQ,KAAK,GAAG,IAAI,KAClB;AAAA,cAAU,SACT,4CAAC,2BAAQ,OAAM,YACb,sDAAC,yBAAM,cAAc,UAAU,QAAQ,OAAM,WAC3C,sDAAC,iCAAmB,MAAM,IAAI,GAChC,GACF,IACE;AAAA,IACH,gBAAgB,SACf,4CAAC,2BAAQ,OAAM,UACb,sDAAC,yBAAM,cAAc,gBAAgB,QAAQ,OAAM,WACjD,sDAAC,8BAAgB,MAAM,IAAI,GAC7B,GACF,IACE;AAAA,IACH,OAAO,QAAQ,OAAO,EAAE,SACvB,4CAAC,2BAAQ,OAAM,WACb,sDAAC,yBAAM,cAAc,OAAO,QAAQ,OAAO,EAAE,QAAQ,OAAM,WACzD,sDAAC,+BAAkB,MAAM,IAAI,GAC/B,GACF,IACE;AAAA,IACH,OAAO,QAAQ,SAAS,EAAE,SACzB,4CAAC,2BAAQ,OAAM,aACb,sDAAC,yBAAM,cAAc,OAAO,QAAQ,SAAS,EAAE,QAAQ,OAAM,WAC3D,sDAAC,8BAAgB,MAAM,IAAI,GAC7B,GACF,IACE;AAAA,KACN;AAEJ;;;AChDA,gCAA+B;AAC/B,uBAA2D;AAC3D,gCAAmC;AACnC,kCAAoC;AAGpC,mBAA0D;AA0EjD,IAAAC,sBAAA;AAlEF,IAAM,wBAA6D,CAAC,EAAE,UAAU,MAAM;AAC3F,QAAM,CAAC,KAAK,MAAM,QAAI,uBAA2B;AAEjD,QAAM,aAAS,0BAAY,OAAOC,eAAkC;AAClE,UAAMC,OAAM,MAAMD,YAAW,MAAM;AACnC,WAAOC,IAAG;AAAA,EACZ,GAAG,CAAC,CAAC;AAEL,8BAAU,MAAM;AACd,UAAM,YAAwC,CAAC;AAE/C,QAAI,WAAW,QAAQ,SAAS,wCAAuB,GAAG;AACxD,YAAM,iBAAiB,UAAU,GAAG,YAAY,YAAY;AAC1D,cAAM,OAAO,SAAS;AAAA,MACxB,CAAC;AACD,gBAAU,KAAK,cAAc;AAE7B,YAAM,gBAAgB,UAAU,GAAG,WAAW,YAAY;AACxD,cAAM,OAAO,SAAS;AAAA,MACxB,CAAC;AACD,gBAAU,KAAK,aAAa;AAAA,IAC9B;AAEA,WAAO,MAAM,UAAU,QAAQ,CAAC,aAAa,WAAW,CAAC;AAAA,EAC3D,GAAG,CAAC,WAAW,MAAM,CAAC;AAEtB;AAAA;AAAA,IAEE,YAAY;AACV,UAAI,WAAW,QAAQ,SAAS,wCAAuB,GAAG;AACxD,cAAM,OAAO,SAAS;AAAA,MACxB,OAAO;AACL,eAAO,IAAI;AAAA,MACb;AAAA,IACF;AAAA,IACA,CAAC,WAAW,MAAM;AAAA,EACpB;AAEA,QAAM,eAAW,sBAAQ,MAAO,QAAQ,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,YAAY,QAAQ,WAAW,4CAAkB,GAAI,CAAC,GAAG,CAAC;AAC3H,QAAM,qBAAiB,sBAAQ,MAAO,QAAQ,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,YAAY,QAAQ,WAAW,4CAAkB,GAAI,CAAC,GAAG,CAAC;AACjI,QAAM,gBAAY;AAAA,IAChB,MACE,KAAK;AAAA,MACH,CAAC,MAAM,YAAY;AACjB,cAAM,IAAI,gDAAoB,SAAS,OAAO;AAC9C,WAAG,WAAW,QAAQ,CAAC,YAAY;AACjC,eAAK,OAAO,KAAK,KAAK,OAAO,KAAK,KAAK;AAAA,QACzC,CAAC;AACD,eAAO;AAAA,MACT;AAAA,MACA,CAAC;AAAA,IACH,KAAK,CAAC;AAAA,IACR,CAAC,GAAG;AAAA,EACN;AACA,QAAM,cAAU;AAAA,IACd,MACE,KAAK;AAAA,MACH,CAAC,MAAM,YAAY;AACjB,aAAK,QAAQ,MAAM,KAAK,KAAK,QAAQ,MAAM,KAAK,KAAK;AACrD,eAAO;AAAA,MACT;AAAA,MACA,CAAC;AAAA,IACH,KAAK,CAAC;AAAA,IACR,CAAC,GAAG;AAAA,EACN;AAEA,SAAO,6CAAC,kBAAe,WAAsB,gBAAgC,UAAoB,SAAkB;AACrH;;;AFvEa,IAAAC,sBAAA;AAHb,IAAMC,kBAAiB,CAAC,cAAkC;AACxD,UAAQ,WAAW,OAAO,QAAQ;AAAA,IAChC,KAAK;AACH,aAAO,6CAAC,yBAAsB,WAAsB;AAAA,IACtD;AACE,aAAO,6EAAE;AAAA,EACb;AACF;AAEO,IAAM,sBAAwF,CAAC,EAAE,OAAO,QAAAC,SAAQ,GAAG,MAAM,MAAM;AACpI,QAAM,YAAQ,uBAAQ,MAAMD,gBAAeC,OAAM,GAAG,CAACA,OAAM,CAAC;AAC5D,SAAO,6CAAC,wCAAiB,QAAQA,SAAQ,OAAO,SAASA,SAAQ,OAAO,QAAQ,aAAa,QAAQ,OAAQ,GAAG,OAAO;AACzH;","names":["import_archivist","import_react","import_jsx_runtime","archivist","all","import_jsx_runtime","ArchivistStats","module"]}
|