diff --git a/packages/embla-carousel/src/Carousel.tsx b/packages/embla-carousel/src/Carousel.tsx index 2963a055c06..2f5b8d65b8e 100644 --- a/packages/embla-carousel/src/Carousel.tsx +++ b/packages/embla-carousel/src/Carousel.tsx @@ -85,7 +85,7 @@ export const Carousel = forwardRef( getEmblaApi?.(emblaApi); } return undefined; - }, [emblaApi]); + }, [emblaApi, getEmblaApi]); const [ariaVariant, setAriaVariant] = useState("group"); diff --git a/packages/embla-carousel/src/CarouselAutoplayIndicator.tsx b/packages/embla-carousel/src/CarouselAutoplayIndicator.tsx index c13e870addb..ac950791a39 100644 --- a/packages/embla-carousel/src/CarouselAutoplayIndicator.tsx +++ b/packages/embla-carousel/src/CarouselAutoplayIndicator.tsx @@ -100,7 +100,7 @@ export const CarouselAutoplayIndicator = forwardRef< animationFrameId.current = null; } }; - }, [circumference, duration, slideIndex, isPlaying, isPaused]); + }, [circumference, duration, isPlaying, isPaused]); return (
( const { ariaVariant } = useCarouselContext(); return ( + // biome-ignore lint/a11y/useAriaPropsSupportedByRole: role is set dynamically by variable
( emblaApi.off("scroll", scrollCallback); emblaApi.off("pointerDown", pointerDownCallback); }; - }, [emblaApi]); + }, [emblaApi, setAnnouncementState]); useLayoutEffect(() => { if (focusSlideIndex >= 0) { @@ -118,7 +118,7 @@ export const CarouselSlides = forwardRef( if (disableSlideAnnouncements === false) { setAnnouncementState(undefined); } - }, [disableSlideAnnouncements]); + }, [disableSlideAnnouncements, setAnnouncementState]); useEffect(() => { if ( diff --git a/packages/embla-carousel/src/CarouselTabList.tsx b/packages/embla-carousel/src/CarouselTabList.tsx index 9bdafaf807d..ab3f937a45b 100644 --- a/packages/embla-carousel/src/CarouselTabList.tsx +++ b/packages/embla-carousel/src/CarouselTabList.tsx @@ -121,7 +121,7 @@ export const CarouselTabList = forwardRef( return ( { buttonRefs.current[scrollSnapIndex] = element; }}