@dxc-technology/halstack-react 0.0.0-cd617f3 → 0.0.0-ce0214d
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/BackgroundColorContext.d.ts +10 -0
- package/BackgroundColorContext.js +1 -4
- package/HalstackContext.d.ts +12 -0
- package/HalstackContext.js +295 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +15 -47
- package/accordion/Accordion.stories.tsx +307 -0
- package/accordion/Accordion.test.js +72 -0
- package/accordion/types.d.ts +8 -8
- package/accordion-group/AccordionGroup.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +15 -17
- package/accordion-group/AccordionGroup.stories.tsx +225 -0
- package/accordion-group/AccordionGroup.test.js +151 -0
- package/accordion-group/types.d.ts +8 -8
- package/alert/Alert.js +6 -3
- package/alert/Alert.stories.tsx +170 -0
- package/alert/Alert.test.js +92 -0
- package/alert/types.d.ts +1 -1
- package/badge/Badge.d.ts +4 -0
- package/badge/Badge.js +6 -4
- package/badge/types.d.ts +5 -0
- package/{radio → badge}/types.js +0 -0
- package/bleed/Bleed.d.ts +3 -0
- package/bleed/Bleed.js +84 -0
- package/bleed/Bleed.stories.tsx +342 -0
- package/bleed/types.d.ts +37 -0
- package/bleed/types.js +5 -0
- package/box/Box.d.ts +4 -0
- package/box/Box.js +28 -64
- package/box/Box.stories.tsx +132 -0
- package/box/Box.test.js +18 -0
- package/box/types.d.ts +43 -0
- package/box/types.js +5 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +24 -32
- package/button/Button.stories.tsx +223 -242
- package/button/Button.test.js +35 -0
- package/button/types.d.ts +9 -13
- package/card/Card.d.ts +4 -0
- package/card/Card.js +44 -81
- package/card/Card.stories.tsx +201 -0
- package/card/Card.test.js +50 -0
- package/card/ice-cream.jpg +0 -0
- package/card/types.d.ts +67 -0
- package/card/types.js +5 -0
- package/checkbox/Checkbox.d.ts +1 -1
- package/checkbox/Checkbox.js +45 -41
- package/checkbox/Checkbox.stories.tsx +188 -0
- package/checkbox/Checkbox.test.js +78 -0
- package/checkbox/types.d.ts +9 -6
- package/chip/Chip.d.ts +4 -0
- package/chip/Chip.js +16 -76
- package/chip/Chip.stories.tsx +119 -0
- package/chip/Chip.test.js +56 -0
- package/chip/types.d.ts +45 -0
- package/chip/types.js +5 -0
- package/common/variables.js +264 -363
- package/date-input/DateInput.js +63 -52
- package/date-input/DateInput.stories.tsx +138 -0
- package/date-input/DateInput.test.js +479 -0
- package/date-input/types.d.ts +16 -9
- package/dialog/Dialog.d.ts +4 -0
- package/dialog/Dialog.js +10 -56
- package/dialog/Dialog.stories.tsx +212 -0
- package/dialog/Dialog.test.js +40 -0
- package/dialog/types.d.ts +43 -0
- package/dialog/types.js +5 -0
- package/dropdown/Dropdown.d.ts +4 -0
- package/dropdown/Dropdown.js +28 -87
- package/dropdown/Dropdown.stories.tsx +249 -0
- package/dropdown/Dropdown.test.js +189 -0
- package/dropdown/types.d.ts +80 -0
- package/dropdown/types.js +5 -0
- package/file-input/FileInput.d.ts +4 -0
- package/file-input/FileInput.js +172 -111
- package/file-input/FileInput.stories.tsx +507 -0
- package/file-input/FileInput.test.js +457 -0
- package/file-input/FileItem.d.ts +14 -0
- package/file-input/FileItem.js +16 -23
- package/file-input/types.d.ts +112 -0
- package/file-input/types.js +5 -0
- package/footer/Footer.d.ts +4 -0
- package/footer/Footer.js +36 -148
- package/footer/Footer.stories.tsx +130 -0
- package/footer/Footer.test.js +109 -0
- package/footer/Icons.d.ts +2 -0
- package/footer/Icons.js +3 -3
- package/footer/types.d.ts +65 -0
- package/footer/types.js +5 -0
- package/header/Header.d.ts +7 -0
- package/header/Header.js +55 -78
- package/header/Header.stories.tsx +172 -0
- package/header/Header.test.js +79 -0
- package/header/Icons.d.ts +2 -0
- package/header/Icons.js +2 -27
- package/header/types.d.ts +47 -0
- package/header/types.js +5 -0
- package/heading/Heading.d.ts +4 -0
- package/heading/Heading.js +7 -24
- package/heading/Heading.stories.tsx +54 -0
- package/heading/Heading.test.js +186 -0
- package/heading/types.d.ts +33 -0
- package/heading/types.js +5 -0
- package/inset/Inset.d.ts +3 -0
- package/inset/Inset.js +84 -0
- package/inset/Inset.stories.tsx +229 -0
- package/inset/types.d.ts +37 -0
- package/inset/types.js +5 -0
- package/layout/ApplicationLayout.d.ts +11 -0
- package/layout/ApplicationLayout.js +84 -120
- package/layout/ApplicationLayout.stories.tsx +126 -0
- package/layout/Icons.d.ts +5 -0
- package/layout/Icons.js +13 -2
- package/layout/SidenavContext.d.ts +5 -0
- package/layout/SidenavContext.js +19 -0
- package/layout/types.d.ts +52 -0
- package/layout/types.js +5 -0
- package/link/Link.d.ts +4 -0
- package/link/Link.js +60 -107
- package/link/Link.stories.tsx +186 -0
- package/link/Link.test.js +83 -0
- package/link/types.d.ts +54 -0
- package/link/types.js +5 -0
- package/list/List.d.ts +4 -0
- package/list/List.js +47 -0
- package/list/List.stories.tsx +95 -0
- package/list/types.d.ts +7 -0
- package/list/types.js +5 -0
- package/main.d.ts +12 -9
- package/main.js +72 -42
- package/number-input/NumberInput.d.ts +4 -0
- package/number-input/NumberInput.js +16 -68
- package/number-input/NumberInput.stories.tsx +115 -0
- package/number-input/NumberInput.test.js +506 -0
- package/number-input/NumberInputContext.d.ts +4 -0
- package/number-input/NumberInputContext.js +5 -2
- package/number-input/numberInputContextTypes.d.ts +19 -0
- package/number-input/numberInputContextTypes.js +5 -0
- package/number-input/types.d.ts +124 -0
- package/number-input/types.js +5 -0
- package/package.json +9 -6
- package/paginator/Paginator.js +19 -46
- package/paginator/Paginator.stories.tsx +63 -0
- package/paginator/Paginator.test.js +266 -0
- package/password-input/PasswordInput.d.ts +4 -0
- package/password-input/PasswordInput.js +22 -55
- package/password-input/{PasswordInput.stories.jsx → PasswordInput.stories.tsx} +4 -4
- package/password-input/PasswordInput.test.js +180 -0
- package/password-input/types.d.ts +110 -0
- package/password-input/types.js +5 -0
- package/progress-bar/ProgressBar.d.ts +4 -0
- package/progress-bar/ProgressBar.js +6 -24
- package/progress-bar/ProgressBar.stories.jsx +58 -0
- package/progress-bar/ProgressBar.test.js +65 -0
- package/progress-bar/types.d.ts +37 -0
- package/progress-bar/types.js +5 -0
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +112 -0
- package/quick-nav/QuickNav.stories.tsx +237 -0
- package/quick-nav/types.d.ts +21 -0
- package/quick-nav/types.js +5 -0
- package/radio-group/Radio.d.ts +4 -0
- package/radio-group/Radio.js +141 -0
- package/radio-group/RadioGroup.d.ts +4 -0
- package/radio-group/RadioGroup.js +282 -0
- package/radio-group/RadioGroup.stories.tsx +100 -0
- package/radio-group/RadioGroup.test.js +695 -0
- package/radio-group/types.d.ts +114 -0
- package/radio-group/types.js +5 -0
- package/resultsetTable/ResultsetTable.d.ts +4 -0
- package/resultsetTable/ResultsetTable.js +9 -29
- package/resultsetTable/ResultsetTable.stories.tsx +275 -0
- package/resultsetTable/ResultsetTable.test.js +306 -0
- package/resultsetTable/types.d.ts +67 -0
- package/resultsetTable/types.js +5 -0
- package/row/Row.d.ts +3 -0
- package/row/Row.js +127 -0
- package/row/Row.stories.tsx +237 -0
- package/row/types.d.ts +28 -0
- package/row/types.js +5 -0
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +93 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +152 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +110 -0
- package/select/Select.d.ts +4 -0
- package/select/Select.js +122 -342
- package/select/Select.stories.tsx +594 -0
- package/select/Select.test.js +2120 -0
- package/select/types.d.ts +213 -0
- package/select/types.js +5 -0
- package/sidenav/Sidenav.d.ts +9 -0
- package/sidenav/Sidenav.js +26 -24
- package/sidenav/Sidenav.stories.tsx +182 -0
- package/sidenav/Sidenav.test.js +56 -0
- package/sidenav/types.d.ts +50 -0
- package/sidenav/types.js +5 -0
- package/slider/Slider.d.ts +4 -0
- package/slider/Slider.js +63 -85
- package/slider/Slider.stories.tsx +177 -0
- package/slider/Slider.test.js +150 -0
- package/slider/types.d.ts +82 -0
- package/slider/types.js +5 -0
- package/spinner/Spinner.d.ts +4 -0
- package/spinner/Spinner.js +9 -26
- package/spinner/Spinner.stories.jsx +103 -0
- package/spinner/Spinner.test.js +64 -0
- package/spinner/types.d.ts +32 -0
- package/spinner/types.js +5 -0
- package/stack/Stack.d.ts +3 -0
- package/stack/Stack.js +97 -0
- package/stack/Stack.stories.tsx +164 -0
- package/stack/types.d.ts +24 -0
- package/stack/types.js +5 -0
- package/switch/Switch.d.ts +1 -1
- package/switch/Switch.js +37 -21
- package/switch/Switch.stories.tsx +160 -0
- package/switch/Switch.test.js +98 -0
- package/switch/types.d.ts +6 -2
- package/table/Table.d.ts +4 -0
- package/table/Table.js +3 -3
- package/table/Table.stories.jsx +277 -0
- package/table/Table.test.js +26 -0
- package/table/types.d.ts +21 -0
- package/table/types.js +5 -0
- package/tabs/Tabs.d.ts +4 -0
- package/tabs/Tabs.js +24 -72
- package/tabs/Tabs.stories.tsx +112 -0
- package/tabs/Tabs.test.js +140 -0
- package/tabs/types.d.ts +82 -0
- package/tabs/types.js +5 -0
- package/tabs-nav/NavTabs.d.ts +8 -0
- package/tabs-nav/NavTabs.js +125 -0
- package/tabs-nav/NavTabs.stories.tsx +170 -0
- package/tabs-nav/NavTabs.test.js +82 -0
- package/tabs-nav/Tab.d.ts +4 -0
- package/tabs-nav/Tab.js +132 -0
- package/tabs-nav/types.d.ts +53 -0
- package/tabs-nav/types.js +5 -0
- package/tag/Tag.d.ts +4 -0
- package/tag/Tag.js +34 -59
- package/tag/Tag.stories.tsx +142 -0
- package/tag/Tag.test.js +60 -0
- package/tag/types.d.ts +69 -0
- package/tag/types.js +5 -0
- package/text/Text.d.ts +7 -0
- package/text/Text.js +30 -0
- package/text/Text.stories.tsx +19 -0
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +55 -0
- package/text-input/TextInput.d.ts +4 -0
- package/text-input/TextInput.js +91 -146
- package/text-input/TextInput.stories.tsx +474 -0
- package/text-input/TextInput.test.js +1712 -0
- package/text-input/types.d.ts +178 -0
- package/text-input/types.js +5 -0
- package/textarea/Textarea.d.ts +4 -0
- package/textarea/Textarea.js +39 -79
- package/textarea/Textarea.stories.jsx +157 -0
- package/textarea/Textarea.test.js +437 -0
- package/textarea/types.d.ts +137 -0
- package/textarea/types.js +5 -0
- package/toggle-group/ToggleGroup.d.ts +4 -0
- package/toggle-group/ToggleGroup.js +18 -46
- package/toggle-group/ToggleGroup.stories.tsx +173 -0
- package/toggle-group/ToggleGroup.test.js +156 -0
- package/toggle-group/types.d.ts +105 -0
- package/toggle-group/types.js +5 -0
- package/useTheme.d.ts +2 -0
- package/useTheme.js +2 -2
- package/useTranslatedLabels.d.ts +2 -0
- package/useTranslatedLabels.js +20 -0
- package/wizard/Wizard.d.ts +4 -0
- package/wizard/Wizard.js +115 -94
- package/wizard/Wizard.stories.tsx +214 -0
- package/wizard/Wizard.test.js +141 -0
- package/wizard/types.d.ts +64 -0
- package/wizard/types.js +5 -0
- package/ThemeContext.js +0 -246
- package/V3Select/V3Select.js +0 -455
- package/V3Select/index.d.ts +0 -27
- package/V3Textarea/V3Textarea.js +0 -260
- package/V3Textarea/index.d.ts +0 -27
- package/box/index.d.ts +0 -25
- package/card/index.d.ts +0 -22
- package/chip/index.d.ts +0 -22
- package/date/Date.js +0 -373
- package/date/index.d.ts +0 -27
- package/dialog/index.d.ts +0 -18
- package/dropdown/index.d.ts +0 -26
- package/file-input/index.d.ts +0 -81
- package/footer/index.d.ts +0 -25
- package/header/index.d.ts +0 -25
- package/heading/index.d.ts +0 -17
- package/input-text/Icons.js +0 -22
- package/input-text/InputText.js +0 -611
- package/input-text/index.d.ts +0 -36
- package/link/index.d.ts +0 -23
- package/number-input/index.d.ts +0 -113
- package/password-input/index.d.ts +0 -94
- package/progress-bar/index.d.ts +0 -18
- package/radio/Radio.d.ts +0 -4
- package/radio/Radio.js +0 -174
- package/radio/types.d.ts +0 -54
- package/resultsetTable/index.d.ts +0 -19
- package/select/index.d.ts +0 -131
- package/sidenav/index.d.ts +0 -13
- package/slider/index.d.ts +0 -29
- package/spinner/index.d.ts +0 -17
- package/table/index.d.ts +0 -13
- package/tabs/index.d.ts +0 -19
- package/tag/index.d.ts +0 -24
- package/text-input/index.d.ts +0 -135
- package/textarea/index.d.ts +0 -117
- package/toggle/Toggle.js +0 -186
- package/toggle/index.d.ts +0 -21
- package/toggle-group/index.d.ts +0 -21
- package/upload/Upload.js +0 -201
- package/upload/buttons-upload/ButtonsUpload.js +0 -111
- package/upload/buttons-upload/Icons.js +0 -40
- package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
- package/upload/dragAndDropArea/Icons.js +0 -39
- package/upload/file-upload/FileToUpload.js +0 -115
- package/upload/file-upload/Icons.js +0 -66
- package/upload/files-upload/FilesToUpload.js +0 -109
- package/upload/index.d.ts +0 -15
- package/upload/transaction/Icons.js +0 -160
- package/upload/transaction/Transaction.js +0 -104
- package/upload/transactions/Transactions.js +0 -94
- package/wizard/Icons.js +0 -65
- package/wizard/index.d.ts +0 -18
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxc-technology/halstack-react",
|
|
3
|
-
"version": "0.0.0-
|
|
3
|
+
"version": "0.0.0-ce0214d",
|
|
4
4
|
"description": "DXC Halstack React components library",
|
|
5
5
|
"repository": "dxc-technology/halstack-react",
|
|
6
6
|
"homepage": "http://developer.dxc.com/tools/react",
|
|
@@ -18,24 +18,26 @@
|
|
|
18
18
|
"styled-components": "^5.0.1"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@date-io/
|
|
21
|
+
"@date-io/dayjs": "^1.3.9",
|
|
22
22
|
"@material-ui/core": "4.11.1",
|
|
23
23
|
"@material-ui/icons": "4.4.3",
|
|
24
24
|
"@material-ui/lab": "4.0.0-alpha.17",
|
|
25
25
|
"@material-ui/pickers": "3.2.2",
|
|
26
26
|
"@material-ui/styles": "4.0.2",
|
|
27
|
+
"@types/styled-components": "^5.1.24",
|
|
28
|
+
"@types/uuid": "^8.3.4",
|
|
27
29
|
"color": "^3.1.3",
|
|
28
|
-
"
|
|
29
|
-
"moment": "2.24.0",
|
|
30
|
+
"dayjs": "^1.11.1",
|
|
30
31
|
"prop-types": "^15.7.2",
|
|
31
32
|
"rgb-hex": "^3.0.0",
|
|
33
|
+
"slugify": "^1.6.5",
|
|
32
34
|
"uuid": "^8.3.2"
|
|
33
35
|
},
|
|
34
36
|
"scripts": {
|
|
35
37
|
"test": "jest",
|
|
36
38
|
"test:watch": "npm test -- --watch --coverage",
|
|
37
39
|
"build": "babel src --extensions .js,.jsx,.ts,.tsx --out-dir ../dist --copy-files --verbose && node ../scripts/build/copy-package.js && tsc ",
|
|
38
|
-
"build:watch": "babel src --watch --out-dir ../dist --copy-files --verbose",
|
|
40
|
+
"build:watch": "babel src --watch --extensions .js,.jsx,.ts,.tsx --out-dir ../dist --copy-files --verbose",
|
|
39
41
|
"storybook": "start-storybook -p 6006",
|
|
40
42
|
"build-storybook": "build-storybook"
|
|
41
43
|
},
|
|
@@ -52,9 +54,10 @@
|
|
|
52
54
|
"@storybook/addon-essentials": "^6.4.9",
|
|
53
55
|
"@storybook/addon-links": "^6.4.9",
|
|
54
56
|
"@storybook/react": "^6.4.9",
|
|
55
|
-
"@testing-library/react": "^11.2.5",
|
|
56
57
|
"@storybook/testing-library": "0.0.7",
|
|
58
|
+
"@testing-library/react": "^11.2.5",
|
|
57
59
|
"@testing-library/user-event": "^12.6.3",
|
|
60
|
+
"@types/react": "16.9.5",
|
|
58
61
|
"babel-jest": "^24.8.0",
|
|
59
62
|
"babel-loader": "^8.0.6",
|
|
60
63
|
"chromatic": "^6.3.3",
|
package/paginator/Paginator.js
CHANGED
|
@@ -15,7 +15,9 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
15
15
|
|
|
16
16
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
17
17
|
|
|
18
|
-
var _useTheme = _interopRequireDefault(require("../useTheme
|
|
18
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
19
|
+
|
|
20
|
+
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
19
21
|
|
|
20
22
|
var _Button = _interopRequireDefault(require("../button/Button"));
|
|
21
23
|
|
|
@@ -23,7 +25,7 @@ var _Select = _interopRequireDefault(require("../select/Select"));
|
|
|
23
25
|
|
|
24
26
|
var _Icons = require("./Icons");
|
|
25
27
|
|
|
26
|
-
var _BackgroundColorContext = require("../BackgroundColorContext
|
|
28
|
+
var _BackgroundColorContext = require("../BackgroundColorContext");
|
|
27
29
|
|
|
28
30
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
|
|
29
31
|
|
|
@@ -49,13 +51,14 @@ var DxcPaginator = function DxcPaginator(_ref) {
|
|
|
49
51
|
var minItemsPerPage = currentPageInternal === 1 || currentPageInternal === 0 ? currentPageInternal : (currentPageInternal - 1) * itemsPerPage + 1;
|
|
50
52
|
var maxItemsPerPage = minItemsPerPage - 1 + itemsPerPage > totalItems ? totalItems : minItemsPerPage - 1 + itemsPerPage;
|
|
51
53
|
var colorsTheme = (0, _useTheme["default"])();
|
|
54
|
+
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
52
55
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
53
56
|
theme: colorsTheme.paginator
|
|
54
57
|
}, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
|
|
55
58
|
color: colorsTheme.paginator.backgroundColor
|
|
56
59
|
}, /*#__PURE__*/_react["default"].createElement(DxcPaginatorContainer, {
|
|
57
60
|
disabled: currentPageInternal === 1
|
|
58
|
-
}, /*#__PURE__*/_react["default"].createElement(LabelsContainer, null, itemsPerPageOptions && /*#__PURE__*/_react["default"].createElement(ItemsPageContainer, null, /*#__PURE__*/_react["default"].createElement(ItemsLabel, null,
|
|
61
|
+
}, /*#__PURE__*/_react["default"].createElement(LabelsContainer, null, itemsPerPageOptions && /*#__PURE__*/_react["default"].createElement(ItemsPageContainer, null, /*#__PURE__*/_react["default"].createElement(ItemsLabel, null, translatedLabels.paginator.itemsPerPageText), /*#__PURE__*/_react["default"].createElement(SelectContainer, null, /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
59
62
|
options: itemsPerPageOptions.map(function (num) {
|
|
60
63
|
return {
|
|
61
64
|
label: num.toString(),
|
|
@@ -67,18 +70,11 @@ var DxcPaginator = function DxcPaginator(_ref) {
|
|
|
67
70
|
},
|
|
68
71
|
value: itemsPerPage.toString(),
|
|
69
72
|
size: "fillParent",
|
|
70
|
-
margin: {
|
|
71
|
-
top: "xsmall"
|
|
72
|
-
},
|
|
73
73
|
tabIndex: tabIndex
|
|
74
|
-
}))), /*#__PURE__*/_react["default"].createElement(TotalItemsContainer, null, minItemsPerPage,
|
|
74
|
+
}))), /*#__PURE__*/_react["default"].createElement(TotalItemsContainer, null, translatedLabels.paginator.minToMaxOfText(minItemsPerPage, maxItemsPerPage, totalItems)), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
75
75
|
size: "small",
|
|
76
76
|
mode: "secondary",
|
|
77
77
|
disabled: currentPageInternal === 1 || currentPageInternal === 0,
|
|
78
|
-
margin: {
|
|
79
|
-
left: "xxsmall",
|
|
80
|
-
right: "xxsmall"
|
|
81
|
-
},
|
|
82
78
|
icon: _Icons.firstIcon,
|
|
83
79
|
tabIndex: tabIndex,
|
|
84
80
|
onClick: function onClick() {
|
|
@@ -88,16 +84,12 @@ var DxcPaginator = function DxcPaginator(_ref) {
|
|
|
88
84
|
size: "small",
|
|
89
85
|
mode: "secondary",
|
|
90
86
|
disabled: currentPageInternal === 1 || currentPageInternal === 0,
|
|
91
|
-
margin: {
|
|
92
|
-
left: "xxsmall",
|
|
93
|
-
right: "xxsmall"
|
|
94
|
-
},
|
|
95
87
|
icon: _Icons.previousIcon,
|
|
96
88
|
tabIndex: tabIndex,
|
|
97
89
|
onClick: function onClick() {
|
|
98
90
|
onPageChange(currentPage - 1);
|
|
99
91
|
}
|
|
100
|
-
}), showGoToPage && /*#__PURE__*/_react["default"].createElement(PageToSelectContainer, null, /*#__PURE__*/_react["default"].createElement(GoToLabel, null, "
|
|
92
|
+
}), showGoToPage && /*#__PURE__*/_react["default"].createElement(PageToSelectContainer, null, /*#__PURE__*/_react["default"].createElement(GoToLabel, null, translatedLabels.paginator.goToPageText, " "), /*#__PURE__*/_react["default"].createElement(SelectContainer, null, /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
101
93
|
options: Array.from(Array(totalPages), function (e, num) {
|
|
102
94
|
return {
|
|
103
95
|
label: (num + 1).toString(),
|
|
@@ -109,18 +101,11 @@ var DxcPaginator = function DxcPaginator(_ref) {
|
|
|
109
101
|
},
|
|
110
102
|
value: currentPage.toString(),
|
|
111
103
|
size: "fillParent",
|
|
112
|
-
margin: {
|
|
113
|
-
top: "xsmall"
|
|
114
|
-
},
|
|
115
104
|
tabIndex: tabIndex
|
|
116
|
-
}))) || /*#__PURE__*/_react["default"].createElement(TextContainer, null,
|
|
105
|
+
}))) || /*#__PURE__*/_react["default"].createElement(TextContainer, null, translatedLabels.paginator.pageOfText(currentPageInternal, totalPages)), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
117
106
|
size: "small",
|
|
118
107
|
mode: "secondary",
|
|
119
108
|
disabled: currentPageInternal === totalPages,
|
|
120
|
-
margin: {
|
|
121
|
-
left: "xxsmall",
|
|
122
|
-
right: "xxsmall"
|
|
123
|
-
},
|
|
124
109
|
icon: _Icons.nextIcon,
|
|
125
110
|
tabIndex: tabIndex,
|
|
126
111
|
onClick: function onClick() {
|
|
@@ -130,10 +115,6 @@ var DxcPaginator = function DxcPaginator(_ref) {
|
|
|
130
115
|
size: "small",
|
|
131
116
|
mode: "secondary",
|
|
132
117
|
disabled: currentPageInternal === totalPages,
|
|
133
|
-
margin: {
|
|
134
|
-
left: "xxsmall",
|
|
135
|
-
right: "xxsmall"
|
|
136
|
-
},
|
|
137
118
|
icon: _Icons.lastIcon,
|
|
138
119
|
tabIndex: tabIndex,
|
|
139
120
|
onClick: function onClick() {
|
|
@@ -142,11 +123,7 @@ var DxcPaginator = function DxcPaginator(_ref) {
|
|
|
142
123
|
})))));
|
|
143
124
|
};
|
|
144
125
|
|
|
145
|
-
var DxcPaginatorContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n
|
|
146
|
-
return props.theme.height;
|
|
147
|
-
}, function (props) {
|
|
148
|
-
return props.theme.width;
|
|
149
|
-
}, function (props) {
|
|
126
|
+
var DxcPaginatorContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n font-style: ", ";\n text-transform: ", ";\n background-color: ", ";\n color: ", ";\n padding: ", " ", ";\n\n button {\n &:disabled {\n background-color: transparent !important;\n opacity: 0.3 !important;\n }\n }\n"])), function (props) {
|
|
150
127
|
return props.theme.fontFamily;
|
|
151
128
|
}, function (props) {
|
|
152
129
|
return props.theme.fontSize;
|
|
@@ -160,9 +137,13 @@ var DxcPaginatorContainer = _styledComponents["default"].div(_templateObject ||
|
|
|
160
137
|
return props.theme.backgroundColor;
|
|
161
138
|
}, function (props) {
|
|
162
139
|
return props.theme.fontColor;
|
|
140
|
+
}, function (props) {
|
|
141
|
+
return props.theme.verticalPadding;
|
|
142
|
+
}, function (props) {
|
|
143
|
+
return props.theme.horizontalPadding;
|
|
163
144
|
});
|
|
164
145
|
|
|
165
|
-
var SelectContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
146
|
+
var SelectContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n min-width: 5.25rem;\n"])));
|
|
166
147
|
|
|
167
148
|
var ItemsPageContainer = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n margin-right: ", ";\n margin-left: ", ";\n\n label {\n height: 0px;\n }\n label + .MuiInput-formControl {\n margin-top: 0px;\n }\n"])), function (props) {
|
|
168
149
|
return props.theme.itemsPerPageSelectorMarginRight;
|
|
@@ -170,9 +151,9 @@ var ItemsPageContainer = _styledComponents["default"].span(_templateObject3 || (
|
|
|
170
151
|
return props.theme.itemsPerPageSelectorMarginLeft;
|
|
171
152
|
});
|
|
172
153
|
|
|
173
|
-
var ItemsLabel = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right:
|
|
154
|
+
var ItemsLabel = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 0.5rem;\n"])));
|
|
174
155
|
|
|
175
|
-
var GoToLabel = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right:
|
|
156
|
+
var GoToLabel = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 0.5rem;\n margin-left: 1rem;\n"])));
|
|
176
157
|
|
|
177
158
|
var TotalItemsContainer = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
178
159
|
return props.theme.totalItemsContainerMarginRight;
|
|
@@ -180,17 +161,9 @@ var TotalItemsContainer = _styledComponents["default"].span(_templateObject6 ||
|
|
|
180
161
|
return props.theme.totalItemsContainerMarginLeft;
|
|
181
162
|
});
|
|
182
163
|
|
|
183
|
-
var LabelsContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n width: 100%;\n justify-content: flex-end;\n align-items: center;\n
|
|
184
|
-
return props.theme.marginRight;
|
|
185
|
-
}, function (props) {
|
|
186
|
-
return props.theme.marginLeft;
|
|
187
|
-
});
|
|
164
|
+
var LabelsContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n gap: 0.5rem;\n width: 100%;\n justify-content: flex-end;\n align-items: center;\n"])));
|
|
188
165
|
|
|
189
|
-
var PageToSelectContainer = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n
|
|
190
|
-
return props.theme.pageSelectorMarginRight;
|
|
191
|
-
}, function (props) {
|
|
192
|
-
return props.theme.pageSelectorMarginLeft;
|
|
193
|
-
});
|
|
166
|
+
var PageToSelectContainer = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n\n label {\n height: 0px;\n }\n label + .MuiInput-formControl {\n margin-top: 0px;\n }\n"])));
|
|
194
167
|
|
|
195
168
|
var TextContainer = _styledComponents["default"].span(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])([""])));
|
|
196
169
|
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import DxcPaginator from "./Paginator";
|
|
3
|
+
import Title from "../../.storybook/components/Title";
|
|
4
|
+
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
5
|
+
|
|
6
|
+
export default {
|
|
7
|
+
title: "Paginator",
|
|
8
|
+
component: DxcPaginator,
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export const Chromatic = () => (
|
|
12
|
+
<>
|
|
13
|
+
<ExampleContainer>
|
|
14
|
+
<Title title="Default" theme="light" level={4} />
|
|
15
|
+
<DxcPaginator />
|
|
16
|
+
</ExampleContainer>
|
|
17
|
+
<ExampleContainer>
|
|
18
|
+
<Title title="Default with items per page options" theme="light" level={4} />
|
|
19
|
+
<DxcPaginator itemsPerPageOptions={[5, 10, 15]} />
|
|
20
|
+
</ExampleContainer>
|
|
21
|
+
<ExampleContainer>
|
|
22
|
+
<Title title="Default with show go to page selector" theme="light" level={4} />
|
|
23
|
+
<DxcPaginator showGoToPage />
|
|
24
|
+
</ExampleContainer>
|
|
25
|
+
<ExampleContainer>
|
|
26
|
+
<Title title="Page change in first page" theme="light" level={4} />
|
|
27
|
+
<DxcPaginator currentPage={1} itemsPerPage={10} totalItems={27} onPageChange={() => {}} />
|
|
28
|
+
</ExampleContainer>
|
|
29
|
+
<ExampleContainer>
|
|
30
|
+
<Title title="Page change in middle page" theme="light" level={4} />
|
|
31
|
+
<DxcPaginator currentPage={2} itemsPerPage={10} totalItems={27} onPageChange={() => {}} />
|
|
32
|
+
</ExampleContainer>
|
|
33
|
+
<ExampleContainer>
|
|
34
|
+
<Title title="Page change in last page" theme="light" level={4} />
|
|
35
|
+
<DxcPaginator currentPage={3} itemsPerPage={10} totalItems={27} onPageChange={() => {}} />
|
|
36
|
+
</ExampleContainer>
|
|
37
|
+
<ExampleContainer>
|
|
38
|
+
<Title title="Page change and items per page options" theme="light" level={4} />
|
|
39
|
+
<DxcPaginator
|
|
40
|
+
currentPage={1}
|
|
41
|
+
itemsPerPage={10}
|
|
42
|
+
totalItems={27}
|
|
43
|
+
onPageChange={() => {}}
|
|
44
|
+
itemsPerPageOptions={[5, 10, 15]}
|
|
45
|
+
/>
|
|
46
|
+
</ExampleContainer>
|
|
47
|
+
<ExampleContainer>
|
|
48
|
+
<Title title="Page change and show go to page selector" theme="light" level={4} />
|
|
49
|
+
<DxcPaginator currentPage={1} itemsPerPage={10} totalItems={27} onPageChange={() => {}} showGoToPage />
|
|
50
|
+
</ExampleContainer>
|
|
51
|
+
<ExampleContainer>
|
|
52
|
+
<Title title="Page change, show go to page and items per page selectors" theme="light" level={4} />
|
|
53
|
+
<DxcPaginator
|
|
54
|
+
currentPage={1}
|
|
55
|
+
itemsPerPage={10}
|
|
56
|
+
totalItems={27}
|
|
57
|
+
onPageChange={() => {}}
|
|
58
|
+
itemsPerPageOptions={[5, 10, 15]}
|
|
59
|
+
showGoToPage
|
|
60
|
+
/>
|
|
61
|
+
</ExampleContainer>
|
|
62
|
+
</>
|
|
63
|
+
);
|
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _react2 = require("@testing-library/react");
|
|
8
|
+
|
|
9
|
+
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
10
|
+
|
|
11
|
+
var _Paginator = _interopRequireDefault(require("./Paginator"));
|
|
12
|
+
|
|
13
|
+
describe("Paginator component tests", function () {
|
|
14
|
+
test("Paginator renders with default values", function () {
|
|
15
|
+
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], null)),
|
|
16
|
+
getByText = _render.getByText;
|
|
17
|
+
|
|
18
|
+
expect(getByText("1 to 1 of 1")).toBeTruthy();
|
|
19
|
+
expect(getByText("Page: 1 of 1")).toBeTruthy();
|
|
20
|
+
});
|
|
21
|
+
test("Paginator renders with currentPage", function () {
|
|
22
|
+
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
23
|
+
currentPage: 2
|
|
24
|
+
})),
|
|
25
|
+
getByText = _render2.getByText;
|
|
26
|
+
|
|
27
|
+
expect(getByText("Page: 2 of 1")).toBeTruthy();
|
|
28
|
+
});
|
|
29
|
+
test("Paginator renders with itemsPerPageOptions", function () {
|
|
30
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
31
|
+
currentPage: 1,
|
|
32
|
+
itemsPerPage: 10,
|
|
33
|
+
itemsPerPageOptions: [10, 15],
|
|
34
|
+
totalItems: 20
|
|
35
|
+
})),
|
|
36
|
+
getByText = _render3.getByText;
|
|
37
|
+
|
|
38
|
+
expect(getByText("Items per page")).toBeTruthy();
|
|
39
|
+
});
|
|
40
|
+
test("Paginator renders with itemsPerPageOptions", function () {
|
|
41
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
42
|
+
currentPage: 1,
|
|
43
|
+
itemsPerPage: 10,
|
|
44
|
+
totalItems: 20
|
|
45
|
+
})),
|
|
46
|
+
getByText = _render4.getByText;
|
|
47
|
+
|
|
48
|
+
expect(getByText("1 to 10 of 20")).toBeTruthy();
|
|
49
|
+
expect(getByText("Page: 1 of 2")).toBeTruthy();
|
|
50
|
+
});
|
|
51
|
+
test("Paginator renders with totalItems", function () {
|
|
52
|
+
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
53
|
+
totalItems: 20
|
|
54
|
+
})),
|
|
55
|
+
getByText = _render5.getByText;
|
|
56
|
+
|
|
57
|
+
expect(getByText("1 to 5 of 20")).toBeTruthy();
|
|
58
|
+
expect(getByText("Page: 1 of 4")).toBeTruthy();
|
|
59
|
+
});
|
|
60
|
+
test("Paginator renders with correct text in second page", function () {
|
|
61
|
+
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
62
|
+
currentPage: 2,
|
|
63
|
+
itemsPerPage: 10,
|
|
64
|
+
totalItems: 20
|
|
65
|
+
})),
|
|
66
|
+
getByText = _render6.getByText;
|
|
67
|
+
|
|
68
|
+
expect(getByText("11 to 20 of 20")).toBeTruthy();
|
|
69
|
+
expect(getByText("Page: 2 of 2")).toBeTruthy();
|
|
70
|
+
});
|
|
71
|
+
test("Paginator renders goToPage select", function () {
|
|
72
|
+
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
73
|
+
currentPage: 2,
|
|
74
|
+
showGoToPage: true,
|
|
75
|
+
itemsPerPage: 10,
|
|
76
|
+
totalItems: 20
|
|
77
|
+
})),
|
|
78
|
+
getByText = _render7.getByText;
|
|
79
|
+
|
|
80
|
+
expect(getByText("Go to page:")).toBeTruthy();
|
|
81
|
+
});
|
|
82
|
+
test("Paginator goToPage call correct function", function () {
|
|
83
|
+
var onClick = jest.fn();
|
|
84
|
+
|
|
85
|
+
window.HTMLElement.prototype.scrollIntoView = function () {};
|
|
86
|
+
|
|
87
|
+
window.HTMLElement.prototype.scrollTo = function () {};
|
|
88
|
+
|
|
89
|
+
var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
90
|
+
currentPage: 1,
|
|
91
|
+
itemsPerPage: 10,
|
|
92
|
+
totalItems: 27,
|
|
93
|
+
showGoToPage: true,
|
|
94
|
+
onPageChange: onClick
|
|
95
|
+
})),
|
|
96
|
+
getByText = _render8.getByText,
|
|
97
|
+
getAllByRole = _render8.getAllByRole,
|
|
98
|
+
getByRole = _render8.getByRole;
|
|
99
|
+
|
|
100
|
+
var goToPageSelect = getAllByRole("combobox")[0];
|
|
101
|
+
(0, _react2.act)(function () {
|
|
102
|
+
_userEvent["default"].click(goToPageSelect);
|
|
103
|
+
});
|
|
104
|
+
var goToPageOption = getByText("2");
|
|
105
|
+
(0, _react2.act)(function () {
|
|
106
|
+
_userEvent["default"].click(goToPageOption);
|
|
107
|
+
});
|
|
108
|
+
expect(onClick).toHaveBeenCalledWith(2);
|
|
109
|
+
});
|
|
110
|
+
test("Call correct goToPageFunction", function () {
|
|
111
|
+
var onClick = jest.fn();
|
|
112
|
+
|
|
113
|
+
var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
114
|
+
onPageChange: onClick,
|
|
115
|
+
currentPage: 1,
|
|
116
|
+
itemsPerPage: 10,
|
|
117
|
+
totalItems: 20
|
|
118
|
+
})),
|
|
119
|
+
getAllByRole = _render9.getAllByRole;
|
|
120
|
+
|
|
121
|
+
var nextButton = getAllByRole("button")[2];
|
|
122
|
+
|
|
123
|
+
_userEvent["default"].click(nextButton);
|
|
124
|
+
|
|
125
|
+
expect(onClick).toHaveBeenCalled();
|
|
126
|
+
});
|
|
127
|
+
test("Call correct itemsPerPageFunction", function () {
|
|
128
|
+
var onClick = jest.fn();
|
|
129
|
+
|
|
130
|
+
window.HTMLElement.prototype.scrollIntoView = function () {};
|
|
131
|
+
|
|
132
|
+
window.HTMLElement.prototype.scrollTo = function () {};
|
|
133
|
+
|
|
134
|
+
var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
135
|
+
currentPage: 1,
|
|
136
|
+
itemsPerPage: 10,
|
|
137
|
+
itemsPerPageOptions: [10, 15],
|
|
138
|
+
itemsPerPageFunction: onClick,
|
|
139
|
+
totalItems: 20
|
|
140
|
+
})),
|
|
141
|
+
getAllByText = _render10.getAllByText,
|
|
142
|
+
getByText = _render10.getByText;
|
|
143
|
+
|
|
144
|
+
var select = getAllByText("10")[0];
|
|
145
|
+
(0, _react2.act)(function () {
|
|
146
|
+
_userEvent["default"].click(select);
|
|
147
|
+
});
|
|
148
|
+
var itemPerPageOption = getByText("15");
|
|
149
|
+
(0, _react2.act)(function () {
|
|
150
|
+
_userEvent["default"].click(itemPerPageOption);
|
|
151
|
+
});
|
|
152
|
+
expect(onClick).toHaveBeenCalledWith(15);
|
|
153
|
+
});
|
|
154
|
+
test("Next button is disable in last page", function () {
|
|
155
|
+
var onClick = jest.fn();
|
|
156
|
+
|
|
157
|
+
var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
158
|
+
onPageChange: onClick,
|
|
159
|
+
currentPage: 2,
|
|
160
|
+
itemsPerPage: 10,
|
|
161
|
+
totalItems: 20
|
|
162
|
+
})),
|
|
163
|
+
getAllByRole = _render11.getAllByRole;
|
|
164
|
+
|
|
165
|
+
var nextButton = getAllByRole("button")[2];
|
|
166
|
+
expect(nextButton.hasAttribute("disabled")).toBeTruthy();
|
|
167
|
+
|
|
168
|
+
_userEvent["default"].click(nextButton);
|
|
169
|
+
|
|
170
|
+
expect(onClick).toHaveBeenCalledTimes(0);
|
|
171
|
+
});
|
|
172
|
+
test("Last button is disable in last page", function () {
|
|
173
|
+
var onClick = jest.fn();
|
|
174
|
+
|
|
175
|
+
var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
176
|
+
onPageChange: onClick,
|
|
177
|
+
currentPage: 2,
|
|
178
|
+
itemsPerPage: 10,
|
|
179
|
+
totalItems: 20
|
|
180
|
+
})),
|
|
181
|
+
getAllByRole = _render12.getAllByRole;
|
|
182
|
+
|
|
183
|
+
var lastButton = getAllByRole("button")[3];
|
|
184
|
+
expect(lastButton.hasAttribute("disabled")).toBeTruthy();
|
|
185
|
+
|
|
186
|
+
_userEvent["default"].click(lastButton);
|
|
187
|
+
|
|
188
|
+
expect(onClick).toHaveBeenCalledTimes(0);
|
|
189
|
+
});
|
|
190
|
+
test("First button is disable in first page", function () {
|
|
191
|
+
var onClick = jest.fn();
|
|
192
|
+
|
|
193
|
+
var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
194
|
+
onPageChange: onClick,
|
|
195
|
+
currentPage: 1,
|
|
196
|
+
itemsPerPage: 10,
|
|
197
|
+
totalItems: 20
|
|
198
|
+
})),
|
|
199
|
+
getAllByRole = _render13.getAllByRole;
|
|
200
|
+
|
|
201
|
+
var lastButton = getAllByRole("button")[0];
|
|
202
|
+
expect(lastButton.hasAttribute("disabled")).toBeTruthy();
|
|
203
|
+
|
|
204
|
+
_userEvent["default"].click(lastButton);
|
|
205
|
+
|
|
206
|
+
expect(onClick).toHaveBeenCalledTimes(0);
|
|
207
|
+
});
|
|
208
|
+
test("Previous button is disable in first page", function () {
|
|
209
|
+
var onClick = jest.fn();
|
|
210
|
+
|
|
211
|
+
var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
212
|
+
onPageChange: onClick,
|
|
213
|
+
currentPage: 1,
|
|
214
|
+
itemsPerPage: 10,
|
|
215
|
+
totalItems: 20
|
|
216
|
+
})),
|
|
217
|
+
getAllByRole = _render14.getAllByRole;
|
|
218
|
+
|
|
219
|
+
var lastButton = getAllByRole("button")[1];
|
|
220
|
+
expect(lastButton.hasAttribute("disabled")).toBeTruthy();
|
|
221
|
+
|
|
222
|
+
_userEvent["default"].click(lastButton);
|
|
223
|
+
|
|
224
|
+
expect(onClick).toHaveBeenCalledTimes(0);
|
|
225
|
+
});
|
|
226
|
+
test("Last and next buttons are disable in last page", function () {
|
|
227
|
+
var onClick = jest.fn();
|
|
228
|
+
|
|
229
|
+
var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
230
|
+
onPageChange: onClick,
|
|
231
|
+
currentPage: 2,
|
|
232
|
+
itemsPerPage: 10,
|
|
233
|
+
totalItems: 20
|
|
234
|
+
})),
|
|
235
|
+
getAllByRole = _render15.getAllByRole;
|
|
236
|
+
|
|
237
|
+
var firstButton = getAllByRole("button")[0];
|
|
238
|
+
var prevButton = getAllByRole("button")[1];
|
|
239
|
+
var nextButton = getAllByRole("button")[2];
|
|
240
|
+
var lastButton = getAllByRole("button")[3];
|
|
241
|
+
expect(firstButton.hasAttribute("disabled")).toBeFalsy();
|
|
242
|
+
expect(prevButton.hasAttribute("disabled")).toBeFalsy();
|
|
243
|
+
expect(nextButton.hasAttribute("disabled")).toBeTruthy();
|
|
244
|
+
expect(lastButton.hasAttribute("disabled")).toBeTruthy();
|
|
245
|
+
});
|
|
246
|
+
test("First and previous buttons are disable in first page", function () {
|
|
247
|
+
var onClick = jest.fn();
|
|
248
|
+
|
|
249
|
+
var _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
250
|
+
onPageChange: onClick,
|
|
251
|
+
currentPage: 1,
|
|
252
|
+
itemsPerPage: 10,
|
|
253
|
+
totalItems: 20
|
|
254
|
+
})),
|
|
255
|
+
getAllByRole = _render16.getAllByRole;
|
|
256
|
+
|
|
257
|
+
var firstButton = getAllByRole("button")[0];
|
|
258
|
+
var prevButton = getAllByRole("button")[1];
|
|
259
|
+
var nextButton = getAllByRole("button")[2];
|
|
260
|
+
var lastButton = getAllByRole("button")[3];
|
|
261
|
+
expect(firstButton.hasAttribute("disabled")).toBeTruthy();
|
|
262
|
+
expect(prevButton.hasAttribute("disabled")).toBeTruthy();
|
|
263
|
+
expect(nextButton.hasAttribute("disabled")).toBeFalsy();
|
|
264
|
+
expect(lastButton.hasAttribute("disabled")).toBeFalsy();
|
|
265
|
+
});
|
|
266
|
+
});
|