@dxc-technology/halstack-react 0.0.0-8719165 → 0.0.0-87e1151
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/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.js +87 -95
- package/checkbox/Checkbox.test.js +93 -16
- package/checkbox/types.d.ts +2 -2
- package/common/variables.js +12 -4
- package/dialog/Dialog.js +4 -4
- package/dialog/Dialog.stories.tsx +56 -0
- package/dialog/types.d.ts +1 -0
- package/dropdown/Dropdown.js +6 -5
- package/dropdown/Dropdown.test.js +2 -3
- package/dropdown/DropdownMenuItem.js +1 -1
- package/footer/Footer.stories.tsx +8 -1
- package/footer/types.d.ts +1 -0
- package/header/Header.js +74 -72
- package/header/Header.stories.tsx +4 -4
- package/header/Icons.js +2 -2
- package/header/types.d.ts +3 -2
- package/layout/ApplicationLayout.stories.tsx +1 -0
- package/number-input/NumberInput.test.js +1 -1
- package/package.json +8 -8
- 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 +18 -20
- package/radio-group/RadioGroup.stories.tsx +1 -0
- package/radio-group/RadioGroup.test.js +28 -58
- package/radio-group/types.d.ts +2 -2
- package/select/Listbox.js +0 -1
- package/select/Select.js +2 -1
- package/slider/Slider.js +116 -92
- package/slider/Slider.stories.tsx +7 -1
- package/slider/Slider.test.js +121 -21
- package/slider/types.d.ts +2 -2
- package/switch/Switch.js +91 -81
- package/switch/Switch.test.js +26 -13
- 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 +170 -258
- package/text-input/TextInput.stories.tsx +189 -181
- package/text-input/TextInput.test.js +165 -163
- package/text-input/types.d.ts +21 -2
|
@@ -4,12 +4,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
|
|
5
5
|
var _react = _interopRequireDefault(require("react"));
|
|
6
6
|
|
|
7
|
-
var _RadioGroup = _interopRequireDefault(require("./RadioGroup"));
|
|
8
|
-
|
|
9
7
|
var _react2 = require("@testing-library/react");
|
|
10
8
|
|
|
11
9
|
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
12
10
|
|
|
11
|
+
var _RadioGroup = _interopRequireDefault(require("./RadioGroup.tsx"));
|
|
12
|
+
|
|
13
13
|
var options = [{
|
|
14
14
|
label: "Option 01",
|
|
15
15
|
value: "1"
|
|
@@ -38,7 +38,7 @@ var options = [{
|
|
|
38
38
|
label: "Option 09",
|
|
39
39
|
value: "9"
|
|
40
40
|
}];
|
|
41
|
-
var
|
|
41
|
+
var singleDisabledOptions = [{
|
|
42
42
|
label: "Option 01",
|
|
43
43
|
value: "1"
|
|
44
44
|
}, {
|
|
@@ -107,8 +107,8 @@ describe("Radio Group component tests", function () {
|
|
|
107
107
|
});
|
|
108
108
|
|
|
109
109
|
_react2.fireEvent.keyDown(radioGroup, {
|
|
110
|
-
key: "
|
|
111
|
-
code: "
|
|
110
|
+
key: " ",
|
|
111
|
+
code: "Space",
|
|
112
112
|
keyCode: 13,
|
|
113
113
|
charCode: 13
|
|
114
114
|
});
|
|
@@ -135,7 +135,7 @@ describe("Radio Group component tests", function () {
|
|
|
135
135
|
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
|
|
136
136
|
name: "test",
|
|
137
137
|
label: "test-radioGroup-label",
|
|
138
|
-
options:
|
|
138
|
+
options: singleDisabledOptions
|
|
139
139
|
})),
|
|
140
140
|
getByRole = _render4.getByRole,
|
|
141
141
|
getAllByRole = _render4.getAllByRole;
|
|
@@ -403,7 +403,7 @@ describe("Radio Group component tests", function () {
|
|
|
403
403
|
expect(onChange).not.toHaveBeenCalled();
|
|
404
404
|
expect(document.activeElement).toEqual(checkedRadio);
|
|
405
405
|
});
|
|
406
|
-
test("The '
|
|
406
|
+
test("The 'space' key checks the current focused option if anyone is checked", function () {
|
|
407
407
|
var onChange = jest.fn();
|
|
408
408
|
|
|
409
409
|
var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
|
|
@@ -422,37 +422,7 @@ describe("Radio Group component tests", function () {
|
|
|
422
422
|
var submitInput = container.querySelector("input[name=\"test\"]");
|
|
423
423
|
|
|
424
424
|
_react2.fireEvent.keyDown(radioGroup, {
|
|
425
|
-
key: "
|
|
426
|
-
code: "Enter",
|
|
427
|
-
keyCode: 13,
|
|
428
|
-
charCode: 13
|
|
429
|
-
});
|
|
430
|
-
|
|
431
|
-
expect(onChange).toHaveBeenCalledWith("1");
|
|
432
|
-
expect(checkedRadio.getAttribute("aria-checked")).toBe("true");
|
|
433
|
-
expect(checkedRadio.tabIndex).toBe(0);
|
|
434
|
-
expect(submitInput.value).toBe("1");
|
|
435
|
-
});
|
|
436
|
-
test("The 'space' key checks the current focused option if anyone is checked", function () {
|
|
437
|
-
var onChange = jest.fn();
|
|
438
|
-
|
|
439
|
-
var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
|
|
440
|
-
name: "test",
|
|
441
|
-
label: "test-radio-group-label",
|
|
442
|
-
helperText: "test-radio-group-helper-text",
|
|
443
|
-
options: options,
|
|
444
|
-
onChange: onChange
|
|
445
|
-
})),
|
|
446
|
-
getByRole = _render15.getByRole,
|
|
447
|
-
getAllByRole = _render15.getAllByRole,
|
|
448
|
-
container = _render15.container;
|
|
449
|
-
|
|
450
|
-
var radioGroup = getByRole("radiogroup");
|
|
451
|
-
var checkedRadio = getAllByRole("radio")[0];
|
|
452
|
-
var submitInput = container.querySelector("input[name=\"test\"]");
|
|
453
|
-
|
|
454
|
-
_react2.fireEvent.keyDown(radioGroup, {
|
|
455
|
-
key: "Space",
|
|
425
|
+
key: " ",
|
|
456
426
|
code: "Space",
|
|
457
427
|
keyCode: 32,
|
|
458
428
|
charCode: 32
|
|
@@ -467,7 +437,7 @@ describe("Radio Group component tests", function () {
|
|
|
467
437
|
var onChange = jest.fn();
|
|
468
438
|
var onBlur = jest.fn();
|
|
469
439
|
|
|
470
|
-
var
|
|
440
|
+
var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
|
|
471
441
|
name: "test",
|
|
472
442
|
label: "test-radio-group-label",
|
|
473
443
|
helperText: "test-radio-group-helper-text",
|
|
@@ -475,9 +445,9 @@ describe("Radio Group component tests", function () {
|
|
|
475
445
|
onChange: onChange,
|
|
476
446
|
onBlur: onBlur
|
|
477
447
|
})),
|
|
478
|
-
getByRole =
|
|
479
|
-
getAllByRole =
|
|
480
|
-
container =
|
|
448
|
+
getByRole = _render15.getByRole,
|
|
449
|
+
getAllByRole = _render15.getAllByRole,
|
|
450
|
+
container = _render15.container;
|
|
481
451
|
|
|
482
452
|
var radioGroup = getByRole("radiogroup");
|
|
483
453
|
var radios = getAllByRole("radio");
|
|
@@ -510,7 +480,7 @@ describe("Radio Group component tests", function () {
|
|
|
510
480
|
var onChange = jest.fn();
|
|
511
481
|
var onBlur = jest.fn();
|
|
512
482
|
|
|
513
|
-
var
|
|
483
|
+
var _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
|
|
514
484
|
defaultValue: "8",
|
|
515
485
|
name: "test",
|
|
516
486
|
label: "test-radio-group-label",
|
|
@@ -519,9 +489,9 @@ describe("Radio Group component tests", function () {
|
|
|
519
489
|
onChange: onChange,
|
|
520
490
|
onBlur: onBlur
|
|
521
491
|
})),
|
|
522
|
-
getByRole =
|
|
523
|
-
getAllByRole =
|
|
524
|
-
container =
|
|
492
|
+
getByRole = _render16.getByRole,
|
|
493
|
+
getAllByRole = _render16.getAllByRole,
|
|
494
|
+
container = _render16.container;
|
|
525
495
|
|
|
526
496
|
var radioGroup = getByRole("radiogroup");
|
|
527
497
|
var radios = getAllByRole("radio");
|
|
@@ -559,7 +529,7 @@ describe("Radio Group component tests", function () {
|
|
|
559
529
|
var onChange = jest.fn();
|
|
560
530
|
var onBlur = jest.fn();
|
|
561
531
|
|
|
562
|
-
var
|
|
532
|
+
var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
|
|
563
533
|
defaultValue: "2",
|
|
564
534
|
name: "test",
|
|
565
535
|
label: "test-radio-group-label",
|
|
@@ -568,9 +538,9 @@ describe("Radio Group component tests", function () {
|
|
|
568
538
|
onChange: onChange,
|
|
569
539
|
onBlur: onBlur
|
|
570
540
|
})),
|
|
571
|
-
getByRole =
|
|
572
|
-
getAllByRole =
|
|
573
|
-
container =
|
|
541
|
+
getByRole = _render17.getByRole,
|
|
542
|
+
getAllByRole = _render17.getAllByRole,
|
|
543
|
+
container = _render17.container;
|
|
574
544
|
|
|
575
545
|
var radioGroup = getByRole("radiogroup");
|
|
576
546
|
var radios = getAllByRole("radio");
|
|
@@ -607,16 +577,16 @@ describe("Radio Group component tests", function () {
|
|
|
607
577
|
test("Keyboard focus movement continues from the last radio input clicked", function () {
|
|
608
578
|
var onChange = jest.fn();
|
|
609
579
|
|
|
610
|
-
var
|
|
580
|
+
var _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
|
|
611
581
|
name: "test",
|
|
612
582
|
label: "test-radio-group-label",
|
|
613
583
|
helperText: "test-radio-group-helper-text",
|
|
614
584
|
options: options,
|
|
615
585
|
onChange: onChange
|
|
616
586
|
})),
|
|
617
|
-
getByRole =
|
|
618
|
-
getAllByRole =
|
|
619
|
-
container =
|
|
587
|
+
getByRole = _render18.getByRole,
|
|
588
|
+
getAllByRole = _render18.getAllByRole,
|
|
589
|
+
container = _render18.container;
|
|
620
590
|
|
|
621
591
|
var radioGroup = getByRole("radiogroup");
|
|
622
592
|
var radios = getAllByRole("radio");
|
|
@@ -655,7 +625,7 @@ describe("Radio Group component tests", function () {
|
|
|
655
625
|
test("Readonly radio group lets the user move the focus, but neither click nor keyboard press changes the value", function () {
|
|
656
626
|
var onChange = jest.fn();
|
|
657
627
|
|
|
658
|
-
var
|
|
628
|
+
var _render19 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
|
|
659
629
|
name: "test",
|
|
660
630
|
label: "test-radio-group-label",
|
|
661
631
|
helperText: "test-radio-group-helper-text",
|
|
@@ -663,9 +633,9 @@ describe("Radio Group component tests", function () {
|
|
|
663
633
|
onChange: onChange,
|
|
664
634
|
readonly: true
|
|
665
635
|
})),
|
|
666
|
-
getByRole =
|
|
667
|
-
getAllByRole =
|
|
668
|
-
container =
|
|
636
|
+
getByRole = _render19.getByRole,
|
|
637
|
+
getAllByRole = _render19.getAllByRole,
|
|
638
|
+
container = _render19.container;
|
|
669
639
|
|
|
670
640
|
var radioGroup = getByRole("radiogroup");
|
|
671
641
|
var radios = getAllByRole("radio");
|
package/radio-group/types.d.ts
CHANGED
|
@@ -102,8 +102,8 @@ export declare type RefType = HTMLDivElement;
|
|
|
102
102
|
* Single radio prop types.
|
|
103
103
|
*/
|
|
104
104
|
export declare type RadioProps = {
|
|
105
|
-
|
|
106
|
-
|
|
105
|
+
label: string;
|
|
106
|
+
checked: boolean;
|
|
107
107
|
onClick: () => void;
|
|
108
108
|
error?: string;
|
|
109
109
|
disabled: boolean;
|
package/select/Listbox.js
CHANGED
|
@@ -151,7 +151,6 @@ var Listbox = function Listbox(_ref) {
|
|
|
151
151
|
ref: listboxRef,
|
|
152
152
|
role: "listbox",
|
|
153
153
|
"aria-multiselectable": multiple,
|
|
154
|
-
"aria-orientation": "vertical",
|
|
155
154
|
style: styles
|
|
156
155
|
}, searchable && (options.length === 0 || !groupsHaveOptions(options)) ? /*#__PURE__*/_react["default"].createElement(OptionsSystemMessage, null, /*#__PURE__*/_react["default"].createElement(NoMatchesFoundIcon, null, _Icons["default"].searchOff), translatedLabels.select.noMatchesErrorMessage) : optional && !multiple && /*#__PURE__*/_react["default"].createElement(_Option["default"], {
|
|
157
156
|
key: "option-".concat(optionalItem.value),
|
package/select/Select.js
CHANGED
|
@@ -383,7 +383,8 @@ var DxcSelect = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
383
383
|
}, helperText), /*#__PURE__*/_react["default"].createElement(Popover.Root, {
|
|
384
384
|
open: isOpen
|
|
385
385
|
}, /*#__PURE__*/_react["default"].createElement(Popover.Trigger, {
|
|
386
|
-
asChild: true
|
|
386
|
+
asChild: true,
|
|
387
|
+
type: undefined
|
|
387
388
|
}, /*#__PURE__*/_react["default"].createElement(Select, {
|
|
388
389
|
id: selectId,
|
|
389
390
|
disabled: disabled,
|
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,7 +31,7 @@ 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
|
|
|
@@ -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,6 +142,7 @@ 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, {
|
|
@@ -122,28 +155,36 @@ var DxcSlider = function DxcSlider(_ref) {
|
|
|
122
155
|
}, label), /*#__PURE__*/_react["default"].createElement(HelperText, {
|
|
123
156
|
disabled: disabled,
|
|
124
157
|
backgroundType: backgroundType
|
|
125
|
-
}, helperText), /*#__PURE__*/_react["default"].createElement(SliderContainer, {
|
|
126
|
-
backgroundType: backgroundType
|
|
127
|
-
}, showLimitsValues && /*#__PURE__*/_react["default"].createElement(MinLabelContainer, {
|
|
158
|
+
}, helperText), /*#__PURE__*/_react["default"].createElement(SliderContainer, null, showLimitsValues && /*#__PURE__*/_react["default"].createElement(MinLabelContainer, {
|
|
128
159
|
backgroundType: backgroundType,
|
|
129
160
|
disabled: disabled
|
|
130
|
-
}, minLabel), /*#__PURE__*/_react["default"].createElement(
|
|
131
|
-
|
|
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,
|
|
132
165
|
min: minValue,
|
|
133
166
|
max: maxValue,
|
|
134
|
-
onChange: handlerSliderChange,
|
|
135
|
-
onChangeCommitted: handleSliderOnChangeCommited,
|
|
136
167
|
step: step,
|
|
137
|
-
marks: marks
|
|
168
|
+
marks: marks,
|
|
138
169
|
disabled: disabled,
|
|
139
|
-
"aria-labelledby": labelId
|
|
140
|
-
|
|
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, {
|
|
141
182
|
backgroundType: backgroundType,
|
|
142
183
|
disabled: disabled,
|
|
143
184
|
step: step
|
|
144
185
|
}, maxLabel), showInput && /*#__PURE__*/_react["default"].createElement(StyledTextInput, null, /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
145
186
|
name: name,
|
|
146
|
-
value: value != null && value >= 0
|
|
187
|
+
value: value != null && value >= 0 ? value.toString() : innerValue.toString(),
|
|
147
188
|
disabled: disabled,
|
|
148
189
|
onChange: handlerInputChange,
|
|
149
190
|
size: "fillParent"
|
|
@@ -160,6 +201,14 @@ var calculateWidth = function calculateWidth(margin, size) {
|
|
|
160
201
|
return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
|
|
161
202
|
};
|
|
162
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
|
+
|
|
163
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) {
|
|
164
213
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
165
214
|
}, function (props) {
|
|
@@ -188,7 +237,7 @@ var Label = _styledComponents["default"].label(_templateObject2 || (_templateObj
|
|
|
188
237
|
return props.theme.labelLineHeight;
|
|
189
238
|
});
|
|
190
239
|
|
|
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) {
|
|
240
|
+
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
241
|
return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledHelperTextFontColorOnDark : props.theme.disabledHelperTextFontColor : props.backgroundType === "dark" ? props.theme.helperTextFontColorOnDark : props.theme.helperTextFontColor;
|
|
193
242
|
}, function (props) {
|
|
194
243
|
return props.theme.fontFamily;
|
|
@@ -202,83 +251,51 @@ var HelperText = _styledComponents["default"].span(_templateObject3 || (_templat
|
|
|
202
251
|
return props.theme.helperTextLineHeight;
|
|
203
252
|
});
|
|
204
253
|
|
|
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;
|
|
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;
|
|
221
256
|
}, function (props) {
|
|
222
|
-
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";
|
|
223
258
|
}, function (props) {
|
|
224
|
-
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, ")");
|
|
225
260
|
}, function (props) {
|
|
226
|
-
return props.
|
|
261
|
+
return (props.value - props.min) * 100 / (props.max - props.min) + "% 100%";
|
|
227
262
|
}, function (props) {
|
|
228
|
-
return props.
|
|
263
|
+
return props.disabled ? "not-allowed" : "pointer";
|
|
229
264
|
}, function (props) {
|
|
230
265
|
return props.theme.thumbHeight;
|
|
231
266
|
}, function (props) {
|
|
232
267
|
return props.theme.thumbWidth;
|
|
233
268
|
}, function (props) {
|
|
234
|
-
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;
|
|
235
270
|
}, function (props) {
|
|
236
|
-
|
|
271
|
+
if (!props.disabled) {
|
|
272
|
+
return "\n background: ".concat(props.backgroundType === "dark" ? props.theme.activeThumbBackgroundColorOnDark : props.theme.activeThumbBackgroundColor, ";\n transform: scale(1.16667);");
|
|
273
|
+
}
|
|
237
274
|
}, function (props) {
|
|
238
|
-
|
|
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
|
+
}
|
|
239
278
|
}, function (props) {
|
|
240
|
-
return props.
|
|
241
|
-
}, function (props) {
|
|
242
|
-
return props.backgroundType === "dark" ? props.theme.hoverThumbBackgroundColorOnDark : props.theme.hoverThumbBackgroundColor;
|
|
243
|
-
}, function (props) {
|
|
244
|
-
return props.theme.hoverThumbScale;
|
|
245
|
-
}, function (props) {
|
|
246
|
-
return props.theme.hoverThumbHeight;
|
|
279
|
+
return props.theme.thumbHeight;
|
|
247
280
|
}, function (props) {
|
|
248
|
-
return props.theme.
|
|
281
|
+
return props.theme.thumbWidth;
|
|
249
282
|
}, function (props) {
|
|
250
|
-
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;
|
|
251
284
|
}, function (props) {
|
|
252
285
|
return props.backgroundType === "dark" ? props.theme.activeThumbBackgroundColorOnDark : props.theme.activeThumbBackgroundColor;
|
|
253
286
|
}, function (props) {
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
}, function (props) {
|
|
258
|
-
return props.theme.trackLineThickness;
|
|
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;
|
|
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
|
+
}
|
|
273
290
|
}, function (props) {
|
|
274
|
-
return props.theme.
|
|
275
|
-
}, function (props) {
|
|
276
|
-
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;
|
|
277
292
|
}, function (props) {
|
|
278
|
-
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;
|
|
279
294
|
});
|
|
280
295
|
|
|
281
|
-
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) {
|
|
282
299
|
return props.disabled ? props.theme.disabledLimitValuesFontColor : props.backgroundType === "dark" ? props.theme.limitValuesFontColorOnDark : props.theme.limitValuesFontColor;
|
|
283
300
|
}, function (props) {
|
|
284
301
|
return props.theme.fontFamily;
|
|
@@ -290,27 +307,34 @@ var MinLabelContainer = _styledComponents["default"].span(_templateObject5 || (_
|
|
|
290
307
|
return props.theme.limitValuesFontWeight;
|
|
291
308
|
}, function (props) {
|
|
292
309
|
return props.theme.limitValuesFontLetterSpacing;
|
|
293
|
-
}
|
|
310
|
+
});
|
|
311
|
+
|
|
312
|
+
var MinLabelContainer = (0, _styledComponents["default"])(LimitLabelContainer)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: ", ";\n"])), function (props) {
|
|
294
313
|
return props.theme.floorLabelMarginRight;
|
|
295
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
|
+
});
|
|
296
318
|
|
|
297
|
-
var
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
return props.
|
|
301
|
-
}
|
|
302
|
-
|
|
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;
|
|
303
327
|
}, function (props) {
|
|
304
|
-
return props.theme.
|
|
328
|
+
return props.theme.tickHeight;
|
|
305
329
|
}, function (props) {
|
|
306
|
-
return props.theme.
|
|
330
|
+
return props.theme.tickWidth;
|
|
307
331
|
}, function (props) {
|
|
308
|
-
return props.
|
|
332
|
+
return "calc(".concat(props.stepPosition, " * 100%)");
|
|
309
333
|
}, function (props) {
|
|
310
|
-
return props.
|
|
334
|
+
return !props.disabled ? "z-index: ".concat(props.stepPosition <= props.stepValue ? "0" : "1") : "";
|
|
311
335
|
});
|
|
312
336
|
|
|
313
|
-
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) {
|
|
314
338
|
return props.theme.inputMarginLeft;
|
|
315
339
|
});
|
|
316
340
|
|
|
@@ -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
|
);
|