UNPKG

@heycar-uikit/core

Version:
33 lines (30 loc) 1.28 kB
import React from 'react'; import cn from 'classnames'; import { v4 } from 'uuid'; import usePagination from './hooks/usePagination.hook.js'; import { DEFAULT_LOCALE } from './locale/defaultLocale.js'; import { s as styles, P as PaginationItem } from './PaginationItem-215b7d05.js'; import './Pagination.types-7a359c42.js'; import '../../icons/modern'; import '../../typography/modern'; import './utils/getSiblingsToRender.js'; import './utils/parseOnClick.js'; import './hooks/useBreakpoint.hook.js'; const Pagination = React.forwardRef(({ totalPages, currentPage, onClick, renderItem = (item) => React.createElement(PaginationItem, { ...item }), locale = DEFAULT_LOCALE, className, ...rest }, ref) => { const classNames = cn(styles.pagination, className); const { items } = usePagination({ onClick, totalPages, currentPage, locale, }); return (React.createElement("nav", { className: classNames, ref: ref, ...rest }, React.createElement("ul", null, items.map(item => { const id = v4(); return (React.createElement("li", { key: id }, renderItem({ ...item, }))); })))); }); Pagination.displayName = 'Pagination'; export { Pagination, Pagination as default };