UNPKG

3.21 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 _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
9
10var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
12var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
13
14var _classnames = _interopRequireDefault(require("classnames"));
15
16var _react = _interopRequireDefault(require("react"));
17
18var _SafeAnchor = _interopRequireDefault(require("./SafeAnchor"));
19
20/* eslint-disable react/no-multi-comp */
21var defaultProps = {
22 active: false,
23 disabled: false,
24 activeLabel: '(current)'
25};
26
27var PageItem = _react.default.forwardRef(function (_ref, ref) {
28 var active = _ref.active,
29 disabled = _ref.disabled,
30 className = _ref.className,
31 style = _ref.style,
32 activeLabel = _ref.activeLabel,
33 children = _ref.children,
34 props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["active", "disabled", "className", "style", "activeLabel", "children"]);
35 var Component = active || disabled ? 'span' : _SafeAnchor.default;
36 return _react.default.createElement("li", {
37 ref: ref,
38 style: style,
39 className: (0, _classnames.default)(className, 'page-item', {
40 active: active,
41 disabled: disabled
42 })
43 }, _react.default.createElement(Component, (0, _extends2.default)({
44 className: "page-link",
45 disabled: disabled
46 }, props), children, active && activeLabel && _react.default.createElement("span", {
47 className: "sr-only"
48 }, activeLabel)));
49});
50
51PageItem.defaultProps = defaultProps;
52PageItem.displayName = 'PageItem';
53var _default = PageItem;
54exports.default = _default;
55
56function createButton(name, defaultValue, label) {
57 var _class, _temp;
58
59 if (label === void 0) {
60 label = name;
61 }
62
63 return _temp = _class =
64 /*#__PURE__*/
65 function (_React$Component) {
66 (0, _inheritsLoose2.default)(_class, _React$Component);
67
68 function _class() {
69 return _React$Component.apply(this, arguments) || this;
70 }
71
72 var _proto = _class.prototype;
73
74 _proto.render = function render() {
75 var _this$props = this.props,
76 children = _this$props.children,
77 props = (0, _objectWithoutPropertiesLoose2.default)(_this$props, ["children"]);
78 delete props.active;
79 return _react.default.createElement(PageItem, props, _react.default.createElement("span", {
80 "aria-hidden": "true"
81 }, children || defaultValue), _react.default.createElement("span", {
82 className: "sr-only"
83 }, label));
84 };
85
86 return _class;
87 }(_react.default.Component), _class.displayName = name, _temp;
88}
89
90var First = createButton('First', '«');
91exports.First = First;
92var Prev = createButton('Prev', '‹', 'Previous');
93exports.Prev = Prev;
94var Ellipsis = createButton('Ellipsis', '…', 'More');
95exports.Ellipsis = Ellipsis;
96var Next = createButton('Next', '›');
97exports.Next = Next;
98var Last = createButton('Last', '»');
99exports.Last = Last;
\No newline at end of file