@occmundial/occ-atomic 3.0.0-beta.5 → 3.0.0-beta.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +414 -0
- package/build/Avatar/Avatar.js +69 -21
- package/build/Avatar/Avatar.test.js +15 -8
- package/build/Avatar/AvatarContent/AvatarContent.js +61 -21
- package/build/Avatar/AvatarContent/AvatarContent.test.js +4 -18
- package/build/Avatar/AvatarContent/__snapshots__/AvatarContent.test.js.snap +75 -15
- package/build/Avatar/AvatarContent/styles.js +88 -21
- package/build/Avatar/__snapshots__/Avatar.test.js.snap +11 -2
- package/build/Avatar/styles.js +18 -7
- package/build/Banner/Banner.js +30 -40
- package/build/Banner/Banner.test.js +64 -17
- package/build/Banner/__snapshots__/Banner.test.js.snap +0 -28
- package/build/Banner/index.js +1 -6
- package/build/Button/Button.js +1 -1
- package/build/Button/Button.test.js +0 -11
- package/build/Button/__snapshots__/Button.test.js.snap +54 -60
- package/build/Button/styles.js +42 -75
- package/build/Checkbox/Checkbox.js +48 -3
- package/build/Checkbox/__snapshots__/Checkbox.test.js.snap +81 -49
- package/build/Checkbox/styles.js +91 -48
- package/build/Fab/__snapshots__/Fab.test.js.snap +2 -2
- package/build/Footer/Footer.js +63 -84
- package/build/Footer/List/List.js +89 -124
- package/build/Footer/List/styles.js +85 -31
- package/build/Footer/__snapshots__/Footer.test.js.snap +113 -57
- package/build/Footer/styles.js +119 -53
- package/build/Grid/Col/__snapshots__/Col.test.js.snap +16 -2
- package/build/Grid/Col/styles.js +12 -6
- package/build/Grid/Row/__snapshots__/Row.test.js.snap +18 -2
- package/build/Grid/Row/styles.js +15 -5
- package/build/Grid/styles.js +26 -9
- package/build/Modal/Modal.js +94 -66
- package/build/Modal/Modal.test.js +14 -7
- package/build/Modal/__snapshots__/Modal.test.js.snap +155 -100
- package/build/Modal/styles.js +165 -143
- package/build/Pager/Page/Page.js +8 -5
- package/build/Pager/Page/Page.test.js +13 -9
- package/build/Pager/Page/__snapshots__/Page.test.js.snap +34 -10
- package/build/Pager/Page/styles.js +48 -14
- package/build/Pager/Pager.js +139 -235
- package/build/Pager/Pager.test.js +81 -36
- package/build/Pager/__snapshots__/Pager.test.js.snap +3 -36
- package/build/Pager/styles.js +5 -40
- package/build/Pill/Choice/Choice.js +6 -4
- package/build/Pill/Choice/styles.js +13 -10
- package/build/Pill/Group/styles.js +5 -5
- package/build/Pill/Stack/Stack.js +2 -2
- package/build/Pill/Stack/styles.js +5 -8
- package/build/Placeholder/Placeholder.js +29 -12
- package/build/Placeholder/Placeholder.test.js +4 -4
- package/build/Placeholder/__snapshots__/Placeholder.test.js.snap +81 -38
- package/build/Placeholder/styles.js +86 -42
- package/build/Provider/usePrevious.js +1 -1
- package/build/Radio/Radio.js +42 -6
- package/build/Radio/__snapshots__/Radio.test.js.snap +81 -80
- package/build/Radio/styles.js +93 -85
- package/build/SlideDown/SlideDown.js +162 -169
- package/build/SlideDown/SlideDown.test.js +49 -44
- package/build/SlideDown/__snapshots__/SlideDown.test.js.snap +45 -13
- package/build/SlideDown/styles.js +52 -18
- package/build/SlideToggle/SlideToggle.js +38 -6
- package/build/SlideToggle/SlideToggle.test.js +2 -2
- package/build/SlideToggle/__snapshots__/SlideToggle.test.js.snap +53 -37
- package/build/SlideToggle/styles.js +64 -45
- package/build/Tabs/Tab/Tab.js +73 -0
- package/build/Tabs/Tab/index.js +34 -0
- package/build/Tabs/Tab/index.test.js +132 -0
- package/build/Tabs/Tab/styles.js +74 -0
- package/build/Tabs/TabContent/TabContent.js +76 -0
- package/build/Tabs/TabContent/index.js +34 -0
- package/build/Tabs/TabContent/index.test.js +68 -0
- package/build/Tabs/TabContent/styles.js +23 -0
- package/build/Tabs/TabIndicator/TabIndicator.js +158 -0
- package/build/Tabs/TabIndicator/index.js +34 -0
- package/build/Tabs/TabIndicator/styles.js +24 -0
- package/build/Tabs/TabList/TabList.js +108 -0
- package/build/Tabs/TabList/index.js +34 -0
- package/build/{Pager/Break → Tabs/TabList}/styles.js +3 -2
- package/build/Tabs/Tabs.js +74 -0
- package/build/Tabs/context.js +94 -0
- package/build/Tabs/index.js +34 -0
- package/build/Tabs/index.test.js +157 -0
- package/build/Tabs/styles.js +19 -0
- package/build/Tag/Tag.js +2 -2
- package/build/Tag/__snapshots__/Tag.test.js.snap +40 -43
- package/build/Tag/styles.js +76 -82
- package/build/Text/Text.js +6 -3
- package/build/TextField/TextField.js +7 -6
- package/build/TextField/__snapshots__/TextField.test.js.snap +3 -0
- package/build/TextField/styles.js +3 -0
- package/build/Tip/Tip.js +62 -95
- package/build/Tip/Tip.test.js +29 -6
- package/build/Tip/TipText/index.js +32 -0
- package/build/Tip/__snapshots__/Tip.test.js.snap +127 -15
- package/build/Tip/styles.js +125 -31
- package/build/Toaster/Toast/Toast.js +76 -64
- package/build/Toaster/Toast/styles.js +118 -46
- package/build/Toaster/Toaster.js +3 -2
- package/build/Toaster/Toaster.test.js +5 -2
- package/build/Toaster/__snapshots__/Toaster.test.js.snap +1 -1
- package/build/Toaster/functions.js +4 -0
- package/build/Toaster/styles.js +3 -3
- package/build/Tooltip/Tooltip.js +73 -22
- package/build/Tooltip/__snapshots__/Tooltip.test.js.snap +22 -6
- package/build/Tooltip/styles.js +32 -10
- package/build/index.js +14 -1
- package/build/subatomic/grid.js +5 -5
- package/build/tokens/colors.json +35 -3
- package/package.json +4 -1
- package/build/Banner/styles.js +0 -41
- package/build/Pager/Break/Break.js +0 -27
- package/build/Pager/Break/Break.test.js +0 -53
- package/build/Pager/Break/__snapshots__/Break.test.js.snap +0 -13
- package/build/Pager/Break/index.js +0 -18
- /package/build/Button/{Loading.js → Loading/index.js} +0 -0
package/build/Pager/Pager.js
CHANGED
|
@@ -5,258 +5,180 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports["default"] =
|
|
8
|
+
exports["default"] = Pager;
|
|
9
9
|
|
|
10
|
-
var _react =
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
11
|
|
|
12
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _Button = _interopRequireDefault(require("../Button"));
|
|
15
15
|
|
|
16
16
|
var _Page = _interopRequireDefault(require("./Page"));
|
|
17
17
|
|
|
18
|
-
var _Break = _interopRequireDefault(require("./Break"));
|
|
19
|
-
|
|
20
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
21
19
|
|
|
22
|
-
function
|
|
23
|
-
|
|
24
|
-
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
25
|
-
|
|
26
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
27
|
-
|
|
28
|
-
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
29
|
-
|
|
30
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
20
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
31
21
|
|
|
32
|
-
function
|
|
22
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
33
23
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
24
|
+
/** This pager allows the user to navigate between pages with 'Next' and 'Previous' buttons and numerical buttons. */
|
|
25
|
+
function Pager(_ref) {
|
|
26
|
+
var classes = _ref.classes,
|
|
27
|
+
currentPage = _ref.currentPage,
|
|
28
|
+
onPageChange = _ref.onPageChange,
|
|
29
|
+
_ref$pageCount = _ref.pageCount,
|
|
30
|
+
pageCount = _ref$pageCount === void 0 ? 10 : _ref$pageCount,
|
|
31
|
+
_ref$centerPages = _ref.centerPages,
|
|
32
|
+
centerPages = _ref$centerPages === void 0 ? 3 : _ref$centerPages,
|
|
33
|
+
_ref$marginPages = _ref.marginPages,
|
|
34
|
+
marginPages = _ref$marginPages === void 0 ? 2 : _ref$marginPages,
|
|
35
|
+
_ref$previousLabel = _ref.previousLabel,
|
|
36
|
+
previousLabel = _ref$previousLabel === void 0 ? 'Previous' : _ref$previousLabel,
|
|
37
|
+
_ref$nextLabel = _ref.nextLabel,
|
|
38
|
+
nextLabel = _ref$nextLabel === void 0 ? 'Next' : _ref$nextLabel,
|
|
39
|
+
_ref$breakSymbol = _ref.breakSymbol,
|
|
40
|
+
breakSymbol = _ref$breakSymbol === void 0 ? '...' : _ref$breakSymbol,
|
|
41
|
+
hideNumbers = _ref.hideNumbers,
|
|
42
|
+
disabled = _ref.disabled,
|
|
43
|
+
className = _ref.className;
|
|
44
|
+
var handlePageSelected = (0, _react.useCallback)(function (newPage) {
|
|
45
|
+
if (currentPage === newPage) return;
|
|
46
|
+
if (onPageChange) onPageChange(newPage);
|
|
47
|
+
}, [currentPage, onPageChange]);
|
|
48
|
+
(0, _react.useEffect)(function () {
|
|
49
|
+
if (currentPage > pageCount || currentPage < 1) {
|
|
50
|
+
handlePageSelected(1);
|
|
51
|
+
}
|
|
52
|
+
}, [currentPage, pageCount, handlePageSelected]);
|
|
39
53
|
|
|
40
|
-
|
|
54
|
+
var handlePrevPage = function handlePrevPage() {
|
|
55
|
+
if (currentPage > 1) handlePageSelected(currentPage - 1);
|
|
56
|
+
};
|
|
41
57
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
58
|
+
var handleNextPage = function handleNextPage() {
|
|
59
|
+
if (currentPage < pageCount) handlePageSelected(currentPage + 1);
|
|
60
|
+
};
|
|
45
61
|
|
|
46
|
-
var
|
|
62
|
+
var addPage = function addPage(page) {
|
|
63
|
+
var pageData = {
|
|
64
|
+
key: page.toString(),
|
|
65
|
+
type: 'page',
|
|
66
|
+
selected: currentPage === page
|
|
67
|
+
};
|
|
68
|
+
return pageData;
|
|
69
|
+
};
|
|
47
70
|
|
|
48
|
-
function
|
|
49
|
-
var
|
|
71
|
+
var getStartAndEndPages = function getStartAndEndPages() {
|
|
72
|
+
var startPage = Math.max(currentPage - Math.floor(centerPages / 2), marginPages + 1);
|
|
73
|
+
var endPage = Math.min(startPage + centerPages - 1, pageCount - marginPages);
|
|
50
74
|
|
|
51
|
-
|
|
75
|
+
if (endPage === pageCount - marginPages) {
|
|
76
|
+
startPage = Math.max(endPage - centerPages + 1, marginPages + 1);
|
|
77
|
+
}
|
|
52
78
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
79
|
+
return {
|
|
80
|
+
startPage: startPage,
|
|
81
|
+
endPage: endPage
|
|
56
82
|
};
|
|
57
|
-
|
|
58
|
-
_this.handlePrevPage = _this.handlePrevPage.bind(_assertThisInitialized(_this));
|
|
59
|
-
_this.handleNextPage = _this.handleNextPage.bind(_assertThisInitialized(_this));
|
|
60
|
-
_this.handlePageSelected = _this.handlePageSelected.bind(_assertThisInitialized(_this));
|
|
61
|
-
_this.getPageElement = _this.getPageElement.bind(_assertThisInitialized(_this));
|
|
62
|
-
_this.pagination = _this.pagination.bind(_assertThisInitialized(_this));
|
|
63
|
-
return _this;
|
|
64
|
-
}
|
|
83
|
+
};
|
|
65
84
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
value: function componentDidMount() {
|
|
69
|
-
var _this$props = this.props,
|
|
70
|
-
initialPage = _this$props.initialPage,
|
|
71
|
-
disableInitialCallback = _this$props.disableInitialCallback;
|
|
85
|
+
function getPagination() {
|
|
86
|
+
var elements = [];
|
|
72
87
|
|
|
73
|
-
|
|
74
|
-
|
|
88
|
+
if (pageCount <= centerPages + marginPages * 2) {
|
|
89
|
+
for (var i = 1; i <= pageCount; i++) {
|
|
90
|
+
elements.push(addPage(i));
|
|
75
91
|
}
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
value: function componentWillReceiveProps(props) {
|
|
80
|
-
if (typeof props.forcePage != 'undefined' && this.props.forcePage != props.forcePage) {
|
|
81
|
-
this.setState({
|
|
82
|
-
selected: props.forcePage
|
|
83
|
-
});
|
|
92
|
+
} else {
|
|
93
|
+
for (var _i = 1; _i <= marginPages; _i++) {
|
|
94
|
+
elements.push(addPage(_i));
|
|
84
95
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
96
|
+
|
|
97
|
+
var _getStartAndEndPages = getStartAndEndPages(),
|
|
98
|
+
startPage = _getStartAndEndPages.startPage,
|
|
99
|
+
endPage = _getStartAndEndPages.endPage;
|
|
100
|
+
|
|
101
|
+
if (currentPage > marginPages + 1 && startPage > marginPages + 1) {
|
|
102
|
+
elements.push({
|
|
103
|
+
key: 'left-break',
|
|
104
|
+
type: 'break'
|
|
94
105
|
});
|
|
95
106
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
value: function handlePrevPage(e) {
|
|
100
|
-
var selected = this.state.selected;
|
|
101
|
-
e.preventDefault ? e.preventDefault() : e.returnValue = false;
|
|
102
|
-
|
|
103
|
-
if (selected > 1) {
|
|
104
|
-
this.handlePageSelected(selected - 1, e);
|
|
107
|
+
|
|
108
|
+
for (var _i2 = startPage; _i2 <= endPage; _i2++) {
|
|
109
|
+
elements.push(addPage(_i2));
|
|
105
110
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
111
|
+
|
|
112
|
+
if (currentPage < pageCount - marginPages - 1) {
|
|
113
|
+
elements.push({
|
|
114
|
+
key: 'right-break',
|
|
115
|
+
type: 'break'
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
for (var _i3 = pageCount - marginPages + 1; _i3 <= pageCount; _i3++) {
|
|
120
|
+
elements.push(addPage(_i3));
|
|
116
121
|
}
|
|
117
122
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
123
|
+
|
|
124
|
+
return elements;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
128
|
+
className: "".concat(classes.pager).concat(className ? " ".concat(className) : '')
|
|
129
|
+
}, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
130
|
+
className: classes.prev,
|
|
131
|
+
disabled: currentPage === 1 || disabled,
|
|
132
|
+
theme: "secondary",
|
|
133
|
+
onClick: handlePrevPage,
|
|
134
|
+
icon: "arrow-left",
|
|
135
|
+
size: !previousLabel ? 'lg' : 'sm'
|
|
136
|
+
}, previousLabel), !hideNumbers && getPagination().map(function (_ref2) {
|
|
137
|
+
var key = _ref2.key,
|
|
138
|
+
type = _ref2.type,
|
|
139
|
+
selected = _ref2.selected;
|
|
140
|
+
|
|
141
|
+
if (type === 'page') {
|
|
132
142
|
return /*#__PURE__*/_react["default"].createElement(_Page["default"], {
|
|
133
|
-
key:
|
|
134
|
-
onClick:
|
|
135
|
-
|
|
136
|
-
|
|
143
|
+
key: key,
|
|
144
|
+
onClick: function onClick() {
|
|
145
|
+
return handlePageSelected(Number(key));
|
|
146
|
+
},
|
|
147
|
+
selected: selected,
|
|
148
|
+
page: Number(key),
|
|
149
|
+
disabled: disabled
|
|
137
150
|
});
|
|
138
151
|
}
|
|
139
|
-
}, {
|
|
140
|
-
key: "pagination",
|
|
141
|
-
value: function pagination() {
|
|
142
|
-
var _this2 = this;
|
|
143
|
-
|
|
144
|
-
var items = [];
|
|
145
|
-
var selected = this.state.selected;
|
|
146
|
-
var _this$props2 = this.props,
|
|
147
|
-
pageRangeDisplayed = _this$props2.pageRangeDisplayed,
|
|
148
|
-
pageCount = _this$props2.pageCount,
|
|
149
|
-
marginPagesDisplayed = _this$props2.marginPagesDisplayed,
|
|
150
|
-
breakLabel = _this$props2.breakLabel;
|
|
151
|
-
|
|
152
|
-
if (pageCount <= pageRangeDisplayed) {
|
|
153
|
-
for (var index = 1; index <= pageCount; index++) {
|
|
154
|
-
items.push(this.getPageElement(index));
|
|
155
|
-
}
|
|
156
|
-
} else {
|
|
157
|
-
var leftSide = pageRangeDisplayed / 2;
|
|
158
|
-
var rightSide = pageRangeDisplayed - leftSide;
|
|
159
|
-
|
|
160
|
-
if (selected > pageCount - pageRangeDisplayed / 2) {
|
|
161
|
-
rightSide = pageCount - selected;
|
|
162
|
-
leftSide = pageRangeDisplayed - rightSide;
|
|
163
|
-
} else if (selected < pageRangeDisplayed / 2) {
|
|
164
|
-
leftSide = selected;
|
|
165
|
-
rightSide = pageRangeDisplayed - leftSide;
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
var _index;
|
|
169
|
-
|
|
170
|
-
var page;
|
|
171
|
-
var breakView;
|
|
172
|
-
|
|
173
|
-
var createPage = function createPage(index) {
|
|
174
|
-
return _this2.getPageElement(index);
|
|
175
|
-
};
|
|
176
|
-
|
|
177
|
-
for (_index = 1; _index <= pageCount; _index++) {
|
|
178
|
-
page = _index;
|
|
179
|
-
|
|
180
|
-
if (page <= marginPagesDisplayed) {
|
|
181
|
-
items.push(createPage(_index));
|
|
182
|
-
continue;
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
if (page > pageCount - marginPagesDisplayed) {
|
|
186
|
-
items.push(createPage(_index));
|
|
187
|
-
continue;
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
if (_index >= selected - leftSide && _index <= selected + rightSide) {
|
|
191
|
-
items.push(createPage(_index));
|
|
192
|
-
continue;
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
if (breakLabel && items[items.length - 1] != breakView) {
|
|
196
|
-
breakView = /*#__PURE__*/_react["default"].createElement(_Break["default"], {
|
|
197
|
-
key: _index,
|
|
198
|
-
label: breakLabel
|
|
199
|
-
});
|
|
200
|
-
items.push(breakView);
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
152
|
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
className: "".concat(classes.pager).concat(className ? " ".concat(className) : '')
|
|
220
|
-
}, /*#__PURE__*/_react["default"].createElement("li", {
|
|
221
|
-
className: "".concat(classes.btn, " ").concat(classes.listItemPrevious).concat(selected == 1 ? " ".concat(classes.disabled) : ''),
|
|
222
|
-
tabIndex: "0",
|
|
223
|
-
onClick: this.handlePrevPage
|
|
224
|
-
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
225
|
-
className: classes.prev
|
|
226
|
-
}, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
227
|
-
iconName: "chevron-left",
|
|
228
|
-
width: 14,
|
|
229
|
-
height: 14,
|
|
230
|
-
colors: ['#adb4bb']
|
|
231
|
-
}), previousLabel)), !hideNumbers && this.pagination(), /*#__PURE__*/_react["default"].createElement("li", {
|
|
232
|
-
className: "".concat(classes.btn, " ").concat(classes.listItemNext).concat(selected == pageCount ? " ".concat(classes.disabled) : ''),
|
|
233
|
-
tabIndex: "0",
|
|
234
|
-
onClick: this.handleNextPage
|
|
235
|
-
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
236
|
-
className: classes.next
|
|
237
|
-
}, nextLabel, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
238
|
-
iconName: "chevron-right",
|
|
239
|
-
width: 14,
|
|
240
|
-
height: 14,
|
|
241
|
-
colors: ['#adb4bb']
|
|
242
|
-
}))));
|
|
243
|
-
}
|
|
244
|
-
}]);
|
|
245
|
-
|
|
246
|
-
return Pager;
|
|
247
|
-
}(_react["default"].Component);
|
|
153
|
+
return /*#__PURE__*/_react["default"].createElement(_Page["default"], {
|
|
154
|
+
key: key,
|
|
155
|
+
page: breakSymbol,
|
|
156
|
+
disabled: disabled
|
|
157
|
+
});
|
|
158
|
+
}), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
159
|
+
className: classes.next,
|
|
160
|
+
disabled: currentPage === pageCount || disabled,
|
|
161
|
+
theme: "secondary",
|
|
162
|
+
onClick: handleNextPage,
|
|
163
|
+
iconRight: "arrow-right",
|
|
164
|
+
size: !nextLabel ? 'lg' : 'sm'
|
|
165
|
+
}, nextLabel));
|
|
166
|
+
}
|
|
248
167
|
|
|
249
168
|
Pager.propTypes = {
|
|
250
169
|
classes: _propTypes["default"].object,
|
|
251
170
|
|
|
171
|
+
/** The current page number. */
|
|
172
|
+
currentPage: _propTypes["default"].number.isRequired,
|
|
173
|
+
|
|
252
174
|
/** The total number of pages. */
|
|
253
|
-
pageCount: _propTypes["default"].number
|
|
175
|
+
pageCount: _propTypes["default"].number,
|
|
254
176
|
|
|
255
177
|
/** The number of page numbers displayed at the center, between the '...' separators. */
|
|
256
|
-
|
|
178
|
+
centerPages: _propTypes["default"].number,
|
|
257
179
|
|
|
258
180
|
/** The number of page numbers displayed on the sides of the pager. */
|
|
259
|
-
|
|
181
|
+
marginPages: _propTypes["default"].number,
|
|
260
182
|
|
|
261
183
|
/** The label for the 'Previous' button. */
|
|
262
184
|
previousLabel: _propTypes["default"].node,
|
|
@@ -267,31 +189,13 @@ Pager.propTypes = {
|
|
|
267
189
|
/** Function to call after clicking a button to change the page. */
|
|
268
190
|
onPageChange: _propTypes["default"].func,
|
|
269
191
|
|
|
270
|
-
/** Default page to start the Pager. */
|
|
271
|
-
initialPage: _propTypes["default"].number,
|
|
272
|
-
|
|
273
|
-
/** Force a page change externally. */
|
|
274
|
-
forcePage: _propTypes["default"].number,
|
|
275
|
-
|
|
276
|
-
/** By default, a callback triggers after mounting, calling the onPageChange function. Set this to false if you don't want that to happen. */
|
|
277
|
-
disableInitialCallback: _propTypes["default"].bool,
|
|
278
|
-
|
|
279
192
|
/** Hide the numerical buttons, leaving just the 'Next' and 'Previous' buttons to interact with. */
|
|
280
193
|
hideNumbers: _propTypes["default"].bool,
|
|
281
194
|
|
|
282
195
|
/** Label for the separators. */
|
|
283
|
-
|
|
196
|
+
breakSymbol: _propTypes["default"].string,
|
|
197
|
+
|
|
198
|
+
/** Disable the pager */
|
|
199
|
+
disabled: _propTypes["default"].bool,
|
|
284
200
|
className: _propTypes["default"].string
|
|
285
|
-
};
|
|
286
|
-
Pager.defaultProps = {
|
|
287
|
-
pageCount: 10,
|
|
288
|
-
pageRangeDisplayed: 2,
|
|
289
|
-
marginPagesDisplayed: 3,
|
|
290
|
-
previousLabel: 'Previous',
|
|
291
|
-
nextLabel: 'Next',
|
|
292
|
-
breakLabel: '...',
|
|
293
|
-
disableInitialCallback: false,
|
|
294
|
-
hideNumbers: false
|
|
295
|
-
};
|
|
296
|
-
var _default = Pager;
|
|
297
|
-
exports["default"] = _default;
|
|
201
|
+
};
|
|
@@ -22,93 +22,138 @@ var classes = Object.keys(_styles["default"]).reduce(reduceClasses, {});
|
|
|
22
22
|
describe("Pager", function () {
|
|
23
23
|
it('matches the snapshot', function () {
|
|
24
24
|
var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_Pager["default"], {
|
|
25
|
-
classes: classes
|
|
25
|
+
classes: classes,
|
|
26
|
+
currentPage: 1
|
|
26
27
|
}));
|
|
27
28
|
expect(wrapper).toMatchSnapshot();
|
|
28
29
|
});
|
|
29
30
|
it('renders the prev and next buttons', function () {
|
|
30
31
|
var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_Pager["default"], {
|
|
31
|
-
classes: classes
|
|
32
|
+
classes: classes,
|
|
33
|
+
currentPage: 1
|
|
32
34
|
}));
|
|
33
|
-
expect(wrapper.find('.
|
|
34
|
-
expect(wrapper.find('.
|
|
35
|
-
expect(wrapper.find('.
|
|
36
|
-
expect(wrapper.find('.
|
|
35
|
+
expect(wrapper.find('.prev').length).toBe(1);
|
|
36
|
+
expect(wrapper.find('.prev').text()).toEqual('<Jss(Button) />');
|
|
37
|
+
expect(wrapper.find('.next').length).toBe(1);
|
|
38
|
+
expect(wrapper.find('.next').text()).toEqual('<Jss(Button) />');
|
|
37
39
|
});
|
|
38
40
|
it('changes to previous page', function () {
|
|
39
|
-
var
|
|
40
|
-
|
|
41
|
-
|
|
41
|
+
var onPageChange = jest.fn();
|
|
42
|
+
var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_Pager["default"], {
|
|
43
|
+
currentPage: 3,
|
|
44
|
+
pageCount: 4,
|
|
45
|
+
classes: classes,
|
|
46
|
+
onPageChange: onPageChange
|
|
42
47
|
}));
|
|
43
|
-
expect(
|
|
44
|
-
wrapper.find('
|
|
48
|
+
expect(onPageChange.mock.calls.length).toBe(0);
|
|
49
|
+
expect(wrapper.find('Page').at(1).prop('selected')).toBe(false);
|
|
50
|
+
expect(wrapper.find('Page').at(2).prop('selected')).toBe(true);
|
|
51
|
+
wrapper.find('.prev button').simulate('click', {
|
|
45
52
|
target: {}
|
|
46
53
|
});
|
|
47
|
-
expect(
|
|
54
|
+
expect(onPageChange.mock.calls.length).toBe(1);
|
|
55
|
+
expect(onPageChange.mock.calls[0][0]).toBe(2);
|
|
56
|
+
wrapper.setProps({
|
|
57
|
+
currentPage: 2
|
|
58
|
+
});
|
|
59
|
+
expect(wrapper.find('Page').at(1).prop('selected')).toBe(true);
|
|
60
|
+
expect(wrapper.find('Page').at(2).prop('selected')).toBe(false);
|
|
48
61
|
});
|
|
49
62
|
it('changes to next page', function () {
|
|
50
|
-
var
|
|
51
|
-
|
|
52
|
-
|
|
63
|
+
var onPageChange = jest.fn();
|
|
64
|
+
var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_Pager["default"], {
|
|
65
|
+
currentPage: 2,
|
|
66
|
+
pageCount: 4,
|
|
67
|
+
classes: classes,
|
|
68
|
+
onPageChange: onPageChange
|
|
53
69
|
}));
|
|
54
|
-
expect(
|
|
55
|
-
wrapper.find('
|
|
70
|
+
expect(onPageChange.mock.calls.length).toBe(0);
|
|
71
|
+
expect(wrapper.find('Page').at(1).prop('selected')).toBe(true);
|
|
72
|
+
expect(wrapper.find('Page').at(2).prop('selected')).toBe(false);
|
|
73
|
+
wrapper.find('.next button').simulate('click', {
|
|
56
74
|
target: {}
|
|
57
75
|
});
|
|
58
|
-
expect(
|
|
76
|
+
expect(onPageChange.mock.calls.length).toBe(1);
|
|
77
|
+
expect(onPageChange.mock.calls[0][0]).toBe(3);
|
|
78
|
+
wrapper.setProps({
|
|
79
|
+
currentPage: 3
|
|
80
|
+
});
|
|
81
|
+
expect(wrapper.find('Page').at(1).prop('selected')).toBe(false);
|
|
82
|
+
expect(wrapper.find('Page').at(2).prop('selected')).toBe(true);
|
|
59
83
|
});
|
|
60
84
|
it('renders the pagination', function () {
|
|
61
85
|
var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_Pager["default"], {
|
|
86
|
+
currentPage: 1,
|
|
62
87
|
pageCount: 3,
|
|
63
|
-
|
|
64
|
-
|
|
88
|
+
centerPages: 1,
|
|
89
|
+
marginPages: 1,
|
|
65
90
|
classes: classes
|
|
66
91
|
}));
|
|
67
|
-
expect(wrapper.find('
|
|
92
|
+
expect(wrapper.find('Page').length).toBe(3);
|
|
93
|
+
wrapper.setProps({
|
|
94
|
+
pageCount: 10
|
|
95
|
+
});
|
|
96
|
+
expect(wrapper.find('Page').length).toBe(4);
|
|
97
|
+
wrapper.setProps({
|
|
98
|
+
currentPage: 3
|
|
99
|
+
});
|
|
100
|
+
expect(wrapper.find('Page').length).toBe(5);
|
|
68
101
|
});
|
|
69
102
|
it('changes to a specific page', function () {
|
|
103
|
+
var onPageChange = jest.fn();
|
|
70
104
|
var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_Pager["default"], {
|
|
105
|
+
currentPage: 1,
|
|
71
106
|
pageCount: 5,
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
classes: classes
|
|
107
|
+
centerPages: 1,
|
|
108
|
+
marginPages: 1,
|
|
109
|
+
classes: classes,
|
|
110
|
+
onPageChange: onPageChange
|
|
75
111
|
}));
|
|
76
|
-
expect(
|
|
77
|
-
wrapper.find('
|
|
112
|
+
expect(onPageChange.mock.calls.length).toBe(0);
|
|
113
|
+
expect(wrapper.find('Page').at(0).prop('selected')).toBe(true);
|
|
114
|
+
expect(wrapper.find('Page').at(1).prop('selected')).toBe(false);
|
|
115
|
+
wrapper.find('Page').at(1).simulate('click', {
|
|
78
116
|
target: {}
|
|
79
117
|
});
|
|
80
|
-
expect(
|
|
118
|
+
expect(onPageChange.mock.calls.length).toBe(1);
|
|
119
|
+
expect(onPageChange.mock.calls[0][0]).toBe(2);
|
|
120
|
+
wrapper.setProps({
|
|
121
|
+
currentPage: 2
|
|
122
|
+
});
|
|
123
|
+
expect(wrapper.find('Page').at(0).prop('selected')).toBe(false);
|
|
124
|
+
expect(wrapper.find('Page').at(1).prop('selected')).toBe(true);
|
|
81
125
|
});
|
|
82
126
|
it('disables the previous page button', function () {
|
|
83
127
|
var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_Pager["default"], {
|
|
84
|
-
|
|
128
|
+
currentPage: 1,
|
|
85
129
|
classes: classes
|
|
86
130
|
}));
|
|
87
|
-
expect(wrapper.find('.
|
|
131
|
+
expect(wrapper.find('.prev').prop('disabled')).toEqual(true);
|
|
88
132
|
wrapper.setProps({
|
|
89
|
-
|
|
133
|
+
currentPage: 5
|
|
90
134
|
});
|
|
91
|
-
expect(wrapper.find('.
|
|
135
|
+
expect(wrapper.find('.prev').prop('disabled')).toEqual(false);
|
|
92
136
|
});
|
|
93
137
|
it('disables the next page button', function () {
|
|
94
138
|
var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_Pager["default"], {
|
|
95
139
|
pageCount: 5,
|
|
96
|
-
|
|
140
|
+
currentPage: 5,
|
|
97
141
|
classes: classes
|
|
98
142
|
}));
|
|
99
|
-
expect(wrapper.find('.
|
|
143
|
+
expect(wrapper.find('.next').prop('disabled')).toEqual(true);
|
|
100
144
|
wrapper.setProps({
|
|
101
|
-
|
|
145
|
+
currentPage: 1
|
|
102
146
|
});
|
|
103
|
-
expect(wrapper.find('.
|
|
147
|
+
expect(wrapper.find('.next').prop('disabled')).toEqual(false);
|
|
104
148
|
});
|
|
105
149
|
it('calls the onPageChange function', function () {
|
|
106
150
|
var onPageChange = jest.fn();
|
|
107
151
|
var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_Pager["default"], {
|
|
152
|
+
currentPage: 1,
|
|
108
153
|
onPageChange: onPageChange,
|
|
109
154
|
classes: classes
|
|
110
155
|
}));
|
|
111
|
-
wrapper.find('.
|
|
156
|
+
wrapper.find('.next').simulate('click', {
|
|
112
157
|
target: {}
|
|
113
158
|
});
|
|
114
159
|
expect(onPageChange.mock.calls.length).toBe(1);
|
|
@@ -4,48 +4,15 @@ exports[`Pager matches the snapshot 1`] = `ShallowWrapper {}`;
|
|
|
4
4
|
|
|
5
5
|
exports[`Pager styles matches the snapshot 1`] = `
|
|
6
6
|
Object {
|
|
7
|
-
"btn": Object {
|
|
8
|
-
"& span": Object {
|
|
9
|
-
"marginBottom": "-2px",
|
|
10
|
-
},
|
|
11
|
-
"&:hover": Object {
|
|
12
|
-
"background": "#ECECEE",
|
|
13
|
-
"borderColor": "#ECECEE",
|
|
14
|
-
},
|
|
15
|
-
"border": "1px solid #bfbfbf",
|
|
16
|
-
"borderRadius": "5px",
|
|
17
|
-
"cursor": "pointer",
|
|
18
|
-
"fontFamily": "'OccText', sans-serif",
|
|
19
|
-
"outline": "0",
|
|
20
|
-
"padding": "3px 13px",
|
|
21
|
-
"transition": "0.3s all",
|
|
22
|
-
},
|
|
23
|
-
"disabled": Object {
|
|
24
|
-
"opacity": "0.4",
|
|
25
|
-
"pointerEvents": "none",
|
|
26
|
-
},
|
|
27
|
-
"listItemNext": Object {
|
|
28
|
-
"marginLeft": "15px",
|
|
29
|
-
},
|
|
30
|
-
"listItemPrevious": Object {
|
|
31
|
-
"marginRight": "15px",
|
|
32
|
-
},
|
|
33
7
|
"next": Object {
|
|
34
|
-
"
|
|
35
|
-
"display": "flex",
|
|
8
|
+
"marginLeft": "8px",
|
|
36
9
|
},
|
|
37
10
|
"pager": Object {
|
|
38
11
|
"alignItems": "center",
|
|
39
|
-
"
|
|
40
|
-
"display": "flex",
|
|
41
|
-
"fontFamily": "'OccText', sans-serif",
|
|
42
|
-
"fontSize": "14px",
|
|
43
|
-
"listStyle": "none",
|
|
44
|
-
"paddingLeft": "0",
|
|
12
|
+
"display": "inline-flex",
|
|
45
13
|
},
|
|
46
14
|
"prev": Object {
|
|
47
|
-
"
|
|
48
|
-
"display": "flex",
|
|
15
|
+
"marginRight": "8px",
|
|
49
16
|
},
|
|
50
17
|
}
|
|
51
18
|
`;
|