@dxc-technology/halstack-react 0.0.0-d20101f → 0.0.0-d4fec82

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 (308) 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/{dist/textarea/Textarea.js → V3Textarea/V3Textarea.js} +39 -39
  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 +9 -21
  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/{dist/card → card}/Card.js +32 -121
  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/{dist/checkbox → checkbox}/Checkbox.js +42 -80
  34. package/checkbox/types.d.ts +60 -0
  35. package/checkbox/types.js +5 -0
  36. package/{dist/chip → chip}/Chip.js +33 -81
  37. package/chip/index.d.ts +22 -0
  38. package/{dist/common → common}/OpenSans.css +0 -0
  39. package/{dist/common → common}/RequiredComponent.js +3 -11
  40. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  41. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  42. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  43. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  44. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  45. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  46. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  47. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  48. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  49. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  50. package/{dist/common → common}/utils.js +0 -0
  51. package/common/variables.js +1569 -0
  52. package/{dist/date → date}/Date.js +23 -31
  53. package/date/index.d.ts +27 -0
  54. package/date-input/DateInput.d.ts +4 -0
  55. package/date-input/DateInput.js +361 -0
  56. package/date-input/types.d.ts +100 -0
  57. package/date-input/types.js +5 -0
  58. package/{dist/dialog → dialog}/Dialog.js +26 -77
  59. package/dialog/index.d.ts +18 -0
  60. package/dropdown/Dropdown.d.ts +4 -0
  61. package/dropdown/Dropdown.js +417 -0
  62. package/dropdown/types.d.ts +89 -0
  63. package/dropdown/types.js +5 -0
  64. package/file-input/FileInput.js +532 -0
  65. package/file-input/FileItem.js +193 -0
  66. package/file-input/index.d.ts +81 -0
  67. package/footer/Footer.d.ts +4 -0
  68. package/footer/Footer.js +266 -0
  69. package/footer/Icons.js +77 -0
  70. package/footer/types.d.ts +61 -0
  71. package/footer/types.js +5 -0
  72. package/header/Header.js +326 -0
  73. package/header/Icons.js +59 -0
  74. package/header/index.d.ts +25 -0
  75. package/{dist/heading → heading}/Heading.js +30 -76
  76. package/heading/index.d.ts +17 -0
  77. package/input-text/Icons.js +22 -0
  78. package/{dist/input-text → input-text}/InputText.js +120 -178
  79. package/input-text/index.d.ts +36 -0
  80. package/{dist/layout → layout}/ApplicationLayout.js +35 -131
  81. package/layout/Icons.js +55 -0
  82. package/{dist/link → link}/Link.js +29 -83
  83. package/link/index.d.ts +23 -0
  84. package/main.d.ts +44 -0
  85. package/{dist/main.js → main.js} +121 -69
  86. package/number-input/NumberInput.js +128 -0
  87. package/number-input/NumberInput.stories.jsx +115 -0
  88. package/number-input/NumberInputContext.js +16 -0
  89. package/number-input/index.d.ts +113 -0
  90. package/package.json +34 -25
  91. package/paginator/Icons.js +66 -0
  92. package/paginator/Paginator.d.ts +4 -0
  93. package/paginator/Paginator.js +198 -0
  94. package/paginator/types.d.ts +38 -0
  95. package/paginator/types.js +5 -0
  96. package/password-input/PasswordInput.js +199 -0
  97. package/password-input/PasswordInput.stories.jsx +131 -0
  98. package/password-input/index.d.ts +94 -0
  99. package/progress-bar/ProgressBar.d.ts +4 -0
  100. package/progress-bar/ProgressBar.js +170 -0
  101. package/progress-bar/types.d.ts +37 -0
  102. package/progress-bar/types.js +5 -0
  103. package/radio/Radio.d.ts +4 -0
  104. package/{dist/radio → radio}/Radio.js +15 -50
  105. package/radio/types.d.ts +54 -0
  106. package/radio/types.js +5 -0
  107. package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +35 -119
  108. package/resultsetTable/index.d.ts +19 -0
  109. package/select/Select.js +865 -0
  110. package/select/index.d.ts +131 -0
  111. package/{dist/sidenav → sidenav}/Sidenav.js +20 -58
  112. package/sidenav/index.d.ts +13 -0
  113. package/slider/Slider.d.ts +4 -0
  114. package/slider/Slider.js +306 -0
  115. package/slider/types.d.ts +83 -0
  116. package/slider/types.js +5 -0
  117. package/spinner/Spinner.js +267 -0
  118. package/spinner/index.d.ts +17 -0
  119. package/switch/Switch.d.ts +4 -0
  120. package/{dist/switch → switch}/Switch.js +26 -69
  121. package/switch/types.d.ts +58 -0
  122. package/switch/types.js +5 -0
  123. package/{dist/table → table}/Table.js +13 -23
  124. package/table/index.d.ts +13 -0
  125. package/tabs/Tabs.d.ts +4 -0
  126. package/tabs/Tabs.js +211 -0
  127. package/tabs/types.d.ts +71 -0
  128. package/tabs/types.js +5 -0
  129. package/{dist/tag → tag}/Tag.js +50 -122
  130. package/tag/index.d.ts +24 -0
  131. package/text-input/TextInput.js +825 -0
  132. package/text-input/index.d.ts +135 -0
  133. package/textarea/Textarea.js +317 -0
  134. package/textarea/Textarea.stories.jsx +135 -0
  135. package/textarea/index.d.ts +117 -0
  136. package/{dist/toggle → toggle}/Toggle.js +15 -49
  137. package/toggle/index.d.ts +21 -0
  138. package/toggle-group/ToggleGroup.js +243 -0
  139. package/toggle-group/index.d.ts +21 -0
  140. package/{dist/upload → upload}/Upload.js +11 -15
  141. package/upload/buttons-upload/ButtonsUpload.js +111 -0
  142. package/upload/buttons-upload/Icons.js +40 -0
  143. package/upload/dragAndDropArea/DragAndDropArea.js +225 -0
  144. package/upload/dragAndDropArea/Icons.js +39 -0
  145. package/upload/file-upload/FileToUpload.js +115 -0
  146. package/upload/file-upload/Icons.js +66 -0
  147. package/{dist/upload → upload}/files-upload/FilesToUpload.js +12 -26
  148. package/upload/index.d.ts +15 -0
  149. package/upload/transaction/Icons.js +160 -0
  150. package/upload/transaction/Transaction.js +104 -0
  151. package/upload/transactions/Transactions.js +94 -0
  152. package/{dist/useTheme.js → useTheme.js} +0 -0
  153. package/wizard/Icons.js +65 -0
  154. package/{dist/wizard → wizard}/Wizard.js +40 -180
  155. package/wizard/index.d.ts +18 -0
  156. package/README.md +0 -66
  157. package/babel.config.js +0 -8
  158. package/dist/BackgroundColorContext.js +0 -46
  159. package/dist/ThemeContext.js +0 -216
  160. package/dist/accordion/Accordion.js +0 -346
  161. package/dist/accordion/Accordion.stories.js +0 -207
  162. package/dist/accordion/readme.md +0 -96
  163. package/dist/accordion-group/AccordionGroup.js +0 -188
  164. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  165. package/dist/accordion-group/readme.md +0 -70
  166. package/dist/alert/Alert.js +0 -388
  167. package/dist/alert/Alert.stories.js +0 -158
  168. package/dist/alert/close.svg +0 -4
  169. package/dist/alert/error.svg +0 -4
  170. package/dist/alert/info.svg +0 -4
  171. package/dist/alert/readme.md +0 -43
  172. package/dist/alert/success.svg +0 -4
  173. package/dist/alert/warning.svg +0 -4
  174. package/dist/badge/Badge.js +0 -63
  175. package/dist/button/Button.js +0 -232
  176. package/dist/button/Button.stories.js +0 -224
  177. package/dist/button/readme.md +0 -93
  178. package/dist/checkbox/Checkbox.stories.js +0 -144
  179. package/dist/checkbox/readme.md +0 -116
  180. package/dist/common/variables.js +0 -1158
  181. package/dist/date/Date.stories.js +0 -205
  182. package/dist/date/readme.md +0 -73
  183. package/dist/dialog/Dialog.stories.js +0 -217
  184. package/dist/dialog/readme.md +0 -32
  185. package/dist/dropdown/Dropdown.js +0 -492
  186. package/dist/dropdown/Dropdown.stories.js +0 -249
  187. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  188. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  189. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  190. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  191. package/dist/dropdown/readme.md +0 -69
  192. package/dist/footer/Footer.js +0 -405
  193. package/dist/footer/Footer.stories.js +0 -94
  194. package/dist/footer/dxc_logo_wht.png +0 -0
  195. package/dist/footer/readme.md +0 -41
  196. package/dist/header/Header.js +0 -431
  197. package/dist/header/Header.stories.js +0 -176
  198. package/dist/header/close_icon.svg +0 -1
  199. package/dist/header/dxc_logo_black.png +0 -0
  200. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  201. package/dist/header/dxc_logo_white.png +0 -0
  202. package/dist/header/hamb_menu_black.svg +0 -1
  203. package/dist/header/hamb_menu_white.svg +0 -1
  204. package/dist/header/readme.md +0 -33
  205. package/dist/input-text/InputText.stories.js +0 -209
  206. package/dist/input-text/error.svg +0 -1
  207. package/dist/input-text/readme.md +0 -91
  208. package/dist/layout/facebook.svg +0 -45
  209. package/dist/layout/linkedin.svg +0 -50
  210. package/dist/layout/twitter.svg +0 -53
  211. package/dist/link/readme.md +0 -51
  212. package/dist/paginator/Paginator.js +0 -283
  213. package/dist/paginator/images/next.svg +0 -3
  214. package/dist/paginator/images/nextPage.svg +0 -3
  215. package/dist/paginator/images/previous.svg +0 -3
  216. package/dist/paginator/images/previousPage.svg +0 -3
  217. package/dist/paginator/readme.md +0 -50
  218. package/dist/progress-bar/ProgressBar.js +0 -206
  219. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  220. package/dist/progress-bar/readme.md +0 -63
  221. package/dist/radio/Radio.stories.js +0 -166
  222. package/dist/radio/readme.md +0 -70
  223. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  224. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  225. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  226. package/dist/select/Select.js +0 -563
  227. package/dist/select/Select.stories.js +0 -235
  228. package/dist/select/readme.md +0 -72
  229. package/dist/slider/Slider.js +0 -315
  230. package/dist/slider/Slider.stories.js +0 -241
  231. package/dist/slider/readme.md +0 -64
  232. package/dist/spinner/Spinner.js +0 -214
  233. package/dist/spinner/Spinner.stories.js +0 -183
  234. package/dist/spinner/readme.md +0 -65
  235. package/dist/switch/Switch.stories.js +0 -134
  236. package/dist/switch/readme.md +0 -133
  237. package/dist/tabs/Tabs.js +0 -343
  238. package/dist/tabs/Tabs.stories.js +0 -130
  239. package/dist/tabs/readme.md +0 -78
  240. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  241. package/dist/tabs-for-sections/readme.md +0 -78
  242. package/dist/toggle/Toggle.stories.js +0 -297
  243. package/dist/toggle/readme.md +0 -80
  244. package/dist/toggle-group/ToggleGroup.js +0 -241
  245. package/dist/toggle-group/readme.md +0 -82
  246. package/dist/upload/Upload.stories.js +0 -72
  247. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -135
  248. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  249. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  250. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -325
  251. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  252. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  253. package/dist/upload/file-upload/FileToUpload.js +0 -184
  254. package/dist/upload/file-upload/audio-icon.svg +0 -4
  255. package/dist/upload/file-upload/close.svg +0 -4
  256. package/dist/upload/file-upload/file-icon.svg +0 -4
  257. package/dist/upload/file-upload/video-icon.svg +0 -4
  258. package/dist/upload/readme.md +0 -37
  259. package/dist/upload/transaction/Transaction.js +0 -171
  260. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  261. package/dist/upload/transaction/audio-icon.svg +0 -4
  262. package/dist/upload/transaction/error-icon.svg +0 -4
  263. package/dist/upload/transaction/file-icon-err.svg +0 -4
  264. package/dist/upload/transaction/file-icon.svg +0 -4
  265. package/dist/upload/transaction/image-icon-err.svg +0 -4
  266. package/dist/upload/transaction/image-icon.svg +0 -4
  267. package/dist/upload/transaction/success-icon.svg +0 -4
  268. package/dist/upload/transaction/video-icon-err.svg +0 -4
  269. package/dist/upload/transaction/video-icon.svg +0 -4
  270. package/dist/upload/transactions/Transactions.js +0 -138
  271. package/dist/wizard/invalid_icon.svg +0 -5
  272. package/dist/wizard/valid_icon.svg +0 -5
  273. package/dist/wizard/validation-wrong.svg +0 -6
  274. package/test/Accordion.test.js +0 -33
  275. package/test/AccordionGroup.test.js +0 -125
  276. package/test/Alert.test.js +0 -53
  277. package/test/Box.test.js +0 -10
  278. package/test/Button.test.js +0 -18
  279. package/test/Card.test.js +0 -30
  280. package/test/Checkbox.test.js +0 -45
  281. package/test/Chip.test.js +0 -25
  282. package/test/Date.test.js +0 -393
  283. package/test/Dialog.test.js +0 -23
  284. package/test/Dropdown.test.js +0 -130
  285. package/test/Footer.test.js +0 -99
  286. package/test/Header.test.js +0 -39
  287. package/test/Heading.test.js +0 -35
  288. package/test/InputText.test.js +0 -240
  289. package/test/Link.test.js +0 -43
  290. package/test/Paginator.test.js +0 -177
  291. package/test/ProgressBar.test.js +0 -35
  292. package/test/Radio.test.js +0 -37
  293. package/test/ResultsetTable.test.js +0 -330
  294. package/test/Select.test.js +0 -192
  295. package/test/Sidenav.test.js +0 -45
  296. package/test/Slider.test.js +0 -82
  297. package/test/Spinner.test.js +0 -27
  298. package/test/Switch.test.js +0 -45
  299. package/test/Table.test.js +0 -36
  300. package/test/Tabs.test.js +0 -109
  301. package/test/TabsForSections.test.js +0 -34
  302. package/test/Tag.test.js +0 -32
  303. package/test/TextArea.test.js +0 -52
  304. package/test/ToggleGroup.test.js +0 -81
  305. package/test/Upload.test.js +0 -60
  306. package/test/Wizard.test.js +0 -130
  307. package/test/mocks/pngMock.js +0 -1
  308. package/test/mocks/svgMock.js +0 -1
@@ -0,0 +1,83 @@
1
+ declare type Size = "medium" | "large" | "fillParent";
2
+ declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ declare type Margin = {
4
+ top?: Space;
5
+ bottom?: Space;
6
+ left?: Space;
7
+ right?: Space;
8
+ };
9
+ declare type Props = {
10
+ /**
11
+ * Text to be placed above the slider.
12
+ */
13
+ label?: string;
14
+ /**
15
+ * Name attribute of the input element.
16
+ */
17
+ name?: string;
18
+ /**
19
+ * The selected value. If undefined, the component will be uncontrolled and the value will be managed internally by the component.
20
+ */
21
+ value?: number;
22
+ /**
23
+ * Helper text to be placed above the slider.
24
+ */
25
+ helperText?: string;
26
+ /**
27
+ * The minimum value available for selection.
28
+ */
29
+ minValue?: number;
30
+ /**
31
+ * The maximum value available for selection.
32
+ */
33
+ maxValue?: number;
34
+ /**
35
+ * The step interval between values available for selection.
36
+ */
37
+ step?: number;
38
+ /**
39
+ * Whether the min/max value labels should be displayed next to the slider
40
+ */
41
+ showLimitsValues?: boolean;
42
+ /**
43
+ * Whether the input element for displaying/controlling the slider value should be displayed next to the slider.
44
+ */
45
+ showInput?: boolean;
46
+ /**
47
+ * If true, the component will be disabled.
48
+ */
49
+ disabled?: boolean;
50
+ /**
51
+ * Whether the marks between each step should be shown or not.
52
+ */
53
+ marks?: boolean;
54
+ /**
55
+ * This function will be called when the slider changes its value, as it's being dragged.
56
+ * The new value will be passed as a parameter when this function is executed.
57
+ */
58
+ onChange?: (value: number) => void;
59
+ /**
60
+ * This function will be called when the slider changes its value, but only when the thumb is released.
61
+ * The new value will be passed as a parameter when this function is executed.
62
+ */
63
+ onDragEnd?: (value: number) => void;
64
+ /**
65
+ * This function will be used to format the labels displayed next to the slider.
66
+ * The value will be passed as parameter and the function must return the formatted value.
67
+ */
68
+ labelFormatCallback?: (value: number) => void;
69
+ /**
70
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
71
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
72
+ */
73
+ margin?: Space | Margin;
74
+ /**
75
+ * Size of the component.
76
+ */
77
+ size?: Size;
78
+ /**
79
+ * Value of the tabindex attribute.
80
+ */
81
+ tabIndex?: number;
82
+ };
83
+ export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,267 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
+
14
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
+
16
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
+
22
+ var _propTypes = _interopRequireDefault(require("prop-types"));
23
+
24
+ var _variables = require("../common/variables.js");
25
+
26
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
27
+
28
+ var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext.js"));
29
+
30
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;
31
+
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); }
33
+
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; }
35
+
36
+ var DxcSpinner = function DxcSpinner(_ref) {
37
+ var _ref$label = _ref.label,
38
+ label = _ref$label === void 0 ? "" : _ref$label,
39
+ value = _ref.value,
40
+ _ref$showValue = _ref.showValue,
41
+ showValue = _ref$showValue === void 0 ? false : _ref$showValue,
42
+ _ref$mode = _ref.mode,
43
+ mode = _ref$mode === void 0 ? "large" : _ref$mode,
44
+ margin = _ref.margin;
45
+ var colorsTheme = (0, _useTheme["default"])();
46
+ var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
47
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
48
+ theme: colorsTheme.spinner
49
+ }, /*#__PURE__*/_react["default"].createElement(DXCSpinner, {
50
+ margin: margin,
51
+ mode: mode
52
+ }, /*#__PURE__*/_react["default"].createElement(SpinnerContainer, {
53
+ backgroundType: backgroundType,
54
+ mode: mode
55
+ }, mode === "overlay" && /*#__PURE__*/_react["default"].createElement(BackOverlay, null), /*#__PURE__*/_react["default"].createElement(BackgroundSpinner, {
56
+ mode: mode
57
+ }, mode !== "small" && /*#__PURE__*/_react["default"].createElement(SVGBackground, {
58
+ viewBox: "0 0 140 140"
59
+ }, /*#__PURE__*/_react["default"].createElement(CircleBackground, {
60
+ cx: "70",
61
+ cy: "70",
62
+ r: "65",
63
+ mode: mode
64
+ })), mode === "small" && /*#__PURE__*/_react["default"].createElement(SVGBackground, {
65
+ viewBox: "0 0 16 16"
66
+ }, /*#__PURE__*/_react["default"].createElement(CircleBackground, {
67
+ cx: "8",
68
+ cy: "8",
69
+ r: "6",
70
+ mode: mode
71
+ }))), value >= 0 && value <= 100 ? /*#__PURE__*/_react["default"].createElement(Spinner, {
72
+ role: "progressbar",
73
+ mode: mode
74
+ }, mode !== "small" && /*#__PURE__*/_react["default"].createElement(SVGSpinner, {
75
+ viewBox: "0 0 140 140",
76
+ isDeterminated: true
77
+ }, /*#__PURE__*/_react["default"].createElement(CircleSpinner, {
78
+ cx: "70",
79
+ cy: "70",
80
+ r: "65",
81
+ backgroundType: backgroundType,
82
+ mode: mode,
83
+ isDeterminated: true,
84
+ value: value
85
+ })), mode === "small" && /*#__PURE__*/_react["default"].createElement(SVGSpinner, {
86
+ viewBox: "0 0 16 16",
87
+ isDeterminated: true
88
+ }, /*#__PURE__*/_react["default"].createElement(CircleSpinner, {
89
+ cx: "8",
90
+ cy: "8",
91
+ r: "6",
92
+ backgroundType: backgroundType,
93
+ mode: mode,
94
+ isDeterminated: true,
95
+ value: value
96
+ }))) : /*#__PURE__*/_react["default"].createElement(Spinner, {
97
+ role: "progressbar",
98
+ mode: mode
99
+ }, mode !== "small" && /*#__PURE__*/_react["default"].createElement(SVGSpinner, {
100
+ viewBox: "0 0 140 140",
101
+ isDeterminated: false
102
+ }, /*#__PURE__*/_react["default"].createElement(CircleSpinner, {
103
+ cx: "70",
104
+ cy: "70",
105
+ r: "65",
106
+ backgroundType: backgroundType,
107
+ mode: mode,
108
+ isDeterminated: false
109
+ })), mode === "small" && /*#__PURE__*/_react["default"].createElement(SVGSpinner, {
110
+ viewBox: "0 0 16 16",
111
+ isDeterminated: false
112
+ }, /*#__PURE__*/_react["default"].createElement(CircleSpinner, {
113
+ cx: "8",
114
+ cy: "8",
115
+ r: "6",
116
+ backgroundType: backgroundType,
117
+ mode: mode,
118
+ isDeterminated: false
119
+ }))), mode !== "small" && /*#__PURE__*/_react["default"].createElement(LabelsContainer, {
120
+ label: label,
121
+ value: value,
122
+ showValue: showValue
123
+ }, /*#__PURE__*/_react["default"].createElement(SpinnerLabel, {
124
+ backgroundType: backgroundType,
125
+ mode: mode
126
+ }, label), (value || value === 0) && showValue && /*#__PURE__*/_react["default"].createElement(SpinnerProgress, {
127
+ backgroundType: backgroundType,
128
+ mode: mode,
129
+ showValue: showValue
130
+ }, value, "%")))));
131
+ };
132
+
133
+ var determinatedValue = function determinatedValue(props, strokeDashArray) {
134
+ var val = 0;
135
+
136
+ if (props.value >= 0 && props.value <= 100) {
137
+ val = strokeDashArray * (1 - props.value / 100);
138
+ }
139
+
140
+ return val;
141
+ };
142
+
143
+ DxcSpinner.propTypes = {
144
+ label: _propTypes["default"].string,
145
+ value: _propTypes["default"].number,
146
+ showValue: _propTypes["default"].bool,
147
+ mode: _propTypes["default"].oneOf(["large", "small", "overlay"]),
148
+ margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
149
+ top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
150
+ bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
151
+ left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
152
+ right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
153
+ }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
154
+ };
155
+
156
+ var DXCSpinner = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n display: ", ";\n position: ", ";\n top: ", ";\n left: ", ";\n justify-content: ", ";\n align-items: ", ";\n z-index: ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
157
+ return props.mode === "overlay" ? "100vh" : "";
158
+ }, function (props) {
159
+ return props.mode === "overlay" ? "100vw" : "";
160
+ }, function (props) {
161
+ return props.mode === "overlay" ? "flex" : "";
162
+ }, function (props) {
163
+ return props.mode === "overlay" ? "fixed" : "";
164
+ }, function (props) {
165
+ return props.mode === "overlay" ? 0 : "";
166
+ }, function (props) {
167
+ return props.mode === "overlay" ? 0 : "";
168
+ }, function (props) {
169
+ return props.mode === "overlay" ? "center" : "";
170
+ }, function (props) {
171
+ return props.mode === "overlay" ? "center" : "";
172
+ }, function (props) {
173
+ return props.mode === "overlay" ? 1300 : "";
174
+ }, function (props) {
175
+ return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
176
+ }, function (props) {
177
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
178
+ }, function (props) {
179
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
180
+ }, function (props) {
181
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
182
+ }, function (props) {
183
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
184
+ });
185
+
186
+ var SpinnerContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n align-items: center;\n display: flex;\n height: ", ";\n width: ", ";\n justify-content: center;\n position: relative;\n background-color: transparent;\n\n @keyframes spinner-svg {\n 0% {\n transform: rotateZ(0deg);\n }\n 100% {\n transform: rotateZ(360deg);\n }\n }\n @keyframes svg-circle-large {\n 0% {\n stroke-dashoffset: 400;\n transform: rotate(0);\n }\n\n 50% {\n stroke-dashoffset: 75;\n transform: rotate(45deg);\n }\n\n 100% {\n stroke-dashoffset: 400;\n transform: rotate(360deg);\n }\n }\n @keyframes svg-circle-small {\n 0% {\n stroke-dashoffset: 35;\n transform: rotate(0);\n }\n\n 50% {\n stroke-dashoffset: 8;\n transform: rotate(45deg);\n }\n\n 100% {\n stroke-dashoffset: 35;\n transform: rotate(360deg);\n }\n }\n"])), function (props) {
187
+ return props.mode === "small" ? "16px" : "140px";
188
+ }, function (props) {
189
+ return props.mode === "small" ? "16px" : "140px";
190
+ });
191
+
192
+ var BackOverlay = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100vw;\n height: 100vh;\n opacity: 1;\n transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n position: fixed;\n top: 0;\n left: 0;\n background-color: ", ";\n opacity: ", ";\n"])), function (props) {
193
+ return "".concat(props.theme.overlayBackgroundColor);
194
+ }, function (props) {
195
+ return "".concat(props.theme.overlayOpacity);
196
+ });
197
+
198
+ var BackgroundSpinner = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n height: inherit;\n width: inherit;\n position: absolute;\n z-index: 1;\n"])));
199
+
200
+ var SVGBackground = _styledComponents["default"].svg(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n height: inherit;\n width: inherit;\n"])));
201
+
202
+ var CircleBackground = _styledComponents["default"].circle(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n animation: none;\n fill: transparent;\n stroke: ", ";\n stroke-dasharray: ", ";\n stroke-linecap: initial;\n stroke-width: ", ";\n transform-origin: 50% 50%;\n vector-effect: non-scaling-stroke;\n"])), function (props) {
203
+ return "".concat(props.theme.totalCircleColor);
204
+ }, function (props) {
205
+ return props.mode !== "small" ? "409" : "38";
206
+ }, function (props) {
207
+ return props.mode !== "small" ? "8.5px" : "2px";
208
+ });
209
+
210
+ var Spinner = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n height: inherit;\n width: inherit;\n position: relative;\n z-index: 2;\n"])));
211
+
212
+ var SVGSpinner = _styledComponents["default"].svg(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n height: inherit;\n width: inherit;\n transform: rotate(-90deg);\n top: 0;\n left: 0;\n transform-origin: center;\n overflow: visible;\n animation: ", ";\n"])), function (props) {
213
+ return !props.isDeterminated ? "1.4s linear infinite both spinner-svg" : "";
214
+ });
215
+
216
+ var CircleSpinner = _styledComponents["default"].circle(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n fill: transparent;\n stroke-linecap: initial;\n vector-effect: non-scaling-stroke;\n animation: ", ";\n stroke: ", ";\n transform-origin: ", ";\n stroke-dasharray: ", ";\n stroke-width: ", ";\n stroke-dashoffset: ", ";\n"])), function (props) {
217
+ return props.isDeterminated ? "none" : props.mode !== "small" ? "1.4s ease-in-out infinite both svg-circle-large" : "1.4s ease-in-out infinite both svg-circle-small";
218
+ }, function (props) {
219
+ return props.backgroundType === "dark" ? props.theme.trackCircleColorOnDark : props.theme.trackCircleColor;
220
+ }, function (props) {
221
+ return !props.isDeterminated ? "50% 50%" : "";
222
+ }, function (props) {
223
+ return props.mode !== "small" ? "409" : "38";
224
+ }, function (props) {
225
+ return props.mode !== "small" ? "8.5px" : "2px";
226
+ }, function (props) {
227
+ return props.isDeterminated ? props.mode !== "small" ? determinatedValue(props, 409) : determinatedValue(props, 38) : "";
228
+ });
229
+
230
+ var LabelsContainer = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n display: block;\n margin: 0 auto;\n position: absolute;\n text-align: center;\n width: 110px;\n"])));
231
+
232
+ var SpinnerLabel = _styledComponents["default"].p(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n margin: 0;\n width: 100%;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-family: ", ";\n font-weight: ", ";\n font-size: ", ";\n font-style: ", ";\n color: ", ";\n text-align: ", ";\n letter-spacing: ", ";\n"])), function (props) {
233
+ return props.mode === "overlay" ? props.theme.overlayLabelFontFamily : props.theme.labelFontFamily;
234
+ }, function (props) {
235
+ return props.mode === "overlay" ? props.theme.overlayLabelFontWeight : props.theme.labelFontWeight;
236
+ }, function (props) {
237
+ return props.mode === "overlay" ? props.theme.overlayLabelFontSize : props.theme.labelFontSize;
238
+ }, function (props) {
239
+ return props.mode === "overlay" ? props.theme.overlayLabelFontStyle : props.theme.labelFontStyle;
240
+ }, function (props) {
241
+ return props.mode === "overlay" ? props.theme.overlayLabelFontColor : props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.theme.labelFontColor;
242
+ }, function (props) {
243
+ return props.mode === "overlay" ? props.theme.overlayLabelTextAlign : props.theme.labelTextAlign;
244
+ }, function (props) {
245
+ return props.mode === "overlay" ? props.theme.overlayLabelLetterSpacing : props.theme.labelLetterSpacing;
246
+ });
247
+
248
+ var SpinnerProgress = _styledComponents["default"].p(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n margin: 0;\n width: 100%;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: ", ";\n font-family: ", ";\n font-weight: ", ";\n font-size: ", ";\n font-style: ", ";\n color: ", ";\n text-align: ", ";\n letter-spacing: ", ";\n"])), function (props) {
249
+ return props.value !== "" && props.showValue === true && "block" || "none";
250
+ }, function (props) {
251
+ return props.mode === "overlay" ? props.theme.overlayProgressValueFontFamily : props.theme.progressValueFontFamily;
252
+ }, function (props) {
253
+ return props.mode === "overlay" ? props.theme.overlayProgressValueFontWeight : props.theme.progressValueFontWeight;
254
+ }, function (props) {
255
+ return props.mode === "overlay" ? props.theme.overlayProgressValueFontSize : props.theme.progressValueFontSize;
256
+ }, function (props) {
257
+ return props.mode === "overlay" ? props.theme.overlayProgressValueFontStyle : props.theme.progressValueFontStyle;
258
+ }, function (props) {
259
+ return props.mode === "overlay" ? props.theme.overlayProgressValueFontColor : props.backgroundType === "dark" ? props.theme.progressValueFontColorOnDark : props.theme.progressValueFontColor;
260
+ }, function (props) {
261
+ return props.mode === "overlay" ? props.theme.overlayProgressValueTextAlign : props.theme.progressValueTextAlign;
262
+ }, function (props) {
263
+ return props.mode === "overlay" ? props.theme.overlayProgressValueLetterSpacing : props.theme.progressValueLetterSpacing;
264
+ });
265
+
266
+ var _default = DxcSpinner;
267
+ exports["default"] = _default;
@@ -0,0 +1,17 @@
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
+ value?: number;
12
+ showValue?: boolean;
13
+ mode?: "large" | "small" | "overlay";
14
+ margin?: Space | Margin;
15
+ };
16
+
17
+ export default function DxcSpinner(props: Props): JSX.Element;
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import SwitchPropsType from "./types";
3
+ declare const DxcSwitch: ({ checked, value, label, labelPosition, name, disabled, onChange, required, margin, size, tabIndex, }: SwitchPropsType) => JSX.Element;
4
+ export default DxcSwitch;
@@ -1,16 +1,14 @@
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
  });
10
10
  exports["default"] = void 0;
11
11
 
12
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
12
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
13
 
16
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
@@ -21,8 +19,6 @@ var _react = _interopRequireWildcard(require("react"));
21
19
 
22
20
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
21
 
24
- var _propTypes = _interopRequireDefault(require("prop-types"));
25
-
26
22
  var _core = require("@material-ui/core");
27
23
 
28
24
  var _RequiredComponent = _interopRequireDefault(require("../common/RequiredComponent"));
@@ -35,33 +31,21 @@ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
35
31
 
36
32
  var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext.js"));
37
33
 
38
- function _templateObject2() {
39
- var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n opacity: 1;\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n cursor: ", ";\n ", "\n"]);
34
+ var _templateObject, _templateObject2;
40
35
 
41
- _templateObject2 = function _templateObject2() {
42
- return data;
43
- };
44
-
45
- return data;
46
- }
36
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
47
37
 
48
- function _templateObject() {
49
- var data = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n display: inline-flex;\n align-items: center;\n flex-direction: ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n cursor: ", ";\n opacity: 1;\n \n .MuiSwitch-root {\n align-items: center;\n width: ", ";\n height: 45px;\n margin: 3px;\n\n .Mui-focusVisible {\n border: ", ";\n padding: 7px;\n }\n\n .MuiSwitch-track {\n /*Enabled and unchecked bar*/\n background-color: ", ";\n height: ", ";\n }\n\n .MuiSwitch-switchBase + .MuiSwitch-track {\n opacity: 1;\n }\n\n .MuiIconButton-root {\n /*Enabled and unchecked*/\n top: unset;\n .MuiSwitch-thumb {\n /*Only for thumb in all states*/\n width: ", ";\n height: ", ";\n }\n color: ", ";\n &:hover {\n background-color: transparent;\n }\n &.Mui-disabled {\n /*Disabled and unchecked*/\n color: ", ";\n + .MuiSwitch-track {\n /*Disabled and unchecked bar*/\n background-color: ", ";\n }\n }\n &.Mui-disabled.Mui-checked {\n /*Disabled and checked*/\n color: ", ";\n + .MuiSwitch-track {\n /*Disabled and checked bar*/\n background-color: ", ";\n }\n }\n &.Mui-checked {\n /*Enabled and checked*/\n color: ", ";\n transform: translateX(", ");\n &:hover {\n background-color: transparent;\n }\n + .MuiSwitch-track {\n /*Enabled and checked bar*/\n background-color: ", ";\n }\n }\n }\n }\n"]);
50
-
51
- _templateObject = function _templateObject() {
52
- return data;
53
- };
54
-
55
- return data;
56
- }
38
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
57
39
 
58
40
  var DxcSwitch = function DxcSwitch(_ref) {
59
41
  var checked = _ref.checked,
60
42
  value = _ref.value,
61
- label = _ref.label,
43
+ _ref$label = _ref.label,
44
+ label = _ref$label === void 0 ? "" : _ref$label,
62
45
  _ref$labelPosition = _ref.labelPosition,
63
46
  labelPosition = _ref$labelPosition === void 0 ? "before" : _ref$labelPosition,
64
- name = _ref.name,
47
+ _ref$name = _ref.name,
48
+ name = _ref$name === void 0 ? "" : _ref$name,
65
49
  _ref$disabled = _ref.disabled,
66
50
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
67
51
  onChange = _ref.onChange,
@@ -73,7 +57,7 @@ var DxcSwitch = function DxcSwitch(_ref) {
73
57
  _ref$tabIndex = _ref.tabIndex,
74
58
  tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
75
59
 
76
- var _useState = (0, _react.useState)(0),
60
+ var _useState = (0, _react.useState)(false),
77
61
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
78
62
  innerChecked = _useState2[0],
79
63
  setInnerChecked = _useState2[1];
@@ -81,31 +65,26 @@ var DxcSwitch = function DxcSwitch(_ref) {
81
65
  var colorsTheme = (0, _useTheme["default"])();
82
66
  var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
83
67
 
84
- var handlerSwitchChange = function handlerSwitchChange(newValue) {
68
+ var handlerSwitchChange = function handlerSwitchChange(event) {
85
69
  if (checked === undefined) {
86
- var isChecked = newValue.target.checked === undefined ? !innerChecked : newValue.target.checked;
87
- setInnerChecked(isChecked);
70
+ var _event$target$checked;
88
71
 
89
- if (typeof onChange === "function") {
90
- onChange(isChecked);
91
- }
92
- } else {
93
- if (typeof onChange === "function") {
94
- onChange(!checked);
95
- }
96
- }
72
+ var isChecked = (_event$target$checked = event.target.checked) !== null && _event$target$checked !== void 0 ? _event$target$checked : !innerChecked;
73
+ setInnerChecked(isChecked);
74
+ onChange === null || onChange === void 0 ? void 0 : onChange(isChecked);
75
+ } else onChange === null || onChange === void 0 ? void 0 : onChange(!checked);
97
76
  };
98
77
 
99
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
78
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
100
79
  theme: colorsTheme["switch"]
101
- }, _react["default"].createElement(SwitchContainer, {
80
+ }, /*#__PURE__*/_react["default"].createElement(SwitchContainer, {
102
81
  margin: margin,
103
82
  disabled: disabled,
104
83
  labelPosition: labelPosition,
105
84
  size: size,
106
85
  backgroundType: backgroundType
107
- }, _react["default"].createElement(_core.Switch, {
108
- checked: checked != undefined ? checked : innerChecked,
86
+ }, /*#__PURE__*/_react["default"].createElement(_core.Switch, {
87
+ checked: checked !== null && checked !== void 0 ? checked : innerChecked,
109
88
  inputProps: {
110
89
  name: name,
111
90
  tabIndex: tabIndex
@@ -114,12 +93,12 @@ var DxcSwitch = function DxcSwitch(_ref) {
114
93
  value: value,
115
94
  disabled: disabled,
116
95
  disableRipple: true
117
- }), _react["default"].createElement(LabelContainer, {
96
+ }), /*#__PURE__*/_react["default"].createElement(LabelContainer, {
118
97
  labelPosition: labelPosition,
119
- onClick: disabled === true ? function () {} : handlerSwitchChange,
98
+ onClick: !disabled && handlerSwitchChange,
120
99
  disabled: disabled,
121
100
  backgroundType: backgroundType
122
- }, required && _react["default"].createElement(_RequiredComponent["default"], null), label)));
101
+ }, required && /*#__PURE__*/_react["default"].createElement(_RequiredComponent["default"], null), label)));
123
102
  };
124
103
 
125
104
  var sizes = {
@@ -131,14 +110,10 @@ var sizes = {
131
110
  };
132
111
 
133
112
  var calculateWidth = function calculateWidth(margin, size) {
134
- if (size === "fillParent") {
135
- return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
136
- }
137
-
138
- return sizes[size];
113
+ return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
139
114
  };
140
115
 
141
- var SwitchContainer = _styledComponents["default"].div(_templateObject(), function (props) {
116
+ var SwitchContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n display: inline-flex;\n align-items: center;\n flex-direction: ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n cursor: ", ";\n\n .MuiSwitch-root {\n align-items: center;\n width: ", ";\n height: 45px;\n margin: 3px;\n\n .Mui-focusVisible {\n border: ", ";\n padding: 7px;\n }\n\n .MuiSwitch-track {\n /*Enabled and unchecked bar*/\n background-color: ", ";\n height: ", ";\n }\n\n .MuiSwitch-switchBase + .MuiSwitch-track {\n opacity: 1;\n }\n\n .MuiIconButton-root {\n /*Enabled and unchecked*/\n top: unset;\n .MuiSwitch-thumb {\n /*Only for thumb in all states*/\n width: ", ";\n height: ", ";\n }\n color: ", ";\n &:hover {\n background-color: transparent;\n }\n &.Mui-disabled {\n /*Disabled and unchecked*/\n color: ", ";\n + .MuiSwitch-track {\n /*Disabled and unchecked bar*/\n background-color: ", ";\n }\n }\n &.Mui-disabled.Mui-checked {\n /*Disabled and checked*/\n color: ", ";\n + .MuiSwitch-track {\n /*Disabled and checked bar*/\n background-color: ", ";\n }\n }\n &.Mui-checked {\n /*Enabled and checked*/\n color: ", ";\n transform: translateX(", ");\n &:hover {\n background-color: transparent;\n }\n + .MuiSwitch-track {\n /*Enabled and checked bar*/\n background-color: ", ";\n }\n }\n }\n }\n"])), function (props) {
142
117
  return calculateWidth(props.margin, props.size);
143
118
  }, function (props) {
144
119
  return props.labelPosition === "after" ? "row" : "row-reverse";
@@ -184,7 +159,7 @@ var SwitchContainer = _styledComponents["default"].div(_templateObject(), functi
184
159
  return props.backgroundType === "dark" ? props.theme.checkedTrackBackgroundColorOnDark : props.theme.checkedTrackBackgroundColor;
185
160
  });
186
161
 
187
- var LabelContainer = _styledComponents["default"].span(_templateObject2(), function (props) {
162
+ var LabelContainer = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n opacity: 1;\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n cursor: ", ";\n ", "\n"])), function (props) {
188
163
  return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledLabelFontColorOnDark : props.theme.disabledLabelFontColor : props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.theme.labelFontColor;
189
164
  }, function (props) {
190
165
  return props.theme.labelFontFamily;
@@ -200,23 +175,5 @@ var LabelContainer = _styledComponents["default"].span(_templateObject2(), funct
200
175
  return props.labelPosition === "after" ? "margin-left: ".concat(props.theme.spaceBetweenLabelSwitch, ";") : "margin-right: ".concat(props.theme.spaceBetweenLabelSwitch, ";");
201
176
  });
202
177
 
203
- DxcSwitch.propTypes = {
204
- size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
205
- checked: _propTypes["default"].bool,
206
- value: _propTypes["default"].any,
207
- label: _propTypes["default"].string,
208
- labelPosition: _propTypes["default"].oneOf(["after", "before", ""]),
209
- name: _propTypes["default"].string,
210
- disabled: _propTypes["default"].bool,
211
- onChange: _propTypes["default"].func,
212
- required: _propTypes["default"].bool,
213
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
214
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
215
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
216
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
217
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
218
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
219
- tabIndex: _propTypes["default"].number
220
- };
221
178
  var _default = DxcSwitch;
222
179
  exports["default"] = _default;
@@ -0,0 +1,58 @@
1
+ declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
+ declare type Margin = {
3
+ top?: Space;
4
+ bottom?: Space;
5
+ left?: Space;
6
+ right?: Space;
7
+ };
8
+ declare type Props = {
9
+ /**
10
+ * If true, the component is checked. If undefined, the component will be uncontrolled
11
+ * and the checked attribute will be managed internally by the component.
12
+ */
13
+ checked?: boolean;
14
+ /**
15
+ * Will be passed to the value attribute of the html input element. When inside a form,
16
+ * this value will be only submitted if the switch is checked.
17
+ */
18
+ value?: string;
19
+ /**
20
+ * Text to be placed next to the switch.
21
+ */
22
+ label?: string;
23
+ /**
24
+ * Whether the label should appear after or before the switch.
25
+ */
26
+ labelPosition?: "before" | "after";
27
+ /**
28
+ * Name attribute of the input element.
29
+ */
30
+ name?: string;
31
+ /**
32
+ * If true, the component will be disabled.
33
+ */
34
+ disabled?: boolean;
35
+ /**
36
+ * This function will be called when the user changes the state of the switch.
37
+ * The new value of the checked attribute will be passed as a parameter.
38
+ */
39
+ onChange?: (checked: boolean) => void;
40
+ /**
41
+ * If true, the switch will change its appearence, showing that the value is required.
42
+ */
43
+ required?: boolean;
44
+ /**
45
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
46
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
47
+ */
48
+ margin?: Space | Margin;
49
+ /**
50
+ * Size of the component.
51
+ */
52
+ size?: "small" | "medium" | "large" | "fillParent" | "fitContent";
53
+ /**
54
+ * Value of the tabindex.
55
+ */
56
+ tabIndex?: number;
57
+ };
58
+ export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });