UNPKG

@amsterdam/design-system-react

Version:

All React components from the Amsterdam Design System. Use it to compose pages in your website or application.

12 lines (11 loc) 790 B
import { jsx as _jsx } from "react/jsx-runtime"; import { clsx } from 'clsx'; import { forwardRef, useContext, useMemo } from 'react'; import { ImageSliderContext } from './ImageSliderContext'; export const ImageSliderItem = forwardRef(({ children, className, slideId, ...restProps }, ref) => { const { currentSlideId } = useContext(ImageSliderContext); const isInView = useMemo(() => currentSlideId === slideId, [currentSlideId, slideId]); const itemClassName = useMemo(() => clsx('ams-image-slider__item', isInView && 'ams-image-slider__item--in-view', className), [isInView, className]); return (_jsx("div", { ...restProps, className: itemClassName, ref: ref, ...(!isInView && { inert: '' }), children: children })); }); ImageSliderItem.displayName = 'ImageSlider.Item';