@dxc-technology/halstack-react 0.0.0-d3554d7 → 0.0.0-d3624d0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BackgroundColorContext.d.ts +1 -10
- package/BackgroundColorContext.js +5 -22
- package/HalstackContext.d.ts +1246 -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 -181
- package/accordion/Accordion.stories.tsx +83 -149
- package/accordion/Accordion.test.js +32 -33
- package/accordion/types.d.ts +10 -17
- package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
- package/accordion-group/AccordionGroup.d.ts +3 -3
- package/accordion-group/AccordionGroup.js +38 -107
- package/accordion-group/AccordionGroup.stories.tsx +95 -68
- package/accordion-group/AccordionGroup.test.js +55 -90
- 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 +16 -17
- 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 +40 -127
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +29 -46
- package/alert/types.d.ts +5 -5
- package/badge/Badge.accessibility.test.js +129 -0
- package/badge/Badge.d.ts +1 -1
- 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 +52 -2
- package/bleed/Bleed.js +14 -55
- package/bleed/Bleed.stories.tsx +95 -95
- package/bleed/types.d.ts +26 -2
- package/box/Box.accessibility.test.js +33 -0
- package/box/Box.d.ts +1 -1
- package/box/Box.js +30 -81
- package/box/Box.stories.tsx +38 -51
- package/box/Box.test.js +2 -7
- package/box/types.d.ts +3 -14
- package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
- package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
- package/breadcrumbs/Breadcrumbs.d.ts +4 -0
- package/breadcrumbs/Breadcrumbs.js +79 -0
- package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
- package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
- package/breadcrumbs/Breadcrumbs.test.js +169 -0
- package/breadcrumbs/Item.d.ts +4 -0
- package/breadcrumbs/Item.js +52 -0
- package/breadcrumbs/dropdownTheme.d.ts +53 -0
- package/breadcrumbs/dropdownTheme.js +62 -0
- package/breadcrumbs/types.d.ts +16 -0
- package/bulleted-list/BulletedList.accessibility.test.js +119 -0
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +92 -0
- package/bulleted-list/BulletedList.stories.tsx +115 -0
- package/bulleted-list/types.d.ts +38 -0
- package/button/Button.accessibility.test.js +127 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +63 -113
- package/button/Button.stories.tsx +151 -100
- package/button/Button.test.js +20 -17
- package/button/types.d.ts +12 -8
- package/card/Card.accessibility.test.js +36 -0
- package/card/Card.d.ts +1 -1
- package/card/Card.js +59 -102
- package/card/Card.stories.tsx +12 -42
- package/card/Card.test.js +11 -22
- 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 +143 -181
- package/checkbox/Checkbox.stories.tsx +166 -136
- package/checkbox/Checkbox.test.js +163 -29
- package/checkbox/types.d.ts +18 -6
- package/chip/Chip.accessibility.test.js +67 -0
- package/chip/Chip.js +45 -80
- package/chip/Chip.stories.tsx +107 -27
- package/chip/Chip.test.js +18 -33
- package/chip/types.d.ts +4 -4
- 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 +1392 -0
- package/common/variables.js +1081 -1190
- package/container/Container.d.ts +4 -0
- package/container/Container.js +194 -0
- package/container/Container.stories.tsx +214 -0
- package/container/types.d.ts +74 -0
- package/contextual-menu/ContextualMenu.accessibility.test.js +97 -0
- package/contextual-menu/ContextualMenu.d.ts +5 -0
- package/contextual-menu/ContextualMenu.js +88 -0
- package/contextual-menu/ContextualMenu.stories.tsx +232 -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 +51 -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/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +214 -0
- package/date-input/DateInput.accessibility.test.js +228 -0
- package/date-input/DateInput.js +170 -306
- package/date-input/DateInput.stories.tsx +210 -56
- package/date-input/DateInput.test.js +708 -369
- 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 +56 -129
- package/dialog/Dialog.stories.tsx +326 -167
- package/dialog/Dialog.test.js +287 -20
- package/dialog/types.d.ts +18 -25
- package/divider/Divider.accessibility.test.js +33 -0
- package/divider/Divider.d.ts +4 -0
- package/divider/Divider.js +36 -0
- package/divider/Divider.stories.tsx +223 -0
- package/divider/Divider.test.js +38 -0
- package/divider/types.d.ts +21 -0
- package/dropdown/Dropdown.accessibility.test.js +180 -0
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +233 -307
- package/dropdown/Dropdown.stories.tsx +235 -57
- package/dropdown/Dropdown.test.js +575 -165
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +63 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +71 -0
- package/dropdown/types.d.ts +35 -19
- package/file-input/FileInput.accessibility.test.js +160 -0
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +246 -393
- package/file-input/FileInput.stories.tsx +123 -12
- package/file-input/FileInput.test.js +292 -367
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +61 -120
- package/file-input/types.d.ts +25 -8
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +57 -0
- package/flex/Flex.stories.tsx +112 -0
- package/flex/types.d.ts +97 -0
- package/flex/types.js +5 -0
- package/footer/Footer.accessibility.test.js +125 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +73 -191
- package/footer/Footer.stories.tsx +99 -21
- package/footer/Footer.test.js +33 -57
- package/footer/Icons.d.ts +3 -2
- package/footer/Icons.js +54 -23
- package/footer/types.d.ts +26 -27
- 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 +93 -0
- package/header/Header.d.ts +4 -3
- package/header/Header.js +104 -218
- package/header/Header.stories.tsx +168 -63
- package/header/Header.test.js +31 -28
- package/header/Icons.d.ts +2 -2
- package/header/Icons.js +5 -15
- package/header/types.d.ts +7 -21
- package/heading/Heading.accessibility.test.js +33 -0
- package/heading/Heading.js +10 -32
- package/heading/Heading.test.js +71 -88
- package/heading/types.d.ts +7 -7
- package/icon/Icon.accessibility.test.js +30 -0
- package/icon/Icon.d.ts +4 -0
- package/icon/Icon.js +33 -0
- package/icon/Icon.stories.tsx +28 -0
- package/icon/types.d.ts +4 -0
- package/icon/types.js +5 -0
- package/image/Image.accessibility.test.js +56 -0
- package/image/Image.d.ts +4 -0
- package/image/Image.js +70 -0
- package/image/Image.stories.tsx +129 -0
- package/image/types.d.ts +72 -0
- package/image/types.js +5 -0
- package/inset/Inset.js +14 -55
- package/inset/Inset.stories.tsx +37 -36
- package/inset/types.d.ts +26 -2
- package/layout/ApplicationLayout.d.ts +16 -6
- package/layout/ApplicationLayout.js +88 -182
- package/layout/ApplicationLayout.stories.tsx +85 -94
- package/layout/Icons.d.ts +7 -0
- package/layout/Icons.js +41 -48
- package/layout/types.d.ts +19 -35
- package/link/Link.accessibility.test.js +108 -0
- package/link/Link.d.ts +3 -2
- package/link/Link.js +65 -101
- package/link/Link.stories.tsx +157 -55
- package/link/Link.test.js +25 -53
- package/link/types.d.ts +15 -31
- package/main.d.ts +17 -13
- package/main.js +86 -101
- 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 +77 -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 +47 -44
- package/number-input/NumberInput.stories.tsx +44 -28
- package/number-input/NumberInput.test.js +862 -381
- 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 +54 -53
- package/paginator/Paginator.accessibility.test.js +79 -0
- package/paginator/Paginator.js +46 -100
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +280 -211
- 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 +58 -124
- package/password-input/PasswordInput.stories.tsx +1 -33
- package/password-input/PasswordInput.test.js +162 -147
- package/password-input/types.d.ts +21 -17
- package/progress-bar/ProgressBar.accessibility.test.js +35 -0
- package/progress-bar/ProgressBar.js +68 -92
- package/progress-bar/ProgressBar.stories.tsx +93 -0
- package/progress-bar/ProgressBar.test.js +72 -44
- package/progress-bar/types.d.ts +3 -3
- package/quick-nav/QuickNav.accessibility.test.js +57 -0
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +94 -0
- package/quick-nav/QuickNav.stories.tsx +356 -0
- package/quick-nav/types.d.ts +21 -0
- package/quick-nav/types.js +5 -0
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +59 -76
- package/radio-group/RadioGroup.accessibility.test.js +97 -0
- package/radio-group/RadioGroup.js +73 -116
- package/radio-group/RadioGroup.stories.tsx +135 -17
- package/radio-group/RadioGroup.test.js +529 -467
- package/radio-group/types.d.ts +86 -9
- package/resultset-table/Icons.d.ts +7 -0
- package/resultset-table/Icons.js +47 -0
- package/resultset-table/ResultsetTable.accessibility.test.js +285 -0
- package/resultset-table/ResultsetTable.d.ts +7 -0
- package/resultset-table/ResultsetTable.js +171 -0
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +168 -30
- package/resultset-table/ResultsetTable.test.js +381 -0
- package/{resultsetTable → resultset-table}/types.d.ts +44 -11
- package/resultset-table/types.js +5 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +155 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +89 -0
- package/select/Select.accessibility.test.js +228 -0
- package/select/Select.js +237 -504
- package/select/Select.stories.tsx +533 -196
- package/select/Select.test.js +1953 -1588
- package/select/types.d.ts +65 -26
- package/sidenav/Sidenav.accessibility.test.js +59 -0
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +136 -71
- package/sidenav/Sidenav.stories.tsx +246 -151
- package/sidenav/Sidenav.test.js +26 -45
- 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 -180
- package/slider/Slider.test.js +198 -73
- package/slider/types.d.ts +11 -3
- package/spinner/Spinner.accessibility.test.js +96 -0
- package/spinner/Spinner.js +34 -74
- package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
- package/spinner/Spinner.test.js +26 -35
- 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 +98 -0
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +149 -114
- package/switch/Switch.stories.tsx +56 -67
- package/switch/Switch.test.js +146 -39
- package/switch/types.d.ts +13 -5
- package/table/DropdownTheme.js +62 -0
- package/table/Table.accessibility.test.js +93 -0
- package/table/Table.d.ts +6 -2
- package/table/Table.js +78 -35
- package/table/Table.stories.tsx +663 -0
- package/table/Table.test.js +95 -8
- 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 +305 -145
- package/tabs/Tabs.stories.tsx +124 -14
- package/tabs/Tabs.test.js +220 -67
- package/tabs/types.d.ts +31 -17
- package/tag/Tag.accessibility.test.js +69 -0
- package/tag/Tag.js +42 -79
- package/tag/Tag.stories.tsx +24 -10
- package/tag/Tag.test.js +18 -37
- package/tag/types.d.ts +9 -9
- 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 +94 -0
- package/text-input/TextInput.accessibility.test.js +321 -0
- package/text-input/TextInput.js +332 -557
- package/text-input/TextInput.stories.tsx +282 -282
- package/text-input/TextInput.test.js +1442 -1377
- package/text-input/types.d.ts +70 -24
- package/textarea/Textarea.accessibility.test.js +155 -0
- package/textarea/Textarea.js +83 -134
- package/textarea/Textarea.stories.tsx +174 -0
- package/textarea/Textarea.test.js +168 -198
- package/textarea/types.d.ts +27 -16
- package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +94 -106
- package/toggle-group/ToggleGroup.stories.tsx +56 -11
- package/toggle-group/ToggleGroup.test.js +78 -66
- package/toggle-group/types.d.ts +36 -19
- 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 +1144 -1
- package/useTheme.js +4 -11
- package/useTranslatedLabels.d.ts +85 -0
- package/useTranslatedLabels.js +14 -0
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +94 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +124 -0
- package/wizard/Wizard.accessibility.test.js +55 -0
- package/wizard/Wizard.d.ts +1 -1
- package/wizard/Wizard.js +78 -120
- package/wizard/Wizard.stories.tsx +67 -19
- package/wizard/Wizard.test.js +73 -87
- package/wizard/types.d.ts +14 -10
- package/ThemeContext.d.ts +0 -10
- package/ThemeContext.js +0 -243
- package/card/ice-cream.jpg +0 -0
- package/common/OpenSans.css +0 -81
- package/common/RequiredComponent.js +0 -32
- package/common/fonts/OpenSans-Bold.ttf +0 -0
- package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-Italic.ttf +0 -0
- package/common/fonts/OpenSans-Light.ttf +0 -0
- package/common/fonts/OpenSans-LightItalic.ttf +0 -0
- package/common/fonts/OpenSans-Regular.ttf +0 -0
- package/common/fonts/OpenSans-SemiBold.ttf +0 -0
- package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
- package/list/List.d.ts +0 -4
- package/list/List.js +0 -47
- package/list/List.stories.tsx +0 -95
- package/list/types.d.ts +0 -7
- package/number-input/numberInputContextTypes.d.ts +0 -19
- package/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/Radio.test.js +0 -71
- package/radio/types.d.ts +0 -54
- package/resultsetTable/ResultsetTable.d.ts +0 -4
- package/resultsetTable/ResultsetTable.js +0 -254
- package/resultsetTable/ResultsetTable.test.js +0 -306
- package/row/Row.d.ts +0 -3
- package/row/Row.js +0 -127
- package/row/Row.stories.tsx +0 -237
- package/row/types.d.ts +0 -10
- package/slider/Slider.stories.tsx +0 -177
- package/stack/Stack.d.ts +0 -3
- package/stack/Stack.js +0 -97
- package/stack/Stack.stories.tsx +0 -164
- package/stack/types.d.ts +0 -9
- package/table/Table.stories.jsx +0 -277
- package/text/Text.d.ts +0 -7
- package/text/Text.js +0 -30
- package/text/Text.stories.tsx +0 -19
- package/textarea/Textarea.stories.jsx +0 -157
- /package/{list → action-icon}/types.js +0 -0
- /package/{radio → breadcrumbs}/types.js +0 -0
- /package/{resultsetTable → bulleted-list}/types.js +0 -0
- /package/{row → container}/types.js +0 -0
- /package/{stack → contextual-menu}/types.js +0 -0
- /package/{number-input/numberInputContextTypes.js → divider/types.js} +0 -0
|
@@ -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,88 +1,89 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxc-technology/halstack-react",
|
|
3
|
-
"version": "0.0.0-
|
|
3
|
+
"version": "0.0.0-d3624d0",
|
|
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",
|
|
27
|
-
"@types/styled-components": "^5.1.24",
|
|
28
|
-
"@types/uuid": "^8.3.4",
|
|
21
|
+
"@radix-ui/react-popover": "^1.0.7",
|
|
29
22
|
"color": "^3.1.3",
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"prop-types": "^15.7.2",
|
|
33
|
-
"rgb-hex": "^3.0.0",
|
|
23
|
+
"dayjs": "^1.11.1",
|
|
24
|
+
"slugify": "^1.6.5",
|
|
34
25
|
"uuid": "^8.3.2"
|
|
35
26
|
},
|
|
36
27
|
"scripts": {
|
|
37
|
-
"test": "jest",
|
|
28
|
+
"test": "jest --env=jsdom --config=./jest.config.js",
|
|
29
|
+
"test:accessibility": "jest --env=jsdom --config=./jest.config.accessibility.js",
|
|
38
30
|
"test:watch": "npm test -- --watch --coverage",
|
|
39
|
-
"build": "babel src --extensions .js,.jsx,.ts,.tsx --out-dir ../dist --copy-files --verbose && node ../scripts/build/copy-package.js && tsc ",
|
|
40
|
-
"build:watch": "babel src --watch --out-dir ../dist --copy-files --verbose",
|
|
41
|
-
"storybook": "
|
|
42
|
-
"
|
|
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"
|
|
43
37
|
},
|
|
44
38
|
"devDependencies": {
|
|
45
39
|
"@babel/cli": "^7.16.8",
|
|
46
|
-
"@babel/core": "^7.
|
|
40
|
+
"@babel/core": "^7.24.3",
|
|
47
41
|
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8",
|
|
48
42
|
"@babel/plugin-proposal-optional-chaining": "^7.13.8",
|
|
49
43
|
"@babel/plugin-transform-runtime": "^7.16.8",
|
|
50
44
|
"@babel/preset-env": "^7.16.8",
|
|
51
45
|
"@babel/preset-react": "^7.16.7",
|
|
52
46
|
"@babel/preset-typescript": "^7.16.7",
|
|
53
|
-
"@storybook/addon-
|
|
54
|
-
"@storybook/addon-essentials": "^
|
|
55
|
-
"@storybook/addon-
|
|
56
|
-
"@storybook/
|
|
57
|
-
"@storybook/
|
|
58
|
-
"@
|
|
59
|
-
"@
|
|
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/jest": "^29.5.12",
|
|
60
|
+
"@types/jest-axe": "^3.5.9",
|
|
61
|
+
"@types/react": "^18.0.18",
|
|
62
|
+
"@types/styled-components": "5.1.29",
|
|
63
|
+
"@types/uuid": "^9.0.6",
|
|
64
|
+
"axe-playwright": "^2.0.1",
|
|
60
65
|
"babel-jest": "^24.8.0",
|
|
61
66
|
"babel-loader": "^8.0.6",
|
|
62
|
-
"chromatic": "^
|
|
63
|
-
"eslint": "^
|
|
64
|
-
"eslint-config-airbnb": "^
|
|
65
|
-
"eslint-config-prettier": "^
|
|
66
|
-
"eslint-plugin-import": "^2.
|
|
67
|
-
"eslint-plugin-jest": "^
|
|
68
|
-
"eslint-plugin-jsx-a11y": "^6.
|
|
69
|
-
"eslint-plugin-react": "^7.
|
|
70
|
-
"eslint-plugin-react-hooks": "^4.
|
|
71
|
-
"eslint-plugin-storybook": "^0.
|
|
67
|
+
"chromatic": "^8.0.0",
|
|
68
|
+
"eslint": "^8.53.0",
|
|
69
|
+
"eslint-config-airbnb": "^19.0.4",
|
|
70
|
+
"eslint-config-prettier": "^9.0.0",
|
|
71
|
+
"eslint-plugin-import": "^2.29.0",
|
|
72
|
+
"eslint-plugin-jest": "^27.6.0",
|
|
73
|
+
"eslint-plugin-jsx-a11y": "^6.8.0",
|
|
74
|
+
"eslint-plugin-react": "^7.33.2",
|
|
75
|
+
"eslint-plugin-react-hooks": "^4.6.0",
|
|
76
|
+
"eslint-plugin-storybook": "^0.6.15",
|
|
72
77
|
"identity-obj-proxy": "^3.0.0",
|
|
73
|
-
"jest": "^
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
"
|
|
78
|
+
"jest": "^29.7.0",
|
|
79
|
+
"jest-axe": "^8.0.0",
|
|
80
|
+
"jest-environment-jsdom": "^29.3.1",
|
|
81
|
+
"playwright": "^1.41.2",
|
|
82
|
+
"react": "^18.2.0",
|
|
83
|
+
"react-dom": "^18.2.0",
|
|
84
|
+
"storybook": "^7.5.3",
|
|
85
|
+
"storybook-addon-pseudo-states": "^2.1.2",
|
|
78
86
|
"styled-components": "^5.0.1",
|
|
79
|
-
"typescript": "^
|
|
80
|
-
},
|
|
81
|
-
"jest": {
|
|
82
|
-
"moduleNameMapper": {
|
|
83
|
-
"\\.(css|less|scss|sass)$": "identity-obj-proxy",
|
|
84
|
-
"\\.(svg)$": "<rootDir>/test/mocks/svgMock.js",
|
|
85
|
-
"\\.(png)$": "<rootDir>/test/mocks/pngMock.js"
|
|
86
|
-
}
|
|
87
|
+
"typescript": "^5.3.3"
|
|
87
88
|
}
|
|
88
89
|
}
|
|
@@ -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 _axeHelper = require("../../test/accessibility/axe-helper.js");
|
|
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, _axeHelper.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
12
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
19
|
-
|
|
13
|
+
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
20
14
|
var _Button = _interopRequireDefault(require("../button/Button"));
|
|
21
|
-
|
|
22
15
|
var _Select = _interopRequireDefault(require("../select/Select"));
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
var _BackgroundColorContext = require("../BackgroundColorContext");
|
|
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 && {}.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(),
|
|
@@ -68,33 +50,25 @@ var DxcPaginator = function DxcPaginator(_ref) {
|
|
|
68
50
|
value: itemsPerPage.toString(),
|
|
69
51
|
size: "fillParent",
|
|
70
52
|
tabIndex: tabIndex
|
|
71
|
-
}))), /*#__PURE__*/_react["default"].createElement(TotalItemsContainer, null, minItemsPerPage,
|
|
72
|
-
size: "small",
|
|
53
|
+
}))), /*#__PURE__*/_react["default"].createElement(TotalItemsContainer, null, translatedLabels.paginator.minToMaxOfText(minItemsPerPage, maxItemsPerPage, totalItems)), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
73
54
|
mode: "secondary",
|
|
74
55
|
disabled: currentPageInternal === 1 || currentPageInternal === 0,
|
|
75
|
-
|
|
76
|
-
left: "xxsmall",
|
|
77
|
-
right: "xxsmall"
|
|
78
|
-
},
|
|
79
|
-
icon: _Icons.firstIcon,
|
|
56
|
+
icon: "first_page",
|
|
80
57
|
tabIndex: tabIndex,
|
|
81
58
|
onClick: function onClick() {
|
|
82
59
|
onPageChange(1);
|
|
83
|
-
}
|
|
60
|
+
},
|
|
61
|
+
title: "First results"
|
|
84
62
|
}), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
85
|
-
size: "small",
|
|
86
63
|
mode: "secondary",
|
|
87
64
|
disabled: currentPageInternal === 1 || currentPageInternal === 0,
|
|
88
|
-
|
|
89
|
-
left: "xxsmall",
|
|
90
|
-
right: "xxsmall"
|
|
91
|
-
},
|
|
92
|
-
icon: _Icons.previousIcon,
|
|
65
|
+
icon: "navigate_before",
|
|
93
66
|
tabIndex: tabIndex,
|
|
94
67
|
onClick: function onClick() {
|
|
95
68
|
onPageChange(currentPage - 1);
|
|
96
|
-
}
|
|
97
|
-
|
|
69
|
+
},
|
|
70
|
+
title: "Previous results"
|
|
71
|
+
}), showGoToPage ? /*#__PURE__*/_react["default"].createElement(PageToSelectContainer, null, /*#__PURE__*/_react["default"].createElement(GoToLabel, null, translatedLabels.paginator.goToPageText, " "), /*#__PURE__*/_react["default"].createElement(SelectContainer, null, /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
98
72
|
options: Array.from(Array(totalPages), function (e, num) {
|
|
99
73
|
return {
|
|
100
74
|
label: (num + 1).toString(),
|
|
@@ -107,40 +81,27 @@ var DxcPaginator = function DxcPaginator(_ref) {
|
|
|
107
81
|
value: currentPage.toString(),
|
|
108
82
|
size: "fillParent",
|
|
109
83
|
tabIndex: tabIndex
|
|
110
|
-
})))
|
|
111
|
-
size: "small",
|
|
84
|
+
}))) : /*#__PURE__*/_react["default"].createElement("span", null, translatedLabels.paginator.pageOfText(currentPageInternal, totalPages)), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
112
85
|
mode: "secondary",
|
|
113
86
|
disabled: currentPageInternal === totalPages,
|
|
114
|
-
|
|
115
|
-
left: "xxsmall",
|
|
116
|
-
right: "xxsmall"
|
|
117
|
-
},
|
|
118
|
-
icon: _Icons.nextIcon,
|
|
87
|
+
icon: "navigate_next",
|
|
119
88
|
tabIndex: tabIndex,
|
|
120
89
|
onClick: function onClick() {
|
|
121
90
|
onPageChange(currentPage + 1);
|
|
122
|
-
}
|
|
91
|
+
},
|
|
92
|
+
title: "Next results"
|
|
123
93
|
}), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
124
|
-
size: "small",
|
|
125
94
|
mode: "secondary",
|
|
126
95
|
disabled: currentPageInternal === totalPages,
|
|
127
|
-
|
|
128
|
-
left: "xxsmall",
|
|
129
|
-
right: "xxsmall"
|
|
130
|
-
},
|
|
131
|
-
icon: _Icons.lastIcon,
|
|
96
|
+
icon: "last_page",
|
|
132
97
|
tabIndex: tabIndex,
|
|
133
98
|
onClick: function onClick() {
|
|
134
99
|
onPageChange(totalPages);
|
|
135
|
-
}
|
|
136
|
-
|
|
100
|
+
},
|
|
101
|
+
title: "Last results"
|
|
102
|
+
}))));
|
|
137
103
|
};
|
|
138
|
-
|
|
139
|
-
var DxcPaginatorContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n height: ", ";\n width: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n font-style: ", ";\n text-transform: ", ";\n background-color: ", ";\n color: ", ";\n\n button {\n &:disabled {\n background-color: transparent !important;\n opacity: 0.3 !important;\n }\n }\n"])), function (props) {
|
|
140
|
-
return props.theme.height;
|
|
141
|
-
}, function (props) {
|
|
142
|
-
return props.theme.width;
|
|
143
|
-
}, function (props) {
|
|
104
|
+
var DxcPaginatorContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n font-style: ", ";\n text-transform: ", ";\n background-color: ", ";\n color: ", ";\n padding: ", " ", ";\n\n button {\n &:disabled {\n background-color: transparent !important;\n opacity: 0.3 !important;\n }\n }\n"])), function (props) {
|
|
144
105
|
return props.theme.fontFamily;
|
|
145
106
|
}, function (props) {
|
|
146
107
|
return props.theme.fontSize;
|
|
@@ -154,39 +115,24 @@ var DxcPaginatorContainer = _styledComponents["default"].div(_templateObject ||
|
|
|
154
115
|
return props.theme.backgroundColor;
|
|
155
116
|
}, function (props) {
|
|
156
117
|
return props.theme.fontColor;
|
|
118
|
+
}, function (props) {
|
|
119
|
+
return props.theme.verticalPadding;
|
|
120
|
+
}, function (props) {
|
|
121
|
+
return props.theme.horizontalPadding;
|
|
157
122
|
});
|
|
158
|
-
|
|
159
|
-
var
|
|
160
|
-
|
|
161
|
-
var ItemsPageContainer = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n margin-right: ", ";\n margin-left: ", ";\n\n label {\n height: 0px;\n }\n label + .MuiInput-formControl {\n margin-top: 0px;\n }\n"])), function (props) {
|
|
123
|
+
var SelectContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n min-width: 5.25rem;\n"])));
|
|
124
|
+
var ItemsPageContainer = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n margin-right: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
162
125
|
return props.theme.itemsPerPageSelectorMarginRight;
|
|
163
126
|
}, function (props) {
|
|
164
127
|
return props.theme.itemsPerPageSelectorMarginLeft;
|
|
165
128
|
});
|
|
166
|
-
|
|
167
|
-
var
|
|
168
|
-
|
|
169
|
-
var GoToLabel = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 10px;\n margin-left: 10px;\n"])));
|
|
170
|
-
|
|
129
|
+
var ItemsLabel = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 0.5rem;\n"])));
|
|
130
|
+
var GoToLabel = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 0.5rem;\n margin-left: 0.5rem;\n"])));
|
|
171
131
|
var TotalItemsContainer = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
172
132
|
return props.theme.totalItemsContainerMarginRight;
|
|
173
133
|
}, function (props) {
|
|
174
134
|
return props.theme.totalItemsContainerMarginLeft;
|
|
175
135
|
});
|
|
176
|
-
|
|
177
|
-
var
|
|
178
|
-
|
|
179
|
-
}, function (props) {
|
|
180
|
-
return props.theme.marginLeft;
|
|
181
|
-
});
|
|
182
|
-
|
|
183
|
-
var PageToSelectContainer = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n margin-right: ", ";\n margin-left: ", ";\n\n label {\n height: 0px;\n }\n label + .MuiInput-formControl {\n margin-top: 0px;\n }\n"])), function (props) {
|
|
184
|
-
return props.theme.pageSelectorMarginRight;
|
|
185
|
-
}, function (props) {
|
|
186
|
-
return props.theme.pageSelectorMarginLeft;
|
|
187
|
-
});
|
|
188
|
-
|
|
189
|
-
var TextContainer = _styledComponents["default"].span(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])([""])));
|
|
190
|
-
|
|
191
|
-
var _default = DxcPaginator;
|
|
192
|
-
exports["default"] = _default;
|
|
136
|
+
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"])));
|
|
137
|
+
var PageToSelectContainer = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n margin-right: 0.5rem;\n"])));
|
|
138
|
+
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
|
);
|