design-react-kit
Version:
Componenti React per Bootstrap 5
26 lines • 1.35 kB
JavaScript
import React from 'react';
import classNames from 'classnames';
import { PagerItem } from '..';
export const Pager = ({ className, tag = 'nav', listTag: ListTag = 'ul', listClassName, children, total, testId, ...attributes }) => {
const Tag = tag;
const classes = classNames(className, 'pagination-wrapper', {
'pagination-total': total
});
const listClasses = classNames(listClassName, 'pagination');
const { ariaLabel, label } = total || {};
const totalAriaLabel = ariaLabel ? React.createElement("span", { className: 'visually-hidden' }, ariaLabel) : null;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const listChildren = React.Children.toArray(children).filter((child) => child.type === PagerItem);
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const extraChildren = React.Children.toArray(children).filter((child) => child.type !== PagerItem);
// listChildren?.forEach(child => {
// console.log(child)
// })
return (React.createElement(Tag, { className: classes, ...attributes, "data-testid": testId },
React.createElement(ListTag, { className: listClasses }, listChildren),
extraChildren,
total ? (React.createElement("p", null,
totalAriaLabel,
label)) : null));
};
//# sourceMappingURL=Pager.js.map