@xyo-network/react-archivist 2.64.0 → 2.64.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.
Files changed (46) hide show
  1. package/dist/browser/components/Card/Card.js +176 -8
  2. package/dist/browser/components/Card/Card.js.map +1 -1
  3. package/dist/browser/components/Card/CardActions.js +3 -2
  4. package/dist/browser/components/Card/CardActions.js.map +1 -1
  5. package/dist/browser/components/Card/CardContent.js +42 -6
  6. package/dist/browser/components/Card/CardContent.js.map +1 -1
  7. package/dist/browser/components/Card/CardHeader.js +92 -9
  8. package/dist/browser/components/Card/CardHeader.js.map +1 -1
  9. package/dist/browser/components/Card/components/ArchivistParent.js +3 -2
  10. package/dist/browser/components/Card/components/ArchivistParent.js.map +1 -1
  11. package/dist/browser/components/Card/components/ArchivistParents.js +26 -12
  12. package/dist/browser/components/Card/components/ArchivistParents.js.map +1 -1
  13. package/dist/browser/components/Card/components/Stats/ArchivistStats.js +3 -2
  14. package/dist/browser/components/Card/components/Stats/ArchivistStats.js.map +1 -1
  15. package/dist/browser/components/Card/components/Stats/MemoryArchivistStats.js +21 -4
  16. package/dist/browser/components/Card/components/Stats/MemoryArchivistStats.js.map +1 -1
  17. package/dist/browser/components/Card/components/Stats/index.js +84 -2
  18. package/dist/browser/components/Card/components/Stats/index.js.map +1 -1
  19. package/dist/browser/components/Card/components/index.js +120 -3
  20. package/dist/browser/components/Card/components/index.js.map +1 -1
  21. package/dist/browser/components/Card/index.js +186 -3
  22. package/dist/browser/components/Card/index.js.map +1 -1
  23. package/dist/browser/components/Details/Details.js +23 -7
  24. package/dist/browser/components/Details/Details.js.map +1 -1
  25. package/dist/browser/components/Details/index.js +78 -1
  26. package/dist/browser/components/Details/index.js.map +1 -1
  27. package/dist/browser/components/index.js +263 -2
  28. package/dist/browser/components/index.js.map +1 -1
  29. package/dist/browser/hooks/index.js +75 -2
  30. package/dist/browser/hooks/index.js.map +1 -1
  31. package/dist/browser/hooks/node/index.js +40 -2
  32. package/dist/browser/hooks/node/index.js.map +1 -1
  33. package/dist/browser/hooks/node/useArchivistFromNode.js +2 -1
  34. package/dist/browser/hooks/node/useArchivistFromNode.js.map +1 -1
  35. package/dist/browser/hooks/node/useArchivistsFromNode.js +2 -1
  36. package/dist/browser/hooks/node/useArchivistsFromNode.js.map +1 -1
  37. package/dist/browser/hooks/queries/index.js +36 -2
  38. package/dist/browser/hooks/queries/index.js.map +1 -1
  39. package/dist/browser/hooks/queries/useArchivistAll.js +2 -1
  40. package/dist/browser/hooks/queries/useArchivistAll.js.map +1 -1
  41. package/dist/browser/hooks/queries/useArchivistGet.js +2 -1
  42. package/dist/browser/hooks/queries/useArchivistGet.js.map +1 -1
  43. package/dist/browser/index.js +323 -2
  44. package/dist/browser/index.js.map +1 -1
  45. package/dist/docs.json +16 -16
  46. package/package.json +20 -20
@@ -1,14 +1,182 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
1
+ // src/components/Card/Card.tsx
2
2
  import { Card } from "@mui/material";
3
3
  import { ModuleCardActions } from "@xyo-network/react-module";
4
- import { ArchivistCardContent } from "./CardContent";
5
- import { ArchivistCardHeader } from "./CardHeader";
6
- const ArchivistCard = ({ children, module, ...props }) => {
7
- return /* @__PURE__ */ jsxs(Card, { ...props, children: [
8
- /* @__PURE__ */ jsx(ArchivistCardHeader, { module }),
9
- /* @__PURE__ */ jsx(ArchivistCardContent, { 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 }),
10
178
  children,
11
- /* @__PURE__ */ jsx(ModuleCardActions, { module })
179
+ /* @__PURE__ */ jsx7(ModuleCardActions, { module })
12
180
  ] });
13
181
  };
14
182
  export {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Card/Card.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"],"mappings":"AASI,SACE,KADF;AATJ,SAAS,YAAuB;AAEhC,SAAS,yBAA4C;AAErD,SAAS,4BAA4B;AACrC,SAAS,2BAA2B;AAE7B,MAAM,gBAA4E,CAAC,EAAE,UAAU,QAAQ,GAAG,MAAM,MAAM;AAC3H,SACE,qBAAC,QAAM,GAAG,OACR;AAAA,wBAAC,uBAAoB,QAAgB;AAAA,IACrC,oBAAC,wBAAqB,QAAgB;AAAA,IACrC;AAAA,IACD,oBAAC,qBAAkB,QAAgB;AAAA,KACrC;AAEJ;","names":[]}
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,6 +1,7 @@
1
- import { jsx } from "react/jsx-runtime";
1
+ // src/components/Card/CardActions.tsx
2
2
  import { ModuleCardActions } from "@xyo-network/react-module";
3
- const ArchivistCardActions = (props) => {
3
+ import { jsx } from "react/jsx-runtime";
4
+ var ArchivistCardActions = (props) => {
4
5
  return /* @__PURE__ */ jsx(ModuleCardActions, { ...props });
5
6
  };
6
7
  export {
@@ -1 +1 @@
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":"AAKS;AAHT,SAAS,yBAA4C;AAE9C,MAAM,uBAA0F,CAAC,UAAU;AAChH,SAAO,oBAAC,qBAAmB,GAAG,OAAO;AACvC;","names":[]}
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,13 +1,49 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
1
+ // src/components/Card/CardContent.tsx
2
2
  import { useAsyncEffect } from "@xylabs/react-async-effect";
3
3
  import { FlexGrowRow } from "@xylabs/react-flexbox";
4
4
  import { ModuleWrapper } from "@xyo-network/module";
5
5
  import { ModuleCardContent } from "@xyo-network/react-module";
6
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";
7
25
  import { useState } from "react";
8
- import { ArchivistParents } from "./components";
9
- const ArchivistCardContent = ({ children, module, ...props }) => {
10
- const [config, setConfig] = useState();
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();
11
47
  const [wallet] = useWallet();
12
48
  useAsyncEffect(
13
49
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -24,9 +60,9 @@ const ArchivistCardContent = ({ children, module, ...props }) => {
24
60
  },
25
61
  [module, wallet]
26
62
  );
27
- return /* @__PURE__ */ jsx(ModuleCardContent, { module, ...props, children: /* @__PURE__ */ jsxs(FlexGrowRow, { flexWrap: "wrap", justifyContent: "start", gap: 2, children: [
63
+ return /* @__PURE__ */ jsx3(ModuleCardContent, { module, ...props, children: /* @__PURE__ */ jsxs3(FlexGrowRow, { flexWrap: "wrap", justifyContent: "start", gap: 2, children: [
28
64
  children,
29
- /* @__PURE__ */ jsx(ArchivistParents, { config })
65
+ /* @__PURE__ */ jsx3(ArchivistParents, { config })
30
66
  ] }) });
31
67
  };
32
68
  export {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Card/CardContent.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"],"mappings":"AAiCM,SAEE,KAFF;AAhCN,SAAS,sBAAsB;AAC/B,SAAS,mBAAmB;AAE5B,SAAS,qBAAqB;AAC9B,SAAS,yBAA4C;AACrD,SAAS,iBAAiB;AAC1B,SAAgB,gBAAgB;AAEhC,SAAS,wBAAwB;AAE1B,MAAM,uBAA0F,CAAC,EAAE,UAAU,QAAQ,GAAG,MAAM,MAAM;AACzI,QAAM,CAAC,QAAQ,SAAS,IAAI,SAA0B;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,oBAAC,qBAAkB,QAAiB,GAAG,OACrC,+BAAC,eAAY,UAAS,QAAO,gBAAe,SAAQ,KAAK,GACtD;AAAA;AAAA,IACD,oBAAC,oBAAiB,QAAgB;AAAA,KACpC,GACF;AAEJ;","names":[]}
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,19 +1,102 @@
1
- import { Fragment, jsx } from "react/jsx-runtime";
1
+ // src/components/Card/CardHeader.tsx
2
2
  import { MemoryArchivistConfigSchema } from "@xyo-network/archivist";
3
3
  import { ModuleCardHeader } from "@xyo-network/react-module";
4
- import { useMemo } from "react";
5
- import { MemoryArchivistsStats } from "./components";
6
- const ArchivistStats = (archivist) => {
4
+ import { useMemo as useMemo2 } from "react";
5
+
6
+ // src/components/Card/components/Stats/ArchivistStats.tsx
7
+ import { Badge, Tooltip } from "@mui/material";
8
+ import { FlexRow } from "@xylabs/react-flexbox";
9
+ import { BsFileEarmarkCode } from "react-icons/bs/index.js";
10
+ import { VscOrganization, VscSymbolMethod, VscSymbolNamespace } from "react-icons/vsc/index.js";
11
+ import { jsx, jsxs } from "react/jsx-runtime";
12
+ var ArchivistStats = ({ addresses = {}, boundWitnesses, payloads, schemas = {} }) => {
13
+ return /* @__PURE__ */ jsxs(FlexRow, { gap: 2, mr: 0.5, children: [
14
+ payloads?.length ? /* @__PURE__ */ jsx(Tooltip, { title: "Payloads", children: /* @__PURE__ */ jsx(Badge, { badgeContent: payloads?.length, color: "primary", children: /* @__PURE__ */ jsx(VscSymbolNamespace, { size: 20 }) }) }) : null,
15
+ boundWitnesses?.length ? /* @__PURE__ */ jsx(Tooltip, { title: "Blocks", children: /* @__PURE__ */ jsx(Badge, { badgeContent: boundWitnesses?.length, color: "primary", children: /* @__PURE__ */ jsx(VscSymbolMethod, { size: 20 }) }) }) : null,
16
+ Object.entries(schemas).length ? /* @__PURE__ */ jsx(Tooltip, { title: "Schemas", children: /* @__PURE__ */ jsx(Badge, { badgeContent: Object.entries(schemas).length, color: "primary", children: /* @__PURE__ */ jsx(BsFileEarmarkCode, { size: 20 }) }) }) : null,
17
+ Object.entries(addresses).length ? /* @__PURE__ */ jsx(Tooltip, { title: "Addresses", children: /* @__PURE__ */ jsx(Badge, { badgeContent: Object.entries(addresses).length, color: "primary", children: /* @__PURE__ */ jsx(VscOrganization, { size: 20 }) }) }) : null
18
+ ] });
19
+ };
20
+
21
+ // src/components/Card/components/Stats/MemoryArchivistStats.tsx
22
+ import { useAsyncEffect } from "@xylabs/react-async-effect";
23
+ import { ArchivistAllQuerySchema } from "@xyo-network/archivist";
24
+ import { BoundWitnessSchema } from "@xyo-network/boundwitness-model";
25
+ import { BoundWitnessWrapper } from "@xyo-network/boundwitness-wrapper";
26
+ import { useCallback, useEffect, useMemo, useState } from "react";
27
+ import { jsx as jsx2 } from "react/jsx-runtime";
28
+ var MemoryArchivistsStats = ({ archivist }) => {
29
+ const [all, setAll] = useState();
30
+ const getAll = useCallback(async (archivist2) => {
31
+ const all2 = await archivist2?.all?.();
32
+ setAll(all2);
33
+ }, []);
34
+ useEffect(() => {
35
+ const listeners = [];
36
+ if (archivist?.queries.includes(ArchivistAllQuerySchema)) {
37
+ const insertListener = archivist.on("inserted", async () => {
38
+ await getAll(archivist);
39
+ });
40
+ listeners.push(insertListener);
41
+ const clearListener = archivist.on("cleared", async () => {
42
+ await getAll(archivist);
43
+ });
44
+ listeners.push(clearListener);
45
+ }
46
+ return () => listeners.forEach((listener) => listener?.());
47
+ }, [archivist, getAll]);
48
+ useAsyncEffect(
49
+ // eslint-disable-next-line react-hooks/exhaustive-deps
50
+ async () => {
51
+ if (archivist?.queries.includes(ArchivistAllQuerySchema)) {
52
+ await getAll(archivist);
53
+ } else {
54
+ setAll(null);
55
+ }
56
+ },
57
+ [archivist, getAll]
58
+ );
59
+ const payloads = useMemo(() => all === null ? [] : all?.filter((payload) => payload.schema !== BoundWitnessSchema), [all]);
60
+ const boundWitnesses = useMemo(() => all === null ? [] : all?.filter((payload) => payload.schema === BoundWitnessSchema), [all]);
61
+ const addresses = useMemo(
62
+ () => all?.reduce(
63
+ (prev, payload) => {
64
+ const w = BoundWitnessWrapper.tryParse(payload);
65
+ w?.addresses?.forEach((address) => {
66
+ prev[address] = (prev[address] ?? 0) + 1;
67
+ });
68
+ return prev;
69
+ },
70
+ {}
71
+ ) ?? {},
72
+ [all]
73
+ );
74
+ const schemas = useMemo(
75
+ () => all?.reduce(
76
+ (prev, payload) => {
77
+ prev[payload.schema] = (prev[payload.schema] ?? 0) + 1;
78
+ return prev;
79
+ },
80
+ {}
81
+ ) ?? {},
82
+ [all]
83
+ );
84
+ return /* @__PURE__ */ jsx2(ArchivistStats, { addresses, boundWitnesses, payloads, schemas });
85
+ };
86
+
87
+ // src/components/Card/CardHeader.tsx
88
+ import { Fragment, jsx as jsx3 } from "react/jsx-runtime";
89
+ var ArchivistStats2 = (archivist) => {
7
90
  switch (archivist?.config.schema) {
8
91
  case MemoryArchivistConfigSchema:
9
- return /* @__PURE__ */ jsx(MemoryArchivistsStats, { archivist });
92
+ return /* @__PURE__ */ jsx3(MemoryArchivistsStats, { archivist });
10
93
  default:
11
- return /* @__PURE__ */ jsx(Fragment, {});
94
+ return /* @__PURE__ */ jsx3(Fragment, {});
12
95
  }
13
96
  };
14
- const ArchivistCardHeader = ({ title, module, ...props }) => {
15
- const Stats = useMemo(() => ArchivistStats(module), [module]);
16
- return /* @__PURE__ */ jsx(ModuleCardHeader, { module, title: title ?? module?.config.name ?? "Archivist", action: Stats, ...props });
97
+ var ArchivistCardHeader = ({ title, module, ...props }) => {
98
+ const Stats = useMemo2(() => ArchivistStats2(module), [module]);
99
+ return /* @__PURE__ */ jsx3(ModuleCardHeader, { module, title: title ?? module?.config.name ?? "Archivist", action: Stats, ...props });
17
100
  };
18
101
  export {
19
102
  ArchivistCardHeader
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Card/CardHeader.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"],"mappings":"AAUa,SAEA,UAFA;AATb,SAA4B,mCAAmC;AAC/D,SAAS,wBAA2C;AACpD,SAAS,eAAe;AAExB,SAAS,6BAA6B;AAEtC,MAAM,iBAAiB,CAAC,cAAkC;AACxD,UAAQ,WAAW,OAAO,QAAQ;AAAA,IAChC,KAAK;AACH,aAAO,oBAAC,yBAAsB,WAAsB;AAAA,IACtD;AACE,aAAO,gCAAE;AAAA,EACb;AACF;AAEO,MAAM,sBAAwF,CAAC,EAAE,OAAO,QAAQ,GAAG,MAAM,MAAM;AACpI,QAAM,QAAQ,QAAQ,MAAM,eAAe,MAAM,GAAG,CAAC,MAAM,CAAC;AAC5D,SAAO,oBAAC,oBAAiB,QAAgB,OAAO,SAAS,QAAQ,OAAO,QAAQ,aAAa,QAAQ,OAAQ,GAAG,OAAO;AACzH;","names":[]}
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":"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","names":["useMemo","jsx","archivist","all","jsx","ArchivistStats","useMemo"]}
@@ -1,6 +1,7 @@
1
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
1
+ // src/components/Card/components/ArchivistParent.tsx
2
2
  import { ListItem, Typography } from "@mui/material";
3
- const ArchivistParent = ({ archivistType, parentArchivists }) => /* @__PURE__ */ jsx(Fragment, { children: parentArchivists?.map((address) => {
3
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
4
+ var ArchivistParent = ({ archivistType, parentArchivists }) => /* @__PURE__ */ jsx(Fragment, { children: parentArchivists?.map((address) => {
4
5
  return /* @__PURE__ */ jsx(ListItem, { children: /* @__PURE__ */ jsxs(Typography, { variant: "subtitle2", children: [
5
6
  archivistType,
6
7
  ":",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/Card/components/ArchivistParent.tsx"],"sourcesContent":["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"],"mappings":"AAQE,mBAMU,KAFF,YAJR;AARF,SAAS,UAAU,kBAAkB;AAO9B,MAAM,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;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/components/Card/components/ArchivistParent.tsx"],"sourcesContent":["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"],"mappings":";AAAA,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;","names":[]}
@@ -1,21 +1,35 @@
1
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
1
+ // src/components/Card/components/ArchivistParents.tsx
2
2
  import { ArrowRightRounded as ArrowRightRoundedIcon } from "@mui/icons-material";
3
- import { Collapse, IconButton, List, Paper, Typography } from "@mui/material";
3
+ import { Collapse, IconButton, List, Paper, Typography as Typography2 } from "@mui/material";
4
4
  import { FlexCol } from "@xylabs/react-flexbox";
5
5
  import { useState } from "react";
6
- import { ArchivistParent } from "./ArchivistParent";
7
- const ArchivistParents = ({ config, ...props }) => {
6
+
7
+ // src/components/Card/components/ArchivistParent.tsx
8
+ import { ListItem, Typography } from "@mui/material";
9
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
10
+ var ArchivistParent = ({ archivistType, parentArchivists }) => /* @__PURE__ */ jsx(Fragment, { children: parentArchivists?.map((address) => {
11
+ return /* @__PURE__ */ jsx(ListItem, { children: /* @__PURE__ */ jsxs(Typography, { variant: "subtitle2", children: [
12
+ archivistType,
13
+ ":",
14
+ " ",
15
+ /* @__PURE__ */ jsx(Typography, { variant: "caption", sx: { ml: 0.5 }, children: address })
16
+ ] }) }, address);
17
+ }) });
18
+
19
+ // src/components/Card/components/ArchivistParents.tsx
20
+ import { Fragment as Fragment2, jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
21
+ var ArchivistParents = ({ config, ...props }) => {
8
22
  const [parentArchivistCollapse, setParentArchivistCollapse] = useState(false);
9
23
  const { commit, read, write } = config?.parents ?? {};
10
- return /* @__PURE__ */ jsx(Fragment, { children: commit || read || write ? /* @__PURE__ */ jsxs(FlexCol, { alignItems: "start", ...props, children: [
11
- /* @__PURE__ */ jsxs("span", { onClick: () => setParentArchivistCollapse(!parentArchivistCollapse), children: [
12
- /* @__PURE__ */ jsx(Typography, { variant: "subtitle2", sx: { cursor: "pointer", display: "inline-block" }, children: "Parents" }),
13
- /* @__PURE__ */ jsx(IconButton, { size: "small", children: /* @__PURE__ */ jsx(ArrowRightRoundedIcon, { sx: { rotate: parentArchivistCollapse ? "90deg" : "0deg", transition: "all .25s" } }) })
24
+ return /* @__PURE__ */ jsx2(Fragment2, { children: commit || read || write ? /* @__PURE__ */ jsxs2(FlexCol, { alignItems: "start", ...props, children: [
25
+ /* @__PURE__ */ jsxs2("span", { onClick: () => setParentArchivistCollapse(!parentArchivistCollapse), children: [
26
+ /* @__PURE__ */ jsx2(Typography2, { variant: "subtitle2", sx: { cursor: "pointer", display: "inline-block" }, children: "Parents" }),
27
+ /* @__PURE__ */ jsx2(IconButton, { size: "small", children: /* @__PURE__ */ jsx2(ArrowRightRoundedIcon, { sx: { rotate: parentArchivistCollapse ? "90deg" : "0deg", transition: "all .25s" } }) })
14
28
  ] }),
15
- /* @__PURE__ */ jsx(Collapse, { in: parentArchivistCollapse, children: /* @__PURE__ */ jsx(Paper, { elevation: 2, children: /* @__PURE__ */ jsxs(List, { children: [
16
- /* @__PURE__ */ jsx(ArchivistParent, { archivistType: "Commit", parentArchivists: commit }),
17
- /* @__PURE__ */ jsx(ArchivistParent, { archivistType: "Read", parentArchivists: read }),
18
- /* @__PURE__ */ jsx(ArchivistParent, { archivistType: "Write", parentArchivists: write })
29
+ /* @__PURE__ */ jsx2(Collapse, { in: parentArchivistCollapse, children: /* @__PURE__ */ jsx2(Paper, { elevation: 2, children: /* @__PURE__ */ jsxs2(List, { children: [
30
+ /* @__PURE__ */ jsx2(ArchivistParent, { archivistType: "Commit", parentArchivists: commit }),
31
+ /* @__PURE__ */ jsx2(ArchivistParent, { archivistType: "Read", parentArchivists: read }),
32
+ /* @__PURE__ */ jsx2(ArchivistParent, { archivistType: "Write", parentArchivists: write })
19
33
  ] }) }) })
20
34
  ] }) : null });
21
35
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/Card/components/ArchivistParents.tsx"],"sourcesContent":["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":"AAkBI,mBAIQ,KADF,YAHN;AAlBJ,SAAS,qBAAqB,6BAA6B;AAC3D,SAAS,UAAU,YAAY,MAAM,OAAO,kBAAkB;AAC9D,SAAuB,eAAe;AAEtC,SAAS,gBAAgB;AAEzB,SAAS,uBAAuB;AAMzB,MAAM,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,gCACG,oBAAU,QAAQ,QACjB,qBAAC,WAAQ,YAAW,SAAS,GAAG,OAC9B;AAAA,yBAAC,UAAK,SAAS,MAAM,2BAA2B,CAAC,uBAAuB,GACtE;AAAA,0BAAC,cAAW,SAAQ,aAAY,IAAI,EAAE,QAAQ,WAAW,SAAS,eAAe,GAAG,qBAEpF;AAAA,MACA,oBAAC,cAAW,MAAK,SACf,8BAAC,yBAAsB,IAAI,EAAE,QAAQ,0BAA0B,UAAU,QAAQ,YAAY,WAAW,GAAG,GAC7G;AAAA,OACF;AAAA,IACA,oBAAC,YAAS,IAAI,yBACZ,8BAAC,SAAM,WAAW,GAChB,+BAAC,QACC;AAAA,0BAAC,mBAAgB,eAAc,UAAS,kBAAkB,QAAQ;AAAA,MAClE,oBAAC,mBAAgB,eAAc,QAAO,kBAAkB,MAAM;AAAA,MAC9D,oBAAC,mBAAgB,eAAc,SAAQ,kBAAkB,OAAO;AAAA,OAClE,GACF,GACF;AAAA,KACF,IACE,MACN;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/components/Card/components/ArchivistParents.tsx","../../../../../src/components/Card/components/ArchivistParent.tsx"],"sourcesContent":["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 { 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"],"mappings":";AAAA,SAAS,qBAAqB,6BAA6B;AAC3D,SAAS,UAAU,YAAY,MAAM,OAAO,cAAAA,mBAAkB;AAC9D,SAAuB,eAAe;AAEtC,SAAS,gBAAgB;;;ACJzB,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;;;ADHE,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;","names":["Typography","Fragment","jsx","jsxs","Typography"]}
@@ -1,9 +1,10 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
1
+ // src/components/Card/components/Stats/ArchivistStats.tsx
2
2
  import { Badge, Tooltip } from "@mui/material";
3
3
  import { FlexRow } from "@xylabs/react-flexbox";
4
4
  import { BsFileEarmarkCode } from "react-icons/bs/index.js";
5
5
  import { VscOrganization, VscSymbolMethod, VscSymbolNamespace } from "react-icons/vsc/index.js";
6
- const ArchivistStats = ({ addresses = {}, boundWitnesses, payloads, schemas = {} }) => {
6
+ import { jsx, jsxs } from "react/jsx-runtime";
7
+ var ArchivistStats = ({ addresses = {}, boundWitnesses, payloads, schemas = {} }) => {
7
8
  return /* @__PURE__ */ jsxs(FlexRow, { gap: 2, mr: 0.5, children: [
8
9
  payloads?.length ? /* @__PURE__ */ jsx(Tooltip, { title: "Payloads", children: /* @__PURE__ */ jsx(Badge, { badgeContent: payloads?.length, color: "primary", children: /* @__PURE__ */ jsx(VscSymbolNamespace, { size: 20 }) }) }) : null,
9
10
  boundWitnesses?.length ? /* @__PURE__ */ jsx(Tooltip, { title: "Blocks", children: /* @__PURE__ */ jsx(Badge, { badgeContent: boundWitnesses?.length, color: "primary", children: /* @__PURE__ */ jsx(VscSymbolMethod, { size: 20 }) }) }) : null,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/Card/components/Stats/ArchivistStats.tsx"],"sourcesContent":["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"],"mappings":"AAiBI,SAIQ,KAJR;AAjBJ,SAAS,OAAO,eAAe;AAC/B,SAAS,eAAe;AAGxB,SAAS,yBAAyB;AAElC,SAAS,iBAAiB,iBAAiB,0BAA0B;AAS9D,MAAM,iBAAgD,CAAC,EAAE,YAAY,CAAC,GAAG,gBAAgB,UAAU,UAAU,CAAC,EAAE,MAAM;AAC3H,SACE,qBAAC,WAAQ,KAAK,GAAG,IAAI,KAClB;AAAA,cAAU,SACT,oBAAC,WAAQ,OAAM,YACb,8BAAC,SAAM,cAAc,UAAU,QAAQ,OAAM,WAC3C,8BAAC,sBAAmB,MAAM,IAAI,GAChC,GACF,IACE;AAAA,IACH,gBAAgB,SACf,oBAAC,WAAQ,OAAM,UACb,8BAAC,SAAM,cAAc,gBAAgB,QAAQ,OAAM,WACjD,8BAAC,mBAAgB,MAAM,IAAI,GAC7B,GACF,IACE;AAAA,IACH,OAAO,QAAQ,OAAO,EAAE,SACvB,oBAAC,WAAQ,OAAM,WACb,8BAAC,SAAM,cAAc,OAAO,QAAQ,OAAO,EAAE,QAAQ,OAAM,WACzD,8BAAC,qBAAkB,MAAM,IAAI,GAC/B,GACF,IACE;AAAA,IACH,OAAO,QAAQ,SAAS,EAAE,SACzB,oBAAC,WAAQ,OAAM,aACb,8BAAC,SAAM,cAAc,OAAO,QAAQ,SAAS,EAAE,QAAQ,OAAM,WAC3D,8BAAC,mBAAgB,MAAM,IAAI,GAC7B,GACF,IACE;AAAA,KACN;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../../../../src/components/Card/components/Stats/ArchivistStats.tsx"],"sourcesContent":["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"],"mappings":";AAAA,SAAS,OAAO,eAAe;AAC/B,SAAS,eAAe;AAGxB,SAAS,yBAAyB;AAElC,SAAS,iBAAiB,iBAAiB,0BAA0B;AAWjE,SAIQ,KAJR;AAFG,IAAM,iBAAgD,CAAC,EAAE,YAAY,CAAC,GAAG,gBAAgB,UAAU,UAAU,CAAC,EAAE,MAAM;AAC3H,SACE,qBAAC,WAAQ,KAAK,GAAG,IAAI,KAClB;AAAA,cAAU,SACT,oBAAC,WAAQ,OAAM,YACb,8BAAC,SAAM,cAAc,UAAU,QAAQ,OAAM,WAC3C,8BAAC,sBAAmB,MAAM,IAAI,GAChC,GACF,IACE;AAAA,IACH,gBAAgB,SACf,oBAAC,WAAQ,OAAM,UACb,8BAAC,SAAM,cAAc,gBAAgB,QAAQ,OAAM,WACjD,8BAAC,mBAAgB,MAAM,IAAI,GAC7B,GACF,IACE;AAAA,IACH,OAAO,QAAQ,OAAO,EAAE,SACvB,oBAAC,WAAQ,OAAM,WACb,8BAAC,SAAM,cAAc,OAAO,QAAQ,OAAO,EAAE,QAAQ,OAAM,WACzD,8BAAC,qBAAkB,MAAM,IAAI,GAC/B,GACF,IACE;AAAA,IACH,OAAO,QAAQ,SAAS,EAAE,SACzB,oBAAC,WAAQ,OAAM,aACb,8BAAC,SAAM,cAAc,OAAO,QAAQ,SAAS,EAAE,QAAQ,OAAM,WAC3D,8BAAC,mBAAgB,MAAM,IAAI,GAC7B,GACF,IACE;AAAA,KACN;AAEJ;","names":[]}