@dxc-technology/halstack-react 0.0.0-efa7c74 → 0.0.0-f00a97a
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/BackgroundColorContext.d.ts +10 -0
- package/BackgroundColorContext.js +1 -4
- package/HalstackContext.d.ts +12 -0
- package/HalstackContext.js +295 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +15 -47
- package/accordion/Accordion.stories.tsx +307 -0
- package/accordion/Accordion.test.js +72 -0
- package/accordion/types.d.ts +8 -8
- package/accordion-group/AccordionGroup.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +16 -17
- package/accordion-group/AccordionGroup.stories.tsx +225 -0
- package/accordion-group/AccordionGroup.test.js +151 -0
- package/accordion-group/types.d.ts +8 -8
- package/alert/Alert.js +6 -3
- package/alert/Alert.test.js +92 -0
- package/badge/Badge.d.ts +4 -0
- package/badge/Badge.js +6 -4
- package/badge/types.d.ts +5 -0
- package/{radio → badge}/types.js +0 -0
- package/bleed/Bleed.d.ts +3 -0
- package/bleed/Bleed.js +51 -0
- package/bleed/Bleed.stories.tsx +341 -0
- package/bleed/types.d.ts +37 -0
- package/bleed/types.js +5 -0
- package/box/Box.js +24 -34
- package/box/Box.test.js +18 -0
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +123 -0
- package/bulleted-list/BulletedList.stories.tsx +200 -0
- package/bulleted-list/types.d.ts +11 -0
- package/bulleted-list/types.js +5 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +59 -82
- package/button/Button.stories.tsx +15 -8
- package/button/Button.test.js +35 -0
- package/button/types.d.ts +8 -12
- package/card/Card.js +25 -28
- package/card/Card.stories.tsx +1 -1
- package/card/Card.test.js +50 -0
- package/checkbox/Checkbox.d.ts +1 -1
- package/checkbox/Checkbox.js +45 -41
- package/checkbox/Checkbox.stories.tsx +124 -128
- package/checkbox/Checkbox.test.js +78 -0
- package/checkbox/types.d.ts +8 -4
- package/chip/Chip.d.ts +4 -0
- package/chip/Chip.js +16 -76
- package/chip/Chip.stories.tsx +6 -8
- package/chip/Chip.test.js +56 -0
- package/chip/types.d.ts +45 -0
- package/chip/types.js +5 -0
- package/common/variables.js +282 -355
- package/date-input/DateInput.js +66 -55
- 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 +50 -53
- package/dialog/Dialog.stories.tsx +1 -2
- package/dialog/Dialog.test.js +70 -0
- package/dialog/types.d.ts +2 -2
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +242 -272
- package/dropdown/Dropdown.stories.tsx +312 -0
- package/dropdown/Dropdown.test.js +591 -0
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +80 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +92 -0
- package/dropdown/types.d.ts +30 -19
- package/file-input/FileInput.d.ts +1 -1
- package/file-input/FileInput.js +165 -83
- package/file-input/FileInput.stories.tsx +507 -0
- package/file-input/FileInput.test.js +457 -0
- package/file-input/FileItem.js +12 -8
- package/file-input/types.d.ts +32 -7
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +57 -0
- package/flex/Flex.stories.tsx +103 -0
- package/flex/types.d.ts +21 -0
- package/flex/types.js +5 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +32 -113
- package/footer/{Footer.stories.jsx → Footer.stories.tsx} +1 -22
- package/footer/Footer.test.js +109 -0
- package/footer/Icons.d.ts +2 -0
- package/footer/Icons.js +4 -4
- package/footer/types.d.ts +21 -17
- package/header/Header.js +97 -116
- package/header/Header.stories.tsx +46 -36
- package/header/Header.test.js +79 -0
- package/header/Icons.d.ts +2 -0
- package/header/Icons.js +2 -2
- package/header/types.d.ts +2 -2
- package/heading/Heading.js +1 -1
- package/heading/Heading.stories.tsx +3 -2
- package/heading/Heading.test.js +186 -0
- package/inset/Inset.d.ts +3 -0
- package/inset/Inset.js +51 -0
- package/inset/Inset.stories.tsx +229 -0
- package/inset/types.d.ts +37 -0
- package/inset/types.js +5 -0
- package/layout/ApplicationLayout.d.ts +20 -0
- package/layout/ApplicationLayout.js +71 -135
- package/layout/ApplicationLayout.stories.tsx +161 -0
- 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 +42 -0
- package/layout/types.js +5 -0
- package/link/Link.d.ts +3 -2
- package/link/Link.js +61 -86
- package/link/Link.stories.tsx +99 -52
- package/link/Link.test.js +83 -0
- package/link/types.d.ts +9 -29
- package/main.d.ts +12 -12
- package/main.js +64 -58
- package/number-input/NumberInput.js +14 -24
- 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 +14 -10
- package/paginator/Paginator.js +19 -46
- package/paginator/Paginator.test.js +308 -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 +23 -19
- package/password-input/PasswordInput.stories.tsx +3 -3
- package/password-input/PasswordInput.test.js +180 -0
- package/password-input/types.d.ts +26 -21
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +59 -53
- package/progress-bar/ProgressBar.stories.jsx +13 -11
- package/progress-bar/ProgressBar.test.js +110 -0
- package/progress-bar/types.d.ts +3 -4
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +118 -0
- package/quick-nav/QuickNav.stories.tsx +264 -0
- package/quick-nav/types.d.ts +21 -0
- package/quick-nav/types.js +5 -0
- package/radio-group/Radio.d.ts +4 -0
- package/radio-group/Radio.js +141 -0
- package/radio-group/RadioGroup.d.ts +4 -0
- package/radio-group/RadioGroup.js +281 -0
- package/radio-group/RadioGroup.stories.tsx +100 -0
- package/radio-group/RadioGroup.test.js +695 -0
- package/radio-group/types.d.ts +114 -0
- package/radio-group/types.js +5 -0
- package/resultsetTable/ResultsetTable.d.ts +1 -1
- package/resultsetTable/ResultsetTable.js +9 -4
- package/resultsetTable/ResultsetTable.stories.tsx +275 -0
- package/resultsetTable/ResultsetTable.test.js +348 -0
- package/resultsetTable/types.d.ts +6 -2
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +93 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +199 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +110 -0
- package/select/Select.d.ts +4 -0
- package/select/Select.js +158 -380
- package/select/Select.stories.tsx +231 -176
- package/select/Select.test.js +2175 -0
- package/select/types.d.ts +210 -0
- package/select/types.js +5 -0
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +186 -54
- package/sidenav/Sidenav.stories.tsx +154 -139
- package/sidenav/Sidenav.test.js +44 -0
- package/sidenav/types.d.ts +50 -27
- package/slider/Slider.d.ts +1 -1
- package/slider/Slider.js +7 -6
- package/slider/Slider.stories.tsx +8 -8
- package/slider/Slider.test.js +187 -0
- package/slider/types.d.ts +4 -0
- package/spinner/Spinner.js +3 -3
- package/spinner/Spinner.stories.jsx +1 -0
- package/spinner/Spinner.test.js +64 -0
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +129 -57
- package/switch/Switch.stories.tsx +21 -43
- package/switch/Switch.test.js +212 -0
- package/switch/types.d.ts +9 -6
- package/table/Table.js +2 -2
- package/table/Table.stories.jsx +2 -1
- package/table/Table.test.js +26 -0
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +17 -19
- package/tabs/Tabs.stories.tsx +7 -16
- package/tabs/Tabs.test.js +140 -0
- package/tabs/types.d.ts +27 -15
- package/tabs-nav/NavTabs.d.ts +8 -0
- package/tabs-nav/NavTabs.js +125 -0
- package/tabs-nav/NavTabs.stories.tsx +170 -0
- package/tabs-nav/NavTabs.test.js +82 -0
- package/tabs-nav/Tab.d.ts +4 -0
- package/tabs-nav/Tab.js +130 -0
- package/tabs-nav/types.d.ts +53 -0
- package/tabs-nav/types.js +5 -0
- package/tag/Tag.d.ts +1 -1
- package/tag/Tag.js +18 -28
- package/tag/Tag.stories.tsx +26 -29
- package/tag/Tag.test.js +60 -0
- package/tag/types.d.ts +23 -14
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +55 -0
- package/text-input/TextInput.js +100 -124
- package/text-input/TextInput.stories.tsx +473 -0
- package/text-input/TextInput.test.js +1712 -0
- package/text-input/types.d.ts +44 -23
- package/textarea/Textarea.d.ts +4 -0
- package/textarea/Textarea.js +39 -79
- package/textarea/Textarea.stories.jsx +37 -15
- package/textarea/Textarea.test.js +437 -0
- package/textarea/types.d.ts +137 -0
- package/textarea/types.js +5 -0
- package/toggle-group/ToggleGroup.d.ts +1 -1
- package/toggle-group/ToggleGroup.js +15 -17
- package/toggle-group/ToggleGroup.stories.tsx +27 -32
- package/toggle-group/ToggleGroup.test.js +156 -0
- package/toggle-group/types.d.ts +47 -26
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +131 -0
- package/typography/Typography.stories.tsx +198 -0
- package/typography/types.d.ts +18 -0
- package/typography/types.js +5 -0
- package/useTheme.d.ts +2 -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 +112 -58
- package/wizard/{Wizard.stories.jsx → Wizard.stories.tsx} +33 -24
- package/wizard/Wizard.test.js +141 -0
- package/wizard/types.d.ts +13 -12
- package/ThemeContext.js +0 -246
- 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/chip/index.d.ts +0 -22
- 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/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/select/index.d.ts +0 -131
- package/textarea/index.d.ts +0 -117
- package/toggle/Toggle.js +0 -186
- package/toggle/index.d.ts +0 -21
- 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/wizard/Icons.js +0 -65
package/card/Card.js
CHANGED
|
@@ -21,11 +21,11 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
|
21
21
|
|
|
22
22
|
var _variables = require("../common/variables.js");
|
|
23
23
|
|
|
24
|
-
var _useTheme = _interopRequireDefault(require("../useTheme
|
|
24
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
25
25
|
|
|
26
26
|
var _Box = _interopRequireDefault(require("../box/Box"));
|
|
27
27
|
|
|
28
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5
|
|
28
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
29
29
|
|
|
30
30
|
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); }
|
|
31
31
|
|
|
@@ -56,22 +56,13 @@ var DxcCard = function DxcCard(_ref) {
|
|
|
56
56
|
isHovered = _useState2[0],
|
|
57
57
|
changeIsHovered = _useState2[1];
|
|
58
58
|
|
|
59
|
-
var
|
|
60
|
-
shadowDepth: !outlined ? 0 : isHovered && (onClick || linkHref) ? 2 : 1
|
|
61
|
-
}, /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
62
|
-
theme: colorsTheme.card
|
|
63
|
-
}, /*#__PURE__*/_react["default"].createElement(CardContainer, {
|
|
64
|
-
hasAction: onClick || linkHref,
|
|
65
|
-
imagePosition: imagePosition
|
|
66
|
-
}, imageSrc && /*#__PURE__*/_react["default"].createElement(ImageContainer, {
|
|
59
|
+
var imageComponent = /*#__PURE__*/_react["default"].createElement(ImageContainer, {
|
|
67
60
|
imageBgColor: imageBgColor
|
|
68
61
|
}, /*#__PURE__*/_react["default"].createElement(TagImage, {
|
|
69
62
|
imagePadding: imagePadding,
|
|
70
63
|
cover: imageCover,
|
|
71
64
|
src: imageSrc
|
|
72
|
-
}))
|
|
73
|
-
contentPadding: contentPadding
|
|
74
|
-
}, children))));
|
|
65
|
+
}));
|
|
75
66
|
|
|
76
67
|
return /*#__PURE__*/_react["default"].createElement(StyledDxcCard, {
|
|
77
68
|
margin: margin,
|
|
@@ -82,15 +73,23 @@ var DxcCard = function DxcCard(_ref) {
|
|
|
82
73
|
return changeIsHovered(false);
|
|
83
74
|
},
|
|
84
75
|
onClick: onClick,
|
|
85
|
-
hasAction: onClick,
|
|
86
|
-
tabIndex:
|
|
87
|
-
|
|
88
|
-
tabIndex: tabIndex,
|
|
76
|
+
hasAction: onClick || linkHref,
|
|
77
|
+
tabIndex: onClick || linkHref ? tabIndex : -1,
|
|
78
|
+
as: linkHref && "a",
|
|
89
79
|
href: linkHref
|
|
90
|
-
},
|
|
80
|
+
}, /*#__PURE__*/_react["default"].createElement(_Box["default"], {
|
|
81
|
+
shadowDepth: !outlined ? 0 : isHovered && (onClick || linkHref) ? 2 : 1
|
|
82
|
+
}, /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
83
|
+
theme: colorsTheme.card
|
|
84
|
+
}, /*#__PURE__*/_react["default"].createElement(CardContainer, {
|
|
85
|
+
hasAction: onClick || linkHref,
|
|
86
|
+
imagePosition: imagePosition
|
|
87
|
+
}, imageSrc && imagePosition === "before" && imageComponent, /*#__PURE__*/_react["default"].createElement(CardContent, {
|
|
88
|
+
contentPadding: contentPadding
|
|
89
|
+
}, children), imageSrc && imagePosition === "after" && imageComponent))));
|
|
91
90
|
};
|
|
92
91
|
|
|
93
|
-
var StyledDxcCard = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n cursor: ", ";\n outline: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n
|
|
92
|
+
var StyledDxcCard = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n cursor: ", ";\n outline: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n text-decoration: none;\n\n ", "\n"])), function (_ref2) {
|
|
94
93
|
var hasAction = _ref2.hasAction;
|
|
95
94
|
return hasAction && "pointer" || "unset";
|
|
96
95
|
}, function (_ref3) {
|
|
@@ -111,12 +110,12 @@ var StyledDxcCard = _styledComponents["default"].div(_templateObject || (_templa
|
|
|
111
110
|
}, function (_ref8) {
|
|
112
111
|
var margin = _ref8.margin;
|
|
113
112
|
return margin && margin.left ? _variables.spaces[margin.left] : "";
|
|
113
|
+
}, function (_ref9) {
|
|
114
|
+
var hasAction = _ref9.hasAction;
|
|
115
|
+
return hasAction && ":focus {\n outline: #0095ff auto 1px;\n }";
|
|
114
116
|
});
|
|
115
117
|
|
|
116
|
-
var CardContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n
|
|
117
|
-
var imagePosition = _ref9.imagePosition;
|
|
118
|
-
return imagePosition === "before" && "row" || "row-reverse";
|
|
119
|
-
}, function (props) {
|
|
118
|
+
var CardContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n height: ", ";\n width: ", ";\n &:hover {\n border-color: ", ";\n }\n"])), function (props) {
|
|
120
119
|
return props.theme.height;
|
|
121
120
|
}, function (props) {
|
|
122
121
|
return props.theme.width;
|
|
@@ -125,9 +124,7 @@ var CardContainer = _styledComponents["default"].div(_templateObject2 || (_templ
|
|
|
125
124
|
return hasAction ? "" : "unset";
|
|
126
125
|
});
|
|
127
126
|
|
|
128
|
-
var
|
|
129
|
-
|
|
130
|
-
var TagImage = _styledComponents["default"].img(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n object-fit: ", ";\n"])), function (_ref11) {
|
|
127
|
+
var TagImage = _styledComponents["default"].img(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n object-fit: ", ";\n"])), function (_ref11) {
|
|
131
128
|
var imagePadding = _ref11.imagePadding;
|
|
132
129
|
return !imagePadding ? "100%" : "calc(100% - ".concat(_variables.spaces[imagePadding], " - ").concat(_variables.spaces[imagePadding], ")");
|
|
133
130
|
}, function (_ref12) {
|
|
@@ -138,12 +135,12 @@ var TagImage = _styledComponents["default"].img(_templateObject4 || (_templateOb
|
|
|
138
135
|
return cover ? "cover" : "contain";
|
|
139
136
|
});
|
|
140
137
|
|
|
141
|
-
var ImageContainer = _styledComponents["default"].div(
|
|
138
|
+
var ImageContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n width: 35%;\n height: 100%;\n flex-shrink: 0;\n background: ", ";\n justify-content: center;\n align-items: center;\n display: inline-flex;\n"])), function (_ref14) {
|
|
142
139
|
var imageBgColor = _ref14.imageBgColor;
|
|
143
140
|
return imageBgColor;
|
|
144
141
|
});
|
|
145
142
|
|
|
146
|
-
var CardContent = _styledComponents["default"].div(
|
|
143
|
+
var CardContent = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n flex-grow: 1;\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n overflow: hidden;\n"])), function (_ref15) {
|
|
147
144
|
var contentPadding = _ref15.contentPadding;
|
|
148
145
|
return contentPadding && (0, _typeof2["default"])(contentPadding) !== "object" ? _variables.spaces[contentPadding] : "0px";
|
|
149
146
|
}, function (_ref16) {
|
package/card/Card.stories.tsx
CHANGED
|
@@ -174,7 +174,7 @@ const actionCard = () => (
|
|
|
174
174
|
<Title title="Focused default with action" theme="light" level={4} />
|
|
175
175
|
<DxcCard onClick={() => {}}>Focused default with action</DxcCard>
|
|
176
176
|
</ExampleContainer>
|
|
177
|
-
<ExampleContainer>
|
|
177
|
+
<ExampleContainer expanded>
|
|
178
178
|
<Title title="Hovered default with action" theme="light" level={4} />
|
|
179
179
|
<DxcCard onClick={() => {}}>Hovered default with action</DxcCard>
|
|
180
180
|
</ExampleContainer>
|
|
@@ -0,0 +1,50 @@
|
|
|
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 _Card = _interopRequireDefault(require("./Card"));
|
|
10
|
+
|
|
11
|
+
describe("Card component tests", function () {
|
|
12
|
+
test("Card renders with correct content", function () {
|
|
13
|
+
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], null, "test-card")),
|
|
14
|
+
getByText = _render.getByText;
|
|
15
|
+
|
|
16
|
+
expect(getByText("test-card")).toBeTruthy();
|
|
17
|
+
});
|
|
18
|
+
test("Card renders with correct href", function () {
|
|
19
|
+
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], {
|
|
20
|
+
linkHref: "/testPage"
|
|
21
|
+
}, "test-card")),
|
|
22
|
+
getByRole = _render2.getByRole;
|
|
23
|
+
|
|
24
|
+
var card = getByRole("link");
|
|
25
|
+
expect(card.getAttribute("href")).toEqual("/testPage");
|
|
26
|
+
});
|
|
27
|
+
test("Card renders with correct image", function () {
|
|
28
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], {
|
|
29
|
+
imageSrc: "/testImage"
|
|
30
|
+
}, "test-card")),
|
|
31
|
+
getByRole = _render3.getByRole;
|
|
32
|
+
|
|
33
|
+
var card = getByRole("img");
|
|
34
|
+
expect(card.getAttribute("src")).toEqual("/testImage");
|
|
35
|
+
});
|
|
36
|
+
test("OnClick function is called", function () {
|
|
37
|
+
var onClick = jest.fn();
|
|
38
|
+
|
|
39
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], {
|
|
40
|
+
onClick: onClick
|
|
41
|
+
}, "test-card")),
|
|
42
|
+
getByText = _render4.getByText;
|
|
43
|
+
|
|
44
|
+
var card = getByText("test-card");
|
|
45
|
+
|
|
46
|
+
_react2.fireEvent.click(card);
|
|
47
|
+
|
|
48
|
+
expect(onClick).toHaveBeenCalled();
|
|
49
|
+
});
|
|
50
|
+
});
|
package/checkbox/Checkbox.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import CheckboxPropsType from "./types";
|
|
3
|
-
declare const DxcCheckbox: ({ checked, value, label, labelPosition, name, disabled,
|
|
3
|
+
declare const DxcCheckbox: ({ checked, defaultChecked, value, label, labelPosition, name, disabled, optional, onChange, margin, size, tabIndex, }: CheckboxPropsType) => JSX.Element;
|
|
4
4
|
export default DxcCheckbox;
|
package/checkbox/Checkbox.js
CHANGED
|
@@ -21,15 +21,17 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
|
21
21
|
|
|
22
22
|
var _Checkbox = _interopRequireDefault(require("@material-ui/core/Checkbox"));
|
|
23
23
|
|
|
24
|
-
var _RequiredComponent = _interopRequireDefault(require("../common/RequiredComponent"));
|
|
25
|
-
|
|
26
24
|
var _variables = require("../common/variables.js");
|
|
27
25
|
|
|
28
26
|
var _utils = require("../common/utils.js");
|
|
29
27
|
|
|
30
|
-
var
|
|
28
|
+
var _uuid = require("uuid");
|
|
29
|
+
|
|
30
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
31
|
+
|
|
32
|
+
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
31
33
|
|
|
32
|
-
var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext
|
|
34
|
+
var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
|
|
33
35
|
|
|
34
36
|
var _templateObject, _templateObject2, _templateObject3;
|
|
35
37
|
|
|
@@ -39,6 +41,8 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
39
41
|
|
|
40
42
|
var DxcCheckbox = function DxcCheckbox(_ref) {
|
|
41
43
|
var checked = _ref.checked,
|
|
44
|
+
_ref$defaultChecked = _ref.defaultChecked,
|
|
45
|
+
defaultChecked = _ref$defaultChecked === void 0 ? false : _ref$defaultChecked,
|
|
42
46
|
value = _ref.value,
|
|
43
47
|
_ref$label = _ref.label,
|
|
44
48
|
label = _ref$label === void 0 ? "" : _ref$label,
|
|
@@ -48,27 +52,34 @@ var DxcCheckbox = function DxcCheckbox(_ref) {
|
|
|
48
52
|
name = _ref$name === void 0 ? "" : _ref$name,
|
|
49
53
|
_ref$disabled = _ref.disabled,
|
|
50
54
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
55
|
+
_ref$optional = _ref.optional,
|
|
56
|
+
optional = _ref$optional === void 0 ? false : _ref$optional,
|
|
51
57
|
onChange = _ref.onChange,
|
|
52
|
-
_ref$required = _ref.required,
|
|
53
|
-
required = _ref$required === void 0 ? false : _ref$required,
|
|
54
58
|
margin = _ref.margin,
|
|
55
59
|
_ref$size = _ref.size,
|
|
56
60
|
size = _ref$size === void 0 ? "fitContent" : _ref$size,
|
|
57
61
|
_ref$tabIndex = _ref.tabIndex,
|
|
58
62
|
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
59
63
|
|
|
60
|
-
var _useState = (0, _react.useState)(
|
|
61
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState,
|
|
62
|
-
|
|
63
|
-
setInnerChecked = _useState2[1];
|
|
64
|
+
var _useState = (0, _react.useState)("checkbox-".concat((0, _uuid.v4)())),
|
|
65
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 1),
|
|
66
|
+
switchId = _useState2[0];
|
|
64
67
|
|
|
65
|
-
var
|
|
68
|
+
var labelId = "label-".concat(switchId);
|
|
69
|
+
|
|
70
|
+
var _useState3 = (0, _react.useState)(defaultChecked),
|
|
66
71
|
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
67
|
-
|
|
68
|
-
|
|
72
|
+
innerChecked = _useState4[0],
|
|
73
|
+
setInnerChecked = _useState4[1];
|
|
74
|
+
|
|
75
|
+
var _useState5 = (0, _react.useState)(false),
|
|
76
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
77
|
+
isLabelHovered = _useState6[0],
|
|
78
|
+
setIsLabelHovered = _useState6[1];
|
|
69
79
|
|
|
70
80
|
var colorsTheme = (0, _useTheme["default"])();
|
|
71
81
|
var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
|
|
82
|
+
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
72
83
|
|
|
73
84
|
var handlerCheckboxChange = function handlerCheckboxChange(checkboxValue) {
|
|
74
85
|
if (checked === undefined) {
|
|
@@ -89,6 +100,17 @@ var DxcCheckbox = function DxcCheckbox(_ref) {
|
|
|
89
100
|
setIsLabelHovered(!isLabelHovered);
|
|
90
101
|
};
|
|
91
102
|
|
|
103
|
+
var labelComponent = /*#__PURE__*/_react["default"].createElement(LabelContainer, {
|
|
104
|
+
id: labelId,
|
|
105
|
+
labelPosition: labelPosition,
|
|
106
|
+
onClick: disabled === true ? function () {} : handlerCheckboxChange,
|
|
107
|
+
disabled: disabled,
|
|
108
|
+
className: "labelContainer",
|
|
109
|
+
backgroundType: backgroundType,
|
|
110
|
+
onMouseOver: handleLabelHover,
|
|
111
|
+
onMouseOut: handleLabelHover
|
|
112
|
+
}, labelPosition === "before" ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, label, " ", optional && /*#__PURE__*/_react["default"].createElement("span", null, translatedLabels.formFields.optionalLabel)) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, optional && /*#__PURE__*/_react["default"].createElement("span", null, "(Optional)"), " ", label));
|
|
113
|
+
|
|
92
114
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
93
115
|
theme: colorsTheme.checkbox
|
|
94
116
|
}, /*#__PURE__*/_react["default"].createElement(CheckboxContainer, {
|
|
@@ -101,13 +123,13 @@ var DxcCheckbox = function DxcCheckbox(_ref) {
|
|
|
101
123
|
size: size,
|
|
102
124
|
backgroundType: backgroundType,
|
|
103
125
|
isLabelHovered: isLabelHovered
|
|
104
|
-
}, /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
105
|
-
checked: checked
|
|
126
|
+
}, label && labelPosition === "before" && labelComponent, /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
127
|
+
checked: checked !== null && checked !== void 0 ? checked : innerChecked,
|
|
106
128
|
inputProps: {
|
|
107
129
|
name: name,
|
|
108
|
-
"aria-
|
|
130
|
+
"aria-labelledby": labelId,
|
|
109
131
|
role: "checkbox",
|
|
110
|
-
"aria-checked": checked
|
|
132
|
+
"aria-checked": checked !== null && checked !== void 0 ? checked : innerChecked
|
|
111
133
|
},
|
|
112
134
|
onChange: handlerCheckboxChange,
|
|
113
135
|
value: value,
|
|
@@ -118,17 +140,9 @@ var DxcCheckbox = function DxcCheckbox(_ref) {
|
|
|
118
140
|
}), /*#__PURE__*/_react["default"].createElement(CheckboxBlackBack, {
|
|
119
141
|
labelPosition: labelPosition,
|
|
120
142
|
disabled: disabled,
|
|
121
|
-
checked: checked
|
|
143
|
+
checked: checked !== null && checked !== void 0 ? checked : innerChecked,
|
|
122
144
|
backgroundType: backgroundType
|
|
123
|
-
}),
|
|
124
|
-
labelPosition: labelPosition,
|
|
125
|
-
onClick: disabled === true ? function (e) {} : handlerCheckboxChange,
|
|
126
|
-
disabled: disabled,
|
|
127
|
-
className: "labelContainer",
|
|
128
|
-
backgroundType: backgroundType,
|
|
129
|
-
onMouseOver: handleLabelHover,
|
|
130
|
-
onMouseOut: handleLabelHover
|
|
131
|
-
}, label)));
|
|
145
|
+
}), label && labelPosition === "after" && labelComponent));
|
|
132
146
|
};
|
|
133
147
|
|
|
134
148
|
var sizes = {
|
|
@@ -151,19 +165,15 @@ var getDisabledColor = function getDisabledColor(props, element) {
|
|
|
151
165
|
switch (element) {
|
|
152
166
|
case "check":
|
|
153
167
|
return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledCheckColorOnDark : props.theme.disabledCheckColor;
|
|
154
|
-
break;
|
|
155
168
|
|
|
156
169
|
case "background":
|
|
157
170
|
return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledBackgroundColorCheckedOnDark : props.theme.disabledBackgroundColorChecked;
|
|
158
|
-
break;
|
|
159
171
|
|
|
160
172
|
case "border":
|
|
161
173
|
return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledBorderColorOnDark : props.theme.disabledBorderColor;
|
|
162
|
-
break;
|
|
163
174
|
|
|
164
175
|
case "label":
|
|
165
176
|
return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledFontColorOnDark : props.theme.disabledFontColor;
|
|
166
|
-
break;
|
|
167
177
|
}
|
|
168
178
|
};
|
|
169
179
|
|
|
@@ -171,35 +181,31 @@ var getNotDisabledColor = function getNotDisabledColor(props, element) {
|
|
|
171
181
|
switch (element) {
|
|
172
182
|
case "check":
|
|
173
183
|
return props.backgroundType && props.backgroundType === "dark" ? props.theme.checkColorOnDark : props.theme.checkColor;
|
|
174
|
-
break;
|
|
175
184
|
|
|
176
185
|
case "background":
|
|
177
186
|
return props.backgroundType && props.backgroundType === "dark" ? props.theme.backgroundColorCheckedOnDark : props.theme.backgroundColorChecked;
|
|
178
|
-
break;
|
|
179
187
|
|
|
180
188
|
case "border":
|
|
181
189
|
return props.backgroundType && props.backgroundType === "dark" ? props.theme.borderColorOnDark : props.theme.borderColor;
|
|
182
|
-
break;
|
|
183
190
|
|
|
184
191
|
case "label":
|
|
185
192
|
return props.backgroundType && props.backgroundType === "dark" ? props.theme.fontColorOnDark : props.theme.fontColor;
|
|
186
|
-
break;
|
|
187
193
|
}
|
|
188
194
|
};
|
|
189
195
|
|
|
190
|
-
var LabelContainer = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n
|
|
196
|
+
var LabelContainer = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n cursor: ", ";\n"])), function (props) {
|
|
191
197
|
return props.disabled ? getDisabledColor(props, "label") : getNotDisabledColor(props, "label");
|
|
192
|
-
}, function (props) {
|
|
193
|
-
return props.disabled ? "not-allowed" : "pointer";
|
|
194
198
|
}, function (props) {
|
|
195
199
|
return props.theme.fontFamily;
|
|
196
200
|
}, function (props) {
|
|
197
201
|
return props.theme.fontSize;
|
|
198
202
|
}, function (props) {
|
|
199
203
|
return props.theme.fontWeight;
|
|
204
|
+
}, function (props) {
|
|
205
|
+
return props.disabled ? "not-allowed" : "pointer";
|
|
200
206
|
});
|
|
201
207
|
|
|
202
|
-
var CheckboxContainer = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n width: ", ";\n display: inline-flex;\n align-items: center;\n cursor: ", ";\n position: relative;\n
|
|
208
|
+
var CheckboxContainer = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n width: ", ";\n display: inline-flex;\n align-items: center;\n cursor: ", ";\n position: relative;\n .MuiCheckbox-colorSecondary {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n }\n }\n &.Mui-disabled {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n opacity: 0.34;\n }\n }\n }\n &.Mui-checked {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n }\n }\n\n &:hover {\n background-color: transparent;\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n background-color: transparent;\n color: ", ";\n }\n }\n }\n }\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n width: 24px;\n height: 24px;\n }\n }\n }\n\n .MuiIconButton-colorSecondary {\n &:hover {\n background-color: transparent;\n }\n }\n .MuiButtonBase-root {\n &:hover {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n }\n }\n }\n\n &.Mui-focusVisible {\n .MuiIconButton-label {\n border-radius: 2px;\n outline: 2px solid\n ", ";\n outline-offset: -1px;\n }\n }\n z-index: 1;\n margin-left: ", ";\n margin-right: ", ";\n padding: 0px;\n left: ", ";\n right: ", ";\n }\n"])), function (props) {
|
|
203
209
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
204
210
|
}, function (props) {
|
|
205
211
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
|
|
@@ -213,8 +219,6 @@ var CheckboxContainer = _styledComponents["default"].span(_templateObject2 || (_
|
|
|
213
219
|
return calculateWidth(props.margin, props.size);
|
|
214
220
|
}, function (props) {
|
|
215
221
|
return props.disabled ? "not-allowed" : "pointer";
|
|
216
|
-
}, function (props) {
|
|
217
|
-
return props.labelPosition === "before" ? "row-reverse" : "row";
|
|
218
222
|
}, function (props) {
|
|
219
223
|
return props.isLabelHovered ? props.backgroundType === "dark" ? props.theme.hoverBorderColorOnDark : props.theme.hoverBorderColor : getNotDisabledColor(props, "border");
|
|
220
224
|
}, function (props) {
|