@dxc-technology/halstack-react 0.0.0-e961efe → 0.0.0-e9cf865

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 (352) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +48 -0
  3. package/ThemeContext.d.ts +15 -0
  4. package/ThemeContext.js +243 -0
  5. package/{dist/V3Select → V3Select}/V3Select.js +35 -129
  6. package/{dist/V3Select → V3Select}/index.d.ts +0 -0
  7. package/{dist/V3Textarea → V3Textarea}/V3Textarea.js +12 -16
  8. package/{dist/V3Textarea → V3Textarea}/index.d.ts +0 -0
  9. package/accordion/Accordion.d.ts +4 -0
  10. package/{dist/accordion → accordion}/Accordion.js +37 -132
  11. package/accordion/types.d.ts +68 -0
  12. package/accordion/types.js +5 -0
  13. package/accordion-group/AccordionGroup.d.ts +7 -0
  14. package/accordion-group/AccordionGroup.js +170 -0
  15. package/accordion-group/AccordionGroup.stories.tsx +225 -0
  16. package/accordion-group/types.d.ts +72 -0
  17. package/accordion-group/types.js +5 -0
  18. package/alert/Alert.d.ts +4 -0
  19. package/{dist/alert → alert}/Alert.js +40 -153
  20. package/alert/Alert.stories.tsx +170 -0
  21. package/alert/types.d.ts +49 -0
  22. package/alert/types.js +5 -0
  23. package/badge/Badge.js +59 -0
  24. package/box/Box.d.ts +4 -0
  25. package/{dist/box → box}/Box.js +15 -45
  26. package/box/Box.stories.tsx +132 -0
  27. package/box/types.d.ts +43 -0
  28. package/box/types.js +5 -0
  29. package/button/Button.d.ts +4 -0
  30. package/{dist/button → button}/Button.js +24 -83
  31. package/button/Button.stories.tsx +276 -0
  32. package/button/types.d.ts +57 -0
  33. package/button/types.js +5 -0
  34. package/card/Card.d.ts +4 -0
  35. package/{dist/card → card}/Card.js +34 -124
  36. package/card/Card.stories.tsx +201 -0
  37. package/card/ice-cream.jpg +0 -0
  38. package/card/types.d.ts +67 -0
  39. package/card/types.js +5 -0
  40. package/checkbox/Checkbox.d.ts +4 -0
  41. package/{dist/checkbox → checkbox}/Checkbox.js +15 -61
  42. package/checkbox/Checkbox.stories.tsx +192 -0
  43. package/checkbox/types.d.ts +60 -0
  44. package/checkbox/types.js +5 -0
  45. package/chip/Chip.d.ts +4 -0
  46. package/{dist/chip → chip}/Chip.js +18 -84
  47. package/chip/Chip.stories.tsx +121 -0
  48. package/chip/types.d.ts +53 -0
  49. package/chip/types.js +5 -0
  50. package/{dist/common → common}/OpenSans.css +0 -0
  51. package/{dist/common → common}/RequiredComponent.js +3 -11
  52. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  53. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  54. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  55. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  56. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  57. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  58. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  59. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  60. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  61. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  62. package/{dist/common → common}/utils.js +0 -0
  63. package/{dist/common → common}/variables.js +88 -88
  64. package/{dist/date → date}/Date.js +17 -23
  65. package/{dist/date → date}/index.d.ts +0 -0
  66. package/date-input/DateInput.d.ts +4 -0
  67. package/{dist/date-input → date-input}/DateInput.js +26 -68
  68. package/date-input/DateInput.stories.tsx +138 -0
  69. package/date-input/types.d.ts +100 -0
  70. package/date-input/types.js +5 -0
  71. package/dialog/Dialog.d.ts +4 -0
  72. package/{dist/dialog → dialog}/Dialog.js +22 -75
  73. package/dialog/Dialog.stories.tsx +212 -0
  74. package/dialog/types.d.ts +43 -0
  75. package/dialog/types.js +5 -0
  76. package/dropdown/Dropdown.d.ts +4 -0
  77. package/{dist/dropdown → dropdown}/Dropdown.js +45 -172
  78. package/dropdown/types.d.ts +89 -0
  79. package/dropdown/types.js +5 -0
  80. package/file-input/FileInput.d.ts +4 -0
  81. package/{dist/file-input → file-input}/FileInput.js +98 -221
  82. package/file-input/FileItem.d.ts +14 -0
  83. package/file-input/FileItem.js +184 -0
  84. package/file-input/types.d.ts +112 -0
  85. package/file-input/types.js +5 -0
  86. package/footer/Footer.d.ts +4 -0
  87. package/footer/Footer.js +260 -0
  88. package/footer/Footer.stories.tsx +130 -0
  89. package/footer/Icons.d.ts +2 -0
  90. package/{dist/footer → footer}/Icons.js +15 -15
  91. package/footer/types.d.ts +65 -0
  92. package/footer/types.js +5 -0
  93. package/header/Header.d.ts +7 -0
  94. package/{dist/header → header}/Header.js +58 -204
  95. package/header/Header.stories.tsx +162 -0
  96. package/header/Icons.d.ts +2 -0
  97. package/{dist/header → header}/Icons.js +7 -32
  98. package/header/types.d.ts +47 -0
  99. package/header/types.js +5 -0
  100. package/heading/Heading.d.ts +4 -0
  101. package/{dist/heading → heading}/Heading.js +25 -96
  102. package/heading/Heading.stories.tsx +53 -0
  103. package/heading/types.d.ts +33 -0
  104. package/heading/types.js +5 -0
  105. package/{dist/input-text → input-text}/Icons.js +2 -2
  106. package/{dist/input-text → input-text}/InputText.js +38 -132
  107. package/{dist/input-text → input-text}/index.d.ts +1 -1
  108. package/layout/ApplicationLayout.d.ts +10 -0
  109. package/{dist/layout → layout}/ApplicationLayout.js +39 -141
  110. package/layout/ApplicationLayout.stories.tsx +171 -0
  111. package/{dist/layout → layout}/Icons.js +7 -7
  112. package/layout/types.d.ts +57 -0
  113. package/layout/types.js +5 -0
  114. package/link/Link.d.ts +3 -0
  115. package/{dist/link → link}/Link.js +19 -95
  116. package/link/Link.stories.tsx +146 -0
  117. package/link/types.d.ts +74 -0
  118. package/link/types.js +5 -0
  119. package/list/List.d.ts +7 -0
  120. package/list/List.js +37 -0
  121. package/list/List.stories.tsx +70 -0
  122. package/main.d.ts +48 -0
  123. package/{dist/main.js → main.js} +118 -82
  124. package/number-input/NumberInput.d.ts +4 -0
  125. package/number-input/NumberInput.js +83 -0
  126. package/number-input/NumberInput.stories.tsx +115 -0
  127. package/number-input/NumberInputContext.d.ts +4 -0
  128. package/{dist/number-input → number-input}/NumberInputContext.js +5 -2
  129. package/number-input/numberInputContextTypes.d.ts +19 -0
  130. package/number-input/numberInputContextTypes.js +5 -0
  131. package/number-input/types.d.ts +117 -0
  132. package/number-input/types.js +5 -0
  133. package/package.json +20 -17
  134. package/{dist/paginator → paginator}/Icons.js +9 -9
  135. package/paginator/Paginator.d.ts +4 -0
  136. package/paginator/Paginator.js +192 -0
  137. package/paginator/Paginator.stories.tsx +63 -0
  138. package/paginator/types.d.ts +38 -0
  139. package/paginator/types.js +5 -0
  140. package/password-input/PasswordInput.d.ts +4 -0
  141. package/{dist/password-input → password-input}/PasswordInput.js +37 -77
  142. package/password-input/PasswordInput.stories.tsx +131 -0
  143. package/password-input/types.d.ts +107 -0
  144. package/password-input/types.js +5 -0
  145. package/progress-bar/ProgressBar.d.ts +4 -0
  146. package/{dist/progress-bar → progress-bar}/ProgressBar.js +22 -94
  147. package/progress-bar/ProgressBar.stories.jsx +58 -0
  148. package/progress-bar/types.d.ts +37 -0
  149. package/progress-bar/types.js +5 -0
  150. package/radio/Radio.d.ts +4 -0
  151. package/{dist/radio → radio}/Radio.js +17 -52
  152. package/radio/Radio.stories.tsx +192 -0
  153. package/radio/types.d.ts +54 -0
  154. package/radio/types.js +5 -0
  155. package/resultsetTable/ResultsetTable.d.ts +4 -0
  156. package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +39 -146
  157. package/resultsetTable/types.d.ts +67 -0
  158. package/resultsetTable/types.js +5 -0
  159. package/row/Row.d.ts +11 -0
  160. package/row/Row.js +124 -0
  161. package/row/Row.stories.tsx +223 -0
  162. package/{dist/select → select}/Select.js +254 -487
  163. package/select/Select.stories.tsx +572 -0
  164. package/select/index.d.ts +131 -0
  165. package/sidenav/Sidenav.d.ts +9 -0
  166. package/{dist/sidenav → sidenav}/Sidenav.js +21 -64
  167. package/sidenav/Sidenav.stories.tsx +165 -0
  168. package/sidenav/types.d.ts +50 -0
  169. package/sidenav/types.js +5 -0
  170. package/slider/Slider.d.ts +4 -0
  171. package/{dist/slider → slider}/Slider.js +74 -161
  172. package/slider/Slider.stories.tsx +177 -0
  173. package/slider/types.d.ts +78 -0
  174. package/slider/types.js +5 -0
  175. package/spinner/Spinner.d.ts +4 -0
  176. package/spinner/Spinner.js +250 -0
  177. package/spinner/Spinner.stories.jsx +102 -0
  178. package/spinner/types.d.ts +32 -0
  179. package/spinner/types.js +5 -0
  180. package/stack/Stack.d.ts +10 -0
  181. package/stack/Stack.js +94 -0
  182. package/stack/Stack.stories.tsx +150 -0
  183. package/switch/Switch.d.ts +4 -0
  184. package/{dist/switch → switch}/Switch.js +28 -71
  185. package/switch/Switch.stories.tsx +160 -0
  186. package/switch/types.d.ts +58 -0
  187. package/switch/types.js +5 -0
  188. package/table/Table.d.ts +4 -0
  189. package/{dist/table → table}/Table.js +12 -26
  190. package/table/Table.stories.jsx +276 -0
  191. package/table/types.d.ts +21 -0
  192. package/table/types.js +5 -0
  193. package/tabs/Tabs.d.ts +4 -0
  194. package/tabs/Tabs.js +213 -0
  195. package/tabs/Tabs.stories.tsx +121 -0
  196. package/tabs/types.d.ts +70 -0
  197. package/tabs/types.js +5 -0
  198. package/tag/Tag.d.ts +4 -0
  199. package/tag/Tag.js +193 -0
  200. package/tag/Tag.stories.tsx +145 -0
  201. package/tag/types.d.ts +60 -0
  202. package/tag/types.js +5 -0
  203. package/text/Text.d.ts +7 -0
  204. package/text/Text.js +30 -0
  205. package/text/Text.stories.tsx +19 -0
  206. package/text-input/TextInput.d.ts +4 -0
  207. package/{dist/text-input → text-input}/TextInput.js +269 -457
  208. package/text-input/TextInput.stories.tsx +456 -0
  209. package/text-input/types.d.ts +159 -0
  210. package/text-input/types.js +5 -0
  211. package/{dist/textarea → textarea}/Textarea.js +40 -95
  212. package/textarea/Textarea.stories.jsx +135 -0
  213. package/{dist/textarea → textarea}/index.d.ts +18 -8
  214. package/{dist/toggle → toggle}/Toggle.js +16 -50
  215. package/{dist/toggle → toggle}/index.d.ts +0 -0
  216. package/toggle-group/ToggleGroup.d.ts +4 -0
  217. package/{dist/toggle-group → toggle-group}/ToggleGroup.js +30 -140
  218. package/toggle-group/ToggleGroup.stories.tsx +178 -0
  219. package/toggle-group/types.d.ts +84 -0
  220. package/toggle-group/types.js +5 -0
  221. package/{dist/upload → upload}/Upload.js +11 -15
  222. package/upload/buttons-upload/ButtonsUpload.js +111 -0
  223. package/{dist/upload → upload}/buttons-upload/Icons.js +7 -7
  224. package/upload/dragAndDropArea/DragAndDropArea.js +225 -0
  225. package/{dist/upload → upload}/dragAndDropArea/Icons.js +6 -6
  226. package/upload/file-upload/FileToUpload.js +115 -0
  227. package/{dist/upload → upload}/file-upload/Icons.js +13 -13
  228. package/{dist/upload → upload}/files-upload/FilesToUpload.js +13 -27
  229. package/{dist/upload → upload}/index.d.ts +0 -0
  230. package/{dist/upload → upload}/transaction/Icons.js +31 -31
  231. package/upload/transaction/Transaction.js +104 -0
  232. package/upload/transactions/Transactions.js +94 -0
  233. package/useTheme.d.ts +2 -0
  234. package/{dist/useTheme.js → useTheme.js} +1 -1
  235. package/{dist/wizard → wizard}/Icons.js +8 -8
  236. package/wizard/Wizard.d.ts +4 -0
  237. package/wizard/Wizard.js +231 -0
  238. package/wizard/Wizard.stories.jsx +224 -0
  239. package/wizard/types.d.ts +64 -0
  240. package/wizard/types.js +5 -0
  241. package/README.md +0 -66
  242. package/babel.config.js +0 -7
  243. package/dist/BackgroundColorContext.js +0 -46
  244. package/dist/ThemeContext.js +0 -250
  245. package/dist/accordion/index.d.ts +0 -28
  246. package/dist/accordion-group/AccordionGroup.js +0 -186
  247. package/dist/accordion-group/index.d.ts +0 -16
  248. package/dist/alert/index.d.ts +0 -51
  249. package/dist/badge/Badge.js +0 -63
  250. package/dist/box/index.d.ts +0 -25
  251. package/dist/button/index.d.ts +0 -24
  252. package/dist/card/index.d.ts +0 -22
  253. package/dist/checkbox/index.d.ts +0 -24
  254. package/dist/chip/index.d.ts +0 -22
  255. package/dist/date-input/index.d.ts +0 -95
  256. package/dist/dialog/index.d.ts +0 -18
  257. package/dist/dropdown/index.d.ts +0 -26
  258. package/dist/file-input/FileItem.js +0 -287
  259. package/dist/file-input/index.d.ts +0 -81
  260. package/dist/footer/Footer.js +0 -421
  261. package/dist/footer/index.d.ts +0 -25
  262. package/dist/header/index.d.ts +0 -25
  263. package/dist/heading/index.d.ts +0 -17
  264. package/dist/link/index.d.ts +0 -23
  265. package/dist/main.d.ts +0 -40
  266. package/dist/number-input/NumberInput.js +0 -136
  267. package/dist/number-input/index.d.ts +0 -113
  268. package/dist/paginator/Paginator.js +0 -305
  269. package/dist/paginator/index.d.ts +0 -20
  270. package/dist/password-input/index.d.ts +0 -94
  271. package/dist/progress-bar/index.d.ts +0 -18
  272. package/dist/radio/index.d.ts +0 -23
  273. package/dist/resultsetTable/index.d.ts +0 -19
  274. package/dist/select/index.d.ts +0 -53
  275. package/dist/sidenav/index.d.ts +0 -13
  276. package/dist/slider/index.d.ts +0 -29
  277. package/dist/spinner/Spinner.js +0 -381
  278. package/dist/spinner/index.d.ts +0 -17
  279. package/dist/stories/Button.js +0 -71
  280. package/dist/stories/Button.stories.js +0 -55
  281. package/dist/stories/Header.js +0 -67
  282. package/dist/stories/Header.stories.js +0 -31
  283. package/dist/stories/Introduction.stories.mdx +0 -211
  284. package/dist/stories/Page.js +0 -68
  285. package/dist/stories/Page.stories.js +0 -39
  286. package/dist/stories/assets/code-brackets.svg +0 -1
  287. package/dist/stories/assets/colors.svg +0 -1
  288. package/dist/stories/assets/comments.svg +0 -1
  289. package/dist/stories/assets/direction.svg +0 -1
  290. package/dist/stories/assets/flow.svg +0 -1
  291. package/dist/stories/assets/plugin.svg +0 -1
  292. package/dist/stories/assets/repo.svg +0 -1
  293. package/dist/stories/assets/stackalt.svg +0 -1
  294. package/dist/stories/button.css +0 -30
  295. package/dist/stories/header.css +0 -26
  296. package/dist/stories/page.css +0 -69
  297. package/dist/switch/index.d.ts +0 -24
  298. package/dist/table/index.d.ts +0 -13
  299. package/dist/tabs/Tabs.js +0 -343
  300. package/dist/tabs/index.d.ts +0 -19
  301. package/dist/tag/Tag.js +0 -282
  302. package/dist/tag/index.d.ts +0 -24
  303. package/dist/text-input/index.d.ts +0 -135
  304. package/dist/toggle-group/index.d.ts +0 -21
  305. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -135
  306. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  307. package/dist/upload/file-upload/FileToUpload.js +0 -189
  308. package/dist/upload/transaction/Transaction.js +0 -148
  309. package/dist/upload/transactions/Transactions.js +0 -138
  310. package/dist/wizard/Wizard.js +0 -405
  311. package/dist/wizard/index.d.ts +0 -18
  312. package/test/Accordion.test.js +0 -33
  313. package/test/AccordionGroup.test.js +0 -125
  314. package/test/Alert.test.js +0 -53
  315. package/test/Box.test.js +0 -10
  316. package/test/Button.test.js +0 -18
  317. package/test/Card.test.js +0 -30
  318. package/test/Checkbox.test.js +0 -45
  319. package/test/Chip.test.js +0 -25
  320. package/test/Date.test.js +0 -395
  321. package/test/DateInput.test.js +0 -242
  322. package/test/Dialog.test.js +0 -23
  323. package/test/Dropdown.test.js +0 -145
  324. package/test/FileInput.test.js +0 -201
  325. package/test/Footer.test.js +0 -94
  326. package/test/Header.test.js +0 -34
  327. package/test/Heading.test.js +0 -83
  328. package/test/InputText.test.js +0 -239
  329. package/test/Link.test.js +0 -43
  330. package/test/NumberInput.test.js +0 -259
  331. package/test/Paginator.test.js +0 -181
  332. package/test/PasswordInput.test.js +0 -83
  333. package/test/ProgressBar.test.js +0 -35
  334. package/test/Radio.test.js +0 -37
  335. package/test/ResultsetTable.test.js +0 -330
  336. package/test/Select.test.js +0 -415
  337. package/test/Sidenav.test.js +0 -45
  338. package/test/Slider.test.js +0 -74
  339. package/test/Spinner.test.js +0 -32
  340. package/test/Switch.test.js +0 -45
  341. package/test/Table.test.js +0 -36
  342. package/test/Tabs.test.js +0 -109
  343. package/test/Tag.test.js +0 -32
  344. package/test/TextInput.test.js +0 -732
  345. package/test/Textarea.test.js +0 -193
  346. package/test/ToggleGroup.test.js +0 -85
  347. package/test/Upload.test.js +0 -60
  348. package/test/V3Select.test.js +0 -212
  349. package/test/V3TextArea.test.js +0 -51
  350. package/test/Wizard.test.js +0 -130
  351. package/test/mocks/pngMock.js +0 -1
  352. 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>
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
+ };
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, value, label, labelPosition, name, disabled, onChange, required, 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,47 +21,21 @@ 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
24
  var _RequiredComponent = _interopRequireDefault(require("../common/RequiredComponent"));
29
25
 
30
26
  var _variables = require("../common/variables.js");
31
27
 
32
28
  var _utils = require("../common/utils.js");
33
29
 
34
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
35
-
36
- var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext.js"));
37
-
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"]);
40
-
41
- _templateObject3 = function _templateObject3() {
42
- return data;
43
- };
44
-
45
- return data;
46
- }
30
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
47
31
 
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-left: ", ";\n margin-right: ", ";\n padding: 0px;\n left: ", ";\n right: ", ";\n }\n"]);
32
+ var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
50
33
 
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,
@@ -117,9 +89,9 @@ var DxcCheckbox = function DxcCheckbox(_ref) {
117
89
  setIsLabelHovered(!isLabelHovered);
118
90
  };
119
91
 
120
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
92
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
121
93
  theme: colorsTheme.checkbox
122
- }, _react["default"].createElement(CheckboxContainer, {
94
+ }, /*#__PURE__*/_react["default"].createElement(CheckboxContainer, {
123
95
  id: name,
124
96
  brightness: _variables.componentTokens,
125
97
  label: label,
@@ -129,7 +101,7 @@ var DxcCheckbox = function DxcCheckbox(_ref) {
129
101
  size: size,
130
102
  backgroundType: backgroundType,
131
103
  isLabelHovered: isLabelHovered
132
- }, _react["default"].createElement(_Checkbox["default"], {
104
+ }, /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
133
105
  checked: checked != undefined ? checked : innerChecked,
134
106
  inputProps: {
135
107
  name: name,
@@ -143,12 +115,12 @@ var DxcCheckbox = function DxcCheckbox(_ref) {
143
115
  disableRipple: true,
144
116
  className: "test",
145
117
  tabIndex: tabIndex
146
- }), _react["default"].createElement(CheckboxBlackBack, {
118
+ }), /*#__PURE__*/_react["default"].createElement(CheckboxBlackBack, {
147
119
  labelPosition: labelPosition,
148
120
  disabled: disabled,
149
121
  checked: checked != undefined ? checked : innerChecked,
150
122
  backgroundType: backgroundType
151
- }), required && _react["default"].createElement(_RequiredComponent["default"], null), label && _react["default"].createElement(LabelContainer, {
123
+ }), required && /*#__PURE__*/_react["default"].createElement(_RequiredComponent["default"], null), label && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
152
124
  labelPosition: labelPosition,
153
125
  onClick: disabled === true ? function (e) {} : handlerCheckboxChange,
154
126
  disabled: disabled,
@@ -215,7 +187,7 @@ var getNotDisabledColor = function getNotDisabledColor(props, element) {
215
187
  }
216
188
  };
217
189
 
218
- var LabelContainer = _styledComponents["default"].span(_templateObject(), function (props) {
190
+ var LabelContainer = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n cursor: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n"])), function (props) {
219
191
  return props.disabled ? getDisabledColor(props, "label") : getNotDisabledColor(props, "label");
220
192
  }, function (props) {
221
193
  return props.disabled ? "not-allowed" : "pointer";
@@ -227,7 +199,7 @@ var LabelContainer = _styledComponents["default"].span(_templateObject(), functi
227
199
  return props.theme.fontWeight;
228
200
  });
229
201
 
230
- var CheckboxContainer = _styledComponents["default"].span(_templateObject2(), function (props) {
202
+ var CheckboxContainer = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n width: ", ";\n display: inline-flex;\n align-items: center;\n cursor: ", ";\n position: relative;\n flex-direction: ", ";\n .MuiCheckbox-colorSecondary {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n }\n }\n &.Mui-disabled {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n opacity: 0.34;\n }\n }\n }\n &.Mui-checked {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n }\n }\n\n &:hover {\n background-color: transparent;\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n background-color: transparent;\n color: ", ";\n }\n }\n }\n }\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n width: 24px;\n height: 24px;\n }\n }\n }\n\n .MuiIconButton-colorSecondary {\n &:hover {\n background-color: transparent;\n }\n }\n .MuiButtonBase-root {\n &:hover {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n }\n }\n }\n\n &.Mui-focusVisible {\n .MuiIconButton-label {\n box-shadow: 0 0 0 2px\n ", ";\n }\n }\n z-index: 1;\n margin-left: ", ";\n margin-right: ", ";\n padding: 0px;\n left: ", ";\n right: ", ";\n }\n"])), function (props) {
231
203
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
232
204
  }, function (props) {
233
205
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
@@ -265,7 +237,7 @@ var CheckboxContainer = _styledComponents["default"].span(_templateObject2(), fu
265
237
  return props.labelPosition === "before" ? "1px" : "unset";
266
238
  });
267
239
 
268
- var CheckboxBlackBack = _styledComponents["default"].span(_templateObject3(), function (props) {
240
+ var CheckboxBlackBack = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n width: 16px;\n height: 16px;\n position: absolute;\n left: ", ";\n right: ", ";\n z-index: 0;\n margin-left: ", ";\n margin-right: ", ";\n"])), function (props) {
269
241
  return !props.checked ? "transparent" : props.disabled ? getDisabledColor(props, "check") : getNotDisabledColor(props, "check");
270
242
  }, function (props) {
271
243
  return props.labelPosition === "before" ? "unset" : "5px";
@@ -277,23 +249,5 @@ var CheckboxBlackBack = _styledComponents["default"].span(_templateObject3(), fu
277
249
  return props.labelPosition === "before" ? "0px" : "";
278
250
  });
279
251
 
280
- DxcCheckbox.propTypes = {
281
- checked: _propTypes["default"].bool,
282
- value: _propTypes["default"].any,
283
- label: _propTypes["default"].string,
284
- labelPosition: _propTypes["default"].oneOf(["after", "before", ""]),
285
- name: _propTypes["default"].string,
286
- disabled: _propTypes["default"].bool,
287
- onChange: _propTypes["default"].func,
288
- required: _propTypes["default"].bool,
289
- size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
290
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
291
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
292
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
293
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
294
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
295
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
296
- tabIndex: _propTypes["default"].number
297
- };
298
252
  var _default = DxcCheckbox;
299
253
  exports["default"] = _default;
@@ -0,0 +1,192 @@
1
+ import React from "react";
2
+ import DxcCheckbox from "./Checkbox";
3
+ import { BackgroundColorProvider } from "../BackgroundColorContext";
4
+ import Title from "../../.storybook/components/Title";
5
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
+ import DarkContainer from "../../.storybook/components/DarkSection";
7
+ import { userEvent, within } from "@storybook/testing-library";
8
+
9
+ export default {
10
+ title: "Checkbox",
11
+ component: DxcCheckbox,
12
+ };
13
+
14
+ const Checkbox = () => (
15
+ <>
16
+ <>
17
+ <ExampleContainer>
18
+ <Title title="Default" theme="light" level={4} />
19
+ <DxcCheckbox label="Checkbox" />
20
+ </ExampleContainer>
21
+ <ExampleContainer>
22
+ <Title title="Focused" theme="light" level={4} />
23
+ <DxcCheckbox label="Focused" />
24
+ </ExampleContainer>
25
+ <ExampleContainer>
26
+ <Title title="Checked" theme="light" level={4} />
27
+ <DxcCheckbox label="Checkbox" checked />
28
+ </ExampleContainer>
29
+ <ExampleContainer>
30
+ <Title title="Required" theme="light" level={4} />
31
+ <DxcCheckbox label="Checkbox" required />
32
+ </ExampleContainer>
33
+ <ExampleContainer>
34
+ <Title title="Disabled and checked" theme="light" level={4} />
35
+ <DxcCheckbox label="Checkbox" disabled checked />
36
+ </ExampleContainer>
37
+ <ExampleContainer>
38
+ <Title title="Disabled and required" theme="light" level={4} />
39
+ <DxcCheckbox label="Checkbox" disabled required />
40
+ </ExampleContainer>
41
+ <ExampleContainer>
42
+ <Title title="Disabled, required and checked" theme="light" level={4} />
43
+ <DxcCheckbox label="Checkbox" disabled required checked />
44
+ </ExampleContainer>
45
+ <ExampleContainer>
46
+ <Title title="Label after" theme="light" level={4} />
47
+ <DxcCheckbox label="Checkbox" labelPosition="after" />
48
+ </ExampleContainer>
49
+ <ExampleContainer>
50
+ <Title title="Checked with label after" theme="light" level={4} />
51
+ <DxcCheckbox label="Checkbox" checked labelPosition="after" />
52
+ </ExampleContainer>
53
+ <ExampleContainer>
54
+ <Title title="Required with label after" theme="light" level={4} />
55
+ <DxcCheckbox label="Checkbox" required labelPosition="after" />
56
+ </ExampleContainer>
57
+ <ExampleContainer>
58
+ <Title title="Disabled and checked with label after" theme="light" level={4} />
59
+ <DxcCheckbox label="Checkbox" disabled checked labelPosition="after" />
60
+ </ExampleContainer>
61
+ <ExampleContainer>
62
+ <Title title="Disabled and required with label after" theme="light" level={4} />
63
+ <DxcCheckbox label="Checkbox" disabled required labelPosition="after" />
64
+ </ExampleContainer>
65
+ <ExampleContainer>
66
+ <Title title="Disabled, required and checked with label after" theme="light" level={4} />
67
+ <DxcCheckbox label="Checkbox" disabled required checked labelPosition="after" />
68
+ </ExampleContainer>
69
+ <ExampleContainer pseudoState="pseudo-hover">
70
+ <Title title="Hovered" theme="light" level={4} />
71
+ <DxcCheckbox label="Hovered" />
72
+ </ExampleContainer>
73
+ <ExampleContainer pseudoState="pseudo-hover">
74
+ <Title title="Hovered and checked" theme="light" level={4} />
75
+ <DxcCheckbox label="Hovered" checked />
76
+ </ExampleContainer>
77
+ </>
78
+ <BackgroundColorProvider color="#333333">
79
+ <DarkContainer>
80
+ <>
81
+ <ExampleContainer>
82
+ <Title title="Default" theme="dark" level={4} />
83
+ <DxcCheckbox label="Checkbox" />
84
+ </ExampleContainer>
85
+ <ExampleContainer>
86
+ <Title title="Checked" theme="dark" level={4} />
87
+ <DxcCheckbox label="Checkbox" checked />
88
+ </ExampleContainer>
89
+ <ExampleContainer>
90
+ <Title title="Required" theme="dark" level={4} />
91
+ <DxcCheckbox label="Checkbox" required />
92
+ </ExampleContainer>
93
+ <ExampleContainer>
94
+ <Title title="Disabled and checked" theme="dark" level={4} />
95
+ <DxcCheckbox label="Checkbox" disabled checked />
96
+ </ExampleContainer>
97
+ <ExampleContainer>
98
+ <Title title="Disabled and required" theme="dark" level={4} />
99
+ <DxcCheckbox label="Checkbox" disabled required />
100
+ </ExampleContainer>
101
+ <ExampleContainer>
102
+ <Title title="Disabled, required and checked" theme="dark" level={4} />
103
+ <DxcCheckbox label="Checkbox" disabled required checked />
104
+ </ExampleContainer>
105
+ <ExampleContainer>
106
+ <Title title="Label after" theme="dark" level={4} />
107
+ <DxcCheckbox label="Checkbox" labelPosition="after" />
108
+ </ExampleContainer>
109
+ <ExampleContainer>
110
+ <Title title="Checked with label after" theme="dark" level={4} />
111
+ <DxcCheckbox label="Checkbox" checked labelPosition="after" />
112
+ </ExampleContainer>
113
+ <ExampleContainer>
114
+ <Title title="Required with label after" theme="dark" level={4} />
115
+ <DxcCheckbox label="Checkbox" required labelPosition="after" />
116
+ </ExampleContainer>
117
+ <ExampleContainer>
118
+ <Title title="Disabled and checked with label after" theme="dark" level={4} />
119
+ <DxcCheckbox label="Checkbox" disabled checked labelPosition="after" />
120
+ </ExampleContainer>
121
+ <ExampleContainer>
122
+ <Title title="Disabled and required with label after" theme="dark" level={4} />
123
+ <DxcCheckbox label="Checkbox" disabled required labelPosition="after" />
124
+ </ExampleContainer>
125
+ <ExampleContainer>
126
+ <Title title="Disabled, required and checked with label after" theme="dark" level={4} />
127
+ <DxcCheckbox label="Checkbox" disabled required checked labelPosition="after" />
128
+ </ExampleContainer>
129
+ <ExampleContainer pseudoState="pseudo-hover">
130
+ <Title title="Hovered" theme="dark" level={4} />
131
+ <DxcCheckbox label="Hovered" />
132
+ </ExampleContainer>
133
+ <ExampleContainer pseudoState="pseudo-hover">
134
+ <Title title="Hovered and checked" theme="dark" level={4} />
135
+ <DxcCheckbox label="Hovered" checked />
136
+ </ExampleContainer>
137
+ </>
138
+ </DarkContainer>
139
+ </BackgroundColorProvider>
140
+ <Title title="Sizes" theme="light" level={2} />
141
+ <ExampleContainer>
142
+ <DxcCheckbox label="Small" size="small" />
143
+ </ExampleContainer>
144
+ <ExampleContainer>
145
+ <DxcCheckbox label="Medium" size="medium" />
146
+ </ExampleContainer>
147
+ <ExampleContainer>
148
+ <DxcCheckbox label="Large" size="large" />
149
+ </ExampleContainer>
150
+ <ExampleContainer>
151
+ <DxcCheckbox label="FitContent" size="fitContent" />
152
+ </ExampleContainer>
153
+ <ExampleContainer>
154
+ <DxcCheckbox label="FillParent" size="fillParent" />
155
+ </ExampleContainer>
156
+ <Title title="Margins" theme="light" level={2} />
157
+ <ExampleContainer>
158
+ <Title title="Xxsmall" theme="light" level={4} />
159
+ <DxcCheckbox label="Xxsmall" margin={"xxsmall"} />
160
+ </ExampleContainer>
161
+ <ExampleContainer>
162
+ <Title title="Xsmall" theme="light" level={4} />
163
+ <DxcCheckbox label="Xsmall" margin={"xsmall"} />
164
+ </ExampleContainer>
165
+ <ExampleContainer>
166
+ <Title title="Small" theme="light" level={4} />
167
+ <DxcCheckbox label="Small" margin={"small"} />
168
+ </ExampleContainer>
169
+ <ExampleContainer>
170
+ <Title title="Medium" theme="light" level={4} />
171
+ <DxcCheckbox label="Medium" margin={"medium"} />
172
+ </ExampleContainer>
173
+ <ExampleContainer>
174
+ <Title title="Large" theme="light" level={4} />
175
+ <DxcCheckbox label="Large" margin={"large"} />
176
+ </ExampleContainer>
177
+ <ExampleContainer>
178
+ <Title title="Xlarge" theme="light" level={4} />
179
+ <DxcCheckbox label="Xlarge" margin={"xlarge"} />
180
+ </ExampleContainer>
181
+ <ExampleContainer>
182
+ <Title title="Xxlarge" theme="light" level={4} />
183
+ <DxcCheckbox label="Xxlarge" margin={"xxlarge"} />
184
+ </ExampleContainer>
185
+ </>
186
+ );
187
+
188
+ export const Chromatic = Checkbox.bind({});
189
+ Chromatic.play = async () => {
190
+ await userEvent.tab();
191
+ await userEvent.tab();
192
+ };