@dxc-technology/halstack-react 0.0.0-3fa2bd2 → 0.0.0-414cb90

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 (320) 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 +34 -29
  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 +42 -124
  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/types.d.ts +60 -0
  35. package/checkbox/types.js +5 -0
  36. package/{dist/chip → chip}/Chip.js +74 -76
  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 +71 -55
  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 +50 -69
  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/heading/Heading.js +176 -0
  76. package/heading/index.d.ts +17 -0
  77. package/input-text/Icons.js +22 -0
  78. package/input-text/InputText.js +611 -0
  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/link/Link.js +183 -0
  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/radio/Radio.js +174 -0
  105. package/radio/types.d.ts +54 -0
  106. package/radio/types.js +5 -0
  107. package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +77 -135
  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 +24 -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/switch/Switch.js +179 -0
  121. package/switch/types.d.ts +58 -0
  122. package/switch/types.js +5 -0
  123. package/table/Table.js +118 -0
  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/tag/Tag.js +208 -0
  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 -19
  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 +14 -28
  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/wizard/Wizard.js +271 -0
  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 -356
  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 -318
  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 -40
  175. package/dist/button/Button.js +0 -219
  176. package/dist/button/Button.stories.js +0 -224
  177. package/dist/button/readme.md +0 -93
  178. package/dist/checkbox/Checkbox.js +0 -233
  179. package/dist/checkbox/Checkbox.stories.js +0 -144
  180. package/dist/checkbox/readme.md +0 -116
  181. package/dist/common/variables.js +0 -655
  182. package/dist/date/Date.stories.js +0 -205
  183. package/dist/date/calendar.svg +0 -1
  184. package/dist/date/calendar_dark.svg +0 -1
  185. package/dist/date/readme.md +0 -73
  186. package/dist/dialog/Dialog.stories.js +0 -217
  187. package/dist/dialog/readme.md +0 -32
  188. package/dist/dropdown/Dropdown.js +0 -456
  189. package/dist/dropdown/Dropdown.stories.js +0 -249
  190. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  191. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  192. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  193. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  194. package/dist/dropdown/readme.md +0 -69
  195. package/dist/footer/Footer.js +0 -405
  196. package/dist/footer/Footer.stories.js +0 -94
  197. package/dist/footer/dxc_logo_wht.png +0 -0
  198. package/dist/footer/readme.md +0 -41
  199. package/dist/header/Header.js +0 -431
  200. package/dist/header/Header.stories.js +0 -176
  201. package/dist/header/close_icon.svg +0 -1
  202. package/dist/header/dxc_logo_black.png +0 -0
  203. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  204. package/dist/header/dxc_logo_white.png +0 -0
  205. package/dist/header/hamb_menu_black.svg +0 -1
  206. package/dist/header/hamb_menu_white.svg +0 -1
  207. package/dist/header/readme.md +0 -33
  208. package/dist/heading/Heading.js +0 -163
  209. package/dist/input-text/InputText.js +0 -609
  210. package/dist/input-text/InputText.stories.js +0 -209
  211. package/dist/input-text/error.svg +0 -1
  212. package/dist/input-text/readme.md +0 -91
  213. package/dist/layout/facebook.svg +0 -45
  214. package/dist/layout/linkedin.svg +0 -50
  215. package/dist/layout/twitter.svg +0 -53
  216. package/dist/link/Link.js +0 -200
  217. package/dist/link/readme.md +0 -51
  218. package/dist/paginator/Paginator.js +0 -261
  219. package/dist/paginator/images/next.svg +0 -3
  220. package/dist/paginator/images/nextPage.svg +0 -3
  221. package/dist/paginator/images/previous.svg +0 -3
  222. package/dist/paginator/images/previousPage.svg +0 -3
  223. package/dist/paginator/readme.md +0 -50
  224. package/dist/progress-bar/ProgressBar.js +0 -192
  225. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  226. package/dist/progress-bar/readme.md +0 -63
  227. package/dist/radio/Radio.js +0 -190
  228. package/dist/radio/Radio.stories.js +0 -166
  229. package/dist/radio/readme.md +0 -70
  230. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  231. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  232. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  233. package/dist/select/Select.js +0 -490
  234. package/dist/select/Select.stories.js +0 -235
  235. package/dist/select/readme.md +0 -72
  236. package/dist/slider/Slider.js +0 -267
  237. package/dist/slider/Slider.stories.js +0 -241
  238. package/dist/slider/readme.md +0 -64
  239. package/dist/spinner/Spinner.js +0 -214
  240. package/dist/spinner/Spinner.stories.js +0 -183
  241. package/dist/spinner/readme.md +0 -65
  242. package/dist/switch/Switch.js +0 -194
  243. package/dist/switch/Switch.stories.js +0 -134
  244. package/dist/switch/readme.md +0 -133
  245. package/dist/table/Table.js +0 -98
  246. package/dist/tabs/Tabs.js +0 -325
  247. package/dist/tabs/Tabs.stories.js +0 -130
  248. package/dist/tabs/readme.md +0 -78
  249. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  250. package/dist/tabs-for-sections/readme.md +0 -78
  251. package/dist/tag/Tag.js +0 -268
  252. package/dist/textarea/Textarea.js +0 -238
  253. package/dist/toggle/Toggle.stories.js +0 -297
  254. package/dist/toggle/readme.md +0 -80
  255. package/dist/toggle-group/ToggleGroup.js +0 -223
  256. package/dist/toggle-group/readme.md +0 -82
  257. package/dist/upload/Upload.stories.js +0 -72
  258. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -123
  259. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  260. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  261. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -293
  262. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  263. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  264. package/dist/upload/file-upload/FileToUpload.js +0 -162
  265. package/dist/upload/file-upload/audio-icon.svg +0 -4
  266. package/dist/upload/file-upload/close.svg +0 -4
  267. package/dist/upload/file-upload/file-icon.svg +0 -4
  268. package/dist/upload/file-upload/video-icon.svg +0 -4
  269. package/dist/upload/readme.md +0 -37
  270. package/dist/upload/transaction/Transaction.js +0 -152
  271. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  272. package/dist/upload/transaction/audio-icon.svg +0 -4
  273. package/dist/upload/transaction/error-icon.svg +0 -4
  274. package/dist/upload/transaction/file-icon-err.svg +0 -4
  275. package/dist/upload/transaction/file-icon.svg +0 -4
  276. package/dist/upload/transaction/image-icon-err.svg +0 -4
  277. package/dist/upload/transaction/image-icon.svg +0 -4
  278. package/dist/upload/transaction/success-icon.svg +0 -4
  279. package/dist/upload/transaction/video-icon-err.svg +0 -4
  280. package/dist/upload/transaction/video-icon.svg +0 -4
  281. package/dist/upload/transactions/Transactions.js +0 -122
  282. package/dist/wizard/Wizard.js +0 -355
  283. package/dist/wizard/invalid_icon.svg +0 -6
  284. package/dist/wizard/valid_icon.svg +0 -6
  285. package/dist/wizard/validation-wrong.svg +0 -6
  286. package/test/Accordion.test.js +0 -33
  287. package/test/AccordionGroup.test.js +0 -125
  288. package/test/Alert.test.js +0 -53
  289. package/test/Box.test.js +0 -10
  290. package/test/Button.test.js +0 -18
  291. package/test/Card.test.js +0 -30
  292. package/test/Checkbox.test.js +0 -45
  293. package/test/Chip.test.js +0 -25
  294. package/test/Date.test.js +0 -393
  295. package/test/Dialog.test.js +0 -23
  296. package/test/Dropdown.test.js +0 -130
  297. package/test/Footer.test.js +0 -99
  298. package/test/Header.test.js +0 -39
  299. package/test/Heading.test.js +0 -35
  300. package/test/InputText.test.js +0 -240
  301. package/test/Link.test.js +0 -42
  302. package/test/Paginator.test.js +0 -177
  303. package/test/ProgressBar.test.js +0 -35
  304. package/test/Radio.test.js +0 -37
  305. package/test/ResultsetTable.test.js +0 -330
  306. package/test/Select.test.js +0 -192
  307. package/test/Sidenav.test.js +0 -45
  308. package/test/Slider.test.js +0 -82
  309. package/test/Spinner.test.js +0 -27
  310. package/test/Switch.test.js +0 -45
  311. package/test/Table.test.js +0 -36
  312. package/test/Tabs.test.js +0 -109
  313. package/test/TabsForSections.test.js +0 -34
  314. package/test/Tag.test.js +0 -32
  315. package/test/TextArea.test.js +0 -52
  316. package/test/ToggleGroup.test.js +0 -81
  317. package/test/Upload.test.js +0 -60
  318. package/test/Wizard.test.js +0 -130
  319. package/test/mocks/pngMock.js +0 -1
  320. 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;
@@ -0,0 +1,179 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
+
14
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
+
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
+
22
+ var _core = require("@material-ui/core");
23
+
24
+ var _RequiredComponent = _interopRequireDefault(require("../common/RequiredComponent"));
25
+
26
+ var _variables = require("../common/variables.js");
27
+
28
+ var _utils = require("../common/utils.js");
29
+
30
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
31
+
32
+ var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext.js"));
33
+
34
+ var _templateObject, _templateObject2;
35
+
36
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
37
+
38
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
39
+
40
+ var DxcSwitch = function DxcSwitch(_ref) {
41
+ var checked = _ref.checked,
42
+ value = _ref.value,
43
+ _ref$label = _ref.label,
44
+ label = _ref$label === void 0 ? "" : _ref$label,
45
+ _ref$labelPosition = _ref.labelPosition,
46
+ labelPosition = _ref$labelPosition === void 0 ? "before" : _ref$labelPosition,
47
+ _ref$name = _ref.name,
48
+ name = _ref$name === void 0 ? "" : _ref$name,
49
+ _ref$disabled = _ref.disabled,
50
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
51
+ onChange = _ref.onChange,
52
+ _ref$required = _ref.required,
53
+ required = _ref$required === void 0 ? false : _ref$required,
54
+ margin = _ref.margin,
55
+ _ref$size = _ref.size,
56
+ size = _ref$size === void 0 ? "fitContent" : _ref$size,
57
+ _ref$tabIndex = _ref.tabIndex,
58
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
59
+
60
+ var _useState = (0, _react.useState)(false),
61
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
62
+ innerChecked = _useState2[0],
63
+ setInnerChecked = _useState2[1];
64
+
65
+ var colorsTheme = (0, _useTheme["default"])();
66
+ var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
67
+
68
+ var handlerSwitchChange = function handlerSwitchChange(event) {
69
+ if (checked === undefined) {
70
+ var _event$target$checked;
71
+
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);
76
+ };
77
+
78
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
79
+ theme: colorsTheme["switch"]
80
+ }, /*#__PURE__*/_react["default"].createElement(SwitchContainer, {
81
+ margin: margin,
82
+ disabled: disabled,
83
+ labelPosition: labelPosition,
84
+ size: size,
85
+ backgroundType: backgroundType
86
+ }, /*#__PURE__*/_react["default"].createElement(_core.Switch, {
87
+ checked: checked !== null && checked !== void 0 ? checked : innerChecked,
88
+ inputProps: {
89
+ name: name,
90
+ tabIndex: tabIndex
91
+ },
92
+ onChange: handlerSwitchChange,
93
+ value: value,
94
+ disabled: disabled,
95
+ disableRipple: true
96
+ }), /*#__PURE__*/_react["default"].createElement(LabelContainer, {
97
+ labelPosition: labelPosition,
98
+ onClick: !disabled && handlerSwitchChange,
99
+ disabled: disabled,
100
+ backgroundType: backgroundType
101
+ }, required && /*#__PURE__*/_react["default"].createElement(_RequiredComponent["default"], null), label)));
102
+ };
103
+
104
+ var sizes = {
105
+ small: "60px",
106
+ medium: "240px",
107
+ large: "480px",
108
+ fillParent: "100%",
109
+ fitContent: "unset"
110
+ };
111
+
112
+ var calculateWidth = function calculateWidth(margin, size) {
113
+ return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
114
+ };
115
+
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) {
117
+ return calculateWidth(props.margin, props.size);
118
+ }, function (props) {
119
+ return props.labelPosition === "after" ? "row" : "row-reverse";
120
+ }, function (props) {
121
+ return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
122
+ }, function (props) {
123
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
124
+ }, function (props) {
125
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
126
+ }, function (props) {
127
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
128
+ }, function (props) {
129
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
130
+ }, function (props) {
131
+ return props.disabled ? "not-allowed" : "default";
132
+ }, function (props) {
133
+ return props.theme.trackWidth;
134
+ }, function (props) {
135
+ return "".concat(props.backgroundType === "dark" ? props.theme.thumbFocusColorOnDark : props.theme.thumbFocusColor, " solid 2px");
136
+ }, function (props) {
137
+ return props.backgroundType === "dark" ? props.theme.uncheckedTrackBackgroundColorOnDark : props.theme.uncheckedTrackBackgroundColor;
138
+ }, function (props) {
139
+ return props.theme.trackHeight;
140
+ }, function (props) {
141
+ return props.theme.thumbWidth;
142
+ }, function (props) {
143
+ return props.theme.thumbHeight;
144
+ }, function (props) {
145
+ return props.backgroundType === "dark" ? props.theme.uncheckedThumbBackgroundColorOnDark : props.theme.uncheckedThumbBackgroundColor;
146
+ }, function (props) {
147
+ return props.backgroundType === "dark" ? props.theme.disabledUncheckedThumbBackgroundColorOnDark : props.theme.disabledUncheckedThumbBackgroundColor;
148
+ }, function (props) {
149
+ return props.backgroundType === "dark" ? props.theme.disabledUncheckedTrackBackgroundColorOnDark : props.theme.disabledUncheckedTrackBackgroundColor;
150
+ }, function (props) {
151
+ return props.backgroundType === "dark" ? props.theme.disabledCheckedThumbBackgroundColorOnDark : props.theme.disabledCheckedThumbBackgroundColor;
152
+ }, function (props) {
153
+ return props.backgroundType === "dark" ? props.theme.disabledCheckedTrackBackgroundColorOnDark : props.theme.disabledCheckedTrackBackgroundColor;
154
+ }, function (props) {
155
+ return props.backgroundType === "dark" ? props.theme.checkedThumbBackgroundColorOnDark : props.theme.checkedThumbBackgroundColor;
156
+ }, function (props) {
157
+ return props.theme.thumbShift;
158
+ }, function (props) {
159
+ return props.backgroundType === "dark" ? props.theme.checkedTrackBackgroundColorOnDark : props.theme.checkedTrackBackgroundColor;
160
+ });
161
+
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) {
163
+ return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledLabelFontColorOnDark : props.theme.disabledLabelFontColor : props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.theme.labelFontColor;
164
+ }, function (props) {
165
+ return props.theme.labelFontFamily;
166
+ }, function (props) {
167
+ return props.theme.labelFontSize;
168
+ }, function (props) {
169
+ return props.disabled ? props.theme.disabledLabelFontStyle : props.theme.labelFontStyle;
170
+ }, function (props) {
171
+ return props.theme.labelFontWeight;
172
+ }, function (props) {
173
+ return props.disabled === true ? "not-allowed" : "pointer";
174
+ }, function (props) {
175
+ return props.labelPosition === "after" ? "margin-left: ".concat(props.theme.spaceBetweenLabelSwitch, ";") : "margin-right: ".concat(props.theme.spaceBetweenLabelSwitch, ";");
176
+ });
177
+
178
+ var _default = DxcSwitch;
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
+ });