import { createContext, useRef, } from 'react' import type { SliceFromInjection } from './store' import { createWorkflowStore, } from './store' import type { StateCreator } from 'zustand' type WorkflowStore = ReturnType export const WorkflowContext = createContext(null) export type WorkflowProviderProps = { children: React.ReactNode injectWorkflowStoreSliceFn?: StateCreator } export const WorkflowContextProvider = ({ children, injectWorkflowStoreSliceFn }: WorkflowProviderProps) => { const storeRef = useRef(undefined) if (!storeRef.current) storeRef.current = createWorkflowStore({ injectWorkflowStoreSliceFn }) return ( {children} ) }