@xyo-network/react-witness 2.65.4 → 2.65.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/dist/browser/components/Card/Card.d.cts +6 -0
  2. package/dist/browser/components/Card/Card.d.cts.map +1 -0
  3. package/dist/browser/components/Card/Card.d.mts +6 -0
  4. package/dist/browser/components/Card/Card.d.mts.map +1 -0
  5. package/dist/browser/components/Card/Card.d.ts +6 -0
  6. package/dist/browser/components/Card/Card.d.ts.map +1 -0
  7. package/dist/browser/components/Card/CardActions.d.cts +9 -0
  8. package/dist/browser/components/Card/CardActions.d.cts.map +1 -0
  9. package/dist/browser/components/Card/CardActions.d.mts +9 -0
  10. package/dist/browser/components/Card/CardActions.d.mts.map +1 -0
  11. package/dist/browser/components/Card/CardActions.d.ts +9 -0
  12. package/dist/browser/components/Card/CardActions.d.ts.map +1 -0
  13. package/dist/browser/components/Card/CardContent.d.cts +10 -0
  14. package/dist/browser/components/Card/CardContent.d.cts.map +1 -0
  15. package/dist/browser/components/Card/CardContent.d.mts +10 -0
  16. package/dist/browser/components/Card/CardContent.d.mts.map +1 -0
  17. package/dist/browser/components/Card/CardContent.d.ts +10 -0
  18. package/dist/browser/components/Card/CardContent.d.ts.map +1 -0
  19. package/dist/browser/components/Card/CardHeader.d.cts +6 -0
  20. package/dist/browser/components/Card/CardHeader.d.cts.map +1 -0
  21. package/dist/browser/components/Card/CardHeader.d.mts +6 -0
  22. package/dist/browser/components/Card/CardHeader.d.mts.map +1 -0
  23. package/dist/browser/components/Card/CardHeader.d.ts +6 -0
  24. package/dist/browser/components/Card/CardHeader.d.ts.map +1 -0
  25. package/dist/browser/components/Card/index.d.cts +4 -0
  26. package/dist/browser/components/Card/index.d.cts.map +1 -0
  27. package/dist/browser/components/Card/index.d.mts +4 -0
  28. package/dist/browser/components/Card/index.d.mts.map +1 -0
  29. package/dist/browser/components/Card/index.d.ts +4 -0
  30. package/dist/browser/components/Card/index.d.ts.map +1 -0
  31. package/dist/browser/components/index.d.cts +2 -0
  32. package/dist/browser/components/index.d.cts.map +1 -0
  33. package/dist/browser/components/index.d.mts +2 -0
  34. package/dist/browser/components/index.d.mts.map +1 -0
  35. package/dist/browser/components/index.d.ts +2 -0
  36. package/dist/browser/components/index.d.ts.map +1 -0
  37. package/dist/browser/index.cjs +62 -0
  38. package/dist/browser/index.cjs.map +1 -1
  39. package/dist/browser/index.d.cts +1 -0
  40. package/dist/browser/index.d.cts.map +1 -1
  41. package/dist/browser/index.d.mts +1 -0
  42. package/dist/browser/index.d.mts.map +1 -1
  43. package/dist/browser/index.d.ts +1 -0
  44. package/dist/browser/index.d.ts.map +1 -1
  45. package/dist/browser/index.js +52 -0
  46. package/dist/browser/index.js.map +1 -1
  47. package/dist/node/components/Card/Card.d.cts +6 -0
  48. package/dist/node/components/Card/Card.d.cts.map +1 -0
  49. package/dist/node/components/Card/Card.d.mts +6 -0
  50. package/dist/node/components/Card/Card.d.mts.map +1 -0
  51. package/dist/node/components/Card/Card.d.ts +6 -0
  52. package/dist/node/components/Card/Card.d.ts.map +1 -0
  53. package/dist/node/components/Card/CardActions.d.cts +9 -0
  54. package/dist/node/components/Card/CardActions.d.cts.map +1 -0
  55. package/dist/node/components/Card/CardActions.d.mts +9 -0
  56. package/dist/node/components/Card/CardActions.d.mts.map +1 -0
  57. package/dist/node/components/Card/CardActions.d.ts +9 -0
  58. package/dist/node/components/Card/CardActions.d.ts.map +1 -0
  59. package/dist/node/components/Card/CardContent.d.cts +10 -0
  60. package/dist/node/components/Card/CardContent.d.cts.map +1 -0
  61. package/dist/node/components/Card/CardContent.d.mts +10 -0
  62. package/dist/node/components/Card/CardContent.d.mts.map +1 -0
  63. package/dist/node/components/Card/CardContent.d.ts +10 -0
  64. package/dist/node/components/Card/CardContent.d.ts.map +1 -0
  65. package/dist/node/components/Card/CardHeader.d.cts +6 -0
  66. package/dist/node/components/Card/CardHeader.d.cts.map +1 -0
  67. package/dist/node/components/Card/CardHeader.d.mts +6 -0
  68. package/dist/node/components/Card/CardHeader.d.mts.map +1 -0
  69. package/dist/node/components/Card/CardHeader.d.ts +6 -0
  70. package/dist/node/components/Card/CardHeader.d.ts.map +1 -0
  71. package/dist/node/components/Card/index.d.cts +4 -0
  72. package/dist/node/components/Card/index.d.cts.map +1 -0
  73. package/dist/node/components/Card/index.d.mts +4 -0
  74. package/dist/node/components/Card/index.d.mts.map +1 -0
  75. package/dist/node/components/Card/index.d.ts +4 -0
  76. package/dist/node/components/Card/index.d.ts.map +1 -0
  77. package/dist/node/components/index.d.cts +2 -0
  78. package/dist/node/components/index.d.cts.map +1 -0
  79. package/dist/node/components/index.d.mts +2 -0
  80. package/dist/node/components/index.d.mts.map +1 -0
  81. package/dist/node/components/index.d.ts +2 -0
  82. package/dist/node/components/index.d.ts.map +1 -0
  83. package/dist/node/index.cjs +65 -0
  84. package/dist/node/index.cjs.map +1 -1
  85. package/dist/node/index.d.cts +1 -0
  86. package/dist/node/index.d.cts.map +1 -1
  87. package/dist/node/index.d.mts +1 -0
  88. package/dist/node/index.d.mts.map +1 -1
  89. package/dist/node/index.d.ts +1 -0
  90. package/dist/node/index.d.ts.map +1 -1
  91. package/dist/node/index.js +52 -0
  92. package/dist/node/index.js.map +1 -1
  93. package/package.json +4 -4
  94. package/src/components/Card/Card.stories.tsx +35 -0
  95. package/src/components/Card/Card.tsx +26 -0
  96. package/src/components/Card/CardActions.tsx +19 -0
  97. package/src/components/Card/CardContent.tsx +23 -0
  98. package/src/components/Card/CardHeader.tsx +7 -0
  99. package/src/components/Card/index.ts +3 -0
  100. package/src/components/index.ts +1 -0
  101. package/src/index.ts +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CardHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/Card/CardHeader.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAoB,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE5D,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC,GAAG,eAAe,CAE5F,CAAA"}
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import { CardHeaderProps } from '@mui/material';
3
+ import { ModuleRenderProps } from '@xyo-network/react-module';
4
+ import { WitnessInstance } from '@xyo-network/witness-model';
5
+ export declare const WitnessCardHeader: React.FC<ModuleRenderProps<WitnessInstance> & CardHeaderProps>;
6
+ //# sourceMappingURL=CardHeader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CardHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/Card/CardHeader.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAoB,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE5D,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC,GAAG,eAAe,CAE5F,CAAA"}
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import { CardHeaderProps } from '@mui/material';
3
+ import { ModuleRenderProps } from '@xyo-network/react-module';
4
+ import { WitnessInstance } from '@xyo-network/witness-model';
5
+ export declare const WitnessCardHeader: React.FC<ModuleRenderProps<WitnessInstance> & CardHeaderProps>;
6
+ //# sourceMappingURL=CardHeader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CardHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/Card/CardHeader.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAoB,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE5D,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC,GAAG,eAAe,CAE5F,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from './Card';
2
+ export * from './CardContent';
3
+ export * from './CardHeader';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Card/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from './Card';
2
+ export * from './CardContent';
3
+ export * from './CardHeader';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Card/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from './Card';
2
+ export * from './CardContent';
3
+ export * from './CardHeader';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Card/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './Card';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './Card';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './Card';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA"}
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
+ var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
5
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
8
  var __export = (target, all) => {
7
9
  for (var name in all)
@@ -15,16 +17,76 @@ var __copyProps = (to, from, except, desc) => {
15
17
  }
16
18
  return to;
17
19
  };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
18
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
29
 
20
30
  // src/index.ts
21
31
  var src_exports = {};
22
32
  __export(src_exports, {
33
+ WitnessCard: () => WitnessCard,
34
+ WitnessCardContent: () => WitnessCardContent,
35
+ WitnessCardHeader: () => WitnessCardHeader,
23
36
  useWitnessFromNode: () => useWitnessFromNode,
24
37
  useWitnessesFromNode: () => useWitnessesFromNode
25
38
  });
26
39
  module.exports = __toCommonJS(src_exports);
27
40
 
41
+ // src/components/Card/Card.tsx
42
+ var import_material = require("@mui/material");
43
+ var import_react_promise = require("@xylabs/react-promise");
44
+ var import_react = require("react");
45
+
46
+ // src/components/Card/CardActions.tsx
47
+ var import_react_button = require("@xylabs/react-button");
48
+ var import_react_module = require("@xyo-network/react-module");
49
+ var import_jsx_runtime = require("react/jsx-runtime");
50
+ var WitnessCardActions = ({ onObserve, module: module2, ...props }) => {
51
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_module.ModuleCardActions, { module: module2, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_button.ButtonEx, { onClick: () => onObserve == null ? void 0 : onObserve(module2), size: "small", variant: "outlined", children: "Observe" }) });
52
+ };
53
+
54
+ // src/components/Card/CardContent.tsx
55
+ var import_react_flexbox = require("@xylabs/react-flexbox");
56
+ var import_react_module2 = require("@xyo-network/react-module");
57
+ var import_react_json_view = __toESM(require("react-json-view"), 1);
58
+ var import_jsx_runtime2 = require("react/jsx-runtime");
59
+ var WitnessCardContent = ({ children, observation, module: module2, ...props }) => {
60
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_module2.ModuleCardContent, { module: module2, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_react_flexbox.FlexGrowRow, { flexWrap: "wrap", justifyContent: "start", gap: 2, children: [
61
+ observation ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_json_view.default, { src: observation }) : null,
62
+ children
63
+ ] }) });
64
+ };
65
+
66
+ // src/components/Card/CardHeader.tsx
67
+ var import_react_module3 = require("@xyo-network/react-module");
68
+ var import_jsx_runtime3 = require("react/jsx-runtime");
69
+ var WitnessCardHeader = ({ title, module: module2, ...props }) => {
70
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_module3.ModuleCardHeader, { module: module2, title: title ?? (module2 == null ? void 0 : module2.config.name) ?? "Witness", ...props });
71
+ };
72
+
73
+ // src/components/Card/Card.tsx
74
+ var import_jsx_runtime4 = require("react/jsx-runtime");
75
+ var WitnessCard = ({ children, module: module2, ...props }) => {
76
+ const [retry, setRetry] = (0, import_react.useState)(-1);
77
+ const [observation] = (0, import_react_promise.usePromise)(async () => {
78
+ if (retry >= 0) {
79
+ return await (module2 == null ? void 0 : module2.observe());
80
+ }
81
+ }, [module2, retry]);
82
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_material.Card, { ...props, children: [
83
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(WitnessCardHeader, { module: module2 }),
84
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(WitnessCardContent, { module: module2, observation }),
85
+ children,
86
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(WitnessCardActions, { module: module2, onObserve: () => setRetry(retry + 1) })
87
+ ] });
88
+ };
89
+
28
90
  // src/hooks/node/useWitnessesFromNode.tsx
29
91
  var import_react_node = require("@xyo-network/react-node");
30
92
  var import_witness = require("@xyo-network/witness");
@@ -64,6 +126,9 @@ var useWitnessFromNode = (nameOrAddressOrInstance, config) => {
64
126
  };
65
127
  // Annotate the CommonJS export names for ESM import in node:
66
128
  0 && (module.exports = {
129
+ WitnessCard,
130
+ WitnessCardContent,
131
+ WitnessCardHeader,
67
132
  useWitnessFromNode,
68
133
  useWitnessesFromNode
69
134
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/hooks/node/useWitnessesFromNode.tsx","../../src/hooks/node/useWitnessFromNode.tsx"],"sourcesContent":["export * from './hooks'\n","import { ModuleFilter } from '@xyo-network/module-model'\nimport { ModuleFromNodeConfig, useModulesFromNode } from '@xyo-network/react-node'\nimport { isWitnessInstance, WitnessInstance } from '@xyo-network/witness'\n\nexport const useWitnessesFromNode = (\n filter?: ModuleFilter,\n config?: ModuleFromNodeConfig,\n): [WitnessInstance[] | null | undefined, Error | undefined] => {\n const [modules, error] = useModulesFromNode(filter, config)\n if (error) {\n return [null, error]\n }\n if (modules) {\n return [\n modules.reduce<WitnessInstance[]>((prev, module) => {\n if (isWitnessInstance(module)) {\n prev.push(module)\n }\n return prev\n }, []),\n undefined,\n ]\n } else {\n return [modules, error]\n }\n}\n","import { ModuleFromNodeConfig, useModuleFromNode } from '@xyo-network/react-node'\nimport { asWitnessInstance, WitnessInstance } from '@xyo-network/witness'\n\nexport const useWitnessFromNode = (\n nameOrAddressOrInstance?: string | WitnessInstance,\n config?: ModuleFromNodeConfig,\n): [WitnessInstance | undefined, Error | undefined] => {\n const [module, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asWitnessInstance(module)\n if (module && !instance) {\n const error = Error(`Resolved module is not a WitnessInstance [${module.config?.schema}:${module.config?.name}:${module.address}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [instance, error]\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACCA,wBAAyD;AACzD,qBAAmD;AAE5C,IAAM,uBAAuB,CAClC,QACA,WAC8D;AAC9D,QAAM,CAAC,SAAS,KAAK,QAAI,sCAAmB,QAAQ,MAAM;AAC1D,MAAI,OAAO;AACT,WAAO,CAAC,MAAM,KAAK;AAAA,EACrB;AACA,MAAI,SAAS;AACX,WAAO;AAAA,MACL,QAAQ,OAA0B,CAAC,MAAMA,YAAW;AAClD,gBAAI,kCAAkBA,OAAM,GAAG;AAC7B,eAAK,KAAKA,OAAM;AAAA,QAClB;AACA,eAAO;AAAA,MACT,GAAG,CAAC,CAAC;AAAA,MACL;AAAA,IACF;AAAA,EACF,OAAO;AACL,WAAO,CAAC,SAAS,KAAK;AAAA,EACxB;AACF;;;ACzBA,IAAAC,qBAAwD;AACxD,IAAAC,kBAAmD;AAE5C,IAAM,qBAAqB,CAChC,yBACA,WACqD;AANvD;AAOE,QAAM,CAACC,SAAQ,KAAK,QAAI,sCAAkB,yBAAyB,MAAM;AACzE,QAAM,eAAW,mCAAkBA,OAAM;AACzC,MAAIA,WAAU,CAAC,UAAU;AACvB,UAAMC,SAAQ,MAAM,8CAA6C,KAAAD,QAAO,WAAP,mBAAe,MAAM,KAAI,KAAAA,QAAO,WAAP,mBAAe,IAAI,IAAIA,QAAO,OAAO,GAAG;AAClI,YAAQ,MAAMC,OAAM,OAAO;AAC3B,WAAO,CAAC,QAAWA,MAAK;AAAA,EAC1B;AACA,SAAO,CAAC,UAAU,KAAK;AACzB;","names":["module","import_react_node","import_witness","module","error"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/components/Card/Card.tsx","../../src/components/Card/CardActions.tsx","../../src/components/Card/CardContent.tsx","../../src/components/Card/CardHeader.tsx","../../src/hooks/node/useWitnessesFromNode.tsx","../../src/hooks/node/useWitnessFromNode.tsx"],"sourcesContent":["export * from './components'\nexport * from './hooks'\n","import { Card, CardProps } from '@mui/material'\nimport { usePromise } from '@xylabs/react-promise'\nimport { ModuleRenderProps } from '@xyo-network/react-module'\nimport { WitnessInstance } from '@xyo-network/witness-model'\nimport { useState } from 'react'\n\nimport { WitnessCardActions } from './CardActions'\nimport { WitnessCardContent } from './CardContent'\nimport { WitnessCardHeader } from './CardHeader'\n\nexport const WitnessCard: React.FC<CardProps & ModuleRenderProps<WitnessInstance>> = ({ children, module, ...props }) => {\n const [retry, setRetry] = useState(-1)\n const [observation] = usePromise(async () => {\n if (retry >= 0) {\n return await module?.observe()\n }\n }, [module, retry])\n return (\n <Card {...props}>\n <WitnessCardHeader module={module} />\n <WitnessCardContent module={module} observation={observation} />\n {children}\n <WitnessCardActions module={module} onObserve={() => setRetry(retry + 1)} />\n </Card>\n )\n}\n","import { CardActionsProps } from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { ModuleCardActions, ModuleRenderProps } from '@xyo-network/react-module'\nimport { WitnessInstance } from '@xyo-network/witness-model'\n\nexport type WitnessCardActionsProps = ModuleRenderProps<WitnessInstance> &\n CardActionsProps & {\n onObserve?: (module?: WitnessInstance) => void\n }\n\nexport const WitnessCardActions: React.FC<WitnessCardActionsProps> = ({ onObserve, module, ...props }) => {\n return (\n <ModuleCardActions module={module} {...props}>\n <ButtonEx onClick={() => onObserve?.(module)} size={'small'} variant={'outlined'}>\n Observe\n </ButtonEx>\n </ModuleCardActions>\n )\n}\n","import { CardContentProps } from '@mui/material'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport { Payload } from '@xyo-network/payload-model'\nimport { ModuleCardContent, ModuleRenderProps } from '@xyo-network/react-module'\nimport { WitnessInstance } from '@xyo-network/witness-model'\nimport React from 'react'\nimport JsonView from 'react-json-view'\n\nexport type WitnessCardContentProps = ModuleRenderProps<WitnessInstance> &\n CardContentProps & {\n observation?: Payload[]\n }\n\nexport const WitnessCardContent: React.FC<WitnessCardContentProps> = ({ children, observation, module, ...props }) => {\n return (\n <ModuleCardContent module={module} {...props}>\n <FlexGrowRow flexWrap=\"wrap\" justifyContent=\"start\" gap={2}>\n {observation ? <JsonView src={observation} /> : null}\n {children}\n </FlexGrowRow>\n </ModuleCardContent>\n )\n}\n","import { CardHeaderProps } from '@mui/material'\nimport { ModuleCardHeader, ModuleRenderProps } from '@xyo-network/react-module'\nimport { WitnessInstance } from '@xyo-network/witness-model'\n\nexport const WitnessCardHeader: React.FC<ModuleRenderProps<WitnessInstance> & CardHeaderProps> = ({ title, module, ...props }) => {\n return <ModuleCardHeader module={module} title={title ?? module?.config.name ?? 'Witness'} {...props} />\n}\n","import { ModuleFilter } from '@xyo-network/module-model'\nimport { ModuleFromNodeConfig, useModulesFromNode } from '@xyo-network/react-node'\nimport { isWitnessInstance, WitnessInstance } from '@xyo-network/witness'\n\nexport const useWitnessesFromNode = (\n filter?: ModuleFilter,\n config?: ModuleFromNodeConfig,\n): [WitnessInstance[] | null | undefined, Error | undefined] => {\n const [modules, error] = useModulesFromNode(filter, config)\n if (error) {\n return [null, error]\n }\n if (modules) {\n return [\n modules.reduce<WitnessInstance[]>((prev, module) => {\n if (isWitnessInstance(module)) {\n prev.push(module)\n }\n return prev\n }, []),\n undefined,\n ]\n } else {\n return [modules, error]\n }\n}\n","import { ModuleFromNodeConfig, useModuleFromNode } from '@xyo-network/react-node'\nimport { asWitnessInstance, WitnessInstance } from '@xyo-network/witness'\n\nexport const useWitnessFromNode = (\n nameOrAddressOrInstance?: string | WitnessInstance,\n config?: ModuleFromNodeConfig,\n): [WitnessInstance | undefined, Error | undefined] => {\n const [module, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asWitnessInstance(module)\n if (module && !instance) {\n const error = Error(`Resolved module is not a WitnessInstance [${module.config?.schema}:${module.config?.name}:${module.address}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [instance, error]\n}\n"],"mappings":"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","names":["module","import_react_module","import_jsx_runtime","module","JsonView","import_react_module","import_jsx_runtime","module","import_jsx_runtime","module","module","import_react_node","import_witness","module","error"]}
@@ -1,2 +1,3 @@
1
+ export * from './components';
1
2
  export * from './hooks';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA"}
@@ -1,2 +1,3 @@
1
+ export * from './components';
1
2
  export * from './hooks';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA"}
@@ -1,2 +1,3 @@
1
+ export * from './components';
1
2
  export * from './hooks';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA"}
@@ -1,3 +1,52 @@
1
+ // src/components/Card/Card.tsx
2
+ import { Card } from "@mui/material";
3
+ import { usePromise } from "@xylabs/react-promise";
4
+ import { useState } from "react";
5
+
6
+ // src/components/Card/CardActions.tsx
7
+ import { ButtonEx } from "@xylabs/react-button";
8
+ import { ModuleCardActions } from "@xyo-network/react-module";
9
+ import { jsx } from "react/jsx-runtime";
10
+ var WitnessCardActions = ({ onObserve, module, ...props }) => {
11
+ return /* @__PURE__ */ jsx(ModuleCardActions, { module, ...props, children: /* @__PURE__ */ jsx(ButtonEx, { onClick: () => onObserve == null ? void 0 : onObserve(module), size: "small", variant: "outlined", children: "Observe" }) });
12
+ };
13
+
14
+ // src/components/Card/CardContent.tsx
15
+ import { FlexGrowRow } from "@xylabs/react-flexbox";
16
+ import { ModuleCardContent } from "@xyo-network/react-module";
17
+ import JsonView from "react-json-view";
18
+ import { jsx as jsx2, jsxs } from "react/jsx-runtime";
19
+ var WitnessCardContent = ({ children, observation, module, ...props }) => {
20
+ return /* @__PURE__ */ jsx2(ModuleCardContent, { module, ...props, children: /* @__PURE__ */ jsxs(FlexGrowRow, { flexWrap: "wrap", justifyContent: "start", gap: 2, children: [
21
+ observation ? /* @__PURE__ */ jsx2(JsonView, { src: observation }) : null,
22
+ children
23
+ ] }) });
24
+ };
25
+
26
+ // src/components/Card/CardHeader.tsx
27
+ import { ModuleCardHeader } from "@xyo-network/react-module";
28
+ import { jsx as jsx3 } from "react/jsx-runtime";
29
+ var WitnessCardHeader = ({ title, module, ...props }) => {
30
+ return /* @__PURE__ */ jsx3(ModuleCardHeader, { module, title: title ?? (module == null ? void 0 : module.config.name) ?? "Witness", ...props });
31
+ };
32
+
33
+ // src/components/Card/Card.tsx
34
+ import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
35
+ var WitnessCard = ({ children, module, ...props }) => {
36
+ const [retry, setRetry] = useState(-1);
37
+ const [observation] = usePromise(async () => {
38
+ if (retry >= 0) {
39
+ return await (module == null ? void 0 : module.observe());
40
+ }
41
+ }, [module, retry]);
42
+ return /* @__PURE__ */ jsxs2(Card, { ...props, children: [
43
+ /* @__PURE__ */ jsx4(WitnessCardHeader, { module }),
44
+ /* @__PURE__ */ jsx4(WitnessCardContent, { module, observation }),
45
+ children,
46
+ /* @__PURE__ */ jsx4(WitnessCardActions, { module, onObserve: () => setRetry(retry + 1) })
47
+ ] });
48
+ };
49
+
1
50
  // src/hooks/node/useWitnessesFromNode.tsx
2
51
  import { useModulesFromNode } from "@xyo-network/react-node";
3
52
  import { isWitnessInstance } from "@xyo-network/witness";
@@ -36,6 +85,9 @@ var useWitnessFromNode = (nameOrAddressOrInstance, config) => {
36
85
  return [instance, error];
37
86
  };
38
87
  export {
88
+ WitnessCard,
89
+ WitnessCardContent,
90
+ WitnessCardHeader,
39
91
  useWitnessFromNode,
40
92
  useWitnessesFromNode
41
93
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/node/useWitnessesFromNode.tsx","../../src/hooks/node/useWitnessFromNode.tsx"],"sourcesContent":["import { ModuleFilter } from '@xyo-network/module-model'\nimport { ModuleFromNodeConfig, useModulesFromNode } from '@xyo-network/react-node'\nimport { isWitnessInstance, WitnessInstance } from '@xyo-network/witness'\n\nexport const useWitnessesFromNode = (\n filter?: ModuleFilter,\n config?: ModuleFromNodeConfig,\n): [WitnessInstance[] | null | undefined, Error | undefined] => {\n const [modules, error] = useModulesFromNode(filter, config)\n if (error) {\n return [null, error]\n }\n if (modules) {\n return [\n modules.reduce<WitnessInstance[]>((prev, module) => {\n if (isWitnessInstance(module)) {\n prev.push(module)\n }\n return prev\n }, []),\n undefined,\n ]\n } else {\n return [modules, error]\n }\n}\n","import { ModuleFromNodeConfig, useModuleFromNode } from '@xyo-network/react-node'\nimport { asWitnessInstance, WitnessInstance } from '@xyo-network/witness'\n\nexport const useWitnessFromNode = (\n nameOrAddressOrInstance?: string | WitnessInstance,\n config?: ModuleFromNodeConfig,\n): [WitnessInstance | undefined, Error | undefined] => {\n const [module, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asWitnessInstance(module)\n if (module && !instance) {\n const error = Error(`Resolved module is not a WitnessInstance [${module.config?.schema}:${module.config?.name}:${module.address}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [instance, error]\n}\n"],"mappings":";AACA,SAA+B,0BAA0B;AACzD,SAAS,yBAA0C;AAE5C,IAAM,uBAAuB,CAClC,QACA,WAC8D;AAC9D,QAAM,CAAC,SAAS,KAAK,IAAI,mBAAmB,QAAQ,MAAM;AAC1D,MAAI,OAAO;AACT,WAAO,CAAC,MAAM,KAAK;AAAA,EACrB;AACA,MAAI,SAAS;AACX,WAAO;AAAA,MACL,QAAQ,OAA0B,CAAC,MAAM,WAAW;AAClD,YAAI,kBAAkB,MAAM,GAAG;AAC7B,eAAK,KAAK,MAAM;AAAA,QAClB;AACA,eAAO;AAAA,MACT,GAAG,CAAC,CAAC;AAAA,MACL;AAAA,IACF;AAAA,EACF,OAAO;AACL,WAAO,CAAC,SAAS,KAAK;AAAA,EACxB;AACF;;;ACzBA,SAA+B,yBAAyB;AACxD,SAAS,yBAA0C;AAE5C,IAAM,qBAAqB,CAChC,yBACA,WACqD;AANvD;AAOE,QAAM,CAAC,QAAQ,KAAK,IAAI,kBAAkB,yBAAyB,MAAM;AACzE,QAAM,WAAW,kBAAkB,MAAM;AACzC,MAAI,UAAU,CAAC,UAAU;AACvB,UAAMA,SAAQ,MAAM,8CAA6C,YAAO,WAAP,mBAAe,MAAM,KAAI,YAAO,WAAP,mBAAe,IAAI,IAAI,OAAO,OAAO,GAAG;AAClI,YAAQ,MAAMA,OAAM,OAAO;AAC3B,WAAO,CAAC,QAAWA,MAAK;AAAA,EAC1B;AACA,SAAO,CAAC,UAAU,KAAK;AACzB;","names":["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/useWitnessesFromNode.tsx","../../src/hooks/node/useWitnessFromNode.tsx"],"sourcesContent":["import { Card, CardProps } from '@mui/material'\nimport { usePromise } from '@xylabs/react-promise'\nimport { ModuleRenderProps } from '@xyo-network/react-module'\nimport { WitnessInstance } from '@xyo-network/witness-model'\nimport { useState } from 'react'\n\nimport { WitnessCardActions } from './CardActions'\nimport { WitnessCardContent } from './CardContent'\nimport { WitnessCardHeader } from './CardHeader'\n\nexport const WitnessCard: React.FC<CardProps & ModuleRenderProps<WitnessInstance>> = ({ children, module, ...props }) => {\n const [retry, setRetry] = useState(-1)\n const [observation] = usePromise(async () => {\n if (retry >= 0) {\n return await module?.observe()\n }\n }, [module, retry])\n return (\n <Card {...props}>\n <WitnessCardHeader module={module} />\n <WitnessCardContent module={module} observation={observation} />\n {children}\n <WitnessCardActions module={module} onObserve={() => setRetry(retry + 1)} />\n </Card>\n )\n}\n","import { CardActionsProps } from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { ModuleCardActions, ModuleRenderProps } from '@xyo-network/react-module'\nimport { WitnessInstance } from '@xyo-network/witness-model'\n\nexport type WitnessCardActionsProps = ModuleRenderProps<WitnessInstance> &\n CardActionsProps & {\n onObserve?: (module?: WitnessInstance) => void\n }\n\nexport const WitnessCardActions: React.FC<WitnessCardActionsProps> = ({ onObserve, module, ...props }) => {\n return (\n <ModuleCardActions module={module} {...props}>\n <ButtonEx onClick={() => onObserve?.(module)} size={'small'} variant={'outlined'}>\n Observe\n </ButtonEx>\n </ModuleCardActions>\n )\n}\n","import { CardContentProps } from '@mui/material'\nimport { FlexGrowRow } from '@xylabs/react-flexbox'\nimport { Payload } from '@xyo-network/payload-model'\nimport { ModuleCardContent, ModuleRenderProps } from '@xyo-network/react-module'\nimport { WitnessInstance } from '@xyo-network/witness-model'\nimport React from 'react'\nimport JsonView from 'react-json-view'\n\nexport type WitnessCardContentProps = ModuleRenderProps<WitnessInstance> &\n CardContentProps & {\n observation?: Payload[]\n }\n\nexport const WitnessCardContent: React.FC<WitnessCardContentProps> = ({ children, observation, module, ...props }) => {\n return (\n <ModuleCardContent module={module} {...props}>\n <FlexGrowRow flexWrap=\"wrap\" justifyContent=\"start\" gap={2}>\n {observation ? <JsonView src={observation} /> : null}\n {children}\n </FlexGrowRow>\n </ModuleCardContent>\n )\n}\n","import { CardHeaderProps } from '@mui/material'\nimport { ModuleCardHeader, ModuleRenderProps } from '@xyo-network/react-module'\nimport { WitnessInstance } from '@xyo-network/witness-model'\n\nexport const WitnessCardHeader: React.FC<ModuleRenderProps<WitnessInstance> & CardHeaderProps> = ({ title, module, ...props }) => {\n return <ModuleCardHeader module={module} title={title ?? module?.config.name ?? 'Witness'} {...props} />\n}\n","import { ModuleFilter } from '@xyo-network/module-model'\nimport { ModuleFromNodeConfig, useModulesFromNode } from '@xyo-network/react-node'\nimport { isWitnessInstance, WitnessInstance } from '@xyo-network/witness'\n\nexport const useWitnessesFromNode = (\n filter?: ModuleFilter,\n config?: ModuleFromNodeConfig,\n): [WitnessInstance[] | null | undefined, Error | undefined] => {\n const [modules, error] = useModulesFromNode(filter, config)\n if (error) {\n return [null, error]\n }\n if (modules) {\n return [\n modules.reduce<WitnessInstance[]>((prev, module) => {\n if (isWitnessInstance(module)) {\n prev.push(module)\n }\n return prev\n }, []),\n undefined,\n ]\n } else {\n return [modules, error]\n }\n}\n","import { ModuleFromNodeConfig, useModuleFromNode } from '@xyo-network/react-node'\nimport { asWitnessInstance, WitnessInstance } from '@xyo-network/witness'\n\nexport const useWitnessFromNode = (\n nameOrAddressOrInstance?: string | WitnessInstance,\n config?: ModuleFromNodeConfig,\n): [WitnessInstance | undefined, Error | undefined] => {\n const [module, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asWitnessInstance(module)\n if (module && !instance) {\n const error = Error(`Resolved module is not a WitnessInstance [${module.config?.schema}:${module.config?.name}:${module.address}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [instance, error]\n}\n"],"mappings":";AAAA,SAAS,YAAuB;AAChC,SAAS,kBAAkB;AAG3B,SAAS,gBAAgB;;;ACHzB,SAAS,gBAAgB;AACzB,SAAS,yBAA4C;AAW/C;AAHC,IAAM,qBAAwD,CAAC,EAAE,WAAW,QAAQ,GAAG,MAAM,MAAM;AACxG,SACE,oBAAC,qBAAkB,QAAiB,GAAG,OACrC,8BAAC,YAAS,SAAS,MAAM,uCAAY,SAAS,MAAM,SAAS,SAAS,YAAY,qBAElF,GACF;AAEJ;;;ACjBA,SAAS,mBAAmB;AAE5B,SAAS,yBAA4C;AAGrD,OAAO,cAAc;AAUf,SACiB,OAAAA,MADjB;AAHC,IAAM,qBAAwD,CAAC,EAAE,UAAU,aAAa,QAAQ,GAAG,MAAM,MAAM;AACpH,SACE,gBAAAA,KAAC,qBAAkB,QAAiB,GAAG,OACrC,+BAAC,eAAY,UAAS,QAAO,gBAAe,SAAQ,KAAK,GACtD;AAAA,kBAAc,gBAAAA,KAAC,YAAS,KAAK,aAAa,IAAK;AAAA,IAC/C;AAAA,KACH,GACF;AAEJ;;;ACrBA,SAAS,wBAA2C;AAI3C,gBAAAC,YAAA;AADF,IAAM,oBAAoF,CAAC,EAAE,OAAO,QAAQ,GAAG,MAAM,MAAM;AAChI,SAAO,gBAAAA,KAAC,oBAAiB,QAAgB,OAAO,UAAS,iCAAQ,OAAO,SAAQ,WAAY,GAAG,OAAO;AACxG;;;AHYI,SACE,OAAAC,MADF,QAAAC,aAAA;AARG,IAAM,cAAwE,CAAC,EAAE,UAAU,QAAQ,GAAG,MAAM,MAAM;AACvH,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAS,EAAE;AACrC,QAAM,CAAC,WAAW,IAAI,WAAW,YAAY;AAC3C,QAAI,SAAS,GAAG;AACd,aAAO,OAAM,iCAAQ;AAAA,IACvB;AAAA,EACF,GAAG,CAAC,QAAQ,KAAK,CAAC;AAClB,SACE,gBAAAA,MAAC,QAAM,GAAG,OACR;AAAA,oBAAAD,KAAC,qBAAkB,QAAgB;AAAA,IACnC,gBAAAA,KAAC,sBAAmB,QAAgB,aAA0B;AAAA,IAC7D;AAAA,IACD,gBAAAA,KAAC,sBAAmB,QAAgB,WAAW,MAAM,SAAS,QAAQ,CAAC,GAAG;AAAA,KAC5E;AAEJ;;;AIxBA,SAA+B,0BAA0B;AACzD,SAAS,yBAA0C;AAE5C,IAAM,uBAAuB,CAClC,QACA,WAC8D;AAC9D,QAAM,CAAC,SAAS,KAAK,IAAI,mBAAmB,QAAQ,MAAM;AAC1D,MAAI,OAAO;AACT,WAAO,CAAC,MAAM,KAAK;AAAA,EACrB;AACA,MAAI,SAAS;AACX,WAAO;AAAA,MACL,QAAQ,OAA0B,CAAC,MAAM,WAAW;AAClD,YAAI,kBAAkB,MAAM,GAAG;AAC7B,eAAK,KAAK,MAAM;AAAA,QAClB;AACA,eAAO;AAAA,MACT,GAAG,CAAC,CAAC;AAAA,MACL;AAAA,IACF;AAAA,EACF,OAAO;AACL,WAAO,CAAC,SAAS,KAAK;AAAA,EACxB;AACF;;;ACzBA,SAA+B,yBAAyB;AACxD,SAAS,yBAA0C;AAE5C,IAAM,qBAAqB,CAChC,yBACA,WACqD;AANvD;AAOE,QAAM,CAAC,QAAQ,KAAK,IAAI,kBAAkB,yBAAyB,MAAM;AACzE,QAAM,WAAW,kBAAkB,MAAM;AACzC,MAAI,UAAU,CAAC,UAAU;AACvB,UAAME,SAAQ,MAAM,8CAA6C,YAAO,WAAP,mBAAe,MAAM,KAAI,YAAO,WAAP,mBAAe,IAAI,IAAI,OAAO,OAAO,GAAG;AAClI,YAAQ,MAAMA,OAAM,OAAO;AAC3B,WAAO,CAAC,QAAWA,MAAK;AAAA,EAC1B;AACA,SAAO,CAAC,UAAU,KAAK;AACzB;","names":["jsx","jsx","jsx","jsxs","error"]}
package/package.json CHANGED
@@ -10,9 +10,9 @@
10
10
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xyo-network/module-model": "^2.77.7",
14
- "@xyo-network/react-node": "~2.65.4",
15
- "@xyo-network/witness": "^2.77.7"
13
+ "@xyo-network/module-model": "^2.77.19",
14
+ "@xyo-network/react-node": "~2.65.5",
15
+ "@xyo-network/witness": "^2.77.19"
16
16
  },
17
17
  "devDependencies": {
18
18
  "@xylabs/ts-scripts-yarn3": "^3.1.13",
@@ -77,6 +77,6 @@
77
77
  },
78
78
  "sideEffects": false,
79
79
  "types": "dist/browser/index.d.ts",
80
- "version": "2.65.4",
80
+ "version": "2.65.5",
81
81
  "type": "module"
82
82
  }
@@ -0,0 +1,35 @@
1
+ import { Meta, StoryFn } from '@storybook/react'
2
+ import { FlexCol } from '@xylabs/react-flexbox'
3
+ import { usePromise } from '@xylabs/react-promise'
4
+ import { IdWitness } from '@xyo-network/id-plugin'
5
+
6
+ import { WitnessCard } from './Card'
7
+
8
+ const StorybookEntry = {
9
+ component: WitnessCard,
10
+ parameters: {
11
+ docs: {
12
+ page: null,
13
+ },
14
+ },
15
+ title: 'modules/witness/WitnessCard',
16
+ } as Meta<typeof WitnessCard>
17
+
18
+ const IdWitnessTemplate: StoryFn<typeof WitnessCard> = () => {
19
+ const [witness] = usePromise(async () => {
20
+ return await IdWitness.create()
21
+ }, [])
22
+
23
+ return (
24
+ <FlexCol gap={2}>
25
+ <WitnessCard module={witness} />
26
+ </FlexCol>
27
+ )
28
+ }
29
+
30
+ const IdWitnessCard = IdWitnessTemplate.bind({})
31
+
32
+ export { IdWitnessCard }
33
+
34
+ // eslint-disable-next-line import/no-default-export
35
+ export default StorybookEntry
@@ -0,0 +1,26 @@
1
+ import { Card, CardProps } from '@mui/material'
2
+ import { usePromise } from '@xylabs/react-promise'
3
+ import { ModuleRenderProps } from '@xyo-network/react-module'
4
+ import { WitnessInstance } from '@xyo-network/witness-model'
5
+ import { useState } from 'react'
6
+
7
+ import { WitnessCardActions } from './CardActions'
8
+ import { WitnessCardContent } from './CardContent'
9
+ import { WitnessCardHeader } from './CardHeader'
10
+
11
+ export const WitnessCard: React.FC<CardProps & ModuleRenderProps<WitnessInstance>> = ({ children, module, ...props }) => {
12
+ const [retry, setRetry] = useState(-1)
13
+ const [observation] = usePromise(async () => {
14
+ if (retry >= 0) {
15
+ return await module?.observe()
16
+ }
17
+ }, [module, retry])
18
+ return (
19
+ <Card {...props}>
20
+ <WitnessCardHeader module={module} />
21
+ <WitnessCardContent module={module} observation={observation} />
22
+ {children}
23
+ <WitnessCardActions module={module} onObserve={() => setRetry(retry + 1)} />
24
+ </Card>
25
+ )
26
+ }
@@ -0,0 +1,19 @@
1
+ import { CardActionsProps } from '@mui/material'
2
+ import { ButtonEx } from '@xylabs/react-button'
3
+ import { ModuleCardActions, ModuleRenderProps } from '@xyo-network/react-module'
4
+ import { WitnessInstance } from '@xyo-network/witness-model'
5
+
6
+ export type WitnessCardActionsProps = ModuleRenderProps<WitnessInstance> &
7
+ CardActionsProps & {
8
+ onObserve?: (module?: WitnessInstance) => void
9
+ }
10
+
11
+ export const WitnessCardActions: React.FC<WitnessCardActionsProps> = ({ onObserve, module, ...props }) => {
12
+ return (
13
+ <ModuleCardActions module={module} {...props}>
14
+ <ButtonEx onClick={() => onObserve?.(module)} size={'small'} variant={'outlined'}>
15
+ Observe
16
+ </ButtonEx>
17
+ </ModuleCardActions>
18
+ )
19
+ }
@@ -0,0 +1,23 @@
1
+ import { CardContentProps } from '@mui/material'
2
+ import { FlexGrowRow } from '@xylabs/react-flexbox'
3
+ import { Payload } from '@xyo-network/payload-model'
4
+ import { ModuleCardContent, ModuleRenderProps } from '@xyo-network/react-module'
5
+ import { WitnessInstance } from '@xyo-network/witness-model'
6
+ import React from 'react'
7
+ import JsonView from 'react-json-view'
8
+
9
+ export type WitnessCardContentProps = ModuleRenderProps<WitnessInstance> &
10
+ CardContentProps & {
11
+ observation?: Payload[]
12
+ }
13
+
14
+ export const WitnessCardContent: React.FC<WitnessCardContentProps> = ({ children, observation, module, ...props }) => {
15
+ return (
16
+ <ModuleCardContent module={module} {...props}>
17
+ <FlexGrowRow flexWrap="wrap" justifyContent="start" gap={2}>
18
+ {observation ? <JsonView src={observation} /> : null}
19
+ {children}
20
+ </FlexGrowRow>
21
+ </ModuleCardContent>
22
+ )
23
+ }
@@ -0,0 +1,7 @@
1
+ import { CardHeaderProps } from '@mui/material'
2
+ import { ModuleCardHeader, ModuleRenderProps } from '@xyo-network/react-module'
3
+ import { WitnessInstance } from '@xyo-network/witness-model'
4
+
5
+ export const WitnessCardHeader: React.FC<ModuleRenderProps<WitnessInstance> & CardHeaderProps> = ({ title, module, ...props }) => {
6
+ return <ModuleCardHeader module={module} title={title ?? module?.config.name ?? 'Witness'} {...props} />
7
+ }
@@ -0,0 +1,3 @@
1
+ export * from './Card'
2
+ export * from './CardContent'
3
+ export * from './CardHeader'
@@ -0,0 +1 @@
1
+ export * from './Card'
package/src/index.ts CHANGED
@@ -1 +1,2 @@
1
+ export * from './components'
1
2
  export * from './hooks'