@dxc-technology/halstack-react 0.0.0-4bb73b0 → 0.0.0-4c4e1d8

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.
Files changed (223) hide show
  1. package/BackgroundColorContext.js +50 -0
  2. package/ThemeContext.js +246 -0
  3. package/{dist/V3Select → V3Select}/V3Select.js +33 -127
  4. package/{dist/V3Select → V3Select}/index.d.ts +0 -0
  5. package/{dist/V3Textarea → V3Textarea}/V3Textarea.js +10 -14
  6. package/{dist/V3Textarea → V3Textarea}/index.d.ts +0 -0
  7. package/accordion/Accordion.d.ts +4 -0
  8. package/{dist/accordion → accordion}/Accordion.js +35 -130
  9. package/accordion/types.d.ts +68 -0
  10. package/accordion/types.js +5 -0
  11. package/accordion-group/AccordionGroup.d.ts +7 -0
  12. package/accordion-group/AccordionGroup.js +170 -0
  13. package/accordion-group/types.d.ts +72 -0
  14. package/accordion-group/types.js +5 -0
  15. package/alert/Alert.d.ts +4 -0
  16. package/{dist/alert → alert}/Alert.js +38 -151
  17. package/alert/types.d.ts +49 -0
  18. package/alert/types.js +5 -0
  19. package/badge/Badge.js +59 -0
  20. package/{dist/box → box}/Box.js +9 -13
  21. package/{dist/box → box}/index.d.ts +0 -0
  22. package/button/Button.d.ts +4 -0
  23. package/{dist/button → button}/Button.js +15 -71
  24. package/button/Button.stories.tsx +293 -0
  25. package/button/types.d.ts +57 -0
  26. package/button/types.js +5 -0
  27. package/card/Card.d.ts +4 -0
  28. package/{dist/card → card}/Card.js +32 -121
  29. package/card/types.d.ts +69 -0
  30. package/card/types.js +5 -0
  31. package/checkbox/Checkbox.d.ts +4 -0
  32. package/{dist/checkbox → checkbox}/Checkbox.js +13 -59
  33. package/checkbox/types.d.ts +60 -0
  34. package/checkbox/types.js +5 -0
  35. package/{dist/chip → chip}/Chip.js +17 -61
  36. package/{dist/chip → chip}/index.d.ts +0 -0
  37. package/{dist/common → common}/OpenSans.css +0 -0
  38. package/{dist/common → common}/RequiredComponent.js +3 -11
  39. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  40. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  41. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  42. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  43. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  44. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  45. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  46. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  47. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  48. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  49. package/{dist/common → common}/utils.js +0 -0
  50. package/{dist/common → common}/variables.js +40 -45
  51. package/{dist/date → date}/Date.js +16 -22
  52. package/{dist/date → date}/index.d.ts +0 -0
  53. package/date-input/DateInput.d.ts +4 -0
  54. package/{dist/date-input → date-input}/DateInput.js +22 -61
  55. package/date-input/types.d.ts +100 -0
  56. package/date-input/types.js +5 -0
  57. package/{dist/dialog → dialog}/Dialog.js +16 -50
  58. package/{dist/dialog → dialog}/index.d.ts +0 -0
  59. package/{dist/dropdown → dropdown}/Dropdown.js +37 -131
  60. package/{dist/dropdown → dropdown}/index.d.ts +0 -0
  61. package/{dist/file-input → file-input}/FileInput.js +49 -161
  62. package/{dist/file-input → file-input}/FileItem.js +29 -123
  63. package/{dist/file-input → file-input}/index.d.ts +0 -0
  64. package/{dist/footer → footer}/Footer.js +34 -158
  65. package/{dist/footer → footer}/Icons.js +13 -13
  66. package/{dist/footer → footer}/index.d.ts +0 -0
  67. package/{dist/header → header}/Header.js +35 -179
  68. package/{dist/header → header}/Icons.js +11 -11
  69. package/{dist/header → header}/index.d.ts +0 -0
  70. package/{dist/heading → heading}/Heading.js +18 -72
  71. package/{dist/heading → heading}/index.d.ts +0 -0
  72. package/{dist/input-text → input-text}/Icons.js +2 -2
  73. package/{dist/input-text → input-text}/InputText.js +36 -130
  74. package/{dist/input-text → input-text}/index.d.ts +1 -1
  75. package/{dist/layout → layout}/ApplicationLayout.js +31 -123
  76. package/{dist/layout → layout}/Icons.js +7 -7
  77. package/{dist/link → link}/Link.js +18 -72
  78. package/{dist/link → link}/index.d.ts +0 -0
  79. package/main.d.ts +44 -0
  80. package/{dist/main.js → main.js} +91 -87
  81. package/{dist/number-input → number-input}/NumberInput.js +5 -13
  82. package/{dist/number-input → number-input}/NumberInputContext.js +1 -1
  83. package/{dist/number-input → number-input}/index.d.ts +0 -0
  84. package/package.json +20 -17
  85. package/{dist/paginator → paginator}/Icons.js +9 -9
  86. package/paginator/Paginator.d.ts +4 -0
  87. package/{dist/paginator → paginator}/Paginator.js +24 -131
  88. package/paginator/types.d.ts +38 -0
  89. package/paginator/types.js +5 -0
  90. package/{dist/password-input → password-input}/PasswordInput.js +17 -21
  91. package/password-input/PasswordInput.stories.jsx +131 -0
  92. package/{dist/password-input → password-input}/index.d.ts +0 -0
  93. package/{dist/progress-bar → progress-bar}/ProgressBar.js +18 -72
  94. package/{dist/progress-bar → progress-bar}/index.d.ts +0 -0
  95. package/radio/Radio.d.ts +4 -0
  96. package/{dist/radio → radio}/Radio.js +15 -50
  97. package/radio/types.d.ts +54 -0
  98. package/radio/types.js +5 -0
  99. package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +35 -119
  100. package/{dist/resultsetTable → resultsetTable}/index.d.ts +0 -0
  101. package/{dist/select → select}/Select.js +248 -479
  102. package/select/index.d.ts +131 -0
  103. package/{dist/sidenav → sidenav}/Sidenav.js +15 -49
  104. package/{dist/sidenav → sidenav}/index.d.ts +0 -0
  105. package/{dist/slider → slider}/Slider.js +19 -83
  106. package/{dist/slider → slider}/index.d.ts +0 -0
  107. package/{dist/spinner → spinner}/Spinner.js +38 -152
  108. package/{dist/spinner → spinner}/index.d.ts +0 -0
  109. package/switch/Switch.d.ts +4 -0
  110. package/{dist/switch → switch}/Switch.js +26 -69
  111. package/switch/types.d.ts +58 -0
  112. package/switch/types.js +5 -0
  113. package/{dist/table → table}/Table.js +10 -24
  114. package/{dist/table → table}/index.d.ts +0 -0
  115. package/{dist/tabs → tabs}/Tabs.js +26 -110
  116. package/{dist/tabs → tabs}/index.d.ts +0 -0
  117. package/{dist/tag → tag}/Tag.js +22 -96
  118. package/{dist/tag → tag}/index.d.ts +0 -0
  119. package/{dist/text-input → text-input}/TextInput.js +241 -390
  120. package/{dist/text-input → text-input}/index.d.ts +0 -0
  121. package/{dist/textarea → textarea}/Textarea.js +20 -72
  122. package/{dist/textarea → textarea}/index.d.ts +0 -0
  123. package/{dist/toggle → toggle}/Toggle.js +15 -49
  124. package/{dist/toggle → toggle}/index.d.ts +0 -0
  125. package/{dist/toggle-group → toggle-group}/ToggleGroup.js +23 -107
  126. package/{dist/toggle-group → toggle-group}/index.d.ts +0 -0
  127. package/{dist/upload → upload}/Upload.js +11 -15
  128. package/{dist/upload → upload}/buttons-upload/ButtonsUpload.js +13 -37
  129. package/{dist/upload → upload}/buttons-upload/Icons.js +7 -7
  130. package/upload/dragAndDropArea/DragAndDropArea.js +225 -0
  131. package/{dist/upload → upload}/dragAndDropArea/Icons.js +6 -6
  132. package/upload/file-upload/FileToUpload.js +115 -0
  133. package/{dist/upload → upload}/file-upload/Icons.js +13 -13
  134. package/{dist/upload → upload}/files-upload/FilesToUpload.js +12 -26
  135. package/{dist/upload → upload}/index.d.ts +0 -0
  136. package/{dist/upload → upload}/transaction/Icons.js +31 -31
  137. package/upload/transaction/Transaction.js +104 -0
  138. package/upload/transactions/Transactions.js +94 -0
  139. package/{dist/useTheme.js → useTheme.js} +0 -0
  140. package/{dist/wizard → wizard}/Icons.js +8 -8
  141. package/{dist/wizard → wizard}/Wizard.js +31 -165
  142. package/{dist/wizard → wizard}/index.d.ts +0 -0
  143. package/README.md +0 -66
  144. package/babel.config.js +0 -7
  145. package/dist/BackgroundColorContext.js +0 -46
  146. package/dist/ThemeContext.js +0 -250
  147. package/dist/accordion/index.d.ts +0 -28
  148. package/dist/accordion-group/AccordionGroup.js +0 -186
  149. package/dist/accordion-group/index.d.ts +0 -16
  150. package/dist/alert/index.d.ts +0 -51
  151. package/dist/badge/Badge.js +0 -63
  152. package/dist/button/index.d.ts +0 -24
  153. package/dist/card/index.d.ts +0 -22
  154. package/dist/checkbox/index.d.ts +0 -24
  155. package/dist/date-input/index.d.ts +0 -95
  156. package/dist/main.d.ts +0 -40
  157. package/dist/paginator/index.d.ts +0 -20
  158. package/dist/radio/index.d.ts +0 -23
  159. package/dist/select/index.d.ts +0 -53
  160. package/dist/stories/Button.js +0 -71
  161. package/dist/stories/Button.stories.js +0 -55
  162. package/dist/stories/Header.js +0 -67
  163. package/dist/stories/Header.stories.js +0 -31
  164. package/dist/stories/Introduction.stories.mdx +0 -211
  165. package/dist/stories/Page.js +0 -68
  166. package/dist/stories/Page.stories.js +0 -39
  167. package/dist/stories/assets/code-brackets.svg +0 -1
  168. package/dist/stories/assets/colors.svg +0 -1
  169. package/dist/stories/assets/comments.svg +0 -1
  170. package/dist/stories/assets/direction.svg +0 -1
  171. package/dist/stories/assets/flow.svg +0 -1
  172. package/dist/stories/assets/plugin.svg +0 -1
  173. package/dist/stories/assets/repo.svg +0 -1
  174. package/dist/stories/assets/stackalt.svg +0 -1
  175. package/dist/stories/button.css +0 -30
  176. package/dist/stories/header.css +0 -26
  177. package/dist/stories/page.css +0 -69
  178. package/dist/switch/index.d.ts +0 -24
  179. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  180. package/dist/upload/file-upload/FileToUpload.js +0 -189
  181. package/dist/upload/transaction/Transaction.js +0 -148
  182. package/dist/upload/transactions/Transactions.js +0 -138
  183. package/test/Accordion.test.js +0 -33
  184. package/test/AccordionGroup.test.js +0 -125
  185. package/test/Alert.test.js +0 -53
  186. package/test/Box.test.js +0 -10
  187. package/test/Button.test.js +0 -18
  188. package/test/Card.test.js +0 -30
  189. package/test/Checkbox.test.js +0 -45
  190. package/test/Chip.test.js +0 -25
  191. package/test/Date.test.js +0 -395
  192. package/test/DateInput.test.js +0 -242
  193. package/test/Dialog.test.js +0 -23
  194. package/test/Dropdown.test.js +0 -145
  195. package/test/FileInput.test.js +0 -201
  196. package/test/Footer.test.js +0 -94
  197. package/test/Header.test.js +0 -34
  198. package/test/Heading.test.js +0 -83
  199. package/test/InputText.test.js +0 -239
  200. package/test/Link.test.js +0 -43
  201. package/test/NumberInput.test.js +0 -259
  202. package/test/Paginator.test.js +0 -181
  203. package/test/PasswordInput.test.js +0 -83
  204. package/test/ProgressBar.test.js +0 -35
  205. package/test/Radio.test.js +0 -37
  206. package/test/ResultsetTable.test.js +0 -330
  207. package/test/Select.test.js +0 -415
  208. package/test/Sidenav.test.js +0 -45
  209. package/test/Slider.test.js +0 -74
  210. package/test/Spinner.test.js +0 -32
  211. package/test/Switch.test.js +0 -45
  212. package/test/Table.test.js +0 -36
  213. package/test/Tabs.test.js +0 -109
  214. package/test/Tag.test.js +0 -32
  215. package/test/TextInput.test.js +0 -732
  216. package/test/Textarea.test.js +0 -193
  217. package/test/ToggleGroup.test.js +0 -85
  218. package/test/Upload.test.js +0 -60
  219. package/test/V3Select.test.js +0 -212
  220. package/test/V3TextArea.test.js +0 -51
  221. package/test/Wizard.test.js +0 -130
  222. package/test/mocks/pngMock.js +0 -1
  223. package/test/mocks/svgMock.js +0 -1
@@ -1,138 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- exports["default"] = void 0;
11
-
12
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
-
14
- var _react = _interopRequireDefault(require("react"));
15
-
16
- var _styledComponents = _interopRequireWildcard(require("styled-components"));
17
-
18
- var _propTypes = _interopRequireDefault(require("prop-types"));
19
-
20
- var _Transaction = _interopRequireDefault(require("../transaction/Transaction"));
21
-
22
- var _useTheme = _interopRequireDefault(require("../../useTheme.js"));
23
-
24
- function _templateObject5() {
25
- var data = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: ", ";\n"]);
26
-
27
- _templateObject5 = function _templateObject5() {
28
- return data;
29
- };
30
-
31
- return data;
32
- }
33
-
34
- function _templateObject4() {
35
- var data = (0, _taggedTemplateLiteral2["default"])(["\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n text-transform: ", ";\n color: ", ";\n"]);
36
-
37
- _templateObject4 = function _templateObject4() {
38
- return data;
39
- };
40
-
41
- return data;
42
- }
43
-
44
- function _templateObject3() {
45
- var data = (0, _taggedTemplateLiteral2["default"])(["\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n text-transform: ", ";\n color: ", ";\n margin-bottom: 4px;\n"]);
46
-
47
- _templateObject3 = function _templateObject3() {
48
- return data;
49
- };
50
-
51
- return data;
52
- }
53
-
54
- function _templateObject2() {
55
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n padding-bottom: 35px;\n"]);
56
-
57
- _templateObject2 = function _templateObject2() {
58
- return data;
59
- };
60
-
61
- return data;
62
- }
63
-
64
- function _templateObject() {
65
- var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n max-width: 100%;\n width: 35%;\n padding-top: 46px;\n padding-left: 65px;\n border-radius: 4px 0px 4px 4px;\n box-shadow: 0px 0px 1px ", ";\n background-color: ", ";\n overflow: auto;\n ::-webkit-scrollbar {\n width: 3px;\n height: 3px;\n }\n ::-webkit-scrollbar-track {\n border-radius: 3px;\n background-color: ", ";\n }\n ::-webkit-scrollbar-thumb {\n border-radius: 3px;\n background-color: ", ";\n }\n"]);
66
-
67
- _templateObject = function _templateObject() {
68
- return data;
69
- };
70
-
71
- return data;
72
- }
73
-
74
- var DxcTransactions = function DxcTransactions(_ref) {
75
- var transactions = _ref.transactions;
76
- var colorsTheme = (0, _useTheme["default"])();
77
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
78
- theme: colorsTheme.upload
79
- }, _react["default"].createElement(DXCTransactions, null, _react["default"].createElement(TransactionsText, null, _react["default"].createElement(TransactionsTitle, null, "Files uploaded"), _react["default"].createElement(TransactionsSubTitle, null, _react["default"].createElement(TransactionsNumber, null, transactions && transactions.filter(function (file) {
80
- return file.status === "success";
81
- }).length), " ", "documents in total")), transactions.map(function (transaction) {
82
- return _react["default"].createElement(_Transaction["default"], {
83
- name: transaction.name,
84
- type: transaction.type,
85
- status: transaction.status,
86
- message: transaction.message
87
- });
88
- })));
89
- };
90
-
91
- DxcTransactions.propTypes = {
92
- transactions: _propTypes["default"].array
93
- };
94
-
95
- var DXCTransactions = _styledComponents["default"].div(_templateObject(), function (props) {
96
- return props.theme.fontFamily;
97
- }, function (props) {
98
- return props.theme.shadowColor;
99
- }, function (props) {
100
- return props.theme.backgroundColor;
101
- }, function (props) {
102
- return props.theme.scrollBarTrackColor;
103
- }, function (props) {
104
- return props.theme.scrollBarThumbColor;
105
- });
106
-
107
- var TransactionsText = _styledComponents["default"].span(_templateObject2());
108
-
109
- var TransactionsTitle = _styledComponents["default"].span(_templateObject3(), function (props) {
110
- return props.theme.uploadedFilesTitleFontSize;
111
- }, function (props) {
112
- return props.theme.uploadedFilesTitleFontStyle;
113
- }, function (props) {
114
- return props.theme.uploadedFilesTitleFontWeight;
115
- }, function (props) {
116
- return props.theme.uploadedFilesTitleFontTextTransform;
117
- }, function (props) {
118
- return props.theme.uploadedFilesTitleFontColor;
119
- });
120
-
121
- var TransactionsSubTitle = _styledComponents["default"].span(_templateObject4(), function (props) {
122
- return props.theme.uploadedFilesSubtitleFontSize;
123
- }, function (props) {
124
- return props.theme.uploadedFilesSubtitleFontStyle;
125
- }, function (props) {
126
- return props.theme.uploadedFilesSubtitleFontWeight;
127
- }, function (props) {
128
- return props.theme.uploadedFilesSubtitleFontTextTransform;
129
- }, function (props) {
130
- return props.theme.uploadedFilesSubtitleFontColor;
131
- });
132
-
133
- var TransactionsNumber = _styledComponents["default"].span(_templateObject5(), function (props) {
134
- return props.theme.uploadedFilesNumberFontWeight;
135
- });
136
-
137
- var _default = DxcTransactions;
138
- exports["default"] = _default;
@@ -1,33 +0,0 @@
1
- import React from "react";
2
- import { render, fireEvent } from "@testing-library/react";
3
- import DxcAccordion from "../src/accordion/Accordion";
4
-
5
- describe("Accordion component tests", () => {
6
- test("Accordion renders with correct text", () => {
7
- const onChange = jest.fn();
8
- const { getByText } = render(<DxcAccordion label="Accordion" onChange={onChange} />);
9
-
10
- expect(getByText("Accordion")).toBeTruthy();
11
- });
12
-
13
- test("Calls correct function on click", () => {
14
- const onChange = jest.fn();
15
- const { getByText } = render(<DxcAccordion label="Accordion" onChange={onChange} />);
16
-
17
- fireEvent.click(getByText("Accordion"));
18
- expect(onChange).toHaveBeenCalled();
19
- });
20
-
21
- test("Controlled accordion", () => {
22
- const onChange = jest.fn();
23
- const { getByText } = render(<DxcAccordion label="Accordion" onChange={onChange} isExpanded={true} />);
24
-
25
- fireEvent.click(getByText("Accordion"));
26
- fireEvent.click(getByText("Accordion"));
27
- fireEvent.click(getByText("Accordion"));
28
- expect(onChange).toHaveBeenCalledTimes(3);
29
- expect(onChange.mock.calls[0][0]).toBe(false);
30
- expect(onChange.mock.calls[1][0]).toBe(false);
31
- expect(onChange.mock.calls[2][0]).toBe(false);
32
- });
33
- });
@@ -1,125 +0,0 @@
1
- import React from "react";
2
- import { render, fireEvent } from "@testing-library/react";
3
- import DxcAccordionGroup from "../src/accordion-group/AccordionGroup";
4
-
5
- describe("Accordion component tests", () => {
6
- test("Uncontrolled accordion group renders with children", () => {
7
- const { getByText, getAllByRole } = render(
8
- <DxcAccordionGroup>
9
- <DxcAccordionGroup.Accordion label="Accordion1" padding="medium">
10
- <div>
11
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
12
- leo lobortis eget.
13
- </div>
14
- </DxcAccordionGroup.Accordion>
15
- <DxcAccordionGroup.Accordion label="Accordion2" padding="medium">
16
- <div>
17
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
18
- leo lobortis eget.
19
- </div>
20
- </DxcAccordionGroup.Accordion>
21
- </DxcAccordionGroup>
22
- );
23
-
24
- expect(getByText("Accordion1")).toBeTruthy();
25
- expect(getByText("Accordion2")).toBeTruthy();
26
- expect(getAllByRole("button")[0].getAttribute("aria-expanded")).toBe("false");
27
- expect(getAllByRole("button")[1].getAttribute("aria-expanded")).toBe("false");
28
- });
29
-
30
- test("Uncontrolled accordion group renders with only one children", () => {
31
- const { getByText, getAllByRole } = render(
32
- <DxcAccordionGroup>
33
- <DxcAccordionGroup.Accordion label="Accordion1" padding="medium">
34
- <div>
35
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
36
- leo lobortis eget.
37
- </div>
38
- </DxcAccordionGroup.Accordion>
39
- </DxcAccordionGroup>
40
- );
41
-
42
- expect(getByText("Accordion1")).toBeTruthy();
43
- expect(getAllByRole("button")[0].getAttribute("aria-expanded")).toBe("false");
44
- });
45
-
46
- test("Uncontrolled accordion group calls correct function on click", () => {
47
- const onActiveChange = jest.fn();
48
- const { getByText, getAllByRole } = render(
49
- <DxcAccordionGroup margin="large" onActiveChange={onActiveChange}>
50
- <DxcAccordionGroup.Accordion label="Accordion1" padding="medium" margin="large">
51
- <div>
52
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
53
- leo lobortis eget.
54
- </div>
55
- </DxcAccordionGroup.Accordion>
56
- <DxcAccordionGroup.Accordion label="Accordion2" padding="medium">
57
- <div>
58
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
59
- leo lobortis eget.
60
- </div>
61
- </DxcAccordionGroup.Accordion>
62
- </DxcAccordionGroup>
63
- );
64
-
65
- expect(getAllByRole("button")[0].getAttribute("aria-expanded")).toBe("false");
66
- expect(getAllByRole("button")[1].getAttribute("aria-expanded")).toBe("false");
67
- fireEvent.click(getByText("Accordion1"));
68
- expect(onActiveChange).toHaveBeenCalled();
69
- expect(getAllByRole("button")[0].getAttribute("aria-expanded")).toBe("true");
70
- expect(getAllByRole("button")[1].getAttribute("aria-expanded")).toBe("false");
71
- });
72
-
73
- test("Controlled accordion with indexActive change", () => {
74
- const onActiveChange = jest.fn();
75
- const { getByText, getAllByRole, rerender } = render(
76
- <DxcAccordionGroup margin="large" indexActive={1} onActiveChange={onActiveChange}>
77
- <DxcAccordionGroup.Accordion label="Accordion1" padding="medium" margin="large">
78
- <div>Text1</div>
79
- </DxcAccordionGroup.Accordion>
80
- <DxcAccordionGroup.Accordion label="Accordion2" padding="medium">
81
- <div>Text2</div>
82
- </DxcAccordionGroup.Accordion>
83
- </DxcAccordionGroup>
84
- );
85
- expect(getByText("Text1")).toBeTruthy();
86
- expect(getByText("Text2")).toBeTruthy();
87
- fireEvent.click(getByText("Accordion1"));
88
- fireEvent.click(getByText("Accordion2"));
89
- expect(onActiveChange.mock.calls[0][0]).toBe(0);
90
- expect(onActiveChange.mock.calls[1][0]).toBe(1);
91
- expect(getAllByRole("button")[0].getAttribute("aria-expanded")).toBe("false");
92
- expect(getAllByRole("button")[1].getAttribute("aria-expanded")).toBe("true");
93
-
94
- rerender(
95
- <DxcAccordionGroup margin="large" indexActive={0} onActiveChange={onActiveChange}>
96
- <DxcAccordionGroup.Accordion label="Accordion1" padding="medium" margin="large">
97
- <div>Text1</div>
98
- </DxcAccordionGroup.Accordion>
99
- <DxcAccordionGroup.Accordion label="Accordion2" padding="medium">
100
- <div>Text2</div>
101
- </DxcAccordionGroup.Accordion>
102
- </DxcAccordionGroup>
103
- );
104
-
105
- expect(getAllByRole("button")[0].getAttribute("aria-expanded")).toBe("true");
106
- expect(getAllByRole("button")[1].getAttribute("aria-expanded")).toBe("false");
107
- });
108
-
109
- test("Disabled uncontrolled accordion group", () => {
110
- const onActiveChange = jest.fn();
111
- const { getByText } = render(
112
- <DxcAccordionGroup margin="large" onActiveChange={onActiveChange} disabled={true}>
113
- <DxcAccordionGroup.Accordion label="Accordion1" padding="medium" margin="large">
114
- <div>Text1</div>
115
- </DxcAccordionGroup.Accordion>
116
- <DxcAccordionGroup.Accordion label="Accordion2" padding="medium">
117
- <div>Text2</div>
118
- </DxcAccordionGroup.Accordion>
119
- </DxcAccordionGroup>
120
- );
121
- fireEvent.click(getByText("Accordion1"));
122
- fireEvent.click(getByText("Accordion2"));
123
- expect(onActiveChange).toHaveBeenCalledTimes(0);
124
- });
125
- });
@@ -1,53 +0,0 @@
1
- import React from "react";
2
- import { render, fireEvent } from "@testing-library/react";
3
- import DxcAlert from "../src/alert/Alert";
4
-
5
- describe("Alert component tests", () => {
6
- test("Info alert renders with correct text", () => {
7
- const { getByText } = render(<DxcAlert type="info" inlineText="info-alert-text" />);
8
- expect(getByText("information")).toBeTruthy();
9
- expect(getByText("info-alert-text")).toBeTruthy();
10
- });
11
-
12
- test("Confirm alert renders with correct text", () => {
13
- const { getByText } = render(<DxcAlert type="confirm" inlineText="confirm-alert-text" />);
14
- expect(getByText("success")).toBeTruthy();
15
- expect(getByText("confirm-alert-text")).toBeTruthy();
16
- });
17
-
18
- test("Warning alert renders with correct text", () => {
19
- const { getByText } = render(<DxcAlert type="warning" inlineText="warning-alert-text" />);
20
- expect(getByText("warning")).toBeTruthy();
21
- expect(getByText("warning-alert-text")).toBeTruthy();
22
- });
23
-
24
- test("Error alert renders with correct text", () => {
25
- const { getByText } = render(<DxcAlert type="error" inlineText="error-alert-text" />);
26
- expect(getByText("error")).toBeTruthy();
27
- expect(getByText("error-alert-text")).toBeTruthy();
28
- });
29
-
30
- test("Alert renders with correct children", () => {
31
- const { getByText } = render(<DxcAlert inlineText="alert-text"><p>sample-children</p></DxcAlert>);
32
- expect(getByText("alert-text")).toBeTruthy();
33
- expect(getByText("sample-children")).toBeTruthy();
34
- });
35
-
36
- test("Calls correct function on close", () => {
37
- const onClose = jest.fn();
38
- const { getByRole } = render(<DxcAlert onClose={onClose} inlineText="info-alert-text" />);
39
-
40
- const closeButton = getByRole("button");
41
- fireEvent.click(closeButton);
42
- expect(onClose).toHaveBeenCalled();
43
- });
44
-
45
- test("Modal alert calls correct function on close", () => {
46
- const onClose = jest.fn();
47
- const { getByRole } = render(<DxcAlert onClose={onClose} mode="modal" inlineText="info-alert-text" />);
48
-
49
- const closeButton = getByRole("button");
50
- fireEvent.click(closeButton);
51
- expect(onClose).toHaveBeenCalled();
52
- });
53
- });
package/test/Box.test.js DELETED
@@ -1,10 +0,0 @@
1
- import React from "react";
2
- import { render } from "@testing-library/react";
3
- import DxcBox from "../src/card/Card";
4
-
5
- describe("Box component tests", () => {
6
- test("Box renders with correct text", () => {
7
- const { getByText } = render(<DxcBox>test-box</DxcBox>);
8
- expect(getByText("test-box")).toBeTruthy();
9
- });
10
- });
@@ -1,18 +0,0 @@
1
- import React from "react";
2
- import { render, fireEvent } from "@testing-library/react";
3
- import DxcButton from "../src/button/Button";
4
-
5
- describe("Button component tests", () => {
6
- test("Button renders with correct text", () => {
7
- const { getByText } = render(<DxcButton label="Button" />);
8
- expect(getByText("Button")).toBeTruthy();
9
- });
10
- test("Calls correct function on click", () => {
11
- const onClick = jest.fn();
12
- const { getByText } = render(<DxcButton label="Button" onClick={onClick} />);
13
-
14
- const button = getByText("Button");
15
- fireEvent.click(button);
16
- expect(onClick).toHaveBeenCalled();
17
- });
18
- });
package/test/Card.test.js DELETED
@@ -1,30 +0,0 @@
1
- import React from "react";
2
- import { render, fireEvent } from "@testing-library/react";
3
- import DxcCard from "../src/card/Card";
4
-
5
- describe("Card component tests", () => {
6
- test("Card renders with correct content", () => {
7
- const { getByText } = render(<DxcCard>test-card</DxcCard>);
8
- expect(getByText("test-card")).toBeTruthy();
9
- });
10
-
11
- test("Card renders with correct href", () => {
12
- const { getByRole } = render(<DxcCard linkHref="/testPage">test-card</DxcCard>);
13
- const card = getByRole("link");
14
- expect(card.getAttribute("href")).toEqual("/testPage");
15
- });
16
-
17
- test("Card renders with correct image", () => {
18
- const { getByRole } = render(<DxcCard imageSrc="/testImage">test-card</DxcCard>);
19
- const card = getByRole("img");
20
- expect(card.getAttribute("src")).toEqual("/testImage");
21
- });
22
-
23
- test("OnClick function is called", () => {
24
- const onClick = jest.fn();
25
- const { getByText } = render(<DxcCard onClick={onClick}>test-card</DxcCard>);
26
- const card = getByText("test-card");
27
- fireEvent.click(card);
28
- expect(onClick).toHaveBeenCalled();
29
- });
30
- });
@@ -1,45 +0,0 @@
1
- import React from "react";
2
- import { render, fireEvent } from "@testing-library/react";
3
-
4
- import DxcCheckbox from "../src/checkbox/Checkbox";
5
-
6
- describe("Checkbox component tests", () => {
7
- test("Checkbox renders with correct text", () => {
8
- const { getByText } = render(<DxcCheckbox label="Checkbox" />);
9
-
10
- expect(getByText("Checkbox")).toBeTruthy();
11
- });
12
-
13
- test("Calls correct function on click", () => {
14
- const onChange = jest.fn();
15
- const { getByText } = render(<DxcCheckbox label="Checkbox" onChange={onChange} />);
16
-
17
- fireEvent.click(getByText("Checkbox"));
18
- expect(onChange).toHaveBeenCalled();
19
- });
20
-
21
- test("Uncontrolled checkbox", () => {
22
- const onChange = jest.fn();
23
- const component = render(<DxcCheckbox label="Checkbox" onChange={onChange} />);
24
- const visibleCheckbox = component.getByText("Checkbox");
25
- const input = component.getByRole("checkbox");
26
- expect(input.checked).toBe(false);
27
- fireEvent.click(visibleCheckbox);
28
- expect(onChange).toHaveBeenCalled();
29
- expect(onChange).toHaveBeenCalledWith(true);
30
- expect(input.checked).toBe(true);
31
- });
32
-
33
- test("Controlled checkbox", () => {
34
- const onChange = jest.fn();
35
- const component = render(<DxcCheckbox label="Checkbox" checked={false} onChange={onChange} />);
36
-
37
- const input = component.getByRole("checkbox");
38
- const visibleCheckbox = component.getByText("Checkbox");
39
-
40
- fireEvent.click(visibleCheckbox);
41
- expect(onChange).toHaveBeenCalled();
42
- expect(onChange).toHaveBeenCalledWith(true);
43
- expect(input.checked).toBe(false);
44
- });
45
- });
package/test/Chip.test.js DELETED
@@ -1,25 +0,0 @@
1
- import React from "react";
2
- import { render, fireEvent } from "@testing-library/react";
3
- import DxcChip from "../src/chip/Chip";
4
- import icon from "../../app/src/images/invision.svg";
5
-
6
- describe("Chip component tests", () => {
7
- test("Chip renders with correct text", () => {
8
- const { getByText } = render(<DxcChip label="Chip" />);
9
- expect(getByText("Chip")).toBeTruthy();
10
- });
11
- test("Calls correct function when clicking on prefix icon", () => {
12
- const onClick = jest.fn();
13
- const { getByText, getByRole } = render(<DxcChip label="Chip" prefixIconSrc={icon} onClickPrefix={onClick} />);
14
- expect(getByText("Chip")).toBeTruthy();
15
- fireEvent.click(getByRole("img"));
16
- expect(onClick).toHaveBeenCalled();
17
- });
18
- test("Calls correct function when clicking on suffix icon", () => {
19
- const onClick = jest.fn();
20
- const { getByText, getByRole } = render(<DxcChip label="Chip" suffixIconSrc={icon} onClickSuffix={onClick} />);
21
- expect(getByText("Chip")).toBeTruthy();
22
- fireEvent.click(getByRole("img"));
23
- expect(onClick).toHaveBeenCalled();
24
- });
25
- });