@razorpay/blade 12.65.1 → 12.67.0
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/build/lib/native/components/Pagination/Pagination.native.js +12 -0
- package/build/lib/native/components/Pagination/Pagination.native.js.map +1 -0
- package/build/lib/native/components/Popover/Popover.native.js +1 -1
- package/build/lib/native/components/Popover/Popover.native.js.map +1 -1
- package/build/lib/native/components/Popover/PopoverContent.js +1 -1
- package/build/lib/native/components/Popover/PopoverContent.js.map +1 -1
- package/build/lib/native/components/Popover/PopoverContext.js.map +1 -1
- package/build/lib/native/components/Table/tokens.js.map +1 -1
- package/build/lib/native/components/index.js +1 -0
- package/build/lib/native/components/index.js.map +1 -1
- package/build/lib/native/utils/metaAttribute/metaConstants.js +1 -1
- package/build/lib/native/utils/metaAttribute/metaConstants.js.map +1 -1
- package/build/lib/web/development/components/Pagination/Pagination.web.js +466 -0
- package/build/lib/web/development/components/Pagination/Pagination.web.js.map +1 -0
- package/build/lib/web/development/components/Pagination/index.js +2 -0
- package/build/lib/web/development/components/Pagination/index.js.map +1 -0
- package/build/lib/web/development/components/Pagination/tokens.js +25 -0
- package/build/lib/web/development/components/Pagination/tokens.js.map +1 -0
- package/build/lib/web/development/components/Popover/Popover.web.js +13 -7
- package/build/lib/web/development/components/Popover/Popover.web.js.map +1 -1
- package/build/lib/web/development/components/Popover/PopoverContent.js +8 -3
- package/build/lib/web/development/components/Popover/PopoverContent.js.map +1 -1
- package/build/lib/web/development/components/Popover/PopoverContext.js.map +1 -1
- package/build/lib/web/development/components/SpotlightPopoverTour/TourPopover.web.js +2 -1
- package/build/lib/web/development/components/SpotlightPopoverTour/TourPopover.web.js.map +1 -1
- package/build/lib/web/development/components/Table/TablePagination.web.js +128 -395
- package/build/lib/web/development/components/Table/TablePagination.web.js.map +1 -1
- package/build/lib/web/development/components/Table/tokens.js +0 -16
- package/build/lib/web/development/components/Table/tokens.js.map +1 -1
- package/build/lib/web/development/components/Toast/ToastContainer.web.js +15 -5
- package/build/lib/web/development/components/Toast/ToastContainer.web.js.map +1 -1
- package/build/lib/web/development/components/Toast/constants.js +1 -1
- package/build/lib/web/development/components/Toast/constants.js.map +1 -1
- package/build/lib/web/development/components/index.js +2 -0
- package/build/lib/web/development/components/index.js.map +1 -1
- package/build/lib/web/development/utils/metaAttribute/metaConstants.js +1 -0
- package/build/lib/web/development/utils/metaAttribute/metaConstants.js.map +1 -1
- package/build/lib/web/production/components/Pagination/Pagination.web.js +466 -0
- package/build/lib/web/production/components/Pagination/Pagination.web.js.map +1 -0
- package/build/lib/web/production/components/Pagination/index.js +2 -0
- package/build/lib/web/production/components/Pagination/index.js.map +1 -0
- package/build/lib/web/production/components/Pagination/tokens.js +25 -0
- package/build/lib/web/production/components/Pagination/tokens.js.map +1 -0
- package/build/lib/web/production/components/Popover/Popover.web.js +13 -7
- package/build/lib/web/production/components/Popover/Popover.web.js.map +1 -1
- package/build/lib/web/production/components/Popover/PopoverContent.js +8 -3
- package/build/lib/web/production/components/Popover/PopoverContent.js.map +1 -1
- package/build/lib/web/production/components/Popover/PopoverContext.js.map +1 -1
- package/build/lib/web/production/components/SpotlightPopoverTour/TourPopover.web.js +2 -1
- package/build/lib/web/production/components/SpotlightPopoverTour/TourPopover.web.js.map +1 -1
- package/build/lib/web/production/components/Table/TablePagination.web.js +128 -395
- package/build/lib/web/production/components/Table/TablePagination.web.js.map +1 -1
- package/build/lib/web/production/components/Table/tokens.js +0 -16
- package/build/lib/web/production/components/Table/tokens.js.map +1 -1
- package/build/lib/web/production/components/Toast/ToastContainer.web.js +15 -5
- package/build/lib/web/production/components/Toast/ToastContainer.web.js.map +1 -1
- package/build/lib/web/production/components/Toast/constants.js +1 -1
- package/build/lib/web/production/components/Toast/constants.js.map +1 -1
- package/build/lib/web/production/components/index.js +2 -0
- package/build/lib/web/production/components/index.js.map +1 -1
- package/build/lib/web/production/utils/metaAttribute/metaConstants.js +1 -0
- package/build/lib/web/production/utils/metaAttribute/metaConstants.js.map +1 -1
- package/build/types/components/index.d.ts +99 -3
- package/build/types/components/index.native.d.ts +90 -1
- package/package.json +2 -2
|
@@ -0,0 +1,466 @@
|
|
|
1
|
+
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
2
|
+
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
3
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
4
|
+
import { useMemo, useState, useCallback } from 'react';
|
|
5
|
+
import styled from 'styled-components';
|
|
6
|
+
import { pagination } from './tokens.js';
|
|
7
|
+
import isUndefined from '../../utils/lodashButBetter/isUndefined.js';
|
|
8
|
+
import getIn from '../../utils/lodashButBetter/get.js';
|
|
9
|
+
import '../Box/BaseBox/index.js';
|
|
10
|
+
import '../Icons/index.js';
|
|
11
|
+
import '../Dropdown/index.js';
|
|
12
|
+
import '../Input/DropdownInputTriggers/index.js';
|
|
13
|
+
import '../ActionList/index.js';
|
|
14
|
+
import '../Typography/index.js';
|
|
15
|
+
import '../../utils/index.js';
|
|
16
|
+
import '../Button/index.js';
|
|
17
|
+
import '../../utils/makeAccessible/index.js';
|
|
18
|
+
import '../../utils/assignWithoutSideEffects/index.js';
|
|
19
|
+
import '../BladeProvider/index.js';
|
|
20
|
+
import '../../utils/getFocusRingStyles/index.js';
|
|
21
|
+
import '../../utils/makeAnalyticsAttribute/index.js';
|
|
22
|
+
import '../../utils/metaAttribute/index.js';
|
|
23
|
+
import { useControllableState } from '../../utils/useControllable.js';
|
|
24
|
+
import '../Box/styledProps/index.js';
|
|
25
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
26
|
+
import { metaAttribute } from '../../utils/metaAttribute/metaAttribute.web.js';
|
|
27
|
+
import { MetaConstants } from '../../utils/metaAttribute/metaConstants.js';
|
|
28
|
+
import { makeSize } from '../../utils/makeSize/makeSize.js';
|
|
29
|
+
import { getFocusRingStyles } from '../../utils/getFocusRingStyles/getFocusRingStyles.web.js';
|
|
30
|
+
import useTheme from '../BladeProvider/useTheme.js';
|
|
31
|
+
import { BaseBox } from '../Box/BaseBox/BaseBox.web.js';
|
|
32
|
+
import { getStyledProps } from '../Box/styledProps/getStyledProps.js';
|
|
33
|
+
import { makeAnalyticsAttribute } from '../../utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js';
|
|
34
|
+
import { Text } from '../Typography/Text/Text.js';
|
|
35
|
+
import { Dropdown } from '../Dropdown/Dropdown.js';
|
|
36
|
+
import { SelectInput } from '../Input/DropdownInputTriggers/SelectInput.js';
|
|
37
|
+
import { DropdownOverlay } from '../Dropdown/DropdownOverlay.web.js';
|
|
38
|
+
import { ActionList } from '../ActionList/ActionList.js';
|
|
39
|
+
import { ActionListItem } from '../ActionList/ActionListItem.js';
|
|
40
|
+
import Button from '../Button/Button/Button.js';
|
|
41
|
+
import ChevronLeftIcon from '../Icons/ChevronLeftIcon/ChevronLeftIcon.js';
|
|
42
|
+
import { makeAccessible } from '../../utils/makeAccessible/makeAccessible.web.js';
|
|
43
|
+
import ChevronsLeftIcon from '../Icons/ChevronsLeftIcon/ChevronsLeftIcon.js';
|
|
44
|
+
import MoreHorizontalIcon from '../Icons/MoreHorizontalIcon/MoreHorizontalIcon.js';
|
|
45
|
+
import ChevronsRightIcon from '../Icons/ChevronsRightIcon/ChevronsRightIcon.js';
|
|
46
|
+
import ChevronRightIcon from '../Icons/ChevronRightIcon/ChevronRightIcon.js';
|
|
47
|
+
import { assignWithoutSideEffects } from '../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
|
|
48
|
+
|
|
49
|
+
var _excluded = ["totalPages", "selectedPage", "defaultSelectedPage", "onSelectedPageChange", "defaultPageSize", "pageSize", "pageSizeLabel", "onPageSizeChange", "showPageSizePicker", "showPageNumberSelector", "showLabel", "label", "isDisabled"];
|
|
50
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
51
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
52
|
+
var pageSizeOptions = [10, 25, 50];
|
|
53
|
+
var PageSelectionButton = /*#__PURE__*/styled.button.attrs(function () {
|
|
54
|
+
return _objectSpread({}, metaAttribute({
|
|
55
|
+
name: MetaConstants.TablePageSelectionButton
|
|
56
|
+
}));
|
|
57
|
+
}).withConfig({
|
|
58
|
+
displayName: "Paginationweb__PageSelectionButton",
|
|
59
|
+
componentId: "m9qfda-0"
|
|
60
|
+
})(function (_ref) {
|
|
61
|
+
var theme = _ref.theme,
|
|
62
|
+
isSelected = _ref.isSelected,
|
|
63
|
+
isDisabled = _ref.isDisabled;
|
|
64
|
+
return {
|
|
65
|
+
backgroundColor: isSelected ? getIn(theme.colors, pagination.pageSelectionButton.backgroundColorSelected) : 'transparent',
|
|
66
|
+
border: 'none',
|
|
67
|
+
cursor: isDisabled ? 'not-allowed' : 'pointer',
|
|
68
|
+
height: makeSize(pagination.pageSelectionButton.height),
|
|
69
|
+
width: makeSize(pagination.pageSelectionButton.width),
|
|
70
|
+
display: 'flex',
|
|
71
|
+
alignItems: 'center',
|
|
72
|
+
justifyContent: 'center',
|
|
73
|
+
borderRadius: getIn(theme.border.radius, pagination.pageSelectionButton.borderRadius),
|
|
74
|
+
opacity: isDisabled ? 0.5 : 1,
|
|
75
|
+
'&:hover': {
|
|
76
|
+
backgroundColor: isDisabled ? 'transparent' : isSelected ? getIn(theme.colors, pagination.pageSelectionButton.backgroundColorSelectedHover) : getIn(theme.colors, pagination.pageSelectionButton.backgroundColorHover)
|
|
77
|
+
},
|
|
78
|
+
'&:focus-visible': _objectSpread(_objectSpread({
|
|
79
|
+
backgroundColor: isDisabled ? 'transparent' : isSelected ? getIn(theme.colors, pagination.pageSelectionButton.backgroundColorSelectedActive) : getIn(theme.colors, pagination.pageSelectionButton.backgroundColorActive)
|
|
80
|
+
}, getFocusRingStyles({
|
|
81
|
+
theme: theme
|
|
82
|
+
})), {}, {
|
|
83
|
+
outline: 'none',
|
|
84
|
+
'&:focus-visible': getFocusRingStyles({
|
|
85
|
+
theme: theme
|
|
86
|
+
})
|
|
87
|
+
}),
|
|
88
|
+
'&:active': {
|
|
89
|
+
backgroundColor: isDisabled ? 'transparent' : isSelected ? getIn(theme.colors, pagination.pageSelectionButton.backgroundColorSelectedActive) : getIn(theme.colors, pagination.pageSelectionButton.backgroundColorActive)
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
});
|
|
93
|
+
var getPaginationButtons = function getPaginationButtons(_ref2) {
|
|
94
|
+
var currentSelection = _ref2.currentSelection,
|
|
95
|
+
totalPages = _ref2.totalPages;
|
|
96
|
+
var halfRange = 2;
|
|
97
|
+
var minMiddleItems = 5;
|
|
98
|
+
|
|
99
|
+
// return if totalPages is less than minMiddleItems
|
|
100
|
+
if (totalPages <= minMiddleItems) {
|
|
101
|
+
return {
|
|
102
|
+
middleItems: Array.from({
|
|
103
|
+
length: totalPages - 2
|
|
104
|
+
}, function (_, index) {
|
|
105
|
+
return index + 2;
|
|
106
|
+
}),
|
|
107
|
+
showStartEllipsis: false,
|
|
108
|
+
showEndEllipsis: false,
|
|
109
|
+
firstItem: 1,
|
|
110
|
+
lastItem: totalPages
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
var start = Math.max(1, currentSelection - halfRange);
|
|
114
|
+
var end = Math.min(totalPages, start + 2 * halfRange);
|
|
115
|
+
|
|
116
|
+
// Ensure at least minMiddleItems items in middleItems
|
|
117
|
+
while (end - start + 1 < minMiddleItems && (start > 1 || end < totalPages)) {
|
|
118
|
+
if (start > 1) {
|
|
119
|
+
start--;
|
|
120
|
+
}
|
|
121
|
+
if (end < totalPages) {
|
|
122
|
+
end++;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
var showStartEllipsis = false;
|
|
126
|
+
var showEndEllipsis = false;
|
|
127
|
+
var paginationButtons = [];
|
|
128
|
+
for (var i = start; i <= end; i++) {
|
|
129
|
+
paginationButtons.push(i);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
// if paginationButtons contains 1, remove it
|
|
133
|
+
if (paginationButtons.includes(1)) {
|
|
134
|
+
paginationButtons.shift();
|
|
135
|
+
// add an extra item at the end if length of total pages is greater than minMiddleItems+1
|
|
136
|
+
if (totalPages > minMiddleItems + 1) paginationButtons.push(end + 1);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
// if paginationButtons contains totalPages, remove it
|
|
140
|
+
if (paginationButtons.includes(totalPages)) {
|
|
141
|
+
paginationButtons.pop();
|
|
142
|
+
// add an extra item at the beginning if length of total pages is greater than minMiddleItems+1
|
|
143
|
+
if (totalPages > minMiddleItems + 1) paginationButtons.unshift(start - 1);
|
|
144
|
+
}
|
|
145
|
+
if (paginationButtons[0] > 2) {
|
|
146
|
+
showStartEllipsis = true;
|
|
147
|
+
}
|
|
148
|
+
if (paginationButtons[paginationButtons.length - 1] + 1 < totalPages) {
|
|
149
|
+
showEndEllipsis = true;
|
|
150
|
+
}
|
|
151
|
+
return {
|
|
152
|
+
middleItems: paginationButtons,
|
|
153
|
+
showStartEllipsis: showStartEllipsis,
|
|
154
|
+
showEndEllipsis: showEndEllipsis,
|
|
155
|
+
firstItem: 1,
|
|
156
|
+
lastItem: totalPages
|
|
157
|
+
};
|
|
158
|
+
};
|
|
159
|
+
var _Pagination = function _Pagination(_ref3) {
|
|
160
|
+
var controlledTotalPages = _ref3.totalPages,
|
|
161
|
+
controlledSelectedPage = _ref3.selectedPage,
|
|
162
|
+
_ref3$defaultSelected = _ref3.defaultSelectedPage,
|
|
163
|
+
defaultSelectedPage = _ref3$defaultSelected === void 0 ? 1 : _ref3$defaultSelected,
|
|
164
|
+
onSelectedPageChange = _ref3.onSelectedPageChange,
|
|
165
|
+
_ref3$defaultPageSize = _ref3.defaultPageSize,
|
|
166
|
+
defaultPageSize = _ref3$defaultPageSize === void 0 ? pagination.defaultPageSize : _ref3$defaultPageSize,
|
|
167
|
+
controlledPageSize = _ref3.pageSize,
|
|
168
|
+
_ref3$pageSizeLabel = _ref3.pageSizeLabel,
|
|
169
|
+
pageSizeLabel = _ref3$pageSizeLabel === void 0 ? 'items / page' : _ref3$pageSizeLabel,
|
|
170
|
+
onPageSizeChange = _ref3.onPageSizeChange,
|
|
171
|
+
_ref3$showPageSizePic = _ref3.showPageSizePicker,
|
|
172
|
+
showPageSizePicker = _ref3$showPageSizePic === void 0 ? false : _ref3$showPageSizePic,
|
|
173
|
+
_ref3$showPageNumberS = _ref3.showPageNumberSelector,
|
|
174
|
+
showPageNumberSelector = _ref3$showPageNumberS === void 0 ? false : _ref3$showPageNumberS,
|
|
175
|
+
_ref3$showLabel = _ref3.showLabel,
|
|
176
|
+
showLabel = _ref3$showLabel === void 0 ? false : _ref3$showLabel,
|
|
177
|
+
label = _ref3.label,
|
|
178
|
+
_ref3$isDisabled = _ref3.isDisabled,
|
|
179
|
+
isDisabled = _ref3$isDisabled === void 0 ? false : _ref3$isDisabled,
|
|
180
|
+
rest = _objectWithoutProperties(_ref3, _excluded);
|
|
181
|
+
// Convert 1-based external page to 0-based internal page
|
|
182
|
+
var controlledInternalPage = useMemo(function () {
|
|
183
|
+
if (isUndefined(controlledSelectedPage)) {
|
|
184
|
+
return undefined;
|
|
185
|
+
}
|
|
186
|
+
return controlledSelectedPage - 1;
|
|
187
|
+
}, [controlledSelectedPage]);
|
|
188
|
+
var defaultInternalPage = useMemo(function () {
|
|
189
|
+
return defaultSelectedPage - 1;
|
|
190
|
+
}, [defaultSelectedPage]);
|
|
191
|
+
var _useControllableState = useControllableState({
|
|
192
|
+
defaultValue: defaultInternalPage,
|
|
193
|
+
value: controlledInternalPage,
|
|
194
|
+
onChange: function onChange(page) {
|
|
195
|
+
// Convert 0-based internal page back to 1-based external page
|
|
196
|
+
onSelectedPageChange === null || onSelectedPageChange === void 0 || onSelectedPageChange({
|
|
197
|
+
page: page + 1
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
}),
|
|
201
|
+
_useControllableState2 = _slicedToArray(_useControllableState, 2),
|
|
202
|
+
internalPage = _useControllableState2[0],
|
|
203
|
+
setInternalPage = _useControllableState2[1];
|
|
204
|
+
var _useControllableState3 = useControllableState({
|
|
205
|
+
defaultValue: defaultPageSize,
|
|
206
|
+
value: controlledPageSize,
|
|
207
|
+
onChange: function onChange(pageSize) {
|
|
208
|
+
onPageSizeChange === null || onPageSizeChange === void 0 || onPageSizeChange({
|
|
209
|
+
pageSize: pageSize
|
|
210
|
+
});
|
|
211
|
+
setInternalPage(function () {
|
|
212
|
+
return defaultInternalPage;
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
}),
|
|
216
|
+
_useControllableState4 = _slicedToArray(_useControllableState3, 2),
|
|
217
|
+
internalPageSize = _useControllableState4[0],
|
|
218
|
+
setInternalPageSize = _useControllableState4[1];
|
|
219
|
+
|
|
220
|
+
// Calculate totalPages
|
|
221
|
+
var totalPages = useMemo(function () {
|
|
222
|
+
if (!isUndefined(controlledTotalPages)) {
|
|
223
|
+
return controlledTotalPages;
|
|
224
|
+
}
|
|
225
|
+
return 1;
|
|
226
|
+
}, [controlledTotalPages]);
|
|
227
|
+
var _useState = useState(undefined),
|
|
228
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
229
|
+
currentEllipseHover = _useState2[0],
|
|
230
|
+
setCurrentEllipseHover = _useState2[1];
|
|
231
|
+
|
|
232
|
+
// Generate default label
|
|
233
|
+
var defaultLabel = label ? label : "Showing ".concat(internalPage * internalPageSize + 1, "-").concat((internalPage + 1) * internalPageSize, " items");
|
|
234
|
+
var _useTheme = useTheme(),
|
|
235
|
+
platform = _useTheme.platform;
|
|
236
|
+
var onMobile = platform === 'onMobile';
|
|
237
|
+
var handlePageChange = useCallback(function (page) {
|
|
238
|
+
if (isDisabled) return;
|
|
239
|
+
|
|
240
|
+
// page is 0-based internally
|
|
241
|
+
var pageToJumpTo = page;
|
|
242
|
+
if (pageToJumpTo < 0) {
|
|
243
|
+
pageToJumpTo = 0;
|
|
244
|
+
} else if (pageToJumpTo > totalPages - 1) {
|
|
245
|
+
pageToJumpTo = totalPages - 1;
|
|
246
|
+
}
|
|
247
|
+
setInternalPage(function () {
|
|
248
|
+
return pageToJumpTo;
|
|
249
|
+
});
|
|
250
|
+
}, [isDisabled, setInternalPage, totalPages]);
|
|
251
|
+
var handlePageSizeChange = useCallback(function (pageSize) {
|
|
252
|
+
if (isDisabled) return;
|
|
253
|
+
setInternalPageSize(function () {
|
|
254
|
+
return pageSize;
|
|
255
|
+
});
|
|
256
|
+
}, [isDisabled, setInternalPageSize]);
|
|
257
|
+
var shouldDisableNextPage = function shouldDisableNextPage() {
|
|
258
|
+
return internalPage >= totalPages - 1 || isDisabled;
|
|
259
|
+
};
|
|
260
|
+
var shouldDisablePreviousPage = function shouldDisablePreviousPage() {
|
|
261
|
+
return internalPage <= 0 || isDisabled;
|
|
262
|
+
};
|
|
263
|
+
var paginationButtons = getPaginationButtons({
|
|
264
|
+
currentSelection: internalPage + 1,
|
|
265
|
+
totalPages: totalPages
|
|
266
|
+
});
|
|
267
|
+
return /*#__PURE__*/jsxs(BaseBox, _objectSpread(_objectSpread(_objectSpread(_objectSpread({
|
|
268
|
+
display: "flex",
|
|
269
|
+
flexDirection: "row",
|
|
270
|
+
backgroundColor: "transparent",
|
|
271
|
+
padding: pagination.padding
|
|
272
|
+
}, getStyledProps(rest)), makeAnalyticsAttribute(rest)), metaAttribute({
|
|
273
|
+
name: MetaConstants.Pagination,
|
|
274
|
+
testID: rest.testID
|
|
275
|
+
})), {}, {
|
|
276
|
+
children: [showLabel && !onMobile && /*#__PURE__*/jsx(BaseBox, {
|
|
277
|
+
display: "flex",
|
|
278
|
+
justifyContent: "center",
|
|
279
|
+
alignItems: "center",
|
|
280
|
+
children: /*#__PURE__*/jsx(Text, {
|
|
281
|
+
size: "medium",
|
|
282
|
+
weight: "semibold",
|
|
283
|
+
children: defaultLabel
|
|
284
|
+
})
|
|
285
|
+
}), /*#__PURE__*/jsxs(BaseBox, {
|
|
286
|
+
display: "flex",
|
|
287
|
+
flex: 1,
|
|
288
|
+
gap: "spacing.2",
|
|
289
|
+
justifyContent: "flex-end",
|
|
290
|
+
alignItems: "center",
|
|
291
|
+
children: [showPageSizePicker && !onMobile && /*#__PURE__*/jsxs(BaseBox, {
|
|
292
|
+
display: "flex",
|
|
293
|
+
flexDirection: "row",
|
|
294
|
+
alignItems: "center",
|
|
295
|
+
children: [/*#__PURE__*/jsxs(Dropdown, {
|
|
296
|
+
selectionType: "single",
|
|
297
|
+
children: [/*#__PURE__*/jsx(SelectInput, {
|
|
298
|
+
accessibilityLabel: "Select items per page",
|
|
299
|
+
name: "page-size",
|
|
300
|
+
label: "",
|
|
301
|
+
labelPosition: "inside-input",
|
|
302
|
+
placeholder: "",
|
|
303
|
+
onChange: function onChange(_ref4) {
|
|
304
|
+
var values = _ref4.values;
|
|
305
|
+
handlePageSizeChange(Number(values[0]));
|
|
306
|
+
},
|
|
307
|
+
value: internalPageSize.toString(),
|
|
308
|
+
isDisabled: isDisabled
|
|
309
|
+
}), /*#__PURE__*/jsx(DropdownOverlay, {
|
|
310
|
+
children: /*#__PURE__*/jsx(ActionList, {
|
|
311
|
+
children: pageSizeOptions.map(function (item, index) {
|
|
312
|
+
return /*#__PURE__*/jsx(ActionListItem, {
|
|
313
|
+
title: item.toString(),
|
|
314
|
+
value: item.toString()
|
|
315
|
+
}, index);
|
|
316
|
+
})
|
|
317
|
+
})
|
|
318
|
+
})]
|
|
319
|
+
}), /*#__PURE__*/jsx(BaseBox, {
|
|
320
|
+
"aria-hidden": true,
|
|
321
|
+
paddingLeft: "spacing.3",
|
|
322
|
+
paddingRight: "spacing.3",
|
|
323
|
+
children: /*#__PURE__*/jsxs(Text, {
|
|
324
|
+
children: [" ", pageSizeLabel, " "]
|
|
325
|
+
})
|
|
326
|
+
})]
|
|
327
|
+
}), /*#__PURE__*/jsxs(BaseBox, {
|
|
328
|
+
display: "flex",
|
|
329
|
+
flexDirection: "row",
|
|
330
|
+
gap: "spacing.2",
|
|
331
|
+
flex: onMobile ? 1 : undefined,
|
|
332
|
+
alignItems: "center",
|
|
333
|
+
children: [/*#__PURE__*/jsx(Button, {
|
|
334
|
+
icon: ChevronLeftIcon,
|
|
335
|
+
accessibilityLabel: "Previous Page",
|
|
336
|
+
variant: "tertiary",
|
|
337
|
+
onClick: function onClick() {
|
|
338
|
+
handlePageChange(internalPage - 1);
|
|
339
|
+
},
|
|
340
|
+
isDisabled: shouldDisablePreviousPage()
|
|
341
|
+
}), onMobile && /*#__PURE__*/jsx(BaseBox, {
|
|
342
|
+
flex: 1,
|
|
343
|
+
alignItems: "center",
|
|
344
|
+
justifyContent: "center",
|
|
345
|
+
children: /*#__PURE__*/jsx(Text, {
|
|
346
|
+
textAlign: "center",
|
|
347
|
+
children: "Showing ".concat(internalPage + 1, " of ").concat(totalPages, " pages")
|
|
348
|
+
})
|
|
349
|
+
}), totalPages > 1 && showPageNumberSelector && !onMobile && /*#__PURE__*/jsxs(BaseBox, {
|
|
350
|
+
gap: "spacing.1",
|
|
351
|
+
display: "flex",
|
|
352
|
+
flexDirection: "row",
|
|
353
|
+
children: [/*#__PURE__*/jsx(PageSelectionButton, _objectSpread(_objectSpread({
|
|
354
|
+
onClick: function onClick() {
|
|
355
|
+
return handlePageChange(paginationButtons.firstItem - 1);
|
|
356
|
+
},
|
|
357
|
+
isSelected: internalPage === paginationButtons.firstItem - 1,
|
|
358
|
+
isDisabled: isDisabled
|
|
359
|
+
}, makeAccessible({
|
|
360
|
+
label: "Page ".concat(paginationButtons.firstItem)
|
|
361
|
+
})), {}, {
|
|
362
|
+
children: /*#__PURE__*/jsx(Text, {
|
|
363
|
+
size: "medium",
|
|
364
|
+
color: internalPage === paginationButtons.firstItem - 1 ? pagination.pageSelectionButton.textColorSelected : pagination.pageSelectionButton.textColor,
|
|
365
|
+
children: paginationButtons.firstItem
|
|
366
|
+
})
|
|
367
|
+
})), paginationButtons.showStartEllipsis && /*#__PURE__*/jsx(PageSelectionButton, _objectSpread(_objectSpread({
|
|
368
|
+
onClick: function onClick() {
|
|
369
|
+
return handlePageChange(internalPage - 5);
|
|
370
|
+
},
|
|
371
|
+
onMouseOver: function onMouseOver() {
|
|
372
|
+
return setCurrentEllipseHover('start');
|
|
373
|
+
},
|
|
374
|
+
onMouseLeave: function onMouseLeave() {
|
|
375
|
+
return setCurrentEllipseHover(undefined);
|
|
376
|
+
},
|
|
377
|
+
onFocus: function onFocus() {
|
|
378
|
+
return setCurrentEllipseHover('start');
|
|
379
|
+
},
|
|
380
|
+
onBlur: function onBlur() {
|
|
381
|
+
return setCurrentEllipseHover(undefined);
|
|
382
|
+
},
|
|
383
|
+
isDisabled: isDisabled
|
|
384
|
+
}, makeAccessible({
|
|
385
|
+
label: 'Go back 5 pages'
|
|
386
|
+
})), {}, {
|
|
387
|
+
children: currentEllipseHover === 'start' ? /*#__PURE__*/jsx(ChevronsLeftIcon, {
|
|
388
|
+
size: "medium"
|
|
389
|
+
}) : /*#__PURE__*/jsx(MoreHorizontalIcon, {
|
|
390
|
+
size: "medium"
|
|
391
|
+
})
|
|
392
|
+
})), paginationButtons.middleItems.map(function (item) {
|
|
393
|
+
return /*#__PURE__*/jsx(PageSelectionButton, _objectSpread(_objectSpread({
|
|
394
|
+
onClick: function onClick() {
|
|
395
|
+
return handlePageChange(item - 1);
|
|
396
|
+
},
|
|
397
|
+
isSelected: internalPage === item - 1,
|
|
398
|
+
isDisabled: isDisabled
|
|
399
|
+
}, makeAccessible({
|
|
400
|
+
label: "Page ".concat(item)
|
|
401
|
+
})), {}, {
|
|
402
|
+
children: /*#__PURE__*/jsx(Text, {
|
|
403
|
+
size: "medium",
|
|
404
|
+
color: internalPage === item - 1 ? pagination.pageSelectionButton.textColorSelected : pagination.pageSelectionButton.textColor,
|
|
405
|
+
children: item
|
|
406
|
+
})
|
|
407
|
+
}), item - 1);
|
|
408
|
+
}), paginationButtons.showEndEllipsis && /*#__PURE__*/jsx(PageSelectionButton, _objectSpread(_objectSpread({
|
|
409
|
+
onClick: function onClick() {
|
|
410
|
+
return handlePageChange(internalPage + 5);
|
|
411
|
+
},
|
|
412
|
+
onMouseOver: function onMouseOver() {
|
|
413
|
+
return setCurrentEllipseHover('end');
|
|
414
|
+
},
|
|
415
|
+
onMouseLeave: function onMouseLeave() {
|
|
416
|
+
return setCurrentEllipseHover(undefined);
|
|
417
|
+
},
|
|
418
|
+
onFocus: function onFocus() {
|
|
419
|
+
return setCurrentEllipseHover('end');
|
|
420
|
+
},
|
|
421
|
+
onBlur: function onBlur() {
|
|
422
|
+
return setCurrentEllipseHover(undefined);
|
|
423
|
+
},
|
|
424
|
+
isDisabled: isDisabled
|
|
425
|
+
}, makeAccessible({
|
|
426
|
+
label: 'Go forward 5 pages'
|
|
427
|
+
})), {}, {
|
|
428
|
+
children: currentEllipseHover === 'end' ? /*#__PURE__*/jsx(ChevronsRightIcon, {
|
|
429
|
+
size: "medium"
|
|
430
|
+
}) : /*#__PURE__*/jsx(MoreHorizontalIcon, {
|
|
431
|
+
size: "medium"
|
|
432
|
+
})
|
|
433
|
+
})), /*#__PURE__*/jsx(PageSelectionButton, _objectSpread(_objectSpread({
|
|
434
|
+
onClick: function onClick() {
|
|
435
|
+
return handlePageChange(paginationButtons.lastItem - 1);
|
|
436
|
+
},
|
|
437
|
+
isSelected: internalPage === paginationButtons.lastItem - 1,
|
|
438
|
+
isDisabled: isDisabled
|
|
439
|
+
}, makeAccessible({
|
|
440
|
+
label: "Page ".concat(paginationButtons.lastItem)
|
|
441
|
+
})), {}, {
|
|
442
|
+
children: /*#__PURE__*/jsx(Text, {
|
|
443
|
+
size: "medium",
|
|
444
|
+
color: internalPage === paginationButtons.lastItem - 1 ? pagination.pageSelectionButton.textColorSelected : pagination.pageSelectionButton.textColor,
|
|
445
|
+
children: paginationButtons.lastItem
|
|
446
|
+
})
|
|
447
|
+
}))]
|
|
448
|
+
}), /*#__PURE__*/jsx(Button, {
|
|
449
|
+
variant: "tertiary",
|
|
450
|
+
icon: ChevronRightIcon,
|
|
451
|
+
accessibilityLabel: "Next Page",
|
|
452
|
+
onClick: function onClick() {
|
|
453
|
+
handlePageChange(internalPage + 1);
|
|
454
|
+
},
|
|
455
|
+
isDisabled: shouldDisableNextPage()
|
|
456
|
+
})]
|
|
457
|
+
})]
|
|
458
|
+
})]
|
|
459
|
+
}));
|
|
460
|
+
};
|
|
461
|
+
var Pagination = /*#__PURE__*/assignWithoutSideEffects(_Pagination, {
|
|
462
|
+
componentId: 'Pagination'
|
|
463
|
+
});
|
|
464
|
+
|
|
465
|
+
export { Pagination };
|
|
466
|
+
//# sourceMappingURL=Pagination.web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pagination.web.js","sources":["../../../../../../src/components/Pagination/Pagination.web.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState } from 'react';\nimport styled from 'styled-components';\nimport { pagination } from './tokens';\nimport type { PaginationProps } from './types';\nimport isUndefined from '~utils/lodashButBetter/isUndefined';\nimport getIn from '~utils/lodashButBetter/get';\nimport BaseBox from '~components/Box/BaseBox';\nimport {\n ChevronLeftIcon,\n ChevronRightIcon,\n ChevronsLeftIcon,\n ChevronsRightIcon,\n MoreHorizontalIcon,\n} from '~components/Icons';\nimport { Dropdown, DropdownOverlay } from '~components/Dropdown';\nimport { SelectInput } from '~components/Input/DropdownInputTriggers';\nimport { ActionList, ActionListItem } from '~components/ActionList';\nimport { Text } from '~components/Typography';\nimport { makeSize } from '~utils';\nimport { Button } from '~components/Button';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { useTheme } from '~components/BladeProvider';\nimport { getFocusRingStyles } from '~utils/getFocusRingStyles';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { useControllableState } from '~utils/useControllable';\nimport { getStyledProps } from '~components/Box/styledProps';\n\nconst pageSizeOptions: NonNullable<PaginationProps['defaultPageSize']>[] = [10, 25, 50];\n\nconst PageSelectionButton = styled.button.attrs(() => {\n return {\n ...metaAttribute({ name: MetaConstants.TablePageSelectionButton }),\n };\n})<{ isSelected?: boolean; isDisabled?: boolean }>(({ theme, isSelected, isDisabled }) => ({\n backgroundColor: isSelected\n ? getIn(theme.colors, pagination.pageSelectionButton.backgroundColorSelected)\n : 'transparent',\n border: 'none',\n cursor: isDisabled ? 'not-allowed' : 'pointer',\n height: makeSize(pagination.pageSelectionButton.height),\n width: makeSize(pagination.pageSelectionButton.width),\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: getIn(theme.border.radius, pagination.pageSelectionButton.borderRadius),\n opacity: isDisabled ? 0.5 : 1,\n '&:hover': {\n backgroundColor: isDisabled\n ? 'transparent'\n : isSelected\n ? getIn(theme.colors, pagination.pageSelectionButton.backgroundColorSelectedHover)\n : getIn(theme.colors, pagination.pageSelectionButton.backgroundColorHover),\n },\n '&:focus-visible': {\n backgroundColor: isDisabled\n ? 'transparent'\n : isSelected\n ? getIn(theme.colors, pagination.pageSelectionButton.backgroundColorSelectedActive)\n : getIn(theme.colors, pagination.pageSelectionButton.backgroundColorActive),\n ...getFocusRingStyles({ theme }),\n outline: 'none',\n '&:focus-visible': getFocusRingStyles({ theme }),\n },\n '&:active': {\n backgroundColor: isDisabled\n ? 'transparent'\n : isSelected\n ? getIn(theme.colors, pagination.pageSelectionButton.backgroundColorSelectedActive)\n : getIn(theme.colors, pagination.pageSelectionButton.backgroundColorActive),\n },\n}));\n\nconst getPaginationButtons = ({\n currentSelection,\n totalPages,\n}: {\n currentSelection: number;\n totalPages: number;\n}): {\n middleItems: number[];\n showStartEllipsis: boolean;\n showEndEllipsis: boolean;\n firstItem: number;\n lastItem: number;\n} => {\n const halfRange = 2;\n const minMiddleItems = 5;\n\n // return if totalPages is less than minMiddleItems\n if (totalPages <= minMiddleItems) {\n return {\n middleItems: Array.from({ length: totalPages - 2 }, (_, index) => index + 2),\n showStartEllipsis: false,\n showEndEllipsis: false,\n firstItem: 1,\n lastItem: totalPages,\n };\n }\n\n let start = Math.max(1, currentSelection - halfRange);\n let end = Math.min(totalPages, start + 2 * halfRange);\n\n // Ensure at least minMiddleItems items in middleItems\n while (end - start + 1 < minMiddleItems && (start > 1 || end < totalPages)) {\n if (start > 1) {\n start--;\n }\n if (end < totalPages) {\n end++;\n }\n }\n\n let showStartEllipsis = false;\n let showEndEllipsis = false;\n\n const paginationButtons: number[] = [];\n for (let i = start; i <= end; i++) {\n paginationButtons.push(i);\n }\n\n // if paginationButtons contains 1, remove it\n if (paginationButtons.includes(1)) {\n paginationButtons.shift();\n // add an extra item at the end if length of total pages is greater than minMiddleItems+1\n if (totalPages > minMiddleItems + 1) paginationButtons.push(end + 1);\n }\n\n // if paginationButtons contains totalPages, remove it\n if (paginationButtons.includes(totalPages)) {\n paginationButtons.pop();\n // add an extra item at the beginning if length of total pages is greater than minMiddleItems+1\n if (totalPages > minMiddleItems + 1) paginationButtons.unshift(start - 1);\n }\n\n if (paginationButtons[0] > 2) {\n showStartEllipsis = true;\n }\n\n if (paginationButtons[paginationButtons.length - 1] + 1 < totalPages) {\n showEndEllipsis = true;\n }\n\n return {\n middleItems: paginationButtons,\n showStartEllipsis,\n showEndEllipsis,\n firstItem: 1,\n lastItem: totalPages,\n };\n};\n\nconst _Pagination = ({\n totalPages: controlledTotalPages,\n selectedPage: controlledSelectedPage,\n defaultSelectedPage = 1,\n onSelectedPageChange,\n defaultPageSize = pagination.defaultPageSize,\n pageSize: controlledPageSize,\n pageSizeLabel = 'items / page',\n onPageSizeChange,\n showPageSizePicker = false,\n showPageNumberSelector = false,\n showLabel = false,\n label,\n isDisabled = false,\n ...rest\n}: PaginationProps): React.ReactElement => {\n // Convert 1-based external page to 0-based internal page\n const controlledInternalPage = useMemo(() => {\n if (isUndefined(controlledSelectedPage)) {\n return undefined;\n }\n return controlledSelectedPage - 1;\n }, [controlledSelectedPage]);\n\n const defaultInternalPage = useMemo(() => {\n return defaultSelectedPage - 1;\n }, [defaultSelectedPage]);\n\n const [internalPage, setInternalPage] = useControllableState<number>({\n defaultValue: defaultInternalPage,\n value: controlledInternalPage,\n onChange: (page) => {\n // Convert 0-based internal page back to 1-based external page\n onSelectedPageChange?.({ page: page + 1 });\n },\n });\n\n const [internalPageSize, setInternalPageSize] = useControllableState<10 | 25 | 50>({\n defaultValue: defaultPageSize,\n value: controlledPageSize,\n onChange: (pageSize) => {\n onPageSizeChange?.({ pageSize });\n setInternalPage(() => defaultInternalPage);\n },\n });\n\n // Calculate totalPages\n const totalPages = useMemo(() => {\n if (!isUndefined(controlledTotalPages)) {\n return controlledTotalPages;\n }\n\n return 1;\n }, [controlledTotalPages]);\n\n const [currentEllipseHover, setCurrentEllipseHover] = useState<'start' | 'end' | undefined>(\n undefined,\n );\n\n // Generate default label\n const defaultLabel = label\n ? label\n : `Showing ${internalPage * internalPageSize + 1}-${\n (internalPage + 1) * internalPageSize\n } items`;\n\n const { platform } = useTheme();\n const onMobile = platform === 'onMobile';\n\n const handlePageChange = useCallback(\n (page: number): void => {\n if (isDisabled) return;\n\n // page is 0-based internally\n let pageToJumpTo = page;\n if (pageToJumpTo < 0) {\n pageToJumpTo = 0;\n } else if (pageToJumpTo > totalPages - 1) {\n pageToJumpTo = totalPages - 1;\n }\n\n setInternalPage(() => pageToJumpTo);\n },\n [isDisabled, setInternalPage, totalPages],\n );\n\n const handlePageSizeChange = useCallback(\n (pageSize: 10 | 25 | 50): void => {\n if (isDisabled) return;\n setInternalPageSize(() => pageSize);\n },\n [isDisabled, setInternalPageSize],\n );\n\n const shouldDisableNextPage = (): boolean => {\n return internalPage >= totalPages - 1 || isDisabled;\n };\n\n const shouldDisablePreviousPage = (): boolean => {\n return internalPage <= 0 || isDisabled;\n };\n\n const paginationButtons = getPaginationButtons({\n currentSelection: internalPage + 1,\n totalPages,\n });\n\n return (\n <BaseBox\n display=\"flex\"\n flexDirection=\"row\"\n backgroundColor=\"transparent\"\n padding={pagination.padding}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n {...metaAttribute({ name: MetaConstants.Pagination, testID: rest.testID })}\n >\n {showLabel && !onMobile && (\n <BaseBox display=\"flex\" justifyContent=\"center\" alignItems=\"center\">\n <Text size=\"medium\" weight=\"semibold\">\n {defaultLabel}\n </Text>\n </BaseBox>\n )}\n <BaseBox\n display=\"flex\"\n flex={1}\n gap=\"spacing.2\"\n justifyContent=\"flex-end\"\n alignItems=\"center\"\n >\n {showPageSizePicker && !onMobile && (\n <BaseBox display=\"flex\" flexDirection=\"row\" alignItems=\"center\">\n <Dropdown selectionType=\"single\">\n <SelectInput\n accessibilityLabel=\"Select items per page\"\n name=\"page-size\"\n label=\"\"\n labelPosition=\"inside-input\"\n placeholder=\"\"\n onChange={({ values }) => {\n handlePageSizeChange(Number(values[0]) as 10 | 25 | 50);\n }}\n value={internalPageSize.toString()}\n isDisabled={isDisabled}\n />\n <DropdownOverlay>\n <ActionList>\n {pageSizeOptions.map((item, index) => (\n <ActionListItem key={index} title={item.toString()} value={item.toString()} />\n ))}\n </ActionList>\n </DropdownOverlay>\n </Dropdown>\n <BaseBox aria-hidden paddingLeft=\"spacing.3\" paddingRight=\"spacing.3\">\n <Text> {pageSizeLabel} </Text>\n </BaseBox>\n </BaseBox>\n )}\n <BaseBox\n display=\"flex\"\n flexDirection=\"row\"\n gap=\"spacing.2\"\n flex={onMobile ? 1 : undefined}\n alignItems=\"center\"\n >\n <Button\n icon={ChevronLeftIcon}\n accessibilityLabel=\"Previous Page\"\n variant=\"tertiary\"\n onClick={() => {\n handlePageChange(internalPage - 1);\n }}\n isDisabled={shouldDisablePreviousPage()}\n />\n {onMobile && (\n <BaseBox flex={1} alignItems=\"center\" justifyContent=\"center\">\n <Text textAlign=\"center\">{`Showing ${internalPage + 1} of ${totalPages} pages`}</Text>\n </BaseBox>\n )}\n {totalPages > 1 && showPageNumberSelector && !onMobile && (\n <BaseBox gap=\"spacing.1\" display=\"flex\" flexDirection=\"row\">\n <PageSelectionButton\n onClick={() => handlePageChange(paginationButtons.firstItem - 1)}\n isSelected={internalPage === paginationButtons.firstItem - 1}\n isDisabled={isDisabled}\n {...makeAccessible({ label: `Page ${paginationButtons.firstItem}` })}\n >\n <Text\n size=\"medium\"\n color={\n internalPage === paginationButtons.firstItem - 1\n ? pagination.pageSelectionButton.textColorSelected\n : pagination.pageSelectionButton.textColor\n }\n >\n {paginationButtons.firstItem}\n </Text>\n </PageSelectionButton>\n {paginationButtons.showStartEllipsis && (\n <PageSelectionButton\n onClick={() => handlePageChange(internalPage - 5)}\n onMouseOver={() => setCurrentEllipseHover('start')}\n onMouseLeave={() => setCurrentEllipseHover(undefined)}\n onFocus={() => setCurrentEllipseHover('start')}\n onBlur={() => setCurrentEllipseHover(undefined)}\n isDisabled={isDisabled}\n {...makeAccessible({ label: 'Go back 5 pages' })}\n >\n {currentEllipseHover === 'start' ? (\n <ChevronsLeftIcon size=\"medium\" />\n ) : (\n <MoreHorizontalIcon size=\"medium\" />\n )}\n </PageSelectionButton>\n )}\n {paginationButtons.middleItems.map((item) => (\n <PageSelectionButton\n key={item - 1}\n onClick={() => handlePageChange(item - 1)}\n isSelected={internalPage === item - 1}\n isDisabled={isDisabled}\n {...makeAccessible({ label: `Page ${item}` })}\n >\n <Text\n size=\"medium\"\n color={\n internalPage === item - 1\n ? pagination.pageSelectionButton.textColorSelected\n : pagination.pageSelectionButton.textColor\n }\n >\n {item}\n </Text>\n </PageSelectionButton>\n ))}\n {paginationButtons.showEndEllipsis && (\n <PageSelectionButton\n onClick={() => handlePageChange(internalPage + 5)}\n onMouseOver={() => setCurrentEllipseHover('end')}\n onMouseLeave={() => setCurrentEllipseHover(undefined)}\n onFocus={() => setCurrentEllipseHover('end')}\n onBlur={() => setCurrentEllipseHover(undefined)}\n isDisabled={isDisabled}\n {...makeAccessible({ label: 'Go forward 5 pages' })}\n >\n {currentEllipseHover === 'end' ? (\n <ChevronsRightIcon size=\"medium\" />\n ) : (\n <MoreHorizontalIcon size=\"medium\" />\n )}\n </PageSelectionButton>\n )}\n <PageSelectionButton\n onClick={() => handlePageChange(paginationButtons.lastItem - 1)}\n isSelected={internalPage === paginationButtons.lastItem - 1}\n isDisabled={isDisabled}\n {...makeAccessible({ label: `Page ${paginationButtons.lastItem}` })}\n >\n <Text\n size=\"medium\"\n color={\n internalPage === paginationButtons.lastItem - 1\n ? pagination.pageSelectionButton.textColorSelected\n : pagination.pageSelectionButton.textColor\n }\n >\n {paginationButtons.lastItem}\n </Text>\n </PageSelectionButton>\n </BaseBox>\n )}\n <Button\n variant=\"tertiary\"\n icon={ChevronRightIcon}\n accessibilityLabel=\"Next Page\"\n onClick={() => {\n handlePageChange(internalPage + 1);\n }}\n isDisabled={shouldDisableNextPage()}\n />\n </BaseBox>\n </BaseBox>\n </BaseBox>\n );\n};\n\nconst Pagination = assignWithoutSideEffects(_Pagination, {\n componentId: 'Pagination',\n});\n\nexport { Pagination };\n"],"names":["pageSizeOptions","PageSelectionButton","styled","button","attrs","_objectSpread","metaAttribute","name","MetaConstants","TablePageSelectionButton","withConfig","displayName","componentId","_ref","theme","isSelected","isDisabled","backgroundColor","getIn","colors","pagination","pageSelectionButton","backgroundColorSelected","border","cursor","height","makeSize","width","display","alignItems","justifyContent","borderRadius","radius","opacity","backgroundColorSelectedHover","backgroundColorHover","backgroundColorSelectedActive","backgroundColorActive","getFocusRingStyles","outline","getPaginationButtons","_ref2","currentSelection","totalPages","halfRange","minMiddleItems","middleItems","Array","from","length","_","index","showStartEllipsis","showEndEllipsis","firstItem","lastItem","start","Math","max","end","min","paginationButtons","i","push","includes","shift","pop","unshift","_Pagination","_ref3","controlledTotalPages","controlledSelectedPage","selectedPage","_ref3$defaultSelected","defaultSelectedPage","onSelectedPageChange","_ref3$defaultPageSize","defaultPageSize","controlledPageSize","pageSize","_ref3$pageSizeLabel","pageSizeLabel","onPageSizeChange","_ref3$showPageSizePic","showPageSizePicker","_ref3$showPageNumberS","showPageNumberSelector","_ref3$showLabel","showLabel","label","_ref3$isDisabled","rest","_objectWithoutProperties","_excluded","controlledInternalPage","useMemo","isUndefined","undefined","defaultInternalPage","_useControllableState","useControllableState","defaultValue","value","onChange","page","_useControllableState2","_slicedToArray","internalPage","setInternalPage","_useControllableState3","_useControllableState4","internalPageSize","setInternalPageSize","_useState","useState","_useState2","currentEllipseHover","setCurrentEllipseHover","defaultLabel","concat","_useTheme","useTheme","platform","onMobile","handlePageChange","useCallback","pageToJumpTo","handlePageSizeChange","shouldDisableNextPage","shouldDisablePreviousPage","_jsxs","BaseBox","flexDirection","padding","getStyledProps","makeAnalyticsAttribute","Pagination","testID","children","_jsx","Text","size","weight","flex","gap","Dropdown","selectionType","SelectInput","accessibilityLabel","labelPosition","placeholder","_ref4","values","Number","toString","DropdownOverlay","ActionList","map","item","ActionListItem","title","paddingLeft","paddingRight","Button","icon","ChevronLeftIcon","variant","onClick","textAlign","makeAccessible","color","textColorSelected","textColor","onMouseOver","onMouseLeave","onFocus","onBlur","ChevronsLeftIcon","MoreHorizontalIcon","ChevronsRightIcon","ChevronRightIcon","assignWithoutSideEffects"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import '../../tokens/global/index.js';
|
|
2
|
+
import { size } from '../../tokens/global/size.js';
|
|
3
|
+
|
|
4
|
+
var pagination = {
|
|
5
|
+
padding: ["".concat(size['6'], "px"), 'spacing.3'],
|
|
6
|
+
pageSelectionButton: {
|
|
7
|
+
backgroundColor: 'transparent',
|
|
8
|
+
backgroundColorHover: 'interactive.background.gray.default',
|
|
9
|
+
backgroundColorActive: 'interactive.background.gray.highlighted',
|
|
10
|
+
backgroundColorSelected: 'interactive.background.primary.faded',
|
|
11
|
+
backgroundColorSelectedHover: 'interactive.background.primary.fadedHighlighted',
|
|
12
|
+
backgroundColorSelectedActive: 'interactive.background.primary.fadedHighlighted',
|
|
13
|
+
padding: 'spacing.2',
|
|
14
|
+
borderRadius: 'small',
|
|
15
|
+
focusRingColor: 'surface.border.primary.muted',
|
|
16
|
+
textColor: 'surface.text.gray.subtle',
|
|
17
|
+
textColorSelected: 'surface.text.primary.normal',
|
|
18
|
+
height: size['32'],
|
|
19
|
+
width: size['32']
|
|
20
|
+
},
|
|
21
|
+
defaultPageSize: 10
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export { pagination };
|
|
25
|
+
//# sourceMappingURL=tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.js","sources":["../../../../../../src/components/Pagination/tokens.ts"],"sourcesContent":["import { size } from '~tokens/global';\n\nexport const pagination = {\n padding: [`${size['6']}px`, 'spacing.3'],\n pageSelectionButton: {\n backgroundColor: 'transparent',\n backgroundColorHover: 'interactive.background.gray.default',\n backgroundColorActive: 'interactive.background.gray.highlighted',\n backgroundColorSelected: 'interactive.background.primary.faded',\n backgroundColorSelectedHover: 'interactive.background.primary.fadedHighlighted',\n backgroundColorSelectedActive: 'interactive.background.primary.fadedHighlighted',\n padding: 'spacing.2',\n borderRadius: 'small',\n focusRingColor: 'surface.border.primary.muted',\n textColor: 'surface.text.gray.subtle',\n textColorSelected: 'surface.text.primary.normal',\n height: size['32'],\n width: size['32'],\n },\n defaultPageSize: 10,\n} as const;\n"],"names":["pagination","padding","concat","size","pageSelectionButton","backgroundColor","backgroundColorHover","backgroundColorActive","backgroundColorSelected","backgroundColorSelectedHover","backgroundColorSelectedActive","borderRadius","focusRingColor","textColor","textColorSelected","height","width","defaultPageSize"],"mappings":";;;AAEO,IAAMA,UAAU,GAAG;EACxBC,OAAO,EAAE,CAAAC,EAAAA,CAAAA,MAAA,CAAIC,IAAI,CAAC,GAAG,CAAC,EAAM,IAAA,CAAA,EAAA,WAAW,CAAC;AACxCC,EAAAA,mBAAmB,EAAE;AACnBC,IAAAA,eAAe,EAAE,aAAa;AAC9BC,IAAAA,oBAAoB,EAAE,qCAAqC;AAC3DC,IAAAA,qBAAqB,EAAE,yCAAyC;AAChEC,IAAAA,uBAAuB,EAAE,sCAAsC;AAC/DC,IAAAA,4BAA4B,EAAE,iDAAiD;AAC/EC,IAAAA,6BAA6B,EAAE,iDAAiD;AAChFT,IAAAA,OAAO,EAAE,WAAW;AACpBU,IAAAA,YAAY,EAAE,OAAO;AACrBC,IAAAA,cAAc,EAAE,8BAA8B;AAC9CC,IAAAA,SAAS,EAAE,0BAA0B;AACrCC,IAAAA,iBAAiB,EAAE,6BAA6B;AAChDC,IAAAA,MAAM,EAAEZ,IAAI,CAAC,IAAI,CAAC;IAClBa,KAAK,EAAEb,IAAI,CAAC,IAAI,CAAA;GACjB;AACDc,EAAAA,eAAe,EAAE,EAAA;AACnB;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
2
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
3
3
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
4
|
-
import { useFloating, shift, flip, offset, arrow, autoUpdate, useTransitionStyles, useClick, useDismiss, useRole, useInteractions, FloatingPortal, FloatingFocusManager } from '@floating-ui/react';
|
|
4
|
+
import { useFloating, shift, flip, offset, arrow, autoUpdate, useTransitionStyles, useClick, useHover, useDismiss, useRole, useInteractions, FloatingPortal, FloatingFocusManager } from '@floating-ui/react';
|
|
5
5
|
import React__default from 'react';
|
|
6
6
|
import { PopoverContent } from './PopoverContent.js';
|
|
7
7
|
import { ARROW_HEIGHT, ARROW_WIDTH } from './constants.js';
|
|
@@ -29,7 +29,7 @@ import { makeAccessible } from '../../utils/makeAccessible/makeAccessible.web.js
|
|
|
29
29
|
import { makeAnalyticsAttribute } from '../../utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js';
|
|
30
30
|
import { PopupArrow } from '../PopupArrow/PopupArrow.web.js';
|
|
31
31
|
|
|
32
|
-
var _excluded = ["content", "title", "titleLeading", "footer", "children", "placement", "onOpenChange", "zIndex", "isOpen", "defaultIsOpen", "initialFocusRef"];
|
|
32
|
+
var _excluded = ["content", "title", "titleLeading", "footer", "children", "placement", "onOpenChange", "zIndex", "isOpen", "defaultIsOpen", "initialFocusRef", "openInteraction"];
|
|
33
33
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
34
34
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
35
35
|
var Popover = function Popover(_ref) {
|
|
@@ -46,6 +46,8 @@ var Popover = function Popover(_ref) {
|
|
|
46
46
|
isOpen = _ref.isOpen,
|
|
47
47
|
defaultIsOpen = _ref.defaultIsOpen,
|
|
48
48
|
initialFocusRef = _ref.initialFocusRef,
|
|
49
|
+
_ref$openInteraction = _ref.openInteraction,
|
|
50
|
+
openInteraction = _ref$openInteraction === void 0 ? 'click' : _ref$openInteraction,
|
|
49
51
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
50
52
|
var _useTheme = useTheme(),
|
|
51
53
|
theme = _useTheme.theme;
|
|
@@ -121,11 +123,14 @@ var Popover = function Popover(_ref) {
|
|
|
121
123
|
// remove click handler if popover is controlled
|
|
122
124
|
var isControlled = isOpen !== undefined;
|
|
123
125
|
var click = useClick(context, {
|
|
124
|
-
enabled: !isControlled
|
|
126
|
+
enabled: !isControlled && openInteraction === 'click'
|
|
127
|
+
});
|
|
128
|
+
var hover = useHover(context, {
|
|
129
|
+
enabled: !isControlled && openInteraction === 'hover'
|
|
125
130
|
});
|
|
126
131
|
var dismiss = useDismiss(context);
|
|
127
132
|
var role = useRole(context);
|
|
128
|
-
var _useInteractions = useInteractions([click, dismiss, role]),
|
|
133
|
+
var _useInteractions = useInteractions([click, dismiss, role, hover]),
|
|
129
134
|
getReferenceProps = _useInteractions.getReferenceProps,
|
|
130
135
|
getFloatingProps = _useInteractions.getFloatingProps;
|
|
131
136
|
var triggerRef = React__default.useRef(null);
|
|
@@ -134,9 +139,10 @@ var Popover = function Popover(_ref) {
|
|
|
134
139
|
return {
|
|
135
140
|
close: close,
|
|
136
141
|
defaultInitialFocusRef: defaultInitialFocusRef,
|
|
137
|
-
titleId: titleId
|
|
142
|
+
titleId: titleId,
|
|
143
|
+
openInteraction: openInteraction
|
|
138
144
|
};
|
|
139
|
-
}, [close, titleId]);
|
|
145
|
+
}, [close, titleId, openInteraction]);
|
|
140
146
|
|
|
141
147
|
// Inject aria attributes to trigger
|
|
142
148
|
// Doing it this way instead of makeAccessible()
|
|
@@ -158,7 +164,7 @@ var Popover = function Popover(_ref) {
|
|
|
158
164
|
ref: mergedRef
|
|
159
165
|
}, mergeProps(children.props, getReferenceProps()))), isMounted && /*#__PURE__*/jsx(FloatingPortal, {
|
|
160
166
|
children: /*#__PURE__*/jsx(FloatingFocusManager, {
|
|
161
|
-
initialFocus: initialFocusRef !== null && initialFocusRef !== void 0 ? initialFocusRef : defaultInitialFocusRef,
|
|
167
|
+
initialFocus: initialFocusRef !== null && initialFocusRef !== void 0 ? initialFocusRef : openInteraction === 'hover' ? -1 : defaultInitialFocusRef,
|
|
162
168
|
context: context,
|
|
163
169
|
modal: true,
|
|
164
170
|
guards: true,
|