From c28a61aa5e16a9ba08d88831eb60aab28126f3f1 Mon Sep 17 00:00:00 2001 From: Greg Richardson Date: Thu, 23 Mar 2023 13:19:10 -0600 Subject: [PATCH] chore(cmdk): throw error if useCommandMenu used outside of provider --- .../ui/src/components/Command/CommandMenuProvider.tsx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/ui/src/components/Command/CommandMenuProvider.tsx b/packages/ui/src/components/Command/CommandMenuProvider.tsx index 7a5f46d2cbf..7ffc283ca9f 100644 --- a/packages/ui/src/components/Command/CommandMenuProvider.tsx +++ b/packages/ui/src/components/Command/CommandMenuProvider.tsx @@ -9,7 +9,15 @@ export interface CommandMenuContextValue { setIsLoading: React.Dispatch> } export const CommandMenuContext = createContext(undefined) -export const useCommandMenu = () => useContext(CommandMenuContext) +export const useCommandMenu = () => { + const context = useContext(CommandMenuContext) + + if (context === undefined) { + throw new Error('useCommandMenu was used outside of CommandMenuProvider') + } + + return context +} const CommandMenuProvider = ({ children }: PropsWithChildren<{}>) => { const [isOpen, setIsOpen] = useState(false)