UNPKG

3.09 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.default = void 0;
7var _react = _interopRequireDefault(require("react"));
8var _propTypes = _interopRequireDefault(require("prop-types"));
9var _classnames = _interopRequireDefault(require("classnames"));
10var _utils = require("./utils");
11const _excluded = ["className", "listClassName", "cssModule", "size", "tag", "listTag", "aria-label"];
12function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
14function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
15function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
16const propTypes = {
17 children: _propTypes.default.node,
18 /** Add custom class */
19 className: _propTypes.default.string,
20 /** Add custom class for list */
21 listClassName: _propTypes.default.string,
22 /** Change underlying component's CSS base class name */
23 cssModule: _propTypes.default.object,
24 /** Make the Pagination bigger or smaller */
25 size: _propTypes.default.string,
26 /** Set a custom element for this component */
27 tag: _utils.tagPropType,
28 /** Set a custom element for list component */
29 listTag: _utils.tagPropType,
30 'aria-label': _propTypes.default.string
31};
32function Pagination(props) {
33 const {
34 className,
35 listClassName,
36 cssModule,
37 size,
38 tag: Tag = 'nav',
39 listTag: ListTag = 'ul',
40 'aria-label': label = 'pagination'
41 } = props,
42 attributes = _objectWithoutProperties(props, _excluded);
43 const classes = (0, _utils.mapToCssModules)((0, _classnames.default)(className), cssModule);
44 const listClasses = (0, _utils.mapToCssModules)((0, _classnames.default)(listClassName, 'pagination', {
45 [`pagination-${size}`]: !!size
46 }), cssModule);
47 return /*#__PURE__*/_react.default.createElement(Tag, {
48 className: classes,
49 "aria-label": label
50 }, /*#__PURE__*/_react.default.createElement(ListTag, _extends({}, attributes, {
51 className: listClasses
52 })));
53}
54Pagination.propTypes = propTypes;
55var _default = Pagination;
56exports.default = _default;
\No newline at end of file