@xyo-network/react-witness 7.5.8 → 7.5.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/index.mjs +57 -83
- package/dist/browser/index.mjs.map +1 -1
- package/package.json +154 -37
- package/src/components/Card/Card.stories.tsx +0 -32
- package/src/components/Card/Card.tsx +0 -29
- package/src/components/Card/CardActions.tsx +0 -23
- package/src/components/Card/CardContent.tsx +0 -28
- package/src/components/Card/CardHeader.tsx +0 -11
- package/src/components/Card/index.ts +0 -3
- package/src/components/index.ts +0 -1
- package/src/hooks/index.ts +0 -1
- package/src/hooks/node/index.ts +0 -4
- package/src/hooks/node/useWeakWitnessFromNode.tsx +0 -11
- package/src/hooks/node/useWeakWitnessesFromNode.tsx +0 -27
- package/src/hooks/node/useWitnessFromNode.tsx +0 -18
- package/src/hooks/node/useWitnessesFromNode.tsx +0 -27
- package/src/index.ts +0 -2
package/dist/browser/index.mjs
CHANGED
|
@@ -1,88 +1,77 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
|
|
4
1
|
// src/components/Card/Card.tsx
|
|
5
2
|
import { Card } from "@mui/material";
|
|
6
3
|
import { usePromise } from "@xylabs/react-promise";
|
|
7
|
-
import
|
|
4
|
+
import { useState } from "react";
|
|
8
5
|
|
|
9
6
|
// src/components/Card/CardActions.tsx
|
|
10
7
|
import { ButtonEx } from "@xylabs/react-button";
|
|
11
8
|
import { ModuleCardActions } from "@xyo-network/react-module";
|
|
12
|
-
import
|
|
13
|
-
var WitnessCardActions =
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
variant: "outlined"
|
|
21
|
-
}, "Observe"));
|
|
22
|
-
}, "WitnessCardActions");
|
|
9
|
+
import { jsx } from "react/jsx-runtime";
|
|
10
|
+
var WitnessCardActions = ({
|
|
11
|
+
onObserve,
|
|
12
|
+
mod,
|
|
13
|
+
...props
|
|
14
|
+
}) => {
|
|
15
|
+
return /* @__PURE__ */ jsx(ModuleCardActions, { mod, ...props, children: /* @__PURE__ */ jsx(ButtonEx, { onClick: () => onObserve?.(mod), size: "small", variant: "outlined", children: "Observe" }) });
|
|
16
|
+
};
|
|
23
17
|
|
|
24
18
|
// src/components/Card/CardContent.tsx
|
|
25
19
|
import { FlexGrowRow } from "@xylabs/react-flexbox";
|
|
26
20
|
import { ModuleCardContent } from "@xyo-network/react-module";
|
|
27
21
|
import { JsonViewerEx } from "@xyo-network/react-payload-raw-info";
|
|
28
|
-
import
|
|
29
|
-
var WitnessCardContent =
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}, "WitnessCardContent");
|
|
22
|
+
import { jsx as jsx2, jsxs } from "react/jsx-runtime";
|
|
23
|
+
var WitnessCardContent = ({
|
|
24
|
+
children,
|
|
25
|
+
observation,
|
|
26
|
+
mod,
|
|
27
|
+
...props
|
|
28
|
+
}) => {
|
|
29
|
+
return /* @__PURE__ */ jsx2(ModuleCardContent, { mod, ...props, children: /* @__PURE__ */ jsxs(FlexGrowRow, { flexWrap: "wrap", justifyContent: "start", gap: 2, children: [
|
|
30
|
+
observation ? /* @__PURE__ */ jsx2(JsonViewerEx, { value: observation }) : null,
|
|
31
|
+
children
|
|
32
|
+
] }) });
|
|
33
|
+
};
|
|
41
34
|
|
|
42
35
|
// src/components/Card/CardHeader.tsx
|
|
43
36
|
import { ModuleCardHeader } from "@xyo-network/react-module";
|
|
44
|
-
import
|
|
45
|
-
var WitnessCardHeader =
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
});
|
|
51
|
-
}
|
|
37
|
+
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
38
|
+
var WitnessCardHeader = ({
|
|
39
|
+
title,
|
|
40
|
+
mod,
|
|
41
|
+
...props
|
|
42
|
+
}) => {
|
|
43
|
+
return /* @__PURE__ */ jsx3(ModuleCardHeader, { mod, title: title ?? mod?.config.name ?? "Witness", ...props });
|
|
44
|
+
};
|
|
52
45
|
|
|
53
46
|
// src/components/Card/Card.tsx
|
|
54
|
-
|
|
47
|
+
import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
48
|
+
var WitnessCard = ({
|
|
49
|
+
children,
|
|
50
|
+
mod,
|
|
51
|
+
...props
|
|
52
|
+
}) => {
|
|
55
53
|
const [retry, setRetry] = useState(-1);
|
|
56
54
|
const [observation] = usePromise(async () => {
|
|
57
55
|
if (retry >= 0) {
|
|
58
56
|
return await mod?.observe();
|
|
59
57
|
}
|
|
60
|
-
}, [
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
mod
|
|
66
|
-
})
|
|
67
|
-
|
|
68
|
-
observation
|
|
69
|
-
}), children, /* @__PURE__ */ React4.createElement(WitnessCardActions, {
|
|
70
|
-
mod,
|
|
71
|
-
onObserve: /* @__PURE__ */ __name(() => setRetry(retry + 1), "onObserve")
|
|
72
|
-
}));
|
|
73
|
-
}, "WitnessCard");
|
|
58
|
+
}, [mod, retry]);
|
|
59
|
+
return /* @__PURE__ */ jsxs2(Card, { ...props, children: [
|
|
60
|
+
/* @__PURE__ */ jsx4(WitnessCardHeader, { mod }),
|
|
61
|
+
/* @__PURE__ */ jsx4(WitnessCardContent, { mod, observation }),
|
|
62
|
+
children,
|
|
63
|
+
/* @__PURE__ */ jsx4(WitnessCardActions, { mod, onObserve: () => setRetry(retry + 1) })
|
|
64
|
+
] });
|
|
65
|
+
};
|
|
74
66
|
|
|
75
67
|
// src/hooks/node/useWeakWitnessesFromNode.tsx
|
|
76
68
|
import { exists } from "@xylabs/sdk-js";
|
|
77
69
|
import { useWeakModulesFromNode } from "@xyo-network/react-node";
|
|
78
70
|
import { asWitnessInstance } from "@xyo-network/witness-model";
|
|
79
|
-
var useWeakWitnessesFromNode =
|
|
71
|
+
var useWeakWitnessesFromNode = (ids, config) => {
|
|
80
72
|
const [modules, error] = useWeakModulesFromNode(ids, config);
|
|
81
73
|
if (error) {
|
|
82
|
-
return [
|
|
83
|
-
null,
|
|
84
|
-
error
|
|
85
|
-
];
|
|
74
|
+
return [null, error];
|
|
86
75
|
}
|
|
87
76
|
return [
|
|
88
77
|
modules?.map((mod) => {
|
|
@@ -93,28 +82,22 @@ var useWeakWitnessesFromNode = /* @__PURE__ */ __name((ids, config) => {
|
|
|
93
82
|
}).filter(exists) ?? [],
|
|
94
83
|
void 0
|
|
95
84
|
];
|
|
96
|
-
}
|
|
85
|
+
};
|
|
97
86
|
|
|
98
87
|
// src/hooks/node/useWeakWitnessFromNode.tsx
|
|
99
88
|
import { useWeakModuleFromNode } from "@xyo-network/react-node";
|
|
100
89
|
import { isWitnessInstance } from "@xyo-network/witness-model";
|
|
101
|
-
var useWeakWitnessFromNode =
|
|
102
|
-
return useWeakModuleFromNode(nameOrAddressOrInstance, {
|
|
103
|
-
|
|
104
|
-
...config
|
|
105
|
-
});
|
|
106
|
-
}, "useWeakWitnessFromNode");
|
|
90
|
+
var useWeakWitnessFromNode = (nameOrAddressOrInstance, config) => {
|
|
91
|
+
return useWeakModuleFromNode(nameOrAddressOrInstance, { identity: isWitnessInstance, ...config });
|
|
92
|
+
};
|
|
107
93
|
|
|
108
94
|
// src/hooks/node/useWitnessesFromNode.tsx
|
|
109
95
|
import { useModulesFromNode } from "@xyo-network/react-node";
|
|
110
96
|
import { isWitnessInstance as isWitnessInstance2 } from "@xyo-network/witness-model";
|
|
111
|
-
var useWitnessesFromNode =
|
|
97
|
+
var useWitnessesFromNode = (ids, config) => {
|
|
112
98
|
const [modules, error] = useModulesFromNode(ids, config);
|
|
113
99
|
if (error) {
|
|
114
|
-
return [
|
|
115
|
-
null,
|
|
116
|
-
error
|
|
117
|
-
];
|
|
100
|
+
return [null, error];
|
|
118
101
|
}
|
|
119
102
|
return modules ? [
|
|
120
103
|
// eslint-disable-next-line unicorn/no-array-reduce
|
|
@@ -125,31 +108,22 @@ var useWitnessesFromNode = /* @__PURE__ */ __name((ids, config) => {
|
|
|
125
108
|
return prev;
|
|
126
109
|
}, []),
|
|
127
110
|
void 0
|
|
128
|
-
] : [
|
|
129
|
-
|
|
130
|
-
error
|
|
131
|
-
];
|
|
132
|
-
}, "useWitnessesFromNode");
|
|
111
|
+
] : [modules, error];
|
|
112
|
+
};
|
|
133
113
|
|
|
134
114
|
// src/hooks/node/useWitnessFromNode.tsx
|
|
135
115
|
import { useModuleFromNode } from "@xyo-network/react-node";
|
|
136
116
|
import { asWitnessInstance as asWitnessInstance2 } from "@xyo-network/witness-model";
|
|
137
|
-
var useWitnessFromNode =
|
|
117
|
+
var useWitnessFromNode = (nameOrAddressOrInstance, config) => {
|
|
138
118
|
const [mod, error] = useModuleFromNode(nameOrAddressOrInstance, config);
|
|
139
119
|
const instance = asWitnessInstance2(mod);
|
|
140
120
|
if (mod && !instance) {
|
|
141
121
|
const error2 = new Error(`Resolved module is not a WitnessInstance [${mod.config?.schema}:${mod.config?.name}:${mod.address}]`);
|
|
142
122
|
console.error(error2.message);
|
|
143
|
-
return [
|
|
144
|
-
void 0,
|
|
145
|
-
error2
|
|
146
|
-
];
|
|
123
|
+
return [void 0, error2];
|
|
147
124
|
}
|
|
148
|
-
return [
|
|
149
|
-
|
|
150
|
-
error
|
|
151
|
-
];
|
|
152
|
-
}, "useWitnessFromNode");
|
|
125
|
+
return [instance, error];
|
|
126
|
+
};
|
|
153
127
|
export {
|
|
154
128
|
WitnessCard,
|
|
155
129
|
WitnessCardContent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/Card/Card.tsx","../../src/components/Card/CardActions.tsx","../../src/components/Card/CardContent.tsx","../../src/components/Card/CardHeader.tsx","../../src/hooks/node/useWeakWitnessesFromNode.tsx","../../src/hooks/node/useWeakWitnessFromNode.tsx","../../src/hooks/node/useWitnessesFromNode.tsx","../../src/hooks/node/useWitnessFromNode.tsx"],"sourcesContent":["import type { CardProps } from '@mui/material'\nimport { Card } from '@mui/material'\nimport { usePromise } from '@xylabs/react-promise'\nimport type { ModuleRenderProps } from '@xyo-network/react-module'\nimport type { WitnessInstance } from '@xyo-network/witness-model'\nimport React, { useState } from 'react'\n\nimport { WitnessCardActions } from './CardActions.tsx'\nimport { WitnessCardContent } from './CardContent.tsx'\nimport { WitnessCardHeader } from './CardHeader.tsx'\n\nexport const WitnessCard: React.FC<CardProps & ModuleRenderProps<WitnessInstance>> = ({\n children, mod, ...props\n}) => {\n const [retry, setRetry] = useState(-1)\n const [observation] = usePromise(async () => {\n if (retry >= 0) {\n return await mod?.observe()\n }\n }, [mod, retry])\n return (\n <Card {...props}>\n <WitnessCardHeader mod={mod} />\n <WitnessCardContent mod={mod} observation={observation} />\n {children}\n <WitnessCardActions mod={mod} onObserve={() => setRetry(retry + 1)} />\n </Card>\n )\n}\n","import type { CardActionsProps } from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport type { ModuleRenderProps } from '@xyo-network/react-module'\nimport { ModuleCardActions } from '@xyo-network/react-module'\nimport type { WitnessInstance } from '@xyo-network/witness-model'\nimport React from 'react'\n\nexport type WitnessCardActionsProps = ModuleRenderProps<WitnessInstance>\n & CardActionsProps & {\n onObserve?: (mod?: WitnessInstance) => void\n }\n\nexport const WitnessCardActions: React.FC<WitnessCardActionsProps> = ({\n onObserve, mod, ...props\n}) => {\n return (\n <ModuleCardActions mod={mod} {...props}>\n <ButtonEx onClick={() => onObserve?.(mod)} size=\"small\" variant=\"outlined\">\n Observe\n </ButtonEx>\n </ModuleCardActions>\n )\n}\n","import type { CardContentProps } from '@mui/material'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport type { Payload } from '@xyo-network/payload-model'\nimport type { ModuleRenderProps } from '@xyo-network/react-module'\nimport { ModuleCardContent } from '@xyo-network/react-module'\nimport { JsonViewerEx } from '@xyo-network/react-payload-raw-info'\nimport type { WitnessInstance } from '@xyo-network/witness-model'\nimport React from 'react'\n\nexport type WitnessCardContentProps = ModuleRenderProps<WitnessInstance>\n & CardContentProps & {\n observation?: Payload[]\n }\n\nexport const WitnessCardContent: React.FC<WitnessCardContentProps> = ({\n children, observation, mod, ...props\n}) => {\n return (\n <ModuleCardContent mod={mod} {...props}>\n <FlexGrowRow flexWrap=\"wrap\" justifyContent=\"start\" gap={2}>\n {observation\n ? <JsonViewerEx value={observation} />\n : null}\n {children}\n </FlexGrowRow>\n </ModuleCardContent>\n )\n}\n","import type { CardHeaderProps } from '@mui/material'\nimport type { ModuleRenderProps } from '@xyo-network/react-module'\nimport { ModuleCardHeader } from '@xyo-network/react-module'\nimport type { WitnessInstance } from '@xyo-network/witness-model'\nimport React from 'react'\n\nexport const WitnessCardHeader: React.FC<ModuleRenderProps<WitnessInstance> & CardHeaderProps> = ({\n title, mod, ...props\n}) => {\n return <ModuleCardHeader mod={mod} title={title ?? mod?.config.name ?? 'Witness'} {...props} />\n}\n","import { exists } from '@xylabs/sdk-js'\nimport type { ModuleIdentifier } from '@xyo-network/module-model'\nimport type { ModuleFromNodeConfig } from '@xyo-network/react-node'\nimport { useWeakModulesFromNode } from '@xyo-network/react-node'\nimport type { WitnessInstance } from '@xyo-network/witness-model'\nimport { asWitnessInstance } from '@xyo-network/witness-model'\n\nexport const useWeakWitnessesFromNode = (\n ids?: ModuleIdentifier[],\n config?: ModuleFromNodeConfig,\n): [WeakRef<WitnessInstance>[] | null | undefined, Error | undefined] => {\n const [modules, error] = useWeakModulesFromNode(ids, config)\n if (error) {\n return [null, error]\n }\n return [\n modules\n ?.map((mod) => {\n const instance = asWitnessInstance(mod?.deref())\n if (instance) {\n return new WeakRef(instance)\n }\n })\n .filter(exists) ?? [],\n undefined,\n ]\n}\n","import type { WeakModuleFromNodeConfig } from '@xyo-network/react-node'\nimport { useWeakModuleFromNode } from '@xyo-network/react-node'\nimport type { WitnessInstance } from '@xyo-network/witness-model'\nimport { isWitnessInstance } from '@xyo-network/witness-model'\n\nexport const useWeakWitnessFromNode = (\n nameOrAddressOrInstance?: string | WitnessInstance,\n config?: WeakModuleFromNodeConfig,\n): [WeakRef<WitnessInstance> | undefined, Error | undefined] => {\n return useWeakModuleFromNode<WitnessInstance>(nameOrAddressOrInstance, { identity: isWitnessInstance, ...config })\n}\n","import type { ModuleIdentifier } from '@xyo-network/module-model'\nimport type { ModuleFromNodeConfig } from '@xyo-network/react-node'\nimport { useModulesFromNode } from '@xyo-network/react-node'\nimport type { WitnessInstance } from '@xyo-network/witness-model'\nimport { isWitnessInstance } from '@xyo-network/witness-model'\n\nexport const useWitnessesFromNode = (\n ids?: ModuleIdentifier[],\n config?: ModuleFromNodeConfig,\n): [WitnessInstance[] | null | undefined, Error | undefined] => {\n const [modules, error] = useModulesFromNode(ids, config)\n if (error) {\n return [null, error]\n }\n return modules\n ? [\n // eslint-disable-next-line unicorn/no-array-reduce\n modules.reduce<WitnessInstance[]>((prev, mod) => {\n if (isWitnessInstance(mod)) {\n prev.push(mod)\n }\n return prev\n }, []),\n undefined,\n ]\n : [modules, error]\n}\n","import type { ModuleFromNodeConfig } from '@xyo-network/react-node'\nimport { useModuleFromNode } from '@xyo-network/react-node'\nimport type { WitnessInstance } from '@xyo-network/witness-model'\nimport { asWitnessInstance } from '@xyo-network/witness-model'\n\nexport const useWitnessFromNode = (\n nameOrAddressOrInstance?: string | WitnessInstance,\n config?: ModuleFromNodeConfig,\n): [WitnessInstance | undefined, Error | undefined] => {\n const [mod, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asWitnessInstance(mod)\n if (mod && !instance) {\n const error = new Error(`Resolved module is not a WitnessInstance [${mod.config?.schema}:${mod.config?.name}:${mod.address}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [instance, error]\n}\n"],"mappings":"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","names":["Card","usePromise","React","useState","ButtonEx","ModuleCardActions","React","WitnessCardActions","onObserve","mod","props","ModuleCardActions","ButtonEx","onClick","size","variant","FlexGrowRow","ModuleCardContent","JsonViewerEx","React","WitnessCardContent","children","observation","mod","props","React","ModuleCardContent","FlexGrowRow","flexWrap","justifyContent","gap","JsonViewerEx","value","ModuleCardHeader","React","WitnessCardHeader","title","mod","props","React","ModuleCardHeader","config","name","WitnessCard","children","mod","props","retry","setRetry","useState","observation","usePromise","observe","React","Card","WitnessCardHeader","WitnessCardContent","WitnessCardActions","onObserve","exists","useWeakModulesFromNode","asWitnessInstance","useWeakWitnessesFromNode","ids","config","modules","error","useWeakModulesFromNode","map","mod","instance","asWitnessInstance","deref","WeakRef","filter","exists","undefined","useWeakModuleFromNode","isWitnessInstance","useWeakWitnessFromNode","nameOrAddressOrInstance","config","useWeakModuleFromNode","identity","isWitnessInstance","useModulesFromNode","isWitnessInstance","useWitnessesFromNode","ids","config","modules","error","useModulesFromNode","reduce","prev","mod","isWitnessInstance","push","undefined","useModuleFromNode","asWitnessInstance","useWitnessFromNode","nameOrAddressOrInstance","config","mod","error","useModuleFromNode","instance","asWitnessInstance","Error","schema","name","address","console","message","undefined"]}
|
|
1
|
+
{"version":3,"sources":["../../src/components/Card/Card.tsx","../../src/components/Card/CardActions.tsx","../../src/components/Card/CardContent.tsx","../../src/components/Card/CardHeader.tsx","../../src/hooks/node/useWeakWitnessesFromNode.tsx","../../src/hooks/node/useWeakWitnessFromNode.tsx","../../src/hooks/node/useWitnessesFromNode.tsx","../../src/hooks/node/useWitnessFromNode.tsx"],"sourcesContent":["import type { CardProps } from '@mui/material'\nimport { Card } from '@mui/material'\nimport { usePromise } from '@xylabs/react-promise'\nimport type { ModuleRenderProps } from '@xyo-network/react-module'\nimport type { WitnessInstance } from '@xyo-network/witness-model'\nimport React, { useState } from 'react'\n\nimport { WitnessCardActions } from './CardActions.tsx'\nimport { WitnessCardContent } from './CardContent.tsx'\nimport { WitnessCardHeader } from './CardHeader.tsx'\n\nexport const WitnessCard: React.FC<CardProps & ModuleRenderProps<WitnessInstance>> = ({\n children, mod, ...props\n}) => {\n const [retry, setRetry] = useState(-1)\n const [observation] = usePromise(async () => {\n if (retry >= 0) {\n return await mod?.observe()\n }\n }, [mod, retry])\n return (\n <Card {...props}>\n <WitnessCardHeader mod={mod} />\n <WitnessCardContent mod={mod} observation={observation} />\n {children}\n <WitnessCardActions mod={mod} onObserve={() => setRetry(retry + 1)} />\n </Card>\n )\n}\n","import type { CardActionsProps } from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport type { ModuleRenderProps } from '@xyo-network/react-module'\nimport { ModuleCardActions } from '@xyo-network/react-module'\nimport type { WitnessInstance } from '@xyo-network/witness-model'\nimport React from 'react'\n\nexport type WitnessCardActionsProps = ModuleRenderProps<WitnessInstance>\n & CardActionsProps & {\n onObserve?: (mod?: WitnessInstance) => void\n }\n\nexport const WitnessCardActions: React.FC<WitnessCardActionsProps> = ({\n onObserve, mod, ...props\n}) => {\n return (\n <ModuleCardActions mod={mod} {...props}>\n <ButtonEx onClick={() => onObserve?.(mod)} size=\"small\" variant=\"outlined\">\n Observe\n </ButtonEx>\n </ModuleCardActions>\n )\n}\n","import type { CardContentProps } from '@mui/material'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport type { Payload } from '@xyo-network/payload-model'\nimport type { ModuleRenderProps } from '@xyo-network/react-module'\nimport { ModuleCardContent } from '@xyo-network/react-module'\nimport { JsonViewerEx } from '@xyo-network/react-payload-raw-info'\nimport type { WitnessInstance } from '@xyo-network/witness-model'\nimport React from 'react'\n\nexport type WitnessCardContentProps = ModuleRenderProps<WitnessInstance>\n & CardContentProps & {\n observation?: Payload[]\n }\n\nexport const WitnessCardContent: React.FC<WitnessCardContentProps> = ({\n children, observation, mod, ...props\n}) => {\n return (\n <ModuleCardContent mod={mod} {...props}>\n <FlexGrowRow flexWrap=\"wrap\" justifyContent=\"start\" gap={2}>\n {observation\n ? <JsonViewerEx value={observation} />\n : null}\n {children}\n </FlexGrowRow>\n </ModuleCardContent>\n )\n}\n","import type { CardHeaderProps } from '@mui/material'\nimport type { ModuleRenderProps } from '@xyo-network/react-module'\nimport { ModuleCardHeader } from '@xyo-network/react-module'\nimport type { WitnessInstance } from '@xyo-network/witness-model'\nimport React from 'react'\n\nexport const WitnessCardHeader: React.FC<ModuleRenderProps<WitnessInstance> & CardHeaderProps> = ({\n title, mod, ...props\n}) => {\n return <ModuleCardHeader mod={mod} title={title ?? mod?.config.name ?? 'Witness'} {...props} />\n}\n","import { exists } from '@xylabs/sdk-js'\nimport type { ModuleIdentifier } from '@xyo-network/module-model'\nimport type { ModuleFromNodeConfig } from '@xyo-network/react-node'\nimport { useWeakModulesFromNode } from '@xyo-network/react-node'\nimport type { WitnessInstance } from '@xyo-network/witness-model'\nimport { asWitnessInstance } from '@xyo-network/witness-model'\n\nexport const useWeakWitnessesFromNode = (\n ids?: ModuleIdentifier[],\n config?: ModuleFromNodeConfig,\n): [WeakRef<WitnessInstance>[] | null | undefined, Error | undefined] => {\n const [modules, error] = useWeakModulesFromNode(ids, config)\n if (error) {\n return [null, error]\n }\n return [\n modules\n ?.map((mod) => {\n const instance = asWitnessInstance(mod?.deref())\n if (instance) {\n return new WeakRef(instance)\n }\n })\n .filter(exists) ?? [],\n undefined,\n ]\n}\n","import type { WeakModuleFromNodeConfig } from '@xyo-network/react-node'\nimport { useWeakModuleFromNode } from '@xyo-network/react-node'\nimport type { WitnessInstance } from '@xyo-network/witness-model'\nimport { isWitnessInstance } from '@xyo-network/witness-model'\n\nexport const useWeakWitnessFromNode = (\n nameOrAddressOrInstance?: string | WitnessInstance,\n config?: WeakModuleFromNodeConfig,\n): [WeakRef<WitnessInstance> | undefined, Error | undefined] => {\n return useWeakModuleFromNode<WitnessInstance>(nameOrAddressOrInstance, { identity: isWitnessInstance, ...config })\n}\n","import type { ModuleIdentifier } from '@xyo-network/module-model'\nimport type { ModuleFromNodeConfig } from '@xyo-network/react-node'\nimport { useModulesFromNode } from '@xyo-network/react-node'\nimport type { WitnessInstance } from '@xyo-network/witness-model'\nimport { isWitnessInstance } from '@xyo-network/witness-model'\n\nexport const useWitnessesFromNode = (\n ids?: ModuleIdentifier[],\n config?: ModuleFromNodeConfig,\n): [WitnessInstance[] | null | undefined, Error | undefined] => {\n const [modules, error] = useModulesFromNode(ids, config)\n if (error) {\n return [null, error]\n }\n return modules\n ? [\n // eslint-disable-next-line unicorn/no-array-reduce\n modules.reduce<WitnessInstance[]>((prev, mod) => {\n if (isWitnessInstance(mod)) {\n prev.push(mod)\n }\n return prev\n }, []),\n undefined,\n ]\n : [modules, error]\n}\n","import type { ModuleFromNodeConfig } from '@xyo-network/react-node'\nimport { useModuleFromNode } from '@xyo-network/react-node'\nimport type { WitnessInstance } from '@xyo-network/witness-model'\nimport { asWitnessInstance } from '@xyo-network/witness-model'\n\nexport const useWitnessFromNode = (\n nameOrAddressOrInstance?: string | WitnessInstance,\n config?: ModuleFromNodeConfig,\n): [WitnessInstance | undefined, Error | undefined] => {\n const [mod, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asWitnessInstance(mod)\n if (mod && !instance) {\n const error = new Error(`Resolved module is not a WitnessInstance [${mod.config?.schema}:${mod.config?.name}:${mod.address}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [instance, error]\n}\n"],"mappings":"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","names":["jsx","jsx","jsx","jsxs","isWitnessInstance","asWitnessInstance","error"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyo-network/react-witness",
|
|
3
|
-
"version": "7.5.
|
|
3
|
+
"version": "7.5.12",
|
|
4
4
|
"description": "Common React library for all XYO projects that use React",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"xyo",
|
|
@@ -36,55 +36,172 @@
|
|
|
36
36
|
},
|
|
37
37
|
"./package.json": "./package.json"
|
|
38
38
|
},
|
|
39
|
-
"module": "dist/browser/index.mjs",
|
|
40
|
-
"types": "dist/browser/index.d.ts",
|
|
41
39
|
"files": [
|
|
42
40
|
"dist",
|
|
43
|
-
"
|
|
41
|
+
"README.md"
|
|
44
42
|
],
|
|
45
43
|
"dependencies": {
|
|
46
|
-
"@
|
|
47
|
-
"@
|
|
48
|
-
"@
|
|
49
|
-
"@xylabs/sdk-js": "~5.0.90",
|
|
50
|
-
"@xyo-network/module-model": "~5.3.17",
|
|
51
|
-
"@xyo-network/payload-model": "~5.3.17",
|
|
52
|
-
"@xyo-network/react-module": "7.5.8",
|
|
53
|
-
"@xyo-network/react-node": "7.5.8",
|
|
54
|
-
"@xyo-network/react-payload-raw-info": "7.5.8",
|
|
55
|
-
"@xyo-network/witness-model": "~5.3.17"
|
|
44
|
+
"@xyo-network/react-payload-raw-info": "~7.5.12",
|
|
45
|
+
"@xyo-network/react-module": "~7.5.12",
|
|
46
|
+
"@xyo-network/react-node": "~7.5.12"
|
|
56
47
|
},
|
|
57
48
|
"devDependencies": {
|
|
58
|
-
"@
|
|
59
|
-
"@emotion/
|
|
60
|
-
"@
|
|
61
|
-
"@
|
|
62
|
-
"@
|
|
49
|
+
"@bitauth/libauth": "~3.0.0",
|
|
50
|
+
"@emotion/react": "^11.14.0",
|
|
51
|
+
"@emotion/styled": "^11.14.1",
|
|
52
|
+
"@metamask/providers": "^22.1.1",
|
|
53
|
+
"@mui/icons-material": "^7.3.10",
|
|
54
|
+
"@mui/material": "^7.3.10",
|
|
55
|
+
"@mui/system": "^7.3.10",
|
|
56
|
+
"@mui/x-tree-view": "~8.27.2",
|
|
57
|
+
"@opentelemetry/api": "^1.9.1",
|
|
58
|
+
"@opentelemetry/sdk-trace-base": "^2.7.0",
|
|
59
|
+
"@scure/base": "~2.2.0",
|
|
60
|
+
"@scure/bip39": "~2.2.0",
|
|
61
|
+
"@storybook/react-vite": "~10.3.5",
|
|
62
|
+
"@textea/json-viewer": "~4.0.1",
|
|
63
|
+
"@types/node": "~25.6.0",
|
|
63
64
|
"@types/react": "^19.2.14",
|
|
64
|
-
"@xylabs/
|
|
65
|
-
"@xylabs/
|
|
66
|
-
"@xylabs/
|
|
67
|
-
"@xylabs/
|
|
68
|
-
"@xylabs/
|
|
69
|
-
"@
|
|
70
|
-
"react": "
|
|
71
|
-
"react-
|
|
72
|
-
"react-
|
|
73
|
-
"
|
|
65
|
+
"@xylabs/geo": "^5.0.100",
|
|
66
|
+
"@xylabs/react-async-effect": "~7.1.20",
|
|
67
|
+
"@xylabs/react-button": "~7.1.20",
|
|
68
|
+
"@xylabs/react-crypto": "~7.1.20",
|
|
69
|
+
"@xylabs/react-dialogs": "~7.1.20",
|
|
70
|
+
"@xylabs/react-flexbox": "~7.1.20",
|
|
71
|
+
"@xylabs/react-hooks": "~7.1.20",
|
|
72
|
+
"@xylabs/react-identicon": "~7.1.20",
|
|
73
|
+
"@xylabs/react-link": "~7.1.20",
|
|
74
|
+
"@xylabs/react-promise": "~7.1.20",
|
|
75
|
+
"@xylabs/react-quick-tip-button": "~7.1.20",
|
|
76
|
+
"@xylabs/react-shared": "~7.1.20",
|
|
77
|
+
"@xylabs/react-theme": "~7.1.20",
|
|
78
|
+
"@xylabs/sdk-js": "^5.0.100",
|
|
79
|
+
"@xylabs/threads": "~5.0.100",
|
|
80
|
+
"@xylabs/toolchain": "~7.11.9",
|
|
81
|
+
"@xylabs/tsconfig": "^7.11.9",
|
|
82
|
+
"@xylabs/tsconfig-dom": "^7.11.9",
|
|
83
|
+
"@xylabs/tsconfig-react": "~7.11.9",
|
|
84
|
+
"@xylabs/zod": "~5.0.100",
|
|
85
|
+
"@xyo-network/account": "~5.5.1",
|
|
86
|
+
"@xyo-network/account-model": "^5.5.1",
|
|
87
|
+
"@xyo-network/api": "~5.5.1",
|
|
88
|
+
"@xyo-network/api-models": "~5.5.1",
|
|
89
|
+
"@xyo-network/boundwitness-builder": "^5.5.1",
|
|
90
|
+
"@xyo-network/boundwitness-model": "^5.5.1",
|
|
91
|
+
"@xyo-network/boundwitness-validator": "^5.5.1",
|
|
92
|
+
"@xyo-network/boundwitness-wrapper": "~5.5.1",
|
|
93
|
+
"@xyo-network/config-payload-plugin": "~5.5.1",
|
|
94
|
+
"@xyo-network/diviner-model": "^5.5.5",
|
|
95
|
+
"@xyo-network/huri": "^5.5.1",
|
|
96
|
+
"@xyo-network/id-plugin": "~5.4.9",
|
|
97
|
+
"@xyo-network/manifest-model": "~5.5.1",
|
|
98
|
+
"@xyo-network/module-abstract": "^5.5.5",
|
|
99
|
+
"@xyo-network/module-model": "^5.5.5",
|
|
100
|
+
"@xyo-network/node-memory": "~5.5.5",
|
|
101
|
+
"@xyo-network/node-model": "^5.5.5",
|
|
102
|
+
"@xyo-network/payload-builder": "^5.5.1",
|
|
103
|
+
"@xyo-network/payload-model": "^5.5.1",
|
|
104
|
+
"@xyo-network/payload-plugin": "^5.5.1",
|
|
105
|
+
"@xyo-network/payload-wrapper": "~5.5.1",
|
|
106
|
+
"@xyo-network/query-payload-plugin": "~5.5.1",
|
|
107
|
+
"@xyo-network/sdk-js": "^5.5.5",
|
|
108
|
+
"@xyo-network/sdk-protocol-js": "~5.5.1",
|
|
109
|
+
"@xyo-network/wallet": "~5.5.1",
|
|
110
|
+
"@xyo-network/wallet-model": "^5.5.1",
|
|
111
|
+
"@xyo-network/witness-abstract": "^5.5.5",
|
|
112
|
+
"@xyo-network/witness-model": "^5.5.5",
|
|
113
|
+
"ajv": "^8.18.0",
|
|
114
|
+
"async-mutex": "^0.5.0",
|
|
115
|
+
"axios": "^1.15.2",
|
|
116
|
+
"bn.js": "^5.2.3",
|
|
117
|
+
"bowser": "^2.14.1",
|
|
118
|
+
"buffer": "^6.0.3",
|
|
119
|
+
"chalk": "^5.6.2",
|
|
120
|
+
"debug": "~4.4.3",
|
|
121
|
+
"esbuild": "~0.28.0",
|
|
122
|
+
"eslint": "^10.2.1",
|
|
123
|
+
"ethers": "^6.16.0",
|
|
124
|
+
"fast-deep-equal": "~3.1.3",
|
|
125
|
+
"hash-wasm": "~4.12.0",
|
|
126
|
+
"idb": "^8.0.3",
|
|
127
|
+
"js-cookie": "~3.0.5",
|
|
128
|
+
"lru-cache": "^11.3.5",
|
|
129
|
+
"mapbox-gl": "^3.22.0",
|
|
130
|
+
"observable-fns": "~0.6.1",
|
|
131
|
+
"pako": "^2.1.0",
|
|
132
|
+
"react": "^19.2.5",
|
|
133
|
+
"react-dom": "^19.2.5",
|
|
134
|
+
"react-router-dom": "^7.14.2",
|
|
135
|
+
"spark-md5": "~3.0.2",
|
|
136
|
+
"store2": "~2.14.4",
|
|
137
|
+
"storybook": "^10.3.5",
|
|
74
138
|
"typescript": "^5.9.3",
|
|
75
|
-
"vite": "
|
|
139
|
+
"vite": "^8.0.10",
|
|
140
|
+
"wasm-feature-detect": "~1.8.0",
|
|
141
|
+
"webextension-polyfill": "^0.12.0",
|
|
76
142
|
"zod": "^4.3.6"
|
|
77
143
|
},
|
|
78
144
|
"peerDependencies": {
|
|
79
|
-
"@
|
|
80
|
-
"@
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"
|
|
84
|
-
"
|
|
145
|
+
"@emotion/react": "^11.14.0",
|
|
146
|
+
"@emotion/styled": "^11.14.1",
|
|
147
|
+
"@mui/icons-material": "^7.3.10",
|
|
148
|
+
"@mui/material": "^7.3.10",
|
|
149
|
+
"@mui/system": "^7.3.10",
|
|
150
|
+
"@mui/x-tree-view": "~8.27.2",
|
|
151
|
+
"@opentelemetry/api": "^1.9.1",
|
|
152
|
+
"@opentelemetry/sdk-trace-base": "^2.7.0",
|
|
153
|
+
"@scure/base": "~2.2.0",
|
|
154
|
+
"@textea/json-viewer": "~4.0.1",
|
|
155
|
+
"@xylabs/react-async-effect": "~7.1.20",
|
|
156
|
+
"@xylabs/react-button": "~7.1.20",
|
|
157
|
+
"@xylabs/react-crypto": "~7.1.20",
|
|
158
|
+
"@xylabs/react-flexbox": "~7.1.20",
|
|
159
|
+
"@xylabs/react-hooks": "~7.1.20",
|
|
160
|
+
"@xylabs/react-identicon": "~7.1.20",
|
|
161
|
+
"@xylabs/react-link": "~7.1.20",
|
|
162
|
+
"@xylabs/react-promise": "~7.1.20",
|
|
163
|
+
"@xylabs/react-quick-tip-button": "~7.1.20",
|
|
164
|
+
"@xylabs/react-shared": "~7.1.20",
|
|
165
|
+
"@xylabs/react-theme": "~7.1.20",
|
|
166
|
+
"@xylabs/sdk-js": "^5.0.100",
|
|
167
|
+
"@xylabs/zod": "~5.0.100",
|
|
168
|
+
"@xyo-network/account": "~5.5.1",
|
|
169
|
+
"@xyo-network/account-model": "^5.5.1",
|
|
170
|
+
"@xyo-network/boundwitness-builder": "^5.5.1",
|
|
171
|
+
"@xyo-network/boundwitness-model": "^5.5.1",
|
|
172
|
+
"@xyo-network/boundwitness-validator": "^5.5.1",
|
|
173
|
+
"@xyo-network/boundwitness-wrapper": "~5.5.1",
|
|
174
|
+
"@xyo-network/config-payload-plugin": "~5.5.1",
|
|
175
|
+
"@xyo-network/diviner-model": "^5.5.5",
|
|
176
|
+
"@xyo-network/manifest-model": "~5.5.1",
|
|
177
|
+
"@xyo-network/module-abstract": "^5.5.5",
|
|
178
|
+
"@xyo-network/module-model": "^5.5.5",
|
|
179
|
+
"@xyo-network/node-memory": "~5.5.5",
|
|
180
|
+
"@xyo-network/node-model": "^5.5.5",
|
|
181
|
+
"@xyo-network/payload-builder": "^5.5.1",
|
|
182
|
+
"@xyo-network/payload-model": "^5.5.1",
|
|
183
|
+
"@xyo-network/query-payload-plugin": "~5.5.1",
|
|
184
|
+
"@xyo-network/wallet-model": "^5.5.1",
|
|
185
|
+
"@xyo-network/witness-model": "^5.5.5",
|
|
186
|
+
"async-mutex": "^0.5.0",
|
|
187
|
+
"axios": "^1.15.2",
|
|
188
|
+
"bn.js": "^5.2.3",
|
|
189
|
+
"bowser": "^2.14.1",
|
|
190
|
+
"buffer": "^6.0.3",
|
|
191
|
+
"chalk": "^5.6.2",
|
|
192
|
+
"ethers": "^6.16.0",
|
|
193
|
+
"fast-deep-equal": "~3.1.3",
|
|
194
|
+
"js-cookie": "~3.0.5",
|
|
195
|
+
"lru-cache": "^11.3.5",
|
|
196
|
+
"pako": "^2.1.0",
|
|
197
|
+
"react": "^19.2.5",
|
|
198
|
+
"react-dom": "^19.2.5",
|
|
199
|
+
"react-router-dom": "^7.14.2",
|
|
200
|
+
"spark-md5": "~3.0.2",
|
|
201
|
+
"zod": "^4.3.6"
|
|
85
202
|
},
|
|
86
203
|
"publishConfig": {
|
|
87
204
|
"access": "public"
|
|
88
205
|
},
|
|
89
206
|
"docs": "dist/docs.json"
|
|
90
|
-
}
|
|
207
|
+
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import type { Meta, StoryFn } from '@storybook/react-vite'
|
|
2
|
-
import { FlexCol } from '@xylabs/react-flexbox'
|
|
3
|
-
import { usePromise } from '@xylabs/react-promise'
|
|
4
|
-
import { IdWitness } from '@xyo-network/id-plugin'
|
|
5
|
-
import type { WitnessInstance } from '@xyo-network/witness-model'
|
|
6
|
-
import React from 'react'
|
|
7
|
-
|
|
8
|
-
import { WitnessCard } from './Card.tsx'
|
|
9
|
-
|
|
10
|
-
const StorybookEntry = {
|
|
11
|
-
component: WitnessCard,
|
|
12
|
-
parameters: { docs: { page: null } },
|
|
13
|
-
title: 'modules/witness/WitnessCard',
|
|
14
|
-
} as Meta<typeof WitnessCard>
|
|
15
|
-
|
|
16
|
-
const IdWitnessTemplate: StoryFn<typeof WitnessCard> = () => {
|
|
17
|
-
const [witness] = usePromise(async () => {
|
|
18
|
-
return await IdWitness.create({})
|
|
19
|
-
}, [])
|
|
20
|
-
|
|
21
|
-
return (
|
|
22
|
-
<FlexCol gap={2}>
|
|
23
|
-
<WitnessCard mod={witness as unknown as WitnessInstance} />
|
|
24
|
-
</FlexCol>
|
|
25
|
-
)
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
const IdWitnessCard = IdWitnessTemplate.bind({})
|
|
29
|
-
|
|
30
|
-
export { IdWitnessCard }
|
|
31
|
-
|
|
32
|
-
export default StorybookEntry
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import type { CardProps } from '@mui/material'
|
|
2
|
-
import { Card } from '@mui/material'
|
|
3
|
-
import { usePromise } from '@xylabs/react-promise'
|
|
4
|
-
import type { ModuleRenderProps } from '@xyo-network/react-module'
|
|
5
|
-
import type { WitnessInstance } from '@xyo-network/witness-model'
|
|
6
|
-
import React, { useState } from 'react'
|
|
7
|
-
|
|
8
|
-
import { WitnessCardActions } from './CardActions.tsx'
|
|
9
|
-
import { WitnessCardContent } from './CardContent.tsx'
|
|
10
|
-
import { WitnessCardHeader } from './CardHeader.tsx'
|
|
11
|
-
|
|
12
|
-
export const WitnessCard: React.FC<CardProps & ModuleRenderProps<WitnessInstance>> = ({
|
|
13
|
-
children, mod, ...props
|
|
14
|
-
}) => {
|
|
15
|
-
const [retry, setRetry] = useState(-1)
|
|
16
|
-
const [observation] = usePromise(async () => {
|
|
17
|
-
if (retry >= 0) {
|
|
18
|
-
return await mod?.observe()
|
|
19
|
-
}
|
|
20
|
-
}, [mod, retry])
|
|
21
|
-
return (
|
|
22
|
-
<Card {...props}>
|
|
23
|
-
<WitnessCardHeader mod={mod} />
|
|
24
|
-
<WitnessCardContent mod={mod} observation={observation} />
|
|
25
|
-
{children}
|
|
26
|
-
<WitnessCardActions mod={mod} onObserve={() => setRetry(retry + 1)} />
|
|
27
|
-
</Card>
|
|
28
|
-
)
|
|
29
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type { CardActionsProps } from '@mui/material'
|
|
2
|
-
import { ButtonEx } from '@xylabs/react-button'
|
|
3
|
-
import type { ModuleRenderProps } from '@xyo-network/react-module'
|
|
4
|
-
import { ModuleCardActions } from '@xyo-network/react-module'
|
|
5
|
-
import type { WitnessInstance } from '@xyo-network/witness-model'
|
|
6
|
-
import React from 'react'
|
|
7
|
-
|
|
8
|
-
export type WitnessCardActionsProps = ModuleRenderProps<WitnessInstance>
|
|
9
|
-
& CardActionsProps & {
|
|
10
|
-
onObserve?: (mod?: WitnessInstance) => void
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export const WitnessCardActions: React.FC<WitnessCardActionsProps> = ({
|
|
14
|
-
onObserve, mod, ...props
|
|
15
|
-
}) => {
|
|
16
|
-
return (
|
|
17
|
-
<ModuleCardActions mod={mod} {...props}>
|
|
18
|
-
<ButtonEx onClick={() => onObserve?.(mod)} size="small" variant="outlined">
|
|
19
|
-
Observe
|
|
20
|
-
</ButtonEx>
|
|
21
|
-
</ModuleCardActions>
|
|
22
|
-
)
|
|
23
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import type { CardContentProps } from '@mui/material'
|
|
2
|
-
import { FlexGrowRow } from '@xylabs/react-flexbox'
|
|
3
|
-
import type { Payload } from '@xyo-network/payload-model'
|
|
4
|
-
import type { ModuleRenderProps } from '@xyo-network/react-module'
|
|
5
|
-
import { ModuleCardContent } from '@xyo-network/react-module'
|
|
6
|
-
import { JsonViewerEx } from '@xyo-network/react-payload-raw-info'
|
|
7
|
-
import type { WitnessInstance } from '@xyo-network/witness-model'
|
|
8
|
-
import React from 'react'
|
|
9
|
-
|
|
10
|
-
export type WitnessCardContentProps = ModuleRenderProps<WitnessInstance>
|
|
11
|
-
& CardContentProps & {
|
|
12
|
-
observation?: Payload[]
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export const WitnessCardContent: React.FC<WitnessCardContentProps> = ({
|
|
16
|
-
children, observation, mod, ...props
|
|
17
|
-
}) => {
|
|
18
|
-
return (
|
|
19
|
-
<ModuleCardContent mod={mod} {...props}>
|
|
20
|
-
<FlexGrowRow flexWrap="wrap" justifyContent="start" gap={2}>
|
|
21
|
-
{observation
|
|
22
|
-
? <JsonViewerEx value={observation} />
|
|
23
|
-
: null}
|
|
24
|
-
{children}
|
|
25
|
-
</FlexGrowRow>
|
|
26
|
-
</ModuleCardContent>
|
|
27
|
-
)
|
|
28
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { CardHeaderProps } from '@mui/material'
|
|
2
|
-
import type { ModuleRenderProps } from '@xyo-network/react-module'
|
|
3
|
-
import { ModuleCardHeader } from '@xyo-network/react-module'
|
|
4
|
-
import type { WitnessInstance } from '@xyo-network/witness-model'
|
|
5
|
-
import React from 'react'
|
|
6
|
-
|
|
7
|
-
export const WitnessCardHeader: React.FC<ModuleRenderProps<WitnessInstance> & CardHeaderProps> = ({
|
|
8
|
-
title, mod, ...props
|
|
9
|
-
}) => {
|
|
10
|
-
return <ModuleCardHeader mod={mod} title={title ?? mod?.config.name ?? 'Witness'} {...props} />
|
|
11
|
-
}
|
package/src/components/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Card/index.ts'
|
package/src/hooks/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './node/index.ts'
|
package/src/hooks/node/index.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { WeakModuleFromNodeConfig } from '@xyo-network/react-node'
|
|
2
|
-
import { useWeakModuleFromNode } from '@xyo-network/react-node'
|
|
3
|
-
import type { WitnessInstance } from '@xyo-network/witness-model'
|
|
4
|
-
import { isWitnessInstance } from '@xyo-network/witness-model'
|
|
5
|
-
|
|
6
|
-
export const useWeakWitnessFromNode = (
|
|
7
|
-
nameOrAddressOrInstance?: string | WitnessInstance,
|
|
8
|
-
config?: WeakModuleFromNodeConfig,
|
|
9
|
-
): [WeakRef<WitnessInstance> | undefined, Error | undefined] => {
|
|
10
|
-
return useWeakModuleFromNode<WitnessInstance>(nameOrAddressOrInstance, { identity: isWitnessInstance, ...config })
|
|
11
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { exists } from '@xylabs/sdk-js'
|
|
2
|
-
import type { ModuleIdentifier } from '@xyo-network/module-model'
|
|
3
|
-
import type { ModuleFromNodeConfig } from '@xyo-network/react-node'
|
|
4
|
-
import { useWeakModulesFromNode } from '@xyo-network/react-node'
|
|
5
|
-
import type { WitnessInstance } from '@xyo-network/witness-model'
|
|
6
|
-
import { asWitnessInstance } from '@xyo-network/witness-model'
|
|
7
|
-
|
|
8
|
-
export const useWeakWitnessesFromNode = (
|
|
9
|
-
ids?: ModuleIdentifier[],
|
|
10
|
-
config?: ModuleFromNodeConfig,
|
|
11
|
-
): [WeakRef<WitnessInstance>[] | null | undefined, Error | undefined] => {
|
|
12
|
-
const [modules, error] = useWeakModulesFromNode(ids, config)
|
|
13
|
-
if (error) {
|
|
14
|
-
return [null, error]
|
|
15
|
-
}
|
|
16
|
-
return [
|
|
17
|
-
modules
|
|
18
|
-
?.map((mod) => {
|
|
19
|
-
const instance = asWitnessInstance(mod?.deref())
|
|
20
|
-
if (instance) {
|
|
21
|
-
return new WeakRef(instance)
|
|
22
|
-
}
|
|
23
|
-
})
|
|
24
|
-
.filter(exists) ?? [],
|
|
25
|
-
undefined,
|
|
26
|
-
]
|
|
27
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { ModuleFromNodeConfig } from '@xyo-network/react-node'
|
|
2
|
-
import { useModuleFromNode } from '@xyo-network/react-node'
|
|
3
|
-
import type { WitnessInstance } from '@xyo-network/witness-model'
|
|
4
|
-
import { asWitnessInstance } from '@xyo-network/witness-model'
|
|
5
|
-
|
|
6
|
-
export const useWitnessFromNode = (
|
|
7
|
-
nameOrAddressOrInstance?: string | WitnessInstance,
|
|
8
|
-
config?: ModuleFromNodeConfig,
|
|
9
|
-
): [WitnessInstance | undefined, Error | undefined] => {
|
|
10
|
-
const [mod, error] = useModuleFromNode(nameOrAddressOrInstance, config)
|
|
11
|
-
const instance = asWitnessInstance(mod)
|
|
12
|
-
if (mod && !instance) {
|
|
13
|
-
const error = new Error(`Resolved module is not a WitnessInstance [${mod.config?.schema}:${mod.config?.name}:${mod.address}]`)
|
|
14
|
-
console.error(error.message)
|
|
15
|
-
return [undefined, error]
|
|
16
|
-
}
|
|
17
|
-
return [instance, error]
|
|
18
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type { ModuleIdentifier } from '@xyo-network/module-model'
|
|
2
|
-
import type { ModuleFromNodeConfig } from '@xyo-network/react-node'
|
|
3
|
-
import { useModulesFromNode } from '@xyo-network/react-node'
|
|
4
|
-
import type { WitnessInstance } from '@xyo-network/witness-model'
|
|
5
|
-
import { isWitnessInstance } from '@xyo-network/witness-model'
|
|
6
|
-
|
|
7
|
-
export const useWitnessesFromNode = (
|
|
8
|
-
ids?: ModuleIdentifier[],
|
|
9
|
-
config?: ModuleFromNodeConfig,
|
|
10
|
-
): [WitnessInstance[] | null | undefined, Error | undefined] => {
|
|
11
|
-
const [modules, error] = useModulesFromNode(ids, config)
|
|
12
|
-
if (error) {
|
|
13
|
-
return [null, error]
|
|
14
|
-
}
|
|
15
|
-
return modules
|
|
16
|
-
? [
|
|
17
|
-
// eslint-disable-next-line unicorn/no-array-reduce
|
|
18
|
-
modules.reduce<WitnessInstance[]>((prev, mod) => {
|
|
19
|
-
if (isWitnessInstance(mod)) {
|
|
20
|
-
prev.push(mod)
|
|
21
|
-
}
|
|
22
|
-
return prev
|
|
23
|
-
}, []),
|
|
24
|
-
undefined,
|
|
25
|
-
]
|
|
26
|
-
: [modules, error]
|
|
27
|
-
}
|
package/src/index.ts
DELETED