@dxc-technology/halstack-react 0.0.0-eb2a4cc → 0.0.0-ebb089f

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 (229) hide show
  1. package/README.md +2 -2
  2. package/babel.config.js +5 -2
  3. package/dist/BackgroundColorContext.js +46 -0
  4. package/dist/ThemeContext.js +237 -2
  5. package/dist/V3Select/V3Select.js +549 -0
  6. package/dist/V3Select/index.d.ts +27 -0
  7. package/dist/V3Textarea/V3Textarea.js +264 -0
  8. package/dist/V3Textarea/index.d.ts +27 -0
  9. package/dist/accordion/Accordion.js +170 -81
  10. package/dist/accordion/index.d.ts +28 -0
  11. package/dist/accordion-group/AccordionGroup.js +186 -0
  12. package/dist/accordion-group/index.d.ts +16 -0
  13. package/dist/alert/Alert.js +184 -83
  14. package/dist/alert/index.d.ts +51 -0
  15. package/dist/badge/Badge.js +63 -0
  16. package/dist/box/Box.js +31 -23
  17. package/dist/box/index.d.ts +25 -0
  18. package/dist/button/Button.js +84 -29
  19. package/dist/button/Button.stories.js +14 -211
  20. package/dist/button/index.d.ts +24 -0
  21. package/dist/card/Card.js +72 -35
  22. package/dist/card/index.d.ts +22 -0
  23. package/dist/checkbox/Checkbox.js +107 -32
  24. package/dist/checkbox/index.d.ts +24 -0
  25. package/dist/chip/Chip.js +135 -40
  26. package/dist/chip/index.d.ts +22 -0
  27. package/dist/common/RequiredComponent.js +2 -8
  28. package/dist/common/utils.js +2 -22
  29. package/dist/common/variables.js +1472 -159
  30. package/dist/date/Date.js +81 -59
  31. package/dist/date/index.d.ts +27 -0
  32. package/dist/date-input/DateInput.js +400 -0
  33. package/dist/date-input/index.d.ts +95 -0
  34. package/dist/dialog/Dialog.js +61 -36
  35. package/dist/dialog/index.d.ts +18 -0
  36. package/dist/dropdown/Dropdown.js +226 -94
  37. package/dist/dropdown/index.d.ts +26 -0
  38. package/dist/file-input/FileInput.js +644 -0
  39. package/dist/file-input/FileItem.js +287 -0
  40. package/dist/file-input/index.d.ts +81 -0
  41. package/dist/footer/Footer.js +122 -47
  42. package/dist/footer/Icons.js +77 -0
  43. package/dist/footer/index.d.ts +25 -0
  44. package/dist/header/Header.js +211 -91
  45. package/dist/header/Icons.js +59 -0
  46. package/dist/header/index.d.ts +25 -0
  47. package/dist/heading/Heading.js +93 -22
  48. package/dist/heading/index.d.ts +17 -0
  49. package/dist/input-text/Icons.js +22 -0
  50. package/dist/input-text/InputText.js +290 -104
  51. package/dist/input-text/index.d.ts +36 -0
  52. package/dist/layout/ApplicationLayout.js +327 -0
  53. package/dist/layout/Icons.js +55 -0
  54. package/dist/link/Link.js +136 -35
  55. package/dist/link/index.d.ts +23 -0
  56. package/dist/main.d.ts +40 -0
  57. package/dist/main.js +112 -16
  58. package/dist/number-input/NumberInput.js +136 -0
  59. package/dist/number-input/NumberInputContext.js +16 -0
  60. package/dist/number-input/index.d.ts +113 -0
  61. package/dist/paginator/Icons.js +66 -0
  62. package/dist/paginator/Paginator.js +184 -57
  63. package/dist/paginator/index.d.ts +20 -0
  64. package/dist/password-input/PasswordInput.js +203 -0
  65. package/dist/password-input/index.d.ts +94 -0
  66. package/dist/progress-bar/ProgressBar.js +97 -44
  67. package/dist/progress-bar/index.d.ts +18 -0
  68. package/dist/radio/Radio.js +39 -21
  69. package/dist/radio/index.d.ts +23 -0
  70. package/dist/resultsetTable/ResultsetTable.js +93 -69
  71. package/dist/resultsetTable/index.d.ts +19 -0
  72. package/dist/select/Select.js +957 -262
  73. package/dist/select/index.d.ts +131 -0
  74. package/dist/sidenav/Sidenav.js +87 -125
  75. package/dist/sidenav/index.d.ts +13 -0
  76. package/dist/slider/Slider.js +219 -73
  77. package/dist/slider/index.d.ts +29 -0
  78. package/dist/spinner/Spinner.js +249 -64
  79. package/dist/spinner/index.d.ts +17 -0
  80. package/dist/switch/Switch.js +51 -26
  81. package/dist/switch/index.d.ts +24 -0
  82. package/dist/table/Table.js +63 -15
  83. package/dist/table/index.d.ts +13 -0
  84. package/dist/tabs/Tabs.js +208 -35
  85. package/dist/tabs/index.d.ts +19 -0
  86. package/dist/tag/Tag.js +100 -35
  87. package/dist/tag/index.d.ts +24 -0
  88. package/dist/text-input/TextInput.js +974 -0
  89. package/dist/text-input/index.d.ts +135 -0
  90. package/dist/textarea/Textarea.js +250 -107
  91. package/dist/textarea/index.d.ts +117 -0
  92. package/dist/toggle/Toggle.js +16 -19
  93. package/dist/toggle/index.d.ts +21 -0
  94. package/dist/toggle-group/ToggleGroup.js +327 -0
  95. package/dist/toggle-group/index.d.ts +21 -0
  96. package/dist/upload/Upload.js +13 -8
  97. package/dist/upload/buttons-upload/ButtonsUpload.js +35 -25
  98. package/dist/upload/buttons-upload/Icons.js +40 -0
  99. package/dist/upload/dragAndDropArea/DragAndDropArea.js +84 -37
  100. package/dist/upload/dragAndDropArea/Icons.js +39 -0
  101. package/dist/upload/file-upload/FileToUpload.js +64 -33
  102. package/dist/upload/file-upload/Icons.js +66 -0
  103. package/dist/upload/files-upload/FilesToUpload.js +16 -16
  104. package/dist/upload/index.d.ts +15 -0
  105. package/dist/upload/transaction/Icons.js +160 -0
  106. package/dist/upload/transaction/Transaction.js +42 -49
  107. package/dist/upload/transactions/Transactions.js +38 -20
  108. package/dist/useTheme.js +22 -0
  109. package/dist/wizard/Icons.js +65 -0
  110. package/dist/wizard/Wizard.js +156 -61
  111. package/dist/wizard/index.d.ts +18 -0
  112. package/package.json +26 -14
  113. package/test/AccordionGroup.test.js +125 -0
  114. package/test/Date.test.js +15 -13
  115. package/test/DateInput.test.js +242 -0
  116. package/test/Dropdown.test.js +19 -4
  117. package/test/FileInput.test.js +201 -0
  118. package/test/Footer.test.js +2 -7
  119. package/test/Header.test.js +5 -10
  120. package/test/Heading.test.js +60 -12
  121. package/test/InputText.test.js +31 -28
  122. package/test/Link.test.js +25 -7
  123. package/test/NumberInput.test.js +259 -0
  124. package/test/Paginator.test.js +76 -60
  125. package/test/PasswordInput.test.js +83 -0
  126. package/test/ResultsetTable.test.js +65 -17
  127. package/test/Select.test.js +869 -132
  128. package/test/Sidenav.test.js +22 -64
  129. package/test/Slider.test.js +24 -15
  130. package/test/Spinner.test.js +5 -0
  131. package/test/Tabs.test.js +21 -0
  132. package/test/TextInput.test.js +731 -0
  133. package/test/Textarea.test.js +193 -0
  134. package/test/ToggleGroup.test.js +85 -0
  135. package/test/Upload.test.js +1 -1
  136. package/test/V3Select.test.js +212 -0
  137. package/test/{TextArea.test.js → V3TextArea.test.js} +6 -7
  138. package/dist/accordion/Accordion.stories.js +0 -207
  139. package/dist/accordion/readme.md +0 -96
  140. package/dist/alert/Alert.stories.js +0 -158
  141. package/dist/alert/close.svg +0 -4
  142. package/dist/alert/error.svg +0 -4
  143. package/dist/alert/info.svg +0 -4
  144. package/dist/alert/readme.md +0 -43
  145. package/dist/alert/success.svg +0 -4
  146. package/dist/alert/warning.svg +0 -4
  147. package/dist/button/readme.md +0 -93
  148. package/dist/checkbox/Checkbox.stories.js +0 -144
  149. package/dist/checkbox/readme.md +0 -116
  150. package/dist/common/services/example-service.js +0 -10
  151. package/dist/common/services/example-service.test.js +0 -12
  152. package/dist/date/Date.stories.js +0 -205
  153. package/dist/date/calendar.svg +0 -1
  154. package/dist/date/calendar_dark.svg +0 -1
  155. package/dist/date/readme.md +0 -73
  156. package/dist/dialog/Dialog.stories.js +0 -217
  157. package/dist/dialog/readme.md +0 -32
  158. package/dist/dropdown/Dropdown.stories.js +0 -249
  159. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  160. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  161. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  162. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  163. package/dist/dropdown/readme.md +0 -69
  164. package/dist/footer/Footer.stories.js +0 -94
  165. package/dist/footer/dxc_logo_wht.png +0 -0
  166. package/dist/footer/readme.md +0 -41
  167. package/dist/header/Header.stories.js +0 -176
  168. package/dist/header/close_icon.svg +0 -1
  169. package/dist/header/dxc_logo_black.png +0 -0
  170. package/dist/header/dxc_logo_white.png +0 -0
  171. package/dist/header/hamb_menu_black.svg +0 -1
  172. package/dist/header/hamb_menu_white.svg +0 -1
  173. package/dist/header/readme.md +0 -33
  174. package/dist/input-text/InputText.stories.js +0 -209
  175. package/dist/input-text/error.svg +0 -1
  176. package/dist/input-text/readme.md +0 -91
  177. package/dist/link/readme.md +0 -51
  178. package/dist/paginator/images/next.svg +0 -3
  179. package/dist/paginator/images/nextPage.svg +0 -3
  180. package/dist/paginator/images/previous.svg +0 -3
  181. package/dist/paginator/images/previousPage.svg +0 -3
  182. package/dist/paginator/readme.md +0 -50
  183. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  184. package/dist/progress-bar/readme.md +0 -63
  185. package/dist/radio/Radio.stories.js +0 -166
  186. package/dist/radio/readme.md +0 -70
  187. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  188. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  189. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  190. package/dist/select/Select.stories.js +0 -235
  191. package/dist/select/readme.md +0 -72
  192. package/dist/sidenav/arrow_icon.svg +0 -3
  193. package/dist/slider/Slider.stories.js +0 -241
  194. package/dist/slider/readme.md +0 -64
  195. package/dist/spinner/Spinner.stories.js +0 -183
  196. package/dist/spinner/readme.md +0 -65
  197. package/dist/switch/Switch.stories.js +0 -134
  198. package/dist/switch/readme.md +0 -133
  199. package/dist/tabs/Tabs.stories.js +0 -130
  200. package/dist/tabs/readme.md +0 -78
  201. package/dist/tabs-for-sections/TabsForSections.js +0 -107
  202. package/dist/tabs-for-sections/readme.md +0 -78
  203. package/dist/toggle/Toggle.stories.js +0 -297
  204. package/dist/toggle/readme.md +0 -80
  205. package/dist/upload/Upload.stories.js +0 -72
  206. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  207. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  208. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  209. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  210. package/dist/upload/file-upload/audio-icon.svg +0 -4
  211. package/dist/upload/file-upload/close.svg +0 -4
  212. package/dist/upload/file-upload/file-icon.svg +0 -4
  213. package/dist/upload/file-upload/video-icon.svg +0 -4
  214. package/dist/upload/readme.md +0 -37
  215. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  216. package/dist/upload/transaction/audio-icon.svg +0 -4
  217. package/dist/upload/transaction/error-icon.svg +0 -4
  218. package/dist/upload/transaction/file-icon-err.svg +0 -4
  219. package/dist/upload/transaction/file-icon.svg +0 -4
  220. package/dist/upload/transaction/image-icon-err.svg +0 -4
  221. package/dist/upload/transaction/image-icon.svg +0 -4
  222. package/dist/upload/transaction/success-icon.svg +0 -4
  223. package/dist/upload/transaction/video-icon-err.svg +0 -4
  224. package/dist/upload/transaction/video-icon.svg +0 -4
  225. package/dist/wizard/invalid_icon.svg +0 -6
  226. package/dist/wizard/valid_icon.svg +0 -6
  227. package/dist/wizard/validation-wrong.svg +0 -6
  228. package/test/TabsForSections.test.js +0 -34
  229. package/test/Toggle.test.js +0 -43
@@ -19,18 +19,96 @@ var _react = _interopRequireWildcard(require("react"));
19
19
 
20
20
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
21
 
22
- var _CircularProgress = _interopRequireDefault(require("@material-ui/core/CircularProgress"));
23
-
24
22
  var _propTypes = _interopRequireDefault(require("prop-types"));
25
23
 
26
- require("../common/OpenSans.css");
27
-
28
24
  var _variables = require("../common/variables.js");
29
25
 
30
- var _ThemeContext = _interopRequireDefault(require("../ThemeContext.js"));
26
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
27
+
28
+ var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext.js"));
29
+
30
+ function _templateObject12() {
31
+ var data = (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"]);
32
+
33
+ _templateObject12 = function _templateObject12() {
34
+ return data;
35
+ };
36
+
37
+ return data;
38
+ }
39
+
40
+ function _templateObject11() {
41
+ var data = (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"]);
42
+
43
+ _templateObject11 = function _templateObject11() {
44
+ return data;
45
+ };
46
+
47
+ return data;
48
+ }
49
+
50
+ function _templateObject10() {
51
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: block;\n margin: 0 auto;\n position: absolute;\n text-align: center;\n width: 110px;\n"]);
52
+
53
+ _templateObject10 = function _templateObject10() {
54
+ return data;
55
+ };
56
+
57
+ return data;
58
+ }
59
+
60
+ function _templateObject9() {
61
+ var data = (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"]);
62
+
63
+ _templateObject9 = function _templateObject9() {
64
+ return data;
65
+ };
66
+
67
+ return data;
68
+ }
69
+
70
+ function _templateObject8() {
71
+ var data = (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"]);
72
+
73
+ _templateObject8 = function _templateObject8() {
74
+ return data;
75
+ };
76
+
77
+ return data;
78
+ }
79
+
80
+ function _templateObject7() {
81
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n height: inherit;\n width: inherit;\n position: relative;\n z-index: 2;\n"]);
82
+
83
+ _templateObject7 = function _templateObject7() {
84
+ return data;
85
+ };
86
+
87
+ return data;
88
+ }
89
+
90
+ function _templateObject6() {
91
+ var data = (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"]);
92
+
93
+ _templateObject6 = function _templateObject6() {
94
+ return data;
95
+ };
96
+
97
+ return data;
98
+ }
99
+
100
+ function _templateObject5() {
101
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n height: inherit;\n width: inherit;\n"]);
102
+
103
+ _templateObject5 = function _templateObject5() {
104
+ return data;
105
+ };
106
+
107
+ return data;
108
+ }
31
109
 
32
110
  function _templateObject4() {
33
- var data = (0, _taggedTemplateLiteral2["default"])(["\n margin-top: ", ";\n display: ", ";\n color: ", ";\n font-size: 12px;\n text-align: center;\n"]);
111
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n height: inherit;\n width: inherit;\n position: absolute;\n z-index: 1;\n"]);
34
112
 
35
113
  _templateObject4 = function _templateObject4() {
36
114
  return data;
@@ -40,7 +118,7 @@ function _templateObject4() {
40
118
  }
41
119
 
42
120
  function _templateObject3() {
43
- var data = (0, _taggedTemplateLiteral2["default"])(["\n margin-top: ", ";\n color: ", ";\n text-transform: uppercase;\n font-size: 12px;\n text-align: center;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"]);
121
+ var data = (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"]);
44
122
 
45
123
  _templateObject3 = function _templateObject3() {
46
124
  return data;
@@ -50,7 +128,7 @@ function _templateObject3() {
50
128
  }
51
129
 
52
130
  function _templateObject2() {
53
- var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: \"Open Sans\", sans-serif;\n border-radius: 80px;\n border: ", ";\n width: ", ";\n height: ", ";\n z-index: ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n .MuiCircularProgress-colorPrimary {\n color: ", ";\n width: ", ";\n height: ", ";\n margin-top: ", ";\n margin-left: ", ";\n }\n\n .MuiCircularProgress-circle {\n stroke-width: ", ";\n r: ", ";\n }\n"]);
131
+ var data = (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"]);
54
132
 
55
133
  _templateObject2 = function _templateObject2() {
56
134
  return data;
@@ -60,7 +138,7 @@ function _templateObject2() {
60
138
  }
61
139
 
62
140
  function _templateObject() {
63
- var data = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n display: flex;\n flex-wrap: wrap;\n justify-content: ", ";\n align-items: ", ";\n position: ", ";\n top: ", ";\n left: ", ";\n right: ", ";\n bottom: ", ";\n z-index: ", ";\n"]);
141
+ var data = (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"]);
64
142
 
65
143
  _templateObject = function _templateObject() {
66
144
  return data;
@@ -72,47 +150,112 @@ function _templateObject() {
72
150
  var DxcSpinner = function DxcSpinner(_ref) {
73
151
  var _ref$label = _ref.label,
74
152
  label = _ref$label === void 0 ? "" : _ref$label,
75
- _ref$theme = _ref.theme,
76
- theme = _ref$theme === void 0 ? "light" : _ref$theme,
77
153
  value = _ref.value,
78
154
  _ref$showValue = _ref.showValue,
79
155
  showValue = _ref$showValue === void 0 ? false : _ref$showValue,
80
156
  _ref$mode = _ref.mode,
81
157
  mode = _ref$mode === void 0 ? "large" : _ref$mode,
82
158
  margin = _ref.margin;
83
-
84
- var colorsTheme = (0, _react.useContext)(_ThemeContext["default"]) || _variables.colors;
85
-
159
+ var colorsTheme = (0, _useTheme["default"])();
160
+ var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
86
161
  return _react["default"].createElement(_styledComponents.ThemeProvider, {
87
- theme: colorsTheme
88
- }, _react["default"].createElement(BackgroundSpinner, {
89
- brightness: theme,
90
- mode: mode
162
+ theme: colorsTheme.spinner
91
163
  }, _react["default"].createElement(DXCSpinner, {
92
164
  margin: margin,
93
- showValue: showValue,
94
- label: label,
95
165
  mode: mode
96
- }, label && mode !== "small" && _react["default"].createElement(SpinnerLabel, {
97
- showValue: showValue,
98
- brightness: theme,
166
+ }, _react["default"].createElement(SpinnerContainer, {
167
+ backgroundType: backgroundType,
168
+ mode: mode
169
+ }, mode === "overlay" && _react["default"].createElement(BackOverlay, null), _react["default"].createElement(BackgroundSpinner, {
170
+ mode: mode
171
+ }, mode !== "small" && _react["default"].createElement(SVGBackground, {
172
+ viewBox: "0 0 140 140"
173
+ }, _react["default"].createElement(CircleBackground, {
174
+ cx: "70",
175
+ cy: "70",
176
+ r: "65",
177
+ mode: mode
178
+ })), mode === "small" && _react["default"].createElement(SVGBackground, {
179
+ viewBox: "0 0 16 16"
180
+ }, _react["default"].createElement(CircleBackground, {
181
+ cx: "8",
182
+ cy: "8",
183
+ r: "6",
99
184
  mode: mode
100
- }, label), value && mode !== "small" && _react["default"].createElement(SpinnerProgress, {
101
- brightness: theme,
185
+ }))), value >= 0 && value <= 100 ? _react["default"].createElement(Spinner, {
186
+ role: "progressbar",
187
+ mode: mode
188
+ }, mode !== "small" && _react["default"].createElement(SVGSpinner, {
189
+ viewBox: "0 0 140 140",
190
+ isDeterminated: true
191
+ }, _react["default"].createElement(CircleSpinner, {
192
+ cx: "70",
193
+ cy: "70",
194
+ r: "65",
195
+ backgroundType: backgroundType,
196
+ mode: mode,
197
+ isDeterminated: true,
198
+ value: value
199
+ })), mode === "small" && _react["default"].createElement(SVGSpinner, {
200
+ viewBox: "0 0 16 16",
201
+ isDeterminated: true
202
+ }, _react["default"].createElement(CircleSpinner, {
203
+ cx: "8",
204
+ cy: "8",
205
+ r: "6",
206
+ backgroundType: backgroundType,
207
+ mode: mode,
208
+ isDeterminated: true,
209
+ value: value
210
+ }))) : _react["default"].createElement(Spinner, {
211
+ role: "progressbar",
212
+ mode: mode
213
+ }, mode !== "small" && _react["default"].createElement(SVGSpinner, {
214
+ viewBox: "0 0 140 140",
215
+ isDeterminated: false
216
+ }, _react["default"].createElement(CircleSpinner, {
217
+ cx: "70",
218
+ cy: "70",
219
+ r: "65",
220
+ backgroundType: backgroundType,
102
221
  mode: mode,
103
- showValue: showValue,
104
- label: label
105
- }, value === "" ? 0 : value >= 0 && value <= 100 ? value : value < 0 ? 0 : 100, "%"), _react["default"].createElement(_CircularProgress["default"], {
106
- variant: showValue ? "static" : "indeterminate",
107
- value: value === "" ? 0 : value >= 0 && value <= 100 ? value : value < 0 ? 0 : 100,
222
+ isDeterminated: false
223
+ })), mode === "small" && _react["default"].createElement(SVGSpinner, {
224
+ viewBox: "0 0 16 16",
225
+ isDeterminated: false
226
+ }, _react["default"].createElement(CircleSpinner, {
227
+ cx: "8",
228
+ cy: "8",
229
+ r: "6",
230
+ backgroundType: backgroundType,
231
+ mode: mode,
232
+ isDeterminated: false
233
+ }))), mode !== "small" && _react["default"].createElement(LabelsContainer, {
234
+ label: label,
235
+ value: value,
236
+ showValue: showValue
237
+ }, _react["default"].createElement(SpinnerLabel, {
238
+ backgroundType: backgroundType,
239
+ mode: mode
240
+ }, label), (value || value === 0) && showValue && _react["default"].createElement(SpinnerProgress, {
241
+ backgroundType: backgroundType,
108
242
  mode: mode,
109
- label: label
110
- }))));
243
+ showValue: showValue
244
+ }, value, "%")))));
245
+ };
246
+
247
+ var determinatedValue = function determinatedValue(props, strokeDashArray) {
248
+ var val = 0;
249
+
250
+ if (props.value >= 0 && props.value <= 100) {
251
+ val = strokeDashArray * (1 - props.value / 100);
252
+ }
253
+
254
+ return val;
111
255
  };
112
256
 
113
257
  DxcSpinner.propTypes = {
114
258
  label: _propTypes["default"].string,
115
- theme: _propTypes["default"].oneOf(["light", "dark"]),
116
259
  value: _propTypes["default"].number,
117
260
  showValue: _propTypes["default"].bool,
118
261
  mode: _propTypes["default"].oneOf(["large", "small", "overlay"]),
@@ -124,12 +267,12 @@ DxcSpinner.propTypes = {
124
267
  }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
125
268
  };
126
269
 
127
- var BackgroundSpinner = _styledComponents["default"].div(_templateObject(), function (props) {
128
- return props.mode === "overlay" ? props.theme.mediumBlack : "transparent";
270
+ var DXCSpinner = _styledComponents["default"].div(_templateObject(), function (props) {
271
+ return props.mode === "overlay" ? "100vh" : "";
129
272
  }, function (props) {
130
- return props.mode === "overlay" ? "center" : "";
273
+ return props.mode === "overlay" ? "100vw" : "";
131
274
  }, function (props) {
132
- return props.mode === "overlay" ? "center" : "";
275
+ return props.mode === "overlay" ? "flex" : "";
133
276
  }, function (props) {
134
277
  return props.mode === "overlay" ? "fixed" : "";
135
278
  }, function (props) {
@@ -137,21 +280,11 @@ var BackgroundSpinner = _styledComponents["default"].div(_templateObject(), func
137
280
  }, function (props) {
138
281
  return props.mode === "overlay" ? 0 : "";
139
282
  }, function (props) {
140
- return props.mode === "overlay" ? 0 : "";
141
- }, function (props) {
142
- return props.mode === "overlay" ? 0 : "";
143
- }, function (props) {
144
- return props.mode === "overlay" ? 1000 : "";
145
- });
146
-
147
- var DXCSpinner = _styledComponents["default"].div(_templateObject2(), function (props) {
148
- return props.mode === "small" && "6px solid white" || "8.5px solid white;";
149
- }, function (props) {
150
- return props.mode === "small" && "30px" || "120px";
283
+ return props.mode === "overlay" ? "center" : "";
151
284
  }, function (props) {
152
- return props.mode === "small" && "30px" || "120px";
285
+ return props.mode === "overlay" ? "center" : "";
153
286
  }, function (props) {
154
- return props.mode === "overlay" ? "100" : "";
287
+ return props.mode === "overlay" ? 1300 : "";
155
288
  }, function (props) {
156
289
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
157
290
  }, function (props) {
@@ -162,34 +295,86 @@ var DXCSpinner = _styledComponents["default"].div(_templateObject2(), function (
162
295
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
163
296
  }, function (props) {
164
297
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
298
+ });
299
+
300
+ var SpinnerContainer = _styledComponents["default"].div(_templateObject2(), function (props) {
301
+ return props.mode === "small" ? "16px" : "140px";
165
302
  }, function (props) {
166
- return props.theme.yellow;
303
+ return props.mode === "small" ? "16px" : "140px";
304
+ });
305
+
306
+ var BackOverlay = _styledComponents["default"].div(_templateObject3(), function (props) {
307
+ return "".concat(props.theme.overlayBackgroundColor);
167
308
  }, function (props) {
168
- return props.mode === "small" && "44px !important" || "140px !important";
309
+ return "".concat(props.theme.overlayOpacity);
310
+ });
311
+
312
+ var BackgroundSpinner = _styledComponents["default"].div(_templateObject4());
313
+
314
+ var SVGBackground = _styledComponents["default"].svg(_templateObject5());
315
+
316
+ var CircleBackground = _styledComponents["default"].circle(_templateObject6(), function (props) {
317
+ return "".concat(props.theme.totalCircleColor);
318
+ }, function (props) {
319
+ return props.mode !== "small" ? "409" : "38";
169
320
  }, function (props) {
170
- return props.mode === "small" && "44px !important" || "140px !important";
321
+ return props.mode !== "small" ? "8.5px" : "2px";
322
+ });
323
+
324
+ var Spinner = _styledComponents["default"].div(_templateObject7());
325
+
326
+ var SVGSpinner = _styledComponents["default"].svg(_templateObject8(), function (props) {
327
+ return !props.isDeterminated ? "1.4s linear infinite both spinner-svg" : "";
328
+ });
329
+
330
+ var CircleSpinner = _styledComponents["default"].circle(_templateObject9(), function (props) {
331
+ 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";
171
332
  }, function (props) {
172
- return props.label === "" && props.showValue === false && props.mode === "large" ? "-10px" : props.mode === "small" ? "-7px" : props.label !== "" && props.showValue === false ? "-78.5px" : props.label === "" && props.showValue === true ? "-78.75px" : "-88.5px";
333
+ return props.backgroundType === "dark" ? props.theme.trackCircleColorOnDark : props.theme.trackCircleColor;
173
334
  }, function (props) {
174
- return props.mode === "small" && "-7px !important" || "-10px !important";
335
+ return !props.isDeterminated ? "50% 50%" : "";
175
336
  }, function (props) {
176
- return props.mode === "small" && "6.2px" || "2.7px";
337
+ return props.mode !== "small" ? "409" : "38";
177
338
  }, function (props) {
178
- return props.mode === "small" && "18.2" || "20.2";
339
+ return props.mode !== "small" ? "8.5px" : "2px";
340
+ }, function (props) {
341
+ return props.isDeterminated ? props.mode !== "small" ? determinatedValue(props, 409) : determinatedValue(props, 38) : "";
179
342
  });
180
343
 
181
- var SpinnerLabel = _styledComponents["default"].div(_templateObject3(), function (props) {
182
- return props.showValue === false && "52px" || "45px";
344
+ var LabelsContainer = _styledComponents["default"].div(_templateObject10());
345
+
346
+ var SpinnerLabel = _styledComponents["default"].p(_templateObject11(), function (props) {
347
+ return props.mode === "overlay" ? props.theme.overlayLabelFontFamily : props.theme.labelFontFamily;
348
+ }, function (props) {
349
+ return props.mode === "overlay" ? props.theme.overlayLabelFontWeight : props.theme.labelFontWeight;
350
+ }, function (props) {
351
+ return props.mode === "overlay" ? props.theme.overlayLabelFontSize : props.theme.labelFontSize;
352
+ }, function (props) {
353
+ return props.mode === "overlay" ? props.theme.overlayLabelFontStyle : props.theme.labelFontStyle;
354
+ }, function (props) {
355
+ return props.mode === "overlay" ? props.theme.overlayLabelFontColor : props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.theme.labelFontColor;
356
+ }, function (props) {
357
+ return props.mode === "overlay" ? props.theme.overlayLabelTextAlign : props.theme.labelTextAlign;
183
358
  }, function (props) {
184
- return props.brightness === "dark" || props.mode === "overlay" ? props.theme.white : props.theme.black;
359
+ return props.mode === "overlay" ? props.theme.overlayLabelLetterSpacing : props.theme.labelLetterSpacing;
185
360
  });
186
361
 
187
- var SpinnerProgress = _styledComponents["default"].div(_templateObject4(), function (props) {
188
- return props.label === "" && "52px" || "";
189
- }, function (props) {
362
+ var SpinnerProgress = _styledComponents["default"].p(_templateObject12(), function (props) {
190
363
  return props.value !== "" && props.showValue === true && "block" || "none";
191
364
  }, function (props) {
192
- return props.brightness === "dark" || props.mode === "overlay" ? props.theme.white : props.theme.black;
365
+ return props.mode === "overlay" ? props.theme.overlayProgressValueFontFamily : props.theme.progressValueFontFamily;
366
+ }, function (props) {
367
+ return props.mode === "overlay" ? props.theme.overlayProgressValueFontWeight : props.theme.progressValueFontWeight;
368
+ }, function (props) {
369
+ return props.mode === "overlay" ? props.theme.overlayProgressValueFontSize : props.theme.progressValueFontSize;
370
+ }, function (props) {
371
+ return props.mode === "overlay" ? props.theme.overlayProgressValueFontStyle : props.theme.progressValueFontStyle;
372
+ }, function (props) {
373
+ return props.mode === "overlay" ? props.theme.overlayProgressValueFontColor : props.backgroundType === "dark" ? props.theme.progressValueFontColorOnDark : props.theme.progressValueFontColor;
374
+ }, function (props) {
375
+ return props.mode === "overlay" ? props.theme.overlayProgressValueTextAlign : props.theme.progressValueTextAlign;
376
+ }, function (props) {
377
+ return props.mode === "overlay" ? props.theme.overlayProgressValueLetterSpacing : props.theme.progressValueLetterSpacing;
193
378
  });
194
379
 
195
380
  var _default = DxcSpinner;
@@ -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;
@@ -27,16 +27,16 @@ var _core = require("@material-ui/core");
27
27
 
28
28
  var _RequiredComponent = _interopRequireDefault(require("../common/RequiredComponent"));
29
29
 
30
- require("../common/OpenSans.css");
31
-
32
30
  var _variables = require("../common/variables.js");
33
31
 
34
32
  var _utils = require("../common/utils.js");
35
33
 
36
- var _ThemeContext = _interopRequireDefault(require("../ThemeContext.js"));
34
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
35
+
36
+ var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext.js"));
37
37
 
38
38
  function _templateObject2() {
39
- var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n cursor: ", ";\n font-family: \"Open Sans\", sans-serif;\n"]);
39
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n opacity: 1;\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n cursor: ", ";\n ", "\n"]);
40
40
 
41
41
  _templateObject2 = function _templateObject2() {
42
42
  return data;
@@ -46,7 +46,7 @@ function _templateObject2() {
46
46
  }
47
47
 
48
48
  function _templateObject() {
49
- var data = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n\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\n cursor: ", ";\n .MuiSwitch-root {\n align-items: center;\n width: 60px;\n height: 45px;\n margin: 3px;\n\n opacity: ", " !important;\n\n .Mui-focusVisible {\n border: ", " ;\n padding: 7px;\n }\n\n .MuiSwitch-track {\n /*Enabled and unchecked bar*/\n background-color: ", ";\n opacity: 1;\n height: 12px;\n }\n\n .MuiIconButton-root {\n /*Enabled and unchecked*/\n top: unset;\n .MuiSwitch-thumb {\n /*Only for thumb in all states*/\n width: 24px;\n height: 24px;\n }\n color: ", ";\n &:hover {\n background-color: transparent;\n }\n &.Mui-disabled {\n /*Disabled*/\n + .MuiSwitch-track {\n /*Disabled and unchecked bar*/\n background-color: ", ";\n opacity: ", ";\n }\n }\n &.Mui-checked {\n /*Enabled and checked*/\n color: ", ";\n transform: translateX(40%);\n &:hover {\n background-color: transparent;\n }\n + .MuiSwitch-track {\n /*Enabled and checked bar*/\n background-color: ", ";\n opacity: 1;\n }\n }\n }\n }\n"]);
49
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n display: inline-flex;\n align-items: center;\n flex-direction: ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n cursor: ", ";\n opacity: 1;\n \n .MuiSwitch-root {\n align-items: center;\n width: ", ";\n height: 45px;\n margin: 3px;\n\n .Mui-focusVisible {\n border: ", ";\n padding: 7px;\n }\n\n .MuiSwitch-track {\n /*Enabled and unchecked bar*/\n background-color: ", ";\n height: ", ";\n }\n\n .MuiSwitch-switchBase + .MuiSwitch-track {\n opacity: 1;\n }\n\n .MuiIconButton-root {\n /*Enabled and unchecked*/\n top: unset;\n .MuiSwitch-thumb {\n /*Only for thumb in all states*/\n width: ", ";\n height: ", ";\n }\n color: ", ";\n &:hover {\n background-color: transparent;\n }\n &.Mui-disabled {\n /*Disabled and unchecked*/\n color: ", ";\n + .MuiSwitch-track {\n /*Disabled and unchecked bar*/\n background-color: ", ";\n }\n }\n &.Mui-disabled.Mui-checked {\n /*Disabled and checked*/\n color: ", ";\n + .MuiSwitch-track {\n /*Disabled and checked bar*/\n background-color: ", ";\n }\n }\n &.Mui-checked {\n /*Enabled and checked*/\n color: ", ";\n transform: translateX(", ");\n &:hover {\n background-color: transparent;\n }\n + .MuiSwitch-track {\n /*Enabled and checked bar*/\n background-color: ", ";\n }\n }\n }\n }\n"]);
50
50
 
51
51
  _templateObject = function _templateObject() {
52
52
  return data;
@@ -69,17 +69,17 @@ var DxcSwitch = function DxcSwitch(_ref) {
69
69
  required = _ref$required === void 0 ? false : _ref$required,
70
70
  margin = _ref.margin,
71
71
  _ref$size = _ref.size,
72
- size = _ref$size === void 0 ? "fitContent" : _ref$size;
72
+ size = _ref$size === void 0 ? "fitContent" : _ref$size,
73
+ _ref$tabIndex = _ref.tabIndex,
74
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
73
75
 
74
76
  var _useState = (0, _react.useState)(0),
75
77
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
76
78
  innerChecked = _useState2[0],
77
79
  setInnerChecked = _useState2[1];
78
80
 
79
- var customTheme = (0, _react.useContext)(_ThemeContext["default"]);
80
- var colorsTheme = (0, _react.useMemo)(function () {
81
- return (0, _utils.getCustomTheme)(_variables.theme, (0, _utils.getCustomTheme)(_variables.defaultTheme, customTheme));
82
- }, [customTheme]);
81
+ var colorsTheme = (0, _useTheme["default"])();
82
+ var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
83
83
 
84
84
  var handlerSwitchChange = function handlerSwitchChange(newValue) {
85
85
  if (checked === undefined) {
@@ -102,11 +102,13 @@ var DxcSwitch = function DxcSwitch(_ref) {
102
102
  margin: margin,
103
103
  disabled: disabled,
104
104
  labelPosition: labelPosition,
105
- size: size
105
+ size: size,
106
+ backgroundType: backgroundType
106
107
  }, _react["default"].createElement(_core.Switch, {
107
108
  checked: checked != undefined ? checked : innerChecked,
108
- inputProps: name = {
109
- name: name
109
+ inputProps: {
110
+ name: name,
111
+ tabIndex: tabIndex
110
112
  },
111
113
  onChange: handlerSwitchChange,
112
114
  value: value,
@@ -114,9 +116,9 @@ var DxcSwitch = function DxcSwitch(_ref) {
114
116
  disableRipple: true
115
117
  }), _react["default"].createElement(LabelContainer, {
116
118
  labelPosition: labelPosition,
117
- brightness: _variables.theme,
118
119
  onClick: disabled === true ? function () {} : handlerSwitchChange,
119
- disabled: disabled
120
+ disabled: disabled,
121
+ backgroundType: backgroundType
120
122
  }, required && _react["default"].createElement(_RequiredComponent["default"], null), label)));
121
123
  };
122
124
 
@@ -151,29 +153,51 @@ var SwitchContainer = _styledComponents["default"].div(_templateObject(), functi
151
153
  }, function (props) {
152
154
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
153
155
  }, function (props) {
154
- return props.disabled === true ? "not-allowed" : "default";
156
+ return props.disabled ? "not-allowed" : "default";
157
+ }, function (props) {
158
+ return props.theme.trackWidth;
159
+ }, function (props) {
160
+ return "".concat(props.backgroundType === "dark" ? props.theme.thumbFocusColorOnDark : props.theme.thumbFocusColor, " solid 2px");
161
+ }, function (props) {
162
+ return props.backgroundType === "dark" ? props.theme.uncheckedTrackBackgroundColorOnDark : props.theme.uncheckedTrackBackgroundColor;
163
+ }, function (props) {
164
+ return props.theme.trackHeight;
155
165
  }, function (props) {
156
- return props.disabled ? props.theme.disabledTrackBackgroundColor : "1";
166
+ return props.theme.thumbWidth;
157
167
  }, function (props) {
158
- return props.theme.focusColor + " solid 2px";
168
+ return props.theme.thumbHeight;
159
169
  }, function (props) {
160
- return props.theme.uncheckedTrackBackgroundColor;
170
+ return props.backgroundType === "dark" ? props.theme.uncheckedThumbBackgroundColorOnDark : props.theme.uncheckedThumbBackgroundColor;
161
171
  }, function (props) {
162
- return props.theme.uncheckedThumbBackgroundColor;
172
+ return props.backgroundType === "dark" ? props.theme.disabledUncheckedThumbBackgroundColorOnDark : props.theme.disabledUncheckedThumbBackgroundColor;
163
173
  }, function (props) {
164
- return props.theme.uncheckedTrackBackgroundColor;
174
+ return props.backgroundType === "dark" ? props.theme.disabledUncheckedTrackBackgroundColorOnDark : props.theme.disabledUncheckedTrackBackgroundColor;
165
175
  }, function (props) {
166
- return props.theme.disabledTrackBackgroundColor;
176
+ return props.backgroundType === "dark" ? props.theme.disabledCheckedThumbBackgroundColorOnDark : props.theme.disabledCheckedThumbBackgroundColor;
167
177
  }, function (props) {
168
- return props.theme.checkedThumbBackgroundColor;
178
+ return props.backgroundType === "dark" ? props.theme.disabledCheckedTrackBackgroundColorOnDark : props.theme.disabledCheckedTrackBackgroundColor;
169
179
  }, function (props) {
170
- return props.theme.checkedTrackBackgroundColor;
180
+ return props.backgroundType === "dark" ? props.theme.checkedThumbBackgroundColorOnDark : props.theme.checkedThumbBackgroundColor;
181
+ }, function (props) {
182
+ return props.theme.thumbShift;
183
+ }, function (props) {
184
+ return props.backgroundType === "dark" ? props.theme.checkedTrackBackgroundColorOnDark : props.theme.checkedTrackBackgroundColor;
171
185
  });
172
186
 
173
187
  var LabelContainer = _styledComponents["default"].span(_templateObject2(), function (props) {
174
- return props.theme.fontColor;
188
+ return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledLabelFontColorOnDark : props.theme.disabledLabelFontColor : props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.theme.labelFontColor;
189
+ }, function (props) {
190
+ return props.theme.labelFontFamily;
191
+ }, function (props) {
192
+ return props.theme.labelFontSize;
193
+ }, function (props) {
194
+ return props.disabled ? props.theme.disabledLabelFontStyle : props.theme.labelFontStyle;
195
+ }, function (props) {
196
+ return props.theme.labelFontWeight;
175
197
  }, function (props) {
176
198
  return props.disabled === true ? "not-allowed" : "pointer";
199
+ }, function (props) {
200
+ return props.labelPosition === "after" ? "margin-left: ".concat(props.theme.spaceBetweenLabelSwitch, ";") : "margin-right: ".concat(props.theme.spaceBetweenLabelSwitch, ";");
177
201
  });
178
202
 
179
203
  DxcSwitch.propTypes = {
@@ -191,7 +215,8 @@ DxcSwitch.propTypes = {
191
215
  bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
192
216
  left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
193
217
  right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
194
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
218
+ }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
219
+ tabIndex: _propTypes["default"].number
195
220
  };
196
221
  var _default = DxcSwitch;
197
222
  exports["default"] = _default;
@@ -0,0 +1,24 @@
1
+ type Size = "small" | "medium" | "large" | "fillParent" | "fitContent";
2
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ type Margin = {
4
+ top?: Space;
5
+ bottom?: Space;
6
+ left?: Space;
7
+ right?: Space;
8
+ };
9
+
10
+ type Props = {
11
+ checked?: boolean;
12
+ value?: any;
13
+ label?: string;
14
+ labelPosition?: "before" | "after";
15
+ name?: string,
16
+ disabled?: boolean;
17
+ onChange?: void;
18
+ required?: boolean;
19
+ margin?: Space | Margin;
20
+ size?: Size;
21
+ tabIndex?: number;
22
+ };
23
+
24
+ export default function DxcSwitch(props: Props): JSX.Element;