@dxc-technology/halstack-react 0.0.0-24419df → 0.0.0-2480494

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 (387) 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/Alert.stories.tsx +170 -0
  18. package/alert/types.d.ts +49 -0
  19. package/alert/types.js +5 -0
  20. package/badge/Badge.js +59 -0
  21. package/box/Box.d.ts +4 -0
  22. package/box/Box.js +126 -0
  23. package/box/Box.stories.tsx +132 -0
  24. package/box/types.d.ts +43 -0
  25. package/box/types.js +5 -0
  26. package/button/Button.d.ts +4 -0
  27. package/button/Button.js +179 -0
  28. package/button/Button.stories.tsx +276 -0
  29. package/button/types.d.ts +57 -0
  30. package/button/types.js +5 -0
  31. package/card/Card.d.ts +4 -0
  32. package/card/Card.js +164 -0
  33. package/card/Card.stories.tsx +201 -0
  34. package/card/ice-cream.jpg +0 -0
  35. package/card/types.d.ts +67 -0
  36. package/card/types.js +5 -0
  37. package/checkbox/Checkbox.d.ts +4 -0
  38. package/checkbox/Checkbox.js +253 -0
  39. package/checkbox/Checkbox.stories.tsx +192 -0
  40. package/checkbox/types.d.ts +60 -0
  41. package/checkbox/types.js +5 -0
  42. package/chip/Chip.js +221 -0
  43. package/chip/Chip.stories.tsx +121 -0
  44. package/chip/index.d.ts +22 -0
  45. package/{dist/common → common}/OpenSans.css +0 -0
  46. package/{dist/common → common}/RequiredComponent.js +5 -19
  47. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  48. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  49. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  50. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  51. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  52. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  53. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  54. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  55. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  56. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  57. package/common/utils.js +22 -0
  58. package/common/variables.js +1577 -0
  59. package/{dist/date → date}/Date.js +87 -70
  60. package/date/index.d.ts +27 -0
  61. package/date-input/DateInput.d.ts +4 -0
  62. package/date-input/DateInput.js +361 -0
  63. package/date-input/DateInput.stories.tsx +138 -0
  64. package/date-input/types.d.ts +100 -0
  65. package/date-input/types.js +5 -0
  66. package/dialog/Dialog.d.ts +4 -0
  67. package/dialog/Dialog.js +165 -0
  68. package/dialog/Dialog.stories.tsx +212 -0
  69. package/dialog/types.d.ts +43 -0
  70. package/dialog/types.js +5 -0
  71. package/dropdown/Dropdown.d.ts +4 -0
  72. package/dropdown/Dropdown.js +417 -0
  73. package/dropdown/types.d.ts +89 -0
  74. package/dropdown/types.js +5 -0
  75. package/file-input/FileInput.d.ts +4 -0
  76. package/file-input/FileInput.js +511 -0
  77. package/file-input/FileItem.d.ts +14 -0
  78. package/file-input/FileItem.js +182 -0
  79. package/file-input/types.d.ts +87 -0
  80. package/file-input/types.js +5 -0
  81. package/footer/Footer.d.ts +4 -0
  82. package/footer/Footer.js +266 -0
  83. package/footer/Footer.stories.jsx +151 -0
  84. package/footer/Icons.js +77 -0
  85. package/footer/types.d.ts +61 -0
  86. package/footer/types.js +5 -0
  87. package/header/Header.d.ts +7 -0
  88. package/header/Header.js +324 -0
  89. package/header/Header.stories.tsx +162 -0
  90. package/header/Icons.js +34 -0
  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 +159 -0
  95. package/heading/Heading.stories.tsx +53 -0
  96. package/heading/types.d.ts +33 -0
  97. package/heading/types.js +5 -0
  98. package/input-text/Icons.js +22 -0
  99. package/input-text/InputText.js +611 -0
  100. package/input-text/index.d.ts +36 -0
  101. package/layout/ApplicationLayout.js +235 -0
  102. package/layout/Icons.js +55 -0
  103. package/link/Link.d.ts +3 -0
  104. package/link/Link.js +161 -0
  105. package/link/Link.stories.tsx +146 -0
  106. package/link/types.d.ts +74 -0
  107. package/link/types.js +5 -0
  108. package/main.d.ts +44 -0
  109. package/{dist/main.js → main.js} +137 -53
  110. package/number-input/NumberInput.d.ts +4 -0
  111. package/number-input/NumberInput.js +86 -0
  112. package/number-input/NumberInput.stories.tsx +115 -0
  113. package/number-input/NumberInputContext.d.ts +4 -0
  114. package/{dist/ThemeContext.js → number-input/NumberInputContext.js} +6 -2
  115. package/number-input/numberInputContextTypes.d.ts +19 -0
  116. package/number-input/numberInputContextTypes.js +5 -0
  117. package/number-input/types.d.ts +117 -0
  118. package/number-input/types.js +5 -0
  119. package/package.json +38 -23
  120. package/paginator/Icons.js +66 -0
  121. package/paginator/Paginator.d.ts +4 -0
  122. package/paginator/Paginator.js +198 -0
  123. package/paginator/Paginator.stories.tsx +63 -0
  124. package/paginator/types.d.ts +38 -0
  125. package/paginator/types.js +5 -0
  126. package/password-input/PasswordInput.d.ts +4 -0
  127. package/password-input/PasswordInput.js +164 -0
  128. package/password-input/PasswordInput.stories.tsx +131 -0
  129. package/password-input/types.d.ts +107 -0
  130. package/password-input/types.js +5 -0
  131. package/progress-bar/ProgressBar.d.ts +4 -0
  132. package/progress-bar/ProgressBar.js +170 -0
  133. package/progress-bar/ProgressBar.stories.jsx +58 -0
  134. package/progress-bar/types.d.ts +37 -0
  135. package/progress-bar/types.js +5 -0
  136. package/radio/Radio.d.ts +4 -0
  137. package/radio/Radio.js +174 -0
  138. package/radio/Radio.stories.tsx +192 -0
  139. package/radio/types.d.ts +54 -0
  140. package/radio/types.js +5 -0
  141. package/resultsetTable/ResultsetTable.d.ts +4 -0
  142. package/resultsetTable/ResultsetTable.js +251 -0
  143. package/resultsetTable/types.d.ts +67 -0
  144. package/resultsetTable/types.js +5 -0
  145. package/select/Select.js +865 -0
  146. package/select/Select.stories.tsx +572 -0
  147. package/select/index.d.ts +131 -0
  148. package/sidenav/Sidenav.d.ts +9 -0
  149. package/sidenav/Sidenav.js +136 -0
  150. package/sidenav/Sidenav.stories.tsx +165 -0
  151. package/sidenav/types.d.ts +50 -0
  152. package/sidenav/types.js +5 -0
  153. package/slider/Slider.d.ts +4 -0
  154. package/slider/Slider.js +317 -0
  155. package/slider/Slider.stories.tsx +177 -0
  156. package/slider/types.d.ts +78 -0
  157. package/slider/types.js +5 -0
  158. package/spinner/Spinner.d.ts +4 -0
  159. package/spinner/Spinner.js +250 -0
  160. package/spinner/Spinner.stories.jsx +102 -0
  161. package/spinner/types.d.ts +32 -0
  162. package/spinner/types.js +5 -0
  163. package/switch/Switch.d.ts +4 -0
  164. package/switch/Switch.js +179 -0
  165. package/switch/Switch.stories.tsx +160 -0
  166. package/switch/types.d.ts +58 -0
  167. package/switch/types.js +5 -0
  168. package/table/Table.d.ts +4 -0
  169. package/table/Table.js +118 -0
  170. package/table/Table.stories.jsx +276 -0
  171. package/table/types.d.ts +21 -0
  172. package/table/types.js +5 -0
  173. package/tabs/Tabs.d.ts +4 -0
  174. package/tabs/Tabs.js +213 -0
  175. package/tabs/Tabs.stories.tsx +121 -0
  176. package/tabs/types.d.ts +70 -0
  177. package/tabs/types.js +5 -0
  178. package/tag/Tag.d.ts +4 -0
  179. package/tag/Tag.js +193 -0
  180. package/tag/Tag.stories.tsx +145 -0
  181. package/tag/types.d.ts +60 -0
  182. package/tag/types.js +5 -0
  183. package/text-input/TextInput.d.ts +4 -0
  184. package/text-input/TextInput.js +786 -0
  185. package/text-input/types.d.ts +159 -0
  186. package/text-input/types.js +5 -0
  187. package/textarea/Textarea.js +317 -0
  188. package/textarea/Textarea.stories.jsx +135 -0
  189. package/textarea/index.d.ts +117 -0
  190. package/{dist/toggle → toggle}/Toggle.js +30 -67
  191. package/toggle/index.d.ts +21 -0
  192. package/toggle-group/ToggleGroup.d.ts +4 -0
  193. package/toggle-group/ToggleGroup.js +217 -0
  194. package/toggle-group/ToggleGroup.stories.tsx +178 -0
  195. package/toggle-group/types.d.ts +84 -0
  196. package/toggle-group/types.js +5 -0
  197. package/{dist/upload → upload}/Upload.js +23 -22
  198. package/upload/buttons-upload/ButtonsUpload.js +111 -0
  199. package/upload/buttons-upload/Icons.js +40 -0
  200. package/upload/dragAndDropArea/DragAndDropArea.js +225 -0
  201. package/upload/dragAndDropArea/Icons.js +39 -0
  202. package/upload/file-upload/FileToUpload.js +115 -0
  203. package/upload/file-upload/Icons.js +66 -0
  204. package/upload/files-upload/FilesToUpload.js +109 -0
  205. package/upload/index.d.ts +15 -0
  206. package/upload/transaction/Icons.js +160 -0
  207. package/upload/transaction/Transaction.js +104 -0
  208. package/upload/transactions/Transactions.js +94 -0
  209. package/useTheme.js +22 -0
  210. package/wizard/Icons.js +65 -0
  211. package/wizard/Wizard.d.ts +4 -0
  212. package/wizard/Wizard.js +231 -0
  213. package/wizard/Wizard.stories.jsx +224 -0
  214. package/wizard/types.d.ts +64 -0
  215. package/wizard/types.js +5 -0
  216. package/README.md +0 -66
  217. package/babel.config.js +0 -4
  218. package/dist/accordion/Accordion.js +0 -248
  219. package/dist/accordion/Accordion.stories.js +0 -207
  220. package/dist/accordion/readme.md +0 -96
  221. package/dist/alert/Alert.js +0 -304
  222. package/dist/alert/Alert.stories.js +0 -158
  223. package/dist/alert/close.svg +0 -4
  224. package/dist/alert/error.svg +0 -4
  225. package/dist/alert/info.svg +0 -4
  226. package/dist/alert/readme.md +0 -43
  227. package/dist/alert/success.svg +0 -4
  228. package/dist/alert/warning.svg +0 -4
  229. package/dist/box/Box.js +0 -148
  230. package/dist/button/Button.js +0 -181
  231. package/dist/button/Button.stories.js +0 -224
  232. package/dist/button/readme.md +0 -93
  233. package/dist/card/Card.js +0 -217
  234. package/dist/checkbox/Checkbox.js +0 -240
  235. package/dist/checkbox/Checkbox.stories.js +0 -144
  236. package/dist/checkbox/readme.md +0 -116
  237. package/dist/chip/Chip.js +0 -173
  238. package/dist/common/services/example-service.js +0 -10
  239. package/dist/common/services/example-service.test.js +0 -12
  240. package/dist/common/utils.js +0 -42
  241. package/dist/common/variables.js +0 -438
  242. package/dist/date/Date.stories.js +0 -205
  243. package/dist/date/calendar.svg +0 -1
  244. package/dist/date/calendar_dark.svg +0 -1
  245. package/dist/date/readme.md +0 -73
  246. package/dist/dialog/Dialog.js +0 -197
  247. package/dist/dialog/Dialog.stories.js +0 -217
  248. package/dist/dialog/readme.md +0 -32
  249. package/dist/dropdown/Dropdown.js +0 -416
  250. package/dist/dropdown/Dropdown.stories.js +0 -249
  251. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  252. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  253. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  254. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  255. package/dist/dropdown/readme.md +0 -69
  256. package/dist/footer/Footer.js +0 -346
  257. package/dist/footer/Footer.stories.js +0 -94
  258. package/dist/footer/dxc_logo_wht.png +0 -0
  259. package/dist/footer/readme.md +0 -41
  260. package/dist/header/Header.js +0 -360
  261. package/dist/header/Header.stories.js +0 -176
  262. package/dist/header/close_icon.svg +0 -1
  263. package/dist/header/dxc_logo_black.png +0 -0
  264. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  265. package/dist/header/dxc_logo_white.png +0 -0
  266. package/dist/header/hamb_menu_black.svg +0 -1
  267. package/dist/header/hamb_menu_white.svg +0 -1
  268. package/dist/header/readme.md +0 -33
  269. package/dist/heading/Heading.js +0 -153
  270. package/dist/input-text/InputText.js +0 -519
  271. package/dist/input-text/InputText.stories.js +0 -209
  272. package/dist/input-text/error.svg +0 -1
  273. package/dist/input-text/readme.md +0 -91
  274. package/dist/layout/ApplicationLayout.js +0 -320
  275. package/dist/layout/SideNav.js +0 -67
  276. package/dist/layout/facebook.svg +0 -45
  277. package/dist/layout/linkedin.svg +0 -50
  278. package/dist/layout/twitter.svg +0 -53
  279. package/dist/link/Link.js +0 -168
  280. package/dist/link/readme.md +0 -51
  281. package/dist/paginator/Paginator.js +0 -196
  282. package/dist/paginator/images/next.svg +0 -3
  283. package/dist/paginator/images/nextPage.svg +0 -3
  284. package/dist/paginator/images/previous.svg +0 -3
  285. package/dist/paginator/images/previousPage.svg +0 -3
  286. package/dist/paginator/readme.md +0 -50
  287. package/dist/progress-bar/ProgressBar.js +0 -185
  288. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  289. package/dist/progress-bar/readme.md +0 -63
  290. package/dist/radio/Radio.js +0 -195
  291. package/dist/radio/Radio.stories.js +0 -166
  292. package/dist/radio/readme.md +0 -70
  293. package/dist/resultsetTable/ResultsetTable.js +0 -333
  294. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  295. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  296. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  297. package/dist/select/Select.js +0 -451
  298. package/dist/select/Select.stories.js +0 -235
  299. package/dist/select/readme.md +0 -72
  300. package/dist/sidenav/Sidenav.js +0 -222
  301. package/dist/sidenav/arrow_icon.svg +0 -3
  302. package/dist/slider/Slider.js +0 -258
  303. package/dist/slider/Slider.stories.js +0 -241
  304. package/dist/slider/readme.md +0 -64
  305. package/dist/spinner/Spinner.js +0 -193
  306. package/dist/spinner/Spinner.stories.js +0 -183
  307. package/dist/spinner/readme.md +0 -65
  308. package/dist/switch/Switch.js +0 -199
  309. package/dist/switch/Switch.stories.js +0 -134
  310. package/dist/switch/readme.md +0 -133
  311. package/dist/table/Table.js +0 -93
  312. package/dist/tabs/Tabs.js +0 -172
  313. package/dist/tabs/Tabs.stories.js +0 -130
  314. package/dist/tabs/readme.md +0 -78
  315. package/dist/tabs-for-sections/TabsForSections.js +0 -107
  316. package/dist/tabs-for-sections/readme.md +0 -78
  317. package/dist/tag/Tag.js +0 -234
  318. package/dist/textarea/Textarea.js +0 -227
  319. package/dist/toggle/Toggle.stories.js +0 -297
  320. package/dist/toggle/readme.md +0 -80
  321. package/dist/toggle-group/ToggleGroup.js +0 -214
  322. package/dist/toggle-group/readme.md +0 -82
  323. package/dist/upload/Upload.stories.js +0 -72
  324. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -122
  325. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  326. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  327. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -279
  328. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  329. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  330. package/dist/upload/file-upload/FileToUpload.js +0 -158
  331. package/dist/upload/file-upload/audio-icon.svg +0 -4
  332. package/dist/upload/file-upload/close.svg +0 -4
  333. package/dist/upload/file-upload/file-icon.svg +0 -4
  334. package/dist/upload/file-upload/video-icon.svg +0 -4
  335. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  336. package/dist/upload/readme.md +0 -37
  337. package/dist/upload/transaction/Transaction.js +0 -155
  338. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  339. package/dist/upload/transaction/audio-icon.svg +0 -4
  340. package/dist/upload/transaction/error-icon.svg +0 -4
  341. package/dist/upload/transaction/file-icon-err.svg +0 -4
  342. package/dist/upload/transaction/file-icon.svg +0 -4
  343. package/dist/upload/transaction/image-icon-err.svg +0 -4
  344. package/dist/upload/transaction/image-icon.svg +0 -4
  345. package/dist/upload/transaction/success-icon.svg +0 -4
  346. package/dist/upload/transaction/video-icon-err.svg +0 -4
  347. package/dist/upload/transaction/video-icon.svg +0 -4
  348. package/dist/upload/transactions/Transactions.js +0 -120
  349. package/dist/wizard/Wizard.js +0 -327
  350. package/dist/wizard/invalid_icon.svg +0 -6
  351. package/dist/wizard/valid_icon.svg +0 -6
  352. package/dist/wizard/validation-wrong.svg +0 -6
  353. package/test/Accordion.test.js +0 -33
  354. package/test/Alert.test.js +0 -53
  355. package/test/Box.test.js +0 -10
  356. package/test/Button.test.js +0 -18
  357. package/test/Card.test.js +0 -30
  358. package/test/Checkbox.test.js +0 -45
  359. package/test/Chip.test.js +0 -25
  360. package/test/Date.test.js +0 -393
  361. package/test/Dialog.test.js +0 -23
  362. package/test/Dropdown.test.js +0 -130
  363. package/test/Footer.test.js +0 -99
  364. package/test/Header.test.js +0 -39
  365. package/test/Heading.test.js +0 -35
  366. package/test/InputText.test.js +0 -236
  367. package/test/Link.test.js +0 -33
  368. package/test/Paginator.test.js +0 -165
  369. package/test/ProgressBar.test.js +0 -35
  370. package/test/Radio.test.js +0 -37
  371. package/test/ResultsetTable.test.js +0 -282
  372. package/test/Select.test.js +0 -191
  373. package/test/Sidenav.test.js +0 -87
  374. package/test/Slider.test.js +0 -65
  375. package/test/Spinner.test.js +0 -27
  376. package/test/Switch.test.js +0 -45
  377. package/test/Table.test.js +0 -36
  378. package/test/Tabs.test.js +0 -88
  379. package/test/TabsForSections.test.js +0 -34
  380. package/test/Tag.test.js +0 -32
  381. package/test/TextArea.test.js +0 -52
  382. package/test/Toggle.test.js +0 -43
  383. package/test/ToggleGroup.test.js +0 -81
  384. package/test/Upload.test.js +0 -60
  385. package/test/Wizard.test.js +0 -130
  386. package/test/mocks/pngMock.js +0 -1
  387. 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.
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
+ });