@xyo-network/react-node-provider 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.
@@ -0,0 +1,11 @@
1
+ import type { WithChildren } from '@xylabs/react-shared';
2
+ import type { AttachableModuleInstance, ModuleParams } from '@xyo-network/module-model';
3
+ import type { NodeConfig } from '@xyo-network/node-model';
4
+ import React from 'react';
5
+ export type MemoryNodeProviderProps = WithChildren<{
6
+ moduleParams: ModuleParams<NodeConfig>;
7
+ modules?: AttachableModuleInstance[];
8
+ required?: boolean;
9
+ }> & ModuleParams<NodeConfig>;
10
+ export declare const MemoryNodeProvider: React.FC<MemoryNodeProviderProps>;
11
+ //# sourceMappingURL=MemoryProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemoryProvider.d.ts","sourceRoot":"","sources":["../../src/MemoryProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,KAAK,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAEvF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC,MAAM,MAAM,uBAAuB,GAAG,YAAY,CAAC;IACjD,YAAY,EAAE,YAAY,CAAC,UAAU,CAAC,CAAA;IACtC,OAAO,CAAC,EAAE,wBAAwB,EAAE,CAAA;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC,GACF,YAAY,CAAC,UAAU,CAAC,CAAA;AAExB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAwChE,CAAA"}
@@ -0,0 +1,8 @@
1
+ import type { WithChildren } from '@xylabs/react-shared';
2
+ import type { ResolverEntries } from '@xyo-network/react-node-context';
3
+ import React from 'react';
4
+ export interface ModuleRepositoryProviderProps extends WithChildren {
5
+ defaultResolvers?: ResolverEntries;
6
+ }
7
+ export declare const ModuleRepositoryProvider: React.FC<ModuleRepositoryProviderProps>;
8
+ //# sourceMappingURL=Provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../src/ModuleRepository/Provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAEtE,OAAO,KAA8B,MAAM,OAAO,CAAA;AAElD,MAAM,WAAW,6BAA8B,SAAQ,YAAY;IACjE,gBAAgB,CAAC,EAAE,eAAe,CAAA;CACnC;AAED,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC,6BAA6B,CA4C5E,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './Provider.tsx';
2
+ export * from './use.ts';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ModuleRepository/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,UAAU,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const useModuleRepository: (required?: boolean) => Omit<import("@xyo-network/react-node-context").ModuleRepositoryContextState & import("@xyo-network/react-shared").ContextExState, "provided">;
2
+ //# sourceMappingURL=use.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../src/ModuleRepository/use.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,mBAAmB,uKAA4F,CAAA"}
@@ -0,0 +1,8 @@
1
+ import type { WithChildren } from '@xylabs/react-shared';
2
+ import type { NodeInstance } from '@xyo-network/node-model';
3
+ import React from 'react';
4
+ export interface NodeProviderProps {
5
+ node?: NodeInstance | null;
6
+ }
7
+ export declare const NodeProvider: React.FC<WithChildren<NodeProviderProps>>;
8
+ //# sourceMappingURL=Provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../src/Node/Provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAE3D,OAAO,KAAkB,MAAM,OAAO,CAAA;AAEtC,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;CAC3B;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAWlE,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './Provider.tsx';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Node/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA"}
@@ -0,0 +1,7 @@
1
+ import type { WithChildren } from '@xylabs/react-shared';
2
+ import React from 'react';
3
+ export interface NodeDrawerProviderProps extends WithChildren {
4
+ defaultOpen?: boolean;
5
+ }
6
+ export declare const NodeDrawerProvider: React.FC<NodeDrawerProviderProps>;
7
+ //# sourceMappingURL=Provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../src/NodeDrawerContext/Provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAExD,OAAO,KAA4B,MAAM,OAAO,CAAA;AAEhD,MAAM,WAAW,uBAAwB,SAAQ,YAAY;IAC3D,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAYhE,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './Provider.tsx';
2
+ export * from './use.ts';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/NodeDrawerContext/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,UAAU,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const useNodeDrawer: (required?: boolean) => Omit<import("@xyo-network/react-node-context").NodeDrawerState & import("@xyo-network/react-shared").ContextExState, "provided">;
2
+ //# sourceMappingURL=use.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../src/NodeDrawerContext/use.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,0JAA+E,CAAA"}
@@ -1,35 +1,5 @@
1
- import { WithChildren } from '@xylabs/react-shared';
2
- import { ModuleParams, AttachableModuleInstance } from '@xyo-network/module-model';
3
- import { NodeConfig, NodeInstance } from '@xyo-network/node-model';
4
- import React from 'react';
5
- import * as _xyo_network_react_node_context from '@xyo-network/react-node-context';
6
- import { ResolverEntries } from '@xyo-network/react-node-context';
7
- import * as _xyo_network_react_shared from '@xyo-network/react-shared';
8
-
9
- type MemoryNodeProviderProps = WithChildren<{
10
- moduleParams?: ModuleParams<NodeConfig>;
11
- modules?: AttachableModuleInstance[];
12
- required?: boolean;
13
- }> & ModuleParams<NodeConfig>;
14
- declare const MemoryNodeProvider: React.FC<MemoryNodeProviderProps>;
15
-
16
- interface ModuleRepositoryProviderProps extends WithChildren {
17
- defaultResolvers?: ResolverEntries;
18
- }
19
- declare const ModuleRepositoryProvider: React.FC<ModuleRepositoryProviderProps>;
20
-
21
- declare const useModuleRepository: (required?: boolean) => Omit<_xyo_network_react_node_context.ModuleRepositoryContextState & _xyo_network_react_shared.ContextExState, "provided">;
22
-
23
- interface NodeProviderProps {
24
- node?: NodeInstance | null;
25
- }
26
- declare const NodeProvider: React.FC<WithChildren<NodeProviderProps>>;
27
-
28
- interface NodeDrawerProviderProps extends WithChildren {
29
- defaultOpen?: boolean;
30
- }
31
- declare const NodeDrawerProvider: React.FC<NodeDrawerProviderProps>;
32
-
33
- declare const useNodeDrawer: (required?: boolean) => Omit<_xyo_network_react_node_context.NodeDrawerState & _xyo_network_react_shared.ContextExState, "provided">;
34
-
35
- export { MemoryNodeProvider, type MemoryNodeProviderProps, ModuleRepositoryProvider, type ModuleRepositoryProviderProps, NodeDrawerProvider, type NodeDrawerProviderProps, NodeProvider, type NodeProviderProps, useModuleRepository, useNodeDrawer };
1
+ export * from './MemoryProvider.tsx';
2
+ export * from './ModuleRepository/index.ts';
3
+ export * from './Node/index.ts';
4
+ export * from './NodeDrawerContext/index.ts';
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,sBAAsB,CAAA;AACpC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,iBAAiB,CAAA;AAC/B,cAAc,8BAA8B,CAAA"}
@@ -14,11 +14,14 @@ var NodeProvider = /* @__PURE__ */ __name(({ node, children }) => {
14
14
  const memoNode = useMemo(() => node, [
15
15
  node
16
16
  ]);
17
+ const value = useMemo(() => ({
18
+ node: memoNode,
19
+ provided: true
20
+ }), [
21
+ memoNode
22
+ ]);
17
23
  return /* @__PURE__ */ React.createElement(NodeContext.Provider, {
18
- value: {
19
- node: memoNode,
20
- provided: true
21
- }
24
+ value
22
25
  }, children);
23
26
  }, "NodeProvider");
24
27
 
@@ -111,20 +114,18 @@ var useModuleRepository = /* @__PURE__ */ __name((required = false) => useContex
111
114
 
112
115
  // src/NodeDrawerContext/Provider.tsx
113
116
  import { NodeDrawerContext } from "@xyo-network/react-node-context";
114
- import React4, { useEffect as useEffect2, useState as useState3 } from "react";
117
+ import React4, { useMemo as useMemo2, useState as useState3 } from "react";
115
118
  var NodeDrawerProvider = /* @__PURE__ */ __name(({ children, defaultOpen = false }) => {
116
- const [open, setOpen] = useState3(defaultOpen);
117
- useEffect2(() => {
118
- setOpen(defaultOpen);
119
- }, [
120
- defaultOpen
119
+ const [open, setOpen] = useState3(() => defaultOpen);
120
+ const value = useMemo2(() => ({
121
+ open,
122
+ provided: true,
123
+ setOpen
124
+ }), [
125
+ open
121
126
  ]);
122
127
  return /* @__PURE__ */ React4.createElement(NodeDrawerContext.Provider, {
123
- value: {
124
- open,
125
- provided: true,
126
- setOpen
127
- }
128
+ value
128
129
  }, children);
129
130
  }, "NodeDrawerProvider");
130
131
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/MemoryProvider.tsx","../../src/Node/Provider.tsx","../../src/ModuleRepository/Provider.tsx","../../src/ModuleRepository/use.ts","../../src/NodeDrawerContext/Provider.tsx","../../src/NodeDrawerContext/use.ts"],"sourcesContent":["import { forget } from '@xylabs/forget'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport type { WithChildren } from '@xylabs/react-shared'\nimport type { AttachableModuleInstance, ModuleParams } from '@xyo-network/module-model'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport type { NodeConfig } from '@xyo-network/node-model'\nimport React, { useState } from 'react'\n\nimport { NodeProvider } from './Node/index.ts'\n\nexport type MemoryNodeProviderProps = WithChildren<{\n moduleParams?: ModuleParams<NodeConfig>\n modules?: AttachableModuleInstance[]\n required?: boolean\n}> &\nModuleParams<NodeConfig>\n\nexport const MemoryNodeProvider: React.FC<MemoryNodeProviderProps> = ({ children, modules, moduleParams }) => {\n const [node, setNode] = useState<MemoryNode | null>(null)\n\n useAsyncEffect(\n\n async () => {\n if (node && modules) {\n await Promise.all(\n modules.map(async (mod) => {\n await node.register(mod)\n }),\n )\n return () => {\n forget(\n Promise.all(\n modules.map(async (mod) => {\n await node.unregister(mod)\n }),\n ),\n )\n }\n }\n },\n [modules, node],\n )\n\n useAsyncEffect(\n\n async (mounted) => {\n const node = await MemoryNode.create(moduleParams)\n if (mounted()) {\n setNode(node)\n }\n },\n [moduleParams],\n )\n\n return <NodeProvider node={node}>{children}</NodeProvider>\n}\n","import type { WithChildren } from '@xylabs/react-shared'\nimport type { NodeInstance } from '@xyo-network/node-model'\nimport { NodeContext } from '@xyo-network/react-node-context'\nimport React, { useMemo } from 'react'\n\nexport interface NodeProviderProps {\n node?: NodeInstance | null\n}\n\nexport const NodeProvider: React.FC<WithChildren<NodeProviderProps>> = ({ node, children }) => {\n // save a reference to it\n const memoNode = useMemo(() => node, [node])\n\n // eslint-disable-next-line @eslint-react/no-unstable-context-value\n return <NodeContext.Provider value={{ node: memoNode, provided: true }}>{children}</NodeContext.Provider>\n}\n","import type { WithChildren } from '@xylabs/react-shared'\nimport type { ResolverEntries } from '@xyo-network/react-node-context'\nimport { ModuleRepositoryContext } from '@xyo-network/react-node-context'\nimport React, { useEffect, useState } from 'react'\n\nexport interface ModuleRepositoryProviderProps extends WithChildren {\n defaultResolvers?: ResolverEntries\n}\n\nexport const ModuleRepositoryProvider: React.FC<ModuleRepositoryProviderProps> = ({ children, defaultResolvers }) => {\n const [resolvers, setResolvers] = useState<ResolverEntries | undefined>(defaultResolvers)\n\n useEffect(() => {\n setResolvers(defaultResolvers)\n }, [defaultResolvers])\n\n const updateResolvers = (resolverEntries?: ResolverEntries) => {\n if (resolverEntries) {\n setResolvers(resolvers => ({\n ...resolvers,\n ...resolverEntries,\n }))\n return true\n } else {\n return false\n }\n }\n\n const removeResolvers = (names?: string[]) => {\n if (names?.length) {\n setResolvers((resolvers) => {\n if (resolvers) {\n for (const name of names) {\n delete resolvers[name]\n }\n return { ...resolvers }\n }\n })\n return true\n } else {\n return false\n }\n }\n\n return (\n // eslint-disable-next-line @eslint-react/no-unstable-context-value\n <ModuleRepositoryContext.Provider value={{ provided: true, removeResolvers, resolvers, updateResolvers }}>\n {children}\n </ModuleRepositoryContext.Provider>\n )\n}\n","import { ModuleRepositoryContext } from '@xyo-network/react-node-context'\nimport { useContextEx } from '@xyo-network/react-shared'\n\nexport const useModuleRepository = (required = false) => useContextEx(ModuleRepositoryContext, 'ModuleRepository', required)\n","import type { WithChildren } from '@xylabs/react-shared'\nimport { NodeDrawerContext } from '@xyo-network/react-node-context'\nimport React, { useEffect, useState } from 'react'\n\nexport interface NodeDrawerProviderProps extends WithChildren {\n defaultOpen?: boolean\n}\n\nexport const NodeDrawerProvider: React.FC<NodeDrawerProviderProps> = ({ children, defaultOpen = false }) => {\n const [open, setOpen] = useState(defaultOpen)\n\n useEffect(() => {\n setOpen(defaultOpen)\n }, [defaultOpen])\n\n // eslint-disable-next-line @eslint-react/no-unstable-context-value\n return <NodeDrawerContext.Provider value={{ open, provided: true, setOpen }}>{children}</NodeDrawerContext.Provider>\n}\n","import { NodeDrawerContext } from '@xyo-network/react-node-context'\nimport { useContextEx } from '@xyo-network/react-shared'\n\nexport const useNodeDrawer = (required = true) => useContextEx(NodeDrawerContext, 'NodeDrawer', required)\n"],"mappings":"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","names":["forget","useAsyncEffect","MemoryNode","React","useState","NodeContext","React","useMemo","NodeProvider","node","children","memoNode","useMemo","NodeContext","Provider","value","provided","MemoryNodeProvider","children","modules","moduleParams","node","setNode","useState","useAsyncEffect","Promise","all","map","mod","register","forget","unregister","mounted","MemoryNode","create","React","NodeProvider","ModuleRepositoryContext","React","useEffect","useState","ModuleRepositoryProvider","children","defaultResolvers","resolvers","setResolvers","useState","useEffect","updateResolvers","resolverEntries","removeResolvers","names","length","name","React","ModuleRepositoryContext","Provider","value","provided","ModuleRepositoryContext","useContextEx","useModuleRepository","required","useContextEx","ModuleRepositoryContext","NodeDrawerContext","React","useEffect","useState","NodeDrawerProvider","children","defaultOpen","open","setOpen","useState","useEffect","React","NodeDrawerContext","Provider","value","provided","NodeDrawerContext","useContextEx","useNodeDrawer","required","useContextEx","NodeDrawerContext"]}
1
+ {"version":3,"sources":["../../src/MemoryProvider.tsx","../../src/Node/Provider.tsx","../../src/ModuleRepository/Provider.tsx","../../src/ModuleRepository/use.ts","../../src/NodeDrawerContext/Provider.tsx","../../src/NodeDrawerContext/use.ts"],"sourcesContent":["import { forget } from '@xylabs/forget'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport type { WithChildren } from '@xylabs/react-shared'\nimport type { AttachableModuleInstance, ModuleParams } from '@xyo-network/module-model'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport type { NodeConfig } from '@xyo-network/node-model'\nimport React, { useState } from 'react'\n\nimport { NodeProvider } from './Node/index.ts'\n\nexport type MemoryNodeProviderProps = WithChildren<{\n moduleParams: ModuleParams<NodeConfig>\n modules?: AttachableModuleInstance[]\n required?: boolean\n}> &\nModuleParams<NodeConfig>\n\nexport const MemoryNodeProvider: React.FC<MemoryNodeProviderProps> = ({\n children, modules, moduleParams,\n}) => {\n const [node, setNode] = useState<MemoryNode | null>(null)\n\n useAsyncEffect(\n\n async () => {\n if (node && modules) {\n await Promise.all(\n modules.map(async (mod) => {\n await node.register(mod)\n }),\n )\n return () => {\n forget(\n Promise.all(\n modules.map(async (mod) => {\n await node.unregister(mod)\n }),\n ),\n )\n }\n }\n },\n [modules, node],\n )\n\n useAsyncEffect(\n\n async (mounted) => {\n const node = await MemoryNode.create(moduleParams)\n if (mounted()) {\n setNode(node)\n }\n },\n [moduleParams],\n )\n\n return <NodeProvider node={node}>{children}</NodeProvider>\n}\n","import type { WithChildren } from '@xylabs/react-shared'\nimport type { NodeInstance } from '@xyo-network/node-model'\nimport { NodeContext } from '@xyo-network/react-node-context'\nimport React, { useMemo } from 'react'\n\nexport interface NodeProviderProps {\n node?: NodeInstance | null\n}\n\nexport const NodeProvider: React.FC<WithChildren<NodeProviderProps>> = ({ node, children }) => {\n // save a reference to it\n const memoNode = useMemo(() => node, [node])\n\n const value = useMemo(() => ({ node: memoNode, provided: true }), [memoNode])\n\n return (\n <NodeContext.Provider value={value}>\n {children}\n </NodeContext.Provider>\n )\n}\n","import type { WithChildren } from '@xylabs/react-shared'\nimport type { ResolverEntries } from '@xyo-network/react-node-context'\nimport { ModuleRepositoryContext } from '@xyo-network/react-node-context'\nimport React, { useEffect, useState } from 'react'\n\nexport interface ModuleRepositoryProviderProps extends WithChildren {\n defaultResolvers?: ResolverEntries\n}\n\nexport const ModuleRepositoryProvider: React.FC<ModuleRepositoryProviderProps> = ({ children, defaultResolvers }) => {\n const [resolvers, setResolvers] = useState<ResolverEntries | undefined>(defaultResolvers)\n\n useEffect(() => {\n setResolvers(defaultResolvers)\n }, [defaultResolvers])\n\n const updateResolvers = (resolverEntries?: ResolverEntries) => {\n if (resolverEntries) {\n setResolvers(resolvers => ({\n ...resolvers,\n ...resolverEntries,\n }))\n return true\n } else {\n return false\n }\n }\n\n const removeResolvers = (names?: string[]) => {\n if (names?.length) {\n setResolvers((resolvers) => {\n if (resolvers) {\n for (const name of names) {\n delete resolvers[name]\n }\n return { ...resolvers }\n }\n })\n return true\n } else {\n return false\n }\n }\n\n return (\n // eslint-disable-next-line @eslint-react/no-unstable-context-value\n <ModuleRepositoryContext.Provider value={{\n provided: true, removeResolvers, resolvers, updateResolvers,\n }}\n >\n {children}\n </ModuleRepositoryContext.Provider>\n )\n}\n","import { ModuleRepositoryContext } from '@xyo-network/react-node-context'\nimport { useContextEx } from '@xyo-network/react-shared'\n\nexport const useModuleRepository = (required = false) => useContextEx(ModuleRepositoryContext, 'ModuleRepository', required)\n","import type { WithChildren } from '@xylabs/react-shared'\nimport { NodeDrawerContext } from '@xyo-network/react-node-context'\nimport React, { useMemo, useState } from 'react'\n\nexport interface NodeDrawerProviderProps extends WithChildren {\n defaultOpen?: boolean\n}\n\nexport const NodeDrawerProvider: React.FC<NodeDrawerProviderProps> = ({ children, defaultOpen = false }) => {\n const [open, setOpen] = useState(() => defaultOpen)\n\n const value = useMemo(() => ({\n open, provided: true, setOpen,\n }), [open])\n\n return (\n <NodeDrawerContext.Provider value={value}>\n {children}\n </NodeDrawerContext.Provider>\n )\n}\n","import { NodeDrawerContext } from '@xyo-network/react-node-context'\nimport { useContextEx } from '@xyo-network/react-shared'\n\nexport const useNodeDrawer = (required = true) => useContextEx(NodeDrawerContext, 'NodeDrawer', required)\n"],"mappings":"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","names":["forget","useAsyncEffect","MemoryNode","React","useState","NodeContext","React","useMemo","NodeProvider","node","children","memoNode","useMemo","value","provided","NodeContext","Provider","MemoryNodeProvider","children","modules","moduleParams","node","setNode","useState","useAsyncEffect","Promise","all","map","mod","register","forget","unregister","mounted","MemoryNode","create","React","NodeProvider","ModuleRepositoryContext","React","useEffect","useState","ModuleRepositoryProvider","children","defaultResolvers","resolvers","setResolvers","useState","useEffect","updateResolvers","resolverEntries","removeResolvers","names","length","name","React","ModuleRepositoryContext","Provider","value","provided","ModuleRepositoryContext","useContextEx","useModuleRepository","required","useContextEx","ModuleRepositoryContext","NodeDrawerContext","React","useMemo","useState","NodeDrawerProvider","children","defaultOpen","open","setOpen","useState","value","useMemo","provided","React","NodeDrawerContext","Provider","NodeDrawerContext","useContextEx","useNodeDrawer","required","useContextEx","NodeDrawerContext"]}
package/package.json CHANGED
@@ -1,27 +1,65 @@
1
1
  {
2
2
  "name": "@xyo-network/react-node-provider",
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
- "@xylabs/forget": "^4.0.2",
46
+ "@xylabs/forget": "^4.0.5",
14
47
  "@xylabs/react-async-effect": "^4.0.3",
15
48
  "@xylabs/react-shared": "^4.0.3",
16
- "@xyo-network/module-model": "^3.0.3",
17
- "@xyo-network/node-memory": "^3.0.3",
18
- "@xyo-network/node-model": "^3.0.3",
19
- "@xyo-network/react-node-context": "^3.0.2",
20
- "@xyo-network/react-shared": "^3.0.2"
49
+ "@xyo-network/module-model": "^3.0.15",
50
+ "@xyo-network/node-memory": "^3.0.15",
51
+ "@xyo-network/node-model": "^3.0.15",
52
+ "@xyo-network/react-node-context": "^3.0.3",
53
+ "@xyo-network/react-shared": "^3.0.3"
21
54
  },
22
55
  "devDependencies": {
23
- "@xylabs/ts-scripts-yarn3": "^4.0.0-rc.20",
24
- "@xylabs/tsconfig-react": "^4.0.0-rc.20",
56
+ "@mui/icons-material": "^5.16.7",
57
+ "@mui/material": "^5.16.7",
58
+ "@mui/styles": "^5.16.7",
59
+ "@xylabs/ts-scripts-yarn3": "^4.0.7",
60
+ "@xylabs/tsconfig-react": "^4.0.7",
61
+ "react": "^18.3.1",
62
+ "react-dom": "^18.3.1",
25
63
  "typescript": "^5.5.4"
26
64
  },
27
65
  "peerDependencies": {
@@ -31,41 +69,8 @@
31
69
  "react": "^18",
32
70
  "react-dom": "^18"
33
71
  },
34
- "description": "Common React library for all XYO projects that use React",
35
- "docs": "dist/docs.json",
36
- "exports": {
37
- ".": {
38
- "import": {
39
- "types": "./dist/browser/index.d.ts",
40
- "default": "./dist/browser/index.mjs"
41
- },
42
- "types": "./dist/browser/index.d.ts",
43
- "default": "./dist/browser/index.mjs"
44
- },
45
- "./package.json": "./package.json"
46
- },
47
- "module": "dist/browser/index.mjs",
48
- "homepage": "https://xyo.network",
49
- "keywords": [
50
- "xyo",
51
- "utility",
52
- "typescript",
53
- "react"
54
- ],
55
- "license": "LGPL-3.0-only",
56
72
  "publishConfig": {
57
73
  "access": "public"
58
74
  },
59
- "repository": {
60
- "type": "git",
61
- "url": "git+https://github.com/XYOracleNetwork/sdk-xyo-react-js.git"
62
- },
63
- "scripts": {
64
- "lint-pkg": "npmPkgJsonLint .",
65
- "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\""
66
- },
67
- "sideEffects": false,
68
- "types": "dist/browser/index.d.ts",
69
- "version": "3.0.2",
70
- "type": "module"
75
+ "docs": "dist/docs.json"
71
76
  }
@@ -9,13 +9,15 @@ import React, { useState } from 'react'
9
9
  import { NodeProvider } from './Node/index.ts'
10
10
 
11
11
  export type MemoryNodeProviderProps = WithChildren<{
12
- moduleParams?: ModuleParams<NodeConfig>
12
+ moduleParams: ModuleParams<NodeConfig>
13
13
  modules?: AttachableModuleInstance[]
14
14
  required?: boolean
15
15
  }> &
16
16
  ModuleParams<NodeConfig>
17
17
 
18
- export const MemoryNodeProvider: React.FC<MemoryNodeProviderProps> = ({ children, modules, moduleParams }) => {
18
+ export const MemoryNodeProvider: React.FC<MemoryNodeProviderProps> = ({
19
+ children, modules, moduleParams,
20
+ }) => {
19
21
  const [node, setNode] = useState<MemoryNode | null>(null)
20
22
 
21
23
  useAsyncEffect(
@@ -44,7 +44,10 @@ export const ModuleRepositoryProvider: React.FC<ModuleRepositoryProviderProps> =
44
44
 
45
45
  return (
46
46
  // eslint-disable-next-line @eslint-react/no-unstable-context-value
47
- <ModuleRepositoryContext.Provider value={{ provided: true, removeResolvers, resolvers, updateResolvers }}>
47
+ <ModuleRepositoryContext.Provider value={{
48
+ provided: true, removeResolvers, resolvers, updateResolvers,
49
+ }}
50
+ >
48
51
  {children}
49
52
  </ModuleRepositoryContext.Provider>
50
53
  )
@@ -11,6 +11,11 @@ export const NodeProvider: React.FC<WithChildren<NodeProviderProps>> = ({ node,
11
11
  // save a reference to it
12
12
  const memoNode = useMemo(() => node, [node])
13
13
 
14
- // eslint-disable-next-line @eslint-react/no-unstable-context-value
15
- return <NodeContext.Provider value={{ node: memoNode, provided: true }}>{children}</NodeContext.Provider>
14
+ const value = useMemo(() => ({ node: memoNode, provided: true }), [memoNode])
15
+
16
+ return (
17
+ <NodeContext.Provider value={value}>
18
+ {children}
19
+ </NodeContext.Provider>
20
+ )
16
21
  }
@@ -1,18 +1,21 @@
1
1
  import type { WithChildren } from '@xylabs/react-shared'
2
2
  import { NodeDrawerContext } from '@xyo-network/react-node-context'
3
- import React, { useEffect, useState } from 'react'
3
+ import React, { useMemo, useState } from 'react'
4
4
 
5
5
  export interface NodeDrawerProviderProps extends WithChildren {
6
6
  defaultOpen?: boolean
7
7
  }
8
8
 
9
9
  export const NodeDrawerProvider: React.FC<NodeDrawerProviderProps> = ({ children, defaultOpen = false }) => {
10
- const [open, setOpen] = useState(defaultOpen)
10
+ const [open, setOpen] = useState(() => defaultOpen)
11
11
 
12
- useEffect(() => {
13
- setOpen(defaultOpen)
14
- }, [defaultOpen])
12
+ const value = useMemo(() => ({
13
+ open, provided: true, setOpen,
14
+ }), [open])
15
15
 
16
- // eslint-disable-next-line @eslint-react/no-unstable-context-value
17
- return <NodeDrawerContext.Provider value={{ open, provided: true, setOpen }}>{children}</NodeDrawerContext.Provider>
16
+ return (
17
+ <NodeDrawerContext.Provider value={value}>
18
+ {children}
19
+ </NodeDrawerContext.Provider>
20
+ )
18
21
  }
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
  },