@dxc-technology/halstack-react 0.0.0-b177758 → 0.0.0-b39a1d2

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