about summary refs log tree commit diff
path: root/src/components/Menu/context.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/Menu/context.tsx')
-rw-r--r--src/components/Menu/context.tsx20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/components/Menu/context.tsx b/src/components/Menu/context.tsx
index 1ddcd583f..908ad352e 100644
--- a/src/components/Menu/context.tsx
+++ b/src/components/Menu/context.tsx
@@ -10,3 +10,23 @@ export const Context = React.createContext<ContextType>({
 export const ItemContext = React.createContext<ItemContextType>({
   disabled: false,
 })
+
+export function useMenuContext() {
+  const context = React.useContext(Context)
+
+  if (!context) {
+    throw new Error('useMenuContext must be used within a Context.Provider')
+  }
+
+  return context
+}
+
+export function useMenuItemContext() {
+  const context = React.useContext(ItemContext)
+
+  if (!context) {
+    throw new Error('useMenuItemContext must be used within a Context.Provider')
+  }
+
+  return context
+}