@dxc-technology/halstack-react 0.0.0-4687966 → 0.0.0-47ce41d
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/BackgroundColorContext.d.ts +10 -0
- package/BackgroundColorContext.js +1 -4
- package/HalstackContext.d.ts +12 -0
- package/HalstackContext.js +295 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +124 -137
- package/accordion/Accordion.stories.tsx +306 -0
- package/accordion/Accordion.test.js +71 -0
- package/accordion/types.d.ts +12 -11
- package/accordion-group/AccordionGroup.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +16 -37
- package/accordion-group/AccordionGroup.stories.tsx +251 -0
- package/accordion-group/AccordionGroup.test.js +126 -0
- package/accordion-group/types.d.ts +17 -10
- package/alert/Alert.js +7 -4
- package/alert/Alert.test.js +92 -0
- package/alert/types.d.ts +1 -1
- package/badge/Badge.d.ts +4 -0
- package/badge/Badge.js +6 -4
- package/badge/types.d.ts +5 -0
- package/{radio → badge}/types.js +0 -0
- package/bleed/Bleed.d.ts +3 -0
- package/bleed/Bleed.js +51 -0
- package/bleed/Bleed.stories.tsx +341 -0
- package/bleed/types.d.ts +37 -0
- package/bleed/types.js +5 -0
- package/box/Box.d.ts +1 -1
- package/box/Box.js +27 -40
- package/box/Box.test.js +18 -0
- package/box/types.d.ts +1 -4
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +123 -0
- package/bulleted-list/BulletedList.stories.tsx +200 -0
- package/bulleted-list/types.d.ts +11 -0
- package/bulleted-list/types.js +5 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +62 -83
- package/button/Button.stories.tsx +231 -241
- package/button/Button.test.js +35 -0
- package/button/types.d.ts +10 -14
- package/card/Card.js +26 -30
- package/card/Card.stories.tsx +201 -0
- package/card/Card.test.js +50 -0
- package/card/ice-cream.jpg +0 -0
- package/card/types.d.ts +5 -6
- package/checkbox/Checkbox.d.ts +1 -1
- package/checkbox/Checkbox.js +104 -108
- package/checkbox/Checkbox.stories.tsx +124 -128
- package/checkbox/Checkbox.test.js +155 -0
- package/checkbox/types.d.ts +11 -7
- package/chip/Chip.d.ts +4 -0
- package/chip/Chip.js +16 -76
- package/chip/Chip.stories.tsx +119 -0
- package/chip/Chip.test.js +56 -0
- package/chip/types.d.ts +45 -0
- package/chip/types.js +5 -0
- package/common/variables.js +290 -359
- package/date-input/DateInput.js +66 -55
- package/date-input/DateInput.stories.tsx +7 -7
- package/date-input/DateInput.test.js +479 -0
- package/date-input/types.d.ts +16 -9
- package/dialog/Dialog.js +50 -53
- package/dialog/Dialog.stories.tsx +267 -0
- package/dialog/Dialog.test.js +70 -0
- package/dialog/types.d.ts +3 -2
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +244 -273
- package/dropdown/Dropdown.stories.tsx +312 -0
- package/dropdown/Dropdown.test.js +590 -0
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +80 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +92 -0
- package/dropdown/types.d.ts +30 -19
- package/file-input/FileInput.d.ts +4 -0
- package/file-input/FileInput.js +172 -111
- package/file-input/FileInput.stories.tsx +507 -0
- package/file-input/FileInput.test.js +457 -0
- package/file-input/FileItem.d.ts +14 -0
- package/file-input/FileItem.js +16 -23
- package/file-input/types.d.ts +112 -0
- package/file-input/types.js +5 -0
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +69 -0
- package/flex/Flex.stories.tsx +103 -0
- package/flex/types.d.ts +32 -0
- package/flex/types.js +5 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +32 -113
- package/footer/{Footer.stories.jsx → Footer.stories.tsx} +5 -19
- package/footer/Footer.test.js +109 -0
- package/footer/Icons.d.ts +2 -0
- package/footer/Icons.js +4 -4
- package/footer/types.d.ts +23 -18
- package/header/Header.js +97 -116
- package/header/Header.stories.tsx +172 -0
- package/header/Header.test.js +79 -0
- package/header/Icons.d.ts +2 -0
- package/header/Icons.js +2 -2
- package/header/types.d.ts +7 -4
- package/heading/Heading.d.ts +4 -0
- package/heading/Heading.js +7 -24
- package/heading/Heading.stories.tsx +54 -0
- package/heading/Heading.test.js +186 -0
- package/heading/types.d.ts +33 -0
- package/heading/types.js +5 -0
- package/inset/Inset.d.ts +3 -0
- package/inset/Inset.js +51 -0
- package/inset/Inset.stories.tsx +229 -0
- package/inset/types.d.ts +37 -0
- package/inset/types.js +5 -0
- package/layout/ApplicationLayout.d.ts +20 -0
- package/layout/ApplicationLayout.js +71 -135
- package/layout/ApplicationLayout.stories.tsx +162 -0
- package/layout/Icons.d.ts +5 -0
- package/layout/Icons.js +13 -2
- package/layout/SidenavContext.d.ts +5 -0
- package/layout/SidenavContext.js +19 -0
- package/layout/types.d.ts +42 -0
- package/layout/types.js +5 -0
- package/link/Link.d.ts +3 -2
- package/link/Link.js +61 -86
- package/link/Link.stories.tsx +139 -16
- package/link/Link.test.js +83 -0
- package/link/types.d.ts +9 -29
- package/main.d.ts +12 -12
- package/main.js +64 -58
- package/number-input/NumberInput.d.ts +4 -0
- package/number-input/NumberInput.js +16 -68
- package/number-input/{NumberInput.stories.jsx → NumberInput.stories.tsx} +5 -5
- package/number-input/NumberInput.test.js +506 -0
- package/number-input/NumberInputContext.d.ts +4 -0
- package/number-input/NumberInputContext.js +5 -2
- package/number-input/numberInputContextTypes.d.ts +19 -0
- package/number-input/numberInputContextTypes.js +5 -0
- package/number-input/types.d.ts +124 -0
- package/number-input/types.js +5 -0
- package/package.json +16 -12
- package/paginator/Paginator.js +19 -46
- package/paginator/Paginator.test.js +308 -0
- package/paragraph/Paragraph.d.ts +6 -0
- package/paragraph/Paragraph.js +38 -0
- package/paragraph/Paragraph.stories.tsx +44 -0
- package/password-input/PasswordInput.js +27 -21
- package/password-input/PasswordInput.stories.tsx +3 -3
- package/password-input/PasswordInput.test.js +181 -0
- package/password-input/types.d.ts +29 -19
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +59 -53
- package/progress-bar/ProgressBar.stories.jsx +13 -11
- package/progress-bar/ProgressBar.test.js +110 -0
- package/progress-bar/types.d.ts +3 -4
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +117 -0
- package/quick-nav/QuickNav.stories.tsx +342 -0
- package/quick-nav/types.d.ts +21 -0
- package/quick-nav/types.js +5 -0
- package/radio-group/Radio.d.ts +4 -0
- package/radio-group/Radio.js +156 -0
- package/radio-group/RadioGroup.d.ts +4 -0
- package/radio-group/RadioGroup.js +283 -0
- package/radio-group/RadioGroup.stories.tsx +101 -0
- package/radio-group/RadioGroup.test.js +722 -0
- package/radio-group/types.d.ts +114 -0
- package/radio-group/types.js +5 -0
- package/resultsetTable/ResultsetTable.d.ts +4 -0
- package/resultsetTable/ResultsetTable.js +10 -32
- package/resultsetTable/ResultsetTable.stories.tsx +275 -0
- package/resultsetTable/ResultsetTable.test.js +348 -0
- package/resultsetTable/types.d.ts +67 -0
- package/resultsetTable/types.js +5 -0
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +93 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +198 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +110 -0
- package/select/Select.d.ts +4 -0
- package/select/Select.js +160 -380
- package/select/Select.stories.tsx +627 -0
- package/select/Select.test.js +2233 -0
- package/select/types.d.ts +210 -0
- package/select/types.js +5 -0
- package/sidenav/Sidenav.d.ts +10 -0
- package/sidenav/Sidenav.js +186 -63
- package/sidenav/Sidenav.stories.tsx +180 -0
- package/sidenav/Sidenav.test.js +44 -0
- package/sidenav/types.d.ts +73 -0
- package/sidenav/types.js +5 -0
- package/slider/Slider.d.ts +1 -1
- package/slider/Slider.js +120 -95
- package/slider/Slider.stories.tsx +20 -9
- package/slider/Slider.test.js +250 -0
- package/slider/types.d.ts +6 -2
- package/spinner/Spinner.js +3 -3
- package/spinner/Spinner.stories.jsx +1 -0
- package/spinner/Spinner.test.js +64 -0
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +149 -67
- package/switch/Switch.stories.tsx +21 -43
- package/switch/Switch.test.js +225 -0
- package/switch/types.d.ts +9 -6
- package/table/Table.js +4 -4
- package/table/Table.stories.jsx +2 -1
- package/table/Table.test.js +26 -0
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +135 -0
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +364 -108
- package/tabs/Tabs.stories.tsx +186 -0
- package/tabs/Tabs.test.js +351 -0
- package/tabs/types.d.ts +41 -20
- package/tabs-nav/NavTabs.d.ts +8 -0
- package/tabs-nav/NavTabs.js +125 -0
- package/tabs-nav/NavTabs.stories.tsx +170 -0
- package/tabs-nav/NavTabs.test.js +82 -0
- package/tabs-nav/Tab.d.ts +4 -0
- package/tabs-nav/Tab.js +130 -0
- package/tabs-nav/types.d.ts +53 -0
- package/tabs-nav/types.js +5 -0
- package/tag/Tag.d.ts +1 -1
- package/tag/Tag.js +19 -29
- package/tag/Tag.stories.tsx +26 -29
- package/tag/Tag.test.js +60 -0
- package/tag/types.d.ts +23 -14
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +60 -0
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +57 -0
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +134 -0
- package/text-input/TextInput.d.ts +4 -0
- package/text-input/TextInput.js +223 -375
- package/text-input/TextInput.stories.tsx +481 -0
- package/text-input/TextInput.test.js +1714 -0
- package/text-input/types.d.ts +197 -0
- package/text-input/types.js +5 -0
- package/textarea/Textarea.d.ts +4 -0
- package/textarea/Textarea.js +39 -79
- package/textarea/Textarea.stories.jsx +37 -15
- package/textarea/Textarea.test.js +437 -0
- package/textarea/types.d.ts +137 -0
- package/textarea/types.js +5 -0
- package/toggle-group/ToggleGroup.d.ts +4 -0
- package/toggle-group/ToggleGroup.js +18 -46
- package/toggle-group/ToggleGroup.stories.tsx +173 -0
- package/toggle-group/ToggleGroup.test.js +156 -0
- package/toggle-group/types.d.ts +105 -0
- package/toggle-group/types.js +5 -0
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +131 -0
- package/typography/Typography.stories.tsx +198 -0
- package/typography/types.d.ts +18 -0
- package/typography/types.js +5 -0
- package/useTheme.d.ts +2 -0
- package/useTheme.js +2 -2
- package/useTranslatedLabels.d.ts +2 -0
- package/useTranslatedLabels.js +20 -0
- package/wizard/Wizard.d.ts +4 -0
- package/wizard/Wizard.js +118 -104
- package/wizard/Wizard.stories.tsx +233 -0
- package/wizard/Wizard.test.js +141 -0
- package/wizard/types.d.ts +65 -0
- package/wizard/types.js +5 -0
- package/ThemeContext.js +0 -246
- package/V3Select/V3Select.js +0 -455
- package/V3Select/index.d.ts +0 -27
- package/V3Textarea/V3Textarea.js +0 -260
- package/V3Textarea/index.d.ts +0 -27
- package/chip/index.d.ts +0 -22
- package/date/Date.js +0 -373
- package/date/index.d.ts +0 -27
- package/file-input/index.d.ts +0 -81
- package/heading/index.d.ts +0 -17
- package/input-text/Icons.js +0 -22
- package/input-text/InputText.js +0 -611
- package/input-text/index.d.ts +0 -36
- package/number-input/index.d.ts +0 -113
- package/radio/Radio.d.ts +0 -4
- package/radio/Radio.js +0 -174
- package/radio/Radio.stories.tsx +0 -192
- package/radio/types.d.ts +0 -54
- package/resultsetTable/index.d.ts +0 -19
- package/select/index.d.ts +0 -131
- package/sidenav/index.d.ts +0 -13
- package/text-input/index.d.ts +0 -135
- package/textarea/index.d.ts +0 -117
- package/toggle/Toggle.js +0 -186
- package/toggle/index.d.ts +0 -21
- package/toggle-group/index.d.ts +0 -21
- package/upload/Upload.js +0 -201
- package/upload/buttons-upload/ButtonsUpload.js +0 -111
- package/upload/buttons-upload/Icons.js +0 -40
- package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
- package/upload/dragAndDropArea/Icons.js +0 -39
- package/upload/file-upload/FileToUpload.js +0 -115
- package/upload/file-upload/Icons.js +0 -66
- package/upload/files-upload/FilesToUpload.js +0 -109
- package/upload/index.d.ts +0 -15
- package/upload/transaction/Icons.js +0 -160
- package/upload/transaction/Transaction.js +0 -104
- package/upload/transactions/Transactions.js +0 -94
- package/wizard/Icons.js +0 -65
- package/wizard/index.d.ts +0 -18
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"));
|
|
@@ -27,13 +25,13 @@ var _variables = require("../common/variables.js");
|
|
|
27
25
|
|
|
28
26
|
var _utils = require("../common/utils.js");
|
|
29
27
|
|
|
30
|
-
var _useTheme = _interopRequireDefault(require("../useTheme
|
|
28
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
31
29
|
|
|
32
|
-
var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext
|
|
30
|
+
var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
|
|
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
|
|
|
@@ -44,6 +42,7 @@ var DxcSlider = function DxcSlider(_ref) {
|
|
|
44
42
|
label = _ref$label === void 0 ? "" : _ref$label,
|
|
45
43
|
_ref$name = _ref.name,
|
|
46
44
|
name = _ref$name === void 0 ? "" : _ref$name,
|
|
45
|
+
defaultValue = _ref.defaultValue,
|
|
47
46
|
value = _ref.value,
|
|
48
47
|
_ref$helperText = _ref.helperText,
|
|
49
48
|
helperText = _ref$helperText === void 0 ? "" : _ref$helperText,
|
|
@@ -68,17 +67,22 @@ var DxcSlider = function DxcSlider(_ref) {
|
|
|
68
67
|
_ref$size = _ref.size,
|
|
69
68
|
size = _ref$size === void 0 ? "fillParent" : _ref$size;
|
|
70
69
|
|
|
71
|
-
var _useState = (0, _react.useState)(0),
|
|
70
|
+
var _useState = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : 0),
|
|
72
71
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
73
72
|
innerValue = _useState2[0],
|
|
74
73
|
setInnerValue = _useState2[1];
|
|
75
74
|
|
|
75
|
+
var _useState3 = (0, _react.useState)(false),
|
|
76
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
77
|
+
dragging = _useState4[0],
|
|
78
|
+
setDragging = _useState4[1];
|
|
79
|
+
|
|
76
80
|
var colorsTheme = (0, _useTheme["default"])();
|
|
77
81
|
var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
|
|
78
82
|
|
|
79
|
-
var
|
|
80
|
-
|
|
81
|
-
labelId =
|
|
83
|
+
var _useState5 = (0, _react.useState)("label-".concat((0, _uuid.v4)())),
|
|
84
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 1),
|
|
85
|
+
labelId = _useState6[0];
|
|
82
86
|
|
|
83
87
|
var minLabel = (0, _react.useMemo)(function () {
|
|
84
88
|
return labelFormatCallback ? labelFormatCallback(minValue) : minValue;
|
|
@@ -86,15 +90,44 @@ var DxcSlider = function DxcSlider(_ref) {
|
|
|
86
90
|
var maxLabel = (0, _react.useMemo)(function () {
|
|
87
91
|
return labelFormatCallback ? labelFormatCallback(maxValue) : maxValue;
|
|
88
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
|
+
};
|
|
89
121
|
|
|
90
|
-
var
|
|
91
|
-
|
|
92
|
-
valueToCheck !== newValue && setInnerValue(newValue);
|
|
93
|
-
onChange === null || onChange === void 0 ? void 0 : onChange(newValue);
|
|
122
|
+
var handleSliderDragging = function handleSliderDragging() {
|
|
123
|
+
setDragging(true);
|
|
94
124
|
};
|
|
95
125
|
|
|
96
|
-
var handleSliderOnChangeCommited = function handleSliderOnChangeCommited(event
|
|
97
|
-
|
|
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
|
+
}
|
|
98
131
|
};
|
|
99
132
|
|
|
100
133
|
var handlerInputChange = function handlerInputChange(event) {
|
|
@@ -109,6 +142,7 @@ var DxcSlider = function DxcSlider(_ref) {
|
|
|
109
142
|
}
|
|
110
143
|
};
|
|
111
144
|
|
|
145
|
+
var isFirefox = navigator.userAgent.indexOf("Firefox") !== -1;
|
|
112
146
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
113
147
|
theme: colorsTheme.slider
|
|
114
148
|
}, /*#__PURE__*/_react["default"].createElement(Container, {
|
|
@@ -121,28 +155,36 @@ var DxcSlider = function DxcSlider(_ref) {
|
|
|
121
155
|
}, label), /*#__PURE__*/_react["default"].createElement(HelperText, {
|
|
122
156
|
disabled: disabled,
|
|
123
157
|
backgroundType: backgroundType
|
|
124
|
-
}, helperText), /*#__PURE__*/_react["default"].createElement(SliderContainer, {
|
|
125
|
-
backgroundType: backgroundType
|
|
126
|
-
}, showLimitsValues && /*#__PURE__*/_react["default"].createElement(MinLabelContainer, {
|
|
158
|
+
}, helperText), /*#__PURE__*/_react["default"].createElement(SliderContainer, null, showLimitsValues && /*#__PURE__*/_react["default"].createElement(MinLabelContainer, {
|
|
127
159
|
backgroundType: backgroundType,
|
|
128
160
|
disabled: disabled
|
|
129
|
-
}, minLabel), /*#__PURE__*/_react["default"].createElement(
|
|
130
|
-
|
|
161
|
+
}, minLabel), /*#__PURE__*/_react["default"].createElement(SliderInputContainer, null, /*#__PURE__*/_react["default"].createElement(SliderInput, {
|
|
162
|
+
role: "slider",
|
|
163
|
+
type: "range",
|
|
164
|
+
value: value != null && value >= 0 ? value : innerValue,
|
|
131
165
|
min: minValue,
|
|
132
166
|
max: maxValue,
|
|
133
|
-
onChange: handlerSliderChange,
|
|
134
|
-
onChangeCommitted: handleSliderOnChangeCommited,
|
|
135
167
|
step: step,
|
|
136
|
-
marks: marks
|
|
168
|
+
marks: marks,
|
|
137
169
|
disabled: disabled,
|
|
138
|
-
"aria-labelledby": labelId
|
|
139
|
-
|
|
170
|
+
"aria-labelledby": labelId,
|
|
171
|
+
"aria-orientation": "horizontal",
|
|
172
|
+
"aria-valuemax": maxValue,
|
|
173
|
+
"aria-valuemin": minValue,
|
|
174
|
+
"aria-valuenow": value != null && value >= 0 ? value : innerValue,
|
|
175
|
+
onChange: handleSliderChange,
|
|
176
|
+
onMouseUp: handleSliderOnChangeCommited,
|
|
177
|
+
onMouseDown: handleSliderDragging,
|
|
178
|
+
backgroundType: backgroundType
|
|
179
|
+
}), marks && /*#__PURE__*/_react["default"].createElement(MarksContainer, {
|
|
180
|
+
isFirefox: isFirefox
|
|
181
|
+
}, tickMarks)), showLimitsValues && /*#__PURE__*/_react["default"].createElement(MaxLabelContainer, {
|
|
140
182
|
backgroundType: backgroundType,
|
|
141
183
|
disabled: disabled,
|
|
142
184
|
step: step
|
|
143
185
|
}, maxLabel), showInput && /*#__PURE__*/_react["default"].createElement(StyledTextInput, null, /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
144
186
|
name: name,
|
|
145
|
-
value: value != null && value >= 0
|
|
187
|
+
value: value != null && value >= 0 ? value.toString() : innerValue.toString(),
|
|
146
188
|
disabled: disabled,
|
|
147
189
|
onChange: handlerInputChange,
|
|
148
190
|
size: "fillParent"
|
|
@@ -150,7 +192,7 @@ var DxcSlider = function DxcSlider(_ref) {
|
|
|
150
192
|
};
|
|
151
193
|
|
|
152
194
|
var sizes = {
|
|
153
|
-
medium: "
|
|
195
|
+
medium: "360px",
|
|
154
196
|
large: "480px",
|
|
155
197
|
fillParent: "100%"
|
|
156
198
|
};
|
|
@@ -159,6 +201,14 @@ var calculateWidth = function calculateWidth(margin, size) {
|
|
|
159
201
|
return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
|
|
160
202
|
};
|
|
161
203
|
|
|
204
|
+
var getChromeStyles = function getChromeStyles() {
|
|
205
|
+
return "\n width: 100%;\n margin-right: 4px;";
|
|
206
|
+
};
|
|
207
|
+
|
|
208
|
+
var getFireFoxStyles = function getFireFoxStyles() {
|
|
209
|
+
return "\n width: calc(100% - 16px);\n margin-right: 3px;";
|
|
210
|
+
};
|
|
211
|
+
|
|
162
212
|
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) {
|
|
163
213
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
164
214
|
}, function (props) {
|
|
@@ -201,83 +251,51 @@ var HelperText = _styledComponents["default"].span(_templateObject3 || (_templat
|
|
|
201
251
|
return props.theme.helperTextLineHeight;
|
|
202
252
|
});
|
|
203
253
|
|
|
204
|
-
var
|
|
205
|
-
return props.
|
|
206
|
-
}, function (props) {
|
|
207
|
-
return props.theme.thumbHeight;
|
|
208
|
-
}, function (props) {
|
|
209
|
-
return props.theme.thumbWidth;
|
|
210
|
-
}, function (props) {
|
|
211
|
-
return props.backgroundType === "dark" ? props.theme.disabledThumbBackgroundColorOnDark : props.theme.disabledThumbBackgroundColor;
|
|
212
|
-
}, function (props) {
|
|
213
|
-
return props.theme.disabledThumbVerticalPosition;
|
|
214
|
-
}, function (props) {
|
|
215
|
-
return props.backgroundType === "dark" ? props.theme.disabledTrackLineColorOnDark : props.theme.disabledTrackLineColor;
|
|
216
|
-
}, function (props) {
|
|
217
|
-
return props.backgroundType === "dark" ? props.theme.disabledTotalLineColorOnDark : props.theme.disabledTotalLineColor;
|
|
218
|
-
}, function (props) {
|
|
219
|
-
return props.backgroundType === "dark" ? props.theme.disabledTickBackgroundColorOnDark : props.theme.disabledTickBackgroundColor;
|
|
254
|
+
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) {
|
|
255
|
+
return props.theme.trackLineThickness;
|
|
220
256
|
}, function (props) {
|
|
221
|
-
return props.backgroundType === "dark" ? props.theme.
|
|
257
|
+
return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledTotalLineColorOnDark + "61" : props.theme.disabledTotalLineColor + "61" : props.backgroundType === "dark" ? props.theme.totalLineColorOnDark + "61" : props.theme.totalLineColor + "61";
|
|
222
258
|
}, function (props) {
|
|
223
|
-
return props.theme.
|
|
259
|
+
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, ")");
|
|
224
260
|
}, function (props) {
|
|
225
|
-
return props.
|
|
261
|
+
return (props.value - props.min) * 100 / (props.max - props.min) + "% 100%";
|
|
226
262
|
}, function (props) {
|
|
227
|
-
return props.
|
|
263
|
+
return props.disabled ? "not-allowed" : "pointer";
|
|
228
264
|
}, function (props) {
|
|
229
265
|
return props.theme.thumbHeight;
|
|
230
266
|
}, function (props) {
|
|
231
267
|
return props.theme.thumbWidth;
|
|
232
268
|
}, function (props) {
|
|
233
|
-
return props.backgroundType === "dark" ? props.theme.thumbBackgroundColorOnDark : props.theme.thumbBackgroundColor;
|
|
269
|
+
return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledThumbBackgroundColorOnDark : props.theme.disabledThumbBackgroundColor : props.backgroundType === "dark" ? props.theme.thumbBackgroundColorOnDark : props.theme.thumbBackgroundColor;
|
|
234
270
|
}, function (props) {
|
|
235
|
-
|
|
271
|
+
if (!props.disabled) {
|
|
272
|
+
return "\n background: ".concat(props.backgroundType === "dark" ? props.theme.activeThumbBackgroundColorOnDark : props.theme.activeThumbBackgroundColor, ";\n transform: scale(1.16667);");
|
|
273
|
+
}
|
|
236
274
|
}, function (props) {
|
|
237
|
-
|
|
275
|
+
if (!props.disabled) {
|
|
276
|
+
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, ";");
|
|
277
|
+
}
|
|
238
278
|
}, function (props) {
|
|
239
|
-
return props.
|
|
240
|
-
}, function (props) {
|
|
241
|
-
return props.backgroundType === "dark" ? props.theme.hoverThumbBackgroundColorOnDark : props.theme.hoverThumbBackgroundColor;
|
|
242
|
-
}, function (props) {
|
|
243
|
-
return props.theme.hoverThumbScale;
|
|
244
|
-
}, function (props) {
|
|
245
|
-
return props.theme.hoverThumbHeight;
|
|
279
|
+
return props.theme.thumbHeight;
|
|
246
280
|
}, function (props) {
|
|
247
|
-
return props.theme.
|
|
281
|
+
return props.theme.thumbWidth;
|
|
248
282
|
}, function (props) {
|
|
249
|
-
return props.theme.
|
|
283
|
+
return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledThumbBackgroundColorOnDark : props.theme.disabledThumbBackgroundColor : props.backgroundType === "dark" ? props.theme.thumbBackgroundColorOnDark : props.theme.thumbBackgroundColor;
|
|
250
284
|
}, function (props) {
|
|
251
285
|
return props.backgroundType === "dark" ? props.theme.activeThumbBackgroundColorOnDark : props.theme.activeThumbBackgroundColor;
|
|
252
286
|
}, function (props) {
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
}, function (props) {
|
|
257
|
-
return props.theme.trackLineThickness;
|
|
258
|
-
}, function (props) {
|
|
259
|
-
return props.theme.trackLineVerticalPosition;
|
|
260
|
-
}, function (props) {
|
|
261
|
-
return props.backgroundType === "dark" ? props.theme.trackLineColorOnDark : props.theme.trackLineColor;
|
|
262
|
-
}, function (props) {
|
|
263
|
-
return props.backgroundType === "dark" ? props.theme.totalLineColorOnDark : props.theme.totalLineColor;
|
|
264
|
-
}, function (props) {
|
|
265
|
-
return props.theme.totalLineThickness;
|
|
266
|
-
}, function (props) {
|
|
267
|
-
return props.theme.totalLineVerticalPosition;
|
|
268
|
-
}, function (props) {
|
|
269
|
-
return props.backgroundType === "dark" ? props.theme.tickBackgroundColorOnDark : props.theme.tickBackgroundColor;
|
|
270
|
-
}, function (props) {
|
|
271
|
-
return props.backgroundType === "dark" ? props.theme.tickBackgroundColorOnDark : props.theme.tickBackgroundColor;
|
|
287
|
+
if (!props.disabled) {
|
|
288
|
+
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, ";");
|
|
289
|
+
}
|
|
272
290
|
}, function (props) {
|
|
273
|
-
return props.theme.
|
|
274
|
-
}, function (props) {
|
|
275
|
-
return props.theme.tickWidth;
|
|
291
|
+
return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledFocusColorOnDark : props.theme.disabledFocusColor : props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
|
|
276
292
|
}, function (props) {
|
|
277
|
-
return props.theme.
|
|
293
|
+
return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledFocusColorOnDark : props.theme.disabledFocusColor : props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
|
|
278
294
|
});
|
|
279
295
|
|
|
280
|
-
var
|
|
296
|
+
var SliderContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n height: 48px;\n align-items: center;\n"])));
|
|
297
|
+
|
|
298
|
+
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) {
|
|
281
299
|
return props.disabled ? props.theme.disabledLimitValuesFontColor : props.backgroundType === "dark" ? props.theme.limitValuesFontColorOnDark : props.theme.limitValuesFontColor;
|
|
282
300
|
}, function (props) {
|
|
283
301
|
return props.theme.fontFamily;
|
|
@@ -289,27 +307,34 @@ var MinLabelContainer = _styledComponents["default"].span(_templateObject5 || (_
|
|
|
289
307
|
return props.theme.limitValuesFontWeight;
|
|
290
308
|
}, function (props) {
|
|
291
309
|
return props.theme.limitValuesFontLetterSpacing;
|
|
292
|
-
}
|
|
310
|
+
});
|
|
311
|
+
|
|
312
|
+
var MinLabelContainer = (0, _styledComponents["default"])(LimitLabelContainer)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: ", ";\n"])), function (props) {
|
|
293
313
|
return props.theme.floorLabelMarginRight;
|
|
294
314
|
});
|
|
315
|
+
var MaxLabelContainer = (0, _styledComponents["default"])(LimitLabelContainer)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: ", ";\n"])), function (props) {
|
|
316
|
+
return props.step === 1 ? props.theme.ceilLabelMarginLeft : "1.25rem";
|
|
317
|
+
});
|
|
295
318
|
|
|
296
|
-
var
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
return props.
|
|
300
|
-
}
|
|
301
|
-
|
|
319
|
+
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"])));
|
|
320
|
+
|
|
321
|
+
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) {
|
|
322
|
+
return props.isFirefox ? getFireFoxStyles() : getChromeStyles();
|
|
323
|
+
});
|
|
324
|
+
|
|
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) {
|
|
326
|
+
return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledTickBackgroundColorOnDark : props.theme.disabledTickBackgroundColor : props.backgroundType === "dark" ? props.theme.tickBackgroundColorOnDark : props.theme.tickBackgroundColor;
|
|
302
327
|
}, function (props) {
|
|
303
|
-
return props.theme.
|
|
328
|
+
return props.theme.tickHeight;
|
|
304
329
|
}, function (props) {
|
|
305
|
-
return props.theme.
|
|
330
|
+
return props.theme.tickWidth;
|
|
306
331
|
}, function (props) {
|
|
307
|
-
return props.
|
|
332
|
+
return "calc(".concat(props.stepPosition, " * 100%)");
|
|
308
333
|
}, function (props) {
|
|
309
|
-
return props.
|
|
334
|
+
return !props.disabled ? "z-index: ".concat(props.stepPosition <= props.stepValue ? "0" : "1") : "";
|
|
310
335
|
});
|
|
311
336
|
|
|
312
|
-
var StyledTextInput = _styledComponents["default"].div(
|
|
337
|
+
var StyledTextInput = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: ", ";\n max-width: 70px;\n"])), function (props) {
|
|
313
338
|
return props.theme.inputMarginLeft;
|
|
314
339
|
});
|
|
315
340
|
|
|
@@ -4,13 +4,14 @@ import { BackgroundColorProvider } from "../BackgroundColorContext";
|
|
|
4
4
|
import Title from "../../.storybook/components/Title";
|
|
5
5
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
6
6
|
import DarkContainer from "../../.storybook/components/DarkSection";
|
|
7
|
-
import { userEvent, within } from "@storybook/testing-library";
|
|
8
7
|
|
|
9
8
|
export default {
|
|
10
9
|
title: "Slider",
|
|
11
10
|
component: DxcSlider,
|
|
12
11
|
};
|
|
13
12
|
|
|
13
|
+
const labelFormat = (value) => `${value}E100000000000000000000000`;
|
|
14
|
+
|
|
14
15
|
export const Chromatic = () => (
|
|
15
16
|
<>
|
|
16
17
|
<Title title="States" theme="light" level={2} />
|
|
@@ -36,7 +37,7 @@ export const Chromatic = () => (
|
|
|
36
37
|
label="Slider"
|
|
37
38
|
helperText="Help message"
|
|
38
39
|
disabled
|
|
39
|
-
|
|
40
|
+
defaultValue={40}
|
|
40
41
|
minValue={0}
|
|
41
42
|
maxValue={50}
|
|
42
43
|
showLimitsValues
|
|
@@ -48,16 +49,16 @@ export const Chromatic = () => (
|
|
|
48
49
|
<Title title="Variants" theme="light" level={2} />
|
|
49
50
|
<ExampleContainer>
|
|
50
51
|
<Title title="Continuous slider" theme="light" level={4} />
|
|
51
|
-
<DxcSlider
|
|
52
|
+
<DxcSlider defaultValue={65} label="Slider" helperText="Help message" showLimitsValues />
|
|
52
53
|
</ExampleContainer>
|
|
53
54
|
<ExampleContainer>
|
|
54
55
|
<Title title="Discrete slider" theme="light" level={4} />
|
|
55
|
-
<DxcSlider
|
|
56
|
+
<DxcSlider defaultValue={20} label="Slider" helperText="Help message" showLimitsValues marks step={5} />
|
|
56
57
|
</ExampleContainer>
|
|
57
58
|
<ExampleContainer>
|
|
58
59
|
<Title title="Discrete slider with input" theme="light" level={4} />
|
|
59
60
|
<DxcSlider
|
|
60
|
-
|
|
61
|
+
defaultValue={20}
|
|
61
62
|
minValue={0}
|
|
62
63
|
maxValue={50}
|
|
63
64
|
label="Slider"
|
|
@@ -93,7 +94,7 @@ export const Chromatic = () => (
|
|
|
93
94
|
label="Slider"
|
|
94
95
|
helperText="Help message"
|
|
95
96
|
disabled
|
|
96
|
-
|
|
97
|
+
defaultValue={40}
|
|
97
98
|
minValue={0}
|
|
98
99
|
maxValue={50}
|
|
99
100
|
showLimitsValues
|
|
@@ -104,16 +105,16 @@ export const Chromatic = () => (
|
|
|
104
105
|
</ExampleContainer>
|
|
105
106
|
<ExampleContainer>
|
|
106
107
|
<Title title="Continuous slider" theme="dark" level={4} />
|
|
107
|
-
<DxcSlider
|
|
108
|
+
<DxcSlider defaultValue={65} label="Slider" helperText="Help message" showLimitsValues />
|
|
108
109
|
</ExampleContainer>
|
|
109
110
|
<ExampleContainer>
|
|
110
111
|
<Title title="Discrete slider" theme="dark" level={4} />
|
|
111
|
-
<DxcSlider
|
|
112
|
+
<DxcSlider defaultValue={20} label="Slider" helperText="Help message" showLimitsValues marks step={5} />
|
|
112
113
|
</ExampleContainer>
|
|
113
114
|
<ExampleContainer>
|
|
114
115
|
<Title title="Discrete slider with input" theme="dark" level={4} />
|
|
115
116
|
<DxcSlider
|
|
116
|
-
|
|
117
|
+
defaultValue={20}
|
|
117
118
|
minValue={0}
|
|
118
119
|
maxValue={50}
|
|
119
120
|
label="Slider"
|
|
@@ -168,5 +169,15 @@ export const Chromatic = () => (
|
|
|
168
169
|
<Title title="FillParent" theme="light" level={4} />
|
|
169
170
|
<DxcSlider label="FillParent" size="fillParent" />
|
|
170
171
|
</ExampleContainer>
|
|
172
|
+
<ExampleContainer>
|
|
173
|
+
<Title title="Large limit values labels" theme="light" level={4} />
|
|
174
|
+
<DxcSlider
|
|
175
|
+
label="Slider"
|
|
176
|
+
helperText="Help message"
|
|
177
|
+
showLimitsValues
|
|
178
|
+
labelFormatCallback={labelFormat}
|
|
179
|
+
size="large"
|
|
180
|
+
/>
|
|
181
|
+
</ExampleContainer>
|
|
171
182
|
</>
|
|
172
183
|
);
|