You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

47 lines
1.6 KiB

  1. import _extends from "@babel/runtime/helpers/esm/extends";
  2. import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
  3. import React from 'react';
  4. import PropTypes from 'prop-types';
  5. import classNames from 'classnames';
  6. import { mapToCssModules, tagPropType } from './utils';
  7. var propTypes = {
  8. children: PropTypes.node,
  9. className: PropTypes.string,
  10. listClassName: PropTypes.string,
  11. cssModule: PropTypes.object,
  12. size: PropTypes.string,
  13. tag: tagPropType,
  14. listTag: tagPropType,
  15. 'aria-label': PropTypes.string
  16. };
  17. var defaultProps = {
  18. tag: 'nav',
  19. listTag: 'ul',
  20. 'aria-label': 'pagination'
  21. };
  22. var Pagination = function Pagination(props) {
  23. var _classNames;
  24. var className = props.className,
  25. listClassName = props.listClassName,
  26. cssModule = props.cssModule,
  27. size = props.size,
  28. Tag = props.tag,
  29. ListTag = props.listTag,
  30. label = props['aria-label'],
  31. attributes = _objectWithoutPropertiesLoose(props, ["className", "listClassName", "cssModule", "size", "tag", "listTag", "aria-label"]);
  32. var classes = mapToCssModules(classNames(className), cssModule);
  33. var listClasses = mapToCssModules(classNames(listClassName, 'pagination', (_classNames = {}, _classNames["pagination-" + size] = !!size, _classNames)), cssModule);
  34. return React.createElement(Tag, {
  35. className: classes,
  36. "aria-label": label
  37. }, React.createElement(ListTag, _extends({}, attributes, {
  38. className: listClasses
  39. })));
  40. };
  41. Pagination.propTypes = propTypes;
  42. Pagination.defaultProps = defaultProps;
  43. export default Pagination;