@twreporter/react-components 8.26.0 → 8.27.0-rc.1
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 +24 -0
- package/lib/pagination/index.js +53 -16
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,30 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [8.27.0-rc.1](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.27.0-rc.0...@twreporter/react-components@8.27.0-rc.1) (2024-03-27)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* pagination number position center ([6d933f1](https://github.com/twreporter/twreporter-npm-packages/commit/6d933f11695b3aa5ad02190be943dfd51e2a11af))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
# [8.27.0-rc.0](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.26.0...@twreporter/react-components@8.27.0-rc.0) (2024-03-25)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Features
|
|
21
|
+
|
|
22
|
+
* add className prop ([f2d85fa](https://github.com/twreporter/twreporter-npm-packages/commit/f2d85fa1fcfc4afa4feddb6a001946580fe0d6cb))
|
|
23
|
+
* add mobile pagination ([d128cba](https://github.com/twreporter/twreporter-npm-packages/commit/d128cbafea8459eb03cdac22614e8ec067a89bad))
|
|
24
|
+
* adjust mobile pagination logic ([708f41b](https://github.com/twreporter/twreporter-npm-packages/commit/708f41bb9df638f1b41a15528c73aec7b24639f3))
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
6
30
|
# [8.26.0](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.26.0-rc.4...@twreporter/react-components@8.26.0) (2024-03-13)
|
|
7
31
|
|
|
8
32
|
**Note:** Version bump only for package @twreporter/react-components
|
package/lib/pagination/index.js
CHANGED
|
@@ -21,11 +21,13 @@ var _css = require("@twreporter/core/lib/utils/css");
|
|
|
21
21
|
|
|
22
22
|
var _color = require("@twreporter/core/lib/constants/color");
|
|
23
23
|
|
|
24
|
+
var _rwd = require("@twreporter/react-components/lib/rwd");
|
|
25
|
+
|
|
24
26
|
var _concat = _interopRequireDefault(require("lodash/concat"));
|
|
25
27
|
|
|
26
28
|
var _get = _interopRequireDefault(require("lodash/get"));
|
|
27
29
|
|
|
28
|
-
var _templateObject, _templateObject2, _templateObject3
|
|
30
|
+
var _templateObject, _templateObject2, _templateObject3;
|
|
29
31
|
|
|
30
32
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
31
33
|
|
|
@@ -111,7 +113,7 @@ var PaginationContainer = /*#__PURE__*/_styledComponents["default"].div.withConf
|
|
|
111
113
|
var Boxes = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
112
114
|
displayName: "pagination__Boxes",
|
|
113
115
|
componentId: "sc-17bqftr-1"
|
|
114
|
-
})(["display:
|
|
116
|
+
})(["display:flex;justify-content:center;"]);
|
|
115
117
|
|
|
116
118
|
var Box = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
117
119
|
displayName: "pagination__Box",
|
|
@@ -121,21 +123,21 @@ var Box = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
|
121
123
|
var PageNumberBox = /*#__PURE__*/(0, _styledComponents["default"])(Box).withConfig({
|
|
122
124
|
displayName: "pagination__PageNumberBox",
|
|
123
125
|
componentId: "sc-17bqftr-3"
|
|
124
|
-
})(["border:solid 1px ", ";border-radius:50%;line-height:", "px;background-color:", ";> span{color:", ";}"
|
|
126
|
+
})(["border:solid 1px ", ";border-radius:50%;line-height:", "px;background-color:", ";> span{color:", ";}"], _color.colorSupportive.heavy, styles.btnBoxSize.desktop, function (props) {
|
|
125
127
|
return props.isCurrent ? _color.colorSupportive.heavy : 'transparent';
|
|
126
128
|
}, function (props) {
|
|
127
129
|
return props.isCurrent ? _color.colorGrayscale.white : _color.colorSupportive.heavy;
|
|
128
|
-
}
|
|
129
|
-
return props.isCurrent ? '' : 'none';
|
|
130
|
-
}));
|
|
130
|
+
});
|
|
131
131
|
var EllipsisBox = /*#__PURE__*/(0, _styledComponents["default"])(Box).withConfig({
|
|
132
132
|
displayName: "pagination__EllipsisBox",
|
|
133
133
|
componentId: "sc-17bqftr-4"
|
|
134
|
-
})(["cursor:default;padding:", ";", ""], (0, _css.arrayToCssShorthand)(styles.ellipsisBoxPadding), _mediaQuery["default"].mobileOnly(
|
|
134
|
+
})(["cursor:default;padding:", ";", ""], (0, _css.arrayToCssShorthand)(styles.ellipsisBoxPadding), _mediaQuery["default"].mobileOnly(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: none;\n "]))));
|
|
135
135
|
var PrevNextBtn = /*#__PURE__*/(0, _styledComponents["default"])(Box).withConfig({
|
|
136
136
|
displayName: "pagination__PrevNextBtn",
|
|
137
137
|
componentId: "sc-17bqftr-5"
|
|
138
|
-
})(["padding:", ";cursor:pointer;path{stroke:", ";}"],
|
|
138
|
+
})(["visibility:", ";padding:", ";cursor:pointer;path{stroke:", ";}"], function (props) {
|
|
139
|
+
return props.isHidden ? 'hidden' : 'visible';
|
|
140
|
+
}, (0, _css.arrayToCssShorthand)(styles.prevNextBtnPadding), _color.colorSupportive.heavy);
|
|
139
141
|
/*
|
|
140
142
|
Pages Array:
|
|
141
143
|
|
|
@@ -269,6 +271,30 @@ var Pagination = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
269
271
|
var length = nOfCenterPages;
|
|
270
272
|
return _.concat(leftMarginJSX, leftEllipsisJSX, this._buildCenterJSX(startAt, length, currentPage), rightEllipsisJSX, rightMarginJSX);
|
|
271
273
|
}
|
|
274
|
+
}, {
|
|
275
|
+
key: "_buildMobilePagesArray",
|
|
276
|
+
value: function _buildMobilePagesArray(currentPage, totalPages) {
|
|
277
|
+
var pagesArrayMaxLength = 5;
|
|
278
|
+
|
|
279
|
+
if (totalPages <= pagesArrayMaxLength) {
|
|
280
|
+
return this._buildCenterJSX(1, totalPages, currentPage);
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
var startPage; // Check if currentPage is within the first two pages or the last two pages
|
|
284
|
+
|
|
285
|
+
if (currentPage <= 2) {
|
|
286
|
+
// If in the first two pages, start from page 1
|
|
287
|
+
startPage = 1;
|
|
288
|
+
} else if (currentPage >= totalPages - 1) {
|
|
289
|
+
// If in the last two pages, adjust startPage to ensure the array is fully populated
|
|
290
|
+
startPage = totalPages - pagesArrayMaxLength + 1;
|
|
291
|
+
} else {
|
|
292
|
+
// Otherwise, center currentPage by adjusting startPage accordingly
|
|
293
|
+
startPage = currentPage - 2;
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
return this._buildCenterJSX(startPage, pagesArrayMaxLength, currentPage);
|
|
297
|
+
}
|
|
272
298
|
}, {
|
|
273
299
|
key: "render",
|
|
274
300
|
value: function render() {
|
|
@@ -276,19 +302,28 @@ var Pagination = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
276
302
|
currentPage = _this$props2.currentPage,
|
|
277
303
|
totalPages = _this$props2.totalPages,
|
|
278
304
|
handleClickPrev = _this$props2.handleClickPrev,
|
|
279
|
-
handleClickNext = _this$props2.handleClickNext
|
|
280
|
-
|
|
305
|
+
handleClickNext = _this$props2.handleClickNext,
|
|
306
|
+
className = _this$props2.className;
|
|
307
|
+
if (!totalPages || !currentPage) return /*#__PURE__*/_react["default"].createElement(PaginationContainer, {
|
|
308
|
+
className: className
|
|
309
|
+
}, /*#__PURE__*/_react["default"].createElement(Boxes, null));
|
|
281
310
|
|
|
282
311
|
var pagesArrayJSX = this._buildPagesArray(currentPage, totalPages);
|
|
283
312
|
|
|
313
|
+
var mobilePagesArrayJSX = this._buildMobilePagesArray(currentPage, totalPages);
|
|
314
|
+
|
|
284
315
|
var belowFirstPage = currentPage <= 1;
|
|
285
316
|
var aboveFinalPage = currentPage >= totalPages;
|
|
286
|
-
return /*#__PURE__*/_react["default"].createElement(PaginationContainer,
|
|
317
|
+
return /*#__PURE__*/_react["default"].createElement(PaginationContainer, {
|
|
318
|
+
className: className
|
|
319
|
+
}, /*#__PURE__*/_react["default"].createElement(Boxes, null, /*#__PURE__*/_react["default"].createElement(PrevNextBtn, {
|
|
287
320
|
key: "prev-btn",
|
|
288
|
-
onClick: handleClickPrev
|
|
289
|
-
|
|
321
|
+
onClick: handleClickPrev,
|
|
322
|
+
isHidden: belowFirstPage
|
|
323
|
+
}, /*#__PURE__*/_react["default"].createElement(PageUpIcon, null)), /*#__PURE__*/_react["default"].createElement(_rwd.TabletAndAbove, null, pagesArrayJSX), /*#__PURE__*/_react["default"].createElement(_rwd.MobileOnly, null, mobilePagesArrayJSX), /*#__PURE__*/_react["default"].createElement(PrevNextBtn, {
|
|
290
324
|
key: "next-btn",
|
|
291
|
-
onClick: handleClickNext
|
|
325
|
+
onClick: handleClickNext,
|
|
326
|
+
isHidden: aboveFinalPage
|
|
292
327
|
}, /*#__PURE__*/_react["default"].createElement(PageDownIcon, null))));
|
|
293
328
|
}
|
|
294
329
|
}]);
|
|
@@ -304,14 +339,16 @@ Pagination.propTypes = {
|
|
|
304
339
|
handleClickPrev: _propTypes["default"].func.isRequired,
|
|
305
340
|
nOfCenterPages: _propTypes["default"].number.isRequired,
|
|
306
341
|
nOfMarginPages: _propTypes["default"].number.isRequired,
|
|
307
|
-
totalPages: _propTypes["default"].number.isRequired
|
|
342
|
+
totalPages: _propTypes["default"].number.isRequired,
|
|
343
|
+
className: _propTypes["default"].string
|
|
308
344
|
};
|
|
309
345
|
Pagination.defaultProps = {
|
|
310
346
|
currentPage: 1,
|
|
311
347
|
totalPages: 1,
|
|
312
348
|
ellipsis: '…',
|
|
313
349
|
nOfCenterPages: 4,
|
|
314
|
-
nOfMarginPages: 1
|
|
350
|
+
nOfMarginPages: 1,
|
|
351
|
+
className: ''
|
|
315
352
|
};
|
|
316
353
|
var _default = Pagination;
|
|
317
354
|
exports["default"] = _default;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@twreporter/react-components",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.27.0-rc.1",
|
|
4
4
|
"main": "lib/index.js",
|
|
5
5
|
"repository": "https://github.com/twreporter/twreporter-npm-packages.git",
|
|
6
6
|
"author": "twreporter <developer@twreporter.org>",
|
|
@@ -51,5 +51,5 @@
|
|
|
51
51
|
"react-dom": "^16.0.0",
|
|
52
52
|
"storybook": "^7.5.2"
|
|
53
53
|
},
|
|
54
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "64b430dd7114c25dfff361fadb2906c47891087d"
|
|
55
55
|
}
|