@dxc-technology/halstack-react 0.0.0-f64ebd5 → 0.0.0-f77ec3a

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 (247) hide show
  1. package/README.md +1 -1
  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 +174 -63
  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 +183 -84
  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 +85 -28
  19. package/dist/button/index.d.ts +24 -0
  20. package/dist/card/Card.js +72 -35
  21. package/dist/card/index.d.ts +22 -0
  22. package/dist/checkbox/Checkbox.js +107 -32
  23. package/dist/checkbox/index.d.ts +24 -0
  24. package/dist/chip/Chip.js +128 -36
  25. package/dist/chip/index.d.ts +22 -0
  26. package/dist/common/RequiredComponent.js +2 -8
  27. package/dist/common/utils.js +2 -22
  28. package/dist/common/variables.js +1451 -277
  29. package/dist/date/Date.js +81 -59
  30. package/dist/date/index.d.ts +27 -0
  31. package/dist/date-input/DateInput.js +400 -0
  32. package/dist/date-input/index.d.ts +95 -0
  33. package/dist/dialog/Dialog.js +58 -37
  34. package/dist/dialog/index.d.ts +18 -0
  35. package/dist/dropdown/Dropdown.js +205 -85
  36. package/dist/dropdown/index.d.ts +26 -0
  37. package/dist/file-input/FileInput.js +644 -0
  38. package/dist/file-input/FileItem.js +287 -0
  39. package/dist/file-input/index.d.ts +81 -0
  40. package/dist/footer/Footer.js +121 -46
  41. package/dist/footer/Icons.js +77 -0
  42. package/dist/footer/index.d.ts +25 -0
  43. package/dist/header/Header.js +200 -102
  44. package/dist/header/Icons.js +59 -0
  45. package/dist/header/index.d.ts +25 -0
  46. package/dist/heading/Heading.js +93 -16
  47. package/dist/heading/index.d.ts +17 -0
  48. package/dist/input-text/Icons.js +22 -0
  49. package/dist/input-text/InputText.js +289 -103
  50. package/dist/input-text/index.d.ts +36 -0
  51. package/dist/layout/ApplicationLayout.js +327 -0
  52. package/dist/layout/Icons.js +55 -0
  53. package/dist/link/Link.js +136 -35
  54. package/dist/link/index.d.ts +23 -0
  55. package/dist/main.d.ts +40 -0
  56. package/dist/main.js +112 -16
  57. package/dist/number-input/NumberInput.js +136 -0
  58. package/dist/number-input/NumberInputContext.js +16 -0
  59. package/dist/number-input/index.d.ts +113 -0
  60. package/dist/paginator/Icons.js +66 -0
  61. package/dist/paginator/Paginator.js +172 -63
  62. package/dist/paginator/index.d.ts +20 -0
  63. package/dist/password-input/PasswordInput.js +203 -0
  64. package/dist/password-input/index.d.ts +94 -0
  65. package/dist/progress-bar/ProgressBar.js +95 -38
  66. package/dist/progress-bar/index.d.ts +18 -0
  67. package/dist/radio/Radio.js +39 -17
  68. package/dist/radio/index.d.ts +23 -0
  69. package/dist/resultsetTable/ResultsetTable.js +93 -68
  70. package/dist/resultsetTable/index.d.ts +19 -0
  71. package/dist/select/Select.js +916 -265
  72. package/dist/select/index.d.ts +53 -0
  73. package/dist/sidenav/Sidenav.js +84 -141
  74. package/dist/sidenav/index.d.ts +13 -0
  75. package/dist/slider/Slider.js +219 -73
  76. package/dist/slider/index.d.ts +29 -0
  77. package/dist/spinner/Spinner.js +247 -59
  78. package/dist/spinner/index.d.ts +17 -0
  79. package/dist/stories/Button.js +71 -0
  80. package/dist/stories/Button.stories.js +55 -0
  81. package/dist/stories/Header.js +67 -0
  82. package/dist/stories/Header.stories.js +31 -0
  83. package/dist/stories/Introduction.stories.mdx +211 -0
  84. package/dist/stories/Page.js +68 -0
  85. package/dist/stories/Page.stories.js +39 -0
  86. package/dist/stories/assets/code-brackets.svg +1 -0
  87. package/dist/stories/assets/colors.svg +1 -0
  88. package/dist/stories/assets/comments.svg +1 -0
  89. package/dist/stories/assets/direction.svg +1 -0
  90. package/dist/stories/assets/flow.svg +1 -0
  91. package/dist/stories/assets/plugin.svg +1 -0
  92. package/dist/stories/assets/repo.svg +1 -0
  93. package/dist/stories/assets/stackalt.svg +1 -0
  94. package/dist/stories/button.css +30 -0
  95. package/dist/stories/header.css +26 -0
  96. package/dist/stories/page.css +69 -0
  97. package/dist/switch/Switch.js +50 -27
  98. package/dist/switch/index.d.ts +24 -0
  99. package/dist/table/Table.js +58 -13
  100. package/dist/table/index.d.ts +13 -0
  101. package/dist/tabs/Tabs.js +207 -36
  102. package/dist/tabs/index.d.ts +19 -0
  103. package/dist/tag/Tag.js +100 -35
  104. package/dist/tag/index.d.ts +24 -0
  105. package/dist/text-input/TextInput.js +974 -0
  106. package/dist/text-input/index.d.ts +135 -0
  107. package/dist/textarea/Textarea.js +248 -106
  108. package/dist/textarea/index.d.ts +117 -0
  109. package/dist/toggle/Toggle.js +16 -19
  110. package/dist/toggle/index.d.ts +21 -0
  111. package/dist/toggle-group/ToggleGroup.js +327 -0
  112. package/dist/toggle-group/index.d.ts +21 -0
  113. package/dist/upload/Upload.js +13 -8
  114. package/dist/upload/buttons-upload/ButtonsUpload.js +32 -19
  115. package/dist/upload/buttons-upload/Icons.js +40 -0
  116. package/dist/upload/dragAndDropArea/DragAndDropArea.js +84 -34
  117. package/dist/upload/dragAndDropArea/Icons.js +39 -0
  118. package/dist/upload/file-upload/FileToUpload.js +64 -33
  119. package/dist/upload/file-upload/Icons.js +66 -0
  120. package/dist/upload/files-upload/FilesToUpload.js +16 -16
  121. package/dist/upload/index.d.ts +15 -0
  122. package/dist/upload/transaction/Icons.js +160 -0
  123. package/dist/upload/transaction/Transaction.js +42 -49
  124. package/dist/upload/transactions/Transactions.js +38 -20
  125. package/dist/useTheme.js +22 -0
  126. package/dist/wizard/Icons.js +65 -0
  127. package/dist/wizard/Wizard.js +138 -60
  128. package/dist/wizard/index.d.ts +18 -0
  129. package/package.json +26 -14
  130. package/test/AccordionGroup.test.js +125 -0
  131. package/test/Date.test.js +15 -13
  132. package/test/DateInput.test.js +242 -0
  133. package/test/Dropdown.test.js +15 -0
  134. package/test/FileInput.test.js +201 -0
  135. package/test/Footer.test.js +2 -7
  136. package/test/Header.test.js +5 -10
  137. package/test/Heading.test.js +60 -12
  138. package/test/InputText.test.js +31 -28
  139. package/test/Link.test.js +25 -7
  140. package/test/NumberInput.test.js +259 -0
  141. package/test/Paginator.test.js +76 -60
  142. package/test/PasswordInput.test.js +83 -0
  143. package/test/ResultsetTable.test.js +65 -17
  144. package/test/Select.test.js +371 -147
  145. package/test/Sidenav.test.js +22 -64
  146. package/test/Slider.test.js +24 -15
  147. package/test/Spinner.test.js +5 -0
  148. package/test/Tabs.test.js +21 -0
  149. package/test/TextInput.test.js +732 -0
  150. package/test/Textarea.test.js +193 -0
  151. package/test/ToggleGroup.test.js +85 -0
  152. package/test/Upload.test.js +1 -1
  153. package/test/V3Select.test.js +212 -0
  154. package/test/{TextArea.test.js → V3TextArea.test.js} +6 -7
  155. package/dist/accordion/Accordion.stories.js +0 -207
  156. package/dist/accordion/readme.md +0 -96
  157. package/dist/alert/Alert.stories.js +0 -158
  158. package/dist/alert/close.svg +0 -4
  159. package/dist/alert/error.svg +0 -4
  160. package/dist/alert/info.svg +0 -4
  161. package/dist/alert/readme.md +0 -43
  162. package/dist/alert/success.svg +0 -4
  163. package/dist/alert/warning.svg +0 -4
  164. package/dist/button/Button.stories.js +0 -224
  165. package/dist/button/readme.md +0 -93
  166. package/dist/checkbox/Checkbox.stories.js +0 -144
  167. package/dist/checkbox/readme.md +0 -116
  168. package/dist/common/services/example-service.js +0 -10
  169. package/dist/common/services/example-service.test.js +0 -12
  170. package/dist/date/Date.stories.js +0 -205
  171. package/dist/date/calendar.svg +0 -1
  172. package/dist/date/calendar_dark.svg +0 -1
  173. package/dist/date/readme.md +0 -73
  174. package/dist/dialog/Dialog.stories.js +0 -217
  175. package/dist/dialog/readme.md +0 -32
  176. package/dist/dropdown/Dropdown.stories.js +0 -249
  177. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  178. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  179. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  180. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  181. package/dist/dropdown/readme.md +0 -69
  182. package/dist/footer/Footer.stories.js +0 -94
  183. package/dist/footer/dxc_logo_wht.png +0 -0
  184. package/dist/footer/readme.md +0 -41
  185. package/dist/header/Header.stories.js +0 -176
  186. package/dist/header/close_icon.svg +0 -1
  187. package/dist/header/dxc_logo_black.png +0 -0
  188. package/dist/header/dxc_logo_white.png +0 -0
  189. package/dist/header/hamb_menu_black.svg +0 -1
  190. package/dist/header/hamb_menu_white.svg +0 -1
  191. package/dist/header/readme.md +0 -33
  192. package/dist/input-text/InputText.stories.js +0 -209
  193. package/dist/input-text/error.svg +0 -1
  194. package/dist/input-text/readme.md +0 -91
  195. package/dist/link/readme.md +0 -51
  196. package/dist/paginator/images/next.svg +0 -3
  197. package/dist/paginator/images/nextPage.svg +0 -3
  198. package/dist/paginator/images/previous.svg +0 -3
  199. package/dist/paginator/images/previousPage.svg +0 -3
  200. package/dist/paginator/readme.md +0 -50
  201. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  202. package/dist/progress-bar/readme.md +0 -63
  203. package/dist/radio/Radio.stories.js +0 -166
  204. package/dist/radio/readme.md +0 -70
  205. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  206. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  207. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  208. package/dist/select/Select.stories.js +0 -235
  209. package/dist/select/readme.md +0 -72
  210. package/dist/sidenav/arrow_icon.svg +0 -3
  211. package/dist/slider/Slider.stories.js +0 -241
  212. package/dist/slider/readme.md +0 -64
  213. package/dist/spinner/Spinner.stories.js +0 -183
  214. package/dist/spinner/readme.md +0 -65
  215. package/dist/switch/Switch.stories.js +0 -134
  216. package/dist/switch/readme.md +0 -133
  217. package/dist/tabs/Tabs.stories.js +0 -130
  218. package/dist/tabs/readme.md +0 -78
  219. package/dist/tabs-for-sections/TabsForSections.js +0 -107
  220. package/dist/tabs-for-sections/readme.md +0 -78
  221. package/dist/toggle/Toggle.stories.js +0 -297
  222. package/dist/toggle/readme.md +0 -80
  223. package/dist/upload/Upload.stories.js +0 -72
  224. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  225. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  226. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  227. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  228. package/dist/upload/file-upload/audio-icon.svg +0 -4
  229. package/dist/upload/file-upload/close.svg +0 -4
  230. package/dist/upload/file-upload/file-icon.svg +0 -4
  231. package/dist/upload/file-upload/video-icon.svg +0 -4
  232. package/dist/upload/readme.md +0 -37
  233. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  234. package/dist/upload/transaction/audio-icon.svg +0 -4
  235. package/dist/upload/transaction/error-icon.svg +0 -4
  236. package/dist/upload/transaction/file-icon-err.svg +0 -4
  237. package/dist/upload/transaction/file-icon.svg +0 -4
  238. package/dist/upload/transaction/image-icon-err.svg +0 -4
  239. package/dist/upload/transaction/image-icon.svg +0 -4
  240. package/dist/upload/transaction/success-icon.svg +0 -4
  241. package/dist/upload/transaction/video-icon-err.svg +0 -4
  242. package/dist/upload/transaction/video-icon.svg +0 -4
  243. package/dist/wizard/invalid_icon.svg +0 -6
  244. package/dist/wizard/valid_icon.svg +0 -6
  245. package/dist/wizard/validation-wrong.svg +0 -6
  246. package/test/TabsForSections.test.js +0 -34
  247. package/test/Toggle.test.js +0 -43
@@ -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 opacity: ", ";\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,31 +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.disabled : "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.disabled;
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";
177
199
  }, function (props) {
178
- return props.disabled === true ? props.theme.disabled : "";
200
+ return props.labelPosition === "after" ? "margin-left: ".concat(props.theme.spaceBetweenLabelSwitch, ";") : "margin-right: ".concat(props.theme.spaceBetweenLabelSwitch, ";");
179
201
  });
180
202
 
181
203
  DxcSwitch.propTypes = {
@@ -193,7 +215,8 @@ DxcSwitch.propTypes = {
193
215
  bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
194
216
  left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
195
217
  right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
196
- }), _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
197
220
  };
198
221
  var _default = DxcSwitch;
199
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;
@@ -13,7 +13,7 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
13
 
14
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
15
 
16
- var _react = _interopRequireWildcard(require("react"));
16
+ var _react = _interopRequireDefault(require("react"));
17
17
 
18
18
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
19
19
 
@@ -21,10 +21,12 @@ var _variables = require("../common/variables.js");
21
21
 
22
22
  var _utils = require("../common/utils.js");
23
23
 
24
- var _ThemeContext = _interopRequireDefault(require("../ThemeContext.js"));
24
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
25
+
26
+ var _BackgroundColorContext = require("../BackgroundColorContext.js");
25
27
 
26
28
  function _templateObject2() {
27
- var data = (0, _taggedTemplateLiteral2["default"])(["\n border-collapse: collapse;\n width: 100%;\n\n & tr {\n border-bottom: 1px solid ", ";\n }\n\n & td {\n color: ", ";\n min-height: 48px;\n }\n\n & th {\n padding: 16px 20px 16px 40px;\n min-height: 60px;\n }\n\n & td {\n padding: 14px 20px 12px 40px;\n }\n\n & th {\n text-align: left;\n font-size: 14px;\n font-weight: 500;\n background-color: ", ";\n color: ", ";\n }\n\n & th:first-child {\n border-top-left-radius: 4px;\n }\n\n & th:last-child {\n border-top-right-radius: 4px;\n }\n"]);
29
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n border-collapse: collapse;\n width: 100%;\n\n & tr {\n border-bottom: ", ";\n }\n & td {\n background-color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n text-transform: ", ";\n text-align: ", ";\n line-height: ", ";\n padding: ", ";\n }\n & th {\n background-color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n text-transform: ", ";\n text-align: ", ";\n line-height: ", ";\n padding: ", ";\n }\n & th:first-child {\n border-top-left-radius: ", ";\n }\n & th:last-child {\n border-top-right-radius: ", ";\n }\n"]);
28
30
 
29
31
  _templateObject2 = function _templateObject2() {
30
32
  return data;
@@ -34,7 +36,7 @@ function _templateObject2() {
34
36
  }
35
37
 
36
38
  function _templateObject() {
37
- var data = (0, _taggedTemplateLiteral2["default"])(["\n overflow-x: auto;\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n &::-webkit-scrollbar {\n height: 6px;\n }\n\n &::-webkit-scrollbar-thumb {\n background-color: ", ";\n border-radius: 6px;\n }\n\n &::-webkit-scrollbar-track {\n background-color: ", ";\n border-radius: 6px;\n }\n"]);
39
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n overflow: hidden auto;\n &::-webkit-scrollbar {\n width: 8px;\n }\n &::-webkit-scrollbar-thumb {\n background-color: ", ";\n border-radius: 6px;\n }\n &::-webkit-scrollbar-track {\n background-color: ", ";\n border-radius: 6px;\n }\n"]);
38
40
 
39
41
  _templateObject = function _templateObject() {
40
42
  return data;
@@ -46,18 +48,23 @@ function _templateObject() {
46
48
  var DxcTable = function DxcTable(_ref) {
47
49
  var children = _ref.children,
48
50
  margin = _ref.margin;
49
- var customTheme = (0, _react.useContext)(_ThemeContext["default"]);
50
- var colorsTheme = (0, _react.useMemo)(function () {
51
- return (0, _utils.getCustomTheme)(_variables.theme, (0, _utils.getCustomTheme)(_variables.defaultTheme, customTheme));
52
- }, [customTheme]);
51
+ var colorsTheme = (0, _useTheme["default"])();
53
52
  return _react["default"].createElement(_styledComponents.ThemeProvider, {
54
53
  theme: colorsTheme.table
55
54
  }, _react["default"].createElement(DxcTableContainer, {
56
55
  margin: margin
57
- }, _react["default"].createElement(DxcTableContent, null, children)));
56
+ }, _react["default"].createElement(DxcTableContent, null, _react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
57
+ color: colorsTheme.table.dataBackgroundColor
58
+ }, children))));
59
+ };
60
+
61
+ var calculateWidth = function calculateWidth(margin) {
62
+ return "calc(100% - ".concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
58
63
  };
59
64
 
60
65
  var DxcTableContainer = _styledComponents["default"].div(_templateObject(), function (props) {
66
+ return calculateWidth(props.margin);
67
+ }, function (props) {
61
68
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
62
69
  }, function (props) {
63
70
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
@@ -68,19 +75,57 @@ var DxcTableContainer = _styledComponents["default"].div(_templateObject(), func
68
75
  }, function (props) {
69
76
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
70
77
  }, function (props) {
71
- return props.theme.darkGrey;
78
+ return props.theme.scrollBarThumbColor;
72
79
  }, function (props) {
73
- return props.theme.lightGrey;
80
+ return props.theme.scrollBarTrackColor;
74
81
  });
75
82
 
76
83
  var DxcTableContent = _styledComponents["default"].table(_templateObject2(), function (props) {
77
- return props.theme.separatorColor;
84
+ return "".concat(props.theme.rowSeparatorThickness, " ").concat(props.theme.rowSeparatorStyle, " ").concat(props.theme.rowSeparatorColor);
85
+ }, function (props) {
86
+ return props.theme.dataBackgroundColor;
87
+ }, function (props) {
88
+ return props.theme.dataFontFamily;
89
+ }, function (props) {
90
+ return props.theme.dataFontSize;
91
+ }, function (props) {
92
+ return props.theme.dataFontStyle;
93
+ }, function (props) {
94
+ return props.theme.dataFontWeight;
95
+ }, function (props) {
96
+ return props.theme.dataFontColor;
97
+ }, function (props) {
98
+ return props.theme.dataFontTextTransform;
99
+ }, function (props) {
100
+ return props.theme.dataTextAlign;
78
101
  }, function (props) {
79
- return props.theme.bodyFontColor;
102
+ return props.theme.dataTextLineHeight;
103
+ }, function (props) {
104
+ return "".concat(props.theme.dataPaddingTop, " ").concat(props.theme.dataPaddingRight, " ").concat(props.theme.dataPaddingBottom, " ").concat(props.theme.dataPaddingLeft);
80
105
  }, function (props) {
81
106
  return props.theme.headerBackgroundColor;
107
+ }, function (props) {
108
+ return props.theme.headerFontFamily;
109
+ }, function (props) {
110
+ return props.theme.headerFontSize;
111
+ }, function (props) {
112
+ return props.theme.headerFontStyle;
113
+ }, function (props) {
114
+ return props.theme.headerFontWeight;
82
115
  }, function (props) {
83
116
  return props.theme.headerFontColor;
117
+ }, function (props) {
118
+ return props.theme.headerFontTextTransform;
119
+ }, function (props) {
120
+ return props.theme.headerTextAlign;
121
+ }, function (props) {
122
+ return props.theme.headerTextLineHeight;
123
+ }, function (props) {
124
+ return "".concat(props.theme.headerPaddingTop, " ").concat(props.theme.headerPaddingRight, " ").concat(props.theme.headerPaddingBottom, " ").concat(props.theme.headerPaddingLeft);
125
+ }, function (props) {
126
+ return props.theme.headerBorderRadius;
127
+ }, function (props) {
128
+ return props.theme.headerBorderRadius;
84
129
  });
85
130
 
86
131
  var _default = DxcTable;
@@ -0,0 +1,13 @@
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
+ margin?: Space | Margin;
11
+ };
12
+
13
+ export default function DxcTable(props: Props): JSX.Element;