@dxc-technology/halstack-react 0.0.0-ff43881 → 0.0.0-ff5083e
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 +7 -28
- package/accordion/Accordion.stories.tsx +11 -11
- package/accordion/Accordion.test.js +72 -0
- package/accordion/types.d.ts +4 -0
- package/accordion-group/AccordionGroup.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +13 -15
- package/accordion-group/AccordionGroup.stories.tsx +1 -1
- package/accordion-group/AccordionGroup.test.js +151 -0
- package/accordion-group/types.d.ts +4 -0
- package/alert/Alert.js +4 -1
- package/alert/Alert.test.js +92 -0
- 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 +31 -32
- package/bleed/types.d.ts +25 -1
- package/box/Box.js +22 -32
- package/box/Box.test.js +18 -0
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +120 -0
- package/bulleted-list/BulletedList.stories.tsx +203 -0
- package/bulleted-list/types.d.ts +11 -0
- package/{list → bulleted-list}/types.js +0 -0
- package/button/Button.js +14 -11
- package/button/Button.test.js +35 -0
- package/card/Card.js +24 -27
- package/card/Card.test.js +50 -0
- package/checkbox/Checkbox.d.ts +1 -1
- package/checkbox/Checkbox.js +43 -39
- package/checkbox/Checkbox.stories.tsx +124 -128
- package/checkbox/Checkbox.test.js +78 -0
- package/checkbox/types.d.ts +7 -3
- package/chip/Chip.test.js +56 -0
- package/common/variables.js +197 -322
- package/date-input/DateInput.js +53 -39
- package/date-input/DateInput.stories.tsx +7 -7
- package/date-input/DateInput.test.js +479 -0
- package/date-input/types.d.ts +16 -9
- package/dialog/Dialog.js +4 -32
- package/dialog/Dialog.test.js +40 -0
- package/dropdown/Dropdown.js +13 -17
- package/dropdown/Dropdown.test.js +189 -0
- package/file-input/FileInput.js +9 -6
- package/file-input/FileInput.test.js +457 -0
- package/file-input/FileItem.js +7 -5
- package/footer/Footer.js +15 -88
- package/footer/Footer.test.js +109 -0
- package/header/Header.js +27 -48
- package/header/Header.stories.tsx +46 -36
- package/header/Header.test.js +79 -0
- package/heading/Heading.test.js +186 -0
- package/inset/Inset.js +1 -34
- package/inset/Inset.stories.tsx +32 -32
- package/inset/types.d.ts +25 -1
- package/layout/ApplicationLayout.d.ts +4 -3
- package/layout/ApplicationLayout.js +82 -114
- package/layout/ApplicationLayout.stories.tsx +14 -59
- 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 +5 -10
- package/link/Link.d.ts +3 -2
- package/link/Link.js +57 -74
- package/link/Link.stories.tsx +87 -52
- package/link/Link.test.js +83 -0
- package/link/types.d.ts +7 -23
- package/main.d.ts +7 -10
- package/main.js +33 -51
- package/number-input/NumberInput.js +11 -18
- package/number-input/NumberInput.stories.tsx +5 -5
- package/number-input/NumberInput.test.js +506 -0
- package/number-input/types.d.ts +17 -10
- package/package.json +6 -5
- package/paginator/Paginator.js +17 -38
- package/paginator/Paginator.test.js +266 -0
- 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 +180 -0
- package/password-input/types.d.ts +14 -11
- package/progress-bar/ProgressBar.js +1 -1
- package/progress-bar/ProgressBar.stories.jsx +11 -11
- package/progress-bar/ProgressBar.test.js +65 -0
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +112 -0
- package/quick-nav/QuickNav.stories.tsx +237 -0
- package/quick-nav/types.d.ts +21 -0
- package/{radio → quick-nav}/types.js +0 -0
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +25 -24
- package/radio-group/RadioGroup.js +46 -37
- package/radio-group/RadioGroup.stories.tsx +60 -39
- package/radio-group/RadioGroup.test.js +530 -83
- package/radio-group/types.d.ts +80 -2
- package/resultsetTable/ResultsetTable.test.js +306 -0
- package/row/types.d.ts +18 -0
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +93 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +152 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +110 -0
- package/select/Select.js +109 -327
- package/select/Select.stories.tsx +103 -81
- package/select/Select.test.js +2120 -0
- package/select/types.d.ts +54 -11
- package/sidenav/Sidenav.d.ts +1 -1
- package/sidenav/Sidenav.js +20 -9
- package/sidenav/Sidenav.test.js +56 -0
- package/slider/Slider.d.ts +1 -1
- package/slider/Slider.js +2 -1
- package/slider/Slider.stories.tsx +8 -8
- package/slider/Slider.test.js +150 -0
- package/slider/types.d.ts +4 -0
- package/spinner/Spinner.js +1 -1
- package/spinner/Spinner.test.js +64 -0
- package/stack/types.d.ts +15 -0
- package/switch/Switch.d.ts +1 -1
- package/switch/Switch.js +35 -19
- package/switch/Switch.stories.tsx +14 -14
- package/switch/Switch.test.js +98 -0
- package/switch/types.d.ts +6 -2
- package/table/Table.test.js +26 -0
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +9 -11
- package/tabs/Tabs.stories.tsx +0 -8
- package/tabs/Tabs.test.js +140 -0
- package/tabs/types.d.ts +4 -0
- 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 +132 -0
- package/tabs-nav/types.d.ts +53 -0
- package/tabs-nav/types.js +5 -0
- package/tag/Tag.js +14 -19
- package/tag/Tag.stories.tsx +12 -8
- package/tag/Tag.test.js +60 -0
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +55 -0
- package/text-input/TextInput.js +56 -80
- package/text-input/TextInput.stories.tsx +30 -12
- package/text-input/TextInput.test.js +1712 -0
- package/text-input/types.d.ts +31 -12
- package/textarea/Textarea.js +20 -27
- package/textarea/Textarea.stories.jsx +33 -12
- package/textarea/Textarea.test.js +437 -0
- package/textarea/types.d.ts +18 -11
- 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 +156 -0
- package/toggle-group/types.d.ts +8 -0
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +131 -0
- package/typography/Typography.stories.tsx +175 -0
- package/typography/types.d.ts +18 -0
- package/typography/types.js +5 -0
- package/typography/typographyContextTypes.d.ts +16 -0
- package/typography/typographyContextTypes.js +5 -0
- package/useTheme.js +2 -2
- package/useTranslatedLabels.d.ts +2 -0
- package/useTranslatedLabels.js +20 -0
- package/wizard/Wizard.d.ts +1 -1
- package/wizard/Wizard.js +55 -44
- package/wizard/Wizard.stories.tsx +13 -23
- package/wizard/Wizard.test.js +141 -0
- package/wizard/types.d.ts +6 -2
- package/ThemeContext.d.ts +0 -15
- package/ThemeContext.js +0 -243
- package/V3Select/V3Select.js +0 -455
- package/V3Select/index.d.ts +0 -27
- package/V3Textarea/V3Textarea.js +0 -260
- package/V3Textarea/index.d.ts +0 -27
- package/date/Date.js +0 -373
- package/date/index.d.ts +0 -27
- package/input-text/Icons.js +0 -22
- package/input-text/InputText.js +0 -611
- package/input-text/index.d.ts +0 -36
- 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/types.d.ts +0 -54
- package/text/Text.d.ts +0 -7
- package/text/Text.js +0 -30
- package/text/Text.stories.tsx +0 -19
- package/upload/Upload.js +0 -201
- package/upload/buttons-upload/ButtonsUpload.js +0 -111
- package/upload/buttons-upload/Icons.js +0 -40
- package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
- package/upload/dragAndDropArea/Icons.js +0 -39
- package/upload/file-upload/FileToUpload.js +0 -115
- package/upload/file-upload/Icons.js +0 -66
- package/upload/files-upload/FilesToUpload.js +0 -109
- package/upload/index.d.ts +0 -15
- package/upload/transaction/Icons.js +0 -160
- package/upload/transaction/Transaction.js +0 -104
- package/upload/transactions/Transactions.js +0 -94
package/dropdown/Dropdown.js
CHANGED
|
@@ -138,6 +138,11 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
138
138
|
}));
|
|
139
139
|
};
|
|
140
140
|
|
|
141
|
+
var labelComponent = /*#__PURE__*/_react["default"].createElement(DropdownTriggerLabel, {
|
|
142
|
+
iconPosition: iconPosition,
|
|
143
|
+
label: label
|
|
144
|
+
}, label);
|
|
145
|
+
|
|
141
146
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
142
147
|
theme: colorsTheme.dropdown
|
|
143
148
|
}, /*#__PURE__*/_react["default"].createElement(DXCDropdownContainer, {
|
|
@@ -160,18 +165,14 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
160
165
|
ref: ref,
|
|
161
166
|
tabIndex: tabIndex
|
|
162
167
|
}, /*#__PURE__*/_react["default"].createElement(DropdownTriggerContainer, {
|
|
163
|
-
iconPosition: iconPosition,
|
|
164
168
|
caretHidden: caretHidden
|
|
165
|
-
}, icon && /*#__PURE__*/_react["default"].createElement(ButtonIconContainer, {
|
|
169
|
+
}, iconPosition === "after" && labelComponent, icon && /*#__PURE__*/_react["default"].createElement(ButtonIconContainer, {
|
|
166
170
|
label: label,
|
|
167
171
|
iconPosition: iconPosition,
|
|
168
172
|
disabled: disabled
|
|
169
173
|
}, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(ButtonIcon, {
|
|
170
174
|
src: icon
|
|
171
|
-
}) : icon), /*#__PURE__*/_react["default"].createElement(
|
|
172
|
-
iconPosition: iconPosition,
|
|
173
|
-
label: label
|
|
174
|
-
}, label)), /*#__PURE__*/_react["default"].createElement(CaretIconContainer, {
|
|
175
|
+
}) : icon), iconPosition === "before" && labelComponent), /*#__PURE__*/_react["default"].createElement(CaretIconContainer, {
|
|
175
176
|
caretHidden: caretHidden,
|
|
176
177
|
disabled: disabled
|
|
177
178
|
}, !caretHidden && (anchorEl === null ? /*#__PURE__*/_react["default"].createElement(DownArrowIcon, null) : /*#__PURE__*/_react["default"].createElement(UpArrowIcon, null)))), /*#__PURE__*/_react["default"].createElement(DXCMenu, {
|
|
@@ -187,7 +188,6 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
187
188
|
vertical: "top",
|
|
188
189
|
horizontal: "left"
|
|
189
190
|
},
|
|
190
|
-
optionsIconPosition: optionsIconPosition,
|
|
191
191
|
size: size,
|
|
192
192
|
width: width,
|
|
193
193
|
role: undefined,
|
|
@@ -209,12 +209,14 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
209
209
|
onClick: function onClick(event) {
|
|
210
210
|
return handleMenuItemClick(option);
|
|
211
211
|
}
|
|
212
|
-
},
|
|
212
|
+
}, optionsIconPosition === "after" && /*#__PURE__*/_react["default"].createElement("span", {
|
|
213
|
+
className: "optionLabel"
|
|
214
|
+
}, option.label), option.icon && /*#__PURE__*/_react["default"].createElement(ListIconContainer, {
|
|
213
215
|
label: option.label,
|
|
214
216
|
iconPosition: optionsIconPosition
|
|
215
217
|
}, typeof option.icon === "string" ? /*#__PURE__*/_react["default"].createElement(ListIcon, {
|
|
216
218
|
src: option.icon
|
|
217
|
-
}) : option.icon), /*#__PURE__*/_react["default"].createElement("span", {
|
|
219
|
+
}) : option.icon), optionsIconPosition === "before" && /*#__PURE__*/_react["default"].createElement("span", {
|
|
218
220
|
className: "optionLabel"
|
|
219
221
|
}, option.label));
|
|
220
222
|
})))));
|
|
@@ -251,7 +253,7 @@ var DXCDropdownContainer = _styledComponents["default"].div(_templateObject || (
|
|
|
251
253
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
252
254
|
});
|
|
253
255
|
|
|
254
|
-
var DXCMenu = (0, _styledComponents["default"])(_Popper["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n z-index: 1;\n\n .MuiMenuItem-gutters {\n width: ", ";\n }\n .MuiMenuItem-root {\n min-height: 36px;\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n height: auto;\n }\n .MuiPaper-root {\n min-width: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n border-bottom-left-radius: ", ";\n border-bottom-right-radius: ", ";\n border-top-left-radius: 0px;\n border-top-right-radius: 0px;\n max-height: 230px;\n overflow-y: auto;\n\n ::-webkit-scrollbar {\n width: 3px;\n }\n ::-webkit-scrollbar-track {\n background-color: ", ";\n border-radius: 3px;\n }\n ::-webkit-scrollbar-thumb {\n background-color: ", ";\n border-radius: 3px;\n }\n\n .MuiList-padding {\n padding-top: 0px;\n padding-bottom: 0px;\n }\n .MuiListItem-button {\n display: flex;\n
|
|
256
|
+
var DXCMenu = (0, _styledComponents["default"])(_Popper["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n z-index: 1;\n\n .MuiMenuItem-gutters {\n width: ", ";\n }\n .MuiMenuItem-root {\n min-height: 36px;\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n height: auto;\n }\n .MuiPaper-root {\n min-width: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n border-bottom-left-radius: ", ";\n border-bottom-right-radius: ", ";\n border-top-left-radius: 0px;\n border-top-right-radius: 0px;\n max-height: 230px;\n overflow-y: auto;\n\n ::-webkit-scrollbar {\n width: 3px;\n }\n ::-webkit-scrollbar-track {\n background-color: ", ";\n border-radius: 3px;\n }\n ::-webkit-scrollbar-thumb {\n background-color: ", ";\n border-radius: 3px;\n }\n\n .MuiList-padding {\n padding-top: 0px;\n padding-bottom: 0px;\n }\n .MuiListItem-button {\n display: flex;\n background-color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n cursor: pointer;\n }\n .MuiListItem-button:focus {\n outline: ", " solid 2px;\n outline-offset: -2px;\n }\n .MuiListItem-button:hover {\n background-color: ", ";\n }\n .MuiListItem-button:active {\n background-color: ", ";\n outline: ", " solid 2px;\n outline-offset: -2px;\n }\n }\n"])), function (props) {
|
|
255
257
|
return calculateWidth(props.margin, props.size);
|
|
256
258
|
}, function (props) {
|
|
257
259
|
return props.theme.optionPaddingTop;
|
|
@@ -277,10 +279,6 @@ var DXCMenu = (0, _styledComponents["default"])(_Popper["default"])(_templateObj
|
|
|
277
279
|
return props.theme.scrollBarTrackColor;
|
|
278
280
|
}, function (props) {
|
|
279
281
|
return props.theme.scrollBarThumbColor;
|
|
280
|
-
}, function (props) {
|
|
281
|
-
return props.optionsIconPosition === "after" && "row-reverse" || "row";
|
|
282
|
-
}, function (props) {
|
|
283
|
-
return props.optionsIconPosition === "after" && "flex-end" || "";
|
|
284
282
|
}, function (props) {
|
|
285
283
|
return props.theme.optionBackgroundColor;
|
|
286
284
|
}, function (props) {
|
|
@@ -345,9 +343,7 @@ var DropdownTrigger = _styledComponents["default"].button(_templateObject3 || (_
|
|
|
345
343
|
|
|
346
344
|
var DropdownTriggerLabel = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n text-align: left;\n text-overflow: ellipsis;\n overflow: hidden;\n"])));
|
|
347
345
|
|
|
348
|
-
var DropdownTriggerContainer = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n
|
|
349
|
-
return props.iconPosition === "after" && "row-reverse" || "row";
|
|
350
|
-
}, function (props) {
|
|
346
|
+
var DropdownTriggerContainer = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n margin-left: 0px;\n margin-right: 0px;\n width: ", ";\n white-space: nowrap;\n"])), function (props) {
|
|
351
347
|
return props.caretHidden ? "100%" : "calc(100% - 36px)";
|
|
352
348
|
});
|
|
353
349
|
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _react2 = require("@testing-library/react");
|
|
8
|
+
|
|
9
|
+
var _Dropdown = _interopRequireDefault(require("./Dropdown"));
|
|
10
|
+
|
|
11
|
+
global.document.createRange = function () {
|
|
12
|
+
return {
|
|
13
|
+
setStart: function setStart() {},
|
|
14
|
+
setEnd: function setEnd() {},
|
|
15
|
+
commonAncestorContainer: {
|
|
16
|
+
nodeName: "BODY",
|
|
17
|
+
ownerDocument: document
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
describe("Dropdown component tests", function () {
|
|
23
|
+
test("Dropdown renders with correct label", function () {
|
|
24
|
+
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
|
|
25
|
+
label: "dropdown-test"
|
|
26
|
+
})),
|
|
27
|
+
getByText = _render.getByText;
|
|
28
|
+
|
|
29
|
+
expect(getByText("dropdown-test")).toBeTruthy();
|
|
30
|
+
});
|
|
31
|
+
test("Dropdown renders with correct icon before", function () {
|
|
32
|
+
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
|
|
33
|
+
icon: "/testIcon",
|
|
34
|
+
label: "dropdown-test"
|
|
35
|
+
})),
|
|
36
|
+
getAllByRole = _render2.getAllByRole;
|
|
37
|
+
|
|
38
|
+
var image = getAllByRole("img")[0];
|
|
39
|
+
expect(image.getAttribute("src")).toEqual("/testIcon");
|
|
40
|
+
});
|
|
41
|
+
test("Dropdown renders with correct icon after", function () {
|
|
42
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
|
|
43
|
+
icon: "/testIcon",
|
|
44
|
+
iconPosition: "after",
|
|
45
|
+
label: "dropdown-test"
|
|
46
|
+
})),
|
|
47
|
+
getAllByRole = _render3.getAllByRole;
|
|
48
|
+
|
|
49
|
+
var image = getAllByRole("img")[0];
|
|
50
|
+
expect(image.getAttribute("src")).toEqual("/testIcon");
|
|
51
|
+
});
|
|
52
|
+
test("onClick shows and hides option", function () {
|
|
53
|
+
var options = [{
|
|
54
|
+
value: 1,
|
|
55
|
+
label: "option-test"
|
|
56
|
+
}];
|
|
57
|
+
|
|
58
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
|
|
59
|
+
options: options,
|
|
60
|
+
label: "dropdown-test"
|
|
61
|
+
})),
|
|
62
|
+
queryByText = _render4.queryByText;
|
|
63
|
+
|
|
64
|
+
var dropdown = queryByText("dropdown-test"); //Before clicked is not showed
|
|
65
|
+
|
|
66
|
+
expect(queryByText("option-test")).toBeFalsy();
|
|
67
|
+
(0, _react2.act)(function () {
|
|
68
|
+
_react2.fireEvent.click(dropdown);
|
|
69
|
+
});
|
|
70
|
+
expect(queryByText("option-test")).toBeTruthy();
|
|
71
|
+
});
|
|
72
|
+
test("Disabled dropdown is not clickable", function () {
|
|
73
|
+
var options = [{
|
|
74
|
+
value: 1,
|
|
75
|
+
label: "option-test"
|
|
76
|
+
}];
|
|
77
|
+
|
|
78
|
+
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
|
|
79
|
+
options: options,
|
|
80
|
+
disabled: true,
|
|
81
|
+
label: "dropdown-test"
|
|
82
|
+
})),
|
|
83
|
+
queryByText = _render5.queryByText;
|
|
84
|
+
|
|
85
|
+
var dropdown = queryByText("dropdown-test");
|
|
86
|
+
expect(queryByText("option-test")).toBeFalsy();
|
|
87
|
+
(0, _react2.act)(function () {
|
|
88
|
+
_react2.fireEvent.click(dropdown);
|
|
89
|
+
});
|
|
90
|
+
expect(queryByText("option-test")).toBeFalsy();
|
|
91
|
+
});
|
|
92
|
+
test("Dropdown renders with correct icon before option", function () {
|
|
93
|
+
var options = [{
|
|
94
|
+
value: 1,
|
|
95
|
+
label: "option-test",
|
|
96
|
+
icon: "/testIcon"
|
|
97
|
+
}];
|
|
98
|
+
|
|
99
|
+
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
|
|
100
|
+
options: options,
|
|
101
|
+
label: "dropdown-test"
|
|
102
|
+
})),
|
|
103
|
+
getByText = _render6.getByText,
|
|
104
|
+
getByRole = _render6.getByRole;
|
|
105
|
+
|
|
106
|
+
var dropdown = getByText("dropdown-test");
|
|
107
|
+
(0, _react2.act)(function () {
|
|
108
|
+
_react2.fireEvent.click(dropdown);
|
|
109
|
+
});
|
|
110
|
+
expect(getByRole("img").getAttribute("src")).toEqual("/testIcon");
|
|
111
|
+
});
|
|
112
|
+
test("Dropdown renders with correct icon after option", function () {
|
|
113
|
+
var options = [{
|
|
114
|
+
value: 1,
|
|
115
|
+
label: "option-test",
|
|
116
|
+
icon: "/testIcon"
|
|
117
|
+
}];
|
|
118
|
+
|
|
119
|
+
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
|
|
120
|
+
options: options,
|
|
121
|
+
optionsIconPosition: "after",
|
|
122
|
+
label: "dropdown-test"
|
|
123
|
+
})),
|
|
124
|
+
getByText = _render7.getByText,
|
|
125
|
+
getByRole = _render7.getByRole;
|
|
126
|
+
|
|
127
|
+
var dropdown = getByText("dropdown-test");
|
|
128
|
+
(0, _react2.act)(function () {
|
|
129
|
+
_react2.fireEvent.click(dropdown);
|
|
130
|
+
});
|
|
131
|
+
expect(getByRole("img").getAttribute("src")).toEqual("/testIcon");
|
|
132
|
+
});
|
|
133
|
+
test("Dropdown renders with caret hidden", function () {
|
|
134
|
+
var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
|
|
135
|
+
caretHidden: true,
|
|
136
|
+
label: "dropdown-test"
|
|
137
|
+
})),
|
|
138
|
+
queryByRole = _render8.queryByRole;
|
|
139
|
+
|
|
140
|
+
expect(queryByRole("img")).toBeFalsy();
|
|
141
|
+
});
|
|
142
|
+
test("onSelectOption fuction is called correctly", function () {
|
|
143
|
+
var onSelectOption = jest.fn(function (i) {
|
|
144
|
+
return i;
|
|
145
|
+
});
|
|
146
|
+
var options = [{
|
|
147
|
+
value: 1,
|
|
148
|
+
label: "option-test"
|
|
149
|
+
}];
|
|
150
|
+
|
|
151
|
+
var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
|
|
152
|
+
options: options,
|
|
153
|
+
onSelectOption: onSelectOption,
|
|
154
|
+
label: "dropdown-test"
|
|
155
|
+
})),
|
|
156
|
+
getByText = _render9.getByText;
|
|
157
|
+
|
|
158
|
+
var dropdown = getByText("dropdown-test");
|
|
159
|
+
(0, _react2.act)(function () {
|
|
160
|
+
_react2.fireEvent.click(dropdown);
|
|
161
|
+
});
|
|
162
|
+
var option = getByText("option-test");
|
|
163
|
+
(0, _react2.act)(function () {
|
|
164
|
+
_react2.fireEvent.click(option);
|
|
165
|
+
});
|
|
166
|
+
expect(onSelectOption).toHaveBeenCalledWith(1);
|
|
167
|
+
});
|
|
168
|
+
test("expandOnHover shows and hides the option correctly", function () {
|
|
169
|
+
var options = [{
|
|
170
|
+
value: 1,
|
|
171
|
+
label: "option-test"
|
|
172
|
+
}];
|
|
173
|
+
|
|
174
|
+
var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
|
|
175
|
+
options: options,
|
|
176
|
+
expandOnHover: true,
|
|
177
|
+
label: "dropdown-test"
|
|
178
|
+
})),
|
|
179
|
+
queryByText = _render10.queryByText;
|
|
180
|
+
|
|
181
|
+
var dropdown = queryByText("dropdown-test"); //Verify that is not showed before
|
|
182
|
+
|
|
183
|
+
expect(queryByText("option-test")).toBeFalsy();
|
|
184
|
+
(0, _react2.act)(function () {
|
|
185
|
+
_react2.fireEvent.mouseOver(dropdown);
|
|
186
|
+
});
|
|
187
|
+
expect(queryByText("option-test")).toBeTruthy();
|
|
188
|
+
});
|
|
189
|
+
});
|
package/file-input/FileInput.js
CHANGED
|
@@ -33,6 +33,8 @@ var _variables = require("../common/variables.js");
|
|
|
33
33
|
|
|
34
34
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
35
35
|
|
|
36
|
+
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
37
|
+
|
|
36
38
|
var _Button = _interopRequireDefault(require("../button/Button"));
|
|
37
39
|
|
|
38
40
|
var _FileItem = _interopRequireDefault(require("./FileItem"));
|
|
@@ -127,6 +129,7 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
127
129
|
fileInputId = _useState6[0];
|
|
128
130
|
|
|
129
131
|
var colorsTheme = (0, _useTheme["default"])();
|
|
132
|
+
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
130
133
|
(0, _react.useEffect)(function () {
|
|
131
134
|
var getFiles = /*#__PURE__*/function () {
|
|
132
135
|
var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
@@ -204,11 +207,11 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
204
207
|
|
|
205
208
|
var checkFileSize = function checkFileSize(file) {
|
|
206
209
|
if (file.size < minSize) {
|
|
207
|
-
return
|
|
210
|
+
return translatedLabels.fileInput.fileSizeGreaterThanErrorMessage;
|
|
208
211
|
}
|
|
209
212
|
|
|
210
213
|
if (file.size > maxSize) {
|
|
211
|
-
return
|
|
214
|
+
return translatedLabels.fileInput.fileSizeLessThanErrorMessage;
|
|
212
215
|
}
|
|
213
216
|
};
|
|
214
217
|
|
|
@@ -410,7 +413,7 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
410
413
|
onChange: selectFiles
|
|
411
414
|
}), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
412
415
|
mode: "secondary",
|
|
413
|
-
label: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel : multiple ?
|
|
416
|
+
label: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel : multiple ? translatedLabels.fileInput.multipleButtonLabelDefault : translatedLabels.fileInput.singleButtonLabelDefault,
|
|
414
417
|
onClick: handleClick,
|
|
415
418
|
disabled: disabled,
|
|
416
419
|
size: "medium",
|
|
@@ -450,15 +453,15 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
450
453
|
mode: mode
|
|
451
454
|
}, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
452
455
|
mode: "secondary",
|
|
453
|
-
label: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel :
|
|
456
|
+
label: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel : translatedLabels.fileInput.dropAreaButtonLabelDefault,
|
|
454
457
|
onClick: handleClick,
|
|
455
458
|
disabled: disabled,
|
|
456
459
|
size: "fitContent"
|
|
457
460
|
})), mode === "dropzone" ? /*#__PURE__*/_react["default"].createElement(DropzoneLabel, {
|
|
458
461
|
disabled: disabled
|
|
459
|
-
}, dropAreaLabel !== null && dropAreaLabel !== void 0 ? dropAreaLabel : multiple ?
|
|
462
|
+
}, dropAreaLabel !== null && dropAreaLabel !== void 0 ? dropAreaLabel : multiple ? translatedLabels.fileInput.multipleDropAreaLabelDefault : translatedLabels.fileInput.singleDropAreaLabelDefault) : /*#__PURE__*/_react["default"].createElement(FiledropLabel, {
|
|
460
463
|
disabled: disabled
|
|
461
|
-
}, dropAreaLabel !== null && dropAreaLabel !== void 0 ? dropAreaLabel : multiple ?
|
|
464
|
+
}, dropAreaLabel !== null && dropAreaLabel !== void 0 ? dropAreaLabel : multiple ? translatedLabels.fileInput.multipleDropAreaLabelDefault : translatedLabels.fileInput.singleDropAreaLabelDefault)), files.map(function (file) {
|
|
462
465
|
return /*#__PURE__*/_react["default"].createElement(FileItemContainer, {
|
|
463
466
|
mode: mode,
|
|
464
467
|
multiple: multiple,
|