@dxc-technology/halstack-react 0.0.0-b3e1a2f → 0.0.0-b3e2de9
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 +1 -10
- package/BackgroundColorContext.js +5 -22
- package/HalstackContext.d.ts +1249 -0
- package/HalstackContext.js +310 -0
- package/README.md +47 -0
- package/accordion/Accordion.accessibility.test.js +71 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +104 -193
- package/accordion/Accordion.stories.tsx +85 -141
- package/accordion/Accordion.test.js +56 -0
- package/accordion/types.d.ts +11 -22
- package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
- package/accordion-group/AccordionGroup.d.ts +3 -3
- package/accordion-group/AccordionGroup.js +38 -107
- package/accordion-group/AccordionGroup.stories.tsx +95 -68
- package/accordion-group/AccordionGroup.test.js +98 -0
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +31 -0
- package/accordion-group/AccordionGroupContext.d.ts +3 -0
- package/accordion-group/AccordionGroupContext.js +8 -0
- package/accordion-group/types.d.ts +17 -22
- package/action-icon/ActionIcon.accessibility.test.js +63 -0
- package/action-icon/ActionIcon.d.ts +4 -0
- package/action-icon/ActionIcon.js +48 -0
- package/action-icon/ActionIcon.stories.tsx +41 -0
- package/action-icon/ActionIcon.test.js +64 -0
- package/action-icon/types.d.ts +26 -0
- package/alert/Alert.accessibility.test.js +95 -0
- package/alert/Alert.js +35 -125
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +75 -0
- package/alert/types.d.ts +5 -5
- package/badge/Badge.accessibility.test.js +129 -0
- package/badge/Badge.d.ts +4 -0
- package/badge/Badge.js +141 -41
- package/badge/Badge.stories.tsx +210 -0
- package/badge/Badge.test.js +30 -0
- package/badge/types.d.ts +54 -0
- package/bleed/Bleed.js +14 -55
- package/bleed/Bleed.stories.tsx +95 -95
- package/bleed/types.d.ts +26 -2
- package/box/Box.accessibility.test.js +33 -0
- package/box/Box.d.ts +1 -1
- package/box/Box.js +30 -81
- package/box/Box.stories.tsx +38 -51
- package/box/Box.test.js +13 -0
- package/box/types.d.ts +3 -14
- package/bulleted-list/BulletedList.accessibility.test.js +107 -0
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +92 -0
- package/bulleted-list/BulletedList.stories.tsx +115 -0
- package/bulleted-list/types.d.ts +38 -0
- package/button/Button.accessibility.test.js +127 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +63 -113
- package/button/Button.stories.tsx +151 -100
- package/button/Button.test.js +38 -0
- package/button/types.d.ts +12 -8
- package/card/Card.accessibility.test.js +36 -0
- package/card/Card.d.ts +1 -1
- package/card/Card.js +58 -102
- package/card/Card.stories.tsx +12 -42
- package/card/Card.test.js +39 -0
- package/card/types.d.ts +6 -11
- package/checkbox/Checkbox.accessibility.test.js +87 -0
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +144 -182
- package/checkbox/Checkbox.stories.tsx +166 -136
- package/checkbox/Checkbox.test.js +199 -0
- package/checkbox/types.d.ts +18 -6
- package/chip/Chip.accessibility.test.js +67 -0
- package/chip/Chip.d.ts +1 -1
- package/chip/Chip.js +47 -122
- package/chip/Chip.stories.tsx +104 -30
- package/chip/Chip.test.js +41 -0
- package/chip/types.d.ts +8 -16
- package/common/coreTokens.d.ts +237 -0
- package/common/coreTokens.js +184 -0
- package/common/utils.d.ts +1 -0
- package/common/utils.js +6 -12
- package/common/variables.d.ts +1395 -0
- package/common/variables.js +1030 -1375
- package/container/Container.d.ts +4 -0
- package/container/Container.js +194 -0
- package/container/Container.stories.tsx +214 -0
- package/container/types.d.ts +74 -0
- package/contextual-menu/ContextualMenu.accessibility.test.js +86 -0
- package/contextual-menu/ContextualMenu.d.ts +7 -0
- package/contextual-menu/ContextualMenu.js +71 -0
- package/contextual-menu/ContextualMenu.stories.tsx +182 -0
- package/contextual-menu/ContextualMenu.test.js +71 -0
- package/contextual-menu/MenuItemAction.d.ts +4 -0
- package/contextual-menu/MenuItemAction.js +46 -0
- package/contextual-menu/types.d.ts +22 -0
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +214 -0
- package/date-input/DateInput.accessibility.test.js +216 -0
- package/date-input/DateInput.js +171 -306
- package/date-input/DateInput.stories.tsx +203 -56
- package/date-input/DateInput.test.js +808 -0
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +115 -0
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +58 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +100 -0
- package/date-input/types.d.ts +86 -22
- package/dialog/Dialog.accessibility.test.js +69 -0
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +68 -130
- package/dialog/Dialog.stories.tsx +320 -167
- package/dialog/Dialog.test.js +307 -0
- package/dialog/types.d.ts +18 -25
- package/divider/Divider.accessibility.test.js +33 -0
- package/divider/Divider.d.ts +4 -0
- package/divider/Divider.js +36 -0
- package/divider/Divider.stories.tsx +223 -0
- package/divider/Divider.test.js +38 -0
- package/divider/types.d.ts +21 -0
- package/dropdown/Dropdown.accessibility.test.js +180 -0
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +231 -329
- package/dropdown/Dropdown.stories.tsx +244 -64
- package/dropdown/Dropdown.test.js +599 -0
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +63 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +70 -0
- package/dropdown/types.d.ts +37 -30
- package/file-input/FileInput.accessibility.test.js +160 -0
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +246 -357
- package/file-input/FileInput.stories.tsx +123 -12
- package/file-input/FileInput.test.js +459 -0
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +50 -99
- package/file-input/types.d.ts +25 -8
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +57 -0
- package/flex/Flex.stories.tsx +112 -0
- package/flex/types.d.ts +97 -0
- package/flex/types.js +5 -0
- package/footer/Footer.accessibility.test.js +117 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +70 -192
- package/footer/Footer.stories.tsx +61 -21
- package/footer/Footer.test.js +85 -0
- package/footer/Icons.d.ts +3 -2
- package/footer/Icons.js +67 -8
- package/footer/types.d.ts +25 -26
- package/grid/Grid.d.ts +7 -0
- package/grid/Grid.js +76 -0
- package/grid/Grid.stories.tsx +219 -0
- package/grid/types.d.ts +115 -0
- package/grid/types.js +5 -0
- package/header/Header.accessibility.test.js +84 -0
- package/header/Header.d.ts +4 -3
- package/header/Header.js +99 -203
- package/header/Header.stories.tsx +152 -63
- package/header/Header.test.js +66 -0
- package/header/Icons.d.ts +2 -2
- package/header/Icons.js +4 -9
- package/header/types.d.ts +7 -21
- package/heading/Heading.accessibility.test.js +33 -0
- package/heading/Heading.js +10 -32
- package/heading/Heading.test.js +169 -0
- package/heading/types.d.ts +7 -7
- package/icon/Icon.accessibility.test.js +30 -0
- package/icon/Icon.d.ts +4 -0
- package/icon/Icon.js +33 -0
- package/icon/Icon.stories.tsx +28 -0
- package/icon/types.d.ts +4 -0
- package/icon/types.js +5 -0
- package/image/Image.accessibility.test.js +56 -0
- package/image/Image.d.ts +4 -0
- package/image/Image.js +70 -0
- package/image/Image.stories.tsx +129 -0
- package/image/types.d.ts +72 -0
- package/image/types.js +5 -0
- package/inset/Inset.js +14 -55
- package/inset/Inset.stories.tsx +37 -36
- package/inset/types.d.ts +26 -2
- package/layout/ApplicationLayout.d.ts +16 -6
- package/layout/ApplicationLayout.js +83 -174
- package/layout/ApplicationLayout.stories.tsx +85 -94
- package/layout/Icons.d.ts +8 -0
- package/layout/Icons.js +49 -48
- package/layout/types.d.ts +19 -35
- package/link/Link.accessibility.test.js +112 -0
- package/link/Link.d.ts +3 -2
- package/link/Link.js +64 -108
- package/link/Link.stories.tsx +159 -52
- package/link/Link.test.js +63 -0
- package/link/types.d.ts +15 -35
- package/main.d.ts +19 -18
- package/main.js +82 -120
- package/nav-tabs/NavTabs.accessibility.test.js +52 -0
- package/nav-tabs/NavTabs.d.ts +7 -0
- package/nav-tabs/NavTabs.js +93 -0
- package/nav-tabs/NavTabs.stories.tsx +276 -0
- package/nav-tabs/NavTabs.test.js +76 -0
- package/nav-tabs/NavTabsContext.d.ts +3 -0
- package/nav-tabs/NavTabsContext.js +8 -0
- package/nav-tabs/Tab.d.ts +4 -0
- package/nav-tabs/Tab.js +118 -0
- package/nav-tabs/types.d.ts +52 -0
- package/nav-tabs/types.js +5 -0
- package/number-input/NumberInput.accessibility.test.js +228 -0
- package/number-input/NumberInput.js +47 -44
- package/number-input/NumberInput.stories.tsx +44 -28
- package/number-input/NumberInput.test.js +989 -0
- package/number-input/NumberInputContext.d.ts +3 -4
- package/number-input/NumberInputContext.js +3 -14
- package/number-input/types.d.ts +34 -15
- package/package.json +52 -53
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +21 -47
- package/paginator/Paginator.accessibility.test.js +79 -0
- package/paginator/Paginator.js +34 -91
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +335 -0
- package/paginator/types.d.ts +3 -3
- package/paragraph/Paragraph.accessibility.test.js +28 -0
- package/paragraph/Paragraph.d.ts +5 -0
- package/paragraph/Paragraph.js +22 -0
- package/paragraph/Paragraph.stories.tsx +27 -0
- package/password-input/Icons.d.ts +6 -0
- package/password-input/Icons.js +35 -0
- package/password-input/PasswordInput.accessibility.test.js +153 -0
- package/password-input/PasswordInput.js +57 -123
- package/password-input/PasswordInput.stories.tsx +1 -33
- package/password-input/PasswordInput.test.js +198 -0
- package/password-input/types.d.ts +21 -17
- package/progress-bar/ProgressBar.accessibility.test.js +35 -0
- package/progress-bar/ProgressBar.js +65 -91
- package/progress-bar/ProgressBar.stories.tsx +93 -0
- package/progress-bar/ProgressBar.test.js +93 -0
- package/progress-bar/types.d.ts +3 -3
- package/quick-nav/QuickNav.accessibility.test.js +57 -0
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +94 -0
- package/quick-nav/QuickNav.stories.tsx +356 -0
- package/quick-nav/types.d.ts +21 -0
- package/quick-nav/types.js +5 -0
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +67 -73
- package/radio-group/RadioGroup.accessibility.test.js +97 -0
- package/radio-group/RadioGroup.js +108 -141
- package/radio-group/RadioGroup.stories.tsx +171 -36
- package/radio-group/RadioGroup.test.js +756 -0
- package/radio-group/types.d.ts +88 -10
- package/resultset-table/Icons.d.ts +7 -0
- package/resultset-table/Icons.js +47 -0
- package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
- package/resultset-table/ResultsetTable.d.ts +7 -0
- package/resultset-table/ResultsetTable.js +170 -0
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +156 -30
- package/resultset-table/ResultsetTable.test.js +381 -0
- package/{resultsetTable → resultset-table}/types.d.ts +44 -11
- package/resultset-table/types.js +5 -0
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +89 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +143 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +87 -0
- package/select/Select.accessibility.test.js +217 -0
- package/select/Select.js +229 -502
- package/select/Select.stories.tsx +602 -204
- package/select/Select.test.js +2370 -0
- package/select/types.d.ts +64 -25
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +47 -0
- package/sidenav/Sidenav.accessibility.test.js +59 -0
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +132 -71
- package/sidenav/Sidenav.stories.tsx +250 -151
- package/sidenav/Sidenav.test.js +37 -0
- package/sidenav/SidenavContext.d.ts +5 -0
- package/sidenav/SidenavContext.js +13 -0
- package/sidenav/types.d.ts +52 -26
- package/slider/Slider.accessibility.test.js +104 -0
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +148 -180
- package/slider/Slider.test.js +254 -0
- package/slider/types.d.ts +11 -3
- package/spinner/Spinner.accessibility.test.js +96 -0
- package/spinner/Spinner.js +31 -75
- package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
- package/spinner/Spinner.test.js +55 -0
- package/spinner/types.d.ts +3 -3
- package/status-light/StatusLight.accessibility.test.js +157 -0
- package/status-light/StatusLight.d.ts +4 -0
- package/status-light/StatusLight.js +51 -0
- package/status-light/StatusLight.stories.tsx +74 -0
- package/status-light/StatusLight.test.js +25 -0
- package/status-light/types.d.ts +17 -0
- package/status-light/types.js +5 -0
- package/switch/Switch.accessibility.test.js +89 -0
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +149 -114
- package/switch/Switch.stories.tsx +44 -67
- package/switch/Switch.test.js +180 -0
- package/switch/types.d.ts +13 -5
- package/table/DropdownTheme.js +62 -0
- package/table/Table.accessibility.test.js +82 -0
- package/table/Table.d.ts +6 -2
- package/table/Table.js +78 -35
- package/table/Table.stories.tsx +651 -0
- package/table/Table.test.js +113 -0
- package/table/types.d.ts +34 -6
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +116 -0
- package/tabs/Tabs.accessibility.test.js +56 -0
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +316 -145
- package/tabs/Tabs.stories.tsx +120 -14
- package/tabs/Tabs.test.js +294 -0
- package/tabs/types.d.ts +29 -15
- package/tag/Tag.accessibility.test.js +69 -0
- package/tag/Tag.d.ts +1 -1
- package/tag/Tag.js +43 -85
- package/tag/Tag.stories.tsx +37 -27
- package/tag/Tag.test.js +49 -0
- package/tag/types.d.ts +25 -16
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +67 -0
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +86 -0
- package/text-input/TextInput.accessibility.test.js +321 -0
- package/text-input/TextInput.js +329 -556
- package/text-input/TextInput.stories.tsx +281 -272
- package/text-input/TextInput.test.js +1756 -0
- package/text-input/types.d.ts +70 -24
- package/textarea/Textarea.accessibility.test.js +155 -0
- package/textarea/Textarea.js +85 -135
- package/textarea/Textarea.stories.tsx +174 -0
- package/textarea/Textarea.test.js +406 -0
- package/textarea/types.d.ts +27 -16
- package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +92 -105
- package/toggle-group/ToggleGroup.stories.tsx +53 -8
- package/toggle-group/ToggleGroup.test.js +137 -0
- package/toggle-group/types.d.ts +34 -17
- package/typography/Typography.accessibility.test.js +339 -0
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +23 -0
- package/typography/Typography.stories.tsx +198 -0
- package/typography/types.d.ts +18 -0
- package/typography/types.js +5 -0
- package/useTheme.d.ts +1147 -1
- package/useTheme.js +4 -11
- package/useTranslatedLabels.d.ts +85 -0
- package/useTranslatedLabels.js +14 -0
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +94 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +124 -0
- package/wizard/Wizard.accessibility.test.js +55 -0
- package/wizard/Wizard.d.ts +1 -1
- package/wizard/Wizard.js +70 -101
- package/wizard/Wizard.stories.tsx +48 -19
- package/wizard/Wizard.test.js +114 -0
- package/wizard/types.d.ts +13 -9
- package/ThemeContext.d.ts +0 -15
- package/ThemeContext.js +0 -243
- 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/card/ice-cream.jpg +0 -0
- package/common/OpenSans.css +0 -81
- package/common/RequiredComponent.js +0 -32
- package/common/fonts/OpenSans-Bold.ttf +0 -0
- package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-Italic.ttf +0 -0
- package/common/fonts/OpenSans-Light.ttf +0 -0
- package/common/fonts/OpenSans-LightItalic.ttf +0 -0
- package/common/fonts/OpenSans-Regular.ttf +0 -0
- package/common/fonts/OpenSans-SemiBold.ttf +0 -0
- package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
- package/date/Date.js +0 -373
- package/date/index.d.ts +0 -27
- package/input-text/Icons.js +0 -22
- package/input-text/InputText.js +0 -611
- package/input-text/index.d.ts +0 -36
- package/list/List.d.ts +0 -4
- package/list/List.js +0 -47
- package/list/List.stories.tsx +0 -95
- package/list/types.d.ts +0 -7
- package/number-input/numberInputContextTypes.d.ts +0 -19
- package/progress-bar/ProgressBar.stories.jsx +0 -58
- package/radio/Radio.d.ts +0 -4
- package/radio/Radio.js +0 -174
- package/radio/Radio.stories.tsx +0 -192
- package/radio/types.d.ts +0 -54
- package/resultsetTable/ResultsetTable.d.ts +0 -4
- package/resultsetTable/ResultsetTable.js +0 -251
- package/row/Row.d.ts +0 -3
- package/row/Row.js +0 -127
- package/row/Row.stories.tsx +0 -237
- package/row/types.d.ts +0 -10
- package/slider/Slider.stories.tsx +0 -177
- package/stack/Stack.d.ts +0 -3
- package/stack/Stack.js +0 -97
- package/stack/Stack.stories.tsx +0 -164
- package/stack/types.d.ts +0 -9
- package/table/Table.stories.jsx +0 -277
- package/text/Text.d.ts +0 -7
- package/text/Text.js +0 -30
- package/text/Text.stories.tsx +0 -19
- package/textarea/Textarea.stories.jsx +0 -136
- package/toggle/Toggle.js +0 -186
- package/toggle/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/{list → action-icon}/types.js +0 -0
- /package/{radio → badge}/types.js +0 -0
- /package/{resultsetTable → bulleted-list}/types.js +0 -0
- /package/{row → container}/types.js +0 -0
- /package/{stack → contextual-menu}/types.js +0 -0
- /package/{number-input/numberInputContextTypes.js → divider/types.js} +0 -0
package/paginator/Paginator.js
CHANGED
|
@@ -1,61 +1,44 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports["default"] = void 0;
|
|
11
|
-
|
|
12
9
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
-
|
|
14
10
|
var _react = _interopRequireDefault(require("react"));
|
|
15
|
-
|
|
16
11
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
17
|
-
|
|
18
12
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
19
|
-
|
|
13
|
+
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
20
14
|
var _Button = _interopRequireDefault(require("../button/Button"));
|
|
21
|
-
|
|
22
15
|
var _Select = _interopRequireDefault(require("../select/Select"));
|
|
23
|
-
|
|
24
16
|
var _Icons = require("./Icons");
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
|
|
29
|
-
|
|
30
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
31
|
-
|
|
32
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
33
|
-
|
|
17
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
|
|
18
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
19
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
34
20
|
var DxcPaginator = function DxcPaginator(_ref) {
|
|
35
21
|
var _ref$currentPage = _ref.currentPage,
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
var totalPages = Math.ceil(totalItems / itemsPerPage);
|
|
22
|
+
currentPage = _ref$currentPage === void 0 ? 1 : _ref$currentPage,
|
|
23
|
+
_ref$itemsPerPage = _ref.itemsPerPage,
|
|
24
|
+
itemsPerPage = _ref$itemsPerPage === void 0 ? 5 : _ref$itemsPerPage,
|
|
25
|
+
itemsPerPageOptions = _ref.itemsPerPageOptions,
|
|
26
|
+
_ref$totalItems = _ref.totalItems,
|
|
27
|
+
totalItems = _ref$totalItems === void 0 ? 1 : _ref$totalItems,
|
|
28
|
+
showGoToPage = _ref.showGoToPage,
|
|
29
|
+
onPageChange = _ref.onPageChange,
|
|
30
|
+
itemsPerPageFunction = _ref.itemsPerPageFunction,
|
|
31
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
32
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
33
|
+
var totalPages = itemsPerPage > 0 && Math.ceil(totalItems / itemsPerPage);
|
|
48
34
|
var currentPageInternal = currentPage === -1 ? totalPages : currentPage;
|
|
49
35
|
var minItemsPerPage = currentPageInternal === 1 || currentPageInternal === 0 ? currentPageInternal : (currentPageInternal - 1) * itemsPerPage + 1;
|
|
50
36
|
var maxItemsPerPage = minItemsPerPage - 1 + itemsPerPage > totalItems ? totalItems : minItemsPerPage - 1 + itemsPerPage;
|
|
51
37
|
var colorsTheme = (0, _useTheme["default"])();
|
|
38
|
+
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
52
39
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
53
40
|
theme: colorsTheme.paginator
|
|
54
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
55
|
-
color: colorsTheme.paginator.backgroundColor
|
|
56
|
-
}, /*#__PURE__*/_react["default"].createElement(DxcPaginatorContainer, {
|
|
57
|
-
disabled: currentPageInternal === 1
|
|
58
|
-
}, /*#__PURE__*/_react["default"].createElement(LabelsContainer, null, itemsPerPageOptions && /*#__PURE__*/_react["default"].createElement(ItemsPageContainer, null, /*#__PURE__*/_react["default"].createElement(ItemsLabel, null, "Items per page "), /*#__PURE__*/_react["default"].createElement(SelectContainer, null, /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
41
|
+
}, /*#__PURE__*/_react["default"].createElement(DxcPaginatorContainer, null, /*#__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
42
|
options: itemsPerPageOptions.map(function (num) {
|
|
60
43
|
return {
|
|
61
44
|
label: num.toString(),
|
|
@@ -68,33 +51,23 @@ var DxcPaginator = function DxcPaginator(_ref) {
|
|
|
68
51
|
value: itemsPerPage.toString(),
|
|
69
52
|
size: "fillParent",
|
|
70
53
|
tabIndex: tabIndex
|
|
71
|
-
}))), /*#__PURE__*/_react["default"].createElement(TotalItemsContainer, null, minItemsPerPage,
|
|
72
|
-
size: "small",
|
|
54
|
+
}))), /*#__PURE__*/_react["default"].createElement(TotalItemsContainer, null, translatedLabels.paginator.minToMaxOfText(minItemsPerPage, maxItemsPerPage, totalItems)), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
73
55
|
mode: "secondary",
|
|
74
56
|
disabled: currentPageInternal === 1 || currentPageInternal === 0,
|
|
75
|
-
margin: {
|
|
76
|
-
left: "xxsmall",
|
|
77
|
-
right: "xxsmall"
|
|
78
|
-
},
|
|
79
57
|
icon: _Icons.firstIcon,
|
|
80
58
|
tabIndex: tabIndex,
|
|
81
59
|
onClick: function onClick() {
|
|
82
60
|
onPageChange(1);
|
|
83
61
|
}
|
|
84
62
|
}), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
85
|
-
size: "small",
|
|
86
63
|
mode: "secondary",
|
|
87
64
|
disabled: currentPageInternal === 1 || currentPageInternal === 0,
|
|
88
|
-
margin: {
|
|
89
|
-
left: "xxsmall",
|
|
90
|
-
right: "xxsmall"
|
|
91
|
-
},
|
|
92
65
|
icon: _Icons.previousIcon,
|
|
93
66
|
tabIndex: tabIndex,
|
|
94
67
|
onClick: function onClick() {
|
|
95
68
|
onPageChange(currentPage - 1);
|
|
96
69
|
}
|
|
97
|
-
}), showGoToPage
|
|
70
|
+
}), 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"], {
|
|
98
71
|
options: Array.from(Array(totalPages), function (e, num) {
|
|
99
72
|
return {
|
|
100
73
|
label: (num + 1).toString(),
|
|
@@ -107,40 +80,25 @@ var DxcPaginator = function DxcPaginator(_ref) {
|
|
|
107
80
|
value: currentPage.toString(),
|
|
108
81
|
size: "fillParent",
|
|
109
82
|
tabIndex: tabIndex
|
|
110
|
-
})))
|
|
111
|
-
size: "small",
|
|
83
|
+
}))) : /*#__PURE__*/_react["default"].createElement("span", null, translatedLabels.paginator.pageOfText(currentPageInternal, totalPages)), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
112
84
|
mode: "secondary",
|
|
113
85
|
disabled: currentPageInternal === totalPages,
|
|
114
|
-
margin: {
|
|
115
|
-
left: "xxsmall",
|
|
116
|
-
right: "xxsmall"
|
|
117
|
-
},
|
|
118
86
|
icon: _Icons.nextIcon,
|
|
119
87
|
tabIndex: tabIndex,
|
|
120
88
|
onClick: function onClick() {
|
|
121
89
|
onPageChange(currentPage + 1);
|
|
122
90
|
}
|
|
123
91
|
}), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
124
|
-
size: "small",
|
|
125
92
|
mode: "secondary",
|
|
126
93
|
disabled: currentPageInternal === totalPages,
|
|
127
|
-
margin: {
|
|
128
|
-
left: "xxsmall",
|
|
129
|
-
right: "xxsmall"
|
|
130
|
-
},
|
|
131
94
|
icon: _Icons.lastIcon,
|
|
132
95
|
tabIndex: tabIndex,
|
|
133
96
|
onClick: function onClick() {
|
|
134
97
|
onPageChange(totalPages);
|
|
135
98
|
}
|
|
136
|
-
}))))
|
|
99
|
+
}))));
|
|
137
100
|
};
|
|
138
|
-
|
|
139
|
-
var DxcPaginatorContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n height: ", ";\n width: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n font-style: ", ";\n text-transform: ", ";\n background-color: ", ";\n color: ", ";\n\n button {\n &:disabled {\n background-color: transparent !important;\n opacity: 0.3 !important;\n }\n }\n"])), function (props) {
|
|
140
|
-
return props.theme.height;
|
|
141
|
-
}, function (props) {
|
|
142
|
-
return props.theme.width;
|
|
143
|
-
}, function (props) {
|
|
101
|
+
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) {
|
|
144
102
|
return props.theme.fontFamily;
|
|
145
103
|
}, function (props) {
|
|
146
104
|
return props.theme.fontSize;
|
|
@@ -154,39 +112,24 @@ var DxcPaginatorContainer = _styledComponents["default"].div(_templateObject ||
|
|
|
154
112
|
return props.theme.backgroundColor;
|
|
155
113
|
}, function (props) {
|
|
156
114
|
return props.theme.fontColor;
|
|
115
|
+
}, function (props) {
|
|
116
|
+
return props.theme.verticalPadding;
|
|
117
|
+
}, function (props) {
|
|
118
|
+
return props.theme.horizontalPadding;
|
|
157
119
|
});
|
|
158
|
-
|
|
159
|
-
var
|
|
160
|
-
|
|
161
|
-
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) {
|
|
120
|
+
var SelectContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n min-width: 5.25rem;\n"])));
|
|
121
|
+
var ItemsPageContainer = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n margin-right: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
162
122
|
return props.theme.itemsPerPageSelectorMarginRight;
|
|
163
123
|
}, function (props) {
|
|
164
124
|
return props.theme.itemsPerPageSelectorMarginLeft;
|
|
165
125
|
});
|
|
166
|
-
|
|
167
|
-
var
|
|
168
|
-
|
|
169
|
-
var GoToLabel = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 10px;\n margin-left: 10px;\n"])));
|
|
170
|
-
|
|
126
|
+
var ItemsLabel = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 0.5rem;\n"])));
|
|
127
|
+
var GoToLabel = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 0.5rem;\n margin-left: 0.5rem;\n"])));
|
|
171
128
|
var TotalItemsContainer = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
172
129
|
return props.theme.totalItemsContainerMarginRight;
|
|
173
130
|
}, function (props) {
|
|
174
131
|
return props.theme.totalItemsContainerMarginLeft;
|
|
175
132
|
});
|
|
176
|
-
|
|
177
|
-
var
|
|
178
|
-
|
|
179
|
-
}, function (props) {
|
|
180
|
-
return props.theme.marginLeft;
|
|
181
|
-
});
|
|
182
|
-
|
|
183
|
-
var PageToSelectContainer = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (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) {
|
|
184
|
-
return props.theme.pageSelectorMarginRight;
|
|
185
|
-
}, function (props) {
|
|
186
|
-
return props.theme.pageSelectorMarginLeft;
|
|
187
|
-
});
|
|
188
|
-
|
|
189
|
-
var TextContainer = _styledComponents["default"].span(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])([""])));
|
|
190
|
-
|
|
191
|
-
var _default = DxcPaginator;
|
|
192
|
-
exports["default"] = _default;
|
|
133
|
+
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"])));
|
|
134
|
+
var PageToSelectContainer = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n margin-right: 0.5rem;\n"])));
|
|
135
|
+
var _default = exports["default"] = DxcPaginator;
|
|
@@ -2,12 +2,20 @@ import React from "react";
|
|
|
2
2
|
import DxcPaginator from "./Paginator";
|
|
3
3
|
import Title from "../../.storybook/components/Title";
|
|
4
4
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
5
|
+
import { HalstackProvider } from "../HalstackContext";
|
|
5
6
|
|
|
6
7
|
export default {
|
|
7
8
|
title: "Paginator",
|
|
8
9
|
component: DxcPaginator,
|
|
9
10
|
};
|
|
10
11
|
|
|
12
|
+
const opinionatedTheme = {
|
|
13
|
+
paginator: {
|
|
14
|
+
baseColor: "#f2f2f2",
|
|
15
|
+
fontColor: "#000000",
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
|
|
11
19
|
export const Chromatic = () => (
|
|
12
20
|
<>
|
|
13
21
|
<ExampleContainer>
|
|
@@ -59,5 +67,21 @@ export const Chromatic = () => (
|
|
|
59
67
|
showGoToPage
|
|
60
68
|
/>
|
|
61
69
|
</ExampleContainer>
|
|
70
|
+
<Title title="Opinionated theme" theme="light" level={2} />
|
|
71
|
+
<ExampleContainer>
|
|
72
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
73
|
+
<ExampleContainer>
|
|
74
|
+
<Title title="Page change and items per page options" theme="light" level={4} />
|
|
75
|
+
<DxcPaginator
|
|
76
|
+
currentPage={1}
|
|
77
|
+
itemsPerPage={10}
|
|
78
|
+
totalItems={27}
|
|
79
|
+
onPageChange={() => {}}
|
|
80
|
+
itemsPerPageOptions={[5, 10, 15]}
|
|
81
|
+
showGoToPage
|
|
82
|
+
/>
|
|
83
|
+
</ExampleContainer>
|
|
84
|
+
</HalstackProvider>
|
|
85
|
+
</ExampleContainer>
|
|
62
86
|
</>
|
|
63
87
|
);
|
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
5
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
6
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
7
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _react2 = require("@testing-library/react");
|
|
10
|
+
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
11
|
+
var _Paginator = _interopRequireDefault(require("./Paginator.tsx"));
|
|
12
|
+
// Mocking DOMRect for Radix Primitive Popover
|
|
13
|
+
global.globalThis = global;
|
|
14
|
+
global.DOMRect = {
|
|
15
|
+
fromRect: function fromRect() {
|
|
16
|
+
return {
|
|
17
|
+
top: 0,
|
|
18
|
+
left: 0,
|
|
19
|
+
bottom: 0,
|
|
20
|
+
right: 0,
|
|
21
|
+
width: 0,
|
|
22
|
+
height: 0
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
global.ResizeObserver = /*#__PURE__*/function () {
|
|
27
|
+
function ResizeObserver() {
|
|
28
|
+
(0, _classCallCheck2["default"])(this, ResizeObserver);
|
|
29
|
+
}
|
|
30
|
+
(0, _createClass2["default"])(ResizeObserver, [{
|
|
31
|
+
key: "observe",
|
|
32
|
+
value: function observe() {}
|
|
33
|
+
}, {
|
|
34
|
+
key: "unobserve",
|
|
35
|
+
value: function unobserve() {}
|
|
36
|
+
}, {
|
|
37
|
+
key: "disconnect",
|
|
38
|
+
value: function disconnect() {}
|
|
39
|
+
}]);
|
|
40
|
+
return ResizeObserver;
|
|
41
|
+
}();
|
|
42
|
+
global.DOMRect = {
|
|
43
|
+
fromRect: function fromRect() {
|
|
44
|
+
return {
|
|
45
|
+
top: 0,
|
|
46
|
+
left: 0,
|
|
47
|
+
bottom: 0,
|
|
48
|
+
right: 0,
|
|
49
|
+
width: 0,
|
|
50
|
+
height: 0
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
describe("Paginator component tests", function () {
|
|
55
|
+
test("Paginator renders with default values", function () {
|
|
56
|
+
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], null)),
|
|
57
|
+
getByText = _render.getByText;
|
|
58
|
+
expect(getByText("1 to 1 of 1")).toBeTruthy();
|
|
59
|
+
expect(getByText("Page: 1 of 1")).toBeTruthy();
|
|
60
|
+
});
|
|
61
|
+
test("Paginator renders with currentPage", function () {
|
|
62
|
+
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
63
|
+
currentPage: 2
|
|
64
|
+
})),
|
|
65
|
+
getByText = _render2.getByText;
|
|
66
|
+
expect(getByText("Page: 2 of 1")).toBeTruthy();
|
|
67
|
+
});
|
|
68
|
+
test("Paginator renders with itemsPerPageOptions", function () {
|
|
69
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
70
|
+
currentPage: 1,
|
|
71
|
+
itemsPerPage: 10,
|
|
72
|
+
itemsPerPageOptions: [10, 15],
|
|
73
|
+
totalItems: 20
|
|
74
|
+
})),
|
|
75
|
+
getByText = _render3.getByText;
|
|
76
|
+
expect(getByText("Items per page:")).toBeTruthy();
|
|
77
|
+
expect(getByText("1 to 10 of 20")).toBeTruthy();
|
|
78
|
+
expect(getByText("Page: 1 of 2")).toBeTruthy();
|
|
79
|
+
});
|
|
80
|
+
test("Paginator renders with totalItems", function () {
|
|
81
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
82
|
+
totalItems: 20
|
|
83
|
+
})),
|
|
84
|
+
getByText = _render4.getByText;
|
|
85
|
+
expect(getByText("1 to 5 of 20")).toBeTruthy();
|
|
86
|
+
expect(getByText("Page: 1 of 4")).toBeTruthy();
|
|
87
|
+
});
|
|
88
|
+
test("Paginator renders with correct text in second page", function () {
|
|
89
|
+
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
90
|
+
currentPage: 2,
|
|
91
|
+
itemsPerPage: 10,
|
|
92
|
+
totalItems: 20
|
|
93
|
+
})),
|
|
94
|
+
getByText = _render5.getByText;
|
|
95
|
+
expect(getByText("11 to 20 of 20")).toBeTruthy();
|
|
96
|
+
expect(getByText("Page: 2 of 2")).toBeTruthy();
|
|
97
|
+
});
|
|
98
|
+
test("Paginator renders goToPage select", function () {
|
|
99
|
+
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
100
|
+
currentPage: 2,
|
|
101
|
+
showGoToPage: true,
|
|
102
|
+
itemsPerPage: 10,
|
|
103
|
+
totalItems: 20
|
|
104
|
+
})),
|
|
105
|
+
getByText = _render6.getByText;
|
|
106
|
+
expect(getByText("Go to page:")).toBeTruthy();
|
|
107
|
+
});
|
|
108
|
+
test("Paginator goToPage call correct function", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
109
|
+
var onClick, _render7, getByText, getAllByRole, goToPageSelect, goToPageOption;
|
|
110
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
111
|
+
while (1) switch (_context.prev = _context.next) {
|
|
112
|
+
case 0:
|
|
113
|
+
onClick = jest.fn();
|
|
114
|
+
window.HTMLElement.prototype.scrollIntoView = function () {};
|
|
115
|
+
window.HTMLElement.prototype.scrollTo = function () {};
|
|
116
|
+
_render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
117
|
+
currentPage: 1,
|
|
118
|
+
itemsPerPage: 10,
|
|
119
|
+
totalItems: 27,
|
|
120
|
+
showGoToPage: true,
|
|
121
|
+
onPageChange: onClick
|
|
122
|
+
})), getByText = _render7.getByText, getAllByRole = _render7.getAllByRole;
|
|
123
|
+
goToPageSelect = getAllByRole("combobox")[0];
|
|
124
|
+
_context.next = 7;
|
|
125
|
+
return _userEvent["default"].click(goToPageSelect);
|
|
126
|
+
case 7:
|
|
127
|
+
goToPageOption = getByText("2");
|
|
128
|
+
_context.next = 10;
|
|
129
|
+
return _userEvent["default"].click(goToPageOption);
|
|
130
|
+
case 10:
|
|
131
|
+
expect(onClick).toHaveBeenCalledWith(2);
|
|
132
|
+
case 11:
|
|
133
|
+
case "end":
|
|
134
|
+
return _context.stop();
|
|
135
|
+
}
|
|
136
|
+
}, _callee);
|
|
137
|
+
})));
|
|
138
|
+
test("Call correct goToPageFunction", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
139
|
+
var onClick, _render8, getAllByRole, nextButton;
|
|
140
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
141
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
142
|
+
case 0:
|
|
143
|
+
onClick = jest.fn();
|
|
144
|
+
_render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
145
|
+
onPageChange: onClick,
|
|
146
|
+
currentPage: 1,
|
|
147
|
+
itemsPerPage: 10,
|
|
148
|
+
totalItems: 20
|
|
149
|
+
})), getAllByRole = _render8.getAllByRole;
|
|
150
|
+
nextButton = getAllByRole("button")[2];
|
|
151
|
+
_context2.next = 5;
|
|
152
|
+
return _userEvent["default"].click(nextButton);
|
|
153
|
+
case 5:
|
|
154
|
+
expect(onClick).toHaveBeenCalled();
|
|
155
|
+
case 6:
|
|
156
|
+
case "end":
|
|
157
|
+
return _context2.stop();
|
|
158
|
+
}
|
|
159
|
+
}, _callee2);
|
|
160
|
+
})));
|
|
161
|
+
test("Call correct itemsPerPageFunction", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
162
|
+
var onClick, _render9, getAllByText, getByText, select, itemPerPageOption;
|
|
163
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
164
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
165
|
+
case 0:
|
|
166
|
+
onClick = jest.fn();
|
|
167
|
+
window.HTMLElement.prototype.scrollIntoView = function () {};
|
|
168
|
+
window.HTMLElement.prototype.scrollTo = function () {};
|
|
169
|
+
_render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
170
|
+
currentPage: 1,
|
|
171
|
+
itemsPerPage: 10,
|
|
172
|
+
itemsPerPageOptions: [10, 15],
|
|
173
|
+
itemsPerPageFunction: onClick,
|
|
174
|
+
totalItems: 20
|
|
175
|
+
})), getAllByText = _render9.getAllByText, getByText = _render9.getByText;
|
|
176
|
+
select = getAllByText("10")[0];
|
|
177
|
+
_context3.next = 7;
|
|
178
|
+
return _userEvent["default"].click(select);
|
|
179
|
+
case 7:
|
|
180
|
+
itemPerPageOption = getByText("15");
|
|
181
|
+
_context3.next = 10;
|
|
182
|
+
return _userEvent["default"].click(itemPerPageOption);
|
|
183
|
+
case 10:
|
|
184
|
+
expect(onClick).toHaveBeenCalledWith(15);
|
|
185
|
+
case 11:
|
|
186
|
+
case "end":
|
|
187
|
+
return _context3.stop();
|
|
188
|
+
}
|
|
189
|
+
}, _callee3);
|
|
190
|
+
})));
|
|
191
|
+
test("Next button is disable in last page", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
192
|
+
var onClick, _render10, getAllByRole, nextButton;
|
|
193
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
194
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
195
|
+
case 0:
|
|
196
|
+
onClick = jest.fn();
|
|
197
|
+
_render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
198
|
+
onPageChange: onClick,
|
|
199
|
+
currentPage: 2,
|
|
200
|
+
itemsPerPage: 10,
|
|
201
|
+
totalItems: 20
|
|
202
|
+
})), getAllByRole = _render10.getAllByRole;
|
|
203
|
+
nextButton = getAllByRole("button")[2];
|
|
204
|
+
expect(nextButton.hasAttribute("disabled")).toBeTruthy();
|
|
205
|
+
_context4.next = 6;
|
|
206
|
+
return _userEvent["default"].click(nextButton);
|
|
207
|
+
case 6:
|
|
208
|
+
expect(onClick).toHaveBeenCalledTimes(0);
|
|
209
|
+
case 7:
|
|
210
|
+
case "end":
|
|
211
|
+
return _context4.stop();
|
|
212
|
+
}
|
|
213
|
+
}, _callee4);
|
|
214
|
+
})));
|
|
215
|
+
test("Last button is disable in last page", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
|
|
216
|
+
var onClick, _render11, getAllByRole, lastButton;
|
|
217
|
+
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
218
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
219
|
+
case 0:
|
|
220
|
+
onClick = jest.fn();
|
|
221
|
+
_render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
222
|
+
onPageChange: onClick,
|
|
223
|
+
currentPage: 2,
|
|
224
|
+
itemsPerPage: 10,
|
|
225
|
+
totalItems: 20
|
|
226
|
+
})), getAllByRole = _render11.getAllByRole;
|
|
227
|
+
lastButton = getAllByRole("button")[3];
|
|
228
|
+
expect(lastButton.hasAttribute("disabled")).toBeTruthy();
|
|
229
|
+
_context5.next = 6;
|
|
230
|
+
return _userEvent["default"].click(lastButton);
|
|
231
|
+
case 6:
|
|
232
|
+
expect(onClick).toHaveBeenCalledTimes(0);
|
|
233
|
+
case 7:
|
|
234
|
+
case "end":
|
|
235
|
+
return _context5.stop();
|
|
236
|
+
}
|
|
237
|
+
}, _callee5);
|
|
238
|
+
})));
|
|
239
|
+
test("First button is disable in first page", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
|
|
240
|
+
var onClick, _render12, getAllByRole, lastButton;
|
|
241
|
+
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
|
242
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
243
|
+
case 0:
|
|
244
|
+
onClick = jest.fn();
|
|
245
|
+
_render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
246
|
+
onPageChange: onClick,
|
|
247
|
+
currentPage: 1,
|
|
248
|
+
itemsPerPage: 10,
|
|
249
|
+
totalItems: 20
|
|
250
|
+
})), getAllByRole = _render12.getAllByRole;
|
|
251
|
+
lastButton = getAllByRole("button")[0];
|
|
252
|
+
expect(lastButton.hasAttribute("disabled")).toBeTruthy();
|
|
253
|
+
_context6.next = 6;
|
|
254
|
+
return _userEvent["default"].click(lastButton);
|
|
255
|
+
case 6:
|
|
256
|
+
expect(onClick).toHaveBeenCalledTimes(0);
|
|
257
|
+
case 7:
|
|
258
|
+
case "end":
|
|
259
|
+
return _context6.stop();
|
|
260
|
+
}
|
|
261
|
+
}, _callee6);
|
|
262
|
+
})));
|
|
263
|
+
test("Previous button is disable in first page", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
|
|
264
|
+
var onClick, _render13, getAllByRole, lastButton;
|
|
265
|
+
return _regenerator["default"].wrap(function _callee7$(_context7) {
|
|
266
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
267
|
+
case 0:
|
|
268
|
+
onClick = jest.fn();
|
|
269
|
+
_render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
270
|
+
onPageChange: onClick,
|
|
271
|
+
currentPage: 1,
|
|
272
|
+
itemsPerPage: 10,
|
|
273
|
+
totalItems: 20
|
|
274
|
+
})), getAllByRole = _render13.getAllByRole;
|
|
275
|
+
lastButton = getAllByRole("button")[1];
|
|
276
|
+
expect(lastButton.hasAttribute("disabled")).toBeTruthy();
|
|
277
|
+
_context7.next = 6;
|
|
278
|
+
return _userEvent["default"].click(lastButton);
|
|
279
|
+
case 6:
|
|
280
|
+
expect(onClick).toHaveBeenCalledTimes(0);
|
|
281
|
+
case 7:
|
|
282
|
+
case "end":
|
|
283
|
+
return _context7.stop();
|
|
284
|
+
}
|
|
285
|
+
}, _callee7);
|
|
286
|
+
})));
|
|
287
|
+
test("Last and next buttons are disable in last page", function () {
|
|
288
|
+
var onClick = jest.fn();
|
|
289
|
+
var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
290
|
+
onPageChange: onClick,
|
|
291
|
+
currentPage: 2,
|
|
292
|
+
itemsPerPage: 10,
|
|
293
|
+
totalItems: 20
|
|
294
|
+
})),
|
|
295
|
+
getAllByRole = _render14.getAllByRole;
|
|
296
|
+
var firstButton = getAllByRole("button")[0];
|
|
297
|
+
var prevButton = getAllByRole("button")[1];
|
|
298
|
+
var nextButton = getAllByRole("button")[2];
|
|
299
|
+
var lastButton = getAllByRole("button")[3];
|
|
300
|
+
expect(firstButton.hasAttribute("disabled")).toBeFalsy();
|
|
301
|
+
expect(prevButton.hasAttribute("disabled")).toBeFalsy();
|
|
302
|
+
expect(nextButton.hasAttribute("disabled")).toBeTruthy();
|
|
303
|
+
expect(lastButton.hasAttribute("disabled")).toBeTruthy();
|
|
304
|
+
});
|
|
305
|
+
test("First and previous buttons are disable in first page", function () {
|
|
306
|
+
var onClick = jest.fn();
|
|
307
|
+
var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
308
|
+
onPageChange: onClick,
|
|
309
|
+
currentPage: 1,
|
|
310
|
+
itemsPerPage: 10,
|
|
311
|
+
totalItems: 20
|
|
312
|
+
})),
|
|
313
|
+
getAllByRole = _render15.getAllByRole;
|
|
314
|
+
var firstButton = getAllByRole("button")[0];
|
|
315
|
+
var prevButton = getAllByRole("button")[1];
|
|
316
|
+
var nextButton = getAllByRole("button")[2];
|
|
317
|
+
var lastButton = getAllByRole("button")[3];
|
|
318
|
+
expect(firstButton.hasAttribute("disabled")).toBeTruthy();
|
|
319
|
+
expect(prevButton.hasAttribute("disabled")).toBeTruthy();
|
|
320
|
+
expect(nextButton.hasAttribute("disabled")).toBeFalsy();
|
|
321
|
+
expect(lastButton.hasAttribute("disabled")).toBeFalsy();
|
|
322
|
+
});
|
|
323
|
+
test("itemsPerPage is 0 and showGoToPage is true", function () {
|
|
324
|
+
var _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
325
|
+
itemsPerPage: 0,
|
|
326
|
+
itemsPerPageOptions: [5, 10, 15],
|
|
327
|
+
totalItems: 27,
|
|
328
|
+
showGoToPage: true
|
|
329
|
+
})),
|
|
330
|
+
getByText = _render16.getByText,
|
|
331
|
+
getAllByRole = _render16.getAllByRole;
|
|
332
|
+
expect(getByText("Items per page:")).toBeTruthy();
|
|
333
|
+
expect(getAllByRole("combobox")).toBeTruthy();
|
|
334
|
+
});
|
|
335
|
+
});
|
package/paginator/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
type Props = {
|
|
2
2
|
/**
|
|
3
3
|
* Number of the current selected page.
|
|
4
4
|
*/
|
|
@@ -16,7 +16,7 @@ declare type Props = {
|
|
|
16
16
|
* This function will be called when the user selects an item per page option.
|
|
17
17
|
* The number will be passed as a parameter to this function.
|
|
18
18
|
*/
|
|
19
|
-
itemsPerPageFunction?: (
|
|
19
|
+
itemsPerPageFunction?: (itemsPerPage: number) => void;
|
|
20
20
|
/**
|
|
21
21
|
* Total number of items in the pages.
|
|
22
22
|
*/
|
|
@@ -29,7 +29,7 @@ declare type Props = {
|
|
|
29
29
|
* This function will be called when the user clicks on any of the button to change pages.
|
|
30
30
|
* The page number will be passed as a parameter to this function.
|
|
31
31
|
*/
|
|
32
|
-
onPageChange?: (
|
|
32
|
+
onPageChange?: (page: number) => void;
|
|
33
33
|
/**
|
|
34
34
|
* Value of the tabindex attribute.
|
|
35
35
|
*/
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
5
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
6
|
+
var _react = _interopRequireDefault(require("react"));
|
|
7
|
+
var _react2 = require("@testing-library/react");
|
|
8
|
+
var _jestAxe = require("jest-axe");
|
|
9
|
+
var _Paragraph = _interopRequireDefault(require("./Paragraph"));
|
|
10
|
+
describe("Paragraph component accessibility tests", function () {
|
|
11
|
+
it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
12
|
+
var _render, container, results;
|
|
13
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
14
|
+
while (1) switch (_context.prev = _context.next) {
|
|
15
|
+
case 0:
|
|
16
|
+
_render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paragraph["default"], null, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla id tortor sit amet velit auctor cursus id eget nisl. Vivamus luctus egestas eros, at mattis libero eleifend ac. Integer vel urna rutrum, pretium arcu dignissim, fringilla turpis. Nullam luctus odio quis magna finibus, a pharetra magna euismod. Nullam efficitur semper pellentesque. Nulla eget arcu ac diam fringilla vehicula. In imperdiet nisl hendrerit, elementum metus eu, ornare risus. Aenean neque nibh, vestibulum vitae elit vel, imperdiet suscipit leo. Curabitur blandit iaculis pretium. Fusce id imperdiet dui, ut laoreet justo. Sed maximus sollicitudin ipsum, et varius massa condimentum eget. Vivamus id mauris et nisl mattis consequat et id lectus. Quisque mollis lacinia nisl. Suspendisse sed quam tincidunt, commodo dolor vel, tincidunt nisl.")), container = _render.container;
|
|
17
|
+
_context.next = 3;
|
|
18
|
+
return (0, _jestAxe.axe)(container);
|
|
19
|
+
case 3:
|
|
20
|
+
results = _context.sent;
|
|
21
|
+
expect(results).toHaveNoViolations();
|
|
22
|
+
case 5:
|
|
23
|
+
case "end":
|
|
24
|
+
return _context.stop();
|
|
25
|
+
}
|
|
26
|
+
}, _callee);
|
|
27
|
+
})));
|
|
28
|
+
});
|