@xyo-network/react-witness 7.0.0 → 7.0.2

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.
@@ -2,7 +2,7 @@ import type { Meta } from '@storybook/react-vite';
2
2
  import React from 'react';
3
3
  import { WitnessCard } from './Card.tsx';
4
4
  declare const StorybookEntry: Meta<typeof WitnessCard>;
5
- declare const IdWitnessCard: import("storybook/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"> & {
5
+ declare const IdWitnessCard: import(".store/storybook-virtual-fa39dd25b7/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
6
  component?: React.ElementType;
7
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
8
  export { IdWitnessCard };
@@ -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 React4, { useState } from "react";
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 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");
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 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");
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 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");
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
- var WitnessCard = /* @__PURE__ */ __name(({ children, mod, ...props }) => {
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
- 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");
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/exists";
77
69
  import { useWeakModulesFromNode } from "@xyo-network/react-node";
78
70
  import { asWitnessInstance } from "@xyo-network/witness-model";
79
- var useWeakWitnessesFromNode = /* @__PURE__ */ __name((ids, config) => {
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
- }, "useWeakWitnessesFromNode");
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 = /* @__PURE__ */ __name((nameOrAddressOrInstance, config) => {
102
- return useWeakModuleFromNode(nameOrAddressOrInstance, {
103
- identity: isWitnessInstance,
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 = /* @__PURE__ */ __name((ids, config) => {
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
- modules,
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 = /* @__PURE__ */ __name((nameOrAddressOrInstance, config) => {
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
- instance,
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/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"]}
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"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/react-witness",
3
- "version": "7.0.0",
3
+ "version": "7.0.2",
4
4
  "description": "Common React library for all XYO projects that use React",
5
5
  "keywords": [
6
6
  "xyo",
@@ -43,37 +43,40 @@
43
43
  "src"
44
44
  ],
45
45
  "dependencies": {
46
- "@xylabs/exists": "^5.0.0",
47
- "@xylabs/react-button": "^7.0.0",
48
- "@xylabs/react-flexbox": "^7.0.0",
49
- "@xylabs/react-promise": "^7.0.0",
50
- "@xyo-network/module-model": "^5.0.0",
51
- "@xyo-network/payload-model": "^5.0.0",
52
- "@xyo-network/react-module": "^7.0.0",
53
- "@xyo-network/react-node": "^7.0.0",
54
- "@xyo-network/react-payload-raw-info": "^7.0.0",
55
- "@xyo-network/witness-model": "^5.0.0"
46
+ "@xylabs/exists": "~5.0.11",
47
+ "@xylabs/react-button": "~7.0.4",
48
+ "@xylabs/react-flexbox": "~7.0.4",
49
+ "@xylabs/react-promise": "~7.0.4",
50
+ "@xyo-network/module-model": "~5.0.7",
51
+ "@xyo-network/payload-model": "~5.0.7",
52
+ "@xyo-network/react-module": "^7.0.2",
53
+ "@xyo-network/react-node": "^7.0.2",
54
+ "@xyo-network/react-payload-raw-info": "^7.0.2",
55
+ "@xyo-network/witness-model": "~5.0.7"
56
56
  },
57
57
  "devDependencies": {
58
- "@emotion/react": "^11.14.0",
59
- "@emotion/styled": "^11.14.1",
60
- "@mui/icons-material": "^7.2.0",
61
- "@mui/material": "^7.2.0",
62
- "@storybook/react-vite": "^9.0.18",
63
- "@types/react": "^19.1.9",
64
- "@xylabs/ts-scripts-yarn3": "^7.0.2",
65
- "@xylabs/tsconfig-react": "^7.0.2",
66
- "@xyo-network/id-plugin": "^5.0.0",
67
- "react": "^19.1.1",
68
- "react-dom": "^19.1.1",
69
- "storybook": "^9.0.18",
70
- "typescript": "^5.8.3"
58
+ "@emotion/react": "~11.14.0",
59
+ "@emotion/styled": "~11.14.1",
60
+ "@mui/icons-material": "~7.3.1",
61
+ "@mui/material": "~7.3.1",
62
+ "@storybook/react-vite": "~9.1.3",
63
+ "@types/react": "~19.1.11",
64
+ "@xylabs/ts-scripts-yarn3": "~7.1.7",
65
+ "@xylabs/tsconfig": "~7.1.7",
66
+ "@xylabs/tsconfig-dom": "~7.1.7",
67
+ "@xylabs/tsconfig-react": "~7.1.7",
68
+ "@xyo-network/id-plugin": "~5.0.1",
69
+ "react": "~19.1.1",
70
+ "react-dom": "~19.1.1",
71
+ "storybook": "~9.1.3",
72
+ "typescript": "~5.9.2",
73
+ "vite": "~7.1.3"
71
74
  },
72
75
  "peerDependencies": {
73
76
  "@mui/icons-material": ">=6 <8",
74
77
  "@mui/material": ">=6 <8",
75
- "react": "^19",
76
- "react-dom": "^19"
78
+ "react": "~19",
79
+ "react-dom": "~19"
77
80
  },
78
81
  "publishConfig": {
79
82
  "access": "public"