@dxc-technology/halstack-react 0.0.0-9b45027 → 0.0.0-9bd9511

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 (294) hide show
  1. package/BackgroundColorContext.d.ts +2 -2
  2. package/BackgroundColorContext.js +1 -11
  3. package/HalstackContext.d.ts +13 -0
  4. package/HalstackContext.js +318 -0
  5. package/accordion/Accordion.d.ts +1 -1
  6. package/accordion/Accordion.js +124 -179
  7. package/accordion/Accordion.stories.tsx +115 -27
  8. package/accordion/Accordion.test.js +56 -0
  9. package/accordion/types.d.ts +12 -11
  10. package/accordion-group/AccordionGroup.d.ts +1 -1
  11. package/accordion-group/AccordionGroup.js +28 -77
  12. package/accordion-group/AccordionGroup.stories.tsx +28 -2
  13. package/accordion-group/AccordionGroup.test.js +108 -0
  14. package/accordion-group/types.d.ts +19 -12
  15. package/alert/Alert.js +18 -46
  16. package/alert/Alert.stories.tsx +28 -0
  17. package/alert/Alert.test.js +75 -0
  18. package/alert/types.d.ts +3 -3
  19. package/badge/Badge.d.ts +4 -0
  20. package/badge/Badge.js +6 -16
  21. package/badge/types.d.ts +5 -0
  22. package/bleed/Bleed.d.ts +2 -2
  23. package/bleed/Bleed.js +14 -55
  24. package/bleed/Bleed.stories.tsx +94 -95
  25. package/bleed/types.d.ts +26 -2
  26. package/box/Box.js +34 -63
  27. package/box/Box.stories.tsx +15 -0
  28. package/box/Box.test.js +13 -0
  29. package/box/types.d.ts +5 -4
  30. package/bulleted-list/BulletedList.d.ts +7 -0
  31. package/bulleted-list/BulletedList.js +98 -0
  32. package/bulleted-list/BulletedList.stories.tsx +200 -0
  33. package/bulleted-list/types.d.ts +11 -0
  34. package/bulleted-list/types.js +5 -0
  35. package/button/Button.js +61 -100
  36. package/button/Button.stories.tsx +159 -8
  37. package/button/Button.test.js +26 -0
  38. package/button/types.d.ts +8 -8
  39. package/card/Card.js +44 -70
  40. package/card/Card.test.js +39 -0
  41. package/card/types.d.ts +4 -3
  42. package/checkbox/Checkbox.d.ts +2 -2
  43. package/checkbox/Checkbox.js +115 -162
  44. package/checkbox/Checkbox.stories.tsx +198 -130
  45. package/checkbox/Checkbox.test.js +128 -0
  46. package/checkbox/types.d.ts +14 -6
  47. package/chip/Chip.d.ts +1 -1
  48. package/chip/Chip.js +29 -91
  49. package/chip/Chip.stories.tsx +98 -13
  50. package/chip/Chip.test.js +42 -0
  51. package/chip/types.d.ts +8 -16
  52. package/common/utils.js +1 -6
  53. package/common/variables.d.ts +1431 -0
  54. package/common/variables.js +480 -554
  55. package/date-input/Calendar.d.ts +4 -0
  56. package/date-input/Calendar.js +215 -0
  57. package/date-input/DateInput.js +164 -300
  58. package/date-input/DateInput.stories.tsx +199 -33
  59. package/date-input/DateInput.test.js +648 -0
  60. package/date-input/DatePicker.d.ts +4 -0
  61. package/date-input/DatePicker.js +116 -0
  62. package/date-input/Icons.d.ts +6 -0
  63. package/date-input/Icons.js +63 -0
  64. package/date-input/YearPicker.d.ts +4 -0
  65. package/date-input/YearPicker.js +101 -0
  66. package/date-input/types.d.ts +71 -13
  67. package/dialog/Dialog.js +52 -84
  68. package/dialog/Dialog.stories.tsx +99 -22
  69. package/dialog/Dialog.test.js +56 -0
  70. package/dialog/types.d.ts +4 -3
  71. package/dropdown/Dropdown.d.ts +1 -1
  72. package/dropdown/Dropdown.js +240 -323
  73. package/dropdown/Dropdown.stories.tsx +255 -64
  74. package/dropdown/Dropdown.test.js +479 -0
  75. package/dropdown/DropdownMenu.d.ts +4 -0
  76. package/dropdown/DropdownMenu.js +60 -0
  77. package/dropdown/DropdownMenuItem.d.ts +4 -0
  78. package/dropdown/DropdownMenuItem.js +70 -0
  79. package/dropdown/types.d.ts +30 -19
  80. package/file-input/FileInput.d.ts +2 -2
  81. package/file-input/FileInput.js +224 -351
  82. package/file-input/FileInput.stories.tsx +122 -11
  83. package/file-input/FileInput.test.js +445 -0
  84. package/file-input/FileItem.d.ts +4 -14
  85. package/file-input/FileItem.js +48 -97
  86. package/file-input/types.d.ts +24 -7
  87. package/flex/Flex.d.ts +4 -0
  88. package/flex/Flex.js +57 -0
  89. package/flex/Flex.stories.tsx +103 -0
  90. package/flex/types.d.ts +32 -0
  91. package/flex/types.js +5 -0
  92. package/footer/Footer.js +36 -143
  93. package/footer/Footer.stories.tsx +99 -1
  94. package/footer/Footer.test.js +92 -0
  95. package/footer/Icons.js +1 -5
  96. package/footer/types.d.ts +7 -6
  97. package/header/Header.js +112 -177
  98. package/header/Header.stories.tsx +189 -36
  99. package/header/Header.test.js +66 -0
  100. package/header/Icons.js +2 -6
  101. package/header/types.d.ts +4 -3
  102. package/heading/Heading.js +8 -29
  103. package/heading/Heading.test.js +169 -0
  104. package/heading/types.d.ts +3 -3
  105. package/inset/Inset.js +14 -55
  106. package/inset/Inset.stories.tsx +36 -36
  107. package/inset/types.d.ts +26 -2
  108. package/layout/ApplicationLayout.d.ts +16 -6
  109. package/layout/ApplicationLayout.js +71 -164
  110. package/layout/ApplicationLayout.stories.tsx +84 -93
  111. package/layout/Icons.d.ts +5 -0
  112. package/layout/Icons.js +11 -10
  113. package/layout/SidenavContext.d.ts +5 -0
  114. package/layout/SidenavContext.js +15 -0
  115. package/layout/types.d.ts +18 -33
  116. package/link/Link.d.ts +3 -2
  117. package/link/Link.js +61 -106
  118. package/link/Link.stories.tsx +159 -52
  119. package/link/Link.test.js +65 -0
  120. package/link/types.d.ts +9 -29
  121. package/main.d.ts +11 -15
  122. package/main.js +48 -121
  123. package/nav-tabs/NavTabs.d.ts +8 -0
  124. package/nav-tabs/NavTabs.js +95 -0
  125. package/nav-tabs/NavTabs.stories.tsx +260 -0
  126. package/nav-tabs/NavTabs.test.js +75 -0
  127. package/nav-tabs/Tab.d.ts +4 -0
  128. package/nav-tabs/Tab.js +120 -0
  129. package/nav-tabs/types.d.ts +53 -0
  130. package/nav-tabs/types.js +5 -0
  131. package/number-input/NumberInput.js +21 -38
  132. package/number-input/NumberInput.stories.tsx +5 -5
  133. package/number-input/NumberInput.test.js +406 -0
  134. package/number-input/NumberInputContext.js +0 -5
  135. package/number-input/numberInputContextTypes.d.ts +1 -1
  136. package/number-input/types.d.ts +21 -14
  137. package/package.json +22 -25
  138. package/paginator/Icons.d.ts +5 -0
  139. package/paginator/Icons.js +16 -38
  140. package/paginator/Paginator.js +31 -82
  141. package/paginator/Paginator.stories.tsx +24 -0
  142. package/paginator/Paginator.test.js +266 -0
  143. package/paginator/types.d.ts +1 -1
  144. package/paragraph/Paragraph.d.ts +6 -0
  145. package/paragraph/Paragraph.js +28 -0
  146. package/paragraph/Paragraph.stories.tsx +44 -0
  147. package/password-input/PasswordInput.js +28 -54
  148. package/password-input/PasswordInput.test.js +138 -0
  149. package/password-input/types.d.ts +18 -15
  150. package/progress-bar/ProgressBar.d.ts +2 -2
  151. package/progress-bar/ProgressBar.js +65 -84
  152. package/progress-bar/ProgressBar.stories.jsx +47 -12
  153. package/progress-bar/ProgressBar.test.js +93 -0
  154. package/progress-bar/types.d.ts +3 -4
  155. package/quick-nav/QuickNav.d.ts +4 -0
  156. package/quick-nav/QuickNav.js +95 -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 +61 -66
  162. package/radio-group/RadioGroup.js +99 -129
  163. package/radio-group/RadioGroup.stories.tsx +171 -36
  164. package/radio-group/RadioGroup.test.js +620 -0
  165. package/radio-group/types.d.ts +85 -7
  166. package/resultsetTable/Icons.d.ts +7 -0
  167. package/resultsetTable/Icons.js +48 -0
  168. package/resultsetTable/ResultsetTable.js +66 -157
  169. package/resultsetTable/ResultsetTable.stories.tsx +50 -25
  170. package/resultsetTable/ResultsetTable.test.js +292 -0
  171. package/resultsetTable/types.d.ts +5 -5
  172. package/select/Icons.d.ts +10 -0
  173. package/select/Icons.js +90 -0
  174. package/select/Listbox.d.ts +4 -0
  175. package/select/Listbox.js +144 -0
  176. package/select/Option.d.ts +4 -0
  177. package/select/Option.js +81 -0
  178. package/select/Select.js +201 -485
  179. package/select/Select.stories.tsx +600 -201
  180. package/select/Select.test.js +1845 -0
  181. package/select/types.d.ts +62 -22
  182. package/sidenav/Sidenav.d.ts +6 -5
  183. package/sidenav/Sidenav.js +164 -74
  184. package/sidenav/Sidenav.stories.tsx +249 -149
  185. package/sidenav/Sidenav.test.js +37 -0
  186. package/sidenav/types.d.ts +50 -27
  187. package/slider/Slider.d.ts +2 -2
  188. package/slider/Slider.js +143 -164
  189. package/slider/Slider.stories.tsx +72 -9
  190. package/slider/Slider.test.js +222 -0
  191. package/slider/types.d.ts +11 -3
  192. package/spinner/Spinner.js +12 -41
  193. package/spinner/Spinner.stories.jsx +27 -1
  194. package/spinner/Spinner.test.js +55 -0
  195. package/spinner/types.d.ts +3 -3
  196. package/switch/Switch.d.ts +2 -2
  197. package/switch/Switch.js +148 -107
  198. package/switch/Switch.stories.tsx +53 -42
  199. package/switch/Switch.test.js +180 -0
  200. package/switch/types.d.ts +13 -5
  201. package/table/Table.js +5 -23
  202. package/table/Table.stories.jsx +80 -1
  203. package/table/Table.test.js +21 -0
  204. package/table/types.d.ts +3 -3
  205. package/tabs/Tab.d.ts +4 -0
  206. package/tabs/Tab.js +115 -0
  207. package/tabs/Tabs.d.ts +1 -1
  208. package/tabs/Tabs.js +318 -139
  209. package/tabs/Tabs.stories.tsx +119 -13
  210. package/tabs/Tabs.test.js +295 -0
  211. package/tabs/types.d.ts +21 -7
  212. package/tag/Tag.d.ts +1 -1
  213. package/tag/Tag.js +36 -75
  214. package/tag/Tag.stories.tsx +37 -27
  215. package/tag/Tag.test.js +49 -0
  216. package/tag/types.d.ts +25 -16
  217. package/text-input/Icons.d.ts +8 -0
  218. package/text-input/Icons.js +57 -0
  219. package/text-input/Suggestion.d.ts +4 -0
  220. package/text-input/Suggestion.js +68 -0
  221. package/text-input/Suggestions.d.ts +4 -0
  222. package/text-input/Suggestions.js +109 -0
  223. package/text-input/TextInput.js +232 -438
  224. package/text-input/TextInput.stories.tsx +310 -197
  225. package/text-input/TextInput.test.js +1404 -0
  226. package/text-input/types.d.ts +55 -17
  227. package/textarea/Textarea.js +53 -96
  228. package/textarea/Textarea.stories.jsx +93 -13
  229. package/textarea/Textarea.test.js +360 -0
  230. package/textarea/types.d.ts +22 -15
  231. package/toggle-group/ToggleGroup.d.ts +1 -1
  232. package/toggle-group/ToggleGroup.js +23 -57
  233. package/toggle-group/ToggleGroup.stories.tsx +46 -4
  234. package/toggle-group/ToggleGroup.test.js +124 -0
  235. package/toggle-group/types.d.ts +19 -11
  236. package/translatedLabelsType.d.ts +82 -0
  237. package/translatedLabelsType.js +5 -0
  238. package/typography/Typography.d.ts +4 -0
  239. package/typography/Typography.js +119 -0
  240. package/typography/Typography.stories.tsx +198 -0
  241. package/typography/types.d.ts +18 -0
  242. package/typography/types.js +5 -0
  243. package/useTheme.d.ts +1 -1
  244. package/useTheme.js +3 -9
  245. package/useTranslatedLabels.d.ts +3 -0
  246. package/useTranslatedLabels.js +15 -0
  247. package/wizard/Wizard.d.ts +1 -1
  248. package/wizard/Wizard.js +68 -98
  249. package/wizard/Wizard.stories.tsx +48 -19
  250. package/wizard/Wizard.test.js +114 -0
  251. package/wizard/types.d.ts +12 -7
  252. package/ThemeContext.d.ts +0 -15
  253. package/ThemeContext.js +0 -243
  254. package/V3Select/V3Select.js +0 -455
  255. package/V3Select/index.d.ts +0 -27
  256. package/V3Textarea/V3Textarea.js +0 -260
  257. package/V3Textarea/index.d.ts +0 -27
  258. package/common/RequiredComponent.js +0 -32
  259. package/date/Date.js +0 -373
  260. package/date/index.d.ts +0 -27
  261. package/input-text/Icons.js +0 -22
  262. package/input-text/InputText.js +0 -611
  263. package/input-text/index.d.ts +0 -36
  264. package/list/List.d.ts +0 -8
  265. package/list/List.js +0 -47
  266. package/list/List.stories.tsx +0 -95
  267. package/radio/Radio.d.ts +0 -4
  268. package/radio/Radio.js +0 -174
  269. package/radio/Radio.stories.tsx +0 -192
  270. package/radio/types.d.ts +0 -54
  271. package/row/Row.d.ts +0 -11
  272. package/row/Row.js +0 -127
  273. package/row/Row.stories.tsx +0 -239
  274. package/stack/Stack.d.ts +0 -10
  275. package/stack/Stack.js +0 -97
  276. package/stack/Stack.stories.tsx +0 -166
  277. package/text/Text.d.ts +0 -7
  278. package/text/Text.js +0 -30
  279. package/text/Text.stories.tsx +0 -19
  280. package/toggle/Toggle.js +0 -186
  281. package/toggle/index.d.ts +0 -21
  282. package/upload/Upload.js +0 -201
  283. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  284. package/upload/buttons-upload/Icons.js +0 -40
  285. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  286. package/upload/dragAndDropArea/Icons.js +0 -39
  287. package/upload/file-upload/FileToUpload.js +0 -115
  288. package/upload/file-upload/Icons.js +0 -66
  289. package/upload/files-upload/FilesToUpload.js +0 -109
  290. package/upload/index.d.ts +0 -15
  291. package/upload/transaction/Icons.js +0 -160
  292. package/upload/transaction/Transaction.js +0 -104
  293. package/upload/transactions/Transactions.js +0 -94
  294. /package/{radio → badge}/types.js +0 -0
package/slider/Slider.js CHANGED
@@ -1,119 +1,123 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof3 = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
9
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
-
14
10
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
-
16
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
-
18
12
  var _react = _interopRequireWildcard(require("react"));
19
-
20
- var _Slider = _interopRequireDefault(require("@material-ui/lab/Slider"));
21
-
22
13
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
-
24
14
  var _TextInput = _interopRequireDefault(require("../text-input/TextInput"));
25
-
26
- var _variables = require("../common/variables.js");
27
-
15
+ var _variables = require("../common/variables");
28
16
  var _utils = require("../common/utils.js");
29
-
30
17
  var _useTheme = _interopRequireDefault(require("../useTheme"));
31
-
32
18
  var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
33
-
34
19
  var _uuid = require("uuid");
35
-
36
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
37
-
20
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;
38
21
  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
-
40
22
  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
-
42
- var DxcSlider = function DxcSlider(_ref) {
23
+ var DxcSlider = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
43
24
  var _ref$label = _ref.label,
44
- label = _ref$label === void 0 ? "" : _ref$label,
45
- _ref$name = _ref.name,
46
- name = _ref$name === void 0 ? "" : _ref$name,
47
- value = _ref.value,
48
- _ref$helperText = _ref.helperText,
49
- helperText = _ref$helperText === void 0 ? "" : _ref$helperText,
50
- _ref$minValue = _ref.minValue,
51
- minValue = _ref$minValue === void 0 ? 0 : _ref$minValue,
52
- _ref$maxValue = _ref.maxValue,
53
- maxValue = _ref$maxValue === void 0 ? 100 : _ref$maxValue,
54
- _ref$step = _ref.step,
55
- step = _ref$step === void 0 ? 1 : _ref$step,
56
- _ref$showLimitsValues = _ref.showLimitsValues,
57
- showLimitsValues = _ref$showLimitsValues === void 0 ? false : _ref$showLimitsValues,
58
- _ref$showInput = _ref.showInput,
59
- showInput = _ref$showInput === void 0 ? false : _ref$showInput,
60
- _ref$disabled = _ref.disabled,
61
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
62
- _ref$marks = _ref.marks,
63
- marks = _ref$marks === void 0 ? false : _ref$marks,
64
- onChange = _ref.onChange,
65
- onDragEnd = _ref.onDragEnd,
66
- labelFormatCallback = _ref.labelFormatCallback,
67
- margin = _ref.margin,
68
- _ref$size = _ref.size,
69
- size = _ref$size === void 0 ? "fillParent" : _ref$size;
70
-
71
- var _useState = (0, _react.useState)(0),
72
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
73
- innerValue = _useState2[0],
74
- setInnerValue = _useState2[1];
75
-
25
+ label = _ref$label === void 0 ? "" : _ref$label,
26
+ _ref$name = _ref.name,
27
+ name = _ref$name === void 0 ? "" : _ref$name,
28
+ defaultValue = _ref.defaultValue,
29
+ value = _ref.value,
30
+ _ref$helperText = _ref.helperText,
31
+ helperText = _ref$helperText === void 0 ? "" : _ref$helperText,
32
+ _ref$minValue = _ref.minValue,
33
+ minValue = _ref$minValue === void 0 ? 0 : _ref$minValue,
34
+ _ref$maxValue = _ref.maxValue,
35
+ maxValue = _ref$maxValue === void 0 ? 100 : _ref$maxValue,
36
+ _ref$step = _ref.step,
37
+ step = _ref$step === void 0 ? 1 : _ref$step,
38
+ _ref$showLimitsValues = _ref.showLimitsValues,
39
+ showLimitsValues = _ref$showLimitsValues === void 0 ? false : _ref$showLimitsValues,
40
+ _ref$showInput = _ref.showInput,
41
+ showInput = _ref$showInput === void 0 ? false : _ref$showInput,
42
+ _ref$disabled = _ref.disabled,
43
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
44
+ _ref$marks = _ref.marks,
45
+ marks = _ref$marks === void 0 ? false : _ref$marks,
46
+ onChange = _ref.onChange,
47
+ onDragEnd = _ref.onDragEnd,
48
+ labelFormatCallback = _ref.labelFormatCallback,
49
+ margin = _ref.margin,
50
+ _ref$size = _ref.size,
51
+ size = _ref$size === void 0 ? "fillParent" : _ref$size;
52
+ var _useState = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : 0),
53
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
54
+ innerValue = _useState2[0],
55
+ setInnerValue = _useState2[1];
56
+ var _useState3 = (0, _react.useState)(false),
57
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
58
+ dragging = _useState4[0],
59
+ setDragging = _useState4[1];
76
60
  var colorsTheme = (0, _useTheme["default"])();
77
61
  var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
78
-
79
- var _useState3 = (0, _react.useState)("label-".concat((0, _uuid.v4)())),
80
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
81
- labelId = _useState4[0];
82
-
62
+ var _useState5 = (0, _react.useState)("label-".concat((0, _uuid.v4)())),
63
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 1),
64
+ labelId = _useState6[0];
83
65
  var minLabel = (0, _react.useMemo)(function () {
84
66
  return labelFormatCallback ? labelFormatCallback(minValue) : minValue;
85
67
  }, [labelFormatCallback, minValue]);
86
68
  var maxLabel = (0, _react.useMemo)(function () {
87
69
  return labelFormatCallback ? labelFormatCallback(maxValue) : maxValue;
88
70
  }, [labelFormatCallback, maxValue]);
89
-
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);
71
+ var tickMarks = (0, _react.useMemo)(function () {
72
+ var ticks = [];
73
+ var numberOfMarks = Math.floor(maxValue / step - minValue / step);
74
+ var index = 0;
75
+ var range = maxValue - minValue;
76
+ if (marks) {
77
+ while (index <= numberOfMarks) {
78
+ ticks.push( /*#__PURE__*/_react["default"].createElement(TickMark, {
79
+ disabled: disabled,
80
+ stepPosition: step * index / range,
81
+ backgroundType: backgroundType,
82
+ stepValue: (value !== null && value !== void 0 ? value : innerValue) / maxValue
83
+ }));
84
+ index++;
85
+ }
86
+ return ticks;
87
+ } else {
88
+ return null;
89
+ }
90
+ }, [minValue, maxValue, step, value, innerValue]);
91
+ var handleSliderChange = function handleSliderChange(event) {
92
+ var valueToCheck = event.target.value;
93
+ (valueToCheck !== value || valueToCheck !== innerValue) && setInnerValue(valueToCheck);
94
+ onChange === null || onChange === void 0 ? void 0 : onChange(valueToCheck);
94
95
  };
95
-
96
- var handleSliderOnChangeCommited = function handleSliderOnChangeCommited(event, selectedValue) {
97
- onDragEnd === null || onDragEnd === void 0 ? void 0 : onDragEnd(selectedValue);
96
+ var handleSliderDragging = function handleSliderDragging() {
97
+ setDragging(true);
98
+ };
99
+ var handleSliderOnChangeCommited = function handleSliderOnChangeCommited(event) {
100
+ if (dragging) {
101
+ setDragging(false);
102
+ onDragEnd === null || onDragEnd === void 0 ? void 0 : onDragEnd(event.target.value);
103
+ }
98
104
  };
99
-
100
105
  var handlerInputChange = function handlerInputChange(event) {
101
106
  var intValue = parseInt(event.value, 10);
102
-
103
107
  if (value == null) {
104
108
  if (!Number.isNaN(intValue)) setInnerValue(intValue > maxValue ? maxValue : intValue);
105
109
  }
106
-
107
110
  if (!Number.isNaN(intValue)) {
108
111
  onChange === null || onChange === void 0 ? void 0 : onChange(intValue > maxValue ? maxValue : intValue);
109
112
  }
110
113
  };
111
-
114
+ var isFirefox = navigator.userAgent.indexOf("Firefox") !== -1;
112
115
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
113
- theme: colorsTheme.slider
116
+ theme: colorsTheme["slider"]
114
117
  }, /*#__PURE__*/_react["default"].createElement(Container, {
115
118
  margin: margin,
116
- size: size
119
+ size: size,
120
+ ref: ref
117
121
  }, /*#__PURE__*/_react["default"].createElement(Label, {
118
122
  id: labelId,
119
123
  disabled: disabled,
@@ -121,44 +125,55 @@ var DxcSlider = function DxcSlider(_ref) {
121
125
  }, label), /*#__PURE__*/_react["default"].createElement(HelperText, {
122
126
  disabled: disabled,
123
127
  backgroundType: backgroundType
124
- }, helperText), /*#__PURE__*/_react["default"].createElement(SliderContainer, {
125
- backgroundType: backgroundType
126
- }, showLimitsValues && /*#__PURE__*/_react["default"].createElement(MinLabelContainer, {
128
+ }, helperText), /*#__PURE__*/_react["default"].createElement(SliderContainer, null, showLimitsValues && /*#__PURE__*/_react["default"].createElement(MinLabelContainer, {
127
129
  backgroundType: backgroundType,
128
130
  disabled: disabled
129
- }, minLabel), /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
130
- value: value != null && value >= 0 && value || innerValue,
131
+ }, minLabel), /*#__PURE__*/_react["default"].createElement(SliderInputContainer, null, /*#__PURE__*/_react["default"].createElement(SliderInput, {
132
+ role: "slider",
133
+ type: "range",
134
+ value: value != null && value >= 0 ? value : innerValue,
131
135
  min: minValue,
132
136
  max: maxValue,
133
- onChange: handlerSliderChange,
134
- onChangeCommitted: handleSliderOnChangeCommited,
135
137
  step: step,
136
- marks: marks || [],
138
+ marks: marks,
137
139
  disabled: disabled,
138
- "aria-labelledby": labelId
139
- }), showLimitsValues && /*#__PURE__*/_react["default"].createElement(MaxLabelContainer, {
140
+ "aria-labelledby": labelId,
141
+ "aria-orientation": "horizontal",
142
+ "aria-valuemax": maxValue,
143
+ "aria-valuemin": minValue,
144
+ "aria-valuenow": value != null && value >= 0 ? value : innerValue,
145
+ onChange: handleSliderChange,
146
+ onMouseUp: handleSliderOnChangeCommited,
147
+ onMouseDown: handleSliderDragging,
148
+ backgroundType: backgroundType
149
+ }), marks && /*#__PURE__*/_react["default"].createElement(MarksContainer, {
150
+ isFirefox: isFirefox
151
+ }, tickMarks)), showLimitsValues && /*#__PURE__*/_react["default"].createElement(MaxLabelContainer, {
140
152
  backgroundType: backgroundType,
141
153
  disabled: disabled,
142
154
  step: step
143
155
  }, maxLabel), showInput && /*#__PURE__*/_react["default"].createElement(StyledTextInput, null, /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
144
156
  name: name,
145
- value: value != null && value >= 0 && value.toString() || innerValue.toString(),
157
+ value: value != null && value >= 0 ? value.toString() : innerValue.toString(),
146
158
  disabled: disabled,
147
159
  onChange: handlerInputChange,
148
160
  size: "fillParent"
149
161
  })))));
150
- };
151
-
162
+ });
152
163
  var sizes = {
153
164
  medium: "360px",
154
165
  large: "480px",
155
166
  fillParent: "100%"
156
167
  };
157
-
158
168
  var calculateWidth = function calculateWidth(margin, size) {
159
169
  return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
160
170
  };
161
-
171
+ var getChromeStyles = function getChromeStyles() {
172
+ return "\n width: 100%;\n margin-right: 4px;";
173
+ };
174
+ var getFireFoxStyles = function getFireFoxStyles() {
175
+ return "\n width: calc(100% - 16px);\n margin-right: 3px;";
176
+ };
162
177
  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
178
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
164
179
  }, function (props) {
@@ -172,7 +187,6 @@ var Container = _styledComponents["default"].div(_templateObject || (_templateOb
172
187
  }, function (props) {
173
188
  return calculateWidth(props.margin, props.size);
174
189
  });
175
-
176
190
  var Label = _styledComponents["default"].label(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
177
191
  return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledLabelFontColorOnDark : props.theme.disabledLabelFontColor : props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.theme.labelFontColor;
178
192
  }, function (props) {
@@ -186,8 +200,7 @@ var Label = _styledComponents["default"].label(_templateObject2 || (_templateObj
186
200
  }, function (props) {
187
201
  return props.theme.labelLineHeight;
188
202
  });
189
-
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) {
203
+ 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
204
  return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledHelperTextFontColorOnDark : props.theme.disabledHelperTextFontColor : props.backgroundType === "dark" ? props.theme.helperTextFontColorOnDark : props.theme.helperTextFontColor;
192
205
  }, function (props) {
193
206
  return props.theme.fontFamily;
@@ -200,84 +213,49 @@ var HelperText = _styledComponents["default"].span(_templateObject3 || (_templat
200
213
  }, function (props) {
201
214
  return props.theme.helperTextLineHeight;
202
215
  });
203
-
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;
216
+ 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) {
217
+ return props.theme.trackLineThickness;
220
218
  }, function (props) {
221
- return props.backgroundType === "dark" ? props.theme.disabledTickBackgroundColorOnDark : props.theme.disabledTickBackgroundColor;
219
+ 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
220
  }, function (props) {
223
- return props.theme.tickHeight;
221
+ 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
222
  }, function (props) {
225
- return props.theme.tickWidth;
223
+ return (props.value - props.min) * 100 / (props.max - props.min) + "% 100%";
226
224
  }, function (props) {
227
- return props.theme.disabledTickVerticalPosition;
225
+ return props.disabled ? "not-allowed" : "pointer";
228
226
  }, function (props) {
229
227
  return props.theme.thumbHeight;
230
228
  }, function (props) {
231
229
  return props.theme.thumbWidth;
232
230
  }, function (props) {
233
- return props.backgroundType === "dark" ? props.theme.thumbBackgroundColorOnDark : props.theme.thumbBackgroundColor;
234
- }, function (props) {
235
- return props.theme.thumbVerticalPosition;
231
+ return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledThumbBackgroundColorOnDark : props.theme.disabledThumbBackgroundColor : props.backgroundType === "dark" ? props.theme.thumbBackgroundColorOnDark : props.theme.thumbBackgroundColor;
236
232
  }, function (props) {
237
- return props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
233
+ if (!props.disabled) {
234
+ return "\n background: ".concat(props.backgroundType === "dark" ? props.theme.activeThumbBackgroundColorOnDark : props.theme.activeThumbBackgroundColor, ";\n transform: scale(1.16667);");
235
+ }
238
236
  }, function (props) {
239
- return props.backgroundType === "dark" ? props.theme.focusThumbBackgroundColorOnDark : props.theme.focusThumbBackgroundColor;
237
+ if (!props.disabled) {
238
+ 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, ";");
239
+ }
240
240
  }, function (props) {
241
- return props.backgroundType === "dark" ? props.theme.hoverThumbBackgroundColorOnDark : props.theme.hoverThumbBackgroundColor;
242
- }, function (props) {
243
- return props.theme.hoverThumbScale;
244
- }, function (props) {
245
- return props.theme.hoverThumbHeight;
241
+ return props.theme.thumbHeight;
246
242
  }, function (props) {
247
- return props.theme.hoverThumbWidth;
243
+ return props.theme.thumbWidth;
248
244
  }, function (props) {
249
- return props.theme.hoverThumbVerticalPosition;
245
+ return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledThumbBackgroundColorOnDark : props.theme.disabledThumbBackgroundColor : props.backgroundType === "dark" ? props.theme.thumbBackgroundColorOnDark : props.theme.thumbBackgroundColor;
250
246
  }, function (props) {
251
247
  return props.backgroundType === "dark" ? props.theme.activeThumbBackgroundColorOnDark : props.theme.activeThumbBackgroundColor;
252
248
  }, function (props) {
253
- return props.theme.activeThumbScale;
254
- }, function (props) {
255
- return props.backgroundType === "dark" ? props.theme.trackLineColorOnDark : props.theme.trackLineColor;
256
- }, 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;
249
+ if (!props.disabled) {
250
+ 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, ";");
251
+ }
272
252
  }, function (props) {
273
- return props.theme.tickHeight;
274
- }, function (props) {
275
- return props.theme.tickWidth;
253
+ return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledFocusColorOnDark : props.theme.disabledFocusColor : props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
276
254
  }, function (props) {
277
- return props.theme.tickVerticalPosition;
255
+ return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledFocusColorOnDark : props.theme.disabledFocusColor : props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
278
256
  });
279
-
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) {
257
+ var SliderContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n height: 48px;\n align-items: center;\n"])));
258
+ 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
259
  return props.disabled ? props.theme.disabledLimitValuesFontColor : props.backgroundType === "dark" ? props.theme.limitValuesFontColorOnDark : props.theme.limitValuesFontColor;
282
260
  }, function (props) {
283
261
  return props.theme.fontFamily;
@@ -289,29 +267,30 @@ var MinLabelContainer = _styledComponents["default"].span(_templateObject5 || (_
289
267
  return props.theme.limitValuesFontWeight;
290
268
  }, function (props) {
291
269
  return props.theme.limitValuesFontLetterSpacing;
292
- }, function (props) {
270
+ });
271
+ var MinLabelContainer = (0, _styledComponents["default"])(LimitLabelContainer)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: ", ";\n"])), function (props) {
293
272
  return props.theme.floorLabelMarginRight;
294
273
  });
295
-
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;
274
+ var MaxLabelContainer = (0, _styledComponents["default"])(LimitLabelContainer)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: ", ";\n"])), function (props) {
275
+ return props.step === 1 ? props.theme.ceilLabelMarginLeft : "1.25rem";
276
+ });
277
+ 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"])));
278
+ 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) {
279
+ return props.isFirefox ? getFireFoxStyles() : getChromeStyles();
280
+ });
281
+ 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) {
282
+ return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledTickBackgroundColorOnDark : props.theme.disabledTickBackgroundColor : props.backgroundType === "dark" ? props.theme.tickBackgroundColorOnDark : props.theme.tickBackgroundColor;
302
283
  }, function (props) {
303
- return props.theme.limitValuesFontStyle;
284
+ return props.theme.tickHeight;
304
285
  }, function (props) {
305
- return props.theme.limitValuesFontWeight;
286
+ return props.theme.tickWidth;
306
287
  }, function (props) {
307
- return props.theme.limitValuesFontLetterSpacing;
288
+ return "calc(".concat(props.stepPosition, " * 100%)");
308
289
  }, function (props) {
309
- return props.step === 1 ? props.theme.ceilLabelMarginLeft : "1.25rem";
290
+ return "".concat(props.stepPosition <= props.stepValue ? "-1" : "0");
310
291
  });
311
-
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) {
292
+ var StyledTextInput = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: ", ";\n max-width: 70px;\n"])), function (props) {
313
293
  return props.theme.inputMarginLeft;
314
294
  });
315
-
316
295
  var _default = DxcSlider;
317
296
  exports["default"] = _default;
@@ -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
  );