@dxc-technology/halstack-react 0.0.0-efa7c74 → 0.0.0-eff2879
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 +1248 -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 +106 -193
- 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 +5 -5
- 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/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/box/Box.accessibility.test.js +33 -0
- package/box/Box.d.ts +1 -1
- package/box/Box.js +31 -82
- 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/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 -123
- package/button/Button.stories.tsx +155 -106
- package/button/Button.test.js +38 -0
- package/button/types.d.ts +12 -12
- package/card/Card.accessibility.test.js +36 -0
- package/card/Card.d.ts +1 -1
- package/card/Card.js +59 -103
- package/card/Card.stories.tsx +13 -43
- 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 +145 -183
- package/checkbox/Checkbox.stories.tsx +166 -136
- package/checkbox/Checkbox.test.js +199 -0
- package/checkbox/types.d.ts +19 -7
- 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 +1394 -0
- package/common/variables.js +1035 -1346
- 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 +5 -0
- package/contextual-menu/ContextualMenu.js +88 -0
- package/contextual-menu/ContextualMenu.stories.tsx +219 -0
- package/contextual-menu/ContextualMenu.test.js +205 -0
- package/contextual-menu/GroupItem.d.ts +4 -0
- package/contextual-menu/GroupItem.js +67 -0
- package/contextual-menu/ItemAction.d.ts +4 -0
- package/contextual-menu/ItemAction.js +52 -0
- package/contextual-menu/MenuItem.d.ts +4 -0
- package/contextual-menu/MenuItem.js +29 -0
- package/contextual-menu/SingleItem.d.ts +4 -0
- package/contextual-menu/SingleItem.js +38 -0
- package/contextual-menu/types.d.ts +58 -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 +57 -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 +2 -2
- package/file-input/FileInput.js +272 -340
- package/file-input/FileInput.stories.tsx +618 -0
- package/file-input/FileInput.test.js +382 -0
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +60 -121
- package/file-input/types.d.ts +53 -11
- 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 +40 -37
- 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 +152 -63
- 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 +7 -21
- package/heading/Heading.accessibility.test.js +33 -0
- package/heading/Heading.js +11 -33
- package/heading/Heading.stories.tsx +3 -2
- 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 +86 -184
- package/layout/ApplicationLayout.stories.tsx +162 -0
- package/layout/Icons.d.ts +7 -0
- package/layout/Icons.js +41 -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 +159 -52
- 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 -4
- package/number-input/NumberInputContext.js +3 -14
- package/number-input/types.d.ts +34 -15
- package/package.json +52 -51
- package/paginator/Paginator.accessibility.test.js +79 -0
- package/paginator/Paginator.js +39 -103
- 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/PasswordInput.accessibility.test.js +153 -0
- package/password-input/PasswordInput.js +59 -125
- package/password-input/PasswordInput.stories.tsx +3 -35
- package/password-input/PasswordInput.test.js +198 -0
- package/password-input/types.d.ts +32 -26
- 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/Listbox.d.ts +4 -0
- package/select/Listbox.js +145 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +88 -0
- package/select/Select.accessibility.test.js +217 -0
- package/select/Select.d.ts +4 -0
- package/select/Select.js +248 -515
- package/select/Select.stories.tsx +590 -255
- package/select/Select.test.js +2276 -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 +246 -134
- 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 +149 -181
- 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 +79 -36
- 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 -147
- package/tabs/Tabs.stories.tsx +121 -18
- package/tabs/Tabs.test.js +276 -0
- package/tabs/types.d.ts +46 -24
- 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.js +335 -553
- package/text-input/TextInput.stories.tsx +465 -0
- package/text-input/TextInput.test.js +1756 -0
- package/text-input/types.d.ts +82 -34
- 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 +2 -2
- package/toggle-group/ToggleGroup.js +98 -113
- package/toggle-group/ToggleGroup.stories.tsx +79 -39
- package/toggle-group/ToggleGroup.test.js +137 -0
- package/toggle-group/types.d.ts +68 -38
- 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 -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 +130 -114
- package/wizard/{Wizard.stories.jsx → Wizard.stories.tsx} +67 -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/card/ice-cream.jpg +0 -0
- 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/input-text/Icons.js +0 -22
- package/input-text/InputText.js +0 -611
- package/input-text/index.d.ts +0 -36
- package/number-input/numberInputContextTypes.d.ts +0 -19
- package/paginator/Icons.js +0 -66
- 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 -249
- package/resultsetTable/types.d.ts +0 -63
- package/select/index.d.ts +0 -131
- package/slider/Slider.stories.tsx +0 -177
- package/table/Table.stories.jsx +0 -276
- 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/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/{resultsetTable → badge}/types.js +0 -0
- /package/{number-input/numberInputContextTypes.js → bleed/types.js} +0 -0
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
declare const NumberInputContext:
|
|
4
|
-
export default NumberInputContext;
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { NumberInputContextProps } from "./types";
|
|
3
|
+
export declare const NumberInputContext: import("react").Context<NumberInputContextProps>;
|
|
@@ -1,19 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
8
|
-
exports
|
|
9
|
-
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
var defaultState = {
|
|
13
|
-
stepNumber: 1
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
var NumberInputContext = /*#__PURE__*/_react["default"].createContext(defaultState);
|
|
17
|
-
|
|
18
|
-
var _default = NumberInputContext;
|
|
19
|
-
exports["default"] = _default;
|
|
6
|
+
exports.NumberInputContext = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var NumberInputContext = exports.NumberInputContext = /*#__PURE__*/(0, _react.createContext)(null);
|
package/number-input/types.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
2
|
+
type Margin = {
|
|
3
3
|
top?: Space;
|
|
4
4
|
bottom?: Space;
|
|
5
5
|
left?: Space;
|
|
6
6
|
right?: Space;
|
|
7
7
|
};
|
|
8
|
-
|
|
8
|
+
type Props = {
|
|
9
9
|
/**
|
|
10
10
|
* Text to be placed above the number.
|
|
11
11
|
*/
|
|
@@ -14,6 +14,10 @@ declare type Props = {
|
|
|
14
14
|
* Name attribute of the input element.
|
|
15
15
|
*/
|
|
16
16
|
name?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Initial value of the input element, only when it is uncontrolled.
|
|
19
|
+
*/
|
|
20
|
+
defaultValue?: string;
|
|
17
21
|
/**
|
|
18
22
|
* Value of the input element. If undefined, the component will be uncontrolled and the value will be managed internally by the component.
|
|
19
23
|
*/
|
|
@@ -31,12 +35,18 @@ declare type Props = {
|
|
|
31
35
|
*/
|
|
32
36
|
disabled?: boolean;
|
|
33
37
|
/**
|
|
34
|
-
* If true, the number will be optional, showing '(Optional)'
|
|
38
|
+
* If true, the number will be optional, showing the text '(Optional)'
|
|
35
39
|
* next to the label. Otherwise, the field will be considered required
|
|
36
40
|
* and an error will be passed as a parameter to the OnBlur and onChange
|
|
37
41
|
* functions when it has not been filled.
|
|
38
42
|
*/
|
|
39
43
|
optional?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* If true, the component will not be mutable, meaning the user can
|
|
46
|
+
* not edit the control. The value won't change when pressing on the
|
|
47
|
+
* up or down arrows and neither on the spin buttons.
|
|
48
|
+
*/
|
|
49
|
+
readOnly?: boolean;
|
|
40
50
|
/**
|
|
41
51
|
* Prefix to be placed before the number value.
|
|
42
52
|
*/
|
|
@@ -50,7 +60,7 @@ declare type Props = {
|
|
|
50
60
|
* lower than min, the onBlur and onChange functions will be called with
|
|
51
61
|
* the current value and an internal error informing that the current
|
|
52
62
|
* value is not correct. If a valid state is reached, the error parameter
|
|
53
|
-
* will be
|
|
63
|
+
* will not be defined in both events.
|
|
54
64
|
*/
|
|
55
65
|
min?: number;
|
|
56
66
|
/**
|
|
@@ -58,7 +68,7 @@ declare type Props = {
|
|
|
58
68
|
* surpasses max, the onBlur and onChange functions will be called with
|
|
59
69
|
* the current value and an internal error informing that the current
|
|
60
70
|
* value is not correct. If a valid state is reached, the error parameter
|
|
61
|
-
* will be
|
|
71
|
+
* will not be defined in both events.
|
|
62
72
|
*/
|
|
63
73
|
max?: number;
|
|
64
74
|
/**
|
|
@@ -69,26 +79,29 @@ declare type Props = {
|
|
|
69
79
|
* This function will be called when the user types within the input
|
|
70
80
|
* element of the component. An object including the current value and
|
|
71
81
|
* the error (if the value entered is not valid) will be passed to this
|
|
72
|
-
* function. If there is no error, error will be
|
|
82
|
+
* function. If there is no error, error will not be defined.
|
|
73
83
|
*/
|
|
74
84
|
onChange?: (val: {
|
|
75
85
|
value: string;
|
|
76
|
-
error
|
|
86
|
+
error?: string;
|
|
77
87
|
}) => void;
|
|
78
88
|
/**
|
|
79
89
|
* This function will be called when the input element loses the focus.
|
|
80
90
|
* An object including the input value and the error (if the value
|
|
81
91
|
* entered is not valid) will be passed to this function. If there is no error,
|
|
82
|
-
* error will be
|
|
92
|
+
* error will not be defined.
|
|
83
93
|
*/
|
|
84
94
|
onBlur?: (val: {
|
|
85
95
|
value: string;
|
|
86
|
-
error
|
|
96
|
+
error?: string;
|
|
87
97
|
}) => void;
|
|
88
98
|
/**
|
|
89
|
-
* If it is defined
|
|
90
|
-
* the error below the input component. If
|
|
91
|
-
*
|
|
99
|
+
* If it is a defined value and also a truthy string, the component will
|
|
100
|
+
* change its appearance, showing the error below the input component. If
|
|
101
|
+
* the defined value is an empty string, it will reserve a space below
|
|
102
|
+
* the component for a future error, but it would not change its look. In
|
|
103
|
+
* case of being undefined or null, both the appearance and the space for
|
|
104
|
+
* the error message would not be modified.
|
|
92
105
|
*/
|
|
93
106
|
error?: string;
|
|
94
107
|
/**
|
|
@@ -102,7 +115,7 @@ declare type Props = {
|
|
|
102
115
|
*/
|
|
103
116
|
margin?: Space | Margin;
|
|
104
117
|
/**
|
|
105
|
-
* Size of the component
|
|
118
|
+
* Size of the component.
|
|
106
119
|
*/
|
|
107
120
|
size?: "small" | "medium" | "large" | "fillParent";
|
|
108
121
|
/**
|
|
@@ -110,8 +123,14 @@ declare type Props = {
|
|
|
110
123
|
*/
|
|
111
124
|
tabIndex?: number;
|
|
112
125
|
};
|
|
126
|
+
export type NumberInputContextProps = {
|
|
127
|
+
typeNumber?: string;
|
|
128
|
+
minNumber?: number;
|
|
129
|
+
maxNumber?: number;
|
|
130
|
+
stepNumber?: number;
|
|
131
|
+
};
|
|
113
132
|
/**
|
|
114
133
|
* Reference to the component.
|
|
115
134
|
*/
|
|
116
|
-
export
|
|
135
|
+
export type RefType = HTMLDivElement;
|
|
117
136
|
export default Props;
|
package/package.json
CHANGED
|
@@ -1,86 +1,87 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxc-technology/halstack-react",
|
|
3
|
-
"version": "0.0.0-
|
|
3
|
+
"version": "0.0.0-eff2879",
|
|
4
4
|
"description": "DXC Halstack React components library",
|
|
5
5
|
"repository": "dxc-technology/halstack-react",
|
|
6
|
-
"homepage": "
|
|
6
|
+
"homepage": "https://developer.dxc.com/halstack",
|
|
7
7
|
"license": "Apache-2.0",
|
|
8
8
|
"author": {
|
|
9
9
|
"name": "DXC Technology",
|
|
10
10
|
"email": "DigitalInsurance@dxc.com",
|
|
11
|
-
"url": "https://dxc.com"
|
|
11
|
+
"url": "https://developer.dxc.com"
|
|
12
12
|
},
|
|
13
13
|
"main": "./main.js",
|
|
14
14
|
"types": "./main.d.ts",
|
|
15
15
|
"peerDependencies": {
|
|
16
|
-
"react": "^
|
|
17
|
-
"react-dom": "^
|
|
16
|
+
"react": "^18.x",
|
|
17
|
+
"react-dom": "^18.x",
|
|
18
18
|
"styled-components": "^5.0.1"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@
|
|
22
|
-
"@material-ui/core": "4.11.1",
|
|
23
|
-
"@material-ui/icons": "4.4.3",
|
|
24
|
-
"@material-ui/lab": "4.0.0-alpha.17",
|
|
25
|
-
"@material-ui/pickers": "3.2.2",
|
|
26
|
-
"@material-ui/styles": "4.0.2",
|
|
21
|
+
"@radix-ui/react-popover": "^1.0.7",
|
|
27
22
|
"color": "^3.1.3",
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"prop-types": "^15.7.2",
|
|
31
|
-
"rgb-hex": "^3.0.0",
|
|
23
|
+
"dayjs": "^1.11.1",
|
|
24
|
+
"slugify": "^1.6.5",
|
|
32
25
|
"uuid": "^8.3.2"
|
|
33
26
|
},
|
|
34
27
|
"scripts": {
|
|
35
|
-
"test": "jest",
|
|
28
|
+
"test": "jest --env=jsdom --config=./jest.config.js",
|
|
29
|
+
"test:accessibility": "jest --env=jsdom --config=./jest.config.accessibility.js",
|
|
36
30
|
"test:watch": "npm test -- --watch --coverage",
|
|
37
|
-
"build": "babel src --extensions .js,.jsx,.ts,.tsx --out-dir ../dist --copy-files --verbose && node ../scripts/build/copy-package.js && tsc ",
|
|
38
|
-
"build:watch": "babel src --watch --out-dir ../dist --copy-files --verbose",
|
|
39
|
-
"storybook": "
|
|
40
|
-
"
|
|
31
|
+
"build": "babel src --extensions .js,.jsx,.ts,.tsx --out-dir ../dist --copy-files --verbose && node ../scripts/build/copy-package.js && node ../scripts/build/copy-readme.js && tsc ",
|
|
32
|
+
"build:watch": "babel src --watch --extensions .js,.jsx,.ts,.tsx --out-dir ../dist --copy-files --verbose",
|
|
33
|
+
"storybook": "storybook dev -p 6006",
|
|
34
|
+
"storybook:accessibility": "test-storybook",
|
|
35
|
+
"storybook:accessibility:ci": "test-storybook --maxWorkers=2",
|
|
36
|
+
"build-storybook": "storybook build"
|
|
41
37
|
},
|
|
42
38
|
"devDependencies": {
|
|
43
39
|
"@babel/cli": "^7.16.8",
|
|
44
|
-
"@babel/core": "^7.
|
|
40
|
+
"@babel/core": "^7.24.0",
|
|
45
41
|
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8",
|
|
46
42
|
"@babel/plugin-proposal-optional-chaining": "^7.13.8",
|
|
47
43
|
"@babel/plugin-transform-runtime": "^7.16.8",
|
|
48
44
|
"@babel/preset-env": "^7.16.8",
|
|
49
45
|
"@babel/preset-react": "^7.16.7",
|
|
50
46
|
"@babel/preset-typescript": "^7.16.7",
|
|
51
|
-
"@storybook/addon-
|
|
52
|
-
"@storybook/addon-essentials": "^
|
|
53
|
-
"@storybook/addon-
|
|
54
|
-
"@storybook/
|
|
55
|
-
"@
|
|
56
|
-
"@storybook/
|
|
57
|
-
"@
|
|
47
|
+
"@storybook/addon-a11y": "^7.6.17",
|
|
48
|
+
"@storybook/addon-essentials": "^7.5.3",
|
|
49
|
+
"@storybook/addon-interactions": "^7.5.3",
|
|
50
|
+
"@storybook/addon-links": "^7.5.3",
|
|
51
|
+
"@storybook/blocks": "^7.5.3",
|
|
52
|
+
"@storybook/react": "^7.5.3",
|
|
53
|
+
"@storybook/react-vite": "^7.5.3",
|
|
54
|
+
"@storybook/test-runner": "^0.16.0",
|
|
55
|
+
"@storybook/testing-library": "^0.2.2",
|
|
56
|
+
"@testing-library/react": "^13.0.0",
|
|
57
|
+
"@testing-library/user-event": "^13.0.0",
|
|
58
|
+
"@types/color": "^3.0.3",
|
|
59
|
+
"@types/react": "^18.0.18",
|
|
60
|
+
"@types/styled-components": "5.1.29",
|
|
61
|
+
"@types/uuid": "^9.0.6",
|
|
62
|
+
"axe-playwright": "^2.0.1",
|
|
58
63
|
"babel-jest": "^24.8.0",
|
|
59
64
|
"babel-loader": "^8.0.6",
|
|
60
|
-
"chromatic": "^
|
|
61
|
-
"eslint": "^
|
|
62
|
-
"eslint-config-airbnb": "^
|
|
63
|
-
"eslint-config-prettier": "^
|
|
64
|
-
"eslint-plugin-import": "^2.
|
|
65
|
-
"eslint-plugin-jest": "^
|
|
66
|
-
"eslint-plugin-jsx-a11y": "^6.
|
|
67
|
-
"eslint-plugin-react": "^7.
|
|
68
|
-
"eslint-plugin-react-hooks": "^4.
|
|
69
|
-
"eslint-plugin-storybook": "^0.
|
|
65
|
+
"chromatic": "^8.0.0",
|
|
66
|
+
"eslint": "^8.53.0",
|
|
67
|
+
"eslint-config-airbnb": "^19.0.4",
|
|
68
|
+
"eslint-config-prettier": "^9.0.0",
|
|
69
|
+
"eslint-plugin-import": "^2.29.0",
|
|
70
|
+
"eslint-plugin-jest": "^27.6.0",
|
|
71
|
+
"eslint-plugin-jsx-a11y": "^6.8.0",
|
|
72
|
+
"eslint-plugin-react": "^7.33.2",
|
|
73
|
+
"eslint-plugin-react-hooks": "^4.6.0",
|
|
74
|
+
"eslint-plugin-storybook": "^0.6.15",
|
|
70
75
|
"identity-obj-proxy": "^3.0.0",
|
|
71
|
-
"jest": "^
|
|
72
|
-
"
|
|
73
|
-
"
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
+
"jest": "^29.7.0",
|
|
77
|
+
"jest-axe": "^8.0.0",
|
|
78
|
+
"jest-environment-jsdom": "^29.3.1",
|
|
79
|
+
"playwright": "^1.41.2",
|
|
80
|
+
"react": "^18.2.0",
|
|
81
|
+
"react-dom": "^18.2.0",
|
|
82
|
+
"storybook": "^7.5.3",
|
|
83
|
+
"storybook-addon-pseudo-states": "^2.1.2",
|
|
76
84
|
"styled-components": "^5.0.1",
|
|
77
|
-
"typescript": "^
|
|
78
|
-
},
|
|
79
|
-
"jest": {
|
|
80
|
-
"moduleNameMapper": {
|
|
81
|
-
"\\.(css|less|scss|sass)$": "identity-obj-proxy",
|
|
82
|
-
"\\.(svg)$": "<rootDir>/test/mocks/svgMock.js",
|
|
83
|
-
"\\.(png)$": "<rootDir>/test/mocks/pngMock.js"
|
|
84
|
-
}
|
|
85
|
+
"typescript": "^5.3.3"
|
|
85
86
|
}
|
|
86
87
|
}
|
|
@@ -0,0 +1,79 @@
|
|
|
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 _jestAxe = require("jest-axe");
|
|
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 accessibility tests", function () {
|
|
55
|
+
it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
56
|
+
var _render, container, results;
|
|
57
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
58
|
+
while (1) switch (_context.prev = _context.next) {
|
|
59
|
+
case 0:
|
|
60
|
+
_render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
61
|
+
currentPage: 1,
|
|
62
|
+
itemsPerPage: 10,
|
|
63
|
+
totalItems: 27,
|
|
64
|
+
onPageChange: function onPageChange() {},
|
|
65
|
+
itemsPerPageOptions: [5, 10, 15],
|
|
66
|
+
showGoToPage: true
|
|
67
|
+
})), container = _render.container;
|
|
68
|
+
_context.next = 3;
|
|
69
|
+
return (0, _jestAxe.axe)(container);
|
|
70
|
+
case 3:
|
|
71
|
+
results = _context.sent;
|
|
72
|
+
expect(results).toHaveNoViolations();
|
|
73
|
+
case 5:
|
|
74
|
+
case "end":
|
|
75
|
+
return _context.stop();
|
|
76
|
+
}
|
|
77
|
+
}, _callee);
|
|
78
|
+
})));
|
|
79
|
+
});
|
package/paginator/Paginator.js
CHANGED
|
@@ -1,61 +1,43 @@
|
|
|
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
|
-
|
|
25
|
-
|
|
26
|
-
var _BackgroundColorContext = require("../BackgroundColorContext.js");
|
|
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
|
-
|
|
16
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
|
|
17
|
+
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); }
|
|
18
|
+
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
19
|
var DxcPaginator = function DxcPaginator(_ref) {
|
|
35
20
|
var _ref$currentPage = _ref.currentPage,
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
var totalPages = Math.ceil(totalItems / itemsPerPage);
|
|
21
|
+
currentPage = _ref$currentPage === void 0 ? 1 : _ref$currentPage,
|
|
22
|
+
_ref$itemsPerPage = _ref.itemsPerPage,
|
|
23
|
+
itemsPerPage = _ref$itemsPerPage === void 0 ? 5 : _ref$itemsPerPage,
|
|
24
|
+
itemsPerPageOptions = _ref.itemsPerPageOptions,
|
|
25
|
+
_ref$totalItems = _ref.totalItems,
|
|
26
|
+
totalItems = _ref$totalItems === void 0 ? 1 : _ref$totalItems,
|
|
27
|
+
showGoToPage = _ref.showGoToPage,
|
|
28
|
+
onPageChange = _ref.onPageChange,
|
|
29
|
+
itemsPerPageFunction = _ref.itemsPerPageFunction,
|
|
30
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
31
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
32
|
+
var totalPages = itemsPerPage > 0 && Math.ceil(totalItems / itemsPerPage);
|
|
48
33
|
var currentPageInternal = currentPage === -1 ? totalPages : currentPage;
|
|
49
34
|
var minItemsPerPage = currentPageInternal === 1 || currentPageInternal === 0 ? currentPageInternal : (currentPageInternal - 1) * itemsPerPage + 1;
|
|
50
35
|
var maxItemsPerPage = minItemsPerPage - 1 + itemsPerPage > totalItems ? totalItems : minItemsPerPage - 1 + itemsPerPage;
|
|
51
36
|
var colorsTheme = (0, _useTheme["default"])();
|
|
37
|
+
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
52
38
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
53
39
|
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"], {
|
|
40
|
+
}, /*#__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
41
|
options: itemsPerPageOptions.map(function (num) {
|
|
60
42
|
return {
|
|
61
43
|
label: num.toString(),
|
|
@@ -67,37 +49,24 @@ var DxcPaginator = function DxcPaginator(_ref) {
|
|
|
67
49
|
},
|
|
68
50
|
value: itemsPerPage.toString(),
|
|
69
51
|
size: "fillParent",
|
|
70
|
-
margin: {
|
|
71
|
-
top: "xsmall"
|
|
72
|
-
},
|
|
73
52
|
tabIndex: tabIndex
|
|
74
|
-
}))), /*#__PURE__*/_react["default"].createElement(TotalItemsContainer, null, minItemsPerPage,
|
|
75
|
-
size: "small",
|
|
53
|
+
}))), /*#__PURE__*/_react["default"].createElement(TotalItemsContainer, null, translatedLabels.paginator.minToMaxOfText(minItemsPerPage, maxItemsPerPage, totalItems)), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
76
54
|
mode: "secondary",
|
|
77
55
|
disabled: currentPageInternal === 1 || currentPageInternal === 0,
|
|
78
|
-
|
|
79
|
-
left: "xxsmall",
|
|
80
|
-
right: "xxsmall"
|
|
81
|
-
},
|
|
82
|
-
icon: _Icons.firstIcon,
|
|
56
|
+
icon: "first_page",
|
|
83
57
|
tabIndex: tabIndex,
|
|
84
58
|
onClick: function onClick() {
|
|
85
59
|
onPageChange(1);
|
|
86
60
|
}
|
|
87
61
|
}), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
88
|
-
size: "small",
|
|
89
62
|
mode: "secondary",
|
|
90
63
|
disabled: currentPageInternal === 1 || currentPageInternal === 0,
|
|
91
|
-
|
|
92
|
-
left: "xxsmall",
|
|
93
|
-
right: "xxsmall"
|
|
94
|
-
},
|
|
95
|
-
icon: _Icons.previousIcon,
|
|
64
|
+
icon: "navigate_before",
|
|
96
65
|
tabIndex: tabIndex,
|
|
97
66
|
onClick: function onClick() {
|
|
98
67
|
onPageChange(currentPage - 1);
|
|
99
68
|
}
|
|
100
|
-
}), showGoToPage
|
|
69
|
+
}), 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
70
|
options: Array.from(Array(totalPages), function (e, num) {
|
|
102
71
|
return {
|
|
103
72
|
label: (num + 1).toString(),
|
|
@@ -109,44 +78,26 @@ var DxcPaginator = function DxcPaginator(_ref) {
|
|
|
109
78
|
},
|
|
110
79
|
value: currentPage.toString(),
|
|
111
80
|
size: "fillParent",
|
|
112
|
-
margin: {
|
|
113
|
-
top: "xsmall"
|
|
114
|
-
},
|
|
115
81
|
tabIndex: tabIndex
|
|
116
|
-
})))
|
|
117
|
-
size: "small",
|
|
82
|
+
}))) : /*#__PURE__*/_react["default"].createElement("span", null, translatedLabels.paginator.pageOfText(currentPageInternal, totalPages)), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
118
83
|
mode: "secondary",
|
|
119
84
|
disabled: currentPageInternal === totalPages,
|
|
120
|
-
|
|
121
|
-
left: "xxsmall",
|
|
122
|
-
right: "xxsmall"
|
|
123
|
-
},
|
|
124
|
-
icon: _Icons.nextIcon,
|
|
85
|
+
icon: "navigate_next",
|
|
125
86
|
tabIndex: tabIndex,
|
|
126
87
|
onClick: function onClick() {
|
|
127
88
|
onPageChange(currentPage + 1);
|
|
128
89
|
}
|
|
129
90
|
}), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
130
|
-
size: "small",
|
|
131
91
|
mode: "secondary",
|
|
132
92
|
disabled: currentPageInternal === totalPages,
|
|
133
|
-
|
|
134
|
-
left: "xxsmall",
|
|
135
|
-
right: "xxsmall"
|
|
136
|
-
},
|
|
137
|
-
icon: _Icons.lastIcon,
|
|
93
|
+
icon: "last_page",
|
|
138
94
|
tabIndex: tabIndex,
|
|
139
95
|
onClick: function onClick() {
|
|
140
96
|
onPageChange(totalPages);
|
|
141
97
|
}
|
|
142
|
-
}))))
|
|
98
|
+
}))));
|
|
143
99
|
};
|
|
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) {
|
|
100
|
+
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
101
|
return props.theme.fontFamily;
|
|
151
102
|
}, function (props) {
|
|
152
103
|
return props.theme.fontSize;
|
|
@@ -160,39 +111,24 @@ var DxcPaginatorContainer = _styledComponents["default"].div(_templateObject ||
|
|
|
160
111
|
return props.theme.backgroundColor;
|
|
161
112
|
}, function (props) {
|
|
162
113
|
return props.theme.fontColor;
|
|
114
|
+
}, function (props) {
|
|
115
|
+
return props.theme.verticalPadding;
|
|
116
|
+
}, function (props) {
|
|
117
|
+
return props.theme.horizontalPadding;
|
|
163
118
|
});
|
|
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) {
|
|
119
|
+
var SelectContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n min-width: 5.25rem;\n"])));
|
|
120
|
+
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
121
|
return props.theme.itemsPerPageSelectorMarginRight;
|
|
169
122
|
}, function (props) {
|
|
170
123
|
return props.theme.itemsPerPageSelectorMarginLeft;
|
|
171
124
|
});
|
|
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
|
-
|
|
125
|
+
var ItemsLabel = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 0.5rem;\n"])));
|
|
126
|
+
var GoToLabel = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 0.5rem;\n margin-left: 0.5rem;\n"])));
|
|
177
127
|
var TotalItemsContainer = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
178
128
|
return props.theme.totalItemsContainerMarginRight;
|
|
179
129
|
}, function (props) {
|
|
180
130
|
return props.theme.totalItemsContainerMarginLeft;
|
|
181
131
|
});
|
|
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;
|
|
132
|
+
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"])));
|
|
133
|
+
var PageToSelectContainer = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n margin-right: 0.5rem;\n"])));
|
|
134
|
+
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
|
);
|