@dhis2-ui/pagination 8.1.11 → 8.2.2

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.
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.noTotalAtLastPage = exports.noTotal = exports.atLastPage = exports.atTenthPage = exports.atFirstPage = void 0;
6
+ exports.noTotalAtLastPage = exports.noTotal = exports.atTenthPage = exports.atSecondPage = exports.atPageBeforeLast = exports.atLastPage = exports.atFirstPage = void 0;
7
7
  const atFirstPage = {
8
8
  page: 1,
9
9
  pageCount: 21,
@@ -11,6 +11,13 @@ const atFirstPage = {
11
11
  pageSize: 50
12
12
  };
13
13
  exports.atFirstPage = atFirstPage;
14
+ const atSecondPage = {
15
+ page: 2,
16
+ pageCount: 21,
17
+ total: 1035,
18
+ pageSize: 50
19
+ };
20
+ exports.atSecondPage = atSecondPage;
14
21
  const atTenthPage = {
15
22
  page: 10,
16
23
  pageCount: 21,
@@ -25,8 +32,15 @@ const atLastPage = {
25
32
  pageSize: 50
26
33
  };
27
34
  exports.atLastPage = atLastPage;
35
+ const atPageBeforeLast = {
36
+ page: 20,
37
+ pageCount: 21,
38
+ total: 1035,
39
+ pageSize: 50
40
+ };
41
+ exports.atPageBeforeLast = atPageBeforeLast;
28
42
  const noTotal = {
29
- page: 2,
43
+ page: 3,
30
44
  pageSize: 50,
31
45
  isLastPage: false
32
46
  };
@@ -23,8 +23,8 @@ describe('getItemRange', () => {
23
23
  pageSize,
24
24
  total
25
25
  });
26
- expect(firstItem).toEqual(451);
27
- expect(lastItem).toEqual(500);
26
+ expect(firstItem).toBe(451);
27
+ expect(lastItem).toBe(500);
28
28
  });
29
29
  it('returns 0 for firstItem and lastItem if the total is 0', () => {
30
30
  const {
@@ -35,8 +35,8 @@ describe('getItemRange', () => {
35
35
  pageSize: 50,
36
36
  total: 0
37
37
  });
38
- expect(firstItem).toEqual(0);
39
- expect(lastItem).toEqual(0);
38
+ expect(firstItem).toBe(0);
39
+ expect(lastItem).toBe(0);
40
40
  });
41
41
  it('uses the total count as lastItem when the last page is reached', () => {
42
42
  const {
@@ -51,7 +51,7 @@ describe('getItemRange', () => {
51
51
  pageSize,
52
52
  total
53
53
  });
54
- expect(lastItem).toEqual(total);
54
+ expect(lastItem).toBe(total);
55
55
  });
56
56
  it('handles pagers without totals', () => {
57
57
  const {
@@ -61,8 +61,8 @@ describe('getItemRange', () => {
61
61
  page: 3,
62
62
  pageSize: 50
63
63
  });
64
- expect(firstItem).toEqual(101);
65
- expect(lastItem).toEqual(150);
64
+ expect(firstItem).toBe(101);
65
+ expect(lastItem).toBe(150);
66
66
  });
67
67
  it('bases the lastItem on the pageLength for pagers without total when the last page is reached', () => {
68
68
  const {
@@ -73,7 +73,7 @@ describe('getItemRange', () => {
73
73
  pageLength: 21,
74
74
  isLastPage: true
75
75
  });
76
- expect(lastItem).toEqual(121);
76
+ expect(lastItem).toBe(121);
77
77
  });
78
78
  it('sets lastItem to NaN when on the last page and there is no total or pageLength', () => {
79
79
  const {
@@ -83,6 +83,6 @@ describe('getItemRange', () => {
83
83
  pageSize: 50,
84
84
  isLastPage: true
85
85
  });
86
- expect(lastItem).toEqual(NaN);
86
+ expect(lastItem).toBe(NaN);
87
87
  });
88
88
  });
@@ -25,24 +25,24 @@ describe('<PageControls />', () => {
25
25
  it('renders without errors', () => {
26
26
  (0, _enzyme.shallow)( /*#__PURE__*/_react.default.createElement(_pageControls.PageControls, props));
27
27
  });
28
- it('disables no buttons on a page between first and last', () => {
28
+ it('enables all buttons on by default', () => {
29
29
  const wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react.default.createElement(_pageControls.PageControls, props));
30
- expect(wrapper.find('.button-previous').getElement().props.disabled).toEqual(false);
31
- expect(wrapper.find('.button-next').getElement().props.disabled).toEqual(false);
30
+ expect(wrapper.find('.button-previous').getElement().props.disabled).toBeFalsy();
31
+ expect(wrapper.find('.button-next').getElement().props.disabled).toBeFalsy();
32
32
  });
33
- it('disables the previous page button on the first page', () => {
33
+ it('disables the previous page button when isPreviousDisabled is true', () => {
34
34
  const wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react.default.createElement(_pageControls.PageControls, _extends({}, props, {
35
- page: 1
35
+ isPreviousDisabled: true
36
36
  })));
37
- expect(wrapper.find('.button-previous').getElement().props.disabled).toEqual(true);
38
- expect(wrapper.find('.button-next').getElement().props.disabled).toEqual(false);
37
+ expect(wrapper.find('.button-previous').getElement().props.disabled).toBe(true);
38
+ expect(wrapper.find('.button-next').getElement().props.disabled).toBeFalsy();
39
39
  });
40
- it('disables the next page button on the last page', () => {
40
+ it('disables the next page button when isNextDisabled is true', () => {
41
41
  const wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react.default.createElement(_pageControls.PageControls, _extends({}, props, {
42
- isLastPage: true
42
+ isNextDisabled: true
43
43
  })));
44
- expect(wrapper.find('.button-previous').getElement().props.disabled).toEqual(false);
45
- expect(wrapper.find('.button-next').getElement().props.disabled).toEqual(true);
44
+ expect(wrapper.find('.button-previous').getElement().props.disabled).toBeFalsy();
45
+ expect(wrapper.find('.button-next').getElement().props.disabled).toBe(true);
46
46
  });
47
47
  it('calls the onClick handler with the value for the next page when next is clicked', () => {
48
48
  const wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react.default.createElement(_pageControls.PageControls, props));
@@ -35,7 +35,7 @@ describe('<PageSummary />', () => {
35
35
  total: 224
36
36
  })));
37
37
  const expectedString = 'Page 2 of 5, items 51-100 of 224';
38
- expect(wrapper.find('span').text()).toEqual(expectedString);
38
+ expect(wrapper.find('span').text()).toBe(expectedString);
39
39
  });
40
40
  it('renders the correct message when only lastItem is provided', () => {
41
41
  const wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react.default.createElement(_pageSummary.PageSummary, _extends({}, props, {
@@ -45,7 +45,7 @@ describe('<PageSummary />', () => {
45
45
  pageCount: 5
46
46
  })));
47
47
  const expectedString = 'Page 2, items 51-100';
48
- expect(wrapper.find('span').text()).toEqual(expectedString);
48
+ expect(wrapper.find('span').text()).toBe(expectedString);
49
49
  });
50
50
  it('renders the correct message when total is missing and lastItem is not a number', () => {
51
51
  const wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react.default.createElement(_pageSummary.PageSummary, _extends({}, props, {
@@ -55,6 +55,6 @@ describe('<PageSummary />', () => {
55
55
  pageCount: 5
56
56
  })));
57
57
  const expectedString = 'Page 2';
58
- expect(wrapper.find('span').text()).toEqual(expectedString);
58
+ expect(wrapper.find('span').text()).toBe(expectedString);
59
59
  });
60
60
  });
@@ -1,14 +1,12 @@
1
1
  "use strict";
2
2
 
3
- var _enzyme = require("enzyme");
3
+ require("@testing-library/dom");
4
4
 
5
- var _react = _interopRequireDefault(require("react"));
5
+ var _react = require("@testing-library/react");
6
6
 
7
- var mockPagers = _interopRequireWildcard(require("../__fixtures__/index.js"));
8
-
9
- var _pageSelect = require("../page-select.js");
7
+ var _react2 = _interopRequireDefault(require("react"));
10
8
 
11
- var _pageSizeSelect = require("../page-size-select.js");
9
+ var mockPagers = _interopRequireWildcard(require("../__fixtures__/index.js"));
12
10
 
13
11
  var _pagination = require("../pagination.js");
14
12
 
@@ -27,69 +25,163 @@ describe('<Pagination />', () => {
27
25
  onPageSizeChange: () => {}
28
26
  };
29
27
  it('renders without errors', () => {
30
- (0, _enzyme.shallow)( /*#__PURE__*/_react.default.createElement(_pagination.Pagination, props));
28
+ (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_pagination.Pagination, props));
31
29
  });
32
30
  it('renders a PageSelect and PageSizeSelect by default', () => {
33
- const wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react.default.createElement(_pagination.Pagination, props));
34
- expect(wrapper.find(_pageSelect.PageSelect).length).toEqual(1);
35
- expect(wrapper.find(_pageSizeSelect.PageSizeSelect).length).toEqual(1);
31
+ const {
32
+ getByTestId
33
+ } = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_pagination.Pagination, props));
34
+ expect(getByTestId('dhis2-uiwidgets-pagination-page-select')).toBeInTheDocument();
35
+ expect(getByTestId('dhis2-uiwidgets-pagination-pagesize')).toBeInTheDocument();
36
36
  });
37
37
  it('renders without a PageSelect when hidePageSelect is true', () => {
38
- const wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react.default.createElement(_pagination.Pagination, _extends({}, props, {
38
+ const {
39
+ getByTestId,
40
+ queryByTestId
41
+ } = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_pagination.Pagination, _extends({}, props, {
39
42
  hidePageSelect: true
40
43
  })));
41
- expect(wrapper.find(_pageSelect.PageSelect).length).toEqual(0);
42
- expect(wrapper.find(_pageSizeSelect.PageSizeSelect).length).toEqual(1);
44
+ expect(queryByTestId('dhis2-uiwidgets-pagination-page-select')).not.toBeInTheDocument();
45
+ expect(getByTestId('dhis2-uiwidgets-pagination-pagesize')).toBeInTheDocument();
43
46
  });
44
47
  it('renders without a PageSelect when pageCount is not provided', () => {
45
- const wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react.default.createElement(_pagination.Pagination, _extends({}, props, {
48
+ const {
49
+ getByTestId,
50
+ queryByTestId
51
+ } = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_pagination.Pagination, _extends({}, props, {
46
52
  pageCount: undefined
47
53
  })));
48
- expect(wrapper.find(_pageSelect.PageSelect).length).toEqual(0);
49
- expect(wrapper.find(_pageSizeSelect.PageSizeSelect).length).toEqual(1);
54
+ expect(queryByTestId('dhis2-uiwidgets-pagination-page-select')).not.toBeInTheDocument();
55
+ expect(getByTestId('dhis2-uiwidgets-pagination-pagesize')).toBeInTheDocument();
50
56
  });
51
57
  it('renders without a PageSelect when pageCount is 1', () => {
52
- const wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react.default.createElement(_pagination.Pagination, _extends({}, props, {
58
+ const {
59
+ getByTestId,
60
+ queryByTestId
61
+ } = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_pagination.Pagination, _extends({}, props, {
53
62
  pageCount: 1
54
63
  })));
55
- expect(wrapper.find(_pageSelect.PageSelect).length).toEqual(0);
56
- expect(wrapper.find(_pageSizeSelect.PageSizeSelect).length).toEqual(1);
64
+ expect(queryByTestId('dhis2-uiwidgets-pagination-page-select')).not.toBeInTheDocument();
65
+ expect(getByTestId('dhis2-uiwidgets-pagination-pagesize')).toBeInTheDocument();
57
66
  });
58
67
  it('renders without a PageSelect when pageCount is over 2000', () => {
59
- const wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react.default.createElement(_pagination.Pagination, _extends({}, props, {
68
+ const {
69
+ getByTestId,
70
+ queryByTestId
71
+ } = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_pagination.Pagination, _extends({}, props, {
60
72
  pageCount: 2001
61
73
  })));
62
- expect(wrapper.find(_pageSelect.PageSelect).length).toEqual(0);
63
- expect(wrapper.find(_pageSizeSelect.PageSizeSelect).length).toEqual(1);
74
+ expect(queryByTestId('dhis2-uiwidgets-pagination-page-select')).not.toBeInTheDocument();
75
+ expect(getByTestId('dhis2-uiwidgets-pagination-pagesize')).toBeInTheDocument();
64
76
  });
65
77
  it('renders without a PageSizeSelect when hidePageSizeSelect is true', () => {
66
- const wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react.default.createElement(_pagination.Pagination, _extends({}, props, {
78
+ const {
79
+ getByTestId,
80
+ queryByTestId
81
+ } = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_pagination.Pagination, _extends({}, props, {
67
82
  hidePageSizeSelect: true
68
83
  })));
69
- expect(wrapper.find(_pageSelect.PageSelect).length).toEqual(1);
70
- expect(wrapper.find(_pageSizeSelect.PageSizeSelect).length).toEqual(0);
84
+ expect(queryByTestId('dhis2-uiwidgets-pagination-pagesize')).not.toBeInTheDocument();
85
+ expect(getByTestId('dhis2-uiwidgets-pagination-page-select')).toBeInTheDocument();
71
86
  });
72
87
  it('renders without PageSelect and PageSizeSelect when both are true', () => {
73
- const wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react.default.createElement(_pagination.Pagination, _extends({}, props, {
88
+ const {
89
+ queryByTestId
90
+ } = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_pagination.Pagination, _extends({}, props, {
74
91
  hidePageSelect: true,
75
92
  hidePageSizeSelect: true
76
93
  })));
77
- expect(wrapper.find(_pageSelect.PageSelect).length).toEqual(0);
78
- expect(wrapper.find(_pageSizeSelect.PageSizeSelect).length).toEqual(0);
94
+ expect(queryByTestId('dhis2-uiwidgets-pagination-pagesize')).not.toBeInTheDocument();
95
+ expect(queryByTestId('dhis2-uiwidgets-pagination-page-select')).not.toBeInTheDocument();
96
+ });
97
+ it('enables all elements when disabled is falsy', () => {
98
+ const {
99
+ getByTestId,
100
+ getByRole
101
+ } = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_pagination.Pagination, props));
102
+ expect(getByTestId('dhis2-uiwidgets-pagination-pagesize').querySelector('.select .root')).not.toHaveClass('disabled');
103
+ expect(getByTestId('dhis2-uiwidgets-pagination-summary').querySelector('span')).not.toHaveClass('inactive');
104
+ expect(getByTestId('dhis2-uiwidgets-pagination-page-select').querySelector('.select .root')).not.toHaveClass('disabled');
105
+ expect(getByRole('button', {
106
+ name: 'Previous'
107
+ })).not.toBeDisabled();
108
+ expect(getByRole('button', {
109
+ name: 'Next'
110
+ })).not.toBeDisabled();
111
+ });
112
+ it('disables all elements when disabled is true', () => {
113
+ const {
114
+ getByTestId,
115
+ getByRole
116
+ } = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_pagination.Pagination, _extends({}, props, {
117
+ disabled: true
118
+ })));
119
+ expect(getByTestId('dhis2-uiwidgets-pagination-pagesize').querySelector('.select .root')).toHaveClass('disabled');
120
+ expect(getByTestId('dhis2-uiwidgets-pagination-summary').querySelector('span')).toHaveClass('inactive');
121
+ expect(getByTestId('dhis2-uiwidgets-pagination-page-select').querySelector('.select .root')).toHaveClass('disabled');
122
+ expect(getByRole('button', {
123
+ name: 'Previous'
124
+ })).toBeDisabled();
125
+ expect(getByRole('button', {
126
+ name: 'Next'
127
+ })).toBeDisabled();
128
+ });
129
+ it('disables previous button when on the first page', () => {
130
+ const {
131
+ getByRole
132
+ } = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_pagination.Pagination, _extends({}, mockPagers.atFirstPage, {
133
+ onPageChange: () => {},
134
+ onPageSizeChange: () => {}
135
+ })));
136
+ expect(getByRole('button', {
137
+ name: 'Previous'
138
+ })).toBeDisabled();
139
+ expect(getByRole('button', {
140
+ name: 'Next'
141
+ })).not.toBeDisabled();
142
+ });
143
+ it('disables next button when on the last page', () => {
144
+ const {
145
+ getByRole
146
+ } = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_pagination.Pagination, _extends({}, mockPagers.atLastPage, {
147
+ onPageChange: () => {},
148
+ onPageSizeChange: () => {}
149
+ })));
150
+ expect(getByRole('button', {
151
+ name: 'Previous'
152
+ })).not.toBeDisabled();
153
+ expect(getByRole('button', {
154
+ name: 'Next'
155
+ })).toBeDisabled();
79
156
  });
80
157
  });
81
158
  describe('Pagination without total and totalPages', () => {
82
159
  const props = { ...mockPagers.noTotal,
160
+ pageLength: mockPagers.noTotal.pageSize,
83
161
  onPageChange: () => {},
84
162
  onPageSizeChange: () => {}
85
163
  };
86
164
  it('renders without errors', () => {
87
- (0, _enzyme.shallow)( /*#__PURE__*/_react.default.createElement(_pagination.Pagination, props));
165
+ (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_pagination.Pagination, props));
88
166
  });
89
167
  it('renders with a PageSizeSelect but without a PageSelect', () => {
90
- const wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react.default.createElement(_pagination.Pagination, props));
91
- expect(wrapper.find(_pageSizeSelect.PageSizeSelect).length).toEqual(1);
92
- expect(wrapper.find(_pageSelect.PageSelect).length).toEqual(0);
168
+ const {
169
+ queryByTestId,
170
+ getByTestId
171
+ } = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_pagination.Pagination, props));
172
+ expect(getByTestId('dhis2-uiwidgets-pagination-pagesize')).toBeInTheDocument();
173
+ expect(queryByTestId('dhis2-uiwidgets-pagination-page-select')).not.toBeInTheDocument();
174
+ });
175
+ it('prevents forward navigation when on the last page', () => {
176
+ const {
177
+ getByRole
178
+ } = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_pagination.Pagination, _extends({}, props, mockPagers.noTotalAtLastPage)));
179
+ expect(getByRole('button', {
180
+ name: 'Previous'
181
+ })).not.toBeDisabled();
182
+ expect(getByRole('button', {
183
+ name: 'Next'
184
+ })).toBeDisabled();
93
185
  });
94
186
  });
95
187
  });
@@ -11,13 +11,15 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
11
11
 
12
12
  const isValidNumber = input => typeof input === 'number' && !isNaN(input);
13
13
 
14
- const getDefaultPageSummaryText = ({
15
- firstItem,
16
- lastItem,
17
- page,
18
- pageCount,
19
- total
20
- }) => {
14
+ const getDefaultPageSummaryText = _ref => {
15
+ let {
16
+ firstItem,
17
+ lastItem,
18
+ page,
19
+ pageCount,
20
+ total
21
+ } = _ref;
22
+
21
23
  if (isValidNumber(total) && isValidNumber(lastItem)) {
22
24
  return _index.default.t('Page {{page}} of {{pageCount}}, items {{firstItem}}-{{lastItem}} of {{total}}', {
23
25
  page,
@@ -5,13 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.getItemRange = void 0;
7
7
 
8
- const getItemRange = ({
9
- isLastPage,
10
- page,
11
- pageLength,
12
- pageSize,
13
- total
14
- }) => {
8
+ const getItemRange = _ref => {
9
+ let {
10
+ isLastPage,
11
+ page,
12
+ pageLength,
13
+ pageSize,
14
+ total
15
+ } = _ref;
15
16
  // page is 1-based
16
17
  let firstItem = (page - 1) * pageSize + 1;
17
18
  let lastItem = firstItem + pageSize - 1;
@@ -19,7 +19,6 @@ var _react = _interopRequireDefault(require("react"));
19
19
 
20
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
21
 
22
- // TODO: i18n translate
23
22
  const translate = (prop, interpolationObject) => {
24
23
  if (typeof prop === 'function') {
25
24
  return prop(interpolationObject);
@@ -28,34 +27,38 @@ const translate = (prop, interpolationObject) => {
28
27
  return prop;
29
28
  };
30
29
 
31
- const PageControls = ({
32
- dataTest,
33
- isLastPage,
34
- onClick,
35
- nextPageText,
36
- page,
37
- previousPageText
38
- }) => /*#__PURE__*/_react.default.createElement("div", {
39
- "data-test": `${dataTest}-pagecontrols`,
40
- className: _style.default.dynamic([["2407365506", [_uiConstants.spacers.dp4]]])
41
- }, /*#__PURE__*/_react.default.createElement(_button.Button, {
42
- secondary: true,
43
- className: "button-previous",
44
- small: true,
45
- disabled: page === 1,
46
- onClick: () => onClick(page - 1),
47
- dataTest: `${dataTest}-page-previous`
48
- }, /*#__PURE__*/_react.default.createElement(_uiIcons.IconChevronLeft16, null), translate(previousPageText)), /*#__PURE__*/_react.default.createElement(_button.Button, {
49
- secondary: true,
50
- className: "button-next",
51
- small: true,
52
- disabled: !!isLastPage,
53
- onClick: () => onClick(page + 1),
54
- dataTest: `${dataTest}-page-next`
55
- }, translate(nextPageText), /*#__PURE__*/_react.default.createElement(_uiIcons.IconChevronRight16, null)), /*#__PURE__*/_react.default.createElement(_style.default, {
56
- id: "2407365506",
57
- dynamic: [_uiConstants.spacers.dp4]
58
- }, ["div.__jsx-style-dynamic-selector{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}", "div.__jsx-style-dynamic-selector .button-previous{height:32px;padding-left:0;}", `div.__jsx-style-dynamic-selector .button-next{height:32px;padding-right:0;margin-left:${_uiConstants.spacers.dp4};}`]));
30
+ const PageControls = _ref => {
31
+ let {
32
+ dataTest,
33
+ isNextDisabled,
34
+ isPreviousDisabled,
35
+ nextPageText,
36
+ page,
37
+ previousPageText,
38
+ onClick
39
+ } = _ref;
40
+ return /*#__PURE__*/_react.default.createElement("div", {
41
+ "data-test": "".concat(dataTest, "-pagecontrols"),
42
+ className: _style.default.dynamic([["2407365506", [_uiConstants.spacers.dp4]]])
43
+ }, /*#__PURE__*/_react.default.createElement(_button.Button, {
44
+ secondary: true,
45
+ className: "button-previous",
46
+ small: true,
47
+ disabled: isPreviousDisabled,
48
+ onClick: () => onClick(page - 1),
49
+ dataTest: "".concat(dataTest, "-page-previous")
50
+ }, /*#__PURE__*/_react.default.createElement(_uiIcons.IconChevronLeft16, null), translate(previousPageText)), /*#__PURE__*/_react.default.createElement(_button.Button, {
51
+ secondary: true,
52
+ className: "button-next",
53
+ small: true,
54
+ disabled: isNextDisabled,
55
+ onClick: () => onClick(page + 1),
56
+ dataTest: "".concat(dataTest, "-page-next")
57
+ }, translate(nextPageText), /*#__PURE__*/_react.default.createElement(_uiIcons.IconChevronRight16, null)), /*#__PURE__*/_react.default.createElement(_style.default, {
58
+ id: "2407365506",
59
+ dynamic: [_uiConstants.spacers.dp4]
60
+ }, ["div.__jsx-style-dynamic-selector{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}", "div.__jsx-style-dynamic-selector .button-previous{height:32px;padding-left:0;}", "div.__jsx-style-dynamic-selector .button-next{height:32px;padding-right:0;margin-left:".concat(_uiConstants.spacers.dp4, ";}")]));
61
+ };
59
62
 
60
63
  exports.PageControls = PageControls;
61
64
  PageControls.propTypes = {
@@ -64,5 +67,6 @@ PageControls.propTypes = {
64
67
  page: _propTypes.default.number.isRequired,
65
68
  previousPageText: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]).isRequired,
66
69
  onClick: _propTypes.default.func.isRequired,
67
- isLastPage: _propTypes.default.bool
70
+ isNextDisabled: _propTypes.default.bool,
71
+ isPreviousDisabled: _propTypes.default.bool
68
72
  };
@@ -32,32 +32,40 @@ const createAvailablePages = length => Array.from({
32
32
 
33
33
  exports.createAvailablePages = createAvailablePages;
34
34
 
35
- const PageSelect = ({
36
- dataTest,
37
- pageSelectText,
38
- onChange,
39
- page,
40
- pageCount
41
- }) => /*#__PURE__*/_react.default.createElement("div", {
42
- "data-test": `${dataTest}-gotopage`,
43
- className: _style.default.dynamic([["485717002", [_uiConstants.spacers.dp12]]])
44
- }, /*#__PURE__*/_react.default.createElement(_select.SingleSelect, {
45
- dense: true,
46
- selected: page.toString(),
47
- onChange: ({
48
- selected
49
- }) => onChange(parseInt(selected, 10)),
50
- className: "select",
51
- dataTest: `${dataTest}-page-select`,
52
- prefix: translate(pageSelectText)
53
- }, createAvailablePages(pageCount).map(availablePage => /*#__PURE__*/_react.default.createElement(_select.SingleSelectOption, {
54
- key: availablePage,
55
- value: availablePage,
56
- label: availablePage
57
- }))), /*#__PURE__*/_react.default.createElement(_style.default, {
58
- id: "485717002",
59
- dynamic: [_uiConstants.spacers.dp12]
60
- }, [`div.__jsx-style-dynamic-selector{margin-right:${_uiConstants.spacers.dp12};}`]));
35
+ const PageSelect = _ref => {
36
+ let {
37
+ dataTest,
38
+ disabled,
39
+ pageSelectText,
40
+ onChange,
41
+ page,
42
+ pageCount
43
+ } = _ref;
44
+ return /*#__PURE__*/_react.default.createElement("div", {
45
+ "data-test": "".concat(dataTest, "-gotopage"),
46
+ className: _style.default.dynamic([["485717002", [_uiConstants.spacers.dp12]]])
47
+ }, /*#__PURE__*/_react.default.createElement(_select.SingleSelect, {
48
+ dense: true,
49
+ disabled: disabled,
50
+ selected: page.toString(),
51
+ onChange: _ref2 => {
52
+ let {
53
+ selected
54
+ } = _ref2;
55
+ return onChange(parseInt(selected, 10));
56
+ },
57
+ className: "select",
58
+ dataTest: "".concat(dataTest, "-page-select"),
59
+ prefix: translate(pageSelectText)
60
+ }, createAvailablePages(pageCount).map(availablePage => /*#__PURE__*/_react.default.createElement(_select.SingleSelectOption, {
61
+ key: availablePage,
62
+ value: availablePage,
63
+ label: availablePage
64
+ }))), /*#__PURE__*/_react.default.createElement(_style.default, {
65
+ id: "485717002",
66
+ dynamic: [_uiConstants.spacers.dp12]
67
+ }, ["div.__jsx-style-dynamic-selector{margin-right:".concat(_uiConstants.spacers.dp12, ";}")]));
68
+ };
61
69
 
62
70
  exports.PageSelect = PageSelect;
63
71
  PageSelect.propTypes = {
@@ -65,5 +73,6 @@ PageSelect.propTypes = {
65
73
  page: _propTypes.default.number.isRequired,
66
74
  pageCount: _propTypes.default.number.isRequired,
67
75
  pageSelectText: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]).isRequired,
68
- onChange: _propTypes.default.func.isRequired
76
+ onChange: _propTypes.default.func.isRequired,
77
+ disabled: _propTypes.default.bool
69
78
  };
@@ -26,32 +26,40 @@ const translate = (prop, interpolationObject) => {
26
26
  return prop;
27
27
  };
28
28
 
29
- const PageSizeSelect = ({
30
- dataTest,
31
- pageSizeSelectText,
32
- pageSize,
33
- pageSizes,
34
- onChange
35
- }) => /*#__PURE__*/_react.default.createElement("div", {
36
- "data-test": `${dataTest}-pagesize`,
37
- className: _style.default.dynamic([["1934482915", [_uiConstants.spacers.dp12]]])
38
- }, /*#__PURE__*/_react.default.createElement(_select.SingleSelect, {
39
- dense: true,
40
- selected: pageSize.toString(),
41
- onChange: ({
42
- selected
43
- }) => onChange(parseInt(selected, 10)),
44
- className: "select",
45
- dataTest: `${dataTest}-pagesize-select`,
46
- prefix: translate(pageSizeSelectText)
47
- }, pageSizes.map(length => /*#__PURE__*/_react.default.createElement(_select.SingleSelectOption, {
48
- key: length,
49
- value: length,
50
- label: length
51
- }))), /*#__PURE__*/_react.default.createElement(_style.default, {
52
- id: "1934482915",
53
- dynamic: [_uiConstants.spacers.dp12]
54
- }, [`div.__jsx-style-dynamic-selector{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;min-height:32px;margin-right:${_uiConstants.spacers.dp12};-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}`]));
29
+ const PageSizeSelect = _ref => {
30
+ let {
31
+ dataTest,
32
+ disabled,
33
+ pageSizeSelectText,
34
+ pageSize,
35
+ pageSizes,
36
+ onChange
37
+ } = _ref;
38
+ return /*#__PURE__*/_react.default.createElement("div", {
39
+ "data-test": "".concat(dataTest, "-pagesize"),
40
+ className: _style.default.dynamic([["1934482915", [_uiConstants.spacers.dp12]]])
41
+ }, /*#__PURE__*/_react.default.createElement(_select.SingleSelect, {
42
+ dense: true,
43
+ disabled: disabled,
44
+ selected: pageSize.toString(),
45
+ onChange: _ref2 => {
46
+ let {
47
+ selected
48
+ } = _ref2;
49
+ return onChange(parseInt(selected, 10));
50
+ },
51
+ className: "select",
52
+ dataTest: "".concat(dataTest, "-pagesize-select"),
53
+ prefix: translate(pageSizeSelectText)
54
+ }, pageSizes.map(length => /*#__PURE__*/_react.default.createElement(_select.SingleSelectOption, {
55
+ key: length,
56
+ value: length,
57
+ label: length
58
+ }))), /*#__PURE__*/_react.default.createElement(_style.default, {
59
+ id: "1934482915",
60
+ dynamic: [_uiConstants.spacers.dp12]
61
+ }, ["div.__jsx-style-dynamic-selector{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;min-height:32px;margin-right:".concat(_uiConstants.spacers.dp12, ";-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}")]));
62
+ };
55
63
 
56
64
  exports.PageSizeSelect = PageSizeSelect;
57
65
  PageSizeSelect.propTypes = {
@@ -59,5 +67,6 @@ PageSizeSelect.propTypes = {
59
67
  pageSize: _propTypes.default.number.isRequired,
60
68
  pageSizeSelectText: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]).isRequired,
61
69
  pageSizes: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
62
- onChange: _propTypes.default.func.isRequired
70
+ onChange: _propTypes.default.func.isRequired,
71
+ disabled: _propTypes.default.bool
63
72
  };