@laerdal/life-react-components 6.0.0-dev.20.full → 6.0.0-dev.21.full.full
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/dist/Card/HorizontalCard/__tests__/VerticalCard.test.tsx +3 -3
- package/dist/Card/VerticalCard/Card.cjs +47 -11
- package/dist/Card/VerticalCard/Card.cjs.map +1 -1
- package/dist/Card/VerticalCard/Card.d.ts +1 -0
- package/dist/Card/VerticalCard/Card.js +47 -11
- package/dist/Card/VerticalCard/Card.js.map +1 -1
- package/dist/Card/VerticalCard/CardBottomSection.cjs +6 -0
- package/dist/Card/VerticalCard/CardBottomSection.cjs.map +1 -1
- package/dist/Card/VerticalCard/CardBottomSection.js +6 -0
- package/dist/Card/VerticalCard/CardBottomSection.js.map +1 -1
- package/dist/Card/VerticalCard/CardMiddleSection.cjs +15 -11
- package/dist/Card/VerticalCard/CardMiddleSection.cjs.map +1 -1
- package/dist/Card/VerticalCard/CardMiddleSection.d.ts +5 -0
- package/dist/Card/VerticalCard/CardMiddleSection.js +15 -11
- package/dist/Card/VerticalCard/CardMiddleSection.js.map +1 -1
- package/dist/Card/VerticalCard/CardTopSection.cjs +3 -1
- package/dist/Card/VerticalCard/CardTopSection.cjs.map +1 -1
- package/dist/Card/VerticalCard/CardTopSection.js +3 -1
- package/dist/Card/VerticalCard/CardTopSection.js.map +1 -1
- package/dist/Card/__tests__/Card.test.tsx +3 -3
- package/dist/Chips/FilterChip.cjs +1 -0
- package/dist/Chips/FilterChip.cjs.map +1 -1
- package/dist/Chips/FilterChip.js +1 -0
- package/dist/Chips/FilterChip.js.map +1 -1
- package/dist/HyperLink/HyperLink.cjs +1 -1
- package/dist/HyperLink/HyperLink.cjs.map +1 -1
- package/dist/HyperLink/HyperLink.js +1 -1
- package/dist/HyperLink/HyperLink.js.map +1 -1
- package/dist/Paginator/Paginator.cjs +17 -13
- package/dist/Paginator/Paginator.cjs.map +1 -1
- package/dist/Paginator/Paginator.d.ts +1 -5
- package/dist/Paginator/Paginator.js +17 -13
- package/dist/Paginator/Paginator.js.map +1 -1
- package/dist/Paginator/__tests__/Paginator.test.tsx +6 -12
- package/dist/test-utils.cjs +7 -1
- package/dist/test-utils.cjs.map +1 -1
- package/dist/test-utils.js +7 -1
- package/dist/test-utils.js.map +1 -1
- package/package.json +148 -144
- package/dist/GlobalNavigationBar/__tests__/GlobalNavigationBar.tests.d.ts +0 -1
- package/dist/GlobalNavigationBar/__tests__/Logo.tests.d.ts +0 -1
- package/dist/List/__tests__/ListRow.tests.d.ts +0 -1
- package/dist/Tabs/__tests__/TabLink.tests.d.ts +0 -1
- package/dist/Tabs/__tests__/Tablist.tests.d.ts +0 -2
- package/dist/common/Link.cjs +0 -45
- package/dist/common/Link.cjs.map +0 -1
- package/dist/common/Link.d.ts +0 -9
- package/dist/common/Link.js +0 -37
- package/dist/common/Link.js.map +0 -1
- package/dist/common/NavigationHelper.cjs +0 -30
- package/dist/common/NavigationHelper.cjs.map +0 -1
- package/dist/common/NavigationHelper.d.ts +0 -4
- package/dist/common/NavigationHelper.js +0 -23
- package/dist/common/NavigationHelper.js.map +0 -1
|
@@ -98,7 +98,7 @@ const ItemContent = (0, _styledComponents.default)('div')`
|
|
|
98
98
|
width: 100%;
|
|
99
99
|
height: 100%;
|
|
100
100
|
|
|
101
|
-
&.
|
|
101
|
+
&.currentPage {
|
|
102
102
|
z-index: ${_styles.Z_INDEXES.active};
|
|
103
103
|
color: ${props => _styles.COLORS.generateToken({
|
|
104
104
|
componentType: 'text',
|
|
@@ -131,7 +131,7 @@ const ItemContent = (0, _styledComponents.default)('div')`
|
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
133
|
|
|
134
|
-
&.
|
|
134
|
+
&.currentPage:after{
|
|
135
135
|
content: '';
|
|
136
136
|
position: absolute;
|
|
137
137
|
bottom: 4px;
|
|
@@ -143,13 +143,13 @@ const ItemContent = (0, _styledComponents.default)('div')`
|
|
|
143
143
|
defaultVariant: 'selected'
|
|
144
144
|
}, props.theme)}
|
|
145
145
|
}
|
|
146
|
-
&.
|
|
146
|
+
&.currentPage:hover:after{
|
|
147
147
|
background-color: ${props => _styles.COLORS.generateToken({
|
|
148
148
|
componentType: 'border',
|
|
149
149
|
defaultVariant: 'selected'
|
|
150
150
|
}, props.theme)}
|
|
151
151
|
}
|
|
152
|
-
&.
|
|
152
|
+
&.currentPage:active:after{
|
|
153
153
|
background-color: ${props => _styles.COLORS.generateToken({
|
|
154
154
|
componentType: 'border',
|
|
155
155
|
defaultVariant: 'selected'
|
|
@@ -160,7 +160,6 @@ const ItemContent = (0, _styledComponents.default)('div')`
|
|
|
160
160
|
const Step = _ref => {
|
|
161
161
|
let {
|
|
162
162
|
up = true,
|
|
163
|
-
target = '',
|
|
164
163
|
disabled = false,
|
|
165
164
|
page,
|
|
166
165
|
onPageChange,
|
|
@@ -175,14 +174,17 @@ const Step = _ref => {
|
|
|
175
174
|
variant: 'secondary',
|
|
176
175
|
shape: 'circular',
|
|
177
176
|
disabled: disabled,
|
|
178
|
-
children: up ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.ChevronRight, {
|
|
177
|
+
children: up ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.ChevronRight, {
|
|
178
|
+
"aria-label": "Next Page"
|
|
179
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.ChevronLeft, {
|
|
180
|
+
"aria-label": "Previous Page"
|
|
181
|
+
})
|
|
179
182
|
});
|
|
180
183
|
};
|
|
181
184
|
const Paginator = _ref2 => {
|
|
182
185
|
let {
|
|
183
186
|
pageCount = 1,
|
|
184
187
|
currentPage = 1,
|
|
185
|
-
baseUrl = '',
|
|
186
188
|
onPageChange
|
|
187
189
|
} = _ref2;
|
|
188
190
|
const pages = [];
|
|
@@ -205,15 +207,16 @@ const Paginator = _ref2 => {
|
|
|
205
207
|
}
|
|
206
208
|
}
|
|
207
209
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Container, {
|
|
210
|
+
"aria-label": "Pagination",
|
|
208
211
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(Items, {
|
|
209
212
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Step, {
|
|
210
213
|
up: false,
|
|
211
|
-
target: `${baseUrl}/${currentPage - 1}`,
|
|
212
214
|
page: currentPage - 1,
|
|
213
215
|
disabled: currentPage === 1,
|
|
214
216
|
onPageChange: onPageChange,
|
|
215
217
|
id: "paginator-left"
|
|
216
218
|
}), pages.findIndex(item => item === 1) === -1 && /*#__PURE__*/(0, _jsxRuntime.jsx)(Item, {
|
|
219
|
+
"aria-current": currentPage === 1,
|
|
217
220
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_HyperLink.HyperLink, {
|
|
218
221
|
target: "_self",
|
|
219
222
|
onClick: e => {
|
|
@@ -223,29 +226,32 @@ const Paginator = _ref2 => {
|
|
|
223
226
|
variant: 'styleless',
|
|
224
227
|
href: '',
|
|
225
228
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ItemContent, {
|
|
226
|
-
className: currentPage === 1 ? '
|
|
229
|
+
className: currentPage === 1 ? 'currentPage' : '',
|
|
227
230
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
228
231
|
children: "1"
|
|
229
232
|
})
|
|
230
233
|
})
|
|
231
234
|
})
|
|
232
235
|
}), currentPage >= 4 && pageCount > 5 && pageCount && pages.findIndex(item => item === 1) === -1 && /*#__PURE__*/(0, _jsxRuntime.jsx)(Dots, {}), pages.map(page => /*#__PURE__*/(0, _jsxRuntime.jsx)(Item, {
|
|
236
|
+
"aria-current": currentPage === page,
|
|
233
237
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_HyperLink.HyperLink, {
|
|
234
238
|
target: "_self",
|
|
235
239
|
href: '',
|
|
236
240
|
onClick: e => {
|
|
241
|
+
console.log(`Page changed to: ${page}`);
|
|
237
242
|
onPageChange && onPageChange(page);
|
|
238
243
|
e.preventDefault();
|
|
239
244
|
},
|
|
240
245
|
variant: 'styleless',
|
|
241
246
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ItemContent, {
|
|
242
|
-
className: currentPage === page ? '
|
|
247
|
+
className: currentPage === page ? 'currentPage' : '',
|
|
243
248
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
244
249
|
children: page
|
|
245
250
|
})
|
|
246
251
|
})
|
|
247
252
|
})
|
|
248
253
|
}, page)), pageCount > 5 && currentPage <= pageCount - 3 && /*#__PURE__*/(0, _jsxRuntime.jsx)(Dots, {}), pages.findIndex(item => item === pageCount) === -1 && pageCount !== 1 && /*#__PURE__*/(0, _jsxRuntime.jsx)(Item, {
|
|
254
|
+
"aria-current": currentPage === pageCount,
|
|
249
255
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_HyperLink.HyperLink, {
|
|
250
256
|
target: "_self",
|
|
251
257
|
href: '',
|
|
@@ -255,7 +261,7 @@ const Paginator = _ref2 => {
|
|
|
255
261
|
e.preventDefault();
|
|
256
262
|
},
|
|
257
263
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ItemContent, {
|
|
258
|
-
className: currentPage === pageCount ? '
|
|
264
|
+
className: currentPage === pageCount ? 'currentPage' : '',
|
|
259
265
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
260
266
|
children: pageCount
|
|
261
267
|
})
|
|
@@ -263,7 +269,6 @@ const Paginator = _ref2 => {
|
|
|
263
269
|
})
|
|
264
270
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(Step, {
|
|
265
271
|
up: true,
|
|
266
|
-
target: `${baseUrl}/${currentPage + 1}`,
|
|
267
272
|
page: currentPage + 1,
|
|
268
273
|
disabled: currentPage === pageCount,
|
|
269
274
|
onPageChange: onPageChange,
|
|
@@ -275,7 +280,6 @@ const Paginator = _ref2 => {
|
|
|
275
280
|
Paginator.propTypes = {
|
|
276
281
|
pageCount: _propTypes.default.number.isRequired,
|
|
277
282
|
currentPage: _propTypes.default.number.isRequired,
|
|
278
|
-
baseUrl: _propTypes.default.string.isRequired,
|
|
279
283
|
onPageChange: _propTypes.default.func
|
|
280
284
|
};
|
|
281
285
|
var _default = exports.default = Paginator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Paginator.cjs","names":["React","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_styles","_icons","_Button","_HyperLink","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Container","styled","nav","BREAKPOINTS","MEDIUM","Items","ul","Item","li","props","ComponentMStyling","ComponentTextStyle","Regular","COLORS","generateToken","componentType","defaultVariant","theme","focusStyles","Z_INDEXES","hover","state","active","Dots","ItemContent","Step","_ref","up","target","disabled","page","onPageChange","id","handleButtonClick","jsx","IconButton","action","event","variant","shape","children","SystemIcons","ChevronRight","ChevronLeft","Paginator","_ref2","pageCount","currentPage","baseUrl","pages","from","to","push","jsxs","findIndex","item","HyperLink","onClick","preventDefault","href","className","map","propTypes","_propTypes","number","isRequired","string","func","_default","exports"],"sources":["../../src/Paginator/Paginator.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\nimport {BREAKPOINTS, COLORS, ComponentTextStyle, focusStyles} from '../styles';\r\nimport {SystemIcons} from '../icons';\r\nimport {ComponentMStyling} from '../styles';\r\nimport {Z_INDEXES} from '../styles';\r\nimport {IconButton} from '../Button';\r\nimport { HyperLink } from '../HyperLink';\r\n\r\nconst Container = styled.nav`\r\n margin: 20px 0;\r\n display: flex;\r\n justify-content: center;\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n width: 75%;\r\n }\r\n`;\r\n\r\nconst Items = styled.ul`\r\n margin: 0;\r\n padding: 0;\r\n list-style: none;\r\n display: flex;\r\n`;\r\n\r\nconst Item = styled.li`\r\n width: 48px;\r\n height: 48px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n\r\n & > * {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n height: 100%;\r\n text-decoration: none;\r\n\r\n ${props => ComponentMStyling(ComponentTextStyle.Regular, COLORS.generateToken({componentType:'text', defaultVariant: 'subtle'}, props.theme))}\r\n\r\n &:focus,\r\n &:focus-within {\r\n ${focusStyles}\r\n }\r\n }\r\n & > a:hover {\r\n z-index: ${Z_INDEXES.hover};\r\n color: ${props => COLORS.generateToken({ componentType:'text', state: 'hover' }, props.theme)};\r\n background-color: ${props => COLORS.generateToken({ componentType:'bg-surface', state:'hover' }, props.theme)};\r\n }\r\n\r\n & > a:active {\r\n z-index: ${Z_INDEXES.active};\r\n color: ${props => COLORS.generateToken({ componentType:'text', state:'active' }, props.theme)};\r\n background-color: ${props => COLORS.generateToken({ componentType:'bg-surface', state:'active' }, props.theme)};\r\n }\r\n`;\r\n\r\nconst Dots = styled(Item)`\r\n cursor: not-allowed;\r\n &:after{\r\n ${props => ComponentMStyling(ComponentTextStyle.Regular, COLORS.generateToken({componentType:'icon',defaultVariant:'subtle'}, props.theme))}\r\n content: '...';\r\n }\r\n`;\r\n\r\nconst ItemContent = styled('div')`\r\n text-align:center;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n position: relative;\r\n width: 100%;\r\n height: 100%;\r\n \r\n &.somename {\r\n z-index: ${Z_INDEXES.active};\r\n color: ${props => COLORS.generateToken({ componentType: 'text', defaultVariant: 'default' }, props.theme)};\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', defaultVariant: 'selected' }, props.theme)};\r\n cursor: default;\r\n &:hover {\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'hover' }, props.theme)};\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'hover' }, props.theme)};\r\n }\r\n &:active {\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'active' }, props.theme)};\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'active' }, props.theme)};\r\n }\r\n }\r\n\r\n &.somename:after{\r\n content: '';\r\n position: absolute;\r\n bottom: 4px;\r\n width: 32px;\r\n border-radius: 4px;\r\n height: 4px;\r\n background-color: ${props => COLORS.generateToken({componentType: 'border', defaultVariant: 'selected'}, props.theme)}\r\n }\r\n &.somename:hover:after{\r\n background-color: ${props => COLORS.generateToken({componentType: 'border', defaultVariant: 'selected'}, props.theme)}\r\n }\r\n &.somename:active:after{\r\n background-color: ${props => COLORS.generateToken({componentType: 'border', defaultVariant: 'selected'}, props.theme)}\r\n }\r\n`\r\n\r\nexport interface PaginatorProps {\r\n /**\r\n * Required. The total number of pages.\r\n */\r\n pageCount: number;\r\n\r\n /**\r\n * Required. The current active page.\r\n */\r\n currentPage: number;\r\n\r\n /**\r\n * Required. The base URL to which the page number will be appended.\r\n */\r\n baseUrl: string;\r\n\r\n /**\r\n * Optional. A callback function that will be called when the page changes.\r\n * It receives the new page number as its argument.\r\n * If the function returns false, the page change will be prevented.\r\n */\r\n onPageChange?: (page: number) => boolean | void;\r\n};\r\n\r\nconst Step = ({\r\n up = true,\r\n target = '',\r\n disabled = false,\r\n page,\r\n onPageChange,\r\n id,\r\n}: {\r\n up: boolean;\r\n target: string;\r\n disabled: boolean;\r\n page: number;\r\n onPageChange?: (page: number) => void | boolean;\r\n id?: string;\r\n}) => {\r\n \r\n const handleButtonClick = () => {\r\n onPageChange && !onPageChange(page);\r\n }\r\n\r\n return (\r\n <IconButton id={id}\r\n action={event => handleButtonClick()}\r\n variant={'secondary'}\r\n shape={'circular'}\r\n disabled={disabled}>\r\n {up ? <SystemIcons.ChevronRight/> : <SystemIcons.ChevronLeft/>}\r\n </IconButton>\r\n )\r\n};\r\n\r\nconst Paginator = ({ pageCount = 1, currentPage = 1, baseUrl = '', onPageChange }: PaginatorProps) => {\r\n const pages = [];\r\n let from = 2;\r\n let to = 4;\r\n if (pageCount === 0) return null;\r\n\r\n if (pageCount > 1) {\r\n if (currentPage >= 4 && currentPage <= pageCount - 2) {\r\n from = currentPage - 1;\r\n to = currentPage + 1;\r\n } else if (pageCount - 2 > 1 && currentPage > pageCount - 2) {\r\n from = pageCount - 3;\r\n to = pageCount - 1;\r\n }\r\n if (to > pageCount) {\r\n to = pageCount;\r\n }\r\n for (let i = from; i <= to; i += 1) {\r\n pages.push(i);\r\n }\r\n }\r\n\r\n return (\r\n <Container>\r\n <Items>\r\n <Step up={false}\r\n target={`${baseUrl}/${currentPage - 1}`}\r\n page={currentPage - 1}\r\n disabled={currentPage === 1}\r\n onPageChange={onPageChange}\r\n id=\"paginator-left\"/>\r\n {pages.findIndex(item => item === 1) === -1 && (\r\n <Item>\r\n <HyperLink\r\n target='_self'\r\n onClick={(e) => {\r\n onPageChange && onPageChange(1);\r\n e.preventDefault();\r\n } } variant={'styleless'} href={''}>\r\n <ItemContent className={currentPage === 1 ? 'somename' : ''}>\r\n <span>1</span>\r\n </ItemContent>\r\n </HyperLink>\r\n </Item>\r\n )}\r\n {currentPage >= 4 && pageCount > 5 && pageCount && pages.findIndex(item => item === 1) === -1 && (\r\n <Dots/>\r\n )}\r\n {pages.map(page => (\r\n <Item key={page}>\r\n <HyperLink\r\n target='_self'\r\n href={''}\r\n onClick={(e) => {\r\n onPageChange && onPageChange(page);\r\n e.preventDefault();\r\n } } variant={'styleless'}>\r\n <ItemContent className={currentPage === page ? 'somename' : ''}>\r\n <span>{page}</span>\r\n </ItemContent>\r\n </HyperLink>\r\n </Item>\r\n ))}\r\n {pageCount > 5 && currentPage <= pageCount - 3 && (\r\n <Dots/>\r\n )}\r\n {pages.findIndex(item => item === pageCount) === -1 && pageCount !== 1 && (\r\n <Item>\r\n <HyperLink\r\n target='_self'\r\n href={''}\r\n variant='styleless'\r\n onClick={(e) => {\r\n onPageChange && onPageChange(pageCount);\r\n e.preventDefault();\r\n }}>\r\n <ItemContent className={currentPage === pageCount ? 'somename' : ''}>\r\n <span>{pageCount}</span>\r\n </ItemContent>\r\n </HyperLink>\r\n </Item>\r\n )}\r\n <Step up\r\n target={`${baseUrl}/${currentPage + 1}`}\r\n page={currentPage + 1}\r\n disabled={currentPage === pageCount}\r\n onPageChange={onPageChange}\r\n id=\"paginator-right\"/>\r\n </Items>\r\n </Container>\r\n );\r\n};\r\n\r\nexport default Paginator;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Paginator.cjs","names":["React","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_styles","_icons","_Button","_HyperLink","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Container","styled","nav","BREAKPOINTS","MEDIUM","Items","ul","Item","li","props","ComponentMStyling","ComponentTextStyle","Regular","COLORS","generateToken","componentType","defaultVariant","theme","focusStyles","Z_INDEXES","hover","state","active","Dots","ItemContent","Step","_ref","up","disabled","page","onPageChange","id","handleButtonClick","jsx","IconButton","action","event","variant","shape","children","SystemIcons","ChevronRight","ChevronLeft","Paginator","_ref2","pageCount","currentPage","pages","from","to","push","jsxs","findIndex","item","HyperLink","target","onClick","preventDefault","href","className","map","console","log","propTypes","_propTypes","number","isRequired","func","_default","exports"],"sources":["../../src/Paginator/Paginator.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\nimport {BREAKPOINTS, COLORS, ComponentTextStyle, focusStyles} from '../styles';\r\nimport {SystemIcons} from '../icons';\r\nimport {ComponentMStyling} from '../styles';\r\nimport {Z_INDEXES} from '../styles';\r\nimport {IconButton} from '../Button';\r\nimport { HyperLink } from '../HyperLink';\r\n\r\nconst Container = styled.nav`\r\n margin: 20px 0;\r\n display: flex;\r\n justify-content: center;\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n width: 75%;\r\n }\r\n`;\r\n\r\nconst Items = styled.ul`\r\n margin: 0;\r\n padding: 0;\r\n list-style: none;\r\n display: flex;\r\n`;\r\n\r\nconst Item = styled.li`\r\n width: 48px;\r\n height: 48px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n\r\n & > * {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n height: 100%;\r\n text-decoration: none;\r\n\r\n ${props => ComponentMStyling(ComponentTextStyle.Regular, COLORS.generateToken({componentType:'text', defaultVariant: 'subtle'}, props.theme))}\r\n\r\n &:focus,\r\n &:focus-within {\r\n ${focusStyles}\r\n }\r\n }\r\n & > a:hover {\r\n z-index: ${Z_INDEXES.hover};\r\n color: ${props => COLORS.generateToken({ componentType:'text', state: 'hover' }, props.theme)};\r\n background-color: ${props => COLORS.generateToken({ componentType:'bg-surface', state:'hover' }, props.theme)};\r\n }\r\n\r\n & > a:active {\r\n z-index: ${Z_INDEXES.active};\r\n color: ${props => COLORS.generateToken({ componentType:'text', state:'active' }, props.theme)};\r\n background-color: ${props => COLORS.generateToken({ componentType:'bg-surface', state:'active' }, props.theme)};\r\n }\r\n`;\r\n\r\nconst Dots = styled(Item)`\r\n cursor: not-allowed;\r\n &:after{\r\n ${props => ComponentMStyling(ComponentTextStyle.Regular, COLORS.generateToken({componentType:'icon',defaultVariant:'subtle'}, props.theme))}\r\n content: '...';\r\n }\r\n`;\r\n\r\nconst ItemContent = styled('div')`\r\n text-align:center;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n position: relative;\r\n width: 100%;\r\n height: 100%;\r\n \r\n &.currentPage {\r\n z-index: ${Z_INDEXES.active};\r\n color: ${props => COLORS.generateToken({ componentType: 'text', defaultVariant: 'default' }, props.theme)};\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', defaultVariant: 'selected' }, props.theme)};\r\n cursor: default;\r\n &:hover {\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'hover' }, props.theme)};\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'hover' }, props.theme)};\r\n }\r\n &:active {\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'active' }, props.theme)};\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'active' }, props.theme)};\r\n }\r\n }\r\n\r\n &.currentPage:after{\r\n content: '';\r\n position: absolute;\r\n bottom: 4px;\r\n width: 32px;\r\n border-radius: 4px;\r\n height: 4px;\r\n background-color: ${props => COLORS.generateToken({componentType: 'border', defaultVariant: 'selected'}, props.theme)}\r\n }\r\n &.currentPage:hover:after{\r\n background-color: ${props => COLORS.generateToken({componentType: 'border', defaultVariant: 'selected'}, props.theme)}\r\n }\r\n &.currentPage:active:after{\r\n background-color: ${props => COLORS.generateToken({componentType: 'border', defaultVariant: 'selected'}, props.theme)}\r\n }\r\n`\r\n\r\nexport interface PaginatorProps {\r\n /**\r\n * Required. The total number of pages.\r\n */\r\n pageCount: number;\r\n\r\n /**\r\n * Required. The current active page.\r\n */\r\n currentPage: number;\r\n\r\n /**\r\n * Optional. A callback function that will be called when the page changes.\r\n * It receives the new page number as its argument.\r\n * If the function returns false, the page change will be prevented.\r\n */\r\n onPageChange?: (page: number) => boolean | void;\r\n};\r\n\r\nconst Step = ({\r\n up = true,\r\n disabled = false,\r\n page,\r\n onPageChange,\r\n id,\r\n}: {\r\n up: boolean;\r\n disabled: boolean;\r\n page: number;\r\n onPageChange?: (page: number) => void | boolean;\r\n id?: string;\r\n}) => {\r\n \r\n const handleButtonClick = () => {\r\n onPageChange && !onPageChange(page);\r\n }\r\n\r\n return (\r\n <IconButton id={id}\r\n action={event => handleButtonClick()}\r\n variant={'secondary'}\r\n shape={'circular'}\r\n disabled={disabled}>\r\n {up ? <SystemIcons.ChevronRight aria-label=\"Next Page\" /> : <SystemIcons.ChevronLeft aria-label=\"Previous Page\"/>}\r\n </IconButton>\r\n )\r\n};\r\n\r\nconst Paginator = ({ pageCount = 1, currentPage = 1, onPageChange }: PaginatorProps) => {\r\n const pages = [];\r\n let from = 2;\r\n let to = 4;\r\n if (pageCount === 0) return null;\r\n\r\n if (pageCount > 1) {\r\n if (currentPage >= 4 && currentPage <= pageCount - 2) {\r\n from = currentPage - 1;\r\n to = currentPage + 1;\r\n } else if (pageCount - 2 > 1 && currentPage > pageCount - 2) {\r\n from = pageCount - 3;\r\n to = pageCount - 1;\r\n }\r\n if (to > pageCount) {\r\n to = pageCount;\r\n }\r\n for (let i = from; i <= to; i += 1) {\r\n pages.push(i);\r\n }\r\n }\r\n\r\n return (\r\n <Container aria-label=\"Pagination\">\r\n <Items>\r\n <Step up={false}\r\n page={currentPage - 1}\r\n disabled={currentPage === 1}\r\n onPageChange={onPageChange}\r\n id=\"paginator-left\"/>\r\n {pages.findIndex(item => item === 1) === -1 && (\r\n <Item aria-current={currentPage === 1}>\r\n <HyperLink\r\n target='_self'\r\n onClick={(e) => {\r\n onPageChange && onPageChange(1);\r\n e.preventDefault();\r\n } } variant={'styleless'} href={''}>\r\n <ItemContent className={currentPage === 1 ? 'currentPage' : ''}>\r\n <span>1</span>\r\n </ItemContent>\r\n </HyperLink>\r\n </Item>\r\n )}\r\n {currentPage >= 4 && pageCount > 5 && pageCount && pages.findIndex(item => item === 1) === -1 && (\r\n <Dots/>\r\n )}\r\n {pages.map(page => (\r\n <Item key={page} aria-current={currentPage === page}>\r\n <HyperLink\r\n target='_self'\r\n href={''}\r\n onClick={(e) => {\r\n console.log(`Page changed to: ${page}`);\r\n onPageChange && onPageChange(page);\r\n e.preventDefault();\r\n } } variant={'styleless'}>\r\n <ItemContent className={currentPage === page ? 'currentPage' : ''}>\r\n <span>{page}</span>\r\n </ItemContent>\r\n </HyperLink>\r\n </Item>\r\n ))}\r\n {pageCount > 5 && currentPage <= pageCount - 3 && (\r\n <Dots/>\r\n )}\r\n {pages.findIndex(item => item === pageCount) === -1 && pageCount !== 1 && (\r\n <Item aria-current={currentPage === pageCount}>\r\n <HyperLink\r\n target='_self'\r\n href={''}\r\n variant='styleless'\r\n onClick={(e) => {\r\n onPageChange && onPageChange(pageCount);\r\n e.preventDefault();\r\n }}>\r\n <ItemContent className={currentPage === pageCount ? 'currentPage' : ''}>\r\n <span>{pageCount}</span>\r\n </ItemContent>\r\n </HyperLink>\r\n </Item>\r\n )}\r\n <Step up\r\n page={currentPage + 1}\r\n disabled={currentPage === pageCount}\r\n onPageChange={onPageChange}\r\n id=\"paginator-right\"/>\r\n </Items>\r\n </Container>\r\n );\r\n};\r\n\r\nexport default Paginator;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,10 +8,6 @@ export interface PaginatorProps {
|
|
|
8
8
|
* Required. The current active page.
|
|
9
9
|
*/
|
|
10
10
|
currentPage: number;
|
|
11
|
-
/**
|
|
12
|
-
* Required. The base URL to which the page number will be appended.
|
|
13
|
-
*/
|
|
14
|
-
baseUrl: string;
|
|
15
11
|
/**
|
|
16
12
|
* Optional. A callback function that will be called when the page changes.
|
|
17
13
|
* It receives the new page number as its argument.
|
|
@@ -19,5 +15,5 @@ export interface PaginatorProps {
|
|
|
19
15
|
*/
|
|
20
16
|
onPageChange?: (page: number) => boolean | void;
|
|
21
17
|
}
|
|
22
|
-
declare const Paginator: ({ pageCount, currentPage,
|
|
18
|
+
declare const Paginator: ({ pageCount, currentPage, onPageChange }: PaginatorProps) => React.JSX.Element | null;
|
|
23
19
|
export default Paginator;
|
|
@@ -91,7 +91,7 @@ const ItemContent = styled('div')`
|
|
|
91
91
|
width: 100%;
|
|
92
92
|
height: 100%;
|
|
93
93
|
|
|
94
|
-
&.
|
|
94
|
+
&.currentPage {
|
|
95
95
|
z-index: ${Z_INDEXES.active};
|
|
96
96
|
color: ${props => COLORS.generateToken({
|
|
97
97
|
componentType: 'text',
|
|
@@ -124,7 +124,7 @@ const ItemContent = styled('div')`
|
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
126
|
|
|
127
|
-
&.
|
|
127
|
+
&.currentPage:after{
|
|
128
128
|
content: '';
|
|
129
129
|
position: absolute;
|
|
130
130
|
bottom: 4px;
|
|
@@ -136,13 +136,13 @@ const ItemContent = styled('div')`
|
|
|
136
136
|
defaultVariant: 'selected'
|
|
137
137
|
}, props.theme)}
|
|
138
138
|
}
|
|
139
|
-
&.
|
|
139
|
+
&.currentPage:hover:after{
|
|
140
140
|
background-color: ${props => COLORS.generateToken({
|
|
141
141
|
componentType: 'border',
|
|
142
142
|
defaultVariant: 'selected'
|
|
143
143
|
}, props.theme)}
|
|
144
144
|
}
|
|
145
|
-
&.
|
|
145
|
+
&.currentPage:active:after{
|
|
146
146
|
background-color: ${props => COLORS.generateToken({
|
|
147
147
|
componentType: 'border',
|
|
148
148
|
defaultVariant: 'selected'
|
|
@@ -153,7 +153,6 @@ const ItemContent = styled('div')`
|
|
|
153
153
|
const Step = _ref => {
|
|
154
154
|
let {
|
|
155
155
|
up = true,
|
|
156
|
-
target = '',
|
|
157
156
|
disabled = false,
|
|
158
157
|
page,
|
|
159
158
|
onPageChange,
|
|
@@ -168,14 +167,17 @@ const Step = _ref => {
|
|
|
168
167
|
variant: 'secondary',
|
|
169
168
|
shape: 'circular',
|
|
170
169
|
disabled: disabled,
|
|
171
|
-
children: up ? /*#__PURE__*/_jsx(SystemIcons.ChevronRight, {
|
|
170
|
+
children: up ? /*#__PURE__*/_jsx(SystemIcons.ChevronRight, {
|
|
171
|
+
"aria-label": "Next Page"
|
|
172
|
+
}) : /*#__PURE__*/_jsx(SystemIcons.ChevronLeft, {
|
|
173
|
+
"aria-label": "Previous Page"
|
|
174
|
+
})
|
|
172
175
|
});
|
|
173
176
|
};
|
|
174
177
|
const Paginator = _ref2 => {
|
|
175
178
|
let {
|
|
176
179
|
pageCount = 1,
|
|
177
180
|
currentPage = 1,
|
|
178
|
-
baseUrl = '',
|
|
179
181
|
onPageChange
|
|
180
182
|
} = _ref2;
|
|
181
183
|
const pages = [];
|
|
@@ -198,15 +200,16 @@ const Paginator = _ref2 => {
|
|
|
198
200
|
}
|
|
199
201
|
}
|
|
200
202
|
return /*#__PURE__*/_jsx(Container, {
|
|
203
|
+
"aria-label": "Pagination",
|
|
201
204
|
children: /*#__PURE__*/_jsxs(Items, {
|
|
202
205
|
children: [/*#__PURE__*/_jsx(Step, {
|
|
203
206
|
up: false,
|
|
204
|
-
target: `${baseUrl}/${currentPage - 1}`,
|
|
205
207
|
page: currentPage - 1,
|
|
206
208
|
disabled: currentPage === 1,
|
|
207
209
|
onPageChange: onPageChange,
|
|
208
210
|
id: "paginator-left"
|
|
209
211
|
}), pages.findIndex(item => item === 1) === -1 && /*#__PURE__*/_jsx(Item, {
|
|
212
|
+
"aria-current": currentPage === 1,
|
|
210
213
|
children: /*#__PURE__*/_jsx(HyperLink, {
|
|
211
214
|
target: "_self",
|
|
212
215
|
onClick: e => {
|
|
@@ -216,29 +219,32 @@ const Paginator = _ref2 => {
|
|
|
216
219
|
variant: 'styleless',
|
|
217
220
|
href: '',
|
|
218
221
|
children: /*#__PURE__*/_jsx(ItemContent, {
|
|
219
|
-
className: currentPage === 1 ? '
|
|
222
|
+
className: currentPage === 1 ? 'currentPage' : '',
|
|
220
223
|
children: /*#__PURE__*/_jsx("span", {
|
|
221
224
|
children: "1"
|
|
222
225
|
})
|
|
223
226
|
})
|
|
224
227
|
})
|
|
225
228
|
}), currentPage >= 4 && pageCount > 5 && pageCount && pages.findIndex(item => item === 1) === -1 && /*#__PURE__*/_jsx(Dots, {}), pages.map(page => /*#__PURE__*/_jsx(Item, {
|
|
229
|
+
"aria-current": currentPage === page,
|
|
226
230
|
children: /*#__PURE__*/_jsx(HyperLink, {
|
|
227
231
|
target: "_self",
|
|
228
232
|
href: '',
|
|
229
233
|
onClick: e => {
|
|
234
|
+
console.log(`Page changed to: ${page}`);
|
|
230
235
|
onPageChange && onPageChange(page);
|
|
231
236
|
e.preventDefault();
|
|
232
237
|
},
|
|
233
238
|
variant: 'styleless',
|
|
234
239
|
children: /*#__PURE__*/_jsx(ItemContent, {
|
|
235
|
-
className: currentPage === page ? '
|
|
240
|
+
className: currentPage === page ? 'currentPage' : '',
|
|
236
241
|
children: /*#__PURE__*/_jsx("span", {
|
|
237
242
|
children: page
|
|
238
243
|
})
|
|
239
244
|
})
|
|
240
245
|
})
|
|
241
246
|
}, page)), pageCount > 5 && currentPage <= pageCount - 3 && /*#__PURE__*/_jsx(Dots, {}), pages.findIndex(item => item === pageCount) === -1 && pageCount !== 1 && /*#__PURE__*/_jsx(Item, {
|
|
247
|
+
"aria-current": currentPage === pageCount,
|
|
242
248
|
children: /*#__PURE__*/_jsx(HyperLink, {
|
|
243
249
|
target: "_self",
|
|
244
250
|
href: '',
|
|
@@ -248,7 +254,7 @@ const Paginator = _ref2 => {
|
|
|
248
254
|
e.preventDefault();
|
|
249
255
|
},
|
|
250
256
|
children: /*#__PURE__*/_jsx(ItemContent, {
|
|
251
|
-
className: currentPage === pageCount ? '
|
|
257
|
+
className: currentPage === pageCount ? 'currentPage' : '',
|
|
252
258
|
children: /*#__PURE__*/_jsx("span", {
|
|
253
259
|
children: pageCount
|
|
254
260
|
})
|
|
@@ -256,7 +262,6 @@ const Paginator = _ref2 => {
|
|
|
256
262
|
})
|
|
257
263
|
}), /*#__PURE__*/_jsx(Step, {
|
|
258
264
|
up: true,
|
|
259
|
-
target: `${baseUrl}/${currentPage + 1}`,
|
|
260
265
|
page: currentPage + 1,
|
|
261
266
|
disabled: currentPage === pageCount,
|
|
262
267
|
onPageChange: onPageChange,
|
|
@@ -268,7 +273,6 @@ const Paginator = _ref2 => {
|
|
|
268
273
|
Paginator.propTypes = {
|
|
269
274
|
pageCount: _pt.number.isRequired,
|
|
270
275
|
currentPage: _pt.number.isRequired,
|
|
271
|
-
baseUrl: _pt.string.isRequired,
|
|
272
276
|
onPageChange: _pt.func
|
|
273
277
|
};
|
|
274
278
|
export default Paginator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Paginator.js","names":["React","styled","BREAKPOINTS","COLORS","ComponentTextStyle","focusStyles","SystemIcons","ComponentMStyling","Z_INDEXES","IconButton","HyperLink","jsx","_jsx","jsxs","_jsxs","Container","nav","MEDIUM","Items","ul","Item","li","props","Regular","generateToken","componentType","defaultVariant","theme","hover","state","active","Dots","ItemContent","Step","_ref","up","target","disabled","page","onPageChange","id","handleButtonClick","action","event","variant","shape","children","ChevronRight","ChevronLeft","Paginator","_ref2","pageCount","currentPage","baseUrl","pages","from","to","i","push","findIndex","item","onClick","e","preventDefault","href","className","map","propTypes","_pt","number","isRequired","string","func"],"sources":["../../src/Paginator/Paginator.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\nimport {BREAKPOINTS, COLORS, ComponentTextStyle, focusStyles} from '../styles';\r\nimport {SystemIcons} from '../icons';\r\nimport {ComponentMStyling} from '../styles';\r\nimport {Z_INDEXES} from '../styles';\r\nimport {IconButton} from '../Button';\r\nimport { HyperLink } from '../HyperLink';\r\n\r\nconst Container = styled.nav`\r\n margin: 20px 0;\r\n display: flex;\r\n justify-content: center;\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n width: 75%;\r\n }\r\n`;\r\n\r\nconst Items = styled.ul`\r\n margin: 0;\r\n padding: 0;\r\n list-style: none;\r\n display: flex;\r\n`;\r\n\r\nconst Item = styled.li`\r\n width: 48px;\r\n height: 48px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n\r\n & > * {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n height: 100%;\r\n text-decoration: none;\r\n\r\n ${props => ComponentMStyling(ComponentTextStyle.Regular, COLORS.generateToken({componentType:'text', defaultVariant: 'subtle'}, props.theme))}\r\n\r\n &:focus,\r\n &:focus-within {\r\n ${focusStyles}\r\n }\r\n }\r\n & > a:hover {\r\n z-index: ${Z_INDEXES.hover};\r\n color: ${props => COLORS.generateToken({ componentType:'text', state: 'hover' }, props.theme)};\r\n background-color: ${props => COLORS.generateToken({ componentType:'bg-surface', state:'hover' }, props.theme)};\r\n }\r\n\r\n & > a:active {\r\n z-index: ${Z_INDEXES.active};\r\n color: ${props => COLORS.generateToken({ componentType:'text', state:'active' }, props.theme)};\r\n background-color: ${props => COLORS.generateToken({ componentType:'bg-surface', state:'active' }, props.theme)};\r\n }\r\n`;\r\n\r\nconst Dots = styled(Item)`\r\n cursor: not-allowed;\r\n &:after{\r\n ${props => ComponentMStyling(ComponentTextStyle.Regular, COLORS.generateToken({componentType:'icon',defaultVariant:'subtle'}, props.theme))}\r\n content: '...';\r\n }\r\n`;\r\n\r\nconst ItemContent = styled('div')`\r\n text-align:center;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n position: relative;\r\n width: 100%;\r\n height: 100%;\r\n \r\n &.somename {\r\n z-index: ${Z_INDEXES.active};\r\n color: ${props => COLORS.generateToken({ componentType: 'text', defaultVariant: 'default' }, props.theme)};\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', defaultVariant: 'selected' }, props.theme)};\r\n cursor: default;\r\n &:hover {\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'hover' }, props.theme)};\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'hover' }, props.theme)};\r\n }\r\n &:active {\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'active' }, props.theme)};\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'active' }, props.theme)};\r\n }\r\n }\r\n\r\n &.somename:after{\r\n content: '';\r\n position: absolute;\r\n bottom: 4px;\r\n width: 32px;\r\n border-radius: 4px;\r\n height: 4px;\r\n background-color: ${props => COLORS.generateToken({componentType: 'border', defaultVariant: 'selected'}, props.theme)}\r\n }\r\n &.somename:hover:after{\r\n background-color: ${props => COLORS.generateToken({componentType: 'border', defaultVariant: 'selected'}, props.theme)}\r\n }\r\n &.somename:active:after{\r\n background-color: ${props => COLORS.generateToken({componentType: 'border', defaultVariant: 'selected'}, props.theme)}\r\n }\r\n`\r\n\r\nexport interface PaginatorProps {\r\n /**\r\n * Required. The total number of pages.\r\n */\r\n pageCount: number;\r\n\r\n /**\r\n * Required. The current active page.\r\n */\r\n currentPage: number;\r\n\r\n /**\r\n * Required. The base URL to which the page number will be appended.\r\n */\r\n baseUrl: string;\r\n\r\n /**\r\n * Optional. A callback function that will be called when the page changes.\r\n * It receives the new page number as its argument.\r\n * If the function returns false, the page change will be prevented.\r\n */\r\n onPageChange?: (page: number) => boolean | void;\r\n};\r\n\r\nconst Step = ({\r\n up = true,\r\n target = '',\r\n disabled = false,\r\n page,\r\n onPageChange,\r\n id,\r\n}: {\r\n up: boolean;\r\n target: string;\r\n disabled: boolean;\r\n page: number;\r\n onPageChange?: (page: number) => void | boolean;\r\n id?: string;\r\n}) => {\r\n \r\n const handleButtonClick = () => {\r\n onPageChange && !onPageChange(page);\r\n }\r\n\r\n return (\r\n <IconButton id={id}\r\n action={event => handleButtonClick()}\r\n variant={'secondary'}\r\n shape={'circular'}\r\n disabled={disabled}>\r\n {up ? <SystemIcons.ChevronRight/> : <SystemIcons.ChevronLeft/>}\r\n </IconButton>\r\n )\r\n};\r\n\r\nconst Paginator = ({ pageCount = 1, currentPage = 1, baseUrl = '', onPageChange }: PaginatorProps) => {\r\n const pages = [];\r\n let from = 2;\r\n let to = 4;\r\n if (pageCount === 0) return null;\r\n\r\n if (pageCount > 1) {\r\n if (currentPage >= 4 && currentPage <= pageCount - 2) {\r\n from = currentPage - 1;\r\n to = currentPage + 1;\r\n } else if (pageCount - 2 > 1 && currentPage > pageCount - 2) {\r\n from = pageCount - 3;\r\n to = pageCount - 1;\r\n }\r\n if (to > pageCount) {\r\n to = pageCount;\r\n }\r\n for (let i = from; i <= to; i += 1) {\r\n pages.push(i);\r\n }\r\n }\r\n\r\n return (\r\n <Container>\r\n <Items>\r\n <Step up={false}\r\n target={`${baseUrl}/${currentPage - 1}`}\r\n page={currentPage - 1}\r\n disabled={currentPage === 1}\r\n onPageChange={onPageChange}\r\n id=\"paginator-left\"/>\r\n {pages.findIndex(item => item === 1) === -1 && (\r\n <Item>\r\n <HyperLink\r\n target='_self'\r\n onClick={(e) => {\r\n onPageChange && onPageChange(1);\r\n e.preventDefault();\r\n } } variant={'styleless'} href={''}>\r\n <ItemContent className={currentPage === 1 ? 'somename' : ''}>\r\n <span>1</span>\r\n </ItemContent>\r\n </HyperLink>\r\n </Item>\r\n )}\r\n {currentPage >= 4 && pageCount > 5 && pageCount && pages.findIndex(item => item === 1) === -1 && (\r\n <Dots/>\r\n )}\r\n {pages.map(page => (\r\n <Item key={page}>\r\n <HyperLink\r\n target='_self'\r\n href={''}\r\n onClick={(e) => {\r\n onPageChange && onPageChange(page);\r\n e.preventDefault();\r\n } } variant={'styleless'}>\r\n <ItemContent className={currentPage === page ? 'somename' : ''}>\r\n <span>{page}</span>\r\n </ItemContent>\r\n </HyperLink>\r\n </Item>\r\n ))}\r\n {pageCount > 5 && currentPage <= pageCount - 3 && (\r\n <Dots/>\r\n )}\r\n {pages.findIndex(item => item === pageCount) === -1 && pageCount !== 1 && (\r\n <Item>\r\n <HyperLink\r\n target='_self'\r\n href={''}\r\n variant='styleless'\r\n onClick={(e) => {\r\n onPageChange && onPageChange(pageCount);\r\n e.preventDefault();\r\n }}>\r\n <ItemContent className={currentPage === pageCount ? 'somename' : ''}>\r\n <span>{pageCount}</span>\r\n </ItemContent>\r\n </HyperLink>\r\n </Item>\r\n )}\r\n <Step up\r\n target={`${baseUrl}/${currentPage + 1}`}\r\n page={currentPage + 1}\r\n disabled={currentPage === pageCount}\r\n onPageChange={onPageChange}\r\n id=\"paginator-right\"/>\r\n </Items>\r\n </Container>\r\n );\r\n};\r\n\r\nexport default Paginator;\r\n"],"mappings":";AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,MAAM,MAAM,mBAAmB;AACtC,SAAQC,WAAW,EAAEC,MAAM,EAAEC,kBAAkB,EAAEC,WAAW,QAAO,WAAW;AAC9E,SAAQC,WAAW,QAAO,UAAU;AACpC,SAAQC,iBAAiB,QAAO,WAAW;AAC3C,SAAQC,SAAS,QAAO,WAAW;AACnC,SAAQC,UAAU,QAAO,WAAW;AACpC,SAASC,SAAS,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEzC,MAAMC,SAAS,GAAGd,MAAM,CAACe,GAAG;AAC5B;AACA;AACA;AACA;AACA,IAAId,WAAW,CAACe,MAAM;AACtB;AACA;AACA,CAAC;AAED,MAAMC,KAAK,GAAGjB,MAAM,CAACkB,EAAE;AACvB;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMC,IAAI,GAAGnB,MAAM,CAACoB,EAAE;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,KAAK,IAAIf,iBAAiB,CAACH,kBAAkB,CAACmB,OAAO,EAAEpB,MAAM,CAACqB,aAAa,CAAC;EAACC,aAAa,EAAC,MAAM;EAAEC,cAAc,EAAE;AAAQ,CAAC,EAAEJ,KAAK,CAACK,KAAK,CAAC,CAAC;AACjJ;AACA;AACA;AACA,QAAQtB,WAAW;AACnB;AACA;AACA;AACA,eAAeG,SAAS,CAACoB,KAAK;AAC9B,aAAaN,KAAK,IAAInB,MAAM,CAACqB,aAAa,CAAC;EAAEC,aAAa,EAAC,MAAM;EAAEI,KAAK,EAAE;AAAQ,CAAC,EAAEP,KAAK,CAACK,KAAK,CAAC;AACjG,wBAAwBL,KAAK,IAAInB,MAAM,CAACqB,aAAa,CAAC;EAAEC,aAAa,EAAC,YAAY;EAAEI,KAAK,EAAC;AAAQ,CAAC,EAAEP,KAAK,CAACK,KAAK,CAAC;AACjH;AACA;AACA;AACA,eAAenB,SAAS,CAACsB,MAAM;AAC/B,aAAaR,KAAK,IAAInB,MAAM,CAACqB,aAAa,CAAC;EAAEC,aAAa,EAAC,MAAM;EAAEI,KAAK,EAAC;AAAS,CAAC,EAAEP,KAAK,CAACK,KAAK,CAAC;AACjG,wBAAwBL,KAAK,IAAInB,MAAM,CAACqB,aAAa,CAAC;EAAEC,aAAa,EAAC,YAAY;EAAEI,KAAK,EAAC;AAAS,CAAC,EAAEP,KAAK,CAACK,KAAK,CAAC;AAClH;AACA,CAAC;AAED,MAAMI,IAAI,GAAG9B,MAAM,CAACmB,IAAI,CAAC;AACzB;AACA;AACA,MAAME,KAAK,IAAIf,iBAAiB,CAACH,kBAAkB,CAACmB,OAAO,EAAEpB,MAAM,CAACqB,aAAa,CAAC;EAACC,aAAa,EAAC,MAAM;EAACC,cAAc,EAAC;AAAQ,CAAC,EAAEJ,KAAK,CAACK,KAAK,CAAC,CAAC;AAC/I;AACA;AACA,CAAC;AAED,MAAMK,WAAW,GAAG/B,MAAM,CAAC,KAAK,CAAC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAeO,SAAS,CAACsB,MAAM;AAC/B,aAAaR,KAAK,IAAInB,MAAM,CAACqB,aAAa,CAAC;EAAEC,aAAa,EAAE,MAAM;EAAEC,cAAc,EAAE;AAAU,CAAC,EAAEJ,KAAK,CAACK,KAAK,CAAC;AAC7G,wBAAwBL,KAAK,IAAInB,MAAM,CAACqB,aAAa,CAAC;EAAEC,aAAa,EAAE,YAAY;EAAEC,cAAc,EAAE;AAAW,CAAC,EAAEJ,KAAK,CAACK,KAAK,CAAC;AAC/H;AACA;AACA,eAAeL,KAAK,IAAInB,MAAM,CAACqB,aAAa,CAAC;EAAEC,aAAa,EAAE,MAAM;EAAEI,KAAK,EAAE;AAAQ,CAAC,EAAEP,KAAK,CAACK,KAAK,CAAC;AACpG,0BAA0BL,KAAK,IAAInB,MAAM,CAACqB,aAAa,CAAC;EAAEC,aAAa,EAAE,YAAY;EAAEI,KAAK,EAAE;AAAQ,CAAC,EAAEP,KAAK,CAACK,KAAK,CAAC;AACrH;AACA;AACA,eAAeL,KAAK,IAAInB,MAAM,CAACqB,aAAa,CAAC;EAAEC,aAAa,EAAE,MAAM;EAAEI,KAAK,EAAE;AAAS,CAAC,EAAEP,KAAK,CAACK,KAAK,CAAC;AACrG,0BAA0BL,KAAK,IAAInB,MAAM,CAACqB,aAAa,CAAC;EAAEC,aAAa,EAAE,YAAY;EAAEI,KAAK,EAAE;AAAS,CAAC,EAAEP,KAAK,CAACK,KAAK,CAAC;AACtH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwBL,KAAK,IAAInB,MAAM,CAACqB,aAAa,CAAC;EAACC,aAAa,EAAE,QAAQ;EAAEC,cAAc,EAAE;AAAU,CAAC,EAAEJ,KAAK,CAACK,KAAK,CAAC;AACzH;AACA;AACA,wBAAwBL,KAAK,IAAInB,MAAM,CAACqB,aAAa,CAAC;EAACC,aAAa,EAAE,QAAQ;EAAEC,cAAc,EAAE;AAAU,CAAC,EAAEJ,KAAK,CAACK,KAAK,CAAC;AACzH;AACA;AACA,wBAAwBL,KAAK,IAAInB,MAAM,CAACqB,aAAa,CAAC;EAACC,aAAa,EAAE,QAAQ;EAAEC,cAAc,EAAE;AAAU,CAAC,EAAEJ,KAAK,CAACK,KAAK,CAAC;AACzH;AACA,CAAC;AAwBA;AAED,MAAMM,IAAI,GAAGC,IAAA,IAcP;EAAA,IAdQ;IACZC,EAAE,GAAG,IAAI;IACTC,MAAM,GAAG,EAAE;IACXC,QAAQ,GAAG,KAAK;IAChBC,IAAI;IACJC,YAAY;IACZC;EAQF,CAAC,GAAAN,IAAA;EAEC,MAAMO,iBAAiB,GAAGA,CAAA,KAAM;IAC9BF,YAAY,IAAI,CAACA,YAAY,CAACD,IAAI,CAAC;EACrC,CAAC;EAED,oBACE1B,IAAA,CAACH,UAAU;IAAC+B,EAAE,EAAEA,EAAG;IACPE,MAAM,EAAEC,KAAK,IAAIF,iBAAiB,CAAC,CAAE;IACrCG,OAAO,EAAE,WAAY;IACrBC,KAAK,EAAE,UAAW;IAClBR,QAAQ,EAAEA,QAAS;IAAAS,QAAA,EAC5BX,EAAE,gBAAGvB,IAAA,CAACN,WAAW,CAACyC,YAAY,IAAC,CAAC,gBAAGnC,IAAA,CAACN,WAAW,CAAC0C,WAAW,IAAC;EAAC,CACpD,CAAC;AAEjB,CAAC;AAED,MAAMC,SAAS,GAAGC,KAAA,IAAoF;EAAA,IAAnF;IAAEC,SAAS,GAAG,CAAC;IAAEC,WAAW,GAAG,CAAC;IAAEC,OAAO,GAAG,EAAE;IAAEd;EAA6B,CAAC,GAAAW,KAAA;EAC/F,MAAMI,KAAK,GAAG,EAAE;EAChB,IAAIC,IAAI,GAAG,CAAC;EACZ,IAAIC,EAAE,GAAG,CAAC;EACV,IAAIL,SAAS,KAAK,CAAC,EAAE,OAAO,IAAI;EAEhC,IAAIA,SAAS,GAAG,CAAC,EAAE;IACjB,IAAIC,WAAW,IAAI,CAAC,IAAIA,WAAW,IAAID,SAAS,GAAG,CAAC,EAAE;MACpDI,IAAI,GAAGH,WAAW,GAAG,CAAC;MACtBI,EAAE,GAAGJ,WAAW,GAAG,CAAC;IACtB,CAAC,MAAM,IAAID,SAAS,GAAG,CAAC,GAAG,CAAC,IAAIC,WAAW,GAAGD,SAAS,GAAG,CAAC,EAAE;MAC3DI,IAAI,GAAGJ,SAAS,GAAG,CAAC;MACpBK,EAAE,GAAGL,SAAS,GAAG,CAAC;IACpB;IACA,IAAIK,EAAE,GAAGL,SAAS,EAAE;MAClBK,EAAE,GAAGL,SAAS;IAChB;IACA,KAAK,IAAIM,CAAC,GAAGF,IAAI,EAAEE,CAAC,IAAID,EAAE,EAAEC,CAAC,IAAI,CAAC,EAAE;MAClCH,KAAK,CAACI,IAAI,CAACD,CAAC,CAAC;IACf;EACF;EAEA,oBACE7C,IAAA,CAACG,SAAS;IAAA+B,QAAA,eACRhC,KAAA,CAACI,KAAK;MAAA4B,QAAA,gBACJlC,IAAA,CAACqB,IAAI;QAACE,EAAE,EAAE,KAAM;QACVC,MAAM,EAAE,GAAGiB,OAAO,IAAID,WAAW,GAAG,CAAC,EAAG;QACxCd,IAAI,EAAEc,WAAW,GAAG,CAAE;QACtBf,QAAQ,EAAEe,WAAW,KAAK,CAAE;QAC5Bb,YAAY,EAAEA,YAAa;QAC3BC,EAAE,EAAC;MAAgB,CAAC,CAAC,EAC1Bc,KAAK,CAACK,SAAS,CAACC,IAAI,IAAIA,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,iBACzChD,IAAA,CAACQ,IAAI;QAAA0B,QAAA,eACHlC,IAAA,CAACF,SAAS;UACR0B,MAAM,EAAC,OAAO;UACdyB,OAAO,EAAGC,CAAC,IAAK;YACdvB,YAAY,IAAIA,YAAY,CAAC,CAAC,CAAC;YAC/BuB,CAAC,CAACC,cAAc,CAAC,CAAC;UACpB,CAAG;UAACnB,OAAO,EAAE,WAAY;UAACoB,IAAI,EAAE,EAAG;UAAAlB,QAAA,eACjClC,IAAA,CAACoB,WAAW;YAACiC,SAAS,EAAEb,WAAW,KAAK,CAAC,GAAG,UAAU,GAAG,EAAG;YAAAN,QAAA,eAC3DlC,IAAA;cAAAkC,QAAA,EAAM;YAAC,CAAM;UAAC,CACF;QAAC,CACP;MAAC,CACR,CACP,EACAM,WAAW,IAAI,CAAC,IAAID,SAAS,GAAG,CAAC,IAAIA,SAAS,IAAIG,KAAK,CAACK,SAAS,CAACC,IAAI,IAAIA,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,iBAC3FhD,IAAA,CAACmB,IAAI,IAAC,CACP,EACAuB,KAAK,CAACY,GAAG,CAAC5B,IAAI,iBACb1B,IAAA,CAACQ,IAAI;QAAA0B,QAAA,eACHlC,IAAA,CAACF,SAAS;UACR0B,MAAM,EAAC,OAAO;UACd4B,IAAI,EAAE,EAAG;UACTH,OAAO,EAAGC,CAAC,IAAK;YACdvB,YAAY,IAAIA,YAAY,CAACD,IAAI,CAAC;YAClCwB,CAAC,CAACC,cAAc,CAAC,CAAC;UACpB,CAAG;UAACnB,OAAO,EAAE,WAAY;UAAAE,QAAA,eACvBlC,IAAA,CAACoB,WAAW;YAACiC,SAAS,EAAEb,WAAW,KAAKd,IAAI,GAAG,UAAU,GAAG,EAAG;YAAAQ,QAAA,eAC9DlC,IAAA;cAAAkC,QAAA,EAAOR;YAAI,CAAO;UAAC,CACP;QAAC,CACP;MAAC,GAXHA,IAYL,CACP,CAAC,EACDa,SAAS,GAAG,CAAC,IAAIC,WAAW,IAAID,SAAS,GAAG,CAAC,iBAC5CvC,IAAA,CAACmB,IAAI,IAAC,CACP,EACAuB,KAAK,CAACK,SAAS,CAACC,IAAI,IAAIA,IAAI,KAAKT,SAAS,CAAC,KAAK,CAAC,CAAC,IAAIA,SAAS,KAAK,CAAC,iBACpEvC,IAAA,CAACQ,IAAI;QAAA0B,QAAA,eACHlC,IAAA,CAACF,SAAS;UACR0B,MAAM,EAAC,OAAO;UACd4B,IAAI,EAAE,EAAG;UACTpB,OAAO,EAAC,WAAW;UACnBiB,OAAO,EAAGC,CAAC,IAAK;YACdvB,YAAY,IAAIA,YAAY,CAACY,SAAS,CAAC;YACvCW,CAAC,CAACC,cAAc,CAAC,CAAC;UACpB,CAAE;UAAAjB,QAAA,eACAlC,IAAA,CAACoB,WAAW;YAACiC,SAAS,EAAEb,WAAW,KAAKD,SAAS,GAAG,UAAU,GAAG,EAAG;YAAAL,QAAA,eACnElC,IAAA;cAAAkC,QAAA,EAAOK;YAAS,CAAO;UAAC,CACZ;QAAC,CACP;MAAC,CACR,CACP,eACDvC,IAAA,CAACqB,IAAI;QAACE,EAAE;QACFC,MAAM,EAAE,GAAGiB,OAAO,IAAID,WAAW,GAAG,CAAC,EAAG;QACxCd,IAAI,EAAEc,WAAW,GAAG,CAAE;QACtBf,QAAQ,EAAEe,WAAW,KAAKD,SAAU;QACpCZ,YAAY,EAAEA,YAAa;QAC3BC,EAAE,EAAC;MAAiB,CAAC,CAAC;IAAA,CACvB;EAAC,CACC,CAAC;AAEhB,CAAC;AAACS,SAAA,CAAAkB,SAAA;EA9IAhB,SAAS,EAAAiB,GAAA,CAAAC,MAAA,CAAAC,UAAA;EAKTlB,WAAW,EAAAgB,GAAA,CAAAC,MAAA,CAAAC,UAAA;EAKXjB,OAAO,EAAAe,GAAA,CAAAG,MAAA,CAAAD,UAAA;EAOP/B,YAAY,EAAA6B,GAAA,CAAAI;AAAA;AA+Hd,eAAevB,SAAS","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Paginator.js","names":["React","styled","BREAKPOINTS","COLORS","ComponentTextStyle","focusStyles","SystemIcons","ComponentMStyling","Z_INDEXES","IconButton","HyperLink","jsx","_jsx","jsxs","_jsxs","Container","nav","MEDIUM","Items","ul","Item","li","props","Regular","generateToken","componentType","defaultVariant","theme","hover","state","active","Dots","ItemContent","Step","_ref","up","disabled","page","onPageChange","id","handleButtonClick","action","event","variant","shape","children","ChevronRight","ChevronLeft","Paginator","_ref2","pageCount","currentPage","pages","from","to","i","push","findIndex","item","target","onClick","e","preventDefault","href","className","map","console","log","propTypes","_pt","number","isRequired","func"],"sources":["../../src/Paginator/Paginator.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\nimport {BREAKPOINTS, COLORS, ComponentTextStyle, focusStyles} from '../styles';\r\nimport {SystemIcons} from '../icons';\r\nimport {ComponentMStyling} from '../styles';\r\nimport {Z_INDEXES} from '../styles';\r\nimport {IconButton} from '../Button';\r\nimport { HyperLink } from '../HyperLink';\r\n\r\nconst Container = styled.nav`\r\n margin: 20px 0;\r\n display: flex;\r\n justify-content: center;\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n width: 75%;\r\n }\r\n`;\r\n\r\nconst Items = styled.ul`\r\n margin: 0;\r\n padding: 0;\r\n list-style: none;\r\n display: flex;\r\n`;\r\n\r\nconst Item = styled.li`\r\n width: 48px;\r\n height: 48px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n\r\n & > * {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n height: 100%;\r\n text-decoration: none;\r\n\r\n ${props => ComponentMStyling(ComponentTextStyle.Regular, COLORS.generateToken({componentType:'text', defaultVariant: 'subtle'}, props.theme))}\r\n\r\n &:focus,\r\n &:focus-within {\r\n ${focusStyles}\r\n }\r\n }\r\n & > a:hover {\r\n z-index: ${Z_INDEXES.hover};\r\n color: ${props => COLORS.generateToken({ componentType:'text', state: 'hover' }, props.theme)};\r\n background-color: ${props => COLORS.generateToken({ componentType:'bg-surface', state:'hover' }, props.theme)};\r\n }\r\n\r\n & > a:active {\r\n z-index: ${Z_INDEXES.active};\r\n color: ${props => COLORS.generateToken({ componentType:'text', state:'active' }, props.theme)};\r\n background-color: ${props => COLORS.generateToken({ componentType:'bg-surface', state:'active' }, props.theme)};\r\n }\r\n`;\r\n\r\nconst Dots = styled(Item)`\r\n cursor: not-allowed;\r\n &:after{\r\n ${props => ComponentMStyling(ComponentTextStyle.Regular, COLORS.generateToken({componentType:'icon',defaultVariant:'subtle'}, props.theme))}\r\n content: '...';\r\n }\r\n`;\r\n\r\nconst ItemContent = styled('div')`\r\n text-align:center;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n position: relative;\r\n width: 100%;\r\n height: 100%;\r\n \r\n &.currentPage {\r\n z-index: ${Z_INDEXES.active};\r\n color: ${props => COLORS.generateToken({ componentType: 'text', defaultVariant: 'default' }, props.theme)};\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', defaultVariant: 'selected' }, props.theme)};\r\n cursor: default;\r\n &:hover {\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'hover' }, props.theme)};\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'hover' }, props.theme)};\r\n }\r\n &:active {\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'active' }, props.theme)};\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'active' }, props.theme)};\r\n }\r\n }\r\n\r\n &.currentPage:after{\r\n content: '';\r\n position: absolute;\r\n bottom: 4px;\r\n width: 32px;\r\n border-radius: 4px;\r\n height: 4px;\r\n background-color: ${props => COLORS.generateToken({componentType: 'border', defaultVariant: 'selected'}, props.theme)}\r\n }\r\n &.currentPage:hover:after{\r\n background-color: ${props => COLORS.generateToken({componentType: 'border', defaultVariant: 'selected'}, props.theme)}\r\n }\r\n &.currentPage:active:after{\r\n background-color: ${props => COLORS.generateToken({componentType: 'border', defaultVariant: 'selected'}, props.theme)}\r\n }\r\n`\r\n\r\nexport interface PaginatorProps {\r\n /**\r\n * Required. The total number of pages.\r\n */\r\n pageCount: number;\r\n\r\n /**\r\n * Required. The current active page.\r\n */\r\n currentPage: number;\r\n\r\n /**\r\n * Optional. A callback function that will be called when the page changes.\r\n * It receives the new page number as its argument.\r\n * If the function returns false, the page change will be prevented.\r\n */\r\n onPageChange?: (page: number) => boolean | void;\r\n};\r\n\r\nconst Step = ({\r\n up = true,\r\n disabled = false,\r\n page,\r\n onPageChange,\r\n id,\r\n}: {\r\n up: boolean;\r\n disabled: boolean;\r\n page: number;\r\n onPageChange?: (page: number) => void | boolean;\r\n id?: string;\r\n}) => {\r\n \r\n const handleButtonClick = () => {\r\n onPageChange && !onPageChange(page);\r\n }\r\n\r\n return (\r\n <IconButton id={id}\r\n action={event => handleButtonClick()}\r\n variant={'secondary'}\r\n shape={'circular'}\r\n disabled={disabled}>\r\n {up ? <SystemIcons.ChevronRight aria-label=\"Next Page\" /> : <SystemIcons.ChevronLeft aria-label=\"Previous Page\"/>}\r\n </IconButton>\r\n )\r\n};\r\n\r\nconst Paginator = ({ pageCount = 1, currentPage = 1, onPageChange }: PaginatorProps) => {\r\n const pages = [];\r\n let from = 2;\r\n let to = 4;\r\n if (pageCount === 0) return null;\r\n\r\n if (pageCount > 1) {\r\n if (currentPage >= 4 && currentPage <= pageCount - 2) {\r\n from = currentPage - 1;\r\n to = currentPage + 1;\r\n } else if (pageCount - 2 > 1 && currentPage > pageCount - 2) {\r\n from = pageCount - 3;\r\n to = pageCount - 1;\r\n }\r\n if (to > pageCount) {\r\n to = pageCount;\r\n }\r\n for (let i = from; i <= to; i += 1) {\r\n pages.push(i);\r\n }\r\n }\r\n\r\n return (\r\n <Container aria-label=\"Pagination\">\r\n <Items>\r\n <Step up={false}\r\n page={currentPage - 1}\r\n disabled={currentPage === 1}\r\n onPageChange={onPageChange}\r\n id=\"paginator-left\"/>\r\n {pages.findIndex(item => item === 1) === -1 && (\r\n <Item aria-current={currentPage === 1}>\r\n <HyperLink\r\n target='_self'\r\n onClick={(e) => {\r\n onPageChange && onPageChange(1);\r\n e.preventDefault();\r\n } } variant={'styleless'} href={''}>\r\n <ItemContent className={currentPage === 1 ? 'currentPage' : ''}>\r\n <span>1</span>\r\n </ItemContent>\r\n </HyperLink>\r\n </Item>\r\n )}\r\n {currentPage >= 4 && pageCount > 5 && pageCount && pages.findIndex(item => item === 1) === -1 && (\r\n <Dots/>\r\n )}\r\n {pages.map(page => (\r\n <Item key={page} aria-current={currentPage === page}>\r\n <HyperLink\r\n target='_self'\r\n href={''}\r\n onClick={(e) => {\r\n console.log(`Page changed to: ${page}`);\r\n onPageChange && onPageChange(page);\r\n e.preventDefault();\r\n } } variant={'styleless'}>\r\n <ItemContent className={currentPage === page ? 'currentPage' : ''}>\r\n <span>{page}</span>\r\n </ItemContent>\r\n </HyperLink>\r\n </Item>\r\n ))}\r\n {pageCount > 5 && currentPage <= pageCount - 3 && (\r\n <Dots/>\r\n )}\r\n {pages.findIndex(item => item === pageCount) === -1 && pageCount !== 1 && (\r\n <Item aria-current={currentPage === pageCount}>\r\n <HyperLink\r\n target='_self'\r\n href={''}\r\n variant='styleless'\r\n onClick={(e) => {\r\n onPageChange && onPageChange(pageCount);\r\n e.preventDefault();\r\n }}>\r\n <ItemContent className={currentPage === pageCount ? 'currentPage' : ''}>\r\n <span>{pageCount}</span>\r\n </ItemContent>\r\n </HyperLink>\r\n </Item>\r\n )}\r\n <Step up\r\n page={currentPage + 1}\r\n disabled={currentPage === pageCount}\r\n onPageChange={onPageChange}\r\n id=\"paginator-right\"/>\r\n </Items>\r\n </Container>\r\n );\r\n};\r\n\r\nexport default Paginator;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { render } from '../../test-utils';
|
|
2
|
+
import { queryByAttribute, render } from '../../test-utils';
|
|
3
3
|
import { Paginator } from '../index';
|
|
4
4
|
import { createMemoryHistory } from 'history';
|
|
5
5
|
import 'jest-styled-components';
|
|
@@ -8,19 +8,13 @@ import 'jest-styled-components';
|
|
|
8
8
|
|
|
9
9
|
describe('<Paginator />', () => {
|
|
10
10
|
|
|
11
|
-
const navProps = {
|
|
12
|
-
currentPath: '',
|
|
13
|
-
isActiveRoute: () => false,
|
|
14
|
-
navigate: (path: string, isExternal: boolean) => {}
|
|
15
|
-
};
|
|
16
|
-
|
|
17
11
|
it('Renders Paginator', async () => {
|
|
18
|
-
|
|
19
|
-
const route = '/1';
|
|
20
|
-
history.push(route);
|
|
12
|
+
|
|
21
13
|
let curPage = 1;
|
|
22
14
|
const { queryByText, container } = render(
|
|
23
|
-
<Paginator pageCount={6} currentPage={1}
|
|
15
|
+
<Paginator pageCount={6} currentPage={1} onPageChange={(page) => {
|
|
16
|
+
console.log(`Page changed to: ${page}`);
|
|
17
|
+
curPage = page; }} />
|
|
24
18
|
);
|
|
25
19
|
|
|
26
20
|
expect(queryByText('1')).toBeDefined();
|
|
@@ -33,7 +27,7 @@ describe('<Paginator />', () => {
|
|
|
33
27
|
expect(curPage).toBe(2);
|
|
34
28
|
|
|
35
29
|
// Click directly on 6. Expect to be taken to /6
|
|
36
|
-
queryByText('6')?.click();
|
|
30
|
+
(queryByText('6') as HTMLElement)?.click();
|
|
37
31
|
expect(curPage).toBe(6);
|
|
38
32
|
});
|
|
39
33
|
});
|
package/dist/test-utils.cjs
CHANGED
|
@@ -23,6 +23,7 @@ Object.keys(_react2).forEach(function (key) {
|
|
|
23
23
|
});
|
|
24
24
|
});
|
|
25
25
|
var _styledComponents = require("styled-components");
|
|
26
|
+
var _Navigation = require("./Navigation");
|
|
26
27
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
27
28
|
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; }
|
|
28
29
|
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) { (0, _defineProperty2.default)(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; }
|
|
@@ -32,7 +33,12 @@ const AllTheProviders = _ref => {
|
|
|
32
33
|
} = _ref;
|
|
33
34
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_styledComponents.ThemeProvider, {
|
|
34
35
|
theme: {},
|
|
35
|
-
children:
|
|
36
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Navigation.NavigationProvider, {
|
|
37
|
+
currentPath: "",
|
|
38
|
+
isActiveRoute: () => false,
|
|
39
|
+
navigate: () => {},
|
|
40
|
+
children: children
|
|
41
|
+
})
|
|
36
42
|
});
|
|
37
43
|
};
|
|
38
44
|
const customRender = (ui, options) => (0, _react2.render)(ui, _objectSpread({
|
package/dist/test-utils.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-utils.cjs","names":["_react","_interopRequireDefault","require","_react2","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_styledComponents","_jsxRuntime","ownKeys","e","r","t","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","push","apply","_objectSpread","arguments","length","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","AllTheProviders","_ref","children","jsx","ThemeProvider","theme","customRender","ui","options","render","wrapper"],"sources":["../src/test-utils.tsx"],"sourcesContent":["import React, {ReactElement} from 'react'\r\nimport {render, RenderOptions} from '@testing-library/react'\r\nimport {ThemeProvider} from 'styled-components'\r\n\r\nconst AllTheProviders = ({children}: {children: React.ReactNode}) => {\r\n return (\r\n <ThemeProvider theme={{}}>\r\n {children}\r\n </ThemeProvider>\r\n )\r\n}\r\n\r\nconst customRender = (\r\n ui: ReactElement<any>,\r\n options?: Omit<RenderOptions, 'wrapper'>,\r\n) => render(ui, {wrapper: AllTheProviders, ...options})\r\n\r\nexport * from '@testing-library/react'\r\nexport {customRender as render}"],"mappings":";;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;
|
|
1
|
+
{"version":3,"file":"test-utils.cjs","names":["_react","_interopRequireDefault","require","_react2","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_styledComponents","_Navigation","_jsxRuntime","ownKeys","e","r","t","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","push","apply","_objectSpread","arguments","length","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","AllTheProviders","_ref","children","jsx","ThemeProvider","theme","NavigationProvider","currentPath","isActiveRoute","navigate","customRender","ui","options","render","wrapper"],"sources":["../src/test-utils.tsx"],"sourcesContent":["import React, {ReactElement} from 'react'\r\nimport {render, RenderOptions} from '@testing-library/react'\r\nimport {ThemeProvider} from 'styled-components'\r\nimport { NavigationProvider } from './Navigation'\r\n\r\nconst AllTheProviders = ({children}: {children: React.ReactNode}) => {\r\n return (\r\n <ThemeProvider theme={{}}>\r\n <NavigationProvider currentPath='' isActiveRoute={() => false} navigate={() => {}}>\r\n {children}\r\n </NavigationProvider>\r\n </ThemeProvider>\r\n )\r\n}\r\n\r\nconst customRender = (\r\n ui: ReactElement<any>,\r\n options?: Omit<RenderOptions, 'wrapper'>,\r\n) => render(ui, {wrapper: AllTheProviders, ...options})\r\n\r\nexport * from '@testing-library/react'\r\nexport {customRender as render}"],"mappings":";;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAmBAE,MAAA,CAAAC,IAAA,CAAAF,OAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,OAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,OAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AAlBA,IAAAS,iBAAA,GAAAd,OAAA;AACA,IAAAe,WAAA,GAAAf,OAAA;AAAiD,IAAAgB,WAAA,GAAAhB,OAAA;AAAA,SAAAiB,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAlB,MAAA,CAAAC,IAAA,CAAAe,CAAA,OAAAhB,MAAA,CAAAmB,qBAAA,QAAAC,CAAA,GAAApB,MAAA,CAAAmB,qBAAA,CAAAH,CAAA,GAAAC,CAAA,KAAAG,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAJ,CAAA,WAAAjB,MAAA,CAAAsB,wBAAA,CAAAN,CAAA,EAAAC,CAAA,EAAAP,UAAA,OAAAQ,CAAA,CAAAK,IAAA,CAAAC,KAAA,CAAAN,CAAA,EAAAE,CAAA,YAAAF,CAAA;AAAA,SAAAO,cAAAT,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAS,SAAA,CAAAC,MAAA,EAAAV,CAAA,UAAAC,CAAA,WAAAQ,SAAA,CAAAT,CAAA,IAAAS,SAAA,CAAAT,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAf,MAAA,CAAAkB,CAAA,OAAAhB,OAAA,WAAAe,CAAA,QAAAW,gBAAA,CAAAC,OAAA,EAAAb,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAjB,MAAA,CAAA8B,yBAAA,GAAA9B,MAAA,CAAA+B,gBAAA,CAAAf,CAAA,EAAAhB,MAAA,CAAA8B,yBAAA,CAAAZ,CAAA,KAAAH,OAAA,CAAAf,MAAA,CAAAkB,CAAA,GAAAhB,OAAA,WAAAe,CAAA,IAAAjB,MAAA,CAAAS,cAAA,CAAAO,CAAA,EAAAC,CAAA,EAAAjB,MAAA,CAAAsB,wBAAA,CAAAJ,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAEjD,MAAMgB,eAAe,GAAGC,IAAA,IAA6C;EAAA,IAA5C;IAACC;EAAqC,CAAC,GAAAD,IAAA;EAC9D,oBACE,IAAAnB,WAAA,CAAAqB,GAAA,EAACvB,iBAAA,CAAAwB,aAAa;IAACC,KAAK,EAAE,CAAC,CAAE;IAAAH,QAAA,eACvB,IAAApB,WAAA,CAAAqB,GAAA,EAACtB,WAAA,CAAAyB,kBAAkB;MAACC,WAAW,EAAC,EAAE;MAACC,aAAa,EAAEA,CAAA,KAAM,KAAM;MAACC,QAAQ,EAAEA,CAAA,KAAM,CAAC,CAAE;MAAAP,QAAA,EAC/EA;IAAQ,CACS;EAAC,CACR,CAAC;AAEpB,CAAC;AAED,MAAMQ,YAAY,GAAGA,CACnBC,EAAqB,EACrBC,OAAwC,KACrC,IAAAC,cAAM,EAACF,EAAE,EAAAlB,aAAA;EAAGqB,OAAO,EAAEd;AAAe,GAAKY,OAAO,CAAC,CAAC;AAAApC,OAAA,CAAAqC,MAAA,GAAAH,YAAA","ignoreList":[]}
|
package/dist/test-utils.js
CHANGED
|
@@ -4,6 +4,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
4
4
|
import React from 'react';
|
|
5
5
|
import { render } from '@testing-library/react';
|
|
6
6
|
import { ThemeProvider } from 'styled-components';
|
|
7
|
+
import { NavigationProvider } from './Navigation';
|
|
7
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
9
|
const AllTheProviders = _ref => {
|
|
9
10
|
let {
|
|
@@ -11,7 +12,12 @@ const AllTheProviders = _ref => {
|
|
|
11
12
|
} = _ref;
|
|
12
13
|
return /*#__PURE__*/_jsx(ThemeProvider, {
|
|
13
14
|
theme: {},
|
|
14
|
-
children:
|
|
15
|
+
children: /*#__PURE__*/_jsx(NavigationProvider, {
|
|
16
|
+
currentPath: "",
|
|
17
|
+
isActiveRoute: () => false,
|
|
18
|
+
navigate: () => {},
|
|
19
|
+
children: children
|
|
20
|
+
})
|
|
15
21
|
});
|
|
16
22
|
};
|
|
17
23
|
const customRender = (ui, options) => render(ui, _objectSpread({
|
package/dist/test-utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-utils.js","names":["React","render","ThemeProvider","jsx","_jsx","AllTheProviders","_ref","children","theme","customRender","ui","options","_objectSpread","wrapper"],"sources":["../src/test-utils.tsx"],"sourcesContent":["import React, {ReactElement} from 'react'\r\nimport {render, RenderOptions} from '@testing-library/react'\r\nimport {ThemeProvider} from 'styled-components'\r\n\r\nconst AllTheProviders = ({children}: {children: React.ReactNode}) => {\r\n return (\r\n <ThemeProvider theme={{}}>\r\n {children}\r\n </ThemeProvider>\r\n )\r\n}\r\n\r\nconst customRender = (\r\n ui: ReactElement<any>,\r\n options?: Omit<RenderOptions, 'wrapper'>,\r\n) => render(ui, {wrapper: AllTheProviders, ...options})\r\n\r\nexport * from '@testing-library/react'\r\nexport {customRender as render}"],"mappings":";;;AAAA,OAAOA,KAAK,MAAsB,OAAO;AACzC,SAAQC,MAAM,QAAsB,wBAAwB;AAC5D,SAAQC,aAAa,QAAO,mBAAmB;AAAA,SAAAC,GAAA,IAAAC,IAAA;
|
|
1
|
+
{"version":3,"file":"test-utils.js","names":["React","render","ThemeProvider","NavigationProvider","jsx","_jsx","AllTheProviders","_ref","children","theme","currentPath","isActiveRoute","navigate","customRender","ui","options","_objectSpread","wrapper"],"sources":["../src/test-utils.tsx"],"sourcesContent":["import React, {ReactElement} from 'react'\r\nimport {render, RenderOptions} from '@testing-library/react'\r\nimport {ThemeProvider} from 'styled-components'\r\nimport { NavigationProvider } from './Navigation'\r\n\r\nconst AllTheProviders = ({children}: {children: React.ReactNode}) => {\r\n return (\r\n <ThemeProvider theme={{}}>\r\n <NavigationProvider currentPath='' isActiveRoute={() => false} navigate={() => {}}>\r\n {children}\r\n </NavigationProvider>\r\n </ThemeProvider>\r\n )\r\n}\r\n\r\nconst customRender = (\r\n ui: ReactElement<any>,\r\n options?: Omit<RenderOptions, 'wrapper'>,\r\n) => render(ui, {wrapper: AllTheProviders, ...options})\r\n\r\nexport * from '@testing-library/react'\r\nexport {customRender as render}"],"mappings":";;;AAAA,OAAOA,KAAK,MAAsB,OAAO;AACzC,SAAQC,MAAM,QAAsB,wBAAwB;AAC5D,SAAQC,aAAa,QAAO,mBAAmB;AAC/C,SAASC,kBAAkB,QAAQ,cAAc;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAEjD,MAAMC,eAAe,GAAGC,IAAA,IAA6C;EAAA,IAA5C;IAACC;EAAqC,CAAC,GAAAD,IAAA;EAC9D,oBACEF,IAAA,CAACH,aAAa;IAACO,KAAK,EAAE,CAAC,CAAE;IAAAD,QAAA,eACvBH,IAAA,CAACF,kBAAkB;MAACO,WAAW,EAAC,EAAE;MAACC,aAAa,EAAEA,CAAA,KAAM,KAAM;MAACC,QAAQ,EAAEA,CAAA,KAAM,CAAC,CAAE;MAAAJ,QAAA,EAC/EA;IAAQ,CACS;EAAC,CACR,CAAC;AAEpB,CAAC;AAED,MAAMK,YAAY,GAAGA,CACnBC,EAAqB,EACrBC,OAAwC,KACrCd,MAAM,CAACa,EAAE,EAAAE,aAAA;EAAGC,OAAO,EAAEX;AAAe,GAAKS,OAAO,CAAC,CAAC;AAEvD,cAAc,wBAAwB;AACtC,SAAQF,YAAY,IAAIZ,MAAM","ignoreList":[]}
|