@dxc-technology/halstack-react 0.0.0-c4ba791 → 0.0.0-c593452

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