@dxc-technology/halstack-react 0.0.0-d3554d7 → 0.0.0-d3ac293

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 (267) hide show
  1. package/BackgroundColorContext.d.ts +2 -2
  2. package/BackgroundColorContext.js +1 -1
  3. package/HalstackContext.d.ts +1336 -0
  4. package/HalstackContext.js +335 -0
  5. package/accordion/Accordion.d.ts +1 -1
  6. package/accordion/Accordion.js +118 -126
  7. package/accordion/Accordion.stories.tsx +115 -27
  8. package/accordion/Accordion.test.js +26 -12
  9. package/accordion/types.d.ts +9 -4
  10. package/accordion-group/AccordionGroup.d.ts +1 -1
  11. package/accordion-group/AccordionGroup.js +17 -38
  12. package/accordion-group/AccordionGroup.stories.tsx +28 -2
  13. package/accordion-group/AccordionGroup.test.js +31 -38
  14. package/accordion-group/types.d.ts +14 -3
  15. package/alert/Alert.js +7 -4
  16. package/alert/Alert.stories.tsx +28 -0
  17. package/alert/Alert.test.js +1 -1
  18. package/badge/Badge.d.ts +1 -1
  19. package/badge/Badge.js +5 -3
  20. package/badge/types.d.ts +1 -0
  21. package/bleed/Bleed.js +1 -34
  22. package/bleed/Bleed.stories.tsx +94 -95
  23. package/bleed/types.d.ts +25 -1
  24. package/box/Box.js +25 -37
  25. package/box/Box.stories.tsx +15 -0
  26. package/box/Box.test.js +1 -1
  27. package/box/types.d.ts +1 -0
  28. package/bulleted-list/BulletedList.d.ts +7 -0
  29. package/bulleted-list/BulletedList.js +123 -0
  30. package/bulleted-list/BulletedList.stories.tsx +200 -0
  31. package/bulleted-list/types.d.ts +11 -0
  32. package/button/Button.js +52 -69
  33. package/button/Button.stories.tsx +159 -8
  34. package/button/Button.test.js +1 -1
  35. package/button/types.d.ts +7 -7
  36. package/card/Card.js +25 -28
  37. package/card/Card.test.js +1 -1
  38. package/card/types.d.ts +1 -0
  39. package/checkbox/Checkbox.d.ts +2 -2
  40. package/checkbox/Checkbox.js +107 -110
  41. package/checkbox/Checkbox.stories.tsx +198 -130
  42. package/checkbox/Checkbox.test.js +101 -11
  43. package/checkbox/types.d.ts +13 -5
  44. package/chip/Chip.js +18 -24
  45. package/chip/Chip.stories.tsx +96 -9
  46. package/chip/Chip.test.js +3 -5
  47. package/chip/types.d.ts +1 -1
  48. package/common/utils.d.ts +1 -0
  49. package/common/utils.js +4 -4
  50. package/common/variables.d.ts +1625 -0
  51. package/common/variables.js +483 -352
  52. package/date-input/Calendar.d.ts +4 -0
  53. package/date-input/Calendar.js +258 -0
  54. package/date-input/DateInput.js +169 -258
  55. package/date-input/DateInput.stories.tsx +199 -33
  56. package/date-input/DateInput.test.js +521 -155
  57. package/date-input/DatePicker.d.ts +4 -0
  58. package/date-input/DatePicker.js +146 -0
  59. package/date-input/Icons.d.ts +6 -0
  60. package/date-input/Icons.js +75 -0
  61. package/date-input/YearPicker.d.ts +4 -0
  62. package/date-input/YearPicker.js +126 -0
  63. package/date-input/types.d.ts +67 -9
  64. package/dialog/Dialog.js +76 -93
  65. package/dialog/Dialog.stories.tsx +230 -123
  66. package/dialog/Dialog.test.js +334 -5
  67. package/dialog/types.d.ts +3 -2
  68. package/dropdown/Dropdown.d.ts +1 -1
  69. package/dropdown/Dropdown.js +246 -253
  70. package/dropdown/Dropdown.stories.tsx +245 -56
  71. package/dropdown/Dropdown.test.js +507 -110
  72. package/dropdown/DropdownMenu.d.ts +4 -0
  73. package/dropdown/DropdownMenu.js +70 -0
  74. package/dropdown/DropdownMenuItem.d.ts +4 -0
  75. package/dropdown/DropdownMenuItem.js +81 -0
  76. package/dropdown/types.d.ts +25 -5
  77. package/file-input/FileInput.d.ts +2 -2
  78. package/file-input/FileInput.js +181 -223
  79. package/file-input/FileInput.stories.tsx +122 -11
  80. package/file-input/FileInput.test.js +14 -14
  81. package/file-input/FileItem.d.ts +4 -14
  82. package/file-input/FileItem.js +44 -66
  83. package/file-input/types.d.ts +17 -0
  84. package/flex/Flex.d.ts +4 -0
  85. package/flex/Flex.js +69 -0
  86. package/flex/Flex.stories.tsx +103 -0
  87. package/flex/types.d.ts +32 -0
  88. package/footer/Footer.js +16 -89
  89. package/footer/Footer.stories.tsx +99 -1
  90. package/footer/Footer.test.js +14 -26
  91. package/footer/Icons.js +1 -1
  92. package/footer/types.d.ts +2 -1
  93. package/header/Header.js +108 -129
  94. package/header/Header.stories.tsx +189 -36
  95. package/header/Header.test.js +20 -4
  96. package/header/Icons.js +2 -2
  97. package/header/types.d.ts +3 -2
  98. package/heading/Heading.js +1 -1
  99. package/heading/Heading.test.js +1 -1
  100. package/inset/Inset.js +1 -34
  101. package/inset/Inset.stories.tsx +36 -36
  102. package/inset/types.d.ts +25 -1
  103. package/layout/ApplicationLayout.d.ts +16 -6
  104. package/layout/ApplicationLayout.js +72 -132
  105. package/layout/ApplicationLayout.stories.tsx +84 -93
  106. package/layout/Icons.d.ts +5 -0
  107. package/layout/Icons.js +13 -2
  108. package/layout/SidenavContext.d.ts +5 -0
  109. package/layout/SidenavContext.js +19 -0
  110. package/layout/types.d.ts +18 -33
  111. package/link/Link.d.ts +3 -2
  112. package/link/Link.js +59 -76
  113. package/link/Link.stories.tsx +155 -53
  114. package/link/Link.test.js +9 -19
  115. package/link/types.d.ts +7 -23
  116. package/main.d.ts +8 -10
  117. package/main.js +46 -56
  118. package/nav-tabs/NavTabs.d.ts +8 -0
  119. package/nav-tabs/NavTabs.js +125 -0
  120. package/nav-tabs/NavTabs.stories.tsx +260 -0
  121. package/nav-tabs/NavTabs.test.js +82 -0
  122. package/nav-tabs/Tab.d.ts +4 -0
  123. package/nav-tabs/Tab.js +150 -0
  124. package/nav-tabs/types.d.ts +53 -0
  125. package/number-input/NumberInput.js +11 -18
  126. package/number-input/NumberInput.stories.tsx +5 -5
  127. package/number-input/NumberInput.test.js +46 -12
  128. package/number-input/types.d.ts +17 -10
  129. package/package.json +20 -23
  130. package/paginator/Icons.d.ts +5 -0
  131. package/paginator/Icons.js +16 -28
  132. package/paginator/Paginator.js +19 -46
  133. package/paginator/Paginator.stories.tsx +24 -0
  134. package/paginator/Paginator.test.js +78 -39
  135. package/paragraph/Paragraph.d.ts +6 -0
  136. package/paragraph/Paragraph.js +38 -0
  137. package/paragraph/Paragraph.stories.tsx +44 -0
  138. package/password-input/PasswordInput.js +7 -4
  139. package/password-input/PasswordInput.test.js +17 -19
  140. package/password-input/types.d.ts +14 -11
  141. package/progress-bar/ProgressBar.d.ts +2 -2
  142. package/progress-bar/ProgressBar.js +61 -55
  143. package/progress-bar/ProgressBar.stories.jsx +47 -12
  144. package/progress-bar/ProgressBar.test.js +68 -23
  145. package/progress-bar/types.d.ts +3 -4
  146. package/quick-nav/QuickNav.d.ts +4 -0
  147. package/quick-nav/QuickNav.js +117 -0
  148. package/quick-nav/QuickNav.stories.tsx +356 -0
  149. package/quick-nav/types.d.ts +21 -0
  150. package/radio-group/Radio.d.ts +1 -1
  151. package/radio-group/Radio.js +43 -28
  152. package/radio-group/RadioGroup.js +32 -28
  153. package/radio-group/RadioGroup.stories.tsx +135 -17
  154. package/radio-group/RadioGroup.test.js +145 -117
  155. package/radio-group/types.d.ts +79 -2
  156. package/resultsetTable/Icons.d.ts +7 -0
  157. package/resultsetTable/Icons.js +51 -0
  158. package/resultsetTable/ResultsetTable.js +49 -108
  159. package/resultsetTable/ResultsetTable.stories.tsx +50 -25
  160. package/resultsetTable/ResultsetTable.test.js +61 -42
  161. package/resultsetTable/types.d.ts +2 -2
  162. package/select/Icons.d.ts +10 -0
  163. package/select/Icons.js +93 -0
  164. package/select/Listbox.d.ts +4 -0
  165. package/select/Listbox.js +169 -0
  166. package/select/Option.d.ts +4 -0
  167. package/select/Option.js +97 -0
  168. package/select/Select.js +179 -384
  169. package/select/Select.stories.tsx +531 -142
  170. package/select/Select.test.js +652 -324
  171. package/select/types.d.ts +53 -13
  172. package/sidenav/Sidenav.d.ts +6 -5
  173. package/sidenav/Sidenav.js +183 -53
  174. package/sidenav/Sidenav.stories.tsx +249 -149
  175. package/sidenav/Sidenav.test.js +25 -37
  176. package/sidenav/types.d.ts +50 -27
  177. package/slider/Slider.d.ts +2 -2
  178. package/slider/Slider.js +124 -98
  179. package/slider/Slider.stories.tsx +72 -9
  180. package/slider/Slider.test.js +143 -22
  181. package/slider/types.d.ts +10 -2
  182. package/spinner/Spinner.js +4 -4
  183. package/spinner/Spinner.stories.jsx +27 -1
  184. package/spinner/Spinner.test.js +1 -1
  185. package/switch/Switch.d.ts +2 -2
  186. package/switch/Switch.js +152 -69
  187. package/switch/Switch.stories.tsx +53 -42
  188. package/switch/Switch.test.js +156 -4
  189. package/switch/types.d.ts +12 -4
  190. package/table/Table.js +3 -3
  191. package/table/Table.stories.jsx +80 -1
  192. package/table/Table.test.js +2 -2
  193. package/tabs/Tab.d.ts +4 -0
  194. package/tabs/Tab.js +133 -0
  195. package/tabs/Tabs.d.ts +1 -1
  196. package/tabs/Tabs.js +363 -109
  197. package/tabs/Tabs.stories.tsx +119 -13
  198. package/tabs/Tabs.test.js +241 -14
  199. package/tabs/types.d.ts +19 -5
  200. package/tag/Tag.js +17 -22
  201. package/tag/Tag.stories.tsx +25 -8
  202. package/tag/Tag.test.js +1 -1
  203. package/tag/types.d.ts +1 -1
  204. package/text-input/Icons.d.ts +8 -0
  205. package/text-input/Icons.js +60 -0
  206. package/text-input/Suggestion.d.ts +4 -0
  207. package/text-input/Suggestion.js +84 -0
  208. package/text-input/Suggestions.d.ts +4 -0
  209. package/text-input/Suggestions.js +134 -0
  210. package/text-input/TextInput.js +221 -344
  211. package/text-input/TextInput.stories.tsx +290 -195
  212. package/text-input/TextInput.test.js +763 -731
  213. package/text-input/types.d.ts +50 -12
  214. package/textarea/Textarea.js +17 -26
  215. package/textarea/Textarea.stories.jsx +65 -6
  216. package/textarea/Textarea.test.js +38 -37
  217. package/textarea/types.d.ts +18 -11
  218. package/toggle-group/ToggleGroup.d.ts +1 -1
  219. package/toggle-group/ToggleGroup.js +6 -5
  220. package/toggle-group/ToggleGroup.stories.tsx +46 -4
  221. package/toggle-group/ToggleGroup.test.js +36 -5
  222. package/toggle-group/types.d.ts +9 -1
  223. package/typography/Typography.d.ts +4 -0
  224. package/typography/Typography.js +32 -0
  225. package/typography/Typography.stories.tsx +198 -0
  226. package/typography/types.d.ts +18 -0
  227. package/typography/types.js +5 -0
  228. package/useTheme.d.ts +1234 -1
  229. package/useTheme.js +3 -3
  230. package/useTranslatedLabels.d.ts +85 -0
  231. package/useTranslatedLabels.js +20 -0
  232. package/utils/BaseTypography.d.ts +21 -0
  233. package/utils/BaseTypography.js +108 -0
  234. package/utils/FocusLock.d.ts +13 -0
  235. package/utils/FocusLock.js +139 -0
  236. package/wizard/Wizard.d.ts +1 -1
  237. package/wizard/Wizard.js +59 -55
  238. package/wizard/Wizard.stories.tsx +48 -19
  239. package/wizard/Wizard.test.js +37 -24
  240. package/wizard/types.d.ts +10 -5
  241. package/ThemeContext.d.ts +0 -10
  242. package/ThemeContext.js +0 -243
  243. package/common/RequiredComponent.js +0 -32
  244. package/list/List.d.ts +0 -4
  245. package/list/List.js +0 -47
  246. package/list/List.stories.tsx +0 -95
  247. package/list/types.d.ts +0 -7
  248. package/radio/Radio.d.ts +0 -4
  249. package/radio/Radio.js +0 -174
  250. package/radio/Radio.stories.tsx +0 -192
  251. package/radio/Radio.test.js +0 -71
  252. package/radio/types.d.ts +0 -54
  253. package/row/Row.d.ts +0 -3
  254. package/row/Row.js +0 -127
  255. package/row/Row.stories.tsx +0 -237
  256. package/row/types.d.ts +0 -10
  257. package/stack/Stack.d.ts +0 -3
  258. package/stack/Stack.js +0 -97
  259. package/stack/Stack.stories.tsx +0 -164
  260. package/stack/types.d.ts +0 -9
  261. package/text/Text.d.ts +0 -7
  262. package/text/Text.js +0 -30
  263. package/text/Text.stories.tsx +0 -19
  264. /package/{list → bulleted-list}/types.js +0 -0
  265. /package/{radio → flex}/types.js +0 -0
  266. /package/{row → nav-tabs}/types.js +0 -0
  267. /package/{stack → quick-nav}/types.js +0 -0
package/slider/Slider.js CHANGED
@@ -17,15 +17,13 @@ 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"));
25
23
 
26
- var _variables = require("../common/variables.js");
24
+ var _variables = require("../common/variables");
27
25
 
28
- var _utils = require("../common/utils.js");
26
+ var _utils = require("../common/utils");
29
27
 
30
28
  var _useTheme = _interopRequireDefault(require("../useTheme"));
31
29
 
@@ -33,17 +31,18 @@ var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColor
33
31
 
34
32
  var _uuid = require("uuid");
35
33
 
36
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
34
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;
37
35
 
38
36
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
39
37
 
40
38
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
41
39
 
42
- var DxcSlider = function DxcSlider(_ref) {
40
+ var DxcSlider = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
43
41
  var _ref$label = _ref.label,
44
42
  label = _ref$label === void 0 ? "" : _ref$label,
45
43
  _ref$name = _ref.name,
46
44
  name = _ref$name === void 0 ? "" : _ref$name,
45
+ defaultValue = _ref.defaultValue,
47
46
  value = _ref.value,
48
47
  _ref$helperText = _ref.helperText,
49
48
  helperText = _ref$helperText === void 0 ? "" : _ref$helperText,
@@ -68,17 +67,22 @@ var DxcSlider = function DxcSlider(_ref) {
68
67
  _ref$size = _ref.size,
69
68
  size = _ref$size === void 0 ? "fillParent" : _ref$size;
70
69
 
71
- var _useState = (0, _react.useState)(0),
70
+ var _useState = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : 0),
72
71
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
73
72
  innerValue = _useState2[0],
74
73
  setInnerValue = _useState2[1];
75
74
 
75
+ var _useState3 = (0, _react.useState)(false),
76
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
77
+ dragging = _useState4[0],
78
+ setDragging = _useState4[1];
79
+
76
80
  var colorsTheme = (0, _useTheme["default"])();
77
81
  var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
78
82
 
79
- var _useState3 = (0, _react.useState)("label-".concat((0, _uuid.v4)())),
80
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
81
- 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];
82
86
 
83
87
  var minLabel = (0, _react.useMemo)(function () {
84
88
  return labelFormatCallback ? labelFormatCallback(minValue) : minValue;
@@ -86,15 +90,44 @@ var DxcSlider = function DxcSlider(_ref) {
86
90
  var maxLabel = (0, _react.useMemo)(function () {
87
91
  return labelFormatCallback ? labelFormatCallback(maxValue) : maxValue;
88
92
  }, [labelFormatCallback, maxValue]);
93
+ var tickMarks = (0, _react.useMemo)(function () {
94
+ var ticks = [];
95
+ var numberOfMarks = Math.floor(maxValue / step - minValue / step);
96
+ var index = 0;
97
+ var range = maxValue - minValue;
98
+
99
+ if (marks) {
100
+ while (index <= numberOfMarks) {
101
+ ticks.push( /*#__PURE__*/_react["default"].createElement(TickMark, {
102
+ disabled: disabled,
103
+ stepPosition: step * index / range,
104
+ backgroundType: backgroundType,
105
+ stepValue: (value !== null && value !== void 0 ? value : innerValue) / maxValue
106
+ }));
107
+ index++;
108
+ }
109
+
110
+ return ticks;
111
+ } else {
112
+ return null;
113
+ }
114
+ }, [minValue, maxValue, step, value, innerValue]);
115
+
116
+ var handleSliderChange = function handleSliderChange(event) {
117
+ var valueToCheck = event.target.value;
118
+ (valueToCheck !== value || valueToCheck !== innerValue) && setInnerValue(valueToCheck);
119
+ onChange === null || onChange === void 0 ? void 0 : onChange(valueToCheck);
120
+ };
89
121
 
90
- var handlerSliderChange = function handlerSliderChange(event, newValue) {
91
- var valueToCheck = value !== null && value !== void 0 ? value : innerValue;
92
- valueToCheck !== newValue && setInnerValue(newValue);
93
- onChange === null || onChange === void 0 ? void 0 : onChange(newValue);
122
+ var handleSliderDragging = function handleSliderDragging() {
123
+ setDragging(true);
94
124
  };
95
125
 
96
- var handleSliderOnChangeCommited = function handleSliderOnChangeCommited(event, selectedValue) {
97
- 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
+ }
98
131
  };
99
132
 
100
133
  var handlerInputChange = function handlerInputChange(event) {
@@ -109,11 +142,13 @@ var DxcSlider = function DxcSlider(_ref) {
109
142
  }
110
143
  };
111
144
 
145
+ var isFirefox = navigator.userAgent.indexOf("Firefox") !== -1;
112
146
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
113
147
  theme: colorsTheme.slider
114
148
  }, /*#__PURE__*/_react["default"].createElement(Container, {
115
149
  margin: margin,
116
- size: size
150
+ size: size,
151
+ ref: ref
117
152
  }, /*#__PURE__*/_react["default"].createElement(Label, {
118
153
  id: labelId,
119
154
  disabled: disabled,
@@ -121,33 +156,41 @@ var DxcSlider = function DxcSlider(_ref) {
121
156
  }, label), /*#__PURE__*/_react["default"].createElement(HelperText, {
122
157
  disabled: disabled,
123
158
  backgroundType: backgroundType
124
- }, helperText), /*#__PURE__*/_react["default"].createElement(SliderContainer, {
125
- backgroundType: backgroundType
126
- }, showLimitsValues && /*#__PURE__*/_react["default"].createElement(MinLabelContainer, {
159
+ }, helperText), /*#__PURE__*/_react["default"].createElement(SliderContainer, null, showLimitsValues && /*#__PURE__*/_react["default"].createElement(MinLabelContainer, {
127
160
  backgroundType: backgroundType,
128
161
  disabled: disabled
129
- }, minLabel), /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
130
- value: value != null && value >= 0 && value || innerValue,
162
+ }, minLabel), /*#__PURE__*/_react["default"].createElement(SliderInputContainer, null, /*#__PURE__*/_react["default"].createElement(SliderInput, {
163
+ role: "slider",
164
+ type: "range",
165
+ value: value != null && value >= 0 ? value : innerValue,
131
166
  min: minValue,
132
167
  max: maxValue,
133
- onChange: handlerSliderChange,
134
- onChangeCommitted: handleSliderOnChangeCommited,
135
168
  step: step,
136
- marks: marks || [],
169
+ marks: marks,
137
170
  disabled: disabled,
138
- "aria-labelledby": labelId
139
- }), showLimitsValues && /*#__PURE__*/_react["default"].createElement(MaxLabelContainer, {
171
+ "aria-labelledby": labelId,
172
+ "aria-orientation": "horizontal",
173
+ "aria-valuemax": maxValue,
174
+ "aria-valuemin": minValue,
175
+ "aria-valuenow": value != null && value >= 0 ? value : innerValue,
176
+ onChange: handleSliderChange,
177
+ onMouseUp: handleSliderOnChangeCommited,
178
+ onMouseDown: handleSliderDragging,
179
+ backgroundType: backgroundType
180
+ }), marks && /*#__PURE__*/_react["default"].createElement(MarksContainer, {
181
+ isFirefox: isFirefox
182
+ }, tickMarks)), showLimitsValues && /*#__PURE__*/_react["default"].createElement(MaxLabelContainer, {
140
183
  backgroundType: backgroundType,
141
184
  disabled: disabled,
142
185
  step: step
143
186
  }, maxLabel), showInput && /*#__PURE__*/_react["default"].createElement(StyledTextInput, null, /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
144
187
  name: name,
145
- value: value != null && value >= 0 && value.toString() || innerValue.toString(),
188
+ value: value != null && value >= 0 ? value.toString() : innerValue.toString(),
146
189
  disabled: disabled,
147
190
  onChange: handlerInputChange,
148
191
  size: "fillParent"
149
192
  })))));
150
- };
193
+ });
151
194
 
152
195
  var sizes = {
153
196
  medium: "360px",
@@ -159,6 +202,14 @@ var calculateWidth = function calculateWidth(margin, size) {
159
202
  return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
160
203
  };
161
204
 
205
+ var getChromeStyles = function getChromeStyles() {
206
+ return "\n width: 100%;\n margin-right: 4px;";
207
+ };
208
+
209
+ var getFireFoxStyles = function getFireFoxStyles() {
210
+ return "\n width: calc(100% - 16px);\n margin-right: 3px;";
211
+ };
212
+
162
213
  var Container = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n width: ", ";\n"])), function (props) {
163
214
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
164
215
  }, function (props) {
@@ -187,7 +238,7 @@ var Label = _styledComponents["default"].label(_templateObject2 || (_templateObj
187
238
  return props.theme.labelLineHeight;
188
239
  });
189
240
 
190
- var HelperText = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
241
+ var HelperText = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
191
242
  return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledHelperTextFontColorOnDark : props.theme.disabledHelperTextFontColor : props.backgroundType === "dark" ? props.theme.helperTextFontColorOnDark : props.theme.helperTextFontColor;
192
243
  }, function (props) {
193
244
  return props.theme.fontFamily;
@@ -201,83 +252,51 @@ var HelperText = _styledComponents["default"].span(_templateObject3 || (_templat
201
252
  return props.theme.helperTextLineHeight;
202
253
  });
203
254
 
204
- 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) {
205
- return props.backgroundType === "dark" ? props.theme.disabledThumbBackgroundColorOnDark : props.theme.disabledThumbBackgroundColor;
206
- }, function (props) {
207
- return props.theme.thumbHeight;
208
- }, function (props) {
209
- return props.theme.thumbWidth;
210
- }, function (props) {
211
- return props.backgroundType === "dark" ? props.theme.disabledThumbBackgroundColorOnDark : props.theme.disabledThumbBackgroundColor;
212
- }, function (props) {
213
- return props.theme.disabledThumbVerticalPosition;
214
- }, function (props) {
215
- return props.backgroundType === "dark" ? props.theme.disabledTrackLineColorOnDark : props.theme.disabledTrackLineColor;
216
- }, function (props) {
217
- return props.backgroundType === "dark" ? props.theme.disabledTotalLineColorOnDark : props.theme.disabledTotalLineColor;
218
- }, function (props) {
219
- return props.backgroundType === "dark" ? props.theme.disabledTickBackgroundColorOnDark : props.theme.disabledTickBackgroundColor;
255
+ var SliderInput = _styledComponents["default"].input(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n min-width: 240px;\n height: ", ";\n display: inline-block;\n vertical-align: middle;\n -webkit-appearance: none;\n background-color: ", ";\n background-image: ", ";\n background-repeat: no-repeat;\n background-size: ", ";\n border-radius: 5px;\n cursor: ", ";\n &::-webkit-slider-runnable-track {\n -webkit-appearance: none;\n box-shadow: none;\n border: none;\n background: transparent;\n margin: 0px -8px;\n }\n\n &::-webkit-slider-thumb {\n -webkit-appearance: none;\n border: none;\n height: ", ";\n width: ", ";\n border-radius: 25px;\n background: ", ";\n &:active {\n ", "\n }\n &:hover {\n ", "\n }\n }\n &::-moz-range-track {\n -webkit-appearance: none;\n box-shadow: none;\n border: none;\n background: transparent;\n }\n &::-moz-range-thumb {\n -webkit-appearance: none;\n border: none;\n height: ", ";\n width: ", ";\n border-radius: 25px;\n background: ", ";\n &:active {\n background: ", ";\n transform: scale(1.16667);\n }\n &:hover {\n ", "\n }\n }\n &:focus {\n outline: none;\n &::-webkit-slider-thumb {\n outline: ", "\n auto 1px;\n outline-offset: 2px;\n }\n &::-moz-range-thumb {\n outline: ", "\n auto 1px;\n outline-offset: 2px;\n }\n }\n"])), function (props) {
256
+ return props.theme.trackLineThickness;
220
257
  }, function (props) {
221
- return props.backgroundType === "dark" ? props.theme.disabledTickBackgroundColorOnDark : props.theme.disabledTickBackgroundColor;
258
+ return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledTotalLineColorOnDark + "61" : props.theme.disabledTotalLineColor + "61" : props.backgroundType === "dark" ? props.theme.totalLineColorOnDark + "61" : props.theme.totalLineColor;
222
259
  }, function (props) {
223
- return props.theme.tickHeight;
260
+ return props.disabled ? props.backgroundType === "dark" ? "linear-gradient(".concat(props.theme.disabledTrackLineColorOnDark, ", ").concat(props.theme.disabledTrackLineColorOnDark, ")") : "linear-gradient(".concat(props.theme.disabledTrackLineColor, ", ").concat(props.theme.disabledTrackLineColor, ")") : props.backgroundType === "dark" ? "linear-gradient(".concat(props.theme.trackLineColorOnDark, ", ").concat(props.theme.trackLineColorOnDark, ")") : "linear-gradient(".concat(props.theme.trackLineColor, ", ").concat(props.theme.trackLineColor, ")");
224
261
  }, function (props) {
225
- return props.theme.tickWidth;
262
+ return (props.value - props.min) * 100 / (props.max - props.min) + "% 100%";
226
263
  }, function (props) {
227
- return props.theme.disabledTickVerticalPosition;
264
+ return props.disabled ? "not-allowed" : "pointer";
228
265
  }, function (props) {
229
266
  return props.theme.thumbHeight;
230
267
  }, function (props) {
231
268
  return props.theme.thumbWidth;
232
269
  }, function (props) {
233
- return props.backgroundType === "dark" ? props.theme.thumbBackgroundColorOnDark : props.theme.thumbBackgroundColor;
234
- }, function (props) {
235
- return props.theme.thumbVerticalPosition;
236
- }, function (props) {
237
- return props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
270
+ return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledThumbBackgroundColorOnDark : props.theme.disabledThumbBackgroundColor : props.backgroundType === "dark" ? props.theme.thumbBackgroundColorOnDark : props.theme.thumbBackgroundColor;
238
271
  }, function (props) {
239
- return props.backgroundType === "dark" ? props.theme.focusThumbBackgroundColorOnDark : props.theme.focusThumbBackgroundColor;
272
+ if (!props.disabled) {
273
+ return "\n background: ".concat(props.backgroundType === "dark" ? props.theme.activeThumbBackgroundColorOnDark : props.theme.activeThumbBackgroundColor, ";\n transform: scale(1.16667);");
274
+ }
240
275
  }, function (props) {
241
- return props.backgroundType === "dark" ? props.theme.hoverThumbBackgroundColorOnDark : props.theme.hoverThumbBackgroundColor;
276
+ if (!props.disabled) {
277
+ return "height: ".concat(props.theme.hoverThumbHeight, ";\n width: ").concat(props.theme.hoverThumbWidth, ";\n transform: scale(1.16667);\n transform-origin: center center;\n background: ").concat(props.backgroundType === "dark" ? props.theme.hoverThumbBackgroundColorOnDark : props.theme.hoverThumbBackgroundColor, ";");
278
+ }
242
279
  }, function (props) {
243
- return props.theme.hoverThumbScale;
244
- }, function (props) {
245
- return props.theme.hoverThumbHeight;
280
+ return props.theme.thumbHeight;
246
281
  }, function (props) {
247
- return props.theme.hoverThumbWidth;
282
+ return props.theme.thumbWidth;
248
283
  }, function (props) {
249
- return props.theme.hoverThumbVerticalPosition;
284
+ return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledThumbBackgroundColorOnDark : props.theme.disabledThumbBackgroundColor : props.backgroundType === "dark" ? props.theme.thumbBackgroundColorOnDark : props.theme.thumbBackgroundColor;
250
285
  }, function (props) {
251
286
  return props.backgroundType === "dark" ? props.theme.activeThumbBackgroundColorOnDark : props.theme.activeThumbBackgroundColor;
252
287
  }, function (props) {
253
- return props.theme.activeThumbScale;
254
- }, function (props) {
255
- return props.backgroundType === "dark" ? props.theme.trackLineColorOnDark : props.theme.trackLineColor;
288
+ if (!props.disabled) {
289
+ return "height: ".concat(props.theme.hoverThumbHeight, ";\n width: ").concat(props.theme.hoverThumbWidth, ";\n transform: scale(1.16667);\n transform-origin: center center;\n background: ").concat(props.backgroundType === "dark" ? props.theme.hoverThumbBackgroundColorOnDark : props.theme.hoverThumbBackgroundColor, ";");
290
+ }
256
291
  }, function (props) {
257
- return props.theme.trackLineThickness;
258
- }, function (props) {
259
- return props.theme.trackLineVerticalPosition;
260
- }, function (props) {
261
- return props.backgroundType === "dark" ? props.theme.trackLineColorOnDark : props.theme.trackLineColor;
262
- }, function (props) {
263
- return props.backgroundType === "dark" ? props.theme.totalLineColorOnDark : props.theme.totalLineColor;
264
- }, function (props) {
265
- return props.theme.totalLineThickness;
266
- }, function (props) {
267
- return props.theme.totalLineVerticalPosition;
268
- }, function (props) {
269
- return props.backgroundType === "dark" ? props.theme.tickBackgroundColorOnDark : props.theme.tickBackgroundColor;
270
- }, function (props) {
271
- return props.backgroundType === "dark" ? props.theme.tickBackgroundColorOnDark : props.theme.tickBackgroundColor;
292
+ return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledFocusColorOnDark : props.theme.disabledFocusColor : props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
272
293
  }, function (props) {
273
- return props.theme.tickHeight;
274
- }, function (props) {
275
- return props.theme.tickWidth;
276
- }, function (props) {
277
- return props.theme.tickVerticalPosition;
294
+ return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledFocusColorOnDark : props.theme.disabledFocusColor : props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
278
295
  });
279
296
 
280
- 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) {
297
+ var SliderContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n height: 48px;\n align-items: center;\n"])));
298
+
299
+ var LimitLabelContainer = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n white-space: nowrap;\n"])), function (props) {
281
300
  return props.disabled ? props.theme.disabledLimitValuesFontColor : props.backgroundType === "dark" ? props.theme.limitValuesFontColorOnDark : props.theme.limitValuesFontColor;
282
301
  }, function (props) {
283
302
  return props.theme.fontFamily;
@@ -289,27 +308,34 @@ var MinLabelContainer = _styledComponents["default"].span(_templateObject5 || (_
289
308
  return props.theme.limitValuesFontWeight;
290
309
  }, function (props) {
291
310
  return props.theme.limitValuesFontLetterSpacing;
292
- }, function (props) {
311
+ });
312
+
313
+ var MinLabelContainer = (0, _styledComponents["default"])(LimitLabelContainer)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: ", ";\n"])), function (props) {
293
314
  return props.theme.floorLabelMarginRight;
294
315
  });
316
+ var MaxLabelContainer = (0, _styledComponents["default"])(LimitLabelContainer)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: ", ";\n"])), function (props) {
317
+ return props.step === 1 ? props.theme.ceilLabelMarginLeft : "1.25rem";
318
+ });
295
319
 
296
- 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) {
297
- return props.disabled ? props.theme.disabledLimitValuesFontColor : props.backgroundType === "dark" ? props.theme.limitValuesFontColorOnDark : props.theme.limitValuesFontColor;
298
- }, function (props) {
299
- return props.theme.fontFamily;
300
- }, function (props) {
301
- return props.theme.limitValuesFontSize;
320
+ var SliderInputContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n width: 100%;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: -2px;\n padding-top: 1px;\n z-index: 0;\n"])));
321
+
322
+ var MarksContainer = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n position: absolute;\n pointer-events: none;\n height: 100%;\n display: flex;\n align-items: center;\n"])), function (props) {
323
+ return props.isFirefox ? getFireFoxStyles() : getChromeStyles();
324
+ });
325
+
326
+ var TickMark = _styledComponents["default"].span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n background: ", ";\n height: ", ";\n width: ", ";\n border-radius: 18px;\n left: ", ";\n z-index: ", ";\n"])), function (props) {
327
+ return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledTickBackgroundColorOnDark : props.theme.disabledTickBackgroundColor : props.backgroundType === "dark" ? props.theme.tickBackgroundColorOnDark : props.theme.tickBackgroundColor;
302
328
  }, function (props) {
303
- return props.theme.limitValuesFontStyle;
329
+ return props.theme.tickHeight;
304
330
  }, function (props) {
305
- return props.theme.limitValuesFontWeight;
331
+ return props.theme.tickWidth;
306
332
  }, function (props) {
307
- return props.theme.limitValuesFontLetterSpacing;
333
+ return "calc(".concat(props.stepPosition, " * 100%)");
308
334
  }, function (props) {
309
- return props.step === 1 ? props.theme.ceilLabelMarginLeft : "1.25rem";
335
+ return "".concat(props.stepPosition <= props.stepValue ? "-1" : "0");
310
336
  });
311
337
 
312
- 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) {
338
+ var StyledTextInput = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: ", ";\n max-width: 70px;\n"])), function (props) {
313
339
  return props.theme.inputMarginLeft;
314
340
  });
315
341
 
@@ -4,6 +4,7 @@ import { BackgroundColorProvider } from "../BackgroundColorContext";
4
4
  import Title from "../../.storybook/components/Title";
5
5
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
6
  import DarkContainer from "../../.storybook/components/DarkSection";
7
+ import { HalstackProvider } from "../HalstackContext";
7
8
 
8
9
  export default {
9
10
  title: "Slider",
@@ -12,6 +13,14 @@ export default {
12
13
 
13
14
  const labelFormat = (value) => `${value}E100000000000000000000000`;
14
15
 
16
+ const opinionatedTheme = {
17
+ slider: {
18
+ baseColor: "#0067b3",
19
+ fontColor: "#000000",
20
+ totalLineColor: "#e6e6e6",
21
+ },
22
+ };
23
+
15
24
  export const Chromatic = () => (
16
25
  <>
17
26
  <Title title="States" theme="light" level={2} />
@@ -37,7 +46,7 @@ export const Chromatic = () => (
37
46
  label="Slider"
38
47
  helperText="Help message"
39
48
  disabled
40
- value={40}
49
+ defaultValue={40}
41
50
  minValue={0}
42
51
  maxValue={50}
43
52
  showLimitsValues
@@ -49,16 +58,16 @@ export const Chromatic = () => (
49
58
  <Title title="Variants" theme="light" level={2} />
50
59
  <ExampleContainer>
51
60
  <Title title="Continuous slider" theme="light" level={4} />
52
- <DxcSlider value={65} label="Slider" helperText="Help message" showLimitsValues />
61
+ <DxcSlider defaultValue={65} label="Slider" helperText="Help message" showLimitsValues />
53
62
  </ExampleContainer>
54
63
  <ExampleContainer>
55
64
  <Title title="Discrete slider" theme="light" level={4} />
56
- <DxcSlider value={20} label="Slider" helperText="Help message" showLimitsValues marks step={5} />
65
+ <DxcSlider defaultValue={20} label="Slider" helperText="Help message" showLimitsValues marks step={5} />
57
66
  </ExampleContainer>
58
67
  <ExampleContainer>
59
68
  <Title title="Discrete slider with input" theme="light" level={4} />
60
69
  <DxcSlider
61
- value={20}
70
+ defaultValue={20}
62
71
  minValue={0}
63
72
  maxValue={50}
64
73
  label="Slider"
@@ -94,7 +103,7 @@ export const Chromatic = () => (
94
103
  label="Slider"
95
104
  helperText="Help message"
96
105
  disabled
97
- value={40}
106
+ defaultValue={40}
98
107
  minValue={0}
99
108
  maxValue={50}
100
109
  showLimitsValues
@@ -105,16 +114,16 @@ export const Chromatic = () => (
105
114
  </ExampleContainer>
106
115
  <ExampleContainer>
107
116
  <Title title="Continuous slider" theme="dark" level={4} />
108
- <DxcSlider value={65} label="Slider" helperText="Help message" showLimitsValues />
117
+ <DxcSlider defaultValue={65} label="Slider" helperText="Help message" showLimitsValues />
109
118
  </ExampleContainer>
110
119
  <ExampleContainer>
111
120
  <Title title="Discrete slider" theme="dark" level={4} />
112
- <DxcSlider value={20} label="Slider" helperText="Help message" showLimitsValues marks step={5} />
121
+ <DxcSlider defaultValue={20} label="Slider" helperText="Help message" showLimitsValues marks step={5} />
113
122
  </ExampleContainer>
114
123
  <ExampleContainer>
115
124
  <Title title="Discrete slider with input" theme="dark" level={4} />
116
125
  <DxcSlider
117
- value={20}
126
+ defaultValue={20}
118
127
  minValue={0}
119
128
  maxValue={50}
120
129
  label="Slider"
@@ -171,7 +180,61 @@ export const Chromatic = () => (
171
180
  </ExampleContainer>
172
181
  <ExampleContainer>
173
182
  <Title title="Large limit values labels" theme="light" level={4} />
174
- <DxcSlider label="Slider" helperText="Help message" showLimitsValues labelFormatCallback={labelFormat} size="large" />
183
+ <DxcSlider
184
+ label="Slider"
185
+ helperText="Help message"
186
+ showLimitsValues
187
+ labelFormatCallback={labelFormat}
188
+ size="large"
189
+ />
190
+ </ExampleContainer>
191
+ <Title title="Opinionated theme" theme="light" level={2} />
192
+ <ExampleContainer pseudoState="pseudo-hover">
193
+ <Title title="Hovered" theme="light" level={4} />
194
+ <HalstackProvider theme={opinionatedTheme}>
195
+ <DxcSlider label="Slider" helperText="Help message" showLimitsValues />
196
+ </HalstackProvider>
197
+ </ExampleContainer>
198
+ <ExampleContainer pseudoState="pseudo-active">
199
+ <Title title="Active" theme="light" level={4} />
200
+ <HalstackProvider theme={opinionatedTheme}>
201
+ <DxcSlider label="Slider" helperText="Help message" showLimitsValues />
202
+ </HalstackProvider>
203
+ </ExampleContainer>
204
+ <ExampleContainer pseudoState="pseudo-focus">
205
+ <Title title="Focused" theme="light" level={4} />
206
+ <HalstackProvider theme={opinionatedTheme}>
207
+ <DxcSlider label="Slider" helperText="Help message" showLimitsValues />
208
+ </HalstackProvider>
209
+ </ExampleContainer>
210
+ <ExampleContainer>
211
+ <Title title="Disabled discrete slider with input" theme="light" level={4} />{" "}
212
+ <HalstackProvider theme={opinionatedTheme}>
213
+ <DxcSlider
214
+ label="Slider"
215
+ helperText="Help message"
216
+ disabled
217
+ defaultValue={40}
218
+ minValue={0}
219
+ maxValue={50}
220
+ showLimitsValues
221
+ showInput
222
+ marks
223
+ step={10}
224
+ />
225
+ </HalstackProvider>
226
+ </ExampleContainer>
227
+ <ExampleContainer>
228
+ <Title title="Continuous slider" theme="light" level={4} />
229
+ <HalstackProvider theme={opinionatedTheme}>
230
+ <DxcSlider defaultValue={65} label="Slider" helperText="Help message" showLimitsValues />
231
+ </HalstackProvider>
232
+ </ExampleContainer>
233
+ <ExampleContainer>
234
+ <Title title="Discrete slider" theme="light" level={4} />
235
+ <HalstackProvider theme={opinionatedTheme}>
236
+ <DxcSlider defaultValue={20} label="Slider" helperText="Help message" showLimitsValues marks step={5} />
237
+ </HalstackProvider>
175
238
  </ExampleContainer>
176
239
  </>
177
240
  );