UNPKG

@difizen/mana-core

Version:

31 lines 1.08 kB
import { getOrigin, ObservableContext, useInject } from '@difizen/mana-observable'; import * as React from 'react'; import { DataContextManager } from "./data-context-manager"; import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime"; var DataContextRender = /*#__PURE__*/React.memo(function DataContextRender(props) { var context = props.context, children = props.children; if (context) { return /*#__PURE__*/_jsx(ObservableContext.Provider, { value: { getContainer: function getContainer() { return context.container; } }, children: children }); } return /*#__PURE__*/_jsx(_Fragment, {}); }, function (prev, next) { return prev.context === next.context; }); export var DataContext = function DataContext(props) { var contextKey = props.contextKey, children = props.children; var dataContextManager = useInject(DataContextManager); var ctx = dataContextManager.getContext(getOrigin(contextKey)); return /*#__PURE__*/_jsx(DataContextRender, { context: ctx, children: children }); };