@dxc-technology/halstack-react 0.0.0-d1d02c1 → 0.0.0-d20b360

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 (333) hide show
  1. package/BackgroundColorContext.js +50 -0
  2. package/ThemeContext.js +246 -0
  3. package/V3Select/V3Select.js +455 -0
  4. package/V3Select/index.d.ts +27 -0
  5. package/V3Textarea/V3Textarea.js +260 -0
  6. package/V3Textarea/index.d.ts +27 -0
  7. package/accordion/Accordion.d.ts +4 -0
  8. package/accordion/Accordion.js +258 -0
  9. package/accordion/types.d.ts +68 -0
  10. package/accordion/types.js +5 -0
  11. package/accordion-group/AccordionGroup.d.ts +7 -0
  12. package/accordion-group/AccordionGroup.js +170 -0
  13. package/accordion-group/types.d.ts +72 -0
  14. package/accordion-group/types.js +5 -0
  15. package/alert/Alert.d.ts +4 -0
  16. package/alert/Alert.js +290 -0
  17. package/alert/types.d.ts +49 -0
  18. package/alert/types.js +5 -0
  19. package/badge/Badge.js +59 -0
  20. package/{dist/box → box}/Box.js +38 -34
  21. package/box/Box.stories.jsx +132 -0
  22. package/box/index.d.ts +25 -0
  23. package/button/Button.d.ts +4 -0
  24. package/button/Button.js +182 -0
  25. package/button/Button.stories.tsx +293 -0
  26. package/button/types.d.ts +57 -0
  27. package/button/types.js +5 -0
  28. package/card/Card.d.ts +4 -0
  29. package/card/Card.js +165 -0
  30. package/card/types.d.ts +69 -0
  31. package/card/types.js +5 -0
  32. package/checkbox/Checkbox.d.ts +4 -0
  33. package/checkbox/Checkbox.js +253 -0
  34. package/checkbox/Checkbox.stories.tsx +192 -0
  35. package/checkbox/types.d.ts +60 -0
  36. package/checkbox/types.js +5 -0
  37. package/chip/Chip.js +221 -0
  38. package/chip/index.d.ts +22 -0
  39. package/{dist/common → common}/OpenSans.css +0 -0
  40. package/{dist/common → common}/RequiredComponent.js +5 -19
  41. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  42. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  43. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  44. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  45. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  46. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  47. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  48. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  49. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  50. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  51. package/common/utils.js +22 -0
  52. package/common/variables.js +1569 -0
  53. package/{dist/date → date}/Date.js +87 -70
  54. package/date/index.d.ts +27 -0
  55. package/date-input/DateInput.d.ts +4 -0
  56. package/date-input/DateInput.js +361 -0
  57. package/date-input/types.d.ts +100 -0
  58. package/date-input/types.js +5 -0
  59. package/dialog/Dialog.d.ts +4 -0
  60. package/dialog/Dialog.js +165 -0
  61. package/dialog/types.d.ts +43 -0
  62. package/dialog/types.js +5 -0
  63. package/dropdown/Dropdown.d.ts +4 -0
  64. package/dropdown/Dropdown.js +417 -0
  65. package/dropdown/types.d.ts +89 -0
  66. package/dropdown/types.js +5 -0
  67. package/file-input/FileInput.js +532 -0
  68. package/file-input/FileItem.js +193 -0
  69. package/file-input/index.d.ts +81 -0
  70. package/footer/Footer.d.ts +4 -0
  71. package/footer/Footer.js +266 -0
  72. package/footer/Footer.stories.jsx +151 -0
  73. package/footer/Icons.js +77 -0
  74. package/footer/types.d.ts +61 -0
  75. package/footer/types.js +5 -0
  76. package/header/Header.d.ts +7 -0
  77. package/header/Header.js +324 -0
  78. package/header/Icons.js +34 -0
  79. package/header/types.d.ts +45 -0
  80. package/header/types.js +5 -0
  81. package/heading/Heading.js +176 -0
  82. package/heading/index.d.ts +17 -0
  83. package/input-text/Icons.js +22 -0
  84. package/input-text/InputText.js +611 -0
  85. package/input-text/index.d.ts +36 -0
  86. package/{dist/layout → layout}/ApplicationLayout.js +43 -142
  87. package/layout/Icons.js +55 -0
  88. package/link/Link.js +183 -0
  89. package/link/index.d.ts +23 -0
  90. package/main.d.ts +44 -0
  91. package/{dist/main.js → main.js} +137 -53
  92. package/number-input/NumberInput.js +128 -0
  93. package/number-input/NumberInput.stories.jsx +115 -0
  94. package/{dist/ThemeContext.js → number-input/NumberInputContext.js} +3 -2
  95. package/number-input/index.d.ts +113 -0
  96. package/package.json +37 -23
  97. package/paginator/Icons.js +66 -0
  98. package/paginator/Paginator.d.ts +4 -0
  99. package/paginator/Paginator.js +198 -0
  100. package/paginator/Paginator.stories.tsx +63 -0
  101. package/paginator/types.d.ts +38 -0
  102. package/paginator/types.js +5 -0
  103. package/password-input/PasswordInput.js +199 -0
  104. package/password-input/PasswordInput.stories.jsx +131 -0
  105. package/password-input/index.d.ts +94 -0
  106. package/progress-bar/ProgressBar.d.ts +4 -0
  107. package/progress-bar/ProgressBar.js +170 -0
  108. package/progress-bar/types.d.ts +37 -0
  109. package/progress-bar/types.js +5 -0
  110. package/radio/Radio.d.ts +4 -0
  111. package/radio/Radio.js +174 -0
  112. package/radio/Radio.stories.tsx +192 -0
  113. package/radio/types.d.ts +54 -0
  114. package/radio/types.js +5 -0
  115. package/resultsetTable/ResultsetTable.js +274 -0
  116. package/resultsetTable/index.d.ts +19 -0
  117. package/select/Select.js +865 -0
  118. package/select/index.d.ts +131 -0
  119. package/sidenav/Sidenav.js +145 -0
  120. package/sidenav/index.d.ts +13 -0
  121. package/slider/Slider.d.ts +4 -0
  122. package/slider/Slider.js +306 -0
  123. package/slider/types.d.ts +83 -0
  124. package/slider/types.js +5 -0
  125. package/spinner/Spinner.js +267 -0
  126. package/spinner/Spinner.stories.jsx +102 -0
  127. package/spinner/index.d.ts +17 -0
  128. package/switch/Switch.d.ts +4 -0
  129. package/switch/Switch.js +179 -0
  130. package/switch/types.d.ts +58 -0
  131. package/switch/types.js +5 -0
  132. package/table/Table.js +118 -0
  133. package/table/Table.stories.jsx +276 -0
  134. package/table/index.d.ts +13 -0
  135. package/tabs/Tabs.d.ts +4 -0
  136. package/tabs/Tabs.js +211 -0
  137. package/tabs/types.d.ts +71 -0
  138. package/tabs/types.js +5 -0
  139. package/tag/Tag.js +208 -0
  140. package/tag/index.d.ts +24 -0
  141. package/text-input/TextInput.js +825 -0
  142. package/text-input/index.d.ts +135 -0
  143. package/textarea/Textarea.js +317 -0
  144. package/textarea/Textarea.stories.jsx +135 -0
  145. package/textarea/index.d.ts +117 -0
  146. package/{dist/toggle → toggle}/Toggle.js +30 -67
  147. package/toggle/index.d.ts +21 -0
  148. package/toggle-group/ToggleGroup.js +243 -0
  149. package/toggle-group/index.d.ts +21 -0
  150. package/{dist/upload → upload}/Upload.js +23 -22
  151. package/upload/buttons-upload/ButtonsUpload.js +111 -0
  152. package/upload/buttons-upload/Icons.js +40 -0
  153. package/upload/dragAndDropArea/DragAndDropArea.js +225 -0
  154. package/upload/dragAndDropArea/Icons.js +39 -0
  155. package/upload/file-upload/FileToUpload.js +115 -0
  156. package/upload/file-upload/Icons.js +66 -0
  157. package/upload/files-upload/FilesToUpload.js +109 -0
  158. package/upload/index.d.ts +15 -0
  159. package/upload/transaction/Icons.js +160 -0
  160. package/upload/transaction/Transaction.js +104 -0
  161. package/upload/transactions/Transactions.js +94 -0
  162. package/useTheme.js +22 -0
  163. package/wizard/Icons.js +65 -0
  164. package/wizard/Wizard.js +271 -0
  165. package/wizard/index.d.ts +18 -0
  166. package/README.md +0 -66
  167. package/babel.config.js +0 -4
  168. package/dist/accordion/Accordion.js +0 -248
  169. package/dist/accordion/Accordion.stories.js +0 -207
  170. package/dist/accordion/readme.md +0 -96
  171. package/dist/alert/Alert.js +0 -304
  172. package/dist/alert/Alert.stories.js +0 -158
  173. package/dist/alert/close.svg +0 -4
  174. package/dist/alert/error.svg +0 -4
  175. package/dist/alert/info.svg +0 -4
  176. package/dist/alert/readme.md +0 -43
  177. package/dist/alert/success.svg +0 -4
  178. package/dist/alert/warning.svg +0 -4
  179. package/dist/button/Button.js +0 -181
  180. package/dist/button/Button.stories.js +0 -224
  181. package/dist/button/readme.md +0 -93
  182. package/dist/card/Card.js +0 -217
  183. package/dist/checkbox/Checkbox.js +0 -240
  184. package/dist/checkbox/Checkbox.stories.js +0 -144
  185. package/dist/checkbox/readme.md +0 -116
  186. package/dist/chip/Chip.js +0 -173
  187. package/dist/common/services/example-service.js +0 -10
  188. package/dist/common/services/example-service.test.js +0 -12
  189. package/dist/common/utils.js +0 -42
  190. package/dist/common/variables.js +0 -434
  191. package/dist/date/Date.stories.js +0 -205
  192. package/dist/date/calendar.svg +0 -1
  193. package/dist/date/calendar_dark.svg +0 -1
  194. package/dist/date/readme.md +0 -73
  195. package/dist/dialog/Dialog.js +0 -197
  196. package/dist/dialog/Dialog.stories.js +0 -217
  197. package/dist/dialog/readme.md +0 -32
  198. package/dist/dropdown/Dropdown.js +0 -416
  199. package/dist/dropdown/Dropdown.stories.js +0 -249
  200. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  201. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  202. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  203. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  204. package/dist/dropdown/readme.md +0 -69
  205. package/dist/footer/Footer.js +0 -346
  206. package/dist/footer/Footer.stories.js +0 -94
  207. package/dist/footer/dxc_logo_wht.png +0 -0
  208. package/dist/footer/readme.md +0 -41
  209. package/dist/header/Header.js +0 -373
  210. package/dist/header/Header.stories.js +0 -176
  211. package/dist/header/close_icon.svg +0 -1
  212. package/dist/header/dxc_logo_black.png +0 -0
  213. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  214. package/dist/header/dxc_logo_white.png +0 -0
  215. package/dist/header/hamb_menu_black.svg +0 -1
  216. package/dist/header/hamb_menu_white.svg +0 -1
  217. package/dist/header/readme.md +0 -33
  218. package/dist/heading/Heading.js +0 -153
  219. package/dist/input-text/InputText.js +0 -519
  220. package/dist/input-text/InputText.stories.js +0 -209
  221. package/dist/input-text/error.svg +0 -1
  222. package/dist/input-text/readme.md +0 -91
  223. package/dist/layout/facebook.svg +0 -45
  224. package/dist/layout/linkedin.svg +0 -50
  225. package/dist/layout/twitter.svg +0 -53
  226. package/dist/link/Link.js +0 -171
  227. package/dist/link/readme.md +0 -51
  228. package/dist/paginator/Paginator.js +0 -196
  229. package/dist/paginator/images/next.svg +0 -3
  230. package/dist/paginator/images/nextPage.svg +0 -3
  231. package/dist/paginator/images/previous.svg +0 -3
  232. package/dist/paginator/images/previousPage.svg +0 -3
  233. package/dist/paginator/readme.md +0 -50
  234. package/dist/progress-bar/ProgressBar.js +0 -185
  235. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  236. package/dist/progress-bar/readme.md +0 -63
  237. package/dist/radio/Radio.js +0 -195
  238. package/dist/radio/Radio.stories.js +0 -166
  239. package/dist/radio/readme.md +0 -70
  240. package/dist/resultsetTable/ResultsetTable.js +0 -333
  241. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  242. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  243. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  244. package/dist/select/Select.js +0 -453
  245. package/dist/select/Select.stories.js +0 -235
  246. package/dist/select/readme.md +0 -72
  247. package/dist/sidenav/Sidenav.js +0 -69
  248. package/dist/slider/Slider.js +0 -266
  249. package/dist/slider/Slider.stories.js +0 -241
  250. package/dist/slider/readme.md +0 -64
  251. package/dist/spinner/Spinner.js +0 -193
  252. package/dist/spinner/Spinner.stories.js +0 -183
  253. package/dist/spinner/readme.md +0 -65
  254. package/dist/switch/Switch.js +0 -199
  255. package/dist/switch/Switch.stories.js +0 -134
  256. package/dist/switch/readme.md +0 -133
  257. package/dist/table/Table.js +0 -105
  258. package/dist/tabs/Tabs.js +0 -172
  259. package/dist/tabs/Tabs.stories.js +0 -130
  260. package/dist/tabs/readme.md +0 -78
  261. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  262. package/dist/tabs-for-sections/readme.md +0 -78
  263. package/dist/tag/Tag.js +0 -234
  264. package/dist/textarea/Textarea.js +0 -227
  265. package/dist/toggle/Toggle.stories.js +0 -297
  266. package/dist/toggle/readme.md +0 -80
  267. package/dist/toggle-group/ToggleGroup.js +0 -214
  268. package/dist/toggle-group/readme.md +0 -82
  269. package/dist/upload/Upload.stories.js +0 -72
  270. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -122
  271. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  272. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  273. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -279
  274. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  275. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  276. package/dist/upload/file-upload/FileToUpload.js +0 -158
  277. package/dist/upload/file-upload/audio-icon.svg +0 -4
  278. package/dist/upload/file-upload/close.svg +0 -4
  279. package/dist/upload/file-upload/file-icon.svg +0 -4
  280. package/dist/upload/file-upload/video-icon.svg +0 -4
  281. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  282. package/dist/upload/readme.md +0 -37
  283. package/dist/upload/transaction/Transaction.js +0 -155
  284. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  285. package/dist/upload/transaction/audio-icon.svg +0 -4
  286. package/dist/upload/transaction/error-icon.svg +0 -4
  287. package/dist/upload/transaction/file-icon-err.svg +0 -4
  288. package/dist/upload/transaction/file-icon.svg +0 -4
  289. package/dist/upload/transaction/image-icon-err.svg +0 -4
  290. package/dist/upload/transaction/image-icon.svg +0 -4
  291. package/dist/upload/transaction/success-icon.svg +0 -4
  292. package/dist/upload/transaction/video-icon-err.svg +0 -4
  293. package/dist/upload/transaction/video-icon.svg +0 -4
  294. package/dist/upload/transactions/Transactions.js +0 -120
  295. package/dist/wizard/Wizard.js +0 -327
  296. package/dist/wizard/invalid_icon.svg +0 -6
  297. package/dist/wizard/valid_icon.svg +0 -6
  298. package/dist/wizard/validation-wrong.svg +0 -6
  299. package/test/Accordion.test.js +0 -33
  300. package/test/Alert.test.js +0 -53
  301. package/test/Box.test.js +0 -10
  302. package/test/Button.test.js +0 -18
  303. package/test/Card.test.js +0 -30
  304. package/test/Checkbox.test.js +0 -45
  305. package/test/Chip.test.js +0 -25
  306. package/test/Date.test.js +0 -393
  307. package/test/Dialog.test.js +0 -23
  308. package/test/Dropdown.test.js +0 -130
  309. package/test/Footer.test.js +0 -99
  310. package/test/Header.test.js +0 -39
  311. package/test/Heading.test.js +0 -35
  312. package/test/InputText.test.js +0 -236
  313. package/test/Link.test.js +0 -33
  314. package/test/Paginator.test.js +0 -165
  315. package/test/ProgressBar.test.js +0 -35
  316. package/test/Radio.test.js +0 -37
  317. package/test/ResultsetTable.test.js +0 -282
  318. package/test/Select.test.js +0 -191
  319. package/test/Sidenav.test.js +0 -19
  320. package/test/Slider.test.js +0 -82
  321. package/test/Spinner.test.js +0 -27
  322. package/test/Switch.test.js +0 -45
  323. package/test/Table.test.js +0 -36
  324. package/test/Tabs.test.js +0 -88
  325. package/test/TabsForSections.test.js +0 -34
  326. package/test/Tag.test.js +0 -32
  327. package/test/TextArea.test.js +0 -52
  328. package/test/Toggle.test.js +0 -43
  329. package/test/ToggleGroup.test.js +0 -81
  330. package/test/Upload.test.js +0 -60
  331. package/test/Wizard.test.js +0 -130
  332. package/test/mocks/pngMock.js +0 -1
  333. package/test/mocks/svgMock.js +0 -1
@@ -0,0 +1,117 @@
1
+ type Size = "small" | "medium" | "large" | "fillParent";
2
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ type Margin = {
4
+ top?: Space;
5
+ bottom?: Space;
6
+ left?: Space;
7
+ right?: Space;
8
+ };
9
+
10
+ type Props = {
11
+ /**
12
+ * Text to be placed above the textarea.
13
+ */
14
+ label?: string;
15
+ /**
16
+ * Name attribute of the textarea element.
17
+ */
18
+ name?: string;
19
+ /**
20
+ * Value of the textarea. If undefined, the component will be uncontrolled and the value will be managed internally.
21
+ */
22
+ value?: string;
23
+ /**
24
+ * Helper text to be placed above the textarea.
25
+ */
26
+ helperText?: string;
27
+ /**
28
+ * Text to be put as placeholder of the textarea.
29
+ */
30
+ placeholder?: string;
31
+ /**
32
+ * If true, the component will be disabled.
33
+ */
34
+ disabled?: boolean;
35
+ /**
36
+ * If true, the textarea will be optional, showing '(Optional)'
37
+ * next to the label. Otherwise, the field will be considered required
38
+ * and an error will be passed as a parameter to the OnBlur and onChange functions
39
+ * when it has not been filled.
40
+ */
41
+ optional?: boolean;
42
+ /**
43
+ * Defines the textarea's ability to resize vertically. It can be:
44
+ * - 'auto': The textarea grows or shrinks automatically in order to fit the content.
45
+ * - 'manual': The height of the textarea is enabled to be manually modified.
46
+ * - 'none': The textarea has a fixed height and can't be modified.
47
+ */
48
+ verticalGrow?: "auto" | "manual" | "none";
49
+ /**
50
+ * Number of rows of the textarea.
51
+ */
52
+ rows?: number;
53
+ /**
54
+ * This function will be called when the user types within the textarea.
55
+ * An object including the current value and the error (if the value
56
+ * entered is not valid) will be passed to this function.
57
+ * If there is no error, error will be null.
58
+ */
59
+ onChange?: (val: { value: string; error: string }) => void;
60
+ /**
61
+ * This function will be called when the textarea loses the focus. An
62
+ * object including the textarea value and the error (if the value entered
63
+ * is not valid) will be passed to this function. If there is no error,
64
+ * error will be null.
65
+ */
66
+ onBlur?: (val: { value: string; error: string }) => void;
67
+ /**
68
+ * If it is defined, the component will change its appearance, showing
69
+ * the error below the textarea. If it is not defined, the error
70
+ * messages will be managed internally, but never displayed on its own.
71
+ */
72
+ error?: string;
73
+ /**
74
+ * Regular expression that defines the valid format allowed by the
75
+ * textarea. This will be checked both when the textarea loses the focus
76
+ * and while typing within it. If the string entered does not match the
77
+ * pattern, the onBlur and onChange functions will be called with the
78
+ * current value and an internal error informing that this value does not
79
+ * match the pattern. If the pattern is met, the error parameter of both
80
+ * events will be null.
81
+ */
82
+ pattern?: string;
83
+ /**
84
+ * Specifies the minimun and maximum length allowed by the textarea.
85
+ * This will be checked both when the textarea loses the
86
+ * focus and while typing within it. If the string entered does not
87
+ * comply the length, the onBlur and onChange functions will be called
88
+ * with the current value and an internal error informing that the value
89
+ * length does not comply the specified range. If a valid length is
90
+ * reached, the error parameter of both events will be null.
91
+ */
92
+ length?: { min: number; max: number };
93
+ /**
94
+ * HTML autocomplete attribute. Lets the user specify if any permission the user agent has to provide automated assistance in filling out the textarea value.
95
+ * Its value must be one of all the possible values of the HTML autocomplete attribute: 'on', 'off', 'email', 'username', 'new-password', ...
96
+ */
97
+ autocomplete?: string;
98
+ /**
99
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
100
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
101
+ */
102
+ margin?: Space | Margin;
103
+ /**
104
+ * Size of the component ('small' | 'medium' | 'large' | 'fillParent').
105
+ */
106
+ size?: Size;
107
+ /**
108
+ * Value of the tabindex attribute.
109
+ */
110
+ tabIndex?: number;
111
+ /**
112
+ * Reference to the component.
113
+ */
114
+ ref?: React.RefObject<HTMLDivElement>;
115
+ };
116
+
117
+ export default function DxcTextarea(props: Props): JSX.Element;
@@ -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,243 @@
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 _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
+
14
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
+
16
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
17
+
18
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
+
20
+ var _react = _interopRequireWildcard(require("react"));
21
+
22
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
+
24
+ var _uuid = require("uuid");
25
+
26
+ var _propTypes = _interopRequireDefault(require("prop-types"));
27
+
28
+ var _variables = require("../common/variables.js");
29
+
30
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
31
+
32
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
33
+
34
+ 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); }
35
+
36
+ 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; }
37
+
38
+ var DxcToggleGroup = function DxcToggleGroup(_ref) {
39
+ var label = _ref.label,
40
+ helperText = _ref.helperText,
41
+ value = _ref.value,
42
+ onChange = _ref.onChange,
43
+ _ref$disabled = _ref.disabled,
44
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
45
+ _ref$options = _ref.options,
46
+ options = _ref$options === void 0 ? [] : _ref$options,
47
+ margin = _ref.margin,
48
+ _ref$multiple = _ref.multiple,
49
+ multiple = _ref$multiple === void 0 ? false : _ref$multiple,
50
+ _ref$tabIndex = _ref.tabIndex,
51
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
52
+ var colorsTheme = (0, _useTheme["default"])();
53
+
54
+ var _useState = (0, _react.useState)(multiple ? [] : null),
55
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
56
+ selectedValue = _useState2[0],
57
+ setSelectedValue = _useState2[1];
58
+
59
+ var _useState3 = (0, _react.useState)("toggle-group-".concat((0, _uuid.v4)())),
60
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
61
+ toggleGroupId = _useState4[0];
62
+
63
+ var handleToggleChange = function handleToggleChange(selectedOption) {
64
+ var newSelectedOptions;
65
+
66
+ if (value == null) {
67
+ if (multiple) {
68
+ newSelectedOptions = selectedValue.map(function (value) {
69
+ return value;
70
+ });
71
+
72
+ if (newSelectedOptions.includes(selectedOption)) {
73
+ var index = newSelectedOptions.indexOf(selectedOption);
74
+ newSelectedOptions.splice(index, 1);
75
+ } else {
76
+ newSelectedOptions.push(selectedOption);
77
+ }
78
+
79
+ setSelectedValue(newSelectedOptions);
80
+ } else setSelectedValue(selectedOption === selectedValue ? null : selectedOption);
81
+ } else if (multiple) {
82
+ newSelectedOptions = value.map(function (v) {
83
+ return v;
84
+ });
85
+
86
+ if (newSelectedOptions.includes(selectedOption)) {
87
+ var _index = newSelectedOptions.indexOf(selectedOption);
88
+
89
+ newSelectedOptions.splice(_index, 1);
90
+ } else newSelectedOptions.push(selectedOption);
91
+ }
92
+
93
+ typeof onChange === "function" && onChange(multiple ? newSelectedOptions : selectedOption);
94
+ };
95
+
96
+ var handleKeyPress = function handleKeyPress(event, optionValue) {
97
+ event.preventDefault();
98
+ if (!disabled && (event.nativeEvent.code === "Enter" || event.nativeEvent.code === "Space")) handleToggleChange(optionValue);
99
+ };
100
+
101
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
102
+ theme: colorsTheme.toggleGroup
103
+ }, /*#__PURE__*/_react["default"].createElement(ToggleGroup, {
104
+ margin: margin,
105
+ disabled: disabled
106
+ }, /*#__PURE__*/_react["default"].createElement(Label, {
107
+ htmlFor: toggleGroupId,
108
+ disabled: disabled
109
+ }, label), /*#__PURE__*/_react["default"].createElement(HelperText, {
110
+ disabled: disabled
111
+ }, helperText), /*#__PURE__*/_react["default"].createElement(OptionsContainer, {
112
+ id: toggleGroupId,
113
+ role: multiple ? "group" : "radiogroup"
114
+ }, options.map(function (option, i) {
115
+ return /*#__PURE__*/_react["default"].createElement(ToggleContainer, {
116
+ selected: multiple ? value ? value.includes(option.value) : selectedValue.includes(option.value) : value ? option.value === value : option.value === selectedValue,
117
+ role: multiple ? "switch" : "radio",
118
+ "aria-checked": multiple ? value ? value.includes(option.value) : selectedValue.includes(option.value) : value ? option.value === value : option.value === selectedValue,
119
+ tabIndex: !disabled ? tabIndex : -1,
120
+ onClick: function onClick() {
121
+ return !disabled && handleToggleChange(option.value);
122
+ },
123
+ isFirst: i === 0,
124
+ isLast: i === options.length - 1,
125
+ isIcon: option.iconSrc || option.icon,
126
+ optionLabel: option.label,
127
+ disabled: disabled,
128
+ onKeyPress: function onKeyPress(event) {
129
+ handleKeyPress(event, option.value);
130
+ },
131
+ key: "toggle-".concat(i, "-").concat(option.label)
132
+ }, /*#__PURE__*/_react["default"].createElement(OptionContent, null, option.icon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
133
+ optionLabel: option.label
134
+ }, (0, _typeof2["default"])(option.icon) === "object" ? option.icon : /*#__PURE__*/_react["default"].createElement(option.icon)), option.iconSrc && /*#__PURE__*/_react["default"].createElement(Icon, {
135
+ src: option.iconSrc,
136
+ optionLabel: option.label
137
+ }), option.label && /*#__PURE__*/_react["default"].createElement(LabelContainer, null, option.label)));
138
+ }))));
139
+ };
140
+
141
+ 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) {
142
+ return props.disabled ? props.theme.disabledLabelFontColor : props.theme.labelFontColor;
143
+ }, function (props) {
144
+ return props.theme.labelFontFamily;
145
+ }, function (props) {
146
+ return props.theme.labelFontSize;
147
+ }, function (props) {
148
+ return props.theme.labelFontStyle;
149
+ }, function (props) {
150
+ return props.theme.labelFontWeight;
151
+ }, function (props) {
152
+ return props.theme.labelLineHeight;
153
+ });
154
+
155
+ 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) {
156
+ return props.disabled ? props.theme.disabledHelperTextFontcolor : props.theme.helperTextFontColor;
157
+ }, function (props) {
158
+ return props.theme.helperTextFontFamily;
159
+ }, function (props) {
160
+ return props.theme.helperTextFontSize;
161
+ }, function (props) {
162
+ return props.theme.helperTextFontStyle;
163
+ }, function (props) {
164
+ return props.theme.helperTextFontWeight;
165
+ }, function (props) {
166
+ return props.theme.helperTextLineHeight;
167
+ });
168
+
169
+ 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) {
170
+ return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
171
+ }, function (props) {
172
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
173
+ }, function (props) {
174
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
175
+ }, function (props) {
176
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
177
+ }, function (props) {
178
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
179
+ });
180
+
181
+ 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) {
182
+ return props.theme.containerBorderThickness;
183
+ }, function (props) {
184
+ return props.theme.containerBorderStyle;
185
+ }, function (props) {
186
+ return props.theme.containerBorderRadius;
187
+ }, function (props) {
188
+ return props.theme.containerBorderColor;
189
+ }, function (props) {
190
+ return props.theme.containerBackgroundColor;
191
+ }, function (props) {
192
+ return props.theme.containerMarginTop;
193
+ });
194
+
195
+ 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) {
196
+ return !props.isLast && "4px";
197
+ }, function (props) {
198
+ 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 ");
199
+ });
200
+
201
+ 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) {
202
+ return props.theme.optionLabelFontFamily;
203
+ }, function (props) {
204
+ return props.theme.optionLabelFontSize;
205
+ }, function (props) {
206
+ return props.theme.optionLabelFontStyle;
207
+ }, function (props) {
208
+ return props.theme.optionLabelFontWeight;
209
+ });
210
+
211
+ var OptionContent = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n"])));
212
+
213
+ var Icon = _styledComponents["default"].img(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n height: 24px;\n width: 24px;\n margin-right: ", ";\n"])), function (props) {
214
+ return props.optionLabel && props.theme.iconMarginRight;
215
+ });
216
+
217
+ 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) {
218
+ return props.optionLabel && props.theme.iconMarginRight;
219
+ });
220
+
221
+ DxcToggleGroup.propTypes = {
222
+ label: _propTypes["default"].string,
223
+ helperText: _propTypes["default"].string,
224
+ value: _propTypes["default"].any,
225
+ onChange: _propTypes["default"].func,
226
+ disabled: _propTypes["default"].bool,
227
+ multiple: _propTypes["default"].bool,
228
+ options: _propTypes["default"].arrayOf(_propTypes["default"].shape({
229
+ value: _propTypes["default"].any.isRequired,
230
+ label: _propTypes["default"].string,
231
+ icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
232
+ iconSrc: _propTypes["default"].string
233
+ })),
234
+ margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
235
+ top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
236
+ bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
237
+ left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
238
+ right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
239
+ }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
240
+ tabIndex: _propTypes["default"].number
241
+ };
242
+ var _default = DxcToggleGroup;
243
+ 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 DxcToggleGroup(props: Props): JSX.Element;