@dxc-technology/halstack-react 0.0.0-f53e801 → 0.0.0-f54247d
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.
- package/HalstackContext.js +7 -8
- package/accordion/Accordion.js +122 -103
- package/accordion/Accordion.stories.tsx +1 -2
- package/accordion/Accordion.test.js +9 -10
- package/accordion/types.d.ts +4 -3
- package/accordion-group/AccordionGroup.js +1 -21
- package/accordion-group/AccordionGroup.stories.tsx +27 -1
- package/accordion-group/AccordionGroup.test.js +20 -45
- package/accordion-group/types.d.ts +9 -2
- package/alert/Alert.js +1 -1
- package/box/Box.js +1 -1
- package/box/types.d.ts +1 -0
- package/card/types.d.ts +1 -0
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +92 -99
- package/checkbox/Checkbox.stories.tsx +79 -59
- package/checkbox/Checkbox.test.js +93 -16
- package/checkbox/types.d.ts +6 -2
- package/common/variables.js +27 -19
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +258 -0
- package/date-input/DateInput.js +77 -222
- package/date-input/DateInput.stories.tsx +30 -17
- package/date-input/DateInput.test.js +411 -138
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +160 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +115 -0
- package/date-input/types.d.ts +53 -0
- package/dialog/Dialog.js +4 -4
- package/dialog/Dialog.stories.tsx +56 -0
- package/dialog/types.d.ts +1 -0
- package/dropdown/Dropdown.js +38 -34
- package/dropdown/Dropdown.test.js +19 -25
- package/dropdown/DropdownMenuItem.js +1 -1
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +177 -219
- package/file-input/FileInput.stories.tsx +38 -10
- package/file-input/FileInput.test.js +53 -12
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +38 -63
- package/file-input/types.d.ts +17 -0
- package/flex/Flex.d.ts +1 -1
- package/flex/Flex.js +31 -19
- package/flex/types.d.ts +14 -3
- package/footer/Footer.stories.tsx +8 -1
- package/footer/types.d.ts +1 -0
- package/header/Header.stories.tsx +4 -4
- package/header/types.d.ts +1 -0
- package/layout/ApplicationLayout.stories.tsx +1 -0
- package/link/Link.js +1 -1
- package/number-input/NumberInput.test.js +43 -7
- package/package.json +14 -19
- package/paginator/Paginator.js +2 -2
- package/paginator/Paginator.test.js +1 -1
- package/password-input/PasswordInput.test.js +13 -12
- package/quick-nav/QuickNav.js +11 -12
- package/quick-nav/QuickNav.stories.tsx +97 -19
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +43 -28
- package/radio-group/RadioGroup.js +15 -13
- package/radio-group/RadioGroup.stories.tsx +1 -0
- package/radio-group/RadioGroup.test.js +123 -96
- package/radio-group/types.d.ts +2 -2
- package/resultsetTable/Icons.d.ts +7 -0
- package/resultsetTable/Icons.js +51 -0
- package/resultsetTable/ResultsetTable.js +48 -107
- package/resultsetTable/ResultsetTable.stories.tsx +50 -25
- package/resultsetTable/ResultsetTable.test.js +23 -41
- package/resultsetTable/types.d.ts +2 -2
- package/select/Listbox.js +0 -1
- package/select/Select.js +3 -1
- package/select/Select.stories.tsx +2 -5
- package/select/Select.test.js +267 -209
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +118 -93
- package/slider/Slider.stories.tsx +7 -1
- package/slider/Slider.test.js +87 -24
- package/slider/types.d.ts +6 -2
- package/switch/Switch.d.ts +3 -3
- package/switch/Switch.js +94 -83
- package/switch/Switch.test.js +26 -13
- package/switch/types.d.ts +6 -1
- package/table/Table.js +1 -1
- package/table/Table.test.js +1 -1
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +135 -0
- package/tabs/Tabs.js +360 -104
- package/tabs/Tabs.stories.tsx +74 -0
- package/tabs/Tabs.test.js +217 -6
- package/tabs/types.d.ts +14 -4
- package/tabs-nav/Tab.js +1 -1
- package/tag/Tag.js +1 -1
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +60 -0
- package/text-input/Suggestion.js +7 -5
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +134 -0
- package/text-input/TextInput.js +179 -263
- package/text-input/TextInput.stories.tsx +189 -181
- package/text-input/TextInput.test.js +639 -727
- package/text-input/types.d.ts +21 -2
- package/common/RequiredComponent.js +0 -32
package/slider/Slider.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import React from "react";
|
|
2
2
|
import SliderPropsType from "./types";
|
|
3
|
-
declare const DxcSlider:
|
|
3
|
+
declare const DxcSlider: React.ForwardRefExoticComponent<SliderPropsType & React.RefAttributes<HTMLDivElement>>;
|
|
4
4
|
export default DxcSlider;
|
package/slider/Slider.js
CHANGED
|
@@ -17,8 +17,6 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
17
17
|
|
|
18
18
|
var _react = _interopRequireWildcard(require("react"));
|
|
19
19
|
|
|
20
|
-
var _Slider = _interopRequireDefault(require("@material-ui/lab/Slider"));
|
|
21
|
-
|
|
22
20
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
23
21
|
|
|
24
22
|
var _TextInput = _interopRequireDefault(require("../text-input/TextInput"));
|
|
@@ -33,13 +31,13 @@ var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColor
|
|
|
33
31
|
|
|
34
32
|
var _uuid = require("uuid");
|
|
35
33
|
|
|
36
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
|
|
34
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;
|
|
37
35
|
|
|
38
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); }
|
|
39
37
|
|
|
40
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; }
|
|
41
39
|
|
|
42
|
-
var DxcSlider = function
|
|
40
|
+
var DxcSlider = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
43
41
|
var _ref$label = _ref.label,
|
|
44
42
|
label = _ref$label === void 0 ? "" : _ref$label,
|
|
45
43
|
_ref$name = _ref.name,
|
|
@@ -74,12 +72,17 @@ var DxcSlider = function DxcSlider(_ref) {
|
|
|
74
72
|
innerValue = _useState2[0],
|
|
75
73
|
setInnerValue = _useState2[1];
|
|
76
74
|
|
|
75
|
+
var _useState3 = (0, _react.useState)(false),
|
|
76
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
77
|
+
dragging = _useState4[0],
|
|
78
|
+
setDragging = _useState4[1];
|
|
79
|
+
|
|
77
80
|
var colorsTheme = (0, _useTheme["default"])();
|
|
78
81
|
var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
|
|
79
82
|
|
|
80
|
-
var
|
|
81
|
-
|
|
82
|
-
labelId =
|
|
83
|
+
var _useState5 = (0, _react.useState)("label-".concat((0, _uuid.v4)())),
|
|
84
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 1),
|
|
85
|
+
labelId = _useState6[0];
|
|
83
86
|
|
|
84
87
|
var minLabel = (0, _react.useMemo)(function () {
|
|
85
88
|
return labelFormatCallback ? labelFormatCallback(minValue) : minValue;
|
|
@@ -87,15 +90,44 @@ var DxcSlider = function DxcSlider(_ref) {
|
|
|
87
90
|
var maxLabel = (0, _react.useMemo)(function () {
|
|
88
91
|
return labelFormatCallback ? labelFormatCallback(maxValue) : maxValue;
|
|
89
92
|
}, [labelFormatCallback, maxValue]);
|
|
93
|
+
var tickMarks = (0, _react.useMemo)(function () {
|
|
94
|
+
var ticks = [];
|
|
95
|
+
var numberOfMarks = Math.floor(maxValue / step - minValue / step);
|
|
96
|
+
var index = 0;
|
|
97
|
+
var range = maxValue - minValue;
|
|
98
|
+
|
|
99
|
+
if (marks) {
|
|
100
|
+
while (index <= numberOfMarks) {
|
|
101
|
+
ticks.push( /*#__PURE__*/_react["default"].createElement(TickMark, {
|
|
102
|
+
disabled: disabled,
|
|
103
|
+
stepPosition: step * index / range,
|
|
104
|
+
backgroundType: backgroundType,
|
|
105
|
+
stepValue: (value !== null && value !== void 0 ? value : innerValue) / maxValue
|
|
106
|
+
}));
|
|
107
|
+
index++;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
return ticks;
|
|
111
|
+
} else {
|
|
112
|
+
return null;
|
|
113
|
+
}
|
|
114
|
+
}, [minValue, maxValue, step, value, innerValue]);
|
|
115
|
+
|
|
116
|
+
var handleSliderChange = function handleSliderChange(event) {
|
|
117
|
+
var valueToCheck = event.target.value;
|
|
118
|
+
(valueToCheck !== value || valueToCheck !== innerValue) && setInnerValue(valueToCheck);
|
|
119
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(valueToCheck);
|
|
120
|
+
};
|
|
90
121
|
|
|
91
|
-
var
|
|
92
|
-
|
|
93
|
-
valueToCheck !== newValue && setInnerValue(newValue);
|
|
94
|
-
onChange === null || onChange === void 0 ? void 0 : onChange(newValue);
|
|
122
|
+
var handleSliderDragging = function handleSliderDragging() {
|
|
123
|
+
setDragging(true);
|
|
95
124
|
};
|
|
96
125
|
|
|
97
|
-
var handleSliderOnChangeCommited = function handleSliderOnChangeCommited(event
|
|
98
|
-
|
|
126
|
+
var handleSliderOnChangeCommited = function handleSliderOnChangeCommited(event) {
|
|
127
|
+
if (dragging) {
|
|
128
|
+
setDragging(false);
|
|
129
|
+
onDragEnd === null || onDragEnd === void 0 ? void 0 : onDragEnd(event.target.value);
|
|
130
|
+
}
|
|
99
131
|
};
|
|
100
132
|
|
|
101
133
|
var handlerInputChange = function handlerInputChange(event) {
|
|
@@ -110,11 +142,13 @@ var DxcSlider = function DxcSlider(_ref) {
|
|
|
110
142
|
}
|
|
111
143
|
};
|
|
112
144
|
|
|
145
|
+
var isFirefox = navigator.userAgent.indexOf("Firefox") !== -1;
|
|
113
146
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
114
147
|
theme: colorsTheme.slider
|
|
115
148
|
}, /*#__PURE__*/_react["default"].createElement(Container, {
|
|
116
149
|
margin: margin,
|
|
117
|
-
size: size
|
|
150
|
+
size: size,
|
|
151
|
+
ref: ref
|
|
118
152
|
}, /*#__PURE__*/_react["default"].createElement(Label, {
|
|
119
153
|
id: labelId,
|
|
120
154
|
disabled: disabled,
|
|
@@ -122,22 +156,30 @@ var DxcSlider = function DxcSlider(_ref) {
|
|
|
122
156
|
}, label), /*#__PURE__*/_react["default"].createElement(HelperText, {
|
|
123
157
|
disabled: disabled,
|
|
124
158
|
backgroundType: backgroundType
|
|
125
|
-
}, helperText), /*#__PURE__*/_react["default"].createElement(SliderContainer, {
|
|
126
|
-
backgroundType: backgroundType
|
|
127
|
-
}, showLimitsValues && /*#__PURE__*/_react["default"].createElement(MinLabelContainer, {
|
|
159
|
+
}, helperText), /*#__PURE__*/_react["default"].createElement(SliderContainer, null, showLimitsValues && /*#__PURE__*/_react["default"].createElement(MinLabelContainer, {
|
|
128
160
|
backgroundType: backgroundType,
|
|
129
161
|
disabled: disabled
|
|
130
|
-
}, minLabel), /*#__PURE__*/_react["default"].createElement(
|
|
162
|
+
}, minLabel), /*#__PURE__*/_react["default"].createElement(SliderInputContainer, null, /*#__PURE__*/_react["default"].createElement(SliderInput, {
|
|
163
|
+
role: "slider",
|
|
164
|
+
type: "range",
|
|
131
165
|
value: value != null && value >= 0 ? value : innerValue,
|
|
132
166
|
min: minValue,
|
|
133
167
|
max: maxValue,
|
|
134
|
-
onChange: handlerSliderChange,
|
|
135
|
-
onChangeCommitted: handleSliderOnChangeCommited,
|
|
136
168
|
step: step,
|
|
137
|
-
marks: marks
|
|
169
|
+
marks: marks,
|
|
138
170
|
disabled: disabled,
|
|
139
|
-
"aria-labelledby": labelId
|
|
140
|
-
|
|
171
|
+
"aria-labelledby": labelId,
|
|
172
|
+
"aria-orientation": "horizontal",
|
|
173
|
+
"aria-valuemax": maxValue,
|
|
174
|
+
"aria-valuemin": minValue,
|
|
175
|
+
"aria-valuenow": value != null && value >= 0 ? value : innerValue,
|
|
176
|
+
onChange: handleSliderChange,
|
|
177
|
+
onMouseUp: handleSliderOnChangeCommited,
|
|
178
|
+
onMouseDown: handleSliderDragging,
|
|
179
|
+
backgroundType: backgroundType
|
|
180
|
+
}), marks && /*#__PURE__*/_react["default"].createElement(MarksContainer, {
|
|
181
|
+
isFirefox: isFirefox
|
|
182
|
+
}, tickMarks)), showLimitsValues && /*#__PURE__*/_react["default"].createElement(MaxLabelContainer, {
|
|
141
183
|
backgroundType: backgroundType,
|
|
142
184
|
disabled: disabled,
|
|
143
185
|
step: step
|
|
@@ -148,7 +190,7 @@ var DxcSlider = function DxcSlider(_ref) {
|
|
|
148
190
|
onChange: handlerInputChange,
|
|
149
191
|
size: "fillParent"
|
|
150
192
|
})))));
|
|
151
|
-
};
|
|
193
|
+
});
|
|
152
194
|
|
|
153
195
|
var sizes = {
|
|
154
196
|
medium: "360px",
|
|
@@ -160,6 +202,14 @@ var calculateWidth = function calculateWidth(margin, size) {
|
|
|
160
202
|
return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
|
|
161
203
|
};
|
|
162
204
|
|
|
205
|
+
var getChromeStyles = function getChromeStyles() {
|
|
206
|
+
return "\n width: 100%;\n margin-right: 4px;";
|
|
207
|
+
};
|
|
208
|
+
|
|
209
|
+
var getFireFoxStyles = function getFireFoxStyles() {
|
|
210
|
+
return "\n width: calc(100% - 16px);\n margin-right: 3px;";
|
|
211
|
+
};
|
|
212
|
+
|
|
163
213
|
var Container = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n width: ", ";\n"])), function (props) {
|
|
164
214
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
165
215
|
}, function (props) {
|
|
@@ -188,7 +238,7 @@ var Label = _styledComponents["default"].label(_templateObject2 || (_templateObj
|
|
|
188
238
|
return props.theme.labelLineHeight;
|
|
189
239
|
});
|
|
190
240
|
|
|
191
|
-
var HelperText = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
|
|
241
|
+
var HelperText = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
|
|
192
242
|
return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledHelperTextFontColorOnDark : props.theme.disabledHelperTextFontColor : props.backgroundType === "dark" ? props.theme.helperTextFontColorOnDark : props.theme.helperTextFontColor;
|
|
193
243
|
}, function (props) {
|
|
194
244
|
return props.theme.fontFamily;
|
|
@@ -202,83 +252,51 @@ var HelperText = _styledComponents["default"].span(_templateObject3 || (_templat
|
|
|
202
252
|
return props.theme.helperTextLineHeight;
|
|
203
253
|
});
|
|
204
254
|
|
|
205
|
-
var
|
|
206
|
-
return props.
|
|
207
|
-
}, function (props) {
|
|
208
|
-
return props.theme.thumbHeight;
|
|
209
|
-
}, function (props) {
|
|
210
|
-
return props.theme.thumbWidth;
|
|
211
|
-
}, function (props) {
|
|
212
|
-
return props.backgroundType === "dark" ? props.theme.disabledThumbBackgroundColorOnDark : props.theme.disabledThumbBackgroundColor;
|
|
213
|
-
}, function (props) {
|
|
214
|
-
return props.theme.disabledThumbVerticalPosition;
|
|
215
|
-
}, function (props) {
|
|
216
|
-
return props.backgroundType === "dark" ? props.theme.disabledTrackLineColorOnDark : props.theme.disabledTrackLineColor;
|
|
217
|
-
}, function (props) {
|
|
218
|
-
return props.backgroundType === "dark" ? props.theme.disabledTotalLineColorOnDark : props.theme.disabledTotalLineColor;
|
|
219
|
-
}, function (props) {
|
|
220
|
-
return props.backgroundType === "dark" ? props.theme.disabledTickBackgroundColorOnDark : props.theme.disabledTickBackgroundColor;
|
|
255
|
+
var SliderInput = _styledComponents["default"].input(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n min-width: 240px;\n height: ", ";\n display: inline-block;\n vertical-align: middle;\n -webkit-appearance: none;\n background-color: ", ";\n background-image: ", ";\n background-repeat: no-repeat;\n background-size: ", ";\n border-radius: 5px;\n z-index: 1;\n cursor: ", ";\n &::-webkit-slider-runnable-track {\n -webkit-appearance: none;\n box-shadow: none;\n border: none;\n background: transparent;\n margin: 0px -8px;\n }\n\n &::-webkit-slider-thumb {\n -webkit-appearance: none;\n border: none;\n height: ", ";\n width: ", ";\n border-radius: 25px;\n background: ", ";\n &:active {\n ", "\n }\n &:hover {\n ", "\n }\n }\n &::-moz-range-track {\n -webkit-appearance: none;\n box-shadow: none;\n border: none;\n background: transparent;\n }\n &::-moz-range-thumb {\n -webkit-appearance: none;\n border: none;\n height: ", ";\n width: ", ";\n border-radius: 25px;\n background: ", ";\n &:active {\n background: ", ";\n transform: scale(1.16667);\n }\n &:hover {\n ", "\n }\n }\n &:focus {\n outline: none;\n &::-webkit-slider-thumb {\n outline: ", "\n auto 1px;\n outline-offset: 2px;\n }\n &::-moz-range-thumb {\n outline: ", "\n auto 1px;\n outline-offset: 2px;\n }\n }\n"])), function (props) {
|
|
256
|
+
return props.theme.trackLineThickness;
|
|
221
257
|
}, function (props) {
|
|
222
|
-
return props.backgroundType === "dark" ? props.theme.
|
|
258
|
+
return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledTotalLineColorOnDark + "61" : props.theme.disabledTotalLineColor + "61" : props.backgroundType === "dark" ? props.theme.totalLineColorOnDark + "61" : props.theme.totalLineColor;
|
|
223
259
|
}, function (props) {
|
|
224
|
-
return props.theme.
|
|
260
|
+
return props.disabled ? props.backgroundType === "dark" ? "linear-gradient(".concat(props.theme.disabledTrackLineColorOnDark, ", ").concat(props.theme.disabledTrackLineColorOnDark, ")") : "linear-gradient(".concat(props.theme.disabledTrackLineColor, ", ").concat(props.theme.disabledTrackLineColor, ")") : props.backgroundType === "dark" ? "linear-gradient(".concat(props.theme.trackLineColorOnDark, ", ").concat(props.theme.trackLineColorOnDark, ")") : "linear-gradient(".concat(props.theme.trackLineColor, ", ").concat(props.theme.trackLineColor, ")");
|
|
225
261
|
}, function (props) {
|
|
226
|
-
return props.
|
|
262
|
+
return (props.value - props.min) * 100 / (props.max - props.min) + "% 100%";
|
|
227
263
|
}, function (props) {
|
|
228
|
-
return props.
|
|
264
|
+
return props.disabled ? "not-allowed" : "pointer";
|
|
229
265
|
}, function (props) {
|
|
230
266
|
return props.theme.thumbHeight;
|
|
231
267
|
}, function (props) {
|
|
232
268
|
return props.theme.thumbWidth;
|
|
233
269
|
}, function (props) {
|
|
234
|
-
return props.backgroundType === "dark" ? props.theme.thumbBackgroundColorOnDark : props.theme.thumbBackgroundColor;
|
|
235
|
-
}, function (props) {
|
|
236
|
-
return props.theme.thumbVerticalPosition;
|
|
237
|
-
}, function (props) {
|
|
238
|
-
return props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
|
|
270
|
+
return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledThumbBackgroundColorOnDark : props.theme.disabledThumbBackgroundColor : props.backgroundType === "dark" ? props.theme.thumbBackgroundColorOnDark : props.theme.thumbBackgroundColor;
|
|
239
271
|
}, function (props) {
|
|
240
|
-
|
|
272
|
+
if (!props.disabled) {
|
|
273
|
+
return "\n background: ".concat(props.backgroundType === "dark" ? props.theme.activeThumbBackgroundColorOnDark : props.theme.activeThumbBackgroundColor, ";\n transform: scale(1.16667);");
|
|
274
|
+
}
|
|
241
275
|
}, function (props) {
|
|
242
|
-
|
|
276
|
+
if (!props.disabled) {
|
|
277
|
+
return "height: ".concat(props.theme.hoverThumbHeight, ";\n width: ").concat(props.theme.hoverThumbWidth, ";\n transform: scale(1.16667);\n transform-origin: center center;\n background: ").concat(props.backgroundType === "dark" ? props.theme.hoverThumbBackgroundColorOnDark : props.theme.hoverThumbBackgroundColor, ";");
|
|
278
|
+
}
|
|
243
279
|
}, function (props) {
|
|
244
|
-
return props.theme.
|
|
245
|
-
}, function (props) {
|
|
246
|
-
return props.theme.hoverThumbHeight;
|
|
280
|
+
return props.theme.thumbHeight;
|
|
247
281
|
}, function (props) {
|
|
248
|
-
return props.theme.
|
|
282
|
+
return props.theme.thumbWidth;
|
|
249
283
|
}, function (props) {
|
|
250
|
-
return props.theme.
|
|
284
|
+
return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledThumbBackgroundColorOnDark : props.theme.disabledThumbBackgroundColor : props.backgroundType === "dark" ? props.theme.thumbBackgroundColorOnDark : props.theme.thumbBackgroundColor;
|
|
251
285
|
}, function (props) {
|
|
252
286
|
return props.backgroundType === "dark" ? props.theme.activeThumbBackgroundColorOnDark : props.theme.activeThumbBackgroundColor;
|
|
253
287
|
}, function (props) {
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
288
|
+
if (!props.disabled) {
|
|
289
|
+
return "height: ".concat(props.theme.hoverThumbHeight, ";\n width: ").concat(props.theme.hoverThumbWidth, ";\n transform: scale(1.16667);\n transform-origin: center center;\n background: ").concat(props.backgroundType === "dark" ? props.theme.hoverThumbBackgroundColorOnDark : props.theme.hoverThumbBackgroundColor, ";");
|
|
290
|
+
}
|
|
257
291
|
}, function (props) {
|
|
258
|
-
return props.theme.
|
|
259
|
-
}, function (props) {
|
|
260
|
-
return props.theme.trackLineVerticalPosition;
|
|
261
|
-
}, function (props) {
|
|
262
|
-
return props.backgroundType === "dark" ? props.theme.trackLineColorOnDark : props.theme.trackLineColor;
|
|
263
|
-
}, function (props) {
|
|
264
|
-
return props.backgroundType === "dark" ? props.theme.totalLineColorOnDark : props.theme.totalLineColor;
|
|
265
|
-
}, function (props) {
|
|
266
|
-
return props.theme.totalLineThickness;
|
|
267
|
-
}, function (props) {
|
|
268
|
-
return props.theme.totalLineVerticalPosition;
|
|
269
|
-
}, function (props) {
|
|
270
|
-
return props.backgroundType === "dark" ? props.theme.tickBackgroundColorOnDark : props.theme.tickBackgroundColor;
|
|
271
|
-
}, function (props) {
|
|
272
|
-
return props.backgroundType === "dark" ? props.theme.tickBackgroundColorOnDark : props.theme.tickBackgroundColor;
|
|
292
|
+
return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledFocusColorOnDark : props.theme.disabledFocusColor : props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
|
|
273
293
|
}, function (props) {
|
|
274
|
-
return props.theme.
|
|
275
|
-
}, function (props) {
|
|
276
|
-
return props.theme.tickWidth;
|
|
277
|
-
}, function (props) {
|
|
278
|
-
return props.theme.tickVerticalPosition;
|
|
294
|
+
return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledFocusColorOnDark : props.theme.disabledFocusColor : props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
|
|
279
295
|
});
|
|
280
296
|
|
|
281
|
-
var
|
|
297
|
+
var SliderContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n height: 48px;\n align-items: center;\n"])));
|
|
298
|
+
|
|
299
|
+
var LimitLabelContainer = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n white-space: nowrap;\n"])), function (props) {
|
|
282
300
|
return props.disabled ? props.theme.disabledLimitValuesFontColor : props.backgroundType === "dark" ? props.theme.limitValuesFontColorOnDark : props.theme.limitValuesFontColor;
|
|
283
301
|
}, function (props) {
|
|
284
302
|
return props.theme.fontFamily;
|
|
@@ -290,27 +308,34 @@ var MinLabelContainer = _styledComponents["default"].span(_templateObject5 || (_
|
|
|
290
308
|
return props.theme.limitValuesFontWeight;
|
|
291
309
|
}, function (props) {
|
|
292
310
|
return props.theme.limitValuesFontLetterSpacing;
|
|
293
|
-
}
|
|
311
|
+
});
|
|
312
|
+
|
|
313
|
+
var MinLabelContainer = (0, _styledComponents["default"])(LimitLabelContainer)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: ", ";\n"])), function (props) {
|
|
294
314
|
return props.theme.floorLabelMarginRight;
|
|
295
315
|
});
|
|
316
|
+
var MaxLabelContainer = (0, _styledComponents["default"])(LimitLabelContainer)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: ", ";\n"])), function (props) {
|
|
317
|
+
return props.step === 1 ? props.theme.ceilLabelMarginLeft : "1.25rem";
|
|
318
|
+
});
|
|
296
319
|
|
|
297
|
-
var
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
return props.
|
|
301
|
-
}
|
|
302
|
-
|
|
320
|
+
var SliderInputContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n width: 100%;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: -2px;\n padding-top: 1px;\n"])));
|
|
321
|
+
|
|
322
|
+
var MarksContainer = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n position: absolute;\n pointer-events: none;\n height: 100%;\n display: flex;\n align-items: center;\n"])), function (props) {
|
|
323
|
+
return props.isFirefox ? getFireFoxStyles() : getChromeStyles();
|
|
324
|
+
});
|
|
325
|
+
|
|
326
|
+
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) {
|
|
327
|
+
return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledTickBackgroundColorOnDark : props.theme.disabledTickBackgroundColor : props.backgroundType === "dark" ? props.theme.tickBackgroundColorOnDark : props.theme.tickBackgroundColor;
|
|
303
328
|
}, function (props) {
|
|
304
|
-
return props.theme.
|
|
329
|
+
return props.theme.tickHeight;
|
|
305
330
|
}, function (props) {
|
|
306
|
-
return props.theme.
|
|
331
|
+
return props.theme.tickWidth;
|
|
307
332
|
}, function (props) {
|
|
308
|
-
return props.
|
|
333
|
+
return "calc(".concat(props.stepPosition, " * 100%)");
|
|
309
334
|
}, function (props) {
|
|
310
|
-
return props.
|
|
335
|
+
return !props.disabled ? "z-index: ".concat(props.stepPosition <= props.stepValue ? "0" : "1") : "";
|
|
311
336
|
});
|
|
312
337
|
|
|
313
|
-
var StyledTextInput = _styledComponents["default"].div(
|
|
338
|
+
var StyledTextInput = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: ", ";\n max-width: 70px;\n"])), function (props) {
|
|
314
339
|
return props.theme.inputMarginLeft;
|
|
315
340
|
});
|
|
316
341
|
|
|
@@ -171,7 +171,13 @@ export const Chromatic = () => (
|
|
|
171
171
|
</ExampleContainer>
|
|
172
172
|
<ExampleContainer>
|
|
173
173
|
<Title title="Large limit values labels" theme="light" level={4} />
|
|
174
|
-
<DxcSlider
|
|
174
|
+
<DxcSlider
|
|
175
|
+
label="Slider"
|
|
176
|
+
helperText="Help message"
|
|
177
|
+
showLimitsValues
|
|
178
|
+
labelFormatCallback={labelFormat}
|
|
179
|
+
size="large"
|
|
180
|
+
/>
|
|
175
181
|
</ExampleContainer>
|
|
176
182
|
</>
|
|
177
183
|
);
|
package/slider/Slider.test.js
CHANGED
|
@@ -11,16 +11,21 @@ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
|
11
11
|
var _Slider = _interopRequireDefault(require("./Slider"));
|
|
12
12
|
|
|
13
13
|
describe("Slider component tests", function () {
|
|
14
|
-
test("Slider renders with correct text", function () {
|
|
14
|
+
test("Slider renders with correct text and label id", function () {
|
|
15
15
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
16
|
+
label: "label",
|
|
16
17
|
minValue: 0,
|
|
17
18
|
maxValue: 100,
|
|
18
19
|
showLimitsValues: true
|
|
19
20
|
})),
|
|
20
|
-
getByText = _render.getByText
|
|
21
|
+
getByText = _render.getByText,
|
|
22
|
+
getByRole = _render.getByRole;
|
|
21
23
|
|
|
22
24
|
expect(getByText("0")).toBeTruthy();
|
|
23
25
|
expect(getByText("100")).toBeTruthy();
|
|
26
|
+
var sliderId = getByText("label").getAttribute("id");
|
|
27
|
+
expect(getByRole("slider").getAttribute("aria-labelledby")).toBe(sliderId);
|
|
28
|
+
expect(getByRole("slider").getAttribute("aria-orientation")).toBe("horizontal");
|
|
24
29
|
});
|
|
25
30
|
test("Slider renders with correct initial value when it is uncontrolled", function () {
|
|
26
31
|
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
@@ -37,10 +42,37 @@ describe("Slider component tests", function () {
|
|
|
37
42
|
expect(slider.getAttribute("aria-valuenow")).toBe("30");
|
|
38
43
|
expect(input.value).toBe("30");
|
|
39
44
|
});
|
|
45
|
+
test("Slider correct limit values", function () {
|
|
46
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
47
|
+
defaultValue: 125,
|
|
48
|
+
minValue: 30,
|
|
49
|
+
maxValue: 125,
|
|
50
|
+
showLimitsValues: true
|
|
51
|
+
})),
|
|
52
|
+
getByRole = _render3.getByRole,
|
|
53
|
+
getByText = _render3.getByText;
|
|
54
|
+
|
|
55
|
+
var slider = getByRole("slider");
|
|
56
|
+
expect(slider.getAttribute("aria-valuemin")).toBe("30");
|
|
57
|
+
expect(slider.getAttribute("aria-valuemax")).toBe("125");
|
|
58
|
+
|
|
59
|
+
_userEvent["default"].tab();
|
|
60
|
+
|
|
61
|
+
_react2.fireEvent.keyDown(slider, {
|
|
62
|
+
key: "ArrowRight",
|
|
63
|
+
code: "ArrowRight",
|
|
64
|
+
keyCode: 39,
|
|
65
|
+
charCode: 39
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
expect(slider.getAttribute("aria-valuenow")).toBe("125");
|
|
69
|
+
expect(getByText("30")).toBeTruthy();
|
|
70
|
+
expect(getByText("125")).toBeTruthy();
|
|
71
|
+
});
|
|
40
72
|
test("Calls correct function onChange in controlled slider", function () {
|
|
41
73
|
var onChange = jest.fn();
|
|
42
74
|
|
|
43
|
-
var
|
|
75
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
44
76
|
minValue: 0,
|
|
45
77
|
maxValue: 100,
|
|
46
78
|
onChange: onChange,
|
|
@@ -48,7 +80,7 @@ describe("Slider component tests", function () {
|
|
|
48
80
|
value: 13,
|
|
49
81
|
showInput: true
|
|
50
82
|
})),
|
|
51
|
-
getByRole =
|
|
83
|
+
getByRole = _render4.getByRole;
|
|
52
84
|
|
|
53
85
|
expect(getByRole("slider").getAttribute("aria-valuenow")).toBe("13");
|
|
54
86
|
expect(getByRole("textbox").value).toBe("13");
|
|
@@ -66,14 +98,14 @@ describe("Slider component tests", function () {
|
|
|
66
98
|
test("Calls correct function onChange in uncontrolled slider", function () {
|
|
67
99
|
var onChange = jest.fn();
|
|
68
100
|
|
|
69
|
-
var
|
|
101
|
+
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
70
102
|
minValue: 0,
|
|
71
103
|
maxValue: 100,
|
|
72
104
|
onChange: onChange,
|
|
73
105
|
showLimitsValues: true,
|
|
74
106
|
showInput: true
|
|
75
107
|
})),
|
|
76
|
-
getByRole =
|
|
108
|
+
getByRole = _render5.getByRole;
|
|
77
109
|
|
|
78
110
|
(0, _react2.act)(function () {
|
|
79
111
|
_react2.fireEvent.change(getByRole("textbox"), {
|
|
@@ -86,10 +118,10 @@ describe("Slider component tests", function () {
|
|
|
86
118
|
expect(getByRole("slider").getAttribute("aria-valuenow")).toBe("25");
|
|
87
119
|
expect(getByRole("textbox").value).toBe("25");
|
|
88
120
|
});
|
|
89
|
-
test("Disabled slider have disabled input", function () {
|
|
121
|
+
test("Disabled slider have disabled input and slider", function () {
|
|
90
122
|
var onChange = jest.fn();
|
|
91
123
|
|
|
92
|
-
var
|
|
124
|
+
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
93
125
|
minValue: 0,
|
|
94
126
|
maxValue: 100,
|
|
95
127
|
onChange: onChange,
|
|
@@ -98,7 +130,7 @@ describe("Slider component tests", function () {
|
|
|
98
130
|
showInput: true,
|
|
99
131
|
value: 13
|
|
100
132
|
})),
|
|
101
|
-
getByRole =
|
|
133
|
+
getByRole = _render6.getByRole;
|
|
102
134
|
|
|
103
135
|
(0, _react2.act)(function () {
|
|
104
136
|
_react2.fireEvent.change(getByRole("textbox"), {
|
|
@@ -109,33 +141,64 @@ describe("Slider component tests", function () {
|
|
|
109
141
|
});
|
|
110
142
|
expect(getByRole("textbox").hasAttribute("disabled")).toBeTruthy();
|
|
111
143
|
expect(getByRole("textbox").value).toBe("13");
|
|
144
|
+
expect(getByRole("slider").hasAttribute("disabled")).toBeTruthy();
|
|
112
145
|
});
|
|
113
|
-
test("Calls correct function onDragEnd", function () {
|
|
146
|
+
test("Calls correct function onDragEnd when it is uncontrolled", function () {
|
|
114
147
|
var onDragEnd = jest.fn();
|
|
115
148
|
|
|
116
|
-
var
|
|
149
|
+
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
117
150
|
minValue: 0,
|
|
118
|
-
maxValue:
|
|
119
|
-
showLimitsValues: true,
|
|
120
|
-
showInput: true,
|
|
151
|
+
maxValue: 150,
|
|
121
152
|
onDragEnd: onDragEnd,
|
|
122
|
-
|
|
153
|
+
showInput: true
|
|
123
154
|
})),
|
|
124
|
-
getByRole =
|
|
155
|
+
getByRole = _render7.getByRole;
|
|
125
156
|
|
|
157
|
+
var slider = getByRole("slider");
|
|
158
|
+
(0, _react2.act)(function () {
|
|
159
|
+
_react2.fireEvent.mouseDown(slider);
|
|
160
|
+
});
|
|
126
161
|
(0, _react2.act)(function () {
|
|
127
|
-
_react2.fireEvent.
|
|
162
|
+
_react2.fireEvent.mouseUp(slider, {
|
|
163
|
+
target: {
|
|
164
|
+
value: 120
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
});
|
|
168
|
+
expect(onDragEnd).toHaveBeenCalledWith("120");
|
|
169
|
+
});
|
|
170
|
+
test("Calls correct function onDragEnd when it is controlled", function () {
|
|
171
|
+
var onDragEnd = jest.fn();
|
|
172
|
+
|
|
173
|
+
var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
174
|
+
minValue: 0,
|
|
175
|
+
maxValue: 150,
|
|
176
|
+
value: 50,
|
|
177
|
+
onDragEnd: onDragEnd,
|
|
178
|
+
showInput: true
|
|
179
|
+
})),
|
|
180
|
+
getByRole = _render8.getByRole;
|
|
128
181
|
|
|
129
|
-
|
|
182
|
+
var slider = getByRole("slider");
|
|
183
|
+
(0, _react2.act)(function () {
|
|
184
|
+
_react2.fireEvent.mouseDown(slider);
|
|
130
185
|
});
|
|
131
|
-
|
|
186
|
+
(0, _react2.act)(function () {
|
|
187
|
+
_react2.fireEvent.mouseUp(slider, {
|
|
188
|
+
target: {
|
|
189
|
+
value: 120
|
|
190
|
+
}
|
|
191
|
+
});
|
|
192
|
+
});
|
|
193
|
+
expect(onDragEnd).toHaveBeenCalledWith("120");
|
|
194
|
+
expect(slider.getAttribute("aria-valuenow")).toBe("50");
|
|
132
195
|
});
|
|
133
196
|
test("Calls correct function labelFormatCallback", function () {
|
|
134
197
|
var labelFormatCallback = jest.fn(function (x) {
|
|
135
198
|
return "".concat(x, "$");
|
|
136
199
|
});
|
|
137
200
|
|
|
138
|
-
var
|
|
201
|
+
var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
139
202
|
minValue: 0,
|
|
140
203
|
maxValue: 100,
|
|
141
204
|
showLimitsValues: true,
|
|
@@ -143,7 +206,7 @@ describe("Slider component tests", function () {
|
|
|
143
206
|
value: 25,
|
|
144
207
|
labelFormatCallback: labelFormatCallback
|
|
145
208
|
})),
|
|
146
|
-
getByText =
|
|
209
|
+
getByText = _render9.getByText;
|
|
147
210
|
|
|
148
211
|
expect(getByText("0$")).toBeTruthy();
|
|
149
212
|
expect(getByText("100$")).toBeTruthy();
|
|
@@ -152,7 +215,7 @@ describe("Slider component tests", function () {
|
|
|
152
215
|
test("Change value correctly to 0 from external function", function () {
|
|
153
216
|
var onChange = jest.fn();
|
|
154
217
|
|
|
155
|
-
var
|
|
218
|
+
var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
156
219
|
minValue: 0,
|
|
157
220
|
maxValue: 100,
|
|
158
221
|
onChange: onChange,
|
|
@@ -160,8 +223,8 @@ describe("Slider component tests", function () {
|
|
|
160
223
|
value: 13,
|
|
161
224
|
showInput: true
|
|
162
225
|
})),
|
|
163
|
-
rerender =
|
|
164
|
-
getByRole =
|
|
226
|
+
rerender = _render10.rerender,
|
|
227
|
+
getByRole = _render10.getByRole;
|
|
165
228
|
|
|
166
229
|
var slider = getByRole("slider");
|
|
167
230
|
|
package/slider/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
2
|
-
declare type Margin = {
|
|
1
|
+
export declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
2
|
+
export declare type Margin = {
|
|
3
3
|
top?: Space;
|
|
4
4
|
bottom?: Space;
|
|
5
5
|
left?: Space;
|
|
@@ -79,4 +79,8 @@ declare type Props = {
|
|
|
79
79
|
*/
|
|
80
80
|
size?: "medium" | "large" | "fillParent";
|
|
81
81
|
};
|
|
82
|
+
/**
|
|
83
|
+
* Reference to the component.
|
|
84
|
+
*/
|
|
85
|
+
export declare type RefType = HTMLDivElement;
|
|
82
86
|
export default Props;
|
package/switch/Switch.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
declare const DxcSwitch:
|
|
1
|
+
import React from "react";
|
|
2
|
+
import SwitchPropsType from "./types";
|
|
3
|
+
declare const DxcSwitch: React.ForwardRefExoticComponent<SwitchPropsType & React.RefAttributes<HTMLDivElement>>;
|
|
4
4
|
export default DxcSwitch;
|