From 7e6d69d0851e8234d3271dafff7f69011bff7a4c Mon Sep 17 00:00:00 2001 From: FlorianMgs Date: Wed, 15 May 2024 18:12:52 +0700 Subject: [PATCH] Move event.preventDefault() into the case statements. This allows children components to handle onKeyDown events. --- src/registry/default/extension/carousel.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/registry/default/extension/carousel.tsx b/src/registry/default/extension/carousel.tsx index 4e9c1ba..c50bd1b 100644 --- a/src/registry/default/extension/carousel.tsx +++ b/src/registry/default/extension/carousel.tsx @@ -105,10 +105,10 @@ const Carousel = forwardRef< const handleKeyDown = useCallback( (event: React.KeyboardEvent) => { - event.preventDefault(); if (!emblaMainApi) return; switch (event.key) { case "ArrowLeft": + event.preventDefault(); if (orientation === "horizontal") { if (direction === "rtl") { ScrollNext(); @@ -118,6 +118,7 @@ const Carousel = forwardRef< } break; case "ArrowRight": + event.preventDefault(); if (orientation === "horizontal") { if (direction === "rtl") { ScrollPrev(); @@ -127,11 +128,13 @@ const Carousel = forwardRef< } break; case "ArrowUp": + event.preventDefault(); if (orientation === "vertical") { ScrollPrev(); } break; case "ArrowDown": + event.preventDefault(); if (orientation === "vertical") { ScrollNext(); }