@dxc-technology/halstack-react 0.0.0-081eeee → 0.0.0-090152f

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 (476) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +47 -0
  3. package/HalstackContext.d.ts +12 -0
  4. package/HalstackContext.js +295 -0
  5. package/accordion/Accordion.d.ts +4 -0
  6. package/accordion/Accordion.js +245 -0
  7. package/accordion/Accordion.stories.tsx +306 -0
  8. package/accordion/Accordion.test.js +71 -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 +149 -0
  13. package/accordion-group/AccordionGroup.stories.tsx +251 -0
  14. package/accordion-group/AccordionGroup.test.js +126 -0
  15. package/accordion-group/types.d.ts +78 -0
  16. package/accordion-group/types.js +5 -0
  17. package/alert/Alert.d.ts +4 -0
  18. package/{dist/alert → alert}/Alert.js +44 -154
  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 +61 -0
  25. package/badge/types.d.ts +5 -0
  26. package/badge/types.js +5 -0
  27. package/bleed/Bleed.d.ts +3 -0
  28. package/bleed/Bleed.js +51 -0
  29. package/bleed/Bleed.stories.tsx +341 -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/box/Box.js +116 -0
  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/bulleted-list/BulletedList.d.ts +7 -0
  39. package/bulleted-list/BulletedList.js +123 -0
  40. package/bulleted-list/BulletedList.stories.tsx +200 -0
  41. package/bulleted-list/types.d.ts +11 -0
  42. package/bulleted-list/types.js +5 -0
  43. package/button/Button.d.ts +4 -0
  44. package/button/Button.js +156 -0
  45. package/button/Button.stories.tsx +283 -0
  46. package/button/Button.test.js +35 -0
  47. package/button/types.d.ts +53 -0
  48. package/button/types.js +5 -0
  49. package/card/Card.d.ts +4 -0
  50. package/card/Card.js +161 -0
  51. package/card/Card.stories.tsx +201 -0
  52. package/card/Card.test.js +50 -0
  53. package/card/ice-cream.jpg +0 -0
  54. package/card/types.d.ts +67 -0
  55. package/card/types.js +5 -0
  56. package/checkbox/Checkbox.d.ts +4 -0
  57. package/checkbox/Checkbox.js +249 -0
  58. package/checkbox/Checkbox.stories.tsx +188 -0
  59. package/checkbox/Checkbox.test.js +155 -0
  60. package/checkbox/types.d.ts +64 -0
  61. package/checkbox/types.js +5 -0
  62. package/chip/Chip.d.ts +4 -0
  63. package/chip/Chip.js +161 -0
  64. package/chip/Chip.stories.tsx +119 -0
  65. package/chip/Chip.test.js +56 -0
  66. package/chip/types.d.ts +45 -0
  67. package/chip/types.js +5 -0
  68. package/{dist/common → common}/OpenSans.css +0 -0
  69. package/{dist/common → common}/RequiredComponent.js +3 -11
  70. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  71. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  72. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  73. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  74. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  75. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  76. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  77. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  78. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  79. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  80. package/{dist/common → common}/utils.js +0 -0
  81. package/{dist/common → common}/variables.js +380 -441
  82. package/date-input/DateInput.d.ts +4 -0
  83. package/date-input/DateInput.js +372 -0
  84. package/date-input/DateInput.stories.tsx +138 -0
  85. package/date-input/DateInput.test.js +479 -0
  86. package/date-input/types.d.ts +107 -0
  87. package/date-input/types.js +5 -0
  88. package/dialog/Dialog.d.ts +4 -0
  89. package/dialog/Dialog.js +162 -0
  90. package/dialog/Dialog.stories.tsx +267 -0
  91. package/dialog/Dialog.test.js +70 -0
  92. package/dialog/types.d.ts +43 -0
  93. package/dialog/types.js +5 -0
  94. package/dropdown/Dropdown.d.ts +4 -0
  95. package/dropdown/Dropdown.js +387 -0
  96. package/dropdown/Dropdown.stories.tsx +312 -0
  97. package/dropdown/Dropdown.test.js +591 -0
  98. package/dropdown/DropdownMenu.d.ts +4 -0
  99. package/dropdown/DropdownMenu.js +80 -0
  100. package/dropdown/DropdownMenuItem.d.ts +4 -0
  101. package/dropdown/DropdownMenuItem.js +92 -0
  102. package/dropdown/types.d.ts +100 -0
  103. package/dropdown/types.js +5 -0
  104. package/file-input/FileInput.d.ts +4 -0
  105. package/file-input/FileInput.js +593 -0
  106. package/file-input/FileInput.stories.tsx +507 -0
  107. package/file-input/FileInput.test.js +457 -0
  108. package/file-input/FileItem.d.ts +14 -0
  109. package/file-input/FileItem.js +186 -0
  110. package/file-input/types.d.ts +112 -0
  111. package/file-input/types.js +5 -0
  112. package/flex/Flex.d.ts +4 -0
  113. package/flex/Flex.js +57 -0
  114. package/flex/Flex.stories.tsx +103 -0
  115. package/flex/types.d.ts +21 -0
  116. package/flex/types.js +5 -0
  117. package/footer/Footer.d.ts +4 -0
  118. package/footer/Footer.js +185 -0
  119. package/footer/Footer.stories.tsx +137 -0
  120. package/footer/Footer.test.js +109 -0
  121. package/footer/Icons.d.ts +2 -0
  122. package/footer/Icons.js +77 -0
  123. package/footer/types.d.ts +65 -0
  124. package/footer/types.js +5 -0
  125. package/header/Header.d.ts +7 -0
  126. package/header/Header.js +305 -0
  127. package/header/Header.stories.tsx +172 -0
  128. package/header/Header.test.js +79 -0
  129. package/header/Icons.d.ts +2 -0
  130. package/header/Icons.js +34 -0
  131. package/header/types.d.ts +47 -0
  132. package/header/types.js +5 -0
  133. package/heading/Heading.d.ts +4 -0
  134. package/{dist/heading → heading}/Heading.js +31 -90
  135. package/heading/Heading.stories.tsx +54 -0
  136. package/heading/Heading.test.js +186 -0
  137. package/heading/types.d.ts +33 -0
  138. package/heading/types.js +5 -0
  139. package/inset/Inset.d.ts +3 -0
  140. package/inset/Inset.js +51 -0
  141. package/inset/Inset.stories.tsx +229 -0
  142. package/inset/types.d.ts +37 -0
  143. package/inset/types.js +5 -0
  144. package/layout/ApplicationLayout.d.ts +20 -0
  145. package/layout/ApplicationLayout.js +171 -0
  146. package/layout/ApplicationLayout.stories.tsx +162 -0
  147. package/layout/Icons.d.ts +5 -0
  148. package/layout/Icons.js +66 -0
  149. package/layout/SidenavContext.d.ts +5 -0
  150. package/layout/SidenavContext.js +19 -0
  151. package/layout/types.d.ts +42 -0
  152. package/layout/types.js +5 -0
  153. package/link/Link.d.ts +4 -0
  154. package/link/Link.js +136 -0
  155. package/link/Link.stories.tsx +193 -0
  156. package/link/Link.test.js +83 -0
  157. package/link/types.d.ts +54 -0
  158. package/link/types.js +5 -0
  159. package/main.d.ts +44 -0
  160. package/{dist/main.js → main.js} +113 -111
  161. package/number-input/NumberInput.d.ts +4 -0
  162. package/number-input/NumberInput.js +76 -0
  163. package/number-input/NumberInput.stories.tsx +115 -0
  164. package/number-input/NumberInput.test.js +506 -0
  165. package/number-input/NumberInputContext.d.ts +4 -0
  166. package/{dist/number-input → number-input}/NumberInputContext.js +5 -2
  167. package/number-input/numberInputContextTypes.d.ts +19 -0
  168. package/number-input/numberInputContextTypes.js +5 -0
  169. package/number-input/types.d.ts +124 -0
  170. package/number-input/types.js +5 -0
  171. package/package.json +42 -31
  172. package/paginator/Icons.js +66 -0
  173. package/paginator/Paginator.d.ts +4 -0
  174. package/paginator/Paginator.js +171 -0
  175. package/paginator/Paginator.stories.tsx +63 -0
  176. package/paginator/Paginator.test.js +308 -0
  177. package/paginator/types.d.ts +38 -0
  178. package/paginator/types.js +5 -0
  179. package/paragraph/Paragraph.d.ts +6 -0
  180. package/paragraph/Paragraph.js +38 -0
  181. package/paragraph/Paragraph.stories.tsx +44 -0
  182. package/password-input/PasswordInput.d.ts +4 -0
  183. package/{dist/password-input → password-input}/PasswordInput.js +45 -77
  184. package/password-input/PasswordInput.stories.tsx +131 -0
  185. package/password-input/PasswordInput.test.js +180 -0
  186. package/password-input/types.d.ts +110 -0
  187. package/password-input/types.js +5 -0
  188. package/progress-bar/ProgressBar.d.ts +4 -0
  189. package/progress-bar/ProgressBar.js +176 -0
  190. package/progress-bar/ProgressBar.stories.jsx +60 -0
  191. package/progress-bar/ProgressBar.test.js +110 -0
  192. package/progress-bar/types.d.ts +36 -0
  193. package/progress-bar/types.js +5 -0
  194. package/quick-nav/QuickNav.d.ts +4 -0
  195. package/quick-nav/QuickNav.js +118 -0
  196. package/quick-nav/QuickNav.stories.tsx +264 -0
  197. package/quick-nav/types.d.ts +21 -0
  198. package/quick-nav/types.js +5 -0
  199. package/radio-group/Radio.d.ts +4 -0
  200. package/radio-group/Radio.js +156 -0
  201. package/radio-group/RadioGroup.d.ts +4 -0
  202. package/radio-group/RadioGroup.js +279 -0
  203. package/radio-group/RadioGroup.stories.tsx +101 -0
  204. package/radio-group/RadioGroup.test.js +665 -0
  205. package/radio-group/types.d.ts +114 -0
  206. package/radio-group/types.js +5 -0
  207. package/resultsetTable/ResultsetTable.d.ts +4 -0
  208. package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +43 -147
  209. package/resultsetTable/ResultsetTable.stories.tsx +275 -0
  210. package/resultsetTable/ResultsetTable.test.js +348 -0
  211. package/resultsetTable/types.d.ts +67 -0
  212. package/resultsetTable/types.js +5 -0
  213. package/select/Icons.d.ts +10 -0
  214. package/select/Icons.js +93 -0
  215. package/select/Listbox.d.ts +4 -0
  216. package/select/Listbox.js +198 -0
  217. package/select/Option.d.ts +4 -0
  218. package/select/Option.js +110 -0
  219. package/select/Select.d.ts +4 -0
  220. package/select/Select.js +643 -0
  221. package/select/Select.stories.tsx +627 -0
  222. package/select/Select.test.js +2175 -0
  223. package/select/types.d.ts +210 -0
  224. package/select/types.js +5 -0
  225. package/sidenav/Sidenav.d.ts +10 -0
  226. package/sidenav/Sidenav.js +268 -0
  227. package/sidenav/Sidenav.stories.tsx +180 -0
  228. package/sidenav/Sidenav.test.js +44 -0
  229. package/sidenav/types.d.ts +73 -0
  230. package/sidenav/types.js +5 -0
  231. package/slider/Slider.d.ts +4 -0
  232. package/slider/Slider.js +339 -0
  233. package/slider/Slider.stories.tsx +183 -0
  234. package/slider/Slider.test.js +250 -0
  235. package/slider/types.d.ts +82 -0
  236. package/slider/types.js +5 -0
  237. package/spinner/Spinner.d.ts +4 -0
  238. package/spinner/Spinner.js +250 -0
  239. package/spinner/Spinner.stories.jsx +103 -0
  240. package/spinner/Spinner.test.js +64 -0
  241. package/spinner/types.d.ts +32 -0
  242. package/spinner/types.js +5 -0
  243. package/switch/Switch.d.ts +4 -0
  244. package/switch/Switch.js +261 -0
  245. package/switch/Switch.stories.tsx +138 -0
  246. package/switch/Switch.test.js +225 -0
  247. package/switch/types.d.ts +61 -0
  248. package/switch/types.js +5 -0
  249. package/table/Table.d.ts +4 -0
  250. package/{dist/table → table}/Table.js +12 -26
  251. package/table/Table.stories.jsx +277 -0
  252. package/table/Table.test.js +26 -0
  253. package/table/types.d.ts +21 -0
  254. package/table/types.js +5 -0
  255. package/tabs/Tab.d.ts +4 -0
  256. package/tabs/Tab.js +135 -0
  257. package/tabs/Tabs.d.ts +4 -0
  258. package/tabs/Tabs.js +467 -0
  259. package/tabs/Tabs.stories.tsx +186 -0
  260. package/tabs/Tabs.test.js +351 -0
  261. package/tabs/types.d.ts +92 -0
  262. package/tabs/types.js +5 -0
  263. package/tabs-nav/NavTabs.d.ts +8 -0
  264. package/tabs-nav/NavTabs.js +125 -0
  265. package/tabs-nav/NavTabs.stories.tsx +170 -0
  266. package/tabs-nav/NavTabs.test.js +82 -0
  267. package/tabs-nav/Tab.d.ts +4 -0
  268. package/tabs-nav/Tab.js +130 -0
  269. package/tabs-nav/types.d.ts +53 -0
  270. package/tabs-nav/types.js +5 -0
  271. package/tag/Tag.d.ts +4 -0
  272. package/tag/Tag.js +183 -0
  273. package/tag/Tag.stories.tsx +142 -0
  274. package/tag/Tag.test.js +60 -0
  275. package/tag/types.d.ts +69 -0
  276. package/tag/types.js +5 -0
  277. package/text-input/Icons.d.ts +8 -0
  278. package/text-input/Icons.js +60 -0
  279. package/text-input/Suggestion.d.ts +4 -0
  280. package/text-input/Suggestion.js +57 -0
  281. package/text-input/Suggestions.d.ts +4 -0
  282. package/text-input/Suggestions.js +134 -0
  283. package/text-input/TextInput.d.ts +4 -0
  284. package/text-input/TextInput.js +663 -0
  285. package/text-input/TextInput.stories.tsx +481 -0
  286. package/text-input/TextInput.test.js +1713 -0
  287. package/text-input/types.d.ts +192 -0
  288. package/text-input/types.js +5 -0
  289. package/textarea/Textarea.d.ts +4 -0
  290. package/{dist/new-textarea/NewTextarea.js → textarea/Textarea.js} +52 -144
  291. package/textarea/Textarea.stories.jsx +157 -0
  292. package/textarea/Textarea.test.js +437 -0
  293. package/textarea/types.d.ts +137 -0
  294. package/textarea/types.js +5 -0
  295. package/toggle-group/ToggleGroup.d.ts +4 -0
  296. package/{dist/toggle-group → toggle-group}/ToggleGroup.js +36 -148
  297. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  298. package/toggle-group/ToggleGroup.test.js +156 -0
  299. package/toggle-group/types.d.ts +105 -0
  300. package/toggle-group/types.js +5 -0
  301. package/typography/Typography.d.ts +4 -0
  302. package/typography/Typography.js +131 -0
  303. package/typography/Typography.stories.tsx +198 -0
  304. package/typography/types.d.ts +18 -0
  305. package/typography/types.js +5 -0
  306. package/useTheme.d.ts +2 -0
  307. package/{dist/useTheme.js → useTheme.js} +2 -2
  308. package/useTranslatedLabels.d.ts +2 -0
  309. package/useTranslatedLabels.js +20 -0
  310. package/wizard/Wizard.d.ts +4 -0
  311. package/wizard/Wizard.js +285 -0
  312. package/wizard/Wizard.stories.tsx +233 -0
  313. package/wizard/Wizard.test.js +141 -0
  314. package/wizard/types.d.ts +65 -0
  315. package/wizard/types.js +5 -0
  316. package/README.md +0 -66
  317. package/babel.config.js +0 -8
  318. package/dist/BackgroundColorContext.js +0 -46
  319. package/dist/ThemeContext.js +0 -248
  320. package/dist/accordion/Accordion.js +0 -353
  321. package/dist/accordion-group/AccordionGroup.js +0 -186
  322. package/dist/alert/index.d.ts +0 -51
  323. package/dist/badge/Badge.js +0 -63
  324. package/dist/box/Box.js +0 -156
  325. package/dist/button/Button.js +0 -238
  326. package/dist/card/Card.js +0 -254
  327. package/dist/checkbox/Checkbox.js +0 -300
  328. package/dist/checkbox/Checkbox.stories.js +0 -144
  329. package/dist/checkbox/readme.md +0 -116
  330. package/dist/chip/Chip.js +0 -265
  331. package/dist/date/Date.js +0 -379
  332. package/dist/date/Date.stories.js +0 -205
  333. package/dist/date/readme.md +0 -73
  334. package/dist/dialog/Dialog.js +0 -218
  335. package/dist/dropdown/Dropdown.js +0 -544
  336. package/dist/file-input/FileInput.js +0 -644
  337. package/dist/file-input/FileItem.js +0 -280
  338. package/dist/file-input/index.d.ts +0 -81
  339. package/dist/footer/Footer.js +0 -395
  340. package/dist/footer/dxc_logo.svg +0 -15
  341. package/dist/footer/readme.md +0 -41
  342. package/dist/header/Header.js +0 -403
  343. package/dist/header/Header.stories.js +0 -176
  344. package/dist/header/close_icon.svg +0 -1
  345. package/dist/header/dxc_logo_black.svg +0 -8
  346. package/dist/header/hamb_menu_black.svg +0 -1
  347. package/dist/header/hamb_menu_white.svg +0 -1
  348. package/dist/header/readme.md +0 -33
  349. package/dist/input-text/InputText.js +0 -707
  350. package/dist/input-text/error.svg +0 -1
  351. package/dist/input-text/readme.md +0 -91
  352. package/dist/layout/ApplicationLayout.js +0 -331
  353. package/dist/layout/facebook.svg +0 -45
  354. package/dist/layout/linkedin.svg +0 -50
  355. package/dist/layout/twitter.svg +0 -53
  356. package/dist/link/Link.js +0 -237
  357. package/dist/link/readme.md +0 -51
  358. package/dist/main.d.ts +0 -8
  359. package/dist/new-date/NewDate.js +0 -400
  360. package/dist/new-date/index.d.ts +0 -95
  361. package/dist/new-select/NewSelect.js +0 -836
  362. package/dist/new-select/index.d.ts +0 -53
  363. package/dist/new-textarea/index.d.ts +0 -117
  364. package/dist/number-input/NumberInput.js +0 -136
  365. package/dist/number-input/index.d.ts +0 -113
  366. package/dist/paginator/Paginator.js +0 -289
  367. package/dist/paginator/images/next.svg +0 -3
  368. package/dist/paginator/images/nextPage.svg +0 -3
  369. package/dist/paginator/images/previous.svg +0 -3
  370. package/dist/paginator/images/previousPage.svg +0 -3
  371. package/dist/paginator/readme.md +0 -50
  372. package/dist/password-input/index.d.ts +0 -94
  373. package/dist/progress-bar/ProgressBar.js +0 -242
  374. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  375. package/dist/progress-bar/readme.md +0 -63
  376. package/dist/radio/Radio.js +0 -209
  377. package/dist/radio/Radio.stories.js +0 -166
  378. package/dist/radio/readme.md +0 -70
  379. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  380. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  381. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  382. package/dist/select/Select.js +0 -549
  383. package/dist/sidenav/Sidenav.js +0 -179
  384. package/dist/slider/Slider.js +0 -394
  385. package/dist/slider/Slider.stories.js +0 -241
  386. package/dist/slider/readme.md +0 -64
  387. package/dist/spinner/Spinner.js +0 -381
  388. package/dist/spinner/Spinner.stories.js +0 -183
  389. package/dist/spinner/readme.md +0 -65
  390. package/dist/switch/Switch.js +0 -222
  391. package/dist/switch/Switch.stories.js +0 -134
  392. package/dist/switch/readme.md +0 -133
  393. package/dist/tabs/Tabs.js +0 -343
  394. package/dist/tabs/Tabs.stories.js +0 -130
  395. package/dist/tabs/readme.md +0 -78
  396. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  397. package/dist/tabs-for-sections/readme.md +0 -78
  398. package/dist/tag/Tag.js +0 -282
  399. package/dist/text-input/TextInput.js +0 -971
  400. package/dist/text-input/index.d.ts +0 -135
  401. package/dist/textarea/Textarea.js +0 -264
  402. package/dist/toggle/Toggle.js +0 -220
  403. package/dist/toggle/Toggle.stories.js +0 -297
  404. package/dist/toggle/readme.md +0 -80
  405. package/dist/upload/Upload.js +0 -205
  406. package/dist/upload/Upload.stories.js +0 -72
  407. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -139
  408. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  409. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  410. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  411. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  412. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  413. package/dist/upload/file-upload/FileToUpload.js +0 -184
  414. package/dist/upload/file-upload/audio-icon.svg +0 -4
  415. package/dist/upload/file-upload/close.svg +0 -4
  416. package/dist/upload/file-upload/file-icon.svg +0 -4
  417. package/dist/upload/file-upload/video-icon.svg +0 -4
  418. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  419. package/dist/upload/readme.md +0 -37
  420. package/dist/upload/transaction/Transaction.js +0 -175
  421. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  422. package/dist/upload/transaction/audio-icon.svg +0 -4
  423. package/dist/upload/transaction/error-icon.svg +0 -4
  424. package/dist/upload/transaction/file-icon-err.svg +0 -4
  425. package/dist/upload/transaction/file-icon.svg +0 -4
  426. package/dist/upload/transaction/image-icon-err.svg +0 -4
  427. package/dist/upload/transaction/image-icon.svg +0 -4
  428. package/dist/upload/transaction/success-icon.svg +0 -4
  429. package/dist/upload/transaction/video-icon-err.svg +0 -4
  430. package/dist/upload/transaction/video-icon.svg +0 -4
  431. package/dist/upload/transactions/Transactions.js +0 -138
  432. package/dist/wizard/Wizard.js +0 -411
  433. package/dist/wizard/invalid_icon.svg +0 -5
  434. package/dist/wizard/valid_icon.svg +0 -5
  435. package/dist/wizard/validation-wrong.svg +0 -6
  436. package/test/Accordion.test.js +0 -33
  437. package/test/AccordionGroup.test.js +0 -125
  438. package/test/Alert.test.js +0 -53
  439. package/test/Box.test.js +0 -10
  440. package/test/Button.test.js +0 -18
  441. package/test/Card.test.js +0 -30
  442. package/test/Checkbox.test.js +0 -45
  443. package/test/Chip.test.js +0 -25
  444. package/test/Date.test.js +0 -393
  445. package/test/Dialog.test.js +0 -23
  446. package/test/Dropdown.test.js +0 -145
  447. package/test/FileInput.test.js +0 -201
  448. package/test/Footer.test.js +0 -99
  449. package/test/Header.test.js +0 -39
  450. package/test/Heading.test.js +0 -35
  451. package/test/InputText.test.js +0 -240
  452. package/test/Link.test.js +0 -43
  453. package/test/NewDate.test.js +0 -232
  454. package/test/NewTextarea.test.js +0 -195
  455. package/test/NumberInput.test.js +0 -259
  456. package/test/Paginator.test.js +0 -177
  457. package/test/PasswordInput.test.js +0 -83
  458. package/test/ProgressBar.test.js +0 -35
  459. package/test/Radio.test.js +0 -37
  460. package/test/ResultsetTable.test.js +0 -329
  461. package/test/Select.test.js +0 -212
  462. package/test/Sidenav.test.js +0 -45
  463. package/test/Slider.test.js +0 -82
  464. package/test/Spinner.test.js +0 -32
  465. package/test/Switch.test.js +0 -45
  466. package/test/Table.test.js +0 -36
  467. package/test/Tabs.test.js +0 -109
  468. package/test/TabsForSections.test.js +0 -34
  469. package/test/Tag.test.js +0 -32
  470. package/test/TextArea.test.js +0 -52
  471. package/test/TextInput.test.js +0 -732
  472. package/test/ToggleGroup.test.js +0 -85
  473. package/test/Upload.test.js +0 -60
  474. package/test/Wizard.test.js +0 -130
  475. package/test/mocks/pngMock.js +0 -1
  476. package/test/mocks/svgMock.js +0 -1
@@ -0,0 +1,249 @@
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 _variables = require("../common/variables.js");
23
+
24
+ var _utils = require("../common/utils.js");
25
+
26
+ var _uuid = require("uuid");
27
+
28
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
29
+
30
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
31
+
32
+ var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
33
+
34
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
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 checkedIcon = /*#__PURE__*/_react["default"].createElement("svg", {
41
+ fill: "currentColor",
42
+ focusable: "false",
43
+ "aria-hidden": "true",
44
+ viewBox: "0 0 24 24"
45
+ }, /*#__PURE__*/_react["default"].createElement("path", {
46
+ d: "M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"
47
+ }));
48
+
49
+ var DxcCheckbox = function DxcCheckbox(_ref) {
50
+ var checked = _ref.checked,
51
+ _ref$defaultChecked = _ref.defaultChecked,
52
+ defaultChecked = _ref$defaultChecked === void 0 ? false : _ref$defaultChecked,
53
+ value = _ref.value,
54
+ _ref$label = _ref.label,
55
+ label = _ref$label === void 0 ? "" : _ref$label,
56
+ _ref$labelPosition = _ref.labelPosition,
57
+ labelPosition = _ref$labelPosition === void 0 ? "before" : _ref$labelPosition,
58
+ _ref$name = _ref.name,
59
+ name = _ref$name === void 0 ? "" : _ref$name,
60
+ _ref$disabled = _ref.disabled,
61
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
62
+ _ref$optional = _ref.optional,
63
+ optional = _ref$optional === void 0 ? false : _ref$optional,
64
+ onChange = _ref.onChange,
65
+ margin = _ref.margin,
66
+ _ref$size = _ref.size,
67
+ size = _ref$size === void 0 ? "fitContent" : _ref$size,
68
+ _ref$tabIndex = _ref.tabIndex,
69
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
70
+
71
+ var _useState = (0, _react.useState)("label-checkbox-".concat((0, _uuid.v4)())),
72
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
73
+ labelId = _useState2[0];
74
+
75
+ var _useState3 = (0, _react.useState)(defaultChecked),
76
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
77
+ innerChecked = _useState4[0],
78
+ setInnerChecked = _useState4[1];
79
+
80
+ var checkboxRef = (0, _react.useRef)(null);
81
+ var colorsTheme = (0, _useTheme["default"])();
82
+ var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
83
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
84
+
85
+ var handleCheckboxChange = function handleCheckboxChange() {
86
+ var _checkboxRef$current;
87
+
88
+ document.activeElement !== (checkboxRef === null || checkboxRef === void 0 ? void 0 : checkboxRef.current) && (checkboxRef === null || checkboxRef === void 0 ? void 0 : (_checkboxRef$current = checkboxRef.current) === null || _checkboxRef$current === void 0 ? void 0 : _checkboxRef$current.focus());
89
+ var newChecked = checked !== null && checked !== void 0 ? checked : innerChecked;
90
+ checked !== null && checked !== void 0 ? checked : setInnerChecked(function (innerChecked) {
91
+ return !innerChecked;
92
+ });
93
+ onChange === null || onChange === void 0 ? void 0 : onChange(!newChecked);
94
+ };
95
+
96
+ var handleKeyboard = function handleKeyboard(event) {
97
+ switch (event.key) {
98
+ case " ":
99
+ event.preventDefault();
100
+ handleCheckboxChange();
101
+ }
102
+ };
103
+
104
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
105
+ theme: colorsTheme.checkbox
106
+ }, /*#__PURE__*/_react["default"].createElement(MainContainer, {
107
+ disabled: disabled,
108
+ onClick: disabled ? undefined : handleCheckboxChange,
109
+ margin: margin,
110
+ size: size,
111
+ checked: checked !== null && checked !== void 0 ? checked : innerChecked,
112
+ backgroundType: backgroundType
113
+ }, label && labelPosition === "before" && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
114
+ id: labelId,
115
+ disabled: disabled,
116
+ backgroundType: backgroundType
117
+ }, label, optional && " ".concat(translatedLabels.formFields.optionalLabel)), /*#__PURE__*/_react["default"].createElement(ValueInput, {
118
+ type: "checkbox",
119
+ checked: checked !== null && checked !== void 0 ? checked : innerChecked,
120
+ name: name,
121
+ "aria-hidden": "true",
122
+ value: value,
123
+ disabled: disabled,
124
+ readOnly: true
125
+ }), /*#__PURE__*/_react["default"].createElement(CheckboxContainer, null, /*#__PURE__*/_react["default"].createElement(Checkbox, {
126
+ onKeyDown: handleKeyboard,
127
+ role: "checkbox",
128
+ tabIndex: disabled ? -1 : tabIndex,
129
+ "aria-checked": checked !== null && checked !== void 0 ? checked : innerChecked,
130
+ "aria-disabled": disabled,
131
+ "aria-required": !disabled && !optional,
132
+ "aria-labelledby": labelId,
133
+ backgroundType: backgroundType,
134
+ checked: checked !== null && checked !== void 0 ? checked : innerChecked,
135
+ disabled: disabled,
136
+ ref: checkboxRef
137
+ }, (checked !== null && checked !== void 0 ? checked : innerChecked) && checkedIcon)), label && labelPosition === "after" && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
138
+ id: labelId,
139
+ disabled: disabled,
140
+ backgroundType: backgroundType
141
+ }, optional && "".concat(translatedLabels.formFields.optionalLabel, " "), label)));
142
+ };
143
+
144
+ var sizes = {
145
+ small: "120px",
146
+ medium: "240px",
147
+ large: "480px",
148
+ fillParent: "100%",
149
+ fitContent: "fit-content"
150
+ };
151
+
152
+ var calculateWidth = function calculateWidth(margin, size) {
153
+ if (size === "fillParent") {
154
+ return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
155
+ }
156
+
157
+ return sizes[size];
158
+ };
159
+
160
+ var getDisabledColor = function getDisabledColor(props, element) {
161
+ switch (element) {
162
+ case "check":
163
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledCheckColorOnDark : props.theme.disabledCheckColor;
164
+
165
+ case "background":
166
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledBackgroundColorCheckedOnDark : props.theme.disabledBackgroundColorChecked;
167
+
168
+ case "border":
169
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledBorderColorOnDark : props.theme.disabledBorderColor;
170
+
171
+ case "label":
172
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledFontColorOnDark : props.theme.disabledFontColor;
173
+ }
174
+ };
175
+
176
+ var getNotDisabledColor = function getNotDisabledColor(props, element) {
177
+ switch (element) {
178
+ case "check":
179
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.checkColorOnDark : props.theme.checkColor;
180
+
181
+ case "background":
182
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.backgroundColorCheckedOnDark : props.theme.backgroundColorChecked;
183
+
184
+ case "hoverBackground":
185
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.hoverBackgroundColorCheckedOnDark : props.theme.hoverBackgroundColorChecked;
186
+
187
+ case "border":
188
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.borderColorOnDark : props.theme.borderColor;
189
+
190
+ case "hoverBorder":
191
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.hoverBorderColorOnDark : props.theme.hoverBorderColor;
192
+
193
+ case "label":
194
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.fontColorOnDark : props.theme.fontColor;
195
+ }
196
+ };
197
+
198
+ var LabelContainer = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n"])), function (props) {
199
+ return props.disabled ? getDisabledColor(props, "label") : getNotDisabledColor(props, "label");
200
+ }, function (props) {
201
+ return props.theme.fontFamily;
202
+ }, function (props) {
203
+ return props.theme.fontSize;
204
+ }, function (props) {
205
+ return props.theme.fontWeight;
206
+ });
207
+
208
+ var ValueInput = _styledComponents["default"].input(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
209
+
210
+ var CheckboxContainer = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n height: 24px;\n width: 24px;\n"])));
211
+
212
+ var Checkbox = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 18px;\n width: 18px;\n border: solid 2px\n ", ";\n border-radius: 2px;\n background-color: ", ";\n color: ", ";\n\n &:focus {\n outline: 2px solid\n ", ";\n outline-offset: 2px;\n }\n svg {\n position: absolute;\n width: 22px;\n height: 22px;\n }\n ", "\n"])), function (props) {
213
+ return props.disabled ? getDisabledColor(props, "border") : getNotDisabledColor(props, "border");
214
+ }, function (props) {
215
+ return props.checked ? props.disabled ? getDisabledColor(props, "check") : getNotDisabledColor(props, "check") : "transparent";
216
+ }, function (props) {
217
+ return props.disabled ? getDisabledColor(props, "background") : getNotDisabledColor(props, "background");
218
+ }, function (props) {
219
+ return props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
220
+ }, function (props) {
221
+ return props.disabled && "pointer-events: none;";
222
+ });
223
+
224
+ var MainContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n display: inline-flex;\n align-items: center;\n cursor: ", ";\n gap: ", ";\n\n &:hover ", " {\n border: 2px solid\n ", ";\n background-color: ", ";\n color: ", ";\n }\n"])), function (props) {
225
+ return calculateWidth(props.margin, props.size);
226
+ }, function (props) {
227
+ return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
228
+ }, function (props) {
229
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
230
+ }, function (props) {
231
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
232
+ }, function (props) {
233
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
234
+ }, function (props) {
235
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
236
+ }, function (props) {
237
+ return props.disabled ? "not-allowed" : "pointer";
238
+ }, function (props) {
239
+ return props.theme.checkLabelSpacing;
240
+ }, Checkbox, function (props) {
241
+ return props.disabled ? getDisabledColor(props, "border") : getNotDisabledColor(props, "hoverBorder");
242
+ }, function (props) {
243
+ return props.checked ? props.disabled ? getDisabledColor(props, "check") : getNotDisabledColor(props, "check") : "transparent";
244
+ }, function (props) {
245
+ return props.disabled ? getDisabledColor(props, "background") : getNotDisabledColor(props, "hoverBackground");
246
+ });
247
+
248
+ var _default = DxcCheckbox;
249
+ exports["default"] = _default;
@@ -0,0 +1,188 @@
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 } from "@storybook/testing-library";
8
+
9
+ export default {
10
+ title: "Checkbox",
11
+ component: DxcCheckbox,
12
+ };
13
+
14
+ const Checkbox = () => (
15
+ <>
16
+ <ExampleContainer>
17
+ <Title title="Default" theme="light" level={4} />
18
+ <DxcCheckbox label="Checkbox" />
19
+ </ExampleContainer>
20
+ <ExampleContainer>
21
+ <Title title="Focused" theme="light" level={4} />
22
+ <DxcCheckbox label="Focused" />
23
+ </ExampleContainer>
24
+ <ExampleContainer>
25
+ <Title title="Checked" theme="light" level={4} />
26
+ <DxcCheckbox label="Checkbox" defaultChecked />
27
+ </ExampleContainer>
28
+ <ExampleContainer>
29
+ <Title title="Optional" theme="light" level={4} />
30
+ <DxcCheckbox label="Checkbox" optional />
31
+ </ExampleContainer>
32
+ <ExampleContainer>
33
+ <Title title="Disabled and checked" theme="light" level={4} />
34
+ <DxcCheckbox label="Checkbox" disabled defaultChecked />
35
+ </ExampleContainer>
36
+ <ExampleContainer>
37
+ <Title title="Disabled and optional" theme="light" level={4} />
38
+ <DxcCheckbox label="Checkbox" disabled optional />
39
+ </ExampleContainer>
40
+ <ExampleContainer>
41
+ <Title title="Disabled, optional and checked" theme="light" level={4} />
42
+ <DxcCheckbox label="Checkbox" disabled optional defaultChecked />
43
+ </ExampleContainer>
44
+ <ExampleContainer>
45
+ <Title title="Label after" theme="light" level={4} />
46
+ <DxcCheckbox label="Checkbox" labelPosition="after" />
47
+ </ExampleContainer>
48
+ <ExampleContainer>
49
+ <Title title="Checked with label after" theme="light" level={4} />
50
+ <DxcCheckbox label="Checkbox" defaultChecked labelPosition="after" />
51
+ </ExampleContainer>
52
+ <ExampleContainer>
53
+ <Title title="Optional with label after" theme="light" level={4} />
54
+ <DxcCheckbox label="Checkbox" optional labelPosition="after" />
55
+ </ExampleContainer>
56
+ <ExampleContainer>
57
+ <Title title="Disabled and checked with label after" theme="light" level={4} />
58
+ <DxcCheckbox label="Checkbox" disabled defaultChecked labelPosition="after" />
59
+ </ExampleContainer>
60
+ <ExampleContainer>
61
+ <Title title="Disabled and optional with label after" theme="light" level={4} />
62
+ <DxcCheckbox label="Checkbox" disabled optional labelPosition="after" />
63
+ </ExampleContainer>
64
+ <ExampleContainer>
65
+ <Title title="Disabled, optional and checked with label after" theme="light" level={4} />
66
+ <DxcCheckbox label="Checkbox" disabled optional defaultChecked labelPosition="after" />
67
+ </ExampleContainer>
68
+ <ExampleContainer pseudoState="pseudo-hover">
69
+ <Title title="Hovered" theme="light" level={4} />
70
+ <DxcCheckbox label="Hovered" />
71
+ </ExampleContainer>
72
+ <ExampleContainer pseudoState="pseudo-hover">
73
+ <Title title="Hovered and checked" theme="light" level={4} />
74
+ <DxcCheckbox label="Hovered" defaultChecked />
75
+ </ExampleContainer>
76
+ <BackgroundColorProvider color="#333333">
77
+ <DarkContainer>
78
+ <ExampleContainer>
79
+ <Title title="Default" theme="dark" level={4} />
80
+ <DxcCheckbox label="Checkbox" />
81
+ </ExampleContainer>
82
+ <ExampleContainer>
83
+ <Title title="Checked" theme="dark" level={4} />
84
+ <DxcCheckbox label="Checkbox" defaultChecked />
85
+ </ExampleContainer>
86
+ <ExampleContainer>
87
+ <Title title="Optional" theme="dark" level={4} />
88
+ <DxcCheckbox label="Checkbox" optional />
89
+ </ExampleContainer>
90
+ <ExampleContainer>
91
+ <Title title="Disabled and checked" theme="dark" level={4} />
92
+ <DxcCheckbox label="Checkbox" disabled defaultChecked />
93
+ </ExampleContainer>
94
+ <ExampleContainer>
95
+ <Title title="Disabled and optional" theme="dark" level={4} />
96
+ <DxcCheckbox label="Checkbox" disabled optional />
97
+ </ExampleContainer>
98
+ <ExampleContainer>
99
+ <Title title="Disabled, optional and checked" theme="dark" level={4} />
100
+ <DxcCheckbox label="Checkbox" disabled optional defaultChecked />
101
+ </ExampleContainer>
102
+ <ExampleContainer>
103
+ <Title title="Label after" theme="dark" level={4} />
104
+ <DxcCheckbox label="Checkbox" labelPosition="after" />
105
+ </ExampleContainer>
106
+ <ExampleContainer>
107
+ <Title title="Checked with label after" theme="dark" level={4} />
108
+ <DxcCheckbox label="Checkbox" defaultChecked labelPosition="after" />
109
+ </ExampleContainer>
110
+ <ExampleContainer>
111
+ <Title title="Optional with label after" theme="dark" level={4} />
112
+ <DxcCheckbox label="Checkbox" optional labelPosition="after" />
113
+ </ExampleContainer>
114
+ <ExampleContainer>
115
+ <Title title="Disabled and checked with label after" theme="dark" level={4} />
116
+ <DxcCheckbox label="Checkbox" disabled defaultChecked labelPosition="after" />
117
+ </ExampleContainer>
118
+ <ExampleContainer>
119
+ <Title title="Disabled and optional with label after" theme="dark" level={4} />
120
+ <DxcCheckbox label="Checkbox" disabled optional labelPosition="after" />
121
+ </ExampleContainer>
122
+ <ExampleContainer>
123
+ <Title title="Disabled, optional and checked with label after" theme="dark" level={4} />
124
+ <DxcCheckbox label="Checkbox" disabled optional defaultChecked labelPosition="after" />
125
+ </ExampleContainer>
126
+ <ExampleContainer pseudoState="pseudo-hover">
127
+ <Title title="Hovered" theme="dark" level={4} />
128
+ <DxcCheckbox label="Hovered" />
129
+ </ExampleContainer>
130
+ <ExampleContainer pseudoState="pseudo-hover">
131
+ <Title title="Hovered and checked" theme="dark" level={4} />
132
+ <DxcCheckbox label="Hovered" defaultChecked />
133
+ </ExampleContainer>
134
+ </DarkContainer>
135
+ </BackgroundColorProvider>
136
+ <Title title="Sizes" theme="light" level={2} />
137
+ <ExampleContainer>
138
+ <DxcCheckbox label="Small" size="small" />
139
+ </ExampleContainer>
140
+ <ExampleContainer>
141
+ <DxcCheckbox label="Medium" size="medium" />
142
+ </ExampleContainer>
143
+ <ExampleContainer>
144
+ <DxcCheckbox label="Large" size="large" />
145
+ </ExampleContainer>
146
+ <ExampleContainer>
147
+ <DxcCheckbox label="FitContent" size="fitContent" />
148
+ </ExampleContainer>
149
+ <ExampleContainer>
150
+ <DxcCheckbox label="FillParent" size="fillParent" />
151
+ </ExampleContainer>
152
+ <Title title="Margins" theme="light" level={2} />
153
+ <ExampleContainer>
154
+ <Title title="Xxsmall" theme="light" level={4} />
155
+ <DxcCheckbox label="Xxsmall" margin="xxsmall" />
156
+ </ExampleContainer>
157
+ <ExampleContainer>
158
+ <Title title="Xsmall" theme="light" level={4} />
159
+ <DxcCheckbox label="Xsmall" margin="xsmall" />
160
+ </ExampleContainer>
161
+ <ExampleContainer>
162
+ <Title title="Small" theme="light" level={4} />
163
+ <DxcCheckbox label="Small" margin="small" />
164
+ </ExampleContainer>
165
+ <ExampleContainer>
166
+ <Title title="Medium" theme="light" level={4} />
167
+ <DxcCheckbox label="Medium" margin="medium" />
168
+ </ExampleContainer>
169
+ <ExampleContainer>
170
+ <Title title="Large" theme="light" level={4} />
171
+ <DxcCheckbox label="Large" margin="large" />
172
+ </ExampleContainer>
173
+ <ExampleContainer>
174
+ <Title title="Xlarge" theme="light" level={4} />
175
+ <DxcCheckbox label="Xlarge" margin="xlarge" />
176
+ </ExampleContainer>
177
+ <ExampleContainer>
178
+ <Title title="Xxlarge" theme="light" level={4} />
179
+ <DxcCheckbox label="Xxlarge" margin="xxlarge" />
180
+ </ExampleContainer>
181
+ </>
182
+ );
183
+
184
+ export const Chromatic = Checkbox.bind({});
185
+ Chromatic.play = async () => {
186
+ await userEvent.tab();
187
+ await userEvent.tab();
188
+ };
@@ -0,0 +1,155 @@
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 _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
10
+
11
+ var _Checkbox = _interopRequireDefault(require("./Checkbox"));
12
+
13
+ describe("Checkbox component tests", function () {
14
+ test("Checkbox renders with correct aria-labelledby and aria-required", function () {
15
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
16
+ label: "Checkbox"
17
+ })),
18
+ getByText = _render.getByText,
19
+ getByRole = _render.getByRole;
20
+
21
+ var labelId = getByText("Checkbox").getAttribute("id");
22
+ expect(getByRole("checkbox").getAttribute("aria-labelledby")).toBe(labelId);
23
+ expect(getByRole("checkbox").getAttribute("aria-required")).toBe("true");
24
+ });
25
+ test("Optional checkbox renders with correct aria-required", function () {
26
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
27
+ label: "Checkbox",
28
+ optional: true
29
+ })),
30
+ getByRole = _render2.getByRole;
31
+
32
+ expect(getByRole("checkbox").getAttribute("aria-required")).toBe("false");
33
+ });
34
+ test("Calls correct function on click", function () {
35
+ var onChange = jest.fn();
36
+
37
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
38
+ label: "Checkbox",
39
+ onChange: onChange
40
+ })),
41
+ getByText = _render3.getByText;
42
+
43
+ _react2.fireEvent.click(getByText("Checkbox"));
44
+
45
+ expect(onChange).toHaveBeenCalled();
46
+ });
47
+ test("Uncontrolled checkbox", function () {
48
+ var onChange = jest.fn();
49
+ var component = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
50
+ label: "Checkbox",
51
+ onChange: onChange,
52
+ name: "test"
53
+ }));
54
+ var visibleCheckbox = component.getByText("Checkbox");
55
+ var input = component.getByRole("checkbox");
56
+ var submitInput = component.container.querySelector("input[name=\"test\"]");
57
+ expect(input.getAttribute("aria-checked")).toBe("false");
58
+ expect(submitInput.checked).toBe(false);
59
+
60
+ _react2.fireEvent.click(visibleCheckbox);
61
+
62
+ expect(onChange).toHaveBeenCalled();
63
+ expect(onChange).toHaveBeenCalledWith(true);
64
+ expect(input.getAttribute("aria-checked")).toBe("true");
65
+ expect(submitInput.checked).toBe(true);
66
+ });
67
+ test("Controlled checkbox", function () {
68
+ var onChange = jest.fn();
69
+ var component = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
70
+ label: "Checkbox",
71
+ checked: false,
72
+ onChange: onChange,
73
+ name: "test"
74
+ }));
75
+ var input = component.getByRole("checkbox");
76
+ var visibleCheckbox = component.getByText("Checkbox");
77
+ var submitInput = component.container.querySelector("input[name=\"test\"]");
78
+
79
+ _react2.fireEvent.click(visibleCheckbox);
80
+
81
+ expect(onChange).toHaveBeenCalled();
82
+ expect(onChange).toHaveBeenCalledWith(true);
83
+ expect(input.getAttribute("aria-checked")).toBe("false");
84
+ expect(submitInput.checked).toBe(false);
85
+ });
86
+ test("Renders with correct initial value and initial state when it is uncontrolled", function () {
87
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
88
+ label: "Default label",
89
+ defaultChecked: true,
90
+ value: "test-defaultChecked",
91
+ name: "test"
92
+ })),
93
+ getByRole = _render4.getByRole,
94
+ container = _render4.container;
95
+
96
+ var checkbox = getByRole("checkbox");
97
+ var submitInput = container.querySelector("input[name=\"test\"]");
98
+ expect(submitInput.value).toBe("test-defaultChecked");
99
+ expect(checkbox.getAttribute("aria-checked")).toBe("true");
100
+ expect(submitInput.checked).toBe(true);
101
+ });
102
+ test("Test disable keyboard and mouse interactions", function () {
103
+ var onChange = jest.fn();
104
+
105
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
106
+ label: "Checkbox",
107
+ onChange: onChange,
108
+ disabled: true,
109
+ name: "test"
110
+ })),
111
+ getByRole = _render5.getByRole,
112
+ getByText = _render5.getByText,
113
+ container = _render5.container;
114
+
115
+ var input = getByRole("checkbox");
116
+ var visibleCheckbox = getByText("Checkbox");
117
+ var submitInput = container.querySelector("input[name=\"test\"]");
118
+
119
+ _react2.fireEvent.click(visibleCheckbox);
120
+
121
+ expect(onChange).toHaveBeenCalledTimes(0);
122
+ expect(input.getAttribute("aria-checked")).toBe("false");
123
+ expect(input.getAttribute("aria-disabled")).toBe("true");
124
+ expect(submitInput.checked).toBe(false);
125
+
126
+ _userEvent["default"].tab();
127
+
128
+ expect(document.activeElement === input).toBeFalsy();
129
+ });
130
+ test("Test keyboard interactions", function () {
131
+ var onChange = jest.fn();
132
+
133
+ var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
134
+ label: "Checkbox",
135
+ name: "test",
136
+ onChange: onChange
137
+ })),
138
+ getByRole = _render6.getByRole;
139
+
140
+ var checkbox = getByRole("checkbox");
141
+
142
+ _userEvent["default"].tab();
143
+
144
+ expect(document.activeElement === checkbox).toBeTruthy();
145
+
146
+ _react2.fireEvent.keyDown(checkbox, {
147
+ key: " ",
148
+ code: "Space",
149
+ keyCode: 32,
150
+ charCode: 32
151
+ });
152
+
153
+ expect(onChange).toHaveBeenCalledWith(true);
154
+ });
155
+ });
@@ -0,0 +1,64 @@
1
+ export declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
+ export declare type Margin = {
3
+ top?: Space;
4
+ bottom?: Space;
5
+ left?: Space;
6
+ right?: Space;
7
+ };
8
+ declare type Props = {
9
+ /**
10
+ * Initial state of the checkbox, only when it is uncontrolled.
11
+ */
12
+ defaultChecked?: boolean;
13
+ /**
14
+ * If true, the component is checked. If undefined the component will be
15
+ * uncontrolled and the value will be managed internally by the component.
16
+ */
17
+ checked?: boolean;
18
+ /**
19
+ * Will be passed to the value attribute of the html input element.
20
+ * When inside a form, this value will be only submitted if the checkbox is checked.
21
+ */
22
+ value?: string;
23
+ /**
24
+ * Text to be placed next to the checkbox.
25
+ */
26
+ label?: string;
27
+ /**
28
+ * Whether the label should appear after or before the checkbox.
29
+ */
30
+ labelPosition?: "before" | "after";
31
+ /**
32
+ * Name attribute of the input element.
33
+ */
34
+ name?: string;
35
+ /**
36
+ * If true, the component will be disabled.
37
+ */
38
+ disabled?: boolean;
39
+ /**
40
+ * If true, the component will display '(Optional)' next to the label.
41
+ */
42
+ optional?: boolean;
43
+ /**
44
+ * This function will be called when the user clicks the checkbox.
45
+ * The new value will be passed as a parameter.
46
+ */
47
+ onChange?: (value: boolean) => void;
48
+ /**
49
+ * Size of the margin to be applied to the component
50
+ * ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
51
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties
52
+ * in order to specify different margin sizes.
53
+ */
54
+ margin?: Space | Margin;
55
+ /**
56
+ * Size of the component.
57
+ */
58
+ size?: "small" | "medium" | "large" | "fillParent" | "fitContent";
59
+ /**
60
+ * Value of the tabindex.
61
+ */
62
+ tabIndex?: number;
63
+ };
64
+ export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
package/chip/Chip.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import ChipPropsType from "./types";
3
+ declare const DxcChip: ({ label, suffixIcon, prefixIcon, onClickSuffix, onClickPrefix, disabled, margin, tabIndex, }: ChipPropsType) => JSX.Element;
4
+ export default DxcChip;