@dxc-technology/halstack-react 3.3.0 → 4.0.1

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 (254) hide show
  1. package/{dist/BackgroundColorContext.js → BackgroundColorContext.js} +0 -0
  2. package/ThemeContext.js +250 -0
  3. package/{dist/select/Select.js → V3Select/V3Select.js} +175 -189
  4. package/V3Select/index.d.ts +27 -0
  5. package/{dist/textarea/Textarea.js → V3Textarea/V3Textarea.js} +30 -26
  6. package/V3Textarea/index.d.ts +27 -0
  7. package/{dist/accordion → accordion}/Accordion.js +66 -59
  8. package/accordion/index.d.ts +28 -0
  9. package/{dist/accordion-group → accordion-group}/AccordionGroup.js +1 -3
  10. package/accordion-group/index.d.ts +16 -0
  11. package/{dist/alert → alert}/Alert.js +126 -111
  12. package/alert/index.d.ts +51 -0
  13. package/{dist/badge → badge}/Badge.js +0 -0
  14. package/{dist/box → box}/Box.js +1 -9
  15. package/box/index.d.ts +25 -0
  16. package/button/Button.js +238 -0
  17. package/button/Button.stories.js +27 -0
  18. package/button/index.d.ts +24 -0
  19. package/{dist/card → card}/Card.js +0 -0
  20. package/card/index.d.ts +22 -0
  21. package/{dist/checkbox → checkbox}/Checkbox.js +26 -21
  22. package/checkbox/index.d.ts +24 -0
  23. package/{dist/chip → chip}/Chip.js +21 -25
  24. package/chip/index.d.ts +22 -0
  25. package/{dist/common → common}/OpenSans.css +0 -0
  26. package/{dist/common → common}/RequiredComponent.js +0 -0
  27. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  28. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  29. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  30. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  31. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  32. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  33. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  34. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  35. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  36. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  37. package/{dist/common → common}/utils.js +0 -0
  38. package/common/variables.js +1567 -0
  39. package/{dist/date → date}/Date.js +7 -9
  40. package/date/index.d.ts +27 -0
  41. package/date-input/DateInput.js +400 -0
  42. package/date-input/index.d.ts +95 -0
  43. package/{dist/dialog → dialog}/Dialog.js +15 -32
  44. package/dialog/index.d.ts +18 -0
  45. package/{dist/dropdown → dropdown}/Dropdown.js +117 -66
  46. package/dropdown/index.d.ts +26 -0
  47. package/file-input/FileInput.js +644 -0
  48. package/file-input/FileItem.js +287 -0
  49. package/file-input/index.d.ts +81 -0
  50. package/{dist/footer → footer}/Footer.js +63 -49
  51. package/footer/Icons.js +77 -0
  52. package/footer/index.d.ts +25 -0
  53. package/{dist/header → header}/Header.js +123 -84
  54. package/header/Icons.js +59 -0
  55. package/header/index.d.ts +25 -0
  56. package/{dist/heading → heading}/Heading.js +13 -5
  57. package/heading/index.d.ts +17 -0
  58. package/input-text/Icons.js +22 -0
  59. package/{dist/input-text → input-text}/InputText.js +96 -63
  60. package/input-text/index.d.ts +36 -0
  61. package/{dist/layout → layout}/ApplicationLayout.js +5 -9
  62. package/layout/Icons.js +55 -0
  63. package/{dist/link → link}/Link.js +4 -8
  64. package/link/index.d.ts +23 -0
  65. package/main.d.ts +40 -0
  66. package/{dist/main.js → main.js} +62 -14
  67. package/number-input/NumberInput.js +136 -0
  68. package/number-input/NumberInputContext.js +16 -0
  69. package/number-input/index.d.ts +113 -0
  70. package/package.json +23 -17
  71. package/paginator/Icons.js +66 -0
  72. package/{dist/paginator → paginator}/Paginator.js +60 -38
  73. package/paginator/index.d.ts +20 -0
  74. package/password-input/PasswordInput.js +203 -0
  75. package/password-input/index.d.ts +94 -0
  76. package/{dist/progress-bar → progress-bar}/ProgressBar.js +63 -27
  77. package/progress-bar/index.d.ts +18 -0
  78. package/{dist/radio → radio}/Radio.js +0 -0
  79. package/radio/index.d.ts +23 -0
  80. package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +1 -1
  81. package/resultsetTable/index.d.ts +19 -0
  82. package/select/Select.js +1138 -0
  83. package/select/index.d.ts +131 -0
  84. package/{dist/sidenav → sidenav}/Sidenav.js +11 -15
  85. package/sidenav/index.d.ts +13 -0
  86. package/{dist/slider → slider}/Slider.js +155 -66
  87. package/slider/index.d.ts +29 -0
  88. package/spinner/Spinner.js +381 -0
  89. package/spinner/index.d.ts +17 -0
  90. package/{dist/switch → switch}/Switch.js +0 -0
  91. package/switch/index.d.ts +24 -0
  92. package/{dist/table → table}/Table.js +5 -1
  93. package/table/index.d.ts +13 -0
  94. package/{dist/tabs → tabs}/Tabs.js +0 -0
  95. package/tabs/index.d.ts +19 -0
  96. package/{dist/tag → tag}/Tag.js +37 -35
  97. package/tag/index.d.ts +24 -0
  98. package/text-input/TextInput.js +992 -0
  99. package/text-input/index.d.ts +135 -0
  100. package/textarea/Textarea.js +369 -0
  101. package/textarea/index.d.ts +117 -0
  102. package/{dist/toggle → toggle}/Toggle.js +0 -0
  103. package/toggle/index.d.ts +21 -0
  104. package/toggle-group/ToggleGroup.js +327 -0
  105. package/toggle-group/index.d.ts +21 -0
  106. package/{dist/upload → upload}/Upload.js +0 -0
  107. package/{dist/upload → upload}/buttons-upload/ButtonsUpload.js +12 -12
  108. package/upload/buttons-upload/Icons.js +40 -0
  109. package/{dist/upload → upload}/dragAndDropArea/DragAndDropArea.js +23 -19
  110. package/upload/dragAndDropArea/Icons.js +39 -0
  111. package/{dist/upload → upload}/file-upload/FileToUpload.js +27 -22
  112. package/upload/file-upload/Icons.js +66 -0
  113. package/{dist/upload → upload}/files-upload/FilesToUpload.js +0 -0
  114. package/upload/index.d.ts +15 -0
  115. package/upload/transaction/Icons.js +160 -0
  116. package/{dist/upload → upload}/transaction/Transaction.js +18 -41
  117. package/{dist/upload → upload}/transactions/Transactions.js +11 -11
  118. package/{dist/useTheme.js → useTheme.js} +0 -0
  119. package/wizard/Icons.js +65 -0
  120. package/{dist/wizard → wizard}/Wizard.js +11 -17
  121. package/wizard/index.d.ts +18 -0
  122. package/README.md +0 -66
  123. package/babel.config.js +0 -8
  124. package/dist/ThemeContext.js +0 -216
  125. package/dist/accordion/Accordion.stories.js +0 -207
  126. package/dist/accordion/readme.md +0 -96
  127. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  128. package/dist/accordion-group/readme.md +0 -70
  129. package/dist/alert/Alert.stories.js +0 -158
  130. package/dist/alert/close.svg +0 -4
  131. package/dist/alert/error.svg +0 -4
  132. package/dist/alert/info.svg +0 -4
  133. package/dist/alert/readme.md +0 -43
  134. package/dist/alert/success.svg +0 -4
  135. package/dist/alert/warning.svg +0 -4
  136. package/dist/button/Button.js +0 -232
  137. package/dist/button/Button.stories.js +0 -224
  138. package/dist/button/readme.md +0 -93
  139. package/dist/checkbox/Checkbox.stories.js +0 -144
  140. package/dist/checkbox/readme.md +0 -116
  141. package/dist/common/variables.js +0 -1158
  142. package/dist/date/Date.stories.js +0 -205
  143. package/dist/date/readme.md +0 -73
  144. package/dist/dialog/Dialog.stories.js +0 -217
  145. package/dist/dialog/readme.md +0 -32
  146. package/dist/dropdown/Dropdown.stories.js +0 -249
  147. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  148. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  149. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  150. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  151. package/dist/dropdown/readme.md +0 -69
  152. package/dist/footer/Footer.stories.js +0 -94
  153. package/dist/footer/dxc_logo.svg +0 -15
  154. package/dist/footer/readme.md +0 -41
  155. package/dist/header/Header.stories.js +0 -176
  156. package/dist/header/close_icon.svg +0 -1
  157. package/dist/header/dxc_logo_black.svg +0 -8
  158. package/dist/header/hamb_menu_black.svg +0 -1
  159. package/dist/header/hamb_menu_white.svg +0 -1
  160. package/dist/header/readme.md +0 -33
  161. package/dist/input-text/InputText.stories.js +0 -209
  162. package/dist/input-text/error.svg +0 -1
  163. package/dist/input-text/readme.md +0 -91
  164. package/dist/layout/facebook.svg +0 -45
  165. package/dist/layout/linkedin.svg +0 -50
  166. package/dist/layout/twitter.svg +0 -53
  167. package/dist/link/readme.md +0 -51
  168. package/dist/paginator/images/next.svg +0 -3
  169. package/dist/paginator/images/nextPage.svg +0 -3
  170. package/dist/paginator/images/previous.svg +0 -3
  171. package/dist/paginator/images/previousPage.svg +0 -3
  172. package/dist/paginator/readme.md +0 -50
  173. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  174. package/dist/progress-bar/readme.md +0 -63
  175. package/dist/radio/Radio.stories.js +0 -166
  176. package/dist/radio/readme.md +0 -70
  177. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  178. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  179. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  180. package/dist/select/Select.stories.js +0 -235
  181. package/dist/select/readme.md +0 -72
  182. package/dist/slider/Slider.stories.js +0 -241
  183. package/dist/slider/readme.md +0 -64
  184. package/dist/spinner/Spinner.js +0 -214
  185. package/dist/spinner/Spinner.stories.js +0 -183
  186. package/dist/spinner/readme.md +0 -65
  187. package/dist/switch/Switch.stories.js +0 -134
  188. package/dist/switch/readme.md +0 -133
  189. package/dist/tabs/Tabs.stories.js +0 -130
  190. package/dist/tabs/readme.md +0 -78
  191. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  192. package/dist/tabs-for-sections/readme.md +0 -78
  193. package/dist/toggle/Toggle.stories.js +0 -297
  194. package/dist/toggle/readme.md +0 -80
  195. package/dist/toggle-group/ToggleGroup.js +0 -241
  196. package/dist/toggle-group/readme.md +0 -82
  197. package/dist/upload/Upload.stories.js +0 -72
  198. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  199. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  200. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  201. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  202. package/dist/upload/file-upload/audio-icon.svg +0 -4
  203. package/dist/upload/file-upload/close.svg +0 -4
  204. package/dist/upload/file-upload/file-icon.svg +0 -4
  205. package/dist/upload/file-upload/video-icon.svg +0 -4
  206. package/dist/upload/readme.md +0 -37
  207. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  208. package/dist/upload/transaction/audio-icon.svg +0 -4
  209. package/dist/upload/transaction/error-icon.svg +0 -4
  210. package/dist/upload/transaction/file-icon-err.svg +0 -4
  211. package/dist/upload/transaction/file-icon.svg +0 -4
  212. package/dist/upload/transaction/image-icon-err.svg +0 -4
  213. package/dist/upload/transaction/image-icon.svg +0 -4
  214. package/dist/upload/transaction/success-icon.svg +0 -4
  215. package/dist/upload/transaction/video-icon-err.svg +0 -4
  216. package/dist/upload/transaction/video-icon.svg +0 -4
  217. package/dist/wizard/invalid_icon.svg +0 -5
  218. package/dist/wizard/valid_icon.svg +0 -5
  219. package/dist/wizard/validation-wrong.svg +0 -6
  220. package/test/Accordion.test.js +0 -33
  221. package/test/AccordionGroup.test.js +0 -125
  222. package/test/Alert.test.js +0 -53
  223. package/test/Box.test.js +0 -10
  224. package/test/Button.test.js +0 -18
  225. package/test/Card.test.js +0 -30
  226. package/test/Checkbox.test.js +0 -45
  227. package/test/Chip.test.js +0 -25
  228. package/test/Date.test.js +0 -393
  229. package/test/Dialog.test.js +0 -23
  230. package/test/Dropdown.test.js +0 -130
  231. package/test/Footer.test.js +0 -99
  232. package/test/Header.test.js +0 -39
  233. package/test/Heading.test.js +0 -35
  234. package/test/InputText.test.js +0 -240
  235. package/test/Link.test.js +0 -43
  236. package/test/Paginator.test.js +0 -177
  237. package/test/ProgressBar.test.js +0 -35
  238. package/test/Radio.test.js +0 -37
  239. package/test/ResultsetTable.test.js +0 -330
  240. package/test/Select.test.js +0 -192
  241. package/test/Sidenav.test.js +0 -45
  242. package/test/Slider.test.js +0 -82
  243. package/test/Spinner.test.js +0 -27
  244. package/test/Switch.test.js +0 -45
  245. package/test/Table.test.js +0 -36
  246. package/test/Tabs.test.js +0 -109
  247. package/test/TabsForSections.test.js +0 -34
  248. package/test/Tag.test.js +0 -32
  249. package/test/TextArea.test.js +0 -52
  250. package/test/ToggleGroup.test.js +0 -81
  251. package/test/Upload.test.js +0 -60
  252. package/test/Wizard.test.js +0 -130
  253. package/test/mocks/pngMock.js +0 -1
  254. package/test/mocks/svgMock.js +0 -1
@@ -1,82 +0,0 @@
1
- # DXC Toggle Group Component
2
-
3
- ## Props
4
-
5
- <table>
6
- <tr style="background-color: grey">
7
- <td>Name</td>
8
- <td>Default</td>
9
- <td>Description</td>
10
- </tr>
11
- <tr>
12
- <td>value: any | any[]</td>
13
- <td></td>
14
- <td>
15
- The key(s) of the selected value(s). If the toggle group component
16
- doesn't allow multiple selection, it must be one unique value. If the
17
- component allows multiple selection, value must be an array. If
18
- undefined, the component will be uncontrolled and the value will be
19
- managed internally by the component.
20
- </td>
21
- </tr>
22
- <tr>
23
- <td>onChange: function</td>
24
- <td></td>
25
- <td>
26
- This function will be called every time the selection changes. The
27
- number with the key of the selected value will be passed as a
28
- parameter to this function. If multiple selection is allowed, an array
29
- of keys will be passed
30
- </td>
31
- </tr>
32
- <tr>
33
- <td>disabled: boolean</td>
34
- <td>
35
- <code>false</code>
36
- </td>
37
- <td>If true, the component will be disabled.</td>
38
- </tr>
39
- <tr>
40
- <td>multiple: boolean</td>
41
- <td>
42
- <code>false</code>
43
- </td>
44
- <td>
45
- If true, the toggle group will support multiple selection. In that
46
- case, value must be an array of numbers with the keys of the selected
47
- values.
48
- </td>
49
- </tr>
50
- <tr>
51
- <td>options: object[]</td>
52
- <td>
53
- <code>[]</code>
54
- </td>
55
- <td>
56
- An array of objects representing the selectable options. Each object
57
- has the following properties:
58
- <ul>
59
- <li>
60
- <b>value</b>: Number with the option inner value.
61
- </li>
62
- <li>
63
- <b>label</b>: String with the option display value.
64
- </li>
65
- <li>
66
- <b>iconSrc</b>: URL of the icon that will be placed. IconSrc and
67
- label can't be used at same time.
68
- </li>
69
- </ul>
70
- </td>
71
- </tr>
72
- <tr>
73
- <td>margin: string | object</td>
74
- <td></td>
75
- <td>
76
- Size of the margin to be applied to the component ('xxsmall' |
77
- 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge'). You
78
- can pass an object with 'top', 'bottom', 'left' and 'right' properties
79
- in order to specify different margin sizes.
80
- </td>
81
- </tr>
82
- </table>
@@ -1,72 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
6
-
7
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
-
9
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
-
11
- var _react = _interopRequireDefault(require("react"));
12
-
13
- var _react2 = require("@storybook/react");
14
-
15
- var _readme = _interopRequireDefault(require("./readme.md"));
16
-
17
- var _Upload = _interopRequireDefault(require("./Upload"));
18
-
19
- function callbackFunc() {
20
- return _callbackFunc.apply(this, arguments);
21
- }
22
-
23
- function _callbackFunc() {
24
- _callbackFunc = (0, _asyncToGenerator2["default"])(
25
- /*#__PURE__*/
26
- _regenerator["default"].mark(function _callee() {
27
- return _regenerator["default"].wrap(function _callee$(_context) {
28
- while (1) {
29
- switch (_context.prev = _context.next) {
30
- case 0:
31
- return _context.abrupt("return", new Promise(function (resolve) {
32
- return setTimeout(resolve, 1000);
33
- }));
34
-
35
- case 1:
36
- case "end":
37
- return _context.stop();
38
- }
39
- }
40
- }, _callee);
41
- }));
42
- return _callbackFunc.apply(this, arguments);
43
- }
44
-
45
- (0, _react2.storiesOf)("Form Components|Upload", module).add("Component", function () {
46
- return _react["default"].createElement("div", {
47
- style: {
48
- marginTop: "80px"
49
- }
50
- }, _react["default"].createElement(_Upload["default"], {
51
- callbackUpload: callbackFunc
52
- }));
53
- }, {
54
- notes: {
55
- markdown: _readme["default"]
56
- }
57
- });
58
-
59
- var knobProps = function knobProps() {
60
- return {};
61
- };
62
-
63
- (0, _react2.storiesOf)("Form Components|Upload", module).add("Knobs example", function () {
64
- var props = knobProps();
65
- return _react["default"].createElement(_Upload["default"], (0, _extends2["default"])({}, props, {
66
- callbackUpload: callbackFunc
67
- }));
68
- }, {
69
- notes: {
70
- markdown: _readme["default"]
71
- }
72
- });
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#666666">
2
- <path fill="none" d="M0 0h24v24H0V0z"/>
3
- <path d="M3 13h2v-2H3v2zm0 4h2v-2H3v2zm2 4v-2H3c0 1.1.89 2 2 2zM3 9h2V7H3v2zm12 12h2v-2h-2v2zm4-18H9c-1.11 0-2 .9-2 2v10c0 1.1.89 2 2 2h10c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 12H9V5h10v10zm-8 6h2v-2h-2v2zm-4 0h2v-2H7v2z"/>
4
- </svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M0 0h24v24H0z" fill="none"/><path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"/></svg>
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="74.5" height="74.5" viewBox="0 0 24 24" fill="#666666">
2
- <path fill="none" d="M0 0h24v24H0z"/>
3
- <path d="M11 5v5.59H7.5l4.5 4.5 4.5-4.5H13V5h-2zm-5 9c0 3.31 2.69 6 6 6s6-2.69 6-6h-2c0 2.21-1.79 4-4 4s-4-1.79-4-4H6z"/>
4
- </svg>
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="43.5" height="43.5" viewBox="0 0 24 24">
2
- <path d="M6 2c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6H6zm7 7V3.5L18.5 9H13z"/>
3
- <path d="M0 0h24v24H0z" fill="none"/>
4
- </svg>
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
2
- <path fill="none" d="M0 0h24v24H0V0z"/>
3
- <path d="M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H3V5h18v14zM8 15c0-1.66 1.34-3 3-3 .35 0 .69.07 1 .18V6h5v2h-3v7.03c-.02 1.64-1.35 2.97-3 2.97-1.66 0-3-1.34-3-3z"/>
4
- </svg>
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 24 24">
2
- <path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/>
3
- <path d="M0 0h24v24H0z" fill="none"/>
4
- </svg>
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
2
- <path fill="none" d="M0 0h24v24H0V0z"/>
3
- <path 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"/>
4
- </svg>
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
2
- <path d="M18 4l2 4h-3l-2-4h-2l2 4h-3l-2-4H8l2 4H7L5 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4h-4z"/>
3
- <path d="M0 0h24v24H0z" fill="none"/>
4
- </svg>
@@ -1,37 +0,0 @@
1
- # DXC Upload Component
2
-
3
- ## Usage
4
-
5
- ```js
6
- import { DxcUpload } from "@dxc-technology/halstack-react";
7
- ```
8
-
9
- ## Props
10
-
11
- <table>
12
- <tr style="background-color: grey">
13
- <td>Name</td>
14
- <td>Default</td>
15
- <td>Description</td>
16
- </tr>
17
- <tr>
18
- <td>onUpload: function</td>
19
- <td></td>
20
- <td>This function will be called when the user clicks the 'Upload' button for every file to be uploaded, we will send as a parameter the File object; apart from that this function should return one promise on which we should make 'then'(here we should show a Success alert) or 'catch' (in this case we would receive the error message as a string)</td>
21
- </tr>
22
-
23
- </table>
24
-
25
- ## Examples
26
-
27
- ```js
28
- import React from "react";
29
-
30
- import { DxcUpload } from "@dxc-technology/halstack-react";
31
-
32
- function App() {
33
- return <Upload callbackUpload={callbackFunc} />;
34
- }
35
-
36
- export default App;
37
- ```
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#D0011B">
2
- <path fill="none" d="M0 0h24v24H0V0z"/>
3
- <path d="M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H3V5h18v14zM8 15c0-1.66 1.34-3 3-3 .35 0 .69.07 1 .18V6h5v2h-3v7.03c-.02 1.64-1.35 2.97-3 2.97-1.66 0-3-1.34-3-3z"/>
4
- </svg>
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#D9D9D9">
2
- <path fill="none" d="M0 0h24v24H0V0z"/>
3
- <path d="M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H3V5h18v14zM8 15c0-1.66 1.34-3 3-3 .35 0 .69.07 1 .18V6h5v2h-3v7.03c-.02 1.64-1.35 2.97-3 2.97-1.66 0-3-1.34-3-3z"/>
4
- </svg>
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#D0011B">
2
- <path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/>
3
- <path d="M0 0h24v24H0z" fill="none"/>
4
- </svg>
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#D0011B">
2
- <path d="M6 2c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6H6zm7 7V3.5L18.5 9H13z"/>
3
- <path d="M0 0h24v24H0z" fill="none"/>
4
- </svg>
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#D9D9D9">
2
- <path d="M6 2c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6H6zm7 7V3.5L18.5 9H13z"/>
3
- <path d="M0 0h24v24H0z" fill="none"/>
4
- </svg>
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#D0011B">
2
- <path d="M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z"/>
3
- <path d="M0 0h24v24H0z" fill="none"/>
4
- </svg>
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#D9D9D9">
2
- <path d="M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z"/>
3
- <path d="M0 0h24v24H0z" fill="none"/>
4
- </svg>
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#50B50F">
2
- <path fill="none" d="M0 0h24v24H0z"/>
3
- <path d="M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"/>
4
- </svg>
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#D0011B">
2
- <path d="M18 4l2 4h-3l-2-4h-2l2 4h-3l-2-4H8l2 4H7L5 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4h-4z"/>
3
- <path d="M0 0h24v24H0z" fill="none"/>
4
- </svg>
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#D9D9D9">
2
- <path d="M18 4l2 4h-3l-2-4h-2l2 4h-3l-2-4H8l2 4H7L5 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4h-4z"/>
3
- <path d="M0 0h24v24H0z" fill="none"/>
4
- </svg>
@@ -1,5 +0,0 @@
1
- <svg id="highlight_off_black_18dp" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
2
- <path id="Path_2943" data-name="Path 2943" d="M0,0H18V18H0Z" fill="none"/>
3
- <path id="Path_2944" data-name="Path 2944" d="M10,4a6,6,0,1,0,6,6A6.01,6.01,0,0,0,10,4Zm3,7.945L11.945,13,10,11.06,8.059,13,7,11.945,8.944,10,7,8.059,8.059,7,10,8.944,11.945,7,13,8.059,11.06,10Z" transform="translate(-1.002 -1.002)" fill="#ffe6e9"/>
4
- <path id="Path_2945" data-name="Path 2945" d="M11.444,6.5,9.5,8.443,7.558,6.5,6.5,7.558,8.443,9.5,6.5,11.444,7.558,12.5,9.5,10.558,11.444,12.5,12.5,11.444,10.558,9.5,12.5,7.558ZM9.5,2A7.5,7.5,0,1,0,17,9.5,7.494,7.494,0,0,0,9.5,2Zm0,13.5a6,6,0,1,1,6-6A6.009,6.009,0,0,1,9.5,15.5Z" transform="translate(-0.501 -0.501)" fill="#d0011b"/>
5
- </svg>
@@ -1,5 +0,0 @@
1
- <svg id="check_circle_black_18dp" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
2
- <path id="Path_2946" data-name="Path 2946" d="M0,0H18V18H0Z" fill="none"/>
3
- <path id="Path_2947" data-name="Path 2947" d="M9.986,4a5.986,5.986,0,1,0,5.986,5.986A5.994,5.994,0,0,0,9.986,4Zm-1.5,9.727L5.5,10.734,6.551,9.679l1.938,1.93L13.42,6.679l1.055,1.063Z" transform="translate(-0.986 -0.986)" fill="#eafaef" opacity="0.999"/>
4
- <path id="Path_2948" data-name="Path 2948" d="M9.493,2a7.493,7.493,0,1,0,7.493,7.493A7.5,7.5,0,0,0,9.493,2Zm0,13.487a5.994,5.994,0,1,1,5.994-5.994A6,6,0,0,1,9.493,15.487Zm3.439-9.306L7.994,11.119,6.054,9.186,5,10.242l3,3,5.994-5.994Z" transform="translate(-0.493 -0.493)" fill="#24a148"/>
5
- </svg>
@@ -1,6 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="496" height="496" viewBox="0 0 496 496">
2
- <g id="Group_2913" data-name="Group 2913" transform="translate(5286 3925)">
3
- <path id="Path_2821" data-name="Path 2821" d="M240,0C372.548,0,480,107.452,480,240S372.548,480,240,480,0,372.548,0,240,107.452,0,240,0Z" transform="translate(-5278 -3917)" fill="#f9cfcf"/>
4
- <path id="times-circle-regular" d="M256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8Zm0,448A200,200,0,1,1,456,256,199.945,199.945,0,0,1,256,456ZM357.8,193.8,295.6,256l62.2,62.2a12.011,12.011,0,0,1,0,17l-22.6,22.6a12.011,12.011,0,0,1-17,0L256,295.6l-62.2,62.2a12.011,12.011,0,0,1-17,0l-22.6-22.6a12.011,12.011,0,0,1,0-17L216.4,256l-62.2-62.2a12.011,12.011,0,0,1,0-17l22.6-22.6a12.011,12.011,0,0,1,17,0L256,216.4l62.2-62.2a12.011,12.011,0,0,1,17,0l22.6,22.6a12.011,12.011,0,0,1,0,17Z" transform="translate(-5294 -3933)" fill="#e22"/>
5
- </g>
6
- </svg>
@@ -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
- });