@xyo-network/react-node 3.0.2 → 3.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/dist/browser/components/Node.d.ts +9 -0
  2. package/dist/browser/components/Node.d.ts.map +1 -0
  3. package/dist/browser/components/NodeDescriptionBox.d.ts +8 -0
  4. package/dist/browser/components/NodeDescriptionBox.d.ts.map +1 -0
  5. package/dist/browser/components/NodeDrawer.d.ts +7 -0
  6. package/dist/browser/components/NodeDrawer.d.ts.map +1 -0
  7. package/dist/browser/components/NodeModulesBox.d.ts +8 -0
  8. package/dist/browser/components/NodeModulesBox.d.ts.map +1 -0
  9. package/dist/browser/components/TestModule.d.ts +14 -0
  10. package/dist/browser/components/TestModule.d.ts.map +1 -0
  11. package/dist/browser/components/index.d.ts +3 -0
  12. package/dist/browser/components/index.d.ts.map +1 -0
  13. package/dist/browser/components/render/ModuleDescriptionBox.d.ts +8 -0
  14. package/dist/browser/components/render/ModuleDescriptionBox.d.ts.map +1 -0
  15. package/dist/browser/components/render/RenderModule.d.ts +13 -0
  16. package/dist/browser/components/render/RenderModule.d.ts.map +1 -0
  17. package/dist/browser/components/render/index.d.ts +3 -0
  18. package/dist/browser/components/render/index.d.ts.map +1 -0
  19. package/dist/browser/hooks/ModuleFromNodeConfig.d.ts +9 -0
  20. package/dist/browser/hooks/ModuleFromNodeConfig.d.ts.map +1 -0
  21. package/dist/browser/hooks/WeakModuleFromNodeConfig.d.ts +9 -0
  22. package/dist/browser/hooks/WeakModuleFromNodeConfig.d.ts.map +1 -0
  23. package/dist/browser/hooks/index.d.ts +18 -0
  24. package/dist/browser/hooks/index.d.ts.map +1 -0
  25. package/dist/browser/hooks/provided/index.d.ts +3 -0
  26. package/dist/browser/hooks/provided/index.d.ts.map +1 -0
  27. package/dist/browser/hooks/provided/useProvidedNode.d.ts +3 -0
  28. package/dist/browser/hooks/provided/useProvidedNode.d.ts.map +1 -0
  29. package/dist/browser/hooks/provided/useWeakProvidedNode.d.ts +3 -0
  30. package/dist/browser/hooks/provided/useWeakProvidedNode.d.ts.map +1 -0
  31. package/dist/browser/hooks/useModuleFilterOptions.d.ts +19 -0
  32. package/dist/browser/hooks/useModuleFilterOptions.d.ts.map +1 -0
  33. package/dist/browser/hooks/useModuleFromNode.d.ts +4 -0
  34. package/dist/browser/hooks/useModuleFromNode.d.ts.map +1 -0
  35. package/dist/browser/hooks/useModulesFromNode.d.ts +4 -0
  36. package/dist/browser/hooks/useModulesFromNode.d.ts.map +1 -0
  37. package/dist/browser/hooks/useNode.d.ts +4 -0
  38. package/dist/browser/hooks/useNode.d.ts.map +1 -0
  39. package/dist/browser/hooks/useNodeConfigNodeField.d.ts +4 -0
  40. package/dist/browser/hooks/useNodeConfigNodeField.d.ts.map +1 -0
  41. package/dist/browser/hooks/useNodeDescription.d.ts +4 -0
  42. package/dist/browser/hooks/useNodeDescription.d.ts.map +1 -0
  43. package/dist/browser/hooks/useNodeFromNode.d.ts +4 -0
  44. package/dist/browser/hooks/useNodeFromNode.d.ts.map +1 -0
  45. package/dist/browser/hooks/useNodesFromNode.d.ts +5 -0
  46. package/dist/browser/hooks/useNodesFromNode.d.ts.map +1 -0
  47. package/dist/browser/hooks/useWeakModuleFilterOptions.d.ts +19 -0
  48. package/dist/browser/hooks/useWeakModuleFilterOptions.d.ts.map +1 -0
  49. package/dist/browser/hooks/useWeakModuleFromNode.d.ts +4 -0
  50. package/dist/browser/hooks/useWeakModuleFromNode.d.ts.map +1 -0
  51. package/dist/browser/hooks/useWeakModulesFromNode.d.ts +4 -0
  52. package/dist/browser/hooks/useWeakModulesFromNode.d.ts.map +1 -0
  53. package/dist/browser/hooks/useWeakNode.d.ts +4 -0
  54. package/dist/browser/hooks/useWeakNode.d.ts.map +1 -0
  55. package/dist/browser/hooks/useWeakNodeConfigNodeField.d.ts +4 -0
  56. package/dist/browser/hooks/useWeakNodeConfigNodeField.d.ts.map +1 -0
  57. package/dist/browser/hooks/useWeakNodeDescription.d.ts +4 -0
  58. package/dist/browser/hooks/useWeakNodeDescription.d.ts.map +1 -0
  59. package/dist/browser/hooks/useWeakNodeFromNode.d.ts +4 -0
  60. package/dist/browser/hooks/useWeakNodeFromNode.d.ts.map +1 -0
  61. package/dist/browser/hooks/useWeakNodesFromNode.d.ts +5 -0
  62. package/dist/browser/hooks/useWeakNodesFromNode.d.ts.map +1 -0
  63. package/dist/browser/index.d.ts +3 -99
  64. package/dist/browser/index.d.ts.map +1 -0
  65. package/dist/browser/index.mjs +1 -0
  66. package/dist/browser/index.mjs.map +1 -1
  67. package/package.json +58 -55
  68. package/src/components/Node.stories.tsx +8 -5
  69. package/src/components/NodeDrawer.stories.tsx +6 -2
  70. package/src/components/NodeDrawer.tsx +3 -1
  71. package/src/components/render/RenderModule.tsx +3 -5
  72. package/src/hooks/ModuleFromNodeConfig.ts +1 -0
  73. package/src/hooks/WeakModuleFromNodeConfig.ts +1 -0
  74. package/src/hooks/useModuleFilterOptions.ts +7 -2
  75. package/src/hooks/useWeakModuleFilterOptions.ts +7 -2
  76. package/xy.config.ts +1 -3
@@ -0,0 +1,9 @@
1
+ import type { FlexBoxProps } from '@xylabs/react-flexbox';
2
+ import type { NodeInstance } from '@xyo-network/node-model';
3
+ import React from 'react';
4
+ export interface NodeBoxProps extends FlexBoxProps {
5
+ node?: string | WeakRef<NodeInstance>;
6
+ variant?: 'description';
7
+ }
8
+ export declare const NodeBox: React.FC<NodeBoxProps>;
9
+ //# sourceMappingURL=Node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../../../src/components/Node.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,WAAW,YAAa,SAAQ,YAAY;IAChD,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IACrC,OAAO,CAAC,EAAE,aAAa,CAAA;CACxB;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAQ1C,CAAA"}
@@ -0,0 +1,8 @@
1
+ import type { FlexBoxProps } from '@xylabs/react-flexbox';
2
+ import type { NodeInstance } from '@xyo-network/node-model';
3
+ import React from 'react';
4
+ export interface NodeDescriptionBoxProps extends FlexBoxProps {
5
+ node?: string | WeakRef<NodeInstance>;
6
+ }
7
+ export declare const NodeDescriptionBox: React.FC<NodeDescriptionBoxProps>;
8
+ //# sourceMappingURL=NodeDescriptionBox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeDescriptionBox.d.ts","sourceRoot":"","sources":["../../../src/components/NodeDescriptionBox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,WAAW,uBAAwB,SAAQ,YAAY;IAC3D,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;CACtC;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAQhE,CAAA"}
@@ -0,0 +1,7 @@
1
+ import type { DrawerProps } from '@mui/material';
2
+ import type { WithChildren } from '@xylabs/react-shared';
3
+ import React from 'react';
4
+ export interface NodeDrawerProps extends WithChildren, Omit<DrawerProps, 'open'> {
5
+ }
6
+ export declare const NodeDrawer: React.FC<NodeDrawerProps>;
7
+ //# sourceMappingURL=NodeDrawer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeDrawer.d.ts","sourceRoot":"","sources":["../../../src/components/NodeDrawer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAKhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAExD,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,MAAM,WAAW,eAAgB,SAAQ,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC;CAAG;AAEnF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAmBhD,CAAA"}
@@ -0,0 +1,8 @@
1
+ import type { FlexBoxProps } from '@xylabs/react-flexbox';
2
+ import type { NodeInstance } from '@xyo-network/node-model';
3
+ import React from 'react';
4
+ export interface NodeDescriptionBoxProps extends FlexBoxProps {
5
+ node?: string | NodeInstance;
6
+ }
7
+ export declare const NodeDescriptionBox: React.FC<NodeDescriptionBoxProps>;
8
+ //# sourceMappingURL=NodeModulesBox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeModulesBox.d.ts","sourceRoot":"","sources":["../../../src/components/NodeModulesBox.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,WAAW,uBAAwB,SAAQ,YAAY;IAC3D,IAAI,CAAC,EAAE,MAAM,GAAG,YAAY,CAAA;CAC7B;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAUhE,CAAA"}
@@ -0,0 +1,14 @@
1
+ import { AbstractModuleInstance } from '@xyo-network/module-abstract';
2
+ import type { ModuleConfig, ModuleParams } from '@xyo-network/module-model';
3
+ import type { Query, Schema } from '@xyo-network/payload-model';
4
+ export type TestModuleConfigSchema = 'network.xyo.test.module';
5
+ export declare const TestModuleConfigSchema: TestModuleConfigSchema;
6
+ export declare class TestModule extends AbstractModuleInstance<ModuleParams<ModuleConfig<{
7
+ schema: TestModuleConfigSchema;
8
+ }>>> {
9
+ static readonly configSchemas: Schema[];
10
+ static readonly defaultConfigSchema: Schema;
11
+ get _queryAccountPaths(): Record<Query['schema'], string>;
12
+ }
13
+ export declare const init: () => Promise<void>;
14
+ //# sourceMappingURL=TestModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestModule.d.ts","sourceRoot":"","sources":["../../../src/components/TestModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC3E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAE/D,MAAM,MAAM,sBAAsB,GAAG,yBAAyB,CAAA;AAC9D,eAAO,MAAM,sBAAsB,EAAE,sBAAkD,CAAA;AAEvF,qBAAa,UAAW,SAAQ,sBAAsB,CAAC,YAAY,CAAC,YAAY,CAAC;IAAE,MAAM,EAAE,sBAAsB,CAAA;CAAE,CAAC,CAAC,CAAC;IACpH,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAmD;IACnG,gBAAyB,mBAAmB,EAAE,MAAM,CAAyB;IAC7E,IAAI,kBAAkB,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAExD;CACF;AAED,eAAO,MAAM,IAAI,qBAEhB,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './Node.tsx';
2
+ export * from './NodeDrawer.tsx';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA"}
@@ -0,0 +1,8 @@
1
+ import type { FlexBoxProps } from '@xylabs/react-flexbox';
2
+ import type { ModuleInstance } from '@xyo-network/module-model';
3
+ import React from 'react';
4
+ export interface ModuleDescriptionProps extends FlexBoxProps {
5
+ mod?: WeakRef<ModuleInstance> | null;
6
+ }
7
+ export declare const ModuleDescriptionBox: React.FC<ModuleDescriptionProps>;
8
+ //# sourceMappingURL=ModuleDescriptionBox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModuleDescriptionBox.d.ts","sourceRoot":"","sources":["../../../../src/components/render/ModuleDescriptionBox.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,KAAiB,MAAM,OAAO,CAAA;AAIrC,MAAM,WAAW,sBAAuB,SAAQ,YAAY;IAC1D,GAAG,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAAA;CACrC;AACD,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAwBjE,CAAA"}
@@ -0,0 +1,13 @@
1
+ import type { ModuleInstance } from '@xyo-network/module-model';
2
+ import type { MutableRefObject } from 'react';
3
+ import React from 'react';
4
+ interface RenderModuleProps {
5
+ idRef: MutableRefObject<{
6
+ idIncrementor: number;
7
+ ids: string[];
8
+ }>;
9
+ mod: WeakRef<ModuleInstance>;
10
+ }
11
+ export declare const RenderModule: React.FC<RenderModuleProps>;
12
+ export {};
13
+ //# sourceMappingURL=RenderModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderModule.d.ts","sourceRoot":"","sources":["../../../../src/components/render/RenderModule.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AAC7C,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,UAAU,iBAAiB;IACzB,KAAK,EAAE,gBAAgB,CAAC;QACtB,aAAa,EAAE,MAAM,CAAA;QACrB,GAAG,EAAE,MAAM,EAAE,CAAA;KACd,CAAC,CAAA;IACF,GAAG,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;CAC7B;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA4CpD,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './ModuleDescriptionBox.tsx';
2
+ export * from './RenderModule.tsx';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/render/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAA;AAC1C,cAAc,oBAAoB,CAAA"}
@@ -0,0 +1,9 @@
1
+ import type { Logger } from '@xylabs/logger';
2
+ import type { ModuleFilterOptions, ModuleInstance } from '@xyo-network/module-model';
3
+ import type { NodeInstance } from '@xyo-network/node-model';
4
+ export type ModuleFromNodeConfig<T extends ModuleInstance = ModuleInstance> = ModuleFilterOptions<T> & {
5
+ logger?: Logger;
6
+ node?: NodeInstance | string;
7
+ };
8
+ export declare const useModuleFromNodeConfigLogger: (config?: ModuleFromNodeConfig) => Logger | undefined;
9
+ //# sourceMappingURL=ModuleFromNodeConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModuleFromNodeConfig.d.ts","sourceRoot":"","sources":["../../../src/hooks/ModuleFromNodeConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AACpF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAE3D,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,IAAI,mBAAmB,CAAC,CAAC,CAAC,GAAG;IACrG,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,YAAY,GAAG,MAAM,CAAA;CAC7B,CAAA;AAGD,eAAO,MAAM,6BAA6B,YAAa,oBAAoB,uBAE1E,CAAA"}
@@ -0,0 +1,9 @@
1
+ import type { Logger } from '@xylabs/logger';
2
+ import type { ModuleFilterOptions } from '@xyo-network/module-model';
3
+ import type { NodeInstance } from '@xyo-network/node-model';
4
+ export type WeakModuleFromNodeConfig = ModuleFilterOptions & {
5
+ logger?: Logger;
6
+ node?: WeakRef<NodeInstance> | string;
7
+ };
8
+ export declare const useWeakModuleFromNodeConfigLogger: (config?: WeakModuleFromNodeConfig) => Logger | undefined;
9
+ //# sourceMappingURL=WeakModuleFromNodeConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WeakModuleFromNodeConfig.d.ts","sourceRoot":"","sources":["../../../src/hooks/WeakModuleFromNodeConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAE3D,MAAM,MAAM,wBAAwB,GAAG,mBAAmB,GAAG;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,MAAM,CAAA;CACtC,CAAA;AAGD,eAAO,MAAM,iCAAiC,YAAa,wBAAwB,uBAElF,CAAA"}
@@ -0,0 +1,18 @@
1
+ export * from './ModuleFromNodeConfig.ts';
2
+ export * from './provided/index.ts';
3
+ export * from './useModuleFilterOptions.ts';
4
+ export * from './useModuleFromNode.ts';
5
+ export * from './useModulesFromNode.ts';
6
+ export * from './useNode.ts';
7
+ export * from './useNodeConfigNodeField.ts';
8
+ export * from './useNodeDescription.ts';
9
+ export * from './useNodeFromNode.tsx';
10
+ export * from './useNodesFromNode.tsx';
11
+ export * from './useWeakModuleFilterOptions.ts';
12
+ export * from './useWeakModuleFromNode.ts';
13
+ export * from './useWeakModulesFromNode.ts';
14
+ export * from './useWeakNodeConfigNodeField.ts';
15
+ export * from './useWeakNodeDescription.ts';
16
+ export * from './useWeakNodeFromNode.tsx';
17
+ export * from './WeakModuleFromNodeConfig.ts';
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,qBAAqB,CAAA;AACnC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,cAAc,CAAA;AAC5B,cAAc,6BAA6B,CAAA;AAC3C,cAAc,yBAAyB,CAAA;AACvC,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,+BAA+B,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './useProvidedNode.tsx';
2
+ export * from './useWeakProvidedNode.tsx';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/provided/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,2BAA2B,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { NodeInstance } from '@xyo-network/node-model';
2
+ export declare const useProvidedNode: () => [NodeInstance | null | undefined];
3
+ //# sourceMappingURL=useProvidedNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useProvidedNode.d.ts","sourceRoot":"","sources":["../../../../src/hooks/provided/useProvidedNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAI3D,eAAO,MAAM,eAAe,QAAO,CAAC,YAAY,GAAG,IAAI,GAAG,SAAS,CAGlE,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { NodeInstance } from '@xyo-network/node-model';
2
+ export declare const useWeakProvidedNode: () => [WeakRef<NodeInstance> | null | undefined];
3
+ //# sourceMappingURL=useWeakProvidedNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWeakProvidedNode.d.ts","sourceRoot":"","sources":["../../../../src/hooks/provided/useWeakProvidedNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAI3D,eAAO,MAAM,mBAAmB,QAAO,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,GAAG,SAAS,CAI/E,CAAA"}
@@ -0,0 +1,19 @@
1
+ import type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts';
2
+ export declare const useModuleFilterOptions: (config?: ModuleFromNodeConfig) => {
3
+ direction: import("@xyo-network/module-model").Direction | undefined;
4
+ identity: import("@xylabs/object").TypeCheck<import("@xyo-network/module-model").ModuleInstance<import("@xylabs/object").BaseParamsFields & {
5
+ account?: import("@xyo-network/account-model").AccountInstance | "random";
6
+ addToResolvers?: boolean;
7
+ additionalSigners?: import("@xyo-network/account-model").AccountInstance[];
8
+ allowNameResolution?: boolean;
9
+ config: import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
10
+ schema: "network.xyo.module.config";
11
+ }, "schema"> & {
12
+ schema: string;
13
+ };
14
+ ephemeralQueryAccountEnabled?: boolean;
15
+ moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[];
16
+ }, import("@xyo-network/module-model").ModuleEventData<object>>> | undefined;
17
+ maxDepth: number | undefined;
18
+ };
19
+ //# sourceMappingURL=useModuleFilterOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useModuleFilterOptions.d.ts","sourceRoot":"","sources":["../../../src/hooks/useModuleFilterOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAGrE,eAAO,MAAM,sBAAsB,YAAa,oBAAoB;;;;;;;;;;;;;;;;CAOnE,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { ModuleInstance } from '@xyo-network/module-model';
2
+ import type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts';
3
+ export declare const useModuleFromNode: <T extends ModuleInstance | void = void>(nameOrAddressOrInstance?: string | (T extends ModuleInstance ? T : ModuleInstance) | undefined, config?: T extends ModuleInstance ? ModuleFromNodeConfig<T> : ModuleFromNodeConfig | undefined) => [(T extends ModuleInstance ? T : ModuleInstance) | undefined, Error | undefined];
4
+ //# sourceMappingURL=useModuleFromNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useModuleFromNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useModuleFromNode.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAI/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAMrE,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,cAAc,GAAG,IAAI,mCACtC,MAAM,GAAG,CAAC,CAAC,SAAS,cAAc,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,SAAS,WACpF,CAAC,SAAS,cAAc,GAAG,oBAAoB,CAAC,CAAC,CAAC,GAAG,oBAAoB,GAAG,SAAS,KAC7F,CAAC,CAAC,CAAC,SAAS,cAAc,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAoCjF,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { ModuleFilter, ModuleInstance } from '@xyo-network/module-model';
2
+ import type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts';
3
+ export declare const useModulesFromNode: (filter?: ModuleFilter, config?: ModuleFromNodeConfig) => [ModuleInstance[] | undefined, Error | undefined];
4
+ //# sourceMappingURL=useModulesFromNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useModulesFromNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useModulesFromNode.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAG7E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAKrE,eAAO,MAAM,kBAAkB,YAAa,YAAY,WAAW,oBAAoB,KAAG,CAAC,cAAc,EAAE,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CA0BzI,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { NodeInstance } from '@xyo-network/node-model';
2
+ import type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts';
3
+ export declare const useNode: (config?: ModuleFromNodeConfig | undefined) => [NodeInstance | undefined, Error | undefined];
4
+ //# sourceMappingURL=useNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useNode.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAG3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAIrE,eAAO,MAAM,OAAO,YAAa,oBAAoB,GAAG,SAAS,KAAG,CAAC,YAAY,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAS/G,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { NodeInstance } from '@xyo-network/node-model';
2
+ import type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts';
3
+ export declare const useNodeConfigNodeField: (config?: ModuleFromNodeConfig | undefined) => [string | undefined, NodeInstance | undefined];
4
+ //# sourceMappingURL=useNodeConfigNodeField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useNodeConfigNodeField.d.ts","sourceRoot":"","sources":["../../../src/hooks/useNodeConfigNodeField.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAG3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAErE,eAAO,MAAM,sBAAsB,YAAa,oBAAoB,GAAG,SAAS,KAAG,CAAC,MAAM,GAAG,SAAS,EAAE,YAAY,GAAG,SAAS,CAI/H,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { ModuleDescription } from '@xyo-network/module-model';
2
+ import type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts';
3
+ export declare const useNodeDescription: (config?: ModuleFromNodeConfig | undefined) => [ModuleDescription | undefined, Error | undefined];
4
+ //# sourceMappingURL=useNodeDescription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useNodeDescription.d.ts","sourceRoot":"","sources":["../../../src/hooks/useNodeDescription.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAA4B,MAAM,2BAA2B,CAAA;AAI5F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAGrE,eAAO,MAAM,kBAAkB,YAAa,oBAAoB,GAAG,SAAS,KAAG,CAAC,iBAAiB,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAO/H,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { NodeInstance } from '@xyo-network/node-model';
2
+ import type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts';
3
+ export declare const useNodeFromNode: (nameOrAddressOrInstance?: string | NodeInstance, config?: ModuleFromNodeConfig) => [NodeInstance | undefined, Error | undefined];
4
+ //# sourceMappingURL=useNodeFromNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useNodeFromNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useNodeFromNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAG3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAIrE,eAAO,MAAM,eAAe,6BACA,MAAM,GAAG,YAAY,WACtC,oBAAoB,KAC5B,CAAC,YAAY,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAS9C,CAAA"}
@@ -0,0 +1,5 @@
1
+ import type { ModuleFilter } from '@xyo-network/module-model';
2
+ import type { NodeInstance } from '@xyo-network/node-model';
3
+ import type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts';
4
+ export declare const useNodesFromNode: (filter?: ModuleFilter, config?: ModuleFromNodeConfig) => [NodeInstance[] | null | undefined, Error | undefined];
5
+ //# sourceMappingURL=useNodesFromNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useNodesFromNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useNodesFromNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAG3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAIrE,eAAO,MAAM,gBAAgB,YAAa,YAAY,WAAW,oBAAoB,KAAG,CAAC,YAAY,EAAE,GAAG,IAAI,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAiB5I,CAAA"}
@@ -0,0 +1,19 @@
1
+ import type { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig.ts';
2
+ export declare const useWeakModuleFilterOptions: (config?: WeakModuleFromNodeConfig) => {
3
+ direction: import("@xyo-network/module-model").Direction | undefined;
4
+ identity: import("@xylabs/object").TypeCheck<import("@xyo-network/module-model").ModuleInstance<import("@xylabs/object").BaseParamsFields & {
5
+ account?: import("@xyo-network/account-model").AccountInstance | "random";
6
+ addToResolvers?: boolean;
7
+ additionalSigners?: import("@xyo-network/account-model").AccountInstance[];
8
+ allowNameResolution?: boolean;
9
+ config: import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
10
+ schema: "network.xyo.module.config";
11
+ }, "schema"> & {
12
+ schema: string;
13
+ };
14
+ ephemeralQueryAccountEnabled?: boolean;
15
+ moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[];
16
+ }, import("@xyo-network/module-model").ModuleEventData<object>>> | undefined;
17
+ maxDepth: number | undefined;
18
+ };
19
+ //# sourceMappingURL=useWeakModuleFilterOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWeakModuleFilterOptions.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWeakModuleFilterOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AAG7E,eAAO,MAAM,0BAA0B,YAAa,wBAAwB;;;;;;;;;;;;;;;;CAO3E,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { ModuleInstance } from '@xyo-network/module-model';
2
+ import type { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig.ts';
3
+ export declare const useWeakModuleFromNode: <T extends ModuleInstance | void = void>(nameOrAddressOrInstance?: string | (T extends ModuleInstance ? T : ModuleInstance) | undefined, config?: WeakModuleFromNodeConfig) => [WeakRef<T extends ModuleInstance ? T : ModuleInstance> | undefined, Error | undefined];
4
+ //# sourceMappingURL=useWeakModuleFromNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWeakModuleFromNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWeakModuleFromNode.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAM/D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AAG7E,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,cAAc,GAAG,IAAI,mCAC1C,MAAM,GAAG,CAAC,CAAC,SAAS,cAAc,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,SAAS,WACpF,wBAAwB,KAChC,CAAC,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAqCxF,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { ModuleFilter, ModuleInstance } from '@xyo-network/module-model';
2
+ import type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts';
3
+ export declare const useWeakModulesFromNode: (filter?: ModuleFilter, config?: ModuleFromNodeConfig) => [WeakRef<ModuleInstance>[] | undefined, Error | undefined];
4
+ //# sourceMappingURL=useWeakModulesFromNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWeakModulesFromNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWeakModulesFromNode.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAG7E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAIrE,eAAO,MAAM,sBAAsB,YACxB,YAAY,WACZ,oBAAoB,KAC5B,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CA6B3D,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { NodeInstance } from '@xyo-network/node-model';
2
+ import type { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig.ts';
3
+ export declare const useWeakNode: (config?: WeakModuleFromNodeConfig | undefined) => [WeakRef<NodeInstance> | undefined, Error | undefined];
4
+ //# sourceMappingURL=useWeakNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWeakNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWeakNode.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAK3D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AAE7E,eAAO,MAAM,WAAW,YAAa,wBAAwB,GAAG,SAAS,KAAG,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAUhI,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { NodeInstance } from '@xyo-network/node-model';
2
+ import type { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig.ts';
3
+ export declare const useWeakNodeConfigNodeField: (config?: WeakModuleFromNodeConfig | undefined) => [string | undefined, WeakRef<NodeInstance> | undefined];
4
+ //# sourceMappingURL=useWeakNodeConfigNodeField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWeakNodeConfigNodeField.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWeakNodeConfigNodeField.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAG3D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AAE7E,eAAO,MAAM,0BAA0B,YAC5B,wBAAwB,GAAG,SAAS,KAC5C,CAAC,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,SAAS,CAIxD,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { ModuleDescription } from '@xyo-network/module-model';
2
+ import type { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig.ts';
3
+ export declare const useWeakNodeDescription: (config?: WeakModuleFromNodeConfig | undefined) => [ModuleDescription | undefined, Error | undefined];
4
+ //# sourceMappingURL=useWeakNodeDescription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWeakNodeDescription.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWeakNodeDescription.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAA4B,MAAM,2BAA2B,CAAA;AAK5F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AAE7E,eAAO,MAAM,sBAAsB,YAAa,wBAAwB,GAAG,SAAS,KAAG,CAAC,iBAAiB,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAOvI,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { NodeInstance } from '@xyo-network/node-model';
2
+ import type { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig.ts';
3
+ export declare const useWeakNodeFromNode: (nameOrAddressOrInstance?: string | NodeInstance, config?: WeakModuleFromNodeConfig) => [WeakRef<NodeInstance> | undefined, Error | undefined];
4
+ //# sourceMappingURL=useWeakNodeFromNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWeakNodeFromNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWeakNodeFromNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAI3D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AAE7E,eAAO,MAAM,mBAAmB,6BACJ,MAAM,GAAG,YAAY,WACtC,wBAAwB,KAChC,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAEvD,CAAA"}
@@ -0,0 +1,5 @@
1
+ import type { ModuleFilter } from '@xyo-network/module-model';
2
+ import type { NodeInstance } from '@xyo-network/node-model';
3
+ import type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts';
4
+ export declare const useWeakNodesFromNode: (filter?: ModuleFilter, config?: ModuleFromNodeConfig) => [WeakRef<NodeInstance>[] | null | undefined, Error | undefined];
5
+ //# sourceMappingURL=useWeakNodesFromNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWeakNodesFromNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWeakNodesFromNode.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAG3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAGrE,eAAO,MAAM,oBAAoB,YACtB,YAAY,WACZ,oBAAoB,KAC5B,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,GAAG,IAAI,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAchE,CAAA"}
@@ -1,101 +1,5 @@
1
- import { FlexBoxProps } from '@xylabs/react-flexbox';
2
- import { NodeInstance } from '@xyo-network/node-model';
3
- import React from 'react';
4
- import { DrawerProps } from '@mui/material';
5
- import { WithChildren } from '@xylabs/react-shared';
6
- import { Logger } from '@xylabs/logger';
7
- import * as _xyo_network_module_model from '@xyo-network/module-model';
8
- import { ModuleInstance, ModuleFilterOptions, ModuleFilter, ModuleDescription } from '@xyo-network/module-model';
9
- import * as _xyo_network_payload_model from '@xyo-network/payload-model';
10
- import * as _xyo_network_account_model from '@xyo-network/account-model';
11
- import * as _xylabs_object from '@xylabs/object';
1
+ export * from './components/index.ts';
2
+ export * from './hooks/index.ts';
12
3
  export * from '@xyo-network/react-node-context';
13
4
  export * from '@xyo-network/react-node-provider';
14
-
15
- interface NodeBoxProps extends FlexBoxProps {
16
- node?: string | WeakRef<NodeInstance>;
17
- variant?: 'description';
18
- }
19
- declare const NodeBox: React.FC<NodeBoxProps>;
20
-
21
- interface NodeDrawerProps extends WithChildren, Omit<DrawerProps, 'open'> {
22
- }
23
- declare const NodeDrawer: React.FC<NodeDrawerProps>;
24
-
25
- type ModuleFromNodeConfig<T extends ModuleInstance = ModuleInstance> = ModuleFilterOptions<T> & {
26
- logger?: Logger;
27
- node?: NodeInstance | string;
28
- };
29
- declare const useModuleFromNodeConfigLogger: (config?: ModuleFromNodeConfig) => Logger | undefined;
30
-
31
- declare const useProvidedNode: () => [NodeInstance | null | undefined];
32
-
33
- declare const useWeakProvidedNode: () => [WeakRef<NodeInstance> | null | undefined];
34
-
35
- declare const useModuleFilterOptions: (config?: ModuleFromNodeConfig) => {
36
- direction: _xyo_network_module_model.Direction | undefined;
37
- identity: _xylabs_object.TypeCheck<_xyo_network_module_model.ModuleInstance<_xylabs_object.BaseParamsFields & {
38
- account?: _xyo_network_account_model.AccountInstance | "random";
39
- addToResolvers?: boolean;
40
- additionalSigners?: _xyo_network_account_model.AccountInstance[];
41
- allowNameResolution?: boolean;
42
- config: _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & Omit<_xyo_network_module_model.ArchivingModuleConfig & _xyo_network_module_model.ModuleConfigFields & _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & {
43
- schema: "network.xyo.module.config";
44
- }, "schema"> & {
45
- schema: string;
46
- };
47
- ephemeralQueryAccountEnabled?: boolean;
48
- moduleIdentifierTransformers?: _xyo_network_module_model.ModuleIdentifierTransformer[];
49
- }, _xyo_network_module_model.ModuleEventData<object>>> | undefined;
50
- maxDepth: number | undefined;
51
- };
52
-
53
- declare const useModuleFromNode: <T extends ModuleInstance | void = void>(nameOrAddressOrInstance?: string | (T extends ModuleInstance ? T : ModuleInstance) | undefined, config?: T extends ModuleInstance ? ModuleFromNodeConfig<T> : ModuleFromNodeConfig | undefined) => [(T extends ModuleInstance ? T : ModuleInstance) | undefined, Error | undefined];
54
-
55
- declare const useModulesFromNode: (filter?: ModuleFilter, config?: ModuleFromNodeConfig) => [ModuleInstance[] | undefined, Error | undefined];
56
-
57
- declare const useNode: (config?: ModuleFromNodeConfig | undefined) => [NodeInstance | undefined, Error | undefined];
58
-
59
- declare const useNodeConfigNodeField: (config?: ModuleFromNodeConfig | undefined) => [string | undefined, NodeInstance | undefined];
60
-
61
- declare const useNodeDescription: (config?: ModuleFromNodeConfig | undefined) => [ModuleDescription | undefined, Error | undefined];
62
-
63
- declare const useNodeFromNode: (nameOrAddressOrInstance?: string | NodeInstance, config?: ModuleFromNodeConfig) => [NodeInstance | undefined, Error | undefined];
64
-
65
- declare const useNodesFromNode: (filter?: ModuleFilter, config?: ModuleFromNodeConfig) => [NodeInstance[] | null | undefined, Error | undefined];
66
-
67
- type WeakModuleFromNodeConfig = ModuleFilterOptions & {
68
- logger?: Logger;
69
- node?: WeakRef<NodeInstance> | string;
70
- };
71
- declare const useWeakModuleFromNodeConfigLogger: (config?: WeakModuleFromNodeConfig) => Logger | undefined;
72
-
73
- declare const useWeakModuleFilterOptions: (config?: WeakModuleFromNodeConfig) => {
74
- direction: _xyo_network_module_model.Direction | undefined;
75
- identity: _xylabs_object.TypeCheck<_xyo_network_module_model.ModuleInstance<_xylabs_object.BaseParamsFields & {
76
- account?: _xyo_network_account_model.AccountInstance | "random";
77
- addToResolvers?: boolean;
78
- additionalSigners?: _xyo_network_account_model.AccountInstance[];
79
- allowNameResolution?: boolean;
80
- config: _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & Omit<_xyo_network_module_model.ArchivingModuleConfig & _xyo_network_module_model.ModuleConfigFields & _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & {
81
- schema: "network.xyo.module.config";
82
- }, "schema"> & {
83
- schema: string;
84
- };
85
- ephemeralQueryAccountEnabled?: boolean;
86
- moduleIdentifierTransformers?: _xyo_network_module_model.ModuleIdentifierTransformer[];
87
- }, _xyo_network_module_model.ModuleEventData<object>>> | undefined;
88
- maxDepth: number | undefined;
89
- };
90
-
91
- declare const useWeakModuleFromNode: <T extends ModuleInstance | void = void>(nameOrAddressOrInstance?: string | (T extends ModuleInstance ? T : ModuleInstance) | undefined, config?: WeakModuleFromNodeConfig) => [WeakRef<T extends ModuleInstance ? T : ModuleInstance> | undefined, Error | undefined];
92
-
93
- declare const useWeakModulesFromNode: (filter?: ModuleFilter, config?: ModuleFromNodeConfig) => [WeakRef<ModuleInstance>[] | undefined, Error | undefined];
94
-
95
- declare const useWeakNodeConfigNodeField: (config?: WeakModuleFromNodeConfig | undefined) => [string | undefined, WeakRef<NodeInstance> | undefined];
96
-
97
- declare const useWeakNodeDescription: (config?: WeakModuleFromNodeConfig | undefined) => [ModuleDescription | undefined, Error | undefined];
98
-
99
- declare const useWeakNodeFromNode: (nameOrAddressOrInstance?: string | NodeInstance, config?: WeakModuleFromNodeConfig) => [WeakRef<NodeInstance> | undefined, Error | undefined];
100
-
101
- export { type ModuleFromNodeConfig, NodeBox, type NodeBoxProps, NodeDrawer, type NodeDrawerProps, type WeakModuleFromNodeConfig, useModuleFilterOptions, useModuleFromNode, useModuleFromNodeConfigLogger, useModulesFromNode, useNode, useNodeConfigNodeField, useNodeDescription, useNodeFromNode, useNodesFromNode, useProvidedNode, useWeakModuleFilterOptions, useWeakModuleFromNode, useWeakModuleFromNodeConfigLogger, useWeakModulesFromNode, useWeakNodeConfigNodeField, useWeakNodeDescription, useWeakNodeFromNode, useWeakProvidedNode };
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA;AAChC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,kCAAkC,CAAA"}
@@ -412,6 +412,7 @@ var NodeDescriptionBox = /* @__PURE__ */ __name(({ node, ...props }) => {
412
412
  // src/components/Node.tsx
413
413
  var NodeBox = /* @__PURE__ */ __name(({ variant, ...props }) => {
414
414
  switch (variant) {
415
+ // eslint-disable-next-line unicorn/no-useless-switch-case
415
416
  case "description":
416
417
  default: {
417
418
  return /* @__PURE__ */ React2.createElement(NodeDescriptionBox, props);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/Node.tsx","../../src/components/NodeDescriptionBox.tsx","../../src/hooks/ModuleFromNodeConfig.ts","../../src/hooks/provided/useProvidedNode.tsx","../../src/hooks/provided/useWeakProvidedNode.tsx","../../src/hooks/useModuleFilterOptions.ts","../../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/useWeakModuleFilterOptions.ts","../../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 { 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 useModuleFromNodeConfigLogger = (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 { useContext } from 'react'\n\nexport const useProvidedNode = (): [NodeInstance | null | undefined] => {\n const { node } = useContext(NodeContext)\n return [node]\n}\n","import type { NodeInstance } from '@xyo-network/node-model'\nimport { NodeContext } from '@xyo-network/react-node-context'\nimport { useContext, useMemo } from 'react'\n\nexport const useWeakProvidedNode = (): [WeakRef<NodeInstance> | null | undefined] => {\n const { node } = useContext(NodeContext)\n const weakNode = useMemo(() => (node ? new WeakRef(node) : null), [node])\n return [weakNode]\n}\n","import type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts'\n\nexport const useModuleFilterOptions = (config?: ModuleFromNodeConfig) => {\n const { direction, identity, maxDepth } = config ?? {}\n return { direction, identity, maxDepth }\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 type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts'\nimport { useModuleFromNodeConfigLogger } from './ModuleFromNodeConfig.ts'\nimport { useModuleFilterOptions } from './useModuleFilterOptions.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 = useModuleFromNodeConfigLogger(config)\n const filterOptions = useModuleFilterOptions(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 return\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 { usePromise } from '@xylabs/react-promise'\nimport type { ModuleFilter, ModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts'\nimport { useModuleFilterOptions } from './useModuleFilterOptions.ts'\nimport { useNode } from './useNode.ts'\n\n/** @deprecated use useModulesFromNode */\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 ({ mod }) => {\n logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`)\n const moduleInstances = filter ? await node.resolve(filter, filterOptions) : await node.resolve('*', filterOptions)\n setResult(moduleInstances)\n })\n node.on('moduleDetached', async ({ mod }) => {\n logger?.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`)\n const moduleInstances = filter ? await node.resolve(filter, filterOptions) : await node.resolve('*', filterOptions)\n setResult(moduleInstances)\n })\n const moduleInstances = filter ? await node.resolve(filter, filterOptions) : await node.resolve('*', filterOptions)\n setResult(moduleInstances)\n return moduleInstances\n }\n console.log('Result: No Node')\n return\n }, [node, filter])\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 { ModuleFilter } 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 = (filter?: ModuleFilter, config?: ModuleFromNodeConfig): [NodeInstance[] | null | undefined, Error | undefined] => {\n const [modules, error] = useModulesFromNode(filter, 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 { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig.ts'\n\nexport const useWeakModuleFilterOptions = (config?: WeakModuleFromNodeConfig) => {\n const { direction, identity, maxDepth } = config ?? {}\n return { direction, identity, maxDepth }\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 { useWeakModuleFilterOptions } from './useWeakModuleFilterOptions.ts'\nimport { useWeakNode } from './useWeakNode.ts'\nimport type { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig.ts'\nimport { useWeakModuleFromNodeConfigLogger } 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 = useWeakModuleFromNodeConfigLogger(config)\n const filterOptions = useWeakModuleFilterOptions(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 return\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 { 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 && nodeAddress) {\n return new WeakRef(asNodeInstance(await providedNodeInstance.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 { 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 useWeakModuleFromNodeConfigLogger = (config?: WeakModuleFromNodeConfig) => {\n return config?.logger\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport type { ModuleFilter, ModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts'\nimport { useModuleFilterOptions } from './useModuleFilterOptions.ts'\nimport { useNode } from './useNode.ts'\n\nexport const useWeakModulesFromNode = (\n filter?: ModuleFilter,\n config?: ModuleFromNodeConfig,\n): [WeakRef<ModuleInstance>[] | undefined, Error | undefined] => {\n const [node, nodeError] = useNode(config)\n const logger = config?.logger\n const filterOptions = useModuleFilterOptions()\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 nodeInstance.on('moduleAttached', async ({ mod }) => {\n const nodeInstance = node\n logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`)\n const moduleInstances = filter ? await nodeInstance?.resolve(filter, filterOptions) : await nodeInstance?.resolve('*', filterOptions)\n setResult(moduleInstances?.map(mod => new WeakRef(mod)))\n })\n nodeInstance.on('moduleDetached', async ({ mod }) => {\n const nodeInstance = node\n logger?.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`)\n const moduleInstances = filter ? await nodeInstance?.resolve(filter, filterOptions) : await nodeInstance?.resolve('*', filterOptions)\n setResult(moduleInstances?.map(mod => new WeakRef(mod)))\n })\n const moduleInstances = filter ? await nodeInstance.resolve(filter, filterOptions) : await nodeInstance.resolve('*', filterOptions)\n setResult(moduleInstances?.map(mod => new WeakRef(mod)))\n return moduleInstances\n }\n console.log('Result: No Node')\n return\n }, [node, filter])\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 { ClickAwayListener, Drawer, 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'\nimport React from 'react'\n\nimport { useWeakProvidedNode } from '../hooks/index.ts'\nimport { ModuleDescriptionBox } from './render/index.ts'\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] = 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 { TreeView } 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 defaultCollapseIcon={<ExpandMoreIcon />}\n defaultExpandIcon={<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(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 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 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 ? (\n <TreeItem nodeId={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': {\n marginBottom: theme.spacing(0.25),\n },\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","useModuleFromNodeConfigLogger","config","logger","NodeContext","useContext","useProvidedNode","node","useContext","NodeContext","NodeContext","useContext","useMemo","useWeakProvidedNode","node","useContext","NodeContext","weakNode","useMemo","WeakRef","useModuleFilterOptions","config","direction","identity","maxDepth","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","useModuleFromNodeConfigLogger","filterOptions","useModuleFilterOptions","result","setResult","useState","error","usePromise","debug","identity","isModuleInstance","on","mod","name","address","resolve","usePromise","useState","useModulesFromNode","filter","config","node","nodeError","useNode","logger","filterOptions","useModuleFilterOptions","result","setResult","useState","error","usePromise","debug","on","mod","name","address","moduleInstances","resolve","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","filter","config","modules","error","useModulesFromNode","reduce","prev","mod","isNodeInstance","push","undefined","useWeakModuleFilterOptions","config","direction","identity","maxDepth","usePromise","isModuleInstance","useState","usePromise","asNodeInstance","useMemo","useWeakNodeConfigNodeField","config","nodeAddress","useMemo","node","undefined","nodeInstance","useWeakNode","config","nodeAddress","nodeInstance","useWeakNodeConfigNodeField","providedNode","useWeakProvidedNode","nodeAddressNode","error","usePromise","providedNodeInstance","deref","WeakRef","asNodeInstance","resolve","undefined","useWeakModuleFromNodeConfigLogger","config","logger","useWeakModuleFromNode","nameOrAddressOrInstance","undefined","config","node","nodeError","useWeakNode","logger","useWeakModuleFromNodeConfigLogger","filterOptions","useWeakModuleFilterOptions","result","setResult","useState","error","usePromise","debug","identity","isModuleInstance","nodeInstance","deref","on","mod","name","address","WeakRef","resolve","usePromise","useState","useWeakModulesFromNode","filter","config","node","nodeError","useNode","logger","filterOptions","useModuleFilterOptions","result","setResult","useState","error","usePromise","debug","nodeInstance","on","mod","name","address","moduleInstances","resolve","map","WeakRef","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","TreeView","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","nodeId","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","defaultCollapseIcon","ExpandMoreIcon","defaultExpandIcon","ChevronRightIcon","sx","flexGrow","RenderModule","styled","TreeView","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/Node.tsx","../../src/components/NodeDescriptionBox.tsx","../../src/hooks/ModuleFromNodeConfig.ts","../../src/hooks/provided/useProvidedNode.tsx","../../src/hooks/provided/useWeakProvidedNode.tsx","../../src/hooks/useModuleFilterOptions.ts","../../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/useWeakModuleFilterOptions.ts","../../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 { 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\n// eslint-disable-next-line @eslint-react/hooks-extra/ensure-custom-hooks-using-other-hooks\nexport const useModuleFromNodeConfigLogger = (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 { useContext } from 'react'\n\nexport const useProvidedNode = (): [NodeInstance | null | undefined] => {\n const { node } = useContext(NodeContext)\n return [node]\n}\n","import type { NodeInstance } from '@xyo-network/node-model'\nimport { NodeContext } from '@xyo-network/react-node-context'\nimport { useContext, useMemo } from 'react'\n\nexport const useWeakProvidedNode = (): [WeakRef<NodeInstance> | null | undefined] => {\n const { node } = useContext(NodeContext)\n const weakNode = useMemo(() => (node ? new WeakRef(node) : null), [node])\n return [weakNode]\n}\n","import type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts'\n\n// eslint-disable-next-line @eslint-react/hooks-extra/ensure-custom-hooks-using-other-hooks\nexport const useModuleFilterOptions = (config?: ModuleFromNodeConfig) => {\n const {\n direction, identity, maxDepth,\n } = config ?? {}\n return {\n direction, identity, maxDepth,\n }\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 type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts'\nimport { useModuleFromNodeConfigLogger } from './ModuleFromNodeConfig.ts'\nimport { useModuleFilterOptions } from './useModuleFilterOptions.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 = useModuleFromNodeConfigLogger(config)\n const filterOptions = useModuleFilterOptions(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 return\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 { usePromise } from '@xylabs/react-promise'\nimport type { ModuleFilter, ModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts'\nimport { useModuleFilterOptions } from './useModuleFilterOptions.ts'\nimport { useNode } from './useNode.ts'\n\n/** @deprecated use useModulesFromNode */\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 ({ mod }) => {\n logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`)\n const moduleInstances = filter ? await node.resolve(filter, filterOptions) : await node.resolve('*', filterOptions)\n setResult(moduleInstances)\n })\n node.on('moduleDetached', async ({ mod }) => {\n logger?.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`)\n const moduleInstances = filter ? await node.resolve(filter, filterOptions) : await node.resolve('*', filterOptions)\n setResult(moduleInstances)\n })\n const moduleInstances = filter ? await node.resolve(filter, filterOptions) : await node.resolve('*', filterOptions)\n setResult(moduleInstances)\n return moduleInstances\n }\n console.log('Result: No Node')\n return\n }, [node, filter])\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 { ModuleFilter } 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 = (filter?: ModuleFilter, config?: ModuleFromNodeConfig): [NodeInstance[] | null | undefined, Error | undefined] => {\n const [modules, error] = useModulesFromNode(filter, 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 { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig.ts'\n\n// eslint-disable-next-line @eslint-react/hooks-extra/ensure-custom-hooks-using-other-hooks\nexport const useWeakModuleFilterOptions = (config?: WeakModuleFromNodeConfig) => {\n const {\n direction, identity, maxDepth,\n } = config ?? {}\n return {\n direction, identity, maxDepth,\n }\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 { useWeakModuleFilterOptions } from './useWeakModuleFilterOptions.ts'\nimport { useWeakNode } from './useWeakNode.ts'\nimport type { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig.ts'\nimport { useWeakModuleFromNodeConfigLogger } 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 = useWeakModuleFromNodeConfigLogger(config)\n const filterOptions = useWeakModuleFilterOptions(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 return\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 { 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 && nodeAddress) {\n return new WeakRef(asNodeInstance(await providedNodeInstance.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 { 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\n// eslint-disable-next-line @eslint-react/hooks-extra/ensure-custom-hooks-using-other-hooks\nexport const useWeakModuleFromNodeConfigLogger = (config?: WeakModuleFromNodeConfig) => {\n return config?.logger\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport type { ModuleFilter, ModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts'\nimport { useModuleFilterOptions } from './useModuleFilterOptions.ts'\nimport { useNode } from './useNode.ts'\n\nexport const useWeakModulesFromNode = (\n filter?: ModuleFilter,\n config?: ModuleFromNodeConfig,\n): [WeakRef<ModuleInstance>[] | undefined, Error | undefined] => {\n const [node, nodeError] = useNode(config)\n const logger = config?.logger\n const filterOptions = useModuleFilterOptions()\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 nodeInstance.on('moduleAttached', async ({ mod }) => {\n const nodeInstance = node\n logger?.debug(`useModuleFromNode: moduleAttached [${mod.config.name ?? mod.address}]`)\n const moduleInstances = filter ? await nodeInstance?.resolve(filter, filterOptions) : await nodeInstance?.resolve('*', filterOptions)\n setResult(moduleInstances?.map(mod => new WeakRef(mod)))\n })\n nodeInstance.on('moduleDetached', async ({ mod }) => {\n const nodeInstance = node\n logger?.debug(`useModuleFromNode: moduleDetached [${mod.config.name ?? mod.address}]`)\n const moduleInstances = filter ? await nodeInstance?.resolve(filter, filterOptions) : await nodeInstance?.resolve('*', filterOptions)\n setResult(moduleInstances?.map(mod => new WeakRef(mod)))\n })\n const moduleInstances = filter ? await nodeInstance.resolve(filter, filterOptions) : await nodeInstance.resolve('*', filterOptions)\n setResult(moduleInstances?.map(mod => new WeakRef(mod)))\n return moduleInstances\n }\n console.log('Result: No Node')\n return\n }, [node, filter])\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 type { WithChildren } from '@xylabs/react-shared'\nimport { useNodeDrawer } from '@xyo-network/react-node-provider'\nimport React from 'react'\n\nimport { useWeakProvidedNode } from '../hooks/index.ts'\nimport { ModuleDescriptionBox } from './render/index.ts'\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] = 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 { TreeView } 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 defaultCollapseIcon={<ExpandMoreIcon />}\n defaultExpandIcon={<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(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 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 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 ? (\n <TreeItem nodeId={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","useModuleFromNodeConfigLogger","config","logger","NodeContext","useContext","useProvidedNode","node","useContext","NodeContext","NodeContext","useContext","useMemo","useWeakProvidedNode","node","useContext","NodeContext","weakNode","useMemo","WeakRef","useModuleFilterOptions","config","direction","identity","maxDepth","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","useModuleFromNodeConfigLogger","filterOptions","useModuleFilterOptions","result","setResult","useState","error","usePromise","debug","identity","isModuleInstance","on","mod","name","address","resolve","usePromise","useState","useModulesFromNode","filter","config","node","nodeError","useNode","logger","filterOptions","useModuleFilterOptions","result","setResult","useState","error","usePromise","debug","on","mod","name","address","moduleInstances","resolve","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","filter","config","modules","error","useModulesFromNode","reduce","prev","mod","isNodeInstance","push","undefined","useWeakModuleFilterOptions","config","direction","identity","maxDepth","usePromise","isModuleInstance","useState","usePromise","asNodeInstance","useMemo","useWeakNodeConfigNodeField","config","nodeAddress","useMemo","node","undefined","nodeInstance","useWeakNode","config","nodeAddress","nodeInstance","useWeakNodeConfigNodeField","providedNode","useWeakProvidedNode","nodeAddressNode","error","usePromise","providedNodeInstance","deref","WeakRef","asNodeInstance","resolve","undefined","useWeakModuleFromNodeConfigLogger","config","logger","useWeakModuleFromNode","nameOrAddressOrInstance","undefined","config","node","nodeError","useWeakNode","logger","useWeakModuleFromNodeConfigLogger","filterOptions","useWeakModuleFilterOptions","result","setResult","useState","error","usePromise","debug","identity","isModuleInstance","nodeInstance","deref","on","mod","name","address","WeakRef","resolve","usePromise","useState","useWeakModulesFromNode","filter","config","node","nodeError","useNode","logger","filterOptions","useModuleFilterOptions","result","setResult","useState","error","usePromise","debug","nodeInstance","on","mod","name","address","moduleInstances","resolve","map","WeakRef","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","TreeView","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","nodeId","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","defaultCollapseIcon","ExpandMoreIcon","defaultExpandIcon","ChevronRightIcon","sx","flexGrow","RenderModule","styled","TreeView","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"]}
package/package.json CHANGED
@@ -1,85 +1,88 @@
1
1
  {
2
2
  "name": "@xyo-network/react-node",
3
+ "version": "3.0.3",
4
+ "description": "Common React library for all XYO projects that use React",
5
+ "keywords": [
6
+ "xyo",
7
+ "utility",
8
+ "typescript",
9
+ "react"
10
+ ],
11
+ "homepage": "https://xyo.network",
12
+ "bugs": {
13
+ "url": "git+https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues",
14
+ "email": "support@xyo.network"
15
+ },
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "git+https://github.com/XYOracleNetwork/sdk-xyo-react-js.git"
19
+ },
20
+ "license": "LGPL-3.0-only",
3
21
  "author": {
4
- "email": "support@xyo.network",
5
22
  "name": "XYO Development Team",
23
+ "email": "support@xyo.network",
6
24
  "url": "https://xyo.network"
7
25
  },
8
- "bugs": {
9
- "email": "support@xyo.network",
10
- "url": "git+https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues"
26
+ "sideEffects": false,
27
+ "type": "module",
28
+ "exports": {
29
+ ".": {
30
+ "import": {
31
+ "types": "./dist/browser/index.d.ts",
32
+ "default": "./dist/browser/index.mjs"
33
+ },
34
+ "types": "./dist/browser/index.d.ts",
35
+ "default": "./dist/browser/index.mjs"
36
+ },
37
+ "./package.json": "./package.json"
38
+ },
39
+ "module": "dist/browser/index.mjs",
40
+ "types": "dist/browser/index.d.ts",
41
+ "scripts": {
42
+ "license": "yarn license-checker --exclude \"MIT, ISC, Apache-2.0, BSD, BSD-2-Clause, CC-BY-4.0, Unlicense, CC-BY-3.0, CC0-1.0\"",
43
+ "lint-pkg": "npmPkgJsonLint ."
11
44
  },
12
45
  "dependencies": {
13
- "@emotion/react": "^11.13.0",
46
+ "@emotion/react": "^11.13.3",
14
47
  "@emotion/styled": "^11.13.0",
15
48
  "@mui/icons-material": "^5.16.7",
16
49
  "@mui/material": "^5.16.7",
17
50
  "@mui/styles": "^5.16.7",
18
51
  "@mui/system": "^5.16.7",
19
- "@mui/x-tree-view": "^7.13.0",
20
- "@xylabs/exists": "^4.0.2",
21
- "@xylabs/logger": "^4.0.2",
22
- "@xylabs/object": "^4.0.2",
52
+ "@mui/x-tree-view": "^7.14.0",
53
+ "@xylabs/exists": "^4.0.5",
54
+ "@xylabs/logger": "^4.0.5",
55
+ "@xylabs/object": "^4.0.5",
23
56
  "@xylabs/react-async-effect": "^4.0.3",
24
57
  "@xylabs/react-flexbox": "^4.0.3",
25
58
  "@xylabs/react-promise": "^4.0.3",
26
59
  "@xylabs/react-shared": "^4.0.3",
27
- "@xyo-network/module-abstract": "^3.0.3",
28
- "@xyo-network/module-model": "^3.0.3",
29
- "@xyo-network/node-model": "^3.0.3",
30
- "@xyo-network/payload-model": "^3.0.3",
31
- "@xyo-network/react-node-context": "^3.0.2",
32
- "@xyo-network/react-node-provider": "^3.0.2"
60
+ "@xyo-network/module-abstract": "^3.0.15",
61
+ "@xyo-network/module-model": "^3.0.15",
62
+ "@xyo-network/node-model": "^3.0.15",
63
+ "@xyo-network/payload-model": "^3.0.15",
64
+ "@xyo-network/react-node-context": "^3.0.3",
65
+ "@xyo-network/react-node-provider": "^3.0.3"
33
66
  },
34
67
  "devDependencies": {
35
68
  "@storybook/react": "^8.2.9",
36
- "@xylabs/ts-scripts-yarn3": "^4.0.0-rc.20",
37
- "@xylabs/tsconfig-react": "^4.0.0-rc.20",
38
- "@xyo-network/node-memory": "^3.0.3",
39
- "@xyo-network/payload-model": "^3.0.3",
40
- "@xyo-network/react-storybook": "^3.0.2",
41
- "@xyo-network/react-wallet": "^3.0.2",
69
+ "@xylabs/ts-scripts-yarn3": "^4.0.7",
70
+ "@xylabs/tsconfig-react": "^4.0.7",
71
+ "@xyo-network/node-memory": "^3.0.15",
72
+ "@xyo-network/payload-model": "^3.0.15",
73
+ "@xyo-network/react-storybook": "^3.0.3",
74
+ "@xyo-network/react-wallet": "^3.0.3",
75
+ "react": "^18.3.1",
76
+ "react-dom": "^18.3.1",
77
+ "storybook": "^8.2.9",
42
78
  "typescript": "^5.5.4"
43
79
  },
44
80
  "peerDependencies": {
45
81
  "react": "^18",
46
82
  "react-dom": "^18"
47
83
  },
48
- "description": "Common React library for all XYO projects that use React",
49
- "docs": "dist/docs.json",
50
- "exports": {
51
- ".": {
52
- "import": {
53
- "types": "./dist/browser/index.d.ts",
54
- "default": "./dist/browser/index.mjs"
55
- },
56
- "types": "./dist/browser/index.d.ts",
57
- "default": "./dist/browser/index.mjs"
58
- },
59
- "./package.json": "./package.json"
60
- },
61
- "module": "dist/browser/index.mjs",
62
- "homepage": "https://xyo.network",
63
- "keywords": [
64
- "xyo",
65
- "utility",
66
- "typescript",
67
- "react"
68
- ],
69
- "license": "LGPL-3.0-only",
70
84
  "publishConfig": {
71
85
  "access": "public"
72
86
  },
73
- "repository": {
74
- "type": "git",
75
- "url": "git+https://github.com/XYOracleNetwork/sdk-xyo-react-js.git"
76
- },
77
- "scripts": {
78
- "lint-pkg": "npmPkgJsonLint .",
79
- "license": "yarn license-checker --exclude \"MIT, ISC, Apache-2.0, BSD, BSD-2-Clause, CC-BY-4.0, Unlicense, CC-BY-3.0, CC0-1.0\""
80
- },
81
- "sideEffects": false,
82
- "types": "dist/browser/index.d.ts",
83
- "version": "3.0.2",
84
- "type": "module"
87
+ "docs": "dist/docs.json"
85
88
  }
@@ -1,4 +1,6 @@
1
- import type { Decorator, Meta, StoryFn } from '@storybook/react'
1
+ import type {
2
+ Decorator, Meta, StoryFn,
3
+ } from '@storybook/react'
2
4
  import { useAsyncEffect } from '@xylabs/react-async-effect'
3
5
  import type { MemoryNode } from '@xyo-network/node-memory'
4
6
  import { NodeConfigSchema } from '@xyo-network/node-model'
@@ -25,9 +27,7 @@ const MemoryNodeDecorator: Decorator = (Story, args) => {
25
27
  )
26
28
  }
27
29
 
28
- export default {
29
- title: 'modules/node/NodeBox',
30
- } as Meta
30
+ export default { title: 'modules/node/NodeBox' } as Meta
31
31
 
32
32
  const Template: StoryFn<React.FC> = () => {
33
33
  const [node] = useWeakProvidedNode() as [WeakRef<MemoryNode>]
@@ -40,7 +40,10 @@ const Template: StoryFn<React.FC> = () => {
40
40
  const nodeInstance = node?.deref()
41
41
  if (nodeInstance && account) {
42
42
  try {
43
- const mod = await TestModule.create({ account, config: { name: TestModuleName, schema: TestModuleConfigSchema } })
43
+ const mod = await TestModule.create({
44
+ account,
45
+ config: { name: TestModuleName, schema: TestModuleConfigSchema },
46
+ })
44
47
  await nodeInstance.register(mod)
45
48
  await nodeInstance.attach(mod.address, true)
46
49
  } catch (e) {
@@ -1,8 +1,12 @@
1
1
  import { Button } from '@mui/material'
2
- import type { Decorator, Meta, StoryFn } from '@storybook/react'
2
+ import type {
3
+ Decorator, Meta, StoryFn,
4
+ } from '@storybook/react'
3
5
  import { FlexCol } from '@xylabs/react-flexbox'
4
6
  import { NodeConfigSchema } from '@xyo-network/node-model'
5
- import { MemoryNodeProvider, NodeDrawerProvider, useNodeDrawer } from '@xyo-network/react-node-provider'
7
+ import {
8
+ MemoryNodeProvider, NodeDrawerProvider, useNodeDrawer,
9
+ } from '@xyo-network/react-node-provider'
6
10
  import React from 'react'
7
11
 
8
12
  import { NodeDrawer } from './NodeDrawer.tsx'
@@ -1,6 +1,8 @@
1
1
  import { Close as CloseIcon } from '@mui/icons-material'
2
2
  import type { DrawerProps } from '@mui/material'
3
- import { ClickAwayListener, Drawer, IconButton } from '@mui/material'
3
+ import {
4
+ ClickAwayListener, Drawer, IconButton,
5
+ } from '@mui/material'
4
6
  import { FlexGrowCol, FlexRow } from '@xylabs/react-flexbox'
5
7
  import type { WithChildren } from '@xylabs/react-shared'
6
8
  import { useNodeDrawer } from '@xyo-network/react-node-provider'
@@ -59,8 +59,6 @@ export const RenderModule: React.FC<RenderModuleProps> = ({ mod, idRef }) => {
59
59
  )
60
60
  }
61
61
 
62
- const StyledAddressTreeItem = styled(TreeItem, { name: 'StyledAddressTreeItem' })(({ theme }) => ({
63
- '& .MuiTreeItem-content': {
64
- marginBottom: theme.spacing(0.25),
65
- },
66
- }))
62
+ const StyledAddressTreeItem = styled(TreeItem, { name: 'StyledAddressTreeItem' })(({ theme }) => (
63
+ { '& .MuiTreeItem-content': { marginBottom: theme.spacing(0.25) } }
64
+ ))
@@ -7,6 +7,7 @@ export type ModuleFromNodeConfig<T extends ModuleInstance = ModuleInstance> = Mo
7
7
  node?: NodeInstance | string
8
8
  }
9
9
 
10
+ // eslint-disable-next-line @eslint-react/hooks-extra/ensure-custom-hooks-using-other-hooks
10
11
  export const useModuleFromNodeConfigLogger = (config?: ModuleFromNodeConfig) => {
11
12
  return config?.logger
12
13
  }
@@ -7,6 +7,7 @@ export type WeakModuleFromNodeConfig = ModuleFilterOptions & {
7
7
  node?: WeakRef<NodeInstance> | string
8
8
  }
9
9
 
10
+ // eslint-disable-next-line @eslint-react/hooks-extra/ensure-custom-hooks-using-other-hooks
10
11
  export const useWeakModuleFromNodeConfigLogger = (config?: WeakModuleFromNodeConfig) => {
11
12
  return config?.logger
12
13
  }
@@ -1,6 +1,11 @@
1
1
  import type { ModuleFromNodeConfig } from './ModuleFromNodeConfig.ts'
2
2
 
3
+ // eslint-disable-next-line @eslint-react/hooks-extra/ensure-custom-hooks-using-other-hooks
3
4
  export const useModuleFilterOptions = (config?: ModuleFromNodeConfig) => {
4
- const { direction, identity, maxDepth } = config ?? {}
5
- return { direction, identity, maxDepth }
5
+ const {
6
+ direction, identity, maxDepth,
7
+ } = config ?? {}
8
+ return {
9
+ direction, identity, maxDepth,
10
+ }
6
11
  }
@@ -1,6 +1,11 @@
1
1
  import type { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig.ts'
2
2
 
3
+ // eslint-disable-next-line @eslint-react/hooks-extra/ensure-custom-hooks-using-other-hooks
3
4
  export const useWeakModuleFilterOptions = (config?: WeakModuleFromNodeConfig) => {
4
- const { direction, identity, maxDepth } = config ?? {}
5
- return { direction, identity, maxDepth }
5
+ const {
6
+ direction, identity, maxDepth,
7
+ } = config ?? {}
8
+ return {
9
+ direction, identity, maxDepth,
10
+ }
6
11
  }
package/xy.config.ts CHANGED
@@ -1,9 +1,7 @@
1
1
  import type { XyTsupConfig } from '@xylabs/ts-scripts-yarn3'
2
2
  const config: XyTsupConfig = {
3
3
  compile: {
4
- browser: {
5
- src: true,
6
- },
4
+ browser: { src: true },
7
5
  node: {},
8
6
  neutral: {},
9
7
  },