@dxc-technology/halstack-react 0.0.0-4204c55 → 0.0.0-4299a60

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 (396) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +48 -0
  3. package/ThemeContext.d.ts +15 -0
  4. package/ThemeContext.js +243 -0
  5. package/V3Select/V3Select.js +455 -0
  6. package/V3Select/index.d.ts +27 -0
  7. package/V3Textarea/V3Textarea.js +260 -0
  8. package/V3Textarea/index.d.ts +27 -0
  9. package/accordion/Accordion.d.ts +4 -0
  10. package/accordion/Accordion.js +258 -0
  11. package/accordion/types.d.ts +68 -0
  12. package/accordion/types.js +5 -0
  13. package/accordion-group/AccordionGroup.d.ts +7 -0
  14. package/accordion-group/AccordionGroup.js +170 -0
  15. package/accordion-group/AccordionGroup.stories.tsx +225 -0
  16. package/accordion-group/types.d.ts +72 -0
  17. package/accordion-group/types.js +5 -0
  18. package/alert/Alert.d.ts +4 -0
  19. package/alert/Alert.js +290 -0
  20. package/alert/Alert.stories.tsx +170 -0
  21. package/alert/types.d.ts +49 -0
  22. package/alert/types.js +5 -0
  23. package/badge/Badge.js +59 -0
  24. package/box/Box.d.ts +4 -0
  25. package/box/Box.js +126 -0
  26. package/box/Box.stories.tsx +132 -0
  27. package/box/types.d.ts +43 -0
  28. package/box/types.js +5 -0
  29. package/button/Button.d.ts +4 -0
  30. package/button/Button.js +179 -0
  31. package/button/Button.stories.tsx +276 -0
  32. package/button/types.d.ts +57 -0
  33. package/button/types.js +5 -0
  34. package/card/Card.d.ts +4 -0
  35. package/card/Card.js +164 -0
  36. package/card/Card.stories.tsx +201 -0
  37. package/card/ice-cream.jpg +0 -0
  38. package/card/types.d.ts +67 -0
  39. package/card/types.js +5 -0
  40. package/checkbox/Checkbox.d.ts +4 -0
  41. package/checkbox/Checkbox.js +253 -0
  42. package/checkbox/Checkbox.stories.tsx +192 -0
  43. package/checkbox/types.d.ts +60 -0
  44. package/checkbox/types.js +5 -0
  45. package/chip/Chip.d.ts +4 -0
  46. package/chip/Chip.js +199 -0
  47. package/chip/Chip.stories.tsx +121 -0
  48. package/chip/types.d.ts +53 -0
  49. package/chip/types.js +5 -0
  50. package/{dist/common → common}/OpenSans.css +0 -0
  51. package/{dist/common → common}/RequiredComponent.js +5 -19
  52. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  53. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  54. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  55. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  56. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  57. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  58. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  59. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  60. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  61. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  62. package/common/utils.js +22 -0
  63. package/common/variables.js +1578 -0
  64. package/{dist/date → date}/Date.js +87 -70
  65. package/date/index.d.ts +27 -0
  66. package/date-input/DateInput.d.ts +4 -0
  67. package/date-input/DateInput.js +361 -0
  68. package/date-input/DateInput.stories.tsx +138 -0
  69. package/date-input/types.d.ts +100 -0
  70. package/date-input/types.js +5 -0
  71. package/dialog/Dialog.d.ts +4 -0
  72. package/dialog/Dialog.js +165 -0
  73. package/dialog/Dialog.stories.tsx +212 -0
  74. package/dialog/types.d.ts +43 -0
  75. package/dialog/types.js +5 -0
  76. package/dropdown/Dropdown.d.ts +4 -0
  77. package/dropdown/Dropdown.js +417 -0
  78. package/dropdown/types.d.ts +89 -0
  79. package/dropdown/types.js +5 -0
  80. package/file-input/FileInput.d.ts +4 -0
  81. package/file-input/FileInput.js +511 -0
  82. package/file-input/FileItem.d.ts +14 -0
  83. package/file-input/FileItem.js +184 -0
  84. package/file-input/types.d.ts +87 -0
  85. package/file-input/types.js +5 -0
  86. package/footer/Footer.d.ts +4 -0
  87. package/footer/Footer.js +266 -0
  88. package/footer/Footer.stories.jsx +151 -0
  89. package/footer/Icons.js +77 -0
  90. package/footer/types.d.ts +69 -0
  91. package/footer/types.js +5 -0
  92. package/header/Header.d.ts +7 -0
  93. package/header/Header.js +324 -0
  94. package/header/Header.stories.tsx +162 -0
  95. package/header/Icons.js +34 -0
  96. package/header/types.d.ts +47 -0
  97. package/header/types.js +5 -0
  98. package/heading/Heading.d.ts +4 -0
  99. package/heading/Heading.js +159 -0
  100. package/heading/Heading.stories.tsx +53 -0
  101. package/heading/types.d.ts +33 -0
  102. package/heading/types.js +5 -0
  103. package/input-text/Icons.js +22 -0
  104. package/input-text/InputText.js +611 -0
  105. package/input-text/index.d.ts +36 -0
  106. package/layout/ApplicationLayout.d.ts +10 -0
  107. package/layout/ApplicationLayout.js +225 -0
  108. package/layout/ApplicationLayout.stories.tsx +171 -0
  109. package/layout/Icons.js +55 -0
  110. package/layout/types.d.ts +57 -0
  111. package/layout/types.js +5 -0
  112. package/link/Link.d.ts +3 -0
  113. package/link/Link.js +161 -0
  114. package/link/Link.stories.tsx +146 -0
  115. package/link/types.d.ts +74 -0
  116. package/link/types.js +5 -0
  117. package/main.d.ts +44 -0
  118. package/{dist/main.js → main.js} +137 -53
  119. package/number-input/NumberInput.d.ts +4 -0
  120. package/number-input/NumberInput.js +86 -0
  121. package/number-input/NumberInput.stories.tsx +115 -0
  122. package/number-input/NumberInputContext.d.ts +4 -0
  123. package/{dist/ThemeContext.js → number-input/NumberInputContext.js} +6 -2
  124. package/number-input/numberInputContextTypes.d.ts +19 -0
  125. package/number-input/numberInputContextTypes.js +5 -0
  126. package/number-input/types.d.ts +117 -0
  127. package/number-input/types.js +5 -0
  128. package/package.json +38 -23
  129. package/paginator/Icons.js +66 -0
  130. package/paginator/Paginator.d.ts +4 -0
  131. package/paginator/Paginator.js +198 -0
  132. package/paginator/Paginator.stories.tsx +63 -0
  133. package/paginator/types.d.ts +38 -0
  134. package/paginator/types.js +5 -0
  135. package/password-input/PasswordInput.d.ts +4 -0
  136. package/password-input/PasswordInput.js +164 -0
  137. package/password-input/PasswordInput.stories.tsx +131 -0
  138. package/password-input/types.d.ts +107 -0
  139. package/password-input/types.js +5 -0
  140. package/progress-bar/ProgressBar.d.ts +4 -0
  141. package/progress-bar/ProgressBar.js +170 -0
  142. package/progress-bar/ProgressBar.stories.jsx +58 -0
  143. package/progress-bar/types.d.ts +37 -0
  144. package/progress-bar/types.js +5 -0
  145. package/radio/Radio.d.ts +4 -0
  146. package/radio/Radio.js +174 -0
  147. package/radio/Radio.stories.tsx +192 -0
  148. package/radio/types.d.ts +54 -0
  149. package/radio/types.js +5 -0
  150. package/resultsetTable/ResultsetTable.d.ts +4 -0
  151. package/resultsetTable/ResultsetTable.js +251 -0
  152. package/resultsetTable/types.d.ts +67 -0
  153. package/resultsetTable/types.js +5 -0
  154. package/select/Select.js +865 -0
  155. package/select/Select.stories.tsx +572 -0
  156. package/select/index.d.ts +131 -0
  157. package/sidenav/Sidenav.d.ts +9 -0
  158. package/sidenav/Sidenav.js +136 -0
  159. package/sidenav/Sidenav.stories.tsx +165 -0
  160. package/sidenav/types.d.ts +50 -0
  161. package/sidenav/types.js +5 -0
  162. package/slider/Slider.d.ts +4 -0
  163. package/slider/Slider.js +317 -0
  164. package/slider/Slider.stories.tsx +177 -0
  165. package/slider/types.d.ts +78 -0
  166. package/slider/types.js +5 -0
  167. package/spinner/Spinner.d.ts +4 -0
  168. package/spinner/Spinner.js +250 -0
  169. package/spinner/Spinner.stories.jsx +102 -0
  170. package/spinner/types.d.ts +32 -0
  171. package/spinner/types.js +5 -0
  172. package/switch/Switch.d.ts +4 -0
  173. package/switch/Switch.js +179 -0
  174. package/switch/Switch.stories.tsx +160 -0
  175. package/switch/types.d.ts +58 -0
  176. package/switch/types.js +5 -0
  177. package/table/Table.d.ts +4 -0
  178. package/table/Table.js +118 -0
  179. package/table/Table.stories.jsx +276 -0
  180. package/table/types.d.ts +21 -0
  181. package/table/types.js +5 -0
  182. package/tabs/Tabs.d.ts +4 -0
  183. package/tabs/Tabs.js +213 -0
  184. package/tabs/Tabs.stories.tsx +121 -0
  185. package/tabs/types.d.ts +70 -0
  186. package/tabs/types.js +5 -0
  187. package/tag/Tag.d.ts +4 -0
  188. package/tag/Tag.js +193 -0
  189. package/tag/Tag.stories.tsx +145 -0
  190. package/tag/types.d.ts +60 -0
  191. package/tag/types.js +5 -0
  192. package/text-input/TextInput.d.ts +4 -0
  193. package/text-input/TextInput.js +788 -0
  194. package/text-input/TextInput.stories.tsx +456 -0
  195. package/text-input/types.d.ts +159 -0
  196. package/text-input/types.js +5 -0
  197. package/textarea/Textarea.js +316 -0
  198. package/textarea/Textarea.stories.jsx +135 -0
  199. package/textarea/index.d.ts +127 -0
  200. package/{dist/toggle → toggle}/Toggle.js +30 -67
  201. package/toggle/index.d.ts +21 -0
  202. package/toggle-group/ToggleGroup.d.ts +4 -0
  203. package/toggle-group/ToggleGroup.js +217 -0
  204. package/toggle-group/ToggleGroup.stories.tsx +178 -0
  205. package/toggle-group/types.d.ts +84 -0
  206. package/toggle-group/types.js +5 -0
  207. package/{dist/upload → upload}/Upload.js +23 -22
  208. package/upload/buttons-upload/ButtonsUpload.js +111 -0
  209. package/upload/buttons-upload/Icons.js +40 -0
  210. package/upload/dragAndDropArea/DragAndDropArea.js +225 -0
  211. package/upload/dragAndDropArea/Icons.js +39 -0
  212. package/upload/file-upload/FileToUpload.js +115 -0
  213. package/upload/file-upload/Icons.js +66 -0
  214. package/upload/files-upload/FilesToUpload.js +109 -0
  215. package/upload/index.d.ts +15 -0
  216. package/upload/transaction/Icons.js +160 -0
  217. package/upload/transaction/Transaction.js +104 -0
  218. package/upload/transactions/Transactions.js +94 -0
  219. package/useTheme.d.ts +2 -0
  220. package/useTheme.js +22 -0
  221. package/wizard/Icons.js +65 -0
  222. package/wizard/Wizard.d.ts +4 -0
  223. package/wizard/Wizard.js +231 -0
  224. package/wizard/Wizard.stories.jsx +224 -0
  225. package/wizard/types.d.ts +64 -0
  226. package/wizard/types.js +5 -0
  227. package/README.md +0 -66
  228. package/babel.config.js +0 -4
  229. package/dist/accordion/Accordion.js +0 -248
  230. package/dist/accordion/Accordion.stories.js +0 -207
  231. package/dist/accordion/readme.md +0 -96
  232. package/dist/alert/Alert.js +0 -304
  233. package/dist/alert/Alert.stories.js +0 -158
  234. package/dist/alert/close.svg +0 -4
  235. package/dist/alert/error.svg +0 -4
  236. package/dist/alert/info.svg +0 -4
  237. package/dist/alert/readme.md +0 -43
  238. package/dist/alert/success.svg +0 -4
  239. package/dist/alert/warning.svg +0 -4
  240. package/dist/box/Box.js +0 -148
  241. package/dist/button/Button.js +0 -181
  242. package/dist/button/Button.stories.js +0 -224
  243. package/dist/button/readme.md +0 -93
  244. package/dist/card/Card.js +0 -217
  245. package/dist/checkbox/Checkbox.js +0 -240
  246. package/dist/checkbox/Checkbox.stories.js +0 -144
  247. package/dist/checkbox/readme.md +0 -116
  248. package/dist/chip/Chip.js +0 -173
  249. package/dist/common/services/example-service.js +0 -10
  250. package/dist/common/services/example-service.test.js +0 -12
  251. package/dist/common/utils.js +0 -42
  252. package/dist/common/variables.js +0 -434
  253. package/dist/date/Date.stories.js +0 -205
  254. package/dist/date/calendar.svg +0 -1
  255. package/dist/date/calendar_dark.svg +0 -1
  256. package/dist/date/readme.md +0 -73
  257. package/dist/dialog/Dialog.js +0 -197
  258. package/dist/dialog/Dialog.stories.js +0 -217
  259. package/dist/dialog/readme.md +0 -32
  260. package/dist/dropdown/Dropdown.js +0 -416
  261. package/dist/dropdown/Dropdown.stories.js +0 -249
  262. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  263. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  264. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  265. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  266. package/dist/dropdown/readme.md +0 -69
  267. package/dist/footer/Footer.js +0 -346
  268. package/dist/footer/Footer.stories.js +0 -94
  269. package/dist/footer/dxc_logo_wht.png +0 -0
  270. package/dist/footer/readme.md +0 -41
  271. package/dist/header/Header.js +0 -360
  272. package/dist/header/Header.stories.js +0 -176
  273. package/dist/header/close_icon.svg +0 -1
  274. package/dist/header/dxc_logo_black.png +0 -0
  275. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  276. package/dist/header/dxc_logo_white.png +0 -0
  277. package/dist/header/hamb_menu_black.svg +0 -1
  278. package/dist/header/hamb_menu_white.svg +0 -1
  279. package/dist/header/readme.md +0 -33
  280. package/dist/heading/Heading.js +0 -153
  281. package/dist/input-text/InputText.js +0 -519
  282. package/dist/input-text/InputText.stories.js +0 -209
  283. package/dist/input-text/error.svg +0 -1
  284. package/dist/input-text/readme.md +0 -91
  285. package/dist/layout/ApplicationLayout.js +0 -333
  286. package/dist/layout/facebook.svg +0 -45
  287. package/dist/layout/linkedin.svg +0 -50
  288. package/dist/layout/twitter.svg +0 -53
  289. package/dist/link/Link.js +0 -168
  290. package/dist/link/readme.md +0 -51
  291. package/dist/paginator/Paginator.js +0 -196
  292. package/dist/paginator/images/next.svg +0 -3
  293. package/dist/paginator/images/nextPage.svg +0 -3
  294. package/dist/paginator/images/previous.svg +0 -3
  295. package/dist/paginator/images/previousPage.svg +0 -3
  296. package/dist/paginator/readme.md +0 -50
  297. package/dist/progress-bar/ProgressBar.js +0 -185
  298. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  299. package/dist/progress-bar/readme.md +0 -63
  300. package/dist/radio/Radio.js +0 -195
  301. package/dist/radio/Radio.stories.js +0 -166
  302. package/dist/radio/readme.md +0 -70
  303. package/dist/resultsetTable/ResultsetTable.js +0 -333
  304. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  305. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  306. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  307. package/dist/select/Select.js +0 -451
  308. package/dist/select/Select.stories.js +0 -235
  309. package/dist/select/readme.md +0 -72
  310. package/dist/sidenav/Sidenav.js +0 -67
  311. package/dist/slider/Slider.js +0 -258
  312. package/dist/slider/Slider.stories.js +0 -241
  313. package/dist/slider/readme.md +0 -64
  314. package/dist/spinner/Spinner.js +0 -193
  315. package/dist/spinner/Spinner.stories.js +0 -183
  316. package/dist/spinner/readme.md +0 -65
  317. package/dist/switch/Switch.js +0 -199
  318. package/dist/switch/Switch.stories.js +0 -134
  319. package/dist/switch/readme.md +0 -133
  320. package/dist/table/Table.js +0 -93
  321. package/dist/tabs/Tabs.js +0 -172
  322. package/dist/tabs/Tabs.stories.js +0 -130
  323. package/dist/tabs/readme.md +0 -78
  324. package/dist/tabs-for-sections/TabsForSections.js +0 -107
  325. package/dist/tabs-for-sections/readme.md +0 -78
  326. package/dist/tag/Tag.js +0 -234
  327. package/dist/textarea/Textarea.js +0 -227
  328. package/dist/toggle/Toggle.stories.js +0 -297
  329. package/dist/toggle/readme.md +0 -80
  330. package/dist/toggle-group/ToggleGroup.js +0 -214
  331. package/dist/toggle-group/readme.md +0 -82
  332. package/dist/upload/Upload.stories.js +0 -72
  333. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -122
  334. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  335. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  336. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -279
  337. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  338. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  339. package/dist/upload/file-upload/FileToUpload.js +0 -158
  340. package/dist/upload/file-upload/audio-icon.svg +0 -4
  341. package/dist/upload/file-upload/close.svg +0 -4
  342. package/dist/upload/file-upload/file-icon.svg +0 -4
  343. package/dist/upload/file-upload/video-icon.svg +0 -4
  344. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  345. package/dist/upload/readme.md +0 -37
  346. package/dist/upload/transaction/Transaction.js +0 -155
  347. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  348. package/dist/upload/transaction/audio-icon.svg +0 -4
  349. package/dist/upload/transaction/error-icon.svg +0 -4
  350. package/dist/upload/transaction/file-icon-err.svg +0 -4
  351. package/dist/upload/transaction/file-icon.svg +0 -4
  352. package/dist/upload/transaction/image-icon-err.svg +0 -4
  353. package/dist/upload/transaction/image-icon.svg +0 -4
  354. package/dist/upload/transaction/success-icon.svg +0 -4
  355. package/dist/upload/transaction/video-icon-err.svg +0 -4
  356. package/dist/upload/transaction/video-icon.svg +0 -4
  357. package/dist/upload/transactions/Transactions.js +0 -120
  358. package/dist/wizard/Wizard.js +0 -327
  359. package/dist/wizard/invalid_icon.svg +0 -6
  360. package/dist/wizard/valid_icon.svg +0 -6
  361. package/dist/wizard/validation-wrong.svg +0 -6
  362. package/test/Accordion.test.js +0 -33
  363. package/test/Alert.test.js +0 -53
  364. package/test/Box.test.js +0 -10
  365. package/test/Button.test.js +0 -18
  366. package/test/Card.test.js +0 -30
  367. package/test/Checkbox.test.js +0 -45
  368. package/test/Chip.test.js +0 -25
  369. package/test/Date.test.js +0 -393
  370. package/test/Dialog.test.js +0 -23
  371. package/test/Dropdown.test.js +0 -130
  372. package/test/Footer.test.js +0 -99
  373. package/test/Header.test.js +0 -39
  374. package/test/Heading.test.js +0 -35
  375. package/test/InputText.test.js +0 -236
  376. package/test/Link.test.js +0 -33
  377. package/test/Paginator.test.js +0 -165
  378. package/test/ProgressBar.test.js +0 -35
  379. package/test/Radio.test.js +0 -37
  380. package/test/ResultsetTable.test.js +0 -282
  381. package/test/Select.test.js +0 -191
  382. package/test/Sidenav.test.js +0 -19
  383. package/test/Slider.test.js +0 -65
  384. package/test/Spinner.test.js +0 -27
  385. package/test/Switch.test.js +0 -45
  386. package/test/Table.test.js +0 -36
  387. package/test/Tabs.test.js +0 -88
  388. package/test/TabsForSections.test.js +0 -34
  389. package/test/Tag.test.js +0 -32
  390. package/test/TextArea.test.js +0 -52
  391. package/test/Toggle.test.js +0 -43
  392. package/test/ToggleGroup.test.js +0 -81
  393. package/test/Upload.test.js +0 -60
  394. package/test/Wizard.test.js +0 -130
  395. package/test/mocks/pngMock.js +0 -1
  396. package/test/mocks/svgMock.js +0 -1
@@ -1,9 +1,9 @@
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
  });
@@ -15,7 +15,7 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
15
 
16
16
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
17
17
 
18
- var _react = _interopRequireWildcard(require("react"));
18
+ var _react = _interopRequireDefault(require("react"));
19
19
 
20
20
  var _lab = require("@material-ui/lab");
21
21
 
@@ -23,53 +23,15 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
23
23
 
24
24
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
25
25
 
26
- require("../common/OpenSans.css");
27
-
28
- var _variables = require("../common/variables.js");
29
-
30
26
  var _utils = require("../common/utils.js");
31
27
 
32
- var _ThemeContext = _interopRequireDefault(require("../ThemeContext.js"));
33
-
34
- function _templateObject4() {
35
- var data = (0, _taggedTemplateLiteral2["default"])([""]);
28
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
36
29
 
37
- _templateObject4 = function _templateObject4() {
38
- return data;
39
- };
40
-
41
- return data;
42
- }
43
-
44
- function _templateObject3() {
45
- var data = (0, _taggedTemplateLiteral2["default"])(["\n width: 20px;\n height: 20px;\n line-height: 1;\n margin-right: ", ";\n margin-left: ", ";\n"]);
46
-
47
- _templateObject3 = function _templateObject3() {
48
- return data;
49
- };
30
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
50
31
 
51
- return data;
52
- }
32
+ 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); }
53
33
 
54
- function _templateObject2() {
55
- var data = (0, _taggedTemplateLiteral2["default"])(["\n line-height: 1;\n display: flex;\n align-items: center;\n flex-direction: ", ";\n"]);
56
-
57
- _templateObject2 = function _templateObject2() {
58
- return data;
59
- };
60
-
61
- return data;
62
- }
63
-
64
- function _templateObject() {
65
- var data = (0, _taggedTemplateLiteral2["default"])(["\n & {\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n opacity: ", ";\n cursor: ", ";\n display: inline-block;\n width: ", ";\n }\n\n .MuiToggleButton-label {\n font-size: 14px;\n font-family: \"Open Sans\", sans-serif;\n color: ", ";\n }\n .MuiButtonBase-root {\n width: ", ";\n min-height: ", ";\n background-color: ", ";\n &:hover {\n background-color: ", ";\n .MuiToggleButton-label {\n color: ", ";\n }\n }\n }\n\n .MuiToggleButton-root {\n min-width: 42px;\n height: 43px;\n border: ", ";\n\n border-radius: 4px !important;\n }\n\n .MuiToggleButton-root.Mui-selected {\n background-color: ", ";\n &:hover {\n background-color: ", ";\n .MuiToggleButton-label {\n color: ", ";\n }\n }\n }\n\n .MuiToggleButton-root:last-child,\n .MuiToggleButton-root:first-child,\n .MuiToggleButton-root:not(:first-child) {\n padding: ", ";\n }\n\n .MuiTouchRipple-child {\n background-color: ", ";\n }\n"]);
66
-
67
- _templateObject = function _templateObject() {
68
- return data;
69
- };
70
-
71
- return data;
72
- }
34
+ 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; }
73
35
 
74
36
  var DxcToggle = function DxcToggle(_ref) {
75
37
  var _ref$label = _ref.label,
@@ -92,8 +54,7 @@ var DxcToggle = function DxcToggle(_ref) {
92
54
  margin = _ref.margin,
93
55
  _ref$size = _ref.size,
94
56
  size = _ref$size === void 0 ? "fitContent" : _ref$size;
95
-
96
- var colorsTheme = (0, _react.useContext)(_ThemeContext["default"]) || _variables.colors;
57
+ var colorsTheme = (0, _useTheme["default"])();
97
58
 
98
59
  var handlerToggleClick = function handlerToggleClick() {
99
60
  if (!disabled && typeof onClick === "function") {
@@ -101,9 +62,9 @@ var DxcToggle = function DxcToggle(_ref) {
101
62
  }
102
63
  };
103
64
 
104
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
65
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
105
66
  theme: colorsTheme
106
- }, _react["default"].createElement(DxcToggleContainer, {
67
+ }, /*#__PURE__*/_react["default"].createElement(DxcToggleContainer, {
107
68
  margin: margin,
108
69
  brightness: theme,
109
70
  disabled: disabled,
@@ -115,21 +76,21 @@ var DxcToggle = function DxcToggle(_ref) {
115
76
  value: true,
116
77
  size: size,
117
78
  onClick: handlerToggleClick
118
- }, _react["default"].createElement(_lab.ToggleButton, {
79
+ }, /*#__PURE__*/_react["default"].createElement(_lab.ToggleButton, {
119
80
  disabled: disabled,
120
81
  disableRipple: disableRipple,
121
82
  selected: selected,
122
83
  label: label,
123
84
  value: true
124
- }, _react["default"].createElement(ContentContainer, {
85
+ }, /*#__PURE__*/_react["default"].createElement(ContentContainer, {
125
86
  iconPosition: iconPosition,
126
87
  label: label,
127
88
  iconSrc: iconSrc
128
- }, iconSrc !== "" && _react["default"].createElement(IconContainer, {
89
+ }, iconSrc !== "" && /*#__PURE__*/_react["default"].createElement(IconContainer, {
129
90
  iconPosition: iconPosition,
130
91
  label: label,
131
92
  src: iconSrc
132
- }), label !== "" && _react["default"].createElement(LabelContainer, null, label)))));
93
+ }), label !== "" && /*#__PURE__*/_react["default"].createElement(LabelContainer, null, label)))));
133
94
  };
134
95
 
135
96
  var sizes = {
@@ -148,22 +109,24 @@ var calculateWidth = function calculateWidth(margin, size) {
148
109
  return sizes[size];
149
110
  };
150
111
 
151
- var DxcToggleContainer = _styledComponents["default"].div(_templateObject(), function (props) {
152
- return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
112
+ var DxcToggleContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n & {\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n opacity: ", ";\n cursor: ", ";\n display: inline-block;\n width: ", ";\n }\n\n .MuiToggleButton-label {\n font-size: 14px;\n font-family: ", ";\n color: ", ";\n }\n .MuiButtonBase-root {\n width: ", ";\n min-height: ", ";\n background-color: ", ";\n &:hover {\n background-color: ", ";\n .MuiToggleButton-label {\n color: ", ";\n }\n }\n }\n\n .MuiToggleButton-root {\n min-width: 42px;\n height: 43px;\n border: ", ";\n\n border-radius: 4px !important;\n }\n\n .MuiToggleButton-root.Mui-selected {\n background-color: ", ";\n &:hover {\n background-color: ", ";\n .MuiToggleButton-label {\n color: ", ";\n }\n }\n }\n\n .MuiToggleButton-root:last-child,\n .MuiToggleButton-root:first-child,\n .MuiToggleButton-root:not(:first-child) {\n padding: ", ";\n }\n\n .MuiTouchRipple-child {\n background-color: ", ";\n }\n"])), function (props) {
113
+ return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? spaces[props.margin] : "0px";
153
114
  }, function (props) {
154
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
115
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? spaces[props.margin.top] : "";
155
116
  }, function (props) {
156
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
117
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? spaces[props.margin.right] : "";
157
118
  }, function (props) {
158
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
119
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? spaces[props.margin.bottom] : "";
159
120
  }, function (props) {
160
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
121
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? spaces[props.margin.left] : "";
161
122
  }, function (props) {
162
123
  return props.disabled ? "0.5" : "1";
163
124
  }, function (props) {
164
125
  return props.disabled ? "not-allowed" : "pointer";
165
126
  }, function (props) {
166
127
  return calculateWidth(props.margin, props.size);
128
+ }, function (props) {
129
+ return props.theme.fontFamily;
167
130
  }, function (props) {
168
131
  return props.brightness === "dark" && props.mode === "outlined" ? props.theme.white : props.theme.black;
169
132
  }, function (props) {
@@ -190,17 +153,17 @@ var DxcToggleContainer = _styledComponents["default"].div(_templateObject(), fun
190
153
  return props.mode === "basic" ? props.selected === false ? props.theme.yellow : props.theme.darkWhite : props.selected === false ? props.theme.lightGrey : props.theme.white;
191
154
  });
192
155
 
193
- var ContentContainer = _styledComponents["default"].span(_templateObject2(), function (props) {
156
+ var ContentContainer = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n line-height: 1;\n display: flex;\n align-items: center;\n flex-direction: ", ";\n"])), function (props) {
194
157
  return props.iconPosition === "after" ? "row-reverse" : "row";
195
158
  });
196
159
 
197
- var IconContainer = _styledComponents["default"].img(_templateObject3(), function (props) {
160
+ var IconContainer = _styledComponents["default"].img(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n width: 20px;\n height: 20px;\n line-height: 1;\n margin-right: ", ";\n margin-left: ", ";\n"])), function (props) {
198
161
  return props.label !== "" && props.iconPosition === "before" ? "10px" : "";
199
162
  }, function (props) {
200
163
  return props.label !== "" && props.iconPosition === "after" ? "10px" : "";
201
164
  });
202
165
 
203
- var LabelContainer = _styledComponents["default"].span(_templateObject4());
166
+ var LabelContainer = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])([""])));
204
167
 
205
168
  DxcToggle.propTypes = {
206
169
  size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
@@ -213,11 +176,11 @@ DxcToggle.propTypes = {
213
176
  disableRipple: _propTypes["default"].bool,
214
177
  onClick: _propTypes["default"].func,
215
178
  margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
216
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
217
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
218
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
219
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
220
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
179
+ top: _propTypes["default"].oneOf(Object.keys(spaces)),
180
+ bottom: _propTypes["default"].oneOf(Object.keys(spaces)),
181
+ left: _propTypes["default"].oneOf(Object.keys(spaces)),
182
+ right: _propTypes["default"].oneOf(Object.keys(spaces))
183
+ }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(spaces)))])
221
184
  };
222
185
  var _default = DxcToggle;
223
186
  exports["default"] = _default;
@@ -0,0 +1,21 @@
1
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
+ type Margin = {
3
+ top?: Space;
4
+ bottom?: Space;
5
+ left?: Space;
6
+ right?: Space;
7
+ };
8
+
9
+ type Props = {
10
+ label?: string;
11
+ helperText?: string;
12
+ value?: any;
13
+ onChange?: void;
14
+ disabled?: boolean,
15
+ options?: any;
16
+ multiple?: boolean;
17
+ margin?: Space | Margin;
18
+ tabIndex?: number;
19
+ };
20
+
21
+ export default function DxcToggle(props: Props): JSX.Element;
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import ToogleGroupPropsType from "./types";
3
+ declare const DxcToggleGroup: ({ label, helperText, value, onChange, disabled, options, margin, multiple, tabIndex, }: ToogleGroupPropsType) => JSX.Element;
4
+ export default DxcToggleGroup;
@@ -0,0 +1,217 @@
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 _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+
14
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
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 _uuid = require("uuid");
23
+
24
+ var _variables = require("../common/variables.js");
25
+
26
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
27
+
28
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
29
+
30
+ 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); }
31
+
32
+ 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; }
33
+
34
+ var DxcToggleGroup = function DxcToggleGroup(_ref) {
35
+ var label = _ref.label,
36
+ helperText = _ref.helperText,
37
+ value = _ref.value,
38
+ onChange = _ref.onChange,
39
+ _ref$disabled = _ref.disabled,
40
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
41
+ options = _ref.options,
42
+ margin = _ref.margin,
43
+ _ref$multiple = _ref.multiple,
44
+ multiple = _ref$multiple === void 0 ? false : _ref$multiple,
45
+ _ref$tabIndex = _ref.tabIndex,
46
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
47
+ var colorsTheme = (0, _useTheme["default"])();
48
+
49
+ var _useState = (0, _react.useState)(multiple ? [] : ""),
50
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
51
+ selectedValue = _useState2[0],
52
+ setSelectedValue = _useState2[1];
53
+
54
+ var _useState3 = (0, _react.useState)("toggle-group-".concat((0, _uuid.v4)())),
55
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
56
+ toggleGroupId = _useState4[0];
57
+
58
+ var handleToggleChange = function handleToggleChange(selectedOption) {
59
+ var newSelectedOptions;
60
+
61
+ if (value == null) {
62
+ if (multiple && Array.isArray(selectedValue)) {
63
+ newSelectedOptions = selectedValue.map(function (value) {
64
+ return value;
65
+ });
66
+
67
+ if (newSelectedOptions.includes(selectedOption)) {
68
+ var index = newSelectedOptions.indexOf(selectedOption);
69
+ newSelectedOptions.splice(index, 1);
70
+ } else {
71
+ newSelectedOptions.push(selectedOption);
72
+ }
73
+
74
+ setSelectedValue(newSelectedOptions);
75
+ } else setSelectedValue(selectedOption === selectedValue ? null : selectedOption);
76
+ } else if (multiple) {
77
+ newSelectedOptions = Array.isArray(value) ? value.map(function (v) {
78
+ return v;
79
+ }) : value;
80
+
81
+ if (newSelectedOptions.includes(selectedOption)) {
82
+ var _index = newSelectedOptions.indexOf(selectedOption);
83
+
84
+ newSelectedOptions.splice(_index, 1);
85
+ } else newSelectedOptions.push(selectedOption);
86
+ }
87
+
88
+ typeof onChange === "function" && onChange(multiple ? newSelectedOptions : selectedOption);
89
+ };
90
+
91
+ var handleKeyPress = function handleKeyPress(event, optionValue) {
92
+ event.preventDefault();
93
+ if (!disabled && (event.nativeEvent.code === "Enter" || event.nativeEvent.code === "Space")) handleToggleChange(optionValue);
94
+ };
95
+
96
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
97
+ theme: colorsTheme.toggleGroup
98
+ }, /*#__PURE__*/_react["default"].createElement(ToggleGroup, {
99
+ margin: margin,
100
+ disabled: disabled
101
+ }, /*#__PURE__*/_react["default"].createElement(Label, {
102
+ htmlFor: toggleGroupId,
103
+ disabled: disabled
104
+ }, label), /*#__PURE__*/_react["default"].createElement(HelperText, {
105
+ disabled: disabled
106
+ }, helperText), /*#__PURE__*/_react["default"].createElement(OptionsContainer, {
107
+ id: toggleGroupId,
108
+ role: multiple ? "group" : "radiogroup"
109
+ }, options.map(function (option, i) {
110
+ return /*#__PURE__*/_react["default"].createElement(ToggleContainer, {
111
+ selected: multiple ? value ? value.includes(option.value) : selectedValue.includes(option.value) : value ? option.value === value : option.value === selectedValue,
112
+ role: multiple ? "switch" : "radio",
113
+ "aria-checked": multiple ? value ? value.includes(option.value) : selectedValue.includes(option.value) : value ? option.value === value : option.value === selectedValue,
114
+ tabIndex: !disabled ? tabIndex : -1,
115
+ onClick: function onClick() {
116
+ return !disabled && handleToggleChange(option.value);
117
+ },
118
+ isFirst: i === 0,
119
+ isLast: i === options.length - 1,
120
+ isIcon: option.iconSrc || option.icon,
121
+ optionLabel: option.label,
122
+ disabled: disabled,
123
+ onKeyPress: function onKeyPress(event) {
124
+ handleKeyPress(event, option.value);
125
+ },
126
+ key: "toggle-".concat(i, "-").concat(option.label)
127
+ }, /*#__PURE__*/_react["default"].createElement(OptionContent, null, option.icon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
128
+ optionLabel: option.label
129
+ }, (0, _typeof2["default"])(option.icon) === "object" ? option.icon : /*#__PURE__*/_react["default"].createElement(option.icon)), option.iconSrc && /*#__PURE__*/_react["default"].createElement(Icon, {
130
+ src: option.iconSrc,
131
+ optionLabel: option.label
132
+ }), option.label && /*#__PURE__*/_react["default"].createElement(LabelContainer, null, option.label)));
133
+ }))));
134
+ };
135
+
136
+ var Label = _styledComponents["default"].label(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
137
+ return props.disabled ? props.theme.disabledLabelFontColor : props.theme.labelFontColor;
138
+ }, function (props) {
139
+ return props.theme.labelFontFamily;
140
+ }, function (props) {
141
+ return props.theme.labelFontSize;
142
+ }, function (props) {
143
+ return props.theme.labelFontStyle;
144
+ }, function (props) {
145
+ return props.theme.labelFontWeight;
146
+ }, function (props) {
147
+ return props.theme.labelLineHeight;
148
+ });
149
+
150
+ var HelperText = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
151
+ return props.disabled ? props.theme.disabledHelperTextFontcolor : props.theme.helperTextFontColor;
152
+ }, function (props) {
153
+ return props.theme.helperTextFontFamily;
154
+ }, function (props) {
155
+ return props.theme.helperTextFontSize;
156
+ }, function (props) {
157
+ return props.theme.helperTextFontStyle;
158
+ }, function (props) {
159
+ return props.theme.helperTextFontWeight;
160
+ }, function (props) {
161
+ return props.theme.helperTextLineHeight;
162
+ });
163
+
164
+ var ToggleGroup = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n flex-direction: column;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
165
+ return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
166
+ }, function (props) {
167
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
168
+ }, function (props) {
169
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
170
+ }, function (props) {
171
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
172
+ }, function (props) {
173
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
174
+ });
175
+
176
+ var OptionsContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n opacity: 1;\n height: calc(48px - 4px - 4px);\n border-width: ", ";\n border-style: ", ";\n border-radius: ", ";\n border-color: ", ";\n background-color: ", ";\n padding: 4px;\n margin-top: ", ";\n"])), function (props) {
177
+ return props.theme.containerBorderThickness;
178
+ }, function (props) {
179
+ return props.theme.containerBorderStyle;
180
+ }, function (props) {
181
+ return props.theme.containerBorderRadius;
182
+ }, function (props) {
183
+ return props.theme.containerBorderColor;
184
+ }, function (props) {
185
+ return props.theme.containerBackgroundColor;
186
+ }, function (props) {
187
+ return props.theme.containerMarginTop;
188
+ });
189
+
190
+ var ToggleContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin-right: ", ";\n\n ", "\n"])), function (props) {
191
+ return !props.isLast && "4px";
192
+ }, function (props) {
193
+ return "\n background-color: ".concat(props.selected ? props.disabled ? props.theme.selectedDisabledBackgroundColor : props.theme.selectedBackgroundColor : props.disabled ? props.theme.unselectedDisabledBackgroundColor : props.theme.unselectedBackgroundColor, ";\n border-width: ").concat(props.theme.optionBorderThickness, ";\n border-style: ").concat(props.theme.optionBorderStyle, ";\n border-radius: ").concat(props.theme.optionBorderRadius, ";\n padding-left: ").concat(props.optionLabel && props.isIcon || props.optionLabel && !props.isIcon ? props.theme.labelPaddingLeft : props.theme.iconPaddingLeft, ";\n padding-right: ").concat(props.optionLabel && props.isIcon || props.optionLabel && !props.isIcon ? props.theme.labelPaddingRight : props.theme.iconPaddingRight, ";\n ").concat(!props.disabled ? ":hover {\n background-color: ".concat(props.selected ? props.theme.selectedHoverBackgroundColor : props.theme.unselectedHoverBackgroundColor, ";\n }\n :active {\n background-color: ").concat(props.selected ? props.theme.selectedActiveBackgroundColor : props.theme.unselectedActiveBackgroundColor, ";\n color: #ffffff;\n } \n :focus {\n border-color: transparent;\n box-shadow: 0 0 0 ").concat(props.theme.optionFocusBorderThickness, " ").concat(props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor, ";\n }\n &:focus-visible {\n outline: none;\n }\n cursor: pointer;\n color: ").concat(props.selected ? props.theme.selectedFontColor : props.theme.unselectedFontColor, ";\n") : "color: ".concat(props.selected ? props.theme.selectedDisabledFontColor : props.theme.unselectedDisabledFontColor, ";\n cursor: not-allowed;"), "\n ");
194
+ });
195
+
196
+ var LabelContainer = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"])), function (props) {
197
+ return props.theme.optionLabelFontFamily;
198
+ }, function (props) {
199
+ return props.theme.optionLabelFontSize;
200
+ }, function (props) {
201
+ return props.theme.optionLabelFontStyle;
202
+ }, function (props) {
203
+ return props.theme.optionLabelFontWeight;
204
+ });
205
+
206
+ var OptionContent = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n"])));
207
+
208
+ var Icon = _styledComponents["default"].img(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n height: 24px;\n width: 24px;\n margin-right: ", ";\n"])), function (props) {
209
+ return props.optionLabel && props.theme.iconMarginRight;
210
+ });
211
+
212
+ var IconContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: ", ";\n height: 24px;\n width: 24px;\n overflow: hidden;\n display: flex;\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
213
+ return props.optionLabel && props.theme.iconMarginRight;
214
+ });
215
+
216
+ var _default = DxcToggleGroup;
217
+ exports["default"] = _default;
@@ -0,0 +1,178 @@
1
+ import React from "react";
2
+ import { userEvent, within } from "@storybook/testing-library";
3
+ import DxcToggleGroup from "./ToggleGroup";
4
+ import Title from "../../.storybook/components/Title";
5
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
+
7
+ export default {
8
+ title: "ToggleGroup",
9
+ component: DxcToggleGroup,
10
+ };
11
+
12
+ const ethernetSVG = () => {
13
+ return (
14
+ <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
15
+ <path d="M0 0h24v24H0V0z" fill="none" />
16
+ <path d="M7.77 6.76L6.23 5.48.82 12l5.41 6.52 1.54-1.28L3.42 12l4.35-5.24zM7 13h2v-2H7v2zm10-2h-2v2h2v-2zm-6 2h2v-2h-2v2zm6.77-7.52l-1.54 1.28L20.58 12l-4.35 5.24 1.54 1.28L23.18 12l-5.41-6.52z" />
17
+ </svg>
18
+ );
19
+ };
20
+ const gMobileSVG = () => {
21
+ return (
22
+ <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
23
+ <g>
24
+ <path d="M0,0h24v24H0V0z" fill="none" />
25
+ </g>
26
+ <g>
27
+ <g>
28
+ <path d="M3,7v2h5v2H4v2h4v2H3v2h5c1.1,0,2-0.9,2-2v-1.5c0-0.83-0.67-1.5-1.5-1.5c0.83,0,1.5-0.67,1.5-1.5V9c0-1.1-0.9-2-2-2H3z M21,11v4c0,1.1-0.9,2-2,2h-5c-1.1,0-2-0.9-2-2V9c0-1.1,0.9-2,2-2h5c1.1,0,2,0.9,2,2h-7v6h5v-2h-2.5v-2H21z" />
29
+ </g>
30
+ </g>
31
+ </svg>
32
+ );
33
+ };
34
+ const wifiSVG = () => {
35
+ return (
36
+ <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
37
+ <path d="M0 0h24v24H0V0zm0 0h24v24H0V0z" fill="none" />
38
+ <path d="M1 9l2 2c4.97-4.97 13.03-4.97 18 0l2-2C16.93 2.93 7.08 2.93 1 9zm8 8l3 3 3-3c-1.65-1.66-4.34-1.66-6 0zm-4-4l2 2c2.76-2.76 7.24-2.76 10 0l2-2C15.14 9.14 8.87 9.14 5 13z" />
39
+ </svg>
40
+ );
41
+ };
42
+ const options = [
43
+ {
44
+ value: 1,
45
+ label: "Facebook",
46
+ },
47
+ {
48
+ value: 2,
49
+ label: "Twitter",
50
+ },
51
+ {
52
+ value: 3,
53
+ label: "Linkedin",
54
+ },
55
+ ];
56
+ const optionsWithIcon = [
57
+ {
58
+ value: 1,
59
+ icon: wifiSVG,
60
+ },
61
+ {
62
+ value: 2,
63
+ icon: ethernetSVG,
64
+ },
65
+ {
66
+ value: 3,
67
+ icon: gMobileSVG,
68
+ },
69
+ ];
70
+ const optionsWithIconAndLabel = [
71
+ {
72
+ value: 1,
73
+ label: "Wi-fi",
74
+ icon: wifiSVG,
75
+ },
76
+ {
77
+ value: 2,
78
+ label: "Ethernet",
79
+ icon: ethernetSVG,
80
+ },
81
+ {
82
+ value: 3,
83
+ label: "3G Mobile",
84
+ icon: gMobileSVG,
85
+ },
86
+ ];
87
+ const twoOptions = [
88
+ {
89
+ value: 1,
90
+ label: "Facebook",
91
+ },
92
+ {
93
+ value: 2,
94
+ label: "Twitter",
95
+ },
96
+ ];
97
+ export const Chromatic = () => (
98
+ <>
99
+ <ExampleContainer>
100
+ <Title title="Basic toggle group" theme="light" level={4} />
101
+ <DxcToggleGroup label="Toggle group" helperText="HelperText" options={options} />
102
+ </ExampleContainer>
103
+ <ExampleContainer>
104
+ <Title title="Selected" theme="light" level={4} />
105
+ <DxcToggleGroup label="Selected" helperText="HelperText" value={2} options={options} />
106
+ </ExampleContainer>
107
+ <ExampleContainer>
108
+ <Title title="Icons toggle group" theme="light" level={4} />
109
+ <DxcToggleGroup label="Icons group" options={optionsWithIcon} />
110
+ </ExampleContainer>
111
+ <ExampleContainer>
112
+ <Title title="Icons & label toggle group" theme="light" level={4} />
113
+ <DxcToggleGroup label="Icons & label" options={optionsWithIconAndLabel} />
114
+ </ExampleContainer>
115
+ <ExampleContainer>
116
+ <Title title="Disabled" theme="light" level={4} />
117
+ <DxcToggleGroup label="Disabled" value={2} options={options} disabled />
118
+ </ExampleContainer>
119
+ <ExampleContainer pseudoState="pseudo-hover">
120
+ <Title title="Hovered" theme="light" level={4} />
121
+ <DxcToggleGroup label="Hovered" options={twoOptions} value={2} />
122
+ </ExampleContainer>
123
+ <ExampleContainer>
124
+ <Title title="Multiple toggleGroup" theme="light" level={4} />
125
+ <DxcToggleGroup
126
+ label="Toggle group"
127
+ helperText="Please select one or more"
128
+ options={options}
129
+ value={[1, 3]}
130
+ multiple
131
+ ></DxcToggleGroup>
132
+ </ExampleContainer>
133
+ <Title title="Margins" theme="light" level={2} />
134
+ <ExampleContainer>
135
+ <Title title="xxSmall" theme="light" level={4} />
136
+ <DxcToggleGroup label="xxSmall margin" options={options} margin="xxsmall" />
137
+ </ExampleContainer>
138
+ <ExampleContainer>
139
+ <Title title="xSmall" theme="light" level={4} />
140
+ <DxcToggleGroup label="xSmall margin" options={options} margin="xsmall" />
141
+ </ExampleContainer>
142
+ <ExampleContainer>
143
+ <Title title="Small" theme="light" level={4} />
144
+ <DxcToggleGroup label="Small margin" options={options} margin="small" />
145
+ </ExampleContainer>
146
+ <ExampleContainer>
147
+ <Title title="Medium" theme="light" level={4} />
148
+ <DxcToggleGroup label="Medium margin" options={options} margin="medium" />
149
+ </ExampleContainer>
150
+ <ExampleContainer>
151
+ <Title title="Large" theme="light" level={4} />
152
+ <DxcToggleGroup label="Large margin" options={options} margin="large" />
153
+ </ExampleContainer>
154
+ <ExampleContainer>
155
+ <Title title="xLarge" theme="light" level={4} />
156
+ <DxcToggleGroup label="xLarge margin" options={options} margin="xlarge" />
157
+ </ExampleContainer>
158
+ <ExampleContainer>
159
+ <Title title="xxLarge" theme="light" level={4} />
160
+ <DxcToggleGroup label="xxLarge margin" options={options} margin="xxlarge" />
161
+ </ExampleContainer>
162
+ </>
163
+ );
164
+ const OptionSelected = () => <DxcToggleGroup label="Toggle group" helperText="HelperText" options={options} />;
165
+
166
+ export const ToggleGroupSelectedActived = OptionSelected.bind({});
167
+ ToggleGroupSelectedActived.play = async ({ canvasElement }) => {
168
+ const canvas = within(canvasElement);
169
+ const option = canvas.getByText("Linkedin");
170
+ await userEvent.click(option);
171
+ };
172
+ export const ToggleGroupUnselectedActived = OptionSelected.bind({});
173
+ ToggleGroupUnselectedActived.play = async ({ canvasElement }) => {
174
+ const canvas = within(canvasElement);
175
+ const option = canvas.getByText("Twitter");
176
+ await userEvent.click(option);
177
+ userEvent.tab();
178
+ };