@dxc-technology/halstack-react 10.0.0 → 11.0.0

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 (219) hide show
  1. package/BackgroundColorContext.d.ts +2 -2
  2. package/BackgroundColorContext.js +5 -17
  3. package/HalstackContext.d.ts +26 -6
  4. package/HalstackContext.js +9 -34
  5. package/README.md +47 -0
  6. package/accordion/Accordion.js +21 -58
  7. package/accordion/Accordion.stories.tsx +1 -15
  8. package/accordion/Accordion.test.js +18 -33
  9. package/accordion/types.d.ts +5 -5
  10. package/accordion-group/AccordionGroup.js +15 -42
  11. package/accordion-group/AccordionGroup.stories.tsx +1 -1
  12. package/accordion-group/AccordionGroup.test.js +42 -60
  13. package/accordion-group/AccordionGroupAccordion.js +9 -21
  14. package/accordion-group/types.d.ts +6 -6
  15. package/alert/Alert.js +14 -46
  16. package/alert/Alert.test.js +28 -45
  17. package/alert/types.d.ts +5 -5
  18. package/badge/Badge.js +4 -17
  19. package/badge/types.d.ts +1 -1
  20. package/bleed/Bleed.js +13 -21
  21. package/bleed/types.d.ts +2 -2
  22. package/box/Box.js +10 -29
  23. package/box/Box.test.js +1 -6
  24. package/box/types.d.ts +3 -3
  25. package/bulleted-list/BulletedList.js +7 -33
  26. package/bulleted-list/BulletedList.stories.tsx +1 -91
  27. package/bulleted-list/types.d.ts +5 -5
  28. package/button/Button.js +23 -46
  29. package/button/Button.stories.tsx +5 -86
  30. package/button/Button.test.js +11 -21
  31. package/button/types.d.ts +4 -4
  32. package/card/Card.js +21 -44
  33. package/card/Card.test.js +10 -21
  34. package/card/types.d.ts +5 -5
  35. package/checkbox/Checkbox.js +81 -111
  36. package/checkbox/Checkbox.stories.tsx +16 -54
  37. package/checkbox/Checkbox.test.js +107 -63
  38. package/checkbox/types.d.ts +8 -4
  39. package/chip/Chip.js +12 -31
  40. package/chip/Chip.test.js +15 -28
  41. package/chip/types.d.ts +4 -4
  42. package/common/coreTokens.js +1 -2
  43. package/common/utils.js +2 -8
  44. package/common/variables.d.ts +23 -6
  45. package/common/variables.js +25 -15
  46. package/date-input/Calendar.js +13 -57
  47. package/date-input/DateInput.js +50 -96
  48. package/date-input/DateInput.stories.tsx +11 -30
  49. package/date-input/DateInput.test.js +674 -701
  50. package/date-input/DatePicker.js +11 -42
  51. package/date-input/Icons.d.ts +6 -6
  52. package/date-input/Icons.js +6 -23
  53. package/date-input/YearPicker.js +8 -34
  54. package/date-input/types.d.ts +27 -21
  55. package/dialog/Dialog.js +11 -35
  56. package/dialog/Dialog.test.js +125 -187
  57. package/dialog/types.d.ts +18 -13
  58. package/dropdown/Dropdown.js +39 -93
  59. package/dropdown/Dropdown.test.js +391 -378
  60. package/dropdown/DropdownMenu.js +8 -19
  61. package/dropdown/DropdownMenuItem.js +5 -17
  62. package/dropdown/types.d.ts +17 -19
  63. package/file-input/FileInput.js +131 -220
  64. package/file-input/FileInput.stories.tsx +1 -1
  65. package/file-input/FileInput.test.js +293 -342
  66. package/file-input/FileItem.js +12 -39
  67. package/file-input/types.d.ts +9 -9
  68. package/flex/Flex.js +25 -39
  69. package/flex/types.d.ts +6 -6
  70. package/footer/Footer.js +9 -39
  71. package/footer/Footer.stories.tsx +8 -7
  72. package/footer/Footer.test.js +18 -32
  73. package/footer/Icons.d.ts +2 -2
  74. package/footer/Icons.js +2 -7
  75. package/footer/types.d.ts +13 -13
  76. package/grid/Grid.js +1 -16
  77. package/grid/types.d.ts +10 -10
  78. package/header/Header.d.ts +1 -1
  79. package/header/Header.js +19 -64
  80. package/header/Header.test.js +12 -25
  81. package/header/Icons.d.ts +2 -2
  82. package/header/Icons.js +2 -7
  83. package/header/types.d.ts +5 -7
  84. package/heading/Heading.js +9 -31
  85. package/heading/Heading.test.js +70 -87
  86. package/heading/types.d.ts +7 -7
  87. package/image/Image.d.ts +4 -0
  88. package/image/Image.js +70 -0
  89. package/image/Image.stories.tsx +127 -0
  90. package/image/types.d.ts +72 -0
  91. package/inset/Inset.js +13 -21
  92. package/inset/types.d.ts +2 -2
  93. package/layout/ApplicationLayout.d.ts +1 -1
  94. package/layout/ApplicationLayout.js +25 -65
  95. package/layout/ApplicationLayout.stories.tsx +1 -1
  96. package/layout/Icons.d.ts +8 -5
  97. package/layout/Icons.js +51 -59
  98. package/layout/SidenavContext.d.ts +1 -1
  99. package/layout/SidenavContext.js +3 -9
  100. package/layout/types.d.ts +3 -3
  101. package/link/Link.js +21 -42
  102. package/link/Link.test.js +23 -41
  103. package/link/types.d.ts +14 -14
  104. package/main.d.ts +3 -2
  105. package/main.js +10 -51
  106. package/nav-tabs/NavTabs.js +11 -43
  107. package/nav-tabs/NavTabs.stories.tsx +1 -1
  108. package/nav-tabs/NavTabs.test.js +36 -43
  109. package/nav-tabs/Tab.js +16 -45
  110. package/nav-tabs/types.d.ts +9 -9
  111. package/number-input/NumberInput.d.ts +7 -0
  112. package/number-input/NumberInput.js +26 -35
  113. package/number-input/NumberInput.stories.tsx +42 -26
  114. package/number-input/NumberInput.test.js +700 -412
  115. package/number-input/types.d.ts +11 -5
  116. package/package.json +28 -26
  117. package/paginator/Icons.d.ts +5 -5
  118. package/paginator/Icons.js +5 -19
  119. package/paginator/Paginator.js +14 -39
  120. package/paginator/Paginator.test.js +224 -207
  121. package/paginator/types.d.ts +3 -3
  122. package/paragraph/Paragraph.js +3 -14
  123. package/paragraph/Paragraph.stories.tsx +0 -17
  124. package/password-input/Icons.d.ts +6 -0
  125. package/password-input/Icons.js +35 -0
  126. package/password-input/PasswordInput.js +57 -126
  127. package/password-input/PasswordInput.stories.tsx +1 -32
  128. package/password-input/PasswordInput.test.js +157 -140
  129. package/password-input/types.d.ts +8 -7
  130. package/progress-bar/ProgressBar.js +16 -42
  131. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +1 -1
  132. package/progress-bar/ProgressBar.test.js +35 -52
  133. package/progress-bar/types.d.ts +3 -3
  134. package/quick-nav/QuickNav.js +4 -27
  135. package/quick-nav/QuickNav.stories.tsx +1 -1
  136. package/quick-nav/types.d.ts +10 -10
  137. package/radio-group/Radio.d.ts +1 -1
  138. package/radio-group/Radio.js +22 -54
  139. package/radio-group/RadioGroup.js +37 -83
  140. package/radio-group/RadioGroup.stories.tsx +10 -10
  141. package/radio-group/RadioGroup.test.js +504 -470
  142. package/radio-group/types.d.ts +8 -8
  143. package/resultset-table/Icons.d.ts +7 -0
  144. package/{resultsetTable → resultset-table}/Icons.js +1 -5
  145. package/{resultsetTable → resultset-table}/ResultsetTable.js +22 -58
  146. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +72 -92
  147. package/{resultsetTable → resultset-table}/types.d.ts +7 -7
  148. package/select/Icons.d.ts +7 -7
  149. package/select/Icons.js +1 -5
  150. package/select/Listbox.js +13 -39
  151. package/select/Option.js +9 -26
  152. package/select/Select.js +54 -138
  153. package/select/Select.stories.tsx +3 -3
  154. package/select/Select.test.js +1906 -1800
  155. package/select/types.d.ts +14 -15
  156. package/sidenav/Icons.d.ts +4 -4
  157. package/sidenav/Icons.js +1 -5
  158. package/sidenav/Sidenav.js +24 -63
  159. package/sidenav/Sidenav.test.js +3 -10
  160. package/sidenav/types.d.ts +18 -18
  161. package/slider/Slider.js +38 -86
  162. package/slider/Slider.test.js +107 -103
  163. package/slider/types.d.ts +4 -4
  164. package/spinner/Spinner.js +10 -40
  165. package/spinner/Spinner.test.js +25 -34
  166. package/spinner/types.d.ts +3 -3
  167. package/switch/Switch.js +26 -69
  168. package/switch/Switch.stories.tsx +0 -34
  169. package/switch/Switch.test.js +51 -96
  170. package/switch/types.d.ts +4 -4
  171. package/table/Table.js +4 -23
  172. package/table/Table.test.js +1 -6
  173. package/table/types.d.ts +8 -8
  174. package/tabs/Tab.js +10 -29
  175. package/tabs/Tabs.js +48 -124
  176. package/tabs/Tabs.test.js +62 -118
  177. package/tabs/types.d.ts +19 -19
  178. package/tag/Tag.js +21 -51
  179. package/tag/Tag.test.js +19 -30
  180. package/tag/types.d.ts +7 -7
  181. package/text-input/Icons.d.ts +5 -5
  182. package/text-input/Icons.js +1 -5
  183. package/text-input/Suggestion.js +9 -26
  184. package/text-input/Suggestions.d.ts +1 -1
  185. package/text-input/Suggestions.js +12 -57
  186. package/text-input/TextInput.js +182 -263
  187. package/text-input/TextInput.stories.tsx +48 -152
  188. package/text-input/TextInput.test.js +1210 -1194
  189. package/text-input/types.d.ts +25 -17
  190. package/textarea/Textarea.js +60 -96
  191. package/textarea/{Textarea.stories.jsx → Textarea.stories.tsx} +58 -99
  192. package/textarea/Textarea.test.js +150 -179
  193. package/textarea/types.d.ts +9 -5
  194. package/toggle-group/ToggleGroup.js +91 -105
  195. package/toggle-group/ToggleGroup.stories.tsx +7 -4
  196. package/toggle-group/ToggleGroup.test.js +68 -87
  197. package/toggle-group/types.d.ts +26 -17
  198. package/typography/Typography.js +4 -13
  199. package/typography/types.d.ts +1 -1
  200. package/useTheme.d.ts +20 -3
  201. package/useTheme.js +1 -8
  202. package/useTranslatedLabels.js +1 -7
  203. package/utils/BaseTypography.d.ts +2 -2
  204. package/utils/BaseTypography.js +16 -30
  205. package/utils/FocusLock.js +12 -36
  206. package/wizard/Wizard.js +14 -49
  207. package/wizard/Wizard.test.js +53 -80
  208. package/wizard/types.d.ts +6 -6
  209. package/number-input/NumberInputContext.d.ts +0 -4
  210. package/number-input/NumberInputContext.js +0 -19
  211. package/number-input/numberInputContextTypes.d.ts +0 -19
  212. package/resultsetTable/Icons.d.ts +0 -7
  213. package/slider/Slider.stories.tsx +0 -240
  214. /package/{resultsetTable → image}/types.js +0 -0
  215. /package/{resultsetTable → resultset-table}/ResultsetTable.d.ts +0 -0
  216. /package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +0 -0
  217. /package/{number-input/numberInputContextTypes.js → resultset-table/types.js} +0 -0
  218. /package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +0 -0
  219. /package/table/{Table.stories.jsx → Table.stories.tsx} +0 -0
package/slider/Slider.js CHANGED
@@ -1,89 +1,67 @@
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
13
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
-
22
14
  var _TextInput = _interopRequireDefault(require("../text-input/TextInput"));
23
-
24
15
  var _variables = require("../common/variables");
25
-
26
16
  var _utils = require("../common/utils");
27
-
28
17
  var _useTheme = _interopRequireDefault(require("../useTheme"));
29
-
30
18
  var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
31
-
32
19
  var _uuid = require("uuid");
33
-
34
20
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;
35
-
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
-
38
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
39
-
21
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
22
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
40
23
  var DxcSlider = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
41
24
  var _ref$label = _ref.label,
42
- label = _ref$label === void 0 ? "" : _ref$label,
43
- _ref$name = _ref.name,
44
- name = _ref$name === void 0 ? "" : _ref$name,
45
- defaultValue = _ref.defaultValue,
46
- value = _ref.value,
47
- _ref$helperText = _ref.helperText,
48
- helperText = _ref$helperText === void 0 ? "" : _ref$helperText,
49
- _ref$minValue = _ref.minValue,
50
- minValue = _ref$minValue === void 0 ? 0 : _ref$minValue,
51
- _ref$maxValue = _ref.maxValue,
52
- maxValue = _ref$maxValue === void 0 ? 100 : _ref$maxValue,
53
- _ref$step = _ref.step,
54
- step = _ref$step === void 0 ? 1 : _ref$step,
55
- _ref$showLimitsValues = _ref.showLimitsValues,
56
- showLimitsValues = _ref$showLimitsValues === void 0 ? false : _ref$showLimitsValues,
57
- _ref$showInput = _ref.showInput,
58
- showInput = _ref$showInput === void 0 ? false : _ref$showInput,
59
- _ref$disabled = _ref.disabled,
60
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
61
- _ref$marks = _ref.marks,
62
- marks = _ref$marks === void 0 ? false : _ref$marks,
63
- onChange = _ref.onChange,
64
- onDragEnd = _ref.onDragEnd,
65
- labelFormatCallback = _ref.labelFormatCallback,
66
- margin = _ref.margin,
67
- _ref$size = _ref.size,
68
- size = _ref$size === void 0 ? "fillParent" : _ref$size;
69
-
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;
70
52
  var _useState = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : 0),
71
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
72
- innerValue = _useState2[0],
73
- setInnerValue = _useState2[1];
74
-
53
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
54
+ innerValue = _useState2[0],
55
+ setInnerValue = _useState2[1];
75
56
  var _useState3 = (0, _react.useState)(false),
76
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
77
- dragging = _useState4[0],
78
- setDragging = _useState4[1];
79
-
57
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
58
+ dragging = _useState4[0],
59
+ setDragging = _useState4[1];
80
60
  var colorsTheme = (0, _useTheme["default"])();
81
61
  var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
82
-
83
62
  var _useState5 = (0, _react.useState)("label-".concat((0, _uuid.v4)())),
84
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 1),
85
- labelId = _useState6[0];
86
-
63
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 1),
64
+ labelId = _useState6[0];
87
65
  var minLabel = (0, _react.useMemo)(function () {
88
66
  return labelFormatCallback ? labelFormatCallback(minValue) : minValue;
89
67
  }, [labelFormatCallback, minValue]);
@@ -95,7 +73,6 @@ var DxcSlider = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
95
73
  var numberOfMarks = Math.floor(maxValue / step - minValue / step);
96
74
  var index = 0;
97
75
  var range = maxValue - minValue;
98
-
99
76
  if (marks) {
100
77
  while (index <= numberOfMarks) {
101
78
  ticks.push( /*#__PURE__*/_react["default"].createElement(TickMark, {
@@ -106,42 +83,34 @@ var DxcSlider = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
106
83
  }));
107
84
  index++;
108
85
  }
109
-
110
86
  return ticks;
111
87
  } else {
112
88
  return null;
113
89
  }
114
90
  }, [minValue, maxValue, step, value, innerValue]);
115
-
116
91
  var handleSliderChange = function handleSliderChange(event) {
117
92
  var valueToCheck = event.target.value;
118
93
  (valueToCheck !== value || valueToCheck !== innerValue) && setInnerValue(valueToCheck);
119
94
  onChange === null || onChange === void 0 ? void 0 : onChange(valueToCheck);
120
95
  };
121
-
122
96
  var handleSliderDragging = function handleSliderDragging() {
123
97
  setDragging(true);
124
98
  };
125
-
126
99
  var handleSliderOnChangeCommited = function handleSliderOnChangeCommited(event) {
127
100
  if (dragging) {
128
101
  setDragging(false);
129
102
  onDragEnd === null || onDragEnd === void 0 ? void 0 : onDragEnd(event.target.value);
130
103
  }
131
104
  };
132
-
133
105
  var handlerInputChange = function handlerInputChange(event) {
134
106
  var intValue = parseInt(event.value, 10);
135
-
136
107
  if (value == null) {
137
108
  if (!Number.isNaN(intValue)) setInnerValue(intValue > maxValue ? maxValue : intValue);
138
109
  }
139
-
140
110
  if (!Number.isNaN(intValue)) {
141
111
  onChange === null || onChange === void 0 ? void 0 : onChange(intValue > maxValue ? maxValue : intValue);
142
112
  }
143
113
  };
144
-
145
114
  var isFirefox = navigator.userAgent.indexOf("Firefox") !== -1;
146
115
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
147
116
  theme: colorsTheme.slider
@@ -190,25 +159,20 @@ var DxcSlider = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
190
159
  size: "fillParent"
191
160
  })))));
192
161
  });
193
-
194
162
  var sizes = {
195
163
  medium: "360px",
196
164
  large: "480px",
197
165
  fillParent: "100%"
198
166
  };
199
-
200
167
  var calculateWidth = function calculateWidth(margin, size) {
201
168
  return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
202
169
  };
203
-
204
170
  var getChromeStyles = function getChromeStyles() {
205
171
  return "\n width: 100%;\n margin-right: 4px;";
206
172
  };
207
-
208
173
  var getFireFoxStyles = function getFireFoxStyles() {
209
174
  return "\n width: calc(100% - 16px);\n margin-right: 3px;";
210
175
  };
211
-
212
176
  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) {
213
177
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
214
178
  }, function (props) {
@@ -222,7 +186,6 @@ var Container = _styledComponents["default"].div(_templateObject || (_templateOb
222
186
  }, function (props) {
223
187
  return calculateWidth(props.margin, props.size);
224
188
  });
225
-
226
189
  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
190
  return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledLabelFontColorOnDark : props.theme.disabledLabelFontColor : props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.theme.labelFontColor;
228
191
  }, function (props) {
@@ -236,7 +199,6 @@ var Label = _styledComponents["default"].label(_templateObject2 || (_templateObj
236
199
  }, function (props) {
237
200
  return props.theme.labelLineHeight;
238
201
  });
239
-
240
202
  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
203
  return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledHelperTextFontColorOnDark : props.theme.disabledHelperTextFontColor : props.backgroundType === "dark" ? props.theme.helperTextFontColorOnDark : props.theme.helperTextFontColor;
242
204
  }, function (props) {
@@ -250,7 +212,6 @@ var HelperText = _styledComponents["default"].span(_templateObject3 || (_templat
250
212
  }, function (props) {
251
213
  return props.theme.helperTextLineHeight;
252
214
  });
253
-
254
215
  var SliderInput = _styledComponents["default"].input(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n min-width: 240px;\n height: ", ";\n display: inline-block;\n vertical-align: middle;\n -webkit-appearance: none;\n background-color: ", ";\n background-image: ", ";\n background-repeat: no-repeat;\n background-size: ", ";\n border-radius: 5px;\n cursor: ", ";\n &::-webkit-slider-runnable-track {\n -webkit-appearance: none;\n box-shadow: none;\n border: none;\n background: transparent;\n margin: 0px -8px;\n }\n\n &::-webkit-slider-thumb {\n -webkit-appearance: none;\n border: none;\n height: ", ";\n width: ", ";\n border-radius: 25px;\n background: ", ";\n &:active {\n ", "\n }\n &:hover {\n ", "\n }\n }\n &::-moz-range-track {\n -webkit-appearance: none;\n box-shadow: none;\n border: none;\n background: transparent;\n }\n &::-moz-range-thumb {\n -webkit-appearance: none;\n border: none;\n height: ", ";\n width: ", ";\n border-radius: 25px;\n background: ", ";\n &:active {\n background: ", ";\n transform: scale(1.16667);\n }\n &:hover {\n ", "\n }\n }\n &:focus {\n outline: none;\n &::-webkit-slider-thumb {\n outline: ", "\n auto 1px;\n outline-offset: 2px;\n }\n &::-moz-range-thumb {\n outline: ", "\n auto 1px;\n outline-offset: 2px;\n }\n }\n"])), function (props) {
255
216
  return props.theme.trackLineThickness;
256
217
  }, function (props) {
@@ -292,9 +253,7 @@ var SliderInput = _styledComponents["default"].input(_templateObject4 || (_templ
292
253
  }, function (props) {
293
254
  return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledFocusColorOnDark : props.theme.disabledFocusColor : props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
294
255
  });
295
-
296
256
  var SliderContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n height: 48px;\n align-items: center;\n"])));
297
-
298
257
  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
258
  return props.disabled ? props.theme.disabledLimitValuesFontColor : props.backgroundType === "dark" ? props.theme.limitValuesFontColorOnDark : props.theme.limitValuesFontColor;
300
259
  }, function (props) {
@@ -308,20 +267,16 @@ var LimitLabelContainer = _styledComponents["default"].span(_templateObject6 ||
308
267
  }, function (props) {
309
268
  return props.theme.limitValuesFontLetterSpacing;
310
269
  });
311
-
312
270
  var MinLabelContainer = (0, _styledComponents["default"])(LimitLabelContainer)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: ", ";\n"])), function (props) {
313
271
  return props.theme.floorLabelMarginRight;
314
272
  });
315
273
  var MaxLabelContainer = (0, _styledComponents["default"])(LimitLabelContainer)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: ", ";\n"])), function (props) {
316
274
  return props.step === 1 ? props.theme.ceilLabelMarginLeft : "1.25rem";
317
275
  });
318
-
319
276
  var SliderInputContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n width: 100%;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: -2px;\n padding-top: 1px;\n z-index: 0;\n"])));
320
-
321
277
  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
278
  return props.isFirefox ? getFireFoxStyles() : getChromeStyles();
323
279
  });
324
-
325
280
  var TickMark = _styledComponents["default"].span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n background: ", ";\n height: ", ";\n width: ", ";\n border-radius: 18px;\n left: ", ";\n z-index: ", ";\n"])), function (props) {
326
281
  return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledTickBackgroundColorOnDark : props.theme.disabledTickBackgroundColor : props.backgroundType === "dark" ? props.theme.tickBackgroundColorOnDark : props.theme.tickBackgroundColor;
327
282
  }, function (props) {
@@ -333,10 +288,7 @@ var TickMark = _styledComponents["default"].span(_templateObject11 || (_template
333
288
  }, function (props) {
334
289
  return "".concat(props.stepPosition <= props.stepValue ? "-1" : "0");
335
290
  });
336
-
337
291
  var StyledTextInput = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: ", ";\n max-width: 70px;\n"])), function (props) {
338
292
  return props.theme.inputMarginLeft;
339
293
  });
340
-
341
- var _default = DxcSlider;
342
- exports["default"] = _default;
294
+ var _default = exports["default"] = DxcSlider;
@@ -1,26 +1,52 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
4
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
5
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
5
6
  var _react = _interopRequireDefault(require("react"));
6
-
7
7
  var _react2 = require("@testing-library/react");
8
-
9
8
  var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
10
-
11
9
  var _Slider = _interopRequireDefault(require("./Slider.tsx"));
12
-
10
+ // Mocking DOMRect for Radix Primitive Popover
11
+ global.globalThis = global;
12
+ global.DOMRect = {
13
+ fromRect: function fromRect() {
14
+ return {
15
+ top: 0,
16
+ left: 0,
17
+ bottom: 0,
18
+ right: 0,
19
+ width: 0,
20
+ height: 0
21
+ };
22
+ }
23
+ };
24
+ global.ResizeObserver = /*#__PURE__*/function () {
25
+ function ResizeObserver() {
26
+ (0, _classCallCheck2["default"])(this, ResizeObserver);
27
+ }
28
+ (0, _createClass2["default"])(ResizeObserver, [{
29
+ key: "observe",
30
+ value: function observe() {}
31
+ }, {
32
+ key: "unobserve",
33
+ value: function unobserve() {}
34
+ }, {
35
+ key: "disconnect",
36
+ value: function disconnect() {}
37
+ }]);
38
+ return ResizeObserver;
39
+ }();
13
40
  describe("Slider component tests", function () {
14
41
  test("Slider renders with correct text and label id", function () {
15
42
  var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
16
- label: "label",
17
- minValue: 0,
18
- maxValue: 100,
19
- showLimitsValues: true
20
- })),
21
- getByText = _render.getByText,
22
- getByRole = _render.getByRole;
23
-
43
+ label: "label",
44
+ minValue: 0,
45
+ maxValue: 100,
46
+ showLimitsValues: true
47
+ })),
48
+ getByText = _render.getByText,
49
+ getByRole = _render.getByRole;
24
50
  expect(getByText("0")).toBeTruthy();
25
51
  expect(getByText("100")).toBeTruthy();
26
52
  var sliderId = getByText("label").getAttribute("id");
@@ -29,14 +55,13 @@ describe("Slider component tests", function () {
29
55
  });
30
56
  test("Slider renders with correct initial value when it is uncontrolled", function () {
31
57
  var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
32
- defaultValue: 30,
33
- minValue: 0,
34
- maxValue: 100,
35
- showLimitsValues: true,
36
- showInput: true
37
- })),
38
- getByRole = _render2.getByRole;
39
-
58
+ defaultValue: 30,
59
+ minValue: 0,
60
+ maxValue: 100,
61
+ showLimitsValues: true,
62
+ showInput: true
63
+ })),
64
+ getByRole = _render2.getByRole;
40
65
  var slider = getByRole("slider");
41
66
  var input = getByRole("textbox");
42
67
  expect(slider.getAttribute("aria-valuenow")).toBe("30");
@@ -44,44 +69,38 @@ describe("Slider component tests", function () {
44
69
  });
45
70
  test("Slider correct limit values", function () {
46
71
  var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
47
- defaultValue: 125,
48
- minValue: 30,
49
- maxValue: 125,
50
- showLimitsValues: true
51
- })),
52
- getByRole = _render3.getByRole,
53
- getByText = _render3.getByText;
54
-
72
+ defaultValue: 125,
73
+ minValue: 30,
74
+ maxValue: 125,
75
+ showLimitsValues: true
76
+ })),
77
+ getByRole = _render3.getByRole,
78
+ getByText = _render3.getByText;
55
79
  var slider = getByRole("slider");
56
80
  expect(slider.getAttribute("aria-valuemin")).toBe("30");
57
81
  expect(slider.getAttribute("aria-valuemax")).toBe("125");
58
-
59
82
  _userEvent["default"].tab();
60
-
61
83
  _react2.fireEvent.keyDown(slider, {
62
84
  key: "ArrowRight",
63
85
  code: "ArrowRight",
64
86
  keyCode: 39,
65
87
  charCode: 39
66
88
  });
67
-
68
89
  expect(slider.getAttribute("aria-valuenow")).toBe("125");
69
90
  expect(getByText("30")).toBeTruthy();
70
91
  expect(getByText("125")).toBeTruthy();
71
92
  });
72
93
  test("Calls correct function onChange in controlled slider", function () {
73
94
  var onChange = jest.fn();
74
-
75
95
  var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
76
- minValue: 0,
77
- maxValue: 100,
78
- onChange: onChange,
79
- showLimitsValues: true,
80
- value: 13,
81
- showInput: true
82
- })),
83
- getByRole = _render4.getByRole;
84
-
96
+ minValue: 0,
97
+ maxValue: 100,
98
+ onChange: onChange,
99
+ showLimitsValues: true,
100
+ value: 13,
101
+ showInput: true
102
+ })),
103
+ getByRole = _render4.getByRole;
85
104
  expect(getByRole("slider").getAttribute("aria-valuenow")).toBe("13");
86
105
  expect(getByRole("textbox").value).toBe("13");
87
106
  (0, _react2.act)(function () {
@@ -97,16 +116,14 @@ describe("Slider component tests", function () {
97
116
  });
98
117
  test("Calls correct function onChange in uncontrolled slider", function () {
99
118
  var onChange = jest.fn();
100
-
101
119
  var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
102
- minValue: 0,
103
- maxValue: 100,
104
- onChange: onChange,
105
- showLimitsValues: true,
106
- showInput: true
107
- })),
108
- getByRole = _render5.getByRole;
109
-
120
+ minValue: 0,
121
+ maxValue: 100,
122
+ onChange: onChange,
123
+ showLimitsValues: true,
124
+ showInput: true
125
+ })),
126
+ getByRole = _render5.getByRole;
110
127
  (0, _react2.act)(function () {
111
128
  _react2.fireEvent.change(getByRole("textbox"), {
112
129
  target: {
@@ -120,18 +137,16 @@ describe("Slider component tests", function () {
120
137
  });
121
138
  test("Disabled slider have disabled input and slider", function () {
122
139
  var onChange = jest.fn();
123
-
124
140
  var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
125
- minValue: 0,
126
- maxValue: 100,
127
- onChange: onChange,
128
- showLimitsValues: true,
129
- disabled: true,
130
- showInput: true,
131
- value: 13
132
- })),
133
- getByRole = _render6.getByRole;
134
-
141
+ minValue: 0,
142
+ maxValue: 100,
143
+ onChange: onChange,
144
+ showLimitsValues: true,
145
+ disabled: true,
146
+ showInput: true,
147
+ value: 13
148
+ })),
149
+ getByRole = _render6.getByRole;
135
150
  (0, _react2.act)(function () {
136
151
  _react2.fireEvent.change(getByRole("textbox"), {
137
152
  target: {
@@ -145,15 +160,13 @@ describe("Slider component tests", function () {
145
160
  });
146
161
  test("Calls correct function onDragEnd when it is uncontrolled", function () {
147
162
  var onDragEnd = jest.fn();
148
-
149
163
  var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
150
- minValue: 0,
151
- maxValue: 150,
152
- onDragEnd: onDragEnd,
153
- showInput: true
154
- })),
155
- getByRole = _render7.getByRole;
156
-
164
+ minValue: 0,
165
+ maxValue: 150,
166
+ onDragEnd: onDragEnd,
167
+ showInput: true
168
+ })),
169
+ getByRole = _render7.getByRole;
157
170
  var slider = getByRole("slider");
158
171
  (0, _react2.act)(function () {
159
172
  _react2.fireEvent.mouseDown(slider);
@@ -169,16 +182,14 @@ describe("Slider component tests", function () {
169
182
  });
170
183
  test("Calls correct function onDragEnd when it is controlled", function () {
171
184
  var onDragEnd = jest.fn();
172
-
173
185
  var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
174
- minValue: 0,
175
- maxValue: 150,
176
- value: 50,
177
- onDragEnd: onDragEnd,
178
- showInput: true
179
- })),
180
- getByRole = _render8.getByRole;
181
-
186
+ minValue: 0,
187
+ maxValue: 150,
188
+ value: 50,
189
+ onDragEnd: onDragEnd,
190
+ showInput: true
191
+ })),
192
+ getByRole = _render8.getByRole;
182
193
  var slider = getByRole("slider");
183
194
  (0, _react2.act)(function () {
184
195
  _react2.fireEvent.mouseDown(slider);
@@ -197,46 +208,39 @@ describe("Slider component tests", function () {
197
208
  var labelFormatCallback = jest.fn(function (x) {
198
209
  return "".concat(x, "$");
199
210
  });
200
-
201
211
  var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
202
- minValue: 0,
203
- maxValue: 100,
204
- showLimitsValues: true,
205
- showInput: true,
206
- value: 25,
207
- labelFormatCallback: labelFormatCallback
208
- })),
209
- getByText = _render9.getByText;
210
-
212
+ minValue: 0,
213
+ maxValue: 100,
214
+ showLimitsValues: true,
215
+ showInput: true,
216
+ value: 25,
217
+ labelFormatCallback: labelFormatCallback
218
+ })),
219
+ getByText = _render9.getByText;
211
220
  expect(getByText("0$")).toBeTruthy();
212
221
  expect(getByText("100$")).toBeTruthy();
213
222
  expect(labelFormatCallback).toHaveBeenCalledTimes(2);
214
223
  });
215
224
  test("Change value correctly to 0 from external function", function () {
216
225
  var onChange = jest.fn();
217
-
218
226
  var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
219
- minValue: 0,
220
- maxValue: 100,
221
- onChange: onChange,
222
- showLimitsValues: true,
223
- value: 13,
224
- showInput: true
225
- })),
226
- rerender = _render10.rerender,
227
- getByRole = _render10.getByRole;
228
-
227
+ minValue: 0,
228
+ maxValue: 100,
229
+ onChange: onChange,
230
+ showLimitsValues: true,
231
+ value: 13,
232
+ showInput: true
233
+ })),
234
+ rerender = _render10.rerender,
235
+ getByRole = _render10.getByRole;
229
236
  var slider = getByRole("slider");
230
-
231
237
  _userEvent["default"].tab();
232
-
233
238
  _react2.fireEvent.keyDown(slider, {
234
239
  key: "ArrowRight",
235
240
  code: "ArrowRight",
236
241
  keyCode: 39,
237
242
  charCode: 39
238
243
  });
239
-
240
244
  rerender( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
241
245
  minValue: 0,
242
246
  maxValue: 100,
package/slider/types.d.ts CHANGED
@@ -1,11 +1,11 @@
1
- declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
- declare type Margin = {
1
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
+ type Margin = {
3
3
  top?: Space;
4
4
  bottom?: Space;
5
5
  left?: Space;
6
6
  right?: Space;
7
7
  };
8
- declare type Props = {
8
+ type Props = {
9
9
  /**
10
10
  * Text to be placed above the slider.
11
11
  */
@@ -82,5 +82,5 @@ declare type Props = {
82
82
  /**
83
83
  * Reference to the component.
84
84
  */
85
- export declare type RefType = HTMLDivElement;
85
+ export type RefType = HTMLDivElement;
86
86
  export default Props;