@dxc-technology/halstack-react 0.0.0-b9523dd → 0.0.0-b98c25c

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 (315) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +1 -4
  3. package/HalstackContext.d.ts +12 -0
  4. package/HalstackContext.js +295 -0
  5. package/accordion/Accordion.d.ts +1 -1
  6. package/accordion/Accordion.js +124 -137
  7. package/accordion/Accordion.stories.tsx +306 -0
  8. package/accordion/Accordion.test.js +71 -0
  9. package/accordion/types.d.ts +12 -11
  10. package/accordion-group/AccordionGroup.d.ts +1 -1
  11. package/accordion-group/AccordionGroup.js +16 -37
  12. package/accordion-group/AccordionGroup.stories.tsx +251 -0
  13. package/accordion-group/AccordionGroup.test.js +126 -0
  14. package/accordion-group/types.d.ts +17 -10
  15. package/alert/Alert.js +7 -4
  16. package/alert/Alert.stories.tsx +170 -0
  17. package/alert/Alert.test.js +92 -0
  18. package/alert/types.d.ts +1 -1
  19. package/badge/Badge.d.ts +4 -0
  20. package/badge/Badge.js +6 -4
  21. package/badge/types.d.ts +5 -0
  22. package/{radio → badge}/types.js +0 -0
  23. package/bleed/Bleed.d.ts +3 -0
  24. package/bleed/Bleed.js +51 -0
  25. package/bleed/Bleed.stories.tsx +341 -0
  26. package/bleed/types.d.ts +37 -0
  27. package/bleed/types.js +5 -0
  28. package/box/Box.d.ts +4 -0
  29. package/box/Box.js +29 -65
  30. package/box/{Box.stories.jsx → Box.stories.tsx} +0 -0
  31. package/box/Box.test.js +18 -0
  32. package/box/types.d.ts +44 -0
  33. package/box/types.js +5 -0
  34. package/bulleted-list/BulletedList.d.ts +7 -0
  35. package/bulleted-list/BulletedList.js +123 -0
  36. package/bulleted-list/BulletedList.stories.tsx +200 -0
  37. package/bulleted-list/types.d.ts +11 -0
  38. package/bulleted-list/types.js +5 -0
  39. package/button/Button.d.ts +1 -1
  40. package/button/Button.js +62 -83
  41. package/button/Button.stories.tsx +231 -241
  42. package/button/Button.test.js +35 -0
  43. package/button/types.d.ts +10 -14
  44. package/card/Card.js +26 -30
  45. package/card/Card.stories.tsx +201 -0
  46. package/card/Card.test.js +50 -0
  47. package/card/ice-cream.jpg +0 -0
  48. package/card/types.d.ts +5 -6
  49. package/checkbox/Checkbox.d.ts +1 -1
  50. package/checkbox/Checkbox.js +104 -108
  51. package/checkbox/Checkbox.stories.tsx +124 -128
  52. package/checkbox/Checkbox.test.js +155 -0
  53. package/checkbox/types.d.ts +11 -7
  54. package/chip/Chip.d.ts +4 -0
  55. package/chip/Chip.js +16 -76
  56. package/chip/Chip.stories.tsx +119 -0
  57. package/chip/Chip.test.js +56 -0
  58. package/chip/types.d.ts +45 -0
  59. package/chip/types.js +5 -0
  60. package/common/variables.js +319 -380
  61. package/date-input/DateInput.js +66 -55
  62. package/date-input/DateInput.stories.tsx +138 -0
  63. package/date-input/DateInput.test.js +479 -0
  64. package/date-input/types.d.ts +16 -9
  65. package/dialog/Dialog.js +50 -53
  66. package/dialog/Dialog.stories.tsx +267 -0
  67. package/dialog/Dialog.test.js +70 -0
  68. package/dialog/types.d.ts +3 -2
  69. package/dropdown/Dropdown.d.ts +1 -1
  70. package/dropdown/Dropdown.js +243 -273
  71. package/dropdown/Dropdown.stories.tsx +312 -0
  72. package/dropdown/Dropdown.test.js +591 -0
  73. package/dropdown/DropdownMenu.d.ts +4 -0
  74. package/dropdown/DropdownMenu.js +80 -0
  75. package/dropdown/DropdownMenuItem.d.ts +4 -0
  76. package/dropdown/DropdownMenuItem.js +92 -0
  77. package/dropdown/types.d.ts +30 -19
  78. package/file-input/FileInput.d.ts +4 -0
  79. package/file-input/FileInput.js +172 -111
  80. package/file-input/FileInput.stories.tsx +507 -0
  81. package/file-input/FileInput.test.js +457 -0
  82. package/file-input/FileItem.d.ts +14 -0
  83. package/file-input/FileItem.js +16 -23
  84. package/file-input/types.d.ts +112 -0
  85. package/file-input/types.js +5 -0
  86. package/flex/Flex.d.ts +4 -0
  87. package/flex/Flex.js +57 -0
  88. package/flex/Flex.stories.tsx +103 -0
  89. package/flex/types.d.ts +21 -0
  90. package/flex/types.js +5 -0
  91. package/footer/Footer.d.ts +1 -1
  92. package/footer/Footer.js +32 -113
  93. package/footer/{Footer.stories.jsx → Footer.stories.tsx} +5 -19
  94. package/footer/Footer.test.js +109 -0
  95. package/footer/Icons.d.ts +2 -0
  96. package/footer/Icons.js +4 -4
  97. package/footer/types.d.ts +23 -18
  98. package/header/Header.js +97 -116
  99. package/header/Header.stories.tsx +172 -0
  100. package/header/Header.test.js +79 -0
  101. package/header/Icons.d.ts +2 -0
  102. package/header/Icons.js +2 -2
  103. package/header/types.d.ts +7 -4
  104. package/heading/Heading.d.ts +4 -0
  105. package/heading/Heading.js +7 -24
  106. package/heading/Heading.stories.tsx +54 -0
  107. package/heading/Heading.test.js +186 -0
  108. package/heading/types.d.ts +33 -0
  109. package/heading/types.js +5 -0
  110. package/inset/Inset.d.ts +3 -0
  111. package/inset/Inset.js +51 -0
  112. package/inset/Inset.stories.tsx +229 -0
  113. package/inset/types.d.ts +37 -0
  114. package/inset/types.js +5 -0
  115. package/layout/ApplicationLayout.d.ts +20 -0
  116. package/layout/ApplicationLayout.js +71 -135
  117. package/layout/ApplicationLayout.stories.tsx +162 -0
  118. package/layout/Icons.d.ts +5 -0
  119. package/layout/Icons.js +13 -2
  120. package/layout/SidenavContext.d.ts +5 -0
  121. package/layout/SidenavContext.js +19 -0
  122. package/layout/types.d.ts +42 -0
  123. package/layout/types.js +5 -0
  124. package/link/Link.d.ts +4 -0
  125. package/link/Link.js +60 -107
  126. package/link/Link.stories.tsx +193 -0
  127. package/link/Link.test.js +83 -0
  128. package/link/types.d.ts +54 -0
  129. package/link/types.js +5 -0
  130. package/main.d.ts +12 -12
  131. package/main.js +64 -58
  132. package/number-input/NumberInput.d.ts +4 -0
  133. package/number-input/NumberInput.js +16 -68
  134. package/number-input/{NumberInput.stories.jsx → NumberInput.stories.tsx} +5 -5
  135. package/number-input/NumberInput.test.js +506 -0
  136. package/number-input/NumberInputContext.d.ts +4 -0
  137. package/number-input/NumberInputContext.js +5 -2
  138. package/number-input/numberInputContextTypes.d.ts +19 -0
  139. package/number-input/numberInputContextTypes.js +5 -0
  140. package/number-input/types.d.ts +124 -0
  141. package/number-input/types.js +5 -0
  142. package/package.json +16 -12
  143. package/paginator/Paginator.js +19 -46
  144. package/paginator/Paginator.test.js +308 -0
  145. package/paragraph/Paragraph.d.ts +6 -0
  146. package/paragraph/Paragraph.js +38 -0
  147. package/paragraph/Paragraph.stories.tsx +44 -0
  148. package/password-input/PasswordInput.d.ts +4 -0
  149. package/password-input/PasswordInput.js +22 -55
  150. package/password-input/{PasswordInput.stories.jsx → PasswordInput.stories.tsx} +3 -3
  151. package/password-input/PasswordInput.test.js +180 -0
  152. package/password-input/types.d.ts +110 -0
  153. package/password-input/types.js +5 -0
  154. package/progress-bar/ProgressBar.d.ts +2 -2
  155. package/progress-bar/ProgressBar.js +59 -53
  156. package/progress-bar/ProgressBar.stories.jsx +60 -0
  157. package/progress-bar/ProgressBar.test.js +110 -0
  158. package/progress-bar/types.d.ts +3 -4
  159. package/quick-nav/QuickNav.d.ts +4 -0
  160. package/quick-nav/QuickNav.js +115 -0
  161. package/quick-nav/QuickNav.stories.tsx +300 -0
  162. package/quick-nav/types.d.ts +21 -0
  163. package/quick-nav/types.js +5 -0
  164. package/radio-group/Radio.d.ts +4 -0
  165. package/radio-group/Radio.js +156 -0
  166. package/radio-group/RadioGroup.d.ts +4 -0
  167. package/radio-group/RadioGroup.js +279 -0
  168. package/radio-group/RadioGroup.stories.tsx +101 -0
  169. package/radio-group/RadioGroup.test.js +665 -0
  170. package/radio-group/types.d.ts +114 -0
  171. package/radio-group/types.js +5 -0
  172. package/resultsetTable/ResultsetTable.d.ts +4 -0
  173. package/resultsetTable/ResultsetTable.js +9 -29
  174. package/resultsetTable/ResultsetTable.stories.tsx +275 -0
  175. package/resultsetTable/ResultsetTable.test.js +348 -0
  176. package/resultsetTable/types.d.ts +67 -0
  177. package/resultsetTable/types.js +5 -0
  178. package/select/Icons.d.ts +10 -0
  179. package/select/Icons.js +93 -0
  180. package/select/Listbox.d.ts +4 -0
  181. package/select/Listbox.js +198 -0
  182. package/select/Option.d.ts +4 -0
  183. package/select/Option.js +110 -0
  184. package/select/Select.d.ts +4 -0
  185. package/select/Select.js +158 -380
  186. package/select/Select.stories.tsx +627 -0
  187. package/select/Select.test.js +2175 -0
  188. package/select/types.d.ts +210 -0
  189. package/select/types.js +5 -0
  190. package/sidenav/Sidenav.d.ts +10 -0
  191. package/sidenav/Sidenav.js +186 -63
  192. package/sidenav/Sidenav.stories.tsx +180 -0
  193. package/sidenav/Sidenav.test.js +44 -0
  194. package/sidenav/types.d.ts +73 -0
  195. package/sidenav/types.js +5 -0
  196. package/slider/Slider.d.ts +1 -1
  197. package/slider/Slider.js +145 -109
  198. package/slider/Slider.stories.tsx +183 -0
  199. package/slider/Slider.test.js +250 -0
  200. package/slider/types.d.ts +8 -9
  201. package/spinner/Spinner.js +3 -3
  202. package/spinner/Spinner.stories.jsx +1 -0
  203. package/spinner/Spinner.test.js +64 -0
  204. package/switch/Switch.d.ts +2 -2
  205. package/switch/Switch.js +149 -67
  206. package/switch/Switch.stories.tsx +138 -0
  207. package/switch/Switch.test.js +225 -0
  208. package/switch/types.d.ts +9 -6
  209. package/table/Table.js +3 -3
  210. package/table/Table.stories.jsx +2 -1
  211. package/table/Table.test.js +26 -0
  212. package/tabs/Tab.d.ts +4 -0
  213. package/tabs/Tab.js +135 -0
  214. package/tabs/Tabs.d.ts +1 -1
  215. package/tabs/Tabs.js +364 -108
  216. package/tabs/Tabs.stories.tsx +186 -0
  217. package/tabs/Tabs.test.js +351 -0
  218. package/tabs/types.d.ts +41 -20
  219. package/tabs-nav/NavTabs.d.ts +8 -0
  220. package/tabs-nav/NavTabs.js +125 -0
  221. package/tabs-nav/NavTabs.stories.tsx +170 -0
  222. package/tabs-nav/NavTabs.test.js +82 -0
  223. package/tabs-nav/Tab.d.ts +4 -0
  224. package/tabs-nav/Tab.js +130 -0
  225. package/tabs-nav/types.d.ts +53 -0
  226. package/tabs-nav/types.js +5 -0
  227. package/tag/Tag.d.ts +4 -0
  228. package/tag/Tag.js +21 -52
  229. package/tag/{Tag.stories.jsx → Tag.stories.tsx} +26 -29
  230. package/tag/Tag.test.js +60 -0
  231. package/tag/types.d.ts +69 -0
  232. package/tag/types.js +5 -0
  233. package/text-input/Icons.d.ts +8 -0
  234. package/text-input/Icons.js +60 -0
  235. package/text-input/Suggestion.d.ts +4 -0
  236. package/text-input/Suggestion.js +57 -0
  237. package/text-input/Suggestions.d.ts +4 -0
  238. package/text-input/Suggestions.js +134 -0
  239. package/text-input/TextInput.d.ts +4 -0
  240. package/text-input/TextInput.js +166 -328
  241. package/text-input/TextInput.stories.tsx +481 -0
  242. package/text-input/TextInput.test.js +1713 -0
  243. package/text-input/types.d.ts +192 -0
  244. package/text-input/types.js +5 -0
  245. package/textarea/Textarea.d.ts +4 -0
  246. package/textarea/Textarea.js +39 -79
  247. package/textarea/Textarea.stories.jsx +37 -15
  248. package/textarea/Textarea.test.js +437 -0
  249. package/textarea/types.d.ts +137 -0
  250. package/textarea/types.js +5 -0
  251. package/toggle-group/ToggleGroup.d.ts +4 -0
  252. package/toggle-group/ToggleGroup.js +18 -46
  253. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  254. package/toggle-group/ToggleGroup.test.js +156 -0
  255. package/toggle-group/types.d.ts +105 -0
  256. package/toggle-group/types.js +5 -0
  257. package/typography/Typography.d.ts +4 -0
  258. package/typography/Typography.js +131 -0
  259. package/typography/Typography.stories.tsx +198 -0
  260. package/typography/types.d.ts +18 -0
  261. package/typography/types.js +5 -0
  262. package/useTheme.d.ts +2 -0
  263. package/useTheme.js +2 -2
  264. package/useTranslatedLabels.d.ts +2 -0
  265. package/useTranslatedLabels.js +20 -0
  266. package/wizard/Wizard.d.ts +4 -0
  267. package/wizard/Wizard.js +118 -104
  268. package/wizard/Wizard.stories.tsx +233 -0
  269. package/wizard/Wizard.test.js +141 -0
  270. package/wizard/types.d.ts +65 -0
  271. package/wizard/types.js +5 -0
  272. package/ThemeContext.js +0 -246
  273. package/V3Select/V3Select.js +0 -455
  274. package/V3Select/index.d.ts +0 -27
  275. package/V3Textarea/V3Textarea.js +0 -260
  276. package/V3Textarea/index.d.ts +0 -27
  277. package/box/index.d.ts +0 -25
  278. package/chip/index.d.ts +0 -22
  279. package/date/Date.js +0 -373
  280. package/date/index.d.ts +0 -27
  281. package/file-input/index.d.ts +0 -81
  282. package/heading/index.d.ts +0 -17
  283. package/input-text/Icons.js +0 -22
  284. package/input-text/InputText.js +0 -611
  285. package/input-text/index.d.ts +0 -36
  286. package/link/index.d.ts +0 -23
  287. package/number-input/index.d.ts +0 -113
  288. package/password-input/index.d.ts +0 -94
  289. package/radio/Radio.d.ts +0 -4
  290. package/radio/Radio.js +0 -174
  291. package/radio/Radio.stories.tsx +0 -192
  292. package/radio/types.d.ts +0 -54
  293. package/resultsetTable/index.d.ts +0 -19
  294. package/select/index.d.ts +0 -131
  295. package/sidenav/index.d.ts +0 -13
  296. package/tag/index.d.ts +0 -24
  297. package/text-input/index.d.ts +0 -135
  298. package/textarea/index.d.ts +0 -117
  299. package/toggle/Toggle.js +0 -186
  300. package/toggle/index.d.ts +0 -21
  301. package/toggle-group/index.d.ts +0 -21
  302. package/upload/Upload.js +0 -201
  303. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  304. package/upload/buttons-upload/Icons.js +0 -40
  305. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  306. package/upload/dragAndDropArea/Icons.js +0 -39
  307. package/upload/file-upload/FileToUpload.js +0 -115
  308. package/upload/file-upload/Icons.js +0 -66
  309. package/upload/files-upload/FilesToUpload.js +0 -109
  310. package/upload/index.d.ts +0 -15
  311. package/upload/transaction/Icons.js +0 -160
  312. package/upload/transaction/Transaction.js +0 -104
  313. package/upload/transactions/Transactions.js +0 -94
  314. package/wizard/Icons.js +0 -65
  315. package/wizard/index.d.ts +0 -18
package/slider/Slider.js CHANGED
@@ -17,8 +17,6 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
17
17
 
18
18
  var _react = _interopRequireWildcard(require("react"));
19
19
 
20
- var _Slider = _interopRequireDefault(require("@material-ui/lab/Slider"));
21
-
22
20
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
21
 
24
22
  var _TextInput = _interopRequireDefault(require("../text-input/TextInput"));
@@ -27,11 +25,13 @@ var _variables = require("../common/variables.js");
27
25
 
28
26
  var _utils = require("../common/utils.js");
29
27
 
30
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
28
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
29
+
30
+ var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
31
31
 
32
- var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext.js"));
32
+ var _uuid = require("uuid");
33
33
 
34
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
34
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;
35
35
 
36
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); }
37
37
 
@@ -42,6 +42,7 @@ var DxcSlider = function DxcSlider(_ref) {
42
42
  label = _ref$label === void 0 ? "" : _ref$label,
43
43
  _ref$name = _ref.name,
44
44
  name = _ref$name === void 0 ? "" : _ref$name,
45
+ defaultValue = _ref.defaultValue,
45
46
  value = _ref.value,
46
47
  _ref$helperText = _ref.helperText,
47
48
  helperText = _ref$helperText === void 0 ? "" : _ref$helperText,
@@ -64,32 +65,69 @@ var DxcSlider = function DxcSlider(_ref) {
64
65
  labelFormatCallback = _ref.labelFormatCallback,
65
66
  margin = _ref.margin,
66
67
  _ref$size = _ref.size,
67
- size = _ref$size === void 0 ? "fillParent" : _ref$size,
68
- _ref$tabIndex = _ref.tabIndex,
69
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
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"]);
82
+
83
+ var _useState5 = (0, _react.useState)("label-".concat((0, _uuid.v4)())),
84
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 1),
85
+ labelId = _useState6[0];
86
+
78
87
  var minLabel = (0, _react.useMemo)(function () {
79
88
  return labelFormatCallback ? labelFormatCallback(minValue) : minValue;
80
89
  }, [labelFormatCallback, minValue]);
81
90
  var maxLabel = (0, _react.useMemo)(function () {
82
91
  return labelFormatCallback ? labelFormatCallback(maxValue) : maxValue;
83
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
+ };
84
121
 
85
- var handlerSliderChange = function handlerSliderChange(event, newValue) {
86
- var valueToCheck = value !== null && value !== void 0 ? value : innerValue;
87
- valueToCheck !== newValue && setInnerValue(newValue);
88
- onChange === null || onChange === void 0 ? void 0 : onChange(newValue);
122
+ var handleSliderDragging = function handleSliderDragging() {
123
+ setDragging(true);
89
124
  };
90
125
 
91
- var handleSliderOnChangeCommited = function handleSliderOnChangeCommited(event, selectedValue) {
92
- 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
+ }
93
131
  };
94
132
 
95
133
  var handlerInputChange = function handlerInputChange(event) {
@@ -104,42 +142,57 @@ var DxcSlider = function DxcSlider(_ref) {
104
142
  }
105
143
  };
106
144
 
145
+ var isFirefox = navigator.userAgent.indexOf("Firefox") !== -1;
107
146
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
108
147
  theme: colorsTheme.slider
109
148
  }, /*#__PURE__*/_react["default"].createElement(Container, {
110
149
  margin: margin,
111
150
  size: size
112
- }, /*#__PURE__*/_react["default"].createElement(Label, null, label), /*#__PURE__*/_react["default"].createElement(HelperText, null, helperText), /*#__PURE__*/_react["default"].createElement(SliderContainer, {
151
+ }, /*#__PURE__*/_react["default"].createElement(Label, {
152
+ id: labelId,
153
+ disabled: disabled,
154
+ backgroundType: backgroundType
155
+ }, label), /*#__PURE__*/_react["default"].createElement(HelperText, {
156
+ disabled: disabled,
113
157
  backgroundType: backgroundType
114
- }, showLimitsValues && /*#__PURE__*/_react["default"].createElement(MinLabelContainer, {
158
+ }, helperText), /*#__PURE__*/_react["default"].createElement(SliderContainer, null, showLimitsValues && /*#__PURE__*/_react["default"].createElement(MinLabelContainer, {
115
159
  backgroundType: backgroundType,
116
160
  disabled: disabled
117
- }, minLabel), /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
118
- value: value != null && value >= 0 && value || innerValue,
161
+ }, minLabel), /*#__PURE__*/_react["default"].createElement(SliderInputContainer, null, /*#__PURE__*/_react["default"].createElement(SliderInput, {
162
+ role: "slider",
163
+ type: "range",
164
+ value: value != null && value >= 0 ? value : innerValue,
119
165
  min: minValue,
120
166
  max: maxValue,
121
- onChange: handlerSliderChange,
122
- onChangeCommitted: handleSliderOnChangeCommited,
123
167
  step: step,
124
- marks: marks || [],
168
+ marks: marks,
125
169
  disabled: disabled,
126
- tabIndex: tabIndex
127
- }), 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, {
128
182
  backgroundType: backgroundType,
129
183
  disabled: disabled,
130
184
  step: step
131
185
  }, maxLabel), showInput && /*#__PURE__*/_react["default"].createElement(StyledTextInput, null, /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
132
186
  name: name,
133
- value: value != null && value >= 0 && value || innerValue,
187
+ value: value != null && value >= 0 ? value.toString() : innerValue.toString(),
134
188
  disabled: disabled,
135
189
  onChange: handlerInputChange,
136
- size: "fillParent",
137
- tabIndex: tabIndex
190
+ size: "fillParent"
138
191
  })))));
139
192
  };
140
193
 
141
194
  var sizes = {
142
- medium: "240px",
195
+ medium: "360px",
143
196
  large: "480px",
144
197
  fillParent: "100%"
145
198
  };
@@ -148,6 +201,14 @@ var calculateWidth = function calculateWidth(margin, size) {
148
201
  return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
149
202
  };
150
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
+
151
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) {
152
213
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
153
214
  }, function (props) {
@@ -162,10 +223,10 @@ var Container = _styledComponents["default"].div(_templateObject || (_templateOb
162
223
  return calculateWidth(props.margin, props.size);
163
224
  });
164
225
 
165
- var Label = _styledComponents["default"].label(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
166
- return props.theme.labelFontColor;
226
+ 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) {
227
+ return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledLabelFontColorOnDark : props.theme.disabledLabelFontColor : props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.theme.labelFontColor;
167
228
  }, function (props) {
168
- return props.theme.labelFontFamily;
229
+ return props.theme.fontFamily;
169
230
  }, function (props) {
170
231
  return props.theme.labelFontSize;
171
232
  }, function (props) {
@@ -176,129 +237,104 @@ var Label = _styledComponents["default"].label(_templateObject2 || (_templateObj
176
237
  return props.theme.labelLineHeight;
177
238
  });
178
239
 
179
- 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) {
180
- return props.theme.helperTextFontColor;
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) {
241
+ return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledHelperTextFontColorOnDark : props.theme.disabledHelperTextFontColor : props.backgroundType === "dark" ? props.theme.helperTextFontColorOnDark : props.theme.helperTextFontColor;
181
242
  }, function (props) {
182
- return props.theme.helperTextFontFamily;
243
+ return props.theme.fontFamily;
183
244
  }, function (props) {
184
245
  return props.theme.helperTextFontSize;
185
246
  }, function (props) {
186
- return props.theme.helperTextFontstyle;
247
+ return props.theme.helperTextFontStyle;
187
248
  }, function (props) {
188
249
  return props.theme.helperTextFontWeight;
189
250
  }, function (props) {
190
251
  return props.theme.helperTextLineHeight;
191
252
  });
192
253
 
193
- var SliderContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n height: 48px;\n align-items: center;\n\n .MultiSlider-root {\n display: flex;\n align-items: center;\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) {
194
- return props.backgroundType === "dark" ? props.theme.disabledThumbBackgroundColorOnDark : props.theme.disabledThumbBackgroundColor;
195
- }, function (props) {
196
- return props.theme.thumbHeight;
197
- }, function (props) {
198
- return props.theme.thumbWidth;
199
- }, function (props) {
200
- return props.backgroundType === "dark" ? props.theme.disabledThumbBackgroundColorOnDark : props.theme.disabledThumbBackgroundColor;
201
- }, function (props) {
202
- return props.theme.disabledThumbVerticalPosition;
203
- }, function (props) {
204
- return props.backgroundType === "dark" ? props.theme.disabledTrackLineColorOnDark : props.theme.disabledTrackLineColor;
205
- }, function (props) {
206
- return props.backgroundType === "dark" ? props.theme.disabledTotalLineColorOnDark : props.theme.disabledTotalLineColor;
207
- }, function (props) {
208
- return props.backgroundType === "dark" ? props.theme.disabledTickBackgroundColorOnDark : props.theme.disabledTickBackgroundColor;
254
+ var SliderInput = _styledComponents["default"].input(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n min-width: 240px;\n height: ", ";\n display: inline-block;\n vertical-align: middle;\n -webkit-appearance: none;\n background-color: ", ";\n background-image: ", ";\n background-repeat: no-repeat;\n background-size: ", ";\n border-radius: 5px;\n z-index: 1;\n cursor: ", ";\n &::-webkit-slider-runnable-track {\n -webkit-appearance: none;\n box-shadow: none;\n border: none;\n background: transparent;\n margin: 0px -8px;\n }\n\n &::-webkit-slider-thumb {\n -webkit-appearance: none;\n border: none;\n height: ", ";\n width: ", ";\n border-radius: 25px;\n background: ", ";\n &:active {\n ", "\n }\n &:hover {\n ", "\n }\n }\n &::-moz-range-track {\n -webkit-appearance: none;\n box-shadow: none;\n border: none;\n background: transparent;\n }\n &::-moz-range-thumb {\n -webkit-appearance: none;\n border: none;\n height: ", ";\n width: ", ";\n border-radius: 25px;\n background: ", ";\n &:active {\n background: ", ";\n transform: scale(1.16667);\n }\n &:hover {\n ", "\n }\n }\n &:focus {\n outline: none;\n &::-webkit-slider-thumb {\n outline: ", "\n auto 1px;\n outline-offset: 2px;\n }\n &::-moz-range-thumb {\n outline: ", "\n auto 1px;\n outline-offset: 2px;\n }\n }\n"])), function (props) {
255
+ return props.theme.trackLineThickness;
209
256
  }, function (props) {
210
- return props.backgroundType === "dark" ? props.theme.disabledTickBackgroundColorOnDark : props.theme.disabledTickBackgroundColor;
257
+ return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledTotalLineColorOnDark + "61" : props.theme.disabledTotalLineColor + "61" : props.backgroundType === "dark" ? props.theme.totalLineColorOnDark + "61" : props.theme.totalLineColor + "61";
211
258
  }, function (props) {
212
- 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, ")");
213
260
  }, function (props) {
214
- return props.theme.tickWidth;
261
+ return (props.value - props.min) * 100 / (props.max - props.min) + "% 100%";
215
262
  }, function (props) {
216
- return props.theme.disabledTickVerticalPosition;
263
+ return props.disabled ? "not-allowed" : "pointer";
217
264
  }, function (props) {
218
265
  return props.theme.thumbHeight;
219
266
  }, function (props) {
220
267
  return props.theme.thumbWidth;
221
268
  }, function (props) {
222
- return props.backgroundType === "dark" ? props.theme.thumbBackgroundColorOnDark : props.theme.thumbBackgroundColor;
223
- }, function (props) {
224
- return props.theme.thumbVerticalPosition;
225
- }, function (props) {
226
- 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;
227
270
  }, function (props) {
228
- 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
+ }
229
274
  }, function (props) {
230
- 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
+ }
231
278
  }, function (props) {
232
- return props.theme.hoverThumbScale;
233
- }, function (props) {
234
- return props.theme.hoverThumbHeight;
279
+ return props.theme.thumbHeight;
235
280
  }, function (props) {
236
- return props.theme.hoverThumbWidth;
281
+ return props.theme.thumbWidth;
237
282
  }, function (props) {
238
- 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;
239
284
  }, function (props) {
240
285
  return props.backgroundType === "dark" ? props.theme.activeThumbBackgroundColorOnDark : props.theme.activeThumbBackgroundColor;
241
286
  }, function (props) {
242
- return props.theme.activeThumbScale;
243
- }, function (props) {
244
- return props.backgroundType === "dark" ? props.theme.trackLineColorOnDark : props.theme.trackLineColor;
245
- }, function (props) {
246
- return props.theme.trackLineThickness;
247
- }, function (props) {
248
- return props.theme.trackLineVerticalPosition;
249
- }, function (props) {
250
- return props.backgroundType === "dark" ? props.theme.trackLineColorOnDark : props.theme.trackLineColor;
251
- }, function (props) {
252
- return props.backgroundType === "dark" ? props.theme.totalLineColorOnDark : props.theme.totalLineColor;
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
+ }
253
290
  }, function (props) {
254
- return props.theme.totalLineThickness;
291
+ return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledFocusColorOnDark : props.theme.disabledFocusColor : props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
255
292
  }, function (props) {
256
- return props.theme.totalLineVerticalPosition;
257
- }, function (props) {
258
- return props.backgroundType === "dark" ? props.theme.tickBackgroundColorOnDark : props.theme.tickBackgroundColor;
259
- }, function (props) {
260
- return props.backgroundType === "dark" ? props.theme.tickBackgroundColorOnDark : props.theme.tickBackgroundColor;
261
- }, function (props) {
262
- return props.theme.tickHeight;
263
- }, function (props) {
264
- return props.theme.tickWidth;
265
- }, function (props) {
266
- 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;
267
294
  });
268
295
 
269
- var MinLabelContainer = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n letter-spacing: ", ";\n margin-right: ", ";\n"])), function (props) {
270
- return props.theme.fontFamily;
271
- }, function (props) {
272
- return props.theme.fontSize;
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) {
299
+ return props.disabled ? props.theme.disabledLimitValuesFontColor : props.backgroundType === "dark" ? props.theme.limitValuesFontColorOnDark : props.theme.limitValuesFontColor;
273
300
  }, function (props) {
274
- return props.theme.fontStyle;
301
+ return props.theme.fontFamily;
275
302
  }, function (props) {
276
- return props.theme.fontWeight;
303
+ return props.theme.limitValuesFontSize;
277
304
  }, function (props) {
278
- return props.disabled ? props.theme.disabledFontColor : props.backgroundType === "dark" ? props.theme.fontColorOnDark : props.theme.fontColor;
305
+ return props.theme.limitValuesFontStyle;
279
306
  }, function (props) {
280
- return props.theme.fontLetterSpacing;
307
+ return props.theme.limitValuesFontWeight;
281
308
  }, function (props) {
309
+ return props.theme.limitValuesFontLetterSpacing;
310
+ });
311
+
312
+ var MinLabelContainer = (0, _styledComponents["default"])(LimitLabelContainer)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: ", ";\n"])), function (props) {
282
313
  return props.theme.floorLabelMarginRight;
283
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
+ });
284
318
 
285
- var MaxLabelContainer = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n letter-spacing: ", ";\n margin-left: ", ";\n"])), function (props) {
286
- return props.theme.fontFamily;
287
- }, function (props) {
288
- return props.theme.fontSize;
289
- }, function (props) {
290
- return props.theme.fontStyle;
319
+ var SliderInputContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n width: 100%;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: -2px;\n padding-top: 1px;\n"])));
320
+
321
+ var MarksContainer = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n position: absolute;\n pointer-events: none;\n height: 100%;\n display: flex;\n align-items: center;\n"])), function (props) {
322
+ return props.isFirefox ? getFireFoxStyles() : getChromeStyles();
323
+ });
324
+
325
+ var TickMark = _styledComponents["default"].span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n background: ", ";\n height: ", ";\n width: ", ";\n border-radius: 18px;\n left: ", ";\n ", ";\n"])), function (props) {
326
+ return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledTickBackgroundColorOnDark : props.theme.disabledTickBackgroundColor : props.backgroundType === "dark" ? props.theme.tickBackgroundColorOnDark : props.theme.tickBackgroundColor;
291
327
  }, function (props) {
292
- return props.theme.fontWeight;
328
+ return props.theme.tickHeight;
293
329
  }, function (props) {
294
- return props.disabled ? props.theme.disabledFontColor : props.backgroundType === "dark" ? props.theme.fontColorOnDark : props.theme.fontColor;
330
+ return props.theme.tickWidth;
295
331
  }, function (props) {
296
- return props.theme.fontLetterSpacing;
332
+ return "calc(".concat(props.stepPosition, " * 100%)");
297
333
  }, function (props) {
298
- return props.step === 1 ? props.theme.ceilLabelMarginLeft : "1.25rem";
334
+ return !props.disabled ? "z-index: ".concat(props.stepPosition <= props.stepValue ? "0" : "1") : "";
299
335
  });
300
336
 
301
- 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) {
302
338
  return props.theme.inputMarginLeft;
303
339
  });
304
340
 
@@ -0,0 +1,183 @@
1
+ import React from "react";
2
+ import DxcSlider from "./Slider";
3
+ import { BackgroundColorProvider } from "../BackgroundColorContext";
4
+ import Title from "../../.storybook/components/Title";
5
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
+ import DarkContainer from "../../.storybook/components/DarkSection";
7
+
8
+ export default {
9
+ title: "Slider",
10
+ component: DxcSlider,
11
+ };
12
+
13
+ const labelFormat = (value) => `${value}E100000000000000000000000`;
14
+
15
+ export const Chromatic = () => (
16
+ <>
17
+ <Title title="States" theme="light" level={2} />
18
+ <ExampleContainer pseudoState="pseudo-hover">
19
+ <Title title="Hovered" theme="light" level={4} />
20
+ <DxcSlider label="Slider" helperText="Help message" showLimitsValues />
21
+ </ExampleContainer>
22
+ <ExampleContainer pseudoState="pseudo-active">
23
+ <Title title="Active" theme="light" level={4} />
24
+ <DxcSlider label="Slider" helperText="Help message" showLimitsValues />
25
+ </ExampleContainer>
26
+ <ExampleContainer pseudoState="pseudo-focus">
27
+ <Title title="Focused" theme="light" level={4} />
28
+ <DxcSlider label="Slider" helperText="Help message" showLimitsValues />
29
+ </ExampleContainer>
30
+ <ExampleContainer>
31
+ <Title title="Disabled" theme="light" level={4} />
32
+ <DxcSlider label="Slider" helperText="Help message" disabled showLimitsValues />
33
+ </ExampleContainer>
34
+ <ExampleContainer>
35
+ <Title title="Disabled discrete slider with input" theme="light" level={4} />
36
+ <DxcSlider
37
+ label="Slider"
38
+ helperText="Help message"
39
+ disabled
40
+ defaultValue={40}
41
+ minValue={0}
42
+ maxValue={50}
43
+ showLimitsValues
44
+ showInput
45
+ marks
46
+ step={10}
47
+ />
48
+ </ExampleContainer>
49
+ <Title title="Variants" theme="light" level={2} />
50
+ <ExampleContainer>
51
+ <Title title="Continuous slider" theme="light" level={4} />
52
+ <DxcSlider defaultValue={65} label="Slider" helperText="Help message" showLimitsValues />
53
+ </ExampleContainer>
54
+ <ExampleContainer>
55
+ <Title title="Discrete slider" theme="light" level={4} />
56
+ <DxcSlider defaultValue={20} label="Slider" helperText="Help message" showLimitsValues marks step={5} />
57
+ </ExampleContainer>
58
+ <ExampleContainer>
59
+ <Title title="Discrete slider with input" theme="light" level={4} />
60
+ <DxcSlider
61
+ defaultValue={20}
62
+ minValue={0}
63
+ maxValue={50}
64
+ label="Slider"
65
+ helperText="Help message"
66
+ showLimitsValues
67
+ showInput
68
+ marks
69
+ step={10}
70
+ />
71
+ </ExampleContainer>
72
+ <BackgroundColorProvider color="#333333">
73
+ <DarkContainer>
74
+ <Title title="Dark" theme="dark" level={2} />
75
+ <ExampleContainer pseudoState="pseudo-hover">
76
+ <Title title="Hovered" theme="dark" level={4} />
77
+ <DxcSlider label="Slider" helperText="Help message" showLimitsValues />
78
+ </ExampleContainer>
79
+ <ExampleContainer pseudoState="pseudo-active">
80
+ <Title title="Active" theme="dark" level={4} />
81
+ <DxcSlider label="Slider" helperText="Help message" showLimitsValues />
82
+ </ExampleContainer>
83
+ <ExampleContainer pseudoState="pseudo-focus">
84
+ <Title title="Focused" theme="dark" level={4} />
85
+ <DxcSlider label="Slider" helperText="Help message" showLimitsValues />
86
+ </ExampleContainer>
87
+ <ExampleContainer>
88
+ <Title title="Disabled" theme="dark" level={4} />
89
+ <DxcSlider label="Slider" helperText="Help message" disabled showLimitsValues />
90
+ </ExampleContainer>
91
+ <ExampleContainer>
92
+ <Title title="Disabled discrete slider with input" theme="dark" level={4} />
93
+ <DxcSlider
94
+ label="Slider"
95
+ helperText="Help message"
96
+ disabled
97
+ defaultValue={40}
98
+ minValue={0}
99
+ maxValue={50}
100
+ showLimitsValues
101
+ showInput
102
+ marks
103
+ step={5}
104
+ />
105
+ </ExampleContainer>
106
+ <ExampleContainer>
107
+ <Title title="Continuous slider" theme="dark" level={4} />
108
+ <DxcSlider defaultValue={65} label="Slider" helperText="Help message" showLimitsValues />
109
+ </ExampleContainer>
110
+ <ExampleContainer>
111
+ <Title title="Discrete slider" theme="dark" level={4} />
112
+ <DxcSlider defaultValue={20} label="Slider" helperText="Help message" showLimitsValues marks step={5} />
113
+ </ExampleContainer>
114
+ <ExampleContainer>
115
+ <Title title="Discrete slider with input" theme="dark" level={4} />
116
+ <DxcSlider
117
+ defaultValue={20}
118
+ minValue={0}
119
+ maxValue={50}
120
+ label="Slider"
121
+ helperText="Help message"
122
+ showLimitsValues
123
+ showInput
124
+ marks
125
+ step={10}
126
+ />
127
+ </ExampleContainer>
128
+ </DarkContainer>
129
+ </BackgroundColorProvider>
130
+ <Title title="Margins" theme="light" level={2} />
131
+ <ExampleContainer>
132
+ <Title title="Xxsmall" theme="light" level={4} />
133
+ <DxcSlider label="Xxsmall" margin="xxsmall" />
134
+ </ExampleContainer>
135
+ <ExampleContainer>
136
+ <Title title="Xsmall" theme="light" level={4} />
137
+ <DxcSlider label="Xsmall" margin="xsmall" />
138
+ </ExampleContainer>
139
+ <ExampleContainer>
140
+ <Title title="Small" theme="light" level={4} />
141
+ <DxcSlider label="Small" margin="small" />
142
+ </ExampleContainer>
143
+ <ExampleContainer>
144
+ <Title title="Medium" theme="light" level={4} />
145
+ <DxcSlider label="Medium" margin="medium" />
146
+ </ExampleContainer>
147
+ <ExampleContainer>
148
+ <Title title="Large" theme="light" level={4} />
149
+ <DxcSlider label="Large" margin="large" />
150
+ </ExampleContainer>
151
+ <ExampleContainer>
152
+ <Title title="Xlarge" theme="light" level={4} />
153
+ <DxcSlider label="Xlarge" margin="xlarge" />
154
+ </ExampleContainer>
155
+ <ExampleContainer>
156
+ <Title title="Xxlarge" theme="light" level={4} />
157
+ <DxcSlider label="Xxlarge" margin="xxlarge" />
158
+ </ExampleContainer>
159
+ <Title title="Sizes" theme="light" level={2} />
160
+ <ExampleContainer>
161
+ <Title title="Medium" theme="light" level={4} />
162
+ <DxcSlider label="Medium" size="medium" />
163
+ </ExampleContainer>
164
+ <ExampleContainer>
165
+ <Title title="Large" theme="light" level={4} />
166
+ <DxcSlider label="Large" size="large" />
167
+ </ExampleContainer>
168
+ <ExampleContainer>
169
+ <Title title="FillParent" theme="light" level={4} />
170
+ <DxcSlider label="FillParent" size="fillParent" />
171
+ </ExampleContainer>
172
+ <ExampleContainer>
173
+ <Title title="Large limit values labels" theme="light" level={4} />
174
+ <DxcSlider
175
+ label="Slider"
176
+ helperText="Help message"
177
+ showLimitsValues
178
+ labelFormatCallback={labelFormat}
179
+ size="large"
180
+ />
181
+ </ExampleContainer>
182
+ </>
183
+ );