@dxc-technology/halstack-react 0.0.0-14e13eb → 0.0.0-154d393

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 (202) hide show
  1. package/README.md +27 -47
  2. package/dist/index.d.mts +6648 -0
  3. package/dist/index.d.ts +6648 -0
  4. package/dist/index.js +18393 -0
  5. package/dist/index.mjs +18115 -0
  6. package/package.json +78 -67
  7. package/babel.config.js +0 -8
  8. package/dist/BackgroundColorContext.js +0 -46
  9. package/dist/ThemeContext.js +0 -216
  10. package/dist/accordion/Accordion.js +0 -346
  11. package/dist/accordion/Accordion.stories.js +0 -207
  12. package/dist/accordion/readme.md +0 -96
  13. package/dist/accordion-group/AccordionGroup.js +0 -188
  14. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  15. package/dist/accordion-group/readme.md +0 -70
  16. package/dist/alert/Alert.js +0 -388
  17. package/dist/alert/Alert.stories.js +0 -158
  18. package/dist/alert/close.svg +0 -4
  19. package/dist/alert/error.svg +0 -4
  20. package/dist/alert/info.svg +0 -4
  21. package/dist/alert/readme.md +0 -43
  22. package/dist/alert/success.svg +0 -4
  23. package/dist/alert/warning.svg +0 -4
  24. package/dist/badge/Badge.js +0 -63
  25. package/dist/box/Box.js +0 -164
  26. package/dist/button/Button.js +0 -232
  27. package/dist/button/Button.stories.js +0 -224
  28. package/dist/button/readme.md +0 -93
  29. package/dist/card/Card.js +0 -254
  30. package/dist/checkbox/Checkbox.js +0 -294
  31. package/dist/checkbox/Checkbox.stories.js +0 -144
  32. package/dist/checkbox/readme.md +0 -116
  33. package/dist/chip/Chip.js +0 -269
  34. package/dist/common/OpenSans.css +0 -81
  35. package/dist/common/RequiredComponent.js +0 -40
  36. package/dist/common/fonts/OpenSans-Bold.ttf +0 -0
  37. package/dist/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  38. package/dist/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  39. package/dist/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  40. package/dist/common/fonts/OpenSans-Italic.ttf +0 -0
  41. package/dist/common/fonts/OpenSans-Light.ttf +0 -0
  42. package/dist/common/fonts/OpenSans-LightItalic.ttf +0 -0
  43. package/dist/common/fonts/OpenSans-Regular.ttf +0 -0
  44. package/dist/common/fonts/OpenSans-SemiBold.ttf +0 -0
  45. package/dist/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  46. package/dist/common/utils.js +0 -22
  47. package/dist/common/variables.js +0 -1305
  48. package/dist/date/Date.js +0 -381
  49. package/dist/date/Date.stories.js +0 -205
  50. package/dist/date/readme.md +0 -73
  51. package/dist/dialog/Dialog.js +0 -235
  52. package/dist/dialog/Dialog.stories.js +0 -217
  53. package/dist/dialog/readme.md +0 -32
  54. package/dist/dropdown/Dropdown.js +0 -504
  55. package/dist/dropdown/Dropdown.stories.js +0 -249
  56. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  57. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  58. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  59. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  60. package/dist/dropdown/readme.md +0 -69
  61. package/dist/footer/Footer.js +0 -407
  62. package/dist/footer/Footer.stories.js +0 -94
  63. package/dist/footer/dxc_logo.svg +0 -15
  64. package/dist/footer/readme.md +0 -41
  65. package/dist/header/Header.js +0 -431
  66. package/dist/header/Header.stories.js +0 -176
  67. package/dist/header/close_icon.svg +0 -1
  68. package/dist/header/dxc_logo_black.svg +0 -8
  69. package/dist/header/hamb_menu_black.svg +0 -1
  70. package/dist/header/hamb_menu_white.svg +0 -1
  71. package/dist/header/readme.md +0 -33
  72. package/dist/heading/Heading.js +0 -222
  73. package/dist/input-text/InputText.js +0 -672
  74. package/dist/input-text/InputText.stories.js +0 -209
  75. package/dist/input-text/error.svg +0 -1
  76. package/dist/input-text/readme.md +0 -91
  77. package/dist/layout/ApplicationLayout.js +0 -331
  78. package/dist/layout/facebook.svg +0 -45
  79. package/dist/layout/linkedin.svg +0 -50
  80. package/dist/layout/twitter.svg +0 -53
  81. package/dist/link/Link.js +0 -241
  82. package/dist/link/readme.md +0 -51
  83. package/dist/main.js +0 -343
  84. package/dist/new-date/NewDate.js +0 -395
  85. package/dist/new-input-text/NewInputText.js +0 -957
  86. package/dist/number/Number.js +0 -134
  87. package/dist/number/NumberContext.js +0 -16
  88. package/dist/paginator/Paginator.js +0 -283
  89. package/dist/paginator/images/next.svg +0 -3
  90. package/dist/paginator/images/nextPage.svg +0 -3
  91. package/dist/paginator/images/previous.svg +0 -3
  92. package/dist/paginator/images/previousPage.svg +0 -3
  93. package/dist/paginator/readme.md +0 -50
  94. package/dist/password/Password.js +0 -196
  95. package/dist/password/styles.css +0 -3
  96. package/dist/progress-bar/ProgressBar.js +0 -206
  97. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  98. package/dist/progress-bar/readme.md +0 -63
  99. package/dist/radio/Radio.js +0 -209
  100. package/dist/radio/Radio.stories.js +0 -166
  101. package/dist/radio/readme.md +0 -70
  102. package/dist/resultsetTable/ResultsetTable.js +0 -358
  103. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  104. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  105. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  106. package/dist/select/Select.js +0 -563
  107. package/dist/select/Select.stories.js +0 -235
  108. package/dist/select/readme.md +0 -72
  109. package/dist/sidenav/Sidenav.js +0 -183
  110. package/dist/slider/Slider.js +0 -315
  111. package/dist/slider/Slider.stories.js +0 -241
  112. package/dist/slider/readme.md +0 -64
  113. package/dist/spinner/Spinner.js +0 -214
  114. package/dist/spinner/Spinner.stories.js +0 -183
  115. package/dist/spinner/readme.md +0 -65
  116. package/dist/switch/Switch.js +0 -222
  117. package/dist/switch/Switch.stories.js +0 -134
  118. package/dist/switch/readme.md +0 -133
  119. package/dist/table/Table.js +0 -128
  120. package/dist/tabs/Tabs.js +0 -343
  121. package/dist/tabs/Tabs.stories.js +0 -130
  122. package/dist/tabs/readme.md +0 -78
  123. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  124. package/dist/tabs-for-sections/readme.md +0 -78
  125. package/dist/tag/Tag.js +0 -280
  126. package/dist/textarea/Textarea.js +0 -260
  127. package/dist/toggle/Toggle.js +0 -220
  128. package/dist/toggle/Toggle.stories.js +0 -297
  129. package/dist/toggle/readme.md +0 -80
  130. package/dist/toggle-group/ToggleGroup.js +0 -241
  131. package/dist/toggle-group/readme.md +0 -82
  132. package/dist/upload/Upload.js +0 -205
  133. package/dist/upload/Upload.stories.js +0 -72
  134. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -135
  135. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  136. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  137. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -325
  138. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  139. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  140. package/dist/upload/file-upload/FileToUpload.js +0 -184
  141. package/dist/upload/file-upload/audio-icon.svg +0 -4
  142. package/dist/upload/file-upload/close.svg +0 -4
  143. package/dist/upload/file-upload/file-icon.svg +0 -4
  144. package/dist/upload/file-upload/video-icon.svg +0 -4
  145. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  146. package/dist/upload/readme.md +0 -37
  147. package/dist/upload/transaction/Transaction.js +0 -171
  148. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  149. package/dist/upload/transaction/audio-icon.svg +0 -4
  150. package/dist/upload/transaction/error-icon.svg +0 -4
  151. package/dist/upload/transaction/file-icon-err.svg +0 -4
  152. package/dist/upload/transaction/file-icon.svg +0 -4
  153. package/dist/upload/transaction/image-icon-err.svg +0 -4
  154. package/dist/upload/transaction/image-icon.svg +0 -4
  155. package/dist/upload/transaction/success-icon.svg +0 -4
  156. package/dist/upload/transaction/video-icon-err.svg +0 -4
  157. package/dist/upload/transaction/video-icon.svg +0 -4
  158. package/dist/upload/transactions/Transactions.js +0 -138
  159. package/dist/useTheme.js +0 -22
  160. package/dist/wizard/Wizard.js +0 -411
  161. package/dist/wizard/invalid_icon.svg +0 -5
  162. package/dist/wizard/valid_icon.svg +0 -5
  163. package/dist/wizard/validation-wrong.svg +0 -6
  164. package/test/Accordion.test.js +0 -33
  165. package/test/AccordionGroup.test.js +0 -125
  166. package/test/Alert.test.js +0 -53
  167. package/test/Box.test.js +0 -10
  168. package/test/Button.test.js +0 -18
  169. package/test/Card.test.js +0 -30
  170. package/test/Checkbox.test.js +0 -45
  171. package/test/Chip.test.js +0 -25
  172. package/test/Date.test.js +0 -393
  173. package/test/Dialog.test.js +0 -23
  174. package/test/Dropdown.test.js +0 -145
  175. package/test/Footer.test.js +0 -99
  176. package/test/Header.test.js +0 -39
  177. package/test/Heading.test.js +0 -35
  178. package/test/InputText.test.js +0 -240
  179. package/test/Link.test.js +0 -43
  180. package/test/NewDate.test.js +0 -200
  181. package/test/NewInputText.test.js +0 -817
  182. package/test/Number.test.js +0 -241
  183. package/test/Paginator.test.js +0 -177
  184. package/test/Password.test.js +0 -76
  185. package/test/ProgressBar.test.js +0 -35
  186. package/test/Radio.test.js +0 -37
  187. package/test/ResultsetTable.test.js +0 -330
  188. package/test/Select.test.js +0 -192
  189. package/test/Sidenav.test.js +0 -45
  190. package/test/Slider.test.js +0 -82
  191. package/test/Spinner.test.js +0 -27
  192. package/test/Switch.test.js +0 -45
  193. package/test/Table.test.js +0 -36
  194. package/test/Tabs.test.js +0 -109
  195. package/test/TabsForSections.test.js +0 -34
  196. package/test/Tag.test.js +0 -32
  197. package/test/TextArea.test.js +0 -52
  198. package/test/ToggleGroup.test.js +0 -81
  199. package/test/Upload.test.js +0 -60
  200. package/test/Wizard.test.js +0 -130
  201. package/test/mocks/pngMock.js +0 -1
  202. package/test/mocks/svgMock.js +0 -1
@@ -1,200 +0,0 @@
1
- import React from "react";
2
- import { render, fireEvent } from "@testing-library/react";
3
- import userEvent from "@testing-library/user-event";
4
-
5
- import DxcNewDate from "../src/new-date/NewDate";
6
-
7
- describe("NewDate component tests", () => {
8
- test("Renders with correct label, helper text, optional and placeholder", () => {
9
- const { getByText, getByRole } = render(
10
- <DxcNewDate label="Example label" helperText="Example of helper text" placeholder optional />
11
- );
12
- const input = getByRole("textbox");
13
-
14
- expect(getByText("Example label")).toBeTruthy();
15
- expect(getByText("Example of helper text")).toBeTruthy();
16
- expect(getByText("(Optional)")).toBeTruthy();
17
- expect(input.getAttribute("placeholder")).toBe("DD-MM-YYYY");
18
- });
19
-
20
- test("Renders with personalized error", () => {
21
- const { getByText } = render(<DxcNewDate error="Personalized error." />);
22
-
23
- expect(getByText("Personalized error.")).toBeTruthy();
24
- });
25
-
26
- test("Renders with correct format: user typed date but it's invalid", () => {
27
- const { getByText, getByRole } = render(<DxcNewDate label="With format MM/dd/yyyy" format="MM/dd/yyyy" />);
28
- const input = getByRole("textbox");
29
-
30
- userEvent.type(input, "10/90/2010");
31
- fireEvent.blur(input);
32
- expect(getByText("Invalid date.")).toBeTruthy();
33
- });
34
-
35
- test("Calendar renders with correct date: today's date", () => {
36
- const { getByText, getByRole } = render(<DxcNewDate />);
37
- const calendarAction = getByRole("button");
38
- const d = new Date();
39
- const options = { weekday: "short", month: "short", day: "numeric" };
40
-
41
- userEvent.click(calendarAction);
42
- expect(getByText(d.toLocaleString("en-US", options))).toBeTruthy();
43
- });
44
-
45
- test("Calendar renders with correct date: value prop", () => {
46
- const { getByText, getByRole } = render(<DxcNewDate value="20-10-2019" />);
47
- const calendarAction = getByRole("button");
48
- const d = new Date(2019, 9, 20);
49
- const options = { weekday: "short", month: "short", day: "numeric" };
50
-
51
- userEvent.click(calendarAction);
52
- expect(getByText(d.toLocaleString("en-US", options))).toBeTruthy();
53
- });
54
-
55
- test("Calendar renders with correct date: user typed value", () => {
56
- const { getByText, getByRole } = render(<DxcNewDate />);
57
- const calendarAction = getByRole("button");
58
- const d = new Date(2010, 0, 1);
59
- const options = { weekday: "short", month: "short", day: "numeric" };
60
- const input = getByRole("textbox");
61
-
62
- userEvent.type(input, "01-01-2010");
63
- userEvent.click(calendarAction);
64
- expect(getByText(d.toLocaleString("en-US", options))).toBeTruthy();
65
- });
66
-
67
- test("Calendar renders with correct date: invalid date, renders with today's date", () => {
68
- const { getByText, getByRole } = render(<DxcNewDate />);
69
- const calendarAction = getByRole("button");
70
- const d = new Date();
71
- const options = { weekday: "short", month: "short", day: "numeric" };
72
- const input = getByRole("textbox");
73
-
74
- userEvent.type(input, "01-01-xxxx");
75
- fireEvent.blur(input);
76
- expect(getByText("Invalid date.")).toBeTruthy();
77
- userEvent.click(calendarAction);
78
- expect(getByText(d.toLocaleString("en-US", options))).toBeTruthy();
79
- });
80
-
81
- test("Selecting a date from the calendar with an specific format", () => {
82
- const { getByText, getByRole } = render(<DxcNewDate label="With format M-dd-yyyy" format="M-dd-yyyy" />);
83
- const input = getByRole("textbox");
84
- const calendarAction = getByRole("button");
85
- userEvent.click(calendarAction);
86
- const dayButton = getByRole("button", { name: "10" });
87
- fireEvent.click(dayButton);
88
- const d = new Date();
89
- d.setDate(10);
90
- const options = { weekday: "short", month: "short", day: "numeric" };
91
- expect(getByText(d.toLocaleString("en-US", options))).toBeTruthy();
92
- fireEvent.keyDown(document, { key: "Esc", code: "Esc", keyCode: 27, charCode: 27 });
93
- expect(input.value).toBe(`${d.getMonth() + 1}-10-${d.getFullYear()}`);
94
- });
95
-
96
- test("Selecting a date from the calendar (using keyboard presses)", () => {
97
- const { getByRole } = render(<DxcNewDate />);
98
- const calendarAction = getByRole("button");
99
- const input = getByRole("textbox");
100
-
101
- userEvent.type(input, "01-01-2010");
102
- userEvent.click(calendarAction);
103
- fireEvent.keyDown(document, { key: "ArrowRight", code: "ArrowRight", keyCode: 39, charCode: 39 });
104
- fireEvent.keyDown(document, { key: "ArrowRight", code: "ArrowRight", keyCode: 39, charCode: 39 });
105
- fireEvent.keyDown(document, { key: "ArrowRight", code: "ArrowRight", keyCode: 39, charCode: 39 });
106
- fireEvent.keyDown(document, { key: "ArrowLeft", code: "ArrowLeft", keyCode: 37, charCode: 37 });
107
- fireEvent.keyDown(document, { key: "Esc", code: "Esc", keyCode: 27, charCode: 27 });
108
- expect(input.value).toBe("03-01-2010");
109
- });
110
-
111
- test("onChange & onBlur functions are called correctly", () => {
112
- const onBlur = jest.fn();
113
- const onChange = jest.fn();
114
- const { getByRole } = render(<DxcNewDate onChange={onChange} onBlur={onBlur} />);
115
- const input = getByRole("textbox");
116
- const d = new Date(2011, 9, 10);
117
-
118
- userEvent.type(input, "10-10-2011");
119
- expect(input.value).toBe("10-10-2011");
120
- expect(onChange).toHaveBeenCalledTimes(10);
121
- expect(onChange).toHaveBeenCalledWith({ value: "10-10-2011", date: d });
122
- fireEvent.blur(input);
123
- expect(onBlur).toHaveBeenCalled();
124
- expect(onBlur).toHaveBeenCalledWith({ value: "10-10-2011", error: null, date: d });
125
- });
126
-
127
- test("onChange & onBlur functions are called correctly, also with errors", () => {
128
- const onBlur = jest.fn();
129
- const onChange = jest.fn();
130
- const { getByRole } = render(<DxcNewDate onChange={onChange} onBlur={onBlur} />);
131
- const input = getByRole("textbox");
132
- const d = new Date(2011, 9, 10);
133
-
134
- userEvent.type(input, "10-10-");
135
- expect(input.value).toBe("10-10-");
136
- expect(onChange).toHaveBeenCalledTimes(6);
137
- expect(onChange).toHaveBeenCalledWith({ value: "10-10-", date: null });
138
- fireEvent.blur(input);
139
- expect(onBlur).toHaveBeenCalled();
140
- expect(onBlur).toHaveBeenCalledWith({ value: "10-10-", error: "Invalid date.", date: null });
141
- });
142
-
143
- test("onBlur function removes the error when it is fixed", () => {
144
- const onBlur = jest.fn();
145
- const { getByRole } = render(<DxcNewDate onBlur={onBlur} />);
146
- const input = getByRole("textbox");
147
- const d = new Date(2002, 1, 20);
148
-
149
- userEvent.type(input, "test");
150
- expect(input.value).toBe("test");
151
- fireEvent.blur(input);
152
- expect(onBlur).toHaveBeenCalled();
153
- expect(onBlur).toHaveBeenCalledWith({ value: "test", error: "Invalid date.", date: null });
154
- userEvent.clear(input);
155
- userEvent.type(input, "20-02-2002");
156
- expect(input.value).toBe("20-02-2002");
157
- fireEvent.blur(input);
158
- expect(onBlur).toHaveBeenCalled();
159
- expect(onBlur).toHaveBeenCalledWith({ value: "20-02-2002", error: null, date: d });
160
- });
161
-
162
- test("onBlur function removes the error when the input is empty", () => {
163
- const onBlur = jest.fn();
164
- const { getByRole } = render(<DxcNewDate onBlur={onBlur} />);
165
- const input = getByRole("textbox");
166
-
167
- userEvent.type(input, "test");
168
- expect(input.value).toBe("test");
169
- fireEvent.blur(input);
170
- expect(onBlur).toHaveBeenCalled();
171
- expect(onBlur).toHaveBeenCalledWith({ value: "test", error: "Invalid date.", date: null });
172
- userEvent.clear(input);
173
- fireEvent.blur(input);
174
- expect(onBlur).toHaveBeenCalled();
175
- expect(onBlur).toHaveBeenCalledWith({ value: "", error: null, date: null });
176
- });
177
-
178
- test("Disabled date (calendar action must be shown but not clickable)", () => {
179
- const { getByRole, queryByText } = render(<DxcNewDate disabled />);
180
- const calendarAction = getByRole("button");
181
- const d = new Date();
182
- const options = { weekday: "short", month: "short", day: "numeric" };
183
-
184
- expect(getByRole("textbox").disabled).toBeTruthy();
185
- userEvent.click(calendarAction);
186
- expect(queryByText(d.toLocaleString("en-US", options))).toBeFalsy();
187
- });
188
-
189
- test("Input has correct accesibility attributes", () => {
190
- const { getByRole } = render(<DxcNewDate label="Date label" />);
191
- const input = getByRole("textbox");
192
- expect(input.getAttribute("aria-autocomplete")).toBeNull();
193
- expect(input.getAttribute("aria-controls")).toBeNull();
194
- expect(input.getAttribute("aria-expanded")).toBeNull();
195
- const calendarAction = getByRole("button");
196
- userEvent.click(calendarAction);
197
- const datePicker = getByRole("dialog");
198
- expect(datePicker.getAttribute("aria-modal")).toBe("true");
199
- });
200
- });