@dxc-technology/halstack-react 0.0.0-4988eb8 → 0.0.0-4bbfa6c

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 (355) hide show
  1. package/BackgroundColorContext.js +50 -0
  2. package/ThemeContext.js +246 -0
  3. package/V3Select/V3Select.js +455 -0
  4. package/V3Select/index.d.ts +27 -0
  5. package/V3Textarea/V3Textarea.js +260 -0
  6. package/V3Textarea/index.d.ts +27 -0
  7. package/accordion/Accordion.d.ts +4 -0
  8. package/accordion/Accordion.js +258 -0
  9. package/accordion/types.d.ts +68 -0
  10. package/accordion/types.js +5 -0
  11. package/accordion-group/AccordionGroup.d.ts +7 -0
  12. package/accordion-group/AccordionGroup.js +170 -0
  13. package/accordion-group/types.d.ts +72 -0
  14. package/accordion-group/types.js +5 -0
  15. package/alert/Alert.d.ts +4 -0
  16. package/alert/Alert.js +290 -0
  17. package/alert/types.d.ts +49 -0
  18. package/alert/types.js +5 -0
  19. package/badge/Badge.js +59 -0
  20. package/box/Box.d.ts +4 -0
  21. package/box/Box.js +129 -0
  22. package/box/Box.stories.tsx +132 -0
  23. package/box/types.d.ts +47 -0
  24. package/box/types.js +5 -0
  25. package/button/Button.d.ts +4 -0
  26. package/button/Button.js +177 -0
  27. package/button/Button.stories.tsx +293 -0
  28. package/button/types.d.ts +57 -0
  29. package/button/types.js +5 -0
  30. package/card/Card.d.ts +4 -0
  31. package/card/Card.js +165 -0
  32. package/card/types.d.ts +69 -0
  33. package/card/types.js +5 -0
  34. package/checkbox/Checkbox.d.ts +4 -0
  35. package/checkbox/Checkbox.js +253 -0
  36. package/checkbox/Checkbox.stories.tsx +192 -0
  37. package/checkbox/types.d.ts +60 -0
  38. package/checkbox/types.js +5 -0
  39. package/chip/Chip.js +221 -0
  40. package/chip/index.d.ts +22 -0
  41. package/{dist/common → common}/OpenSans.css +0 -0
  42. package/{dist/common → common}/RequiredComponent.js +3 -11
  43. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  44. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  45. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  46. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  47. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  48. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  49. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  50. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  51. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  52. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  53. package/common/utils.js +22 -0
  54. package/common/variables.js +1577 -0
  55. package/{dist/date → date}/Date.js +77 -56
  56. package/date/index.d.ts +27 -0
  57. package/date-input/DateInput.d.ts +4 -0
  58. package/date-input/DateInput.js +361 -0
  59. package/date-input/types.d.ts +100 -0
  60. package/date-input/types.js +5 -0
  61. package/dialog/Dialog.d.ts +4 -0
  62. package/dialog/Dialog.js +165 -0
  63. package/dialog/types.d.ts +43 -0
  64. package/dialog/types.js +5 -0
  65. package/dropdown/Dropdown.d.ts +4 -0
  66. package/dropdown/Dropdown.js +417 -0
  67. package/dropdown/types.d.ts +89 -0
  68. package/dropdown/types.js +5 -0
  69. package/file-input/FileInput.js +532 -0
  70. package/file-input/FileItem.js +193 -0
  71. package/file-input/index.d.ts +81 -0
  72. package/footer/Footer.d.ts +4 -0
  73. package/footer/Footer.js +266 -0
  74. package/footer/Footer.stories.jsx +151 -0
  75. package/footer/Icons.js +77 -0
  76. package/footer/types.d.ts +61 -0
  77. package/footer/types.js +5 -0
  78. package/header/Header.d.ts +7 -0
  79. package/header/Header.js +324 -0
  80. package/header/Icons.js +34 -0
  81. package/header/types.d.ts +45 -0
  82. package/header/types.js +5 -0
  83. package/heading/Heading.js +176 -0
  84. package/heading/index.d.ts +17 -0
  85. package/input-text/Icons.js +22 -0
  86. package/input-text/InputText.js +611 -0
  87. package/input-text/index.d.ts +36 -0
  88. package/{dist/layout → layout}/ApplicationLayout.js +39 -134
  89. package/layout/Icons.js +55 -0
  90. package/link/Link.d.ts +3 -0
  91. package/link/Link.js +161 -0
  92. package/link/Link.stories.tsx +70 -0
  93. package/link/types.d.ts +74 -0
  94. package/link/types.js +5 -0
  95. package/main.d.ts +44 -0
  96. package/{dist/main.js → main.js} +125 -65
  97. package/number-input/NumberInput.js +128 -0
  98. package/number-input/NumberInput.stories.jsx +115 -0
  99. package/number-input/NumberInputContext.js +16 -0
  100. package/number-input/index.d.ts +113 -0
  101. package/package.json +32 -23
  102. package/paginator/Icons.js +66 -0
  103. package/paginator/Paginator.d.ts +4 -0
  104. package/paginator/Paginator.js +198 -0
  105. package/paginator/Paginator.stories.tsx +63 -0
  106. package/paginator/types.d.ts +38 -0
  107. package/paginator/types.js +5 -0
  108. package/password-input/PasswordInput.d.ts +4 -0
  109. package/password-input/PasswordInput.js +162 -0
  110. package/password-input/PasswordInput.stories.tsx +131 -0
  111. package/password-input/types.d.ts +100 -0
  112. package/password-input/types.js +5 -0
  113. package/progress-bar/ProgressBar.d.ts +4 -0
  114. package/progress-bar/ProgressBar.js +170 -0
  115. package/progress-bar/ProgressBar.stories.jsx +58 -0
  116. package/progress-bar/types.d.ts +37 -0
  117. package/progress-bar/types.js +5 -0
  118. package/radio/Radio.d.ts +4 -0
  119. package/radio/Radio.js +174 -0
  120. package/radio/Radio.stories.tsx +192 -0
  121. package/radio/types.d.ts +54 -0
  122. package/radio/types.js +5 -0
  123. package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +89 -141
  124. package/resultsetTable/index.d.ts +19 -0
  125. package/select/Select.js +865 -0
  126. package/select/index.d.ts +131 -0
  127. package/sidenav/Sidenav.js +145 -0
  128. package/sidenav/index.d.ts +13 -0
  129. package/slider/Slider.d.ts +4 -0
  130. package/slider/Slider.js +317 -0
  131. package/slider/Slider.stories.tsx +172 -0
  132. package/slider/types.d.ts +78 -0
  133. package/slider/types.js +5 -0
  134. package/spinner/Spinner.d.ts +4 -0
  135. package/spinner/Spinner.js +250 -0
  136. package/spinner/Spinner.stories.jsx +102 -0
  137. package/spinner/types.d.ts +32 -0
  138. package/spinner/types.js +5 -0
  139. package/switch/Switch.d.ts +4 -0
  140. package/switch/Switch.js +179 -0
  141. package/switch/Switch.stories.tsx +160 -0
  142. package/switch/types.d.ts +58 -0
  143. package/switch/types.js +5 -0
  144. package/table/Table.d.ts +4 -0
  145. package/table/Table.js +118 -0
  146. package/table/Table.stories.jsx +276 -0
  147. package/table/types.d.ts +21 -0
  148. package/table/types.js +5 -0
  149. package/tabs/Tabs.d.ts +4 -0
  150. package/tabs/Tabs.js +211 -0
  151. package/tabs/types.d.ts +71 -0
  152. package/tabs/types.js +5 -0
  153. package/tag/Tag.d.ts +4 -0
  154. package/tag/Tag.js +193 -0
  155. package/tag/Tag.stories.tsx +145 -0
  156. package/tag/types.d.ts +60 -0
  157. package/tag/types.js +5 -0
  158. package/text-input/TextInput.js +825 -0
  159. package/text-input/index.d.ts +135 -0
  160. package/textarea/Textarea.js +317 -0
  161. package/textarea/Textarea.stories.jsx +135 -0
  162. package/textarea/index.d.ts +117 -0
  163. package/{dist/toggle → toggle}/Toggle.js +17 -51
  164. package/toggle/index.d.ts +21 -0
  165. package/toggle-group/ToggleGroup.js +243 -0
  166. package/toggle-group/index.d.ts +21 -0
  167. package/{dist/upload → upload}/Upload.js +23 -22
  168. package/upload/buttons-upload/ButtonsUpload.js +111 -0
  169. package/upload/buttons-upload/Icons.js +40 -0
  170. package/upload/dragAndDropArea/DragAndDropArea.js +225 -0
  171. package/upload/dragAndDropArea/Icons.js +39 -0
  172. package/upload/file-upload/FileToUpload.js +115 -0
  173. package/upload/file-upload/Icons.js +66 -0
  174. package/upload/files-upload/FilesToUpload.js +109 -0
  175. package/upload/index.d.ts +15 -0
  176. package/upload/transaction/Icons.js +160 -0
  177. package/upload/transaction/Transaction.js +104 -0
  178. package/upload/transactions/Transactions.js +94 -0
  179. package/{dist/useTheme.js → useTheme.js} +0 -0
  180. package/wizard/Icons.js +65 -0
  181. package/wizard/Wizard.js +271 -0
  182. package/wizard/index.d.ts +18 -0
  183. package/README.md +0 -66
  184. package/babel.config.js +0 -8
  185. package/dist/ThemeContext.js +0 -181
  186. package/dist/accordion/Accordion.js +0 -268
  187. package/dist/accordion/Accordion.stories.js +0 -207
  188. package/dist/accordion/readme.md +0 -96
  189. package/dist/accordion-group/AccordionGroup.js +0 -156
  190. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  191. package/dist/accordion-group/readme.md +0 -70
  192. package/dist/alert/Alert.js +0 -303
  193. package/dist/alert/Alert.stories.js +0 -158
  194. package/dist/alert/close.svg +0 -4
  195. package/dist/alert/error.svg +0 -4
  196. package/dist/alert/info.svg +0 -4
  197. package/dist/alert/readme.md +0 -43
  198. package/dist/alert/success.svg +0 -4
  199. package/dist/alert/warning.svg +0 -4
  200. package/dist/badge/Badge.js +0 -42
  201. package/dist/box/Box.js +0 -145
  202. package/dist/button/Button.js +0 -199
  203. package/dist/button/Button.stories.js +0 -224
  204. package/dist/button/readme.md +0 -93
  205. package/dist/card/Card.js +0 -217
  206. package/dist/checkbox/Checkbox.js +0 -229
  207. package/dist/checkbox/Checkbox.stories.js +0 -144
  208. package/dist/checkbox/readme.md +0 -116
  209. package/dist/chip/Chip.js +0 -205
  210. package/dist/common/services/example-service.js +0 -10
  211. package/dist/common/services/example-service.test.js +0 -12
  212. package/dist/common/utils.js +0 -42
  213. package/dist/common/variables.js +0 -361
  214. package/dist/date/Date.stories.js +0 -205
  215. package/dist/date/calendar.svg +0 -1
  216. package/dist/date/calendar_dark.svg +0 -1
  217. package/dist/date/readme.md +0 -73
  218. package/dist/dialog/Dialog.js +0 -195
  219. package/dist/dialog/Dialog.stories.js +0 -217
  220. package/dist/dialog/readme.md +0 -32
  221. package/dist/dropdown/Dropdown.js +0 -446
  222. package/dist/dropdown/Dropdown.stories.js +0 -249
  223. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  224. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  225. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  226. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  227. package/dist/dropdown/readme.md +0 -69
  228. package/dist/footer/Footer.js +0 -366
  229. package/dist/footer/Footer.stories.js +0 -94
  230. package/dist/footer/dxc_logo_wht.png +0 -0
  231. package/dist/footer/readme.md +0 -41
  232. package/dist/header/Header.js +0 -368
  233. package/dist/header/Header.stories.js +0 -176
  234. package/dist/header/close_icon.svg +0 -1
  235. package/dist/header/dxc_logo_black.png +0 -0
  236. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  237. package/dist/header/dxc_logo_white.png +0 -0
  238. package/dist/header/hamb_menu_black.svg +0 -1
  239. package/dist/header/hamb_menu_white.svg +0 -1
  240. package/dist/header/readme.md +0 -33
  241. package/dist/heading/Heading.js +0 -153
  242. package/dist/input-text/InputText.js +0 -561
  243. package/dist/input-text/InputText.stories.js +0 -209
  244. package/dist/input-text/error.svg +0 -1
  245. package/dist/input-text/readme.md +0 -91
  246. package/dist/layout/facebook.svg +0 -45
  247. package/dist/layout/linkedin.svg +0 -50
  248. package/dist/layout/twitter.svg +0 -53
  249. package/dist/link/Link.js +0 -187
  250. package/dist/link/readme.md +0 -51
  251. package/dist/paginator/Paginator.js +0 -247
  252. package/dist/paginator/images/next.svg +0 -3
  253. package/dist/paginator/images/nextPage.svg +0 -3
  254. package/dist/paginator/images/previous.svg +0 -3
  255. package/dist/paginator/images/previousPage.svg +0 -3
  256. package/dist/paginator/readme.md +0 -50
  257. package/dist/progress-bar/ProgressBar.js +0 -184
  258. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  259. package/dist/progress-bar/readme.md +0 -63
  260. package/dist/radio/Radio.js +0 -190
  261. package/dist/radio/Radio.stories.js +0 -166
  262. package/dist/radio/readme.md +0 -70
  263. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  264. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  265. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  266. package/dist/select/Select.js +0 -475
  267. package/dist/select/Select.stories.js +0 -235
  268. package/dist/select/readme.md +0 -72
  269. package/dist/sidenav/Sidenav.js +0 -123
  270. package/dist/slider/Slider.js +0 -257
  271. package/dist/slider/Slider.stories.js +0 -241
  272. package/dist/slider/readme.md +0 -64
  273. package/dist/spinner/Spinner.js +0 -190
  274. package/dist/spinner/Spinner.stories.js +0 -183
  275. package/dist/spinner/readme.md +0 -65
  276. package/dist/switch/Switch.js +0 -190
  277. package/dist/switch/Switch.stories.js +0 -134
  278. package/dist/switch/readme.md +0 -133
  279. package/dist/table/Table.js +0 -90
  280. package/dist/tabs/Tabs.js +0 -307
  281. package/dist/tabs/Tabs.stories.js +0 -130
  282. package/dist/tabs/readme.md +0 -78
  283. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  284. package/dist/tabs-for-sections/readme.md +0 -78
  285. package/dist/tag/Tag.js +0 -249
  286. package/dist/textarea/Textarea.js +0 -220
  287. package/dist/toggle/Toggle.stories.js +0 -297
  288. package/dist/toggle/readme.md +0 -80
  289. package/dist/toggle-group/ToggleGroup.js +0 -209
  290. package/dist/toggle-group/readme.md +0 -82
  291. package/dist/upload/Upload.stories.js +0 -72
  292. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -119
  293. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  294. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  295. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -278
  296. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  297. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  298. package/dist/upload/file-upload/FileToUpload.js +0 -154
  299. package/dist/upload/file-upload/audio-icon.svg +0 -4
  300. package/dist/upload/file-upload/close.svg +0 -4
  301. package/dist/upload/file-upload/file-icon.svg +0 -4
  302. package/dist/upload/file-upload/video-icon.svg +0 -4
  303. package/dist/upload/files-upload/FilesToUpload.js +0 -120
  304. package/dist/upload/readme.md +0 -37
  305. package/dist/upload/transaction/Transaction.js +0 -152
  306. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  307. package/dist/upload/transaction/audio-icon.svg +0 -4
  308. package/dist/upload/transaction/error-icon.svg +0 -4
  309. package/dist/upload/transaction/file-icon-err.svg +0 -4
  310. package/dist/upload/transaction/file-icon.svg +0 -4
  311. package/dist/upload/transaction/image-icon-err.svg +0 -4
  312. package/dist/upload/transaction/image-icon.svg +0 -4
  313. package/dist/upload/transaction/success-icon.svg +0 -4
  314. package/dist/upload/transaction/video-icon-err.svg +0 -4
  315. package/dist/upload/transaction/video-icon.svg +0 -4
  316. package/dist/upload/transactions/Transactions.js +0 -116
  317. package/dist/wizard/Wizard.js +0 -325
  318. package/dist/wizard/invalid_icon.svg +0 -6
  319. package/dist/wizard/valid_icon.svg +0 -6
  320. package/dist/wizard/validation-wrong.svg +0 -6
  321. package/test/Accordion.test.js +0 -33
  322. package/test/AccordionGroup.test.js +0 -109
  323. package/test/Alert.test.js +0 -53
  324. package/test/Box.test.js +0 -10
  325. package/test/Button.test.js +0 -18
  326. package/test/Card.test.js +0 -30
  327. package/test/Checkbox.test.js +0 -45
  328. package/test/Chip.test.js +0 -25
  329. package/test/Date.test.js +0 -393
  330. package/test/Dialog.test.js +0 -23
  331. package/test/Dropdown.test.js +0 -130
  332. package/test/Footer.test.js +0 -99
  333. package/test/Header.test.js +0 -39
  334. package/test/Heading.test.js +0 -35
  335. package/test/InputText.test.js +0 -240
  336. package/test/Link.test.js +0 -42
  337. package/test/Paginator.test.js +0 -177
  338. package/test/ProgressBar.test.js +0 -35
  339. package/test/Radio.test.js +0 -37
  340. package/test/ResultsetTable.test.js +0 -330
  341. package/test/Select.test.js +0 -192
  342. package/test/Sidenav.test.js +0 -45
  343. package/test/Slider.test.js +0 -82
  344. package/test/Spinner.test.js +0 -27
  345. package/test/Switch.test.js +0 -45
  346. package/test/Table.test.js +0 -36
  347. package/test/Tabs.test.js +0 -109
  348. package/test/TabsForSections.test.js +0 -34
  349. package/test/Tag.test.js +0 -32
  350. package/test/TextArea.test.js +0 -52
  351. package/test/ToggleGroup.test.js +0 -81
  352. package/test/Upload.test.js +0 -60
  353. package/test/Wizard.test.js +0 -130
  354. package/test/mocks/pngMock.js +0 -1
  355. package/test/mocks/svgMock.js +0 -1
@@ -0,0 +1,253 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
+
14
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
+
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
+
22
+ var _Checkbox = _interopRequireDefault(require("@material-ui/core/Checkbox"));
23
+
24
+ var _RequiredComponent = _interopRequireDefault(require("../common/RequiredComponent"));
25
+
26
+ var _variables = require("../common/variables.js");
27
+
28
+ var _utils = require("../common/utils.js");
29
+
30
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
31
+
32
+ var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext.js"));
33
+
34
+ var _templateObject, _templateObject2, _templateObject3;
35
+
36
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
37
+
38
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
39
+
40
+ var DxcCheckbox = function DxcCheckbox(_ref) {
41
+ var checked = _ref.checked,
42
+ value = _ref.value,
43
+ _ref$label = _ref.label,
44
+ label = _ref$label === void 0 ? "" : _ref$label,
45
+ _ref$labelPosition = _ref.labelPosition,
46
+ labelPosition = _ref$labelPosition === void 0 ? "before" : _ref$labelPosition,
47
+ _ref$name = _ref.name,
48
+ name = _ref$name === void 0 ? "" : _ref$name,
49
+ _ref$disabled = _ref.disabled,
50
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
51
+ onChange = _ref.onChange,
52
+ _ref$required = _ref.required,
53
+ required = _ref$required === void 0 ? false : _ref$required,
54
+ margin = _ref.margin,
55
+ _ref$size = _ref.size,
56
+ size = _ref$size === void 0 ? "fitContent" : _ref$size,
57
+ _ref$tabIndex = _ref.tabIndex,
58
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
59
+
60
+ var _useState = (0, _react.useState)(false),
61
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
62
+ innerChecked = _useState2[0],
63
+ setInnerChecked = _useState2[1];
64
+
65
+ var _useState3 = (0, _react.useState)(false),
66
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
67
+ isLabelHovered = _useState4[0],
68
+ setIsLabelHovered = _useState4[1];
69
+
70
+ var colorsTheme = (0, _useTheme["default"])();
71
+ var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
72
+
73
+ var handlerCheckboxChange = function handlerCheckboxChange(checkboxValue) {
74
+ if (checked === undefined) {
75
+ var isChecked = checkboxValue.target.checked === undefined ? !innerChecked : checkboxValue.target.checked;
76
+ setInnerChecked(isChecked);
77
+
78
+ if (typeof onChange === "function") {
79
+ onChange(isChecked);
80
+ }
81
+ } else {
82
+ if (typeof onChange === "function") {
83
+ onChange(!checked);
84
+ }
85
+ }
86
+ };
87
+
88
+ var handleLabelHover = function handleLabelHover() {
89
+ setIsLabelHovered(!isLabelHovered);
90
+ };
91
+
92
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
93
+ theme: colorsTheme.checkbox
94
+ }, /*#__PURE__*/_react["default"].createElement(CheckboxContainer, {
95
+ id: name,
96
+ brightness: _variables.componentTokens,
97
+ label: label,
98
+ labelPosition: labelPosition,
99
+ disabled: disabled,
100
+ margin: margin,
101
+ size: size,
102
+ backgroundType: backgroundType,
103
+ isLabelHovered: isLabelHovered
104
+ }, /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
105
+ checked: checked != undefined ? checked : innerChecked,
106
+ inputProps: {
107
+ name: name,
108
+ "aria-label": label,
109
+ role: "checkbox",
110
+ "aria-checked": checked != undefined ? checked : innerChecked
111
+ },
112
+ onChange: handlerCheckboxChange,
113
+ value: value,
114
+ disabled: disabled,
115
+ disableRipple: true,
116
+ className: "test",
117
+ tabIndex: tabIndex
118
+ }), /*#__PURE__*/_react["default"].createElement(CheckboxBlackBack, {
119
+ labelPosition: labelPosition,
120
+ disabled: disabled,
121
+ checked: checked != undefined ? checked : innerChecked,
122
+ backgroundType: backgroundType
123
+ }), required && /*#__PURE__*/_react["default"].createElement(_RequiredComponent["default"], null), label && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
124
+ labelPosition: labelPosition,
125
+ onClick: disabled === true ? function (e) {} : handlerCheckboxChange,
126
+ disabled: disabled,
127
+ className: "labelContainer",
128
+ backgroundType: backgroundType,
129
+ onMouseOver: handleLabelHover,
130
+ onMouseOut: handleLabelHover
131
+ }, label)));
132
+ };
133
+
134
+ var sizes = {
135
+ small: "120px",
136
+ medium: "240px",
137
+ large: "480px",
138
+ fillParent: "100%",
139
+ fitContent: "unset"
140
+ };
141
+
142
+ var calculateWidth = function calculateWidth(margin, size) {
143
+ if (size === "fillParent") {
144
+ return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
145
+ }
146
+
147
+ return sizes[size];
148
+ };
149
+
150
+ var getDisabledColor = function getDisabledColor(props, element) {
151
+ switch (element) {
152
+ case "check":
153
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledCheckColorOnDark : props.theme.disabledCheckColor;
154
+ break;
155
+
156
+ case "background":
157
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledBackgroundColorCheckedOnDark : props.theme.disabledBackgroundColorChecked;
158
+ break;
159
+
160
+ case "border":
161
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledBorderColorOnDark : props.theme.disabledBorderColor;
162
+ break;
163
+
164
+ case "label":
165
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledFontColorOnDark : props.theme.disabledFontColor;
166
+ break;
167
+ }
168
+ };
169
+
170
+ var getNotDisabledColor = function getNotDisabledColor(props, element) {
171
+ switch (element) {
172
+ case "check":
173
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.checkColorOnDark : props.theme.checkColor;
174
+ break;
175
+
176
+ case "background":
177
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.backgroundColorCheckedOnDark : props.theme.backgroundColorChecked;
178
+ break;
179
+
180
+ case "border":
181
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.borderColorOnDark : props.theme.borderColor;
182
+ break;
183
+
184
+ case "label":
185
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.fontColorOnDark : props.theme.fontColor;
186
+ break;
187
+ }
188
+ };
189
+
190
+ var LabelContainer = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n cursor: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n"])), function (props) {
191
+ return props.disabled ? getDisabledColor(props, "label") : getNotDisabledColor(props, "label");
192
+ }, function (props) {
193
+ return props.disabled ? "not-allowed" : "pointer";
194
+ }, function (props) {
195
+ return props.theme.fontFamily;
196
+ }, function (props) {
197
+ return props.theme.fontSize;
198
+ }, function (props) {
199
+ return props.theme.fontWeight;
200
+ });
201
+
202
+ var CheckboxContainer = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n width: ", ";\n display: inline-flex;\n align-items: center;\n cursor: ", ";\n position: relative;\n flex-direction: ", ";\n .MuiCheckbox-colorSecondary {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n }\n }\n &.Mui-disabled {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n opacity: 0.34;\n }\n }\n }\n &.Mui-checked {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n }\n }\n\n &:hover {\n background-color: transparent;\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n background-color: transparent;\n color: ", ";\n }\n }\n }\n }\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n width: 24px;\n height: 24px;\n }\n }\n }\n\n .MuiIconButton-colorSecondary {\n &:hover {\n background-color: transparent;\n }\n }\n .MuiButtonBase-root {\n &:hover {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n }\n }\n }\n\n &.Mui-focusVisible {\n .MuiIconButton-label {\n box-shadow: 0 0 0 2px\n ", ";\n }\n }\n z-index: 1;\n margin-left: ", ";\n margin-right: ", ";\n padding: 0px;\n left: ", ";\n right: ", ";\n }\n"])), function (props) {
203
+ return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
204
+ }, function (props) {
205
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
206
+ }, function (props) {
207
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
208
+ }, function (props) {
209
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
210
+ }, function (props) {
211
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
212
+ }, function (props) {
213
+ return calculateWidth(props.margin, props.size);
214
+ }, function (props) {
215
+ return props.disabled ? "not-allowed" : "pointer";
216
+ }, function (props) {
217
+ return props.labelPosition === "before" ? "row-reverse" : "row";
218
+ }, function (props) {
219
+ return props.isLabelHovered ? props.backgroundType === "dark" ? props.theme.hoverBorderColorOnDark : props.theme.hoverBorderColor : getNotDisabledColor(props, "border");
220
+ }, function (props) {
221
+ return getDisabledColor(props, "border");
222
+ }, function (props) {
223
+ return props.disabled ? getDisabledColor(props, "background") : getNotDisabledColor(props, "background");
224
+ }, function (props) {
225
+ return props.backgroundType === "dark" ? props.theme.hoverBackgroundColorCheckedOnDark : props.theme.hoverBackgroundColorChecked;
226
+ }, function (props) {
227
+ return props.backgroundType === "dark" ? props.theme.hoverBorderColorOnDark : props.theme.hoverBorderColor;
228
+ }, function (props) {
229
+ return props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
230
+ }, function (props) {
231
+ return props.labelPosition === "before" && props.label ? props.theme.checkLabelSpacing : "0";
232
+ }, function (props) {
233
+ return props.labelPosition === "after" && props.label ? props.theme.checkLabelSpacing : "0";
234
+ }, function (props) {
235
+ return props.labelPosition === "before" ? "unset" : "1px";
236
+ }, function (props) {
237
+ return props.labelPosition === "before" ? "1px" : "unset";
238
+ });
239
+
240
+ var CheckboxBlackBack = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n width: 16px;\n height: 16px;\n position: absolute;\n left: ", ";\n right: ", ";\n z-index: 0;\n margin-left: ", ";\n margin-right: ", ";\n"])), function (props) {
241
+ return !props.checked ? "transparent" : props.disabled ? getDisabledColor(props, "check") : getNotDisabledColor(props, "check");
242
+ }, function (props) {
243
+ return props.labelPosition === "before" ? "unset" : "5px";
244
+ }, function (props) {
245
+ return props.labelPosition === "before" ? "5px" : "unset";
246
+ }, function (props) {
247
+ return props.labelPosition === "after" ? "0px" : "";
248
+ }, function (props) {
249
+ return props.labelPosition === "before" ? "0px" : "";
250
+ });
251
+
252
+ var _default = DxcCheckbox;
253
+ exports["default"] = _default;
@@ -0,0 +1,192 @@
1
+ import React from "react";
2
+ import DxcCheckbox from "./Checkbox";
3
+ import { BackgroundColorProvider } from "../BackgroundColorContext";
4
+ import Title from "../../.storybook/components/Title";
5
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
+ import DarkContainer from "../../.storybook/components/DarkSection";
7
+ import { userEvent, within } from "@storybook/testing-library";
8
+
9
+ export default {
10
+ title: "Checkbox",
11
+ component: DxcCheckbox,
12
+ };
13
+
14
+ const Checkbox = () => (
15
+ <>
16
+ <>
17
+ <ExampleContainer>
18
+ <Title title="Default" theme="light" level={4} />
19
+ <DxcCheckbox label="Checkbox" />
20
+ </ExampleContainer>
21
+ <ExampleContainer>
22
+ <Title title="Focused" theme="light" level={4} />
23
+ <DxcCheckbox label="Focused" />
24
+ </ExampleContainer>
25
+ <ExampleContainer>
26
+ <Title title="Checked" theme="light" level={4} />
27
+ <DxcCheckbox label="Checkbox" checked />
28
+ </ExampleContainer>
29
+ <ExampleContainer>
30
+ <Title title="Required" theme="light" level={4} />
31
+ <DxcCheckbox label="Checkbox" required />
32
+ </ExampleContainer>
33
+ <ExampleContainer>
34
+ <Title title="Disabled and checked" theme="light" level={4} />
35
+ <DxcCheckbox label="Checkbox" disabled checked />
36
+ </ExampleContainer>
37
+ <ExampleContainer>
38
+ <Title title="Disabled and required" theme="light" level={4} />
39
+ <DxcCheckbox label="Checkbox" disabled required />
40
+ </ExampleContainer>
41
+ <ExampleContainer>
42
+ <Title title="Disabled, required and checked" theme="light" level={4} />
43
+ <DxcCheckbox label="Checkbox" disabled required checked />
44
+ </ExampleContainer>
45
+ <ExampleContainer>
46
+ <Title title="Label after" theme="light" level={4} />
47
+ <DxcCheckbox label="Checkbox" labelPosition="after" />
48
+ </ExampleContainer>
49
+ <ExampleContainer>
50
+ <Title title="Checked with label after" theme="light" level={4} />
51
+ <DxcCheckbox label="Checkbox" checked labelPosition="after" />
52
+ </ExampleContainer>
53
+ <ExampleContainer>
54
+ <Title title="Required with label after" theme="light" level={4} />
55
+ <DxcCheckbox label="Checkbox" required labelPosition="after" />
56
+ </ExampleContainer>
57
+ <ExampleContainer>
58
+ <Title title="Disabled and checked with label after" theme="light" level={4} />
59
+ <DxcCheckbox label="Checkbox" disabled checked labelPosition="after" />
60
+ </ExampleContainer>
61
+ <ExampleContainer>
62
+ <Title title="Disabled and required with label after" theme="light" level={4} />
63
+ <DxcCheckbox label="Checkbox" disabled required labelPosition="after" />
64
+ </ExampleContainer>
65
+ <ExampleContainer>
66
+ <Title title="Disabled, required and checked with label after" theme="light" level={4} />
67
+ <DxcCheckbox label="Checkbox" disabled required checked labelPosition="after" />
68
+ </ExampleContainer>
69
+ <ExampleContainer pseudoState="pseudo-hover">
70
+ <Title title="Hovered" theme="light" level={4} />
71
+ <DxcCheckbox label="Hovered" />
72
+ </ExampleContainer>
73
+ <ExampleContainer pseudoState="pseudo-hover">
74
+ <Title title="Hovered and checked" theme="light" level={4} />
75
+ <DxcCheckbox label="Hovered" checked />
76
+ </ExampleContainer>
77
+ </>
78
+ <BackgroundColorProvider color="#333333">
79
+ <DarkContainer>
80
+ <>
81
+ <ExampleContainer>
82
+ <Title title="Default" theme="dark" level={4} />
83
+ <DxcCheckbox label="Checkbox" />
84
+ </ExampleContainer>
85
+ <ExampleContainer>
86
+ <Title title="Checked" theme="dark" level={4} />
87
+ <DxcCheckbox label="Checkbox" checked />
88
+ </ExampleContainer>
89
+ <ExampleContainer>
90
+ <Title title="Required" theme="dark" level={4} />
91
+ <DxcCheckbox label="Checkbox" required />
92
+ </ExampleContainer>
93
+ <ExampleContainer>
94
+ <Title title="Disabled and checked" theme="dark" level={4} />
95
+ <DxcCheckbox label="Checkbox" disabled checked />
96
+ </ExampleContainer>
97
+ <ExampleContainer>
98
+ <Title title="Disabled and required" theme="dark" level={4} />
99
+ <DxcCheckbox label="Checkbox" disabled required />
100
+ </ExampleContainer>
101
+ <ExampleContainer>
102
+ <Title title="Disabled, required and checked" theme="dark" level={4} />
103
+ <DxcCheckbox label="Checkbox" disabled required checked />
104
+ </ExampleContainer>
105
+ <ExampleContainer>
106
+ <Title title="Label after" theme="dark" level={4} />
107
+ <DxcCheckbox label="Checkbox" labelPosition="after" />
108
+ </ExampleContainer>
109
+ <ExampleContainer>
110
+ <Title title="Checked with label after" theme="dark" level={4} />
111
+ <DxcCheckbox label="Checkbox" checked labelPosition="after" />
112
+ </ExampleContainer>
113
+ <ExampleContainer>
114
+ <Title title="Required with label after" theme="dark" level={4} />
115
+ <DxcCheckbox label="Checkbox" required labelPosition="after" />
116
+ </ExampleContainer>
117
+ <ExampleContainer>
118
+ <Title title="Disabled and checked with label after" theme="dark" level={4} />
119
+ <DxcCheckbox label="Checkbox" disabled checked labelPosition="after" />
120
+ </ExampleContainer>
121
+ <ExampleContainer>
122
+ <Title title="Disabled and required with label after" theme="dark" level={4} />
123
+ <DxcCheckbox label="Checkbox" disabled required labelPosition="after" />
124
+ </ExampleContainer>
125
+ <ExampleContainer>
126
+ <Title title="Disabled, required and checked with label after" theme="dark" level={4} />
127
+ <DxcCheckbox label="Checkbox" disabled required checked labelPosition="after" />
128
+ </ExampleContainer>
129
+ <ExampleContainer pseudoState="pseudo-hover">
130
+ <Title title="Hovered" theme="dark" level={4} />
131
+ <DxcCheckbox label="Hovered" />
132
+ </ExampleContainer>
133
+ <ExampleContainer pseudoState="pseudo-hover">
134
+ <Title title="Hovered and checked" theme="dark" level={4} />
135
+ <DxcCheckbox label="Hovered" checked />
136
+ </ExampleContainer>
137
+ </>
138
+ </DarkContainer>
139
+ </BackgroundColorProvider>
140
+ <Title title="Sizes" theme="light" level={2} />
141
+ <ExampleContainer>
142
+ <DxcCheckbox label="Small" size="small" />
143
+ </ExampleContainer>
144
+ <ExampleContainer>
145
+ <DxcCheckbox label="Medium" size="medium" />
146
+ </ExampleContainer>
147
+ <ExampleContainer>
148
+ <DxcCheckbox label="Large" size="large" />
149
+ </ExampleContainer>
150
+ <ExampleContainer>
151
+ <DxcCheckbox label="FitContent" size="fitContent" />
152
+ </ExampleContainer>
153
+ <ExampleContainer>
154
+ <DxcCheckbox label="FillParent" size="fillParent" />
155
+ </ExampleContainer>
156
+ <Title title="Margins" theme="light" level={2} />
157
+ <ExampleContainer>
158
+ <Title title="Xxsmall" theme="light" level={4} />
159
+ <DxcCheckbox label="Xxsmall" margin={"xxsmall"} />
160
+ </ExampleContainer>
161
+ <ExampleContainer>
162
+ <Title title="Xsmall" theme="light" level={4} />
163
+ <DxcCheckbox label="Xsmall" margin={"xsmall"} />
164
+ </ExampleContainer>
165
+ <ExampleContainer>
166
+ <Title title="Small" theme="light" level={4} />
167
+ <DxcCheckbox label="Small" margin={"small"} />
168
+ </ExampleContainer>
169
+ <ExampleContainer>
170
+ <Title title="Medium" theme="light" level={4} />
171
+ <DxcCheckbox label="Medium" margin={"medium"} />
172
+ </ExampleContainer>
173
+ <ExampleContainer>
174
+ <Title title="Large" theme="light" level={4} />
175
+ <DxcCheckbox label="Large" margin={"large"} />
176
+ </ExampleContainer>
177
+ <ExampleContainer>
178
+ <Title title="Xlarge" theme="light" level={4} />
179
+ <DxcCheckbox label="Xlarge" margin={"xlarge"} />
180
+ </ExampleContainer>
181
+ <ExampleContainer>
182
+ <Title title="Xxlarge" theme="light" level={4} />
183
+ <DxcCheckbox label="Xxlarge" margin={"xxlarge"} />
184
+ </ExampleContainer>
185
+ </>
186
+ );
187
+
188
+ export const Chromatic = Checkbox.bind({});
189
+ Chromatic.play = async () => {
190
+ await userEvent.tab();
191
+ await userEvent.tab();
192
+ };
@@ -0,0 +1,60 @@
1
+ declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
+ declare type Margin = {
3
+ top?: Space;
4
+ bottom?: Space;
5
+ left?: Space;
6
+ right?: Space;
7
+ };
8
+ declare type Props = {
9
+ /**
10
+ * If true, the component is checked. If undefined the component will be
11
+ * uncontrolled and the value will be managed internally by the component.
12
+ */
13
+ checked?: boolean;
14
+ /**
15
+ * Will be passed to the value attribute of the html input element.
16
+ * When inside a form, this value will be only submitted if the checkbox is checked.
17
+ */
18
+ value?: string;
19
+ /**
20
+ * Text to be placed next to the checkbox.
21
+ */
22
+ label: string;
23
+ /**
24
+ * Whether the label should appear after or before the checkbox.
25
+ */
26
+ labelPosition?: "before" | "after";
27
+ /**
28
+ * Name attribute of the input element.
29
+ */
30
+ name?: string;
31
+ /**
32
+ * If true, the component will be disabled.
33
+ */
34
+ disabled?: boolean;
35
+ /**
36
+ * If true, the checkbox will change its appearence, showing that the value is required.
37
+ */
38
+ required?: boolean;
39
+ /**
40
+ * This function will be called when the user clicks the checkbox.
41
+ * The new value will be passed as a parameter.
42
+ */
43
+ onChange?: (val: boolean) => void;
44
+ /**
45
+ * Size of the margin to be applied to the component
46
+ * ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
47
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties
48
+ * in order to specify different margin sizes.
49
+ */
50
+ margin?: Space | Margin;
51
+ /**
52
+ * Size of the component ('small' | 'medium' | 'large' | 'fillParent' | 'fitContent').
53
+ */
54
+ size?: "small" | "medium" | "large" | "fillParent" | "fitContent";
55
+ /**
56
+ * Value of the tabindex.
57
+ */
58
+ tabIndex?: number;
59
+ };
60
+ export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });