@xyo-network/react-witness 7.4.2 → 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(".store/storybook-virtual-a067dd1507/package/internal/csf").AnnotatedStoryFn<import("@storybook/react-vite").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
+ 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<import("@xyo-network/witness-model").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
+ } & 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;;saAA6B,CAAA;AAEhD,OAAO,EAAE,aAAa,EAAE,CAAA;AAExB,eAAe,cAAc,CAAA"}
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"}
@@ -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 { 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
- };
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 { 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
- };
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 { 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
- };
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
- import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
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
- }, [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
- };
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 [null, error];
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, { identity: isWitnessInstance, ...config });
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 [null, error];
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
- ] : [modules, error];
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 [void 0, error2];
143
+ return [
144
+ void 0,
145
+ error2
146
+ ];
124
147
  }
125
- return [instance, error];
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.4.2",
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.50",
47
- "@xylabs/react-button": "~7.1.8",
48
- "@xylabs/react-flexbox": "~7.1.8",
49
- "@xylabs/react-promise": "~7.1.8",
50
- "@xyo-network/module-model": "~5.2.17",
51
- "@xyo-network/payload-model": "~5.2.17",
52
- "@xyo-network/react-module": "^7.4.2",
53
- "@xyo-network/react-node": "^7.4.2",
54
- "@xyo-network/react-payload-raw-info": "^7.4.2",
55
- "@xyo-network/witness-model": "~5.2.17"
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.6",
61
- "@mui/material": "~7.3.6",
62
- "@storybook/react-vite": "~10.1.4",
63
- "@types/react": "^19.2.7",
64
- "@xylabs/ts-scripts-yarn3": "~7.2.8",
65
- "@xylabs/tsconfig": "~7.2.8",
66
- "@xylabs/tsconfig-dom": "~7.2.8",
67
- "@xylabs/tsconfig-react": "~7.2.8",
68
- "@xyo-network/id-plugin": "~5.2.4",
69
- "react": "^19.2.1",
70
- "react-dom": "^19.2.1",
71
- "react-router-dom": "^7.10.0",
72
- "storybook": "~10.1.4",
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.2.6"
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
  }