@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.
Files changed (65) 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 -3
  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 -2
  9. package/alert/Alert.js +1 -1
  10. package/box/Box.js +1 -1
  11. package/box/types.d.ts +1 -0
  12. package/card/types.d.ts +1 -0
  13. package/checkbox/Checkbox.js +87 -95
  14. package/checkbox/Checkbox.test.js +93 -16
  15. package/checkbox/types.d.ts +2 -2
  16. package/common/variables.js +12 -4
  17. package/dialog/Dialog.js +4 -4
  18. package/dialog/Dialog.stories.tsx +56 -0
  19. package/dialog/types.d.ts +1 -0
  20. package/dropdown/Dropdown.js +6 -5
  21. package/dropdown/Dropdown.test.js +2 -3
  22. package/dropdown/DropdownMenuItem.js +1 -1
  23. package/footer/Footer.stories.tsx +8 -1
  24. package/footer/types.d.ts +1 -0
  25. package/header/Header.js +74 -72
  26. package/header/Header.stories.tsx +4 -4
  27. package/header/Icons.js +2 -2
  28. package/header/types.d.ts +3 -2
  29. package/layout/ApplicationLayout.stories.tsx +1 -0
  30. package/number-input/NumberInput.test.js +1 -1
  31. package/package.json +8 -8
  32. package/password-input/PasswordInput.test.js +13 -12
  33. package/quick-nav/QuickNav.js +11 -12
  34. package/quick-nav/QuickNav.stories.tsx +97 -19
  35. package/radio-group/Radio.d.ts +1 -1
  36. package/radio-group/Radio.js +43 -28
  37. package/radio-group/RadioGroup.js +18 -20
  38. package/radio-group/RadioGroup.stories.tsx +1 -0
  39. package/radio-group/RadioGroup.test.js +28 -58
  40. package/radio-group/types.d.ts +2 -2
  41. package/select/Listbox.js +0 -1
  42. package/select/Select.js +2 -1
  43. package/slider/Slider.js +116 -92
  44. package/slider/Slider.stories.tsx +7 -1
  45. package/slider/Slider.test.js +121 -21
  46. package/slider/types.d.ts +2 -2
  47. package/switch/Switch.js +91 -81
  48. package/switch/Switch.test.js +26 -13
  49. package/tabs/Tab.d.ts +4 -0
  50. package/tabs/Tab.js +135 -0
  51. package/tabs/Tabs.js +360 -104
  52. package/tabs/Tabs.stories.tsx +74 -0
  53. package/tabs/Tabs.test.js +217 -6
  54. package/tabs/types.d.ts +14 -4
  55. package/tabs-nav/Tab.js +1 -1
  56. package/tag/Tag.js +1 -1
  57. package/text-input/Icons.d.ts +8 -0
  58. package/text-input/Icons.js +60 -0
  59. package/text-input/Suggestion.js +7 -5
  60. package/text-input/Suggestions.d.ts +4 -0
  61. package/text-input/Suggestions.js +134 -0
  62. package/text-input/TextInput.js +170 -258
  63. package/text-input/TextInput.stories.tsx +189 -181
  64. package/text-input/TextInput.test.js +165 -163
  65. 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 single_disabled_options = [{
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: "Enter",
111
- code: "Enter",
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: single_disabled_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 'enter' key checks the current focused option if anyone is checked", function () {
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: "Enter",
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 _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
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 = _render16.getByRole,
479
- getAllByRole = _render16.getAllByRole,
480
- container = _render16.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 _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
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 = _render17.getByRole,
523
- getAllByRole = _render17.getAllByRole,
524
- container = _render17.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 _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
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 = _render18.getByRole,
572
- getAllByRole = _render18.getAllByRole,
573
- container = _render18.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 _render19 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
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 = _render19.getByRole,
618
- getAllByRole = _render19.getAllByRole,
619
- container = _render19.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 _render20 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
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 = _render20.getByRole,
667
- getAllByRole = _render20.getAllByRole,
668
- container = _render20.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");
@@ -102,8 +102,8 @@ export declare type RefType = HTMLDivElement;
102
102
  * Single radio prop types.
103
103
  */
104
104
  export declare type RadioProps = {
105
- option: Option;
106
- currentValue?: string;
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 _useState3 = (0, _react.useState)("label-".concat((0, _uuid.v4)())),
81
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
82
- labelId = _useState4[0];
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 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);
122
+ var handleSliderDragging = function handleSliderDragging() {
123
+ setDragging(true);
95
124
  };
96
125
 
97
- var handleSliderOnChangeCommited = function handleSliderOnChangeCommited(event, selectedValue) {
98
- onDragEnd === null || onDragEnd === void 0 ? void 0 : onDragEnd(selectedValue);
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(_Slider["default"], {
131
- value: value != null && value >= 0 && value || innerValue,
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
- }), showLimitsValues && /*#__PURE__*/_react["default"].createElement(MaxLabelContainer, {
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 && value.toString() || innerValue.toString(),
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 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;
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.disabledTickBackgroundColorOnDark : props.theme.disabledTickBackgroundColor;
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.tickHeight;
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.theme.tickWidth;
261
+ return (props.value - props.min) * 100 / (props.max - props.min) + "% 100%";
227
262
  }, function (props) {
228
- return props.theme.disabledTickVerticalPosition;
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
- return props.theme.thumbVerticalPosition;
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
- return props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
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.backgroundType === "dark" ? props.theme.focusThumbBackgroundColorOnDark : props.theme.focusThumbBackgroundColor;
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.hoverThumbWidth;
281
+ return props.theme.thumbWidth;
249
282
  }, function (props) {
250
- return props.theme.hoverThumbVerticalPosition;
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
- return props.theme.activeThumbScale;
255
- }, function (props) {
256
- return props.backgroundType === "dark" ? props.theme.trackLineColorOnDark : props.theme.trackLineColor;
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.tickHeight;
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.tickVerticalPosition;
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 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) {
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
- }, function (props) {
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 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;
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.limitValuesFontStyle;
328
+ return props.theme.tickHeight;
305
329
  }, function (props) {
306
- return props.theme.limitValuesFontWeight;
330
+ return props.theme.tickWidth;
307
331
  }, function (props) {
308
- return props.theme.limitValuesFontLetterSpacing;
332
+ return "calc(".concat(props.stepPosition, " * 100%)");
309
333
  }, function (props) {
310
- return props.step === 1 ? props.theme.ceilLabelMarginLeft : "1.25rem";
334
+ return !props.disabled ? "z-index: ".concat(props.stepPosition <= props.stepValue ? "0" : "1") : "";
311
335
  });
312
336
 
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) {
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 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
  );