UNPKG

2.78 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5exports.__esModule = true;
6exports.Last = exports.Next = exports.Ellipsis = exports.Prev = exports.First = exports.default = void 0;
7
8var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
10var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
12var _classnames = _interopRequireDefault(require("classnames"));
13
14var _react = _interopRequireDefault(require("react"));
15
16var _SafeAnchor = _interopRequireDefault(require("./SafeAnchor"));
17
18/* eslint-disable react/no-multi-comp */
19var defaultProps = {
20 active: false,
21 disabled: false,
22 activeLabel: '(current)'
23};
24
25var PageItem = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
26 var active = _ref.active,
27 disabled = _ref.disabled,
28 className = _ref.className,
29 style = _ref.style,
30 activeLabel = _ref.activeLabel,
31 children = _ref.children,
32 props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["active", "disabled", "className", "style", "activeLabel", "children"]);
33 var Component = active || disabled ? 'span' : _SafeAnchor.default;
34 return /*#__PURE__*/_react.default.createElement("li", {
35 ref: ref,
36 style: style,
37 className: (0, _classnames.default)(className, 'page-item', {
38 active: active,
39 disabled: disabled
40 })
41 }, /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
42 className: "page-link",
43 disabled: disabled
44 }, props), children, active && activeLabel && /*#__PURE__*/_react.default.createElement("span", {
45 className: "sr-only"
46 }, activeLabel)));
47});
48
49PageItem.defaultProps = defaultProps;
50PageItem.displayName = 'PageItem';
51var _default = PageItem;
52exports.default = _default;
53
54function createButton(name, defaultValue, label) {
55 if (label === void 0) {
56 label = name;
57 }
58
59 function Button(_ref2) {
60 var children = _ref2.children,
61 props = (0, _objectWithoutPropertiesLoose2.default)(_ref2, ["children"]);
62 return /*#__PURE__*/_react.default.createElement(PageItem, props, /*#__PURE__*/_react.default.createElement("span", {
63 "aria-hidden": "true"
64 }, children || defaultValue), /*#__PURE__*/_react.default.createElement("span", {
65 className: "sr-only"
66 }, label));
67 }
68
69 Button.displayName = name;
70 return Button;
71}
72
73var First = createButton('First', '«');
74exports.First = First;
75var Prev = createButton('Prev', '‹', 'Previous');
76exports.Prev = Prev;
77var Ellipsis = createButton('Ellipsis', '…', 'More');
78exports.Ellipsis = Ellipsis;
79var Next = createButton('Next', '›');
80exports.Next = Next;
81var Last = createButton('Last', '»');
82exports.Last = Last;
\No newline at end of file