@dxc-technology/halstack-react 6.2.1 → 7.0.0

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 (40) hide show
  1. package/accordion/types.d.ts +1 -0
  2. package/accordion-group/types.d.ts +1 -0
  3. package/box/types.d.ts +1 -0
  4. package/card/types.d.ts +1 -0
  5. package/common/variables.js +5 -5
  6. package/dialog/Dialog.js +4 -4
  7. package/dialog/Dialog.stories.tsx +56 -0
  8. package/dialog/types.d.ts +1 -0
  9. package/dropdown/Dropdown.js +3 -2
  10. package/dropdown/Dropdown.test.js +1 -2
  11. package/file-input/FileInput.js +13 -5
  12. package/file-input/FileInput.test.js +41 -0
  13. package/flex/Flex.d.ts +1 -1
  14. package/flex/Flex.js +31 -19
  15. package/flex/types.d.ts +14 -3
  16. package/footer/types.d.ts +1 -0
  17. package/header/types.d.ts +1 -0
  18. package/number-input/NumberInput.test.js +38 -1
  19. package/package.json +1 -1
  20. package/paginator/Paginator.js +2 -2
  21. package/paginator/Paginator.test.js +1 -1
  22. package/password-input/PasswordInput.test.js +13 -12
  23. package/quick-nav/QuickNav.js +11 -12
  24. package/quick-nav/QuickNav.stories.tsx +97 -19
  25. package/radio-group/Radio.d.ts +1 -1
  26. package/radio-group/Radio.js +43 -28
  27. package/radio-group/RadioGroup.js +15 -13
  28. package/radio-group/RadioGroup.stories.tsx +1 -0
  29. package/radio-group/RadioGroup.test.js +123 -96
  30. package/radio-group/types.d.ts +2 -2
  31. package/resultsetTable/ResultsetTable.js +1 -3
  32. package/select/Select.js +3 -1
  33. package/select/Select.test.js +267 -209
  34. package/slider/Slider.js +8 -5
  35. package/switch/Switch.js +90 -80
  36. package/switch/Switch.test.js +26 -13
  37. package/table/Table.js +1 -1
  38. package/text-input/TextInput.js +165 -151
  39. package/text-input/TextInput.test.js +140 -82
  40. package/text-input/types.d.ts +5 -0
package/slider/Slider.js CHANGED
@@ -100,8 +100,9 @@ var DxcSlider = function DxcSlider(_ref) {
100
100
  while (index <= numberOfMarks) {
101
101
  ticks.push( /*#__PURE__*/_react["default"].createElement(TickMark, {
102
102
  disabled: disabled,
103
- stepPosition: step * index / range * 100,
104
- backgroundType: backgroundType
103
+ stepPosition: step * index / range,
104
+ backgroundType: backgroundType,
105
+ stepValue: (value !== null && value !== void 0 ? value : innerValue) / maxValue
105
106
  }));
106
107
  index++;
107
108
  }
@@ -110,7 +111,7 @@ var DxcSlider = function DxcSlider(_ref) {
110
111
  } else {
111
112
  return null;
112
113
  }
113
- }, [minValue, maxValue, step]);
114
+ }, [minValue, maxValue, step, value, innerValue]);
114
115
 
115
116
  var handleSliderChange = function handleSliderChange(event) {
116
117
  var valueToCheck = event.target.value;
@@ -321,14 +322,16 @@ var MarksContainer = _styledComponents["default"].div(_templateObject10 || (_tem
321
322
  return props.isFirefox ? getFireFoxStyles() : getChromeStyles();
322
323
  });
323
324
 
324
- var TickMark = _styledComponents["default"].span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n background: ", ";\n height: ", ";\n width: ", ";\n border-radius: 18px;\n left: ", ";\n"])), function (props) {
325
+ var TickMark = _styledComponents["default"].span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n background: ", ";\n height: ", ";\n width: ", ";\n border-radius: 18px;\n left: ", ";\n ", ";\n"])), function (props) {
325
326
  return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledTickBackgroundColorOnDark : props.theme.disabledTickBackgroundColor : props.backgroundType === "dark" ? props.theme.tickBackgroundColorOnDark : props.theme.tickBackgroundColor;
326
327
  }, function (props) {
327
328
  return props.theme.tickHeight;
328
329
  }, function (props) {
329
330
  return props.theme.tickWidth;
330
331
  }, function (props) {
331
- return "".concat(props.stepPosition, "%");
332
+ return "calc(".concat(props.stepPosition, " * 100%)");
333
+ }, function (props) {
334
+ return !props.disabled ? "z-index: ".concat(props.stepPosition <= props.stepValue ? "0" : "1") : "";
332
335
  });
333
336
 
334
337
  var StyledTextInput = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: ", ";\n max-width: 70px;\n"])), function (props) {
package/switch/Switch.js CHANGED
@@ -31,15 +31,13 @@ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabel
31
31
 
32
32
  var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
33
33
 
34
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
34
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
35
35
 
36
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
37
 
38
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
39
 
40
40
  var DxcSwitch = function DxcSwitch(_ref) {
41
- var _ref2;
42
-
43
41
  var defaultChecked = _ref.defaultChecked,
44
42
  checked = _ref.checked,
45
43
  value = _ref.value,
@@ -71,10 +69,6 @@ var DxcSwitch = function DxcSwitch(_ref) {
71
69
  innerChecked = _useState4[0],
72
70
  setInnerChecked = _useState4[1];
73
71
 
74
- var _useState5 = (0, _react.useState)((_ref2 = label !== "" && label !== null && label !== undefined) !== null && _ref2 !== void 0 ? _ref2 : false),
75
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 1),
76
- hasLabel = _useState6[0];
77
-
78
72
  var colorsTheme = (0, _useTheme["default"])();
79
73
  var translatedLabels = (0, _useTranslatedLabels["default"])();
80
74
  var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
@@ -89,30 +83,16 @@ var DxcSwitch = function DxcSwitch(_ref) {
89
83
  refTrack.current.focus();
90
84
  var isChecked = !(checked !== null && checked !== void 0 ? checked : innerChecked);
91
85
  setInnerChecked(isChecked);
92
-
93
- if (typeof onChange === "function") {
94
- onChange(isChecked);
95
- }
96
-
86
+ onChange === null || onChange === void 0 ? void 0 : onChange(isChecked);
97
87
  break;
98
88
  }
99
89
  };
100
90
 
101
91
  var handlerSwitchChange = function handlerSwitchChange(event) {
102
- if (checked === undefined) {
103
- var _event$target$checked;
104
-
105
- var isChecked = (_event$target$checked = event.target.checked) !== null && _event$target$checked !== void 0 ? _event$target$checked : !innerChecked;
106
- setInnerChecked(isChecked);
107
-
108
- if (typeof onChange === "function") {
109
- onChange(isChecked);
110
- }
111
- } else {
112
- if (typeof onChange === "function") {
113
- onChange(!checked);
114
- }
115
- }
92
+ checked !== null && checked !== void 0 ? checked : setInnerChecked(function (innerChecked) {
93
+ return !innerChecked;
94
+ });
95
+ onChange === null || onChange === void 0 ? void 0 : onChange(checked ? !checked : !innerChecked);
116
96
  };
117
97
 
118
98
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
@@ -120,47 +100,38 @@ var DxcSwitch = function DxcSwitch(_ref) {
120
100
  }, /*#__PURE__*/_react["default"].createElement(SwitchContainer, {
121
101
  margin: margin,
122
102
  size: size,
123
- onKeyDown: handleOnKeyDown
124
- }, labelPosition === "before" && hasLabel && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
103
+ onKeyDown: handleOnKeyDown,
104
+ disabled: disabled,
105
+ onClick: !disabled ? handlerSwitchChange : undefined
106
+ }, labelPosition === "before" && label && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
125
107
  id: labelId,
126
108
  labelPosition: labelPosition,
127
- onClick: !disabled ? handlerSwitchChange : undefined,
128
109
  disabled: disabled,
129
110
  backgroundType: backgroundType,
130
- hasLabel: hasLabel
131
- }, label, " ", optional && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, translatedLabels.formFields.optionalLabel)), /*#__PURE__*/_react["default"].createElement(SwitchBase, {
132
- labelPosition: labelPosition,
133
- hasLabel: hasLabel,
134
- htmlFor: labelId,
135
- onClick: disabled === true ? function () {} : handlerSwitchChange
136
- }, /*#__PURE__*/_react["default"].createElement(SwitchInput, {
111
+ label: label
112
+ }, label, " ", optional && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, translatedLabels.formFields.optionalLabel)), /*#__PURE__*/_react["default"].createElement(ValueInput, {
137
113
  type: "checkbox",
138
- role: "switch",
139
114
  name: name,
140
- id: labelId,
141
- disabled: disabled,
115
+ "aria-hidden": true,
142
116
  value: value,
143
- "aria-labelledby": labelId,
144
- "aria-label": hasLabel ? label : undefined,
145
- "aria-checked": checked !== null && checked !== void 0 ? checked : innerChecked,
146
- defaultChecked: defaultChecked !== null && defaultChecked !== void 0 ? defaultChecked : undefined,
147
- tabIndex: -1
148
- }), disabled ? /*#__PURE__*/_react["default"].createElement(DisabledSwitchTrack, {
149
- backgroundType: backgroundType,
150
- "data-checked": checked !== null && checked !== void 0 ? checked : innerChecked ? innerChecked : undefined,
151
- tabIndex: -1
152
- }) : /*#__PURE__*/_react["default"].createElement(SwitchTrack, {
117
+ disabled: disabled,
118
+ checked: checked !== null && checked !== void 0 ? checked : innerChecked,
119
+ readOnly: true
120
+ }), /*#__PURE__*/_react["default"].createElement(SwitchBase, null, /*#__PURE__*/_react["default"].createElement(SwitchTrack, {
121
+ role: "switch",
153
122
  backgroundType: backgroundType,
154
- "data-checked": checked !== null && checked !== void 0 ? checked : innerChecked ? innerChecked : undefined,
155
- tabIndex: tabIndex,
123
+ "aria-checked": checked !== null && checked !== void 0 ? checked : innerChecked,
124
+ "aria-disabled": disabled,
125
+ disabled: disabled,
126
+ "aria-labelledby": labelId,
127
+ tabIndex: !disabled ? tabIndex : -1,
156
128
  ref: refTrack
157
- })), labelPosition === "after" && hasLabel && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
129
+ })), labelPosition === "after" && label && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
158
130
  id: labelId,
159
131
  labelPosition: labelPosition,
160
- onClick: !disabled ? handlerSwitchChange : undefined,
161
132
  disabled: disabled,
162
133
  backgroundType: backgroundType,
163
- hasLabel: hasLabel
134
+ label: label
164
135
  }, optional && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, translatedLabels.formFields.optionalLabel), " ", label)));
165
136
  };
166
137
 
@@ -176,8 +147,60 @@ var calculateWidth = function calculateWidth(margin, size) {
176
147
  return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
177
148
  };
178
149
 
179
- var SwitchContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: center;\n width: ", ";\n height: 40px;\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
150
+ var getDisabledColor = function getDisabledColor(props, element, subelement) {
151
+ switch (element) {
152
+ case "track":
153
+ switch (subelement) {
154
+ case "check":
155
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledCheckedTrackBackgroundColorOnDark : props.theme.disabledCheckedTrackBackgroundColor;
156
+
157
+ case "uncheck":
158
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledUncheckedTrackBackgroundColorOnDark : props.theme.disabledUncheckedTrackBackgroundColor;
159
+ }
160
+
161
+ case "thumb":
162
+ switch (subelement) {
163
+ case "check":
164
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledCheckedThumbBackgroundColorOnDark : props.theme.disabledCheckedThumbBackgroundColor;
165
+
166
+ case "uncheck":
167
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledUncheckedThumbBackgroundColorOnDark : props.theme.disabledUncheckedThumbBackgroundColor;
168
+ }
169
+
170
+ case "label":
171
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledLabelFontColorOnDark : props.theme.disabledLabelFontColor;
172
+ }
173
+ };
174
+
175
+ var getNotDisabledColor = function getNotDisabledColor(props, element, subelement) {
176
+ switch (element) {
177
+ case "track":
178
+ switch (subelement) {
179
+ case "check":
180
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.checkedTrackBackgroundColorOnDark : props.theme.checkedTrackBackgroundColor;
181
+
182
+ case "uncheck":
183
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.uncheckedTrackBackgroundColorOnDark : props.theme.uncheckedTrackBackgroundColor;
184
+ }
185
+
186
+ case "thumb":
187
+ switch (subelement) {
188
+ case "check":
189
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.checkedThumbBackgroundColorOnDark : props.theme.checkedThumbBackgroundColor;
190
+
191
+ case "uncheck":
192
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.uncheckedThumbBackgroundColorOnDark : props.theme.uncheckedThumbBackgroundColor;
193
+ }
194
+
195
+ case "label":
196
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.theme.labelFontColor;
197
+ }
198
+ };
199
+
200
+ var SwitchContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: center;\n width: ", ";\n height: 40px;\n cursor: ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
180
201
  return calculateWidth(props.margin, props.size);
202
+ }, function (props) {
203
+ return props.disabled === true ? "not-allowed" : "pointer";
181
204
  }, function (props) {
182
205
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
183
206
  }, function (props) {
@@ -190,8 +213,8 @@ var SwitchContainer = _styledComponents["default"].div(_templateObject || (_temp
190
213
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
191
214
  });
192
215
 
193
- var LabelContainer = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: ", ";\n opacity: 1;\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n cursor: ", ";\n\n ", ";\n\n ", "\n"])), function (props) {
194
- return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledLabelFontColorOnDark : props.theme.disabledLabelFontColor : props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.theme.labelFontColor;
216
+ var LabelContainer = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: ", ";\n opacity: 1;\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n\n ", ";\n\n ", "\n"])), function (props) {
217
+ return props.disabled ? getDisabledColor(props, "label") : getNotDisabledColor(props, "label");
195
218
  }, function (props) {
196
219
  return props.theme.labelFontFamily;
197
220
  }, function (props) {
@@ -201,23 +224,21 @@ var LabelContainer = _styledComponents["default"].span(_templateObject2 || (_tem
201
224
  }, function (props) {
202
225
  return props.theme.labelFontWeight;
203
226
  }, function (props) {
204
- return props.disabled === true ? "not-allowed" : "pointer";
205
- }, function (props) {
206
- return !props.hasLabel ? "margin: 0px;" : props.labelPosition === "after" ? "margin-left: ".concat(props.theme.spaceBetweenLabelSwitch, ";") : "margin-right: ".concat(props.theme.spaceBetweenLabelSwitch, ";");
227
+ return !props.label ? "margin: 0px;" : props.labelPosition === "after" ? "margin-left: ".concat(props.theme.spaceBetweenLabelSwitch, ";") : "margin-right: ".concat(props.theme.spaceBetweenLabelSwitch, ";");
207
228
  }, function (props) {
208
229
  return props.labelPosition === "before" && "order: -1";
209
230
  });
210
231
 
211
- var SwitchBase = _styledComponents["default"].label(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n cursor: pointer;\n margin: ", ";\n"])), function (props) {
212
- return !props.hasLabel ? "0px 4px" : props.labelPosition === "before" ? "0 4px 0 12px" : "0 12px 0 4px";
213
- });
232
+ var SwitchBase = _styledComponents["default"].label(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n cursor: pointer;\n margin: 0px 12px;\n"])));
214
233
 
215
- var SwitchInput = _styledComponents["default"].input(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n opacity: 0;\n width: 0;\n height: 0;\n margin: 0px;\n"])));
234
+ var ValueInput = _styledComponents["default"].input(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
216
235
 
217
- var SwitchTrack = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n border-radius: 15px;\n width: ", ";\n height: ", ";\n position: relative;\n transition: transform 0.2s ease;\n\n &:focus-visible {\n outline: none;\n ::before {\n outline: ", ";\n outline-offset: 6px;\n }\n }\n\n /* Thumb element */\n ::before {\n content: \"\";\n transform: initial;\n transition: transform 0.2s ease;\n position: absolute;\n width: ", ";\n height: ", ";\n border-radius: 50%;\n z-index: 1;\n box-shadow: 0px 2px 1px -1px rgb(0 0 0 / 20%), 0px 1px 1px 0px rgb(0 0 0 / 14%), 0px 1px 3px 0px rgb(0 0 0 / 12%);\n bottom: -6px;\n left: -4px;\n transform: translateX(0px);\n background-color: ", ";\n }\n\n /* Unchecked */\n background-color: ", ";\n\n /* Checked */\n &[data-checked=\"true\"] {\n background-color: ", ";\n ::before {\n transform: translateX(", ");\n background-color: ", ";\n }\n }\n"])), function (props) {
236
+ var SwitchTrack = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n border-radius: 15px;\n width: ", ";\n height: ", ";\n position: relative;\n cursor: ", ";\n\n &:focus-visible {\n outline: none;\n ::before {\n outline: ", ";\n outline-offset: 6px;\n }\n }\n\n /* Thumb element */\n ::before {\n content: \"\";\n transform: initial;\n position: absolute;\n width: ", ";\n height: ", ";\n border-radius: 50%;\n z-index: 1;\n box-shadow: 0px 2px 1px -1px rgb(0 0 0 / 20%), 0px 1px 1px 0px rgb(0 0 0 / 14%), 0px 1px 3px 0px rgb(0 0 0 / 12%);\n bottom: -6px;\n left: -4px;\n transform: translateX(0px);\n background-color: ", ";\n }\n\n /* Unchecked */\n background-color: ", ";\n\n /* Checked */\n &[aria-checked=\"true\"] {\n background-color: ", ";\n ::before {\n transform: translateX(", ");\n background-color: ", ";\n }\n }\n"])), function (props) {
218
237
  return props.theme.trackWidth;
219
238
  }, function (props) {
220
239
  return props.theme.trackHeight;
240
+ }, function (props) {
241
+ return props.disabled ? "not-allowed" : "pointer";
221
242
  }, function (props) {
222
243
  return "".concat(props.backgroundType === "dark" ? props.theme.thumbFocusColorOnDark : props.theme.thumbFocusColor, " solid 2px");
223
244
  }, function (props) {
@@ -225,27 +246,16 @@ var SwitchTrack = _styledComponents["default"].span(_templateObject5 || (_templa
225
246
  }, function (props) {
226
247
  return props.theme.thumbHeight;
227
248
  }, function (props) {
228
- return props.backgroundType === "dark" ? props.theme.uncheckedThumbBackgroundColorOnDark : props.theme.uncheckedThumbBackgroundColor;
249
+ return props.disabled ? getDisabledColor(props, "thumb", "uncheck") : getNotDisabledColor(props, "thumb", "uncheck");
229
250
  }, function (props) {
230
- return props.backgroundType === "dark" ? props.theme.uncheckedTrackBackgroundColorOnDark : props.theme.uncheckedTrackBackgroundColor;
251
+ return props.disabled ? getDisabledColor(props, "track", "uncheck") : getNotDisabledColor(props, "track", "uncheck");
231
252
  }, function (props) {
232
- return props.backgroundType === "dark" ? props.theme.checkedTrackBackgroundColorOnDark : props.theme.checkedTrackBackgroundColor;
253
+ return props.disabled ? getDisabledColor(props, "track", "check") : getNotDisabledColor(props, "track", "check");
233
254
  }, function (props) {
234
255
  return props.theme.thumbShift;
235
256
  }, function (props) {
236
- return props.backgroundType === "dark" ? props.theme.checkedThumbBackgroundColorOnDark : props.theme.checkedThumbBackgroundColor;
257
+ return props.disabled ? getDisabledColor(props, "thumb", "check") : getNotDisabledColor(props, "thumb", "check");
237
258
  });
238
259
 
239
- var DisabledSwitchTrack = (0, _styledComponents["default"])(SwitchTrack)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n cursor: not-allowed;\n\n /* Unchecked */\n background-color: ", ";\n\n ::before {\n background-color: ", ";\n }\n\n /* Checked */\n &[data-checked=\"true\"] {\n background-color: ", ";\n\n ::before {\n transform: translateX(", ");\n background-color: ", ";\n }\n }\n"])), function (props) {
240
- return props.backgroundType === "dark" ? props.theme.disabledUncheckedTrackBackgroundColorOnDark : props.theme.disabledUncheckedTrackBackgroundColor;
241
- }, function (props) {
242
- return props.backgroundType === "dark" ? props.theme.disabledUncheckedThumbBackgroundColorOnDark : props.theme.disabledUncheckedThumbBackgroundColor;
243
- }, function (props) {
244
- return props.backgroundType === "dark" ? props.theme.disabledCheckedTrackBackgroundColorOnDark : props.theme.disabledCheckedTrackBackgroundColor;
245
- }, function (props) {
246
- return props.theme.thumbShift;
247
- }, function (props) {
248
- return props.backgroundType === "dark" ? props.theme.disabledCheckedThumbBackgroundColorOnDark : props.theme.disabledCheckedThumbBackgroundColor;
249
- });
250
260
  var _default = DxcSwitch;
251
261
  exports["default"] = _default;
@@ -185,28 +185,41 @@ describe("Switch component tests", function () {
185
185
  expect(onChange.mock.calls[1][0]).toBe(false);
186
186
  });
187
187
  test("Renders with correct initial value and initial state when it is uncontrolled", function () {
188
- var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
188
+ var component = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
189
189
  label: "Default label",
190
190
  defaultChecked: true,
191
- value: "test-defaultChecked"
191
+ value: "test-defaultChecked",
192
+ name: "test"
193
+ }));
194
+ var switchEl = component.getByRole("switch");
195
+ var inputEl = component.container.querySelector("input[name=\"test\"]");
196
+ expect(inputEl.value).toBe("test-defaultChecked");
197
+ expect(switchEl.getAttribute("aria-checked")).toBe("true");
198
+ });
199
+ test("Renders with correct aria attributes", function () {
200
+ var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
201
+ label: "Default label"
192
202
  })),
203
+ getByText = _render10.getByText,
193
204
  getByRole = _render10.getByRole;
194
205
 
195
- var inputEl = getByRole("switch");
196
- expect(inputEl.checked).toBe(true);
197
- expect(inputEl.value).toBe("test-defaultChecked");
198
- expect(inputEl.getAttribute("aria-checked")).toBe("true");
206
+ var switchEl = getByRole("switch");
207
+ var label = getByText("Default label");
208
+ expect(switchEl.getAttribute("aria-labelledby")).toBe(label.id);
209
+ expect(switchEl.getAttribute("aria-checked")).toBe("false");
199
210
  });
200
- test("Renders with correct aria attributes", function () {
211
+ test("Renders disabled switch correctly", function () {
201
212
  var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
202
- label: "Default label"
213
+ label: "Default label",
214
+ disabled: true
203
215
  })),
204
- getByRole = _render11.getByRole,
205
- getByText = _render11.getByText;
216
+ getByText = _render11.getByText,
217
+ getByRole = _render11.getByRole;
206
218
 
207
- var inputEl = getByRole("switch");
219
+ var switchEl = getByRole("switch");
208
220
  var label = getByText("Default label");
209
- expect(inputEl.getAttribute("aria-labelledby")).toBe(label.id);
210
- expect(inputEl.getAttribute("aria-checked")).toBe("false");
221
+ expect(switchEl.getAttribute("aria-labelledby")).toBe(label.id);
222
+ expect(switchEl.getAttribute("aria-checked")).toBe("false");
223
+ expect(switchEl.getAttribute("aria-disabled")).toBe("true");
211
224
  });
212
225
  });
package/table/Table.js CHANGED
@@ -66,7 +66,7 @@ var DxcTableContainer = _styledComponents["default"].div(_templateObject || (_te
66
66
  return props.theme.scrollBarTrackColor;
67
67
  });
68
68
 
69
- var DxcTableContent = _styledComponents["default"].table(_templateObject2 || (_templateObject2 = (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"])), function (props) {
69
+ var DxcTableContent = _styledComponents["default"].table(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n border-collapse: collapse;\n width: 100%;\n\n & tr {\n border-bottom: ", ";\n height: 60px;\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 & td:last-child {\n padding-right: 40px;\n }\n"])), function (props) {
70
70
  return "".concat(props.theme.rowSeparatorThickness, " ").concat(props.theme.rowSeparatorStyle, " ").concat(props.theme.rowSeparatorColor);
71
71
  }, function (props) {
72
72
  return props.theme.dataBackgroundColor;