@occmundial/occ-atomic 3.0.0-beta.7 → 3.0.0-beta.71
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 +556 -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 +63 -67
- 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/Drawer/Drawer.js +40 -0
- package/build/{Header/Nav/Nav.js → Drawer/index.js} +54 -39
- package/build/Drawer/index.test.js +52 -0
- package/build/Drawer/styles.js +61 -0
- package/build/Droplist/__snapshots__/Droplist.test.js.snap +5 -5
- package/build/Fab/__snapshots__/Fab.test.js.snap +2 -2
- package/build/Footer/Footer.js +81 -87
- package/build/Footer/List/List.js +89 -124
- package/build/Footer/List/styles.js +85 -31
- package/build/Footer/__snapshots__/Footer.test.js.snap +109 -59
- package/build/Footer/styles.js +116 -51
- 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/Menu/Menu.js +96 -0
- package/build/Menu/index.js +34 -0
- package/build/Menu/styles.js +25 -0
- package/build/MenuDivider/MenuDivider.js +47 -0
- package/build/MenuDivider/index.js +18 -0
- package/build/MenuDivider/styles.js +21 -0
- package/build/MenuItem/MenuItem.js +160 -0
- package/build/{Header/Menu → MenuItem}/index.js +2 -2
- package/build/MenuItem/styles.js +25 -0
- package/build/MenuItemBase/MenuItemBase.js +94 -0
- package/build/MenuItemBase/index.js +18 -0
- package/build/MenuItemBase/styles.js +57 -0
- package/build/MenuList/MenuList.js +71 -0
- package/build/{Header → MenuList}/index.js +2 -2
- package/build/MenuList/styles.js +54 -0
- package/build/MenuUser/MenuUser.js +152 -0
- package/build/MenuUser/index.js +18 -0
- package/build/MenuUser/styles.js +22 -0
- 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/NavAside/NavAside.js +54 -113
- package/build/NavAside/NavAside.test.js +0 -57
- package/build/NavAside/__snapshots__/NavAside.test.js.snap +35 -43
- package/build/NavAside/index.js +6 -0
- package/build/NavAside/styles.js +45 -63
- package/build/NavAvatarButton/NavAvatarButton.js +134 -0
- package/build/{NavIcon → NavAvatarButton}/index.js +2 -2
- package/build/NavAvatarButton/styles.js +33 -0
- package/build/NavButton/NavButton.js +73 -0
- package/build/{Header/Nav → NavButton}/index.js +2 -2
- package/build/NavButton/styles.js +79 -0
- package/build/NavItem/styles.js +4 -4
- package/build/NavTab/NavTab.js +45 -32
- package/build/NavTab/styles.js +59 -27
- package/build/NavTop/styles.js +6 -6
- package/build/OrderBy/OrderBy.js +2 -1
- package/build/Pager/Page/Page.js +11 -6
- 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 +144 -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/MenuListProvider.js +38 -0
- package/build/Provider/usePrevious.js +1 -1
- package/build/Radio/Radio.js +22 -7
- package/build/Radio/__snapshots__/Radio.test.js.snap +71 -79
- package/build/Radio/styles.js +84 -85
- package/build/SlideDown/SlideDown.js +167 -169
- package/build/SlideDown/SlideDown.test.js +49 -44
- package/build/SlideDown/__snapshots__/SlideDown.test.js.snap +44 -15
- package/build/SlideDown/styles.js +51 -20
- package/build/SlideToggle/SlideToggle.js +38 -6
- package/build/SlideToggle/SlideToggle.test.js +2 -2
- package/build/SlideToggle/__snapshots__/SlideToggle.test.js.snap +53 -38
- 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 +2 -1
- 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 +33 -19
- package/build/plugin/babel.js +0 -2
- package/build/subatomic/grid.js +5 -5
- package/build/tokens/colors.json +94 -60
- package/build/tokens/index.js +12 -31
- package/build/tokens/shadows.json +3 -3
- package/package.json +5 -2
- package/build/Banner/styles.js +0 -41
- package/build/Header/Header.js +0 -163
- package/build/Header/Header.test.js +0 -118
- package/build/Header/Menu/Menu.js +0 -135
- package/build/Header/Menu/Menu.test.js +0 -107
- package/build/Header/Menu/__snapshots__/Menu.test.js.snap +0 -113
- package/build/Header/Menu/styles.js +0 -123
- package/build/Header/Nav/Nav.test.js +0 -81
- package/build/Header/Nav/__snapshots__/Nav.test.js.snap +0 -101
- package/build/Header/Nav/styles.js +0 -110
- package/build/Header/__snapshots__/Header.test.js.snap +0 -79
- package/build/Header/styles.js +0 -94
- package/build/NavIcon/NavIcon.js +0 -112
- package/build/NavIcon/styles.js +0 -81
- 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,185 @@ 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
|
+
id = _ref.id;
|
45
|
+
var handlePageSelected = (0, _react.useCallback)(function (newPage) {
|
46
|
+
if (currentPage === newPage) return;
|
47
|
+
if (onPageChange) onPageChange(newPage);
|
48
|
+
}, [currentPage, onPageChange]);
|
49
|
+
(0, _react.useEffect)(function () {
|
50
|
+
if (currentPage > pageCount || currentPage < 1) {
|
51
|
+
handlePageSelected(1);
|
52
|
+
}
|
53
|
+
}, [currentPage, pageCount, handlePageSelected]);
|
39
54
|
|
40
|
-
|
55
|
+
var handlePrevPage = function handlePrevPage() {
|
56
|
+
if (currentPage > 1) handlePageSelected(currentPage - 1);
|
57
|
+
};
|
41
58
|
|
42
|
-
|
43
|
-
|
44
|
-
|
59
|
+
var handleNextPage = function handleNextPage() {
|
60
|
+
if (currentPage < pageCount) handlePageSelected(currentPage + 1);
|
61
|
+
};
|
45
62
|
|
46
|
-
var
|
63
|
+
var addPage = function addPage(page) {
|
64
|
+
var pageData = {
|
65
|
+
key: page.toString(),
|
66
|
+
type: 'page',
|
67
|
+
selected: currentPage === page
|
68
|
+
};
|
69
|
+
return pageData;
|
70
|
+
};
|
47
71
|
|
48
|
-
function
|
49
|
-
var
|
72
|
+
var getStartAndEndPages = function getStartAndEndPages() {
|
73
|
+
var startPage = Math.max(currentPage - Math.floor(centerPages / 2), marginPages + 1);
|
74
|
+
var endPage = Math.min(startPage + centerPages - 1, pageCount - marginPages);
|
50
75
|
|
51
|
-
|
76
|
+
if (endPage === pageCount - marginPages) {
|
77
|
+
startPage = Math.max(endPage - centerPages + 1, marginPages + 1);
|
78
|
+
}
|
52
79
|
|
53
|
-
|
54
|
-
|
55
|
-
|
80
|
+
return {
|
81
|
+
startPage: startPage,
|
82
|
+
endPage: endPage
|
56
83
|
};
|
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
|
-
}
|
84
|
+
};
|
65
85
|
|
66
|
-
|
67
|
-
|
68
|
-
value: function componentDidMount() {
|
69
|
-
var _this$props = this.props,
|
70
|
-
initialPage = _this$props.initialPage,
|
71
|
-
disableInitialCallback = _this$props.disableInitialCallback;
|
86
|
+
function getPagination() {
|
87
|
+
var elements = [];
|
72
88
|
|
73
|
-
|
74
|
-
|
89
|
+
if (pageCount <= centerPages + marginPages * 2) {
|
90
|
+
for (var i = 1; i <= pageCount; i++) {
|
91
|
+
elements.push(addPage(i));
|
75
92
|
}
|
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
|
-
});
|
93
|
+
} else {
|
94
|
+
for (var _i = 1; _i <= marginPages; _i++) {
|
95
|
+
elements.push(addPage(_i));
|
84
96
|
}
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
97
|
+
|
98
|
+
var _getStartAndEndPages = getStartAndEndPages(),
|
99
|
+
startPage = _getStartAndEndPages.startPage,
|
100
|
+
endPage = _getStartAndEndPages.endPage;
|
101
|
+
|
102
|
+
if (currentPage > marginPages + 1 && startPage > marginPages + 1) {
|
103
|
+
elements.push({
|
104
|
+
key: 'left-break',
|
105
|
+
type: 'break'
|
94
106
|
});
|
95
107
|
}
|
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);
|
108
|
+
|
109
|
+
for (var _i2 = startPage; _i2 <= endPage; _i2++) {
|
110
|
+
elements.push(addPage(_i2));
|
105
111
|
}
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
112
|
+
|
113
|
+
if (currentPage < pageCount - marginPages - 1) {
|
114
|
+
elements.push({
|
115
|
+
key: 'right-break',
|
116
|
+
type: 'break'
|
117
|
+
});
|
118
|
+
}
|
119
|
+
|
120
|
+
for (var _i3 = pageCount - marginPages + 1; _i3 <= pageCount; _i3++) {
|
121
|
+
elements.push(addPage(_i3));
|
116
122
|
}
|
117
123
|
}
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
124
|
+
|
125
|
+
return elements;
|
126
|
+
}
|
127
|
+
|
128
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
129
|
+
className: "".concat(classes.pager).concat(className ? " ".concat(className) : '')
|
130
|
+
}, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
131
|
+
className: classes.prev,
|
132
|
+
disabled: currentPage === 1 || disabled,
|
133
|
+
theme: "secondary",
|
134
|
+
onClick: handlePrevPage,
|
135
|
+
icon: "arrow-left",
|
136
|
+
size: !previousLabel ? 'lg' : 'sm',
|
137
|
+
id: id ? "".concat(id, "Previo") : undefined
|
138
|
+
}, previousLabel), !hideNumbers && getPagination().map(function (_ref2) {
|
139
|
+
var key = _ref2.key,
|
140
|
+
type = _ref2.type,
|
141
|
+
selected = _ref2.selected;
|
142
|
+
|
143
|
+
if (type === 'page') {
|
132
144
|
return /*#__PURE__*/_react["default"].createElement(_Page["default"], {
|
133
|
-
key:
|
134
|
-
onClick:
|
135
|
-
|
136
|
-
|
145
|
+
key: key,
|
146
|
+
onClick: function onClick() {
|
147
|
+
return handlePageSelected(Number(key));
|
148
|
+
},
|
149
|
+
selected: selected,
|
150
|
+
page: Number(key),
|
151
|
+
disabled: disabled,
|
152
|
+
id: id
|
137
153
|
});
|
138
154
|
}
|
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
155
|
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
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);
|
156
|
+
return /*#__PURE__*/_react["default"].createElement(_Page["default"], {
|
157
|
+
key: key,
|
158
|
+
page: breakSymbol,
|
159
|
+
disabled: disabled,
|
160
|
+
id: id
|
161
|
+
});
|
162
|
+
}), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
163
|
+
className: classes.next,
|
164
|
+
disabled: currentPage === pageCount || disabled,
|
165
|
+
theme: "secondary",
|
166
|
+
onClick: handleNextPage,
|
167
|
+
iconRight: "arrow-right",
|
168
|
+
size: !nextLabel ? 'lg' : 'sm',
|
169
|
+
id: id ? "".concat(id, "Siguiente") : undefined
|
170
|
+
}, nextLabel));
|
171
|
+
}
|
248
172
|
|
249
173
|
Pager.propTypes = {
|
250
174
|
classes: _propTypes["default"].object,
|
251
175
|
|
176
|
+
/** The current page number. */
|
177
|
+
currentPage: _propTypes["default"].number.isRequired,
|
178
|
+
|
252
179
|
/** The total number of pages. */
|
253
|
-
pageCount: _propTypes["default"].number
|
180
|
+
pageCount: _propTypes["default"].number,
|
254
181
|
|
255
182
|
/** The number of page numbers displayed at the center, between the '...' separators. */
|
256
|
-
|
183
|
+
centerPages: _propTypes["default"].number,
|
257
184
|
|
258
185
|
/** The number of page numbers displayed on the sides of the pager. */
|
259
|
-
|
186
|
+
marginPages: _propTypes["default"].number,
|
260
187
|
|
261
188
|
/** The label for the 'Previous' button. */
|
262
189
|
previousLabel: _propTypes["default"].node,
|
@@ -267,31 +194,13 @@ Pager.propTypes = {
|
|
267
194
|
/** Function to call after clicking a button to change the page. */
|
268
195
|
onPageChange: _propTypes["default"].func,
|
269
196
|
|
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
197
|
/** Hide the numerical buttons, leaving just the 'Next' and 'Previous' buttons to interact with. */
|
280
198
|
hideNumbers: _propTypes["default"].bool,
|
281
199
|
|
282
200
|
/** Label for the separators. */
|
283
|
-
|
201
|
+
breakSymbol: _propTypes["default"].string,
|
202
|
+
|
203
|
+
/** Disable the pager */
|
204
|
+
disabled: _propTypes["default"].bool,
|
284
205
|
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;
|
206
|
+
};
|
@@ -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);
|