@xyo-network/react-node 2.64.8 → 2.64.10

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 (176) hide show
  1. package/dist/browser/hooks/useModuleFilterOptions.d.cts +2 -2
  2. package/dist/browser/hooks/useModuleFilterOptions.d.mts +2 -2
  3. package/dist/browser/hooks/useModuleFilterOptions.d.ts +2 -2
  4. package/dist/docs.json +4345 -1093
  5. package/dist/node/hooks/useModuleFilterOptions.d.cts +2 -2
  6. package/dist/node/hooks/useModuleFilterOptions.d.mts +2 -2
  7. package/dist/node/hooks/useModuleFilterOptions.d.ts +2 -2
  8. package/package.json +18 -18
  9. package/dist/browser/components/Node.cjs +0 -88
  10. package/dist/browser/components/Node.cjs.map +0 -1
  11. package/dist/browser/components/Node.js +0 -65
  12. package/dist/browser/components/Node.js.map +0 -1
  13. package/dist/browser/components/NodeDescriptionBox.cjs +0 -76
  14. package/dist/browser/components/NodeDescriptionBox.cjs.map +0 -1
  15. package/dist/browser/components/NodeDescriptionBox.js +0 -55
  16. package/dist/browser/components/NodeDescriptionBox.js.map +0 -1
  17. package/dist/browser/components/NodeDrawer.cjs +0 -116
  18. package/dist/browser/components/NodeDrawer.cjs.map +0 -1
  19. package/dist/browser/components/NodeDrawer.js +0 -95
  20. package/dist/browser/components/NodeDrawer.js.map +0 -1
  21. package/dist/browser/components/NodeModulesBox.cjs +0 -104
  22. package/dist/browser/components/NodeModulesBox.cjs.map +0 -1
  23. package/dist/browser/components/NodeModulesBox.js +0 -83
  24. package/dist/browser/components/NodeModulesBox.js.map +0 -1
  25. package/dist/browser/components/TestModule.cjs +0 -39
  26. package/dist/browser/components/TestModule.cjs.map +0 -1
  27. package/dist/browser/components/TestModule.js +0 -18
  28. package/dist/browser/components/TestModule.js.map +0 -1
  29. package/dist/browser/components/index.cjs +0 -173
  30. package/dist/browser/components/index.cjs.map +0 -1
  31. package/dist/browser/components/index.js +0 -150
  32. package/dist/browser/components/index.js.map +0 -1
  33. package/dist/browser/components/render/ModuleDescriptionBox.cjs +0 -90
  34. package/dist/browser/components/render/ModuleDescriptionBox.cjs.map +0 -1
  35. package/dist/browser/components/render/ModuleDescriptionBox.js +0 -69
  36. package/dist/browser/components/render/ModuleDescriptionBox.js.map +0 -1
  37. package/dist/browser/components/render/RenderModule.cjs +0 -61
  38. package/dist/browser/components/render/RenderModule.cjs.map +0 -1
  39. package/dist/browser/components/render/RenderModule.js +0 -40
  40. package/dist/browser/components/render/RenderModule.js.map +0 -1
  41. package/dist/browser/components/render/index.cjs +0 -93
  42. package/dist/browser/components/render/index.cjs.map +0 -1
  43. package/dist/browser/components/render/index.js +0 -70
  44. package/dist/browser/components/render/index.js.map +0 -1
  45. package/dist/browser/hooks/ModuleFromNodeConfig.cjs +0 -29
  46. package/dist/browser/hooks/ModuleFromNodeConfig.cjs.map +0 -1
  47. package/dist/browser/hooks/ModuleFromNodeConfig.js +0 -8
  48. package/dist/browser/hooks/ModuleFromNodeConfig.js.map +0 -1
  49. package/dist/browser/hooks/index.cjs +0 -174
  50. package/dist/browser/hooks/index.cjs.map +0 -1
  51. package/dist/browser/hooks/index.js +0 -151
  52. package/dist/browser/hooks/index.js.map +0 -1
  53. package/dist/browser/hooks/provided/index.cjs +0 -34
  54. package/dist/browser/hooks/provided/index.cjs.map +0 -1
  55. package/dist/browser/hooks/provided/index.js +0 -11
  56. package/dist/browser/hooks/provided/index.js.map +0 -1
  57. package/dist/browser/hooks/provided/useProvidedNode.cjs +0 -32
  58. package/dist/browser/hooks/provided/useProvidedNode.cjs.map +0 -1
  59. package/dist/browser/hooks/provided/useProvidedNode.js +0 -11
  60. package/dist/browser/hooks/provided/useProvidedNode.js.map +0 -1
  61. package/dist/browser/hooks/useModuleFilterOptions.cjs +0 -30
  62. package/dist/browser/hooks/useModuleFilterOptions.cjs.map +0 -1
  63. package/dist/browser/hooks/useModuleFilterOptions.js +0 -9
  64. package/dist/browser/hooks/useModuleFilterOptions.js.map +0 -1
  65. package/dist/browser/hooks/useModuleFromNode.cjs +0 -109
  66. package/dist/browser/hooks/useModuleFromNode.cjs.map +0 -1
  67. package/dist/browser/hooks/useModuleFromNode.js +0 -88
  68. package/dist/browser/hooks/useModuleFromNode.js.map +0 -1
  69. package/dist/browser/hooks/useModulesFromNode.cjs +0 -96
  70. package/dist/browser/hooks/useModulesFromNode.cjs.map +0 -1
  71. package/dist/browser/hooks/useModulesFromNode.js +0 -75
  72. package/dist/browser/hooks/useModulesFromNode.js.map +0 -1
  73. package/dist/browser/hooks/useNode.cjs +0 -56
  74. package/dist/browser/hooks/useNode.cjs.map +0 -1
  75. package/dist/browser/hooks/useNode.js +0 -35
  76. package/dist/browser/hooks/useNode.js.map +0 -1
  77. package/dist/browser/hooks/useNodeConfigNodeField.cjs +0 -32
  78. package/dist/browser/hooks/useNodeConfigNodeField.cjs.map +0 -1
  79. package/dist/browser/hooks/useNodeConfigNodeField.js +0 -11
  80. package/dist/browser/hooks/useNodeConfigNodeField.js.map +0 -1
  81. package/dist/browser/hooks/useNodeDescription.cjs +0 -68
  82. package/dist/browser/hooks/useNodeDescription.cjs.map +0 -1
  83. package/dist/browser/hooks/useNodeDescription.js +0 -47
  84. package/dist/browser/hooks/useNodeDescription.js.map +0 -1
  85. package/dist/browser/hooks/useNodeFromNode.cjs +0 -124
  86. package/dist/browser/hooks/useNodeFromNode.cjs.map +0 -1
  87. package/dist/browser/hooks/useNodeFromNode.js +0 -103
  88. package/dist/browser/hooks/useNodeFromNode.js.map +0 -1
  89. package/dist/browser/hooks/useNodesFromNode.cjs +0 -120
  90. package/dist/browser/hooks/useNodesFromNode.cjs.map +0 -1
  91. package/dist/browser/hooks/useNodesFromNode.js +0 -99
  92. package/dist/browser/hooks/useNodesFromNode.js.map +0 -1
  93. package/dist/node/components/Node.cjs +0 -92
  94. package/dist/node/components/Node.cjs.map +0 -1
  95. package/dist/node/components/Node.js +0 -65
  96. package/dist/node/components/Node.js.map +0 -1
  97. package/dist/node/components/NodeDescriptionBox.cjs +0 -80
  98. package/dist/node/components/NodeDescriptionBox.cjs.map +0 -1
  99. package/dist/node/components/NodeDescriptionBox.js +0 -55
  100. package/dist/node/components/NodeDescriptionBox.js.map +0 -1
  101. package/dist/node/components/NodeDrawer.cjs +0 -120
  102. package/dist/node/components/NodeDrawer.cjs.map +0 -1
  103. package/dist/node/components/NodeDrawer.js +0 -95
  104. package/dist/node/components/NodeDrawer.js.map +0 -1
  105. package/dist/node/components/NodeModulesBox.cjs +0 -108
  106. package/dist/node/components/NodeModulesBox.cjs.map +0 -1
  107. package/dist/node/components/NodeModulesBox.js +0 -83
  108. package/dist/node/components/NodeModulesBox.js.map +0 -1
  109. package/dist/node/components/TestModule.cjs +0 -45
  110. package/dist/node/components/TestModule.cjs.map +0 -1
  111. package/dist/node/components/TestModule.js +0 -18
  112. package/dist/node/components/TestModule.js.map +0 -1
  113. package/dist/node/components/index.cjs +0 -178
  114. package/dist/node/components/index.cjs.map +0 -1
  115. package/dist/node/components/index.js +0 -150
  116. package/dist/node/components/index.js.map +0 -1
  117. package/dist/node/components/render/ModuleDescriptionBox.cjs +0 -94
  118. package/dist/node/components/render/ModuleDescriptionBox.cjs.map +0 -1
  119. package/dist/node/components/render/ModuleDescriptionBox.js +0 -69
  120. package/dist/node/components/render/ModuleDescriptionBox.js.map +0 -1
  121. package/dist/node/components/render/RenderModule.cjs +0 -65
  122. package/dist/node/components/render/RenderModule.cjs.map +0 -1
  123. package/dist/node/components/render/RenderModule.js +0 -40
  124. package/dist/node/components/render/RenderModule.js.map +0 -1
  125. package/dist/node/components/render/index.cjs +0 -98
  126. package/dist/node/components/render/index.cjs.map +0 -1
  127. package/dist/node/components/render/index.js +0 -70
  128. package/dist/node/components/render/index.js.map +0 -1
  129. package/dist/node/hooks/ModuleFromNodeConfig.cjs +0 -33
  130. package/dist/node/hooks/ModuleFromNodeConfig.cjs.map +0 -1
  131. package/dist/node/hooks/ModuleFromNodeConfig.js +0 -8
  132. package/dist/node/hooks/ModuleFromNodeConfig.js.map +0 -1
  133. package/dist/node/hooks/index.cjs +0 -189
  134. package/dist/node/hooks/index.cjs.map +0 -1
  135. package/dist/node/hooks/index.js +0 -154
  136. package/dist/node/hooks/index.js.map +0 -1
  137. package/dist/node/hooks/provided/index.cjs +0 -38
  138. package/dist/node/hooks/provided/index.cjs.map +0 -1
  139. package/dist/node/hooks/provided/index.js +0 -11
  140. package/dist/node/hooks/provided/index.js.map +0 -1
  141. package/dist/node/hooks/provided/useProvidedNode.cjs +0 -36
  142. package/dist/node/hooks/provided/useProvidedNode.cjs.map +0 -1
  143. package/dist/node/hooks/provided/useProvidedNode.js +0 -11
  144. package/dist/node/hooks/provided/useProvidedNode.js.map +0 -1
  145. package/dist/node/hooks/useModuleFilterOptions.cjs +0 -34
  146. package/dist/node/hooks/useModuleFilterOptions.cjs.map +0 -1
  147. package/dist/node/hooks/useModuleFilterOptions.js +0 -9
  148. package/dist/node/hooks/useModuleFilterOptions.js.map +0 -1
  149. package/dist/node/hooks/useModuleFromNode.cjs +0 -115
  150. package/dist/node/hooks/useModuleFromNode.cjs.map +0 -1
  151. package/dist/node/hooks/useModuleFromNode.js +0 -90
  152. package/dist/node/hooks/useModuleFromNode.js.map +0 -1
  153. package/dist/node/hooks/useModulesFromNode.cjs +0 -100
  154. package/dist/node/hooks/useModulesFromNode.cjs.map +0 -1
  155. package/dist/node/hooks/useModulesFromNode.js +0 -75
  156. package/dist/node/hooks/useModulesFromNode.js.map +0 -1
  157. package/dist/node/hooks/useNode.cjs +0 -60
  158. package/dist/node/hooks/useNode.cjs.map +0 -1
  159. package/dist/node/hooks/useNode.js +0 -35
  160. package/dist/node/hooks/useNode.js.map +0 -1
  161. package/dist/node/hooks/useNodeConfigNodeField.cjs +0 -36
  162. package/dist/node/hooks/useNodeConfigNodeField.cjs.map +0 -1
  163. package/dist/node/hooks/useNodeConfigNodeField.js +0 -11
  164. package/dist/node/hooks/useNodeConfigNodeField.js.map +0 -1
  165. package/dist/node/hooks/useNodeDescription.cjs +0 -72
  166. package/dist/node/hooks/useNodeDescription.cjs.map +0 -1
  167. package/dist/node/hooks/useNodeDescription.js +0 -47
  168. package/dist/node/hooks/useNodeDescription.js.map +0 -1
  169. package/dist/node/hooks/useNodeFromNode.cjs +0 -131
  170. package/dist/node/hooks/useNodeFromNode.cjs.map +0 -1
  171. package/dist/node/hooks/useNodeFromNode.js +0 -106
  172. package/dist/node/hooks/useNodeFromNode.js.map +0 -1
  173. package/dist/node/hooks/useNodesFromNode.cjs +0 -124
  174. package/dist/node/hooks/useNodesFromNode.cjs.map +0 -1
  175. package/dist/node/hooks/useNodesFromNode.js +0 -99
  176. package/dist/node/hooks/useNodesFromNode.js.map +0 -1
@@ -1,95 +0,0 @@
1
- // src/components/NodeDrawer.tsx
2
- import { Close as CloseIcon } from "@mui/icons-material";
3
- import { ClickAwayListener, Drawer, IconButton } from "@mui/material";
4
- import { FlexGrowCol, FlexRow } from "@xylabs/react-flexbox";
5
- import { useNodeDrawer } from "@xyo-network/react-node-provider";
6
-
7
- // src/hooks/provided/useProvidedNode.tsx
8
- import { NodeContext } from "@xyo-network/react-node-context";
9
- import { useContext } from "react";
10
- var useProvidedNode = () => {
11
- const { node } = useContext(NodeContext);
12
- return [node];
13
- };
14
-
15
- // src/components/render/ModuleDescriptionBox.tsx
16
- import { ChevronRight as ChevronRightIcon, ExpandMore as ExpandMoreIcon } from "@mui/icons-material";
17
- import { styled as styled2, Typography } from "@mui/material";
18
- import { TreeView } from "@mui/x-tree-view";
19
- import { useRef } from "react";
20
-
21
- // src/components/render/RenderModule.tsx
22
- import { styled } from "@mui/material";
23
- import { TreeItem } from "@mui/x-tree-view";
24
- import { useAsyncEffect } from "@xylabs/react-async-effect";
25
- import { useState } from "react";
26
- import { jsx, jsxs } from "react/jsx-runtime";
27
- var RenderModule = ({ module, idRef }) => {
28
- const { address, queries } = module ?? {};
29
- const [childModules, setChildModules] = useState();
30
- useAsyncEffect(
31
- // eslint-disable-next-line react-hooks/exhaustive-deps
32
- async (mounted) => {
33
- const children = (await module.resolve()).filter((childModule) => childModule.address !== address);
34
- if (mounted()) {
35
- setChildModules(children);
36
- }
37
- },
38
- [module, address]
39
- );
40
- const increment = () => {
41
- const newId = (idRef.current.idIncrementor++).toString();
42
- idRef.current.ids.push(newId);
43
- return newId;
44
- };
45
- return /* @__PURE__ */ jsxs(StyledAddressTreeItem, { nodeId: increment(), label: `address: ${address}`, children: [
46
- queries.map((query, index) => {
47
- return /* @__PURE__ */ jsx(TreeItem, { nodeId: increment(), label: `query : ${query}`, sx: { mb: index === queries.length - 1 ? 1.5 : 0.5 } }, query);
48
- }),
49
- childModules && childModules.length > 0 ? /* @__PURE__ */ jsx(TreeItem, { nodeId: increment(), label: "children", sx: { mb: 0.5 }, children: childModules.map((childModule) => /* @__PURE__ */ jsx(RenderModule, { module: childModule, idRef }, childModule.address)) }) : null
50
- ] });
51
- };
52
- var StyledAddressTreeItem = styled(TreeItem, { name: "StyledAddressTreeItem" })(({ theme }) => ({
53
- "& .MuiTreeItem-content": {
54
- marginBottom: theme.spacing(0.25)
55
- }
56
- }));
57
-
58
- // src/components/render/ModuleDescriptionBox.tsx
59
- import { Fragment, jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
60
- var ModuleDescriptionBox = ({ module }) => {
61
- const idRef = useRef({ idIncrementor: 0, ids: [] });
62
- return /* @__PURE__ */ jsx2(Fragment, { children: module ? /* @__PURE__ */ jsxs2(Fragment, { children: [
63
- /* @__PURE__ */ jsx2(Typography, { variant: "h4", children: "Node Configuration" }),
64
- /* @__PURE__ */ jsx2(
65
- StyledTreeView,
66
- {
67
- "aria-label": "file system navigator",
68
- defaultCollapseIcon: /* @__PURE__ */ jsx2(ExpandMoreIcon, {}),
69
- defaultExpandIcon: /* @__PURE__ */ jsx2(ChevronRightIcon, {}),
70
- sx: { flexGrow: 1 },
71
- children: /* @__PURE__ */ jsx2(RenderModule, { module, idRef })
72
- }
73
- )
74
- ] }) : module === null ? /* @__PURE__ */ jsx2(Typography, { variant: "h4", children: "Node loading..." }) : /* @__PURE__ */ jsx2(Typography, { variant: "h4", children: "Node not found" }) });
75
- };
76
- var StyledTreeView = styled2(TreeView, { name: "StyledTreeView" })(() => ({
77
- height: "auto",
78
- maxWidth: "auto"
79
- }));
80
-
81
- // src/components/NodeDrawer.tsx
82
- import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
83
- var NodeDrawer = ({ children, ...props }) => {
84
- const { open, setOpen } = useNodeDrawer();
85
- const [node] = useProvidedNode();
86
- return /* @__PURE__ */ jsx3(Drawer, { open: open ?? false, anchor: "right", ...props, children: /* @__PURE__ */ jsx3(ClickAwayListener, { onClickAway: () => setOpen?.(false), children: /* @__PURE__ */ jsxs3(FlexGrowCol, { role: "presentation", justifyContent: "start", p: 2, rowGap: 2, minWidth: "33vw", children: [
87
- /* @__PURE__ */ jsx3(FlexRow, { alignContent: "start", justifyContent: "start", width: "100%", children: /* @__PURE__ */ jsx3(IconButton, { onClick: () => setOpen?.(false), children: /* @__PURE__ */ jsx3(CloseIcon, {}) }) }),
88
- /* @__PURE__ */ jsx3(ModuleDescriptionBox, { module: node }),
89
- children
90
- ] }) }) });
91
- };
92
- export {
93
- NodeDrawer
94
- };
95
- //# sourceMappingURL=NodeDrawer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/NodeDrawer.tsx","../../../src/hooks/provided/useProvidedNode.tsx","../../../src/components/render/ModuleDescriptionBox.tsx","../../../src/components/render/RenderModule.tsx"],"sourcesContent":["import { Close as CloseIcon } from '@mui/icons-material'\nimport { ClickAwayListener, Drawer, DrawerProps, IconButton } from '@mui/material'\nimport { FlexGrowCol, FlexRow } from '@xylabs/react-flexbox'\nimport type { WithChildren } from '@xylabs/react-shared'\nimport { useNodeDrawer } from '@xyo-network/react-node-provider'\n\nimport { useProvidedNode } from '../hooks'\nimport { ModuleDescriptionBox } from './render'\n\nexport interface NodeDrawerProps extends WithChildren, Omit<DrawerProps, 'open'> {}\n\nexport const NodeDrawer: React.FC<NodeDrawerProps> = ({ children, ...props }) => {\n const { open, setOpen } = useNodeDrawer()\n const [node] = useProvidedNode()\n\n return (\n <Drawer open={open ?? false} anchor=\"right\" {...props}>\n <ClickAwayListener onClickAway={() => setOpen?.(false)}>\n <FlexGrowCol role=\"presentation\" justifyContent=\"start\" p={2} rowGap={2} minWidth=\"33vw\">\n <FlexRow alignContent=\"start\" justifyContent=\"start\" width=\"100%\">\n <IconButton onClick={() => setOpen?.(false)}>\n <CloseIcon />\n </IconButton>\n </FlexRow>\n <ModuleDescriptionBox module={node} />\n {children}\n </FlexGrowCol>\n </ClickAwayListener>\n </Drawer>\n )\n}\n","import { NodeInstance } from '@xyo-network/node-model'\nimport { NodeContext } from '@xyo-network/react-node-context'\nimport { useContext } from 'react'\n\nexport const useProvidedNode = (): [NodeInstance | null | undefined] => {\n const { node } = useContext(NodeContext)\n return [node]\n}\n","import { ChevronRight as ChevronRightIcon, ExpandMore as ExpandMoreIcon } from '@mui/icons-material'\nimport { styled, Typography } from '@mui/material'\nimport { TreeView } from '@mui/x-tree-view'\nimport { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { ModuleInstance } from '@xyo-network/module'\nimport { useRef } from 'react'\n\nimport { RenderModule } from './RenderModule'\n\nexport interface ModuleDescriptionProps extends FlexBoxProps {\n module?: ModuleInstance | null\n}\nexport const ModuleDescriptionBox: React.FC<ModuleDescriptionProps> = ({ module }) => {\n const idRef = useRef<{ idIncrementor: number; ids: string[] }>({ idIncrementor: 0, ids: [] })\n\n return (\n <>\n {module ? (\n <>\n <Typography variant=\"h4\">Node Configuration</Typography>\n <StyledTreeView\n aria-label=\"file system navigator\"\n defaultCollapseIcon={<ExpandMoreIcon />}\n defaultExpandIcon={<ChevronRightIcon />}\n sx={{ flexGrow: 1 }}\n >\n <RenderModule module={module} idRef={idRef} />\n </StyledTreeView>\n </>\n ) : module === null ? (\n <Typography variant=\"h4\">Node loading...</Typography>\n ) : (\n <Typography variant=\"h4\">Node not found</Typography>\n )}\n </>\n )\n}\n\nconst StyledTreeView = styled(TreeView, { name: 'StyledTreeView' })(() => ({\n height: 'auto',\n maxWidth: 'auto',\n}))\n","import { styled } from '@mui/material'\nimport { TreeItem } from '@mui/x-tree-view'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { ModuleInstance } from '@xyo-network/module'\nimport { MutableRefObject, useState } from 'react'\n\ninterface RenderModuleProps {\n idRef: MutableRefObject<{\n idIncrementor: number\n ids: string[]\n }>\n module: ModuleInstance\n}\n\nexport const RenderModule: React.FC<RenderModuleProps> = ({ module, idRef }) => {\n const { address, queries } = module ?? {}\n const [childModules, setChildModules] = useState<ModuleInstance[]>()\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n const children = (await module.resolve()).filter((childModule) => childModule.address !== address)\n if (mounted()) {\n setChildModules(children)\n }\n },\n [module, address],\n )\n\n const increment = () => {\n const newId = (idRef.current.idIncrementor++).toString()\n idRef.current.ids.push(newId)\n return newId\n }\n\n return (\n <StyledAddressTreeItem nodeId={increment()} label={`address: ${address}`}>\n {queries.map((query, index) => {\n return <TreeItem key={query} nodeId={increment()} label={`query : ${query}`} sx={{ mb: index === queries.length - 1 ? 1.5 : 0.5 }} />\n })}\n {childModules && childModules.length > 0 ? (\n <TreeItem nodeId={increment()} label={'children'} sx={{ mb: 0.5 }}>\n {childModules.map((childModule) => (\n <RenderModule key={childModule.address} module={childModule} idRef={idRef} />\n ))}\n </TreeItem>\n ) : null}\n </StyledAddressTreeItem>\n )\n}\n\nconst StyledAddressTreeItem = styled(TreeItem, { name: 'StyledAddressTreeItem' })(({ theme }) => ({\n '& .MuiTreeItem-content': {\n marginBottom: theme.spacing(0.25),\n },\n}))\n"],"mappings":"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","names":["styled","jsx","jsxs","styled","jsx","jsxs"]}
@@ -1,104 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/components/NodeModulesBox.tsx
21
- var NodeModulesBox_exports = {};
22
- __export(NodeModulesBox_exports, {
23
- NodeDescriptionBox: () => NodeDescriptionBox
24
- });
25
- module.exports = __toCommonJS(NodeModulesBox_exports);
26
- var import_react_flexbox = require("@xylabs/react-flexbox");
27
-
28
- // src/hooks/provided/useProvidedNode.tsx
29
- var import_react_node_context = require("@xyo-network/react-node-context");
30
- var import_react = require("react");
31
- var useProvidedNode = () => {
32
- const { node } = (0, import_react.useContext)(import_react_node_context.NodeContext);
33
- return [node];
34
- };
35
-
36
- // src/hooks/useModuleFilterOptions.ts
37
- var useModuleFilterOptions = (config) => {
38
- const { direction, identity, maxDepth, visibility } = config ?? {};
39
- return { direction, identity, maxDepth, visibility };
40
- };
41
-
42
- // src/hooks/useNode.ts
43
- var import_react_promise = require("@xylabs/react-promise");
44
- var import_node_model = require("@xyo-network/node-model");
45
-
46
- // src/hooks/useNodeConfigNodeField.ts
47
- var import_react2 = require("react");
48
- var useNodeConfigNodeField = (config) => {
49
- const nodeAddress = (0, import_react2.useMemo)(() => typeof config?.node === "string" ? config?.node : void 0, [config?.node]);
50
- const nodeInstance = (0, import_react2.useMemo)(() => typeof config?.node === "object" ? config?.node : void 0, [config?.node]);
51
- return [nodeAddress, nodeInstance];
52
- };
53
-
54
- // src/hooks/useNode.ts
55
- var useNode = (config) => {
56
- const [nodeAddress, nodeInstance] = useNodeConfigNodeField(config);
57
- const [providedNode] = useProvidedNode();
58
- const [nodeAddressNode, error] = (0, import_react_promise.usePromise)(async () => {
59
- if (providedNode && nodeAddress) {
60
- return (0, import_node_model.asNodeInstance)(await providedNode.resolve(nodeAddress), "Module is not a node");
61
- }
62
- }, [providedNode, nodeAddress]);
63
- return [nodeAddressNode ?? nodeInstance ?? providedNode ?? void 0, error];
64
- };
65
-
66
- // src/hooks/useModulesFromNode.ts
67
- var import_react_promise2 = require("@xylabs/react-promise");
68
- var import_react3 = require("react");
69
- var useModulesFromNode = (filter, config) => {
70
- const [node, nodeError] = useNode(config);
71
- const logger = config?.logger;
72
- const filterOptions = useModuleFilterOptions();
73
- const [result, setResult] = (0, import_react3.useState)();
74
- const [, error] = (0, import_react_promise2.usePromise)(async () => {
75
- logger?.debug("useModuleFromNode: resolving");
76
- if (node) {
77
- node.on("moduleAttached", async ({ module: module2 }) => {
78
- logger?.debug(`useModuleFromNode: moduleAttached [${module2.config.name ?? module2.address}]`);
79
- const moduleInstances2 = await node.resolve(filter, filterOptions);
80
- setResult(moduleInstances2);
81
- });
82
- node.on("moduleDetached", async ({ module: module2 }) => {
83
- logger?.debug(`useModuleFromNode: moduleDetached [${module2.config.name ?? module2.address}]`);
84
- const moduleInstances2 = await node.resolve(filter, filterOptions);
85
- setResult(moduleInstances2);
86
- });
87
- const moduleInstances = await node.resolve(filter, filterOptions);
88
- setResult(moduleInstances);
89
- setResult(moduleInstances);
90
- return moduleInstances;
91
- }
92
- console.log("Result: No Node");
93
- return void 0;
94
- }, [node, filter]);
95
- return [result, nodeError ?? error];
96
- };
97
-
98
- // src/components/NodeModulesBox.tsx
99
- var import_jsx_runtime = require("react/jsx-runtime");
100
- var NodeDescriptionBox = ({ node, ...props }) => {
101
- const [description, error] = useModulesFromNode(void 0, { node });
102
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_flexbox.FlexCol, { ...props, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("code", { color: error ? "red" : void 0, children: error ? error.message : JSON.stringify(description, null, 2) }) });
103
- };
104
- //# sourceMappingURL=NodeModulesBox.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/NodeModulesBox.tsx","../../../src/hooks/provided/useProvidedNode.tsx","../../../src/hooks/useModuleFilterOptions.ts","../../../src/hooks/useNode.ts","../../../src/hooks/useNodeConfigNodeField.ts","../../../src/hooks/useModulesFromNode.ts"],"sourcesContent":["import { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { NodeInstance } from '@xyo-network/node-model'\n\nimport { useModulesFromNode } from '../hooks'\n\nexport interface NodeDescriptionBoxProps extends FlexBoxProps {\n node?: string | NodeInstance\n}\n\nexport const NodeDescriptionBox: React.FC<NodeDescriptionBoxProps> = ({ node, ...props }) => {\n const [description, error] = useModulesFromNode(undefined, { node })\n\n return (\n <FlexCol {...props}>\n <code color={error ? 'red' : undefined}>{error ? error.message : JSON.stringify(description, null, 2)}</code>\n </FlexCol>\n )\n}\n","import { NodeInstance } from '@xyo-network/node-model'\nimport { NodeContext } from '@xyo-network/react-node-context'\nimport { useContext } from 'react'\n\nexport const useProvidedNode = (): [NodeInstance | null | undefined] => {\n const { node } = useContext(NodeContext)\n return [node]\n}\n","import { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\n\nexport const useModuleFilterOptions = (config?: ModuleFromNodeConfig) => {\n const { direction, identity, maxDepth, visibility } = config ?? {}\n return { direction, identity, maxDepth, visibility }\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { asNodeInstance, NodeInstance } from '@xyo-network/node-model'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useProvidedNode } from './provided'\nimport { useNodeConfigNodeField } from './useNodeConfigNodeField'\n\nexport const useNode = (config?: ModuleFromNodeConfig | undefined): [NodeInstance | undefined, Error | undefined] => {\n const [nodeAddress, nodeInstance] = useNodeConfigNodeField(config)\n const [providedNode] = useProvidedNode()\n const [nodeAddressNode, error] = usePromise(async () => {\n if (providedNode && nodeAddress) {\n return asNodeInstance(await providedNode.resolve(nodeAddress), 'Module is not a node')\n }\n }, [providedNode, nodeAddress])\n return [nodeAddressNode ?? nodeInstance ?? providedNode ?? undefined, error]\n}\n","import { NodeInstance } from '@xyo-network/node-model'\nimport { useMemo } from 'react'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\n\nexport const useNodeConfigNodeField = (config?: ModuleFromNodeConfig | undefined): [string | undefined, NodeInstance | undefined] => {\n const nodeAddress = useMemo(() => (typeof config?.node === 'string' ? config?.node : undefined), [config?.node])\n const nodeInstance = useMemo(() => (typeof config?.node === 'object' ? config?.node : undefined), [config?.node])\n return [nodeAddress, nodeInstance]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { ModuleFilter } from '@xyo-network/module'\nimport { ModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useModuleFilterOptions } from './useModuleFilterOptions'\nimport { useNode } from './useNode'\n\nexport const useModulesFromNode = (filter?: ModuleFilter, config?: ModuleFromNodeConfig): [ModuleInstance[] | undefined, Error | undefined] => {\n const [node, nodeError] = useNode(config)\n const logger = config?.logger\n const filterOptions = useModuleFilterOptions()\n const [result, setResult] = useState<ModuleInstance[] | undefined>()\n const [, error] = usePromise(async () => {\n logger?.debug('useModuleFromNode: resolving')\n if (node) {\n node.on('moduleAttached', async ({ module }) => {\n logger?.debug(`useModuleFromNode: moduleAttached [${module.config.name ?? module.address}]`)\n const moduleInstances = await node.resolve(filter, filterOptions)\n setResult(moduleInstances)\n })\n node.on('moduleDetached', async ({ module }) => {\n logger?.debug(`useModuleFromNode: moduleDetached [${module.config.name ?? module.address}]`)\n const moduleInstances = await node.resolve(filter, filterOptions)\n setResult(moduleInstances)\n })\n const moduleInstances = await node.resolve(filter, filterOptions)\n setResult(moduleInstances)\n setResult(moduleInstances)\n return moduleInstances\n }\n console.log('Result: No Node')\n return undefined\n }, [node, filter])\n return [result, nodeError ?? error]\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAAsC;;;ACCtC,gCAA4B;AAC5B,mBAA2B;AAEpB,IAAM,kBAAkB,MAAyC;AACtE,QAAM,EAAE,KAAK,QAAI,yBAAW,qCAAW;AACvC,SAAO,CAAC,IAAI;AACd;;;ACLO,IAAM,yBAAyB,CAAC,WAAkC;AACvE,QAAM,EAAE,WAAW,UAAU,UAAU,WAAW,IAAI,UAAU,CAAC;AACjE,SAAO,EAAE,WAAW,UAAU,UAAU,WAAW;AACrD;;;ACLA,2BAA2B;AAC3B,wBAA6C;;;ACA7C,IAAAA,gBAAwB;AAIjB,IAAM,yBAAyB,CAAC,WAA8F;AACnI,QAAM,kBAAc,uBAAQ,MAAO,OAAO,QAAQ,SAAS,WAAW,QAAQ,OAAO,QAAY,CAAC,QAAQ,IAAI,CAAC;AAC/G,QAAM,mBAAe,uBAAQ,MAAO,OAAO,QAAQ,SAAS,WAAW,QAAQ,OAAO,QAAY,CAAC,QAAQ,IAAI,CAAC;AAChH,SAAO,CAAC,aAAa,YAAY;AACnC;;;ADFO,IAAM,UAAU,CAAC,WAA6F;AACnH,QAAM,CAAC,aAAa,YAAY,IAAI,uBAAuB,MAAM;AACjE,QAAM,CAAC,YAAY,IAAI,gBAAgB;AACvC,QAAM,CAAC,iBAAiB,KAAK,QAAI,iCAAW,YAAY;AACtD,QAAI,gBAAgB,aAAa;AAC/B,iBAAO,kCAAe,MAAM,aAAa,QAAQ,WAAW,GAAG,sBAAsB;AAAA,IACvF;AAAA,EACF,GAAG,CAAC,cAAc,WAAW,CAAC;AAC9B,SAAO,CAAC,mBAAmB,gBAAgB,gBAAgB,QAAW,KAAK;AAC7E;;;AEhBA,IAAAC,wBAA2B;AAG3B,IAAAC,gBAAyB;AAMlB,IAAM,qBAAqB,CAAC,QAAuB,WAAqF;AAC7I,QAAM,CAAC,MAAM,SAAS,IAAI,QAAQ,MAAM;AACxC,QAAM,SAAS,QAAQ;AACvB,QAAM,gBAAgB,uBAAuB;AAC7C,QAAM,CAAC,QAAQ,SAAS,QAAI,wBAAuC;AACnE,QAAM,CAAC,EAAE,KAAK,QAAI,kCAAW,YAAY;AACvC,YAAQ,MAAM,8BAA8B;AAC5C,QAAI,MAAM;AACR,WAAK,GAAG,kBAAkB,OAAO,EAAE,QAAAC,QAAO,MAAM;AAC9C,gBAAQ,MAAM,sCAAsCA,QAAO,OAAO,QAAQA,QAAO,OAAO,GAAG;AAC3F,cAAMC,mBAAkB,MAAM,KAAK,QAAQ,QAAQ,aAAa;AAChE,kBAAUA,gBAAe;AAAA,MAC3B,CAAC;AACD,WAAK,GAAG,kBAAkB,OAAO,EAAE,QAAAD,QAAO,MAAM;AAC9C,gBAAQ,MAAM,sCAAsCA,QAAO,OAAO,QAAQA,QAAO,OAAO,GAAG;AAC3F,cAAMC,mBAAkB,MAAM,KAAK,QAAQ,QAAQ,aAAa;AAChE,kBAAUA,gBAAe;AAAA,MAC3B,CAAC;AACD,YAAM,kBAAkB,MAAM,KAAK,QAAQ,QAAQ,aAAa;AAChE,gBAAU,eAAe;AACzB,gBAAU,eAAe;AACzB,aAAO;AAAA,IACT;AACA,YAAQ,IAAI,iBAAiB;AAC7B,WAAO;AAAA,EACT,GAAG,CAAC,MAAM,MAAM,CAAC;AACjB,SAAO,CAAC,QAAQ,aAAa,KAAK;AACpC;;;ALtBM;AALC,IAAM,qBAAwD,CAAC,EAAE,MAAM,GAAG,MAAM,MAAM;AAC3F,QAAM,CAAC,aAAa,KAAK,IAAI,mBAAmB,QAAW,EAAE,KAAK,CAAC;AAEnE,SACE,4CAAC,gCAAS,GAAG,OACX,sDAAC,UAAK,OAAO,QAAQ,QAAQ,QAAY,kBAAQ,MAAM,UAAU,KAAK,UAAU,aAAa,MAAM,CAAC,GAAE,GACxG;AAEJ;","names":["import_react","import_react_promise","import_react","module","moduleInstances"]}
@@ -1,83 +0,0 @@
1
- // src/components/NodeModulesBox.tsx
2
- import { FlexCol } from "@xylabs/react-flexbox";
3
-
4
- // src/hooks/provided/useProvidedNode.tsx
5
- import { NodeContext } from "@xyo-network/react-node-context";
6
- import { useContext } from "react";
7
- var useProvidedNode = () => {
8
- const { node } = useContext(NodeContext);
9
- return [node];
10
- };
11
-
12
- // src/hooks/useModuleFilterOptions.ts
13
- var useModuleFilterOptions = (config) => {
14
- const { direction, identity, maxDepth, visibility } = config ?? {};
15
- return { direction, identity, maxDepth, visibility };
16
- };
17
-
18
- // src/hooks/useNode.ts
19
- import { usePromise } from "@xylabs/react-promise";
20
- import { asNodeInstance } from "@xyo-network/node-model";
21
-
22
- // src/hooks/useNodeConfigNodeField.ts
23
- import { useMemo } from "react";
24
- var useNodeConfigNodeField = (config) => {
25
- const nodeAddress = useMemo(() => typeof config?.node === "string" ? config?.node : void 0, [config?.node]);
26
- const nodeInstance = useMemo(() => typeof config?.node === "object" ? config?.node : void 0, [config?.node]);
27
- return [nodeAddress, nodeInstance];
28
- };
29
-
30
- // src/hooks/useNode.ts
31
- var useNode = (config) => {
32
- const [nodeAddress, nodeInstance] = useNodeConfigNodeField(config);
33
- const [providedNode] = useProvidedNode();
34
- const [nodeAddressNode, error] = usePromise(async () => {
35
- if (providedNode && nodeAddress) {
36
- return asNodeInstance(await providedNode.resolve(nodeAddress), "Module is not a node");
37
- }
38
- }, [providedNode, nodeAddress]);
39
- return [nodeAddressNode ?? nodeInstance ?? providedNode ?? void 0, error];
40
- };
41
-
42
- // src/hooks/useModulesFromNode.ts
43
- import { usePromise as usePromise2 } from "@xylabs/react-promise";
44
- import { useState } from "react";
45
- var useModulesFromNode = (filter, config) => {
46
- const [node, nodeError] = useNode(config);
47
- const logger = config?.logger;
48
- const filterOptions = useModuleFilterOptions();
49
- const [result, setResult] = useState();
50
- const [, error] = usePromise2(async () => {
51
- logger?.debug("useModuleFromNode: resolving");
52
- if (node) {
53
- node.on("moduleAttached", async ({ module }) => {
54
- logger?.debug(`useModuleFromNode: moduleAttached [${module.config.name ?? module.address}]`);
55
- const moduleInstances2 = await node.resolve(filter, filterOptions);
56
- setResult(moduleInstances2);
57
- });
58
- node.on("moduleDetached", async ({ module }) => {
59
- logger?.debug(`useModuleFromNode: moduleDetached [${module.config.name ?? module.address}]`);
60
- const moduleInstances2 = await node.resolve(filter, filterOptions);
61
- setResult(moduleInstances2);
62
- });
63
- const moduleInstances = await node.resolve(filter, filterOptions);
64
- setResult(moduleInstances);
65
- setResult(moduleInstances);
66
- return moduleInstances;
67
- }
68
- console.log("Result: No Node");
69
- return void 0;
70
- }, [node, filter]);
71
- return [result, nodeError ?? error];
72
- };
73
-
74
- // src/components/NodeModulesBox.tsx
75
- import { jsx } from "react/jsx-runtime";
76
- var NodeDescriptionBox = ({ node, ...props }) => {
77
- const [description, error] = useModulesFromNode(void 0, { node });
78
- return /* @__PURE__ */ jsx(FlexCol, { ...props, children: /* @__PURE__ */ jsx("code", { color: error ? "red" : void 0, children: error ? error.message : JSON.stringify(description, null, 2) }) });
79
- };
80
- export {
81
- NodeDescriptionBox
82
- };
83
- //# sourceMappingURL=NodeModulesBox.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/NodeModulesBox.tsx","../../../src/hooks/provided/useProvidedNode.tsx","../../../src/hooks/useModuleFilterOptions.ts","../../../src/hooks/useNode.ts","../../../src/hooks/useNodeConfigNodeField.ts","../../../src/hooks/useModulesFromNode.ts"],"sourcesContent":["import { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { NodeInstance } from '@xyo-network/node-model'\n\nimport { useModulesFromNode } from '../hooks'\n\nexport interface NodeDescriptionBoxProps extends FlexBoxProps {\n node?: string | NodeInstance\n}\n\nexport const NodeDescriptionBox: React.FC<NodeDescriptionBoxProps> = ({ node, ...props }) => {\n const [description, error] = useModulesFromNode(undefined, { node })\n\n return (\n <FlexCol {...props}>\n <code color={error ? 'red' : undefined}>{error ? error.message : JSON.stringify(description, null, 2)}</code>\n </FlexCol>\n )\n}\n","import { NodeInstance } from '@xyo-network/node-model'\nimport { NodeContext } from '@xyo-network/react-node-context'\nimport { useContext } from 'react'\n\nexport const useProvidedNode = (): [NodeInstance | null | undefined] => {\n const { node } = useContext(NodeContext)\n return [node]\n}\n","import { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\n\nexport const useModuleFilterOptions = (config?: ModuleFromNodeConfig) => {\n const { direction, identity, maxDepth, visibility } = config ?? {}\n return { direction, identity, maxDepth, visibility }\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { asNodeInstance, NodeInstance } from '@xyo-network/node-model'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useProvidedNode } from './provided'\nimport { useNodeConfigNodeField } from './useNodeConfigNodeField'\n\nexport const useNode = (config?: ModuleFromNodeConfig | undefined): [NodeInstance | undefined, Error | undefined] => {\n const [nodeAddress, nodeInstance] = useNodeConfigNodeField(config)\n const [providedNode] = useProvidedNode()\n const [nodeAddressNode, error] = usePromise(async () => {\n if (providedNode && nodeAddress) {\n return asNodeInstance(await providedNode.resolve(nodeAddress), 'Module is not a node')\n }\n }, [providedNode, nodeAddress])\n return [nodeAddressNode ?? nodeInstance ?? providedNode ?? undefined, error]\n}\n","import { NodeInstance } from '@xyo-network/node-model'\nimport { useMemo } from 'react'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\n\nexport const useNodeConfigNodeField = (config?: ModuleFromNodeConfig | undefined): [string | undefined, NodeInstance | undefined] => {\n const nodeAddress = useMemo(() => (typeof config?.node === 'string' ? config?.node : undefined), [config?.node])\n const nodeInstance = useMemo(() => (typeof config?.node === 'object' ? config?.node : undefined), [config?.node])\n return [nodeAddress, nodeInstance]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { ModuleFilter } from '@xyo-network/module'\nimport { ModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useModuleFilterOptions } from './useModuleFilterOptions'\nimport { useNode } from './useNode'\n\nexport const useModulesFromNode = (filter?: ModuleFilter, config?: ModuleFromNodeConfig): [ModuleInstance[] | undefined, Error | undefined] => {\n const [node, nodeError] = useNode(config)\n const logger = config?.logger\n const filterOptions = useModuleFilterOptions()\n const [result, setResult] = useState<ModuleInstance[] | undefined>()\n const [, error] = usePromise(async () => {\n logger?.debug('useModuleFromNode: resolving')\n if (node) {\n node.on('moduleAttached', async ({ module }) => {\n logger?.debug(`useModuleFromNode: moduleAttached [${module.config.name ?? module.address}]`)\n const moduleInstances = await node.resolve(filter, filterOptions)\n setResult(moduleInstances)\n })\n node.on('moduleDetached', async ({ module }) => {\n logger?.debug(`useModuleFromNode: moduleDetached [${module.config.name ?? module.address}]`)\n const moduleInstances = await node.resolve(filter, filterOptions)\n setResult(moduleInstances)\n })\n const moduleInstances = await node.resolve(filter, filterOptions)\n setResult(moduleInstances)\n setResult(moduleInstances)\n return moduleInstances\n }\n console.log('Result: No Node')\n return undefined\n }, [node, filter])\n return [result, nodeError ?? error]\n}\n"],"mappings":";AAAA,SAAuB,eAAe;;;ACCtC,SAAS,mBAAmB;AAC5B,SAAS,kBAAkB;AAEpB,IAAM,kBAAkB,MAAyC;AACtE,QAAM,EAAE,KAAK,IAAI,WAAW,WAAW;AACvC,SAAO,CAAC,IAAI;AACd;;;ACLO,IAAM,yBAAyB,CAAC,WAAkC;AACvE,QAAM,EAAE,WAAW,UAAU,UAAU,WAAW,IAAI,UAAU,CAAC;AACjE,SAAO,EAAE,WAAW,UAAU,UAAU,WAAW;AACrD;;;ACLA,SAAS,kBAAkB;AAC3B,SAAS,sBAAoC;;;ACA7C,SAAS,eAAe;AAIjB,IAAM,yBAAyB,CAAC,WAA8F;AACnI,QAAM,cAAc,QAAQ,MAAO,OAAO,QAAQ,SAAS,WAAW,QAAQ,OAAO,QAAY,CAAC,QAAQ,IAAI,CAAC;AAC/G,QAAM,eAAe,QAAQ,MAAO,OAAO,QAAQ,SAAS,WAAW,QAAQ,OAAO,QAAY,CAAC,QAAQ,IAAI,CAAC;AAChH,SAAO,CAAC,aAAa,YAAY;AACnC;;;ADFO,IAAM,UAAU,CAAC,WAA6F;AACnH,QAAM,CAAC,aAAa,YAAY,IAAI,uBAAuB,MAAM;AACjE,QAAM,CAAC,YAAY,IAAI,gBAAgB;AACvC,QAAM,CAAC,iBAAiB,KAAK,IAAI,WAAW,YAAY;AACtD,QAAI,gBAAgB,aAAa;AAC/B,aAAO,eAAe,MAAM,aAAa,QAAQ,WAAW,GAAG,sBAAsB;AAAA,IACvF;AAAA,EACF,GAAG,CAAC,cAAc,WAAW,CAAC;AAC9B,SAAO,CAAC,mBAAmB,gBAAgB,gBAAgB,QAAW,KAAK;AAC7E;;;AEhBA,SAAS,cAAAA,mBAAkB;AAG3B,SAAS,gBAAgB;AAMlB,IAAM,qBAAqB,CAAC,QAAuB,WAAqF;AAC7I,QAAM,CAAC,MAAM,SAAS,IAAI,QAAQ,MAAM;AACxC,QAAM,SAAS,QAAQ;AACvB,QAAM,gBAAgB,uBAAuB;AAC7C,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAuC;AACnE,QAAM,CAAC,EAAE,KAAK,IAAIC,YAAW,YAAY;AACvC,YAAQ,MAAM,8BAA8B;AAC5C,QAAI,MAAM;AACR,WAAK,GAAG,kBAAkB,OAAO,EAAE,OAAO,MAAM;AAC9C,gBAAQ,MAAM,sCAAsC,OAAO,OAAO,QAAQ,OAAO,OAAO,GAAG;AAC3F,cAAMC,mBAAkB,MAAM,KAAK,QAAQ,QAAQ,aAAa;AAChE,kBAAUA,gBAAe;AAAA,MAC3B,CAAC;AACD,WAAK,GAAG,kBAAkB,OAAO,EAAE,OAAO,MAAM;AAC9C,gBAAQ,MAAM,sCAAsC,OAAO,OAAO,QAAQ,OAAO,OAAO,GAAG;AAC3F,cAAMA,mBAAkB,MAAM,KAAK,QAAQ,QAAQ,aAAa;AAChE,kBAAUA,gBAAe;AAAA,MAC3B,CAAC;AACD,YAAM,kBAAkB,MAAM,KAAK,QAAQ,QAAQ,aAAa;AAChE,gBAAU,eAAe;AACzB,gBAAU,eAAe;AACzB,aAAO;AAAA,IACT;AACA,YAAQ,IAAI,iBAAiB;AAC7B,WAAO;AAAA,EACT,GAAG,CAAC,MAAM,MAAM,CAAC;AACjB,SAAO,CAAC,QAAQ,aAAa,KAAK;AACpC;;;ALtBM;AALC,IAAM,qBAAwD,CAAC,EAAE,MAAM,GAAG,MAAM,MAAM;AAC3F,QAAM,CAAC,aAAa,KAAK,IAAI,mBAAmB,QAAW,EAAE,KAAK,CAAC;AAEnE,SACE,oBAAC,WAAS,GAAG,OACX,8BAAC,UAAK,OAAO,QAAQ,QAAQ,QAAY,kBAAQ,MAAM,UAAU,KAAK,UAAU,aAAa,MAAM,CAAC,GAAE,GACxG;AAEJ;","names":["usePromise","usePromise","moduleInstances"]}
@@ -1,39 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/components/TestModule.ts
21
- var TestModule_exports = {};
22
- __export(TestModule_exports, {
23
- TestModule: () => TestModule,
24
- TestModuleConfigSchema: () => TestModuleConfigSchema,
25
- init: () => init
26
- });
27
- module.exports = __toCommonJS(TestModule_exports);
28
- var import_module = require("@xyo-network/module");
29
- var TestModuleConfigSchema = "network.xyo.test.module";
30
- var TestModule = class extends import_module.AbstractModuleInstance {
31
- static configSchemas = [TestModuleConfigSchema];
32
- get _queryAccountPaths() {
33
- return {};
34
- }
35
- };
36
- var init = async () => {
37
- await TestModule.create({ config: { name: "TestModule", schema: TestModuleConfigSchema } });
38
- };
39
- //# sourceMappingURL=TestModule.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/TestModule.ts"],"sourcesContent":["import { AbstractModuleInstance, ModuleConfig, ModuleParams } from '@xyo-network/module'\nimport { Query } from '@xyo-network/payload-model'\n\nexport type TestModuleConfigSchema = 'network.xyo.test.module'\nexport const TestModuleConfigSchema: TestModuleConfigSchema = 'network.xyo.test.module'\n\nexport class TestModule extends AbstractModuleInstance<ModuleParams<ModuleConfig<{ schema: TestModuleConfigSchema }>>> {\n static override readonly configSchemas: string[] = [TestModuleConfigSchema]\n get _queryAccountPaths(): Record<Query['schema'], string> {\n return {}\n }\n}\n\nexport const init = async () => {\n await TestModule.create({ config: { name: 'TestModule', schema: TestModuleConfigSchema } })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAmE;AAI5D,IAAM,yBAAiD;AAEvD,IAAM,aAAN,cAAyB,qCAAuF;AAAA,EACrH,OAAyB,gBAA0B,CAAC,sBAAsB;AAAA,EAC1E,IAAI,qBAAsD;AACxD,WAAO,CAAC;AAAA,EACV;AACF;AAEO,IAAM,OAAO,YAAY;AAC9B,QAAM,WAAW,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,QAAQ,uBAAuB,EAAE,CAAC;AAC5F;","names":[]}
@@ -1,18 +0,0 @@
1
- // src/components/TestModule.ts
2
- import { AbstractModuleInstance } from "@xyo-network/module";
3
- var TestModuleConfigSchema = "network.xyo.test.module";
4
- var TestModule = class extends AbstractModuleInstance {
5
- static configSchemas = [TestModuleConfigSchema];
6
- get _queryAccountPaths() {
7
- return {};
8
- }
9
- };
10
- var init = async () => {
11
- await TestModule.create({ config: { name: "TestModule", schema: TestModuleConfigSchema } });
12
- };
13
- export {
14
- TestModule,
15
- TestModuleConfigSchema,
16
- init
17
- };
18
- //# sourceMappingURL=TestModule.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/TestModule.ts"],"sourcesContent":["import { AbstractModuleInstance, ModuleConfig, ModuleParams } from '@xyo-network/module'\nimport { Query } from '@xyo-network/payload-model'\n\nexport type TestModuleConfigSchema = 'network.xyo.test.module'\nexport const TestModuleConfigSchema: TestModuleConfigSchema = 'network.xyo.test.module'\n\nexport class TestModule extends AbstractModuleInstance<ModuleParams<ModuleConfig<{ schema: TestModuleConfigSchema }>>> {\n static override readonly configSchemas: string[] = [TestModuleConfigSchema]\n get _queryAccountPaths(): Record<Query['schema'], string> {\n return {}\n }\n}\n\nexport const init = async () => {\n await TestModule.create({ config: { name: 'TestModule', schema: TestModuleConfigSchema } })\n}\n"],"mappings":";AAAA,SAAS,8BAA0D;AAI5D,IAAM,yBAAiD;AAEvD,IAAM,aAAN,cAAyB,uBAAuF;AAAA,EACrH,OAAyB,gBAA0B,CAAC,sBAAsB;AAAA,EAC1E,IAAI,qBAAsD;AACxD,WAAO,CAAC;AAAA,EACV;AACF;AAEO,IAAM,OAAO,YAAY;AAC9B,QAAM,WAAW,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,QAAQ,uBAAuB,EAAE,CAAC;AAC5F;","names":[]}
@@ -1,173 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/components/index.ts
21
- var components_exports = {};
22
- __export(components_exports, {
23
- NodeBox: () => NodeBox,
24
- NodeDrawer: () => NodeDrawer
25
- });
26
- module.exports = __toCommonJS(components_exports);
27
-
28
- // src/components/NodeDescriptionBox.tsx
29
- var import_react_flexbox = require("@xylabs/react-flexbox");
30
-
31
- // src/hooks/provided/useProvidedNode.tsx
32
- var import_react_node_context = require("@xyo-network/react-node-context");
33
- var import_react = require("react");
34
- var useProvidedNode = () => {
35
- const { node } = (0, import_react.useContext)(import_react_node_context.NodeContext);
36
- return [node];
37
- };
38
-
39
- // src/hooks/useNode.ts
40
- var import_react_promise = require("@xylabs/react-promise");
41
- var import_node_model = require("@xyo-network/node-model");
42
-
43
- // src/hooks/useNodeConfigNodeField.ts
44
- var import_react2 = require("react");
45
- var useNodeConfigNodeField = (config) => {
46
- const nodeAddress = (0, import_react2.useMemo)(() => typeof config?.node === "string" ? config?.node : void 0, [config?.node]);
47
- const nodeInstance = (0, import_react2.useMemo)(() => typeof config?.node === "object" ? config?.node : void 0, [config?.node]);
48
- return [nodeAddress, nodeInstance];
49
- };
50
-
51
- // src/hooks/useNode.ts
52
- var useNode = (config) => {
53
- const [nodeAddress, nodeInstance] = useNodeConfigNodeField(config);
54
- const [providedNode] = useProvidedNode();
55
- const [nodeAddressNode, error] = (0, import_react_promise.usePromise)(async () => {
56
- if (providedNode && nodeAddress) {
57
- return (0, import_node_model.asNodeInstance)(await providedNode.resolve(nodeAddress), "Module is not a node");
58
- }
59
- }, [providedNode, nodeAddress]);
60
- return [nodeAddressNode ?? nodeInstance ?? providedNode ?? void 0, error];
61
- };
62
-
63
- // src/hooks/useNodeDescription.ts
64
- var import_react_promise2 = require("@xylabs/react-promise");
65
- var useNodeDescription = (config) => {
66
- const [activeNode, nodeError] = useNode(config);
67
- const [description, error] = (0, import_react_promise2.usePromise)(async () => {
68
- return await activeNode?.describe();
69
- }, [activeNode]);
70
- return [description, nodeError ?? error];
71
- };
72
-
73
- // src/components/NodeDescriptionBox.tsx
74
- var import_jsx_runtime = require("react/jsx-runtime");
75
- var NodeDescriptionBox = ({ node, ...props }) => {
76
- const [description, error] = useNodeDescription({ node });
77
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_flexbox.FlexCol, { ...props, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("code", { color: error ? "red" : void 0, children: error ? error.message : JSON.stringify(description, null, 2) }) });
78
- };
79
-
80
- // src/components/Node.tsx
81
- var import_jsx_runtime2 = require("react/jsx-runtime");
82
- var NodeBox = ({ variant, ...props }) => {
83
- switch (variant) {
84
- case "description":
85
- default:
86
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(NodeDescriptionBox, { ...props });
87
- }
88
- };
89
-
90
- // src/components/NodeDrawer.tsx
91
- var import_icons_material2 = require("@mui/icons-material");
92
- var import_material3 = require("@mui/material");
93
- var import_react_flexbox2 = require("@xylabs/react-flexbox");
94
- var import_react_node_provider = require("@xyo-network/react-node-provider");
95
-
96
- // src/components/render/ModuleDescriptionBox.tsx
97
- var import_icons_material = require("@mui/icons-material");
98
- var import_material2 = require("@mui/material");
99
- var import_x_tree_view2 = require("@mui/x-tree-view");
100
- var import_react4 = require("react");
101
-
102
- // src/components/render/RenderModule.tsx
103
- var import_material = require("@mui/material");
104
- var import_x_tree_view = require("@mui/x-tree-view");
105
- var import_react_async_effect = require("@xylabs/react-async-effect");
106
- var import_react3 = require("react");
107
- var import_jsx_runtime3 = require("react/jsx-runtime");
108
- var RenderModule = ({ module: module2, idRef }) => {
109
- const { address, queries } = module2 ?? {};
110
- const [childModules, setChildModules] = (0, import_react3.useState)();
111
- (0, import_react_async_effect.useAsyncEffect)(
112
- // eslint-disable-next-line react-hooks/exhaustive-deps
113
- async (mounted) => {
114
- const children = (await module2.resolve()).filter((childModule) => childModule.address !== address);
115
- if (mounted()) {
116
- setChildModules(children);
117
- }
118
- },
119
- [module2, address]
120
- );
121
- const increment = () => {
122
- const newId = (idRef.current.idIncrementor++).toString();
123
- idRef.current.ids.push(newId);
124
- return newId;
125
- };
126
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(StyledAddressTreeItem, { nodeId: increment(), label: `address: ${address}`, children: [
127
- queries.map((query, index) => {
128
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_x_tree_view.TreeItem, { nodeId: increment(), label: `query : ${query}`, sx: { mb: index === queries.length - 1 ? 1.5 : 0.5 } }, query);
129
- }),
130
- childModules && childModules.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_x_tree_view.TreeItem, { nodeId: increment(), label: "children", sx: { mb: 0.5 }, children: childModules.map((childModule) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(RenderModule, { module: childModule, idRef }, childModule.address)) }) : null
131
- ] });
132
- };
133
- var StyledAddressTreeItem = (0, import_material.styled)(import_x_tree_view.TreeItem, { name: "StyledAddressTreeItem" })(({ theme }) => ({
134
- "& .MuiTreeItem-content": {
135
- marginBottom: theme.spacing(0.25)
136
- }
137
- }));
138
-
139
- // src/components/render/ModuleDescriptionBox.tsx
140
- var import_jsx_runtime4 = require("react/jsx-runtime");
141
- var ModuleDescriptionBox = ({ module: module2 }) => {
142
- const idRef = (0, import_react4.useRef)({ idIncrementor: 0, ids: [] });
143
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: module2 ? /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
144
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_material2.Typography, { variant: "h4", children: "Node Configuration" }),
145
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
146
- StyledTreeView,
147
- {
148
- "aria-label": "file system navigator",
149
- defaultCollapseIcon: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_icons_material.ExpandMore, {}),
150
- defaultExpandIcon: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_icons_material.ChevronRight, {}),
151
- sx: { flexGrow: 1 },
152
- children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(RenderModule, { module: module2, idRef })
153
- }
154
- )
155
- ] }) : module2 === null ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_material2.Typography, { variant: "h4", children: "Node loading..." }) : /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_material2.Typography, { variant: "h4", children: "Node not found" }) });
156
- };
157
- var StyledTreeView = (0, import_material2.styled)(import_x_tree_view2.TreeView, { name: "StyledTreeView" })(() => ({
158
- height: "auto",
159
- maxWidth: "auto"
160
- }));
161
-
162
- // src/components/NodeDrawer.tsx
163
- var import_jsx_runtime5 = require("react/jsx-runtime");
164
- var NodeDrawer = ({ children, ...props }) => {
165
- const { open, setOpen } = (0, import_react_node_provider.useNodeDrawer)();
166
- const [node] = useProvidedNode();
167
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_material3.Drawer, { open: open ?? false, anchor: "right", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_material3.ClickAwayListener, { onClickAway: () => setOpen?.(false), children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_react_flexbox2.FlexGrowCol, { role: "presentation", justifyContent: "start", p: 2, rowGap: 2, minWidth: "33vw", children: [
168
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react_flexbox2.FlexRow, { alignContent: "start", justifyContent: "start", width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_material3.IconButton, { onClick: () => setOpen?.(false), children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_icons_material2.Close, {}) }) }),
169
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(ModuleDescriptionBox, { module: node }),
170
- children
171
- ] }) }) });
172
- };
173
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/index.ts","../../../src/components/NodeDescriptionBox.tsx","../../../src/hooks/provided/useProvidedNode.tsx","../../../src/hooks/useNode.ts","../../../src/hooks/useNodeConfigNodeField.ts","../../../src/hooks/useNodeDescription.ts","../../../src/components/Node.tsx","../../../src/components/NodeDrawer.tsx","../../../src/components/render/ModuleDescriptionBox.tsx","../../../src/components/render/RenderModule.tsx"],"sourcesContent":["export * from './Node'\nexport * from './NodeDrawer'\n","import { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { NodeInstance } from '@xyo-network/node-model'\n\nimport { useNodeDescription } from '../hooks'\n\nexport interface NodeDescriptionBoxProps extends FlexBoxProps {\n node?: string | NodeInstance\n}\n\nexport const NodeDescriptionBox: React.FC<NodeDescriptionBoxProps> = ({ node, ...props }) => {\n const [description, error] = useNodeDescription({ node })\n\n return (\n <FlexCol {...props}>\n <code color={error ? 'red' : undefined}>{error ? error.message : JSON.stringify(description, null, 2)}</code>\n </FlexCol>\n )\n}\n","import { NodeInstance } from '@xyo-network/node-model'\nimport { NodeContext } from '@xyo-network/react-node-context'\nimport { useContext } from 'react'\n\nexport const useProvidedNode = (): [NodeInstance | null | undefined] => {\n const { node } = useContext(NodeContext)\n return [node]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { asNodeInstance, NodeInstance } from '@xyo-network/node-model'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useProvidedNode } from './provided'\nimport { useNodeConfigNodeField } from './useNodeConfigNodeField'\n\nexport const useNode = (config?: ModuleFromNodeConfig | undefined): [NodeInstance | undefined, Error | undefined] => {\n const [nodeAddress, nodeInstance] = useNodeConfigNodeField(config)\n const [providedNode] = useProvidedNode()\n const [nodeAddressNode, error] = usePromise(async () => {\n if (providedNode && nodeAddress) {\n return asNodeInstance(await providedNode.resolve(nodeAddress), 'Module is not a node')\n }\n }, [providedNode, nodeAddress])\n return [nodeAddressNode ?? nodeInstance ?? providedNode ?? undefined, error]\n}\n","import { NodeInstance } from '@xyo-network/node-model'\nimport { useMemo } from 'react'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\n\nexport const useNodeConfigNodeField = (config?: ModuleFromNodeConfig | undefined): [string | undefined, NodeInstance | undefined] => {\n const nodeAddress = useMemo(() => (typeof config?.node === 'string' ? config?.node : undefined), [config?.node])\n const nodeInstance = useMemo(() => (typeof config?.node === 'object' ? config?.node : undefined), [config?.node])\n return [nodeAddress, nodeInstance]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { ModuleDescription } from '@xyo-network/module-model'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useNode } from './useNode'\n\nexport const useNodeDescription = (config?: ModuleFromNodeConfig | undefined): [ModuleDescription | undefined, Error | undefined] => {\n const [activeNode, nodeError] = useNode(config)\n const [description, error] = usePromise(async () => {\n return await activeNode?.describe()\n }, [activeNode])\n return [description, nodeError ?? error]\n}\n","import { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { NodeInstance } from '@xyo-network/node-model'\n\nimport { NodeDescriptionBox } from './NodeDescriptionBox'\n\nexport interface NodeBoxProps extends FlexBoxProps {\n node?: string | NodeInstance\n variant?: 'description'\n}\n\nexport const NodeBox: React.FC<NodeBoxProps> = ({ variant, ...props }) => {\n switch (variant) {\n case 'description':\n default:\n return <NodeDescriptionBox {...props} />\n }\n}\n","import { Close as CloseIcon } from '@mui/icons-material'\nimport { ClickAwayListener, Drawer, DrawerProps, IconButton } from '@mui/material'\nimport { FlexGrowCol, FlexRow } from '@xylabs/react-flexbox'\nimport type { WithChildren } from '@xylabs/react-shared'\nimport { useNodeDrawer } from '@xyo-network/react-node-provider'\n\nimport { useProvidedNode } from '../hooks'\nimport { ModuleDescriptionBox } from './render'\n\nexport interface NodeDrawerProps extends WithChildren, Omit<DrawerProps, 'open'> {}\n\nexport const NodeDrawer: React.FC<NodeDrawerProps> = ({ children, ...props }) => {\n const { open, setOpen } = useNodeDrawer()\n const [node] = useProvidedNode()\n\n return (\n <Drawer open={open ?? false} anchor=\"right\" {...props}>\n <ClickAwayListener onClickAway={() => setOpen?.(false)}>\n <FlexGrowCol role=\"presentation\" justifyContent=\"start\" p={2} rowGap={2} minWidth=\"33vw\">\n <FlexRow alignContent=\"start\" justifyContent=\"start\" width=\"100%\">\n <IconButton onClick={() => setOpen?.(false)}>\n <CloseIcon />\n </IconButton>\n </FlexRow>\n <ModuleDescriptionBox module={node} />\n {children}\n </FlexGrowCol>\n </ClickAwayListener>\n </Drawer>\n )\n}\n","import { ChevronRight as ChevronRightIcon, ExpandMore as ExpandMoreIcon } from '@mui/icons-material'\nimport { styled, Typography } from '@mui/material'\nimport { TreeView } from '@mui/x-tree-view'\nimport { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { ModuleInstance } from '@xyo-network/module'\nimport { useRef } from 'react'\n\nimport { RenderModule } from './RenderModule'\n\nexport interface ModuleDescriptionProps extends FlexBoxProps {\n module?: ModuleInstance | null\n}\nexport const ModuleDescriptionBox: React.FC<ModuleDescriptionProps> = ({ module }) => {\n const idRef = useRef<{ idIncrementor: number; ids: string[] }>({ idIncrementor: 0, ids: [] })\n\n return (\n <>\n {module ? (\n <>\n <Typography variant=\"h4\">Node Configuration</Typography>\n <StyledTreeView\n aria-label=\"file system navigator\"\n defaultCollapseIcon={<ExpandMoreIcon />}\n defaultExpandIcon={<ChevronRightIcon />}\n sx={{ flexGrow: 1 }}\n >\n <RenderModule module={module} idRef={idRef} />\n </StyledTreeView>\n </>\n ) : module === null ? (\n <Typography variant=\"h4\">Node loading...</Typography>\n ) : (\n <Typography variant=\"h4\">Node not found</Typography>\n )}\n </>\n )\n}\n\nconst StyledTreeView = styled(TreeView, { name: 'StyledTreeView' })(() => ({\n height: 'auto',\n maxWidth: 'auto',\n}))\n","import { styled } from '@mui/material'\nimport { TreeItem } from '@mui/x-tree-view'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { ModuleInstance } from '@xyo-network/module'\nimport { MutableRefObject, useState } from 'react'\n\ninterface RenderModuleProps {\n idRef: MutableRefObject<{\n idIncrementor: number\n ids: string[]\n }>\n module: ModuleInstance\n}\n\nexport const RenderModule: React.FC<RenderModuleProps> = ({ module, idRef }) => {\n const { address, queries } = module ?? {}\n const [childModules, setChildModules] = useState<ModuleInstance[]>()\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n const children = (await module.resolve()).filter((childModule) => childModule.address !== address)\n if (mounted()) {\n setChildModules(children)\n }\n },\n [module, address],\n )\n\n const increment = () => {\n const newId = (idRef.current.idIncrementor++).toString()\n idRef.current.ids.push(newId)\n return newId\n }\n\n return (\n <StyledAddressTreeItem nodeId={increment()} label={`address: ${address}`}>\n {queries.map((query, index) => {\n return <TreeItem key={query} nodeId={increment()} label={`query : ${query}`} sx={{ mb: index === queries.length - 1 ? 1.5 : 0.5 }} />\n })}\n {childModules && childModules.length > 0 ? (\n <TreeItem nodeId={increment()} label={'children'} sx={{ mb: 0.5 }}>\n {childModules.map((childModule) => (\n <RenderModule key={childModule.address} module={childModule} idRef={idRef} />\n ))}\n </TreeItem>\n ) : null}\n </StyledAddressTreeItem>\n )\n}\n\nconst StyledAddressTreeItem = styled(TreeItem, { name: 'StyledAddressTreeItem' })(({ theme }) => ({\n '& .MuiTreeItem-content': {\n marginBottom: theme.spacing(0.25),\n },\n}))\n"],"mappings":"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","names":["import_react","import_react_promise","import_jsx_runtime","import_icons_material","import_material","import_react_flexbox","import_material","import_x_tree_view","import_react","import_react","import_jsx_runtime","module","import_jsx_runtime","module","ExpandMoreIcon","ChevronRightIcon","import_jsx_runtime","CloseIcon"]}