UNPKG

2.8 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
18var _excluded = ["active", "disabled", "className", "style", "activeLabel", "children"],
19 _excluded2 = ["children"];
20var defaultProps = {
21 active: false,
22 disabled: false,
23 activeLabel: '(current)'
24};
25
26var PageItem = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
27 var active = _ref.active,
28 disabled = _ref.disabled,
29 className = _ref.className,
30 style = _ref.style,
31 activeLabel = _ref.activeLabel,
32 children = _ref.children,
33 props = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
34 var Component = active || disabled ? 'span' : _SafeAnchor.default;
35 return /*#__PURE__*/_react.default.createElement("li", {
36 ref: ref,
37 style: style,
38 className: (0, _classnames.default)(className, 'page-item', {
39 active: active,
40 disabled: disabled
41 })
42 }, /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
43 className: "page-link",
44 disabled: disabled
45 }, props), children, active && activeLabel && /*#__PURE__*/_react.default.createElement("span", {
46 className: "sr-only"
47 }, activeLabel)));
48});
49
50PageItem.defaultProps = defaultProps;
51PageItem.displayName = 'PageItem';
52var _default = PageItem;
53exports.default = _default;
54
55function createButton(name, defaultValue, label) {
56 if (label === void 0) {
57 label = name;
58 }
59
60 function Button(_ref2) {
61 var children = _ref2.children,
62 props = (0, _objectWithoutPropertiesLoose2.default)(_ref2, _excluded2);
63 return /*#__PURE__*/_react.default.createElement(PageItem, props, /*#__PURE__*/_react.default.createElement("span", {
64 "aria-hidden": "true"
65 }, children || defaultValue), /*#__PURE__*/_react.default.createElement("span", {
66 className: "sr-only"
67 }, label));
68 }
69
70 Button.displayName = name;
71 return Button;
72}
73
74var First = createButton('First', '«');
75exports.First = First;
76var Prev = createButton('Prev', '‹', 'Previous');
77exports.Prev = Prev;
78var Ellipsis = createButton('Ellipsis', '…', 'More');
79exports.Ellipsis = Ellipsis;
80var Next = createButton('Next', '›');
81exports.Next = Next;
82var Last = createButton('Last', '»');
83exports.Last = Last;
\No newline at end of file