@dxc-technology/halstack-react 0.0.0-090152f → 0.0.0-0a9608a
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 +7 -13
- package/accordion/Accordion.stories.tsx +52 -12
- package/accordion/types.d.ts +1 -0
- package/accordion-group/types.d.ts +1 -0
- package/box/types.d.ts +1 -0
- package/button/Button.js +11 -13
- package/button/Button.stories.tsx +58 -1
- package/card/types.d.ts +1 -0
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +16 -15
- package/checkbox/Checkbox.stories.tsx +79 -59
- package/checkbox/types.d.ts +4 -0
- package/chip/Chip.js +11 -23
- package/chip/Chip.stories.tsx +41 -9
- package/common/variables.js +130 -126
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +246 -0
- package/date-input/DateInput.js +134 -237
- package/date-input/DateInput.stories.tsx +137 -38
- package/date-input/DateInput.test.js +494 -138
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +132 -0
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +75 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +116 -0
- package/date-input/types.d.ts +51 -0
- package/dialog/types.d.ts +1 -0
- package/dropdown/Dropdown.js +38 -37
- package/dropdown/Dropdown.stories.tsx +175 -94
- package/dropdown/Dropdown.test.js +18 -24
- package/dropdown/DropdownMenu.js +8 -18
- package/dropdown/DropdownMenuItem.js +4 -15
- 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/types.d.ts +1 -0
- package/header/Header.js +18 -20
- package/header/Header.stories.tsx +34 -1
- package/header/types.d.ts +1 -0
- package/link/Link.js +1 -1
- package/number-input/NumberInput.test.js +43 -7
- package/package.json +7 -12
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +16 -28
- package/paginator/Paginator.js +6 -12
- package/paginator/Paginator.test.js +18 -11
- 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/RadioGroup.js +9 -5
- package/radio-group/RadioGroup.test.js +116 -59
- 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 +40 -63
- package/resultsetTable/types.d.ts +2 -2
- package/select/Listbox.d.ts +1 -1
- package/select/Listbox.js +5 -34
- package/select/Option.js +11 -24
- package/select/Select.js +46 -25
- package/select/Select.stories.tsx +209 -167
- package/select/Select.test.js +284 -231
- package/select/types.d.ts +2 -2
- package/sidenav/Sidenav.js +8 -10
- package/sidenav/Sidenav.stories.tsx +59 -50
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +15 -11
- package/slider/types.d.ts +4 -0
- package/spinner/Spinner.js +2 -2
- package/switch/Switch.d.ts +3 -3
- package/switch/Switch.js +5 -4
- package/switch/types.d.ts +6 -1
- package/table/Table.js +1 -1
- package/table/Table.test.js +1 -1
- package/tabs/Tab.js +3 -5
- package/tabs/Tabs.js +3 -3
- package/tabs/Tabs.stories.tsx +7 -5
- package/tabs-nav/NavTabs.stories.tsx +8 -6
- package/tabs-nav/Tab.js +5 -7
- package/text-input/Suggestion.js +32 -5
- package/text-input/TextInput.js +172 -162
- package/text-input/TextInput.stories.tsx +24 -4
- package/text-input/TextInput.test.js +658 -647
- package/text-input/types.d.ts +5 -0
- package/common/RequiredComponent.js +0 -32
package/header/Header.js
CHANGED
|
@@ -39,14 +39,11 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
39
39
|
|
|
40
40
|
var closeIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
41
41
|
xmlns: "http://www.w3.org/2000/svg",
|
|
42
|
-
height: "24",
|
|
43
42
|
viewBox: "0 0 24 24",
|
|
43
|
+
height: "24",
|
|
44
44
|
width: "24"
|
|
45
45
|
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
46
|
-
d: "
|
|
47
|
-
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
48
|
-
d: "M0 0h24v24H0z",
|
|
49
|
-
fill: "none"
|
|
46
|
+
d: "M6.4 19 5 17.6l5.6-5.6L5 6.4 6.4 5l5.6 5.6L17.6 5 19 6.4 13.4 12l5.6 5.6-1.4 1.4-5.6-5.6Z"
|
|
50
47
|
}));
|
|
51
48
|
|
|
52
49
|
var hamburgerIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
@@ -62,7 +59,7 @@ var Dropdown = function Dropdown(props) {
|
|
|
62
59
|
return /*#__PURE__*/_react["default"].createElement(HeaderDropdown, null, /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], props));
|
|
63
60
|
};
|
|
64
61
|
|
|
65
|
-
var HeaderDropdown = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n button {\n background-color: transparent;\n :hover {\n background-color: transparent;\n }\n }\n"])));
|
|
62
|
+
var HeaderDropdown = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n button {\n background-color: transparent;\n :hover {\n background-color: transparent;\n }\n }\n"])));
|
|
66
63
|
|
|
67
64
|
var getLogoElement = function getLogoElement(themeInput, logoLabel) {
|
|
68
65
|
if (!themeInput) return _Icons.dxcLogo;else if (typeof themeInput === "string") return /*#__PURE__*/_react["default"].createElement(LogoImg, {
|
|
@@ -110,9 +107,9 @@ var DxcHeader = function DxcHeader(_ref2) {
|
|
|
110
107
|
isMenuVisible = _useState4[0],
|
|
111
108
|
setIsMenuVisible = _useState4[1];
|
|
112
109
|
|
|
113
|
-
var handleResize = function
|
|
110
|
+
var handleResize = (0, _react.useCallback)(function () {
|
|
114
111
|
setIsResponsive(window.matchMedia("(max-width: ".concat(_variables.responsiveSizes.medium, "rem)")).matches);
|
|
115
|
-
};
|
|
112
|
+
}, []);
|
|
116
113
|
|
|
117
114
|
var handleMenu = function handleMenu() {
|
|
118
115
|
if (isResponsive && !isMenuVisible) {
|
|
@@ -134,7 +131,7 @@ var DxcHeader = function DxcHeader(_ref2) {
|
|
|
134
131
|
return function () {
|
|
135
132
|
window.removeEventListener("resize", handleResize);
|
|
136
133
|
};
|
|
137
|
-
}, []);
|
|
134
|
+
}, [handleResize]);
|
|
138
135
|
(0, _react.useEffect)(function () {
|
|
139
136
|
!isResponsive && setIsMenuVisible(false);
|
|
140
137
|
}, [isResponsive]);
|
|
@@ -158,7 +155,8 @@ var DxcHeader = function DxcHeader(_ref2) {
|
|
|
158
155
|
}, /*#__PURE__*/_react["default"].createElement(ResponsiveIconsContainer, null, /*#__PURE__*/_react["default"].createElement(ResponsiveLogoContainer, null, headerResponsiveLogo), /*#__PURE__*/_react["default"].createElement(CloseAction, {
|
|
159
156
|
tabIndex: tabIndex,
|
|
160
157
|
onClick: handleMenu,
|
|
161
|
-
"aria-label": translatedLabels.header.closeIcon
|
|
158
|
+
"aria-label": translatedLabels.header.closeIcon,
|
|
159
|
+
title: translatedLabels.header.closeIcon
|
|
162
160
|
}, closeIcon)), /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
|
|
163
161
|
color: colorsTheme.header.menuBackgroundColor
|
|
164
162
|
}, /*#__PURE__*/_react["default"].createElement(Content, {
|
|
@@ -183,7 +181,9 @@ var DxcHeader = function DxcHeader(_ref2) {
|
|
|
183
181
|
|
|
184
182
|
DxcHeader.Dropdown = Dropdown;
|
|
185
183
|
|
|
186
|
-
var HeaderContainer = _styledComponents["default"].header(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
184
|
+
var HeaderContainer = _styledComponents["default"].header(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n min-height: ", ";\n margin-bottom: ", ";\n padding: ", ";\n background-color: ", ";\n border-bottom: ", ";\n"])), function (props) {
|
|
185
|
+
return props.theme.minHeight;
|
|
186
|
+
}, function (props) {
|
|
187
187
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
188
188
|
}, function (props) {
|
|
189
189
|
return "".concat(props.theme.paddingTop, " ").concat(props.theme.paddingRight, " ").concat(props.theme.paddingBottom, " ").concat(props.theme.paddingLeft);
|
|
@@ -191,12 +191,10 @@ var HeaderContainer = _styledComponents["default"].header(_templateObject2 || (_
|
|
|
191
191
|
return props.theme.backgroundColor;
|
|
192
192
|
}, function (props) {
|
|
193
193
|
return props.underlined && "".concat(props.theme.underlinedThickness, " ").concat(props.theme.underlinedStyle, " ").concat(props.theme.underlinedColor);
|
|
194
|
-
}, function (props) {
|
|
195
|
-
return props.theme.minHeight;
|
|
196
194
|
});
|
|
197
195
|
|
|
198
196
|
var LogoAnchor = _styledComponents["default"].a(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
|
|
199
|
-
return props.interactuable ? "cursor: pointer" : "cursor: default; outline:none";
|
|
197
|
+
return props.interactuable ? "cursor: pointer" : "cursor: default; outline:none;";
|
|
200
198
|
});
|
|
201
199
|
|
|
202
200
|
var LogoImg = _styledComponents["default"].img(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n"])), function (props) {
|
|
@@ -211,7 +209,7 @@ var LogoContainer = _styledComponents["default"].div(_templateObject5 || (_templ
|
|
|
211
209
|
return props.theme.logoWidth;
|
|
212
210
|
});
|
|
213
211
|
|
|
214
|
-
var ChildContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
212
|
+
var ChildContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: flex-end;\n flex-grow: 1;\n width: calc(100% - 186px);\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n"])), function (props) {
|
|
215
213
|
return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
|
|
216
214
|
}, function (props) {
|
|
217
215
|
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
|
|
@@ -223,9 +221,7 @@ var ChildContainer = _styledComponents["default"].div(_templateObject6 || (_temp
|
|
|
223
221
|
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
|
|
224
222
|
});
|
|
225
223
|
|
|
226
|
-
var ContentContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
227
|
-
return props.backgroundType === "dark" ? props.theme.contentColorOnDark : props.theme.contentColor;
|
|
228
|
-
}, function (props) {
|
|
224
|
+
var ContentContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n flex-grow: 1;\n justify-content: flex-end;\n width: calc(100% - 186px);\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n color: ", ";\n"])), function (props) {
|
|
229
225
|
return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
|
|
230
226
|
}, function (props) {
|
|
231
227
|
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
|
|
@@ -235,6 +231,8 @@ var ContentContainer = _styledComponents["default"].div(_templateObject7 || (_te
|
|
|
235
231
|
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
|
|
236
232
|
}, function (props) {
|
|
237
233
|
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
|
|
234
|
+
}, function (props) {
|
|
235
|
+
return props.backgroundType === "dark" ? props.theme.contentColorOnDark : props.theme.contentColor;
|
|
238
236
|
});
|
|
239
237
|
|
|
240
238
|
var HamburguerTrigger = _styledComponents["default"].button(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 54px;\n cursor: pointer;\n border: 1px solid transparent;\n border-radius: 2px;\n background-color: transparent;\n :hover {\n background-color: ", ";\n }\n &:focus {\n outline: ", " auto 1px;\n }\n & > svg {\n fill: ", ";\n }\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n text-transform: ", ";\n font-weight: ", ";\n color: ", ";\n"])), function (props) {
|
|
@@ -281,11 +279,11 @@ var ResponsiveLogoContainer = _styledComponents["default"].div(_templateObject11
|
|
|
281
279
|
|
|
282
280
|
var ResponsiveIconsContainer = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n"])));
|
|
283
281
|
|
|
284
|
-
var CloseAction = _styledComponents["default"].button(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
282
|
+
var CloseAction = _styledComponents["default"].button(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: center;\n align-content: center;\n padding: 6px;\n border: unset;\n border-radius: 2px;\n background-color: transparent;\n cursor: pointer;\n\n :focus,\n :focus-visible {\n outline: ", " auto 1px;\n }\n\n svg {\n height: 24px;\n width: 24px;\n }\n"])), function (props) {
|
|
285
283
|
return props.theme.hamburguerFocusColor;
|
|
286
284
|
});
|
|
287
285
|
|
|
288
|
-
var MenuContent = _styledComponents["default"].div(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
286
|
+
var MenuContent = _styledComponents["default"].div(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n height: 100%;\n color: ", ";\n"])), function (props) {
|
|
289
287
|
return props.backgroundType === "dark" ? props.theme.contentColorOnDark : props.theme.contentColor;
|
|
290
288
|
});
|
|
291
289
|
|
|
@@ -3,6 +3,8 @@ import DxcHeader from "./Header";
|
|
|
3
3
|
import Title from "../../.storybook/components/Title";
|
|
4
4
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
5
5
|
import { userEvent, waitFor, within } from "@storybook/testing-library";
|
|
6
|
+
import DxcFlex from "../flex/Flex";
|
|
7
|
+
import DxcLink from "../link/Link";
|
|
6
8
|
|
|
7
9
|
export default {
|
|
8
10
|
title: "Header",
|
|
@@ -16,16 +18,47 @@ const options: any = [
|
|
|
16
18
|
},
|
|
17
19
|
];
|
|
18
20
|
|
|
21
|
+
const options2: any = [
|
|
22
|
+
{
|
|
23
|
+
value: 1,
|
|
24
|
+
label: "Home",
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
value: 2,
|
|
28
|
+
label: "Release notes",
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
value: 3,
|
|
32
|
+
label: "Sign out",
|
|
33
|
+
},
|
|
34
|
+
];
|
|
35
|
+
|
|
19
36
|
export const Chromatic = () => (
|
|
20
37
|
<>
|
|
21
38
|
<ExampleContainer>
|
|
22
39
|
<Title title="Default with dropdown" theme="light" level={4} />
|
|
23
|
-
<DxcHeader
|
|
40
|
+
<DxcHeader
|
|
41
|
+
content={<DxcHeader.Dropdown options={options} label="Default Dropdown" onSelectOption={() => {}} />}
|
|
42
|
+
/>
|
|
24
43
|
</ExampleContainer>
|
|
25
44
|
<ExampleContainer>
|
|
26
45
|
<Title title="Underlined with text" theme="light" level={4} />
|
|
27
46
|
<DxcHeader underlined content={<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>} />
|
|
28
47
|
</ExampleContainer>
|
|
48
|
+
<ExampleContainer>
|
|
49
|
+
<Title title="Underlined, dropdown and links" theme="light" level={4} />
|
|
50
|
+
<DxcHeader
|
|
51
|
+
content={
|
|
52
|
+
<DxcFlex alignItems="center" gap="4rem">
|
|
53
|
+
<DxcLink>Link 1</DxcLink>
|
|
54
|
+
<DxcLink>Link 2</DxcLink>
|
|
55
|
+
<DxcLink>Link 3</DxcLink>
|
|
56
|
+
<DxcHeader.Dropdown options={options2} label="Label" onSelectOption={() => {}} />
|
|
57
|
+
</DxcFlex>
|
|
58
|
+
}
|
|
59
|
+
underlined
|
|
60
|
+
/>
|
|
61
|
+
</ExampleContainer>
|
|
29
62
|
<Title title="Margins" theme="light" level={2} />
|
|
30
63
|
<ExampleContainer>
|
|
31
64
|
<Title title="Xxsmall margin" theme="light" level={4} />
|
package/header/types.d.ts
CHANGED
|
@@ -32,6 +32,7 @@ declare type Props = {
|
|
|
32
32
|
*/
|
|
33
33
|
margin?: Space;
|
|
34
34
|
/**
|
|
35
|
+
* @deprecated This prop will be removed shortly, consider using the Inset component for this purpose.
|
|
35
36
|
* Size of the padding to be applied to the custom area of the component
|
|
36
37
|
* ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
|
|
37
38
|
* You can pass an object with 'top', 'bottom', 'left' and 'right' properties in
|
package/link/Link.js
CHANGED
|
@@ -68,7 +68,7 @@ var DxcLink = /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref) {
|
|
|
68
68
|
}, /*#__PURE__*/_react["default"].createElement(StyledLink, (0, _extends2["default"])({
|
|
69
69
|
as: href ? "a" : "button",
|
|
70
70
|
tabIndex: tabIndex,
|
|
71
|
-
onClick: !disabled
|
|
71
|
+
onClick: !disabled ? onClick : undefined,
|
|
72
72
|
href: !disabled && href ? href : undefined,
|
|
73
73
|
target: href ? newWindow ? "_blank" : "_self" : undefined,
|
|
74
74
|
disabled: disabled,
|
|
@@ -83,7 +83,7 @@ describe("Number input component tests", function () {
|
|
|
83
83
|
})),
|
|
84
84
|
getByRole = _render8.getByRole;
|
|
85
85
|
|
|
86
|
-
var input = getByRole("
|
|
86
|
+
var input = getByRole("spinbutton");
|
|
87
87
|
|
|
88
88
|
_userEvent["default"].type(input, "1");
|
|
89
89
|
|
|
@@ -366,12 +366,7 @@ describe("Number input component tests", function () {
|
|
|
366
366
|
expect(number.value).toBe("10");
|
|
367
367
|
});
|
|
368
368
|
test("Increment and decrement the value with min, max and step", function () {
|
|
369
|
-
var onBlur = jest.fn(
|
|
370
|
-
var value = _ref3.value,
|
|
371
|
-
error = _ref3.error;
|
|
372
|
-
expect(value).toBe("1");
|
|
373
|
-
expect(error).toBe("Value must be greater than or equal to 5.");
|
|
374
|
-
});
|
|
369
|
+
var onBlur = jest.fn();
|
|
375
370
|
|
|
376
371
|
var _render20 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
377
372
|
label: "Number input label",
|
|
@@ -389,6 +384,10 @@ describe("Number input component tests", function () {
|
|
|
389
384
|
|
|
390
385
|
_react2.fireEvent.blur(number);
|
|
391
386
|
|
|
387
|
+
expect(onBlur).toHaveBeenCalledWith({
|
|
388
|
+
value: "1",
|
|
389
|
+
error: "Value must be greater than or equal to 5."
|
|
390
|
+
});
|
|
392
391
|
var increment = getAllByRole("button")[1];
|
|
393
392
|
|
|
394
393
|
_userEvent["default"].click(increment);
|
|
@@ -503,4 +502,41 @@ describe("Number input component tests", function () {
|
|
|
503
502
|
var increment = getAllByRole("button")[1];
|
|
504
503
|
expect(increment.getAttribute("aria-label")).toBe("Increment value");
|
|
505
504
|
});
|
|
505
|
+
test("Number input submits correct values in a form", function () {
|
|
506
|
+
var handlerOnSubmit = jest.fn(function (e) {
|
|
507
|
+
e.preventDefault();
|
|
508
|
+
var formData = new FormData(e.target);
|
|
509
|
+
var formProps = Object.fromEntries(formData);
|
|
510
|
+
expect(formProps).toStrictEqual({
|
|
511
|
+
data: "0"
|
|
512
|
+
});
|
|
513
|
+
});
|
|
514
|
+
|
|
515
|
+
var _render23 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement("form", {
|
|
516
|
+
onSubmit: handlerOnSubmit
|
|
517
|
+
}, /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
518
|
+
label: "Number input label",
|
|
519
|
+
name: "data"
|
|
520
|
+
}), /*#__PURE__*/_react["default"].createElement("button", {
|
|
521
|
+
type: "submit"
|
|
522
|
+
}, "Submit"))),
|
|
523
|
+
getByText = _render23.getByText,
|
|
524
|
+
getAllByRole = _render23.getAllByRole;
|
|
525
|
+
|
|
526
|
+
var less = getAllByRole("button")[0];
|
|
527
|
+
var more = getAllByRole("button")[1];
|
|
528
|
+
var submit = getByText("Submit");
|
|
529
|
+
|
|
530
|
+
_userEvent["default"].click(more);
|
|
531
|
+
|
|
532
|
+
expect(handlerOnSubmit).not.toHaveBeenCalled();
|
|
533
|
+
|
|
534
|
+
_userEvent["default"].click(less);
|
|
535
|
+
|
|
536
|
+
expect(handlerOnSubmit).not.toHaveBeenCalled();
|
|
537
|
+
|
|
538
|
+
_userEvent["default"].click(submit);
|
|
539
|
+
|
|
540
|
+
expect(handlerOnSubmit).toHaveBeenCalled();
|
|
541
|
+
});
|
|
506
542
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxc-technology/halstack-react",
|
|
3
|
-
"version": "0.0.0-
|
|
3
|
+
"version": "0.0.0-0a9608a",
|
|
4
4
|
"description": "DXC Halstack React components library",
|
|
5
5
|
"repository": "dxc-technology/halstack-react",
|
|
6
6
|
"homepage": "https://developer.dxc.com/halstack",
|
|
@@ -18,24 +18,17 @@
|
|
|
18
18
|
"styled-components": "^5.0.1"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@date-io/dayjs": "^1.3.9",
|
|
22
|
-
"@material-ui/core": "4.11.1",
|
|
23
|
-
"@material-ui/icons": "4.4.3",
|
|
24
|
-
"@material-ui/lab": "4.0.0-alpha.17",
|
|
25
|
-
"@material-ui/pickers": "3.2.2",
|
|
26
|
-
"@material-ui/styles": "4.0.2",
|
|
27
21
|
"@radix-ui/react-popover": "0.1.6",
|
|
28
22
|
"@types/styled-components": "^5.1.24",
|
|
29
23
|
"@types/uuid": "^8.3.4",
|
|
30
24
|
"color": "^3.1.3",
|
|
31
25
|
"dayjs": "^1.11.1",
|
|
32
|
-
"prop-types": "^15.7.2",
|
|
33
26
|
"rgb-hex": "^3.0.0",
|
|
34
27
|
"slugify": "^1.6.5",
|
|
35
28
|
"uuid": "^8.3.2"
|
|
36
29
|
},
|
|
37
30
|
"scripts": {
|
|
38
|
-
"test": "jest",
|
|
31
|
+
"test": "jest --env=jsdom",
|
|
39
32
|
"test:watch": "npm test -- --watch --coverage",
|
|
40
33
|
"build": "babel src --extensions .js,.jsx,.ts,.tsx --out-dir ../dist --copy-files --verbose && node ../scripts/build/copy-package.js && tsc ",
|
|
41
34
|
"build:watch": "babel src --watch --extensions .js,.jsx,.ts,.tsx --out-dir ../dist --copy-files --verbose",
|
|
@@ -57,7 +50,7 @@
|
|
|
57
50
|
"@storybook/react": "^6.4.9",
|
|
58
51
|
"@storybook/testing-library": "0.0.7",
|
|
59
52
|
"@testing-library/react": "^13.0.0",
|
|
60
|
-
"@testing-library/user-event": "^
|
|
53
|
+
"@testing-library/user-event": "^13.0.0",
|
|
61
54
|
"@types/react": "^18.0.18",
|
|
62
55
|
"babel-jest": "^24.8.0",
|
|
63
56
|
"babel-loader": "^8.0.6",
|
|
@@ -72,7 +65,8 @@
|
|
|
72
65
|
"eslint-plugin-react-hooks": "^4.2.0",
|
|
73
66
|
"eslint-plugin-storybook": "^0.5.5",
|
|
74
67
|
"identity-obj-proxy": "^3.0.0",
|
|
75
|
-
"jest": "^
|
|
68
|
+
"jest": "^29.2.2",
|
|
69
|
+
"jest-environment-jsdom": "^29.3.1",
|
|
76
70
|
"react": "^18.x",
|
|
77
71
|
"react-dom": "^18.x",
|
|
78
72
|
"react-test-renderer": "^16.8.6",
|
|
@@ -84,7 +78,8 @@
|
|
|
84
78
|
"moduleNameMapper": {
|
|
85
79
|
"\\.(css|less|scss|sass)$": "identity-obj-proxy",
|
|
86
80
|
"\\.(svg)$": "<rootDir>/test/mocks/svgMock.js",
|
|
87
|
-
"\\.(png)$": "<rootDir>/test/mocks/pngMock.js"
|
|
81
|
+
"\\.(png)$": "<rootDir>/test/mocks/pngMock.js",
|
|
82
|
+
"^uuid$": "uuid"
|
|
88
83
|
}
|
|
89
84
|
}
|
|
90
85
|
}
|
package/paginator/Icons.js
CHANGED
|
@@ -11,56 +11,44 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
11
11
|
|
|
12
12
|
var firstIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
13
13
|
xmlns: "http://www.w3.org/2000/svg",
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
height: "24",
|
|
15
|
+
width: "24",
|
|
16
|
+
fill: "currentColor"
|
|
17
17
|
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
18
|
-
|
|
19
|
-
"data-name": "Path 2463",
|
|
20
|
-
d: "M18.41,16.59,13.82,12l4.59-4.59L17,6l-6,6,6,6ZM6,6H8V18H6Z",
|
|
21
|
-
transform: "translate(-6 -6)"
|
|
18
|
+
d: "M6 18V6h2v12Zm11 0-6-6 6-6 1.4 1.4-4.6 4.6 4.6 4.6Z"
|
|
22
19
|
}));
|
|
23
20
|
|
|
24
21
|
exports.firstIcon = firstIcon;
|
|
25
22
|
|
|
26
23
|
var previousIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
27
24
|
xmlns: "http://www.w3.org/2000/svg",
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
25
|
+
height: "24",
|
|
26
|
+
width: "24",
|
|
27
|
+
fill: "currentColor"
|
|
31
28
|
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
32
|
-
|
|
33
|
-
"data-name": "Path 2459",
|
|
34
|
-
d: "M15.41,7.41,14,6,8,12l6,6,1.41-1.41L10.83,12Z",
|
|
35
|
-
transform: "translate(-8 -6)"
|
|
29
|
+
d: "m14 18-6-6 6-6 1.4 1.4-4.6 4.6 4.6 4.6Z"
|
|
36
30
|
}));
|
|
37
31
|
|
|
38
32
|
exports.previousIcon = previousIcon;
|
|
39
33
|
|
|
40
34
|
var nextIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
41
35
|
xmlns: "http://www.w3.org/2000/svg",
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
36
|
+
height: "24",
|
|
37
|
+
width: "24",
|
|
38
|
+
fill: "currentColor"
|
|
45
39
|
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
46
|
-
|
|
47
|
-
"data-name": "Path 2461",
|
|
48
|
-
d: "M10,6,8.59,7.41,13.17,12,8.59,16.59,10,18l6-6Z",
|
|
49
|
-
transform: "translate(-8.59 -6)"
|
|
40
|
+
d: "M9.4 18 8 16.6l4.6-4.6L8 7.4 9.4 6l6 6Z"
|
|
50
41
|
}));
|
|
51
42
|
|
|
52
43
|
exports.nextIcon = nextIcon;
|
|
53
44
|
|
|
54
45
|
var lastIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
55
46
|
xmlns: "http://www.w3.org/2000/svg",
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
47
|
+
height: "24",
|
|
48
|
+
width: "24",
|
|
49
|
+
fill: "currentColor"
|
|
59
50
|
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
60
|
-
|
|
61
|
-
"data-name": "Path 2465",
|
|
62
|
-
d: "M5.59,7.41,10.18,12,5.59,16.59,7,18l6-6L7,6ZM16,6h2V18H16Z",
|
|
63
|
-
transform: "translate(-5.59 -6)"
|
|
51
|
+
d: "m7 18-1.4-1.4 4.6-4.6-4.6-4.6L7 6l6 6Zm9 0V6h2v12Z"
|
|
64
52
|
}));
|
|
65
53
|
|
|
66
54
|
exports.lastIcon = lastIcon;
|
package/paginator/Paginator.js
CHANGED
|
@@ -27,7 +27,7 @@ var _Icons = require("./Icons");
|
|
|
27
27
|
|
|
28
28
|
var _BackgroundColorContext = require("../BackgroundColorContext");
|
|
29
29
|
|
|
30
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8
|
|
30
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
|
|
31
31
|
|
|
32
32
|
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); }
|
|
33
33
|
|
|
@@ -72,7 +72,6 @@ var DxcPaginator = function DxcPaginator(_ref) {
|
|
|
72
72
|
size: "fillParent",
|
|
73
73
|
tabIndex: tabIndex
|
|
74
74
|
}))), /*#__PURE__*/_react["default"].createElement(TotalItemsContainer, null, translatedLabels.paginator.minToMaxOfText(minItemsPerPage, maxItemsPerPage, totalItems)), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
75
|
-
size: "small",
|
|
76
75
|
mode: "secondary",
|
|
77
76
|
disabled: currentPageInternal === 1 || currentPageInternal === 0,
|
|
78
77
|
icon: _Icons.firstIcon,
|
|
@@ -81,7 +80,6 @@ var DxcPaginator = function DxcPaginator(_ref) {
|
|
|
81
80
|
onPageChange(1);
|
|
82
81
|
}
|
|
83
82
|
}), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
84
|
-
size: "small",
|
|
85
83
|
mode: "secondary",
|
|
86
84
|
disabled: currentPageInternal === 1 || currentPageInternal === 0,
|
|
87
85
|
icon: _Icons.previousIcon,
|
|
@@ -89,7 +87,7 @@ var DxcPaginator = function DxcPaginator(_ref) {
|
|
|
89
87
|
onClick: function onClick() {
|
|
90
88
|
onPageChange(currentPage - 1);
|
|
91
89
|
}
|
|
92
|
-
}), showGoToPage
|
|
90
|
+
}), showGoToPage ? /*#__PURE__*/_react["default"].createElement(PageToSelectContainer, null, /*#__PURE__*/_react["default"].createElement(GoToLabel, null, translatedLabels.paginator.goToPageText, " "), /*#__PURE__*/_react["default"].createElement(SelectContainer, null, /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
93
91
|
options: Array.from(Array(totalPages), function (e, num) {
|
|
94
92
|
return {
|
|
95
93
|
label: (num + 1).toString(),
|
|
@@ -102,8 +100,7 @@ var DxcPaginator = function DxcPaginator(_ref) {
|
|
|
102
100
|
value: currentPage.toString(),
|
|
103
101
|
size: "fillParent",
|
|
104
102
|
tabIndex: tabIndex
|
|
105
|
-
})))
|
|
106
|
-
size: "small",
|
|
103
|
+
}))) : /*#__PURE__*/_react["default"].createElement("span", null, translatedLabels.paginator.pageOfText(currentPageInternal, totalPages)), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
107
104
|
mode: "secondary",
|
|
108
105
|
disabled: currentPageInternal === totalPages,
|
|
109
106
|
icon: _Icons.nextIcon,
|
|
@@ -112,7 +109,6 @@ var DxcPaginator = function DxcPaginator(_ref) {
|
|
|
112
109
|
onPageChange(currentPage + 1);
|
|
113
110
|
}
|
|
114
111
|
}), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
115
|
-
size: "small",
|
|
116
112
|
mode: "secondary",
|
|
117
113
|
disabled: currentPageInternal === totalPages,
|
|
118
114
|
icon: _Icons.lastIcon,
|
|
@@ -145,7 +141,7 @@ var DxcPaginatorContainer = _styledComponents["default"].div(_templateObject ||
|
|
|
145
141
|
|
|
146
142
|
var SelectContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n min-width: 5.25rem;\n"])));
|
|
147
143
|
|
|
148
|
-
var ItemsPageContainer = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n margin-right: ", ";\n margin-left: ", ";\n
|
|
144
|
+
var ItemsPageContainer = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n margin-right: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
149
145
|
return props.theme.itemsPerPageSelectorMarginRight;
|
|
150
146
|
}, function (props) {
|
|
151
147
|
return props.theme.itemsPerPageSelectorMarginLeft;
|
|
@@ -153,7 +149,7 @@ var ItemsPageContainer = _styledComponents["default"].span(_templateObject3 || (
|
|
|
153
149
|
|
|
154
150
|
var ItemsLabel = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 0.5rem;\n"])));
|
|
155
151
|
|
|
156
|
-
var GoToLabel = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 0.5rem;\n margin-left:
|
|
152
|
+
var GoToLabel = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 0.5rem;\n margin-left: 0.5rem;\n"])));
|
|
157
153
|
|
|
158
154
|
var TotalItemsContainer = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
159
155
|
return props.theme.totalItemsContainerMarginRight;
|
|
@@ -163,9 +159,7 @@ var TotalItemsContainer = _styledComponents["default"].span(_templateObject6 ||
|
|
|
163
159
|
|
|
164
160
|
var LabelsContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n gap: 0.5rem;\n width: 100%;\n justify-content: flex-end;\n align-items: center;\n"])));
|
|
165
161
|
|
|
166
|
-
var PageToSelectContainer = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n
|
|
167
|
-
|
|
168
|
-
var TextContainer = _styledComponents["default"].span(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])([""])));
|
|
162
|
+
var PageToSelectContainer = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n margin-right: 0.5rem;\n"])));
|
|
169
163
|
|
|
170
164
|
var _default = DxcPaginator;
|
|
171
165
|
exports["default"] = _default;
|
|
@@ -16,26 +16,33 @@ var _Paginator = _interopRequireDefault(require("./Paginator"));
|
|
|
16
16
|
|
|
17
17
|
// Mocking DOMRect for Radix Primitive Popover
|
|
18
18
|
global.globalThis = global;
|
|
19
|
+
global.DOMRect = {
|
|
20
|
+
fromRect: function fromRect() {
|
|
21
|
+
return {
|
|
22
|
+
top: 0,
|
|
23
|
+
left: 0,
|
|
24
|
+
bottom: 0,
|
|
25
|
+
right: 0,
|
|
26
|
+
width: 0,
|
|
27
|
+
height: 0
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
};
|
|
19
31
|
|
|
20
32
|
global.ResizeObserver = /*#__PURE__*/function () {
|
|
21
|
-
function ResizeObserver(
|
|
33
|
+
function ResizeObserver() {
|
|
22
34
|
(0, _classCallCheck2["default"])(this, ResizeObserver);
|
|
23
|
-
this.cb = cb;
|
|
24
35
|
}
|
|
25
36
|
|
|
26
37
|
(0, _createClass2["default"])(ResizeObserver, [{
|
|
27
38
|
key: "observe",
|
|
28
|
-
value: function observe() {
|
|
29
|
-
this.cb([{
|
|
30
|
-
borderBoxSize: {
|
|
31
|
-
inlineSize: 0,
|
|
32
|
-
blockSize: 0
|
|
33
|
-
}
|
|
34
|
-
}]);
|
|
35
|
-
}
|
|
39
|
+
value: function observe() {}
|
|
36
40
|
}, {
|
|
37
41
|
key: "unobserve",
|
|
38
42
|
value: function unobserve() {}
|
|
43
|
+
}, {
|
|
44
|
+
key: "disconnect",
|
|
45
|
+
value: function disconnect() {}
|
|
39
46
|
}]);
|
|
40
47
|
return ResizeObserver;
|
|
41
48
|
}();
|
|
@@ -77,7 +84,7 @@ describe("Paginator component tests", function () {
|
|
|
77
84
|
})),
|
|
78
85
|
getByText = _render3.getByText;
|
|
79
86
|
|
|
80
|
-
expect(getByText("Items per page")).toBeTruthy();
|
|
87
|
+
expect(getByText("Items per page:")).toBeTruthy();
|
|
81
88
|
});
|
|
82
89
|
test("Paginator renders with itemsPerPageOptions", function () {
|
|
83
90
|
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
|
|
@@ -46,9 +46,9 @@ describe("Password input component tests", function () {
|
|
|
46
46
|
label: "Password input",
|
|
47
47
|
onChange: onChange
|
|
48
48
|
})),
|
|
49
|
-
|
|
49
|
+
getByLabelText = _render4.getByLabelText;
|
|
50
50
|
|
|
51
|
-
var passwordInput =
|
|
51
|
+
var passwordInput = getByLabelText("Password input");
|
|
52
52
|
|
|
53
53
|
_userEvent["default"].type(passwordInput, "Pa$$w0rd");
|
|
54
54
|
|
|
@@ -64,9 +64,9 @@ describe("Password input component tests", function () {
|
|
|
64
64
|
label: "Password input",
|
|
65
65
|
onBlur: onBlur
|
|
66
66
|
})),
|
|
67
|
-
|
|
67
|
+
getByLabelText = _render5.getByLabelText;
|
|
68
68
|
|
|
69
|
-
var passwordInput =
|
|
69
|
+
var passwordInput = getByLabelText("Password input");
|
|
70
70
|
|
|
71
71
|
_userEvent["default"].type(passwordInput, "Pa$$w0rd");
|
|
72
72
|
|
|
@@ -83,9 +83,9 @@ describe("Password input component tests", function () {
|
|
|
83
83
|
clearable: true
|
|
84
84
|
})),
|
|
85
85
|
getAllByRole = _render6.getAllByRole,
|
|
86
|
-
|
|
86
|
+
getByLabelText = _render6.getByLabelText;
|
|
87
87
|
|
|
88
|
-
var passwordInput =
|
|
88
|
+
var passwordInput = getByLabelText("Password input");
|
|
89
89
|
|
|
90
90
|
_userEvent["default"].type(passwordInput, "Pa$$w0rd");
|
|
91
91
|
|
|
@@ -101,9 +101,9 @@ describe("Password input component tests", function () {
|
|
|
101
101
|
label: "Password input"
|
|
102
102
|
})),
|
|
103
103
|
getAllByRole = _render7.getAllByRole,
|
|
104
|
-
|
|
104
|
+
getByLabelText = _render7.getByLabelText;
|
|
105
105
|
|
|
106
|
-
var passwordInput =
|
|
106
|
+
var passwordInput = getByLabelText("Password input");
|
|
107
107
|
|
|
108
108
|
_userEvent["default"].type(passwordInput, "Pa$$w0rd");
|
|
109
109
|
|
|
@@ -117,9 +117,9 @@ describe("Password input component tests", function () {
|
|
|
117
117
|
clearable: true
|
|
118
118
|
})),
|
|
119
119
|
getAllByRole = _render8.getAllByRole,
|
|
120
|
-
|
|
120
|
+
getByLabelText = _render8.getByLabelText;
|
|
121
121
|
|
|
122
|
-
var passwordInput =
|
|
122
|
+
var passwordInput = getByLabelText("Password input");
|
|
123
123
|
|
|
124
124
|
_userEvent["default"].type(passwordInput, "Pa$$w0rd");
|
|
125
125
|
|
|
@@ -164,9 +164,10 @@ describe("Password input component tests", function () {
|
|
|
164
164
|
var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_PasswordInput["default"], {
|
|
165
165
|
label: "Password input"
|
|
166
166
|
})),
|
|
167
|
-
getByRole = _render10.getByRole
|
|
167
|
+
getByRole = _render10.getByRole,
|
|
168
|
+
getByLabelText = _render10.getByLabelText;
|
|
168
169
|
|
|
169
|
-
var passwordInput =
|
|
170
|
+
var passwordInput = getByLabelText("Password input");
|
|
170
171
|
expect(passwordInput.getAttribute("aria-autocomplete")).toBeNull();
|
|
171
172
|
expect(passwordInput.getAttribute("aria-controls")).toBeNull();
|
|
172
173
|
expect(passwordInput.getAttribute("aria-expanded")).toBeNull();
|