@dxc-technology/halstack-react 0.0.0-e884f9f → 0.0.0-e922b5b

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