@dxc-technology/halstack-react 0.0.0-f53e801 → 0.0.0-f54247d
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.js +7 -8
- package/accordion/Accordion.js +122 -103
- package/accordion/Accordion.stories.tsx +1 -2
- package/accordion/Accordion.test.js +9 -10
- package/accordion/types.d.ts +4 -3
- package/accordion-group/AccordionGroup.js +1 -21
- package/accordion-group/AccordionGroup.stories.tsx +27 -1
- package/accordion-group/AccordionGroup.test.js +20 -45
- package/accordion-group/types.d.ts +9 -2
- package/alert/Alert.js +1 -1
- package/box/Box.js +1 -1
- package/box/types.d.ts +1 -0
- package/card/types.d.ts +1 -0
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +92 -99
- package/checkbox/Checkbox.stories.tsx +79 -59
- package/checkbox/Checkbox.test.js +93 -16
- package/checkbox/types.d.ts +6 -2
- package/common/variables.js +27 -19
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +258 -0
- package/date-input/DateInput.js +77 -222
- package/date-input/DateInput.stories.tsx +30 -17
- package/date-input/DateInput.test.js +411 -138
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +160 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +115 -0
- package/date-input/types.d.ts +53 -0
- package/dialog/Dialog.js +4 -4
- package/dialog/Dialog.stories.tsx +56 -0
- package/dialog/types.d.ts +1 -0
- package/dropdown/Dropdown.js +38 -34
- package/dropdown/Dropdown.test.js +19 -25
- package/dropdown/DropdownMenuItem.js +1 -1
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +177 -219
- package/file-input/FileInput.stories.tsx +38 -10
- package/file-input/FileInput.test.js +53 -12
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +38 -63
- package/file-input/types.d.ts +17 -0
- package/flex/Flex.d.ts +1 -1
- package/flex/Flex.js +31 -19
- package/flex/types.d.ts +14 -3
- package/footer/Footer.stories.tsx +8 -1
- package/footer/types.d.ts +1 -0
- package/header/Header.stories.tsx +4 -4
- package/header/types.d.ts +1 -0
- package/layout/ApplicationLayout.stories.tsx +1 -0
- package/link/Link.js +1 -1
- package/number-input/NumberInput.test.js +43 -7
- package/package.json +14 -19
- package/paginator/Paginator.js +2 -2
- package/paginator/Paginator.test.js +1 -1
- package/password-input/PasswordInput.test.js +13 -12
- package/quick-nav/QuickNav.js +11 -12
- package/quick-nav/QuickNav.stories.tsx +97 -19
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +43 -28
- package/radio-group/RadioGroup.js +15 -13
- 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/Icons.d.ts +7 -0
- package/resultsetTable/Icons.js +51 -0
- package/resultsetTable/ResultsetTable.js +48 -107
- package/resultsetTable/ResultsetTable.stories.tsx +50 -25
- package/resultsetTable/ResultsetTable.test.js +23 -41
- package/resultsetTable/types.d.ts +2 -2
- package/select/Listbox.js +0 -1
- package/select/Select.js +3 -1
- package/select/Select.stories.tsx +2 -5
- package/select/Select.test.js +267 -209
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +118 -93
- package/slider/Slider.stories.tsx +7 -1
- package/slider/Slider.test.js +87 -24
- package/slider/types.d.ts +6 -2
- package/switch/Switch.d.ts +3 -3
- package/switch/Switch.js +94 -83
- package/switch/Switch.test.js +26 -13
- package/switch/types.d.ts +6 -1
- package/table/Table.js +1 -1
- package/table/Table.test.js +1 -1
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +135 -0
- package/tabs/Tabs.js +360 -104
- package/tabs/Tabs.stories.tsx +74 -0
- package/tabs/Tabs.test.js +217 -6
- package/tabs/types.d.ts +14 -4
- package/tabs-nav/Tab.js +1 -1
- package/tag/Tag.js +1 -1
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +60 -0
- package/text-input/Suggestion.js +7 -5
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +134 -0
- package/text-input/TextInput.js +179 -263
- package/text-input/TextInput.stories.tsx +189 -181
- package/text-input/TextInput.test.js +639 -727
- package/text-input/types.d.ts +21 -2
- package/common/RequiredComponent.js +0 -32
|
@@ -4,7 +4,7 @@ import { BackgroundColorProvider } from "../BackgroundColorContext";
|
|
|
4
4
|
import Title from "../../.storybook/components/Title";
|
|
5
5
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
6
6
|
import DarkContainer from "../../.storybook/components/DarkSection";
|
|
7
|
-
import
|
|
7
|
+
import styled from "styled-components";
|
|
8
8
|
|
|
9
9
|
export default {
|
|
10
10
|
title: "Checkbox",
|
|
@@ -17,29 +17,33 @@ const Checkbox = () => (
|
|
|
17
17
|
<Title title="Default" theme="light" level={4} />
|
|
18
18
|
<DxcCheckbox label="Checkbox" />
|
|
19
19
|
</ExampleContainer>
|
|
20
|
-
<ExampleContainer>
|
|
21
|
-
<Title title="Focused" theme="light" level={4} />
|
|
22
|
-
<DxcCheckbox label="Focused" />
|
|
23
|
-
</ExampleContainer>
|
|
24
20
|
<ExampleContainer>
|
|
25
21
|
<Title title="Checked" theme="light" level={4} />
|
|
26
22
|
<DxcCheckbox label="Checkbox" defaultChecked />
|
|
27
23
|
</ExampleContainer>
|
|
28
24
|
<ExampleContainer>
|
|
29
|
-
<Title title="
|
|
30
|
-
<DxcCheckbox label="Checkbox"
|
|
25
|
+
<Title title="Disabled" theme="light" level={4} />
|
|
26
|
+
<DxcCheckbox label="Checkbox" disabled />
|
|
31
27
|
</ExampleContainer>
|
|
32
28
|
<ExampleContainer>
|
|
33
|
-
<Title title="Disabled and
|
|
34
|
-
<DxcCheckbox label="Checkbox" disabled defaultChecked />
|
|
29
|
+
<Title title="Disabled, checked and optional" theme="light" level={4} />
|
|
30
|
+
<DxcCheckbox label="Checkbox" disabled defaultChecked optional />
|
|
35
31
|
</ExampleContainer>
|
|
36
|
-
<ExampleContainer>
|
|
37
|
-
<Title title="
|
|
38
|
-
<DxcCheckbox label="
|
|
32
|
+
<ExampleContainer pseudoState="pseudo-focus">
|
|
33
|
+
<Title title="Focused" theme="light" level={4} />
|
|
34
|
+
<DxcCheckbox label="Focused" />
|
|
35
|
+
</ExampleContainer>
|
|
36
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
37
|
+
<Title title="Hovered" theme="light" level={4} />
|
|
38
|
+
<DxcCheckbox label="Hovered" />
|
|
39
|
+
</ExampleContainer>
|
|
40
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
41
|
+
<Title title="Hovered and checked" theme="light" level={4} />
|
|
42
|
+
<DxcCheckbox label="Hovered" defaultChecked />
|
|
39
43
|
</ExampleContainer>
|
|
40
44
|
<ExampleContainer>
|
|
41
|
-
<Title title="
|
|
42
|
-
<DxcCheckbox label="Checkbox"
|
|
45
|
+
<Title title="Optional" theme="light" level={4} />
|
|
46
|
+
<DxcCheckbox label="Checkbox" optional />
|
|
43
47
|
</ExampleContainer>
|
|
44
48
|
<ExampleContainer>
|
|
45
49
|
<Title title="Label after" theme="light" level={4} />
|
|
@@ -53,25 +57,9 @@ const Checkbox = () => (
|
|
|
53
57
|
<Title title="Optional with label after" theme="light" level={4} />
|
|
54
58
|
<DxcCheckbox label="Checkbox" optional labelPosition="after" />
|
|
55
59
|
</ExampleContainer>
|
|
56
|
-
<ExampleContainer>
|
|
57
|
-
<Title title="Disabled and checked with label after" theme="light" level={4} />
|
|
58
|
-
<DxcCheckbox label="Checkbox" disabled defaultChecked labelPosition="after" />
|
|
59
|
-
</ExampleContainer>
|
|
60
60
|
<ExampleContainer>
|
|
61
61
|
<Title title="Disabled and optional with label after" theme="light" level={4} />
|
|
62
|
-
<DxcCheckbox label="Checkbox" disabled
|
|
63
|
-
</ExampleContainer>
|
|
64
|
-
<ExampleContainer>
|
|
65
|
-
<Title title="Disabled, optional and checked with label after" theme="light" level={4} />
|
|
66
|
-
<DxcCheckbox label="Checkbox" disabled optional defaultChecked labelPosition="after" />
|
|
67
|
-
</ExampleContainer>
|
|
68
|
-
<ExampleContainer pseudoState="pseudo-hover">
|
|
69
|
-
<Title title="Hovered" theme="light" level={4} />
|
|
70
|
-
<DxcCheckbox label="Hovered" />
|
|
71
|
-
</ExampleContainer>
|
|
72
|
-
<ExampleContainer pseudoState="pseudo-hover">
|
|
73
|
-
<Title title="Hovered and checked" theme="light" level={4} />
|
|
74
|
-
<DxcCheckbox label="Hovered" defaultChecked />
|
|
62
|
+
<DxcCheckbox label="Checkbox" disabled labelPosition="after" optional />
|
|
75
63
|
</ExampleContainer>
|
|
76
64
|
<BackgroundColorProvider color="#333333">
|
|
77
65
|
<DarkContainer>
|
|
@@ -84,20 +72,28 @@ const Checkbox = () => (
|
|
|
84
72
|
<DxcCheckbox label="Checkbox" defaultChecked />
|
|
85
73
|
</ExampleContainer>
|
|
86
74
|
<ExampleContainer>
|
|
87
|
-
<Title title="
|
|
88
|
-
<DxcCheckbox label="Checkbox"
|
|
75
|
+
<Title title="Disabled" theme="dark" level={4} />
|
|
76
|
+
<DxcCheckbox label="Checkbox" disabled />
|
|
89
77
|
</ExampleContainer>
|
|
90
78
|
<ExampleContainer>
|
|
91
|
-
<Title title="Disabled and
|
|
92
|
-
<DxcCheckbox label="Checkbox" disabled defaultChecked />
|
|
79
|
+
<Title title="Disabled, checked and optional" theme="dark" level={4} />
|
|
80
|
+
<DxcCheckbox label="Checkbox" disabled defaultChecked optional />
|
|
93
81
|
</ExampleContainer>
|
|
94
|
-
<ExampleContainer>
|
|
95
|
-
<Title title="
|
|
96
|
-
<DxcCheckbox label="
|
|
82
|
+
<ExampleContainer pseudoState="pseudo-focus">
|
|
83
|
+
<Title title="Focused" theme="dark" level={4} />
|
|
84
|
+
<DxcCheckbox label="Focused" />
|
|
85
|
+
</ExampleContainer>
|
|
86
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
87
|
+
<Title title="Hovered" theme="dark" level={4} />
|
|
88
|
+
<DxcCheckbox label="Hovered" />
|
|
89
|
+
</ExampleContainer>
|
|
90
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
91
|
+
<Title title="Hovered and checked" theme="dark" level={4} />
|
|
92
|
+
<DxcCheckbox label="Hovered" defaultChecked />
|
|
97
93
|
</ExampleContainer>
|
|
98
94
|
<ExampleContainer>
|
|
99
|
-
<Title title="
|
|
100
|
-
<DxcCheckbox label="Checkbox"
|
|
95
|
+
<Title title="Optional" theme="dark" level={4} />
|
|
96
|
+
<DxcCheckbox label="Checkbox" optional />
|
|
101
97
|
</ExampleContainer>
|
|
102
98
|
<ExampleContainer>
|
|
103
99
|
<Title title="Label after" theme="dark" level={4} />
|
|
@@ -111,25 +107,9 @@ const Checkbox = () => (
|
|
|
111
107
|
<Title title="Optional with label after" theme="dark" level={4} />
|
|
112
108
|
<DxcCheckbox label="Checkbox" optional labelPosition="after" />
|
|
113
109
|
</ExampleContainer>
|
|
114
|
-
<ExampleContainer>
|
|
115
|
-
<Title title="Disabled and checked with label after" theme="dark" level={4} />
|
|
116
|
-
<DxcCheckbox label="Checkbox" disabled defaultChecked labelPosition="after" />
|
|
117
|
-
</ExampleContainer>
|
|
118
110
|
<ExampleContainer>
|
|
119
111
|
<Title title="Disabled and optional with label after" theme="dark" level={4} />
|
|
120
|
-
<DxcCheckbox label="Checkbox" disabled
|
|
121
|
-
</ExampleContainer>
|
|
122
|
-
<ExampleContainer>
|
|
123
|
-
<Title title="Disabled, optional and checked with label after" theme="dark" level={4} />
|
|
124
|
-
<DxcCheckbox label="Checkbox" disabled optional defaultChecked labelPosition="after" />
|
|
125
|
-
</ExampleContainer>
|
|
126
|
-
<ExampleContainer pseudoState="pseudo-hover">
|
|
127
|
-
<Title title="Hovered" theme="dark" level={4} />
|
|
128
|
-
<DxcCheckbox label="Hovered" />
|
|
129
|
-
</ExampleContainer>
|
|
130
|
-
<ExampleContainer pseudoState="pseudo-hover">
|
|
131
|
-
<Title title="Hovered and checked" theme="dark" level={4} />
|
|
132
|
-
<DxcCheckbox label="Hovered" defaultChecked />
|
|
112
|
+
<DxcCheckbox label="Checkbox" disabled labelPosition="after" optional />
|
|
133
113
|
</ExampleContainer>
|
|
134
114
|
</DarkContainer>
|
|
135
115
|
</BackgroundColorProvider>
|
|
@@ -178,11 +158,51 @@ const Checkbox = () => (
|
|
|
178
158
|
<Title title="Xxlarge" theme="light" level={4} />
|
|
179
159
|
<DxcCheckbox label="Xxlarge" margin="xxlarge" />
|
|
180
160
|
</ExampleContainer>
|
|
161
|
+
<ExampleContainer>
|
|
162
|
+
<Title title="Overflow container" theme="light" level={4} />
|
|
163
|
+
<ScrollableContainer id="scroll-container">
|
|
164
|
+
<DxcCheckbox label="Checkbox" defaultChecked />
|
|
165
|
+
<DxcCheckbox label="Checkbox" defaultChecked />
|
|
166
|
+
<DxcCheckbox label="Checkbox" />
|
|
167
|
+
<DxcCheckbox label="Checkbox" defaultChecked />
|
|
168
|
+
<DxcCheckbox label="Checkbox" />
|
|
169
|
+
<DxcCheckbox label="Checkbox" />
|
|
170
|
+
<DxcCheckbox label="Checkbox" />
|
|
171
|
+
<DxcCheckbox label="Checkbox" defaultChecked />
|
|
172
|
+
</ScrollableContainer>
|
|
173
|
+
</ExampleContainer>
|
|
174
|
+
<ExampleContainer>
|
|
175
|
+
<Title title="Label overflow" theme="light" level={4} />
|
|
176
|
+
<SmallContainer>
|
|
177
|
+
<DxcCheckbox label="Very long label to check its overflowing" defaultChecked />
|
|
178
|
+
<DxcCheckbox label="Very long label to check its overflowing" labelPosition="after" />
|
|
179
|
+
</SmallContainer>
|
|
180
|
+
</ExampleContainer>
|
|
181
181
|
</>
|
|
182
182
|
);
|
|
183
183
|
|
|
184
184
|
export const Chromatic = Checkbox.bind({});
|
|
185
|
+
|
|
185
186
|
Chromatic.play = async () => {
|
|
186
|
-
|
|
187
|
-
|
|
187
|
+
const listEl = document.getElementById("scroll-container");
|
|
188
|
+
listEl?.scrollTo?.({ top: 50 });
|
|
188
189
|
};
|
|
190
|
+
|
|
191
|
+
const ScrollableContainer = styled.div`
|
|
192
|
+
display: flex;
|
|
193
|
+
flex-direction: column;
|
|
194
|
+
gap: 14px;
|
|
195
|
+
width: 200px;
|
|
196
|
+
height: 200px;
|
|
197
|
+
border: 1px solid #000;
|
|
198
|
+
padding: 14px;
|
|
199
|
+
overflow: auto;
|
|
200
|
+
`;
|
|
201
|
+
|
|
202
|
+
const SmallContainer = styled.div`
|
|
203
|
+
display: flex;
|
|
204
|
+
flex-direction: column;
|
|
205
|
+
gap: 14px;
|
|
206
|
+
width: 150px;
|
|
207
|
+
height: 150px;
|
|
208
|
+
`;
|
|
@@ -6,25 +6,39 @@ 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 _Checkbox = _interopRequireDefault(require("./Checkbox"));
|
|
10
12
|
|
|
11
13
|
describe("Checkbox component tests", function () {
|
|
12
|
-
test("Checkbox renders with correct
|
|
14
|
+
test("Checkbox renders with correct aria-labelledby and aria-required", function () {
|
|
13
15
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
14
16
|
label: "Checkbox"
|
|
15
17
|
})),
|
|
16
|
-
getByText = _render.getByText
|
|
18
|
+
getByText = _render.getByText,
|
|
19
|
+
getByRole = _render.getByRole;
|
|
17
20
|
|
|
18
|
-
|
|
21
|
+
var labelId = getByText("Checkbox").getAttribute("id");
|
|
22
|
+
expect(getByRole("checkbox").getAttribute("aria-labelledby")).toBe(labelId);
|
|
23
|
+
expect(getByRole("checkbox").getAttribute("aria-required")).toBe("true");
|
|
24
|
+
});
|
|
25
|
+
test("Optional checkbox renders with correct aria-required", function () {
|
|
26
|
+
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
27
|
+
label: "Checkbox",
|
|
28
|
+
optional: true
|
|
29
|
+
})),
|
|
30
|
+
getByRole = _render2.getByRole;
|
|
31
|
+
|
|
32
|
+
expect(getByRole("checkbox").getAttribute("aria-required")).toBe("false");
|
|
19
33
|
});
|
|
20
34
|
test("Calls correct function on click", function () {
|
|
21
35
|
var onChange = jest.fn();
|
|
22
36
|
|
|
23
|
-
var
|
|
37
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
24
38
|
label: "Checkbox",
|
|
25
39
|
onChange: onChange
|
|
26
40
|
})),
|
|
27
|
-
getByText =
|
|
41
|
+
getByText = _render3.getByText;
|
|
28
42
|
|
|
29
43
|
_react2.fireEvent.click(getByText("Checkbox"));
|
|
30
44
|
|
|
@@ -34,45 +48,108 @@ describe("Checkbox component tests", function () {
|
|
|
34
48
|
var onChange = jest.fn();
|
|
35
49
|
var component = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
36
50
|
label: "Checkbox",
|
|
37
|
-
onChange: onChange
|
|
51
|
+
onChange: onChange,
|
|
52
|
+
name: "test"
|
|
38
53
|
}));
|
|
39
54
|
var visibleCheckbox = component.getByText("Checkbox");
|
|
40
55
|
var input = component.getByRole("checkbox");
|
|
41
|
-
|
|
56
|
+
var submitInput = component.container.querySelector("input[name=\"test\"]");
|
|
57
|
+
expect(input.getAttribute("aria-checked")).toBe("false");
|
|
58
|
+
expect(submitInput.checked).toBe(false);
|
|
42
59
|
|
|
43
60
|
_react2.fireEvent.click(visibleCheckbox);
|
|
44
61
|
|
|
45
62
|
expect(onChange).toHaveBeenCalled();
|
|
46
63
|
expect(onChange).toHaveBeenCalledWith(true);
|
|
47
|
-
expect(input.checked).toBe(true);
|
|
64
|
+
expect(input.getAttribute("aria-checked")).toBe("true");
|
|
65
|
+
expect(submitInput.checked).toBe(true);
|
|
48
66
|
});
|
|
49
67
|
test("Controlled checkbox", function () {
|
|
50
68
|
var onChange = jest.fn();
|
|
51
69
|
var component = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
52
70
|
label: "Checkbox",
|
|
53
71
|
checked: false,
|
|
54
|
-
onChange: onChange
|
|
72
|
+
onChange: onChange,
|
|
73
|
+
name: "test"
|
|
55
74
|
}));
|
|
56
75
|
var input = component.getByRole("checkbox");
|
|
57
76
|
var visibleCheckbox = component.getByText("Checkbox");
|
|
77
|
+
var submitInput = component.container.querySelector("input[name=\"test\"]");
|
|
58
78
|
|
|
59
79
|
_react2.fireEvent.click(visibleCheckbox);
|
|
60
80
|
|
|
61
81
|
expect(onChange).toHaveBeenCalled();
|
|
62
82
|
expect(onChange).toHaveBeenCalledWith(true);
|
|
63
|
-
expect(input.checked).toBe(false);
|
|
83
|
+
expect(input.getAttribute("aria-checked")).toBe("false");
|
|
84
|
+
expect(submitInput.checked).toBe(false);
|
|
64
85
|
});
|
|
65
86
|
test("Renders with correct initial value and initial state when it is uncontrolled", function () {
|
|
66
|
-
var
|
|
87
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
67
88
|
label: "Default label",
|
|
68
89
|
defaultChecked: true,
|
|
69
|
-
value: "test-defaultChecked"
|
|
90
|
+
value: "test-defaultChecked",
|
|
91
|
+
name: "test"
|
|
92
|
+
})),
|
|
93
|
+
getByRole = _render4.getByRole,
|
|
94
|
+
container = _render4.container;
|
|
95
|
+
|
|
96
|
+
var checkbox = getByRole("checkbox");
|
|
97
|
+
var submitInput = container.querySelector("input[name=\"test\"]");
|
|
98
|
+
expect(submitInput.value).toBe("test-defaultChecked");
|
|
99
|
+
expect(checkbox.getAttribute("aria-checked")).toBe("true");
|
|
100
|
+
expect(submitInput.checked).toBe(true);
|
|
101
|
+
});
|
|
102
|
+
test("Test disable keyboard and mouse interactions", function () {
|
|
103
|
+
var onChange = jest.fn();
|
|
104
|
+
|
|
105
|
+
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
106
|
+
label: "Checkbox",
|
|
107
|
+
onChange: onChange,
|
|
108
|
+
disabled: true,
|
|
109
|
+
name: "test"
|
|
70
110
|
})),
|
|
71
|
-
getByRole =
|
|
111
|
+
getByRole = _render5.getByRole,
|
|
112
|
+
getByText = _render5.getByText,
|
|
113
|
+
container = _render5.container;
|
|
72
114
|
|
|
73
115
|
var input = getByRole("checkbox");
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
116
|
+
var visibleCheckbox = getByText("Checkbox");
|
|
117
|
+
var submitInput = container.querySelector("input[name=\"test\"]");
|
|
118
|
+
|
|
119
|
+
_react2.fireEvent.click(visibleCheckbox);
|
|
120
|
+
|
|
121
|
+
expect(onChange).toHaveBeenCalledTimes(0);
|
|
122
|
+
expect(input.getAttribute("aria-checked")).toBe("false");
|
|
123
|
+
expect(input.getAttribute("aria-disabled")).toBe("true");
|
|
124
|
+
expect(submitInput.checked).toBe(false);
|
|
125
|
+
|
|
126
|
+
_userEvent["default"].tab();
|
|
127
|
+
|
|
128
|
+
expect(document.activeElement === input).toBeFalsy();
|
|
129
|
+
});
|
|
130
|
+
test("Test keyboard interactions", function () {
|
|
131
|
+
var onChange = jest.fn();
|
|
132
|
+
|
|
133
|
+
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
134
|
+
label: "Checkbox",
|
|
135
|
+
name: "test",
|
|
136
|
+
onChange: onChange
|
|
137
|
+
})),
|
|
138
|
+
getByRole = _render6.getByRole;
|
|
139
|
+
|
|
140
|
+
var checkbox = getByRole("checkbox");
|
|
141
|
+
|
|
142
|
+
_userEvent["default"].tab();
|
|
143
|
+
|
|
144
|
+
expect(document.activeElement === checkbox).toBeTruthy();
|
|
145
|
+
|
|
146
|
+
_react2.fireEvent.keyDown(checkbox, {
|
|
147
|
+
key: " ",
|
|
148
|
+
code: "Space",
|
|
149
|
+
keyCode: 32,
|
|
150
|
+
charCode: 32
|
|
151
|
+
});
|
|
152
|
+
|
|
153
|
+
expect(onChange).toHaveBeenCalledWith(true);
|
|
77
154
|
});
|
|
78
155
|
});
|
package/checkbox/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;
|
|
@@ -61,4 +61,8 @@ declare type Props = {
|
|
|
61
61
|
*/
|
|
62
62
|
tabIndex?: number;
|
|
63
63
|
};
|
|
64
|
+
/**
|
|
65
|
+
* Reference to the component.
|
|
66
|
+
*/
|
|
67
|
+
export declare type RefType = HTMLDivElement;
|
|
64
68
|
export default Props;
|
package/common/variables.js
CHANGED
|
@@ -179,13 +179,13 @@ var componentTokens = {
|
|
|
179
179
|
titleLabelFontStyle: globalTokens.type_normal,
|
|
180
180
|
titleLabelFontColor: globalTokens.hal_black,
|
|
181
181
|
disabledTitleLabelFontColor: globalTokens.hal_grey_l_60,
|
|
182
|
-
titleLabelPaddingLeft: "0px",
|
|
183
|
-
titleLabelPaddingRight: "16px",
|
|
184
182
|
titleLabelPaddingTop: "0px",
|
|
185
183
|
titleLabelPaddingBottom: "0px",
|
|
184
|
+
titleLabelPaddingLeft: "0px",
|
|
185
|
+
titleLabelPaddingRight: "16px",
|
|
186
|
+
focusBorderColor: globalTokens.hal_blue_l_50,
|
|
186
187
|
focusBorderStyle: "solid",
|
|
187
188
|
focusBorderThickness: "2px",
|
|
188
|
-
focusBorderColor: globalTokens.hal_blue_l_50,
|
|
189
189
|
borderRadius: "4px",
|
|
190
190
|
boxShadowOffsetX: "0px",
|
|
191
191
|
boxShadowOffsetY: "6px",
|
|
@@ -354,7 +354,7 @@ var componentTokens = {
|
|
|
354
354
|
backgroundColorChecked: globalTokens.hal_blue_s_35,
|
|
355
355
|
backgroundColorCheckedOnDark: globalTokens.hal_grey_l_90,
|
|
356
356
|
hoverBackgroundColorChecked: globalTokens.hal_blue_d_20,
|
|
357
|
-
hoverBackgroundColorCheckedOnDark:
|
|
357
|
+
hoverBackgroundColorCheckedOnDark: globalTokens.hal_white,
|
|
358
358
|
disabledBackgroundColorChecked: globalTokens.hal_grey_l_60,
|
|
359
359
|
disabledBackgroundColorCheckedOnDark: globalTokens.color_grey_800,
|
|
360
360
|
borderColor: globalTokens.hal_blue_s_35,
|
|
@@ -408,7 +408,7 @@ var componentTokens = {
|
|
|
408
408
|
pickerHoverDateBackgroundColor: globalTokens.hal_purple_l_90,
|
|
409
409
|
pickerSelectedDateColor: globalTokens.hal_white,
|
|
410
410
|
pickerSelectedDateBackgroundColor: globalTokens.hal_purple_s_38,
|
|
411
|
-
pickerActualDateFontColor: globalTokens.
|
|
411
|
+
pickerActualDateFontColor: globalTokens.hal_black,
|
|
412
412
|
pickerYearFontColor: globalTokens.hal_black,
|
|
413
413
|
pickerMonthFontColor: globalTokens.hal_black,
|
|
414
414
|
pickerWeekFontColor: globalTokens.hal_black,
|
|
@@ -416,7 +416,8 @@ var componentTokens = {
|
|
|
416
416
|
pickerMonthArrowsBackgroundColor: globalTokens.transparent,
|
|
417
417
|
pickerFocusColor: globalTokens.hal_blue_l_50,
|
|
418
418
|
pickerHeight: "316px",
|
|
419
|
-
|
|
419
|
+
// not referenced in the actual implementation
|
|
420
|
+
pickerWidth: "292px"
|
|
420
421
|
},
|
|
421
422
|
dialog: {
|
|
422
423
|
overlayColor: globalTokens.hal_black,
|
|
@@ -763,13 +764,13 @@ var componentTokens = {
|
|
|
763
764
|
fontTextTransform: "none",
|
|
764
765
|
verticalPadding: "0.75rem",
|
|
765
766
|
horizontalPadding: "2rem",
|
|
766
|
-
marginRight: "
|
|
767
|
-
marginLeft: "
|
|
767
|
+
marginRight: "40px",
|
|
768
|
+
marginLeft: "20px",
|
|
768
769
|
itemsPerPageSelectorMarginLeft: "0px",
|
|
769
|
-
itemsPerPageSelectorMarginRight: "
|
|
770
|
+
itemsPerPageSelectorMarginRight: "0.5rem",
|
|
770
771
|
pageSelectorMarginRight: "30px",
|
|
771
772
|
pageSelectorMarginLeft: "0px",
|
|
772
|
-
totalItemsContainerMarginRight: "
|
|
773
|
+
totalItemsContainerMarginRight: "2.5rem",
|
|
773
774
|
totalItemsContainerMarginLeft: "0px"
|
|
774
775
|
},
|
|
775
776
|
progressBar: {
|
|
@@ -804,7 +805,6 @@ var componentTokens = {
|
|
|
804
805
|
quickNav: {
|
|
805
806
|
fontColor: globalTokens.hal_grey_s_40,
|
|
806
807
|
hoverFontColor: globalTokens.hal_purple_d_70,
|
|
807
|
-
selectedFontColor: globalTokens.hal_purple_s_38,
|
|
808
808
|
dividerBorderColor: globalTokens.hal_grey_l_75,
|
|
809
809
|
focusBorderColor: globalTokens.hal_blue_l_50,
|
|
810
810
|
focusBorderStyle: globalTokens.border_solid,
|
|
@@ -1025,7 +1025,7 @@ var componentTokens = {
|
|
|
1025
1025
|
trackLineColorOnDark: globalTokens.hal_blue_l_50,
|
|
1026
1026
|
totalLineThickness: "2px",
|
|
1027
1027
|
totalLineVerticalPosition: "50%",
|
|
1028
|
-
totalLineColor:
|
|
1028
|
+
totalLineColor: "#0000001a",
|
|
1029
1029
|
totalLineColorOnDark: globalTokens.hal_grey_l_75,
|
|
1030
1030
|
disabledThumbVerticalPosition: "10px",
|
|
1031
1031
|
disabledThumbBackgroundColor: globalTokens.hal_grey_l_60,
|
|
@@ -1424,6 +1424,9 @@ var defaultTranslatedComponentLabels = {
|
|
|
1424
1424
|
},
|
|
1425
1425
|
logoAlternativeText: "Logo"
|
|
1426
1426
|
},
|
|
1427
|
+
applicationLayout: {
|
|
1428
|
+
visibilityToggleTitle: "Toggle visibility sidenav"
|
|
1429
|
+
},
|
|
1427
1430
|
alert: {
|
|
1428
1431
|
infoTitleText: "information",
|
|
1429
1432
|
successTitleText: "success",
|
|
@@ -1440,7 +1443,8 @@ var defaultTranslatedComponentLabels = {
|
|
|
1440
1443
|
singleButtonLabelDefault: "Select file",
|
|
1441
1444
|
dropAreaButtonLabelDefault: "Select",
|
|
1442
1445
|
multipleDropAreaLabelDefault: "or drop files",
|
|
1443
|
-
singleDropAreaLabelDefault: "or drop a file"
|
|
1446
|
+
singleDropAreaLabelDefault: "or drop a file",
|
|
1447
|
+
deleteFileActionTitle: "Remove file"
|
|
1444
1448
|
},
|
|
1445
1449
|
footer: {
|
|
1446
1450
|
copyrightText: function copyrightText(year) {
|
|
@@ -1462,7 +1466,7 @@ var defaultTranslatedComponentLabels = {
|
|
|
1462
1466
|
incrementValueTitle: "Increment value"
|
|
1463
1467
|
},
|
|
1464
1468
|
paginator: {
|
|
1465
|
-
itemsPerPageText: "Items per page ",
|
|
1469
|
+
itemsPerPageText: "Items per page: ",
|
|
1466
1470
|
minToMaxOfText: function minToMaxOfText(minNumberOfItems, maxNumberOfItems, totalItems) {
|
|
1467
1471
|
return "".concat(minNumberOfItems, " to ").concat(maxNumberOfItems, " of ").concat(totalItems);
|
|
1468
1472
|
},
|
|
@@ -1486,6 +1490,10 @@ var defaultTranslatedComponentLabels = {
|
|
|
1486
1490
|
actionClearSelectionTitle: "Clear selection",
|
|
1487
1491
|
actionClearSearchTitle: "Clear search"
|
|
1488
1492
|
},
|
|
1493
|
+
tabs: {
|
|
1494
|
+
scrollLeft: "Scroll left",
|
|
1495
|
+
scrollRight: "Scroll right"
|
|
1496
|
+
},
|
|
1489
1497
|
textInput: {
|
|
1490
1498
|
clearFieldActionTitle: "Clear field",
|
|
1491
1499
|
searchingMessage: "Searching...",
|
|
@@ -1493,12 +1501,12 @@ var defaultTranslatedComponentLabels = {
|
|
|
1493
1501
|
},
|
|
1494
1502
|
calendar: {
|
|
1495
1503
|
days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
|
|
1496
|
-
daysShort: ["
|
|
1504
|
+
daysShort: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"],
|
|
1497
1505
|
months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
|
|
1498
|
-
monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1506
|
+
monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
|
|
1507
|
+
previousMonthTitle: "Previous month",
|
|
1508
|
+
nextMonthTitle: "Next month",
|
|
1509
|
+
openCalendar: "Open calendar"
|
|
1502
1510
|
}
|
|
1503
1511
|
};
|
|
1504
1512
|
exports.defaultTranslatedComponentLabels = defaultTranslatedComponentLabels;
|