import { FC } from 'react'; import { Row } from 'components/layout'; import { Fab, FabColorVariant, FabVariant } from 'components/fab'; import { Text } from 'components/text'; export const PaginationLeft: FC = ({ pages, hoverColorVariant, activePage, }) => { const getVariant = (index: number): FabVariant => { return activePage === index + 1 ? ('outline' as FabVariant) : ('text' as FabVariant); }; const arePagesOver = pages > 4; const initialArray = arePagesOver ? 3 : pages; const dots = arePagesOver && '...'; return ( {Array(initialArray) .fill(0) .map((item, index) => ( {}} colorVariant="transparent" variant={getVariant(index)} hoverColorVariant={hoverColorVariant} sizeVariant="large" shapeVariant="round" centerElement={ {index + 1} } /> ))} {dots} {pages} ); }; export interface PaginationLeftProps { pages: number; hoverColorVariant?: FabColorVariant; activePage: number; }