import { CaretLeft } from "@phosphor-icons/react/dist/ssr/CaretLeft";
import { CaretRight } from "@phosphor-icons/react/dist/ssr/CaretRight";
import clsx from "clsx";
import type { ComponentProps } from "react";
import { useMemo, useCallback } from "react";
import type { Link } from "react-aria-components";
import styles from "./index.module.scss";
import type { Props as ButtonProps } from "../Button/index.jsx";
import { Button } from "../Button/index.jsx";
import buttonStyles from "../Button/index.module.scss";
import { Select } from "../Select/index.jsx";
import { Toolbar } from "../unstyled/Toolbar/index.jsx";
type Props = {
numPages: number;
currentPage: number;
onPageChange: (newPage: number) => void;
pageSize: number;
pageSizeOptions: number[];
onPageSizeChange: (newPageSize: number) => void;
mkPageLink?: ((page: number) => string) | undefined;
className?: string | undefined;
};
export const Paginator = ({
numPages,
currentPage,
pageSize,
pageSizeOptions,
onPageChange,
onPageSizeChange,
mkPageLink,
className,
}: Props) => (
);
type PageSizeSelectProps = {
pageSize: number;
pageSizeOptions: number[];
onPageSizeChange: (newPageSize: number) => void;
};
const PageSizeSelect = ({
pageSize,
onPageSizeChange,
pageSizeOptions,
}: PageSizeSelectProps) => (