UNPKG

piral-core

Version:

The core library for creating a Piral instance.

34 lines 1.26 kB
import * as React from 'react'; import { StateContext } from './state'; import { createInstance } from './createInstance'; import { Mediator } from './components'; import { useGlobalState } from './hooks'; import { RootListener } from './RootListener'; const PiralProvider = ({ children }) => { const Provider = useGlobalState((m) => m.provider || React.Fragment); return React.createElement(Provider, null, children); }; /** * Represents the Piral app shell frame. Use this component together * with an existing instance to render components from micro frontends * in your app. * Wires the state container together with the global providers. * * @example ```jsx const app = ( <MyRouter> <PiralContext instance={yourPiralInstance}> <PiralGlobals /> <MyAppContent /> </PiralContext> </MyRouter> ); ``` */ export const PiralContext = ({ instance = createInstance(), children }) => (React.createElement(StateContext.Provider, { value: instance.context }, React.createElement(Mediator, { options: instance.options, key: instance.id }), React.createElement(RootListener, null), React.createElement(PiralProvider, null, children))); PiralContext.displayName = 'PiralContext'; //# sourceMappingURL=PiralContext.js.map