@dxc-technology/halstack-react 0.0.0-f0d662d → 0.0.0-f1bbdfe

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 (302) 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 -142
  7. package/accordion/Accordion.stories.tsx +115 -27
  8. package/accordion/Accordion.test.js +71 -0
  9. package/accordion/types.d.ts +8 -7
  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 +126 -0
  14. package/accordion-group/types.d.ts +14 -7
  15. package/alert/Alert.js +8 -7
  16. package/alert/Alert.stories.tsx +28 -0
  17. package/alert/Alert.test.js +92 -0
  18. package/badge/Badge.d.ts +4 -0
  19. package/badge/Badge.js +5 -3
  20. package/badge/types.d.ts +5 -0
  21. package/bleed/Bleed.js +1 -34
  22. package/bleed/Bleed.stories.tsx +95 -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 +18 -0
  27. package/box/types.d.ts +1 -0
  28. package/bulleted-list/BulletedList.d.ts +7 -0
  29. package/bulleted-list/BulletedList.js +125 -0
  30. package/bulleted-list/BulletedList.stories.tsx +206 -0
  31. package/bulleted-list/types.d.ts +38 -0
  32. package/button/Button.js +52 -70
  33. package/button/Button.stories.tsx +159 -8
  34. package/button/Button.test.js +35 -0
  35. package/button/types.d.ts +5 -5
  36. package/card/Card.js +33 -37
  37. package/card/Card.stories.tsx +12 -13
  38. package/card/Card.test.js +50 -0
  39. package/card/types.d.ts +1 -0
  40. package/checkbox/Checkbox.d.ts +2 -2
  41. package/checkbox/Checkbox.js +107 -110
  42. package/checkbox/Checkbox.stories.tsx +198 -130
  43. package/checkbox/Checkbox.test.js +155 -0
  44. package/checkbox/types.d.ts +11 -3
  45. package/chip/Chip.d.ts +1 -1
  46. package/chip/Chip.js +22 -68
  47. package/chip/Chip.stories.tsx +98 -13
  48. package/chip/Chip.test.js +54 -0
  49. package/chip/types.d.ts +5 -13
  50. package/common/OpenSans.css +68 -80
  51. package/common/coreTokens.d.ts +146 -0
  52. package/common/coreTokens.js +167 -0
  53. package/common/utils.d.ts +1 -0
  54. package/common/utils.js +4 -4
  55. package/common/variables.d.ts +1482 -0
  56. package/common/variables.js +1097 -1348
  57. package/date-input/Calendar.d.ts +4 -0
  58. package/date-input/Calendar.js +258 -0
  59. package/date-input/DateInput.js +169 -258
  60. package/date-input/DateInput.stories.tsx +199 -33
  61. package/date-input/DateInput.test.js +835 -0
  62. package/date-input/DatePicker.d.ts +4 -0
  63. package/date-input/DatePicker.js +146 -0
  64. package/date-input/Icons.d.ts +6 -0
  65. package/date-input/Icons.js +75 -0
  66. package/date-input/YearPicker.d.ts +4 -0
  67. package/date-input/YearPicker.js +126 -0
  68. package/date-input/types.d.ts +67 -9
  69. package/dialog/Dialog.js +76 -93
  70. package/dialog/Dialog.stories.tsx +230 -123
  71. package/dialog/Dialog.test.js +369 -0
  72. package/dialog/types.d.ts +1 -0
  73. package/dropdown/Dropdown.d.ts +1 -1
  74. package/dropdown/Dropdown.js +248 -277
  75. package/dropdown/Dropdown.stories.tsx +255 -64
  76. package/dropdown/Dropdown.test.js +586 -0
  77. package/dropdown/DropdownMenu.d.ts +4 -0
  78. package/dropdown/DropdownMenu.js +74 -0
  79. package/dropdown/DropdownMenuItem.d.ts +4 -0
  80. package/dropdown/DropdownMenuItem.js +79 -0
  81. package/dropdown/types.d.ts +27 -16
  82. package/file-input/FileInput.d.ts +2 -2
  83. package/file-input/FileInput.js +180 -223
  84. package/file-input/FileInput.stories.tsx +122 -11
  85. package/file-input/FileInput.test.js +457 -0
  86. package/file-input/FileItem.d.ts +4 -14
  87. package/file-input/FileItem.js +44 -66
  88. package/file-input/types.d.ts +17 -0
  89. package/flex/Flex.d.ts +4 -0
  90. package/flex/Flex.js +71 -0
  91. package/flex/Flex.stories.tsx +112 -0
  92. package/flex/types.d.ts +97 -0
  93. package/footer/Footer.js +17 -92
  94. package/footer/Footer.stories.tsx +99 -1
  95. package/footer/Footer.test.js +97 -0
  96. package/footer/Icons.js +1 -1
  97. package/footer/types.d.ts +2 -1
  98. package/grid/Grid.d.ts +7 -0
  99. package/grid/Grid.js +91 -0
  100. package/grid/Grid.stories.tsx +219 -0
  101. package/grid/types.d.ts +115 -0
  102. package/header/Header.d.ts +3 -2
  103. package/header/Header.js +108 -129
  104. package/header/Header.stories.tsx +189 -36
  105. package/header/Header.test.js +79 -0
  106. package/header/Icons.js +2 -2
  107. package/header/types.d.ts +1 -0
  108. package/heading/Heading.js +1 -1
  109. package/heading/Heading.test.js +186 -0
  110. package/inset/Inset.js +1 -34
  111. package/inset/Inset.stories.tsx +37 -36
  112. package/inset/types.d.ts +25 -1
  113. package/layout/ApplicationLayout.d.ts +16 -6
  114. package/layout/ApplicationLayout.js +72 -126
  115. package/layout/ApplicationLayout.stories.tsx +84 -93
  116. package/layout/Icons.d.ts +5 -0
  117. package/layout/Icons.js +13 -2
  118. package/layout/SidenavContext.d.ts +5 -0
  119. package/layout/SidenavContext.js +19 -0
  120. package/layout/types.d.ts +19 -35
  121. package/link/Link.d.ts +3 -2
  122. package/link/Link.js +63 -88
  123. package/link/Link.stories.tsx +159 -52
  124. package/link/Link.test.js +81 -0
  125. package/link/types.d.ts +7 -27
  126. package/main.d.ts +12 -15
  127. package/main.js +57 -75
  128. package/nav-tabs/NavTabs.d.ts +8 -0
  129. package/nav-tabs/NavTabs.js +125 -0
  130. package/nav-tabs/NavTabs.stories.tsx +260 -0
  131. package/nav-tabs/NavTabs.test.js +82 -0
  132. package/nav-tabs/Tab.d.ts +4 -0
  133. package/nav-tabs/Tab.js +150 -0
  134. package/nav-tabs/types.d.ts +53 -0
  135. package/nav-tabs/types.js +5 -0
  136. package/number-input/NumberInput.js +11 -18
  137. package/number-input/NumberInput.stories.tsx +5 -5
  138. package/number-input/NumberInput.test.js +542 -0
  139. package/number-input/types.d.ts +17 -10
  140. package/package.json +20 -23
  141. package/paginator/Icons.d.ts +5 -0
  142. package/paginator/Icons.js +16 -28
  143. package/paginator/Paginator.js +19 -48
  144. package/paginator/Paginator.stories.tsx +24 -0
  145. package/paginator/Paginator.test.js +305 -0
  146. package/paragraph/Paragraph.d.ts +5 -0
  147. package/paragraph/Paragraph.js +38 -0
  148. package/paragraph/Paragraph.stories.tsx +44 -0
  149. package/password-input/PasswordInput.js +7 -4
  150. package/password-input/PasswordInput.test.js +181 -0
  151. package/password-input/types.d.ts +14 -11
  152. package/progress-bar/ProgressBar.js +61 -55
  153. package/progress-bar/ProgressBar.stories.jsx +47 -12
  154. package/progress-bar/ProgressBar.test.js +110 -0
  155. package/quick-nav/QuickNav.d.ts +4 -0
  156. package/quick-nav/QuickNav.js +117 -0
  157. package/quick-nav/QuickNav.stories.tsx +356 -0
  158. package/quick-nav/types.d.ts +21 -0
  159. package/quick-nav/types.js +5 -0
  160. package/radio-group/Radio.d.ts +1 -1
  161. package/radio-group/Radio.js +53 -37
  162. package/radio-group/RadioGroup.js +67 -57
  163. package/radio-group/RadioGroup.stories.tsx +171 -36
  164. package/radio-group/RadioGroup.test.js +563 -89
  165. package/radio-group/types.d.ts +82 -4
  166. package/resultsetTable/Icons.d.ts +7 -0
  167. package/resultsetTable/Icons.js +51 -0
  168. package/resultsetTable/ResultsetTable.js +50 -106
  169. package/resultsetTable/ResultsetTable.stories.tsx +50 -25
  170. package/resultsetTable/ResultsetTable.test.js +325 -0
  171. package/resultsetTable/types.d.ts +1 -1
  172. package/select/Icons.d.ts +10 -0
  173. package/select/Icons.js +93 -0
  174. package/select/Listbox.d.ts +4 -0
  175. package/select/Listbox.js +169 -0
  176. package/select/Option.d.ts +4 -0
  177. package/select/Option.js +97 -0
  178. package/select/Select.js +189 -386
  179. package/select/Select.stories.tsx +600 -201
  180. package/select/Select.test.js +2228 -0
  181. package/select/types.d.ts +53 -13
  182. package/sidenav/Icons.d.ts +7 -0
  183. package/sidenav/Icons.js +51 -0
  184. package/sidenav/Sidenav.d.ts +6 -5
  185. package/sidenav/Sidenav.js +146 -44
  186. package/sidenav/Sidenav.stories.tsx +251 -151
  187. package/sidenav/Sidenav.test.js +44 -0
  188. package/sidenav/types.d.ts +52 -26
  189. package/slider/Slider.d.ts +2 -2
  190. package/slider/Slider.js +123 -98
  191. package/slider/Slider.stories.tsx +72 -9
  192. package/slider/Slider.test.js +250 -0
  193. package/slider/types.d.ts +8 -0
  194. package/spinner/Spinner.js +18 -24
  195. package/spinner/Spinner.stories.jsx +53 -27
  196. package/spinner/Spinner.test.js +64 -0
  197. package/switch/Switch.d.ts +2 -2
  198. package/switch/Switch.js +152 -69
  199. package/switch/Switch.stories.tsx +53 -42
  200. package/switch/Switch.test.js +225 -0
  201. package/switch/types.d.ts +10 -2
  202. package/table/Table.js +3 -3
  203. package/table/Table.stories.jsx +80 -1
  204. package/table/Table.test.js +26 -0
  205. package/tabs/Tab.d.ts +4 -0
  206. package/tabs/Tab.js +132 -0
  207. package/tabs/Tabs.d.ts +1 -1
  208. package/tabs/Tabs.js +360 -112
  209. package/tabs/Tabs.stories.tsx +119 -13
  210. package/tabs/Tabs.test.js +350 -0
  211. package/tabs/types.d.ts +17 -3
  212. package/tag/Tag.d.ts +1 -1
  213. package/tag/Tag.js +24 -36
  214. package/tag/Tag.stories.tsx +37 -27
  215. package/tag/Tag.test.js +60 -0
  216. package/tag/types.d.ts +23 -14
  217. package/text-input/Icons.d.ts +8 -0
  218. package/text-input/Icons.js +60 -0
  219. package/text-input/Suggestion.d.ts +4 -0
  220. package/text-input/Suggestion.js +84 -0
  221. package/text-input/Suggestions.d.ts +4 -0
  222. package/text-input/Suggestions.js +134 -0
  223. package/text-input/TextInput.js +224 -345
  224. package/text-input/TextInput.stories.tsx +310 -197
  225. package/text-input/TextInput.test.js +1723 -0
  226. package/text-input/types.d.ts +50 -12
  227. package/textarea/Textarea.js +22 -30
  228. package/textarea/Textarea.stories.jsx +93 -13
  229. package/textarea/Textarea.test.js +435 -0
  230. package/textarea/types.d.ts +18 -11
  231. package/toggle-group/ToggleGroup.d.ts +1 -1
  232. package/toggle-group/ToggleGroup.js +12 -8
  233. package/toggle-group/ToggleGroup.stories.tsx +46 -4
  234. package/toggle-group/ToggleGroup.test.js +156 -0
  235. package/toggle-group/types.d.ts +10 -2
  236. package/typography/Typography.d.ts +4 -0
  237. package/typography/Typography.js +32 -0
  238. package/typography/Typography.stories.tsx +198 -0
  239. package/typography/types.d.ts +18 -0
  240. package/typography/types.js +5 -0
  241. package/useTheme.d.ts +1234 -1
  242. package/useTheme.js +3 -3
  243. package/useTranslatedLabels.d.ts +85 -0
  244. package/useTranslatedLabels.js +20 -0
  245. package/utils/BaseTypography.d.ts +21 -0
  246. package/utils/BaseTypography.js +108 -0
  247. package/utils/FocusLock.d.ts +13 -0
  248. package/utils/FocusLock.js +139 -0
  249. package/wizard/Wizard.d.ts +1 -1
  250. package/wizard/Wizard.js +59 -55
  251. package/wizard/Wizard.stories.tsx +48 -19
  252. package/wizard/Wizard.test.js +141 -0
  253. package/wizard/types.d.ts +8 -4
  254. package/ThemeContext.d.ts +0 -15
  255. package/ThemeContext.js +0 -243
  256. package/V3Select/V3Select.js +0 -455
  257. package/V3Select/index.d.ts +0 -27
  258. package/V3Textarea/V3Textarea.js +0 -260
  259. package/V3Textarea/index.d.ts +0 -27
  260. package/common/RequiredComponent.js +0 -32
  261. package/date/Date.js +0 -373
  262. package/date/index.d.ts +0 -27
  263. package/input-text/Icons.js +0 -22
  264. package/input-text/InputText.js +0 -611
  265. package/input-text/index.d.ts +0 -36
  266. package/list/List.d.ts +0 -4
  267. package/list/List.js +0 -47
  268. package/list/List.stories.tsx +0 -95
  269. package/list/types.d.ts +0 -7
  270. package/radio/Radio.d.ts +0 -4
  271. package/radio/Radio.js +0 -174
  272. package/radio/Radio.stories.tsx +0 -192
  273. package/radio/types.d.ts +0 -54
  274. package/row/Row.d.ts +0 -3
  275. package/row/Row.js +0 -127
  276. package/row/Row.stories.tsx +0 -237
  277. package/row/types.d.ts +0 -10
  278. package/stack/Stack.d.ts +0 -3
  279. package/stack/Stack.js +0 -97
  280. package/stack/Stack.stories.tsx +0 -164
  281. package/stack/types.d.ts +0 -9
  282. package/text/Text.d.ts +0 -7
  283. package/text/Text.js +0 -30
  284. package/text/Text.stories.tsx +0 -19
  285. package/toggle/Toggle.js +0 -186
  286. package/toggle/index.d.ts +0 -21
  287. package/upload/Upload.js +0 -201
  288. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  289. package/upload/buttons-upload/Icons.js +0 -40
  290. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  291. package/upload/dragAndDropArea/Icons.js +0 -39
  292. package/upload/file-upload/FileToUpload.js +0 -115
  293. package/upload/file-upload/Icons.js +0 -66
  294. package/upload/files-upload/FilesToUpload.js +0 -109
  295. package/upload/index.d.ts +0 -15
  296. package/upload/transaction/Icons.js +0 -160
  297. package/upload/transaction/Transaction.js +0 -104
  298. package/upload/transactions/Transactions.js +0 -94
  299. /package/{list → badge}/types.js +0 -0
  300. /package/{radio → bulleted-list}/types.js +0 -0
  301. /package/{row → flex}/types.js +0 -0
  302. /package/{stack → grid}/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,40 @@ 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 || [],
137
169
  disabled: disabled,
138
- "aria-labelledby": labelId
139
- }), 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, {
140
182
  backgroundType: backgroundType,
141
183
  disabled: disabled,
142
184
  step: step
143
185
  }, maxLabel), showInput && /*#__PURE__*/_react["default"].createElement(StyledTextInput, null, /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
144
186
  name: name,
145
- value: value != null && value >= 0 && value.toString() || innerValue.toString(),
187
+ value: value != null && value >= 0 ? value.toString() : innerValue.toString(),
146
188
  disabled: disabled,
147
189
  onChange: handlerInputChange,
148
190
  size: "fillParent"
149
191
  })))));
150
- };
192
+ });
151
193
 
152
194
  var sizes = {
153
195
  medium: "360px",
@@ -159,6 +201,14 @@ var calculateWidth = function calculateWidth(margin, size) {
159
201
  return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
160
202
  };
161
203
 
204
+ var getChromeStyles = function getChromeStyles() {
205
+ return "\n width: 100%;\n margin-right: 4px;";
206
+ };
207
+
208
+ var getFireFoxStyles = function getFireFoxStyles() {
209
+ return "\n width: calc(100% - 16px);\n margin-right: 3px;";
210
+ };
211
+
162
212
  var Container = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n width: ", ";\n"])), function (props) {
163
213
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
164
214
  }, function (props) {
@@ -187,7 +237,7 @@ var Label = _styledComponents["default"].label(_templateObject2 || (_templateObj
187
237
  return props.theme.labelLineHeight;
188
238
  });
189
239
 
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) {
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) {
191
241
  return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledHelperTextFontColorOnDark : props.theme.disabledHelperTextFontColor : props.backgroundType === "dark" ? props.theme.helperTextFontColorOnDark : props.theme.helperTextFontColor;
192
242
  }, function (props) {
193
243
  return props.theme.fontFamily;
@@ -201,83 +251,51 @@ var HelperText = _styledComponents["default"].span(_templateObject3 || (_templat
201
251
  return props.theme.helperTextLineHeight;
202
252
  });
203
253
 
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;
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 cursor: ", ";\n &::-webkit-slider-runnable-track {\n -webkit-appearance: none;\n box-shadow: none;\n border: none;\n background: transparent;\n margin: 0px -8px;\n }\n\n &::-webkit-slider-thumb {\n -webkit-appearance: none;\n border: none;\n height: ", ";\n width: ", ";\n border-radius: 25px;\n background: ", ";\n &:active {\n ", "\n }\n &:hover {\n ", "\n }\n }\n &::-moz-range-track {\n -webkit-appearance: none;\n box-shadow: none;\n border: none;\n background: transparent;\n }\n &::-moz-range-thumb {\n -webkit-appearance: none;\n border: none;\n height: ", ";\n width: ", ";\n border-radius: 25px;\n background: ", ";\n &:active {\n background: ", ";\n transform: scale(1.16667);\n }\n &:hover {\n ", "\n }\n }\n &:focus {\n outline: none;\n &::-webkit-slider-thumb {\n outline: ", "\n auto 1px;\n outline-offset: 2px;\n }\n &::-moz-range-thumb {\n outline: ", "\n auto 1px;\n outline-offset: 2px;\n }\n }\n"])), function (props) {
255
+ return props.theme.trackLineThickness;
220
256
  }, function (props) {
221
- return props.backgroundType === "dark" ? props.theme.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;
222
258
  }, function (props) {
223
- 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, ")");
224
260
  }, function (props) {
225
- return props.theme.tickWidth;
261
+ return (props.value - props.min) * 100 / (props.max - props.min) + "% 100%";
226
262
  }, function (props) {
227
- return props.theme.disabledTickVerticalPosition;
263
+ return props.disabled ? "not-allowed" : "pointer";
228
264
  }, function (props) {
229
265
  return props.theme.thumbHeight;
230
266
  }, function (props) {
231
267
  return props.theme.thumbWidth;
232
268
  }, function (props) {
233
- return props.backgroundType === "dark" ? props.theme.thumbBackgroundColorOnDark : props.theme.thumbBackgroundColor;
234
- }, function (props) {
235
- return props.theme.thumbVerticalPosition;
236
- }, function (props) {
237
- return props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
269
+ return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledThumbBackgroundColorOnDark : props.theme.disabledThumbBackgroundColor : props.backgroundType === "dark" ? props.theme.thumbBackgroundColorOnDark : props.theme.thumbBackgroundColor;
238
270
  }, function (props) {
239
- return props.backgroundType === "dark" ? props.theme.focusThumbBackgroundColorOnDark : props.theme.focusThumbBackgroundColor;
271
+ if (!props.disabled) {
272
+ return "\n background: ".concat(props.backgroundType === "dark" ? props.theme.activeThumbBackgroundColorOnDark : props.theme.activeThumbBackgroundColor, ";\n transform: scale(1.16667);");
273
+ }
240
274
  }, function (props) {
241
- return props.backgroundType === "dark" ? props.theme.hoverThumbBackgroundColorOnDark : props.theme.hoverThumbBackgroundColor;
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
+ }
242
278
  }, function (props) {
243
- return props.theme.hoverThumbScale;
244
- }, function (props) {
245
- return props.theme.hoverThumbHeight;
279
+ return props.theme.thumbHeight;
246
280
  }, function (props) {
247
- return props.theme.hoverThumbWidth;
281
+ return props.theme.thumbWidth;
248
282
  }, function (props) {
249
- 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;
250
284
  }, function (props) {
251
285
  return props.backgroundType === "dark" ? props.theme.activeThumbBackgroundColorOnDark : props.theme.activeThumbBackgroundColor;
252
286
  }, function (props) {
253
- return props.theme.activeThumbScale;
254
- }, function (props) {
255
- return props.backgroundType === "dark" ? props.theme.trackLineColorOnDark : props.theme.trackLineColor;
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
+ }
256
290
  }, 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;
291
+ return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledFocusColorOnDark : props.theme.disabledFocusColor : props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
272
292
  }, function (props) {
273
- return props.theme.tickHeight;
274
- }, function (props) {
275
- return props.theme.tickWidth;
276
- }, function (props) {
277
- 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;
278
294
  });
279
295
 
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) {
296
+ var SliderContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n height: 48px;\n align-items: center;\n"])));
297
+
298
+ var LimitLabelContainer = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n white-space: nowrap;\n"])), function (props) {
281
299
  return props.disabled ? props.theme.disabledLimitValuesFontColor : props.backgroundType === "dark" ? props.theme.limitValuesFontColorOnDark : props.theme.limitValuesFontColor;
282
300
  }, function (props) {
283
301
  return props.theme.fontFamily;
@@ -289,27 +307,34 @@ var MinLabelContainer = _styledComponents["default"].span(_templateObject5 || (_
289
307
  return props.theme.limitValuesFontWeight;
290
308
  }, function (props) {
291
309
  return props.theme.limitValuesFontLetterSpacing;
292
- }, function (props) {
310
+ });
311
+
312
+ var MinLabelContainer = (0, _styledComponents["default"])(LimitLabelContainer)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: ", ";\n"])), function (props) {
293
313
  return props.theme.floorLabelMarginRight;
294
314
  });
315
+ var MaxLabelContainer = (0, _styledComponents["default"])(LimitLabelContainer)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: ", ";\n"])), function (props) {
316
+ return props.step === 1 ? props.theme.ceilLabelMarginLeft : "1.25rem";
317
+ });
295
318
 
296
- var 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;
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 z-index: 0;\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 z-index: ", ";\n"])), function (props) {
326
+ return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledTickBackgroundColorOnDark : props.theme.disabledTickBackgroundColor : props.backgroundType === "dark" ? props.theme.tickBackgroundColorOnDark : props.theme.tickBackgroundColor;
302
327
  }, function (props) {
303
- return props.theme.limitValuesFontStyle;
328
+ return props.theme.tickHeight;
304
329
  }, function (props) {
305
- return props.theme.limitValuesFontWeight;
330
+ return props.theme.tickWidth;
306
331
  }, function (props) {
307
- return props.theme.limitValuesFontLetterSpacing;
332
+ return "calc(".concat(props.stepPosition, " * 100%)");
308
333
  }, function (props) {
309
- return props.step === 1 ? props.theme.ceilLabelMarginLeft : "1.25rem";
334
+ return "".concat(props.stepPosition <= props.stepValue ? "-1" : "0");
310
335
  });
311
336
 
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) {
337
+ var StyledTextInput = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: ", ";\n max-width: 70px;\n"])), function (props) {
313
338
  return props.theme.inputMarginLeft;
314
339
  });
315
340
 
@@ -4,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
  );