/** @jsx jsx */ import { FC, lazy } from 'react' import { jsx, Box, useSlider } from '@vtex/store-ui' import ProductImageGalleryArrowLeft from './ArrowLeft' import ProductImageGalleryArrowRight from './ArrowRight' import ProductImageGalleryPaginationDots from './PaginationDots' import ProductImageGalleryPage, { Item } from './Page' import SuspenseDevice from '../Suspense/Device' import ProductImageGalleryMiniaturesContainer from './Miniatures/Container' const ProductImageGalleryMiniatures = lazy(() => import('./Miniatures/index')) interface Props { allItems: Item[] loading?: 'lazy' | 'eager' showArrows?: boolean showDots?: boolean autoplay?: number } const variant = 'productImageGallery' const ProductImageGallery: FC = ({ allItems, showArrows = true, showDots = true, autoplay, }) => { const { page, items, totalPages, setPage, setNextPage, setPreviousPage, dragHandlers, } = useSlider({ allItems, pageSize: 1, autoplay, }) // this is safe, since there is only one item per page const [item] = items const featuredVariant = `${variant}.featured` return ( {showArrows && ( setPreviousPage()} /> )} {showArrows && ( setNextPage()} /> )} {showDots && ( )} ) } export default ProductImageGallery