@dxc-technology/halstack-react 0.0.0-71a326e → 0.0.0-73f82b7

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 (114) hide show
  1. package/accordion/types.d.ts +1 -1
  2. package/accordion-group/types.d.ts +1 -1
  3. package/alert/Alert.stories.tsx +170 -0
  4. package/box/Box.d.ts +4 -0
  5. package/box/Box.js +9 -32
  6. package/box/Box.stories.tsx +132 -0
  7. package/box/types.d.ts +47 -0
  8. package/box/types.js +5 -0
  9. package/button/Button.d.ts +1 -1
  10. package/button/Button.js +7 -12
  11. package/button/Button.stories.tsx +217 -234
  12. package/button/types.d.ts +10 -10
  13. package/card/Card.d.ts +4 -0
  14. package/card/Card.js +13 -48
  15. package/card/types.d.ts +69 -0
  16. package/card/types.js +5 -0
  17. package/checkbox/Checkbox.stories.tsx +192 -0
  18. package/common/variables.js +30 -22
  19. package/date-input/DateInput.stories.tsx +138 -0
  20. package/dialog/Dialog.d.ts +4 -0
  21. package/dialog/Dialog.js +4 -23
  22. package/dialog/types.d.ts +43 -0
  23. package/dialog/types.js +5 -0
  24. package/dropdown/Dropdown.d.ts +4 -0
  25. package/dropdown/Dropdown.js +7 -40
  26. package/dropdown/types.d.ts +89 -0
  27. package/dropdown/types.js +5 -0
  28. package/footer/Footer.d.ts +4 -0
  29. package/footer/Footer.js +4 -35
  30. package/footer/Footer.stories.jsx +151 -0
  31. package/footer/types.d.ts +61 -0
  32. package/footer/types.js +5 -0
  33. package/header/Header.d.ts +7 -0
  34. package/header/Header.js +26 -28
  35. package/header/Icons.js +2 -27
  36. package/header/types.d.ts +45 -0
  37. package/header/types.js +5 -0
  38. package/link/Link.d.ts +3 -0
  39. package/link/Link.js +1 -23
  40. package/link/Link.stories.tsx +70 -0
  41. package/link/types.d.ts +74 -0
  42. package/link/types.js +5 -0
  43. package/number-input/NumberInput.d.ts +4 -0
  44. package/number-input/NumberInput.js +2 -44
  45. package/number-input/NumberInput.stories.tsx +115 -0
  46. package/number-input/types.d.ts +117 -0
  47. package/number-input/types.js +5 -0
  48. package/package.json +1 -1
  49. package/paginator/Paginator.stories.tsx +63 -0
  50. package/password-input/PasswordInput.d.ts +4 -0
  51. package/password-input/PasswordInput.js +0 -37
  52. package/password-input/{PasswordInput.stories.jsx → PasswordInput.stories.tsx} +1 -1
  53. package/password-input/types.d.ts +100 -0
  54. package/password-input/types.js +5 -0
  55. package/progress-bar/ProgressBar.d.ts +4 -0
  56. package/progress-bar/ProgressBar.js +3 -21
  57. package/progress-bar/ProgressBar.stories.jsx +58 -0
  58. package/progress-bar/types.d.ts +37 -0
  59. package/progress-bar/types.js +5 -0
  60. package/radio/Radio.stories.tsx +192 -0
  61. package/select/index.d.ts +4 -4
  62. package/sidenav/Sidenav.d.ts +9 -0
  63. package/sidenav/Sidenav.js +4 -13
  64. package/sidenav/types.d.ts +50 -0
  65. package/sidenav/types.js +5 -0
  66. package/slider/Slider.d.ts +4 -0
  67. package/slider/Slider.js +57 -80
  68. package/slider/Slider.stories.tsx +172 -0
  69. package/slider/types.d.ts +78 -0
  70. package/slider/types.js +5 -0
  71. package/spinner/Spinner.d.ts +4 -0
  72. package/spinner/Spinner.js +6 -23
  73. package/spinner/Spinner.stories.jsx +102 -0
  74. package/spinner/types.d.ts +32 -0
  75. package/spinner/types.js +5 -0
  76. package/switch/Switch.js +2 -2
  77. package/switch/Switch.stories.tsx +160 -0
  78. package/table/Table.d.ts +4 -0
  79. package/table/Table.stories.jsx +276 -0
  80. package/table/types.d.ts +21 -0
  81. package/table/types.js +5 -0
  82. package/tabs/Tabs.d.ts +4 -0
  83. package/tabs/Tabs.js +5 -53
  84. package/tabs/types.d.ts +71 -0
  85. package/tabs/types.js +5 -0
  86. package/tag/Tag.d.ts +4 -0
  87. package/tag/Tag.js +20 -35
  88. package/tag/Tag.stories.tsx +145 -0
  89. package/tag/types.d.ts +60 -0
  90. package/tag/types.js +5 -0
  91. package/text-input/index.d.ts +2 -2
  92. package/textarea/Textarea.stories.jsx +135 -0
  93. package/toggle-group/ToggleGroup.stories.tsx +178 -0
  94. package/wizard/Wizard.d.ts +4 -0
  95. package/wizard/Wizard.js +11 -51
  96. package/wizard/types.d.ts +64 -0
  97. package/wizard/types.js +5 -0
  98. package/box/index.d.ts +0 -25
  99. package/card/index.d.ts +0 -22
  100. package/dialog/index.d.ts +0 -18
  101. package/dropdown/index.d.ts +0 -26
  102. package/footer/index.d.ts +0 -25
  103. package/header/index.d.ts +0 -25
  104. package/link/index.d.ts +0 -23
  105. package/number-input/index.d.ts +0 -113
  106. package/password-input/index.d.ts +0 -94
  107. package/progress-bar/index.d.ts +0 -18
  108. package/sidenav/index.d.ts +0 -13
  109. package/slider/index.d.ts +0 -29
  110. package/spinner/index.d.ts +0 -17
  111. package/table/index.d.ts +0 -13
  112. package/tabs/index.d.ts +0 -19
  113. package/tag/index.d.ts +0 -24
  114. package/wizard/index.d.ts +0 -18
@@ -0,0 +1,192 @@
1
+ import React from "react";
2
+ import DxcRadio from "./Radio";
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
+ import { userEvent, within } from "@storybook/testing-library";
8
+
9
+ export default {
10
+ title: "Radio",
11
+ component: DxcRadio,
12
+ };
13
+
14
+ const Radio = () => (
15
+ <>
16
+ <>
17
+ <ExampleContainer>
18
+ <Title title="Default" theme="light" level={4} />
19
+ <DxcRadio label="Radio" />
20
+ </ExampleContainer>
21
+ <ExampleContainer>
22
+ <Title title="Focused" theme="light" level={4} />
23
+ <DxcRadio label="Focused" />
24
+ </ExampleContainer>
25
+ <ExampleContainer>
26
+ <Title title="Checked" theme="light" level={4} />
27
+ <DxcRadio label="Radio" checked />
28
+ </ExampleContainer>
29
+ <ExampleContainer>
30
+ <Title title="Required" theme="light" level={4} />
31
+ <DxcRadio label="Radio" required />
32
+ </ExampleContainer>
33
+ <ExampleContainer>
34
+ <Title title="Disabled and checked" theme="light" level={4} />
35
+ <DxcRadio label="Radio" disabled checked />
36
+ </ExampleContainer>
37
+ <ExampleContainer>
38
+ <Title title="Disabled and required" theme="light" level={4} />
39
+ <DxcRadio label="Radio" disabled required />
40
+ </ExampleContainer>
41
+ <ExampleContainer>
42
+ <Title title="Disabled, required and checked" theme="light" level={4} />
43
+ <DxcRadio label="Radio" disabled required checked />
44
+ </ExampleContainer>
45
+ <ExampleContainer>
46
+ <Title title="Label after" theme="light" level={4} />
47
+ <DxcRadio label="Radio" labelPosition="after" />
48
+ </ExampleContainer>
49
+ <ExampleContainer>
50
+ <Title title="Checked with label after" theme="light" level={4} />
51
+ <DxcRadio label="Radio" checked labelPosition="after" />
52
+ </ExampleContainer>
53
+ <ExampleContainer>
54
+ <Title title="Required with label after" theme="light" level={4} />
55
+ <DxcRadio label="Radio" required labelPosition="after" />
56
+ </ExampleContainer>
57
+ <ExampleContainer>
58
+ <Title title="Disabled and checked with label after" theme="light" level={4} />
59
+ <DxcRadio label="Radio" disabled checked labelPosition="after" />
60
+ </ExampleContainer>
61
+ <ExampleContainer>
62
+ <Title title="Disabled and required with label after" theme="light" level={4} />
63
+ <DxcRadio label="Radio" disabled required labelPosition="after" />
64
+ </ExampleContainer>
65
+ <ExampleContainer>
66
+ <Title title="Disabled, required and checked with label after" theme="light" level={4} />
67
+ <DxcRadio label="Radio" disabled required checked labelPosition="after" />
68
+ </ExampleContainer>
69
+ <ExampleContainer pseudoState="pseudo-hover">
70
+ <Title title="Hovered" theme="light" level={4} />
71
+ <DxcRadio label="Hovered" />
72
+ </ExampleContainer>
73
+ <ExampleContainer pseudoState="pseudo-hover">
74
+ <Title title="Hovered and checked" theme="light" level={4} />
75
+ <DxcRadio label="Hovered" checked />
76
+ </ExampleContainer>
77
+ </>
78
+ <BackgroundColorProvider color="#333333">
79
+ <DarkContainer>
80
+ <>
81
+ <ExampleContainer>
82
+ <Title title="Default" theme="dark" level={4} />
83
+ <DxcRadio label="Radio" />
84
+ </ExampleContainer>
85
+ <ExampleContainer>
86
+ <Title title="Checked" theme="dark" level={4} />
87
+ <DxcRadio label="Radio" checked />
88
+ </ExampleContainer>
89
+ <ExampleContainer>
90
+ <Title title="Required" theme="dark" level={4} />
91
+ <DxcRadio label="Radio" required />
92
+ </ExampleContainer>
93
+ <ExampleContainer>
94
+ <Title title="Disabled and checked" theme="dark" level={4} />
95
+ <DxcRadio label="Radio" disabled checked />
96
+ </ExampleContainer>
97
+ <ExampleContainer>
98
+ <Title title="Disabled and required" theme="dark" level={4} />
99
+ <DxcRadio label="Radio" disabled required />
100
+ </ExampleContainer>
101
+ <ExampleContainer>
102
+ <Title title="Disabled, required and checked" theme="dark" level={4} />
103
+ <DxcRadio label="Radio" disabled required checked />
104
+ </ExampleContainer>
105
+ <ExampleContainer>
106
+ <Title title="Label after" theme="dark" level={4} />
107
+ <DxcRadio label="Radio" labelPosition="after" />
108
+ </ExampleContainer>
109
+ <ExampleContainer>
110
+ <Title title="Checked with label after" theme="dark" level={4} />
111
+ <DxcRadio label="Radio" checked labelPosition="after" />
112
+ </ExampleContainer>
113
+ <ExampleContainer>
114
+ <Title title="Required with label after" theme="dark" level={4} />
115
+ <DxcRadio label="Radio" required labelPosition="after" />
116
+ </ExampleContainer>
117
+ <ExampleContainer>
118
+ <Title title="Disabled and checked with label after" theme="dark" level={4} />
119
+ <DxcRadio label="Radio" disabled checked labelPosition="after" />
120
+ </ExampleContainer>
121
+ <ExampleContainer>
122
+ <Title title="Disabled and required with label after" theme="dark" level={4} />
123
+ <DxcRadio label="Radio" disabled required labelPosition="after" />
124
+ </ExampleContainer>
125
+ <ExampleContainer>
126
+ <Title title="Disabled, required and checked with label after" theme="dark" level={4} />
127
+ <DxcRadio label="Radio" disabled required checked labelPosition="after" />
128
+ </ExampleContainer>
129
+ <ExampleContainer pseudoState="pseudo-hover">
130
+ <Title title="Hovered" theme="dark" level={4} />
131
+ <DxcRadio label="Hovered" />
132
+ </ExampleContainer>
133
+ <ExampleContainer pseudoState="pseudo-hover">
134
+ <Title title="Hovered and checked" theme="dark" level={4} />
135
+ <DxcRadio label="Hovered" checked />
136
+ </ExampleContainer>
137
+ </>
138
+ </DarkContainer>
139
+ </BackgroundColorProvider>
140
+ <Title title="Sizes" theme="light" level={2} />
141
+ <ExampleContainer>
142
+ <DxcRadio label="Small" size="small" />
143
+ </ExampleContainer>
144
+ <ExampleContainer>
145
+ <DxcRadio label="Medium" size="medium" />
146
+ </ExampleContainer>
147
+ <ExampleContainer>
148
+ <DxcRadio label="Large" size="large" />
149
+ </ExampleContainer>
150
+ <ExampleContainer>
151
+ <DxcRadio label="FitContent" size="fitContent" />
152
+ </ExampleContainer>
153
+ <ExampleContainer>
154
+ <DxcRadio label="FillParent" size="fillParent" />
155
+ </ExampleContainer>
156
+ <Title title="Margins" theme="light" level={2} />
157
+ <ExampleContainer>
158
+ <Title title="Xxsmall" theme="light" level={4} />
159
+ <DxcRadio label="Xxsmall" margin={"xxsmall"} />
160
+ </ExampleContainer>
161
+ <ExampleContainer>
162
+ <Title title="Xsmall" theme="light" level={4} />
163
+ <DxcRadio label="Xsmall" margin={"xsmall"} />
164
+ </ExampleContainer>
165
+ <ExampleContainer>
166
+ <Title title="Small" theme="light" level={4} />
167
+ <DxcRadio label="Small" margin={"small"} />
168
+ </ExampleContainer>
169
+ <ExampleContainer>
170
+ <Title title="Medium" theme="light" level={4} />
171
+ <DxcRadio label="Medium" margin={"medium"} />
172
+ </ExampleContainer>
173
+ <ExampleContainer>
174
+ <Title title="Large" theme="light" level={4} />
175
+ <DxcRadio label="Large" margin={"large"} />
176
+ </ExampleContainer>
177
+ <ExampleContainer>
178
+ <Title title="Xlarge" theme="light" level={4} />
179
+ <DxcRadio label="Xlarge" margin={"xlarge"} />
180
+ </ExampleContainer>
181
+ <ExampleContainer>
182
+ <Title title="Xxlarge" theme="light" level={4} />
183
+ <DxcRadio label="Xxlarge" margin={"xxlarge"} />
184
+ </ExampleContainer>
185
+ </>
186
+ );
187
+
188
+ export const Chromatic = Radio.bind({});
189
+ Chromatic.play = async () => {
190
+ await userEvent.tab();
191
+ await userEvent.tab();
192
+ };
package/select/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- type SVG = string | (HTMLElement & SVGElement);
2
1
  type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
2
  type Margin = {
4
3
  top?: Space;
@@ -6,6 +5,7 @@ type Margin = {
6
5
  left?: Space;
7
6
  right?: Space;
8
7
  };
8
+ type SVG = React.SVGProps<SVGSVGElement> | React.FunctionComponent<React.SVGProps<SVGSVGElement>>;
9
9
 
10
10
  type OptionGroup = {
11
11
  /**
@@ -24,7 +24,7 @@ type Option = {
24
24
  * is the chosen one, take into account that the component's
25
25
  * color styling tokens will not be applied to the image.
26
26
  */
27
- icon?: SVG;
27
+ icon?: string | SVG;
28
28
  /**
29
29
  * Label of the option to be shown in the select's listbox.
30
30
  */
@@ -74,8 +74,8 @@ type Props = {
74
74
  disabled?: boolean;
75
75
  /**
76
76
  * If true, the select will be optional, showing '(Optional)'
77
- * next to the label and adding a default first option with empty value, been
78
- * the placeholder (if defined) its label. Otherwise, the field will be
77
+ * next to the label and adding a default first option with an empty string as value,
78
+ * been the placeholder (if defined) its label. Otherwise, the field will be
79
79
  * considered required and an error will be passed as a parameter to the
80
80
  * OnBlur and onChange functions if an option wasn't selected.
81
81
  */
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import SidenavPropsType, { SidenavTitlePropsType, SidenavSubtitlePropsType, SidenavLinkPropsType } from "./types.js";
3
+ declare const DxcSidenav: {
4
+ ({ padding, children }: SidenavPropsType): JSX.Element;
5
+ Title: ({ children }: SidenavTitlePropsType) => JSX.Element;
6
+ Subtitle: ({ children }: SidenavSubtitlePropsType) => JSX.Element;
7
+ Link: ({ tabIndex, href, onClick, children }: SidenavLinkPropsType) => JSX.Element;
8
+ };
9
+ export default DxcSidenav;
@@ -9,16 +9,12 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports["default"] = void 0;
11
11
 
12
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
12
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
13
 
16
14
  var _react = _interopRequireDefault(require("react"));
17
15
 
18
16
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
19
17
 
20
- var _propTypes = _interopRequireDefault(require("prop-types"));
21
-
22
18
  var _variables = require("../common/variables.js");
23
19
 
24
20
  var _useTheme = _interopRequireDefault(require("../useTheme.js"));
@@ -55,10 +51,13 @@ var Subtitle = function Subtitle(_ref3) {
55
51
  };
56
52
 
57
53
  var Link = function Link(_ref4) {
58
- var href = _ref4.href,
54
+ var _ref4$tabIndex = _ref4.tabIndex,
55
+ tabIndex = _ref4$tabIndex === void 0 ? 0 : _ref4$tabIndex,
56
+ href = _ref4.href,
59
57
  onClick = _ref4.onClick,
60
58
  children = _ref4.children;
61
59
  return /*#__PURE__*/_react["default"].createElement(SideNavMenuLink, {
60
+ tabIndex: tabIndex,
62
61
  href: href,
63
62
  onClick: onClick
64
63
  }, children);
@@ -130,14 +129,6 @@ var SideNavMenuLink = _styledComponents["default"].a(_templateObject4 || (_templ
130
129
  return props.theme.linkFocusColor;
131
130
  });
132
131
 
133
- DxcSidenav.propTypes = {
134
- padding: _propTypes["default"].oneOfType([_propTypes["default"].shape({
135
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
136
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
137
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
138
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
139
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
140
- };
141
132
  DxcSidenav.Title = Title;
142
133
  DxcSidenav.Subtitle = Subtitle;
143
134
  DxcSidenav.Link = Link;
@@ -0,0 +1,50 @@
1
+ /// <reference types="react" />
2
+ declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ declare type Padding = {
4
+ top?: Space;
5
+ bottom?: Space;
6
+ left?: Space;
7
+ right?: Space;
8
+ };
9
+ export declare type SidenavLinkPropsType = {
10
+ /**
11
+ * Value of the tabindex.
12
+ */
13
+ tabIndex?: number;
14
+ /**
15
+ * Page to be opened when the user clicks on the link.
16
+ */
17
+ href?: string;
18
+ /**
19
+ * This function will be called when the user clicks the link.
20
+ */
21
+ onClick?: () => void;
22
+ /**
23
+ * The area inside the sidenav link. This area can be used to render custom content.
24
+ */
25
+ children: React.ReactNode;
26
+ };
27
+ export declare type SidenavTitlePropsType = {
28
+ /**
29
+ * The area inside the sidenav title. This area can be used to render custom content.
30
+ */
31
+ children: React.ReactNode;
32
+ };
33
+ export declare type SidenavSubtitlePropsType = {
34
+ /**
35
+ * The area inside the sidenav subtitle. This area can be used to render custom content.
36
+ */
37
+ children: React.ReactNode;
38
+ };
39
+ declare type SidenavPropsType = {
40
+ /**
41
+ * Size of the padding to be applied to the custom area ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
42
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different padding sizes.
43
+ */
44
+ padding?: Space | Padding;
45
+ /**
46
+ * The area inside the sidenav. This area can be used to render custom content.
47
+ */
48
+ children: React.ReactNode;
49
+ };
50
+ export default SidenavPropsType;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import SliderPropsType from "./types";
3
+ declare const DxcSlider: ({ label, name, value, helperText, minValue, maxValue, step, showLimitsValues, showInput, disabled, marks, onChange, onDragEnd, labelFormatCallback, margin, size, }: SliderPropsType) => JSX.Element;
4
+ export default DxcSlider;
package/slider/Slider.js CHANGED
@@ -9,8 +9,6 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports["default"] = void 0;
11
11
 
12
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
12
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
13
 
16
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
@@ -23,8 +21,6 @@ var _Slider = _interopRequireDefault(require("@material-ui/lab/Slider"));
23
21
 
24
22
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
25
23
 
26
- var _propTypes = _interopRequireDefault(require("prop-types"));
27
-
28
24
  var _TextInput = _interopRequireDefault(require("../text-input/TextInput"));
29
25
 
30
26
  var _variables = require("../common/variables.js");
@@ -35,6 +31,8 @@ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
35
31
 
36
32
  var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext.js"));
37
33
 
34
+ var _uuid = require("uuid");
35
+
38
36
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
39
37
 
40
38
  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); }
@@ -42,26 +40,29 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
42
40
  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; }
43
41
 
44
42
  var DxcSlider = function DxcSlider(_ref) {
45
- var label = _ref.label,
46
- helperText = _ref.helperText,
43
+ var _ref$label = _ref.label,
44
+ label = _ref$label === void 0 ? "" : _ref$label,
45
+ _ref$name = _ref.name,
46
+ name = _ref$name === void 0 ? "" : _ref$name,
47
+ value = _ref.value,
48
+ _ref$helperText = _ref.helperText,
49
+ helperText = _ref$helperText === void 0 ? "" : _ref$helperText,
47
50
  _ref$minValue = _ref.minValue,
48
51
  minValue = _ref$minValue === void 0 ? 0 : _ref$minValue,
49
52
  _ref$maxValue = _ref.maxValue,
50
53
  maxValue = _ref$maxValue === void 0 ? 100 : _ref$maxValue,
51
54
  _ref$step = _ref.step,
52
55
  step = _ref$step === void 0 ? 1 : _ref$step,
53
- value = _ref.value,
54
56
  _ref$showLimitsValues = _ref.showLimitsValues,
55
57
  showLimitsValues = _ref$showLimitsValues === void 0 ? false : _ref$showLimitsValues,
56
58
  _ref$showInput = _ref.showInput,
57
59
  showInput = _ref$showInput === void 0 ? false : _ref$showInput,
58
- name = _ref.name,
59
- onChange = _ref.onChange,
60
- onDragEnd = _ref.onDragEnd,
61
60
  _ref$disabled = _ref.disabled,
62
61
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
63
62
  _ref$marks = _ref.marks,
64
63
  marks = _ref$marks === void 0 ? false : _ref$marks,
64
+ onChange = _ref.onChange,
65
+ onDragEnd = _ref.onDragEnd,
65
66
  labelFormatCallback = _ref.labelFormatCallback,
66
67
  margin = _ref.margin,
67
68
  _ref$size = _ref.size,
@@ -74,6 +75,11 @@ var DxcSlider = function DxcSlider(_ref) {
74
75
 
75
76
  var colorsTheme = (0, _useTheme["default"])();
76
77
  var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
78
+
79
+ var _useState3 = (0, _react.useState)("label-".concat((0, _uuid.v4)())),
80
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
81
+ labelId = _useState4[0];
82
+
77
83
  var minLabel = (0, _react.useMemo)(function () {
78
84
  return labelFormatCallback ? labelFormatCallback(minValue) : minValue;
79
85
  }, [labelFormatCallback, minValue]);
@@ -82,36 +88,24 @@ var DxcSlider = function DxcSlider(_ref) {
82
88
  }, [labelFormatCallback, maxValue]);
83
89
 
84
90
  var handlerSliderChange = function handlerSliderChange(event, newValue) {
85
- if (value == null) {
86
- var valueToCheck = value !== undefined ? value : innerValue;
87
-
88
- if (valueToCheck !== newValue) {
89
- setInnerValue(newValue);
90
- }
91
- }
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);
94
+ };
92
95
 
93
- if (typeof onChange === "function") {
94
- onChange(newValue);
95
- }
96
+ var handleSliderOnChangeCommited = function handleSliderOnChangeCommited(event, selectedValue) {
97
+ onDragEnd === null || onDragEnd === void 0 ? void 0 : onDragEnd(selectedValue);
96
98
  };
97
99
 
98
100
  var handlerInputChange = function handlerInputChange(event) {
99
101
  var intValue = parseInt(event.value, 10);
100
102
 
101
103
  if (value == null) {
102
- if (!Number.isNaN(intValue)) {
103
- setInnerValue(intValue > maxValue ? maxValue : intValue);
104
- } else {
105
- setInnerValue("");
106
- }
104
+ if (!Number.isNaN(intValue)) setInnerValue(intValue > maxValue ? maxValue : intValue);
107
105
  }
108
106
 
109
- if (typeof onChange === "function") {
110
- if (!Number.isNaN(intValue)) {
111
- onChange(intValue > maxValue ? maxValue : intValue);
112
- } else {
113
- onChange("");
114
- }
107
+ if (!Number.isNaN(intValue)) {
108
+ onChange === null || onChange === void 0 ? void 0 : onChange(intValue > maxValue ? maxValue : intValue);
115
109
  }
116
110
  };
117
111
 
@@ -120,7 +114,14 @@ var DxcSlider = function DxcSlider(_ref) {
120
114
  }, /*#__PURE__*/_react["default"].createElement(Container, {
121
115
  margin: margin,
122
116
  size: size
123
- }, /*#__PURE__*/_react["default"].createElement(Label, null, label), /*#__PURE__*/_react["default"].createElement(HelperText, null, helperText), /*#__PURE__*/_react["default"].createElement(SliderContainer, {
117
+ }, /*#__PURE__*/_react["default"].createElement(Label, {
118
+ id: labelId,
119
+ disabled: disabled,
120
+ backgroundType: backgroundType
121
+ }, label), /*#__PURE__*/_react["default"].createElement(HelperText, {
122
+ disabled: disabled,
123
+ backgroundType: backgroundType
124
+ }, helperText), /*#__PURE__*/_react["default"].createElement(SliderContainer, {
124
125
  backgroundType: backgroundType
125
126
  }, showLimitsValues && /*#__PURE__*/_react["default"].createElement(MinLabelContainer, {
126
127
  backgroundType: backgroundType,
@@ -130,12 +131,11 @@ var DxcSlider = function DxcSlider(_ref) {
130
131
  min: minValue,
131
132
  max: maxValue,
132
133
  onChange: handlerSliderChange,
133
- onChangeCommitted: onDragEnd && function (event, selectedValue) {
134
- return onDragEnd(selectedValue);
135
- },
134
+ onChangeCommitted: handleSliderOnChangeCommited,
136
135
  step: step,
137
136
  marks: marks || [],
138
- disabled: disabled
137
+ disabled: disabled,
138
+ "aria-labelledby": labelId
139
139
  }), showLimitsValues && /*#__PURE__*/_react["default"].createElement(MaxLabelContainer, {
140
140
  backgroundType: backgroundType,
141
141
  disabled: disabled,
@@ -173,10 +173,10 @@ var Container = _styledComponents["default"].div(_templateObject || (_templateOb
173
173
  return calculateWidth(props.margin, props.size);
174
174
  });
175
175
 
176
- 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) {
177
- return props.theme.labelFontColor;
176
+ var Label = _styledComponents["default"].label(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
177
+ return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledLabelFontColorOnDark : props.theme.disabledLabelFontColor : props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.theme.labelFontColor;
178
178
  }, function (props) {
179
- return props.theme.labelFontFamily;
179
+ return props.theme.fontFamily;
180
180
  }, function (props) {
181
181
  return props.theme.labelFontSize;
182
182
  }, function (props) {
@@ -187,14 +187,14 @@ var Label = _styledComponents["default"].label(_templateObject2 || (_templateObj
187
187
  return props.theme.labelLineHeight;
188
188
  });
189
189
 
190
- var HelperText = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
191
- return props.theme.helperTextFontColor;
190
+ var HelperText = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
191
+ return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledHelperTextFontColorOnDark : props.theme.disabledHelperTextFontColor : props.backgroundType === "dark" ? props.theme.helperTextFontColorOnDark : props.theme.helperTextFontColor;
192
192
  }, function (props) {
193
- return props.theme.helperTextFontFamily;
193
+ return props.theme.fontFamily;
194
194
  }, function (props) {
195
195
  return props.theme.helperTextFontSize;
196
196
  }, function (props) {
197
- return props.theme.helperTextFontstyle;
197
+ return props.theme.helperTextFontStyle;
198
198
  }, function (props) {
199
199
  return props.theme.helperTextFontWeight;
200
200
  }, function (props) {
@@ -277,34 +277,34 @@ var SliderContainer = _styledComponents["default"].div(_templateObject4 || (_tem
277
277
  return props.theme.tickVerticalPosition;
278
278
  });
279
279
 
280
- 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) {
281
- return props.theme.fontFamily;
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 margin-right: ", ";\n"])), function (props) {
281
+ return props.disabled ? props.theme.disabledLimitValuesFontColor : props.backgroundType === "dark" ? props.theme.limitValuesFontColorOnDark : props.theme.limitValuesFontColor;
282
282
  }, function (props) {
283
- return props.theme.fontSize;
283
+ return props.theme.fontFamily;
284
284
  }, function (props) {
285
- return props.theme.fontStyle;
285
+ return props.theme.limitValuesFontSize;
286
286
  }, function (props) {
287
- return props.theme.fontWeight;
287
+ return props.theme.limitValuesFontStyle;
288
288
  }, function (props) {
289
- return props.disabled ? props.theme.disabledFontColor : props.backgroundType === "dark" ? props.theme.fontColorOnDark : props.theme.fontColor;
289
+ return props.theme.limitValuesFontWeight;
290
290
  }, function (props) {
291
- return props.theme.fontLetterSpacing;
291
+ return props.theme.limitValuesFontLetterSpacing;
292
292
  }, function (props) {
293
293
  return props.theme.floorLabelMarginRight;
294
294
  });
295
295
 
296
- 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) {
297
- return props.theme.fontFamily;
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 margin-left: ", ";\n"])), function (props) {
297
+ return props.disabled ? props.theme.disabledLimitValuesFontColor : props.backgroundType === "dark" ? props.theme.limitValuesFontColorOnDark : props.theme.limitValuesFontColor;
298
298
  }, function (props) {
299
- return props.theme.fontSize;
299
+ return props.theme.fontFamily;
300
300
  }, function (props) {
301
- return props.theme.fontStyle;
301
+ return props.theme.limitValuesFontSize;
302
302
  }, function (props) {
303
- return props.theme.fontWeight;
303
+ return props.theme.limitValuesFontStyle;
304
304
  }, function (props) {
305
- return props.disabled ? props.theme.disabledFontColor : props.backgroundType === "dark" ? props.theme.fontColorOnDark : props.theme.fontColor;
305
+ return props.theme.limitValuesFontWeight;
306
306
  }, function (props) {
307
- return props.theme.fontLetterSpacing;
307
+ return props.theme.limitValuesFontLetterSpacing;
308
308
  }, function (props) {
309
309
  return props.step === 1 ? props.theme.ceilLabelMarginLeft : "1.25rem";
310
310
  });
@@ -313,28 +313,5 @@ var StyledTextInput = _styledComponents["default"].div(_templateObject7 || (_tem
313
313
  return props.theme.inputMarginLeft;
314
314
  });
315
315
 
316
- DxcSlider.propTypes = {
317
- label: _propTypes["default"].string,
318
- helperText: _propTypes["default"].string,
319
- size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
320
- minValue: _propTypes["default"].number,
321
- maxValue: _propTypes["default"].number,
322
- step: _propTypes["default"].number,
323
- value: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string]),
324
- showLimitsValues: _propTypes["default"].bool,
325
- showInput: _propTypes["default"].bool,
326
- name: _propTypes["default"].string,
327
- onChange: _propTypes["default"].func,
328
- onDragEnd: _propTypes["default"].func,
329
- disabled: _propTypes["default"].bool,
330
- marks: _propTypes["default"].bool,
331
- labelFormatCallback: _propTypes["default"].func,
332
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
333
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
334
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
335
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
336
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
337
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
338
- };
339
316
  var _default = DxcSlider;
340
317
  exports["default"] = _default;