import { createContext, useContext, useMemo, type PropsWithChildren, type ReactElement, } from "react"; interface ComposerKeyboardScopeValue { isActiveComposer: boolean; } const ComposerKeyboardScopeContext = createContext({ isActiveComposer: false, }); export function ComposerKeyboardScopeProvider({ isActiveComposer, children, }: PropsWithChildren): ReactElement { const value = useMemo(() => ({ isActiveComposer }), [isActiveComposer]); return ( {children} ); } export function useComposerKeyboardScope(): ComposerKeyboardScopeValue { return useContext(ComposerKeyboardScopeContext); }