@dxc-technology/halstack-react 0.0.0-d4fec82 → 0.0.0-d53aaf7

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 (297) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +1 -4
  3. package/ThemeContext.d.ts +10 -0
  4. package/ThemeContext.js +26 -29
  5. package/accordion/Accordion.d.ts +1 -1
  6. package/accordion/Accordion.js +13 -23
  7. package/accordion/Accordion.stories.tsx +307 -0
  8. package/accordion/Accordion.test.js +72 -0
  9. package/accordion/types.d.ts +8 -8
  10. package/accordion-group/AccordionGroup.js +2 -2
  11. package/accordion-group/AccordionGroup.stories.tsx +225 -0
  12. package/accordion-group/AccordionGroup.test.js +133 -0
  13. package/accordion-group/types.d.ts +4 -8
  14. package/alert/Alert.js +2 -2
  15. package/alert/Alert.stories.tsx +170 -0
  16. package/alert/Alert.test.js +92 -0
  17. package/alert/types.d.ts +1 -1
  18. package/badge/Badge.d.ts +4 -0
  19. package/badge/Badge.js +1 -1
  20. package/badge/types.d.ts +4 -0
  21. package/badge/types.js +5 -0
  22. package/bleed/Bleed.d.ts +3 -0
  23. package/bleed/Bleed.js +84 -0
  24. package/bleed/Bleed.stories.tsx +342 -0
  25. package/bleed/types.d.ts +37 -0
  26. package/bleed/types.js +5 -0
  27. package/box/Box.d.ts +4 -0
  28. package/box/Box.js +6 -32
  29. package/box/{Box.stories.jsx → Box.stories.tsx} +0 -0
  30. package/box/Box.test.js +18 -0
  31. package/box/types.d.ts +43 -0
  32. package/box/types.js +5 -0
  33. package/button/Button.d.ts +1 -1
  34. package/button/Button.js +15 -26
  35. package/button/Button.stories.tsx +223 -242
  36. package/button/Button.test.js +35 -0
  37. package/button/types.d.ts +9 -13
  38. package/card/Card.js +5 -6
  39. package/card/Card.stories.tsx +201 -0
  40. package/card/Card.test.js +50 -0
  41. package/card/ice-cream.jpg +0 -0
  42. package/card/types.d.ts +4 -6
  43. package/checkbox/Checkbox.d.ts +1 -1
  44. package/checkbox/Checkbox.js +9 -15
  45. package/checkbox/Checkbox.stories.tsx +192 -0
  46. package/checkbox/Checkbox.test.js +78 -0
  47. package/checkbox/types.d.ts +6 -2
  48. package/chip/Chip.d.ts +4 -0
  49. package/chip/Chip.js +16 -76
  50. package/chip/Chip.stories.tsx +119 -0
  51. package/chip/Chip.test.js +56 -0
  52. package/chip/types.d.ts +45 -0
  53. package/chip/types.js +5 -0
  54. package/common/variables.js +85 -281
  55. package/date-input/DateInput.js +26 -33
  56. package/date-input/DateInput.stories.tsx +138 -0
  57. package/date-input/DateInput.test.js +492 -0
  58. package/date-input/types.d.ts +4 -0
  59. package/dialog/Dialog.d.ts +4 -0
  60. package/dialog/Dialog.js +8 -26
  61. package/dialog/Dialog.stories.tsx +212 -0
  62. package/dialog/Dialog.test.js +40 -0
  63. package/dialog/types.d.ts +43 -0
  64. package/dialog/types.js +5 -0
  65. package/dropdown/Dropdown.d.ts +1 -1
  66. package/dropdown/Dropdown.js +13 -35
  67. package/dropdown/Dropdown.stories.tsx +249 -0
  68. package/dropdown/Dropdown.test.js +189 -0
  69. package/dropdown/types.d.ts +6 -15
  70. package/file-input/FileInput.d.ts +4 -0
  71. package/file-input/FileInput.js +167 -109
  72. package/file-input/FileInput.stories.tsx +507 -0
  73. package/file-input/FileInput.test.js +457 -0
  74. package/file-input/FileItem.d.ts +14 -0
  75. package/file-input/FileItem.js +12 -21
  76. package/file-input/types.d.ts +112 -0
  77. package/file-input/types.js +5 -0
  78. package/footer/Footer.d.ts +1 -1
  79. package/footer/Footer.js +28 -36
  80. package/footer/Footer.stories.tsx +130 -0
  81. package/footer/Footer.test.js +109 -0
  82. package/footer/Icons.d.ts +2 -0
  83. package/footer/Icons.js +3 -3
  84. package/footer/types.d.ts +22 -18
  85. package/header/Header.d.ts +7 -0
  86. package/header/Header.js +28 -30
  87. package/header/Header.stories.tsx +162 -0
  88. package/header/Header.test.js +63 -0
  89. package/header/Icons.d.ts +2 -0
  90. package/header/Icons.js +2 -27
  91. package/header/types.d.ts +47 -0
  92. package/header/types.js +5 -0
  93. package/heading/Heading.d.ts +4 -0
  94. package/heading/Heading.js +7 -24
  95. package/heading/Heading.stories.tsx +54 -0
  96. package/heading/Heading.test.js +186 -0
  97. package/heading/types.d.ts +33 -0
  98. package/heading/types.js +5 -0
  99. package/inset/Inset.d.ts +3 -0
  100. package/inset/Inset.js +84 -0
  101. package/inset/Inset.stories.tsx +229 -0
  102. package/inset/types.d.ts +37 -0
  103. package/inset/types.js +5 -0
  104. package/layout/ApplicationLayout.d.ts +10 -0
  105. package/layout/ApplicationLayout.js +17 -21
  106. package/layout/ApplicationLayout.stories.tsx +171 -0
  107. package/layout/types.d.ts +57 -0
  108. package/layout/types.js +5 -0
  109. package/link/Link.d.ts +3 -0
  110. package/link/Link.js +10 -40
  111. package/link/Link.stories.tsx +151 -0
  112. package/link/Link.test.js +91 -0
  113. package/link/types.d.ts +70 -0
  114. package/link/types.js +5 -0
  115. package/list/List.d.ts +4 -0
  116. package/list/List.js +47 -0
  117. package/list/List.stories.tsx +95 -0
  118. package/list/types.d.ts +7 -0
  119. package/list/types.js +5 -0
  120. package/main.d.ts +11 -8
  121. package/main.js +62 -38
  122. package/number-input/NumberInput.d.ts +4 -0
  123. package/number-input/NumberInput.js +16 -68
  124. package/number-input/{NumberInput.stories.jsx → NumberInput.stories.tsx} +5 -5
  125. package/number-input/NumberInput.test.js +508 -0
  126. package/number-input/NumberInputContext.d.ts +4 -0
  127. package/number-input/NumberInputContext.js +5 -2
  128. package/number-input/numberInputContextTypes.d.ts +19 -0
  129. package/number-input/numberInputContextTypes.js +5 -0
  130. package/number-input/types.d.ts +121 -0
  131. package/number-input/types.js +5 -0
  132. package/package.json +5 -2
  133. package/paginator/Paginator.js +2 -8
  134. package/paginator/Paginator.stories.tsx +63 -0
  135. package/paginator/Paginator.test.js +266 -0
  136. package/password-input/PasswordInput.d.ts +4 -0
  137. package/password-input/PasswordInput.js +19 -55
  138. package/password-input/{PasswordInput.stories.jsx → PasswordInput.stories.tsx} +4 -4
  139. package/password-input/PasswordInput.test.js +183 -0
  140. package/password-input/types.d.ts +107 -0
  141. package/password-input/types.js +5 -0
  142. package/progress-bar/ProgressBar.js +5 -5
  143. package/progress-bar/ProgressBar.stories.jsx +58 -0
  144. package/progress-bar/ProgressBar.test.js +65 -0
  145. package/quick-nav/QuickNav.d.ts +4 -0
  146. package/quick-nav/QuickNav.js +66 -0
  147. package/quick-nav/QuickNav.stories.tsx +237 -0
  148. package/quick-nav/types.d.ts +21 -0
  149. package/quick-nav/types.js +5 -0
  150. package/radio/Radio.js +2 -2
  151. package/radio/Radio.stories.tsx +192 -0
  152. package/radio/Radio.test.js +71 -0
  153. package/radio/types.d.ts +2 -2
  154. package/radio-group/Radio.d.ts +4 -0
  155. package/radio-group/Radio.js +141 -0
  156. package/radio-group/RadioGroup.d.ts +4 -0
  157. package/radio-group/RadioGroup.js +280 -0
  158. package/radio-group/RadioGroup.stories.tsx +100 -0
  159. package/radio-group/RadioGroup.test.js +695 -0
  160. package/radio-group/types.d.ts +114 -0
  161. package/radio-group/types.js +5 -0
  162. package/resultsetTable/ResultsetTable.d.ts +4 -0
  163. package/resultsetTable/ResultsetTable.js +9 -29
  164. package/resultsetTable/ResultsetTable.stories.tsx +275 -0
  165. package/resultsetTable/ResultsetTable.test.js +306 -0
  166. package/resultsetTable/types.d.ts +67 -0
  167. package/resultsetTable/types.js +5 -0
  168. package/row/Row.d.ts +3 -0
  169. package/row/Row.js +127 -0
  170. package/row/Row.stories.tsx +237 -0
  171. package/row/types.d.ts +28 -0
  172. package/row/types.js +5 -0
  173. package/select/Icons.d.ts +10 -0
  174. package/select/Icons.js +93 -0
  175. package/select/Option.d.ts +4 -0
  176. package/select/Option.js +110 -0
  177. package/select/Select.d.ts +4 -0
  178. package/select/Select.js +116 -249
  179. package/select/Select.stories.tsx +582 -0
  180. package/select/Select.test.js +2057 -0
  181. package/select/types.d.ts +194 -0
  182. package/select/types.js +5 -0
  183. package/sidenav/Sidenav.d.ts +9 -0
  184. package/sidenav/Sidenav.js +6 -15
  185. package/sidenav/Sidenav.stories.tsx +182 -0
  186. package/sidenav/Sidenav.test.js +56 -0
  187. package/sidenav/types.d.ts +50 -0
  188. package/sidenav/types.js +5 -0
  189. package/slider/Slider.d.ts +1 -1
  190. package/slider/Slider.js +45 -33
  191. package/slider/Slider.stories.tsx +177 -0
  192. package/slider/Slider.test.js +150 -0
  193. package/slider/types.d.ts +6 -7
  194. package/spinner/Spinner.d.ts +4 -0
  195. package/spinner/Spinner.js +8 -25
  196. package/spinner/Spinner.stories.jsx +103 -0
  197. package/spinner/Spinner.test.js +64 -0
  198. package/spinner/types.d.ts +32 -0
  199. package/spinner/types.js +5 -0
  200. package/stack/Stack.d.ts +3 -0
  201. package/stack/Stack.js +97 -0
  202. package/stack/Stack.stories.tsx +164 -0
  203. package/stack/types.d.ts +24 -0
  204. package/stack/types.js +5 -0
  205. package/switch/Switch.d.ts +1 -1
  206. package/switch/Switch.js +22 -9
  207. package/switch/Switch.stories.tsx +160 -0
  208. package/switch/Switch.test.js +98 -0
  209. package/switch/types.d.ts +4 -0
  210. package/table/Table.d.ts +4 -0
  211. package/table/Table.js +3 -3
  212. package/table/Table.stories.jsx +277 -0
  213. package/table/Table.test.js +26 -0
  214. package/table/types.d.ts +21 -0
  215. package/table/types.js +5 -0
  216. package/tabs/Tabs.js +11 -9
  217. package/tabs/Tabs.stories.tsx +120 -0
  218. package/tabs/Tabs.test.js +123 -0
  219. package/tabs/types.d.ts +25 -18
  220. package/tag/Tag.d.ts +4 -0
  221. package/tag/Tag.js +34 -56
  222. package/tag/Tag.stories.tsx +142 -0
  223. package/tag/Tag.test.js +60 -0
  224. package/tag/types.d.ts +69 -0
  225. package/tag/types.js +5 -0
  226. package/text/Text.d.ts +7 -0
  227. package/text/Text.js +30 -0
  228. package/text/Text.stories.tsx +19 -0
  229. package/text-input/TextInput.d.ts +4 -0
  230. package/text-input/TextInput.js +62 -89
  231. package/text-input/TextInput.stories.tsx +474 -0
  232. package/text-input/TextInput.test.js +1725 -0
  233. package/text-input/types.d.ts +163 -0
  234. package/text-input/types.js +5 -0
  235. package/textarea/Textarea.d.ts +4 -0
  236. package/textarea/Textarea.js +37 -68
  237. package/textarea/Textarea.stories.jsx +37 -15
  238. package/textarea/Textarea.test.js +437 -0
  239. package/textarea/types.d.ts +134 -0
  240. package/textarea/types.js +5 -0
  241. package/toggle-group/ToggleGroup.d.ts +4 -0
  242. package/toggle-group/ToggleGroup.js +18 -46
  243. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  244. package/toggle-group/ToggleGroup.test.js +156 -0
  245. package/toggle-group/types.d.ts +105 -0
  246. package/toggle-group/types.js +5 -0
  247. package/useTheme.d.ts +2 -0
  248. package/useTheme.js +1 -1
  249. package/wizard/Wizard.d.ts +4 -0
  250. package/wizard/Wizard.js +81 -66
  251. package/wizard/Wizard.stories.tsx +214 -0
  252. package/wizard/Wizard.test.js +141 -0
  253. package/wizard/types.d.ts +64 -0
  254. package/wizard/types.js +5 -0
  255. package/V3Select/V3Select.js +0 -455
  256. package/V3Select/index.d.ts +0 -27
  257. package/V3Textarea/V3Textarea.js +0 -260
  258. package/V3Textarea/index.d.ts +0 -27
  259. package/box/index.d.ts +0 -25
  260. package/chip/index.d.ts +0 -22
  261. package/date/Date.js +0 -373
  262. package/date/index.d.ts +0 -27
  263. package/dialog/index.d.ts +0 -18
  264. package/file-input/index.d.ts +0 -81
  265. package/header/index.d.ts +0 -25
  266. package/heading/index.d.ts +0 -17
  267. package/input-text/Icons.js +0 -22
  268. package/input-text/InputText.js +0 -611
  269. package/input-text/index.d.ts +0 -36
  270. package/link/index.d.ts +0 -23
  271. package/number-input/index.d.ts +0 -113
  272. package/password-input/index.d.ts +0 -94
  273. package/resultsetTable/index.d.ts +0 -19
  274. package/select/index.d.ts +0 -131
  275. package/sidenav/index.d.ts +0 -13
  276. package/spinner/index.d.ts +0 -17
  277. package/table/index.d.ts +0 -13
  278. package/tag/index.d.ts +0 -24
  279. package/text-input/index.d.ts +0 -135
  280. package/textarea/index.d.ts +0 -117
  281. package/toggle/Toggle.js +0 -186
  282. package/toggle/index.d.ts +0 -21
  283. package/toggle-group/index.d.ts +0 -21
  284. package/upload/Upload.js +0 -201
  285. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  286. package/upload/buttons-upload/Icons.js +0 -40
  287. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  288. package/upload/dragAndDropArea/Icons.js +0 -39
  289. package/upload/file-upload/FileToUpload.js +0 -115
  290. package/upload/file-upload/Icons.js +0 -66
  291. package/upload/files-upload/FilesToUpload.js +0 -109
  292. package/upload/index.d.ts +0 -15
  293. package/upload/transaction/Icons.js +0 -160
  294. package/upload/transaction/Transaction.js +0 -104
  295. package/upload/transactions/Transactions.js +0 -94
  296. package/wizard/Icons.js +0 -65
  297. package/wizard/index.d.ts +0 -18
package/card/Card.js CHANGED
@@ -21,7 +21,7 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
21
 
22
22
  var _variables = require("../common/variables.js");
23
23
 
24
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
24
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
25
25
 
26
26
  var _Box = _interopRequireDefault(require("../box/Box"));
27
27
 
@@ -47,7 +47,7 @@ var DxcCard = function DxcCard(_ref) {
47
47
  _ref$tabIndex = _ref.tabIndex,
48
48
  tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,
49
49
  _ref$outlined = _ref.outlined,
50
- outlined = _ref$outlined === void 0 ? false : _ref$outlined,
50
+ outlined = _ref$outlined === void 0 ? true : _ref$outlined,
51
51
  children = _ref.children;
52
52
  var colorsTheme = (0, _useTheme["default"])();
53
53
 
@@ -57,12 +57,11 @@ var DxcCard = function DxcCard(_ref) {
57
57
  changeIsHovered = _useState2[1];
58
58
 
59
59
  var tagContent = /*#__PURE__*/_react["default"].createElement(_Box["default"], {
60
- shadowDepth: outlined ? 0 : isHovered && (onClick || linkHref) ? 2 : 1
60
+ shadowDepth: !outlined ? 0 : isHovered && (onClick || linkHref) ? 2 : 1
61
61
  }, /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
62
62
  theme: colorsTheme.card
63
63
  }, /*#__PURE__*/_react["default"].createElement(CardContainer, {
64
64
  hasAction: onClick || linkHref,
65
- outlined: outlined,
66
65
  imagePosition: imagePosition
67
66
  }, imageSrc && /*#__PURE__*/_react["default"].createElement(ImageContainer, {
68
67
  imageBgColor: imageBgColor
@@ -91,7 +90,7 @@ var DxcCard = function DxcCard(_ref) {
91
90
  }, tagContent) || tagContent);
92
91
  };
93
92
 
94
- var StyledDxcCard = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n cursor: ", ";\n outline: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (_ref2) {
93
+ var StyledDxcCard = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n cursor: ", ";\n outline: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n :focus {\n outline: #0095ff auto 1px;\n }\n"])), function (_ref2) {
95
94
  var hasAction = _ref2.hasAction;
96
95
  return hasAction && "pointer" || "unset";
97
96
  }, function (_ref3) {
@@ -126,7 +125,7 @@ var CardContainer = _styledComponents["default"].div(_templateObject2 || (_templ
126
125
  return hasAction ? "" : "unset";
127
126
  });
128
127
 
129
- var StyledLink = _styledComponents["default"].a(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n cursor: pointer;\n text-decoration: none;\n"])));
128
+ var StyledLink = _styledComponents["default"].a(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n cursor: pointer;\n text-decoration: none;\n\n :focus {\n outline-color: #0095ff;\n }\n"])));
130
129
 
131
130
  var TagImage = _styledComponents["default"].img(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n object-fit: ", ";\n"])), function (_ref11) {
132
131
  var imagePadding = _ref11.imagePadding;
@@ -0,0 +1,201 @@
1
+ import React from "react";
2
+ import Title from "../../.storybook/components/Title";
3
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
4
+ import DxcCard from "./Card";
5
+ import imagePath from "./ice-cream.jpg";
6
+ import { userEvent, within } from "@storybook/testing-library";
7
+
8
+ export default {
9
+ title: "Card",
10
+ component: DxcCard,
11
+ };
12
+
13
+ const Card = () => (
14
+ <>
15
+ <Title title="Default" theme="light" level={4} />
16
+ <ExampleContainer>
17
+ <DxcCard>Default</DxcCard>
18
+ </ExampleContainer>
19
+ <Title title="Not outlined" theme="light" level={4} />
20
+ <ExampleContainer>
21
+ <DxcCard outlined={false}>Not outlined</DxcCard>
22
+ </ExampleContainer>
23
+ <Title title="Default with link" theme="light" level={4} />
24
+ <ExampleContainer>
25
+ <DxcCard linkHref="https://www.dxc.com">Default with link</DxcCard>
26
+ </ExampleContainer>
27
+ <Title title="Focused default with link" theme="light" level={4} />
28
+ <ExampleContainer>
29
+ <DxcCard linkHref="https://www.dxc.com">Focused default with link</DxcCard>
30
+ </ExampleContainer>
31
+ <Title title="Hovered default with link" theme="light" level={4} />
32
+ <ExampleContainer>
33
+ <DxcCard linkHref="https://www.dxc.com">Hovered default with link</DxcCard>
34
+ </ExampleContainer>
35
+ <Title title="Default with action" theme="light" level={4} />
36
+ <ExampleContainer>
37
+ <DxcCard onClick={() => {}}>Default with action</DxcCard>
38
+ </ExampleContainer>
39
+ <Title title="Default with image" theme="light" level={4} />
40
+ <ExampleContainer>
41
+ <DxcCard imageSrc={imagePath}>Default</DxcCard>
42
+ </ExampleContainer>
43
+ <Title title="Default image with background color" theme="light" level={4} />
44
+ <ExampleContainer>
45
+ <DxcCard imageSrc={imagePath} imageBgColor="yellow">
46
+ Background color
47
+ </DxcCard>
48
+ </ExampleContainer>
49
+ <Title title="Default image with position after" theme="light" level={4} />
50
+ <ExampleContainer>
51
+ <DxcCard imageSrc={imagePath} imagePosition="after">
52
+ Position after
53
+ </DxcCard>
54
+ </ExampleContainer>
55
+ <Title title="Image cover" theme="light" level={4} />
56
+ <ExampleContainer>
57
+ <DxcCard imageSrc={imagePath} imageCover>
58
+ Image cover
59
+ </DxcCard>
60
+ </ExampleContainer>
61
+ <Title title="Image cover with position after" theme="light" level={4} />
62
+ <ExampleContainer>
63
+ <DxcCard imageSrc={imagePath} imageCover imagePosition="after">
64
+ Image cover with position after
65
+ </DxcCard>
66
+ </ExampleContainer>
67
+ <Title title="Image padding" theme="light" level={2} />
68
+ <ExampleContainer>
69
+ <Title title="Xxsmall" theme="light" level={4} />
70
+ <DxcCard imageSrc={imagePath} imagePadding="xxsmall" imageCover>
71
+ Xxsmall
72
+ </DxcCard>
73
+ </ExampleContainer>
74
+ <ExampleContainer>
75
+ <Title title="Xsmall" theme="light" level={4} />
76
+ <DxcCard imageSrc={imagePath} imagePadding="xsmall" imageCover>
77
+ Xsmall
78
+ </DxcCard>
79
+ </ExampleContainer>
80
+ <ExampleContainer>
81
+ <Title title="Small" theme="light" level={4} />
82
+ <DxcCard imageSrc={imagePath} imagePadding="small" imageCover>
83
+ Small
84
+ </DxcCard>
85
+ </ExampleContainer>
86
+ <ExampleContainer>
87
+ <Title title="Medium" theme="light" level={4} />
88
+ <DxcCard imageSrc={imagePath} imagePadding="medium" imageCover>
89
+ Medium
90
+ </DxcCard>
91
+ </ExampleContainer>
92
+ <ExampleContainer>
93
+ <Title title="Large" theme="light" level={4} />
94
+ <DxcCard imageSrc={imagePath} imagePadding="large" imageCover>
95
+ Large
96
+ </DxcCard>
97
+ </ExampleContainer>
98
+ <ExampleContainer>
99
+ <Title title="Xlarge" theme="light" level={4} />
100
+ <DxcCard imageSrc={imagePath} imagePadding="xlarge" imageCover>
101
+ Xlarge
102
+ </DxcCard>
103
+ </ExampleContainer>
104
+ <ExampleContainer>
105
+ <Title title="Xxlarge" theme="light" level={4} />
106
+ <DxcCard imageSrc={imagePath} imagePadding="xxlarge" imageCover>
107
+ Xxlarge
108
+ </DxcCard>
109
+ </ExampleContainer>
110
+ <Title title="Content padding" theme="light" level={2} />
111
+ <ExampleContainer>
112
+ <Title title="Xxsmall" theme="light" level={4} />
113
+ <DxcCard contentPadding="xxsmall">Xxsmall</DxcCard>
114
+ </ExampleContainer>
115
+ <ExampleContainer>
116
+ <Title title="Xsmall" theme="light" level={4} />
117
+ <DxcCard contentPadding="xsmall">Xsmall</DxcCard>
118
+ </ExampleContainer>
119
+ <ExampleContainer>
120
+ <Title title="Small" theme="light" level={4} />
121
+ <DxcCard contentPadding="small">Small</DxcCard>
122
+ </ExampleContainer>
123
+ <ExampleContainer>
124
+ <Title title="Medium" theme="light" level={4} />
125
+ <DxcCard contentPadding="medium">Medium</DxcCard>
126
+ </ExampleContainer>
127
+ <ExampleContainer>
128
+ <Title title="Large" theme="light" level={4} />
129
+ <DxcCard contentPadding="large">Large</DxcCard>
130
+ </ExampleContainer>
131
+ <ExampleContainer>
132
+ <Title title="Xlarge" theme="light" level={4} />
133
+ <DxcCard contentPadding="xlarge">Xlarge</DxcCard>
134
+ </ExampleContainer>
135
+ <ExampleContainer>
136
+ <Title title="Xxlarge" theme="light" level={4} />
137
+ <DxcCard contentPadding="xxlarge">Xxlarge</DxcCard>
138
+ </ExampleContainer>
139
+ <Title title="Margin" theme="light" level={2} />
140
+ <ExampleContainer>
141
+ <Title title="Xxsmall" theme="light" level={4} />
142
+ <DxcCard margin="xxsmall">Xxsmall</DxcCard>
143
+ </ExampleContainer>
144
+ <ExampleContainer>
145
+ <Title title="Xsmall" theme="light" level={4} />
146
+ <DxcCard margin="xsmall">Xsmall</DxcCard>
147
+ </ExampleContainer>
148
+ <ExampleContainer>
149
+ <Title title="Small" theme="light" level={4} />
150
+ <DxcCard margin="small">Small</DxcCard>
151
+ </ExampleContainer>
152
+ <ExampleContainer>
153
+ <Title title="Medium" theme="light" level={4} />
154
+ <DxcCard margin="medium">Medium</DxcCard>
155
+ </ExampleContainer>
156
+ <ExampleContainer>
157
+ <Title title="Large" theme="light" level={4} />
158
+ <DxcCard margin="large">Large</DxcCard>
159
+ </ExampleContainer>
160
+ <ExampleContainer>
161
+ <Title title="Xlarge" theme="light" level={4} />
162
+ <DxcCard margin="xlarge">Xlarge</DxcCard>
163
+ </ExampleContainer>
164
+ <ExampleContainer>
165
+ <Title title="Xxlarge" theme="light" level={4} />
166
+ <DxcCard margin="xxlarge">Xxlarge</DxcCard>
167
+ </ExampleContainer>
168
+ </>
169
+ );
170
+
171
+ const actionCard = () => (
172
+ <>
173
+ <ExampleContainer>
174
+ <Title title="Focused default with action" theme="light" level={4} />
175
+ <DxcCard onClick={() => {}}>Focused default with action</DxcCard>
176
+ </ExampleContainer>
177
+ <ExampleContainer expanded>
178
+ <Title title="Hovered default with action" theme="light" level={4} />
179
+ <DxcCard onClick={() => {}}>Hovered default with action</DxcCard>
180
+ </ExampleContainer>
181
+ </>
182
+ );
183
+
184
+ const linkStates = async (focusCard, hoverCard) => {
185
+ await focusCard.focus();
186
+ await userEvent.hover(hoverCard);
187
+ };
188
+
189
+ export const ActionCardStates = actionCard.bind({});
190
+ ActionCardStates.play = async ({ canvasElement }) => {
191
+ const canvas = within(canvasElement);
192
+ await userEvent.tab();
193
+ await userEvent.hover(canvas.getAllByText("Hovered default with action")[1]);
194
+ };
195
+
196
+ export const Chromatic = Card.bind({});
197
+ Chromatic.play = async ({ canvasElement }) => {
198
+ const canvas = within(canvasElement);
199
+ const linkCards = canvas.getAllByRole("link");
200
+ await linkStates(linkCards[1], linkCards[2]);
201
+ };
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _react2 = require("@testing-library/react");
8
+
9
+ var _Card = _interopRequireDefault(require("./Card"));
10
+
11
+ describe("Card component tests", function () {
12
+ test("Card renders with correct content", function () {
13
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], null, "test-card")),
14
+ getByText = _render.getByText;
15
+
16
+ expect(getByText("test-card")).toBeTruthy();
17
+ });
18
+ test("Card renders with correct href", function () {
19
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], {
20
+ linkHref: "/testPage"
21
+ }, "test-card")),
22
+ getByRole = _render2.getByRole;
23
+
24
+ var card = getByRole("link");
25
+ expect(card.getAttribute("href")).toEqual("/testPage");
26
+ });
27
+ test("Card renders with correct image", function () {
28
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], {
29
+ imageSrc: "/testImage"
30
+ }, "test-card")),
31
+ getByRole = _render3.getByRole;
32
+
33
+ var card = getByRole("img");
34
+ expect(card.getAttribute("src")).toEqual("/testImage");
35
+ });
36
+ test("OnClick function is called", function () {
37
+ var onClick = jest.fn();
38
+
39
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], {
40
+ onClick: onClick
41
+ }, "test-card")),
42
+ getByText = _render4.getByText;
43
+
44
+ var card = getByText("test-card");
45
+
46
+ _react2.fireEvent.click(card);
47
+
48
+ expect(onClick).toHaveBeenCalled();
49
+ });
50
+ });
Binary file
package/card/types.d.ts CHANGED
@@ -42,15 +42,13 @@ declare type Props = {
42
42
  */
43
43
  imageCover?: boolean;
44
44
  /**
45
- * Size of the margin to be applied to the component. You can pass
46
- * an object with 'top', 'bottom', 'left' and 'right' properties
47
- * in order to specify different margin sizes.
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.
48
47
  */
49
48
  margin?: Space | Size;
50
49
  /**
51
- * Size of the padding to be applied to the content area. You can pass
52
- * an object with 'top', 'bottom', 'left' and 'right' properties in
53
- * order to specify different padding sizes.
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.
54
52
  */
55
53
  contentPadding?: Space | Size;
56
54
  /**
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import CheckboxPropsType from "./types";
3
- declare const DxcCheckbox: ({ checked, value, label, labelPosition, name, disabled, onChange, required, margin, size, tabIndex, }: CheckboxPropsType) => JSX.Element;
3
+ declare const DxcCheckbox: ({ checked, defaultChecked, value, label, labelPosition, name, disabled, onChange, required, margin, size, tabIndex, }: CheckboxPropsType) => JSX.Element;
4
4
  export default DxcCheckbox;
@@ -27,9 +27,9 @@ var _variables = require("../common/variables.js");
27
27
 
28
28
  var _utils = require("../common/utils.js");
29
29
 
30
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
30
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
31
31
 
32
- var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext.js"));
32
+ var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
33
33
 
34
34
  var _templateObject, _templateObject2, _templateObject3;
35
35
 
@@ -39,6 +39,8 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
39
39
 
40
40
  var DxcCheckbox = function DxcCheckbox(_ref) {
41
41
  var checked = _ref.checked,
42
+ _ref$defaultChecked = _ref.defaultChecked,
43
+ defaultChecked = _ref$defaultChecked === void 0 ? false : _ref$defaultChecked,
42
44
  value = _ref.value,
43
45
  _ref$label = _ref.label,
44
46
  label = _ref$label === void 0 ? "" : _ref$label,
@@ -57,7 +59,7 @@ var DxcCheckbox = function DxcCheckbox(_ref) {
57
59
  _ref$tabIndex = _ref.tabIndex,
58
60
  tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
59
61
 
60
- var _useState = (0, _react.useState)(false),
62
+ var _useState = (0, _react.useState)(defaultChecked),
61
63
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
62
64
  innerChecked = _useState2[0],
63
65
  setInnerChecked = _useState2[1];
@@ -102,12 +104,12 @@ var DxcCheckbox = function DxcCheckbox(_ref) {
102
104
  backgroundType: backgroundType,
103
105
  isLabelHovered: isLabelHovered
104
106
  }, /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
105
- checked: checked != undefined ? checked : innerChecked,
107
+ checked: checked !== null && checked !== void 0 ? checked : innerChecked,
106
108
  inputProps: {
107
109
  name: name,
108
110
  "aria-label": label,
109
111
  role: "checkbox",
110
- "aria-checked": checked != undefined ? checked : innerChecked
112
+ "aria-checked": checked !== null && checked !== void 0 ? checked : innerChecked
111
113
  },
112
114
  onChange: handlerCheckboxChange,
113
115
  value: value,
@@ -118,7 +120,7 @@ var DxcCheckbox = function DxcCheckbox(_ref) {
118
120
  }), /*#__PURE__*/_react["default"].createElement(CheckboxBlackBack, {
119
121
  labelPosition: labelPosition,
120
122
  disabled: disabled,
121
- checked: checked != undefined ? checked : innerChecked,
123
+ checked: checked !== null && checked !== void 0 ? checked : innerChecked,
122
124
  backgroundType: backgroundType
123
125
  }), required && /*#__PURE__*/_react["default"].createElement(_RequiredComponent["default"], null), label && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
124
126
  labelPosition: labelPosition,
@@ -151,19 +153,15 @@ var getDisabledColor = function getDisabledColor(props, element) {
151
153
  switch (element) {
152
154
  case "check":
153
155
  return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledCheckColorOnDark : props.theme.disabledCheckColor;
154
- break;
155
156
 
156
157
  case "background":
157
158
  return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledBackgroundColorCheckedOnDark : props.theme.disabledBackgroundColorChecked;
158
- break;
159
159
 
160
160
  case "border":
161
161
  return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledBorderColorOnDark : props.theme.disabledBorderColor;
162
- break;
163
162
 
164
163
  case "label":
165
164
  return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledFontColorOnDark : props.theme.disabledFontColor;
166
- break;
167
165
  }
168
166
  };
169
167
 
@@ -171,19 +169,15 @@ var getNotDisabledColor = function getNotDisabledColor(props, element) {
171
169
  switch (element) {
172
170
  case "check":
173
171
  return props.backgroundType && props.backgroundType === "dark" ? props.theme.checkColorOnDark : props.theme.checkColor;
174
- break;
175
172
 
176
173
  case "background":
177
174
  return props.backgroundType && props.backgroundType === "dark" ? props.theme.backgroundColorCheckedOnDark : props.theme.backgroundColorChecked;
178
- break;
179
175
 
180
176
  case "border":
181
177
  return props.backgroundType && props.backgroundType === "dark" ? props.theme.borderColorOnDark : props.theme.borderColor;
182
- break;
183
178
 
184
179
  case "label":
185
180
  return props.backgroundType && props.backgroundType === "dark" ? props.theme.fontColorOnDark : props.theme.fontColor;
186
- break;
187
181
  }
188
182
  };
189
183
 
@@ -199,7 +193,7 @@ var LabelContainer = _styledComponents["default"].span(_templateObject || (_temp
199
193
  return props.theme.fontWeight;
200
194
  });
201
195
 
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) {
196
+ 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 border-radius: 2px;\n outline: 2px solid\n ", ";\n outline-offset: -1px;\n }\n }\n z-index: 1;\n margin-left: ", ";\n margin-right: ", ";\n padding: 0px;\n left: ", ";\n right: ", ";\n }\n"])), function (props) {
203
197
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
204
198
  }, function (props) {
205
199
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
@@ -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" defaultChecked />
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 defaultChecked />
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 defaultChecked />
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" defaultChecked 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 defaultChecked 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 defaultChecked 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" defaultChecked />
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" defaultChecked />
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 defaultChecked />
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 defaultChecked />
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" defaultChecked 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 defaultChecked 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 defaultChecked 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" defaultChecked />
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
+ };