@xyo-network/react-powered-by-xyo 2.61.0 → 2.62.3

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 (190) hide show
  1. package/dist/components/ArchivistSummary.d.mts.map +1 -0
  2. package/dist/components/ArchivistSummary.d.ts +5 -0
  3. package/dist/components/ArchivistSummary.d.ts.map +1 -0
  4. package/dist/components/BridgeSummary.d.mts.map +1 -0
  5. package/dist/components/BridgeSummary.d.ts +5 -0
  6. package/dist/components/BridgeSummary.d.ts.map +1 -0
  7. package/dist/components/DebugDialog.d.mts.map +1 -0
  8. package/dist/components/DebugDialog.d.ts +6 -0
  9. package/dist/components/DebugDialog.d.ts.map +1 -0
  10. package/dist/components/DivinerSummary.d.mts.map +1 -0
  11. package/dist/components/DivinerSummary.d.ts +5 -0
  12. package/dist/components/DivinerSummary.d.ts.map +1 -0
  13. package/dist/components/JsonViewerButton.d.mts.map +1 -0
  14. package/dist/components/JsonViewerButton.d.ts +9 -0
  15. package/dist/components/JsonViewerButton.d.ts.map +1 -0
  16. package/dist/components/ModuleAccordion.d.mts.map +1 -0
  17. package/dist/components/ModuleAccordion.d.ts +8 -0
  18. package/dist/components/ModuleAccordion.d.ts.map +1 -0
  19. package/dist/components/ModuleDetails.d.mts.map +1 -0
  20. package/dist/components/ModuleDetails.d.ts +8 -0
  21. package/dist/components/ModuleDetails.d.ts.map +1 -0
  22. package/dist/components/ModuleSummary.d.mts.map +1 -0
  23. package/dist/components/ModuleSummary.d.ts +9 -0
  24. package/dist/components/ModuleSummary.d.ts.map +1 -0
  25. package/dist/components/NodeDetails.d.mts.map +1 -0
  26. package/dist/components/NodeDetails.d.ts +7 -0
  27. package/dist/components/NodeDetails.d.ts.map +1 -0
  28. package/dist/components/NodeSummary.d.mts.map +1 -0
  29. package/dist/components/NodeSummary.d.ts +5 -0
  30. package/dist/components/NodeSummary.d.ts.map +1 -0
  31. package/dist/components/PoweredByXyo.d.mts.map +1 -0
  32. package/dist/components/PoweredByXyo.d.ts +19 -0
  33. package/dist/components/PoweredByXyo.d.ts.map +1 -0
  34. package/dist/components/PoweredByXyoButton.d.mts.map +1 -0
  35. package/dist/components/PoweredByXyoButton.d.ts +9 -0
  36. package/dist/components/PoweredByXyoButton.d.ts.map +1 -0
  37. package/dist/components/SentinelSummary.d.mts.map +1 -0
  38. package/dist/components/SentinelSummary.d.ts +5 -0
  39. package/dist/components/SentinelSummary.d.ts.map +1 -0
  40. package/dist/components/TypedModuleSummary.d.mts.map +1 -0
  41. package/dist/components/TypedModuleSummary.d.ts +4 -0
  42. package/dist/components/TypedModuleSummary.d.ts.map +1 -0
  43. package/dist/components/WitnessSummary.d.mts.map +1 -0
  44. package/dist/components/WitnessSummary.d.ts +5 -0
  45. package/dist/components/WitnessSummary.d.ts.map +1 -0
  46. package/dist/components/XyoBusy.d.mts.map +1 -0
  47. package/dist/components/XyoBusy.d.ts +9 -0
  48. package/dist/components/XyoBusy.d.ts.map +1 -0
  49. package/dist/components/index.d.mts.map +1 -0
  50. package/dist/{esm/components/index.js → components/index.d.ts} +1 -1
  51. package/dist/components/index.d.ts.map +1 -0
  52. package/dist/components/stories/PoweredByXyo.stories.d.mts +9 -0
  53. package/dist/components/stories/PoweredByXyo.stories.d.mts.map +1 -0
  54. package/dist/components/stories/PoweredByXyo.stories.d.ts +9 -0
  55. package/dist/components/stories/PoweredByXyo.stories.d.ts.map +1 -0
  56. package/dist/components/stories/PoweredByXyoButton.stories.d.mts +7 -0
  57. package/dist/components/stories/PoweredByXyoButton.stories.d.mts.map +1 -0
  58. package/dist/components/stories/PoweredByXyoButton.stories.d.ts +7 -0
  59. package/dist/components/stories/PoweredByXyoButton.stories.d.ts.map +1 -0
  60. package/dist/components/stories/XyoBusy.stories.d.mts +18 -0
  61. package/dist/components/stories/XyoBusy.stories.d.mts.map +1 -0
  62. package/dist/components/stories/XyoBusy.stories.d.ts +18 -0
  63. package/dist/components/stories/XyoBusy.stories.d.ts.map +1 -0
  64. package/dist/docs.json +95405 -0
  65. package/dist/img/index.d.mts.map +1 -0
  66. package/dist/{esm/img/index.js → img/index.d.ts} +1 -1
  67. package/dist/img/index.d.ts.map +1 -0
  68. package/dist/index.d.mts.map +1 -0
  69. package/dist/index.d.ts +2 -0
  70. package/dist/{types/index.d.ts.map → index.d.ts.map} +1 -1
  71. package/dist/index.js +439 -0
  72. package/dist/index.js.map +1 -0
  73. package/dist/index.mjs +389 -0
  74. package/dist/index.mjs.map +1 -0
  75. package/package.json +41 -33
  76. package/dist/cjs/components/ArchivistSummary.js +0 -13
  77. package/dist/cjs/components/ArchivistSummary.js.map +0 -1
  78. package/dist/cjs/components/BridgeSummary.js +0 -13
  79. package/dist/cjs/components/BridgeSummary.js.map +0 -1
  80. package/dist/cjs/components/DebugDialog.js +0 -13
  81. package/dist/cjs/components/DebugDialog.js.map +0 -1
  82. package/dist/cjs/components/DivinerSummary.js +0 -13
  83. package/dist/cjs/components/DivinerSummary.js.map +0 -1
  84. package/dist/cjs/components/JsonViewerButton.js +0 -16
  85. package/dist/cjs/components/JsonViewerButton.js.map +0 -1
  86. package/dist/cjs/components/ModuleAccordion.js +0 -15
  87. package/dist/cjs/components/ModuleAccordion.js.map +0 -1
  88. package/dist/cjs/components/ModuleDetails.js +0 -28
  89. package/dist/cjs/components/ModuleDetails.js.map +0 -1
  90. package/dist/cjs/components/ModuleSummary.js +0 -30
  91. package/dist/cjs/components/ModuleSummary.js.map +0 -1
  92. package/dist/cjs/components/NodeDetails.js +0 -16
  93. package/dist/cjs/components/NodeDetails.js.map +0 -1
  94. package/dist/cjs/components/NodeSummary.js +0 -26
  95. package/dist/cjs/components/NodeSummary.js.map +0 -1
  96. package/dist/cjs/components/PoweredByXyo.js +0 -73
  97. package/dist/cjs/components/PoweredByXyo.js.map +0 -1
  98. package/dist/cjs/components/PoweredByXyoButton.js +0 -22
  99. package/dist/cjs/components/PoweredByXyoButton.js.map +0 -1
  100. package/dist/cjs/components/SentinelSummary.js +0 -13
  101. package/dist/cjs/components/SentinelSummary.js.map +0 -1
  102. package/dist/cjs/components/TypedModuleSummary.js +0 -42
  103. package/dist/cjs/components/TypedModuleSummary.js.map +0 -1
  104. package/dist/cjs/components/WitnessSummary.js +0 -13
  105. package/dist/cjs/components/WitnessSummary.js.map +0 -1
  106. package/dist/cjs/components/XyoBusy.js +0 -32
  107. package/dist/cjs/components/XyoBusy.js.map +0 -1
  108. package/dist/cjs/components/index.js +0 -18
  109. package/dist/cjs/components/index.js.map +0 -1
  110. package/dist/cjs/img/index.js +0 -9
  111. package/dist/cjs/img/index.js.map +0 -1
  112. package/dist/cjs/index.js +0 -5
  113. package/dist/cjs/index.js.map +0 -1
  114. package/dist/esm/components/ArchivistSummary.js +0 -7
  115. package/dist/esm/components/ArchivistSummary.js.map +0 -1
  116. package/dist/esm/components/BridgeSummary.js +0 -7
  117. package/dist/esm/components/BridgeSummary.js.map +0 -1
  118. package/dist/esm/components/DebugDialog.js +0 -7
  119. package/dist/esm/components/DebugDialog.js.map +0 -1
  120. package/dist/esm/components/DivinerSummary.js +0 -7
  121. package/dist/esm/components/DivinerSummary.js.map +0 -1
  122. package/dist/esm/components/JsonViewerButton.js +0 -10
  123. package/dist/esm/components/JsonViewerButton.js.map +0 -1
  124. package/dist/esm/components/ModuleAccordion.js +0 -9
  125. package/dist/esm/components/ModuleAccordion.js.map +0 -1
  126. package/dist/esm/components/ModuleDetails.js +0 -22
  127. package/dist/esm/components/ModuleDetails.js.map +0 -1
  128. package/dist/esm/components/ModuleSummary.js +0 -23
  129. package/dist/esm/components/ModuleSummary.js.map +0 -1
  130. package/dist/esm/components/NodeDetails.js +0 -10
  131. package/dist/esm/components/NodeDetails.js.map +0 -1
  132. package/dist/esm/components/NodeSummary.js +0 -19
  133. package/dist/esm/components/NodeSummary.js.map +0 -1
  134. package/dist/esm/components/PoweredByXyo.js +0 -66
  135. package/dist/esm/components/PoweredByXyo.js.map +0 -1
  136. package/dist/esm/components/PoweredByXyoButton.js +0 -16
  137. package/dist/esm/components/PoweredByXyoButton.js.map +0 -1
  138. package/dist/esm/components/SentinelSummary.js +0 -7
  139. package/dist/esm/components/SentinelSummary.js.map +0 -1
  140. package/dist/esm/components/TypedModuleSummary.js +0 -36
  141. package/dist/esm/components/TypedModuleSummary.js.map +0 -1
  142. package/dist/esm/components/WitnessSummary.js +0 -7
  143. package/dist/esm/components/WitnessSummary.js.map +0 -1
  144. package/dist/esm/components/XyoBusy.js +0 -26
  145. package/dist/esm/components/XyoBusy.js.map +0 -1
  146. package/dist/esm/components/index.js.map +0 -1
  147. package/dist/esm/img/index.js.map +0 -1
  148. package/dist/esm/img/xyo-color-logo-text-only.svg +0 -1
  149. package/dist/esm/img/xyo-color-logo.svg +0 -1
  150. package/dist/esm/index.js +0 -2
  151. package/dist/esm/index.js.map +0 -1
  152. package/dist/types/components/ArchivistSummary.d.ts.map +0 -1
  153. package/dist/types/components/BridgeSummary.d.ts.map +0 -1
  154. package/dist/types/components/DebugDialog.d.ts.map +0 -1
  155. package/dist/types/components/DivinerSummary.d.ts.map +0 -1
  156. package/dist/types/components/JsonViewerButton.d.ts.map +0 -1
  157. package/dist/types/components/ModuleAccordion.d.ts.map +0 -1
  158. package/dist/types/components/ModuleDetails.d.ts.map +0 -1
  159. package/dist/types/components/ModuleSummary.d.ts.map +0 -1
  160. package/dist/types/components/NodeDetails.d.ts.map +0 -1
  161. package/dist/types/components/NodeSummary.d.ts.map +0 -1
  162. package/dist/types/components/PoweredByXyo.d.ts.map +0 -1
  163. package/dist/types/components/PoweredByXyoButton.d.ts.map +0 -1
  164. package/dist/types/components/SentinelSummary.d.ts.map +0 -1
  165. package/dist/types/components/TypedModuleSummary.d.ts.map +0 -1
  166. package/dist/types/components/WitnessSummary.d.ts.map +0 -1
  167. package/dist/types/components/XyoBusy.d.ts.map +0 -1
  168. package/dist/types/components/index.d.ts.map +0 -1
  169. package/dist/types/img/index.d.ts.map +0 -1
  170. /package/dist/{types/components/ArchivistSummary.d.ts → components/ArchivistSummary.d.mts} +0 -0
  171. /package/dist/{types/components/BridgeSummary.d.ts → components/BridgeSummary.d.mts} +0 -0
  172. /package/dist/{types/components/DebugDialog.d.ts → components/DebugDialog.d.mts} +0 -0
  173. /package/dist/{types/components/DivinerSummary.d.ts → components/DivinerSummary.d.mts} +0 -0
  174. /package/dist/{types/components/JsonViewerButton.d.ts → components/JsonViewerButton.d.mts} +0 -0
  175. /package/dist/{types/components/ModuleAccordion.d.ts → components/ModuleAccordion.d.mts} +0 -0
  176. /package/dist/{types/components/ModuleDetails.d.ts → components/ModuleDetails.d.mts} +0 -0
  177. /package/dist/{types/components/ModuleSummary.d.ts → components/ModuleSummary.d.mts} +0 -0
  178. /package/dist/{types/components/NodeDetails.d.ts → components/NodeDetails.d.mts} +0 -0
  179. /package/dist/{types/components/NodeSummary.d.ts → components/NodeSummary.d.mts} +0 -0
  180. /package/dist/{types/components/PoweredByXyo.d.ts → components/PoweredByXyo.d.mts} +0 -0
  181. /package/dist/{types/components/PoweredByXyoButton.d.ts → components/PoweredByXyoButton.d.mts} +0 -0
  182. /package/dist/{types/components/SentinelSummary.d.ts → components/SentinelSummary.d.mts} +0 -0
  183. /package/dist/{types/components/TypedModuleSummary.d.ts → components/TypedModuleSummary.d.mts} +0 -0
  184. /package/dist/{types/components/WitnessSummary.d.ts → components/WitnessSummary.d.mts} +0 -0
  185. /package/dist/{types/components/XyoBusy.d.ts → components/XyoBusy.d.mts} +0 -0
  186. /package/dist/{types/components/index.d.ts → components/index.d.mts} +0 -0
  187. /package/dist/{types/img/index.d.ts → img/index.d.mts} +0 -0
  188. /package/dist/{types/index.d.ts → index.d.mts} +0 -0
  189. /package/dist/{cjs/img/xyo-color-logo.svg → xyo-color-logo-LHR2SMEM.svg} +0 -0
  190. /package/dist/{cjs/img/xyo-color-logo-text-only.svg → xyo-color-logo-text-only-QPAW5BSQ.svg} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/img/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,sBAAsB,CAAA;AAC/C,OAAO,gBAAgB,MAAM,gCAAgC,CAAA;AAE7D,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import xyoColorLogo from './xyo-color-logo.svg';
2
2
  import xyoColorLogoText from './xyo-color-logo-text-only.svg';
3
3
  export { xyoColorLogo, xyoColorLogoText };
4
- //# sourceMappingURL=index.js.map
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/img/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,sBAAsB,CAAA;AAC/C,OAAO,gBAAgB,MAAM,gCAAgC,CAAA;AAE7D,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './components';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,439 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
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
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/index.ts
31
+ var src_exports = {};
32
+ __export(src_exports, {
33
+ ArchivistSummary: () => ArchivistSummary,
34
+ BridgeSummary: () => BridgeSummary,
35
+ DebugDialog: () => DebugDialog,
36
+ DivinerSummary: () => DivinerSummary,
37
+ ModuleAccordion: () => ModuleAccordion,
38
+ ModuleDetails: () => ModuleDetails,
39
+ ModuleSummary: () => ModuleSummary,
40
+ NodeDetails: () => NodeDetails,
41
+ PoweredByXyo: () => PoweredByXyo,
42
+ PoweredByXyoButton: () => PoweredByXyoButton,
43
+ SentinelSummary: () => SentinelSummary,
44
+ TypedModuleSummary: () => TypedModuleSummary,
45
+ WitnessSummary: () => WitnessSummary,
46
+ XyoBusy: () => XyoBusy
47
+ });
48
+ module.exports = __toCommonJS(src_exports);
49
+
50
+ // src/components/ArchivistSummary.tsx
51
+ var import_Inventory2Rounded = __toESM(require("@mui/icons-material/Inventory2Rounded"));
52
+
53
+ // src/components/ModuleSummary.tsx
54
+ var import_Extension = __toESM(require("@mui/icons-material/Extension"));
55
+ var import_delay = require("@xylabs/delay");
56
+ var import_react_flexbox = require("@xylabs/react-flexbox");
57
+ var import_react_node = require("@xyo-network/react-node");
58
+ var import_react_shared = require("@xyo-network/react-shared");
59
+ var import_react = require("react");
60
+ var import_jsx_runtime = require("react/jsx-runtime");
61
+ var ModuleSummary = ({ children, icon, module: module2, ...props }) => {
62
+ const [downModules] = (0, import_react_node.useModulesFromNode)(void 0, { direction: "down" });
63
+ const [upModules] = (0, import_react_node.useModulesFromNode)(void 0, { direction: "up" });
64
+ const [busy, setBusy] = (0, import_react.useState)(false);
65
+ const downModulesFromResolve = downModules?.length;
66
+ const upModulesFromResolve = upModules?.length;
67
+ module2?.on("moduleBusy", async ({ busy: busy2 }) => {
68
+ setBusy(busy2);
69
+ await (0, import_delay.delay)(2e3);
70
+ setBusy(false);
71
+ });
72
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_flexbox.FlexCol, { alignItems: "stretch", width: "100%", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_react_flexbox.FlexRow, { justifyContent: "flex-start", children: [
73
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_react_flexbox.FlexRow, { children: [
74
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_shared.TypographyEx, { color: busy ? "gray" : void 0, children: icon ?? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Extension.default, {}) }),
75
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_shared.TypographyEx, { marginX: 1, children: module2?.config?.name ?? "<Unknown>" })
76
+ ] }),
77
+ children ?? (downModulesFromResolve !== void 0 && upModulesFromResolve !== void 0) ? `[${downModulesFromResolve}\u2193/${upModulesFromResolve}\u2191]` : null
78
+ ] }) });
79
+ };
80
+
81
+ // src/components/ArchivistSummary.tsx
82
+ var import_jsx_runtime2 = require("react/jsx-runtime");
83
+ var ArchivistSummary = ({ module: module2, ...props }) => {
84
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ModuleSummary, { module: module2, icon: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_Inventory2Rounded.default, {}), ...props });
85
+ };
86
+
87
+ // src/components/BridgeSummary.tsx
88
+ var import_InsertLinkRounded = __toESM(require("@mui/icons-material/InsertLinkRounded"));
89
+ var import_jsx_runtime3 = require("react/jsx-runtime");
90
+ var BridgeSummary = ({ module: module2, ...props }) => {
91
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ModuleSummary, { module: module2, icon: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_InsertLinkRounded.default, {}), ...props });
92
+ };
93
+
94
+ // src/components/DebugDialog.tsx
95
+ var import_material4 = require("@mui/material");
96
+
97
+ // src/components/NodeDetails.tsx
98
+ var import_react_flexbox3 = require("@xylabs/react-flexbox");
99
+ var import_react_node3 = require("@xyo-network/react-node");
100
+
101
+ // src/components/ModuleAccordion.tsx
102
+ var import_ExpandMore = __toESM(require("@mui/icons-material/ExpandMore"));
103
+ var import_material3 = require("@mui/material");
104
+
105
+ // src/components/ModuleDetails.tsx
106
+ var import_material2 = require("@mui/material");
107
+ var import_react_button2 = require("@xylabs/react-button");
108
+ var import_react_flexbox2 = require("@xylabs/react-flexbox");
109
+ var import_react_promise = require("@xylabs/react-promise");
110
+ var import_react_property = require("@xyo-network/react-property");
111
+
112
+ // src/components/JsonViewerButton.tsx
113
+ var import_material = require("@mui/material");
114
+ var import_react_button = require("@xylabs/react-button");
115
+ var import_react2 = require("react");
116
+ var import_react_json_view = __toESM(require("react-json-view"));
117
+ var import_jsx_runtime4 = require("react/jsx-runtime");
118
+ var JsonViewerButton = ({ children, jsonViewProps, src, title, ...props }) => {
119
+ const [open, setOpen] = (0, import_react2.useState)(false);
120
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
121
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react_button.ButtonEx, { onClick: () => setOpen(!open), ...props, children: children ?? "JSON" }),
122
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_material.Dialog, { open, onClose: () => setOpen(false), children: [
123
+ title ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_material.DialogTitle, { children: title }) : null,
124
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_material.DialogContent, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react_json_view.default, { src, ...jsonViewProps }) }),
125
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_material.DialogActions, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react_button.ButtonEx, { onClick: () => setOpen(false), children: "Close" }) })
126
+ ] })
127
+ ] });
128
+ };
129
+
130
+ // src/components/ModuleDetails.tsx
131
+ var import_jsx_runtime5 = require("react/jsx-runtime");
132
+ var ModuleDetails = ({ module: module2, ...props }) => {
133
+ const [manifest] = (0, import_react_promise.usePromise)(async () => {
134
+ return await module2?.manifest();
135
+ }, [module2]);
136
+ const [discover] = (0, import_react_promise.usePromise)(async () => {
137
+ return await module2?.discover();
138
+ }, [module2]);
139
+ const [describe] = (0, import_react_promise.usePromise)(async () => {
140
+ return await module2?.describe();
141
+ }, [module2]);
142
+ const queries = module2?.queries;
143
+ const config = module2?.config;
144
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_react_flexbox2.FlexCol, { alignItems: "stretch", ...props, children: [
145
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react_property.Property, { title: "Address", value: module2?.address }),
146
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_react_flexbox2.FlexRow, { gap: 1, justifyContent: "space-between", children: [
147
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_material2.ButtonGroup, { children: [
148
+ manifest ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(JsonViewerButton, { variant: "contained", src: manifest, children: "Manifest" }) : null,
149
+ config ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(JsonViewerButton, { variant: "contained", src: config, children: "Config" }) : null,
150
+ discover ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(JsonViewerButton, { variant: "contained", src: discover, children: "Discover" }) : null,
151
+ describe ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(JsonViewerButton, { variant: "contained", src: describe, children: "Describe" }) : null,
152
+ queries ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(JsonViewerButton, { variant: "contained", src: queries, children: "Queries" }) : null
153
+ ] }),
154
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_material2.ButtonGroup, { children: [
155
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react_button2.ButtonEx, { target: "_blank", href: `https://explore.xyo.network/block?network=main&address=${module2?.address}`, variant: "outlined", children: "Main" }),
156
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react_button2.ButtonEx, { target: "_blank", href: `https://beta.explore.xyo.network/block?network=kerplunk&address=${module2?.address}`, variant: "outlined", children: "Kerplunk" }),
157
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react_button2.ButtonEx, { target: "_blank", href: `https://beta.explore.xyo.network/block?network=local&address=${module2?.address}`, variant: "outlined", children: "Local" })
158
+ ] })
159
+ ] })
160
+ ] });
161
+ };
162
+
163
+ // src/components/TypedModuleSummary.tsx
164
+ var import_archivist_model = require("@xyo-network/archivist-model");
165
+ var import_bridge_model = require("@xyo-network/bridge-model");
166
+ var import_diviner_model = require("@xyo-network/diviner-model");
167
+ var import_node_model = require("@xyo-network/node-model");
168
+ var import_sentinel = require("@xyo-network/sentinel");
169
+ var import_witness_model = require("@xyo-network/witness-model");
170
+
171
+ // src/components/DivinerSummary.tsx
172
+ var import_BubbleChartRounded = __toESM(require("@mui/icons-material/BubbleChartRounded"));
173
+ var import_jsx_runtime6 = require("react/jsx-runtime");
174
+ var DivinerSummary = ({ module: module2, ...props }) => {
175
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(ModuleSummary, { module: module2, icon: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_BubbleChartRounded.default, {}), ...props });
176
+ };
177
+
178
+ // src/components/NodeSummary.tsx
179
+ var import_HubRounded = __toESM(require("@mui/icons-material/HubRounded"));
180
+ var import_react_promise2 = require("@xylabs/react-promise");
181
+ var import_react_node2 = require("@xyo-network/react-node");
182
+ var import_jsx_runtime7 = require("react/jsx-runtime");
183
+ var NodeSummary = ({ module: module2, ...props }) => {
184
+ const [manifest] = (0, import_react_promise2.usePromise)(async () => {
185
+ return await module2?.manifest();
186
+ }, [module2]);
187
+ const [downModules] = (0, import_react_node2.useModulesFromNode)(void 0, { direction: "down" });
188
+ const [upModules] = (0, import_react_node2.useModulesFromNode)(void 0, { direction: "up" });
189
+ const downModulesFromResolve = downModules?.length;
190
+ const upModulesFromResolve = upModules?.length;
191
+ const manifestPublicModules = manifest?.modules?.public?.length;
192
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(ModuleSummary, { module: module2, icon: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_HubRounded.default, {}), ...props, children: manifestPublicModules !== void 0 && downModulesFromResolve !== void 0 && upModulesFromResolve !== void 0 ? `[${manifestPublicModules}m/${downModulesFromResolve}\u2193/${upModulesFromResolve}\u2191]` : null });
193
+ };
194
+
195
+ // src/components/SentinelSummary.tsx
196
+ var import_TimerRounded = __toESM(require("@mui/icons-material/TimerRounded"));
197
+ var import_jsx_runtime8 = require("react/jsx-runtime");
198
+ var SentinelSummary = ({ module: module2, ...props }) => {
199
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ModuleSummary, { module: module2, icon: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_TimerRounded.default, {}), ...props });
200
+ };
201
+
202
+ // src/components/WitnessSummary.tsx
203
+ var import_VisibilityRounded = __toESM(require("@mui/icons-material/VisibilityRounded"));
204
+ var import_jsx_runtime9 = require("react/jsx-runtime");
205
+ var WitnessSummary = ({ module: module2, ...props }) => {
206
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(ModuleSummary, { module: module2, icon: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_VisibilityRounded.default, {}), ...props });
207
+ };
208
+
209
+ // src/components/TypedModuleSummary.tsx
210
+ var import_jsx_runtime10 = require("react/jsx-runtime");
211
+ var TypedModuleSummary = ({ module: module2, ...props }) => {
212
+ if ((0, import_archivist_model.isArchivistInstance)(module2)) {
213
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(ArchivistSummary, { module: module2, ...props });
214
+ }
215
+ if ((0, import_diviner_model.isDivinerInstance)(module2)) {
216
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(DivinerSummary, { module: module2, ...props });
217
+ }
218
+ if ((0, import_node_model.isNodeInstance)(module2)) {
219
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(NodeSummary, { module: module2, ...props });
220
+ }
221
+ if ((0, import_witness_model.isWitnessInstance)(module2)) {
222
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(WitnessSummary, { module: module2, ...props });
223
+ }
224
+ if ((0, import_bridge_model.isBridgeInstance)(module2)) {
225
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(BridgeSummary, { module: module2, ...props });
226
+ }
227
+ if ((0, import_sentinel.isSentinelInstance)(module2)) {
228
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(SentinelSummary, { module: module2, ...props });
229
+ }
230
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(ModuleSummary, { module: module2, ...props });
231
+ };
232
+
233
+ // src/components/ModuleAccordion.tsx
234
+ var import_jsx_runtime11 = require("react/jsx-runtime");
235
+ var ModuleAccordion = ({ module: module2, ...props }) => {
236
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_material3.Accordion, { ...props, children: [
237
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_material3.AccordionSummary, { expandIcon: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_ExpandMore.default, {}), children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(TypedModuleSummary, { module: module2 }) }),
238
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_material3.AccordionDetails, { children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(ModuleDetails, { module: module2 }) })
239
+ ] });
240
+ };
241
+
242
+ // src/components/NodeDetails.tsx
243
+ var import_jsx_runtime12 = require("react/jsx-runtime");
244
+ var NodeDetails = ({ module: module2, ...props }) => {
245
+ const [node = module2] = (0, import_react_node3.useProvidedNode)();
246
+ const [children] = (0, import_react_node3.useModulesFromNode)(void 0, { node: node ?? void 0 });
247
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_flexbox3.FlexCol, { alignItems: "stretch", ...props, children: children ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_jsx_runtime12.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_flexbox3.FlexCol, { alignItems: "stretch", marginY: 1, children: children?.map((child) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(ModuleAccordion, { module: child }, child.address)) }) }) : null });
248
+ };
249
+
250
+ // src/components/DebugDialog.tsx
251
+ var import_jsx_runtime13 = require("react/jsx-runtime");
252
+ var DebugDialog = ({ onClose, ...props }) => {
253
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_material4.Dialog, { ...props, children: [
254
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_material4.DialogTitle, { children: "Xyo Module Viewer" }),
255
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_material4.DialogContent, { children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(NodeDetails, { width: "100%" }) }),
256
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_material4.DialogActions, { children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_material4.Button, { onClick: (event) => onClose?.(event, "backdropClick"), children: "Close" }) })
257
+ ] });
258
+ };
259
+
260
+ // src/components/PoweredByXyo.tsx
261
+ var import_material6 = require("@mui/material");
262
+ var import_delay2 = require("@xylabs/delay");
263
+ var import_forget = require("@xylabs/forget");
264
+ var import_react_async_effect = require("@xylabs/react-async-effect");
265
+ var import_react_flexbox6 = require("@xylabs/react-flexbox");
266
+ var import_react_node4 = require("@xyo-network/react-node");
267
+ var import_react5 = require("react");
268
+
269
+ // src/components/PoweredByXyoButton.tsx
270
+ var import_material5 = require("@mui/material");
271
+ var import_react_button3 = require("@xylabs/react-button");
272
+ var import_react_flexbox5 = require("@xylabs/react-flexbox");
273
+ var import_react4 = require("react");
274
+
275
+ // src/img/xyo-color-logo.svg
276
+ var xyo_color_logo_default = "./xyo-color-logo-LHR2SMEM.svg";
277
+
278
+ // src/img/xyo-color-logo-text-only.svg
279
+ var xyo_color_logo_text_only_default = "./xyo-color-logo-text-only-QPAW5BSQ.svg";
280
+
281
+ // src/components/XyoBusy.tsx
282
+ var import_react_flexbox4 = require("@xylabs/react-flexbox");
283
+ var import_react3 = require("react");
284
+ var import_jsx_runtime14 = require("react/jsx-runtime");
285
+ var XyoBusy = ({ widthInPixels, busy, spinsPerSecond = 0.5, ...props }) => {
286
+ const [imageLoaded, setImageLoaded] = (0, import_react3.useState)(false);
287
+ if (!imageLoaded) {
288
+ const img = new Image();
289
+ img.onload = () => setImageLoaded(true);
290
+ img.src = xyo_color_logo_default;
291
+ }
292
+ return imageLoaded ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
293
+ import_react_flexbox4.FlexCol,
294
+ {
295
+ sx: {
296
+ "@keyframes spin": {
297
+ "0%": {
298
+ transform: "rotate(360deg)"
299
+ },
300
+ "100%": {
301
+ transform: "rotate(0deg)"
302
+ }
303
+ },
304
+ animation: busy ? `spin ${1 / spinsPerSecond}s linear infinite` : void 0,
305
+ animationDirection: "reverse"
306
+ },
307
+ ...props,
308
+ children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("img", { src: xyo_color_logo_default, height: widthInPixels ?? 22 })
309
+ }
310
+ ) : null;
311
+ };
312
+
313
+ // src/components/PoweredByXyoButton.tsx
314
+ var import_jsx_runtime15 = require("react/jsx-runtime");
315
+ var PoweredByXyoButton = ({
316
+ busy = false,
317
+ href,
318
+ logoHeight,
319
+ logoTextSize,
320
+ sx,
321
+ target = "_blank",
322
+ variant = "text",
323
+ ...props
324
+ }) => {
325
+ const [imageLoaded, setImageLoaded] = (0, import_react4.useState)(false);
326
+ const img = new Image();
327
+ img.onload = () => setImageLoaded(true);
328
+ img.src = xyo_color_logo_text_only_default;
329
+ return imageLoaded ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_button3.ButtonEx, { href, target, variant, sx: { borderRadius: 0, padding: 0, ...sx }, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_react_flexbox5.FlexCol, { padding: 0.5, children: [
330
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_material5.Typography, { style: { fontSize: logoTextSize ?? 10 }, fontSize: "small", children: "Powered by" }),
331
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_react_flexbox5.FlexRow, { children: [
332
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(XyoBusy, { busy }),
333
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("img", { src: xyo_color_logo_text_only_default, height: logoHeight ?? 24, width: 45 })
334
+ ] })
335
+ ] }) }) : null;
336
+ };
337
+
338
+ // src/components/PoweredByXyo.tsx
339
+ var import_jsx_runtime16 = require("react/jsx-runtime");
340
+ var PoweredByXyo = ({
341
+ autoStop,
342
+ busy,
343
+ buttonProps = {},
344
+ debugDialog = false,
345
+ disableAnimation = false,
346
+ href = "https://xyo.network",
347
+ logoHeight,
348
+ logoTextSize,
349
+ onButtonClick,
350
+ node: propNode,
351
+ ...props
352
+ }) => {
353
+ const [node] = (0, import_react_node4.useProvidedNode)();
354
+ const [debugDialogOpen, setDebugDialogOpen] = (0, import_react5.useState)(false);
355
+ const busyMap = (0, import_react5.useMemo)(() => ({}), [node]);
356
+ const activeBusy = busy ?? Object.values(busyMap).reduce((prev, value) => prev || value, false);
357
+ const activeOnButtonClick = (debugDialog ? (event) => {
358
+ if (event.shiftKey && event.altKey) {
359
+ setDebugDialogOpen(true);
360
+ } else if (href) {
361
+ window.open(href);
362
+ }
363
+ } : void 0) ?? onButtonClick;
364
+ const activeHref = activeOnButtonClick ? void 0 : href;
365
+ const onKeyDownEscListener = (event) => {
366
+ if (event.key === "Escape" && debugDialogOpen) {
367
+ setDebugDialogOpen(false);
368
+ }
369
+ };
370
+ (0, import_react_async_effect.useAsyncEffect)(
371
+ // eslint-disable-next-line react-hooks/exhaustive-deps
372
+ async () => {
373
+ const activeNode = propNode ?? node;
374
+ if (disableAnimation) {
375
+ return;
376
+ } else if (activeNode) {
377
+ const mods = await activeNode?.resolve();
378
+ mods?.map((mod) => {
379
+ mod.on("moduleBusy", ({ module: module2, busy: busy2 }) => {
380
+ busyMap[module2.address] = busy2;
381
+ if (autoStop) {
382
+ (0, import_forget.forget)(
383
+ (async () => {
384
+ await (0, import_delay2.delay)(1e3);
385
+ busyMap[module2.address] = false;
386
+ })()
387
+ );
388
+ }
389
+ });
390
+ });
391
+ activeNode?.on("moduleBusy", ({ module: module2, busy: busy2 }) => {
392
+ busyMap[module2.address] = busy2;
393
+ if (autoStop) {
394
+ (0, import_forget.forget)(
395
+ (async () => {
396
+ await (0, import_delay2.delay)(1e3);
397
+ busyMap[module2.address] = false;
398
+ })()
399
+ );
400
+ }
401
+ });
402
+ }
403
+ },
404
+ [disableAnimation, propNode, node, busyMap, autoStop]
405
+ );
406
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_react_flexbox6.FlexCol, { alignItems: "stretch", position: "absolute", bottom: "0", left: "0", ...props, children: [
407
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_material6.Paper, { sx: { borderRadius: 0 }, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
408
+ PoweredByXyoButton,
409
+ {
410
+ onClick: activeOnButtonClick,
411
+ href: activeHref,
412
+ busy: activeBusy,
413
+ logoHeight,
414
+ logoTextSize,
415
+ fullWidth: true,
416
+ ...buttonProps
417
+ }
418
+ ) }),
419
+ debugDialog ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(DebugDialog, { fullScreen: true, open: debugDialogOpen, onClose: () => setDebugDialogOpen(false), onKeyDown: onKeyDownEscListener }) : null
420
+ ] });
421
+ };
422
+ // Annotate the CommonJS export names for ESM import in node:
423
+ 0 && (module.exports = {
424
+ ArchivistSummary,
425
+ BridgeSummary,
426
+ DebugDialog,
427
+ DivinerSummary,
428
+ ModuleAccordion,
429
+ ModuleDetails,
430
+ ModuleSummary,
431
+ NodeDetails,
432
+ PoweredByXyo,
433
+ PoweredByXyoButton,
434
+ SentinelSummary,
435
+ TypedModuleSummary,
436
+ WitnessSummary,
437
+ XyoBusy
438
+ });
439
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts","../src/components/ArchivistSummary.tsx","../src/components/ModuleSummary.tsx","../src/components/BridgeSummary.tsx","../src/components/DebugDialog.tsx","../src/components/NodeDetails.tsx","../src/components/ModuleAccordion.tsx","../src/components/ModuleDetails.tsx","../src/components/JsonViewerButton.tsx","../src/components/TypedModuleSummary.tsx","../src/components/DivinerSummary.tsx","../src/components/NodeSummary.tsx","../src/components/SentinelSummary.tsx","../src/components/WitnessSummary.tsx","../src/components/PoweredByXyo.tsx","../src/components/PoweredByXyoButton.tsx","../src/components/XyoBusy.tsx"],"sourcesContent":["export * from './components'\n","import Inventory2RoundedIcon from '@mui/icons-material/Inventory2Rounded'\nimport { ArchivistInstance } from '@xyo-network/archivist-model'\n\nimport { ModuleSummary, ModuleSummaryProps } from './ModuleSummary'\n\nexport const ArchivistSummary: React.FC<ModuleSummaryProps<ArchivistInstance>> = ({ module, ...props }) => {\n return <ModuleSummary module={module} icon={<Inventory2RoundedIcon />} {...props} />\n}\n","import ExtensionIcon from '@mui/icons-material/Extension'\nimport { delay } from '@xylabs/delay'\nimport { FlexBoxProps, FlexCol, FlexRow } from '@xylabs/react-flexbox'\nimport { ModuleInstance } from '@xyo-network/module-model'\nimport { useModulesFromNode } from '@xyo-network/react-node'\nimport { TypographyEx } from '@xyo-network/react-shared'\nimport { ReactNode, useState } from 'react'\n\nexport interface ModuleSummaryProps<T extends ModuleInstance = ModuleInstance> extends FlexBoxProps {\n icon?: ReactNode\n module?: T\n}\n\nexport const ModuleSummary: React.FC<ModuleSummaryProps> = ({ children, icon, module, ...props }) => {\n const [downModules] = useModulesFromNode(undefined, { direction: 'down' })\n const [upModules] = useModulesFromNode(undefined, { direction: 'up' })\n const [busy, setBusy] = useState(false)\n\n const downModulesFromResolve = downModules?.length\n const upModulesFromResolve = upModules?.length\n\n module?.on('moduleBusy', async ({ busy }) => {\n setBusy(busy)\n await delay(2000)\n setBusy(false)\n })\n\n return (\n <FlexCol alignItems=\"stretch\" width=\"100%\" {...props}>\n <FlexRow justifyContent=\"flex-start\">\n <FlexRow>\n <TypographyEx color={busy ? 'gray' : undefined}>{icon ?? <ExtensionIcon />}</TypographyEx>\n <TypographyEx marginX={1}>{module?.config?.name ?? '<Unknown>'}</TypographyEx>\n </FlexRow>\n {children ?? (downModulesFromResolve !== undefined && upModulesFromResolve !== undefined)\n ? `[${downModulesFromResolve}↓/${upModulesFromResolve}↑]`\n : null}\n </FlexRow>\n </FlexCol>\n )\n}\n","import InsertLinkRoundedIcon from '@mui/icons-material/InsertLinkRounded'\nimport { BridgeInstance } from '@xyo-network/bridge-model'\n\nimport { ModuleSummary, ModuleSummaryProps } from './ModuleSummary'\n\nexport const BridgeSummary: React.FC<ModuleSummaryProps<BridgeInstance>> = ({ module, ...props }) => {\n return <ModuleSummary module={module} icon={<InsertLinkRoundedIcon />} {...props}></ModuleSummary>\n}\n","import { Button, Dialog, DialogActions, DialogContent, DialogProps, DialogTitle } from '@mui/material'\n\nimport { NodeDetails } from './NodeDetails'\n\nexport interface DebugDialogProps extends DialogProps {}\n\nexport const DebugDialog: React.FC<DebugDialogProps> = ({ onClose, ...props }) => {\n return (\n <Dialog {...props}>\n <DialogTitle>Xyo Module Viewer</DialogTitle>\n <DialogContent>\n <NodeDetails width=\"100%\" />\n </DialogContent>\n <DialogActions>\n <Button onClick={(event) => onClose?.(event, 'backdropClick')}>Close</Button>\n </DialogActions>\n </Dialog>\n )\n}\n","import { FlexCol } from '@xylabs/react-flexbox'\nimport { NodeInstance } from '@xyo-network/node-model'\nimport { useModulesFromNode, useProvidedNode } from '@xyo-network/react-node'\n\nimport { ModuleAccordion } from './ModuleAccordion'\nimport { ModuleDetailsProps } from './ModuleDetails'\n\nexport interface NodeViewerProps extends ModuleDetailsProps<NodeInstance> {}\n\nexport const NodeDetails: React.FC<NodeViewerProps> = ({ module, ...props }) => {\n const [node = module] = useProvidedNode()\n\n const [children] = useModulesFromNode(undefined, { node: node ?? undefined })\n\n return (\n <FlexCol alignItems=\"stretch\" {...props}>\n {children ? (\n <>\n <FlexCol alignItems=\"stretch\" marginY={1}>\n {children?.map((child) => <ModuleAccordion key={child.address} module={child} />)}\n </FlexCol>\n </>\n ) : null}\n </FlexCol>\n )\n}\n","import ExpandMoreIcon from '@mui/icons-material/ExpandMore'\nimport { ModuleInstance } from '@xyo-network/module-model'\n\nexport interface ModuleAccordionProps<T extends ModuleInstance = ModuleInstance> extends Omit<AccordionProps, 'children'> {\n module?: T\n}\n\nimport { Accordion, AccordionDetails, AccordionProps, AccordionSummary } from '@mui/material'\n\nimport { ModuleDetails } from './ModuleDetails'\nimport { TypedModuleSummary } from './TypedModuleSummary'\n\nexport const ModuleAccordion: React.FC<ModuleAccordionProps> = ({ module, ...props }) => {\n return (\n <Accordion {...props}>\n <AccordionSummary expandIcon={<ExpandMoreIcon />}>\n <TypedModuleSummary module={module} />\n </AccordionSummary>\n <AccordionDetails>\n <ModuleDetails module={module} />\n </AccordionDetails>\n </Accordion>\n )\n}\n","import { ButtonGroup } from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { FlexBoxProps, FlexCol, FlexRow } from '@xylabs/react-flexbox'\nimport { usePromise } from '@xylabs/react-promise'\nimport { ModuleInstance } from '@xyo-network/module-model'\nimport { Property } from '@xyo-network/react-property'\n\nimport { JsonViewerButton } from './JsonViewerButton'\n\nexport interface ModuleDetailsProps<T extends ModuleInstance = ModuleInstance> extends FlexBoxProps {\n module?: T\n}\n\nexport const ModuleDetails: React.FC<ModuleDetailsProps> = ({ module, ...props }) => {\n const [manifest] = usePromise(async () => {\n return await module?.manifest()\n }, [module])\n\n const [discover] = usePromise(async () => {\n return await module?.discover()\n }, [module])\n\n const [describe] = usePromise(async () => {\n return await module?.describe()\n }, [module])\n\n const queries = module?.queries\n\n const config = module?.config\n\n return (\n <FlexCol alignItems=\"stretch\" {...props}>\n <Property title=\"Address\" value={module?.address} />\n\n <FlexRow gap={1} justifyContent=\"space-between\">\n <ButtonGroup>\n {manifest ? (\n <JsonViewerButton variant=\"contained\" src={manifest}>\n Manifest\n </JsonViewerButton>\n ) : null}\n {config ? (\n <JsonViewerButton variant=\"contained\" src={config}>\n Config\n </JsonViewerButton>\n ) : null}\n {discover ? (\n <JsonViewerButton variant=\"contained\" src={discover}>\n Discover\n </JsonViewerButton>\n ) : null}\n {describe ? (\n <JsonViewerButton variant=\"contained\" src={describe}>\n Describe\n </JsonViewerButton>\n ) : null}\n {queries ? (\n <JsonViewerButton variant=\"contained\" src={queries}>\n Queries\n </JsonViewerButton>\n ) : null}\n </ButtonGroup>\n <ButtonGroup>\n <ButtonEx target=\"_blank\" href={`https://explore.xyo.network/block?network=main&address=${module?.address}`} variant=\"outlined\">\n Main\n </ButtonEx>\n <ButtonEx target=\"_blank\" href={`https://beta.explore.xyo.network/block?network=kerplunk&address=${module?.address}`} variant=\"outlined\">\n Kerplunk\n </ButtonEx>\n <ButtonEx target=\"_blank\" href={`https://beta.explore.xyo.network/block?network=local&address=${module?.address}`} variant=\"outlined\">\n Local\n </ButtonEx>\n </ButtonGroup>\n </FlexRow>\n </FlexCol>\n )\n}\n","import { Dialog, DialogActions, DialogContent, DialogTitle } from '@mui/material'\nimport { ButtonEx, ButtonExProps } from '@xylabs/react-button'\nimport { useState } from 'react'\nimport JsonView, { ReactJsonViewProps } from 'react-json-view'\n\nexport interface JsonViewerButtonProps extends ButtonExProps {\n jsonViewProps?: Partial<ReactJsonViewProps>\n src: object\n}\n\nexport const JsonViewerButton: React.FC<JsonViewerButtonProps> = ({ children, jsonViewProps, src, title, ...props }) => {\n const [open, setOpen] = useState(false)\n return (\n <>\n <ButtonEx onClick={() => setOpen(!open)} {...props}>\n {children ?? 'JSON'}\n </ButtonEx>\n <Dialog open={open} onClose={() => setOpen(false)}>\n {title ? <DialogTitle>{title}</DialogTitle> : null}\n <DialogContent>\n <JsonView src={src} {...jsonViewProps} />\n </DialogContent>\n <DialogActions>\n <ButtonEx onClick={() => setOpen(false)}>Close</ButtonEx>\n </DialogActions>\n </Dialog>\n </>\n )\n}\n","import { isArchivistInstance } from '@xyo-network/archivist-model'\nimport { isBridgeInstance } from '@xyo-network/bridge-model'\nimport { isDivinerInstance } from '@xyo-network/diviner-model'\nimport { isNodeInstance } from '@xyo-network/node-model'\nimport { isSentinelInstance } from '@xyo-network/sentinel'\nimport { isWitnessInstance } from '@xyo-network/witness-model'\n\nimport { ArchivistSummary } from './ArchivistSummary'\nimport { BridgeSummary } from './BridgeSummary'\nimport { DivinerSummary } from './DivinerSummary'\nimport { ModuleSummary, ModuleSummaryProps } from './ModuleSummary'\nimport { NodeSummary } from './NodeSummary'\nimport { SentinelSummary } from './SentinelSummary'\nimport { WitnessSummary } from './WitnessSummary'\n\nexport const TypedModuleSummary: React.FC<ModuleSummaryProps> = ({ module, ...props }) => {\n if (isArchivistInstance(module)) {\n return <ArchivistSummary module={module} {...props} />\n }\n if (isDivinerInstance(module)) {\n return <DivinerSummary module={module} {...props} />\n }\n if (isNodeInstance(module)) {\n return <NodeSummary module={module} {...props} />\n }\n if (isWitnessInstance(module)) {\n return <WitnessSummary module={module} {...props} />\n }\n if (isBridgeInstance(module)) {\n return <BridgeSummary module={module} {...props} />\n }\n if (isSentinelInstance(module)) {\n return <SentinelSummary module={module} {...props} />\n }\n return <ModuleSummary module={module} {...props} />\n}\n","import BubbleChartRoundedIcon from '@mui/icons-material/BubbleChartRounded'\nimport { DivinerInstance } from '@xyo-network/diviner-model'\n\nimport { ModuleSummary, ModuleSummaryProps } from './ModuleSummary'\n\nexport const DivinerSummary: React.FC<ModuleSummaryProps<DivinerInstance>> = ({ module, ...props }) => {\n return <ModuleSummary module={module} icon={<BubbleChartRoundedIcon />} {...props} />\n}\n","import HubRoundedIcon from '@mui/icons-material/HubRounded'\nimport { usePromise } from '@xylabs/react-promise'\nimport { NodeInstance } from '@xyo-network/node-model'\nimport { useModulesFromNode } from '@xyo-network/react-node'\n\nimport { ModuleSummary, ModuleSummaryProps } from './ModuleSummary'\n\nexport const NodeSummary: React.FC<ModuleSummaryProps<NodeInstance>> = ({ module, ...props }) => {\n const [manifest] = usePromise(async () => {\n return await module?.manifest()\n }, [module])\n\n const [downModules] = useModulesFromNode(undefined, { direction: 'down' })\n const [upModules] = useModulesFromNode(undefined, { direction: 'up' })\n\n const downModulesFromResolve = downModules?.length\n const upModulesFromResolve = upModules?.length\n\n const manifestPublicModules = manifest?.modules?.public?.length\n\n return (\n <ModuleSummary module={module} icon={<HubRoundedIcon />} {...props}>\n {manifestPublicModules !== undefined && downModulesFromResolve !== undefined && upModulesFromResolve !== undefined\n ? `[${manifestPublicModules}m/${downModulesFromResolve}↓/${upModulesFromResolve}↑]`\n : null}\n </ModuleSummary>\n )\n}\n","import TimerRoundedIcon from '@mui/icons-material/TimerRounded'\nimport { SentinelInstance } from '@xyo-network/sentinel'\n\nimport { ModuleSummary, ModuleSummaryProps } from './ModuleSummary'\n\nexport const SentinelSummary: React.FC<ModuleSummaryProps<SentinelInstance>> = ({ module, ...props }) => {\n return <ModuleSummary module={module} icon={<TimerRoundedIcon />} {...props} />\n}\n","import VisibilityRoundedIcon from '@mui/icons-material/VisibilityRounded'\nimport { WitnessInstance } from '@xyo-network/witness-model'\n\nimport { ModuleSummary, ModuleSummaryProps } from './ModuleSummary'\n\nexport const WitnessSummary: React.FC<ModuleSummaryProps<WitnessInstance>> = ({ module, ...props }) => {\n return <ModuleSummary module={module} icon={<VisibilityRoundedIcon />} {...props} />\n}\n","import { Paper } from '@mui/material'\nimport { delay } from '@xylabs/delay'\nimport { forget } from '@xylabs/forget'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { ButtonExProps } from '@xylabs/react-button'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { Module } from '@xyo-network/module-model'\nimport { NodeInstance } from '@xyo-network/node-model'\nimport { useProvidedNode } from '@xyo-network/react-node'\nimport { KeyboardEvent, useMemo, useState } from 'react'\n\nimport { DebugDialog } from './DebugDialog'\nimport { PoweredByXyoButton, PoweredByXyoButtonProps } from './PoweredByXyoButton'\n\nexport interface PoweredByXyoProps extends FlexBoxProps {\n autoStop?: boolean\n busy?: boolean\n buttonProps?: PoweredByXyoButtonProps\n debugDialog?: boolean\n disableAnimation?: boolean\n href?: ButtonExProps['href']\n logoHeight?: number\n logoTextSize?: number\n node?: NodeInstance\n onButtonClick?: ButtonExProps['onClick']\n}\n\nexport const PoweredByXyo: React.FC<PoweredByXyoProps> = ({\n autoStop,\n busy,\n buttonProps = {},\n debugDialog = false,\n disableAnimation = false,\n href = 'https://xyo.network',\n logoHeight,\n logoTextSize,\n onButtonClick,\n node: propNode,\n ...props\n}) => {\n const [node] = useProvidedNode()\n const [debugDialogOpen, setDebugDialogOpen] = useState(false)\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const busyMap: Record<string, boolean> = useMemo(() => ({}), [node])\n\n const activeBusy = busy ?? Object.values(busyMap).reduce((prev, value) => prev || value, false)\n\n const activeOnButtonClick: PoweredByXyoProps['onButtonClick'] =\n (debugDialog\n ? (event) => {\n if (event.shiftKey && event.altKey) {\n setDebugDialogOpen(true)\n } else if (href) {\n window.open(href)\n }\n }\n : undefined) ?? onButtonClick\n\n const activeHref = activeOnButtonClick ? undefined : href\n\n const onKeyDownEscListener = (event: KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'Escape' && debugDialogOpen) {\n setDebugDialogOpen(false)\n }\n }\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async () => {\n const activeNode = propNode ?? node\n if (disableAnimation) {\n return\n } else if (activeNode) {\n const mods = await activeNode?.resolve()\n mods?.map((mod) => {\n mod.on('moduleBusy', ({ module, busy }) => {\n busyMap[(module as Module).address] = busy\n if (autoStop) {\n forget(\n (async () => {\n await delay(1000)\n busyMap[(module as Module).address] = false\n })(),\n )\n }\n })\n })\n activeNode?.on('moduleBusy', ({ module, busy }) => {\n busyMap[(module as Module).address] = busy\n if (autoStop) {\n forget(\n (async () => {\n await delay(1000)\n busyMap[(module as Module).address] = false\n })(),\n )\n }\n })\n }\n },\n [disableAnimation, propNode, node, busyMap, autoStop],\n )\n\n return (\n <FlexCol alignItems=\"stretch\" position=\"absolute\" bottom=\"0\" left=\"0\" {...props}>\n <Paper sx={{ borderRadius: 0 }}>\n <PoweredByXyoButton\n onClick={activeOnButtonClick}\n href={activeHref}\n busy={activeBusy}\n logoHeight={logoHeight}\n logoTextSize={logoTextSize}\n fullWidth\n {...buttonProps}\n />\n </Paper>\n {debugDialog ? (\n <DebugDialog fullScreen open={debugDialogOpen} onClose={() => setDebugDialogOpen(false)} onKeyDown={onKeyDownEscListener} />\n ) : null}\n </FlexCol>\n )\n}\n","import { Typography } from '@mui/material'\nimport { ButtonEx, ButtonExProps } from '@xylabs/react-button'\nimport { FlexCol, FlexRow } from '@xylabs/react-flexbox'\nimport { useState } from 'react'\n\nimport { xyoColorLogoText } from '../img'\nimport { XyoBusy } from './XyoBusy'\n\nexport interface PoweredByXyoButtonProps extends ButtonExProps {\n busy?: boolean\n logoHeight?: number\n logoTextSize?: number\n}\n\nexport const PoweredByXyoButton: React.FC<PoweredByXyoButtonProps> = ({\n busy = false,\n href,\n logoHeight,\n logoTextSize,\n sx,\n target = '_blank',\n variant = 'text',\n ...props\n}) => {\n //preloading image to prevent shifting\n const [imageLoaded, setImageLoaded] = useState(false)\n const img = new Image()\n img.onload = () => setImageLoaded(true)\n img.src = xyoColorLogoText\n return imageLoaded ? (\n <ButtonEx href={href} target={target} variant={variant} sx={{ borderRadius: 0, padding: 0, ...sx }} {...props}>\n <FlexCol padding={0.5}>\n <Typography style={{ fontSize: logoTextSize ?? 10 }} fontSize=\"small\">\n Powered by\n </Typography>\n <FlexRow>\n <XyoBusy busy={busy} />\n <img src={xyoColorLogoText} height={logoHeight ?? 24} width={45} />\n </FlexRow>\n </FlexCol>\n </ButtonEx>\n ) : null\n}\n","import { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { useState } from 'react'\n\nimport { xyoColorLogo } from '../img'\n\nexport type XyoBusyProps = Omit<FlexBoxProps, 'children'> & {\n busy?: boolean\n spinsPerSecond?: number\n widthInPixels?: number\n}\n\nexport const XyoBusy: React.FC<XyoBusyProps> = ({ widthInPixels, busy, spinsPerSecond = 0.5, ...props }) => {\n //preloading image to prevent shifting\n const [imageLoaded, setImageLoaded] = useState(false)\n if (!imageLoaded) {\n const img = new Image()\n img.onload = () => setImageLoaded(true)\n img.src = xyoColorLogo\n }\n return imageLoaded ? (\n <FlexCol\n sx={{\n '@keyframes spin': {\n '0%': {\n transform: 'rotate(360deg)',\n },\n '100%': {\n transform: 'rotate(0deg)',\n },\n },\n animation: busy ? `spin ${1 / spinsPerSecond}s linear infinite` : undefined,\n animationDirection: 'reverse',\n }}\n {...props}\n >\n <img src={xyoColorLogo} height={widthInPixels ?? 22} />\n </FlexCol>\n ) : null\n}\n"],"mappings":"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","names":["module","busy","ExtensionIcon","import_jsx_runtime","module","Inventory2RoundedIcon","import_jsx_runtime","module","InsertLinkRoundedIcon","import_material","import_react_flexbox","import_react_node","import_material","import_material","import_react_button","import_react_flexbox","import_react","import_jsx_runtime","JsonView","import_jsx_runtime","module","import_jsx_runtime","module","BubbleChartRoundedIcon","import_react_promise","import_react_node","import_jsx_runtime","module","HubRoundedIcon","import_jsx_runtime","module","TimerRoundedIcon","import_jsx_runtime","module","VisibilityRoundedIcon","import_jsx_runtime","module","import_jsx_runtime","module","ExpandMoreIcon","import_jsx_runtime","module","import_jsx_runtime","import_material","import_delay","import_react_flexbox","import_react_node","import_react","import_material","import_react_button","import_react_flexbox","import_react","import_react_flexbox","import_react","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","module","busy"]}