@xyo-network/react-witness 7.4.1 → 7.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { Meta } from '@storybook/react-vite';
|
|
2
|
+
import type { WitnessInstance } from '@xyo-network/witness-model';
|
|
2
3
|
import React from 'react';
|
|
3
4
|
import { WitnessCard } from './Card.tsx';
|
|
4
5
|
declare const StorybookEntry: Meta<typeof WitnessCard>;
|
|
5
|
-
declare const IdWitnessCard: import("
|
|
6
|
+
declare const IdWitnessCard: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("@mui/material").CardOwnProps & import("@mui/material/OverridableComponent").CommonProps & Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "classes" | "className" | "style" | "children" | "sx" | "variant" | "elevation" | "square" | "raised"> & {
|
|
6
7
|
component?: React.ElementType;
|
|
7
|
-
} & import("@xyo-network/react-module").ModuleRenderProps<
|
|
8
|
+
} & import("@xyo-network/react-module").ModuleRenderProps<WitnessInstance<import("@xyo-network/witness-model").WitnessParams<import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/witness-model").WitnessConfig>>, import("@xyo-network/payload-model").Payload, import("@xyo-network/payload-model").Payload, import("@xyo-network/witness-model").WitnessModuleEventData>>>;
|
|
8
9
|
export { IdWitnessCard };
|
|
9
10
|
export default StorybookEntry;
|
|
10
11
|
//# sourceMappingURL=Card.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Card.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/Card/Card.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAW,MAAM,uBAAuB,CAAA;AAI1D,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,QAAA,MAAM,cAAc,EAIf,IAAI,CAAC,OAAO,WAAW,CAAC,CAAA;AAc7B,QAAA,MAAM,aAAa;;
|
|
1
|
+
{"version":3,"file":"Card.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/Card/Card.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAW,MAAM,uBAAuB,CAAA;AAI1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,QAAA,MAAM,cAAc,EAIf,IAAI,CAAC,OAAO,WAAW,CAAC,CAAA;AAc7B,QAAA,MAAM,aAAa;;iYAA6B,CAAA;AAEhD,OAAO,EAAE,aAAa,EAAE,CAAA;AAExB,eAAe,cAAc,CAAA"}
|
package/dist/browser/index.mjs
CHANGED
|
@@ -1,77 +1,88 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
|
|
1
4
|
// src/components/Card/Card.tsx
|
|
2
5
|
import { Card } from "@mui/material";
|
|
3
6
|
import { usePromise } from "@xylabs/react-promise";
|
|
4
|
-
import { useState } from "react";
|
|
7
|
+
import React4, { useState } from "react";
|
|
5
8
|
|
|
6
9
|
// src/components/Card/CardActions.tsx
|
|
7
10
|
import { ButtonEx } from "@xylabs/react-button";
|
|
8
11
|
import { ModuleCardActions } from "@xyo-network/react-module";
|
|
9
|
-
import
|
|
10
|
-
var WitnessCardActions = ({
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
import React from "react";
|
|
13
|
+
var WitnessCardActions = /* @__PURE__ */ __name(({ onObserve, mod, ...props }) => {
|
|
14
|
+
return /* @__PURE__ */ React.createElement(ModuleCardActions, {
|
|
15
|
+
mod,
|
|
16
|
+
...props
|
|
17
|
+
}, /* @__PURE__ */ React.createElement(ButtonEx, {
|
|
18
|
+
onClick: /* @__PURE__ */ __name(() => onObserve?.(mod), "onClick"),
|
|
19
|
+
size: "small",
|
|
20
|
+
variant: "outlined"
|
|
21
|
+
}, "Observe"));
|
|
22
|
+
}, "WitnessCardActions");
|
|
17
23
|
|
|
18
24
|
// src/components/Card/CardContent.tsx
|
|
19
25
|
import { FlexGrowRow } from "@xylabs/react-flexbox";
|
|
20
26
|
import { ModuleCardContent } from "@xyo-network/react-module";
|
|
21
27
|
import { JsonViewerEx } from "@xyo-network/react-payload-raw-info";
|
|
22
|
-
import
|
|
23
|
-
var WitnessCardContent = ({
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
};
|
|
28
|
+
import React2 from "react";
|
|
29
|
+
var WitnessCardContent = /* @__PURE__ */ __name(({ children, observation, mod, ...props }) => {
|
|
30
|
+
return /* @__PURE__ */ React2.createElement(ModuleCardContent, {
|
|
31
|
+
mod,
|
|
32
|
+
...props
|
|
33
|
+
}, /* @__PURE__ */ React2.createElement(FlexGrowRow, {
|
|
34
|
+
flexWrap: "wrap",
|
|
35
|
+
justifyContent: "start",
|
|
36
|
+
gap: 2
|
|
37
|
+
}, observation ? /* @__PURE__ */ React2.createElement(JsonViewerEx, {
|
|
38
|
+
value: observation
|
|
39
|
+
}) : null, children));
|
|
40
|
+
}, "WitnessCardContent");
|
|
34
41
|
|
|
35
42
|
// src/components/Card/CardHeader.tsx
|
|
36
43
|
import { ModuleCardHeader } from "@xyo-network/react-module";
|
|
37
|
-
import
|
|
38
|
-
var WitnessCardHeader = ({
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
};
|
|
44
|
+
import React3 from "react";
|
|
45
|
+
var WitnessCardHeader = /* @__PURE__ */ __name(({ title, mod, ...props }) => {
|
|
46
|
+
return /* @__PURE__ */ React3.createElement(ModuleCardHeader, {
|
|
47
|
+
mod,
|
|
48
|
+
title: title ?? mod?.config.name ?? "Witness",
|
|
49
|
+
...props
|
|
50
|
+
});
|
|
51
|
+
}, "WitnessCardHeader");
|
|
45
52
|
|
|
46
53
|
// src/components/Card/Card.tsx
|
|
47
|
-
|
|
48
|
-
var WitnessCard = ({
|
|
49
|
-
children,
|
|
50
|
-
mod,
|
|
51
|
-
...props
|
|
52
|
-
}) => {
|
|
54
|
+
var WitnessCard = /* @__PURE__ */ __name(({ children, mod, ...props }) => {
|
|
53
55
|
const [retry, setRetry] = useState(-1);
|
|
54
56
|
const [observation] = usePromise(async () => {
|
|
55
57
|
if (retry >= 0) {
|
|
56
58
|
return await mod?.observe();
|
|
57
59
|
}
|
|
58
|
-
}, [
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
60
|
+
}, [
|
|
61
|
+
mod,
|
|
62
|
+
retry
|
|
63
|
+
]);
|
|
64
|
+
return /* @__PURE__ */ React4.createElement(Card, props, /* @__PURE__ */ React4.createElement(WitnessCardHeader, {
|
|
65
|
+
mod
|
|
66
|
+
}), /* @__PURE__ */ React4.createElement(WitnessCardContent, {
|
|
67
|
+
mod,
|
|
68
|
+
observation
|
|
69
|
+
}), children, /* @__PURE__ */ React4.createElement(WitnessCardActions, {
|
|
70
|
+
mod,
|
|
71
|
+
onObserve: /* @__PURE__ */ __name(() => setRetry(retry + 1), "onObserve")
|
|
72
|
+
}));
|
|
73
|
+
}, "WitnessCard");
|
|
66
74
|
|
|
67
75
|
// src/hooks/node/useWeakWitnessesFromNode.tsx
|
|
68
76
|
import { exists } from "@xylabs/exists";
|
|
69
77
|
import { useWeakModulesFromNode } from "@xyo-network/react-node";
|
|
70
78
|
import { asWitnessInstance } from "@xyo-network/witness-model";
|
|
71
|
-
var useWeakWitnessesFromNode = (ids, config) => {
|
|
79
|
+
var useWeakWitnessesFromNode = /* @__PURE__ */ __name((ids, config) => {
|
|
72
80
|
const [modules, error] = useWeakModulesFromNode(ids, config);
|
|
73
81
|
if (error) {
|
|
74
|
-
return [
|
|
82
|
+
return [
|
|
83
|
+
null,
|
|
84
|
+
error
|
|
85
|
+
];
|
|
75
86
|
}
|
|
76
87
|
return [
|
|
77
88
|
modules?.map((mod) => {
|
|
@@ -82,22 +93,28 @@ var useWeakWitnessesFromNode = (ids, config) => {
|
|
|
82
93
|
}).filter(exists) ?? [],
|
|
83
94
|
void 0
|
|
84
95
|
];
|
|
85
|
-
};
|
|
96
|
+
}, "useWeakWitnessesFromNode");
|
|
86
97
|
|
|
87
98
|
// src/hooks/node/useWeakWitnessFromNode.tsx
|
|
88
99
|
import { useWeakModuleFromNode } from "@xyo-network/react-node";
|
|
89
100
|
import { isWitnessInstance } from "@xyo-network/witness-model";
|
|
90
|
-
var useWeakWitnessFromNode = (nameOrAddressOrInstance, config) => {
|
|
91
|
-
return useWeakModuleFromNode(nameOrAddressOrInstance, {
|
|
92
|
-
|
|
101
|
+
var useWeakWitnessFromNode = /* @__PURE__ */ __name((nameOrAddressOrInstance, config) => {
|
|
102
|
+
return useWeakModuleFromNode(nameOrAddressOrInstance, {
|
|
103
|
+
identity: isWitnessInstance,
|
|
104
|
+
...config
|
|
105
|
+
});
|
|
106
|
+
}, "useWeakWitnessFromNode");
|
|
93
107
|
|
|
94
108
|
// src/hooks/node/useWitnessesFromNode.tsx
|
|
95
109
|
import { useModulesFromNode } from "@xyo-network/react-node";
|
|
96
110
|
import { isWitnessInstance as isWitnessInstance2 } from "@xyo-network/witness-model";
|
|
97
|
-
var useWitnessesFromNode = (ids, config) => {
|
|
111
|
+
var useWitnessesFromNode = /* @__PURE__ */ __name((ids, config) => {
|
|
98
112
|
const [modules, error] = useModulesFromNode(ids, config);
|
|
99
113
|
if (error) {
|
|
100
|
-
return [
|
|
114
|
+
return [
|
|
115
|
+
null,
|
|
116
|
+
error
|
|
117
|
+
];
|
|
101
118
|
}
|
|
102
119
|
return modules ? [
|
|
103
120
|
// eslint-disable-next-line unicorn/no-array-reduce
|
|
@@ -108,22 +125,31 @@ var useWitnessesFromNode = (ids, config) => {
|
|
|
108
125
|
return prev;
|
|
109
126
|
}, []),
|
|
110
127
|
void 0
|
|
111
|
-
] : [
|
|
112
|
-
|
|
128
|
+
] : [
|
|
129
|
+
modules,
|
|
130
|
+
error
|
|
131
|
+
];
|
|
132
|
+
}, "useWitnessesFromNode");
|
|
113
133
|
|
|
114
134
|
// src/hooks/node/useWitnessFromNode.tsx
|
|
115
135
|
import { useModuleFromNode } from "@xyo-network/react-node";
|
|
116
136
|
import { asWitnessInstance as asWitnessInstance2 } from "@xyo-network/witness-model";
|
|
117
|
-
var useWitnessFromNode = (nameOrAddressOrInstance, config) => {
|
|
137
|
+
var useWitnessFromNode = /* @__PURE__ */ __name((nameOrAddressOrInstance, config) => {
|
|
118
138
|
const [mod, error] = useModuleFromNode(nameOrAddressOrInstance, config);
|
|
119
139
|
const instance = asWitnessInstance2(mod);
|
|
120
140
|
if (mod && !instance) {
|
|
121
141
|
const error2 = new Error(`Resolved module is not a WitnessInstance [${mod.config?.schema}:${mod.config?.name}:${mod.address}]`);
|
|
122
142
|
console.error(error2.message);
|
|
123
|
-
return [
|
|
143
|
+
return [
|
|
144
|
+
void 0,
|
|
145
|
+
error2
|
|
146
|
+
];
|
|
124
147
|
}
|
|
125
|
-
return [
|
|
126
|
-
|
|
148
|
+
return [
|
|
149
|
+
instance,
|
|
150
|
+
error
|
|
151
|
+
];
|
|
152
|
+
}, "useWitnessFromNode");
|
|
127
153
|
export {
|
|
128
154
|
WitnessCard,
|
|
129
155
|
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/exists'\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"]}
|
|
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/exists'\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"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyo-network/react-witness",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.5.0",
|
|
4
4
|
"description": "Common React library for all XYO projects that use React",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"xyo",
|
|
@@ -43,45 +43,46 @@
|
|
|
43
43
|
"src"
|
|
44
44
|
],
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@xylabs/exists": "~5.0.
|
|
47
|
-
"@xylabs/react-button": "~7.1.
|
|
48
|
-
"@xylabs/react-flexbox": "~7.1.
|
|
49
|
-
"@xylabs/react-promise": "~7.1.
|
|
50
|
-
"@xyo-network/module-model": "~5.2
|
|
51
|
-
"@xyo-network/payload-model": "~5.2
|
|
52
|
-
"@xyo-network/react-module": "
|
|
53
|
-
"@xyo-network/react-node": "
|
|
54
|
-
"@xyo-network/react-payload-raw-info": "
|
|
55
|
-
"@xyo-network/witness-model": "~5.2
|
|
46
|
+
"@xylabs/exists": "~5.0.64",
|
|
47
|
+
"@xylabs/react-button": "~7.1.9",
|
|
48
|
+
"@xylabs/react-flexbox": "~7.1.9",
|
|
49
|
+
"@xylabs/react-promise": "~7.1.9",
|
|
50
|
+
"@xyo-network/module-model": "~5.3.2",
|
|
51
|
+
"@xyo-network/payload-model": "~5.3.2",
|
|
52
|
+
"@xyo-network/react-module": "7.5.0",
|
|
53
|
+
"@xyo-network/react-node": "7.5.0",
|
|
54
|
+
"@xyo-network/react-payload-raw-info": "7.5.0",
|
|
55
|
+
"@xyo-network/witness-model": "~5.3.2"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
58
|
"@emotion/react": "~11.14.0",
|
|
59
59
|
"@emotion/styled": "~11.14.1",
|
|
60
|
-
"@mui/icons-material": "~7.3.
|
|
61
|
-
"@mui/material": "~7.3.
|
|
62
|
-
"@storybook/react-vite": "~10.1
|
|
63
|
-
"@types/react": "^19.2.
|
|
64
|
-
"@xylabs/ts-scripts-yarn3": "~7.2
|
|
65
|
-
"@xylabs/tsconfig": "~7.2
|
|
66
|
-
"@xylabs/tsconfig-dom": "~7.2
|
|
67
|
-
"@xylabs/tsconfig-react": "~7.2
|
|
68
|
-
"@xyo-network/id-plugin": "~5.
|
|
69
|
-
"react": "^19.2.
|
|
70
|
-
"react-dom": "^19.2.
|
|
71
|
-
"react-router-dom": "^7.
|
|
72
|
-
"storybook": "~10.1
|
|
60
|
+
"@mui/icons-material": "~7.3.7",
|
|
61
|
+
"@mui/material": "~7.3.7",
|
|
62
|
+
"@storybook/react-vite": "~10.2.1",
|
|
63
|
+
"@types/react": "^19.2.10",
|
|
64
|
+
"@xylabs/ts-scripts-yarn3": "~7.3.2",
|
|
65
|
+
"@xylabs/tsconfig": "~7.3.2",
|
|
66
|
+
"@xylabs/tsconfig-dom": "~7.3.2",
|
|
67
|
+
"@xylabs/tsconfig-react": "~7.3.2",
|
|
68
|
+
"@xyo-network/id-plugin": "~5.3.1",
|
|
69
|
+
"react": "^19.2.4",
|
|
70
|
+
"react-dom": "^19.2.4",
|
|
71
|
+
"react-router-dom": "^7.13.0",
|
|
72
|
+
"storybook": "~10.2.1",
|
|
73
73
|
"typescript": "^5.9.3",
|
|
74
|
-
"vite": "~7.
|
|
74
|
+
"vite": "~7.3.1"
|
|
75
75
|
},
|
|
76
76
|
"peerDependencies": {
|
|
77
77
|
"@mui/icons-material": ">=6 <8",
|
|
78
78
|
"@mui/material": ">=6 <8",
|
|
79
79
|
"react": "^19",
|
|
80
80
|
"react-dom": "^19",
|
|
81
|
-
"react-router-dom": "^7"
|
|
81
|
+
"react-router-dom": "^7",
|
|
82
|
+
"zod": "^4"
|
|
82
83
|
},
|
|
83
84
|
"publishConfig": {
|
|
84
85
|
"access": "public"
|
|
85
86
|
},
|
|
86
87
|
"docs": "dist/docs.json"
|
|
87
|
-
}
|
|
88
|
+
}
|
|
@@ -2,6 +2,7 @@ import type { Meta, StoryFn } from '@storybook/react-vite'
|
|
|
2
2
|
import { FlexCol } from '@xylabs/react-flexbox'
|
|
3
3
|
import { usePromise } from '@xylabs/react-promise'
|
|
4
4
|
import { IdWitness } from '@xyo-network/id-plugin'
|
|
5
|
+
import type { WitnessInstance } from '@xyo-network/witness-model'
|
|
5
6
|
import React from 'react'
|
|
6
7
|
|
|
7
8
|
import { WitnessCard } from './Card.tsx'
|
|
@@ -19,7 +20,7 @@ const IdWitnessTemplate: StoryFn<typeof WitnessCard> = () => {
|
|
|
19
20
|
|
|
20
21
|
return (
|
|
21
22
|
<FlexCol gap={2}>
|
|
22
|
-
<WitnessCard mod={witness} />
|
|
23
|
+
<WitnessCard mod={witness as unknown as WitnessInstance} />
|
|
23
24
|
</FlexCol>
|
|
24
25
|
)
|
|
25
26
|
}
|