From 0fe7b0ea043182eb3808037f8d1ed9f740cf6f32 Mon Sep 17 00:00:00 2001 From: Ryan Gossiaux Date: Mon, 13 Dec 2021 22:08:22 -0800 Subject: [PATCH] Add action forwarding and add to Menu --- src/lib/components/menu/Menu.svelte | 4 +- src/lib/components/menu/MenuButton.svelte | 3 + src/lib/components/menu/MenuItem.svelte | 3 + src/lib/components/menu/MenuItems.svelte | 3 + src/lib/hooks/use-actions.ts | 82 +++++++++++++++++++++++ 5 files changed, 94 insertions(+), 1 deletion(-) create mode 100644 src/lib/hooks/use-actions.ts diff --git a/src/lib/components/menu/Menu.svelte b/src/lib/components/menu/Menu.svelte index 1659213..2695d27 100644 --- a/src/lib/components/menu/Menu.svelte +++ b/src/lib/components/menu/Menu.svelte @@ -7,6 +7,7 @@ import { writable, Writable } from "svelte/store"; import { State } from "$lib/internal/open-closed"; import { match } from "$lib/utils/match"; + import { ActionArray, useActions } from "$lib/hooks/use-actions"; export enum MenuStates { Open, Closed, @@ -49,6 +50,7 @@ -
+
diff --git a/src/lib/components/menu/MenuButton.svelte b/src/lib/components/menu/MenuButton.svelte index 46bfc3e..5ba2e3a 100644 --- a/src/lib/components/menu/MenuButton.svelte +++ b/src/lib/components/menu/MenuButton.svelte @@ -4,6 +4,8 @@ import { Keys } from "$lib/utils/keyboard"; import { Focus } from "$lib/utils/calculate-active-index"; import { tick } from "svelte"; + import { ActionArray, useActions } from "$lib/hooks/use-actions"; + export let use: ActionArray = []; export let disabled = false; const api = useMenuContext("MenuButton"); const id = `headlessui-menu-button-${useId()}`; @@ -73,6 +75,7 @@