@dxc-technology/halstack-react 0.0.0-64fdce7 → 0.0.0-6501724
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 +1329 -5
- package/HalstackContext.js +113 -72
- package/accordion/Accordion.js +6 -11
- package/accordion/Accordion.stories.tsx +52 -3
- package/accordion/Accordion.test.js +1 -1
- package/accordion/types.d.ts +3 -3
- package/accordion-group/AccordionGroup.d.ts +4 -3
- package/accordion-group/AccordionGroup.js +23 -44
- package/accordion-group/AccordionGroup.test.js +1 -1
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +43 -0
- package/accordion-group/types.d.ts +2 -2
- package/alert/Alert.js +4 -8
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +1 -1
- package/bleed/Bleed.stories.tsx +1 -0
- package/box/Box.js +3 -5
- package/box/Box.stories.tsx +15 -0
- package/box/Box.test.js +1 -1
- package/bulleted-list/BulletedList.js +4 -2
- package/bulleted-list/BulletedList.stories.tsx +7 -1
- package/bulleted-list/types.d.ts +31 -4
- package/button/Button.js +2 -3
- package/button/Button.stories.tsx +95 -10
- package/button/Button.test.js +1 -1
- package/button/types.d.ts +3 -3
- package/card/Card.js +12 -13
- package/card/Card.stories.tsx +12 -13
- package/card/Card.test.js +1 -1
- package/checkbox/Checkbox.js +3 -3
- package/checkbox/Checkbox.stories.tsx +52 -0
- package/checkbox/Checkbox.test.js +1 -1
- package/checkbox/types.d.ts +2 -2
- package/chip/Chip.js +25 -34
- package/chip/Chip.stories.tsx +80 -17
- package/chip/Chip.test.js +3 -5
- 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 +1482 -0
- package/common/variables.js +962 -1123
- package/date-input/DateInput.stories.tsx +67 -0
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +55 -86
- package/dialog/Dialog.stories.tsx +145 -217
- package/dialog/Dialog.test.js +302 -3
- package/dialog/types.d.ts +0 -13
- package/dropdown/Dropdown.js +2 -2
- package/dropdown/Dropdown.stories.tsx +46 -1
- package/dropdown/Dropdown.test.js +3 -2
- package/dropdown/DropdownMenu.js +5 -1
- package/dropdown/DropdownMenuItem.js +0 -2
- package/dropdown/types.d.ts +3 -3
- package/file-input/FileInput.js +4 -8
- package/file-input/FileInput.stories.tsx +85 -2
- package/file-input/FileInput.test.js +1 -42
- package/file-input/FileItem.js +1 -0
- package/flex/Flex.js +4 -2
- package/flex/Flex.stories.tsx +35 -26
- package/flex/types.d.ts +70 -5
- package/footer/Footer.js +6 -8
- package/footer/Footer.stories.tsx +91 -0
- package/footer/Footer.test.js +14 -26
- 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 +3 -2
- package/header/Header.js +3 -3
- package/header/Header.stories.tsx +115 -5
- package/header/Header.test.js +2 -2
- package/header/types.d.ts +2 -2
- package/heading/Heading.js +1 -1
- package/heading/Heading.test.js +1 -1
- package/inset/Inset.stories.tsx +2 -1
- package/layout/ApplicationLayout.d.ts +3 -3
- package/layout/ApplicationLayout.js +1 -1
- package/layout/types.d.ts +2 -3
- package/link/Link.js +3 -3
- package/link/Link.stories.tsx +60 -0
- package/link/Link.test.js +2 -4
- package/link/types.d.ts +2 -2
- package/main.d.ts +3 -2
- package/main.js +9 -1
- package/{tabs-nav → nav-tabs}/NavTabs.d.ts +2 -2
- package/{tabs-nav → nav-tabs}/NavTabs.js +8 -11
- package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +103 -1
- package/{tabs-nav → nav-tabs}/NavTabs.test.js +1 -1
- package/{tabs-nav → nav-tabs}/Tab.js +47 -29
- package/{tabs-nav → nav-tabs}/types.d.ts +8 -9
- package/nav-tabs/types.js +5 -0
- package/number-input/NumberInput.test.js +1 -1
- package/package.json +2 -2
- package/paginator/Paginator.js +2 -4
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +40 -37
- package/paragraph/Paragraph.d.ts +3 -4
- package/paragraph/Paragraph.js +5 -5
- package/password-input/PasswordInput.test.js +1 -1
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +5 -5
- package/progress-bar/ProgressBar.stories.jsx +35 -2
- package/progress-bar/ProgressBar.test.js +1 -1
- package/progress-bar/types.d.ts +4 -3
- package/quick-nav/QuickNav.stories.tsx +14 -0
- package/radio-group/Radio.js +10 -10
- package/radio-group/RadioGroup.js +8 -10
- package/radio-group/RadioGroup.stories.tsx +131 -18
- package/radio-group/RadioGroup.test.js +1 -1
- package/resultsetTable/ResultsetTable.js +2 -2
- package/resultsetTable/ResultsetTable.test.js +1 -1
- package/resultsetTable/types.d.ts +3 -3
- package/select/Select.js +13 -11
- package/select/Select.stories.tsx +477 -175
- package/select/Select.test.js +59 -59
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +51 -0
- package/sidenav/Sidenav.d.ts +2 -2
- package/sidenav/Sidenav.js +66 -94
- package/sidenav/Sidenav.stories.tsx +110 -17
- package/sidenav/types.d.ts +21 -18
- package/slider/Slider.js +2 -3
- package/slider/Slider.stories.tsx +57 -0
- package/slider/Slider.test.js +1 -1
- package/slider/types.d.ts +2 -2
- package/spinner/Spinner.js +15 -21
- package/spinner/Spinner.stories.jsx +53 -27
- package/spinner/Spinner.test.js +1 -1
- package/switch/Switch.js +2 -2
- package/switch/Switch.stories.tsx +33 -0
- package/switch/Switch.test.js +1 -1
- package/switch/types.d.ts +2 -2
- package/table/Table.js +2 -2
- package/table/Table.stories.jsx +80 -1
- package/table/Table.test.js +1 -1
- package/tabs/Tab.js +9 -10
- package/tabs/Tabs.js +11 -17
- package/tabs/Tabs.stories.tsx +38 -0
- package/tabs/Tabs.test.js +4 -5
- package/tabs/types.d.ts +2 -2
- package/tag/Tag.js +7 -9
- package/tag/Tag.stories.tsx +14 -1
- package/tag/Tag.test.js +1 -1
- package/text-input/Suggestion.js +2 -2
- package/text-input/TextInput.js +4 -4
- package/text-input/TextInput.stories.tsx +69 -1
- package/text-input/TextInput.test.js +1 -2
- package/textarea/Textarea.js +3 -4
- package/textarea/Textarea.stories.jsx +60 -1
- package/textarea/Textarea.test.js +2 -4
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +7 -4
- package/toggle-group/ToggleGroup.stories.tsx +42 -0
- package/toggle-group/ToggleGroup.test.js +1 -1
- package/toggle-group/types.d.ts +1 -1
- package/typography/Typography.d.ts +2 -2
- package/typography/Typography.js +14 -113
- package/typography/Typography.stories.tsx +1 -1
- package/useTheme.d.ts +1234 -1
- package/useTheme.js +1 -1
- package/useTranslatedLabels.d.ts +84 -1
- 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 +2 -2
- package/wizard/Wizard.stories.tsx +20 -0
- package/wizard/Wizard.test.js +1 -1
- package/wizard/types.d.ts +5 -6
- /package/{tabs-nav → grid}/types.js +0 -0
- /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
declare type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
|
|
3
|
+
export declare type NavTabsContextProps = {
|
|
4
|
+
iconPosition: "top" | "left";
|
|
5
|
+
tabIndex: number;
|
|
6
|
+
focusedLabel: string;
|
|
7
|
+
};
|
|
3
8
|
export declare type TabProps = {
|
|
4
9
|
/**
|
|
5
10
|
* Whether the tab is active or not.
|
|
@@ -26,11 +31,11 @@ export declare type TabProps = {
|
|
|
26
31
|
*/
|
|
27
32
|
notificationNumber?: boolean | number;
|
|
28
33
|
/**
|
|
29
|
-
*
|
|
34
|
+
* Contains one or more DxcNavTabs.Tab.
|
|
30
35
|
*/
|
|
31
36
|
children: string;
|
|
32
37
|
};
|
|
33
|
-
|
|
38
|
+
declare type Props = {
|
|
34
39
|
/**
|
|
35
40
|
* Whether the icon should appear above or to the left of the label.
|
|
36
41
|
*/
|
|
@@ -44,10 +49,4 @@ export declare type NavTabsProps = {
|
|
|
44
49
|
*/
|
|
45
50
|
children: React.ReactNode;
|
|
46
51
|
};
|
|
47
|
-
export
|
|
48
|
-
iconPosition: "top" | "left";
|
|
49
|
-
tabIndex: number;
|
|
50
|
-
hasIcons: boolean;
|
|
51
|
-
focusedLabel: string;
|
|
52
|
-
};
|
|
53
|
-
export {};
|
|
52
|
+
export default Props;
|
|
@@ -8,7 +8,7 @@ var _react2 = require("@testing-library/react");
|
|
|
8
8
|
|
|
9
9
|
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
10
10
|
|
|
11
|
-
var _NumberInput = _interopRequireDefault(require("./NumberInput"));
|
|
11
|
+
var _NumberInput = _interopRequireDefault(require("./NumberInput.tsx"));
|
|
12
12
|
|
|
13
13
|
describe("Number input component tests", function () {
|
|
14
14
|
test("Number input renders with label", function () {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxc-technology/halstack-react",
|
|
3
|
-
"version": "0.0.0-
|
|
3
|
+
"version": "0.0.0-6501724",
|
|
4
4
|
"description": "DXC Halstack React components library",
|
|
5
5
|
"repository": "dxc-technology/halstack-react",
|
|
6
6
|
"homepage": "https://developer.dxc.com/halstack",
|
|
@@ -23,7 +23,6 @@
|
|
|
23
23
|
"@types/uuid": "^8.3.4",
|
|
24
24
|
"color": "^3.1.3",
|
|
25
25
|
"dayjs": "^1.11.1",
|
|
26
|
-
"rgb-hex": "^3.0.0",
|
|
27
26
|
"slugify": "^1.6.5",
|
|
28
27
|
"uuid": "^8.3.2"
|
|
29
28
|
},
|
|
@@ -51,6 +50,7 @@
|
|
|
51
50
|
"@storybook/testing-library": "0.0.7",
|
|
52
51
|
"@testing-library/react": "^13.0.0",
|
|
53
52
|
"@testing-library/user-event": "^13.0.0",
|
|
53
|
+
"@types/color": "^3.0.3",
|
|
54
54
|
"@types/react": "^18.0.18",
|
|
55
55
|
"babel-jest": "^24.8.0",
|
|
56
56
|
"babel-loader": "^8.0.6",
|
package/paginator/Paginator.js
CHANGED
|
@@ -46,7 +46,7 @@ var DxcPaginator = function DxcPaginator(_ref) {
|
|
|
46
46
|
itemsPerPageFunction = _ref.itemsPerPageFunction,
|
|
47
47
|
_ref$tabIndex = _ref.tabIndex,
|
|
48
48
|
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
49
|
-
var totalPages = Math.ceil(totalItems / itemsPerPage);
|
|
49
|
+
var totalPages = itemsPerPage > 0 && Math.ceil(totalItems / itemsPerPage);
|
|
50
50
|
var currentPageInternal = currentPage === -1 ? totalPages : currentPage;
|
|
51
51
|
var minItemsPerPage = currentPageInternal === 1 || currentPageInternal === 0 ? currentPageInternal : (currentPageInternal - 1) * itemsPerPage + 1;
|
|
52
52
|
var maxItemsPerPage = minItemsPerPage - 1 + itemsPerPage > totalItems ? totalItems : minItemsPerPage - 1 + itemsPerPage;
|
|
@@ -56,9 +56,7 @@ var DxcPaginator = function DxcPaginator(_ref) {
|
|
|
56
56
|
theme: colorsTheme.paginator
|
|
57
57
|
}, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
|
|
58
58
|
color: colorsTheme.paginator.backgroundColor
|
|
59
|
-
}, /*#__PURE__*/_react["default"].createElement(DxcPaginatorContainer, {
|
|
60
|
-
disabled: currentPageInternal === 1
|
|
61
|
-
}, /*#__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
|
+
}, /*#__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"], {
|
|
62
60
|
options: itemsPerPageOptions.map(function (num) {
|
|
63
61
|
return {
|
|
64
62
|
label: num.toString(),
|
|
@@ -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
|
);
|
|
@@ -12,7 +12,7 @@ var _react2 = require("@testing-library/react");
|
|
|
12
12
|
|
|
13
13
|
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
14
14
|
|
|
15
|
-
var _Paginator = _interopRequireDefault(require("./Paginator"));
|
|
15
|
+
var _Paginator = _interopRequireDefault(require("./Paginator.tsx"));
|
|
16
16
|
|
|
17
17
|
// Mocking DOMRect for Radix Primitive Popover
|
|
18
18
|
global.globalThis = global;
|
|
@@ -85,46 +85,37 @@ describe("Paginator component tests", function () {
|
|
|
85
85
|
getByText = _render3.getByText;
|
|
86
86
|
|
|
87
87
|
expect(getByText("Items per page:")).toBeTruthy();
|
|
88
|
-
});
|
|
89
|
-
test("Paginator renders with itemsPerPageOptions", function () {
|
|
90
|
-
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
91
|
-
currentPage: 1,
|
|
92
|
-
itemsPerPage: 10,
|
|
93
|
-
totalItems: 20
|
|
94
|
-
})),
|
|
95
|
-
getByText = _render4.getByText;
|
|
96
|
-
|
|
97
88
|
expect(getByText("1 to 10 of 20")).toBeTruthy();
|
|
98
89
|
expect(getByText("Page: 1 of 2")).toBeTruthy();
|
|
99
90
|
});
|
|
100
91
|
test("Paginator renders with totalItems", function () {
|
|
101
|
-
var
|
|
92
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
102
93
|
totalItems: 20
|
|
103
94
|
})),
|
|
104
|
-
getByText =
|
|
95
|
+
getByText = _render4.getByText;
|
|
105
96
|
|
|
106
97
|
expect(getByText("1 to 5 of 20")).toBeTruthy();
|
|
107
98
|
expect(getByText("Page: 1 of 4")).toBeTruthy();
|
|
108
99
|
});
|
|
109
100
|
test("Paginator renders with correct text in second page", function () {
|
|
110
|
-
var
|
|
101
|
+
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
111
102
|
currentPage: 2,
|
|
112
103
|
itemsPerPage: 10,
|
|
113
104
|
totalItems: 20
|
|
114
105
|
})),
|
|
115
|
-
getByText =
|
|
106
|
+
getByText = _render5.getByText;
|
|
116
107
|
|
|
117
108
|
expect(getByText("11 to 20 of 20")).toBeTruthy();
|
|
118
109
|
expect(getByText("Page: 2 of 2")).toBeTruthy();
|
|
119
110
|
});
|
|
120
111
|
test("Paginator renders goToPage select", function () {
|
|
121
|
-
var
|
|
112
|
+
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
122
113
|
currentPage: 2,
|
|
123
114
|
showGoToPage: true,
|
|
124
115
|
itemsPerPage: 10,
|
|
125
116
|
totalItems: 20
|
|
126
117
|
})),
|
|
127
|
-
getByText =
|
|
118
|
+
getByText = _render6.getByText;
|
|
128
119
|
|
|
129
120
|
expect(getByText("Go to page:")).toBeTruthy();
|
|
130
121
|
});
|
|
@@ -135,16 +126,15 @@ describe("Paginator component tests", function () {
|
|
|
135
126
|
|
|
136
127
|
window.HTMLElement.prototype.scrollTo = function () {};
|
|
137
128
|
|
|
138
|
-
var
|
|
129
|
+
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
139
130
|
currentPage: 1,
|
|
140
131
|
itemsPerPage: 10,
|
|
141
132
|
totalItems: 27,
|
|
142
133
|
showGoToPage: true,
|
|
143
134
|
onPageChange: onClick
|
|
144
135
|
})),
|
|
145
|
-
getByText =
|
|
146
|
-
getAllByRole =
|
|
147
|
-
getByRole = _render8.getByRole;
|
|
136
|
+
getByText = _render7.getByText,
|
|
137
|
+
getAllByRole = _render7.getAllByRole;
|
|
148
138
|
|
|
149
139
|
var goToPageSelect = getAllByRole("combobox")[0];
|
|
150
140
|
(0, _react2.act)(function () {
|
|
@@ -159,13 +149,13 @@ describe("Paginator component tests", function () {
|
|
|
159
149
|
test("Call correct goToPageFunction", function () {
|
|
160
150
|
var onClick = jest.fn();
|
|
161
151
|
|
|
162
|
-
var
|
|
152
|
+
var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
163
153
|
onPageChange: onClick,
|
|
164
154
|
currentPage: 1,
|
|
165
155
|
itemsPerPage: 10,
|
|
166
156
|
totalItems: 20
|
|
167
157
|
})),
|
|
168
|
-
getAllByRole =
|
|
158
|
+
getAllByRole = _render8.getAllByRole;
|
|
169
159
|
|
|
170
160
|
var nextButton = getAllByRole("button")[2];
|
|
171
161
|
|
|
@@ -180,15 +170,15 @@ describe("Paginator component tests", function () {
|
|
|
180
170
|
|
|
181
171
|
window.HTMLElement.prototype.scrollTo = function () {};
|
|
182
172
|
|
|
183
|
-
var
|
|
173
|
+
var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
184
174
|
currentPage: 1,
|
|
185
175
|
itemsPerPage: 10,
|
|
186
176
|
itemsPerPageOptions: [10, 15],
|
|
187
177
|
itemsPerPageFunction: onClick,
|
|
188
178
|
totalItems: 20
|
|
189
179
|
})),
|
|
190
|
-
getAllByText =
|
|
191
|
-
getByText =
|
|
180
|
+
getAllByText = _render9.getAllByText,
|
|
181
|
+
getByText = _render9.getByText;
|
|
192
182
|
|
|
193
183
|
var select = getAllByText("10")[0];
|
|
194
184
|
(0, _react2.act)(function () {
|
|
@@ -203,13 +193,13 @@ describe("Paginator component tests", function () {
|
|
|
203
193
|
test("Next button is disable in last page", function () {
|
|
204
194
|
var onClick = jest.fn();
|
|
205
195
|
|
|
206
|
-
var
|
|
196
|
+
var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
207
197
|
onPageChange: onClick,
|
|
208
198
|
currentPage: 2,
|
|
209
199
|
itemsPerPage: 10,
|
|
210
200
|
totalItems: 20
|
|
211
201
|
})),
|
|
212
|
-
getAllByRole =
|
|
202
|
+
getAllByRole = _render10.getAllByRole;
|
|
213
203
|
|
|
214
204
|
var nextButton = getAllByRole("button")[2];
|
|
215
205
|
expect(nextButton.hasAttribute("disabled")).toBeTruthy();
|
|
@@ -221,13 +211,13 @@ describe("Paginator component tests", function () {
|
|
|
221
211
|
test("Last button is disable in last page", function () {
|
|
222
212
|
var onClick = jest.fn();
|
|
223
213
|
|
|
224
|
-
var
|
|
214
|
+
var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
225
215
|
onPageChange: onClick,
|
|
226
216
|
currentPage: 2,
|
|
227
217
|
itemsPerPage: 10,
|
|
228
218
|
totalItems: 20
|
|
229
219
|
})),
|
|
230
|
-
getAllByRole =
|
|
220
|
+
getAllByRole = _render11.getAllByRole;
|
|
231
221
|
|
|
232
222
|
var lastButton = getAllByRole("button")[3];
|
|
233
223
|
expect(lastButton.hasAttribute("disabled")).toBeTruthy();
|
|
@@ -239,13 +229,13 @@ describe("Paginator component tests", function () {
|
|
|
239
229
|
test("First button is disable in first page", function () {
|
|
240
230
|
var onClick = jest.fn();
|
|
241
231
|
|
|
242
|
-
var
|
|
232
|
+
var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
243
233
|
onPageChange: onClick,
|
|
244
234
|
currentPage: 1,
|
|
245
235
|
itemsPerPage: 10,
|
|
246
236
|
totalItems: 20
|
|
247
237
|
})),
|
|
248
|
-
getAllByRole =
|
|
238
|
+
getAllByRole = _render12.getAllByRole;
|
|
249
239
|
|
|
250
240
|
var lastButton = getAllByRole("button")[0];
|
|
251
241
|
expect(lastButton.hasAttribute("disabled")).toBeTruthy();
|
|
@@ -257,13 +247,13 @@ describe("Paginator component tests", function () {
|
|
|
257
247
|
test("Previous button is disable in first page", function () {
|
|
258
248
|
var onClick = jest.fn();
|
|
259
249
|
|
|
260
|
-
var
|
|
250
|
+
var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
261
251
|
onPageChange: onClick,
|
|
262
252
|
currentPage: 1,
|
|
263
253
|
itemsPerPage: 10,
|
|
264
254
|
totalItems: 20
|
|
265
255
|
})),
|
|
266
|
-
getAllByRole =
|
|
256
|
+
getAllByRole = _render13.getAllByRole;
|
|
267
257
|
|
|
268
258
|
var lastButton = getAllByRole("button")[1];
|
|
269
259
|
expect(lastButton.hasAttribute("disabled")).toBeTruthy();
|
|
@@ -275,13 +265,13 @@ describe("Paginator component tests", function () {
|
|
|
275
265
|
test("Last and next buttons are disable in last page", function () {
|
|
276
266
|
var onClick = jest.fn();
|
|
277
267
|
|
|
278
|
-
var
|
|
268
|
+
var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
279
269
|
onPageChange: onClick,
|
|
280
270
|
currentPage: 2,
|
|
281
271
|
itemsPerPage: 10,
|
|
282
272
|
totalItems: 20
|
|
283
273
|
})),
|
|
284
|
-
getAllByRole =
|
|
274
|
+
getAllByRole = _render14.getAllByRole;
|
|
285
275
|
|
|
286
276
|
var firstButton = getAllByRole("button")[0];
|
|
287
277
|
var prevButton = getAllByRole("button")[1];
|
|
@@ -295,13 +285,13 @@ describe("Paginator component tests", function () {
|
|
|
295
285
|
test("First and previous buttons are disable in first page", function () {
|
|
296
286
|
var onClick = jest.fn();
|
|
297
287
|
|
|
298
|
-
var
|
|
288
|
+
var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
299
289
|
onPageChange: onClick,
|
|
300
290
|
currentPage: 1,
|
|
301
291
|
itemsPerPage: 10,
|
|
302
292
|
totalItems: 20
|
|
303
293
|
})),
|
|
304
|
-
getAllByRole =
|
|
294
|
+
getAllByRole = _render15.getAllByRole;
|
|
305
295
|
|
|
306
296
|
var firstButton = getAllByRole("button")[0];
|
|
307
297
|
var prevButton = getAllByRole("button")[1];
|
|
@@ -312,4 +302,17 @@ describe("Paginator component tests", function () {
|
|
|
312
302
|
expect(nextButton.hasAttribute("disabled")).toBeFalsy();
|
|
313
303
|
expect(lastButton.hasAttribute("disabled")).toBeFalsy();
|
|
314
304
|
});
|
|
305
|
+
test("itemsPerPage is 0 and showGoToPage is true", function () {
|
|
306
|
+
var _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
307
|
+
itemsPerPage: 0,
|
|
308
|
+
itemsPerPageOptions: [5, 10, 15],
|
|
309
|
+
totalItems: 27,
|
|
310
|
+
showGoToPage: true
|
|
311
|
+
})),
|
|
312
|
+
getByText = _render16.getByText,
|
|
313
|
+
getAllByRole = _render16.getAllByRole;
|
|
314
|
+
|
|
315
|
+
expect(getByText("Items per page:")).toBeTruthy();
|
|
316
|
+
expect(getAllByRole("combobox")).toBeTruthy();
|
|
317
|
+
});
|
|
315
318
|
});
|
package/paragraph/Paragraph.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
declare
|
|
2
|
+
declare const DxcParagraph: ({ children }: {
|
|
3
3
|
children: React.ReactNode;
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
export default Paragraph;
|
|
4
|
+
}) => JSX.Element;
|
|
5
|
+
export default DxcParagraph;
|
package/paragraph/Paragraph.js
CHANGED
|
@@ -11,21 +11,21 @@ exports["default"] = void 0;
|
|
|
11
11
|
|
|
12
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
13
|
|
|
14
|
-
var _Typography = _interopRequireDefault(require("../typography/Typography"));
|
|
15
|
-
|
|
16
14
|
var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
|
|
17
15
|
|
|
18
16
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
19
17
|
|
|
18
|
+
var _BaseTypography = _interopRequireDefault(require("../utils/BaseTypography"));
|
|
19
|
+
|
|
20
20
|
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); }
|
|
21
21
|
|
|
22
22
|
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; }
|
|
23
23
|
|
|
24
|
-
var
|
|
24
|
+
var DxcParagraph = function DxcParagraph(_ref) {
|
|
25
25
|
var children = _ref.children;
|
|
26
26
|
var colorsTheme = (0, _useTheme["default"])();
|
|
27
27
|
var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
|
|
28
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
28
|
+
return /*#__PURE__*/_react["default"].createElement(_BaseTypography["default"], {
|
|
29
29
|
as: "p",
|
|
30
30
|
display: colorsTheme.paragraph.display,
|
|
31
31
|
fontSize: colorsTheme.paragraph.fontSize,
|
|
@@ -34,5 +34,5 @@ var Paragraph = function Paragraph(_ref) {
|
|
|
34
34
|
}, children);
|
|
35
35
|
};
|
|
36
36
|
|
|
37
|
-
var _default =
|
|
37
|
+
var _default = DxcParagraph;
|
|
38
38
|
exports["default"] = _default;
|
|
@@ -12,7 +12,7 @@ var _react2 = require("@testing-library/react");
|
|
|
12
12
|
|
|
13
13
|
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
14
14
|
|
|
15
|
-
var _PasswordInput = _interopRequireDefault(require("./PasswordInput"));
|
|
15
|
+
var _PasswordInput = _interopRequireDefault(require("./PasswordInput.tsx"));
|
|
16
16
|
|
|
17
17
|
describe("Password input component tests", function () {
|
|
18
18
|
test("Password input renders with label", function () {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import
|
|
3
|
-
declare const DxcProgressBar: ({ label, helperText, overlay, value, showValue, margin, }:
|
|
2
|
+
import ProgressBarPropsType from "./types";
|
|
3
|
+
declare const DxcProgressBar: ({ label, helperText, overlay, value, showValue, margin, }: ProgressBarPropsType) => JSX.Element;
|
|
4
4
|
export default DxcProgressBar;
|
|
@@ -19,7 +19,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
19
19
|
|
|
20
20
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
21
21
|
|
|
22
|
-
var _variables = require("../common/variables
|
|
22
|
+
var _variables = require("../common/variables");
|
|
23
23
|
|
|
24
24
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
25
25
|
|
|
@@ -87,7 +87,7 @@ var DxcProgressBar = function DxcProgressBar(_ref) {
|
|
|
87
87
|
var BackgroundProgressBar = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n display: flex;\n flex-wrap: wrap;\n min-width: 100px;\n width: 100%;\n"])), function (_ref2) {
|
|
88
88
|
var overlay = _ref2.overlay,
|
|
89
89
|
theme = _ref2.theme;
|
|
90
|
-
return overlay ? "background-color: ".concat(theme.overlayColor, ";\n
|
|
90
|
+
return overlay ? "background-color: ".concat(theme.overlayColor, ";\n width: 100%;\n justify-content: center;\n height: 100vh;\n align-items: center;\n max-width: 100%;\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1300;") : "background-color: \"transparent\";";
|
|
91
91
|
});
|
|
92
92
|
|
|
93
93
|
var ProgressBarContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n z-index: ", ";\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
@@ -119,7 +119,7 @@ var ProgressBarLabel = _styledComponents["default"].div(_templateObject4 || (_te
|
|
|
119
119
|
}, function (props) {
|
|
120
120
|
return props.theme.labelFontTextTransform;
|
|
121
121
|
}, function (props) {
|
|
122
|
-
return props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.overlay === true ?
|
|
122
|
+
return props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.overlay === true ? props.theme.overlayFontColor : props.theme.labelFontColor;
|
|
123
123
|
});
|
|
124
124
|
|
|
125
125
|
var ProgressBarProgress = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n font-weight: ", ";\n text-transform: ", ";\n color: ", ";\n display: ", ";\n flex-shrink: 0;\n"])), function (props) {
|
|
@@ -133,13 +133,13 @@ var ProgressBarProgress = _styledComponents["default"].div(_templateObject5 || (
|
|
|
133
133
|
}, function (props) {
|
|
134
134
|
return props.theme.valueFontTextTransform;
|
|
135
135
|
}, function (props) {
|
|
136
|
-
return props.backgroundType === "dark" ? props.theme.valueFontColorOnDark : props.overlay === true ?
|
|
136
|
+
return props.backgroundType === "dark" ? props.theme.valueFontColorOnDark : props.overlay === true ? props.theme.overlayFontColor : props.theme.valueFontColor;
|
|
137
137
|
}, function (props) {
|
|
138
138
|
return props.value !== undefined && props.value !== null && props.showValue === true && "block" || "none";
|
|
139
139
|
});
|
|
140
140
|
|
|
141
141
|
var HelperText = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: 1.5em;\n"])), function (props) {
|
|
142
|
-
return props.backgroundType === "dark" ? props.theme.helperTextFontColorOnDark : props.overlay === true ?
|
|
142
|
+
return props.backgroundType === "dark" ? props.theme.helperTextFontColorOnDark : props.overlay === true ? props.theme.overlayFontColor : props.theme.helperTextFontColor;
|
|
143
143
|
}, function (props) {
|
|
144
144
|
return props.theme.helperTextFontFamily;
|
|
145
145
|
}, function (props) {
|
|
@@ -2,12 +2,23 @@ import React from "react";
|
|
|
2
2
|
import DxcProgressBar from "./ProgressBar";
|
|
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: "ProgressBar",
|
|
8
9
|
component: DxcProgressBar,
|
|
9
10
|
};
|
|
10
11
|
|
|
12
|
+
const opinionatedTheme = {
|
|
13
|
+
progressBar: {
|
|
14
|
+
accentColor: "#5f249f",
|
|
15
|
+
baseColor: "#e6e6e6",
|
|
16
|
+
fontColor: "#000000",
|
|
17
|
+
overlayColor: "#000000b3",
|
|
18
|
+
overlayFontColor: "#ffffff",
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
|
|
11
22
|
export const Chromatic = () => (
|
|
12
23
|
<>
|
|
13
24
|
<ExampleContainer>
|
|
@@ -46,15 +57,37 @@ export const Chromatic = () => (
|
|
|
46
57
|
<DxcProgressBar label="Margin xlarge" margin="xlarge" value={50} showValue />
|
|
47
58
|
</ExampleContainer>
|
|
48
59
|
<ExampleContainer>
|
|
49
|
-
<Title title="
|
|
60
|
+
<Title title="Xxlarge margin" theme="light" level={4} />
|
|
50
61
|
<DxcProgressBar label="Margin xxlarge" margin="xxlarge" value={50} showValue />
|
|
51
62
|
</ExampleContainer>
|
|
63
|
+
<Title title="Opinionated theme" theme="light" level={2} />
|
|
64
|
+
<ExampleContainer>
|
|
65
|
+
<Title title="Label and helper text" theme="light" level={4} />
|
|
66
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
67
|
+
<DxcProgressBar label="Loading..." helperText="Helper text" value={24} showValue />
|
|
68
|
+
</HalstackProvider>
|
|
69
|
+
</ExampleContainer>
|
|
70
|
+
<ExampleContainer>
|
|
71
|
+
<Title title="Without default value" theme="light" level={4} />
|
|
72
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
73
|
+
<DxcProgressBar label="Loading..." helperText="Helper text" showValue />
|
|
74
|
+
</HalstackProvider>
|
|
75
|
+
</ExampleContainer>
|
|
52
76
|
</>
|
|
53
77
|
);
|
|
54
78
|
|
|
55
79
|
export const ProgressBarOverlay = () => (
|
|
56
80
|
<ExampleContainer>
|
|
57
81
|
<Title title="Overlay" theme="dark" level={4} />
|
|
58
|
-
<DxcProgressBar label="Overlay" helperText="Helper text" overlay
|
|
82
|
+
<DxcProgressBar label="Overlay" helperText="Helper text" overlay showValue value={50} />
|
|
83
|
+
</ExampleContainer>
|
|
84
|
+
);
|
|
85
|
+
|
|
86
|
+
export const ProgressBarOverlayOpinionated = () => (
|
|
87
|
+
<ExampleContainer>
|
|
88
|
+
<Title title="Overlay" theme="dark" level={4} />
|
|
89
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
90
|
+
<DxcProgressBar label="Overlay" helperText="Helper text" overlay showValue value={50} />
|
|
91
|
+
</HalstackProvider>
|
|
59
92
|
</ExampleContainer>
|
|
60
93
|
);
|
|
@@ -6,7 +6,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
6
6
|
|
|
7
7
|
var _react2 = require("@testing-library/react");
|
|
8
8
|
|
|
9
|
-
var _ProgressBar = _interopRequireDefault(require("./ProgressBar"));
|
|
9
|
+
var _ProgressBar = _interopRequireDefault(require("./ProgressBar.tsx"));
|
|
10
10
|
|
|
11
11
|
describe("ProgressBar component tests", function () {
|
|
12
12
|
test("ProgressBar renders with label and helperText", function () {
|
package/progress-bar/types.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
2
|
+
declare type Size = {
|
|
3
3
|
top?: Space;
|
|
4
4
|
bottom?: Space;
|
|
5
5
|
left?: Space;
|
|
6
6
|
right?: Space;
|
|
7
7
|
};
|
|
8
|
-
|
|
8
|
+
declare type Props = {
|
|
9
9
|
/**
|
|
10
10
|
* Text to be placed above the progress bar.
|
|
11
11
|
*/
|
|
@@ -34,3 +34,4 @@ export declare type Props = {
|
|
|
34
34
|
*/
|
|
35
35
|
margin?: Space | Size;
|
|
36
36
|
};
|
|
37
|
+
export default Props;
|
|
@@ -5,12 +5,20 @@ import DxcHeading from "../heading/Heading";
|
|
|
5
5
|
import DxcParagraph from "../paragraph/Paragraph";
|
|
6
6
|
import Title from "../../.storybook/components/Title";
|
|
7
7
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
8
|
+
import { HalstackProvider } from "../HalstackContext";
|
|
8
9
|
|
|
9
10
|
export default {
|
|
10
11
|
title: "QuickNav",
|
|
11
12
|
component: DxcQuickNav,
|
|
12
13
|
};
|
|
13
14
|
|
|
15
|
+
const opinionatedTheme = {
|
|
16
|
+
quickNav: {
|
|
17
|
+
fontColor: "#666666",
|
|
18
|
+
accentColor: "#9a6bb2",
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
|
|
14
22
|
const defaultLinks = [
|
|
15
23
|
{
|
|
16
24
|
label: "Overview",
|
|
@@ -315,6 +323,12 @@ export const Chromatic = () => (
|
|
|
315
323
|
</QuickNavContainer>
|
|
316
324
|
</Container>
|
|
317
325
|
</ExampleContainer>
|
|
326
|
+
<Title title="Opinionated theme" level={2} />
|
|
327
|
+
<ExampleContainer>
|
|
328
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
329
|
+
<DxcQuickNav links={defaultLinks} />
|
|
330
|
+
</HalstackProvider>
|
|
331
|
+
</ExampleContainer>
|
|
318
332
|
</>
|
|
319
333
|
);
|
|
320
334
|
|