From f92eed571ae2029d840fb54859eefec871bee8c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20Riedmu=CC=88ller?= Date: Mon, 7 Oct 2024 13:53:59 +0200 Subject: [PATCH] feature: add filterKeyTriggerButton and accessibleOnClick also triggers with Spacebar --- packages/utils/lib/main.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/utils/lib/main.ts b/packages/utils/lib/main.ts index 4430ac9..692bcb0 100644 --- a/packages/utils/lib/main.ts +++ b/packages/utils/lib/main.ts @@ -12,6 +12,16 @@ export function filterKeyEnter(handler: (e: React.KeyboardEvent) => void) { }; } +export function filterKeyTriggerButton( + handler: (e: React.KeyboardEvent) => void +) { + return (e: React.KeyboardEvent) => { + if (e.key === "Enter" || e.key === " ") { + handler(e); + } + }; +} + export function filterKeyEsc(handler: (e: React.KeyboardEvent) => void) { return (e: React.KeyboardEvent) => { if (e.key === "Escape") { @@ -27,7 +37,7 @@ export function accessibleOnClick( return { role: "button", tabIndex: tabIndex ?? 0, - onKeyDown: filterKeyEnter(handler), + onKeyDown: filterKeyTriggerButton(handler), onClick: handler, }; }