1 | 'use strict';
|
2 |
|
3 | exports.__esModule = true;
|
4 | exports.Last = exports.Next = exports.Ellipsis = exports.Prev = exports.First = undefined;
|
5 |
|
6 | var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
|
7 |
|
8 | var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
9 |
|
10 | var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
|
11 |
|
12 | var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
13 |
|
14 | var _inherits2 = require('babel-runtime/helpers/inherits');
|
15 |
|
16 | var _inherits3 = _interopRequireDefault(_inherits2);
|
17 |
|
18 | var _extends2 = require('babel-runtime/helpers/extends');
|
19 |
|
20 | var _extends3 = _interopRequireDefault(_extends2);
|
21 |
|
22 | var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
|
23 |
|
24 | var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
25 |
|
26 | exports.default = PaginationItem;
|
27 |
|
28 | var _classnames = require('classnames');
|
29 |
|
30 | var _classnames2 = _interopRequireDefault(_classnames);
|
31 |
|
32 | var _propTypes = require('prop-types');
|
33 |
|
34 | var _propTypes2 = _interopRequireDefault(_propTypes);
|
35 |
|
36 | var _react = require('react');
|
37 |
|
38 | var _react2 = _interopRequireDefault(_react);
|
39 |
|
40 | var _SafeAnchor = require('./SafeAnchor');
|
41 |
|
42 | var _SafeAnchor2 = _interopRequireDefault(_SafeAnchor);
|
43 |
|
44 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
45 |
|
46 |
|
47 | var propTypes = {
|
48 | eventKey: _propTypes2.default.any,
|
49 | className: _propTypes2.default.string,
|
50 | onSelect: _propTypes2.default.func,
|
51 | disabled: _propTypes2.default.bool,
|
52 | active: _propTypes2.default.bool,
|
53 | activeLabel: _propTypes2.default.string.isRequired
|
54 | };
|
55 |
|
56 | var defaultProps = {
|
57 | active: false,
|
58 | disabled: false,
|
59 | activeLabel: '(current)'
|
60 | };
|
61 |
|
62 | function PaginationItem(_ref) {
|
63 | var active = _ref.active,
|
64 | disabled = _ref.disabled,
|
65 | className = _ref.className,
|
66 | style = _ref.style,
|
67 | activeLabel = _ref.activeLabel,
|
68 | children = _ref.children,
|
69 | props = (0, _objectWithoutProperties3.default)(_ref, ['active', 'disabled', 'className', 'style', 'activeLabel', 'children']);
|
70 |
|
71 | var Component = active || disabled ? 'span' : _SafeAnchor2.default;
|
72 | return _react2.default.createElement(
|
73 | 'li',
|
74 | { style: style, className: (0, _classnames2.default)(className, { active: active, disabled: disabled }) },
|
75 | _react2.default.createElement(
|
76 | Component,
|
77 | (0, _extends3.default)({ disabled: disabled }, props),
|
78 | children,
|
79 | active && _react2.default.createElement(
|
80 | 'span',
|
81 | { className: 'sr-only' },
|
82 | activeLabel
|
83 | )
|
84 | )
|
85 | );
|
86 | }
|
87 |
|
88 | PaginationItem.propTypes = propTypes;
|
89 | PaginationItem.defaultProps = defaultProps;
|
90 |
|
91 | function createButton(name, defaultValue) {
|
92 | var _class, _temp;
|
93 |
|
94 | var label = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : name;
|
95 |
|
96 | return _temp = _class = function (_React$Component) {
|
97 | (0, _inherits3.default)(_class, _React$Component);
|
98 |
|
99 | function _class() {
|
100 | (0, _classCallCheck3.default)(this, _class);
|
101 | return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments));
|
102 | }
|
103 |
|
104 | _class.prototype.render = function render() {
|
105 | var _props = this.props,
|
106 | disabled = _props.disabled,
|
107 | children = _props.children,
|
108 | className = _props.className,
|
109 | props = (0, _objectWithoutProperties3.default)(_props, ['disabled', 'children', 'className']);
|
110 |
|
111 | var Component = disabled ? 'span' : _SafeAnchor2.default;
|
112 |
|
113 | return _react2.default.createElement(
|
114 | 'li',
|
115 | (0, _extends3.default)({
|
116 | 'aria-label': label,
|
117 | className: (0, _classnames2.default)(className, { disabled: disabled })
|
118 | }, props),
|
119 | _react2.default.createElement(
|
120 | Component,
|
121 | null,
|
122 | children || defaultValue
|
123 | )
|
124 | );
|
125 | };
|
126 |
|
127 | return _class;
|
128 | }(_react2.default.Component), _class.displayName = name, _class.propTypes = { disabled: _propTypes2.default.bool }, _temp;
|
129 | }
|
130 |
|
131 | var First = exports.First = createButton('First', '\xAB');
|
132 | var Prev = exports.Prev = createButton('Prev', '\u2039');
|
133 | var Ellipsis = exports.Ellipsis = createButton('Ellipsis', '\u2026', 'More');
|
134 | var Next = exports.Next = createButton('Next', '\u203A');
|
135 | var Last = exports.Last = createButton('Last', '\xBB'); |
\ | No newline at end of file |