UNPKG

3.69 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
4
5exports.__esModule = true;
6exports.default = PaginationItem;
7exports.Last = exports.Next = exports.Ellipsis = exports.Prev = exports.First = void 0;
8
9var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inheritsLoose"));
10
11var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/extends"));
12
13var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/objectWithoutPropertiesLoose"));
14
15var _classnames = _interopRequireDefault(require("classnames"));
16
17var _propTypes = _interopRequireDefault(require("prop-types"));
18
19var _react = _interopRequireDefault(require("react"));
20
21var _SafeAnchor = _interopRequireDefault(require("./SafeAnchor"));
22
23/* eslint-disable react/no-multi-comp */
24var propTypes = {
25 eventKey: _propTypes.default.any,
26 className: _propTypes.default.string,
27 onSelect: _propTypes.default.func,
28 disabled: _propTypes.default.bool,
29 active: _propTypes.default.bool,
30 activeLabel: _propTypes.default.string.isRequired
31};
32var defaultProps = {
33 active: false,
34 disabled: false,
35 activeLabel: '(current)'
36};
37
38function PaginationItem(_ref) {
39 var active = _ref.active,
40 disabled = _ref.disabled,
41 className = _ref.className,
42 style = _ref.style,
43 activeLabel = _ref.activeLabel,
44 children = _ref.children,
45 props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["active", "disabled", "className", "style", "activeLabel", "children"]);
46 var Component = active || disabled ? 'span' : _SafeAnchor.default;
47 return _react.default.createElement("li", {
48 style: style,
49 className: (0, _classnames.default)(className, {
50 active: active,
51 disabled: disabled
52 })
53 }, _react.default.createElement(Component, (0, _extends2.default)({
54 disabled: disabled
55 }, props), children, active && _react.default.createElement("span", {
56 className: "sr-only"
57 }, activeLabel)));
58}
59
60PaginationItem.propTypes = propTypes;
61PaginationItem.defaultProps = defaultProps;
62
63function createButton(name, defaultValue, label) {
64 var _class, _temp;
65
66 if (label === void 0) {
67 label = name;
68 }
69
70 return _temp = _class =
71 /*#__PURE__*/
72 function (_React$Component) {
73 (0, _inheritsLoose2.default)(_class, _React$Component);
74
75 function _class() {
76 return _React$Component.apply(this, arguments) || this;
77 }
78
79 var _proto = _class.prototype;
80
81 _proto.render = function render() {
82 var _this$props = this.props,
83 disabled = _this$props.disabled,
84 children = _this$props.children,
85 className = _this$props.className,
86 props = (0, _objectWithoutPropertiesLoose2.default)(_this$props, ["disabled", "children", "className"]);
87 var Component = disabled ? 'span' : _SafeAnchor.default;
88 return _react.default.createElement("li", (0, _extends2.default)({
89 "aria-label": label,
90 className: (0, _classnames.default)(className, {
91 disabled: disabled
92 })
93 }, props), _react.default.createElement(Component, null, children || defaultValue));
94 };
95
96 return _class;
97 }(_react.default.Component), _class.displayName = name, _class.propTypes = {
98 disabled: _propTypes.default.bool
99 }, _temp;
100}
101
102var First = createButton('First', "\xAB");
103exports.First = First;
104var Prev = createButton('Prev', "\u2039");
105exports.Prev = Prev;
106var Ellipsis = createButton('Ellipsis', "\u2026", 'More');
107exports.Ellipsis = Ellipsis;
108var Next = createButton('Next', "\u203A");
109exports.Next = Next;
110var Last = createButton('Last', "\xBB");
111exports.Last = Last;
\No newline at end of file