@dxc-technology/halstack-react 0.0.0-9bd9511 → 0.0.0-9c20370

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 (213) hide show
  1. package/BackgroundColorContext.d.ts +3 -3
  2. package/BackgroundColorContext.js +12 -2
  3. package/HalstackContext.d.ts +1330 -7
  4. package/HalstackContext.js +84 -67
  5. package/accordion/Accordion.d.ts +1 -1
  6. package/accordion/Accordion.js +74 -55
  7. package/accordion/Accordion.stories.tsx +3 -101
  8. package/accordion/Accordion.test.js +34 -19
  9. package/accordion/types.d.ts +4 -16
  10. package/accordion-group/AccordionGroup.d.ts +4 -3
  11. package/accordion-group/AccordionGroup.js +49 -42
  12. package/accordion-group/AccordionGroup.stories.tsx +77 -76
  13. package/accordion-group/AccordionGroup.test.js +62 -54
  14. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  15. package/accordion-group/AccordionGroupAccordion.js +43 -0
  16. package/accordion-group/types.d.ts +6 -18
  17. package/alert/Alert.js +47 -20
  18. package/alert/Alert.test.js +46 -29
  19. package/alert/types.d.ts +3 -3
  20. package/badge/Badge.js +14 -2
  21. package/badge/types.d.ts +1 -1
  22. package/bleed/Bleed.js +21 -13
  23. package/bleed/Bleed.stories.tsx +1 -0
  24. package/bleed/types.d.ts +2 -2
  25. package/box/Box.d.ts +1 -1
  26. package/box/Box.js +33 -33
  27. package/box/Box.stories.tsx +25 -53
  28. package/box/Box.test.js +7 -2
  29. package/box/types.d.ts +3 -15
  30. package/bulleted-list/BulletedList.js +36 -9
  31. package/bulleted-list/BulletedList.stories.tsx +7 -1
  32. package/bulleted-list/types.d.ts +32 -5
  33. package/button/Button.d.ts +1 -1
  34. package/button/Button.js +83 -71
  35. package/button/Button.stories.tsx +4 -4
  36. package/button/Button.test.js +28 -8
  37. package/button/types.d.ts +8 -4
  38. package/card/Card.d.ts +1 -1
  39. package/card/Card.js +67 -62
  40. package/card/Card.stories.tsx +12 -42
  41. package/card/Card.test.js +22 -11
  42. package/card/types.d.ts +4 -10
  43. package/checkbox/Checkbox.js +71 -27
  44. package/checkbox/Checkbox.test.js +60 -33
  45. package/checkbox/types.d.ts +4 -4
  46. package/chip/Chip.js +51 -48
  47. package/chip/Chip.stories.tsx +25 -17
  48. package/chip/Chip.test.js +29 -17
  49. package/chip/types.d.ts +4 -4
  50. package/common/OpenSans.css +68 -80
  51. package/common/coreTokens.d.ts +146 -0
  52. package/common/coreTokens.js +167 -0
  53. package/common/utils.d.ts +1 -0
  54. package/common/utils.js +8 -3
  55. package/common/variables.d.ts +226 -175
  56. package/common/variables.js +956 -1133
  57. package/date-input/Calendar.js +55 -12
  58. package/date-input/DateInput.js +82 -35
  59. package/date-input/DateInput.test.js +351 -164
  60. package/date-input/DatePicker.js +38 -8
  61. package/date-input/Icons.js +12 -0
  62. package/date-input/YearPicker.js +30 -5
  63. package/date-input/types.d.ts +7 -7
  64. package/dialog/Dialog.d.ts +1 -1
  65. package/dialog/Dialog.js +83 -86
  66. package/dialog/Dialog.stories.tsx +127 -221
  67. package/dialog/Dialog.test.js +331 -18
  68. package/dialog/types.d.ts +1 -14
  69. package/dropdown/Dropdown.js +86 -32
  70. package/dropdown/Dropdown.test.js +211 -104
  71. package/dropdown/DropdownMenu.js +22 -8
  72. package/dropdown/DropdownMenuItem.js +15 -6
  73. package/dropdown/types.d.ts +8 -8
  74. package/file-input/FileInput.js +218 -134
  75. package/file-input/FileInput.test.js +343 -331
  76. package/file-input/FileItem.js +39 -12
  77. package/file-input/types.d.ts +10 -10
  78. package/flex/Flex.js +39 -25
  79. package/flex/Flex.stories.tsx +35 -26
  80. package/flex/types.d.ts +74 -9
  81. package/footer/Footer.d.ts +1 -1
  82. package/footer/Footer.js +80 -68
  83. package/footer/Footer.stories.tsx +12 -89
  84. package/footer/Footer.test.js +47 -40
  85. package/footer/Icons.js +4 -0
  86. package/footer/types.d.ts +15 -17
  87. package/grid/Grid.d.ts +7 -0
  88. package/grid/Grid.js +91 -0
  89. package/grid/Grid.stories.tsx +219 -0
  90. package/grid/types.d.ts +115 -0
  91. package/header/Header.d.ts +4 -3
  92. package/header/Header.js +72 -55
  93. package/header/Header.stories.tsx +7 -71
  94. package/header/Header.test.js +26 -13
  95. package/header/Icons.js +4 -0
  96. package/header/types.d.ts +2 -16
  97. package/heading/Heading.js +28 -7
  98. package/heading/Heading.test.js +88 -71
  99. package/heading/types.d.ts +3 -3
  100. package/inset/Inset.js +21 -13
  101. package/inset/Inset.stories.tsx +2 -1
  102. package/inset/types.d.ts +2 -2
  103. package/layout/ApplicationLayout.d.ts +5 -5
  104. package/layout/ApplicationLayout.js +57 -15
  105. package/layout/Icons.js +10 -0
  106. package/layout/SidenavContext.d.ts +1 -1
  107. package/layout/SidenavContext.js +4 -0
  108. package/layout/types.d.ts +5 -6
  109. package/link/Link.js +41 -21
  110. package/link/Link.test.js +42 -26
  111. package/link/types.d.ts +4 -4
  112. package/main.d.ts +2 -1
  113. package/main.js +55 -0
  114. package/nav-tabs/NavTabs.d.ts +2 -2
  115. package/nav-tabs/NavTabs.js +43 -16
  116. package/nav-tabs/NavTabs.stories.tsx +14 -0
  117. package/nav-tabs/NavTabs.test.js +44 -37
  118. package/nav-tabs/Tab.js +71 -45
  119. package/nav-tabs/types.d.ts +10 -11
  120. package/number-input/NumberInput.js +30 -20
  121. package/number-input/NumberInput.test.js +249 -113
  122. package/number-input/NumberInputContext.js +5 -0
  123. package/number-input/numberInputContextTypes.d.ts +1 -1
  124. package/number-input/types.d.ts +4 -4
  125. package/package.json +7 -7
  126. package/paginator/Icons.js +10 -0
  127. package/paginator/Paginator.js +39 -17
  128. package/paginator/Paginator.test.js +156 -104
  129. package/paginator/types.d.ts +1 -1
  130. package/paragraph/Paragraph.d.ts +3 -4
  131. package/paragraph/Paragraph.js +18 -8
  132. package/password-input/PasswordInput.js +51 -22
  133. package/password-input/PasswordInput.test.js +94 -51
  134. package/password-input/types.d.ts +4 -4
  135. package/progress-bar/ProgressBar.d.ts +2 -2
  136. package/progress-bar/ProgressBar.js +39 -14
  137. package/progress-bar/ProgressBar.test.js +53 -36
  138. package/progress-bar/types.d.ts +4 -3
  139. package/quick-nav/QuickNav.js +24 -2
  140. package/quick-nav/types.d.ts +2 -2
  141. package/radio-group/Radio.js +53 -22
  142. package/radio-group/RadioGroup.js +84 -41
  143. package/radio-group/RadioGroup.test.js +288 -186
  144. package/radio-group/types.d.ts +4 -4
  145. package/resultsetTable/Icons.js +3 -0
  146. package/resultsetTable/ResultsetTable.js +56 -21
  147. package/resultsetTable/ResultsetTable.test.js +75 -42
  148. package/resultsetTable/types.d.ts +5 -5
  149. package/select/Icons.js +3 -0
  150. package/select/Listbox.js +35 -10
  151. package/select/Option.js +24 -8
  152. package/select/Select.js +143 -56
  153. package/select/Select.test.js +839 -456
  154. package/select/types.d.ts +12 -12
  155. package/sidenav/Icons.d.ts +7 -0
  156. package/sidenav/Icons.js +51 -0
  157. package/sidenav/Sidenav.d.ts +2 -2
  158. package/sidenav/Sidenav.js +116 -104
  159. package/sidenav/Sidenav.stories.tsx +60 -60
  160. package/sidenav/Sidenav.test.js +10 -3
  161. package/sidenav/types.d.ts +26 -23
  162. package/slider/Slider.js +84 -38
  163. package/slider/Slider.test.js +104 -76
  164. package/slider/types.d.ts +4 -4
  165. package/spinner/Spinner.js +51 -28
  166. package/spinner/Spinner.stories.jsx +28 -28
  167. package/spinner/Spinner.test.js +35 -26
  168. package/spinner/types.d.ts +3 -3
  169. package/switch/Switch.js +66 -24
  170. package/switch/Switch.test.js +97 -52
  171. package/switch/types.d.ts +4 -4
  172. package/table/Table.js +22 -4
  173. package/table/Table.test.js +7 -2
  174. package/table/types.d.ts +3 -3
  175. package/tabs/Tab.js +39 -22
  176. package/tabs/Tabs.js +131 -62
  177. package/tabs/Tabs.test.js +122 -67
  178. package/tabs/types.d.ts +8 -8
  179. package/tag/Tag.js +54 -27
  180. package/tag/Tag.test.js +31 -20
  181. package/tag/types.d.ts +7 -7
  182. package/text-input/Icons.js +3 -0
  183. package/text-input/Suggestion.js +24 -8
  184. package/text-input/Suggestions.js +36 -11
  185. package/text-input/TextInput.js +144 -59
  186. package/text-input/TextInput.stories.tsx +1 -1
  187. package/text-input/TextInput.test.js +858 -539
  188. package/text-input/types.d.ts +9 -9
  189. package/textarea/Textarea.js +73 -38
  190. package/textarea/Textarea.test.js +173 -98
  191. package/textarea/types.d.ts +4 -4
  192. package/toggle-group/ToggleGroup.d.ts +2 -2
  193. package/toggle-group/ToggleGroup.js +59 -21
  194. package/toggle-group/ToggleGroup.test.js +72 -40
  195. package/toggle-group/types.d.ts +11 -11
  196. package/typography/Typography.d.ts +2 -2
  197. package/typography/Typography.js +23 -110
  198. package/typography/Typography.stories.tsx +1 -1
  199. package/typography/types.d.ts +1 -1
  200. package/useTheme.d.ts +1234 -1
  201. package/useTheme.js +6 -0
  202. package/useTranslatedLabels.d.ts +84 -2
  203. package/useTranslatedLabels.js +5 -0
  204. package/utils/BaseTypography.d.ts +21 -0
  205. package/utils/BaseTypography.js +108 -0
  206. package/utils/FocusLock.d.ts +13 -0
  207. package/utils/FocusLock.js +138 -0
  208. package/wizard/Wizard.js +47 -13
  209. package/wizard/Wizard.test.js +81 -54
  210. package/wizard/types.d.ts +7 -8
  211. package/card/ice-cream.jpg +0 -0
  212. package/translatedLabelsType.d.ts +0 -82
  213. /package/{translatedLabelsType.js → grid/types.js} +0 -0
@@ -1,12 +1,19 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
6
+
5
7
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
8
+
6
9
  var _react = _interopRequireDefault(require("react"));
10
+
7
11
  var _react2 = require("@testing-library/react");
12
+
8
13
  var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
9
- var _FileInput = _interopRequireDefault(require("./FileInput"));
14
+
15
+ var _FileInput = _interopRequireDefault(require("./FileInput.tsx"));
16
+
10
17
  var file1 = new File(["file1"], "file1.png", {
11
18
  type: "image/png"
12
19
  });
@@ -22,424 +29,429 @@ var allFiles = [{
22
29
  describe("FileInput component tests", function () {
23
30
  test("Renders with correct labels and helper text in file mode", function () {
24
31
  var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_FileInput["default"], {
25
- label: "File input label",
26
- helperText: "File input helper text",
27
- buttonLabel: "Choose files"
28
- })),
29
- getByText = _render.getByText;
32
+ label: "File input label",
33
+ helperText: "File input helper text",
34
+ buttonLabel: "Choose files"
35
+ })),
36
+ getByText = _render.getByText;
37
+
30
38
  expect(getByText("File input label")).toBeTruthy();
31
39
  expect(getByText("File input helper text")).toBeTruthy();
32
40
  expect(getByText("Choose files")).toBeTruthy();
33
41
  });
34
42
  test("Renders with correct button label in file mode", function () {
35
43
  var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_FileInput["default"], {
36
- label: "File input label",
37
- helperText: "File input helper text"
38
- })),
39
- getByText = _render2.getByText;
44
+ label: "File input label",
45
+ helperText: "File input helper text"
46
+ })),
47
+ getByText = _render2.getByText;
48
+
40
49
  expect(getByText("Select files")).toBeTruthy();
41
50
  });
42
51
  test("Renders with correct button label in file mode and single file selection", function () {
43
52
  var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_FileInput["default"], {
44
- label: "File input label",
45
- helperText: "File input helper text",
46
- multiple: false
47
- })),
48
- getByText = _render3.getByText;
53
+ label: "File input label",
54
+ helperText: "File input helper text",
55
+ multiple: false
56
+ })),
57
+ getByText = _render3.getByText;
58
+
49
59
  expect(getByText("Select file")).toBeTruthy();
50
60
  });
51
61
  test("Renders with correct labels in filedrop mode", function () {
52
62
  var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_FileInput["default"], {
53
- label: "File input label",
54
- helperText: "File input helper text",
55
- mode: "filedrop"
56
- })),
57
- getByText = _render4.getByText;
63
+ label: "File input label",
64
+ helperText: "File input helper text",
65
+ mode: "filedrop"
66
+ })),
67
+ getByText = _render4.getByText;
68
+
58
69
  expect(getByText("Select")).toBeTruthy();
59
70
  expect(getByText("or drop files")).toBeTruthy();
60
71
  });
61
72
  test("Renders with correct labels in filedrop mode and single file selection", function () {
62
73
  var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_FileInput["default"], {
63
- label: "File input label",
64
- helperText: "File input helper text",
65
- mode: "filedrop",
66
- multiple: false
67
- })),
68
- getByText = _render5.getByText;
74
+ label: "File input label",
75
+ helperText: "File input helper text",
76
+ mode: "filedrop",
77
+ multiple: false
78
+ })),
79
+ getByText = _render5.getByText;
80
+
69
81
  expect(getByText("Select")).toBeTruthy();
70
82
  expect(getByText("or drop a file")).toBeTruthy();
71
83
  });
72
84
  test("Renders with correct custom labels in filedrop mode", function () {
73
85
  var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_FileInput["default"], {
74
- label: "File input label",
75
- helperText: "File input helper text",
76
- mode: "filedrop",
77
- buttonLabel: "Choose",
78
- dropAreaLabel: "(or drop the files)"
79
- })),
80
- getByText = _render6.getByText;
86
+ label: "File input label",
87
+ helperText: "File input helper text",
88
+ mode: "filedrop",
89
+ buttonLabel: "Choose",
90
+ dropAreaLabel: "(or drop the files)"
91
+ })),
92
+ getByText = _render6.getByText;
93
+
81
94
  expect(getByText("Choose")).toBeTruthy();
82
95
  expect(getByText("(or drop the files)")).toBeTruthy();
83
96
  });
84
97
  test("Renders with correct labels in dropzone mode", function () {
85
98
  var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_FileInput["default"], {
86
- label: "File input label",
87
- helperText: "File input helper text",
88
- mode: "dropzone"
89
- })),
90
- getByText = _render7.getByText;
99
+ label: "File input label",
100
+ helperText: "File input helper text",
101
+ mode: "dropzone"
102
+ })),
103
+ getByText = _render7.getByText;
104
+
91
105
  expect(getByText("Select")).toBeTruthy();
92
106
  expect(getByText("or drop files")).toBeTruthy();
93
107
  });
94
108
  test("Renders with correct labels in dropzone mode and single file selection", function () {
95
109
  var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_FileInput["default"], {
96
- label: "File input label",
97
- helperText: "File input helper text",
98
- mode: "dropzone",
99
- multiple: false
100
- })),
101
- getByText = _render8.getByText;
110
+ label: "File input label",
111
+ helperText: "File input helper text",
112
+ mode: "dropzone",
113
+ multiple: false
114
+ })),
115
+ getByText = _render8.getByText;
116
+
102
117
  expect(getByText("Select")).toBeTruthy();
103
118
  expect(getByText("or drop a file")).toBeTruthy();
104
119
  });
105
120
  test("Renders with correct custom labels in dropzone mode", function () {
106
121
  var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_FileInput["default"], {
107
- label: "File input label",
108
- helperText: "File input helper text",
109
- mode: "dropzone",
110
- buttonLabel: "Choose",
111
- dropAreaLabel: "(or drop the files)"
112
- })),
113
- getByText = _render9.getByText;
122
+ label: "File input label",
123
+ helperText: "File input helper text",
124
+ mode: "dropzone",
125
+ buttonLabel: "Choose",
126
+ dropAreaLabel: "(or drop the files)"
127
+ })),
128
+ getByText = _render9.getByText;
129
+
114
130
  expect(getByText("Choose")).toBeTruthy();
115
131
  expect(getByText("(or drop the files)")).toBeTruthy();
116
132
  });
117
133
  test("Disabled file input", function () {
118
134
  var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_FileInput["default"], {
119
- label: "File input label",
120
- helperText: "File input helper text",
121
- disabled: true
122
- })),
123
- getByText = _render10.getByText,
124
- getByRole = _render10.getByRole;
135
+ label: "File input label",
136
+ helperText: "File input helper text",
137
+ disabled: true
138
+ })),
139
+ getByText = _render10.getByText,
140
+ getByRole = _render10.getByRole;
141
+
125
142
  expect(getByText("Select files")).toBeTruthy();
126
143
  var button = getByRole("button");
127
144
  expect(button.disabled).toBeTruthy();
128
145
  });
129
146
  test("Renders file items passed in value when multiple file input", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
130
147
  var callbackFile, _render11, getByText;
148
+
131
149
  return _regenerator["default"].wrap(function _callee$(_context) {
132
- while (1) switch (_context.prev = _context.next) {
133
- case 0:
134
- callbackFile = jest.fn();
135
- _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_FileInput["default"], {
136
- label: "File input label",
137
- helperText: "File input helper text",
138
- value: allFiles,
139
- callbackFile: callbackFile
140
- })), getByText = _render11.getByText;
141
- _context.next = 4;
142
- return (0, _react2.waitFor)(function () {
143
- expect(getByText("file1.png")).toBeTruthy();
144
- expect(getByText("file2.txt")).toBeTruthy();
145
- expect(getByText("Error message")).toBeTruthy();
146
- });
147
- case 4:
148
- case "end":
149
- return _context.stop();
150
+ while (1) {
151
+ switch (_context.prev = _context.next) {
152
+ case 0:
153
+ callbackFile = jest.fn();
154
+ _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_FileInput["default"], {
155
+ label: "File input label",
156
+ helperText: "File input helper text",
157
+ value: allFiles,
158
+ callbackFile: callbackFile
159
+ })), getByText = _render11.getByText;
160
+ _context.next = 4;
161
+ return (0, _react2.waitFor)(function () {
162
+ expect(getByText("file1.png")).toBeTruthy();
163
+ expect(getByText("file2.txt")).toBeTruthy();
164
+ expect(getByText("Error message")).toBeTruthy();
165
+ });
166
+
167
+ case 4:
168
+ case "end":
169
+ return _context.stop();
170
+ }
150
171
  }
151
172
  }, _callee);
152
173
  })));
153
174
  test("Renders file items when single file input", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
154
175
  var callbackFile, _render12, getByText;
176
+
155
177
  return _regenerator["default"].wrap(function _callee2$(_context2) {
156
- while (1) switch (_context2.prev = _context2.next) {
157
- case 0:
158
- callbackFile = jest.fn();
159
- _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_FileInput["default"], {
160
- label: "File input label",
161
- helperText: "File input helper text",
162
- multiple: false,
163
- value: allFiles,
164
- callbackFile: callbackFile
165
- })), getByText = _render12.getByText;
166
- _context2.next = 4;
167
- return (0, _react2.waitFor)(function () {
168
- expect(getByText("file1.png")).toBeTruthy();
169
- expect(getByText("file2.txt")).toBeTruthy();
170
- expect(getByText("Error message")).toBeTruthy();
171
- });
172
- case 4:
173
- case "end":
174
- return _context2.stop();
178
+ while (1) {
179
+ switch (_context2.prev = _context2.next) {
180
+ case 0:
181
+ callbackFile = jest.fn();
182
+ _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_FileInput["default"], {
183
+ label: "File input label",
184
+ helperText: "File input helper text",
185
+ multiple: false,
186
+ value: allFiles,
187
+ callbackFile: callbackFile
188
+ })), getByText = _render12.getByText;
189
+ _context2.next = 4;
190
+ return (0, _react2.waitFor)(function () {
191
+ expect(getByText("file1.png")).toBeTruthy();
192
+ expect(getByText("file2.txt")).toBeTruthy();
193
+ expect(getByText("Error message")).toBeTruthy();
194
+ });
195
+
196
+ case 4:
197
+ case "end":
198
+ return _context2.stop();
199
+ }
175
200
  }
176
201
  }, _callee2);
177
202
  })));
178
203
  test("Add file item when single file input", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
179
204
  var newFile, callbackFile, _render13, getByText, getByLabelText;
205
+
180
206
  return _regenerator["default"].wrap(function _callee3$(_context3) {
181
- while (1) switch (_context3.prev = _context3.next) {
182
- case 0:
183
- newFile = new File(["newFile"], "newFile.pdf", {
184
- type: "pdf"
185
- });
186
- callbackFile = jest.fn();
187
- _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_FileInput["default"], {
188
- label: "File input label",
189
- helperText: "File input helper text",
190
- value: allFiles,
191
- callbackFile: callbackFile,
192
- multiple: false
193
- })), getByText = _render13.getByText, getByLabelText = _render13.getByLabelText;
194
- _context3.next = 5;
195
- return (0, _react2.waitFor)(function () {
196
- expect(getByText("file1.png")).toBeTruthy();
197
- expect(getByText("file2.txt")).toBeTruthy();
198
- expect(getByText("Error message")).toBeTruthy();
199
- var inputFile = getByLabelText("File input label", {
200
- hidden: true
207
+ while (1) {
208
+ switch (_context3.prev = _context3.next) {
209
+ case 0:
210
+ newFile = new File(["newFile"], "newFile.pdf", {
211
+ type: "pdf"
201
212
  });
202
- _react2.fireEvent.change(inputFile, {
203
- target: {
204
- files: [newFile]
205
- }
213
+ callbackFile = jest.fn();
214
+ _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_FileInput["default"], {
215
+ label: "File input label",
216
+ helperText: "File input helper text",
217
+ value: allFiles,
218
+ callbackFile: callbackFile,
219
+ multiple: false
220
+ })), getByText = _render13.getByText, getByLabelText = _render13.getByLabelText;
221
+ _context3.next = 5;
222
+ return (0, _react2.waitFor)(function () {
223
+ expect(getByText("file1.png")).toBeTruthy();
224
+ expect(getByText("file2.txt")).toBeTruthy();
225
+ expect(getByText("Error message")).toBeTruthy();
226
+ var inputFile = getByLabelText("File input label", {
227
+ hidden: true
228
+ });
229
+
230
+ _react2.fireEvent.change(inputFile, {
231
+ target: {
232
+ files: [newFile]
233
+ }
234
+ });
235
+
236
+ expect(callbackFile).toHaveBeenCalledWith([{
237
+ file: newFile,
238
+ preview: /*#__PURE__*/_react["default"].createElement("svg", {
239
+ xmlns: "http://www.w3.org/2000/svg",
240
+ width: "24",
241
+ height: "24",
242
+ viewBox: "0 0 24 24",
243
+ fill: "currentColor"
244
+ }, /*#__PURE__*/_react["default"].createElement("path", {
245
+ fill: "none",
246
+ d: "M0 0h24v24H0V0z"
247
+ }), /*#__PURE__*/_react["default"].createElement("path", {
248
+ d: "M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zM6 20V4h7v5h5v11H6z"
249
+ }))
250
+ }]);
206
251
  });
207
- expect(callbackFile).toHaveBeenCalledWith([{
208
- file: newFile,
209
- preview: /*#__PURE__*/_react["default"].createElement("svg", {
210
- xmlns: "http://www.w3.org/2000/svg",
211
- width: "24",
212
- height: "24",
213
- viewBox: "0 0 24 24",
214
- fill: "currentColor"
215
- }, /*#__PURE__*/_react["default"].createElement("path", {
216
- fill: "none",
217
- d: "M0 0h24v24H0V0z"
218
- }), /*#__PURE__*/_react["default"].createElement("path", {
219
- d: "M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zM6 20V4h7v5h5v11H6z"
220
- }))
221
- }]);
222
- });
223
- case 5:
224
- case "end":
225
- return _context3.stop();
252
+
253
+ case 5:
254
+ case "end":
255
+ return _context3.stop();
256
+ }
226
257
  }
227
258
  }, _callee3);
228
259
  })));
229
260
  test("Renders file items and delete one file", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
230
261
  var callbackFile, _render14, getByText, getAllByRole;
262
+
231
263
  return _regenerator["default"].wrap(function _callee4$(_context4) {
232
- while (1) switch (_context4.prev = _context4.next) {
233
- case 0:
234
- callbackFile = jest.fn();
235
- _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_FileInput["default"], {
236
- label: "File input label",
237
- helperText: "File input helper text",
238
- value: allFiles,
239
- callbackFile: callbackFile
240
- })), getByText = _render14.getByText, getAllByRole = _render14.getAllByRole;
241
- _context4.next = 4;
242
- return (0, _react2.waitFor)(function () {
243
- expect(getByText("file1.png")).toBeTruthy();
244
- expect(getByText("file2.txt")).toBeTruthy();
245
- expect(getByText("Error message")).toBeTruthy();
246
- var removeBtn = getAllByRole("button")[1];
247
- _userEvent["default"].click(removeBtn);
248
- expect(callbackFile).toHaveBeenCalledWith([{
249
- error: "Error message",
250
- file: file2,
251
- preview: /*#__PURE__*/_react["default"].createElement("svg", {
252
- xmlns: "http://www.w3.org/2000/svg",
253
- width: "24",
254
- height: "24",
255
- viewBox: "0 0 24 24",
256
- fill: "currentColor"
257
- }, /*#__PURE__*/_react["default"].createElement("path", {
258
- fill: "none",
259
- d: "M0 0h24v24H0V0z"
260
- }), /*#__PURE__*/_react["default"].createElement("path", {
261
- d: "M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zM6 20V4h7v5h5v11H6z"
262
- }))
263
- }]);
264
- });
265
- case 4:
266
- case "end":
267
- return _context4.stop();
264
+ while (1) {
265
+ switch (_context4.prev = _context4.next) {
266
+ case 0:
267
+ callbackFile = jest.fn();
268
+ _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_FileInput["default"], {
269
+ label: "File input label",
270
+ helperText: "File input helper text",
271
+ value: allFiles,
272
+ callbackFile: callbackFile
273
+ })), getByText = _render14.getByText, getAllByRole = _render14.getAllByRole;
274
+ _context4.next = 4;
275
+ return (0, _react2.waitFor)(function () {
276
+ expect(getByText("file1.png")).toBeTruthy();
277
+ expect(getByText("file2.txt")).toBeTruthy();
278
+ expect(getByText("Error message")).toBeTruthy();
279
+ var removeBtn = getAllByRole("button")[1];
280
+
281
+ _userEvent["default"].click(removeBtn);
282
+
283
+ expect(callbackFile).toHaveBeenCalledWith([{
284
+ error: "Error message",
285
+ file: file2,
286
+ preview: /*#__PURE__*/_react["default"].createElement("svg", {
287
+ xmlns: "http://www.w3.org/2000/svg",
288
+ width: "24",
289
+ height: "24",
290
+ viewBox: "0 0 24 24",
291
+ fill: "currentColor"
292
+ }, /*#__PURE__*/_react["default"].createElement("path", {
293
+ fill: "none",
294
+ d: "M0 0h24v24H0V0z"
295
+ }), /*#__PURE__*/_react["default"].createElement("path", {
296
+ d: "M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zM6 20V4h7v5h5v11H6z"
297
+ }))
298
+ }]);
299
+ });
300
+
301
+ case 4:
302
+ case "end":
303
+ return _context4.stop();
304
+ }
268
305
  }
269
306
  }, _callee4);
270
307
  })));
271
308
  test("CallbackFile is correctly called", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
272
309
  var newFile, callbackFile, _render15, getByLabelText;
310
+
273
311
  return _regenerator["default"].wrap(function _callee5$(_context5) {
274
- while (1) switch (_context5.prev = _context5.next) {
275
- case 0:
276
- newFile = new File(["newFile"], "newFile.pdf", {
277
- type: "pdf"
278
- });
279
- callbackFile = jest.fn();
280
- _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_FileInput["default"], {
281
- label: "File input label",
282
- helperText: "File input helper text",
283
- value: allFiles,
284
- callbackFile: callbackFile
285
- })), getByLabelText = _render15.getByLabelText;
286
- _context5.next = 5;
287
- return (0, _react2.waitFor)(function () {
288
- var inputFile = getByLabelText("File input label", {
289
- hidden: true
312
+ while (1) {
313
+ switch (_context5.prev = _context5.next) {
314
+ case 0:
315
+ newFile = new File(["newFile"], "newFile.pdf", {
316
+ type: "pdf"
290
317
  });
291
- _react2.fireEvent.change(inputFile, {
292
- target: {
293
- files: [newFile]
294
- }
318
+ callbackFile = jest.fn();
319
+ _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_FileInput["default"], {
320
+ label: "File input label",
321
+ helperText: "File input helper text",
322
+ value: allFiles,
323
+ callbackFile: callbackFile
324
+ })), getByLabelText = _render15.getByLabelText;
325
+ _context5.next = 5;
326
+ return (0, _react2.waitFor)(function () {
327
+ var inputFile = getByLabelText("File input label", {
328
+ hidden: true
329
+ });
330
+
331
+ _react2.fireEvent.change(inputFile, {
332
+ target: {
333
+ files: [newFile]
334
+ }
335
+ });
336
+
337
+ expect(callbackFile).toHaveBeenCalledWith([{
338
+ file: file1,
339
+ preview: "data:image/png;base64,ZmlsZTE="
340
+ }, {
341
+ error: "Error message",
342
+ file: file2,
343
+ preview: /*#__PURE__*/_react["default"].createElement("svg", {
344
+ xmlns: "http://www.w3.org/2000/svg",
345
+ width: "24",
346
+ height: "24",
347
+ viewBox: "0 0 24 24",
348
+ fill: "currentColor"
349
+ }, /*#__PURE__*/_react["default"].createElement("path", {
350
+ fill: "none",
351
+ d: "M0 0h24v24H0V0z"
352
+ }), /*#__PURE__*/_react["default"].createElement("path", {
353
+ d: "M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zM6 20V4h7v5h5v11H6z"
354
+ }))
355
+ }, {
356
+ error: undefined,
357
+ file: newFile,
358
+ preview: /*#__PURE__*/_react["default"].createElement("svg", {
359
+ xmlns: "http://www.w3.org/2000/svg",
360
+ width: "24",
361
+ height: "24",
362
+ viewBox: "0 0 24 24",
363
+ fill: "currentColor"
364
+ }, /*#__PURE__*/_react["default"].createElement("path", {
365
+ fill: "none",
366
+ d: "M0 0h24v24H0V0z"
367
+ }), /*#__PURE__*/_react["default"].createElement("path", {
368
+ d: "M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zM6 20V4h7v5h5v11H6z"
369
+ }))
370
+ }]);
295
371
  });
296
- expect(callbackFile).toHaveBeenCalledWith([{
297
- file: file1,
298
- preview: "data:image/png;base64,ZmlsZTE="
299
- }, {
300
- error: "Error message",
301
- file: file2,
302
- preview: /*#__PURE__*/_react["default"].createElement("svg", {
303
- xmlns: "http://www.w3.org/2000/svg",
304
- width: "24",
305
- height: "24",
306
- viewBox: "0 0 24 24",
307
- fill: "currentColor"
308
- }, /*#__PURE__*/_react["default"].createElement("path", {
309
- fill: "none",
310
- d: "M0 0h24v24H0V0z"
311
- }), /*#__PURE__*/_react["default"].createElement("path", {
312
- d: "M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zM6 20V4h7v5h5v11H6z"
313
- }))
314
- }, {
315
- error: undefined,
316
- file: newFile,
317
- preview: /*#__PURE__*/_react["default"].createElement("svg", {
318
- xmlns: "http://www.w3.org/2000/svg",
319
- width: "24",
320
- height: "24",
321
- viewBox: "0 0 24 24",
322
- fill: "currentColor"
323
- }, /*#__PURE__*/_react["default"].createElement("path", {
324
- fill: "none",
325
- d: "M0 0h24v24H0V0z"
326
- }), /*#__PURE__*/_react["default"].createElement("path", {
327
- d: "M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zM6 20V4h7v5h5v11H6z"
328
- }))
329
- }]);
330
- });
331
- case 5:
332
- case "end":
333
- return _context5.stop();
372
+
373
+ case 5:
374
+ case "end":
375
+ return _context5.stop();
376
+ }
334
377
  }
335
378
  }, _callee5);
336
379
  })));
337
380
  test("Callback called correctly when a file size does not comply minSize or maxSize", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
338
381
  var newFile, callbackFile, _render16, getByText, getByLabelText;
382
+
339
383
  return _regenerator["default"].wrap(function _callee6$(_context6) {
340
- while (1) switch (_context6.prev = _context6.next) {
341
- case 0:
342
- newFile = new File(["newFile"], "newFile.pdf", {
343
- type: "pdf"
344
- });
345
- callbackFile = jest.fn();
346
- _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_FileInput["default"], {
347
- label: "File input label",
348
- helperText: "File input helper text",
349
- minSize: 1000,
350
- maxSize: 20000,
351
- value: allFiles,
352
- callbackFile: callbackFile
353
- })), getByText = _render16.getByText, getByLabelText = _render16.getByLabelText;
354
- _context6.next = 5;
355
- return (0, _react2.waitFor)(function () {
356
- expect(getByText("file1.png")).toBeTruthy();
357
- expect(getByText("file2.txt")).toBeTruthy();
358
- expect(getByText("Error message")).toBeTruthy();
359
- var inputFile = getByLabelText("File input label", {
360
- hidden: true
384
+ while (1) {
385
+ switch (_context6.prev = _context6.next) {
386
+ case 0:
387
+ newFile = new File(["newFile"], "newFile.pdf", {
388
+ type: "pdf"
361
389
  });
362
- _react2.fireEvent.change(inputFile, {
363
- target: {
364
- files: [newFile]
365
- }
390
+ callbackFile = jest.fn();
391
+ _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_FileInput["default"], {
392
+ label: "File input label",
393
+ helperText: "File input helper text",
394
+ minSize: 1000,
395
+ maxSize: 20000,
396
+ value: allFiles,
397
+ callbackFile: callbackFile
398
+ })), getByText = _render16.getByText, getByLabelText = _render16.getByLabelText;
399
+ _context6.next = 5;
400
+ return (0, _react2.waitFor)(function () {
401
+ expect(getByText("file1.png")).toBeTruthy();
402
+ expect(getByText("file2.txt")).toBeTruthy();
403
+ expect(getByText("Error message")).toBeTruthy();
404
+ var inputFile = getByLabelText("File input label", {
405
+ hidden: true
406
+ });
407
+
408
+ _react2.fireEvent.change(inputFile, {
409
+ target: {
410
+ files: [newFile]
411
+ }
412
+ });
413
+
414
+ expect(callbackFile).toHaveBeenCalledWith([{
415
+ file: file1,
416
+ preview: "data:image/png;base64,ZmlsZTE="
417
+ }, {
418
+ error: "Error message",
419
+ file: file2,
420
+ preview: /*#__PURE__*/_react["default"].createElement("svg", {
421
+ xmlns: "http://www.w3.org/2000/svg",
422
+ width: "24",
423
+ height: "24",
424
+ viewBox: "0 0 24 24",
425
+ fill: "currentColor"
426
+ }, /*#__PURE__*/_react["default"].createElement("path", {
427
+ fill: "none",
428
+ d: "M0 0h24v24H0V0z"
429
+ }), /*#__PURE__*/_react["default"].createElement("path", {
430
+ d: "M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zM6 20V4h7v5h5v11H6z"
431
+ }))
432
+ }, {
433
+ error: "File size must be greater than min size.",
434
+ file: newFile,
435
+ preview: /*#__PURE__*/_react["default"].createElement("svg", {
436
+ xmlns: "http://www.w3.org/2000/svg",
437
+ width: "24",
438
+ height: "24",
439
+ viewBox: "0 0 24 24",
440
+ fill: "currentColor"
441
+ }, /*#__PURE__*/_react["default"].createElement("path", {
442
+ fill: "none",
443
+ d: "M0 0h24v24H0V0z"
444
+ }), /*#__PURE__*/_react["default"].createElement("path", {
445
+ d: "M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zM6 20V4h7v5h5v11H6z"
446
+ }))
447
+ }]);
366
448
  });
367
- expect(callbackFile).toHaveBeenCalledWith([{
368
- file: file1,
369
- preview: "data:image/png;base64,ZmlsZTE="
370
- }, {
371
- error: "Error message",
372
- file: file2,
373
- preview: /*#__PURE__*/_react["default"].createElement("svg", {
374
- xmlns: "http://www.w3.org/2000/svg",
375
- width: "24",
376
- height: "24",
377
- viewBox: "0 0 24 24",
378
- fill: "currentColor"
379
- }, /*#__PURE__*/_react["default"].createElement("path", {
380
- fill: "none",
381
- d: "M0 0h24v24H0V0z"
382
- }), /*#__PURE__*/_react["default"].createElement("path", {
383
- d: "M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zM6 20V4h7v5h5v11H6z"
384
- }))
385
- }, {
386
- error: "File size must be greater than min size.",
387
- file: newFile,
388
- preview: /*#__PURE__*/_react["default"].createElement("svg", {
389
- xmlns: "http://www.w3.org/2000/svg",
390
- width: "24",
391
- height: "24",
392
- viewBox: "0 0 24 24",
393
- fill: "currentColor"
394
- }, /*#__PURE__*/_react["default"].createElement("path", {
395
- fill: "none",
396
- d: "M0 0h24v24H0V0z"
397
- }), /*#__PURE__*/_react["default"].createElement("path", {
398
- d: "M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zM6 20V4h7v5h5v11H6z"
399
- }))
400
- }]);
401
- });
402
- case 5:
403
- case "end":
404
- return _context6.stop();
449
+
450
+ case 5:
451
+ case "end":
452
+ return _context6.stop();
453
+ }
405
454
  }
406
455
  }, _callee6);
407
456
  })));
408
- test("File input sends value when submitted in a form", function () {
409
- var newFile = new File(["newFile"], "newFile.pdf", {
410
- type: "pdf"
411
- });
412
- var handlerOnSubmit = jest.fn(function (e) {
413
- e.preventDefault();
414
- var formData = new FormData(e.target);
415
- var formProps = Object.fromEntries(formData);
416
- expect(formProps).toStrictEqual({
417
- file: newFile
418
- });
419
- });
420
- var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement("form", {
421
- onSubmit: handlerOnSubmit
422
- }, /*#__PURE__*/_react["default"].createElement(_FileInput["default"], {
423
- label: "File input label",
424
- name: "file",
425
- helperText: "File input helper text",
426
- mode: "filedrop",
427
- buttonLabel: "Choose",
428
- dropAreaLabel: "(or drop the files)"
429
- }), /*#__PURE__*/_react["default"].createElement("button", {
430
- type: "submit"
431
- }, "Submit"))),
432
- getByText = _render17.getByText,
433
- getByLabelText = _render17.getByLabelText;
434
- var inputFile = getByLabelText("File input label", {
435
- hidden: true
436
- });
437
- var submit = getByText("Submit");
438
- _react2.fireEvent.change(inputFile, {
439
- target: {
440
- files: [newFile]
441
- }
442
- });
443
- _userEvent["default"].click(submit);
444
- });
445
457
  });