UNPKG

@hitachivantara/uikit-react-lab

Version:

Contributed React components for the NEXT UI Kit.

44 lines (43 loc) 1.35 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const jsxRuntime = require("react/jsx-runtime"); const react = require("react"); const HvFlowNodeMetaContext = react.createContext(void 0); const HvFlowNodeMetaProvider = ({ children }) => { const registryRef = react.useRef({}); const registerNode = react.useCallback((id, nodeInfo) => { registryRef.current[id] = nodeInfo; }, []); const unregisterNode = react.useCallback((id) => { delete registryRef.current[id]; }, []); const getRegistry = react.useCallback(() => { return registryRef.current; }, []); const value = react.useMemo( () => ({ registerNode, unregisterNode, getRegistry }), [registerNode, unregisterNode, getRegistry] ); return /* @__PURE__ */ jsxRuntime.jsx(HvFlowNodeMetaContext.Provider, { value, children }); }; function useNodeMetaRegistry() { const context = react.useContext(HvFlowNodeMetaContext); if (context === void 0) { throw new Error( "useNodeRegistry must be used within a HvFlowNodeMetaProvider" ); } return { registerNode: context.registerNode, unregisterNode: context.unregisterNode, registry: context.getRegistry() }; } exports.HvFlowNodeMetaProvider = HvFlowNodeMetaProvider; exports.useNodeMetaRegistry = useNodeMetaRegistry;