@dxc-technology/halstack-react 0.0.0-5fdc79c → 0.0.0-633a60e

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 (337) hide show
  1. package/BackgroundColorContext.js +50 -0
  2. package/ThemeContext.js +246 -0
  3. package/V3Select/V3Select.js +455 -0
  4. package/V3Select/index.d.ts +27 -0
  5. package/V3Textarea/V3Textarea.js +260 -0
  6. package/V3Textarea/index.d.ts +27 -0
  7. package/accordion/Accordion.d.ts +4 -0
  8. package/accordion/Accordion.js +258 -0
  9. package/accordion/types.d.ts +68 -0
  10. package/accordion/types.js +5 -0
  11. package/accordion-group/AccordionGroup.d.ts +7 -0
  12. package/accordion-group/AccordionGroup.js +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/alert/Alert.js +290 -0
  17. package/alert/types.d.ts +49 -0
  18. package/alert/types.js +5 -0
  19. package/badge/Badge.js +59 -0
  20. package/{dist/box → box}/Box.js +38 -34
  21. package/box/Box.stories.jsx +132 -0
  22. package/box/index.d.ts +25 -0
  23. package/button/Button.d.ts +4 -0
  24. package/button/Button.js +177 -0
  25. package/button/Button.stories.tsx +293 -0
  26. package/button/types.d.ts +57 -0
  27. package/button/types.js +5 -0
  28. package/card/Card.d.ts +4 -0
  29. package/card/Card.js +165 -0
  30. package/card/types.d.ts +69 -0
  31. package/card/types.js +5 -0
  32. package/checkbox/Checkbox.d.ts +4 -0
  33. package/checkbox/Checkbox.js +253 -0
  34. package/checkbox/Checkbox.stories.tsx +192 -0
  35. package/checkbox/types.d.ts +60 -0
  36. package/checkbox/types.js +5 -0
  37. package/chip/Chip.js +221 -0
  38. package/chip/index.d.ts +22 -0
  39. package/{dist/common → common}/OpenSans.css +0 -0
  40. package/{dist/common → common}/RequiredComponent.js +5 -19
  41. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  42. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  43. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  44. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  45. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  46. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  47. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  48. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  49. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  50. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  51. package/common/utils.js +22 -0
  52. package/common/variables.js +1569 -0
  53. package/{dist/date → date}/Date.js +87 -71
  54. package/date/index.d.ts +27 -0
  55. package/date-input/DateInput.d.ts +4 -0
  56. package/date-input/DateInput.js +361 -0
  57. package/date-input/types.d.ts +100 -0
  58. package/date-input/types.js +5 -0
  59. package/dialog/Dialog.d.ts +4 -0
  60. package/dialog/Dialog.js +165 -0
  61. package/dialog/types.d.ts +43 -0
  62. package/dialog/types.js +5 -0
  63. package/dropdown/Dropdown.d.ts +4 -0
  64. package/dropdown/Dropdown.js +417 -0
  65. package/dropdown/types.d.ts +89 -0
  66. package/dropdown/types.js +5 -0
  67. package/file-input/FileInput.js +532 -0
  68. package/file-input/FileItem.js +193 -0
  69. package/file-input/index.d.ts +81 -0
  70. package/footer/Footer.d.ts +4 -0
  71. package/footer/Footer.js +266 -0
  72. package/footer/Footer.stories.jsx +151 -0
  73. package/footer/Icons.js +77 -0
  74. package/footer/types.d.ts +61 -0
  75. package/footer/types.js +5 -0
  76. package/header/Header.d.ts +7 -0
  77. package/header/Header.js +324 -0
  78. package/header/Icons.js +34 -0
  79. package/header/types.d.ts +45 -0
  80. package/header/types.js +5 -0
  81. package/heading/Heading.js +176 -0
  82. package/heading/index.d.ts +17 -0
  83. package/input-text/Icons.js +22 -0
  84. package/input-text/InputText.js +611 -0
  85. package/input-text/index.d.ts +36 -0
  86. package/layout/ApplicationLayout.js +235 -0
  87. package/layout/Icons.js +55 -0
  88. package/link/Link.d.ts +3 -0
  89. package/link/Link.js +161 -0
  90. package/link/types.d.ts +74 -0
  91. package/link/types.js +5 -0
  92. package/main.d.ts +44 -0
  93. package/{dist/main.js → main.js} +143 -43
  94. package/number-input/NumberInput.js +128 -0
  95. package/number-input/NumberInput.stories.jsx +115 -0
  96. package/{dist/ThemeContext.js → number-input/NumberInputContext.js} +3 -2
  97. package/number-input/index.d.ts +113 -0
  98. package/package.json +39 -24
  99. package/paginator/Icons.js +66 -0
  100. package/paginator/Paginator.d.ts +4 -0
  101. package/paginator/Paginator.js +198 -0
  102. package/paginator/Paginator.stories.tsx +63 -0
  103. package/paginator/types.d.ts +38 -0
  104. package/paginator/types.js +5 -0
  105. package/password-input/PasswordInput.d.ts +4 -0
  106. package/password-input/PasswordInput.js +162 -0
  107. package/password-input/PasswordInput.stories.tsx +131 -0
  108. package/password-input/types.d.ts +100 -0
  109. package/password-input/types.js +5 -0
  110. package/progress-bar/ProgressBar.d.ts +4 -0
  111. package/progress-bar/ProgressBar.js +170 -0
  112. package/progress-bar/types.d.ts +37 -0
  113. package/progress-bar/types.js +5 -0
  114. package/radio/Radio.d.ts +4 -0
  115. package/radio/Radio.js +174 -0
  116. package/radio/Radio.stories.tsx +192 -0
  117. package/radio/types.d.ts +54 -0
  118. package/radio/types.js +5 -0
  119. package/resultsetTable/ResultsetTable.js +274 -0
  120. package/resultsetTable/index.d.ts +19 -0
  121. package/select/Select.js +865 -0
  122. package/select/index.d.ts +131 -0
  123. package/sidenav/Sidenav.js +145 -0
  124. package/sidenav/index.d.ts +13 -0
  125. package/slider/Slider.d.ts +4 -0
  126. package/slider/Slider.js +306 -0
  127. package/slider/types.d.ts +83 -0
  128. package/slider/types.js +5 -0
  129. package/spinner/Spinner.d.ts +4 -0
  130. package/spinner/Spinner.js +250 -0
  131. package/spinner/Spinner.stories.jsx +102 -0
  132. package/spinner/types.d.ts +32 -0
  133. package/spinner/types.js +5 -0
  134. package/switch/Switch.d.ts +4 -0
  135. package/switch/Switch.js +179 -0
  136. package/switch/Switch.stories.tsx +160 -0
  137. package/switch/types.d.ts +58 -0
  138. package/switch/types.js +5 -0
  139. package/table/Table.d.ts +4 -0
  140. package/table/Table.js +118 -0
  141. package/table/Table.stories.jsx +276 -0
  142. package/table/types.d.ts +21 -0
  143. package/table/types.js +5 -0
  144. package/tabs/Tabs.d.ts +4 -0
  145. package/tabs/Tabs.js +211 -0
  146. package/tabs/types.d.ts +71 -0
  147. package/tabs/types.js +5 -0
  148. package/tag/Tag.js +214 -0
  149. package/tag/Tag.stories.jsx +145 -0
  150. package/tag/index.d.ts +24 -0
  151. package/text-input/TextInput.js +825 -0
  152. package/text-input/index.d.ts +135 -0
  153. package/textarea/Textarea.js +317 -0
  154. package/textarea/Textarea.stories.jsx +135 -0
  155. package/textarea/index.d.ts +117 -0
  156. package/{dist/toggle → toggle}/Toggle.js +30 -67
  157. package/toggle/index.d.ts +21 -0
  158. package/toggle-group/ToggleGroup.js +243 -0
  159. package/toggle-group/index.d.ts +21 -0
  160. package/{dist/upload → upload}/Upload.js +23 -22
  161. package/upload/buttons-upload/ButtonsUpload.js +111 -0
  162. package/upload/buttons-upload/Icons.js +40 -0
  163. package/upload/dragAndDropArea/DragAndDropArea.js +225 -0
  164. package/upload/dragAndDropArea/Icons.js +39 -0
  165. package/upload/file-upload/FileToUpload.js +115 -0
  166. package/upload/file-upload/Icons.js +66 -0
  167. package/upload/files-upload/FilesToUpload.js +109 -0
  168. package/upload/index.d.ts +15 -0
  169. package/upload/transaction/Icons.js +160 -0
  170. package/upload/transaction/Transaction.js +104 -0
  171. package/upload/transactions/Transactions.js +94 -0
  172. package/useTheme.js +22 -0
  173. package/wizard/Icons.js +65 -0
  174. package/wizard/Wizard.js +271 -0
  175. package/wizard/index.d.ts +18 -0
  176. package/README.md +0 -66
  177. package/babel.config.js +0 -4
  178. package/dist/accordion/Accordion.js +0 -242
  179. package/dist/accordion/Accordion.stories.js +0 -207
  180. package/dist/accordion/readme.md +0 -96
  181. package/dist/alert/Alert.js +0 -304
  182. package/dist/alert/Alert.stories.js +0 -158
  183. package/dist/alert/close.svg +0 -4
  184. package/dist/alert/error.svg +0 -4
  185. package/dist/alert/info.svg +0 -4
  186. package/dist/alert/readme.md +0 -43
  187. package/dist/alert/success.svg +0 -4
  188. package/dist/alert/warning.svg +0 -4
  189. package/dist/button/Button.js +0 -181
  190. package/dist/button/Button.stories.js +0 -224
  191. package/dist/button/readme.md +0 -93
  192. package/dist/card/Card.js +0 -217
  193. package/dist/checkbox/Checkbox.js +0 -240
  194. package/dist/checkbox/Checkbox.stories.js +0 -144
  195. package/dist/checkbox/readme.md +0 -116
  196. package/dist/chip/Chip.js +0 -173
  197. package/dist/common/services/example-service.js +0 -10
  198. package/dist/common/services/example-service.test.js +0 -12
  199. package/dist/common/utils.js +0 -42
  200. package/dist/common/variables.js +0 -400
  201. package/dist/date/Date.stories.js +0 -205
  202. package/dist/date/calendar.svg +0 -1
  203. package/dist/date/calendar_dark.svg +0 -1
  204. package/dist/date/readme.md +0 -73
  205. package/dist/dialog/Dialog.js +0 -197
  206. package/dist/dialog/Dialog.stories.js +0 -217
  207. package/dist/dialog/readme.md +0 -32
  208. package/dist/dropdown/Dropdown.js +0 -424
  209. package/dist/dropdown/Dropdown.stories.js +0 -249
  210. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  211. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  212. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  213. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  214. package/dist/dropdown/readme.md +0 -69
  215. package/dist/footer/Footer.js +0 -346
  216. package/dist/footer/Footer.stories.js +0 -94
  217. package/dist/footer/dxc_logo_wht.png +0 -0
  218. package/dist/footer/readme.md +0 -41
  219. package/dist/header/Header.js +0 -372
  220. package/dist/header/Header.stories.js +0 -176
  221. package/dist/header/close_icon.svg +0 -1
  222. package/dist/header/dxc_logo_black.png +0 -0
  223. package/dist/header/dxc_logo_white.png +0 -0
  224. package/dist/header/hamb_menu_black.svg +0 -1
  225. package/dist/header/hamb_menu_white.svg +0 -1
  226. package/dist/header/readme.md +0 -33
  227. package/dist/heading/Heading.js +0 -153
  228. package/dist/input-text/InputText.js +0 -519
  229. package/dist/input-text/InputText.stories.js +0 -209
  230. package/dist/input-text/error.svg +0 -1
  231. package/dist/input-text/readme.md +0 -91
  232. package/dist/link/Link.js +0 -136
  233. package/dist/link/readme.md +0 -51
  234. package/dist/paginator/Paginator.js +0 -196
  235. package/dist/paginator/images/next.svg +0 -3
  236. package/dist/paginator/images/nextPage.svg +0 -3
  237. package/dist/paginator/images/previous.svg +0 -3
  238. package/dist/paginator/images/previousPage.svg +0 -3
  239. package/dist/paginator/readme.md +0 -50
  240. package/dist/progress-bar/ProgressBar.js +0 -185
  241. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  242. package/dist/progress-bar/readme.md +0 -63
  243. package/dist/radio/Radio.js +0 -195
  244. package/dist/radio/Radio.stories.js +0 -166
  245. package/dist/radio/readme.md +0 -70
  246. package/dist/resultsetTable/ResultsetTable.js +0 -333
  247. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  248. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  249. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  250. package/dist/select/Select.js +0 -451
  251. package/dist/select/Select.stories.js +0 -235
  252. package/dist/select/readme.md +0 -72
  253. package/dist/sidenav/Sidenav.js +0 -236
  254. package/dist/sidenav/arrow_icon.svg +0 -3
  255. package/dist/slider/Slider.js +0 -258
  256. package/dist/slider/Slider.stories.js +0 -241
  257. package/dist/slider/readme.md +0 -64
  258. package/dist/spinner/Spinner.js +0 -193
  259. package/dist/spinner/Spinner.stories.js +0 -183
  260. package/dist/spinner/readme.md +0 -65
  261. package/dist/switch/Switch.js +0 -199
  262. package/dist/switch/Switch.stories.js +0 -134
  263. package/dist/switch/readme.md +0 -133
  264. package/dist/table/Table.js +0 -87
  265. package/dist/tabs/Tabs.js +0 -172
  266. package/dist/tabs/Tabs.stories.js +0 -130
  267. package/dist/tabs/readme.md +0 -78
  268. package/dist/tabs-for-sections/TabsForSections.js +0 -107
  269. package/dist/tabs-for-sections/readme.md +0 -78
  270. package/dist/tag/Tag.js +0 -217
  271. package/dist/textarea/Textarea.js +0 -227
  272. package/dist/toggle/Toggle.stories.js +0 -297
  273. package/dist/toggle/readme.md +0 -80
  274. package/dist/upload/Upload.stories.js +0 -72
  275. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -122
  276. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  277. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  278. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -279
  279. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  280. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  281. package/dist/upload/file-upload/FileToUpload.js +0 -158
  282. package/dist/upload/file-upload/audio-icon.svg +0 -4
  283. package/dist/upload/file-upload/close.svg +0 -4
  284. package/dist/upload/file-upload/file-icon.svg +0 -4
  285. package/dist/upload/file-upload/video-icon.svg +0 -4
  286. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  287. package/dist/upload/readme.md +0 -37
  288. package/dist/upload/transaction/Transaction.js +0 -155
  289. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  290. package/dist/upload/transaction/audio-icon.svg +0 -4
  291. package/dist/upload/transaction/error-icon.svg +0 -4
  292. package/dist/upload/transaction/file-icon-err.svg +0 -4
  293. package/dist/upload/transaction/file-icon.svg +0 -4
  294. package/dist/upload/transaction/image-icon-err.svg +0 -4
  295. package/dist/upload/transaction/image-icon.svg +0 -4
  296. package/dist/upload/transaction/success-icon.svg +0 -4
  297. package/dist/upload/transaction/video-icon-err.svg +0 -4
  298. package/dist/upload/transaction/video-icon.svg +0 -4
  299. package/dist/upload/transactions/Transactions.js +0 -120
  300. package/dist/wizard/Wizard.js +0 -327
  301. package/dist/wizard/invalid_icon.svg +0 -6
  302. package/dist/wizard/valid_icon.svg +0 -6
  303. package/dist/wizard/validation-wrong.svg +0 -6
  304. package/test/Accordion.test.js +0 -33
  305. package/test/Alert.test.js +0 -53
  306. package/test/Box.test.js +0 -10
  307. package/test/Button.test.js +0 -18
  308. package/test/Card.test.js +0 -30
  309. package/test/Checkbox.test.js +0 -45
  310. package/test/Chip.test.js +0 -25
  311. package/test/Date.test.js +0 -393
  312. package/test/Dialog.test.js +0 -23
  313. package/test/Dropdown.test.js +0 -130
  314. package/test/Footer.test.js +0 -99
  315. package/test/Header.test.js +0 -39
  316. package/test/Heading.test.js +0 -35
  317. package/test/InputText.test.js +0 -236
  318. package/test/Link.test.js +0 -25
  319. package/test/Paginator.test.js +0 -165
  320. package/test/ProgressBar.test.js +0 -35
  321. package/test/Radio.test.js +0 -37
  322. package/test/ResultsetTable.test.js +0 -282
  323. package/test/Select.test.js +0 -191
  324. package/test/Sidenav.test.js +0 -87
  325. package/test/Slider.test.js +0 -65
  326. package/test/Spinner.test.js +0 -27
  327. package/test/Switch.test.js +0 -45
  328. package/test/Table.test.js +0 -36
  329. package/test/Tabs.test.js +0 -88
  330. package/test/TabsForSections.test.js +0 -34
  331. package/test/Tag.test.js +0 -32
  332. package/test/TextArea.test.js +0 -52
  333. package/test/Toggle.test.js +0 -43
  334. package/test/Upload.test.js +0 -60
  335. package/test/Wizard.test.js +0 -130
  336. package/test/mocks/pngMock.js +0 -1
  337. package/test/mocks/svgMock.js +0 -1
@@ -0,0 +1,253 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
+
14
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
+
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
+
22
+ var _Checkbox = _interopRequireDefault(require("@material-ui/core/Checkbox"));
23
+
24
+ var _RequiredComponent = _interopRequireDefault(require("../common/RequiredComponent"));
25
+
26
+ var _variables = require("../common/variables.js");
27
+
28
+ var _utils = require("../common/utils.js");
29
+
30
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
31
+
32
+ var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext.js"));
33
+
34
+ var _templateObject, _templateObject2, _templateObject3;
35
+
36
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
37
+
38
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
39
+
40
+ var DxcCheckbox = function DxcCheckbox(_ref) {
41
+ var checked = _ref.checked,
42
+ value = _ref.value,
43
+ _ref$label = _ref.label,
44
+ label = _ref$label === void 0 ? "" : _ref$label,
45
+ _ref$labelPosition = _ref.labelPosition,
46
+ labelPosition = _ref$labelPosition === void 0 ? "before" : _ref$labelPosition,
47
+ _ref$name = _ref.name,
48
+ name = _ref$name === void 0 ? "" : _ref$name,
49
+ _ref$disabled = _ref.disabled,
50
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
51
+ onChange = _ref.onChange,
52
+ _ref$required = _ref.required,
53
+ required = _ref$required === void 0 ? false : _ref$required,
54
+ margin = _ref.margin,
55
+ _ref$size = _ref.size,
56
+ size = _ref$size === void 0 ? "fitContent" : _ref$size,
57
+ _ref$tabIndex = _ref.tabIndex,
58
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
59
+
60
+ var _useState = (0, _react.useState)(false),
61
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
62
+ innerChecked = _useState2[0],
63
+ setInnerChecked = _useState2[1];
64
+
65
+ var _useState3 = (0, _react.useState)(false),
66
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
67
+ isLabelHovered = _useState4[0],
68
+ setIsLabelHovered = _useState4[1];
69
+
70
+ var colorsTheme = (0, _useTheme["default"])();
71
+ var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
72
+
73
+ var handlerCheckboxChange = function handlerCheckboxChange(checkboxValue) {
74
+ if (checked === undefined) {
75
+ var isChecked = checkboxValue.target.checked === undefined ? !innerChecked : checkboxValue.target.checked;
76
+ setInnerChecked(isChecked);
77
+
78
+ if (typeof onChange === "function") {
79
+ onChange(isChecked);
80
+ }
81
+ } else {
82
+ if (typeof onChange === "function") {
83
+ onChange(!checked);
84
+ }
85
+ }
86
+ };
87
+
88
+ var handleLabelHover = function handleLabelHover() {
89
+ setIsLabelHovered(!isLabelHovered);
90
+ };
91
+
92
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
93
+ theme: colorsTheme.checkbox
94
+ }, /*#__PURE__*/_react["default"].createElement(CheckboxContainer, {
95
+ id: name,
96
+ brightness: _variables.componentTokens,
97
+ label: label,
98
+ labelPosition: labelPosition,
99
+ disabled: disabled,
100
+ margin: margin,
101
+ size: size,
102
+ backgroundType: backgroundType,
103
+ isLabelHovered: isLabelHovered
104
+ }, /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
105
+ checked: checked != undefined ? checked : innerChecked,
106
+ inputProps: {
107
+ name: name,
108
+ "aria-label": label,
109
+ role: "checkbox",
110
+ "aria-checked": checked != undefined ? checked : innerChecked
111
+ },
112
+ onChange: handlerCheckboxChange,
113
+ value: value,
114
+ disabled: disabled,
115
+ disableRipple: true,
116
+ className: "test",
117
+ tabIndex: tabIndex
118
+ }), /*#__PURE__*/_react["default"].createElement(CheckboxBlackBack, {
119
+ labelPosition: labelPosition,
120
+ disabled: disabled,
121
+ checked: checked != undefined ? checked : innerChecked,
122
+ backgroundType: backgroundType
123
+ }), required && /*#__PURE__*/_react["default"].createElement(_RequiredComponent["default"], null), label && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
124
+ labelPosition: labelPosition,
125
+ onClick: disabled === true ? function (e) {} : handlerCheckboxChange,
126
+ disabled: disabled,
127
+ className: "labelContainer",
128
+ backgroundType: backgroundType,
129
+ onMouseOver: handleLabelHover,
130
+ onMouseOut: handleLabelHover
131
+ }, label)));
132
+ };
133
+
134
+ var sizes = {
135
+ small: "120px",
136
+ medium: "240px",
137
+ large: "480px",
138
+ fillParent: "100%",
139
+ fitContent: "unset"
140
+ };
141
+
142
+ var calculateWidth = function calculateWidth(margin, size) {
143
+ if (size === "fillParent") {
144
+ return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
145
+ }
146
+
147
+ return sizes[size];
148
+ };
149
+
150
+ var getDisabledColor = function getDisabledColor(props, element) {
151
+ switch (element) {
152
+ case "check":
153
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledCheckColorOnDark : props.theme.disabledCheckColor;
154
+ break;
155
+
156
+ case "background":
157
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledBackgroundColorCheckedOnDark : props.theme.disabledBackgroundColorChecked;
158
+ break;
159
+
160
+ case "border":
161
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledBorderColorOnDark : props.theme.disabledBorderColor;
162
+ break;
163
+
164
+ case "label":
165
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledFontColorOnDark : props.theme.disabledFontColor;
166
+ break;
167
+ }
168
+ };
169
+
170
+ var getNotDisabledColor = function getNotDisabledColor(props, element) {
171
+ switch (element) {
172
+ case "check":
173
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.checkColorOnDark : props.theme.checkColor;
174
+ break;
175
+
176
+ case "background":
177
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.backgroundColorCheckedOnDark : props.theme.backgroundColorChecked;
178
+ break;
179
+
180
+ case "border":
181
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.borderColorOnDark : props.theme.borderColor;
182
+ break;
183
+
184
+ case "label":
185
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.fontColorOnDark : props.theme.fontColor;
186
+ break;
187
+ }
188
+ };
189
+
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) {
191
+ return props.disabled ? getDisabledColor(props, "label") : getNotDisabledColor(props, "label");
192
+ }, function (props) {
193
+ return props.disabled ? "not-allowed" : "pointer";
194
+ }, function (props) {
195
+ return props.theme.fontFamily;
196
+ }, function (props) {
197
+ return props.theme.fontSize;
198
+ }, function (props) {
199
+ return props.theme.fontWeight;
200
+ });
201
+
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) {
203
+ return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
204
+ }, function (props) {
205
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
206
+ }, function (props) {
207
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
208
+ }, function (props) {
209
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
210
+ }, function (props) {
211
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
212
+ }, function (props) {
213
+ return calculateWidth(props.margin, props.size);
214
+ }, function (props) {
215
+ return props.disabled ? "not-allowed" : "pointer";
216
+ }, function (props) {
217
+ return props.labelPosition === "before" ? "row-reverse" : "row";
218
+ }, function (props) {
219
+ return props.isLabelHovered ? props.backgroundType === "dark" ? props.theme.hoverBorderColorOnDark : props.theme.hoverBorderColor : getNotDisabledColor(props, "border");
220
+ }, function (props) {
221
+ return getDisabledColor(props, "border");
222
+ }, function (props) {
223
+ return props.disabled ? getDisabledColor(props, "background") : getNotDisabledColor(props, "background");
224
+ }, function (props) {
225
+ return props.backgroundType === "dark" ? props.theme.hoverBackgroundColorCheckedOnDark : props.theme.hoverBackgroundColorChecked;
226
+ }, function (props) {
227
+ return props.backgroundType === "dark" ? props.theme.hoverBorderColorOnDark : props.theme.hoverBorderColor;
228
+ }, function (props) {
229
+ return props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
230
+ }, function (props) {
231
+ return props.labelPosition === "before" && props.label ? props.theme.checkLabelSpacing : "0";
232
+ }, function (props) {
233
+ return props.labelPosition === "after" && props.label ? props.theme.checkLabelSpacing : "0";
234
+ }, function (props) {
235
+ return props.labelPosition === "before" ? "unset" : "1px";
236
+ }, function (props) {
237
+ return props.labelPosition === "before" ? "1px" : "unset";
238
+ });
239
+
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) {
241
+ return !props.checked ? "transparent" : props.disabled ? getDisabledColor(props, "check") : getNotDisabledColor(props, "check");
242
+ }, function (props) {
243
+ return props.labelPosition === "before" ? "unset" : "5px";
244
+ }, function (props) {
245
+ return props.labelPosition === "before" ? "5px" : "unset";
246
+ }, function (props) {
247
+ return props.labelPosition === "after" ? "0px" : "";
248
+ }, function (props) {
249
+ return props.labelPosition === "before" ? "0px" : "";
250
+ });
251
+
252
+ var _default = DxcCheckbox;
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
+ });