UNPKG

@heycar-uikit/core

Version:
33 lines (30 loc) 1.63 kB
import { _ as __rest, a as __assign } from './tslib.es6-56356891.js'; 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-3a522ea2.js'; import './Pagination.types-db9615e7.js'; import '../../icons'; import '../../typography'; import './utils/getSiblingsToRender.js'; import './utils/parseOnClick.js'; import './hooks/useBreakpoint.hook.js'; var Pagination = React.forwardRef(function (_a, ref) { var totalPages = _a.totalPages, currentPage = _a.currentPage, onClick = _a.onClick, _b = _a.renderItem, renderItem = _b === void 0 ? function (item) { return React.createElement(PaginationItem, __assign({}, item)); } : _b, _c = _a.locale, locale = _c === void 0 ? DEFAULT_LOCALE : _c, className = _a.className, rest = __rest(_a, ["totalPages", "currentPage", "onClick", "renderItem", "locale", "className"]); var classNames = cn(styles.pagination, className); var items = usePagination({ onClick: onClick, totalPages: totalPages, currentPage: currentPage, locale: locale, }).items; return (React.createElement("nav", __assign({ className: classNames, ref: ref }, rest), React.createElement("ul", null, items.map(function (item) { var id = v4(); return (React.createElement("li", { key: id }, renderItem(__assign({}, item)))); })))); }); Pagination.displayName = 'Pagination'; export { Pagination, Pagination as default };