@dxc-technology/halstack-react 0.0.0-7d46b9f → 0.0.0-80ae676

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 (315) hide show
  1. package/BackgroundColorContext.js +50 -0
  2. package/ThemeContext.js +246 -0
  3. package/{dist/select/Select.js → V3Select/V3Select.js} +38 -132
  4. package/V3Select/index.d.ts +27 -0
  5. package/{dist/textarea/Textarea.js → V3Textarea/V3Textarea.js} +14 -18
  6. package/V3Textarea/index.d.ts +27 -0
  7. package/accordion/Accordion.d.ts +4 -0
  8. package/{dist/accordion → accordion}/Accordion.js +35 -130
  9. package/accordion/types.d.ts +68 -0
  10. package/accordion/types.js +5 -0
  11. package/accordion-group/AccordionGroup.d.ts +7 -0
  12. package/accordion-group/AccordionGroup.js +170 -0
  13. package/accordion-group/types.d.ts +72 -0
  14. package/accordion-group/types.js +5 -0
  15. package/alert/Alert.d.ts +4 -0
  16. package/{dist/alert → alert}/Alert.js +41 -154
  17. package/alert/types.d.ts +49 -0
  18. package/alert/types.js +5 -0
  19. package/badge/Badge.js +59 -0
  20. package/box/Box.d.ts +4 -0
  21. package/{dist/box → box}/Box.js +18 -45
  22. package/box/Box.stories.tsx +132 -0
  23. package/box/types.d.ts +47 -0
  24. package/box/types.js +5 -0
  25. package/button/Button.d.ts +4 -0
  26. package/{dist/button → button}/Button.js +23 -84
  27. package/button/Button.stories.tsx +293 -0
  28. package/button/types.d.ts +57 -0
  29. package/button/types.js +5 -0
  30. package/card/Card.d.ts +4 -0
  31. package/{dist/card → card}/Card.js +32 -121
  32. package/card/types.d.ts +69 -0
  33. package/card/types.js +5 -0
  34. package/checkbox/Checkbox.d.ts +4 -0
  35. package/{dist/checkbox → checkbox}/Checkbox.js +16 -63
  36. package/checkbox/Checkbox.stories.tsx +192 -0
  37. package/checkbox/types.d.ts +60 -0
  38. package/checkbox/types.js +5 -0
  39. package/{dist/chip → chip}/Chip.js +17 -61
  40. package/chip/index.d.ts +22 -0
  41. package/{dist/common → common}/OpenSans.css +0 -0
  42. package/{dist/common → common}/RequiredComponent.js +3 -11
  43. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  44. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  45. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  46. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  47. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  48. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  49. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  50. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  51. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  52. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  53. package/{dist/common → common}/utils.js +0 -0
  54. package/{dist/common → common}/variables.js +240 -107
  55. package/{dist/date → date}/Date.js +16 -22
  56. package/date/index.d.ts +27 -0
  57. package/date-input/DateInput.d.ts +4 -0
  58. package/{dist/new-date/NewDate.js → date-input/DateInput.js} +55 -94
  59. package/date-input/DateInput.stories.tsx +138 -0
  60. package/date-input/types.d.ts +100 -0
  61. package/date-input/types.js +5 -0
  62. package/dialog/Dialog.d.ts +4 -0
  63. package/{dist/dialog → dialog}/Dialog.js +20 -73
  64. package/dialog/types.d.ts +43 -0
  65. package/dialog/types.js +5 -0
  66. package/dropdown/Dropdown.d.ts +4 -0
  67. package/{dist/dropdown → dropdown}/Dropdown.js +44 -171
  68. package/dropdown/types.d.ts +89 -0
  69. package/dropdown/types.js +5 -0
  70. package/{dist/file-input → file-input}/FileInput.js +49 -161
  71. package/{dist/file-input → file-input}/FileItem.js +36 -123
  72. package/{dist/file-input → file-input}/index.d.ts +1 -1
  73. package/footer/Footer.d.ts +4 -0
  74. package/footer/Footer.js +266 -0
  75. package/footer/Footer.stories.jsx +151 -0
  76. package/footer/Icons.js +77 -0
  77. package/footer/types.d.ts +61 -0
  78. package/footer/types.js +5 -0
  79. package/header/Header.d.ts +7 -0
  80. package/header/Header.js +324 -0
  81. package/header/Icons.js +34 -0
  82. package/header/types.d.ts +45 -0
  83. package/header/types.js +5 -0
  84. package/{dist/heading → heading}/Heading.js +30 -72
  85. package/heading/index.d.ts +17 -0
  86. package/input-text/Icons.js +22 -0
  87. package/{dist/input-text → input-text}/InputText.js +37 -133
  88. package/input-text/index.d.ts +36 -0
  89. package/{dist/layout → layout}/ApplicationLayout.js +35 -131
  90. package/layout/Icons.js +55 -0
  91. package/link/Link.d.ts +3 -0
  92. package/{dist/link → link}/Link.js +18 -94
  93. package/link/Link.stories.tsx +70 -0
  94. package/link/types.d.ts +74 -0
  95. package/link/types.js +5 -0
  96. package/main.d.ts +44 -0
  97. package/{dist/main.js → main.js} +100 -96
  98. package/{dist/number/Number.js → number-input/NumberInput.js} +9 -17
  99. package/number-input/NumberInput.stories.jsx +115 -0
  100. package/{dist/number/NumberContext.js → number-input/NumberInputContext.js} +2 -2
  101. package/{dist/number → number-input}/index.d.ts +3 -3
  102. package/package.json +32 -25
  103. package/paginator/Icons.js +66 -0
  104. package/paginator/Paginator.d.ts +4 -0
  105. package/paginator/Paginator.js +198 -0
  106. package/paginator/Paginator.stories.tsx +63 -0
  107. package/paginator/types.d.ts +38 -0
  108. package/paginator/types.js +5 -0
  109. package/password-input/PasswordInput.d.ts +4 -0
  110. package/{dist/password/Password.js → password-input/PasswordInput.js} +26 -64
  111. package/password-input/PasswordInput.stories.tsx +131 -0
  112. package/password-input/types.d.ts +100 -0
  113. package/password-input/types.js +5 -0
  114. package/progress-bar/ProgressBar.d.ts +4 -0
  115. package/{dist/progress-bar → progress-bar}/ProgressBar.js +20 -92
  116. package/progress-bar/ProgressBar.stories.jsx +58 -0
  117. package/progress-bar/types.d.ts +37 -0
  118. package/progress-bar/types.js +5 -0
  119. package/radio/Radio.d.ts +4 -0
  120. package/{dist/radio → radio}/Radio.js +15 -50
  121. package/radio/Radio.stories.tsx +192 -0
  122. package/radio/types.d.ts +54 -0
  123. package/radio/types.js +5 -0
  124. package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +35 -119
  125. package/resultsetTable/index.d.ts +19 -0
  126. package/select/Select.js +865 -0
  127. package/select/index.d.ts +131 -0
  128. package/{dist/sidenav → sidenav}/Sidenav.js +15 -49
  129. package/sidenav/index.d.ts +13 -0
  130. package/slider/Slider.d.ts +4 -0
  131. package/slider/Slider.js +317 -0
  132. package/slider/Slider.stories.tsx +172 -0
  133. package/slider/types.d.ts +78 -0
  134. package/slider/types.js +5 -0
  135. package/spinner/Spinner.d.ts +4 -0
  136. package/spinner/Spinner.js +250 -0
  137. package/spinner/Spinner.stories.jsx +102 -0
  138. package/spinner/types.d.ts +32 -0
  139. package/spinner/types.js +5 -0
  140. package/switch/Switch.d.ts +4 -0
  141. package/{dist/switch → switch}/Switch.js +26 -69
  142. package/switch/Switch.stories.tsx +160 -0
  143. package/switch/types.d.ts +58 -0
  144. package/switch/types.js +5 -0
  145. package/table/Table.d.ts +4 -0
  146. package/{dist/table → table}/Table.js +10 -24
  147. package/table/Table.stories.jsx +276 -0
  148. package/table/types.d.ts +21 -0
  149. package/table/types.js +5 -0
  150. package/tabs/Tabs.d.ts +4 -0
  151. package/tabs/Tabs.js +211 -0
  152. package/tabs/types.d.ts +71 -0
  153. package/tabs/types.js +5 -0
  154. package/tag/Tag.d.ts +4 -0
  155. package/tag/Tag.js +193 -0
  156. package/tag/Tag.stories.tsx +145 -0
  157. package/tag/types.d.ts +60 -0
  158. package/tag/types.js +5 -0
  159. package/{dist/new-input-text/NewInputText.js → text-input/TextInput.js} +270 -412
  160. package/{dist/new-input-text → text-input}/index.d.ts +3 -3
  161. package/{dist/new-textarea/NewTextarea.js → textarea/Textarea.js} +27 -75
  162. package/textarea/Textarea.stories.jsx +135 -0
  163. package/{dist/new-textarea → textarea}/index.d.ts +1 -1
  164. package/{dist/toggle → toggle}/Toggle.js +15 -49
  165. package/toggle/index.d.ts +21 -0
  166. package/toggle-group/ToggleGroup.js +243 -0
  167. package/toggle-group/index.d.ts +21 -0
  168. package/{dist/upload → upload}/Upload.js +11 -15
  169. package/upload/buttons-upload/ButtonsUpload.js +111 -0
  170. package/upload/buttons-upload/Icons.js +40 -0
  171. package/upload/dragAndDropArea/DragAndDropArea.js +225 -0
  172. package/upload/dragAndDropArea/Icons.js +39 -0
  173. package/upload/file-upload/FileToUpload.js +115 -0
  174. package/upload/file-upload/Icons.js +66 -0
  175. package/{dist/upload → upload}/files-upload/FilesToUpload.js +12 -26
  176. package/upload/index.d.ts +15 -0
  177. package/upload/transaction/Icons.js +160 -0
  178. package/upload/transaction/Transaction.js +104 -0
  179. package/upload/transactions/Transactions.js +94 -0
  180. package/{dist/useTheme.js → useTheme.js} +0 -0
  181. package/wizard/Icons.js +65 -0
  182. package/{dist/wizard → wizard}/Wizard.js +32 -172
  183. package/wizard/index.d.ts +18 -0
  184. package/README.md +0 -66
  185. package/babel.config.js +0 -8
  186. package/dist/BackgroundColorContext.js +0 -46
  187. package/dist/ThemeContext.js +0 -248
  188. package/dist/accordion-group/AccordionGroup.js +0 -186
  189. package/dist/alert/index.d.ts +0 -51
  190. package/dist/badge/Badge.js +0 -63
  191. package/dist/checkbox/Checkbox.stories.js +0 -144
  192. package/dist/checkbox/readme.md +0 -116
  193. package/dist/date/Date.stories.js +0 -205
  194. package/dist/date/readme.md +0 -73
  195. package/dist/footer/Footer.js +0 -395
  196. package/dist/footer/Footer.stories.js +0 -94
  197. package/dist/footer/dxc_logo.svg +0 -15
  198. package/dist/footer/readme.md +0 -41
  199. package/dist/header/Header.js +0 -403
  200. package/dist/header/Header.stories.js +0 -176
  201. package/dist/header/close_icon.svg +0 -1
  202. package/dist/header/dxc_logo_black.svg +0 -8
  203. package/dist/header/hamb_menu_black.svg +0 -1
  204. package/dist/header/hamb_menu_white.svg +0 -1
  205. package/dist/header/readme.md +0 -33
  206. package/dist/input-text/InputText.stories.js +0 -209
  207. package/dist/input-text/error.svg +0 -1
  208. package/dist/input-text/readme.md +0 -91
  209. package/dist/layout/facebook.svg +0 -45
  210. package/dist/layout/linkedin.svg +0 -50
  211. package/dist/layout/twitter.svg +0 -53
  212. package/dist/link/readme.md +0 -51
  213. package/dist/main.d.ts +0 -7
  214. package/dist/new-date/index.d.ts +0 -95
  215. package/dist/paginator/Paginator.js +0 -289
  216. package/dist/paginator/images/next.svg +0 -3
  217. package/dist/paginator/images/nextPage.svg +0 -3
  218. package/dist/paginator/images/previous.svg +0 -3
  219. package/dist/paginator/images/previousPage.svg +0 -3
  220. package/dist/paginator/readme.md +0 -50
  221. package/dist/password/index.d.ts +0 -94
  222. package/dist/password/styles.css +0 -3
  223. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  224. package/dist/progress-bar/readme.md +0 -63
  225. package/dist/radio/Radio.stories.js +0 -166
  226. package/dist/radio/readme.md +0 -70
  227. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  228. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  229. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  230. package/dist/slider/Slider.js +0 -319
  231. package/dist/slider/Slider.stories.js +0 -241
  232. package/dist/slider/readme.md +0 -64
  233. package/dist/spinner/Spinner.js +0 -381
  234. package/dist/spinner/Spinner.stories.js +0 -183
  235. package/dist/spinner/readme.md +0 -65
  236. package/dist/switch/Switch.stories.js +0 -134
  237. package/dist/switch/readme.md +0 -133
  238. package/dist/tabs/Tabs.js +0 -343
  239. package/dist/tabs/Tabs.stories.js +0 -130
  240. package/dist/tabs/readme.md +0 -78
  241. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  242. package/dist/tabs-for-sections/readme.md +0 -78
  243. package/dist/tag/Tag.js +0 -282
  244. package/dist/toggle/Toggle.stories.js +0 -297
  245. package/dist/toggle/readme.md +0 -80
  246. package/dist/toggle-group/ToggleGroup.js +0 -223
  247. package/dist/upload/Upload.stories.js +0 -72
  248. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -139
  249. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  250. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  251. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  252. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  253. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  254. package/dist/upload/file-upload/FileToUpload.js +0 -184
  255. package/dist/upload/file-upload/audio-icon.svg +0 -4
  256. package/dist/upload/file-upload/close.svg +0 -4
  257. package/dist/upload/file-upload/file-icon.svg +0 -4
  258. package/dist/upload/file-upload/video-icon.svg +0 -4
  259. package/dist/upload/readme.md +0 -37
  260. package/dist/upload/transaction/Transaction.js +0 -175
  261. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  262. package/dist/upload/transaction/audio-icon.svg +0 -4
  263. package/dist/upload/transaction/error-icon.svg +0 -4
  264. package/dist/upload/transaction/file-icon-err.svg +0 -4
  265. package/dist/upload/transaction/file-icon.svg +0 -4
  266. package/dist/upload/transaction/image-icon-err.svg +0 -4
  267. package/dist/upload/transaction/image-icon.svg +0 -4
  268. package/dist/upload/transaction/success-icon.svg +0 -4
  269. package/dist/upload/transaction/video-icon-err.svg +0 -4
  270. package/dist/upload/transaction/video-icon.svg +0 -4
  271. package/dist/upload/transactions/Transactions.js +0 -138
  272. package/dist/wizard/invalid_icon.svg +0 -5
  273. package/dist/wizard/valid_icon.svg +0 -5
  274. package/dist/wizard/validation-wrong.svg +0 -6
  275. package/test/Accordion.test.js +0 -33
  276. package/test/AccordionGroup.test.js +0 -125
  277. package/test/Alert.test.js +0 -53
  278. package/test/Box.test.js +0 -10
  279. package/test/Button.test.js +0 -18
  280. package/test/Card.test.js +0 -30
  281. package/test/Checkbox.test.js +0 -45
  282. package/test/Chip.test.js +0 -25
  283. package/test/Date.test.js +0 -393
  284. package/test/Dialog.test.js +0 -23
  285. package/test/Dropdown.test.js +0 -145
  286. package/test/FileInput.test.js +0 -201
  287. package/test/Footer.test.js +0 -99
  288. package/test/Header.test.js +0 -39
  289. package/test/Heading.test.js +0 -35
  290. package/test/InputText.test.js +0 -240
  291. package/test/Link.test.js +0 -43
  292. package/test/NewDate.test.js +0 -232
  293. package/test/NewInputText.test.js +0 -734
  294. package/test/NewTextarea.test.js +0 -195
  295. package/test/Number.test.js +0 -257
  296. package/test/Paginator.test.js +0 -177
  297. package/test/Password.test.js +0 -83
  298. package/test/ProgressBar.test.js +0 -35
  299. package/test/Radio.test.js +0 -37
  300. package/test/ResultsetTable.test.js +0 -329
  301. package/test/Select.test.js +0 -212
  302. package/test/Sidenav.test.js +0 -45
  303. package/test/Slider.test.js +0 -82
  304. package/test/Spinner.test.js +0 -32
  305. package/test/Switch.test.js +0 -45
  306. package/test/Table.test.js +0 -36
  307. package/test/Tabs.test.js +0 -109
  308. package/test/TabsForSections.test.js +0 -34
  309. package/test/Tag.test.js +0 -32
  310. package/test/TextArea.test.js +0 -52
  311. package/test/ToggleGroup.test.js +0 -81
  312. package/test/Upload.test.js +0 -60
  313. package/test/Wizard.test.js +0 -130
  314. package/test/mocks/pngMock.js +0 -1
  315. package/test/mocks/svgMock.js +0 -1
@@ -0,0 +1,69 @@
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. You can pass
46
+ * an object with 'top', 'bottom', 'left' and 'right' properties
47
+ * in order to specify different margin sizes.
48
+ */
49
+ margin?: Space | Size;
50
+ /**
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.
54
+ */
55
+ contentPadding?: Space | Size;
56
+ /**
57
+ * Value of the tabindex given when there is an href.
58
+ */
59
+ tabIndex?: number;
60
+ /**
61
+ * Whether the card must be outlined.
62
+ */
63
+ outlined?: boolean;
64
+ /**
65
+ * Custom content that will be placed in the card component.
66
+ */
67
+ children?: React.ReactNode;
68
+ };
69
+ 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,8 +21,6 @@ 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");
@@ -35,35 +31,11 @@ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
35
31
 
36
32
  var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext.js"));
37
33
 
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"]);
34
+ var _templateObject, _templateObject2, _templateObject3;
40
35
 
41
- _templateObject3 = function _templateObject3() {
42
- return data;
43
- };
44
-
45
- return data;
46
- }
47
-
48
- function _templateObject2() {
49
- var data = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n width: ", ";\n display: inline-flex;\n align-items: center;\n cursor: ", ";\n position: relative;\n flex-direction: ", ";\n .MuiCheckbox-colorSecondary {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n }\n }\n &.Mui-disabled {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n opacity: 0.34;\n }\n }\n }\n &.Mui-checked {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n }\n }\n\n &:hover {\n background-color: transparent;\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n background-color: transparent;\n color: ", ";\n }\n }\n }\n }\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n width: 24px;\n height: 24px;\n }\n }\n }\n\n .MuiIconButton-colorSecondary {\n &:hover {\n background-color: transparent;\n }\n }\n .MuiButtonBase-root {\n &:hover {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n }\n }\n }\n\n &.Mui-focusVisible {\n .MuiIconButton-label {\n box-shadow: 0 0 0 2px\n ", ";\n }\n }\n z-index: 1;\n margin: ", ";\n margin-left: ", ";\n margin-right: ", ";\n padding: 0px;\n left: ", ";\n right: ", ";\n }\n"]);
50
-
51
- _templateObject2 = function _templateObject2() {
52
- return data;
53
- };
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); }
54
37
 
55
- return data;
56
- }
57
-
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,18 +89,19 @@ 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,
97
+ label: label,
125
98
  labelPosition: labelPosition,
126
99
  disabled: disabled,
127
100
  margin: margin,
128
101
  size: size,
129
102
  backgroundType: backgroundType,
130
103
  isLabelHovered: isLabelHovered
131
- }, _react["default"].createElement(_Checkbox["default"], {
104
+ }, /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
132
105
  checked: checked != undefined ? checked : innerChecked,
133
106
  inputProps: {
134
107
  name: name,
@@ -142,12 +115,12 @@ var DxcCheckbox = function DxcCheckbox(_ref) {
142
115
  disableRipple: true,
143
116
  className: "test",
144
117
  tabIndex: tabIndex
145
- }), _react["default"].createElement(CheckboxBlackBack, {
118
+ }), /*#__PURE__*/_react["default"].createElement(CheckboxBlackBack, {
146
119
  labelPosition: labelPosition,
147
120
  disabled: disabled,
148
121
  checked: checked != undefined ? checked : innerChecked,
149
122
  backgroundType: backgroundType
150
- }), 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, {
151
124
  labelPosition: labelPosition,
152
125
  onClick: disabled === true ? function (e) {} : handlerCheckboxChange,
153
126
  disabled: disabled,
@@ -214,7 +187,7 @@ var getNotDisabledColor = function getNotDisabledColor(props, element) {
214
187
  }
215
188
  };
216
189
 
217
- 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) {
218
191
  return props.disabled ? getDisabledColor(props, "label") : getNotDisabledColor(props, "label");
219
192
  }, function (props) {
220
193
  return props.disabled ? "not-allowed" : "pointer";
@@ -226,7 +199,7 @@ var LabelContainer = _styledComponents["default"].span(_templateObject(), functi
226
199
  return props.theme.fontWeight;
227
200
  });
228
201
 
229
- 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) {
230
203
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
231
204
  }, function (props) {
232
205
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
@@ -255,18 +228,16 @@ var CheckboxContainer = _styledComponents["default"].span(_templateObject2(), fu
255
228
  }, function (props) {
256
229
  return props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
257
230
  }, function (props) {
258
- return props.theme.checkLabelSpacing;
231
+ return props.labelPosition === "before" && props.label ? props.theme.checkLabelSpacing : "0";
259
232
  }, function (props) {
260
- return props.labelPosition === "after" ? "0px" : "";
261
- }, function (props) {
262
- return props.labelPosition === "before" ? "0px" : "";
233
+ return props.labelPosition === "after" && props.label ? props.theme.checkLabelSpacing : "0";
263
234
  }, function (props) {
264
235
  return props.labelPosition === "before" ? "unset" : "1px";
265
236
  }, function (props) {
266
237
  return props.labelPosition === "before" ? "1px" : "unset";
267
238
  });
268
239
 
269
- 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) {
270
241
  return !props.checked ? "transparent" : props.disabled ? getDisabledColor(props, "check") : getNotDisabledColor(props, "check");
271
242
  }, function (props) {
272
243
  return props.labelPosition === "before" ? "unset" : "5px";
@@ -278,23 +249,5 @@ var CheckboxBlackBack = _styledComponents["default"].span(_templateObject3(), fu
278
249
  return props.labelPosition === "before" ? "0px" : "";
279
250
  });
280
251
 
281
- DxcCheckbox.propTypes = {
282
- checked: _propTypes["default"].bool,
283
- value: _propTypes["default"].any,
284
- label: _propTypes["default"].string,
285
- labelPosition: _propTypes["default"].oneOf(["after", "before", ""]),
286
- name: _propTypes["default"].string,
287
- disabled: _propTypes["default"].bool,
288
- onChange: _propTypes["default"].func,
289
- required: _propTypes["default"].bool,
290
- size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
291
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
292
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
293
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
294
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
295
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
296
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
297
- tabIndex: _propTypes["default"].number
298
- };
299
252
  var _default = DxcCheckbox;
300
253
  exports["default"] = _default;
@@ -0,0 +1,192 @@
1
+ import React from "react";
2
+ import DxcCheckbox from "./Checkbox";
3
+ import { BackgroundColorProvider } from "../BackgroundColorContext";
4
+ import Title from "../../.storybook/components/Title";
5
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
+ import DarkContainer from "../../.storybook/components/DarkSection";
7
+ import { userEvent, within } from "@storybook/testing-library";
8
+
9
+ export default {
10
+ title: "Checkbox",
11
+ component: DxcCheckbox,
12
+ };
13
+
14
+ const Checkbox = () => (
15
+ <>
16
+ <>
17
+ <ExampleContainer>
18
+ <Title title="Default" theme="light" level={4} />
19
+ <DxcCheckbox label="Checkbox" />
20
+ </ExampleContainer>
21
+ <ExampleContainer>
22
+ <Title title="Focused" theme="light" level={4} />
23
+ <DxcCheckbox label="Focused" />
24
+ </ExampleContainer>
25
+ <ExampleContainer>
26
+ <Title title="Checked" theme="light" level={4} />
27
+ <DxcCheckbox label="Checkbox" checked />
28
+ </ExampleContainer>
29
+ <ExampleContainer>
30
+ <Title title="Required" theme="light" level={4} />
31
+ <DxcCheckbox label="Checkbox" required />
32
+ </ExampleContainer>
33
+ <ExampleContainer>
34
+ <Title title="Disabled and checked" theme="light" level={4} />
35
+ <DxcCheckbox label="Checkbox" disabled checked />
36
+ </ExampleContainer>
37
+ <ExampleContainer>
38
+ <Title title="Disabled and required" theme="light" level={4} />
39
+ <DxcCheckbox label="Checkbox" disabled required />
40
+ </ExampleContainer>
41
+ <ExampleContainer>
42
+ <Title title="Disabled, required and checked" theme="light" level={4} />
43
+ <DxcCheckbox label="Checkbox" disabled required checked />
44
+ </ExampleContainer>
45
+ <ExampleContainer>
46
+ <Title title="Label after" theme="light" level={4} />
47
+ <DxcCheckbox label="Checkbox" labelPosition="after" />
48
+ </ExampleContainer>
49
+ <ExampleContainer>
50
+ <Title title="Checked with label after" theme="light" level={4} />
51
+ <DxcCheckbox label="Checkbox" checked labelPosition="after" />
52
+ </ExampleContainer>
53
+ <ExampleContainer>
54
+ <Title title="Required with label after" theme="light" level={4} />
55
+ <DxcCheckbox label="Checkbox" required labelPosition="after" />
56
+ </ExampleContainer>
57
+ <ExampleContainer>
58
+ <Title title="Disabled and checked with label after" theme="light" level={4} />
59
+ <DxcCheckbox label="Checkbox" disabled checked labelPosition="after" />
60
+ </ExampleContainer>
61
+ <ExampleContainer>
62
+ <Title title="Disabled and required with label after" theme="light" level={4} />
63
+ <DxcCheckbox label="Checkbox" disabled required labelPosition="after" />
64
+ </ExampleContainer>
65
+ <ExampleContainer>
66
+ <Title title="Disabled, required and checked with label after" theme="light" level={4} />
67
+ <DxcCheckbox label="Checkbox" disabled required checked labelPosition="after" />
68
+ </ExampleContainer>
69
+ <ExampleContainer pseudoState="pseudo-hover">
70
+ <Title title="Hovered" theme="light" level={4} />
71
+ <DxcCheckbox label="Hovered" />
72
+ </ExampleContainer>
73
+ <ExampleContainer pseudoState="pseudo-hover">
74
+ <Title title="Hovered and checked" theme="light" level={4} />
75
+ <DxcCheckbox label="Hovered" checked />
76
+ </ExampleContainer>
77
+ </>
78
+ <BackgroundColorProvider color="#333333">
79
+ <DarkContainer>
80
+ <>
81
+ <ExampleContainer>
82
+ <Title title="Default" theme="dark" level={4} />
83
+ <DxcCheckbox label="Checkbox" />
84
+ </ExampleContainer>
85
+ <ExampleContainer>
86
+ <Title title="Checked" theme="dark" level={4} />
87
+ <DxcCheckbox label="Checkbox" checked />
88
+ </ExampleContainer>
89
+ <ExampleContainer>
90
+ <Title title="Required" theme="dark" level={4} />
91
+ <DxcCheckbox label="Checkbox" required />
92
+ </ExampleContainer>
93
+ <ExampleContainer>
94
+ <Title title="Disabled and checked" theme="dark" level={4} />
95
+ <DxcCheckbox label="Checkbox" disabled checked />
96
+ </ExampleContainer>
97
+ <ExampleContainer>
98
+ <Title title="Disabled and required" theme="dark" level={4} />
99
+ <DxcCheckbox label="Checkbox" disabled required />
100
+ </ExampleContainer>
101
+ <ExampleContainer>
102
+ <Title title="Disabled, required and checked" theme="dark" level={4} />
103
+ <DxcCheckbox label="Checkbox" disabled required checked />
104
+ </ExampleContainer>
105
+ <ExampleContainer>
106
+ <Title title="Label after" theme="dark" level={4} />
107
+ <DxcCheckbox label="Checkbox" labelPosition="after" />
108
+ </ExampleContainer>
109
+ <ExampleContainer>
110
+ <Title title="Checked with label after" theme="dark" level={4} />
111
+ <DxcCheckbox label="Checkbox" checked labelPosition="after" />
112
+ </ExampleContainer>
113
+ <ExampleContainer>
114
+ <Title title="Required with label after" theme="dark" level={4} />
115
+ <DxcCheckbox label="Checkbox" required labelPosition="after" />
116
+ </ExampleContainer>
117
+ <ExampleContainer>
118
+ <Title title="Disabled and checked with label after" theme="dark" level={4} />
119
+ <DxcCheckbox label="Checkbox" disabled checked labelPosition="after" />
120
+ </ExampleContainer>
121
+ <ExampleContainer>
122
+ <Title title="Disabled and required with label after" theme="dark" level={4} />
123
+ <DxcCheckbox label="Checkbox" disabled required labelPosition="after" />
124
+ </ExampleContainer>
125
+ <ExampleContainer>
126
+ <Title title="Disabled, required and checked with label after" theme="dark" level={4} />
127
+ <DxcCheckbox label="Checkbox" disabled required checked labelPosition="after" />
128
+ </ExampleContainer>
129
+ <ExampleContainer pseudoState="pseudo-hover">
130
+ <Title title="Hovered" theme="dark" level={4} />
131
+ <DxcCheckbox label="Hovered" />
132
+ </ExampleContainer>
133
+ <ExampleContainer pseudoState="pseudo-hover">
134
+ <Title title="Hovered and checked" theme="dark" level={4} />
135
+ <DxcCheckbox label="Hovered" checked />
136
+ </ExampleContainer>
137
+ </>
138
+ </DarkContainer>
139
+ </BackgroundColorProvider>
140
+ <Title title="Sizes" theme="light" level={2} />
141
+ <ExampleContainer>
142
+ <DxcCheckbox label="Small" size="small" />
143
+ </ExampleContainer>
144
+ <ExampleContainer>
145
+ <DxcCheckbox label="Medium" size="medium" />
146
+ </ExampleContainer>
147
+ <ExampleContainer>
148
+ <DxcCheckbox label="Large" size="large" />
149
+ </ExampleContainer>
150
+ <ExampleContainer>
151
+ <DxcCheckbox label="FitContent" size="fitContent" />
152
+ </ExampleContainer>
153
+ <ExampleContainer>
154
+ <DxcCheckbox label="FillParent" size="fillParent" />
155
+ </ExampleContainer>
156
+ <Title title="Margins" theme="light" level={2} />
157
+ <ExampleContainer>
158
+ <Title title="Xxsmall" theme="light" level={4} />
159
+ <DxcCheckbox label="Xxsmall" margin={"xxsmall"} />
160
+ </ExampleContainer>
161
+ <ExampleContainer>
162
+ <Title title="Xsmall" theme="light" level={4} />
163
+ <DxcCheckbox label="Xsmall" margin={"xsmall"} />
164
+ </ExampleContainer>
165
+ <ExampleContainer>
166
+ <Title title="Small" theme="light" level={4} />
167
+ <DxcCheckbox label="Small" margin={"small"} />
168
+ </ExampleContainer>
169
+ <ExampleContainer>
170
+ <Title title="Medium" theme="light" level={4} />
171
+ <DxcCheckbox label="Medium" margin={"medium"} />
172
+ </ExampleContainer>
173
+ <ExampleContainer>
174
+ <Title title="Large" theme="light" level={4} />
175
+ <DxcCheckbox label="Large" margin={"large"} />
176
+ </ExampleContainer>
177
+ <ExampleContainer>
178
+ <Title title="Xlarge" theme="light" level={4} />
179
+ <DxcCheckbox label="Xlarge" margin={"xlarge"} />
180
+ </ExampleContainer>
181
+ <ExampleContainer>
182
+ <Title title="Xxlarge" theme="light" level={4} />
183
+ <DxcCheckbox label="Xxlarge" margin={"xxlarge"} />
184
+ </ExampleContainer>
185
+ </>
186
+ );
187
+
188
+ export const Chromatic = Checkbox.bind({});
189
+ Chromatic.play = async () => {
190
+ await userEvent.tab();
191
+ await userEvent.tab();
192
+ };
@@ -0,0 +1,60 @@
1
+ declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
+ declare type Margin = {
3
+ top?: Space;
4
+ bottom?: Space;
5
+ left?: Space;
6
+ right?: Space;
7
+ };
8
+ declare type Props = {
9
+ /**
10
+ * If true, the component is checked. If undefined the component will be
11
+ * uncontrolled and the value will be managed internally by the component.
12
+ */
13
+ checked?: boolean;
14
+ /**
15
+ * Will be passed to the value attribute of the html input element.
16
+ * When inside a form, this value will be only submitted if the checkbox is checked.
17
+ */
18
+ value?: string;
19
+ /**
20
+ * Text to be placed next to the checkbox.
21
+ */
22
+ label: string;
23
+ /**
24
+ * Whether the label should appear after or before the checkbox.
25
+ */
26
+ labelPosition?: "before" | "after";
27
+ /**
28
+ * Name attribute of the input element.
29
+ */
30
+ name?: string;
31
+ /**
32
+ * If true, the component will be disabled.
33
+ */
34
+ disabled?: boolean;
35
+ /**
36
+ * If true, the checkbox will change its appearence, showing that the value is required.
37
+ */
38
+ required?: boolean;
39
+ /**
40
+ * This function will be called when the user clicks the checkbox.
41
+ * The new value will be passed as a parameter.
42
+ */
43
+ onChange?: (val: boolean) => void;
44
+ /**
45
+ * Size of the margin to be applied to the component
46
+ * ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
47
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties
48
+ * in order to specify different margin sizes.
49
+ */
50
+ margin?: Space | Margin;
51
+ /**
52
+ * Size of the component ('small' | 'medium' | 'large' | 'fillParent' | 'fitContent').
53
+ */
54
+ size?: "small" | "medium" | "large" | "fillParent" | "fitContent";
55
+ /**
56
+ * Value of the tabindex.
57
+ */
58
+ tabIndex?: number;
59
+ };
60
+ export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });