import { classList } from "../util"; import { Button } from "./Button"; export interface CarouselNavProps { pages: number; selected: number; maxDisplayed?: number; onPageSelected: (page: number) => void; } export const CarouselNav = (props: CarouselNavProps) => { const { pages, selected, maxDisplayed, onPageSelected } = props; const displayedPages: number[] = []; let start = 0; let end = pages; if (maxDisplayed) { start = Math.min( Math.max(0, selected - (maxDisplayed >> 1)), Math.max(0, start + pages - maxDisplayed) ); end = Math.min(start + maxDisplayed, pages); } for (let i = start; i < end; i++) { displayedPages.push(i); } return (