@dxc-technology/halstack-react 0.0.0-da224ae → 0.0.0-da3a230
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 -0
- package/BackgroundColorContext.js +6 -26
- 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 +105 -194
- package/accordion/Accordion.stories.tsx +251 -0
- package/accordion/Accordion.test.js +56 -0
- package/accordion/types.d.ts +12 -23
- package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
- package/accordion-group/AccordionGroup.d.ts +3 -3
- package/accordion-group/AccordionGroup.js +39 -108
- package/accordion-group/AccordionGroup.stories.tsx +252 -0
- 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 +18 -23
- 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 +36 -126
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +75 -0
- package/alert/types.d.ts +6 -6
- package/badge/Badge.accessibility.test.js +129 -0
- package/badge/Badge.d.ts +4 -0
- package/badge/Badge.js +142 -40
- package/badge/Badge.stories.tsx +210 -0
- package/badge/Badge.test.js +30 -0
- package/badge/types.d.ts +54 -0
- package/badge/types.js +5 -0
- package/bleed/Bleed.d.ts +3 -0
- package/bleed/Bleed.js +43 -0
- package/bleed/Bleed.stories.tsx +342 -0
- package/bleed/types.d.ts +37 -0
- package/bleed/types.js +5 -0
- package/box/Box.accessibility.test.js +33 -0
- package/box/Box.d.ts +1 -1
- package/box/Box.js +32 -86
- package/box/Box.stories.tsx +38 -51
- package/box/Box.test.js +13 -0
- package/box/types.d.ts +3 -18
- 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/bulleted-list/types.js +5 -0
- package/button/Button.accessibility.test.js +127 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +65 -121
- package/button/Button.stories.tsx +155 -106
- package/button/Button.test.js +38 -0
- package/button/types.d.ts +14 -14
- package/card/Card.accessibility.test.js +36 -0
- package/card/Card.d.ts +1 -1
- package/card/Card.js +59 -104
- package/card/Card.stories.tsx +171 -0
- package/card/Card.test.js +39 -0
- package/card/types.d.ts +8 -15
- package/checkbox/Checkbox.accessibility.test.js +87 -0
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +145 -183
- package/checkbox/Checkbox.stories.tsx +166 -136
- package/checkbox/Checkbox.test.js +199 -0
- package/checkbox/types.d.ts +20 -8
- package/chip/Chip.accessibility.test.js +67 -0
- package/chip/Chip.d.ts +4 -0
- package/chip/Chip.js +49 -146
- package/chip/Chip.stories.tsx +104 -30
- package/chip/Chip.test.js +41 -0
- package/chip/types.d.ts +45 -0
- package/chip/types.js +5 -0
- 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 +1034 -1344
- 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/container/types.js +5 -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/contextual-menu/types.js +5 -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 +174 -313
- 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 +121 -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 +69 -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/divider/types.js +5 -0
- package/dropdown/Dropdown.accessibility.test.js +180 -0
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +232 -330
- package/dropdown/Dropdown.stories.tsx +427 -0
- 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 +38 -31
- package/file-input/FileInput.accessibility.test.js +160 -0
- package/file-input/FileInput.d.ts +4 -0
- package/file-input/FileInput.js +274 -363
- package/file-input/FileInput.stories.tsx +618 -0
- package/file-input/FileInput.test.js +382 -0
- package/file-input/FileItem.d.ts +4 -0
- package/file-input/FileItem.js +61 -133
- package/file-input/types.d.ts +129 -0
- package/file-input/types.js +5 -0
- 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 +74 -200
- package/footer/{Footer.stories.jsx → Footer.stories.tsx} +84 -39
- package/footer/Footer.test.js +85 -0
- package/footer/Icons.d.ts +3 -0
- package/footer/Icons.js +67 -8
- package/footer/types.d.ts +41 -38
- 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 +103 -218
- package/header/Header.stories.tsx +251 -0
- package/header/Header.test.js +66 -0
- package/header/Icons.d.ts +2 -0
- package/header/Icons.js +4 -9
- package/header/types.d.ts +6 -18
- package/heading/Heading.accessibility.test.js +33 -0
- package/heading/Heading.js +11 -33
- package/heading/Heading.stories.tsx +54 -0
- 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.d.ts +3 -0
- package/inset/Inset.js +43 -0
- package/inset/Inset.stories.tsx +230 -0
- package/inset/types.d.ts +37 -0
- package/inset/types.js +5 -0
- package/layout/ApplicationLayout.d.ts +20 -0
- package/layout/ApplicationLayout.js +83 -184
- package/layout/ApplicationLayout.stories.tsx +162 -0
- package/layout/Icons.d.ts +8 -0
- package/layout/Icons.js +49 -48
- package/layout/types.d.ts +41 -0
- package/layout/types.js +5 -0
- package/link/Link.accessibility.test.js +112 -0
- package/link/Link.d.ts +3 -2
- package/link/Link.js +65 -109
- package/link/Link.stories.tsx +199 -16
- package/link/Link.test.js +63 -0
- package/link/types.d.ts +15 -35
- package/main.d.ts +19 -14
- package/main.js +92 -98
- package/nav-tabs/NavTabs.accessibility.test.js +44 -0
- package/nav-tabs/NavTabs.d.ts +7 -0
- package/nav-tabs/NavTabs.js +93 -0
- package/nav-tabs/NavTabs.stories.tsx +279 -0
- package/nav-tabs/NavTabs.test.js +75 -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 +117 -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 +48 -48
- package/number-input/NumberInput.stories.tsx +44 -28
- package/number-input/NumberInput.test.js +989 -0
- package/number-input/NumberInputContext.d.ts +3 -0
- package/number-input/NumberInputContext.js +3 -11
- package/number-input/types.d.ts +34 -15
- package/package.json +52 -51
- 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 +35 -98
- 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 +60 -125
- package/password-input/PasswordInput.stories.tsx +3 -35
- package/password-input/PasswordInput.test.js +198 -0
- package/password-input/types.d.ts +35 -24
- package/progress-bar/ProgressBar.accessibility.test.js +35 -0
- package/progress-bar/ProgressBar.js +66 -92
- 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 +4 -0
- package/radio-group/Radio.js +124 -0
- package/radio-group/RadioGroup.accessibility.test.js +97 -0
- package/radio-group/RadioGroup.d.ts +4 -0
- package/radio-group/RadioGroup.js +235 -0
- package/radio-group/RadioGroup.stories.tsx +214 -0
- package/radio-group/RadioGroup.test.js +756 -0
- package/radio-group/types.d.ts +114 -0
- package/radio-group/types.js +5 -0
- 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/resultset-table/ResultsetTable.stories.tsx +401 -0
- package/resultset-table/ResultsetTable.test.js +381 -0
- package/resultset-table/types.d.ts +100 -0
- 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.d.ts +4 -0
- package/select/Select.js +240 -515
- package/select/Select.stories.tsx +602 -204
- package/select/Select.test.js +2370 -0
- package/select/types.d.ts +209 -0
- package/select/types.js +5 -0
- package/sidenav/Sidenav.accessibility.test.js +59 -0
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +137 -72
- package/sidenav/Sidenav.stories.tsx +277 -0
- 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 +150 -182
- 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 +32 -76
- package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -26
- 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 +150 -115
- package/switch/Switch.stories.tsx +45 -68
- 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 +80 -37
- 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 +117 -0
- package/tabs/Tabs.accessibility.test.js +56 -0
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +307 -145
- package/tabs/Tabs.stories.tsx +224 -0
- package/tabs/Tabs.test.js +276 -0
- package/tabs/types.d.ts +48 -27
- package/tag/Tag.accessibility.test.js +69 -0
- package/tag/Tag.d.ts +1 -1
- package/tag/Tag.js +44 -86
- package/tag/Tag.stories.tsx +37 -30
- package/tag/Tag.test.js +41 -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.d.ts +4 -0
- package/text-input/TextInput.js +335 -593
- package/text-input/TextInput.stories.tsx +465 -0
- package/text-input/TextInput.test.js +1756 -0
- package/text-input/types.d.ts +205 -0
- package/text-input/types.js +5 -0
- package/textarea/Textarea.accessibility.test.js +155 -0
- package/textarea/Textarea.d.ts +4 -0
- package/textarea/Textarea.js +98 -181
- package/textarea/Textarea.stories.tsx +174 -0
- package/textarea/Textarea.test.js +406 -0
- package/textarea/types.d.ts +141 -0
- package/textarea/types.js +5 -0
- package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
- package/toggle-group/ToggleGroup.d.ts +4 -0
- package/toggle-group/ToggleGroup.js +101 -142
- package/toggle-group/ToggleGroup.stories.tsx +79 -39
- package/toggle-group/ToggleGroup.test.js +137 -0
- package/toggle-group/types.d.ts +114 -0
- package/toggle-group/types.js +5 -0
- 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 +1148 -0
- 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 +123 -104
- package/wizard/{Wizard.stories.jsx → Wizard.stories.tsx} +48 -19
- package/wizard/Wizard.test.js +114 -0
- package/wizard/types.d.ts +15 -15
- 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/chip/index.d.ts +0 -22
- 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/file-input/index.d.ts +0 -81
- package/input-text/Icons.js +0 -22
- package/input-text/InputText.js +0 -611
- package/input-text/index.d.ts +0 -36
- 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.js +0 -274
- package/resultsetTable/index.d.ts +0 -19
- package/select/index.d.ts +0 -131
- package/slider/Slider.stories.tsx +0 -177
- package/table/Table.stories.jsx +0 -276
- package/text-input/index.d.ts +0 -135
- package/textarea/Textarea.stories.jsx +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/{radio → action-icon}/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
|
-
var
|
|
19
|
-
|
|
12
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
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(),
|
|
@@ -67,37 +50,24 @@ var DxcPaginator = function DxcPaginator(_ref) {
|
|
|
67
50
|
},
|
|
68
51
|
value: itemsPerPage.toString(),
|
|
69
52
|
size: "fillParent",
|
|
70
|
-
margin: {
|
|
71
|
-
top: "xsmall"
|
|
72
|
-
},
|
|
73
53
|
tabIndex: tabIndex
|
|
74
|
-
}))), /*#__PURE__*/_react["default"].createElement(TotalItemsContainer, null, minItemsPerPage,
|
|
75
|
-
size: "small",
|
|
54
|
+
}))), /*#__PURE__*/_react["default"].createElement(TotalItemsContainer, null, translatedLabels.paginator.minToMaxOfText(minItemsPerPage, maxItemsPerPage, totalItems)), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
76
55
|
mode: "secondary",
|
|
77
56
|
disabled: currentPageInternal === 1 || currentPageInternal === 0,
|
|
78
|
-
margin: {
|
|
79
|
-
left: "xxsmall",
|
|
80
|
-
right: "xxsmall"
|
|
81
|
-
},
|
|
82
57
|
icon: _Icons.firstIcon,
|
|
83
58
|
tabIndex: tabIndex,
|
|
84
59
|
onClick: function onClick() {
|
|
85
60
|
onPageChange(1);
|
|
86
61
|
}
|
|
87
62
|
}), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
88
|
-
size: "small",
|
|
89
63
|
mode: "secondary",
|
|
90
64
|
disabled: currentPageInternal === 1 || currentPageInternal === 0,
|
|
91
|
-
margin: {
|
|
92
|
-
left: "xxsmall",
|
|
93
|
-
right: "xxsmall"
|
|
94
|
-
},
|
|
95
65
|
icon: _Icons.previousIcon,
|
|
96
66
|
tabIndex: tabIndex,
|
|
97
67
|
onClick: function onClick() {
|
|
98
68
|
onPageChange(currentPage - 1);
|
|
99
69
|
}
|
|
100
|
-
}), 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"], {
|
|
101
71
|
options: Array.from(Array(totalPages), function (e, num) {
|
|
102
72
|
return {
|
|
103
73
|
label: (num + 1).toString(),
|
|
@@ -109,44 +79,26 @@ var DxcPaginator = function DxcPaginator(_ref) {
|
|
|
109
79
|
},
|
|
110
80
|
value: currentPage.toString(),
|
|
111
81
|
size: "fillParent",
|
|
112
|
-
margin: {
|
|
113
|
-
top: "xsmall"
|
|
114
|
-
},
|
|
115
82
|
tabIndex: tabIndex
|
|
116
|
-
})))
|
|
117
|
-
size: "small",
|
|
83
|
+
}))) : /*#__PURE__*/_react["default"].createElement("span", null, translatedLabels.paginator.pageOfText(currentPageInternal, totalPages)), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
118
84
|
mode: "secondary",
|
|
119
85
|
disabled: currentPageInternal === totalPages,
|
|
120
|
-
margin: {
|
|
121
|
-
left: "xxsmall",
|
|
122
|
-
right: "xxsmall"
|
|
123
|
-
},
|
|
124
86
|
icon: _Icons.nextIcon,
|
|
125
87
|
tabIndex: tabIndex,
|
|
126
88
|
onClick: function onClick() {
|
|
127
89
|
onPageChange(currentPage + 1);
|
|
128
90
|
}
|
|
129
91
|
}), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
130
|
-
size: "small",
|
|
131
92
|
mode: "secondary",
|
|
132
93
|
disabled: currentPageInternal === totalPages,
|
|
133
|
-
margin: {
|
|
134
|
-
left: "xxsmall",
|
|
135
|
-
right: "xxsmall"
|
|
136
|
-
},
|
|
137
94
|
icon: _Icons.lastIcon,
|
|
138
95
|
tabIndex: tabIndex,
|
|
139
96
|
onClick: function onClick() {
|
|
140
97
|
onPageChange(totalPages);
|
|
141
98
|
}
|
|
142
|
-
}))))
|
|
99
|
+
}))));
|
|
143
100
|
};
|
|
144
|
-
|
|
145
|
-
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) {
|
|
146
|
-
return props.theme.height;
|
|
147
|
-
}, function (props) {
|
|
148
|
-
return props.theme.width;
|
|
149
|
-
}, 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) {
|
|
150
102
|
return props.theme.fontFamily;
|
|
151
103
|
}, function (props) {
|
|
152
104
|
return props.theme.fontSize;
|
|
@@ -160,39 +112,24 @@ var DxcPaginatorContainer = _styledComponents["default"].div(_templateObject ||
|
|
|
160
112
|
return props.theme.backgroundColor;
|
|
161
113
|
}, function (props) {
|
|
162
114
|
return props.theme.fontColor;
|
|
115
|
+
}, function (props) {
|
|
116
|
+
return props.theme.verticalPadding;
|
|
117
|
+
}, function (props) {
|
|
118
|
+
return props.theme.horizontalPadding;
|
|
163
119
|
});
|
|
164
|
-
|
|
165
|
-
var
|
|
166
|
-
|
|
167
|
-
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) {
|
|
168
122
|
return props.theme.itemsPerPageSelectorMarginRight;
|
|
169
123
|
}, function (props) {
|
|
170
124
|
return props.theme.itemsPerPageSelectorMarginLeft;
|
|
171
125
|
});
|
|
172
|
-
|
|
173
|
-
var
|
|
174
|
-
|
|
175
|
-
var GoToLabel = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 10px;\n margin-left: 10px;\n"])));
|
|
176
|
-
|
|
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"])));
|
|
177
128
|
var TotalItemsContainer = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
178
129
|
return props.theme.totalItemsContainerMarginRight;
|
|
179
130
|
}, function (props) {
|
|
180
131
|
return props.theme.totalItemsContainerMarginLeft;
|
|
181
132
|
});
|
|
182
|
-
|
|
183
|
-
var
|
|
184
|
-
|
|
185
|
-
}, function (props) {
|
|
186
|
-
return props.theme.marginLeft;
|
|
187
|
-
});
|
|
188
|
-
|
|
189
|
-
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) {
|
|
190
|
-
return props.theme.pageSelectorMarginRight;
|
|
191
|
-
}, function (props) {
|
|
192
|
-
return props.theme.pageSelectorMarginLeft;
|
|
193
|
-
});
|
|
194
|
-
|
|
195
|
-
var TextContainer = _styledComponents["default"].span(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])([""])));
|
|
196
|
-
|
|
197
|
-
var _default = DxcPaginator;
|
|
198
|
-
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
|
+
});
|