@dxc-technology/halstack-react 0.0.0-6623548 → 0.0.0-662ca89

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 (431) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +47 -0
  3. package/HalstackContext.d.ts +10 -0
  4. package/HalstackContext.js +243 -0
  5. package/accordion/Accordion.d.ts +4 -0
  6. package/accordion/Accordion.js +226 -0
  7. package/accordion/Accordion.stories.tsx +307 -0
  8. package/accordion/Accordion.test.js +72 -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 +168 -0
  13. package/accordion-group/AccordionGroup.stories.tsx +225 -0
  14. package/accordion-group/AccordionGroup.test.js +151 -0
  15. package/accordion-group/types.d.ts +72 -0
  16. package/accordion-group/types.js +5 -0
  17. package/alert/Alert.d.ts +4 -0
  18. package/{dist/alert → alert}/Alert.js +40 -153
  19. package/alert/Alert.stories.tsx +170 -0
  20. package/alert/Alert.test.js +92 -0
  21. package/alert/types.d.ts +49 -0
  22. package/alert/types.js +5 -0
  23. package/badge/Badge.d.ts +4 -0
  24. package/badge/Badge.js +59 -0
  25. package/badge/types.d.ts +4 -0
  26. package/badge/types.js +5 -0
  27. package/bleed/Bleed.d.ts +3 -0
  28. package/bleed/Bleed.js +84 -0
  29. package/bleed/Bleed.stories.tsx +342 -0
  30. package/bleed/types.d.ts +37 -0
  31. package/bleed/types.js +5 -0
  32. package/box/Box.d.ts +4 -0
  33. package/{dist/box → box}/Box.js +15 -45
  34. package/box/Box.stories.tsx +132 -0
  35. package/box/Box.test.js +18 -0
  36. package/box/types.d.ts +43 -0
  37. package/box/types.js +5 -0
  38. package/button/Button.d.ts +4 -0
  39. package/{dist/button → button}/Button.js +34 -98
  40. package/button/Button.stories.tsx +274 -0
  41. package/button/Button.test.js +35 -0
  42. package/button/types.d.ts +53 -0
  43. package/button/types.js +5 -0
  44. package/card/Card.d.ts +4 -0
  45. package/card/Card.js +163 -0
  46. package/card/Card.stories.tsx +201 -0
  47. package/card/Card.test.js +50 -0
  48. package/card/ice-cream.jpg +0 -0
  49. package/card/types.d.ts +67 -0
  50. package/card/types.js +5 -0
  51. package/checkbox/Checkbox.d.ts +4 -0
  52. package/{dist/checkbox → checkbox}/Checkbox.js +53 -99
  53. package/checkbox/Checkbox.stories.tsx +188 -0
  54. package/checkbox/Checkbox.test.js +78 -0
  55. package/checkbox/types.d.ts +64 -0
  56. package/checkbox/types.js +5 -0
  57. package/chip/Chip.d.ts +4 -0
  58. package/chip/Chip.js +161 -0
  59. package/chip/Chip.stories.tsx +119 -0
  60. package/chip/Chip.test.js +56 -0
  61. package/chip/types.d.ts +45 -0
  62. package/chip/types.js +5 -0
  63. package/{dist/common → common}/OpenSans.css +0 -0
  64. package/{dist/common → common}/RequiredComponent.js +3 -11
  65. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  66. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  67. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  68. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  69. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  70. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  71. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  72. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  73. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  74. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  75. package/{dist/common → common}/utils.js +0 -0
  76. package/{dist/common → common}/variables.js +161 -354
  77. package/date-input/DateInput.d.ts +4 -0
  78. package/{dist/date-input → date-input}/DateInput.js +77 -108
  79. package/date-input/DateInput.stories.tsx +138 -0
  80. package/date-input/DateInput.test.js +479 -0
  81. package/date-input/types.d.ts +107 -0
  82. package/date-input/types.js +5 -0
  83. package/dialog/Dialog.d.ts +4 -0
  84. package/dialog/Dialog.js +138 -0
  85. package/dialog/Dialog.stories.tsx +212 -0
  86. package/dialog/Dialog.test.js +40 -0
  87. package/dialog/types.d.ts +43 -0
  88. package/dialog/types.js +5 -0
  89. package/dropdown/Dropdown.d.ts +4 -0
  90. package/{dist/dropdown → dropdown}/Dropdown.js +54 -207
  91. package/dropdown/Dropdown.stories.tsx +249 -0
  92. package/dropdown/Dropdown.test.js +189 -0
  93. package/dropdown/types.d.ts +80 -0
  94. package/dropdown/types.js +5 -0
  95. package/file-input/FileInput.d.ts +4 -0
  96. package/file-input/FileInput.js +590 -0
  97. package/file-input/FileInput.stories.tsx +507 -0
  98. package/file-input/FileInput.test.js +457 -0
  99. package/file-input/FileItem.d.ts +14 -0
  100. package/file-input/FileItem.js +186 -0
  101. package/file-input/types.d.ts +112 -0
  102. package/file-input/types.js +5 -0
  103. package/footer/Footer.d.ts +4 -0
  104. package/footer/Footer.js +183 -0
  105. package/footer/Footer.stories.tsx +130 -0
  106. package/footer/Footer.test.js +109 -0
  107. package/footer/Icons.d.ts +2 -0
  108. package/{dist/footer → footer}/Icons.js +15 -15
  109. package/footer/types.d.ts +65 -0
  110. package/footer/types.js +5 -0
  111. package/header/Header.d.ts +7 -0
  112. package/header/Header.js +300 -0
  113. package/header/Header.stories.tsx +172 -0
  114. package/header/Header.test.js +79 -0
  115. package/header/Icons.d.ts +2 -0
  116. package/{dist/header → header}/Icons.js +7 -32
  117. package/header/types.d.ts +47 -0
  118. package/header/types.js +5 -0
  119. package/heading/Heading.d.ts +4 -0
  120. package/{dist/heading → heading}/Heading.js +31 -90
  121. package/heading/Heading.stories.tsx +54 -0
  122. package/heading/Heading.test.js +186 -0
  123. package/heading/types.d.ts +33 -0
  124. package/heading/types.js +5 -0
  125. package/inset/Inset.d.ts +3 -0
  126. package/inset/Inset.js +84 -0
  127. package/inset/Inset.stories.tsx +229 -0
  128. package/inset/types.d.ts +37 -0
  129. package/inset/types.js +5 -0
  130. package/layout/ApplicationLayout.d.ts +10 -0
  131. package/layout/ApplicationLayout.js +218 -0
  132. package/layout/ApplicationLayout.stories.tsx +171 -0
  133. package/{dist/layout → layout}/Icons.js +7 -7
  134. package/layout/types.d.ts +57 -0
  135. package/layout/types.js +5 -0
  136. package/link/Link.d.ts +4 -0
  137. package/link/Link.js +162 -0
  138. package/link/Link.stories.tsx +186 -0
  139. package/link/Link.test.js +83 -0
  140. package/link/types.d.ts +55 -0
  141. package/link/types.js +5 -0
  142. package/list/List.d.ts +4 -0
  143. package/list/List.js +47 -0
  144. package/list/List.stories.tsx +95 -0
  145. package/list/types.d.ts +7 -0
  146. package/list/types.js +5 -0
  147. package/main.d.ts +47 -0
  148. package/{dist/main.js → main.js} +121 -101
  149. package/number-input/NumberInput.d.ts +4 -0
  150. package/number-input/NumberInput.js +76 -0
  151. package/number-input/NumberInput.stories.tsx +115 -0
  152. package/number-input/NumberInput.test.js +506 -0
  153. package/number-input/NumberInputContext.d.ts +4 -0
  154. package/{dist/number-input → number-input}/NumberInputContext.js +5 -2
  155. package/number-input/numberInputContextTypes.d.ts +19 -0
  156. package/number-input/numberInputContextTypes.js +5 -0
  157. package/number-input/types.d.ts +124 -0
  158. package/number-input/types.js +5 -0
  159. package/package.json +38 -28
  160. package/{dist/paginator → paginator}/Icons.js +9 -9
  161. package/paginator/Paginator.d.ts +4 -0
  162. package/paginator/Paginator.js +192 -0
  163. package/paginator/Paginator.stories.tsx +63 -0
  164. package/paginator/Paginator.test.js +266 -0
  165. package/paginator/types.d.ts +38 -0
  166. package/paginator/types.js +5 -0
  167. package/password-input/PasswordInput.d.ts +4 -0
  168. package/{dist/password-input → password-input}/PasswordInput.js +43 -78
  169. package/password-input/PasswordInput.stories.tsx +131 -0
  170. package/password-input/PasswordInput.test.js +181 -0
  171. package/password-input/types.d.ts +110 -0
  172. package/password-input/types.js +5 -0
  173. package/progress-bar/ProgressBar.d.ts +4 -0
  174. package/{dist/progress-bar → progress-bar}/ProgressBar.js +22 -94
  175. package/progress-bar/ProgressBar.stories.jsx +58 -0
  176. package/progress-bar/ProgressBar.test.js +65 -0
  177. package/progress-bar/types.d.ts +37 -0
  178. package/progress-bar/types.js +5 -0
  179. package/quick-nav/QuickNav.d.ts +4 -0
  180. package/quick-nav/QuickNav.js +67 -0
  181. package/quick-nav/QuickNav.stories.tsx +237 -0
  182. package/quick-nav/types.d.ts +21 -0
  183. package/quick-nav/types.js +5 -0
  184. package/radio/Radio.d.ts +4 -0
  185. package/{dist/radio → radio}/Radio.js +23 -59
  186. package/radio/Radio.stories.tsx +192 -0
  187. package/radio/Radio.test.js +71 -0
  188. package/radio/types.d.ts +54 -0
  189. package/radio/types.js +5 -0
  190. package/radio-group/Radio.d.ts +4 -0
  191. package/radio-group/Radio.js +141 -0
  192. package/radio-group/RadioGroup.d.ts +4 -0
  193. package/radio-group/RadioGroup.js +280 -0
  194. package/radio-group/RadioGroup.stories.tsx +100 -0
  195. package/radio-group/RadioGroup.test.js +695 -0
  196. package/radio-group/types.d.ts +114 -0
  197. package/radio-group/types.js +5 -0
  198. package/resultsetTable/ResultsetTable.d.ts +4 -0
  199. package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +43 -147
  200. package/resultsetTable/ResultsetTable.stories.tsx +275 -0
  201. package/resultsetTable/ResultsetTable.test.js +306 -0
  202. package/resultsetTable/types.d.ts +67 -0
  203. package/resultsetTable/types.js +5 -0
  204. package/row/Row.d.ts +3 -0
  205. package/row/Row.js +127 -0
  206. package/row/Row.stories.tsx +237 -0
  207. package/row/types.d.ts +28 -0
  208. package/row/types.js +5 -0
  209. package/select/Icons.d.ts +10 -0
  210. package/select/Icons.js +93 -0
  211. package/select/Listbox.d.ts +4 -0
  212. package/select/Listbox.js +149 -0
  213. package/select/Option.d.ts +4 -0
  214. package/select/Option.js +110 -0
  215. package/select/Select.d.ts +4 -0
  216. package/select/Select.js +655 -0
  217. package/select/Select.stories.tsx +582 -0
  218. package/select/Select.test.js +2057 -0
  219. package/select/types.d.ts +213 -0
  220. package/select/types.js +5 -0
  221. package/sidenav/Sidenav.d.ts +9 -0
  222. package/{dist/sidenav → sidenav}/Sidenav.js +21 -64
  223. package/sidenav/Sidenav.stories.tsx +182 -0
  224. package/sidenav/Sidenav.test.js +56 -0
  225. package/sidenav/types.d.ts +50 -0
  226. package/sidenav/types.js +5 -0
  227. package/slider/Slider.d.ts +4 -0
  228. package/{dist/slider → slider}/Slider.js +80 -156
  229. package/slider/Slider.stories.tsx +177 -0
  230. package/slider/Slider.test.js +150 -0
  231. package/slider/types.d.ts +82 -0
  232. package/slider/types.js +5 -0
  233. package/spinner/Spinner.d.ts +4 -0
  234. package/spinner/Spinner.js +250 -0
  235. package/spinner/Spinner.stories.jsx +103 -0
  236. package/spinner/Spinner.test.js +64 -0
  237. package/spinner/types.d.ts +32 -0
  238. package/spinner/types.js +5 -0
  239. package/stack/Stack.d.ts +3 -0
  240. package/stack/Stack.js +97 -0
  241. package/stack/Stack.stories.tsx +164 -0
  242. package/stack/types.d.ts +24 -0
  243. package/stack/types.js +5 -0
  244. package/switch/Switch.d.ts +4 -0
  245. package/switch/Switch.js +192 -0
  246. package/switch/Switch.stories.tsx +160 -0
  247. package/switch/Switch.test.js +98 -0
  248. package/switch/types.d.ts +62 -0
  249. package/switch/types.js +5 -0
  250. package/table/Table.d.ts +4 -0
  251. package/{dist/table → table}/Table.js +12 -26
  252. package/table/Table.stories.jsx +277 -0
  253. package/table/Table.test.js +26 -0
  254. package/table/types.d.ts +21 -0
  255. package/table/types.js +5 -0
  256. package/tabs/Tabs.d.ts +4 -0
  257. package/tabs/Tabs.js +211 -0
  258. package/tabs/Tabs.stories.tsx +112 -0
  259. package/tabs/Tabs.test.js +140 -0
  260. package/tabs/types.d.ts +82 -0
  261. package/tabs/types.js +5 -0
  262. package/tag/Tag.d.ts +4 -0
  263. package/tag/Tag.js +183 -0
  264. package/tag/Tag.stories.tsx +142 -0
  265. package/tag/Tag.test.js +60 -0
  266. package/tag/types.d.ts +69 -0
  267. package/tag/types.js +5 -0
  268. package/text/Text.d.ts +7 -0
  269. package/text/Text.js +30 -0
  270. package/text/Text.stories.tsx +19 -0
  271. package/text-input/Suggestion.d.ts +4 -0
  272. package/text-input/Suggestion.js +55 -0
  273. package/text-input/TextInput.d.ts +4 -0
  274. package/{dist/text-input → text-input}/TextInput.js +281 -481
  275. package/text-input/TextInput.stories.tsx +474 -0
  276. package/text-input/TextInput.test.js +1712 -0
  277. package/text-input/types.d.ts +178 -0
  278. package/text-input/types.js +5 -0
  279. package/textarea/Textarea.d.ts +4 -0
  280. package/{dist/textarea → textarea}/Textarea.js +48 -131
  281. package/textarea/Textarea.stories.jsx +157 -0
  282. package/textarea/Textarea.test.js +437 -0
  283. package/textarea/types.d.ts +137 -0
  284. package/textarea/types.js +5 -0
  285. package/toggle-group/ToggleGroup.d.ts +4 -0
  286. package/{dist/toggle-group → toggle-group}/ToggleGroup.js +36 -148
  287. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  288. package/toggle-group/ToggleGroup.test.js +156 -0
  289. package/toggle-group/types.d.ts +105 -0
  290. package/toggle-group/types.js +5 -0
  291. package/useTheme.d.ts +2 -0
  292. package/{dist/useTheme.js → useTheme.js} +2 -2
  293. package/wizard/Wizard.d.ts +4 -0
  294. package/wizard/Wizard.js +290 -0
  295. package/wizard/Wizard.stories.tsx +214 -0
  296. package/wizard/Wizard.test.js +141 -0
  297. package/wizard/types.d.ts +64 -0
  298. package/wizard/types.js +5 -0
  299. package/README.md +0 -66
  300. package/babel.config.js +0 -8
  301. package/dist/BackgroundColorContext.js +0 -46
  302. package/dist/ThemeContext.js +0 -248
  303. package/dist/V3Textarea/V3Textarea.js +0 -264
  304. package/dist/accordion/Accordion.js +0 -353
  305. package/dist/accordion-group/AccordionGroup.js +0 -186
  306. package/dist/alert/index.d.ts +0 -51
  307. package/dist/badge/Badge.js +0 -63
  308. package/dist/card/Card.js +0 -254
  309. package/dist/checkbox/Checkbox.stories.js +0 -144
  310. package/dist/checkbox/readme.md +0 -116
  311. package/dist/chip/Chip.js +0 -265
  312. package/dist/date/Date.js +0 -379
  313. package/dist/date/Date.stories.js +0 -205
  314. package/dist/date/readme.md +0 -73
  315. package/dist/date-input/index.d.ts +0 -95
  316. package/dist/dialog/Dialog.js +0 -218
  317. package/dist/file-input/FileInput.js +0 -644
  318. package/dist/file-input/FileItem.js +0 -280
  319. package/dist/file-input/index.d.ts +0 -81
  320. package/dist/footer/Footer.js +0 -421
  321. package/dist/header/Header.js +0 -434
  322. package/dist/input-text/Icons.js +0 -22
  323. package/dist/input-text/InputText.js +0 -705
  324. package/dist/layout/ApplicationLayout.js +0 -327
  325. package/dist/link/Link.js +0 -237
  326. package/dist/link/readme.md +0 -51
  327. package/dist/main.d.ts +0 -8
  328. package/dist/new-select/NewSelect.js +0 -836
  329. package/dist/new-select/index.d.ts +0 -53
  330. package/dist/number-input/NumberInput.js +0 -136
  331. package/dist/number-input/index.d.ts +0 -113
  332. package/dist/paginator/Paginator.js +0 -283
  333. package/dist/password-input/index.d.ts +0 -94
  334. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  335. package/dist/progress-bar/readme.md +0 -63
  336. package/dist/radio/Radio.stories.js +0 -166
  337. package/dist/radio/readme.md +0 -70
  338. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  339. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  340. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  341. package/dist/select/Select.js +0 -549
  342. package/dist/slider/readme.md +0 -64
  343. package/dist/spinner/Spinner.js +0 -381
  344. package/dist/spinner/Spinner.stories.js +0 -183
  345. package/dist/spinner/readme.md +0 -65
  346. package/dist/switch/Switch.js +0 -222
  347. package/dist/switch/Switch.stories.js +0 -134
  348. package/dist/switch/readme.md +0 -133
  349. package/dist/tabs/Tabs.js +0 -343
  350. package/dist/tabs/Tabs.stories.js +0 -130
  351. package/dist/tabs/readme.md +0 -78
  352. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  353. package/dist/tabs-for-sections/readme.md +0 -78
  354. package/dist/tag/Tag.js +0 -282
  355. package/dist/text-input/index.d.ts +0 -135
  356. package/dist/textarea/index.d.ts +0 -117
  357. package/dist/toggle/Toggle.js +0 -220
  358. package/dist/toggle/Toggle.stories.js +0 -297
  359. package/dist/toggle/readme.md +0 -80
  360. package/dist/upload/Upload.js +0 -205
  361. package/dist/upload/Upload.stories.js +0 -72
  362. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -139
  363. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  364. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  365. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  366. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  367. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  368. package/dist/upload/file-upload/FileToUpload.js +0 -184
  369. package/dist/upload/file-upload/audio-icon.svg +0 -4
  370. package/dist/upload/file-upload/close.svg +0 -4
  371. package/dist/upload/file-upload/file-icon.svg +0 -4
  372. package/dist/upload/file-upload/video-icon.svg +0 -4
  373. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  374. package/dist/upload/readme.md +0 -37
  375. package/dist/upload/transaction/Transaction.js +0 -175
  376. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  377. package/dist/upload/transaction/audio-icon.svg +0 -4
  378. package/dist/upload/transaction/error-icon.svg +0 -4
  379. package/dist/upload/transaction/file-icon-err.svg +0 -4
  380. package/dist/upload/transaction/file-icon.svg +0 -4
  381. package/dist/upload/transaction/image-icon-err.svg +0 -4
  382. package/dist/upload/transaction/image-icon.svg +0 -4
  383. package/dist/upload/transaction/success-icon.svg +0 -4
  384. package/dist/upload/transaction/video-icon-err.svg +0 -4
  385. package/dist/upload/transaction/video-icon.svg +0 -4
  386. package/dist/upload/transactions/Transactions.js +0 -138
  387. package/dist/wizard/Wizard.js +0 -411
  388. package/dist/wizard/invalid_icon.svg +0 -5
  389. package/dist/wizard/valid_icon.svg +0 -5
  390. package/dist/wizard/validation-wrong.svg +0 -6
  391. package/test/Accordion.test.js +0 -33
  392. package/test/AccordionGroup.test.js +0 -125
  393. package/test/Alert.test.js +0 -53
  394. package/test/Box.test.js +0 -10
  395. package/test/Button.test.js +0 -18
  396. package/test/Card.test.js +0 -30
  397. package/test/Checkbox.test.js +0 -45
  398. package/test/Chip.test.js +0 -25
  399. package/test/Date.test.js +0 -397
  400. package/test/DateInput.test.js +0 -242
  401. package/test/Dialog.test.js +0 -23
  402. package/test/Dropdown.test.js +0 -145
  403. package/test/FileInput.test.js +0 -201
  404. package/test/Footer.test.js +0 -94
  405. package/test/Header.test.js +0 -34
  406. package/test/Heading.test.js +0 -35
  407. package/test/InputText.test.js +0 -248
  408. package/test/Link.test.js +0 -43
  409. package/test/NumberInput.test.js +0 -259
  410. package/test/Paginator.test.js +0 -177
  411. package/test/PasswordInput.test.js +0 -83
  412. package/test/ProgressBar.test.js +0 -35
  413. package/test/Radio.test.js +0 -37
  414. package/test/ResultsetTable.test.js +0 -329
  415. package/test/Select.test.js +0 -212
  416. package/test/Sidenav.test.js +0 -45
  417. package/test/Slider.test.js +0 -82
  418. package/test/Spinner.test.js +0 -32
  419. package/test/Switch.test.js +0 -45
  420. package/test/Table.test.js +0 -36
  421. package/test/Tabs.test.js +0 -109
  422. package/test/TabsForSections.test.js +0 -34
  423. package/test/Tag.test.js +0 -32
  424. package/test/TextInput.test.js +0 -732
  425. package/test/Textarea.test.js +0 -193
  426. package/test/ToggleGroup.test.js +0 -85
  427. package/test/Upload.test.js +0 -60
  428. package/test/V3TextArea.test.js +0 -51
  429. package/test/Wizard.test.js +0 -130
  430. package/test/mocks/pngMock.js +0 -1
  431. package/test/mocks/svgMock.js +0 -1
@@ -0,0 +1,201 @@
1
+ import React from "react";
2
+ import Title from "../../.storybook/components/Title";
3
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
4
+ import DxcCard from "./Card";
5
+ import imagePath from "./ice-cream.jpg";
6
+ import { userEvent, within } from "@storybook/testing-library";
7
+
8
+ export default {
9
+ title: "Card",
10
+ component: DxcCard,
11
+ };
12
+
13
+ const Card = () => (
14
+ <>
15
+ <Title title="Default" theme="light" level={4} />
16
+ <ExampleContainer>
17
+ <DxcCard>Default</DxcCard>
18
+ </ExampleContainer>
19
+ <Title title="Not outlined" theme="light" level={4} />
20
+ <ExampleContainer>
21
+ <DxcCard outlined={false}>Not outlined</DxcCard>
22
+ </ExampleContainer>
23
+ <Title title="Default with link" theme="light" level={4} />
24
+ <ExampleContainer>
25
+ <DxcCard linkHref="https://www.dxc.com">Default with link</DxcCard>
26
+ </ExampleContainer>
27
+ <Title title="Focused default with link" theme="light" level={4} />
28
+ <ExampleContainer>
29
+ <DxcCard linkHref="https://www.dxc.com">Focused default with link</DxcCard>
30
+ </ExampleContainer>
31
+ <Title title="Hovered default with link" theme="light" level={4} />
32
+ <ExampleContainer>
33
+ <DxcCard linkHref="https://www.dxc.com">Hovered default with link</DxcCard>
34
+ </ExampleContainer>
35
+ <Title title="Default with action" theme="light" level={4} />
36
+ <ExampleContainer>
37
+ <DxcCard onClick={() => {}}>Default with action</DxcCard>
38
+ </ExampleContainer>
39
+ <Title title="Default with image" theme="light" level={4} />
40
+ <ExampleContainer>
41
+ <DxcCard imageSrc={imagePath}>Default</DxcCard>
42
+ </ExampleContainer>
43
+ <Title title="Default image with background color" theme="light" level={4} />
44
+ <ExampleContainer>
45
+ <DxcCard imageSrc={imagePath} imageBgColor="yellow">
46
+ Background color
47
+ </DxcCard>
48
+ </ExampleContainer>
49
+ <Title title="Default image with position after" theme="light" level={4} />
50
+ <ExampleContainer>
51
+ <DxcCard imageSrc={imagePath} imagePosition="after">
52
+ Position after
53
+ </DxcCard>
54
+ </ExampleContainer>
55
+ <Title title="Image cover" theme="light" level={4} />
56
+ <ExampleContainer>
57
+ <DxcCard imageSrc={imagePath} imageCover>
58
+ Image cover
59
+ </DxcCard>
60
+ </ExampleContainer>
61
+ <Title title="Image cover with position after" theme="light" level={4} />
62
+ <ExampleContainer>
63
+ <DxcCard imageSrc={imagePath} imageCover imagePosition="after">
64
+ Image cover with position after
65
+ </DxcCard>
66
+ </ExampleContainer>
67
+ <Title title="Image padding" theme="light" level={2} />
68
+ <ExampleContainer>
69
+ <Title title="Xxsmall" theme="light" level={4} />
70
+ <DxcCard imageSrc={imagePath} imagePadding="xxsmall" imageCover>
71
+ Xxsmall
72
+ </DxcCard>
73
+ </ExampleContainer>
74
+ <ExampleContainer>
75
+ <Title title="Xsmall" theme="light" level={4} />
76
+ <DxcCard imageSrc={imagePath} imagePadding="xsmall" imageCover>
77
+ Xsmall
78
+ </DxcCard>
79
+ </ExampleContainer>
80
+ <ExampleContainer>
81
+ <Title title="Small" theme="light" level={4} />
82
+ <DxcCard imageSrc={imagePath} imagePadding="small" imageCover>
83
+ Small
84
+ </DxcCard>
85
+ </ExampleContainer>
86
+ <ExampleContainer>
87
+ <Title title="Medium" theme="light" level={4} />
88
+ <DxcCard imageSrc={imagePath} imagePadding="medium" imageCover>
89
+ Medium
90
+ </DxcCard>
91
+ </ExampleContainer>
92
+ <ExampleContainer>
93
+ <Title title="Large" theme="light" level={4} />
94
+ <DxcCard imageSrc={imagePath} imagePadding="large" imageCover>
95
+ Large
96
+ </DxcCard>
97
+ </ExampleContainer>
98
+ <ExampleContainer>
99
+ <Title title="Xlarge" theme="light" level={4} />
100
+ <DxcCard imageSrc={imagePath} imagePadding="xlarge" imageCover>
101
+ Xlarge
102
+ </DxcCard>
103
+ </ExampleContainer>
104
+ <ExampleContainer>
105
+ <Title title="Xxlarge" theme="light" level={4} />
106
+ <DxcCard imageSrc={imagePath} imagePadding="xxlarge" imageCover>
107
+ Xxlarge
108
+ </DxcCard>
109
+ </ExampleContainer>
110
+ <Title title="Content padding" theme="light" level={2} />
111
+ <ExampleContainer>
112
+ <Title title="Xxsmall" theme="light" level={4} />
113
+ <DxcCard contentPadding="xxsmall">Xxsmall</DxcCard>
114
+ </ExampleContainer>
115
+ <ExampleContainer>
116
+ <Title title="Xsmall" theme="light" level={4} />
117
+ <DxcCard contentPadding="xsmall">Xsmall</DxcCard>
118
+ </ExampleContainer>
119
+ <ExampleContainer>
120
+ <Title title="Small" theme="light" level={4} />
121
+ <DxcCard contentPadding="small">Small</DxcCard>
122
+ </ExampleContainer>
123
+ <ExampleContainer>
124
+ <Title title="Medium" theme="light" level={4} />
125
+ <DxcCard contentPadding="medium">Medium</DxcCard>
126
+ </ExampleContainer>
127
+ <ExampleContainer>
128
+ <Title title="Large" theme="light" level={4} />
129
+ <DxcCard contentPadding="large">Large</DxcCard>
130
+ </ExampleContainer>
131
+ <ExampleContainer>
132
+ <Title title="Xlarge" theme="light" level={4} />
133
+ <DxcCard contentPadding="xlarge">Xlarge</DxcCard>
134
+ </ExampleContainer>
135
+ <ExampleContainer>
136
+ <Title title="Xxlarge" theme="light" level={4} />
137
+ <DxcCard contentPadding="xxlarge">Xxlarge</DxcCard>
138
+ </ExampleContainer>
139
+ <Title title="Margin" theme="light" level={2} />
140
+ <ExampleContainer>
141
+ <Title title="Xxsmall" theme="light" level={4} />
142
+ <DxcCard margin="xxsmall">Xxsmall</DxcCard>
143
+ </ExampleContainer>
144
+ <ExampleContainer>
145
+ <Title title="Xsmall" theme="light" level={4} />
146
+ <DxcCard margin="xsmall">Xsmall</DxcCard>
147
+ </ExampleContainer>
148
+ <ExampleContainer>
149
+ <Title title="Small" theme="light" level={4} />
150
+ <DxcCard margin="small">Small</DxcCard>
151
+ </ExampleContainer>
152
+ <ExampleContainer>
153
+ <Title title="Medium" theme="light" level={4} />
154
+ <DxcCard margin="medium">Medium</DxcCard>
155
+ </ExampleContainer>
156
+ <ExampleContainer>
157
+ <Title title="Large" theme="light" level={4} />
158
+ <DxcCard margin="large">Large</DxcCard>
159
+ </ExampleContainer>
160
+ <ExampleContainer>
161
+ <Title title="Xlarge" theme="light" level={4} />
162
+ <DxcCard margin="xlarge">Xlarge</DxcCard>
163
+ </ExampleContainer>
164
+ <ExampleContainer>
165
+ <Title title="Xxlarge" theme="light" level={4} />
166
+ <DxcCard margin="xxlarge">Xxlarge</DxcCard>
167
+ </ExampleContainer>
168
+ </>
169
+ );
170
+
171
+ const actionCard = () => (
172
+ <>
173
+ <ExampleContainer>
174
+ <Title title="Focused default with action" theme="light" level={4} />
175
+ <DxcCard onClick={() => {}}>Focused default with action</DxcCard>
176
+ </ExampleContainer>
177
+ <ExampleContainer expanded>
178
+ <Title title="Hovered default with action" theme="light" level={4} />
179
+ <DxcCard onClick={() => {}}>Hovered default with action</DxcCard>
180
+ </ExampleContainer>
181
+ </>
182
+ );
183
+
184
+ const linkStates = async (focusCard, hoverCard) => {
185
+ await focusCard.focus();
186
+ await userEvent.hover(hoverCard);
187
+ };
188
+
189
+ export const ActionCardStates = actionCard.bind({});
190
+ ActionCardStates.play = async ({ canvasElement }) => {
191
+ const canvas = within(canvasElement);
192
+ await userEvent.tab();
193
+ await userEvent.hover(canvas.getAllByText("Hovered default with action")[1]);
194
+ };
195
+
196
+ export const Chromatic = Card.bind({});
197
+ Chromatic.play = async ({ canvasElement }) => {
198
+ const canvas = within(canvasElement);
199
+ const linkCards = canvas.getAllByRole("link");
200
+ await linkStates(linkCards[1], linkCards[2]);
201
+ };
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _react2 = require("@testing-library/react");
8
+
9
+ var _Card = _interopRequireDefault(require("./Card"));
10
+
11
+ describe("Card component tests", function () {
12
+ test("Card renders with correct content", function () {
13
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], null, "test-card")),
14
+ getByText = _render.getByText;
15
+
16
+ expect(getByText("test-card")).toBeTruthy();
17
+ });
18
+ test("Card renders with correct href", function () {
19
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], {
20
+ linkHref: "/testPage"
21
+ }, "test-card")),
22
+ getByRole = _render2.getByRole;
23
+
24
+ var card = getByRole("link");
25
+ expect(card.getAttribute("href")).toEqual("/testPage");
26
+ });
27
+ test("Card renders with correct image", function () {
28
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], {
29
+ imageSrc: "/testImage"
30
+ }, "test-card")),
31
+ getByRole = _render3.getByRole;
32
+
33
+ var card = getByRole("img");
34
+ expect(card.getAttribute("src")).toEqual("/testImage");
35
+ });
36
+ test("OnClick function is called", function () {
37
+ var onClick = jest.fn();
38
+
39
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], {
40
+ onClick: onClick
41
+ }, "test-card")),
42
+ getByText = _render4.getByText;
43
+
44
+ var card = getByText("test-card");
45
+
46
+ _react2.fireEvent.click(card);
47
+
48
+ expect(onClick).toHaveBeenCalled();
49
+ });
50
+ });
Binary file
@@ -0,0 +1,67 @@
1
+ /// <reference types="react" />
2
+ declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ declare type Size = {
4
+ top?: Space;
5
+ bottom?: Space;
6
+ left?: Space;
7
+ right?: Space;
8
+ };
9
+ declare type Props = {
10
+ /**
11
+ * URL of the image that will be placed in the card component.
12
+ * In case of omission, the image container will not appear and
13
+ * the content will occupy its space.
14
+ */
15
+ imageSrc?: string;
16
+ /**
17
+ * Color of the image background.
18
+ */
19
+ imageBgColor?: string;
20
+ /**
21
+ * Size of the padding to be applied to the image section of the
22
+ * component. You can pass an object with 'top', 'bottom', 'left'
23
+ * and 'right' properties in order to specify different padding sizes.
24
+ */
25
+ imagePadding?: Space | Size;
26
+ /**
27
+ * Whether the image should appear in relation to the content.
28
+ */
29
+ imagePosition?: "before" | "after";
30
+ /**
31
+ * If defined, the tag will be displayed as an anchor, using this prop
32
+ * as "href". Component will show some visual feedback on hover.
33
+ */
34
+ linkHref?: string;
35
+ /**
36
+ * This function will be called when the user clicks the card. Component
37
+ * will show some visual feedback on hover.
38
+ */
39
+ onClick?: () => void;
40
+ /**
41
+ * Whether the image must cover the whole image area of the card.
42
+ */
43
+ imageCover?: boolean;
44
+ /**
45
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
46
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
47
+ */
48
+ margin?: Space | Size;
49
+ /**
50
+ * Size of the padding to be applied to the content area ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
51
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different padding sizes.
52
+ */
53
+ contentPadding?: Space | Size;
54
+ /**
55
+ * Value of the tabindex given when there is an href.
56
+ */
57
+ tabIndex?: number;
58
+ /**
59
+ * Whether the card must be outlined.
60
+ */
61
+ outlined?: boolean;
62
+ /**
63
+ * Custom content that will be placed in the card component.
64
+ */
65
+ children?: React.ReactNode;
66
+ };
67
+ export default Props;
package/card/types.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import CheckboxPropsType from "./types";
3
+ declare const DxcCheckbox: ({ checked, defaultChecked, value, label, labelPosition, name, disabled, optional, onChange, margin, size, tabIndex, }: CheckboxPropsType) => JSX.Element;
4
+ export default DxcCheckbox;
@@ -1,16 +1,14 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
4
 
5
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
6
+
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
10
  exports["default"] = void 0;
11
11
 
12
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
12
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
13
 
16
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
@@ -23,50 +21,26 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
21
 
24
22
  var _Checkbox = _interopRequireDefault(require("@material-ui/core/Checkbox"));
25
23
 
26
- var _propTypes = _interopRequireDefault(require("prop-types"));
27
-
28
- var _RequiredComponent = _interopRequireDefault(require("../common/RequiredComponent"));
29
-
30
24
  var _variables = require("../common/variables.js");
31
25
 
32
26
  var _utils = require("../common/utils.js");
33
27
 
34
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
28
+ var _uuid = require("uuid");
35
29
 
36
- var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext.js"));
30
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
37
31
 
38
- function _templateObject3() {
39
- var data = (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"]);
32
+ var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
40
33
 
41
- _templateObject3 = function _templateObject3() {
42
- return data;
43
- };
44
-
45
- return data;
46
- }
47
-
48
- function _templateObject2() {
49
- var data = (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: ", ";\n margin-left: ", ";\n margin-right: ", ";\n padding: 0px;\n left: ", ";\n right: ", ";\n }\n"]);
50
-
51
- _templateObject2 = function _templateObject2() {
52
- return data;
53
- };
34
+ var _templateObject, _templateObject2, _templateObject3;
54
35
 
55
- return data;
56
- }
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); }
57
37
 
58
- function _templateObject() {
59
- var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n cursor: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n"]);
60
-
61
- _templateObject = function _templateObject() {
62
- return data;
63
- };
64
-
65
- return data;
66
- }
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; }
67
39
 
68
40
  var DxcCheckbox = function DxcCheckbox(_ref) {
69
41
  var checked = _ref.checked,
42
+ _ref$defaultChecked = _ref.defaultChecked,
43
+ defaultChecked = _ref$defaultChecked === void 0 ? false : _ref$defaultChecked,
70
44
  value = _ref.value,
71
45
  _ref$label = _ref.label,
72
46
  label = _ref$label === void 0 ? "" : _ref$label,
@@ -76,24 +50,30 @@ var DxcCheckbox = function DxcCheckbox(_ref) {
76
50
  name = _ref$name === void 0 ? "" : _ref$name,
77
51
  _ref$disabled = _ref.disabled,
78
52
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
53
+ _ref$optional = _ref.optional,
54
+ optional = _ref$optional === void 0 ? false : _ref$optional,
79
55
  onChange = _ref.onChange,
80
- _ref$required = _ref.required,
81
- required = _ref$required === void 0 ? false : _ref$required,
82
56
  margin = _ref.margin,
83
57
  _ref$size = _ref.size,
84
58
  size = _ref$size === void 0 ? "fitContent" : _ref$size,
85
59
  _ref$tabIndex = _ref.tabIndex,
86
60
  tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
87
61
 
88
- var _useState = (0, _react.useState)(false),
89
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
90
- innerChecked = _useState2[0],
91
- setInnerChecked = _useState2[1];
62
+ var _useState = (0, _react.useState)("checkbox-".concat((0, _uuid.v4)())),
63
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
64
+ switchId = _useState2[0];
92
65
 
93
- var _useState3 = (0, _react.useState)(false),
66
+ var labelId = "label-".concat(switchId);
67
+
68
+ var _useState3 = (0, _react.useState)(defaultChecked),
94
69
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
95
- isLabelHovered = _useState4[0],
96
- setIsLabelHovered = _useState4[1];
70
+ innerChecked = _useState4[0],
71
+ setInnerChecked = _useState4[1];
72
+
73
+ var _useState5 = (0, _react.useState)(false),
74
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
75
+ isLabelHovered = _useState6[0],
76
+ setIsLabelHovered = _useState6[1];
97
77
 
98
78
  var colorsTheme = (0, _useTheme["default"])();
99
79
  var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
@@ -117,24 +97,36 @@ var DxcCheckbox = function DxcCheckbox(_ref) {
117
97
  setIsLabelHovered(!isLabelHovered);
118
98
  };
119
99
 
120
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
100
+ var labelComponent = /*#__PURE__*/_react["default"].createElement(LabelContainer, {
101
+ id: labelId,
102
+ labelPosition: labelPosition,
103
+ onClick: disabled === true ? function () {} : handlerCheckboxChange,
104
+ disabled: disabled,
105
+ className: "labelContainer",
106
+ backgroundType: backgroundType,
107
+ onMouseOver: handleLabelHover,
108
+ onMouseOut: handleLabelHover
109
+ }, labelPosition === "before" ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, label, " ", optional && /*#__PURE__*/_react["default"].createElement("span", null, "(Optional)")) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, optional && /*#__PURE__*/_react["default"].createElement("span", null, "(Optional)"), " ", label));
110
+
111
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
121
112
  theme: colorsTheme.checkbox
122
- }, _react["default"].createElement(CheckboxContainer, {
113
+ }, /*#__PURE__*/_react["default"].createElement(CheckboxContainer, {
123
114
  id: name,
124
115
  brightness: _variables.componentTokens,
116
+ label: label,
125
117
  labelPosition: labelPosition,
126
118
  disabled: disabled,
127
119
  margin: margin,
128
120
  size: size,
129
121
  backgroundType: backgroundType,
130
122
  isLabelHovered: isLabelHovered
131
- }, _react["default"].createElement(_Checkbox["default"], {
132
- checked: checked != undefined ? checked : innerChecked,
123
+ }, label && labelPosition === "before" && labelComponent, /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
124
+ checked: checked !== null && checked !== void 0 ? checked : innerChecked,
133
125
  inputProps: {
134
126
  name: name,
135
- "aria-label": label,
127
+ "aria-labelledby": labelId,
136
128
  role: "checkbox",
137
- "aria-checked": checked != undefined ? checked : innerChecked
129
+ "aria-checked": checked !== null && checked !== void 0 ? checked : innerChecked
138
130
  },
139
131
  onChange: handlerCheckboxChange,
140
132
  value: value,
@@ -142,20 +134,12 @@ var DxcCheckbox = function DxcCheckbox(_ref) {
142
134
  disableRipple: true,
143
135
  className: "test",
144
136
  tabIndex: tabIndex
145
- }), _react["default"].createElement(CheckboxBlackBack, {
137
+ }), /*#__PURE__*/_react["default"].createElement(CheckboxBlackBack, {
146
138
  labelPosition: labelPosition,
147
139
  disabled: disabled,
148
- checked: checked != undefined ? checked : innerChecked,
140
+ checked: checked !== null && checked !== void 0 ? checked : innerChecked,
149
141
  backgroundType: backgroundType
150
- }), required && _react["default"].createElement(_RequiredComponent["default"], null), label && _react["default"].createElement(LabelContainer, {
151
- labelPosition: labelPosition,
152
- onClick: disabled === true ? function (e) {} : handlerCheckboxChange,
153
- disabled: disabled,
154
- className: "labelContainer",
155
- backgroundType: backgroundType,
156
- onMouseOver: handleLabelHover,
157
- onMouseOut: handleLabelHover
158
- }, label)));
142
+ }), label && labelPosition === "after" && labelComponent));
159
143
  };
160
144
 
161
145
  var sizes = {
@@ -178,19 +162,15 @@ var getDisabledColor = function getDisabledColor(props, element) {
178
162
  switch (element) {
179
163
  case "check":
180
164
  return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledCheckColorOnDark : props.theme.disabledCheckColor;
181
- break;
182
165
 
183
166
  case "background":
184
167
  return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledBackgroundColorCheckedOnDark : props.theme.disabledBackgroundColorChecked;
185
- break;
186
168
 
187
169
  case "border":
188
170
  return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledBorderColorOnDark : props.theme.disabledBorderColor;
189
- break;
190
171
 
191
172
  case "label":
192
173
  return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledFontColorOnDark : props.theme.disabledFontColor;
193
- break;
194
174
  }
195
175
  };
196
176
 
@@ -198,35 +178,31 @@ var getNotDisabledColor = function getNotDisabledColor(props, element) {
198
178
  switch (element) {
199
179
  case "check":
200
180
  return props.backgroundType && props.backgroundType === "dark" ? props.theme.checkColorOnDark : props.theme.checkColor;
201
- break;
202
181
 
203
182
  case "background":
204
183
  return props.backgroundType && props.backgroundType === "dark" ? props.theme.backgroundColorCheckedOnDark : props.theme.backgroundColorChecked;
205
- break;
206
184
 
207
185
  case "border":
208
186
  return props.backgroundType && props.backgroundType === "dark" ? props.theme.borderColorOnDark : props.theme.borderColor;
209
- break;
210
187
 
211
188
  case "label":
212
189
  return props.backgroundType && props.backgroundType === "dark" ? props.theme.fontColorOnDark : props.theme.fontColor;
213
- break;
214
190
  }
215
191
  };
216
192
 
217
- var LabelContainer = _styledComponents["default"].span(_templateObject(), function (props) {
193
+ var LabelContainer = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n cursor: ", ";\n"])), function (props) {
218
194
  return props.disabled ? getDisabledColor(props, "label") : getNotDisabledColor(props, "label");
219
- }, function (props) {
220
- return props.disabled ? "not-allowed" : "pointer";
221
195
  }, function (props) {
222
196
  return props.theme.fontFamily;
223
197
  }, function (props) {
224
198
  return props.theme.fontSize;
225
199
  }, function (props) {
226
200
  return props.theme.fontWeight;
201
+ }, function (props) {
202
+ return props.disabled ? "not-allowed" : "pointer";
227
203
  });
228
204
 
229
- var CheckboxContainer = _styledComponents["default"].span(_templateObject2(), function (props) {
205
+ 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 .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 border-radius: 2px;\n outline: 2px solid\n ", ";\n outline-offset: -1px;\n }\n }\n z-index: 1;\n margin-left: ", ";\n margin-right: ", ";\n padding: 0px;\n left: ", ";\n right: ", ";\n }\n"])), function (props) {
230
206
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
231
207
  }, function (props) {
232
208
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
@@ -240,8 +216,6 @@ var CheckboxContainer = _styledComponents["default"].span(_templateObject2(), fu
240
216
  return calculateWidth(props.margin, props.size);
241
217
  }, function (props) {
242
218
  return props.disabled ? "not-allowed" : "pointer";
243
- }, function (props) {
244
- return props.labelPosition === "before" ? "row-reverse" : "row";
245
219
  }, function (props) {
246
220
  return props.isLabelHovered ? props.backgroundType === "dark" ? props.theme.hoverBorderColorOnDark : props.theme.hoverBorderColor : getNotDisabledColor(props, "border");
247
221
  }, function (props) {
@@ -255,18 +229,16 @@ var CheckboxContainer = _styledComponents["default"].span(_templateObject2(), fu
255
229
  }, function (props) {
256
230
  return props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
257
231
  }, function (props) {
258
- return props.theme.checkLabelSpacing;
232
+ return props.labelPosition === "before" && props.label ? props.theme.checkLabelSpacing : "0";
259
233
  }, function (props) {
260
- return props.labelPosition === "after" ? "0px" : "";
261
- }, function (props) {
262
- return props.labelPosition === "before" ? "0px" : "";
234
+ return props.labelPosition === "after" && props.label ? props.theme.checkLabelSpacing : "0";
263
235
  }, function (props) {
264
236
  return props.labelPosition === "before" ? "unset" : "1px";
265
237
  }, function (props) {
266
238
  return props.labelPosition === "before" ? "1px" : "unset";
267
239
  });
268
240
 
269
- var CheckboxBlackBack = _styledComponents["default"].span(_templateObject3(), function (props) {
241
+ 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) {
270
242
  return !props.checked ? "transparent" : props.disabled ? getDisabledColor(props, "check") : getNotDisabledColor(props, "check");
271
243
  }, function (props) {
272
244
  return props.labelPosition === "before" ? "unset" : "5px";
@@ -278,23 +250,5 @@ var CheckboxBlackBack = _styledComponents["default"].span(_templateObject3(), fu
278
250
  return props.labelPosition === "before" ? "0px" : "";
279
251
  });
280
252
 
281
- DxcCheckbox.propTypes = {
282
- checked: _propTypes["default"].bool,
283
- value: _propTypes["default"].any,
284
- label: _propTypes["default"].string,
285
- labelPosition: _propTypes["default"].oneOf(["after", "before", ""]),
286
- name: _propTypes["default"].string,
287
- disabled: _propTypes["default"].bool,
288
- onChange: _propTypes["default"].func,
289
- required: _propTypes["default"].bool,
290
- size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
291
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
292
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
293
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
294
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
295
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
296
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
297
- tabIndex: _propTypes["default"].number
298
- };
299
253
  var _default = DxcCheckbox;
300
254
  exports["default"] = _default;