@xyo-network/react-node 7.0.0 → 7.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  import type { Meta } from '@storybook/react-vite';
2
2
  declare const _default: Meta;
3
3
  export default _default;
4
- declare const Default: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react-vite").ReactRenderer, {}>;
5
- declare const WithModules: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react-vite").ReactRenderer, {}>;
4
+ declare const Default: import(".store/storybook-virtual-997ab3c959/package/internal/csf").AnnotatedStoryFn<import("@storybook/react-vite").ReactRenderer, {}>;
5
+ declare const WithModules: import(".store/storybook-virtual-997ab3c959/package/internal/csf").AnnotatedStoryFn<import("@storybook/react-vite").ReactRenderer, {}>;
6
6
  export { Default, WithModules };
7
7
  //# sourceMappingURL=Node.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Node.stories.d.ts","sourceRoot":"","sources":["../../../src/components/Node.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACC,IAAI,EAChB,MAAM,uBAAuB,CAAA;wBA2BsB,IAAI;AAAxD,wBAAwD;AA8BxD,QAAA,MAAM,OAAO,sGAAoB,CAAA;AAGjC,QAAA,MAAM,WAAW,sGAAoB,CAAA;AAIrC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAA"}
1
+ {"version":3,"file":"Node.stories.d.ts","sourceRoot":"","sources":["../../../src/components/Node.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACC,IAAI,EAChB,MAAM,uBAAuB,CAAA;wBA2BsB,IAAI;AAAxD,wBAAwD;AA8BxD,QAAA,MAAM,OAAO,wIAAoB,CAAA;AAGjC,QAAA,MAAM,WAAW,wIAAoB,CAAA;AAIrC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import type { Meta } from '@storybook/react-vite';
2
2
  import { NodeDrawer } from './NodeDrawer.tsx';
3
3
  declare const StorybookEntry: Meta<typeof NodeDrawer>;
4
- declare const Default: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react-vite").ReactRenderer, import("./NodeDrawer.tsx").NodeDrawerProps>;
4
+ declare const Default: import(".store/storybook-virtual-997ab3c959/package/internal/csf").AnnotatedStoryFn<import("@storybook/react-vite").ReactRenderer, import("./NodeDrawer.tsx").NodeDrawerProps>;
5
5
  export { Default };
6
6
  export default StorybookEntry;
7
7
  //# sourceMappingURL=NodeDrawer.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeDrawer.stories.d.ts","sourceRoot":"","sources":["../../../src/components/NodeDrawer.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACC,IAAI,EAChB,MAAM,uBAAuB,CAAA;AAQ9B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAU7C,QAAA,MAAM,cAAc,EAIf,IAAI,CAAC,OAAO,UAAU,CAAC,CAAA;AAc5B,QAAA,MAAM,OAAO,8IAAoB,CAAA;AAGjC,OAAO,EAAE,OAAO,EAAE,CAAA;AAElB,eAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"NodeDrawer.stories.d.ts","sourceRoot":"","sources":["../../../src/components/NodeDrawer.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACC,IAAI,EAChB,MAAM,uBAAuB,CAAA;AAQ9B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAU7C,QAAA,MAAM,cAAc,EAIf,IAAI,CAAC,OAAO,UAAU,CAAC,CAAA;AAc5B,QAAA,MAAM,OAAO,gLAAoB,CAAA;AAGjC,OAAO,EAAE,OAAO,EAAE,CAAA;AAElB,eAAe,cAAc,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts';
2
2
  export declare const getModuleFilterOptions: (config?: ModuleFromNodeConfig) => {
3
3
  direction: import("@xyo-network/module-model").Direction | undefined;
4
- identity: import("@xylabs/object-model").TypeCheck<import("@xyo-network/module-model").ModuleInstance<import("@xyo-network/module-model").ModuleParams<import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/module-model").ModuleConfig>>, import("@xyo-network/module-model").ModuleEventData<object>>> | undefined;
4
+ identity: import("@xylabs/object").TypeCheck<import("@xyo-network/module-model").ModuleInstance<import("@xyo-network/module-model").ModuleParams<import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/module-model").ModuleConfig>>, import("@xyo-network/module-model").ModuleEventData<object>>> | undefined;
5
5
  maxDepth: number | undefined;
6
6
  };
7
7
  //# sourceMappingURL=getModuleFilterOptions.d.ts.map
@@ -1,7 +1,7 @@
1
1
  import type { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig.ts';
2
2
  export declare const getWeakModuleFilterOptions: (config?: WeakModuleFromNodeConfig) => {
3
3
  direction: import("@xyo-network/module-model").Direction | undefined;
4
- identity: import("@xylabs/object-model").TypeCheck<import("@xyo-network/module-model").ModuleInstance<import("@xyo-network/module-model").ModuleParams<import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/module-model").ModuleConfig>>, import("@xyo-network/module-model").ModuleEventData<object>>> | undefined;
4
+ identity: import("@xylabs/object").TypeCheck<import("@xyo-network/module-model").ModuleInstance<import("@xyo-network/module-model").ModuleParams<import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/module-model").ModuleConfig>>, import("@xyo-network/module-model").ModuleEventData<object>>> | undefined;
5
5
  maxDepth: number | undefined;
6
6
  };
7
7
  //# sourceMappingURL=getWeakModuleFilterOptions.d.ts.map
@@ -1,60 +1,55 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
-
4
- // src/components/Node.tsx
5
- import React2 from "react";
6
-
7
1
  // src/components/NodeDescriptionBox.tsx
8
2
  import { FlexCol } from "@xylabs/react-flexbox";
9
- import React from "react";
10
3
 
11
4
  // src/hooks/getModuleFilterOptions.ts
12
- var getModuleFilterOptions = /* @__PURE__ */ __name((config) => {
13
- const { direction, identity, maxDepth } = config ?? {};
5
+ var getModuleFilterOptions = (config) => {
6
+ const {
7
+ direction,
8
+ identity,
9
+ maxDepth
10
+ } = config ?? {};
14
11
  return {
15
12
  direction,
16
13
  identity,
17
14
  maxDepth
18
15
  };
19
- }, "getModuleFilterOptions");
16
+ };
20
17
 
21
18
  // src/hooks/getWeakModuleFilterOptions.ts
22
- var getWeakModuleFilterOptions = /* @__PURE__ */ __name((config) => {
23
- const { direction, identity, maxDepth } = config ?? {};
19
+ var getWeakModuleFilterOptions = (config) => {
20
+ const {
21
+ direction,
22
+ identity,
23
+ maxDepth
24
+ } = config ?? {};
24
25
  return {
25
26
  direction,
26
27
  identity,
27
28
  maxDepth
28
29
  };
29
- }, "getWeakModuleFilterOptions");
30
+ };
30
31
 
31
32
  // src/hooks/ModuleFromNodeConfig.ts
32
- var getModuleFromNodeConfigLogger = /* @__PURE__ */ __name((config) => {
33
+ var getModuleFromNodeConfigLogger = (config) => {
33
34
  return config?.logger;
34
- }, "getModuleFromNodeConfigLogger");
35
+ };
35
36
 
36
37
  // src/hooks/provided/useProvidedNode.tsx
37
38
  import { NodeContext } from "@xyo-network/react-node-context";
38
39
  import { use } from "react";
39
- var useProvidedNode = /* @__PURE__ */ __name(() => {
40
+ var useProvidedNode = () => {
40
41
  const { node } = use(NodeContext);
41
- return [
42
- node
43
- ];
44
- }, "useProvidedNode");
42
+ return [node];
43
+ };
45
44
 
46
45
  // src/hooks/provided/useWeakProvidedNode.tsx
47
46
  import { NodeContext as NodeContext2 } from "@xyo-network/react-node-context";
48
47
  import { use as use2, useMemo } from "react";
49
- var useWeakProvidedNode = /* @__PURE__ */ __name(() => {
48
+ var useWeakProvidedNode = () => {
50
49
  const { node } = use2(NodeContext2);
51
- const weakNode = useMemo(() => node ? new WeakRef(node) : null, [
52
- node
53
- ]);
54
- return [
55
- weakNode
56
- ];
57
- }, "useWeakProvidedNode");
50
+ const weakNode = useMemo(() => node ? new WeakRef(node) : null, [node]);
51
+ return [weakNode];
52
+ };
58
53
 
59
54
  // src/hooks/useModuleFromNode.ts
60
55
  import { usePromise as usePromise2 } from "@xylabs/react-promise";
@@ -67,39 +62,26 @@ import { asNodeInstance } from "@xyo-network/node-model";
67
62
 
68
63
  // src/hooks/useNodeConfigNodeField.ts
69
64
  import { useMemo as useMemo2 } from "react";
70
- var useNodeConfigNodeField = /* @__PURE__ */ __name((config) => {
71
- const nodeAddress = useMemo2(() => typeof config?.node === "string" ? config?.node : void 0, [
72
- config?.node
73
- ]);
74
- const nodeInstance = useMemo2(() => typeof config?.node === "object" ? config?.node : void 0, [
75
- config?.node
76
- ]);
77
- return [
78
- nodeAddress,
79
- nodeInstance
80
- ];
81
- }, "useNodeConfigNodeField");
65
+ var useNodeConfigNodeField = (config) => {
66
+ const nodeAddress = useMemo2(() => typeof config?.node === "string" ? config?.node : void 0, [config?.node]);
67
+ const nodeInstance = useMemo2(() => typeof config?.node === "object" ? config?.node : void 0, [config?.node]);
68
+ return [nodeAddress, nodeInstance];
69
+ };
82
70
 
83
71
  // src/hooks/useNode.ts
84
- var useNode = /* @__PURE__ */ __name((config) => {
72
+ var useNode = (config) => {
85
73
  const [nodeAddress, nodeInstance] = useNodeConfigNodeField(config);
86
74
  const [providedNode] = useProvidedNode();
87
75
  const [nodeAddressNode, error] = usePromise(async () => {
88
76
  if (providedNode && nodeAddress) {
89
77
  return asNodeInstance(await providedNode.resolve(nodeAddress), "Module is not a node");
90
78
  }
91
- }, [
92
- providedNode,
93
- nodeAddress
94
- ]);
95
- return [
96
- nodeAddressNode ?? nodeInstance ?? providedNode ?? void 0,
97
- error
98
- ];
99
- }, "useNode");
79
+ }, [providedNode, nodeAddress]);
80
+ return [nodeAddressNode ?? nodeInstance ?? providedNode ?? void 0, error];
81
+ };
100
82
 
101
83
  // src/hooks/useModuleFromNode.ts
102
- var useModuleFromNode = /* @__PURE__ */ __name((nameOrAddressOrInstance = void 0, config) => {
84
+ var useModuleFromNode = (nameOrAddressOrInstance = void 0, config) => {
103
85
  const [node, nodeError] = useNode(config);
104
86
  const logger = getModuleFromNodeConfigLogger(config);
105
87
  const filterOptions = getModuleFilterOptions(config);
@@ -130,21 +112,15 @@ var useModuleFromNode = /* @__PURE__ */ __name((nameOrAddressOrInstance = void 0
130
112
  return result;
131
113
  }
132
114
  logger?.debug("Result: No Node");
133
- }, [
134
- node,
135
- nameOrAddressOrInstance
136
- ]);
137
- return [
138
- result,
139
- nodeError ?? error
140
- ];
141
- }, "useModuleFromNode");
115
+ }, [node, nameOrAddressOrInstance]);
116
+ return [result, nodeError ?? error];
117
+ };
142
118
 
143
119
  // src/hooks/useModulesFromNode.ts
144
120
  import { exists } from "@xylabs/exists";
145
121
  import { usePromise as usePromise3 } from "@xylabs/react-promise";
146
122
  import { useState as useState2 } from "react";
147
- var useModulesFromNode = /* @__PURE__ */ __name((ids, config) => {
123
+ var useModulesFromNode = (ids, config) => {
148
124
  const [node, nodeError] = useNode(config);
149
125
  const logger = config?.logger;
150
126
  const filterOptions = getModuleFilterOptions();
@@ -152,11 +128,11 @@ var useModulesFromNode = /* @__PURE__ */ __name((ids, config) => {
152
128
  const [, error] = usePromise3(async () => {
153
129
  logger?.debug("useModuleFromNode: resolving");
154
130
  if (node) {
155
- const refreshModules = /* @__PURE__ */ __name(async () => {
131
+ const refreshModules = async () => {
156
132
  const moduleInstances = ids ? (await Promise.all(ids.map((id) => node.resolve(id, filterOptions)))).filter(exists) : await node.resolve("*", filterOptions);
157
133
  setResult(moduleInstances);
158
134
  return moduleInstances;
159
- }, "refreshModules");
135
+ };
160
136
  node.on("moduleAttached", async ({ mod }) => {
161
137
  logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`);
162
138
  await refreshModules();
@@ -168,62 +144,42 @@ var useModulesFromNode = /* @__PURE__ */ __name((ids, config) => {
168
144
  return await refreshModules();
169
145
  }
170
146
  console.log("Result: No Node");
171
- }, [
172
- node,
173
- ids
174
- ]);
175
- return [
176
- result,
177
- nodeError ?? error
178
- ];
179
- }, "useModulesFromNode");
147
+ }, [node, ids]);
148
+ return [result, nodeError ?? error];
149
+ };
180
150
 
181
151
  // src/hooks/useNodeDescription.ts
182
152
  import { usePromise as usePromise4 } from "@xylabs/react-promise";
183
153
  import { ModuleDescriptionSchema } from "@xyo-network/module-model";
184
154
  import { isPayloadOfSchemaType } from "@xyo-network/payload-model";
185
- var useNodeDescription = /* @__PURE__ */ __name((config) => {
155
+ var useNodeDescription = (config) => {
186
156
  const [activeNode, nodeError] = useNode(config);
187
157
  const [description, error] = usePromise4(async () => {
188
158
  const state = await activeNode?.state();
189
159
  return state?.find(isPayloadOfSchemaType(ModuleDescriptionSchema));
190
- }, [
191
- activeNode
192
- ]);
193
- return [
194
- description,
195
- nodeError ?? error
196
- ];
197
- }, "useNodeDescription");
160
+ }, [activeNode]);
161
+ return [description, nodeError ?? error];
162
+ };
198
163
 
199
164
  // src/hooks/useNodeFromNode.tsx
200
165
  import { asNodeInstance as asNodeInstance2 } from "@xyo-network/node-model";
201
- var useNodeFromNode = /* @__PURE__ */ __name((nameOrAddressOrInstance, config) => {
166
+ var useNodeFromNode = (nameOrAddressOrInstance, config) => {
202
167
  const [mod, error] = useModuleFromNode(nameOrAddressOrInstance, config);
203
168
  const instance = asNodeInstance2(mod);
204
169
  if (mod && !instance) {
205
170
  const error2 = new Error(`Resolved module is not a NodeInstance [${mod.config?.schema}:${mod.config?.name}:${mod.address}]`);
206
171
  console.error(error2.message);
207
- return [
208
- void 0,
209
- error2
210
- ];
172
+ return [void 0, error2];
211
173
  }
212
- return [
213
- instance,
214
- error
215
- ];
216
- }, "useNodeFromNode");
174
+ return [instance, error];
175
+ };
217
176
 
218
177
  // src/hooks/useNodesFromNode.tsx
219
178
  import { isNodeInstance } from "@xyo-network/node-model";
220
- var useNodesFromNode = /* @__PURE__ */ __name((ids, config) => {
179
+ var useNodesFromNode = (ids, config) => {
221
180
  const [modules, error] = useModulesFromNode(ids, config);
222
181
  if (error) {
223
- return [
224
- null,
225
- error
226
- ];
182
+ return [null, error];
227
183
  }
228
184
  return modules ? [
229
185
  // eslint-disable-next-line unicorn/no-array-reduce
@@ -234,11 +190,8 @@ var useNodesFromNode = /* @__PURE__ */ __name((ids, config) => {
234
190
  return prev;
235
191
  }, []),
236
192
  void 0
237
- ] : [
238
- modules,
239
- error
240
- ];
241
- }, "useNodesFromNode");
193
+ ] : [modules, error];
194
+ };
242
195
 
243
196
  // src/hooks/useWeakModuleFromNode.ts
244
197
  import { usePromise as usePromise6 } from "@xylabs/react-promise";
@@ -252,47 +205,32 @@ import { asNodeInstance as asNodeInstance3 } from "@xyo-network/node-model";
252
205
 
253
206
  // src/hooks/useWeakNodeConfigNodeField.ts
254
207
  import { useMemo as useMemo3 } from "react";
255
- var useWeakNodeConfigNodeField = /* @__PURE__ */ __name((config) => {
256
- const nodeAddress = useMemo3(() => typeof config?.node === "string" ? config?.node : void 0, [
257
- config?.node
258
- ]);
259
- const nodeInstance = useMemo3(() => typeof config?.node === "object" ? config?.node : void 0, [
260
- config?.node
261
- ]);
262
- return [
263
- nodeAddress,
264
- nodeInstance
265
- ];
266
- }, "useWeakNodeConfigNodeField");
208
+ var useWeakNodeConfigNodeField = (config) => {
209
+ const nodeAddress = useMemo3(() => typeof config?.node === "string" ? config?.node : void 0, [config?.node]);
210
+ const nodeInstance = useMemo3(() => typeof config?.node === "object" ? config?.node : void 0, [config?.node]);
211
+ return [nodeAddress, nodeInstance];
212
+ };
267
213
 
268
214
  // src/hooks/useWeakNode.ts
269
- var useWeakNode = /* @__PURE__ */ __name((config) => {
215
+ var useWeakNode = (config) => {
270
216
  const [nodeAddress, nodeInstance] = useWeakNodeConfigNodeField(config);
271
217
  const [providedNode] = useWeakProvidedNode();
272
218
  const [nodeAddressNode, error] = usePromise5(async () => {
273
219
  const providedNodeInstance = providedNode?.deref();
274
220
  if (providedNodeInstance && isDefined(nodeAddress)) {
275
- return new WeakRef(asNodeInstance3(await providedNodeInstance.resolve(nodeAddress), () => "Module is not a node", {
276
- required: true
277
- }));
221
+ return new WeakRef(asNodeInstance3(await providedNodeInstance.resolve(nodeAddress), () => "Module is not a node", { required: true }));
278
222
  }
279
- }, [
280
- providedNode,
281
- nodeAddress
282
- ]);
283
- return [
284
- nodeAddressNode ?? nodeInstance ?? providedNode ?? void 0,
285
- error
286
- ];
287
- }, "useWeakNode");
223
+ }, [providedNode, nodeAddress]);
224
+ return [nodeAddressNode ?? nodeInstance ?? providedNode ?? void 0, error];
225
+ };
288
226
 
289
227
  // src/hooks/WeakModuleFromNodeConfig.ts
290
- var getWeakModuleFromNodeConfigLogger = /* @__PURE__ */ __name((config) => {
228
+ var getWeakModuleFromNodeConfigLogger = (config) => {
291
229
  return config?.logger;
292
- }, "getWeakModuleFromNodeConfigLogger");
230
+ };
293
231
 
294
232
  // src/hooks/useWeakModuleFromNode.ts
295
- var useWeakModuleFromNode = /* @__PURE__ */ __name((nameOrAddressOrInstance = void 0, config) => {
233
+ var useWeakModuleFromNode = (nameOrAddressOrInstance = void 0, config) => {
296
234
  const [node, nodeError] = useWeakNode(config);
297
235
  const logger = getWeakModuleFromNodeConfigLogger(config);
298
236
  const filterOptions = getWeakModuleFilterOptions(config);
@@ -324,21 +262,15 @@ var useWeakModuleFromNode = /* @__PURE__ */ __name((nameOrAddressOrInstance = vo
324
262
  return result;
325
263
  }
326
264
  logger?.debug("Result: No Node");
327
- }, [
328
- node,
329
- nameOrAddressOrInstance
330
- ]);
331
- return [
332
- result,
333
- nodeError ?? error
334
- ];
335
- }, "useWeakModuleFromNode");
265
+ }, [node, nameOrAddressOrInstance]);
266
+ return [result, nodeError ?? error];
267
+ };
336
268
 
337
269
  // src/hooks/useWeakModulesFromNode.ts
338
270
  import { exists as exists2 } from "@xylabs/exists";
339
271
  import { usePromise as usePromise7 } from "@xylabs/react-promise";
340
272
  import { useState as useState4 } from "react";
341
- var useWeakModulesFromNode = /* @__PURE__ */ __name((ids, config) => {
273
+ var useWeakModulesFromNode = (ids, config) => {
342
274
  const [node, nodeError] = useNode(config);
343
275
  const logger = config?.logger;
344
276
  const filterOptions = getModuleFilterOptions();
@@ -347,11 +279,11 @@ var useWeakModulesFromNode = /* @__PURE__ */ __name((ids, config) => {
347
279
  logger?.debug("useModuleFromNode: resolving");
348
280
  const nodeInstance = node;
349
281
  if (nodeInstance) {
350
- const refreshModules = /* @__PURE__ */ __name(async () => {
282
+ const refreshModules = async () => {
351
283
  const moduleInstances = ids ? (await Promise.all(ids.map((id) => node.resolve(id, filterOptions)))).filter(exists2) : await node.resolve("*", filterOptions);
352
284
  setResult(moduleInstances.map((mod) => new WeakRef(mod)));
353
285
  return moduleInstances;
354
- }, "refreshModules");
286
+ };
355
287
  nodeInstance.on("moduleAttached", async ({ mod }) => {
356
288
  logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`);
357
289
  await refreshModules();
@@ -364,197 +296,137 @@ var useWeakModulesFromNode = /* @__PURE__ */ __name((ids, config) => {
364
296
  }
365
297
  console.log("Result: No Node");
366
298
  return;
367
- }, [
368
- node,
369
- ids
370
- ]);
371
- return [
372
- result,
373
- nodeError ?? error
374
- ];
375
- }, "useWeakModulesFromNode");
299
+ }, [node, ids]);
300
+ return [result, nodeError ?? error];
301
+ };
376
302
 
377
303
  // src/hooks/useWeakNodeDescription.ts
378
304
  import { usePromise as usePromise8 } from "@xylabs/react-promise";
379
305
  import { ModuleDescriptionSchema as ModuleDescriptionSchema2 } from "@xyo-network/module-model";
380
306
  import { isPayloadOfSchemaType as isPayloadOfSchemaType2 } from "@xyo-network/payload-model";
381
- var useWeakNodeDescription = /* @__PURE__ */ __name((config) => {
307
+ var useWeakNodeDescription = (config) => {
382
308
  const [activeNode, nodeError] = useWeakNode(config);
383
309
  const [description, error] = usePromise8(async () => {
384
310
  const state = await activeNode?.deref()?.state();
385
311
  return state?.find(isPayloadOfSchemaType2(ModuleDescriptionSchema2));
386
- }, [
387
- activeNode
388
- ]);
389
- return [
390
- description,
391
- nodeError ?? error
392
- ];
393
- }, "useWeakNodeDescription");
312
+ }, [activeNode]);
313
+ return [description, nodeError ?? error];
314
+ };
394
315
 
395
316
  // src/hooks/useWeakNodeFromNode.tsx
396
317
  import { isNodeInstance as isNodeInstance2 } from "@xyo-network/node-model";
397
- var useWeakNodeFromNode = /* @__PURE__ */ __name((nameOrAddressOrInstance, config) => {
398
- return useWeakModuleFromNode(nameOrAddressOrInstance, {
399
- identity: isNodeInstance2,
400
- ...config
401
- });
402
- }, "useWeakNodeFromNode");
318
+ var useWeakNodeFromNode = (nameOrAddressOrInstance, config) => {
319
+ return useWeakModuleFromNode(nameOrAddressOrInstance, { identity: isNodeInstance2, ...config });
320
+ };
403
321
 
404
322
  // src/components/NodeDescriptionBox.tsx
405
- var NodeDescriptionBox = /* @__PURE__ */ __name(({ node, ...props }) => {
406
- const [description, error] = useWeakNodeDescription({
407
- node
408
- });
409
- return /* @__PURE__ */ React.createElement(FlexCol, props, /* @__PURE__ */ React.createElement("code", {
410
- color: error ? "red" : void 0
411
- }, error ? error.message : JSON.stringify(description, null, 2)));
412
- }, "NodeDescriptionBox");
323
+ import { jsx } from "react/jsx-runtime";
324
+ var NodeDescriptionBox = ({ node, ...props }) => {
325
+ const [description, error] = useWeakNodeDescription({ node });
326
+ return /* @__PURE__ */ jsx(FlexCol, { ...props, children: /* @__PURE__ */ jsx("code", { color: error ? "red" : void 0, children: error ? error.message : JSON.stringify(description, null, 2) }) });
327
+ };
413
328
 
414
329
  // src/components/Node.tsx
415
- var NodeBox = /* @__PURE__ */ __name(({ variant, ...props }) => {
330
+ import { jsx as jsx2 } from "react/jsx-runtime";
331
+ var NodeBox = ({ variant, ...props }) => {
416
332
  switch (variant) {
417
333
  // eslint-disable-next-line unicorn/no-useless-switch-case
418
334
  case "description":
419
335
  default: {
420
- return /* @__PURE__ */ React2.createElement(NodeDescriptionBox, props);
336
+ return /* @__PURE__ */ jsx2(NodeDescriptionBox, { ...props });
421
337
  }
422
338
  }
423
- }, "NodeBox");
339
+ };
424
340
 
425
341
  // src/components/NodeDrawer.tsx
426
342
  import { Close as CloseIcon } from "@mui/icons-material";
427
- import { ClickAwayListener, Drawer, IconButton } from "@mui/material";
343
+ import {
344
+ ClickAwayListener,
345
+ Drawer,
346
+ IconButton
347
+ } from "@mui/material";
428
348
  import { FlexGrowCol, FlexRow } from "@xylabs/react-flexbox";
429
349
  import { useNodeDrawer } from "@xyo-network/react-node-provider";
430
- import React5 from "react";
431
350
 
432
351
  // src/components/render/ModuleDescriptionBox.tsx
433
352
  import { ChevronRight as ChevronRightIcon, ExpandMore as ExpandMoreIcon } from "@mui/icons-material";
434
353
  import { styled as styled2, Typography } from "@mui/material";
435
354
  import { SimpleTreeView } from "@mui/x-tree-view";
436
- import React4, { useRef } from "react";
355
+ import { useRef } from "react";
437
356
 
438
357
  // src/components/render/RenderModule.tsx
439
358
  import { styled } from "@mui/material";
440
359
  import { TreeItem } from "@mui/x-tree-view";
441
360
  import { useAsyncEffect } from "@xylabs/react-async-effect";
442
- import React3, { useState as useState5 } from "react";
443
- var RenderModule = /* @__PURE__ */ __name(({ mod, idRef }) => {
361
+ import { useState as useState5 } from "react";
362
+ import { jsx as jsx3, jsxs } from "react/jsx-runtime";
363
+ var RenderModule = ({ mod, idRef }) => {
444
364
  const [childModules, setChildModules] = useState5();
445
- useAsyncEffect(async (mounted) => {
446
- const moduleInstance2 = mod.deref();
447
- const { address: address2 } = moduleInstance2 ?? {};
448
- if (moduleInstance2) {
449
- const children = (await moduleInstance2.resolve("*")).filter((childModule) => childModule.address !== address2);
450
- if (mounted()) {
451
- setChildModules(children.map((childModule) => new WeakRef(childModule)));
365
+ useAsyncEffect(
366
+ async (mounted) => {
367
+ const moduleInstance2 = mod.deref();
368
+ const { address: address2 } = moduleInstance2 ?? {};
369
+ if (moduleInstance2) {
370
+ const children = (await moduleInstance2.resolve("*")).filter((childModule) => childModule.address !== address2);
371
+ if (mounted()) {
372
+ setChildModules(children.map((childModule) => new WeakRef(childModule)));
373
+ }
452
374
  }
453
- }
454
- }, [
455
- mod
456
- ]);
457
- const increment = /* @__PURE__ */ __name(() => {
375
+ },
376
+ [mod]
377
+ );
378
+ const increment = () => {
458
379
  const newId = (idRef.current.idIncrementor++).toString();
459
380
  idRef.current.ids.push(newId);
460
381
  return newId;
461
- }, "increment");
382
+ };
462
383
  const moduleInstance = mod.deref();
463
384
  const { queries, address } = moduleInstance ?? {};
464
- return /* @__PURE__ */ React3.createElement(StyledAddressTreeItem, {
465
- itemId: increment(),
466
- label: `address: ${address}`
467
- }, queries?.map((query, index) => {
468
- return /* @__PURE__ */ React3.createElement(TreeItem, {
469
- key: query,
470
- itemId: increment(),
471
- label: `query : ${query}`,
472
- sx: {
473
- mb: index === queries.length - 1 ? 1.5 : 0.5
474
- }
475
- });
476
- }), childModules && childModules.length > 0 ? /* @__PURE__ */ React3.createElement(TreeItem, {
477
- itemId: increment(),
478
- label: "children",
479
- sx: {
480
- mb: 0.5
481
- }
482
- }, childModules.map((childModuleRef) => {
483
- const childModule = childModuleRef.deref();
484
- return childModule ? /* @__PURE__ */ React3.createElement(RenderModule, {
485
- key: childModule?.address,
486
- mod: childModuleRef,
487
- idRef
488
- }) : null;
489
- })) : null);
490
- }, "RenderModule");
491
- var StyledAddressTreeItem = styled(TreeItem, {
492
- name: "StyledAddressTreeItem"
493
- })(({ theme }) => ({
494
- "& .MuiTreeItem-content": {
495
- marginBottom: theme.spacing(0.25)
496
- }
497
- }));
385
+ return /* @__PURE__ */ jsxs(StyledAddressTreeItem, { itemId: increment(), label: `address: ${address}`, children: [
386
+ queries?.map((query, index) => {
387
+ return /* @__PURE__ */ jsx3(TreeItem, { itemId: increment(), label: `query : ${query}`, sx: { mb: index === queries.length - 1 ? 1.5 : 0.5 } }, query);
388
+ }),
389
+ childModules && childModules.length > 0 ? /* @__PURE__ */ jsx3(TreeItem, { itemId: increment(), label: "children", sx: { mb: 0.5 }, children: childModules.map((childModuleRef) => {
390
+ const childModule = childModuleRef.deref();
391
+ return childModule ? /* @__PURE__ */ jsx3(RenderModule, { mod: childModuleRef, idRef }, childModule?.address) : null;
392
+ }) }) : null
393
+ ] });
394
+ };
395
+ var StyledAddressTreeItem = styled(TreeItem, { name: "StyledAddressTreeItem" })(({ theme }) => ({ "& .MuiTreeItem-content": { marginBottom: theme.spacing(0.25) } }));
498
396
 
499
397
  // src/components/render/ModuleDescriptionBox.tsx
500
- var ModuleDescriptionBox = /* @__PURE__ */ __name(({ mod }) => {
501
- const idRef = useRef({
502
- idIncrementor: 0,
503
- ids: []
504
- });
505
- return /* @__PURE__ */ React4.createElement(React4.Fragment, null, mod ? /* @__PURE__ */ React4.createElement(React4.Fragment, null, /* @__PURE__ */ React4.createElement(Typography, {
506
- variant: "h4"
507
- }, "Node Configuration"), /* @__PURE__ */ React4.createElement(StyledTreeView, {
508
- "aria-label": "file system navigator",
509
- slots: {
510
- collapseIcon: ExpandMoreIcon,
511
- expandIcon: ChevronRightIcon
512
- },
513
- sx: {
514
- flexGrow: 1
515
- }
516
- }, /* @__PURE__ */ React4.createElement(RenderModule, {
517
- mod,
518
- idRef
519
- }))) : mod === null ? /* @__PURE__ */ React4.createElement(Typography, {
520
- variant: "h4"
521
- }, "Node loading...") : /* @__PURE__ */ React4.createElement(Typography, {
522
- variant: "h4"
523
- }, "Node not found"));
524
- }, "ModuleDescriptionBox");
525
- var StyledTreeView = styled2(SimpleTreeView, {
526
- name: "StyledTreeView"
527
- })(() => ({
398
+ import { Fragment, jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
399
+ var ModuleDescriptionBox = ({ mod }) => {
400
+ const idRef = useRef({ idIncrementor: 0, ids: [] });
401
+ return /* @__PURE__ */ jsx4(Fragment, { children: mod ? /* @__PURE__ */ jsxs2(Fragment, { children: [
402
+ /* @__PURE__ */ jsx4(Typography, { variant: "h4", children: "Node Configuration" }),
403
+ /* @__PURE__ */ jsx4(
404
+ StyledTreeView,
405
+ {
406
+ "aria-label": "file system navigator",
407
+ slots: { collapseIcon: ExpandMoreIcon, expandIcon: ChevronRightIcon },
408
+ sx: { flexGrow: 1 },
409
+ children: /* @__PURE__ */ jsx4(RenderModule, { mod, idRef })
410
+ }
411
+ )
412
+ ] }) : mod === null ? /* @__PURE__ */ jsx4(Typography, { variant: "h4", children: "Node loading..." }) : /* @__PURE__ */ jsx4(Typography, { variant: "h4", children: "Node not found" }) });
413
+ };
414
+ var StyledTreeView = styled2(SimpleTreeView, { name: "StyledTreeView" })(() => ({
528
415
  height: "auto",
529
416
  maxWidth: "auto"
530
417
  }));
531
418
 
532
419
  // src/components/NodeDrawer.tsx
533
- var NodeDrawer = /* @__PURE__ */ __name(({ children, ...props }) => {
420
+ import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
421
+ var NodeDrawer = ({ children, ...props }) => {
534
422
  const { open, setOpen } = useNodeDrawer();
535
423
  const [node] = useWeakProvidedNode();
536
- return /* @__PURE__ */ React5.createElement(Drawer, {
537
- open: open ?? false,
538
- anchor: "right",
539
- ...props
540
- }, /* @__PURE__ */ React5.createElement(ClickAwayListener, {
541
- onClickAway: /* @__PURE__ */ __name(() => setOpen?.(false), "onClickAway")
542
- }, /* @__PURE__ */ React5.createElement(FlexGrowCol, {
543
- role: "presentation",
544
- justifyContent: "start",
545
- p: 2,
546
- rowGap: 2,
547
- minWidth: "33vw"
548
- }, /* @__PURE__ */ React5.createElement(FlexRow, {
549
- alignContent: "start",
550
- justifyContent: "start",
551
- width: "100%"
552
- }, /* @__PURE__ */ React5.createElement(IconButton, {
553
- onClick: /* @__PURE__ */ __name(() => setOpen?.(false), "onClick")
554
- }, /* @__PURE__ */ React5.createElement(CloseIcon, null))), /* @__PURE__ */ React5.createElement(ModuleDescriptionBox, {
555
- mod: node
556
- }), children)));
557
- }, "NodeDrawer");
424
+ return /* @__PURE__ */ jsx5(Drawer, { open: open ?? false, anchor: "right", ...props, children: /* @__PURE__ */ jsx5(ClickAwayListener, { onClickAway: () => setOpen?.(false), children: /* @__PURE__ */ jsxs3(FlexGrowCol, { role: "presentation", justifyContent: "start", p: 2, rowGap: 2, minWidth: "33vw", children: [
425
+ /* @__PURE__ */ jsx5(FlexRow, { alignContent: "start", justifyContent: "start", width: "100%", children: /* @__PURE__ */ jsx5(IconButton, { onClick: () => setOpen?.(false), children: /* @__PURE__ */ jsx5(CloseIcon, {}) }) }),
426
+ /* @__PURE__ */ jsx5(ModuleDescriptionBox, { mod: node }),
427
+ children
428
+ ] }) }) });
429
+ };
558
430
 
559
431
  // src/index.ts
560
432
  export * from "@xyo-network/react-node-context";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/Node.tsx","../../src/components/NodeDescriptionBox.tsx","../../src/hooks/getModuleFilterOptions.ts","../../src/hooks/getWeakModuleFilterOptions.ts","../../src/hooks/ModuleFromNodeConfig.ts","../../src/hooks/provided/useProvidedNode.tsx","../../src/hooks/provided/useWeakProvidedNode.tsx","../../src/hooks/useModuleFromNode.ts","../../src/hooks/useNode.ts","../../src/hooks/useNodeConfigNodeField.ts","../../src/hooks/useModulesFromNode.ts","../../src/hooks/useNodeDescription.ts","../../src/hooks/useNodeFromNode.tsx","../../src/hooks/useNodesFromNode.tsx","../../src/hooks/useWeakModuleFromNode.ts","../../src/hooks/useWeakNode.ts","../../src/hooks/useWeakNodeConfigNodeField.ts","../../src/hooks/WeakModuleFromNodeConfig.ts","../../src/hooks/useWeakModulesFromNode.ts","../../src/hooks/useWeakNodeDescription.ts","../../src/hooks/useWeakNodeFromNode.tsx","../../src/components/NodeDrawer.tsx","../../src/components/render/ModuleDescriptionBox.tsx","../../src/components/render/RenderModule.tsx","../../src/index.ts"],"sourcesContent":["import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport type { NodeInstance } from '@xyo-network/node-model'\nimport React from 'react'\n\nimport { NodeDescriptionBox } from './NodeDescriptionBox.tsx'\n\nexport interface NodeBoxProps extends FlexBoxProps {\n node?: string | WeakRef<NodeInstance>\n variant?: 'description'\n}\n\nexport const NodeBox: React.FC<NodeBoxProps> = ({ variant, ...props }) => {\n switch (variant) {\n // eslint-disable-next-line unicorn/no-useless-switch-case\n case 'description':\n default: {\n return <NodeDescriptionBox {...props} />\n }\n }\n}\n","import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport type { NodeInstance } from '@xyo-network/node-model'\nimport React from 'react'\n\nimport { useWeakNodeDescription } from '../hooks/index.ts'\n\nexport interface NodeDescriptionBoxProps extends FlexBoxProps {\n node?: string | WeakRef<NodeInstance>\n}\n\nexport const NodeDescriptionBox: React.FC<NodeDescriptionBoxProps> = ({ node, ...props }) => {\n const [description, error] = useWeakNodeDescription({ 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 type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts'\n\nexport const getModuleFilterOptions = (config?: ModuleFromNodeConfig) => {\n const {\n direction, identity, maxDepth,\n } = config ?? {}\n return {\n direction, identity, maxDepth,\n }\n}\n","import type { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig.ts'\n\nexport const getWeakModuleFilterOptions = (config?: WeakModuleFromNodeConfig) => {\n const {\n direction, identity, maxDepth,\n } = config ?? {}\n return {\n direction, identity, maxDepth,\n }\n}\n","import type { Logger } from '@xylabs/logger'\nimport type { ModuleFilterOptions, ModuleInstance } from '@xyo-network/module-model'\nimport type { NodeInstance } from '@xyo-network/node-model'\n\nexport type ModuleFromNodeConfig<T extends ModuleInstance = ModuleInstance> = ModuleFilterOptions<T> & {\n logger?: Logger\n node?: NodeInstance | string\n}\n\nexport const getModuleFromNodeConfigLogger = (config?: ModuleFromNodeConfig) => {\n return config?.logger\n}\n","import type { NodeInstance } from '@xyo-network/node-model'\nimport { NodeContext } from '@xyo-network/react-node-context'\nimport { use } from 'react'\n\nexport const useProvidedNode = (): [NodeInstance | null | undefined] => {\n const { node } = use(NodeContext)\n return [node]\n}\n","import type { NodeInstance } from '@xyo-network/node-model'\nimport { NodeContext } from '@xyo-network/react-node-context'\nimport { use, useMemo } from 'react'\n\nexport const useWeakProvidedNode = (): [WeakRef<NodeInstance> | null | undefined] => {\n const { node } = use(NodeContext)\n const weakNode = useMemo(() => (node ? new WeakRef(node) : null), [node])\n return [weakNode]\n}\n","import type { TypeCheck } from '@xylabs/object'\nimport { usePromise } from '@xylabs/react-promise'\nimport type { ModuleInstance } from '@xyo-network/module-model'\nimport { isModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport { getModuleFilterOptions } from './getModuleFilterOptions.ts'\nimport type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts'\nimport { getModuleFromNodeConfigLogger } from './ModuleFromNodeConfig.ts'\nimport { useNode } from './useNode.ts'\n\n/** @deprecated use useWeakModuleFromNode */\nexport const useModuleFromNode = <T extends ModuleInstance | void = void>(\n nameOrAddressOrInstance: string | (T extends ModuleInstance ? T : ModuleInstance) | undefined = undefined,\n config?: T extends ModuleInstance ? ModuleFromNodeConfig<T> : ModuleFromNodeConfig | undefined,\n): [(T extends ModuleInstance ? T : ModuleInstance) | undefined, Error | undefined] => {\n const [node, nodeError] = useNode(config)\n const logger = getModuleFromNodeConfigLogger(config)\n const filterOptions = getModuleFilterOptions(config)\n const [result, setResult] = useState<(T extends ModuleInstance ? T : ModuleInstance) | undefined>()\n const [, error] = usePromise(async () => {\n logger?.debug('useModuleFromNode: resolving')\n const identity: TypeCheck<T extends ModuleInstance ? T : ModuleInstance> = (config?.identity ?? isModuleInstance) as TypeCheck<\n T extends ModuleInstance ? T : ModuleInstance\n >\n if (node && nameOrAddressOrInstance) {\n node.on('moduleAttached', ({ mod }) => {\n logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`)\n if (mod.address === nameOrAddressOrInstance || mod.config?.name === nameOrAddressOrInstance) {\n setResult(identity(mod) ? (mod as T extends ModuleInstance ? T : ModuleInstance) : undefined)\n }\n })\n node.on('moduleDetached', ({ mod }) => {\n logger?.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`)\n if (mod.address === nameOrAddressOrInstance || mod.config?.name === nameOrAddressOrInstance) {\n setResult(undefined)\n }\n })\n if (identity(nameOrAddressOrInstance)) {\n setResult(nameOrAddressOrInstance)\n } else {\n const result = await node.resolve(nameOrAddressOrInstance, filterOptions)\n logger?.debug(`Result: ${result?.address}`)\n setResult(identity(result) ? (result as T extends ModuleInstance ? T : ModuleInstance) : undefined)\n }\n return result\n }\n logger?.debug('Result: No Node')\n }, [node, nameOrAddressOrInstance])\n return [result, nodeError ?? error]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport type { NodeInstance } from '@xyo-network/node-model'\nimport { asNodeInstance } from '@xyo-network/node-model'\n\nimport type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts'\nimport { useProvidedNode } from './provided/index.ts'\nimport { useNodeConfigNodeField } from './useNodeConfigNodeField.ts'\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 type { NodeInstance } from '@xyo-network/node-model'\nimport { useMemo } from 'react'\n\nimport type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts'\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 { exists } from '@xylabs/exists'\nimport { usePromise } from '@xylabs/react-promise'\nimport type { ModuleIdentifier, ModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport { getModuleFilterOptions } from './getModuleFilterOptions.ts'\nimport type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts'\nimport { useNode } from './useNode.ts'\n\n/** @deprecated use useWeakModulesFromNode */\nexport const useModulesFromNode = (ids?: ModuleIdentifier[], config?: ModuleFromNodeConfig): [ModuleInstance[] | undefined, Error | undefined] => {\n const [node, nodeError] = useNode(config)\n const logger = config?.logger\n const filterOptions = getModuleFilterOptions()\n const [result, setResult] = useState<ModuleInstance[] | undefined>()\n const [, error] = usePromise(async () => {\n logger?.debug('useModuleFromNode: resolving')\n if (node) {\n const refreshModules = async () => {\n const moduleInstances = ids\n ? (await Promise.all(ids.map(id => node.resolve(id, filterOptions)))).filter(exists)\n : await node.resolve('*', filterOptions)\n setResult(moduleInstances)\n return moduleInstances\n }\n node.on('moduleAttached', async ({ mod }) => {\n logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`)\n await refreshModules()\n })\n node.on('moduleDetached', async ({ mod }) => {\n logger?.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`)\n await refreshModules()\n })\n return await refreshModules()\n }\n console.log('Result: No Node')\n }, [node, ids])\n return [result, nodeError ?? error]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport type { ModuleDescription, ModuleDescriptionPayload } from '@xyo-network/module-model'\nimport { ModuleDescriptionSchema } from '@xyo-network/module-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts'\nimport { useNode } from './useNode.ts'\n\nexport const useNodeDescription = (config?: ModuleFromNodeConfig | undefined): [ModuleDescription | undefined, Error | undefined] => {\n const [activeNode, nodeError] = useNode(config)\n const [description, error] = usePromise(async () => {\n const state = await activeNode?.state()\n return state?.find<ModuleDescriptionPayload>(isPayloadOfSchemaType(ModuleDescriptionSchema))\n }, [activeNode])\n return [description, nodeError ?? error]\n}\n","import type { NodeInstance } from '@xyo-network/node-model'\nimport { asNodeInstance } from '@xyo-network/node-model'\n\nimport type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts'\nimport { useModuleFromNode } from './useModuleFromNode.ts'\n\n/** @deprecated use useWeakNodeFromNode instead */\nexport const useNodeFromNode = (\n nameOrAddressOrInstance?: string | NodeInstance,\n config?: ModuleFromNodeConfig,\n): [NodeInstance | undefined, Error | undefined] => {\n const [mod, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asNodeInstance(mod)\n if (mod && !instance) {\n const error = new Error(`Resolved module is not a NodeInstance [${mod.config?.schema}:${mod.config?.name}:${mod.address}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [instance, error]\n}\n","import type { ModuleIdentifier } from '@xyo-network/module-model'\nimport type { NodeInstance } from '@xyo-network/node-model'\nimport { isNodeInstance } from '@xyo-network/node-model'\n\nimport type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts'\nimport { useModulesFromNode } from './useModulesFromNode.ts'\n\n/** @deprecated use useWeakNodesFromNode */\nexport const useNodesFromNode = (ids?: ModuleIdentifier[], config?: ModuleFromNodeConfig): [NodeInstance[] | null | undefined, Error | undefined] => {\n const [modules, error] = useModulesFromNode(ids, config)\n if (error) {\n return [null, error]\n }\n return modules\n ? [\n // eslint-disable-next-line unicorn/no-array-reduce\n modules.reduce<NodeInstance[]>((prev, mod) => {\n if (isNodeInstance(mod)) {\n prev.push(mod)\n }\n return prev\n }, []),\n undefined,\n ]\n : [modules, error]\n}\n","import type { TypeCheck } from '@xylabs/object'\nimport { usePromise } from '@xylabs/react-promise'\nimport type { ModuleInstance } from '@xyo-network/module-model'\nimport { isModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport { getWeakModuleFilterOptions } from './getWeakModuleFilterOptions.ts'\nimport { useWeakNode } from './useWeakNode.ts'\nimport type { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig.ts'\nimport { getWeakModuleFromNodeConfigLogger } from './WeakModuleFromNodeConfig.ts'\n\nexport const useWeakModuleFromNode = <T extends ModuleInstance | void = void>(\n nameOrAddressOrInstance: string | (T extends ModuleInstance ? T : ModuleInstance) | undefined = undefined,\n config?: WeakModuleFromNodeConfig,\n): [WeakRef<T extends ModuleInstance ? T : ModuleInstance> | undefined, Error | undefined] => {\n const [node, nodeError] = useWeakNode(config)\n const logger = getWeakModuleFromNodeConfigLogger(config)\n const filterOptions = getWeakModuleFilterOptions(config)\n const [result, setResult] = useState<WeakRef<T extends ModuleInstance ? T : ModuleInstance> | undefined>()\n const [, error] = usePromise(async () => {\n logger?.debug('useModuleFromNode: resolving')\n const identity: TypeCheck<T extends ModuleInstance ? T : ModuleInstance> = (config?.identity ?? isModuleInstance) as TypeCheck<\n T extends ModuleInstance ? T : ModuleInstance\n >\n const nodeInstance = node?.deref()\n if (nodeInstance && nameOrAddressOrInstance) {\n nodeInstance.on('moduleAttached', ({ mod }) => {\n logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`)\n if (mod.address === nameOrAddressOrInstance || mod.config?.name === nameOrAddressOrInstance) {\n setResult(identity(mod) ? new WeakRef(mod as T extends ModuleInstance ? T : ModuleInstance) : undefined)\n }\n })\n nodeInstance.on('moduleDetached', ({ mod }) => {\n logger?.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`)\n if (mod.address === nameOrAddressOrInstance || mod.config?.name === nameOrAddressOrInstance) {\n setResult(undefined)\n }\n })\n if (identity(nameOrAddressOrInstance)) {\n setResult(new WeakRef(nameOrAddressOrInstance as T extends ModuleInstance ? T : ModuleInstance))\n } else {\n const result = await nodeInstance.resolve(nameOrAddressOrInstance, filterOptions)\n logger?.debug(`Result: ${result?.address}`)\n setResult(identity(result) ? new WeakRef(result as T extends ModuleInstance ? T : ModuleInstance) : undefined)\n }\n return result\n }\n logger?.debug('Result: No Node')\n }, [node, nameOrAddressOrInstance])\n return [result, nodeError ?? error]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { isDefined } from '@xylabs/typeof'\nimport type { NodeInstance } from '@xyo-network/node-model'\nimport { asNodeInstance } from '@xyo-network/node-model'\n\nimport { useWeakProvidedNode } from './provided/index.ts'\nimport { useWeakNodeConfigNodeField } from './useWeakNodeConfigNodeField.ts'\nimport type { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig.ts'\n\nexport const useWeakNode = (config?: WeakModuleFromNodeConfig | undefined): [WeakRef<NodeInstance> | undefined, Error | undefined] => {\n const [nodeAddress, nodeInstance] = useWeakNodeConfigNodeField(config)\n const [providedNode] = useWeakProvidedNode()\n const [nodeAddressNode, error] = usePromise(async () => {\n const providedNodeInstance = providedNode?.deref()\n if (providedNodeInstance && isDefined(nodeAddress)) {\n return new WeakRef(asNodeInstance(await providedNodeInstance.resolve(nodeAddress), () => 'Module is not a node', { required: true }))\n }\n }, [providedNode, nodeAddress])\n return [nodeAddressNode ?? nodeInstance ?? providedNode ?? undefined, error]\n}\n","import type { NodeInstance } from '@xyo-network/node-model'\nimport { useMemo } from 'react'\n\nimport type { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig.ts'\n\nexport const useWeakNodeConfigNodeField = (\n config?: WeakModuleFromNodeConfig | undefined,\n): [string | undefined, WeakRef<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 type { Logger } from '@xylabs/logger'\nimport type { ModuleFilterOptions } from '@xyo-network/module-model'\nimport type { NodeInstance } from '@xyo-network/node-model'\n\nexport type WeakModuleFromNodeConfig = ModuleFilterOptions & {\n logger?: Logger\n node?: WeakRef<NodeInstance> | string\n}\n\nexport const getWeakModuleFromNodeConfigLogger = (config?: WeakModuleFromNodeConfig) => {\n return config?.logger\n}\n","import { exists } from '@xylabs/exists'\nimport { usePromise } from '@xylabs/react-promise'\nimport type { ModuleIdentifier, ModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport { getModuleFilterOptions } from './getModuleFilterOptions.ts'\nimport type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts'\nimport { useNode } from './useNode.ts'\n\nexport const useWeakModulesFromNode = (\n ids?: ModuleIdentifier[],\n config?: ModuleFromNodeConfig,\n): [WeakRef<ModuleInstance>[] | undefined, Error | undefined] => {\n const [node, nodeError] = useNode(config)\n const logger = config?.logger\n const filterOptions = getModuleFilterOptions()\n const [result, setResult] = useState<WeakRef<ModuleInstance>[] | undefined>()\n const [, error] = usePromise(async () => {\n logger?.debug('useModuleFromNode: resolving')\n const nodeInstance = node\n if (nodeInstance) {\n const refreshModules = async () => {\n const moduleInstances = ids\n ? (await Promise.all(ids.map(id => node.resolve(id, filterOptions)))).filter(exists)\n : await node.resolve('*', filterOptions)\n setResult(moduleInstances.map(mod => new WeakRef(mod)))\n return moduleInstances\n }\n nodeInstance.on('moduleAttached', async ({ mod }) => {\n logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`)\n await refreshModules()\n })\n nodeInstance.on('moduleDetached', async ({ mod }) => {\n logger?.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`)\n await refreshModules()\n })\n return await refreshModules()\n }\n console.log('Result: No Node')\n return\n }, [node, ids])\n return [result, nodeError ?? error]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport type { ModuleDescription, ModuleDescriptionPayload } from '@xyo-network/module-model'\nimport { ModuleDescriptionSchema } from '@xyo-network/module-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport { useWeakNode } from './useWeakNode.ts'\nimport type { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig.ts'\n\nexport const useWeakNodeDescription = (config?: WeakModuleFromNodeConfig | undefined): [ModuleDescription | undefined, Error | undefined] => {\n const [activeNode, nodeError] = useWeakNode(config)\n const [description, error] = usePromise(async () => {\n const state = await activeNode?.deref()?.state()\n return state?.find<ModuleDescriptionPayload>(isPayloadOfSchemaType(ModuleDescriptionSchema))\n }, [activeNode])\n return [description, nodeError ?? error]\n}\n","import type { NodeInstance } from '@xyo-network/node-model'\nimport { isNodeInstance } from '@xyo-network/node-model'\n\nimport { useWeakModuleFromNode } from './useWeakModuleFromNode.ts'\nimport type { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig.ts'\n\nexport const useWeakNodeFromNode = (\n nameOrAddressOrInstance?: string | NodeInstance,\n config?: WeakModuleFromNodeConfig,\n): [WeakRef<NodeInstance> | undefined, Error | undefined] => {\n return useWeakModuleFromNode<NodeInstance>(nameOrAddressOrInstance, { identity: isNodeInstance, ...config })\n}\n","import { Close as CloseIcon } from '@mui/icons-material'\nimport type { DrawerProps } from '@mui/material'\nimport {\n ClickAwayListener, Drawer, IconButton,\n} from '@mui/material'\nimport { FlexGrowCol, FlexRow } from '@xylabs/react-flexbox'\nimport { useNodeDrawer } from '@xyo-network/react-node-provider'\nimport type { PropsWithChildren } from 'react'\nimport React from 'react'\n\nimport { useWeakProvidedNode } from '../hooks/index.ts'\nimport { ModuleDescriptionBox } from './render/index.ts'\n\nexport interface NodeDrawerProps extends PropsWithChildren, Omit<DrawerProps, 'open'> {}\n\nexport const NodeDrawer: React.FC<NodeDrawerProps> = ({ children, ...props }) => {\n const { open, setOpen } = useNodeDrawer()\n const [node] = useWeakProvidedNode()\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 mod={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 { SimpleTreeView } from '@mui/x-tree-view'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport type { ModuleInstance } from '@xyo-network/module-model'\nimport React, { useRef } from 'react'\n\nimport { RenderModule } from './RenderModule.tsx'\n\nexport interface ModuleDescriptionProps extends FlexBoxProps {\n mod?: WeakRef<ModuleInstance> | null\n}\nexport const ModuleDescriptionBox: React.FC<ModuleDescriptionProps> = ({ mod }) => {\n const idRef = useRef<{ idIncrementor: number; ids: string[] }>({ idIncrementor: 0, ids: [] })\n\n return (\n <>\n {mod\n ? (\n <>\n <Typography variant=\"h4\">Node Configuration</Typography>\n <StyledTreeView\n aria-label=\"file system navigator\"\n slots={{ collapseIcon: ExpandMoreIcon, expandIcon: ChevronRightIcon }}\n sx={{ flexGrow: 1 }}\n >\n <RenderModule mod={mod} idRef={idRef} />\n </StyledTreeView>\n </>\n )\n : mod === null\n ? <Typography variant=\"h4\">Node loading...</Typography>\n : <Typography variant=\"h4\">Node not found</Typography>}\n </>\n )\n}\n\nconst StyledTreeView = styled(SimpleTreeView, { 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 type { ModuleInstance } from '@xyo-network/module-model'\nimport type { MutableRefObject } from 'react'\nimport React, { useState } from 'react'\n\ninterface RenderModuleProps {\n idRef: MutableRefObject<{\n idIncrementor: number\n ids: string[]\n }>\n mod: WeakRef<ModuleInstance>\n}\n\nexport const RenderModule: React.FC<RenderModuleProps> = ({ mod, idRef }) => {\n const [childModules, setChildModules] = useState<WeakRef<ModuleInstance>[]>()\n\n useAsyncEffect(\n\n async (mounted) => {\n const moduleInstance = mod.deref()\n const { address } = moduleInstance ?? {}\n if (moduleInstance) {\n const children = (await moduleInstance.resolve('*')).filter(childModule => childModule.address !== address)\n if (mounted()) {\n setChildModules(children.map(childModule => new WeakRef(childModule)))\n }\n }\n },\n [mod],\n )\n\n const increment = () => {\n const newId = (idRef.current.idIncrementor++).toString()\n idRef.current.ids.push(newId)\n return newId\n }\n\n const moduleInstance = mod.deref()\n const { queries, address } = moduleInstance ?? {}\n\n return (\n <StyledAddressTreeItem itemId={increment()} label={`address: ${address}`}>\n {queries?.map((query, index) => {\n return <TreeItem key={query} itemId={increment()} label={`query : ${query}`} sx={{ mb: index === queries.length - 1 ? 1.5 : 0.5 }} />\n })}\n {childModules && childModules.length > 0\n ? (\n <TreeItem itemId={increment()} label=\"children\" sx={{ mb: 0.5 }}>\n {childModules.map((childModuleRef) => {\n const childModule = childModuleRef.deref()\n return childModule ? <RenderModule key={childModule?.address} mod={childModuleRef} idRef={idRef} /> : null\n })}\n </TreeItem>\n )\n : null}\n </StyledAddressTreeItem>\n )\n}\n\nconst StyledAddressTreeItem = styled(TreeItem, { name: 'StyledAddressTreeItem' })(({ theme }) => (\n { '& .MuiTreeItem-content': { marginBottom: theme.spacing(0.25) } }\n))\n","export * from './components/index.ts'\nexport * from './hooks/index.ts'\nexport * from '@xyo-network/react-node-context'\nexport * from '@xyo-network/react-node-provider'\n"],"mappings":"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","names":["React","FlexCol","React","getModuleFilterOptions","config","direction","identity","maxDepth","getWeakModuleFilterOptions","config","direction","identity","maxDepth","getModuleFromNodeConfigLogger","config","logger","NodeContext","use","useProvidedNode","node","use","NodeContext","NodeContext","use","useMemo","useWeakProvidedNode","node","use","NodeContext","weakNode","useMemo","WeakRef","usePromise","isModuleInstance","useState","usePromise","asNodeInstance","useMemo","useNodeConfigNodeField","config","nodeAddress","useMemo","node","undefined","nodeInstance","useNode","config","nodeAddress","nodeInstance","useNodeConfigNodeField","providedNode","useProvidedNode","nodeAddressNode","error","usePromise","asNodeInstance","resolve","undefined","useModuleFromNode","nameOrAddressOrInstance","undefined","config","node","nodeError","useNode","logger","getModuleFromNodeConfigLogger","filterOptions","getModuleFilterOptions","result","setResult","useState","error","usePromise","debug","identity","isModuleInstance","on","mod","name","address","resolve","exists","usePromise","useState","useModulesFromNode","ids","config","node","nodeError","useNode","logger","filterOptions","getModuleFilterOptions","result","setResult","useState","error","usePromise","debug","refreshModules","moduleInstances","Promise","all","map","id","resolve","filter","exists","on","mod","name","address","console","log","usePromise","ModuleDescriptionSchema","isPayloadOfSchemaType","useNodeDescription","config","activeNode","nodeError","useNode","description","error","usePromise","state","find","isPayloadOfSchemaType","ModuleDescriptionSchema","asNodeInstance","useNodeFromNode","nameOrAddressOrInstance","config","mod","error","useModuleFromNode","instance","asNodeInstance","Error","schema","name","address","console","message","undefined","isNodeInstance","useNodesFromNode","ids","config","modules","error","useModulesFromNode","reduce","prev","mod","isNodeInstance","push","undefined","usePromise","isModuleInstance","useState","usePromise","isDefined","asNodeInstance","useMemo","useWeakNodeConfigNodeField","config","nodeAddress","useMemo","node","undefined","nodeInstance","useWeakNode","config","nodeAddress","nodeInstance","useWeakNodeConfigNodeField","providedNode","useWeakProvidedNode","nodeAddressNode","error","usePromise","providedNodeInstance","deref","isDefined","WeakRef","asNodeInstance","resolve","required","undefined","getWeakModuleFromNodeConfigLogger","config","logger","useWeakModuleFromNode","nameOrAddressOrInstance","undefined","config","node","nodeError","useWeakNode","logger","getWeakModuleFromNodeConfigLogger","filterOptions","getWeakModuleFilterOptions","result","setResult","useState","error","usePromise","debug","identity","isModuleInstance","nodeInstance","deref","on","mod","name","address","WeakRef","resolve","exists","usePromise","useState","useWeakModulesFromNode","ids","config","node","nodeError","useNode","logger","filterOptions","getModuleFilterOptions","result","setResult","useState","error","usePromise","debug","nodeInstance","refreshModules","moduleInstances","Promise","all","map","id","resolve","filter","exists","mod","WeakRef","on","name","address","console","log","usePromise","ModuleDescriptionSchema","isPayloadOfSchemaType","useWeakNodeDescription","config","activeNode","nodeError","useWeakNode","description","error","usePromise","state","deref","find","isPayloadOfSchemaType","ModuleDescriptionSchema","isNodeInstance","useWeakNodeFromNode","nameOrAddressOrInstance","config","useWeakModuleFromNode","identity","isNodeInstance","NodeDescriptionBox","node","props","description","error","useWeakNodeDescription","FlexCol","code","color","undefined","message","JSON","stringify","NodeBox","variant","props","React","NodeDescriptionBox","Close","CloseIcon","ClickAwayListener","Drawer","IconButton","FlexGrowCol","FlexRow","useNodeDrawer","React","ChevronRight","ChevronRightIcon","ExpandMore","ExpandMoreIcon","styled","Typography","SimpleTreeView","React","useRef","styled","TreeItem","useAsyncEffect","React","useState","RenderModule","mod","idRef","childModules","setChildModules","useState","useAsyncEffect","mounted","moduleInstance","deref","address","children","resolve","filter","childModule","map","WeakRef","increment","newId","current","idIncrementor","toString","ids","push","queries","React","StyledAddressTreeItem","itemId","label","query","index","TreeItem","key","sx","mb","length","childModuleRef","styled","name","theme","marginBottom","spacing","ModuleDescriptionBox","mod","idRef","useRef","idIncrementor","ids","React","Typography","variant","StyledTreeView","aria-label","slots","collapseIcon","ExpandMoreIcon","expandIcon","ChevronRightIcon","sx","flexGrow","RenderModule","styled","SimpleTreeView","name","height","maxWidth","NodeDrawer","children","props","open","setOpen","useNodeDrawer","node","useWeakProvidedNode","React","Drawer","anchor","ClickAwayListener","onClickAway","FlexGrowCol","role","justifyContent","p","rowGap","minWidth","FlexRow","alignContent","width","IconButton","onClick","CloseIcon","ModuleDescriptionBox","mod"]}
1
+ {"version":3,"sources":["../../src/components/NodeDescriptionBox.tsx","../../src/hooks/getModuleFilterOptions.ts","../../src/hooks/getWeakModuleFilterOptions.ts","../../src/hooks/ModuleFromNodeConfig.ts","../../src/hooks/provided/useProvidedNode.tsx","../../src/hooks/provided/useWeakProvidedNode.tsx","../../src/hooks/useModuleFromNode.ts","../../src/hooks/useNode.ts","../../src/hooks/useNodeConfigNodeField.ts","../../src/hooks/useModulesFromNode.ts","../../src/hooks/useNodeDescription.ts","../../src/hooks/useNodeFromNode.tsx","../../src/hooks/useNodesFromNode.tsx","../../src/hooks/useWeakModuleFromNode.ts","../../src/hooks/useWeakNode.ts","../../src/hooks/useWeakNodeConfigNodeField.ts","../../src/hooks/WeakModuleFromNodeConfig.ts","../../src/hooks/useWeakModulesFromNode.ts","../../src/hooks/useWeakNodeDescription.ts","../../src/hooks/useWeakNodeFromNode.tsx","../../src/components/Node.tsx","../../src/components/NodeDrawer.tsx","../../src/components/render/ModuleDescriptionBox.tsx","../../src/components/render/RenderModule.tsx","../../src/index.ts"],"sourcesContent":["import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport type { NodeInstance } from '@xyo-network/node-model'\nimport React from 'react'\n\nimport { useWeakNodeDescription } from '../hooks/index.ts'\n\nexport interface NodeDescriptionBoxProps extends FlexBoxProps {\n node?: string | WeakRef<NodeInstance>\n}\n\nexport const NodeDescriptionBox: React.FC<NodeDescriptionBoxProps> = ({ node, ...props }) => {\n const [description, error] = useWeakNodeDescription({ 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 type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts'\n\nexport const getModuleFilterOptions = (config?: ModuleFromNodeConfig) => {\n const {\n direction, identity, maxDepth,\n } = config ?? {}\n return {\n direction, identity, maxDepth,\n }\n}\n","import type { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig.ts'\n\nexport const getWeakModuleFilterOptions = (config?: WeakModuleFromNodeConfig) => {\n const {\n direction, identity, maxDepth,\n } = config ?? {}\n return {\n direction, identity, maxDepth,\n }\n}\n","import type { Logger } from '@xylabs/logger'\nimport type { ModuleFilterOptions, ModuleInstance } from '@xyo-network/module-model'\nimport type { NodeInstance } from '@xyo-network/node-model'\n\nexport type ModuleFromNodeConfig<T extends ModuleInstance = ModuleInstance> = ModuleFilterOptions<T> & {\n logger?: Logger\n node?: NodeInstance | string\n}\n\nexport const getModuleFromNodeConfigLogger = (config?: ModuleFromNodeConfig) => {\n return config?.logger\n}\n","import type { NodeInstance } from '@xyo-network/node-model'\nimport { NodeContext } from '@xyo-network/react-node-context'\nimport { use } from 'react'\n\nexport const useProvidedNode = (): [NodeInstance | null | undefined] => {\n const { node } = use(NodeContext)\n return [node]\n}\n","import type { NodeInstance } from '@xyo-network/node-model'\nimport { NodeContext } from '@xyo-network/react-node-context'\nimport { use, useMemo } from 'react'\n\nexport const useWeakProvidedNode = (): [WeakRef<NodeInstance> | null | undefined] => {\n const { node } = use(NodeContext)\n const weakNode = useMemo(() => (node ? new WeakRef(node) : null), [node])\n return [weakNode]\n}\n","import type { TypeCheck } from '@xylabs/object'\nimport { usePromise } from '@xylabs/react-promise'\nimport type { ModuleInstance } from '@xyo-network/module-model'\nimport { isModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport { getModuleFilterOptions } from './getModuleFilterOptions.ts'\nimport type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts'\nimport { getModuleFromNodeConfigLogger } from './ModuleFromNodeConfig.ts'\nimport { useNode } from './useNode.ts'\n\n/** @deprecated use useWeakModuleFromNode */\nexport const useModuleFromNode = <T extends ModuleInstance | void = void>(\n nameOrAddressOrInstance: string | (T extends ModuleInstance ? T : ModuleInstance) | undefined = undefined,\n config?: T extends ModuleInstance ? ModuleFromNodeConfig<T> : ModuleFromNodeConfig | undefined,\n): [(T extends ModuleInstance ? T : ModuleInstance) | undefined, Error | undefined] => {\n const [node, nodeError] = useNode(config)\n const logger = getModuleFromNodeConfigLogger(config)\n const filterOptions = getModuleFilterOptions(config)\n const [result, setResult] = useState<(T extends ModuleInstance ? T : ModuleInstance) | undefined>()\n const [, error] = usePromise(async () => {\n logger?.debug('useModuleFromNode: resolving')\n const identity: TypeCheck<T extends ModuleInstance ? T : ModuleInstance> = (config?.identity ?? isModuleInstance) as TypeCheck<\n T extends ModuleInstance ? T : ModuleInstance\n >\n if (node && nameOrAddressOrInstance) {\n node.on('moduleAttached', ({ mod }) => {\n logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`)\n if (mod.address === nameOrAddressOrInstance || mod.config?.name === nameOrAddressOrInstance) {\n setResult(identity(mod) ? (mod as T extends ModuleInstance ? T : ModuleInstance) : undefined)\n }\n })\n node.on('moduleDetached', ({ mod }) => {\n logger?.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`)\n if (mod.address === nameOrAddressOrInstance || mod.config?.name === nameOrAddressOrInstance) {\n setResult(undefined)\n }\n })\n if (identity(nameOrAddressOrInstance)) {\n setResult(nameOrAddressOrInstance)\n } else {\n const result = await node.resolve(nameOrAddressOrInstance, filterOptions)\n logger?.debug(`Result: ${result?.address}`)\n setResult(identity(result) ? (result as T extends ModuleInstance ? T : ModuleInstance) : undefined)\n }\n return result\n }\n logger?.debug('Result: No Node')\n }, [node, nameOrAddressOrInstance])\n return [result, nodeError ?? error]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport type { NodeInstance } from '@xyo-network/node-model'\nimport { asNodeInstance } from '@xyo-network/node-model'\n\nimport type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts'\nimport { useProvidedNode } from './provided/index.ts'\nimport { useNodeConfigNodeField } from './useNodeConfigNodeField.ts'\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 type { NodeInstance } from '@xyo-network/node-model'\nimport { useMemo } from 'react'\n\nimport type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts'\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 { exists } from '@xylabs/exists'\nimport { usePromise } from '@xylabs/react-promise'\nimport type { ModuleIdentifier, ModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport { getModuleFilterOptions } from './getModuleFilterOptions.ts'\nimport type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts'\nimport { useNode } from './useNode.ts'\n\n/** @deprecated use useWeakModulesFromNode */\nexport const useModulesFromNode = (ids?: ModuleIdentifier[], config?: ModuleFromNodeConfig): [ModuleInstance[] | undefined, Error | undefined] => {\n const [node, nodeError] = useNode(config)\n const logger = config?.logger\n const filterOptions = getModuleFilterOptions()\n const [result, setResult] = useState<ModuleInstance[] | undefined>()\n const [, error] = usePromise(async () => {\n logger?.debug('useModuleFromNode: resolving')\n if (node) {\n const refreshModules = async () => {\n const moduleInstances = ids\n ? (await Promise.all(ids.map(id => node.resolve(id, filterOptions)))).filter(exists)\n : await node.resolve('*', filterOptions)\n setResult(moduleInstances)\n return moduleInstances\n }\n node.on('moduleAttached', async ({ mod }) => {\n logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`)\n await refreshModules()\n })\n node.on('moduleDetached', async ({ mod }) => {\n logger?.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`)\n await refreshModules()\n })\n return await refreshModules()\n }\n console.log('Result: No Node')\n }, [node, ids])\n return [result, nodeError ?? error]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport type { ModuleDescription, ModuleDescriptionPayload } from '@xyo-network/module-model'\nimport { ModuleDescriptionSchema } from '@xyo-network/module-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts'\nimport { useNode } from './useNode.ts'\n\nexport const useNodeDescription = (config?: ModuleFromNodeConfig | undefined): [ModuleDescription | undefined, Error | undefined] => {\n const [activeNode, nodeError] = useNode(config)\n const [description, error] = usePromise(async () => {\n const state = await activeNode?.state()\n return state?.find<ModuleDescriptionPayload>(isPayloadOfSchemaType(ModuleDescriptionSchema))\n }, [activeNode])\n return [description, nodeError ?? error]\n}\n","import type { NodeInstance } from '@xyo-network/node-model'\nimport { asNodeInstance } from '@xyo-network/node-model'\n\nimport type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts'\nimport { useModuleFromNode } from './useModuleFromNode.ts'\n\n/** @deprecated use useWeakNodeFromNode instead */\nexport const useNodeFromNode = (\n nameOrAddressOrInstance?: string | NodeInstance,\n config?: ModuleFromNodeConfig,\n): [NodeInstance | undefined, Error | undefined] => {\n const [mod, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asNodeInstance(mod)\n if (mod && !instance) {\n const error = new Error(`Resolved module is not a NodeInstance [${mod.config?.schema}:${mod.config?.name}:${mod.address}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [instance, error]\n}\n","import type { ModuleIdentifier } from '@xyo-network/module-model'\nimport type { NodeInstance } from '@xyo-network/node-model'\nimport { isNodeInstance } from '@xyo-network/node-model'\n\nimport type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts'\nimport { useModulesFromNode } from './useModulesFromNode.ts'\n\n/** @deprecated use useWeakNodesFromNode */\nexport const useNodesFromNode = (ids?: ModuleIdentifier[], config?: ModuleFromNodeConfig): [NodeInstance[] | null | undefined, Error | undefined] => {\n const [modules, error] = useModulesFromNode(ids, config)\n if (error) {\n return [null, error]\n }\n return modules\n ? [\n // eslint-disable-next-line unicorn/no-array-reduce\n modules.reduce<NodeInstance[]>((prev, mod) => {\n if (isNodeInstance(mod)) {\n prev.push(mod)\n }\n return prev\n }, []),\n undefined,\n ]\n : [modules, error]\n}\n","import type { TypeCheck } from '@xylabs/object'\nimport { usePromise } from '@xylabs/react-promise'\nimport type { ModuleInstance } from '@xyo-network/module-model'\nimport { isModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport { getWeakModuleFilterOptions } from './getWeakModuleFilterOptions.ts'\nimport { useWeakNode } from './useWeakNode.ts'\nimport type { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig.ts'\nimport { getWeakModuleFromNodeConfigLogger } from './WeakModuleFromNodeConfig.ts'\n\nexport const useWeakModuleFromNode = <T extends ModuleInstance | void = void>(\n nameOrAddressOrInstance: string | (T extends ModuleInstance ? T : ModuleInstance) | undefined = undefined,\n config?: WeakModuleFromNodeConfig,\n): [WeakRef<T extends ModuleInstance ? T : ModuleInstance> | undefined, Error | undefined] => {\n const [node, nodeError] = useWeakNode(config)\n const logger = getWeakModuleFromNodeConfigLogger(config)\n const filterOptions = getWeakModuleFilterOptions(config)\n const [result, setResult] = useState<WeakRef<T extends ModuleInstance ? T : ModuleInstance> | undefined>()\n const [, error] = usePromise(async () => {\n logger?.debug('useModuleFromNode: resolving')\n const identity: TypeCheck<T extends ModuleInstance ? T : ModuleInstance> = (config?.identity ?? isModuleInstance) as TypeCheck<\n T extends ModuleInstance ? T : ModuleInstance\n >\n const nodeInstance = node?.deref()\n if (nodeInstance && nameOrAddressOrInstance) {\n nodeInstance.on('moduleAttached', ({ mod }) => {\n logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`)\n if (mod.address === nameOrAddressOrInstance || mod.config?.name === nameOrAddressOrInstance) {\n setResult(identity(mod) ? new WeakRef(mod as T extends ModuleInstance ? T : ModuleInstance) : undefined)\n }\n })\n nodeInstance.on('moduleDetached', ({ mod }) => {\n logger?.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`)\n if (mod.address === nameOrAddressOrInstance || mod.config?.name === nameOrAddressOrInstance) {\n setResult(undefined)\n }\n })\n if (identity(nameOrAddressOrInstance)) {\n setResult(new WeakRef(nameOrAddressOrInstance as T extends ModuleInstance ? T : ModuleInstance))\n } else {\n const result = await nodeInstance.resolve(nameOrAddressOrInstance, filterOptions)\n logger?.debug(`Result: ${result?.address}`)\n setResult(identity(result) ? new WeakRef(result as T extends ModuleInstance ? T : ModuleInstance) : undefined)\n }\n return result\n }\n logger?.debug('Result: No Node')\n }, [node, nameOrAddressOrInstance])\n return [result, nodeError ?? error]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { isDefined } from '@xylabs/typeof'\nimport type { NodeInstance } from '@xyo-network/node-model'\nimport { asNodeInstance } from '@xyo-network/node-model'\n\nimport { useWeakProvidedNode } from './provided/index.ts'\nimport { useWeakNodeConfigNodeField } from './useWeakNodeConfigNodeField.ts'\nimport type { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig.ts'\n\nexport const useWeakNode = (config?: WeakModuleFromNodeConfig | undefined): [WeakRef<NodeInstance> | undefined, Error | undefined] => {\n const [nodeAddress, nodeInstance] = useWeakNodeConfigNodeField(config)\n const [providedNode] = useWeakProvidedNode()\n const [nodeAddressNode, error] = usePromise(async () => {\n const providedNodeInstance = providedNode?.deref()\n if (providedNodeInstance && isDefined(nodeAddress)) {\n return new WeakRef(asNodeInstance(await providedNodeInstance.resolve(nodeAddress), () => 'Module is not a node', { required: true }))\n }\n }, [providedNode, nodeAddress])\n return [nodeAddressNode ?? nodeInstance ?? providedNode ?? undefined, error]\n}\n","import type { NodeInstance } from '@xyo-network/node-model'\nimport { useMemo } from 'react'\n\nimport type { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig.ts'\n\nexport const useWeakNodeConfigNodeField = (\n config?: WeakModuleFromNodeConfig | undefined,\n): [string | undefined, WeakRef<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 type { Logger } from '@xylabs/logger'\nimport type { ModuleFilterOptions } from '@xyo-network/module-model'\nimport type { NodeInstance } from '@xyo-network/node-model'\n\nexport type WeakModuleFromNodeConfig = ModuleFilterOptions & {\n logger?: Logger\n node?: WeakRef<NodeInstance> | string\n}\n\nexport const getWeakModuleFromNodeConfigLogger = (config?: WeakModuleFromNodeConfig) => {\n return config?.logger\n}\n","import { exists } from '@xylabs/exists'\nimport { usePromise } from '@xylabs/react-promise'\nimport type { ModuleIdentifier, ModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport { getModuleFilterOptions } from './getModuleFilterOptions.ts'\nimport type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts'\nimport { useNode } from './useNode.ts'\n\nexport const useWeakModulesFromNode = (\n ids?: ModuleIdentifier[],\n config?: ModuleFromNodeConfig,\n): [WeakRef<ModuleInstance>[] | undefined, Error | undefined] => {\n const [node, nodeError] = useNode(config)\n const logger = config?.logger\n const filterOptions = getModuleFilterOptions()\n const [result, setResult] = useState<WeakRef<ModuleInstance>[] | undefined>()\n const [, error] = usePromise(async () => {\n logger?.debug('useModuleFromNode: resolving')\n const nodeInstance = node\n if (nodeInstance) {\n const refreshModules = async () => {\n const moduleInstances = ids\n ? (await Promise.all(ids.map(id => node.resolve(id, filterOptions)))).filter(exists)\n : await node.resolve('*', filterOptions)\n setResult(moduleInstances.map(mod => new WeakRef(mod)))\n return moduleInstances\n }\n nodeInstance.on('moduleAttached', async ({ mod }) => {\n logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`)\n await refreshModules()\n })\n nodeInstance.on('moduleDetached', async ({ mod }) => {\n logger?.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`)\n await refreshModules()\n })\n return await refreshModules()\n }\n console.log('Result: No Node')\n return\n }, [node, ids])\n return [result, nodeError ?? error]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport type { ModuleDescription, ModuleDescriptionPayload } from '@xyo-network/module-model'\nimport { ModuleDescriptionSchema } from '@xyo-network/module-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport { useWeakNode } from './useWeakNode.ts'\nimport type { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig.ts'\n\nexport const useWeakNodeDescription = (config?: WeakModuleFromNodeConfig | undefined): [ModuleDescription | undefined, Error | undefined] => {\n const [activeNode, nodeError] = useWeakNode(config)\n const [description, error] = usePromise(async () => {\n const state = await activeNode?.deref()?.state()\n return state?.find<ModuleDescriptionPayload>(isPayloadOfSchemaType(ModuleDescriptionSchema))\n }, [activeNode])\n return [description, nodeError ?? error]\n}\n","import type { NodeInstance } from '@xyo-network/node-model'\nimport { isNodeInstance } from '@xyo-network/node-model'\n\nimport { useWeakModuleFromNode } from './useWeakModuleFromNode.ts'\nimport type { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig.ts'\n\nexport const useWeakNodeFromNode = (\n nameOrAddressOrInstance?: string | NodeInstance,\n config?: WeakModuleFromNodeConfig,\n): [WeakRef<NodeInstance> | undefined, Error | undefined] => {\n return useWeakModuleFromNode<NodeInstance>(nameOrAddressOrInstance, { identity: isNodeInstance, ...config })\n}\n","import type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport type { NodeInstance } from '@xyo-network/node-model'\nimport React from 'react'\n\nimport { NodeDescriptionBox } from './NodeDescriptionBox.tsx'\n\nexport interface NodeBoxProps extends FlexBoxProps {\n node?: string | WeakRef<NodeInstance>\n variant?: 'description'\n}\n\nexport const NodeBox: React.FC<NodeBoxProps> = ({ variant, ...props }) => {\n switch (variant) {\n // eslint-disable-next-line unicorn/no-useless-switch-case\n case 'description':\n default: {\n return <NodeDescriptionBox {...props} />\n }\n }\n}\n","import { Close as CloseIcon } from '@mui/icons-material'\nimport type { DrawerProps } from '@mui/material'\nimport {\n ClickAwayListener, Drawer, IconButton,\n} from '@mui/material'\nimport { FlexGrowCol, FlexRow } from '@xylabs/react-flexbox'\nimport { useNodeDrawer } from '@xyo-network/react-node-provider'\nimport type { PropsWithChildren } from 'react'\nimport React from 'react'\n\nimport { useWeakProvidedNode } from '../hooks/index.ts'\nimport { ModuleDescriptionBox } from './render/index.ts'\n\nexport interface NodeDrawerProps extends PropsWithChildren, Omit<DrawerProps, 'open'> {}\n\nexport const NodeDrawer: React.FC<NodeDrawerProps> = ({ children, ...props }) => {\n const { open, setOpen } = useNodeDrawer()\n const [node] = useWeakProvidedNode()\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 mod={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 { SimpleTreeView } from '@mui/x-tree-view'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport type { ModuleInstance } from '@xyo-network/module-model'\nimport React, { useRef } from 'react'\n\nimport { RenderModule } from './RenderModule.tsx'\n\nexport interface ModuleDescriptionProps extends FlexBoxProps {\n mod?: WeakRef<ModuleInstance> | null\n}\nexport const ModuleDescriptionBox: React.FC<ModuleDescriptionProps> = ({ mod }) => {\n const idRef = useRef<{ idIncrementor: number; ids: string[] }>({ idIncrementor: 0, ids: [] })\n\n return (\n <>\n {mod\n ? (\n <>\n <Typography variant=\"h4\">Node Configuration</Typography>\n <StyledTreeView\n aria-label=\"file system navigator\"\n slots={{ collapseIcon: ExpandMoreIcon, expandIcon: ChevronRightIcon }}\n sx={{ flexGrow: 1 }}\n >\n <RenderModule mod={mod} idRef={idRef} />\n </StyledTreeView>\n </>\n )\n : mod === null\n ? <Typography variant=\"h4\">Node loading...</Typography>\n : <Typography variant=\"h4\">Node not found</Typography>}\n </>\n )\n}\n\nconst StyledTreeView = styled(SimpleTreeView, { 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 type { ModuleInstance } from '@xyo-network/module-model'\nimport type { MutableRefObject } from 'react'\nimport React, { useState } from 'react'\n\ninterface RenderModuleProps {\n idRef: MutableRefObject<{\n idIncrementor: number\n ids: string[]\n }>\n mod: WeakRef<ModuleInstance>\n}\n\nexport const RenderModule: React.FC<RenderModuleProps> = ({ mod, idRef }) => {\n const [childModules, setChildModules] = useState<WeakRef<ModuleInstance>[]>()\n\n useAsyncEffect(\n\n async (mounted) => {\n const moduleInstance = mod.deref()\n const { address } = moduleInstance ?? {}\n if (moduleInstance) {\n const children = (await moduleInstance.resolve('*')).filter(childModule => childModule.address !== address)\n if (mounted()) {\n setChildModules(children.map(childModule => new WeakRef(childModule)))\n }\n }\n },\n [mod],\n )\n\n const increment = () => {\n const newId = (idRef.current.idIncrementor++).toString()\n idRef.current.ids.push(newId)\n return newId\n }\n\n const moduleInstance = mod.deref()\n const { queries, address } = moduleInstance ?? {}\n\n return (\n <StyledAddressTreeItem itemId={increment()} label={`address: ${address}`}>\n {queries?.map((query, index) => {\n return <TreeItem key={query} itemId={increment()} label={`query : ${query}`} sx={{ mb: index === queries.length - 1 ? 1.5 : 0.5 }} />\n })}\n {childModules && childModules.length > 0\n ? (\n <TreeItem itemId={increment()} label=\"children\" sx={{ mb: 0.5 }}>\n {childModules.map((childModuleRef) => {\n const childModule = childModuleRef.deref()\n return childModule ? <RenderModule key={childModule?.address} mod={childModuleRef} idRef={idRef} /> : null\n })}\n </TreeItem>\n )\n : null}\n </StyledAddressTreeItem>\n )\n}\n\nconst StyledAddressTreeItem = styled(TreeItem, { name: 'StyledAddressTreeItem' })(({ theme }) => (\n { '& .MuiTreeItem-content': { marginBottom: theme.spacing(0.25) } }\n))\n","export * from './components/index.ts'\nexport * from './hooks/index.ts'\nexport * from '@xyo-network/react-node-context'\nexport * from '@xyo-network/react-node-provider'\n"],"mappings":"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","names":["NodeContext","use","usePromise","useMemo","usePromise","result","usePromise","useState","useState","usePromise","usePromise","usePromise","asNodeInstance","asNodeInstance","error","usePromise","isModuleInstance","useState","usePromise","asNodeInstance","useMemo","usePromise","asNodeInstance","useState","usePromise","isModuleInstance","result","exists","usePromise","useState","useState","usePromise","exists","usePromise","ModuleDescriptionSchema","isPayloadOfSchemaType","usePromise","isPayloadOfSchemaType","ModuleDescriptionSchema","isNodeInstance","isNodeInstance","jsx","styled","useState","jsx","moduleInstance","address","jsx","jsxs","styled","jsx","jsxs"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/react-node",
3
- "version": "7.0.0",
3
+ "version": "7.0.1",
4
4
  "description": "Common React library for all XYO projects that use React",
5
5
  "keywords": [
6
6
  "xyo",
@@ -43,45 +43,48 @@
43
43
  "src"
44
44
  ],
45
45
  "dependencies": {
46
- "@mui/x-tree-view": "^8.9.0",
47
- "@xylabs/exists": "^5.0.0",
48
- "@xylabs/logger": "^5.0.0",
49
- "@xylabs/react-async-effect": "^7.0.0",
50
- "@xylabs/react-flexbox": "^7.0.0",
51
- "@xylabs/react-promise": "^7.0.0",
52
- "@xylabs/typeof": "^5.0.0",
53
- "@xyo-network/module-abstract": "^5.0.0",
54
- "@xyo-network/module-model": "^5.0.0",
55
- "@xyo-network/node-model": "^5.0.0",
56
- "@xyo-network/payload-model": "^5.0.0",
57
- "@xyo-network/react-node-context": "^7.0.0",
58
- "@xyo-network/react-node-provider": "^7.0.0"
46
+ "@mui/x-tree-view": "~8.10.0",
47
+ "@xylabs/exists": "~5.0.8",
48
+ "@xylabs/logger": "~5.0.8",
49
+ "@xylabs/react-async-effect": "~7.0.1",
50
+ "@xylabs/react-flexbox": "~7.0.1",
51
+ "@xylabs/react-promise": "~7.0.1",
52
+ "@xylabs/typeof": "~5.0.8",
53
+ "@xyo-network/module-abstract": "~5.0.5",
54
+ "@xyo-network/module-model": "~5.0.5",
55
+ "@xyo-network/node-model": "~5.0.5",
56
+ "@xyo-network/payload-model": "~5.0.5",
57
+ "@xyo-network/react-node-context": "^7.0.1",
58
+ "@xyo-network/react-node-provider": "^7.0.1"
59
59
  },
60
60
  "devDependencies": {
61
- "@emotion/react": "^11.14.0",
62
- "@emotion/styled": "^11.14.1",
63
- "@mui/icons-material": "^7.2.0",
64
- "@mui/material": "^7.2.0",
65
- "@mui/system": "^7.2.0",
66
- "@storybook/react-vite": "^9.0.18",
67
- "@types/react": "^19.1.9",
68
- "@xylabs/object": "^5.0.0",
69
- "@xylabs/ts-scripts-yarn3": "^7.0.2",
70
- "@xylabs/tsconfig-react": "^7.0.2",
71
- "@xyo-network/node-memory": "^5.0.0",
72
- "@xyo-network/payload-model": "^5.0.0",
73
- "@xyo-network/react-storybook": "^7.0.0",
74
- "@xyo-network/react-wallet": "^7.0.0",
75
- "react": "^19.1.1",
76
- "react-dom": "^19.1.1",
77
- "storybook": "^9.0.18",
78
- "typescript": "^5.8.3"
61
+ "@emotion/react": "~11.14.0",
62
+ "@emotion/styled": "~11.14.1",
63
+ "@mui/icons-material": "~7.3.1",
64
+ "@mui/material": "~7.3.1",
65
+ "@mui/system": "~7.3.1",
66
+ "@storybook/react-vite": "~9.1.2",
67
+ "@types/react": "~19.1.10",
68
+ "@xylabs/object": "~5.0.8",
69
+ "@xylabs/ts-scripts-yarn3": "~7.1.1",
70
+ "@xylabs/tsconfig": "~7.1.1",
71
+ "@xylabs/tsconfig-dom": "~7.1.1",
72
+ "@xylabs/tsconfig-react": "~7.1.1",
73
+ "@xyo-network/node-memory": "~5.0.5",
74
+ "@xyo-network/payload-model": "~5.0.5",
75
+ "@xyo-network/react-storybook": "^7.0.1",
76
+ "@xyo-network/react-wallet": "^7.0.1",
77
+ "react": "~19.1.1",
78
+ "react-dom": "~19.1.1",
79
+ "storybook": "~9.1.2",
80
+ "typescript": "~5.9.2",
81
+ "vite": "~7.1.2"
79
82
  },
80
83
  "peerDependencies": {
81
84
  "@mui/icons-material": ">=6 <8",
82
85
  "@mui/material": ">=6 <8",
83
- "react": "^19",
84
- "react-dom": "^19"
86
+ "react": "~19",
87
+ "react-dom": "~19"
85
88
  },
86
89
  "publishConfig": {
87
90
  "access": "public"