@dxc-technology/halstack-react 0.0.0-49006fa → 0.0.0-49081f0
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.
- package/HalstackContext.d.ts +12 -0
- package/HalstackContext.js +295 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +121 -123
- package/accordion/Accordion.stories.tsx +13 -14
- package/accordion/Accordion.test.js +25 -11
- package/accordion/types.d.ts +9 -4
- package/accordion-group/AccordionGroup.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +15 -36
- package/accordion-group/AccordionGroup.stories.tsx +28 -2
- package/accordion-group/AccordionGroup.test.js +30 -37
- package/accordion-group/types.d.ts +14 -3
- package/alert/Alert.js +5 -2
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +5 -3
- package/badge/types.d.ts +1 -0
- package/bleed/Bleed.js +1 -34
- package/bleed/Bleed.stories.tsx +94 -95
- package/bleed/types.d.ts +1 -1
- package/box/Box.js +23 -33
- package/box/types.d.ts +1 -0
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +123 -0
- package/bulleted-list/BulletedList.stories.tsx +200 -0
- package/bulleted-list/types.d.ts +11 -0
- package/{list → bulleted-list}/types.js +0 -0
- package/button/Button.js +53 -68
- package/button/Button.stories.tsx +9 -0
- package/button/types.d.ts +7 -7
- package/card/Card.js +24 -27
- package/card/types.d.ts +1 -0
- package/checkbox/Checkbox.d.ts +1 -1
- package/checkbox/Checkbox.js +99 -97
- package/checkbox/Checkbox.stories.tsx +124 -128
- package/checkbox/Checkbox.test.js +93 -16
- package/checkbox/types.d.ts +5 -5
- package/chip/types.d.ts +1 -1
- package/common/variables.js +236 -100
- package/date-input/DateInput.js +41 -23
- package/date-input/DateInput.test.js +9 -22
- package/date-input/types.d.ts +12 -9
- package/dialog/Dialog.js +46 -50
- package/dialog/Dialog.stories.tsx +57 -2
- package/dialog/Dialog.test.js +34 -4
- package/dialog/types.d.ts +3 -2
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +244 -251
- package/dropdown/Dropdown.stories.tsx +126 -63
- package/dropdown/Dropdown.test.js +509 -108
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +80 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +92 -0
- package/dropdown/types.d.ts +25 -5
- package/file-input/FileInput.js +174 -193
- package/file-input/FileInput.stories.tsx +38 -6
- package/file-input/FileInput.test.js +41 -0
- package/file-input/FileItem.d.ts +4 -4
- package/file-input/FileItem.js +29 -39
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +69 -0
- package/flex/Flex.stories.tsx +103 -0
- package/flex/types.d.ts +32 -0
- package/{radio → flex}/types.js +0 -0
- package/footer/Footer.js +15 -88
- package/footer/Footer.stories.tsx +8 -1
- package/footer/Icons.js +1 -1
- package/footer/types.d.ts +2 -1
- package/header/Header.js +95 -114
- package/header/Header.stories.tsx +46 -36
- package/header/Header.test.js +18 -2
- package/header/Icons.js +2 -2
- package/header/types.d.ts +3 -2
- package/inset/Inset.js +1 -34
- package/inset/Inset.stories.tsx +36 -36
- package/inset/types.d.ts +25 -1
- package/layout/ApplicationLayout.d.ts +16 -6
- package/layout/ApplicationLayout.js +71 -131
- package/layout/ApplicationLayout.stories.tsx +84 -93
- package/layout/Icons.d.ts +5 -0
- package/layout/Icons.js +13 -2
- package/layout/SidenavContext.d.ts +5 -0
- package/layout/SidenavContext.js +19 -0
- package/layout/types.d.ts +18 -33
- package/link/Link.d.ts +3 -2
- package/link/Link.js +57 -74
- package/link/Link.stories.tsx +95 -53
- package/link/Link.test.js +7 -15
- package/link/types.d.ts +7 -23
- package/main.d.ts +8 -10
- package/main.js +46 -56
- package/number-input/NumberInput.test.js +40 -5
- package/number-input/types.d.ts +13 -10
- package/package.json +14 -12
- package/paginator/Paginator.js +17 -38
- package/paginator/Paginator.test.js +43 -1
- package/paragraph/Paragraph.d.ts +6 -0
- package/paragraph/Paragraph.js +38 -0
- package/paragraph/Paragraph.stories.tsx +44 -0
- package/password-input/PasswordInput.js +7 -4
- package/password-input/PasswordInput.test.js +16 -18
- package/password-input/types.d.ts +14 -11
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +57 -51
- package/progress-bar/ProgressBar.stories.jsx +13 -11
- package/progress-bar/ProgressBar.test.js +67 -22
- package/progress-bar/types.d.ts +3 -4
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +117 -0
- package/quick-nav/QuickNav.stories.tsx +342 -0
- package/quick-nav/types.d.ts +21 -0
- package/{row → quick-nav}/types.js +0 -0
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +43 -28
- package/radio-group/RadioGroup.js +30 -27
- package/radio-group/RadioGroup.stories.tsx +1 -0
- package/radio-group/RadioGroup.test.js +123 -96
- package/radio-group/types.d.ts +2 -2
- package/resultsetTable/ResultsetTable.js +1 -3
- package/resultsetTable/ResultsetTable.test.js +42 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +198 -0
- package/select/Option.js +1 -1
- package/select/Select.js +104 -199
- package/select/Select.stories.tsx +145 -100
- package/select/Select.test.js +503 -286
- package/select/types.d.ts +31 -12
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +184 -52
- package/sidenav/Sidenav.stories.tsx +154 -156
- package/sidenav/Sidenav.test.js +25 -37
- package/sidenav/types.d.ts +50 -27
- package/slider/Slider.d.ts +1 -1
- package/slider/Slider.js +118 -93
- package/slider/Slider.stories.tsx +15 -9
- package/slider/Slider.test.js +142 -21
- package/slider/types.d.ts +6 -2
- package/spinner/Spinner.js +1 -1
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +133 -64
- package/switch/Switch.stories.tsx +16 -38
- package/switch/Switch.test.js +144 -17
- package/switch/types.d.ts +5 -6
- package/table/Table.js +1 -1
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +135 -0
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +362 -108
- package/tabs/Tabs.stories.tsx +74 -8
- package/tabs/Tabs.test.js +241 -13
- package/tabs/types.d.ts +19 -5
- package/tabs-nav/NavTabs.d.ts +8 -0
- package/tabs-nav/NavTabs.js +125 -0
- package/tabs-nav/NavTabs.stories.tsx +170 -0
- package/tabs-nav/NavTabs.test.js +82 -0
- package/tabs-nav/Tab.d.ts +4 -0
- package/tabs-nav/Tab.js +130 -0
- package/tabs-nav/types.d.ts +53 -0
- package/{stack → tabs-nav}/types.js +0 -0
- package/tag/Tag.js +6 -9
- package/tag/types.d.ts +1 -1
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +60 -0
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +57 -0
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +134 -0
- package/text-input/TextInput.js +213 -334
- package/text-input/TextInput.stories.tsx +189 -182
- package/text-input/TextInput.test.js +244 -198
- package/text-input/types.d.ts +46 -12
- package/textarea/Textarea.js +10 -19
- package/textarea/types.d.ts +10 -7
- package/toggle-group/ToggleGroup.d.ts +1 -1
- package/toggle-group/ToggleGroup.js +5 -4
- package/toggle-group/ToggleGroup.stories.tsx +4 -4
- package/toggle-group/ToggleGroup.test.js +35 -4
- package/toggle-group/types.d.ts +9 -1
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +131 -0
- package/typography/Typography.stories.tsx +198 -0
- package/typography/types.d.ts +18 -0
- package/typography/types.js +5 -0
- package/useTheme.js +2 -2
- package/useTranslatedLabels.d.ts +2 -0
- package/useTranslatedLabels.js +20 -0
- package/wizard/Wizard.js +43 -44
- package/wizard/Wizard.stories.tsx +20 -1
- package/wizard/types.d.ts +5 -4
- package/ThemeContext.d.ts +0 -10
- package/ThemeContext.js +0 -243
- package/list/List.d.ts +0 -4
- package/list/List.js +0 -47
- package/list/List.stories.tsx +0 -95
- package/list/types.d.ts +0 -7
- package/radio/Radio.d.ts +0 -4
- package/radio/Radio.js +0 -174
- package/radio/Radio.stories.tsx +0 -192
- package/radio/Radio.test.js +0 -71
- package/radio/types.d.ts +0 -54
- package/row/Row.d.ts +0 -3
- package/row/Row.js +0 -127
- package/row/Row.stories.tsx +0 -237
- package/row/types.d.ts +0 -28
- package/stack/Stack.d.ts +0 -3
- package/stack/Stack.js +0 -97
- package/stack/Stack.stories.tsx +0 -164
- package/stack/types.d.ts +0 -24
- package/text/Text.d.ts +0 -7
- package/text/Text.js +0 -30
- package/text/Text.stories.tsx +0 -19
package/slider/Slider.test.js
CHANGED
|
@@ -6,24 +6,73 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
6
6
|
|
|
7
7
|
var _react2 = require("@testing-library/react");
|
|
8
8
|
|
|
9
|
+
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
10
|
+
|
|
9
11
|
var _Slider = _interopRequireDefault(require("./Slider"));
|
|
10
12
|
|
|
11
13
|
describe("Slider component tests", function () {
|
|
12
|
-
test("Slider renders with correct text", function () {
|
|
14
|
+
test("Slider renders with correct text and label id", function () {
|
|
13
15
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
16
|
+
label: "label",
|
|
14
17
|
minValue: 0,
|
|
15
18
|
maxValue: 100,
|
|
16
19
|
showLimitsValues: true
|
|
17
20
|
})),
|
|
18
|
-
getByText = _render.getByText
|
|
21
|
+
getByText = _render.getByText,
|
|
22
|
+
getByRole = _render.getByRole;
|
|
19
23
|
|
|
20
24
|
expect(getByText("0")).toBeTruthy();
|
|
21
25
|
expect(getByText("100")).toBeTruthy();
|
|
26
|
+
var sliderId = getByText("label").getAttribute("id");
|
|
27
|
+
expect(getByRole("slider").getAttribute("aria-labelledby")).toBe(sliderId);
|
|
28
|
+
expect(getByRole("slider").getAttribute("aria-orientation")).toBe("horizontal");
|
|
29
|
+
});
|
|
30
|
+
test("Slider renders with correct initial value when it is uncontrolled", function () {
|
|
31
|
+
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
|
+
|
|
40
|
+
var slider = getByRole("slider");
|
|
41
|
+
var input = getByRole("textbox");
|
|
42
|
+
expect(slider.getAttribute("aria-valuenow")).toBe("30");
|
|
43
|
+
expect(input.value).toBe("30");
|
|
44
|
+
});
|
|
45
|
+
test("Slider correct limit values", function () {
|
|
46
|
+
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
|
+
|
|
55
|
+
var slider = getByRole("slider");
|
|
56
|
+
expect(slider.getAttribute("aria-valuemin")).toBe("30");
|
|
57
|
+
expect(slider.getAttribute("aria-valuemax")).toBe("125");
|
|
58
|
+
|
|
59
|
+
_userEvent["default"].tab();
|
|
60
|
+
|
|
61
|
+
_react2.fireEvent.keyDown(slider, {
|
|
62
|
+
key: "ArrowRight",
|
|
63
|
+
code: "ArrowRight",
|
|
64
|
+
keyCode: 39,
|
|
65
|
+
charCode: 39
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
expect(slider.getAttribute("aria-valuenow")).toBe("125");
|
|
69
|
+
expect(getByText("30")).toBeTruthy();
|
|
70
|
+
expect(getByText("125")).toBeTruthy();
|
|
22
71
|
});
|
|
23
72
|
test("Calls correct function onChange in controlled slider", function () {
|
|
24
73
|
var onChange = jest.fn();
|
|
25
74
|
|
|
26
|
-
var
|
|
75
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
27
76
|
minValue: 0,
|
|
28
77
|
maxValue: 100,
|
|
29
78
|
onChange: onChange,
|
|
@@ -31,8 +80,10 @@ describe("Slider component tests", function () {
|
|
|
31
80
|
value: 13,
|
|
32
81
|
showInput: true
|
|
33
82
|
})),
|
|
34
|
-
getByRole =
|
|
83
|
+
getByRole = _render4.getByRole;
|
|
35
84
|
|
|
85
|
+
expect(getByRole("slider").getAttribute("aria-valuenow")).toBe("13");
|
|
86
|
+
expect(getByRole("textbox").value).toBe("13");
|
|
36
87
|
(0, _react2.act)(function () {
|
|
37
88
|
_react2.fireEvent.change(getByRole("textbox"), {
|
|
38
89
|
target: {
|
|
@@ -41,18 +92,20 @@ describe("Slider component tests", function () {
|
|
|
41
92
|
});
|
|
42
93
|
});
|
|
43
94
|
expect(onChange).toHaveBeenCalledWith(25);
|
|
95
|
+
expect(getByRole("slider").getAttribute("aria-valuenow")).toBe("13");
|
|
96
|
+
expect(getByRole("textbox").value).toBe("13");
|
|
44
97
|
});
|
|
45
98
|
test("Calls correct function onChange in uncontrolled slider", function () {
|
|
46
99
|
var onChange = jest.fn();
|
|
47
100
|
|
|
48
|
-
var
|
|
101
|
+
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
49
102
|
minValue: 0,
|
|
50
103
|
maxValue: 100,
|
|
51
104
|
onChange: onChange,
|
|
52
105
|
showLimitsValues: true,
|
|
53
106
|
showInput: true
|
|
54
107
|
})),
|
|
55
|
-
getByRole =
|
|
108
|
+
getByRole = _render5.getByRole;
|
|
56
109
|
|
|
57
110
|
(0, _react2.act)(function () {
|
|
58
111
|
_react2.fireEvent.change(getByRole("textbox"), {
|
|
@@ -62,11 +115,13 @@ describe("Slider component tests", function () {
|
|
|
62
115
|
});
|
|
63
116
|
});
|
|
64
117
|
expect(onChange).toHaveBeenCalledWith(25);
|
|
118
|
+
expect(getByRole("slider").getAttribute("aria-valuenow")).toBe("25");
|
|
119
|
+
expect(getByRole("textbox").value).toBe("25");
|
|
65
120
|
});
|
|
66
|
-
test("Disabled slider have disabled input", function () {
|
|
121
|
+
test("Disabled slider have disabled input and slider", function () {
|
|
67
122
|
var onChange = jest.fn();
|
|
68
123
|
|
|
69
|
-
var
|
|
124
|
+
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
70
125
|
minValue: 0,
|
|
71
126
|
maxValue: 100,
|
|
72
127
|
onChange: onChange,
|
|
@@ -75,7 +130,7 @@ describe("Slider component tests", function () {
|
|
|
75
130
|
showInput: true,
|
|
76
131
|
value: 13
|
|
77
132
|
})),
|
|
78
|
-
getByRole =
|
|
133
|
+
getByRole = _render6.getByRole;
|
|
79
134
|
|
|
80
135
|
(0, _react2.act)(function () {
|
|
81
136
|
_react2.fireEvent.change(getByRole("textbox"), {
|
|
@@ -86,33 +141,64 @@ describe("Slider component tests", function () {
|
|
|
86
141
|
});
|
|
87
142
|
expect(getByRole("textbox").hasAttribute("disabled")).toBeTruthy();
|
|
88
143
|
expect(getByRole("textbox").value).toBe("13");
|
|
144
|
+
expect(getByRole("slider").hasAttribute("disabled")).toBeTruthy();
|
|
89
145
|
});
|
|
90
|
-
test("Calls correct function onDragEnd", function () {
|
|
146
|
+
test("Calls correct function onDragEnd when it is uncontrolled", function () {
|
|
91
147
|
var onDragEnd = jest.fn();
|
|
92
148
|
|
|
93
|
-
var
|
|
149
|
+
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
94
150
|
minValue: 0,
|
|
95
|
-
maxValue:
|
|
96
|
-
showLimitsValues: true,
|
|
97
|
-
showInput: true,
|
|
151
|
+
maxValue: 150,
|
|
98
152
|
onDragEnd: onDragEnd,
|
|
99
|
-
|
|
153
|
+
showInput: true
|
|
100
154
|
})),
|
|
101
|
-
getByRole =
|
|
155
|
+
getByRole = _render7.getByRole;
|
|
102
156
|
|
|
157
|
+
var slider = getByRole("slider");
|
|
158
|
+
(0, _react2.act)(function () {
|
|
159
|
+
_react2.fireEvent.mouseDown(slider);
|
|
160
|
+
});
|
|
103
161
|
(0, _react2.act)(function () {
|
|
104
|
-
_react2.fireEvent.
|
|
162
|
+
_react2.fireEvent.mouseUp(slider, {
|
|
163
|
+
target: {
|
|
164
|
+
value: 120
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
});
|
|
168
|
+
expect(onDragEnd).toHaveBeenCalledWith("120");
|
|
169
|
+
});
|
|
170
|
+
test("Calls correct function onDragEnd when it is controlled", function () {
|
|
171
|
+
var onDragEnd = jest.fn();
|
|
105
172
|
|
|
106
|
-
|
|
173
|
+
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
|
+
|
|
182
|
+
var slider = getByRole("slider");
|
|
183
|
+
(0, _react2.act)(function () {
|
|
184
|
+
_react2.fireEvent.mouseDown(slider);
|
|
107
185
|
});
|
|
108
|
-
|
|
186
|
+
(0, _react2.act)(function () {
|
|
187
|
+
_react2.fireEvent.mouseUp(slider, {
|
|
188
|
+
target: {
|
|
189
|
+
value: 120
|
|
190
|
+
}
|
|
191
|
+
});
|
|
192
|
+
});
|
|
193
|
+
expect(onDragEnd).toHaveBeenCalledWith("120");
|
|
194
|
+
expect(slider.getAttribute("aria-valuenow")).toBe("50");
|
|
109
195
|
});
|
|
110
196
|
test("Calls correct function labelFormatCallback", function () {
|
|
111
197
|
var labelFormatCallback = jest.fn(function (x) {
|
|
112
198
|
return "".concat(x, "$");
|
|
113
199
|
});
|
|
114
200
|
|
|
115
|
-
var
|
|
201
|
+
var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
116
202
|
minValue: 0,
|
|
117
203
|
maxValue: 100,
|
|
118
204
|
showLimitsValues: true,
|
|
@@ -120,10 +206,45 @@ describe("Slider component tests", function () {
|
|
|
120
206
|
value: 25,
|
|
121
207
|
labelFormatCallback: labelFormatCallback
|
|
122
208
|
})),
|
|
123
|
-
getByText =
|
|
209
|
+
getByText = _render9.getByText;
|
|
124
210
|
|
|
125
211
|
expect(getByText("0$")).toBeTruthy();
|
|
126
212
|
expect(getByText("100$")).toBeTruthy();
|
|
127
213
|
expect(labelFormatCallback).toHaveBeenCalledTimes(2);
|
|
128
214
|
});
|
|
215
|
+
test("Change value correctly to 0 from external function", function () {
|
|
216
|
+
var onChange = jest.fn();
|
|
217
|
+
|
|
218
|
+
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
|
+
|
|
229
|
+
var slider = getByRole("slider");
|
|
230
|
+
|
|
231
|
+
_userEvent["default"].tab();
|
|
232
|
+
|
|
233
|
+
_react2.fireEvent.keyDown(slider, {
|
|
234
|
+
key: "ArrowRight",
|
|
235
|
+
code: "ArrowRight",
|
|
236
|
+
keyCode: 39,
|
|
237
|
+
charCode: 39
|
|
238
|
+
});
|
|
239
|
+
|
|
240
|
+
rerender( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
241
|
+
minValue: 0,
|
|
242
|
+
maxValue: 100,
|
|
243
|
+
onChange: onChange,
|
|
244
|
+
showLimitsValues: true,
|
|
245
|
+
value: 0,
|
|
246
|
+
showInput: true
|
|
247
|
+
}));
|
|
248
|
+
expect(slider.getAttribute("aria-valuenow")).toBe("0");
|
|
249
|
+
});
|
|
129
250
|
});
|
package/slider/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
2
|
-
declare type Margin = {
|
|
1
|
+
export declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
2
|
+
export declare type Margin = {
|
|
3
3
|
top?: Space;
|
|
4
4
|
bottom?: Space;
|
|
5
5
|
left?: Space;
|
|
@@ -14,6 +14,10 @@ declare type Props = {
|
|
|
14
14
|
* Name attribute of the input element.
|
|
15
15
|
*/
|
|
16
16
|
name?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Initial value of the slider, only when it is uncontrolled.
|
|
19
|
+
*/
|
|
20
|
+
defaultValue?: number;
|
|
17
21
|
/**
|
|
18
22
|
* The selected value. If undefined, the component will be uncontrolled and the value will be managed internally by the component.
|
|
19
23
|
*/
|
package/spinner/Spinner.js
CHANGED
|
@@ -199,7 +199,7 @@ var SVGSpinner = _styledComponents["default"].svg(_templateObject8 || (_template
|
|
|
199
199
|
var CircleSpinner = _styledComponents["default"].circle(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n fill: transparent;\n stroke-linecap: initial;\n vector-effect: non-scaling-stroke;\n animation: ", ";\n stroke: ", ";\n transform-origin: ", ";\n stroke-dasharray: ", ";\n stroke-width: ", ";\n stroke-dashoffset: ", ";\n"])), function (props) {
|
|
200
200
|
return props.isDeterminated ? "none" : props.mode !== "small" ? "1.4s ease-in-out infinite both svg-circle-large" : "1.4s ease-in-out infinite both svg-circle-small";
|
|
201
201
|
}, function (props) {
|
|
202
|
-
return props.backgroundType === "dark" ? props.theme.
|
|
202
|
+
return props.backgroundType === "dark" || props.mode === "overlay" ? props.theme.trackCircleColorOverlay : props.theme.trackCircleColor;
|
|
203
203
|
}, function (props) {
|
|
204
204
|
return !props.isDeterminated ? "50% 50%" : "";
|
|
205
205
|
}, function (props) {
|
package/switch/Switch.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import SwitchPropsType from "./types";
|
|
3
|
-
declare const DxcSwitch: ({ defaultChecked, checked, value, label, labelPosition, name, disabled,
|
|
2
|
+
import { SwitchPropsType } from "./types";
|
|
3
|
+
declare const DxcSwitch: ({ defaultChecked, checked, value, label, labelPosition, name, disabled, optional, onChange, margin, size, tabIndex, }: SwitchPropsType) => JSX.Element;
|
|
4
4
|
export default DxcSwitch;
|
package/switch/Switch.js
CHANGED
|
@@ -19,10 +19,6 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
19
19
|
|
|
20
20
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
21
21
|
|
|
22
|
-
var _core = require("@material-ui/core");
|
|
23
|
-
|
|
24
|
-
var _RequiredComponent = _interopRequireDefault(require("../common/RequiredComponent"));
|
|
25
|
-
|
|
26
22
|
var _uuid = require("uuid");
|
|
27
23
|
|
|
28
24
|
var _variables = require("../common/variables.js");
|
|
@@ -31,9 +27,11 @@ var _utils = require("../common/utils.js");
|
|
|
31
27
|
|
|
32
28
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
33
29
|
|
|
30
|
+
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
31
|
+
|
|
34
32
|
var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
|
|
35
33
|
|
|
36
|
-
var _templateObject, _templateObject2;
|
|
34
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
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
|
|
|
@@ -51,9 +49,9 @@ var DxcSwitch = function DxcSwitch(_ref) {
|
|
|
51
49
|
name = _ref$name === void 0 ? "" : _ref$name,
|
|
52
50
|
_ref$disabled = _ref.disabled,
|
|
53
51
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
52
|
+
_ref$optional = _ref.optional,
|
|
53
|
+
optional = _ref$optional === void 0 ? false : _ref$optional,
|
|
54
54
|
onChange = _ref.onChange,
|
|
55
|
-
_ref$required = _ref.required,
|
|
56
|
-
required = _ref$required === void 0 ? false : _ref$required,
|
|
57
55
|
margin = _ref.margin,
|
|
58
56
|
_ref$size = _ref.size,
|
|
59
57
|
size = _ref$size === void 0 ? "fitContent" : _ref$size,
|
|
@@ -72,46 +70,69 @@ var DxcSwitch = function DxcSwitch(_ref) {
|
|
|
72
70
|
setInnerChecked = _useState4[1];
|
|
73
71
|
|
|
74
72
|
var colorsTheme = (0, _useTheme["default"])();
|
|
73
|
+
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
75
74
|
var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
|
|
75
|
+
var refTrack = (0, _react.useRef)(null);
|
|
76
76
|
|
|
77
|
-
var
|
|
78
|
-
|
|
79
|
-
|
|
77
|
+
var handleOnKeyDown = function handleOnKeyDown(event) {
|
|
78
|
+
switch (event.key) {
|
|
79
|
+
case "Enter":
|
|
80
|
+
case " ":
|
|
81
|
+
//Space
|
|
82
|
+
event.preventDefault();
|
|
83
|
+
refTrack.current.focus();
|
|
84
|
+
var isChecked = !(checked !== null && checked !== void 0 ? checked : innerChecked);
|
|
85
|
+
setInnerChecked(isChecked);
|
|
86
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(isChecked);
|
|
87
|
+
break;
|
|
88
|
+
}
|
|
89
|
+
};
|
|
80
90
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
}
|
|
91
|
+
var handlerSwitchChange = function handlerSwitchChange(event) {
|
|
92
|
+
checked !== null && checked !== void 0 ? checked : setInnerChecked(function (innerChecked) {
|
|
93
|
+
return !innerChecked;
|
|
94
|
+
});
|
|
95
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(checked ? !checked : !innerChecked);
|
|
85
96
|
};
|
|
86
97
|
|
|
87
98
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
88
99
|
theme: colorsTheme["switch"]
|
|
89
100
|
}, /*#__PURE__*/_react["default"].createElement(SwitchContainer, {
|
|
90
101
|
margin: margin,
|
|
102
|
+
size: size,
|
|
103
|
+
onKeyDown: handleOnKeyDown,
|
|
91
104
|
disabled: disabled,
|
|
105
|
+
onClick: !disabled ? handlerSwitchChange : undefined
|
|
106
|
+
}, labelPosition === "before" && label && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
|
|
107
|
+
id: labelId,
|
|
92
108
|
labelPosition: labelPosition,
|
|
93
|
-
|
|
94
|
-
backgroundType: backgroundType
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
role: "switch",
|
|
101
|
-
"aria-checked": checked !== null && checked !== void 0 ? checked : innerChecked,
|
|
102
|
-
tabIndex: tabIndex
|
|
103
|
-
},
|
|
104
|
-
onChange: handlerSwitchChange,
|
|
109
|
+
disabled: disabled,
|
|
110
|
+
backgroundType: backgroundType,
|
|
111
|
+
label: label
|
|
112
|
+
}, label, " ", optional && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, translatedLabels.formFields.optionalLabel)), /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
113
|
+
type: "checkbox",
|
|
114
|
+
name: name,
|
|
115
|
+
"aria-hidden": true,
|
|
105
116
|
value: value,
|
|
106
117
|
disabled: disabled,
|
|
107
|
-
|
|
108
|
-
|
|
118
|
+
checked: checked !== null && checked !== void 0 ? checked : innerChecked,
|
|
119
|
+
readOnly: true
|
|
120
|
+
}), /*#__PURE__*/_react["default"].createElement(SwitchBase, null, /*#__PURE__*/_react["default"].createElement(SwitchTrack, {
|
|
121
|
+
role: "switch",
|
|
122
|
+
backgroundType: backgroundType,
|
|
123
|
+
"aria-checked": checked !== null && checked !== void 0 ? checked : innerChecked,
|
|
124
|
+
"aria-disabled": disabled,
|
|
125
|
+
disabled: disabled,
|
|
126
|
+
"aria-labelledby": labelId,
|
|
127
|
+
tabIndex: !disabled ? tabIndex : -1,
|
|
128
|
+
ref: refTrack
|
|
129
|
+
})), labelPosition === "after" && label && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
|
|
109
130
|
id: labelId,
|
|
110
131
|
labelPosition: labelPosition,
|
|
111
|
-
onClick: !disabled && handlerSwitchChange,
|
|
112
132
|
disabled: disabled,
|
|
113
|
-
backgroundType: backgroundType
|
|
114
|
-
|
|
133
|
+
backgroundType: backgroundType,
|
|
134
|
+
label: label
|
|
135
|
+
}, optional && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, translatedLabels.formFields.optionalLabel), " ", label)));
|
|
115
136
|
};
|
|
116
137
|
|
|
117
138
|
var sizes = {
|
|
@@ -119,17 +140,67 @@ var sizes = {
|
|
|
119
140
|
medium: "240px",
|
|
120
141
|
large: "480px",
|
|
121
142
|
fillParent: "100%",
|
|
122
|
-
fitContent: "
|
|
143
|
+
fitContent: "fit-content"
|
|
123
144
|
};
|
|
124
145
|
|
|
125
146
|
var calculateWidth = function calculateWidth(margin, size) {
|
|
126
147
|
return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
|
|
127
148
|
};
|
|
128
149
|
|
|
129
|
-
var
|
|
150
|
+
var getDisabledColor = function getDisabledColor(props, element, subelement) {
|
|
151
|
+
switch (element) {
|
|
152
|
+
case "track":
|
|
153
|
+
switch (subelement) {
|
|
154
|
+
case "check":
|
|
155
|
+
return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledCheckedTrackBackgroundColorOnDark : props.theme.disabledCheckedTrackBackgroundColor;
|
|
156
|
+
|
|
157
|
+
case "uncheck":
|
|
158
|
+
return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledUncheckedTrackBackgroundColorOnDark : props.theme.disabledUncheckedTrackBackgroundColor;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
case "thumb":
|
|
162
|
+
switch (subelement) {
|
|
163
|
+
case "check":
|
|
164
|
+
return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledCheckedThumbBackgroundColorOnDark : props.theme.disabledCheckedThumbBackgroundColor;
|
|
165
|
+
|
|
166
|
+
case "uncheck":
|
|
167
|
+
return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledUncheckedThumbBackgroundColorOnDark : props.theme.disabledUncheckedThumbBackgroundColor;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
case "label":
|
|
171
|
+
return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledLabelFontColorOnDark : props.theme.disabledLabelFontColor;
|
|
172
|
+
}
|
|
173
|
+
};
|
|
174
|
+
|
|
175
|
+
var getNotDisabledColor = function getNotDisabledColor(props, element, subelement) {
|
|
176
|
+
switch (element) {
|
|
177
|
+
case "track":
|
|
178
|
+
switch (subelement) {
|
|
179
|
+
case "check":
|
|
180
|
+
return props.backgroundType && props.backgroundType === "dark" ? props.theme.checkedTrackBackgroundColorOnDark : props.theme.checkedTrackBackgroundColor;
|
|
181
|
+
|
|
182
|
+
case "uncheck":
|
|
183
|
+
return props.backgroundType && props.backgroundType === "dark" ? props.theme.uncheckedTrackBackgroundColorOnDark : props.theme.uncheckedTrackBackgroundColor;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
case "thumb":
|
|
187
|
+
switch (subelement) {
|
|
188
|
+
case "check":
|
|
189
|
+
return props.backgroundType && props.backgroundType === "dark" ? props.theme.checkedThumbBackgroundColorOnDark : props.theme.checkedThumbBackgroundColor;
|
|
190
|
+
|
|
191
|
+
case "uncheck":
|
|
192
|
+
return props.backgroundType && props.backgroundType === "dark" ? props.theme.uncheckedThumbBackgroundColorOnDark : props.theme.uncheckedThumbBackgroundColor;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
case "label":
|
|
196
|
+
return props.backgroundType && props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.theme.labelFontColor;
|
|
197
|
+
}
|
|
198
|
+
};
|
|
199
|
+
|
|
200
|
+
var SwitchContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: center;\n width: ", ";\n height: 40px;\n cursor: ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
130
201
|
return calculateWidth(props.margin, props.size);
|
|
131
202
|
}, function (props) {
|
|
132
|
-
return props.
|
|
203
|
+
return props.disabled === true ? "not-allowed" : "pointer";
|
|
133
204
|
}, function (props) {
|
|
134
205
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
135
206
|
}, function (props) {
|
|
@@ -140,52 +211,50 @@ var SwitchContainer = _styledComponents["default"].div(_templateObject || (_temp
|
|
|
140
211
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
|
|
141
212
|
}, function (props) {
|
|
142
213
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
214
|
+
});
|
|
215
|
+
|
|
216
|
+
var LabelContainer = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: ", ";\n opacity: 1;\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n\n ", ";\n\n ", "\n"])), function (props) {
|
|
217
|
+
return props.disabled ? getDisabledColor(props, "label") : getNotDisabledColor(props, "label");
|
|
143
218
|
}, function (props) {
|
|
144
|
-
return props.
|
|
145
|
-
}, function (props) {
|
|
146
|
-
return props.theme.trackWidth;
|
|
147
|
-
}, function (props) {
|
|
148
|
-
return "".concat(props.backgroundType === "dark" ? props.theme.thumbFocusColorOnDark : props.theme.thumbFocusColor, " solid 2px");
|
|
149
|
-
}, function (props) {
|
|
150
|
-
return props.backgroundType === "dark" ? props.theme.uncheckedTrackBackgroundColorOnDark : props.theme.uncheckedTrackBackgroundColor;
|
|
151
|
-
}, function (props) {
|
|
152
|
-
return props.theme.trackHeight;
|
|
153
|
-
}, function (props) {
|
|
154
|
-
return props.theme.thumbWidth;
|
|
219
|
+
return props.theme.labelFontFamily;
|
|
155
220
|
}, function (props) {
|
|
156
|
-
return props.theme.
|
|
221
|
+
return props.theme.labelFontSize;
|
|
157
222
|
}, function (props) {
|
|
158
|
-
return props.
|
|
223
|
+
return props.disabled ? props.theme.disabledLabelFontStyle : props.theme.labelFontStyle;
|
|
159
224
|
}, function (props) {
|
|
160
|
-
return props.
|
|
225
|
+
return props.theme.labelFontWeight;
|
|
161
226
|
}, function (props) {
|
|
162
|
-
return props.
|
|
227
|
+
return !props.label ? "margin: 0px;" : props.labelPosition === "after" ? "margin-left: ".concat(props.theme.spaceBetweenLabelSwitch, ";") : "margin-right: ".concat(props.theme.spaceBetweenLabelSwitch, ";");
|
|
163
228
|
}, function (props) {
|
|
164
|
-
return props.
|
|
229
|
+
return props.labelPosition === "before" && "order: -1";
|
|
230
|
+
});
|
|
231
|
+
|
|
232
|
+
var SwitchBase = _styledComponents["default"].label(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n cursor: pointer;\n margin: 0px 12px;\n"])));
|
|
233
|
+
|
|
234
|
+
var ValueInput = _styledComponents["default"].input(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
|
|
235
|
+
|
|
236
|
+
var SwitchTrack = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n border-radius: 15px;\n width: ", ";\n height: ", ";\n position: relative;\n cursor: ", ";\n\n &:focus-visible {\n outline: none;\n ::before {\n outline: ", ";\n outline-offset: 6px;\n }\n }\n\n /* Thumb element */\n ::before {\n content: \"\";\n transform: initial;\n position: absolute;\n width: ", ";\n height: ", ";\n border-radius: 50%;\n z-index: 1;\n box-shadow: 0px 2px 1px -1px rgb(0 0 0 / 20%), 0px 1px 1px 0px rgb(0 0 0 / 14%), 0px 1px 3px 0px rgb(0 0 0 / 12%);\n bottom: -6px;\n left: -4px;\n transform: translateX(0px);\n background-color: ", ";\n }\n\n /* Unchecked */\n background-color: ", ";\n\n /* Checked */\n &[aria-checked=\"true\"] {\n background-color: ", ";\n ::before {\n transform: translateX(", ");\n background-color: ", ";\n }\n }\n"])), function (props) {
|
|
237
|
+
return props.theme.trackWidth;
|
|
165
238
|
}, function (props) {
|
|
166
|
-
return props.
|
|
239
|
+
return props.theme.trackHeight;
|
|
167
240
|
}, function (props) {
|
|
168
|
-
return props.
|
|
241
|
+
return props.disabled ? "not-allowed" : "pointer";
|
|
169
242
|
}, function (props) {
|
|
170
|
-
return props.theme.
|
|
243
|
+
return "".concat(props.backgroundType === "dark" ? props.theme.thumbFocusColorOnDark : props.theme.thumbFocusColor, " solid 2px");
|
|
171
244
|
}, function (props) {
|
|
172
|
-
return props.
|
|
173
|
-
});
|
|
174
|
-
|
|
175
|
-
var LabelContainer = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: ", ";\n opacity: 1;\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n cursor: ", ";\n ", "\n"])), function (props) {
|
|
176
|
-
return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledLabelFontColorOnDark : props.theme.disabledLabelFontColor : props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.theme.labelFontColor;
|
|
245
|
+
return props.theme.thumbWidth;
|
|
177
246
|
}, function (props) {
|
|
178
|
-
return props.theme.
|
|
247
|
+
return props.theme.thumbHeight;
|
|
179
248
|
}, function (props) {
|
|
180
|
-
return props.
|
|
249
|
+
return props.disabled ? getDisabledColor(props, "thumb", "uncheck") : getNotDisabledColor(props, "thumb", "uncheck");
|
|
181
250
|
}, function (props) {
|
|
182
|
-
return props.disabled ? props
|
|
251
|
+
return props.disabled ? getDisabledColor(props, "track", "uncheck") : getNotDisabledColor(props, "track", "uncheck");
|
|
183
252
|
}, function (props) {
|
|
184
|
-
return props.
|
|
253
|
+
return props.disabled ? getDisabledColor(props, "track", "check") : getNotDisabledColor(props, "track", "check");
|
|
185
254
|
}, function (props) {
|
|
186
|
-
return props.
|
|
255
|
+
return props.theme.thumbShift;
|
|
187
256
|
}, function (props) {
|
|
188
|
-
return props.
|
|
257
|
+
return props.disabled ? getDisabledColor(props, "thumb", "check") : getNotDisabledColor(props, "thumb", "check");
|
|
189
258
|
});
|
|
190
259
|
|
|
191
260
|
var _default = DxcSwitch;
|