@dxc-technology/halstack-react 0.0.0-2b773b3 → 0.0.0-2bca710
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 +2 -2
- package/BackgroundColorContext.js +1 -1
- package/HalstackContext.d.ts +1348 -0
- package/HalstackContext.js +335 -0
- package/README.md +47 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +108 -134
- package/accordion/Accordion.stories.tsx +108 -118
- package/accordion/Accordion.test.js +10 -11
- package/accordion/types.d.ts +1 -12
- package/accordion-group/AccordionGroup.d.ts +4 -3
- package/accordion-group/AccordionGroup.js +25 -65
- package/accordion-group/AccordionGroup.stories.tsx +93 -66
- package/accordion-group/AccordionGroup.test.js +27 -62
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +43 -0
- package/accordion-group/types.d.ts +7 -12
- package/alert/Alert.js +9 -10
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +1 -1
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +5 -3
- package/badge/types.d.ts +1 -0
- package/bleed/Bleed.js +1 -34
- package/bleed/Bleed.stories.tsx +95 -95
- package/bleed/types.d.ts +1 -1
- package/box/Box.d.ts +1 -1
- package/box/Box.js +19 -48
- package/box/Box.stories.tsx +38 -51
- package/box/Box.test.js +1 -1
- package/box/types.d.ts +0 -11
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +125 -0
- package/bulleted-list/BulletedList.stories.tsx +206 -0
- package/bulleted-list/types.d.ts +38 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +44 -71
- package/button/Button.stories.tsx +159 -8
- package/button/Button.test.js +12 -1
- package/button/types.d.ts +9 -5
- package/card/Card.d.ts +1 -1
- package/card/Card.js +37 -58
- package/card/Card.stories.tsx +12 -42
- package/card/Card.test.js +1 -1
- package/card/types.d.ts +1 -6
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +104 -101
- package/checkbox/Checkbox.stories.tsx +198 -130
- package/checkbox/Checkbox.test.js +94 -17
- package/checkbox/types.d.ts +7 -3
- package/chip/Chip.js +28 -49
- package/chip/Chip.stories.tsx +121 -26
- package/chip/Chip.test.js +3 -5
- package/chip/types.d.ts +1 -1
- package/common/OpenSans.css +68 -80
- package/common/coreTokens.d.ts +146 -0
- package/common/coreTokens.js +167 -0
- package/common/utils.d.ts +1 -0
- package/common/utils.js +4 -4
- package/common/variables.d.ts +1494 -0
- package/common/variables.js +1111 -1111
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +258 -0
- package/date-input/DateInput.js +140 -238
- package/date-input/DateInput.stories.tsx +209 -33
- package/date-input/DateInput.test.js +519 -149
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +146 -0
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +75 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +126 -0
- package/date-input/types.d.ts +55 -0
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +68 -103
- package/dialog/Dialog.stories.tsx +154 -171
- package/dialog/Dialog.test.js +334 -5
- package/dialog/types.d.ts +0 -12
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +246 -253
- package/dropdown/Dropdown.stories.tsx +245 -56
- package/dropdown/Dropdown.test.js +507 -110
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +74 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +79 -0
- package/dropdown/types.d.ts +23 -3
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +180 -223
- package/file-input/FileInput.stories.tsx +122 -11
- package/file-input/FileInput.test.js +14 -14
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +44 -66
- package/file-input/types.d.ts +18 -1
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +71 -0
- package/flex/Flex.stories.tsx +112 -0
- package/flex/types.d.ts +97 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +49 -142
- package/footer/Footer.stories.tsx +41 -19
- package/footer/Footer.test.js +16 -26
- package/footer/Icons.js +1 -1
- package/footer/types.d.ts +11 -12
- package/grid/Grid.d.ts +7 -0
- package/grid/Grid.js +91 -0
- package/grid/Grid.stories.tsx +219 -0
- package/grid/types.d.ts +115 -0
- package/header/Header.d.ts +4 -3
- package/header/Header.js +102 -150
- package/header/Header.stories.tsx +152 -63
- package/header/Header.test.js +20 -4
- package/header/Icons.js +2 -2
- package/header/types.d.ts +0 -13
- package/heading/Heading.js +1 -1
- package/heading/Heading.test.js +1 -1
- package/image/Image.d.ts +4 -0
- package/image/Image.js +85 -0
- package/image/Image.stories.tsx +127 -0
- package/image/types.d.ts +72 -0
- package/inset/Inset.js +1 -34
- package/inset/Inset.stories.tsx +37 -36
- package/inset/types.d.ts +1 -1
- package/layout/ApplicationLayout.d.ts +16 -6
- package/layout/ApplicationLayout.js +81 -138
- package/layout/ApplicationLayout.stories.tsx +85 -94
- package/layout/Icons.d.ts +8 -0
- package/layout/Icons.js +52 -45
- package/layout/SidenavContext.d.ts +5 -0
- package/layout/SidenavContext.js +19 -0
- package/layout/types.d.ts +19 -35
- package/link/Link.d.ts +3 -2
- package/link/Link.js +60 -77
- package/link/Link.stories.tsx +155 -53
- package/link/Link.test.js +9 -19
- package/link/types.d.ts +5 -21
- package/main.d.ts +9 -10
- package/main.js +55 -57
- package/nav-tabs/NavTabs.d.ts +8 -0
- package/nav-tabs/NavTabs.js +122 -0
- package/nav-tabs/NavTabs.stories.tsx +274 -0
- package/nav-tabs/NavTabs.test.js +82 -0
- package/nav-tabs/Tab.d.ts +4 -0
- package/nav-tabs/Tab.js +146 -0
- package/nav-tabs/types.d.ts +52 -0
- package/number-input/NumberInput.d.ts +7 -0
- package/number-input/NumberInput.js +6 -4
- package/number-input/NumberInput.test.js +319 -102
- package/number-input/types.d.ts +13 -10
- package/package.json +19 -23
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +16 -28
- package/paginator/Paginator.js +20 -49
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +91 -39
- package/paragraph/Paragraph.d.ts +5 -0
- package/paragraph/Paragraph.js +38 -0
- package/paragraph/Paragraph.stories.tsx +44 -0
- package/password-input/Icons.d.ts +6 -0
- package/password-input/Icons.js +39 -0
- package/password-input/PasswordInput.js +36 -80
- package/password-input/PasswordInput.stories.tsx +1 -0
- package/password-input/PasswordInput.test.js +36 -45
- package/password-input/types.d.ts +14 -11
- package/progress-bar/ProgressBar.js +61 -55
- package/progress-bar/ProgressBar.stories.jsx +47 -12
- package/progress-bar/ProgressBar.test.js +68 -23
- package/quick-nav/QuickNav.js +77 -26
- package/quick-nav/QuickNav.stories.tsx +145 -26
- package/quick-nav/types.d.ts +4 -4
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +46 -31
- package/radio-group/RadioGroup.js +37 -36
- package/radio-group/RadioGroup.stories.tsx +132 -18
- package/radio-group/RadioGroup.test.js +124 -97
- package/radio-group/types.d.ts +2 -2
- package/resultsetTable/Icons.d.ts +7 -0
- package/resultsetTable/Icons.js +51 -0
- package/resultsetTable/ResultsetTable.js +49 -108
- package/resultsetTable/ResultsetTable.stories.tsx +50 -25
- package/resultsetTable/ResultsetTable.test.js +61 -42
- package/resultsetTable/types.d.ts +1 -1
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +169 -0
- package/select/Option.js +11 -24
- package/select/Select.js +148 -214
- package/select/Select.stories.tsx +525 -136
- package/select/Select.test.js +478 -307
- package/select/types.d.ts +20 -4
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +51 -0
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +146 -44
- package/sidenav/Sidenav.stories.tsx +251 -151
- package/sidenav/Sidenav.test.js +25 -37
- package/sidenav/types.d.ts +52 -26
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +121 -97
- package/slider/Slider.stories.tsx +64 -1
- package/slider/Slider.test.js +122 -22
- package/slider/types.d.ts +4 -0
- package/spinner/Spinner.js +18 -24
- package/spinner/Spinner.stories.jsx +53 -27
- package/spinner/Spinner.test.js +1 -1
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +138 -68
- package/switch/Switch.stories.tsx +49 -38
- package/switch/Switch.test.js +145 -18
- package/switch/types.d.ts +6 -2
- package/table/Table.js +3 -3
- package/table/Table.stories.jsx +80 -1
- package/table/Table.test.js +2 -2
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +132 -0
- package/tabs/Tabs.js +358 -108
- package/tabs/Tabs.stories.tsx +119 -11
- package/tabs/Tabs.test.js +220 -10
- package/tabs/types.d.ts +13 -3
- package/tag/Tag.js +12 -17
- package/tag/Tag.stories.tsx +14 -1
- package/tag/Tag.test.js +1 -1
- package/tag/types.d.ts +1 -1
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +60 -0
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +84 -0
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +134 -0
- package/text-input/TextInput.js +260 -399
- package/text-input/TextInput.stories.tsx +319 -185
- package/text-input/TextInput.test.js +846 -759
- package/text-input/types.d.ts +50 -12
- package/textarea/Textarea.js +37 -45
- package/textarea/Textarea.stories.jsx +68 -1
- package/textarea/Textarea.test.js +61 -19
- package/textarea/types.d.ts +14 -7
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +85 -59
- package/toggle-group/ToggleGroup.stories.tsx +48 -3
- package/toggle-group/ToggleGroup.test.js +38 -24
- package/toggle-group/types.d.ts +23 -14
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +32 -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 +1246 -1
- package/useTheme.js +3 -3
- package/useTranslatedLabels.d.ts +85 -0
- package/useTranslatedLabels.js +20 -0
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +108 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +138 -0
- package/wizard/Wizard.js +44 -45
- package/wizard/Wizard.stories.tsx +40 -1
- package/wizard/Wizard.test.js +1 -1
- package/wizard/types.d.ts +3 -3
- package/ThemeContext.d.ts +0 -10
- package/ThemeContext.js +0 -243
- package/card/ice-cream.jpg +0 -0
- package/common/RequiredComponent.js +0 -32
- 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/NumberInputContext.d.ts +0 -4
- package/number-input/NumberInputContext.js +0 -19
- package/number-input/numberInputContextTypes.d.ts +0 -19
- 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/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 -28
- 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 -24
- package/text/Text.d.ts +0 -7
- package/text/Text.js +0 -30
- package/text/Text.stories.tsx +0 -19
- /package/{list → bulleted-list}/types.js +0 -0
- /package/{radio → flex}/types.js +0 -0
- /package/{row → grid}/types.js +0 -0
- /package/{stack → image}/types.js +0 -0
- /package/{number-input/numberInputContextTypes.js → nav-tabs/types.js} +0 -0
package/number-input/types.d.ts
CHANGED
|
@@ -54,7 +54,7 @@ declare type Props = {
|
|
|
54
54
|
* lower than min, the onBlur and onChange functions will be called with
|
|
55
55
|
* the current value and an internal error informing that the current
|
|
56
56
|
* value is not correct. If a valid state is reached, the error parameter
|
|
57
|
-
* will be
|
|
57
|
+
* will not be defined in both events.
|
|
58
58
|
*/
|
|
59
59
|
min?: number;
|
|
60
60
|
/**
|
|
@@ -62,7 +62,7 @@ declare type Props = {
|
|
|
62
62
|
* surpasses max, the onBlur and onChange functions will be called with
|
|
63
63
|
* the current value and an internal error informing that the current
|
|
64
64
|
* value is not correct. If a valid state is reached, the error parameter
|
|
65
|
-
* will be
|
|
65
|
+
* will not be defined in both events.
|
|
66
66
|
*/
|
|
67
67
|
max?: number;
|
|
68
68
|
/**
|
|
@@ -73,26 +73,29 @@ declare type Props = {
|
|
|
73
73
|
* This function will be called when the user types within the input
|
|
74
74
|
* element of the component. An object including the current value and
|
|
75
75
|
* the error (if the value entered is not valid) will be passed to this
|
|
76
|
-
* function. If there is no error, error will be
|
|
76
|
+
* function. If there is no error, error will not be defined.
|
|
77
77
|
*/
|
|
78
78
|
onChange?: (val: {
|
|
79
79
|
value: string;
|
|
80
|
-
error
|
|
80
|
+
error?: string;
|
|
81
81
|
}) => void;
|
|
82
82
|
/**
|
|
83
83
|
* This function will be called when the input element loses the focus.
|
|
84
84
|
* An object including the input value and the error (if the value
|
|
85
85
|
* entered is not valid) will be passed to this function. If there is no error,
|
|
86
|
-
* error will be
|
|
86
|
+
* error will not be defined.
|
|
87
87
|
*/
|
|
88
88
|
onBlur?: (val: {
|
|
89
89
|
value: string;
|
|
90
|
-
error
|
|
90
|
+
error?: string;
|
|
91
91
|
}) => void;
|
|
92
92
|
/**
|
|
93
|
-
* If it is defined
|
|
94
|
-
* the error below the input component. If
|
|
95
|
-
*
|
|
93
|
+
* If it is a defined value and also a truthy string, the component will
|
|
94
|
+
* change its appearance, showing the error below the input component. If
|
|
95
|
+
* the defined value is an empty string, it will reserve a space below
|
|
96
|
+
* the component for a future error, but it would not change its look. In
|
|
97
|
+
* case of being undefined or null, both the appearance and the space for
|
|
98
|
+
* the error message would not be modified.
|
|
96
99
|
*/
|
|
97
100
|
error?: string;
|
|
98
101
|
/**
|
|
@@ -106,7 +109,7 @@ declare type Props = {
|
|
|
106
109
|
*/
|
|
107
110
|
margin?: Space | Margin;
|
|
108
111
|
/**
|
|
109
|
-
* Size of the component
|
|
112
|
+
* Size of the component.
|
|
110
113
|
*/
|
|
111
114
|
size?: "small" | "medium" | "large" | "fillParent";
|
|
112
115
|
/**
|
package/package.json
CHANGED
|
@@ -1,43 +1,35 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxc-technology/halstack-react",
|
|
3
|
-
"version": "0.0.0-
|
|
3
|
+
"version": "0.0.0-2bca710",
|
|
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": "0.1.6",
|
|
27
22
|
"@types/styled-components": "^5.1.24",
|
|
28
23
|
"@types/uuid": "^8.3.4",
|
|
29
24
|
"color": "^3.1.3",
|
|
30
|
-
"
|
|
31
|
-
"moment": "2.24.0",
|
|
32
|
-
"prop-types": "^15.7.2",
|
|
33
|
-
"rgb-hex": "^3.0.0",
|
|
25
|
+
"dayjs": "^1.11.1",
|
|
34
26
|
"slugify": "^1.6.5",
|
|
35
27
|
"uuid": "^8.3.2"
|
|
36
28
|
},
|
|
37
29
|
"scripts": {
|
|
38
|
-
"test": "jest",
|
|
30
|
+
"test": "jest --env=jsdom",
|
|
39
31
|
"test:watch": "npm test -- --watch --coverage",
|
|
40
|
-
"build": "babel src --extensions .js,.jsx,.ts,.tsx --out-dir ../dist --copy-files --verbose && node ../scripts/build/copy-package.js && tsc ",
|
|
32
|
+
"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 ",
|
|
41
33
|
"build:watch": "babel src --watch --extensions .js,.jsx,.ts,.tsx --out-dir ../dist --copy-files --verbose",
|
|
42
34
|
"storybook": "start-storybook -p 6006",
|
|
43
35
|
"build-storybook": "build-storybook"
|
|
@@ -56,8 +48,10 @@
|
|
|
56
48
|
"@storybook/addon-links": "^6.4.9",
|
|
57
49
|
"@storybook/react": "^6.4.9",
|
|
58
50
|
"@storybook/testing-library": "0.0.7",
|
|
59
|
-
"@testing-library/react": "^
|
|
60
|
-
"@testing-library/user-event": "^
|
|
51
|
+
"@testing-library/react": "^13.0.0",
|
|
52
|
+
"@testing-library/user-event": "^13.0.0",
|
|
53
|
+
"@types/color": "^3.0.3",
|
|
54
|
+
"@types/react": "^18.0.18",
|
|
61
55
|
"babel-jest": "^24.8.0",
|
|
62
56
|
"babel-loader": "^8.0.6",
|
|
63
57
|
"chromatic": "^6.3.3",
|
|
@@ -71,9 +65,10 @@
|
|
|
71
65
|
"eslint-plugin-react-hooks": "^4.2.0",
|
|
72
66
|
"eslint-plugin-storybook": "^0.5.5",
|
|
73
67
|
"identity-obj-proxy": "^3.0.0",
|
|
74
|
-
"jest": "^
|
|
75
|
-
"
|
|
76
|
-
"react
|
|
68
|
+
"jest": "^29.2.2",
|
|
69
|
+
"jest-environment-jsdom": "^29.3.1",
|
|
70
|
+
"react": "^18.x",
|
|
71
|
+
"react-dom": "^18.x",
|
|
77
72
|
"react-test-renderer": "^16.8.6",
|
|
78
73
|
"storybook-addon-pseudo-states": "^1.0.0",
|
|
79
74
|
"styled-components": "^5.0.1",
|
|
@@ -83,7 +78,8 @@
|
|
|
83
78
|
"moduleNameMapper": {
|
|
84
79
|
"\\.(css|less|scss|sass)$": "identity-obj-proxy",
|
|
85
80
|
"\\.(svg)$": "<rootDir>/test/mocks/svgMock.js",
|
|
86
|
-
"\\.(png)$": "<rootDir>/test/mocks/pngMock.js"
|
|
81
|
+
"\\.(png)$": "<rootDir>/test/mocks/pngMock.js",
|
|
82
|
+
"^uuid$": "uuid"
|
|
87
83
|
}
|
|
88
84
|
}
|
|
89
85
|
}
|
package/paginator/Icons.js
CHANGED
|
@@ -11,56 +11,44 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
11
11
|
|
|
12
12
|
var firstIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
13
13
|
xmlns: "http://www.w3.org/2000/svg",
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
height: "24",
|
|
15
|
+
width: "24",
|
|
16
|
+
fill: "currentColor"
|
|
17
17
|
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
18
|
-
|
|
19
|
-
"data-name": "Path 2463",
|
|
20
|
-
d: "M18.41,16.59,13.82,12l4.59-4.59L17,6l-6,6,6,6ZM6,6H8V18H6Z",
|
|
21
|
-
transform: "translate(-6 -6)"
|
|
18
|
+
d: "M6 18V6h2v12Zm11 0-6-6 6-6 1.4 1.4-4.6 4.6 4.6 4.6Z"
|
|
22
19
|
}));
|
|
23
20
|
|
|
24
21
|
exports.firstIcon = firstIcon;
|
|
25
22
|
|
|
26
23
|
var previousIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
27
24
|
xmlns: "http://www.w3.org/2000/svg",
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
25
|
+
height: "24",
|
|
26
|
+
width: "24",
|
|
27
|
+
fill: "currentColor"
|
|
31
28
|
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
32
|
-
|
|
33
|
-
"data-name": "Path 2459",
|
|
34
|
-
d: "M15.41,7.41,14,6,8,12l6,6,1.41-1.41L10.83,12Z",
|
|
35
|
-
transform: "translate(-8 -6)"
|
|
29
|
+
d: "m14 18-6-6 6-6 1.4 1.4-4.6 4.6 4.6 4.6Z"
|
|
36
30
|
}));
|
|
37
31
|
|
|
38
32
|
exports.previousIcon = previousIcon;
|
|
39
33
|
|
|
40
34
|
var nextIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
41
35
|
xmlns: "http://www.w3.org/2000/svg",
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
36
|
+
height: "24",
|
|
37
|
+
width: "24",
|
|
38
|
+
fill: "currentColor"
|
|
45
39
|
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
46
|
-
|
|
47
|
-
"data-name": "Path 2461",
|
|
48
|
-
d: "M10,6,8.59,7.41,13.17,12,8.59,16.59,10,18l6-6Z",
|
|
49
|
-
transform: "translate(-8.59 -6)"
|
|
40
|
+
d: "M9.4 18 8 16.6l4.6-4.6L8 7.4 9.4 6l6 6Z"
|
|
50
41
|
}));
|
|
51
42
|
|
|
52
43
|
exports.nextIcon = nextIcon;
|
|
53
44
|
|
|
54
45
|
var lastIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
55
46
|
xmlns: "http://www.w3.org/2000/svg",
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
47
|
+
height: "24",
|
|
48
|
+
width: "24",
|
|
49
|
+
fill: "currentColor"
|
|
59
50
|
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
60
|
-
|
|
61
|
-
"data-name": "Path 2465",
|
|
62
|
-
d: "M5.59,7.41,10.18,12,5.59,16.59,7,18l6-6L7,6ZM16,6h2V18H16Z",
|
|
63
|
-
transform: "translate(-5.59 -6)"
|
|
51
|
+
d: "m7 18-1.4-1.4 4.6-4.6-4.6-4.6L7 6l6 6Zm9 0V6h2v12Z"
|
|
64
52
|
}));
|
|
65
53
|
|
|
66
54
|
exports.lastIcon = lastIcon;
|
package/paginator/Paginator.js
CHANGED
|
@@ -17,6 +17,8 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
|
17
17
|
|
|
18
18
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
19
19
|
|
|
20
|
+
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
21
|
+
|
|
20
22
|
var _Button = _interopRequireDefault(require("../button/Button"));
|
|
21
23
|
|
|
22
24
|
var _Select = _interopRequireDefault(require("../select/Select"));
|
|
@@ -25,7 +27,7 @@ var _Icons = require("./Icons");
|
|
|
25
27
|
|
|
26
28
|
var _BackgroundColorContext = require("../BackgroundColorContext");
|
|
27
29
|
|
|
28
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8
|
|
30
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
|
|
29
31
|
|
|
30
32
|
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
33
|
|
|
@@ -44,18 +46,17 @@ var DxcPaginator = function DxcPaginator(_ref) {
|
|
|
44
46
|
itemsPerPageFunction = _ref.itemsPerPageFunction,
|
|
45
47
|
_ref$tabIndex = _ref.tabIndex,
|
|
46
48
|
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
47
|
-
var totalPages = Math.ceil(totalItems / itemsPerPage);
|
|
49
|
+
var totalPages = itemsPerPage > 0 && Math.ceil(totalItems / itemsPerPage);
|
|
48
50
|
var currentPageInternal = currentPage === -1 ? totalPages : currentPage;
|
|
49
51
|
var minItemsPerPage = currentPageInternal === 1 || currentPageInternal === 0 ? currentPageInternal : (currentPageInternal - 1) * itemsPerPage + 1;
|
|
50
52
|
var maxItemsPerPage = minItemsPerPage - 1 + itemsPerPage > totalItems ? totalItems : minItemsPerPage - 1 + itemsPerPage;
|
|
51
53
|
var colorsTheme = (0, _useTheme["default"])();
|
|
54
|
+
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
52
55
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
53
56
|
theme: colorsTheme.paginator
|
|
54
57
|
}, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
|
|
55
58
|
color: colorsTheme.paginator.backgroundColor
|
|
56
|
-
}, /*#__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"], {
|
|
59
|
+
}, /*#__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
60
|
options: itemsPerPageOptions.map(function (num) {
|
|
60
61
|
return {
|
|
61
62
|
label: num.toString(),
|
|
@@ -68,33 +69,23 @@ var DxcPaginator = function DxcPaginator(_ref) {
|
|
|
68
69
|
value: itemsPerPage.toString(),
|
|
69
70
|
size: "fillParent",
|
|
70
71
|
tabIndex: tabIndex
|
|
71
|
-
}))), /*#__PURE__*/_react["default"].createElement(TotalItemsContainer, null, minItemsPerPage,
|
|
72
|
-
size: "small",
|
|
72
|
+
}))), /*#__PURE__*/_react["default"].createElement(TotalItemsContainer, null, translatedLabels.paginator.minToMaxOfText(minItemsPerPage, maxItemsPerPage, totalItems)), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
73
73
|
mode: "secondary",
|
|
74
74
|
disabled: currentPageInternal === 1 || currentPageInternal === 0,
|
|
75
|
-
margin: {
|
|
76
|
-
left: "xxsmall",
|
|
77
|
-
right: "xxsmall"
|
|
78
|
-
},
|
|
79
75
|
icon: _Icons.firstIcon,
|
|
80
76
|
tabIndex: tabIndex,
|
|
81
77
|
onClick: function onClick() {
|
|
82
78
|
onPageChange(1);
|
|
83
79
|
}
|
|
84
80
|
}), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
85
|
-
size: "small",
|
|
86
81
|
mode: "secondary",
|
|
87
82
|
disabled: currentPageInternal === 1 || currentPageInternal === 0,
|
|
88
|
-
margin: {
|
|
89
|
-
left: "xxsmall",
|
|
90
|
-
right: "xxsmall"
|
|
91
|
-
},
|
|
92
83
|
icon: _Icons.previousIcon,
|
|
93
84
|
tabIndex: tabIndex,
|
|
94
85
|
onClick: function onClick() {
|
|
95
86
|
onPageChange(currentPage - 1);
|
|
96
87
|
}
|
|
97
|
-
}), showGoToPage
|
|
88
|
+
}), 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
89
|
options: Array.from(Array(totalPages), function (e, num) {
|
|
99
90
|
return {
|
|
100
91
|
label: (num + 1).toString(),
|
|
@@ -107,27 +98,17 @@ var DxcPaginator = function DxcPaginator(_ref) {
|
|
|
107
98
|
value: currentPage.toString(),
|
|
108
99
|
size: "fillParent",
|
|
109
100
|
tabIndex: tabIndex
|
|
110
|
-
})))
|
|
111
|
-
size: "small",
|
|
101
|
+
}))) : /*#__PURE__*/_react["default"].createElement("span", null, translatedLabels.paginator.pageOfText(currentPageInternal, totalPages)), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
112
102
|
mode: "secondary",
|
|
113
103
|
disabled: currentPageInternal === totalPages,
|
|
114
|
-
margin: {
|
|
115
|
-
left: "xxsmall",
|
|
116
|
-
right: "xxsmall"
|
|
117
|
-
},
|
|
118
104
|
icon: _Icons.nextIcon,
|
|
119
105
|
tabIndex: tabIndex,
|
|
120
106
|
onClick: function onClick() {
|
|
121
107
|
onPageChange(currentPage + 1);
|
|
122
108
|
}
|
|
123
109
|
}), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
124
|
-
size: "small",
|
|
125
110
|
mode: "secondary",
|
|
126
111
|
disabled: currentPageInternal === totalPages,
|
|
127
|
-
margin: {
|
|
128
|
-
left: "xxsmall",
|
|
129
|
-
right: "xxsmall"
|
|
130
|
-
},
|
|
131
112
|
icon: _Icons.lastIcon,
|
|
132
113
|
tabIndex: tabIndex,
|
|
133
114
|
onClick: function onClick() {
|
|
@@ -136,11 +117,7 @@ var DxcPaginator = function DxcPaginator(_ref) {
|
|
|
136
117
|
})))));
|
|
137
118
|
};
|
|
138
119
|
|
|
139
|
-
var DxcPaginatorContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n
|
|
140
|
-
return props.theme.height;
|
|
141
|
-
}, function (props) {
|
|
142
|
-
return props.theme.width;
|
|
143
|
-
}, function (props) {
|
|
120
|
+
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
121
|
return props.theme.fontFamily;
|
|
145
122
|
}, function (props) {
|
|
146
123
|
return props.theme.fontSize;
|
|
@@ -154,19 +131,23 @@ var DxcPaginatorContainer = _styledComponents["default"].div(_templateObject ||
|
|
|
154
131
|
return props.theme.backgroundColor;
|
|
155
132
|
}, function (props) {
|
|
156
133
|
return props.theme.fontColor;
|
|
134
|
+
}, function (props) {
|
|
135
|
+
return props.theme.verticalPadding;
|
|
136
|
+
}, function (props) {
|
|
137
|
+
return props.theme.horizontalPadding;
|
|
157
138
|
});
|
|
158
139
|
|
|
159
|
-
var SelectContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
140
|
+
var SelectContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n min-width: 5.25rem;\n"])));
|
|
160
141
|
|
|
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
|
|
142
|
+
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
143
|
return props.theme.itemsPerPageSelectorMarginRight;
|
|
163
144
|
}, function (props) {
|
|
164
145
|
return props.theme.itemsPerPageSelectorMarginLeft;
|
|
165
146
|
});
|
|
166
147
|
|
|
167
|
-
var ItemsLabel = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right:
|
|
148
|
+
var ItemsLabel = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 0.5rem;\n"])));
|
|
168
149
|
|
|
169
|
-
var GoToLabel = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right:
|
|
150
|
+
var GoToLabel = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 0.5rem;\n margin-left: 0.5rem;\n"])));
|
|
170
151
|
|
|
171
152
|
var TotalItemsContainer = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
172
153
|
return props.theme.totalItemsContainerMarginRight;
|
|
@@ -174,19 +155,9 @@ var TotalItemsContainer = _styledComponents["default"].span(_templateObject6 ||
|
|
|
174
155
|
return props.theme.totalItemsContainerMarginLeft;
|
|
175
156
|
});
|
|
176
157
|
|
|
177
|
-
var LabelsContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n width: 100%;\n justify-content: flex-end;\n align-items: center;\n
|
|
178
|
-
return props.theme.marginRight;
|
|
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
|
-
});
|
|
158
|
+
var LabelsContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n gap: 0.5rem;\n width: 100%;\n justify-content: flex-end;\n align-items: center;\n"])));
|
|
188
159
|
|
|
189
|
-
var
|
|
160
|
+
var PageToSelectContainer = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n margin-right: 0.5rem;\n"])));
|
|
190
161
|
|
|
191
162
|
var _default = DxcPaginator;
|
|
192
163
|
exports["default"] = _default;
|
|
@@ -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
|
);
|