@dxc-technology/halstack-react 0.0.0-a7043e2 → 0.0.0-a799608

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/accordion/Accordion.js +122 -103
  2. package/accordion/Accordion.stories.tsx +1 -2
  3. package/accordion/Accordion.test.js +9 -10
  4. package/accordion/types.d.ts +4 -4
  5. package/accordion-group/AccordionGroup.js +1 -21
  6. package/accordion-group/AccordionGroup.stories.tsx +27 -1
  7. package/accordion-group/AccordionGroup.test.js +20 -45
  8. package/accordion-group/types.d.ts +9 -3
  9. package/bulleted-list/types.d.ts +1 -1
  10. package/button/types.d.ts +1 -1
  11. package/chip/types.d.ts +1 -1
  12. package/common/variables.js +18 -7
  13. package/date-input/DateInput.js +3 -3
  14. package/dialog/Dialog.js +52 -28
  15. package/dialog/Dialog.stories.tsx +1 -2
  16. package/dialog/Dialog.test.js +34 -4
  17. package/dialog/types.d.ts +2 -2
  18. package/dropdown/Dropdown.d.ts +1 -1
  19. package/dropdown/Dropdown.js +242 -246
  20. package/dropdown/Dropdown.stories.tsx +126 -63
  21. package/dropdown/Dropdown.test.js +510 -108
  22. package/dropdown/DropdownMenu.d.ts +4 -0
  23. package/dropdown/DropdownMenu.js +80 -0
  24. package/dropdown/DropdownMenuItem.d.ts +4 -0
  25. package/dropdown/DropdownMenuItem.js +92 -0
  26. package/dropdown/types.d.ts +25 -5
  27. package/flex/Flex.js +1 -1
  28. package/flex/types.d.ts +1 -1
  29. package/footer/Footer.stories.tsx +8 -1
  30. package/footer/types.d.ts +1 -1
  31. package/header/Header.js +74 -72
  32. package/header/Header.stories.tsx +4 -4
  33. package/header/Icons.js +2 -2
  34. package/header/types.d.ts +2 -2
  35. package/layout/ApplicationLayout.js +3 -3
  36. package/layout/ApplicationLayout.stories.tsx +1 -0
  37. package/link/types.d.ts +1 -1
  38. package/package.json +9 -9
  39. package/progress-bar/ProgressBar.d.ts +2 -2
  40. package/progress-bar/ProgressBar.js +56 -50
  41. package/progress-bar/ProgressBar.stories.jsx +3 -1
  42. package/progress-bar/ProgressBar.test.js +67 -22
  43. package/progress-bar/types.d.ts +3 -4
  44. package/radio-group/RadioGroup.js +11 -13
  45. package/select/Listbox.d.ts +1 -1
  46. package/select/Listbox.js +25 -1
  47. package/select/Select.js +14 -31
  48. package/select/Select.stories.tsx +6 -5
  49. package/select/Select.test.js +63 -50
  50. package/select/types.d.ts +2 -4
  51. package/sidenav/types.d.ts +1 -1
  52. package/slider/Slider.js +112 -97
  53. package/slider/Slider.stories.tsx +7 -1
  54. package/slider/Slider.test.js +121 -21
  55. package/slider/types.d.ts +2 -2
  56. package/switch/Switch.d.ts +1 -1
  57. package/switch/Switch.js +110 -54
  58. package/switch/Switch.stories.tsx +8 -30
  59. package/switch/Switch.test.js +122 -8
  60. package/switch/types.d.ts +3 -4
  61. package/tabs/Tab.d.ts +4 -0
  62. package/tabs/Tab.js +135 -0
  63. package/tabs/Tabs.js +360 -104
  64. package/tabs/Tabs.stories.tsx +74 -0
  65. package/tabs/Tabs.test.js +217 -6
  66. package/tabs/types.d.ts +15 -5
  67. package/tabs-nav/NavTabs.js +5 -5
  68. package/tabs-nav/Tab.js +3 -5
  69. package/tabs-nav/types.d.ts +1 -1
  70. package/tag/types.d.ts +1 -1
  71. package/text-input/TextInput.js +12 -21
  72. package/text-input/TextInput.stories.tsx +1 -2
  73. package/text-input/types.d.ts +1 -1
  74. package/toggle-group/types.d.ts +1 -1
  75. package/wizard/types.d.ts +1 -1
@@ -306,7 +306,7 @@ var grouped_icon_options = [{
306
306
  }]
307
307
  }];
308
308
  describe("Select component tests", function () {
309
- test("Renders with correct label", function () {
309
+ test("When clicking the label, the focus goes to the select", function () {
310
310
  var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
311
311
  label: "test-select-label",
312
312
  helperText: "test-select-helper-text",
@@ -317,40 +317,18 @@ describe("Select component tests", function () {
317
317
 
318
318
  var select = getByRole("combobox");
319
319
  var label = getByText("test-select-label");
320
- expect(label).toBeTruthy();
321
320
 
322
321
  _userEvent["default"].click(label);
323
322
 
324
323
  expect(document.activeElement).toEqual(select);
325
324
  });
326
- test("Renders with correct helper text and placeholder", function () {
325
+ test("Renders with correct aria attributes when is in error state", function () {
327
326
  var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
328
- label: "test-select-label",
329
- helperText: "test-select-helper-text",
330
- placeholder: "Example text"
331
- })),
332
- getByText = _render2.getByText;
333
-
334
- expect(getByText("test-select-helper-text")).toBeTruthy();
335
- expect(getByText("Example text")).toBeTruthy();
336
- });
337
- test("Renders with correct optional label", function () {
338
- var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
339
- label: "test-select-label",
340
- optional: true
341
- })),
342
- getByText = _render3.getByText;
343
-
344
- expect(getByText("test-select-label")).toBeTruthy();
345
- expect(getByText("(Optional)")).toBeTruthy();
346
- });
347
- test("Renders with error message and correct aria attributes", function () {
348
- var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
349
327
  label: "Error label",
350
328
  error: "Error message."
351
329
  })),
352
- getByText = _render4.getByText,
353
- getByRole = _render4.getByRole;
330
+ getByText = _render2.getByText,
331
+ getByRole = _render2.getByRole;
354
332
 
355
333
  var select = getByRole("combobox");
356
334
  var errorMessage = getByText("Error message.");
@@ -360,13 +338,13 @@ describe("Select component tests", function () {
360
338
  expect(errorMessage.getAttribute("aria-live")).toBe("assertive");
361
339
  });
362
340
  test("Renders with correct aria attributes", function () {
363
- var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
341
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
364
342
  label: "test-select-label",
365
343
  placeholder: "Example",
366
344
  options: single_options
367
345
  })),
368
- getByText = _render5.getByText,
369
- getByRole = _render5.getByRole;
346
+ getByText = _render3.getByText,
347
+ getByRole = _render3.getByRole;
370
348
 
371
349
  var select = getByRole("combobox");
372
350
  var label = getByText("test-select-label");
@@ -385,17 +363,17 @@ describe("Select component tests", function () {
385
363
  expect(list.getAttribute("aria-multiselectable")).toBe("false");
386
364
  });
387
365
  test("Single selection: Renders with correct default value", function () {
388
- var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
366
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
389
367
  label: "test-select-label",
390
368
  name: "test",
391
369
  defaultValue: "4",
392
370
  options: single_options
393
371
  })),
394
- getByText = _render6.getByText,
395
- getByRole = _render6.getByRole,
396
- getAllByRole = _render6.getAllByRole,
397
- queryByRole = _render6.queryByRole,
398
- container = _render6.container;
372
+ getByText = _render4.getByText,
373
+ getByRole = _render4.getByRole,
374
+ getAllByRole = _render4.getAllByRole,
375
+ queryByRole = _render4.queryByRole,
376
+ container = _render4.container;
399
377
 
400
378
  var select = getByRole("combobox");
401
379
  var submitInput = container.querySelector("input[name=\"test\"]");
@@ -413,18 +391,18 @@ describe("Select component tests", function () {
413
391
  expect(submitInput.value).toBe("8");
414
392
  });
415
393
  test("Multiple selection: Renders with correct default value", function () {
416
- var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
394
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
417
395
  label: "test-select-label",
418
396
  name: "test",
419
397
  defaultValue: ["4", "2", "6"],
420
398
  options: single_options,
421
399
  multiple: true
422
400
  })),
423
- getByText = _render7.getByText,
424
- getByRole = _render7.getByRole,
425
- getAllByRole = _render7.getAllByRole,
426
- queryByRole = _render7.queryByRole,
427
- container = _render7.container;
401
+ getByText = _render5.getByText,
402
+ getByRole = _render5.getByRole,
403
+ getAllByRole = _render5.getAllByRole,
404
+ queryByRole = _render5.queryByRole,
405
+ container = _render5.container;
428
406
 
429
407
  var select = getByRole("combobox");
430
408
  var submitInput = container.querySelector("input[name=\"test\"]");
@@ -443,18 +421,15 @@ describe("Select component tests", function () {
443
421
  expect(getByText("Option 02, Option 03, Option 04, Option 06")).toBeTruthy();
444
422
  expect(submitInput.value).toBe("4,2,6,3");
445
423
  });
446
- test("Disabled select - Clear all options action must be shown but not clickable", function () {
447
- var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
424
+ test("Disabled select - Cannot gain focus or open the listbox via click", function () {
425
+ var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
448
426
  label: "test-select-label",
449
427
  value: ["1", "2"],
450
428
  options: single_options,
451
- disabled: true,
452
- searchable: true,
453
- multiple: true
429
+ disabled: true
454
430
  })),
455
- getByRole = _render8.getByRole,
456
- getByText = _render8.getByText,
457
- queryByRole = _render8.queryByRole;
431
+ getByRole = _render6.getByRole,
432
+ queryByRole = _render6.queryByRole;
458
433
 
459
434
  var select = getByRole("combobox");
460
435
  expect(select.getAttribute("aria-disabled")).toBe("true");
@@ -462,12 +437,49 @@ describe("Select component tests", function () {
462
437
  _userEvent["default"].click(select);
463
438
 
464
439
  expect(queryByRole("listbox")).toBeFalsy();
440
+ expect(document.activeElement === select).toBeFalsy();
441
+ });
442
+ test("Disabled select - Clear all options action must be shown but not clickable", function () {
443
+ var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
444
+ label: "test-select-label",
445
+ value: ["1", "2"],
446
+ options: single_options,
447
+ disabled: true,
448
+ searchable: true,
449
+ multiple: true
450
+ })),
451
+ getByRole = _render7.getByRole,
452
+ getByText = _render7.getByText;
465
453
 
466
454
  _userEvent["default"].click(getByRole("button"));
467
455
 
468
456
  expect(getByText("Option 01, Option 02")).toBeTruthy();
469
457
  });
470
- test("Focused select does not open the listbox", function () {
458
+ test("Disabled select - Does not call onBlur event", function () {
459
+ var onBlur = jest.fn();
460
+
461
+ var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
462
+ label: "test-select-label",
463
+ options: single_options,
464
+ disabled: true,
465
+ onBlur: onBlur
466
+ })),
467
+ getByRole = _render8.getByRole;
468
+
469
+ var select = getByRole("combobox");
470
+
471
+ _userEvent["default"].click(select);
472
+
473
+ _react2.fireEvent.keyDown(getByRole("combobox"), {
474
+ key: "Tab",
475
+ code: "Tab",
476
+ keyCode: 9,
477
+ charCode: 9
478
+ });
479
+
480
+ expect(onBlur).not.toHaveBeenCalled();
481
+ });
482
+ test("Disabled select - When the component gains the focus, the listbox does not open", function () {
471
483
  var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Select["default"], {
472
484
  label: "test-select-label",
473
485
  value: ["1", "2"],
@@ -484,6 +496,7 @@ describe("Select component tests", function () {
484
496
  _react2.fireEvent.focus(select);
485
497
 
486
498
  expect(queryByRole("listbox")).toBeFalsy();
499
+ expect(document.activeElement === select).toBeFalsy();
487
500
  });
488
501
  test("Controlled - Single selection - Not optional constraint", function () {
489
502
  var onChange = jest.fn();
package/select/types.d.ts CHANGED
@@ -6,7 +6,7 @@ declare type Margin = {
6
6
  left?: Space;
7
7
  right?: Space;
8
8
  };
9
- declare type SVG = React.SVGProps<SVGSVGElement>;
9
+ declare type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
10
10
  declare type OptionGroup = {
11
11
  /**
12
12
  * Label of the group to be shown in the select's listbox.
@@ -201,9 +201,7 @@ export declare type ListboxProps = {
201
201
  optionalItem: Option;
202
202
  searchable: boolean;
203
203
  handleOptionOnClick: (option: Option) => void;
204
- styles: {
205
- width: number;
206
- };
204
+ getSelectWidth: () => number;
207
205
  };
208
206
  /**
209
207
  * Reference to the select component.
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- declare type SVG = React.SVGProps<SVGSVGElement>;
2
+ declare type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
3
3
  declare type SidenavPropsType = {
4
4
  /**
5
5
  * The area inside the sidenav. This area can be used to render the content inside the sidenav.
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"));
@@ -31,9 +29,7 @@ var _useTheme = _interopRequireDefault(require("../useTheme"));
31
29
 
32
30
  var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
33
31
 
34
- var _uuid = require("uuid");
35
-
36
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
32
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;
37
33
 
38
34
  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
35
 
@@ -74,28 +70,57 @@ var DxcSlider = function DxcSlider(_ref) {
74
70
  innerValue = _useState2[0],
75
71
  setInnerValue = _useState2[1];
76
72
 
73
+ var _useState3 = (0, _react.useState)(false),
74
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
75
+ dragging = _useState4[0],
76
+ setDragging = _useState4[1];
77
+
77
78
  var colorsTheme = (0, _useTheme["default"])();
78
79
  var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
79
-
80
- var _useState3 = (0, _react.useState)("label-".concat((0, _uuid.v4)())),
81
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
82
- labelId = _useState4[0];
83
-
80
+ var labelId = "slider" + (0, _react.useId)();
84
81
  var minLabel = (0, _react.useMemo)(function () {
85
82
  return labelFormatCallback ? labelFormatCallback(minValue) : minValue;
86
83
  }, [labelFormatCallback, minValue]);
87
84
  var maxLabel = (0, _react.useMemo)(function () {
88
85
  return labelFormatCallback ? labelFormatCallback(maxValue) : maxValue;
89
86
  }, [labelFormatCallback, maxValue]);
87
+ var tickMarks = (0, _react.useMemo)(function () {
88
+ var ticks = [];
89
+ var numberOfMarks = Math.floor(maxValue / step - minValue / step);
90
+ var index = 0;
91
+ var range = maxValue - minValue;
92
+
93
+ if (marks) {
94
+ while (index <= numberOfMarks) {
95
+ ticks.push( /*#__PURE__*/_react["default"].createElement(TickMark, {
96
+ disabled: disabled,
97
+ stepPosition: step * index / range * 100,
98
+ backgroundType: backgroundType
99
+ }));
100
+ index++;
101
+ }
102
+
103
+ return ticks;
104
+ } else {
105
+ return null;
106
+ }
107
+ }, [minValue, maxValue, step]);
108
+
109
+ var handleSliderChange = function handleSliderChange(event) {
110
+ var valueToCheck = event.target.value;
111
+ (valueToCheck !== value || valueToCheck !== innerValue) && setInnerValue(valueToCheck);
112
+ onChange === null || onChange === void 0 ? void 0 : onChange(valueToCheck);
113
+ };
90
114
 
91
- var handlerSliderChange = function handlerSliderChange(event, newValue) {
92
- var valueToCheck = value !== null && value !== void 0 ? value : innerValue;
93
- valueToCheck !== newValue && setInnerValue(newValue);
94
- onChange === null || onChange === void 0 ? void 0 : onChange(newValue);
115
+ var handleSliderDragging = function handleSliderDragging() {
116
+ setDragging(true);
95
117
  };
96
118
 
97
- var handleSliderOnChangeCommited = function handleSliderOnChangeCommited(event, selectedValue) {
98
- onDragEnd === null || onDragEnd === void 0 ? void 0 : onDragEnd(selectedValue);
119
+ var handleSliderOnChangeCommited = function handleSliderOnChangeCommited(event) {
120
+ if (dragging) {
121
+ setDragging(false);
122
+ onDragEnd === null || onDragEnd === void 0 ? void 0 : onDragEnd(event.target.value);
123
+ }
99
124
  };
100
125
 
101
126
  var handlerInputChange = function handlerInputChange(event) {
@@ -110,6 +135,7 @@ var DxcSlider = function DxcSlider(_ref) {
110
135
  }
111
136
  };
112
137
 
138
+ var isFirefox = navigator.userAgent.indexOf("Firefox") !== -1;
113
139
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
114
140
  theme: colorsTheme.slider
115
141
  }, /*#__PURE__*/_react["default"].createElement(Container, {
@@ -122,28 +148,36 @@ var DxcSlider = function DxcSlider(_ref) {
122
148
  }, label), /*#__PURE__*/_react["default"].createElement(HelperText, {
123
149
  disabled: disabled,
124
150
  backgroundType: backgroundType
125
- }, helperText), /*#__PURE__*/_react["default"].createElement(SliderContainer, {
126
- backgroundType: backgroundType
127
- }, showLimitsValues && /*#__PURE__*/_react["default"].createElement(MinLabelContainer, {
151
+ }, helperText), /*#__PURE__*/_react["default"].createElement(SliderContainer, null, showLimitsValues && /*#__PURE__*/_react["default"].createElement(MinLabelContainer, {
128
152
  backgroundType: backgroundType,
129
153
  disabled: disabled
130
- }, minLabel), /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
131
- value: value != null && value >= 0 && value || innerValue,
154
+ }, minLabel), /*#__PURE__*/_react["default"].createElement(SliderInputContainer, null, /*#__PURE__*/_react["default"].createElement(SliderInput, {
155
+ role: "slider",
156
+ type: "range",
157
+ value: value != null && value >= 0 ? value : innerValue,
132
158
  min: minValue,
133
159
  max: maxValue,
134
- onChange: handlerSliderChange,
135
- onChangeCommitted: handleSliderOnChangeCommited,
136
160
  step: step,
137
- marks: marks || [],
161
+ marks: marks,
138
162
  disabled: disabled,
139
- "aria-labelledby": labelId
140
- }), showLimitsValues && /*#__PURE__*/_react["default"].createElement(MaxLabelContainer, {
163
+ "aria-labelledby": labelId,
164
+ "aria-orientation": "horizontal",
165
+ "aria-valuemax": maxValue,
166
+ "aria-valuemin": minValue,
167
+ "aria-valuenow": value != null && value >= 0 ? value : innerValue,
168
+ onChange: handleSliderChange,
169
+ onMouseUp: handleSliderOnChangeCommited,
170
+ onMouseDown: handleSliderDragging,
171
+ backgroundType: backgroundType
172
+ }), marks && /*#__PURE__*/_react["default"].createElement(MarksContainer, {
173
+ isFirefox: isFirefox
174
+ }, tickMarks)), showLimitsValues && /*#__PURE__*/_react["default"].createElement(MaxLabelContainer, {
141
175
  backgroundType: backgroundType,
142
176
  disabled: disabled,
143
177
  step: step
144
178
  }, maxLabel), showInput && /*#__PURE__*/_react["default"].createElement(StyledTextInput, null, /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
145
179
  name: name,
146
- value: value != null && value >= 0 && value.toString() || innerValue.toString(),
180
+ value: value != null && value >= 0 ? value.toString() : innerValue.toString(),
147
181
  disabled: disabled,
148
182
  onChange: handlerInputChange,
149
183
  size: "fillParent"
@@ -160,6 +194,14 @@ var calculateWidth = function calculateWidth(margin, size) {
160
194
  return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
161
195
  };
162
196
 
197
+ var getChromeStyles = function getChromeStyles() {
198
+ return "\n width: 100%;\n margin-right: 4px;";
199
+ };
200
+
201
+ var getFireFoxStyles = function getFireFoxStyles() {
202
+ return "\n width: calc(100% - 16px);\n margin-right: 3px;";
203
+ };
204
+
163
205
  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
206
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
165
207
  }, function (props) {
@@ -188,7 +230,7 @@ var Label = _styledComponents["default"].label(_templateObject2 || (_templateObj
188
230
  return props.theme.labelLineHeight;
189
231
  });
190
232
 
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) {
233
+ 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
234
  return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledHelperTextFontColorOnDark : props.theme.disabledHelperTextFontColor : props.backgroundType === "dark" ? props.theme.helperTextFontColorOnDark : props.theme.helperTextFontColor;
193
235
  }, function (props) {
194
236
  return props.theme.fontFamily;
@@ -202,83 +244,51 @@ var HelperText = _styledComponents["default"].span(_templateObject3 || (_templat
202
244
  return props.theme.helperTextLineHeight;
203
245
  });
204
246
 
205
- var SliderContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n height: 48px;\n align-items: center;\n\n .MuiSlider-root {\n min-width: 15rem;\n }\n .MuiSlider-container {\n padding: 30px 24px;\n }\n .MuiSlider-root.Mui-disabled {\n color: ", ";\n cursor: not-allowed;\n }\n .Mui-disabled {\n & .MuiSlider-thumb {\n height: ", ";\n width: ", ";\n background-color: ", ";\n top: ", ";\n }\n & .MuiSlider-track {\n background-color: ", ";\n }\n & .MuiSlider-rail {\n background-color: ", ";\n }\n & > .MuiSlider-mark.MuiSlider-markActive {\n background-color: ", " !important;\n }\n & > .MuiSlider-mark {\n background-color: ", ";\n height: ", ";\n width: ", ";\n border-radius: 18px;\n top: ", ";\n }\n }\n .MuiSlider-thumb {\n height: ", ";\n width: ", ";\n background-color: ", ";\n top: ", ";\n border-radius: 9999px;\n\n :hover,\n &.Mui-focusVisible {\n box-shadow: none;\n }\n &.MuiSlider-active {\n box-shadow: none;\n }\n :focus {\n outline: ", "\n auto 1px;\n outline-offset: 2px;\n background-color: ", ";\n }\n :hover {\n background-color: ", ";\n transform: scale(", ");\n transform-origin: center;\n height: ", ";\n width: ", ";\n top: ", ";\n }\n :active {\n background-color: ", ";\n transform: scale(", ");\n transform-origin: center;\n }\n }\n .MuiSlider-track {\n background-color: ", ";\n height: ", ";\n top: ", ";\n border-radius: 9999px;\n }\n .MuiSlider-track.MuiSlider-trackAfter {\n background-color: ", ";\n }\n .MuiSlider-rail {\n background-color: ", ";\n height: ", ";\n top: ", ";\n }\n .MuiSlider-mark.MuiSlider-markActive {\n background-color: ", ";\n }\n .MuiSlider-mark {\n background-color: ", ";\n height: ", ";\n width: ", ";\n border-radius: 18px;\n top: ", ";\n }\n"])), function (props) {
206
- return props.backgroundType === "dark" ? props.theme.disabledThumbBackgroundColorOnDark : props.theme.disabledThumbBackgroundColor;
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;
247
+ 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) {
248
+ return props.theme.trackLineThickness;
221
249
  }, function (props) {
222
- return props.backgroundType === "dark" ? props.theme.disabledTickBackgroundColorOnDark : props.theme.disabledTickBackgroundColor;
250
+ 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
251
  }, function (props) {
224
- return props.theme.tickHeight;
252
+ 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
253
  }, function (props) {
226
- return props.theme.tickWidth;
254
+ return (props.value - props.min) * 100 / (props.max - props.min) + "% 100%";
227
255
  }, function (props) {
228
- return props.theme.disabledTickVerticalPosition;
256
+ return props.disabled ? "not-allowed" : "pointer";
229
257
  }, function (props) {
230
258
  return props.theme.thumbHeight;
231
259
  }, function (props) {
232
260
  return props.theme.thumbWidth;
233
261
  }, 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;
262
+ return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledThumbBackgroundColorOnDark : props.theme.disabledThumbBackgroundColor : props.backgroundType === "dark" ? props.theme.thumbBackgroundColorOnDark : props.theme.thumbBackgroundColor;
239
263
  }, function (props) {
240
- return props.backgroundType === "dark" ? props.theme.focusThumbBackgroundColorOnDark : props.theme.focusThumbBackgroundColor;
264
+ if (!props.disabled) {
265
+ return "\n background: ".concat(props.backgroundType === "dark" ? props.theme.activeThumbBackgroundColorOnDark : props.theme.activeThumbBackgroundColor, ";\n transform: scale(1.16667);");
266
+ }
241
267
  }, function (props) {
242
- return props.backgroundType === "dark" ? props.theme.hoverThumbBackgroundColorOnDark : props.theme.hoverThumbBackgroundColor;
268
+ if (!props.disabled) {
269
+ 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, ";");
270
+ }
243
271
  }, function (props) {
244
- return props.theme.hoverThumbScale;
245
- }, function (props) {
246
- return props.theme.hoverThumbHeight;
272
+ return props.theme.thumbHeight;
247
273
  }, function (props) {
248
- return props.theme.hoverThumbWidth;
274
+ return props.theme.thumbWidth;
249
275
  }, function (props) {
250
- return props.theme.hoverThumbVerticalPosition;
276
+ return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledThumbBackgroundColorOnDark : props.theme.disabledThumbBackgroundColor : props.backgroundType === "dark" ? props.theme.thumbBackgroundColorOnDark : props.theme.thumbBackgroundColor;
251
277
  }, function (props) {
252
278
  return props.backgroundType === "dark" ? props.theme.activeThumbBackgroundColorOnDark : props.theme.activeThumbBackgroundColor;
253
279
  }, function (props) {
254
- return props.theme.activeThumbScale;
255
- }, function (props) {
256
- return props.backgroundType === "dark" ? props.theme.trackLineColorOnDark : props.theme.trackLineColor;
280
+ if (!props.disabled) {
281
+ 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, ";");
282
+ }
257
283
  }, 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;
284
+ return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledFocusColorOnDark : props.theme.disabledFocusColor : props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
267
285
  }, 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;
273
- }, function (props) {
274
- return props.theme.tickHeight;
275
- }, function (props) {
276
- return props.theme.tickWidth;
277
- }, function (props) {
278
- return props.theme.tickVerticalPosition;
286
+ return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledFocusColorOnDark : props.theme.disabledFocusColor : props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
279
287
  });
280
288
 
281
- var MinLabelContainer = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (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 margin-right: ", ";\n"])), function (props) {
289
+ var SliderContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n height: 48px;\n align-items: center;\n"])));
290
+
291
+ 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
292
  return props.disabled ? props.theme.disabledLimitValuesFontColor : props.backgroundType === "dark" ? props.theme.limitValuesFontColorOnDark : props.theme.limitValuesFontColor;
283
293
  }, function (props) {
284
294
  return props.theme.fontFamily;
@@ -290,27 +300,32 @@ var MinLabelContainer = _styledComponents["default"].span(_templateObject5 || (_
290
300
  return props.theme.limitValuesFontWeight;
291
301
  }, function (props) {
292
302
  return props.theme.limitValuesFontLetterSpacing;
293
- }, function (props) {
303
+ });
304
+
305
+ var MinLabelContainer = (0, _styledComponents["default"])(LimitLabelContainer)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: ", ";\n"])), function (props) {
294
306
  return props.theme.floorLabelMarginRight;
295
307
  });
308
+ var MaxLabelContainer = (0, _styledComponents["default"])(LimitLabelContainer)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: ", ";\n"])), function (props) {
309
+ return props.step === 1 ? props.theme.ceilLabelMarginLeft : "1.25rem";
310
+ });
296
311
 
297
- var MaxLabelContainer = _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 margin-left: ", ";\n"])), function (props) {
298
- return props.disabled ? props.theme.disabledLimitValuesFontColor : props.backgroundType === "dark" ? props.theme.limitValuesFontColorOnDark : props.theme.limitValuesFontColor;
299
- }, function (props) {
300
- return props.theme.fontFamily;
301
- }, function (props) {
302
- return props.theme.limitValuesFontSize;
303
- }, function (props) {
304
- return props.theme.limitValuesFontStyle;
312
+ 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"])));
313
+
314
+ 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) {
315
+ return props.isFirefox ? getFireFoxStyles() : getChromeStyles();
316
+ });
317
+
318
+ var TickMark = _styledComponents["default"].span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n background: ", ";\n height: ", ";\n width: ", ";\n border-radius: 18px;\n left: ", ";\n"])), function (props) {
319
+ return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledTickBackgroundColorOnDark : props.theme.disabledTickBackgroundColor : props.backgroundType === "dark" ? props.theme.tickBackgroundColorOnDark : props.theme.tickBackgroundColor;
305
320
  }, function (props) {
306
- return props.theme.limitValuesFontWeight;
321
+ return props.theme.tickHeight;
307
322
  }, function (props) {
308
- return props.theme.limitValuesFontLetterSpacing;
323
+ return props.theme.tickWidth;
309
324
  }, function (props) {
310
- return props.step === 1 ? props.theme.ceilLabelMarginLeft : "1.25rem";
325
+ return "".concat(props.stepPosition, "%");
311
326
  });
312
327
 
313
- var StyledTextInput = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: ", ";\n label + .MuiInput-formControl {\n margin-top: 2px;\n }\n max-width: 70px;\n"])), function (props) {
328
+ var StyledTextInput = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: ", ";\n max-width: 70px;\n"])), function (props) {
314
329
  return props.theme.inputMarginLeft;
315
330
  });
316
331
 
@@ -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 label="Slider" helperText="Help message" showLimitsValues labelFormatCallback={labelFormat} size="large" />
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
  );