@dxc-technology/halstack-react 0.0.0-da90bf9 → 0.0.0-da9270d
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 +1 -0
- package/BackgroundColorContext.js +8 -24
- package/HalstackContext.d.ts +1235 -0
- package/HalstackContext.js +310 -0
- package/README.md +47 -0
- package/accordion/Accordion.d.ts +4 -0
- package/accordion/Accordion.js +120 -291
- package/accordion/Accordion.stories.tsx +283 -0
- package/accordion/Accordion.test.js +56 -0
- package/accordion/types.d.ts +57 -0
- package/accordion/types.js +5 -0
- package/accordion-group/AccordionGroup.d.ts +8 -0
- package/accordion-group/AccordionGroup.js +57 -142
- package/accordion-group/AccordionGroup.stories.tsx +252 -0
- package/accordion-group/AccordionGroup.test.js +98 -0
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +31 -0
- package/accordion-group/types.d.ts +67 -0
- package/accordion-group/types.js +5 -0
- package/alert/Alert.d.ts +4 -0
- package/alert/Alert.js +55 -204
- package/alert/Alert.stories.tsx +198 -0
- package/alert/Alert.test.js +75 -0
- package/alert/types.d.ts +49 -0
- package/alert/types.js +5 -0
- package/badge/Badge.d.ts +4 -0
- package/badge/Badge.js +15 -30
- package/badge/types.d.ts +5 -0
- package/badge/types.js +5 -0
- package/bleed/Bleed.d.ts +3 -0
- package/bleed/Bleed.js +43 -0
- package/bleed/Bleed.stories.tsx +342 -0
- package/bleed/types.d.ts +37 -0
- package/bleed/types.js +5 -0
- package/box/Box.d.ts +4 -0
- package/box/Box.js +35 -116
- package/box/Box.stories.tsx +119 -0
- package/box/Box.test.js +13 -0
- package/box/types.d.ts +32 -0
- package/box/types.js +5 -0
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +89 -0
- package/bulleted-list/BulletedList.stories.tsx +115 -0
- package/bulleted-list/types.d.ts +38 -0
- package/bulleted-list/types.js +5 -0
- package/button/Button.d.ts +4 -0
- package/button/Button.js +67 -185
- package/button/Button.stories.tsx +344 -0
- package/button/Button.test.js +36 -0
- package/button/types.d.ts +57 -0
- package/button/types.js +5 -0
- package/card/Card.d.ts +4 -0
- package/card/Card.js +60 -194
- package/card/Card.stories.tsx +171 -0
- package/card/Card.test.js +39 -0
- package/card/types.d.ts +62 -0
- package/card/types.js +5 -0
- package/checkbox/Checkbox.d.ts +4 -0
- package/checkbox/Checkbox.js +147 -231
- package/checkbox/Checkbox.stories.tsx +222 -0
- package/checkbox/Checkbox.test.js +199 -0
- package/checkbox/types.d.ts +72 -0
- package/checkbox/types.js +5 -0
- package/chip/Chip.d.ts +4 -0
- package/chip/Chip.js +50 -194
- package/chip/Chip.stories.tsx +214 -0
- package/chip/Chip.test.js +41 -0
- package/chip/types.d.ts +45 -0
- package/chip/types.js +5 -0
- package/common/OpenSans.css +68 -80
- package/common/coreTokens.d.ts +237 -0
- package/common/coreTokens.js +184 -0
- package/common/utils.d.ts +1 -0
- package/common/utils.js +6 -12
- package/common/variables.d.ts +1381 -0
- package/common/variables.js +1006 -1319
- package/container/Container.d.ts +4 -0
- package/container/Container.js +194 -0
- package/container/Container.stories.tsx +214 -0
- package/container/types.d.ts +74 -0
- package/container/types.js +5 -0
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +214 -0
- package/date-input/DateInput.d.ts +4 -0
- package/date-input/DateInput.js +179 -356
- package/date-input/DateInput.stories.tsx +285 -0
- package/date-input/DateInput.test.js +808 -0
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +115 -0
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +58 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +100 -0
- package/date-input/types.d.ts +164 -0
- package/date-input/types.js +5 -0
- package/dialog/Dialog.d.ts +4 -0
- package/dialog/Dialog.js +70 -184
- package/dialog/Dialog.stories.tsx +365 -0
- package/dialog/Dialog.test.js +307 -0
- package/dialog/types.d.ts +36 -0
- package/dialog/types.js +5 -0
- package/dropdown/Dropdown.d.ts +4 -0
- package/dropdown/Dropdown.js +247 -457
- package/dropdown/Dropdown.stories.tsx +438 -0
- package/dropdown/Dropdown.test.js +599 -0
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +63 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +67 -0
- package/dropdown/types.d.ts +98 -0
- package/dropdown/types.js +5 -0
- package/file-input/FileInput.d.ts +4 -0
- package/file-input/FileInput.js +297 -462
- package/file-input/FileInput.stories.tsx +618 -0
- package/file-input/FileInput.test.js +459 -0
- package/file-input/FileItem.d.ts +4 -0
- package/file-input/FileItem.js +61 -213
- package/file-input/types.d.ts +129 -0
- package/file-input/types.js +5 -0
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +57 -0
- package/flex/Flex.stories.tsx +112 -0
- package/flex/types.d.ts +97 -0
- package/flex/types.js +5 -0
- package/footer/Footer.d.ts +4 -0
- package/footer/Footer.js +64 -360
- package/footer/Footer.stories.tsx +152 -0
- package/footer/Footer.test.js +85 -0
- package/footer/Icons.d.ts +2 -0
- package/footer/Icons.js +16 -21
- package/footer/types.d.ts +58 -0
- package/footer/types.js +5 -0
- package/grid/Grid.d.ts +7 -0
- package/grid/Grid.js +76 -0
- package/grid/Grid.stories.tsx +219 -0
- package/grid/types.d.ts +115 -0
- package/grid/types.js +5 -0
- package/header/Header.d.ts +8 -0
- package/header/Header.js +122 -372
- package/header/Header.stories.tsx +251 -0
- package/header/Header.test.js +66 -0
- package/header/Icons.d.ts +2 -0
- package/header/Icons.js +9 -39
- package/header/types.d.ts +33 -0
- package/header/types.js +5 -0
- package/heading/Heading.d.ts +4 -0
- package/heading/Heading.js +31 -124
- package/heading/Heading.stories.tsx +54 -0
- package/heading/Heading.test.js +169 -0
- package/heading/types.d.ts +33 -0
- package/heading/types.js +5 -0
- package/image/Image.d.ts +4 -0
- package/image/Image.js +70 -0
- package/image/Image.stories.tsx +127 -0
- package/image/types.d.ts +72 -0
- package/image/types.js +5 -0
- package/inset/Inset.d.ts +3 -0
- package/inset/Inset.js +43 -0
- package/inset/Inset.stories.tsx +230 -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 +85 -278
- package/layout/ApplicationLayout.stories.tsx +162 -0
- package/layout/Icons.d.ts +8 -0
- package/layout/Icons.js +51 -48
- package/layout/SidenavContext.d.ts +5 -0
- package/layout/SidenavContext.js +13 -0
- package/layout/types.d.ts +41 -0
- package/layout/types.js +5 -0
- package/link/Link.d.ts +4 -0
- package/link/Link.js +67 -189
- package/link/Link.stories.tsx +253 -0
- package/link/Link.test.js +63 -0
- package/link/types.d.ts +54 -0
- package/link/types.js +5 -0
- package/main.d.ts +46 -40
- package/main.js +117 -140
- package/nav-tabs/NavTabs.d.ts +8 -0
- package/nav-tabs/NavTabs.js +90 -0
- package/nav-tabs/NavTabs.stories.tsx +274 -0
- package/nav-tabs/NavTabs.test.js +75 -0
- package/nav-tabs/Tab.d.ts +4 -0
- package/nav-tabs/Tab.js +117 -0
- package/nav-tabs/types.d.ts +52 -0
- package/nav-tabs/types.js +5 -0
- package/number-input/NumberInput.d.ts +11 -0
- package/number-input/NumberInput.js +32 -101
- package/number-input/NumberInput.stories.tsx +131 -0
- package/number-input/NumberInput.test.js +830 -0
- package/number-input/types.d.ts +130 -0
- package/number-input/types.js +5 -0
- package/package.json +53 -49
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +26 -52
- package/paginator/Paginator.d.ts +4 -0
- package/paginator/Paginator.js +41 -211
- package/paginator/Paginator.stories.tsx +87 -0
- package/paginator/Paginator.test.js +335 -0
- package/paginator/types.d.ts +38 -0
- package/paginator/types.js +5 -0
- package/paragraph/Paragraph.d.ts +5 -0
- package/paragraph/Paragraph.js +22 -0
- package/paragraph/Paragraph.stories.tsx +27 -0
- package/password-input/Icons.d.ts +6 -0
- package/password-input/Icons.js +35 -0
- package/password-input/PasswordInput.d.ts +4 -0
- package/password-input/PasswordInput.js +66 -172
- package/password-input/PasswordInput.stories.tsx +99 -0
- package/password-input/PasswordInput.test.js +198 -0
- package/password-input/types.d.ts +111 -0
- package/password-input/types.js +5 -0
- package/progress-bar/ProgressBar.d.ts +4 -0
- package/progress-bar/ProgressBar.js +76 -174
- package/progress-bar/ProgressBar.stories.tsx +93 -0
- package/progress-bar/ProgressBar.test.js +93 -0
- package/progress-bar/types.d.ts +37 -0
- package/progress-bar/types.js +5 -0
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +94 -0
- package/quick-nav/QuickNav.stories.tsx +356 -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 +124 -0
- package/radio-group/RadioGroup.d.ts +4 -0
- package/radio-group/RadioGroup.js +235 -0
- package/radio-group/RadioGroup.stories.tsx +214 -0
- package/radio-group/RadioGroup.test.js +756 -0
- package/radio-group/types.d.ts +114 -0
- package/radio-group/types.js +5 -0
- package/resultset-table/Icons.d.ts +7 -0
- package/resultset-table/Icons.js +47 -0
- package/resultset-table/ResultsetTable.d.ts +4 -0
- package/resultset-table/ResultsetTable.js +159 -0
- package/resultset-table/ResultsetTable.stories.tsx +300 -0
- package/resultset-table/ResultsetTable.test.js +305 -0
- package/resultset-table/types.d.ts +67 -0
- package/resultset-table/types.js +5 -0
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +89 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +143 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +80 -0
- package/select/Select.d.ts +4 -0
- package/select/Select.js +294 -849
- package/select/Select.stories.tsx +971 -0
- package/select/Select.test.js +2370 -0
- package/select/types.d.ts +209 -0
- package/select/types.js +5 -0
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +47 -0
- package/sidenav/Sidenav.d.ts +10 -0
- package/sidenav/Sidenav.js +134 -117
- package/sidenav/Sidenav.stories.tsx +282 -0
- package/sidenav/Sidenav.test.js +37 -0
- package/sidenav/types.d.ts +76 -0
- package/sidenav/types.js +5 -0
- package/slider/Slider.d.ts +4 -0
- package/slider/Slider.js +172 -291
- package/slider/Slider.test.js +254 -0
- package/slider/types.d.ts +86 -0
- package/slider/types.js +5 -0
- package/spinner/Spinner.d.ts +4 -0
- package/spinner/Spinner.js +66 -241
- package/spinner/Spinner.stories.tsx +129 -0
- package/spinner/Spinner.test.js +55 -0
- package/spinner/types.d.ts +32 -0
- package/spinner/types.js +5 -0
- package/switch/Switch.d.ts +4 -0
- package/switch/Switch.js +153 -161
- package/switch/Switch.stories.tsx +137 -0
- package/switch/Switch.test.js +180 -0
- package/switch/types.d.ts +66 -0
- package/switch/types.js +5 -0
- package/table/Table.d.ts +4 -0
- package/table/Table.js +14 -50
- package/table/Table.stories.tsx +356 -0
- package/table/Table.test.js +21 -0
- package/table/types.d.ts +21 -0
- package/table/types.js +5 -0
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +113 -0
- package/tabs/Tabs.d.ts +4 -0
- package/tabs/Tabs.js +322 -281
- package/tabs/Tabs.stories.tsx +226 -0
- package/tabs/Tabs.test.js +294 -0
- package/tabs/types.d.ts +92 -0
- package/tabs/types.js +5 -0
- package/tag/Tag.d.ts +4 -0
- package/tag/Tag.js +61 -192
- package/tag/Tag.stories.tsx +155 -0
- package/tag/Tag.test.js +49 -0
- package/tag/types.d.ts +69 -0
- package/tag/types.js +5 -0
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +56 -0
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +67 -0
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +84 -0
- package/text-input/TextInput.d.ts +4 -0
- package/text-input/TextInput.js +360 -757
- package/text-input/TextInput.stories.tsx +465 -0
- package/text-input/TextInput.test.js +1739 -0
- package/text-input/types.d.ts +205 -0
- package/text-input/types.js +5 -0
- package/textarea/Textarea.d.ts +4 -0
- package/textarea/Textarea.js +105 -240
- package/textarea/Textarea.stories.tsx +174 -0
- package/textarea/Textarea.test.js +406 -0
- package/textarea/types.d.ts +141 -0
- package/textarea/types.js +5 -0
- package/toggle-group/ToggleGroup.d.ts +4 -0
- package/toggle-group/ToggleGroup.js +107 -233
- package/toggle-group/ToggleGroup.stories.tsx +218 -0
- package/toggle-group/ToggleGroup.test.js +137 -0
- package/toggle-group/types.d.ts +114 -0
- package/toggle-group/types.js +5 -0
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +23 -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 +1134 -0
- package/useTheme.js +4 -11
- package/useTranslatedLabels.d.ts +85 -0
- package/useTranslatedLabels.js +14 -0
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +94 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +121 -0
- package/wizard/Wizard.d.ts +4 -0
- package/wizard/Wizard.js +138 -293
- package/wizard/Wizard.stories.tsx +253 -0
- package/wizard/Wizard.test.js +114 -0
- package/wizard/types.d.ts +64 -0
- package/wizard/types.js +5 -0
- package/ThemeContext.js +0 -250
- package/V3Select/V3Select.js +0 -549
- package/V3Select/index.d.ts +0 -27
- package/V3Textarea/V3Textarea.js +0 -264
- package/V3Textarea/index.d.ts +0 -27
- package/accordion/index.d.ts +0 -28
- package/accordion-group/index.d.ts +0 -16
- package/alert/index.d.ts +0 -51
- package/box/index.d.ts +0 -25
- package/button/Button.stories.js +0 -27
- package/button/index.d.ts +0 -24
- package/card/index.d.ts +0 -22
- package/checkbox/index.d.ts +0 -24
- package/chip/index.d.ts +0 -22
- package/common/RequiredComponent.js +0 -40
- package/date/Date.js +0 -379
- package/date/index.d.ts +0 -27
- package/date-input/index.d.ts +0 -95
- package/dialog/index.d.ts +0 -18
- package/dropdown/index.d.ts +0 -26
- package/file-input/index.d.ts +0 -81
- package/footer/index.d.ts +0 -25
- package/header/index.d.ts +0 -25
- package/heading/index.d.ts +0 -17
- package/input-text/Icons.js +0 -22
- package/input-text/InputText.js +0 -705
- package/input-text/index.d.ts +0 -36
- package/link/index.d.ts +0 -23
- package/number-input/NumberInputContext.js +0 -16
- package/number-input/index.d.ts +0 -113
- package/paginator/index.d.ts +0 -20
- package/password-input/index.d.ts +0 -94
- package/progress-bar/index.d.ts +0 -18
- package/radio/Radio.js +0 -209
- package/radio/index.d.ts +0 -23
- package/resultsetTable/ResultsetTable.js +0 -358
- package/resultsetTable/index.d.ts +0 -19
- package/select/index.d.ts +0 -131
- package/sidenav/index.d.ts +0 -13
- package/slider/index.d.ts +0 -29
- package/spinner/index.d.ts +0 -17
- package/switch/index.d.ts +0 -24
- package/table/index.d.ts +0 -13
- package/tabs/index.d.ts +0 -19
- package/tag/index.d.ts +0 -24
- package/text-input/index.d.ts +0 -135
- package/textarea/index.d.ts +0 -117
- package/toggle/Toggle.js +0 -220
- package/toggle/index.d.ts +0 -21
- package/toggle-group/index.d.ts +0 -21
- package/upload/Upload.js +0 -205
- package/upload/buttons-upload/ButtonsUpload.js +0 -135
- package/upload/buttons-upload/Icons.js +0 -40
- package/upload/dragAndDropArea/DragAndDropArea.js +0 -329
- package/upload/dragAndDropArea/Icons.js +0 -39
- package/upload/file-upload/FileToUpload.js +0 -189
- package/upload/file-upload/Icons.js +0 -66
- package/upload/files-upload/FilesToUpload.js +0 -123
- package/upload/index.d.ts +0 -15
- package/upload/transaction/Icons.js +0 -160
- package/upload/transaction/Transaction.js +0 -148
- package/upload/transactions/Transactions.js +0 -138
- package/wizard/Icons.js +0 -65
- package/wizard/index.d.ts +0 -18
package/card/Card.js
CHANGED
|
@@ -1,134 +1,46 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
-
|
|
5
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
|
-
|
|
4
|
+
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports["default"] = void 0;
|
|
11
|
-
|
|
12
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
-
|
|
14
9
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
15
|
-
|
|
16
10
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
17
|
-
|
|
18
11
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
19
|
-
|
|
20
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
21
|
-
|
|
22
13
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
23
|
-
|
|
24
|
-
var
|
|
25
|
-
|
|
26
|
-
var _variables = require("../common/variables.js");
|
|
27
|
-
|
|
28
|
-
var _useTheme = _interopRequireDefault(require("../useTheme.js"));
|
|
29
|
-
|
|
14
|
+
var _variables = require("../common/variables");
|
|
15
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
30
16
|
var _Box = _interopRequireDefault(require("../box/Box"));
|
|
31
|
-
|
|
32
|
-
function
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
_templateObject6 = function _templateObject6() {
|
|
36
|
-
return data;
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
return data;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
function _templateObject5() {
|
|
43
|
-
var data = (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"]);
|
|
44
|
-
|
|
45
|
-
_templateObject5 = function _templateObject5() {
|
|
46
|
-
return data;
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
return data;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
function _templateObject4() {
|
|
53
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n object-fit: ", ";\n"]);
|
|
54
|
-
|
|
55
|
-
_templateObject4 = function _templateObject4() {
|
|
56
|
-
return data;
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
return data;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
function _templateObject3() {
|
|
63
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n cursor: pointer;\n text-decoration: none;\n"]);
|
|
64
|
-
|
|
65
|
-
_templateObject3 = function _templateObject3() {
|
|
66
|
-
return data;
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
return data;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
function _templateObject2() {
|
|
73
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n flex-direction: ", ";\n height: ", ";\n width: ", ";\n &:hover {\n border-color: ", ";\n }\n"]);
|
|
74
|
-
|
|
75
|
-
_templateObject2 = function _templateObject2() {
|
|
76
|
-
return data;
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
return data;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
function _templateObject() {
|
|
83
|
-
var data = (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"]);
|
|
84
|
-
|
|
85
|
-
_templateObject = function _templateObject() {
|
|
86
|
-
return data;
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
return data;
|
|
90
|
-
}
|
|
91
|
-
|
|
17
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
18
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
19
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
92
20
|
var DxcCard = function DxcCard(_ref) {
|
|
93
21
|
var imageSrc = _ref.imageSrc,
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
22
|
+
_ref$imageBgColor = _ref.imageBgColor,
|
|
23
|
+
imageBgColor = _ref$imageBgColor === void 0 ? "black" : _ref$imageBgColor,
|
|
24
|
+
imagePadding = _ref.imagePadding,
|
|
25
|
+
_ref$imagePosition = _ref.imagePosition,
|
|
26
|
+
imagePosition = _ref$imagePosition === void 0 ? "before" : _ref$imagePosition,
|
|
27
|
+
linkHref = _ref.linkHref,
|
|
28
|
+
onClick = _ref.onClick,
|
|
29
|
+
_ref$imageCover = _ref.imageCover,
|
|
30
|
+
imageCover = _ref$imageCover === void 0 ? false : _ref$imageCover,
|
|
31
|
+
margin = _ref.margin,
|
|
32
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
33
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,
|
|
34
|
+
_ref$outlined = _ref.outlined,
|
|
35
|
+
outlined = _ref$outlined === void 0 ? true : _ref$outlined,
|
|
36
|
+
children = _ref.children;
|
|
106
37
|
var colorsTheme = (0, _useTheme["default"])();
|
|
107
|
-
|
|
108
38
|
var _useState = (0, _react.useState)(false),
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
shadowDepth: outlined ? 0 : isHovered && (onClick || linkHref) ? 2 : 1
|
|
115
|
-
}, _react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
116
|
-
theme: colorsTheme.card
|
|
117
|
-
}, _react["default"].createElement(CardContainer, {
|
|
118
|
-
hasAction: onClick || linkHref,
|
|
119
|
-
outlined: outlined,
|
|
120
|
-
imagePosition: imagePosition
|
|
121
|
-
}, imageSrc && _react["default"].createElement(ImageContainer, {
|
|
122
|
-
imageBgColor: imageBgColor
|
|
123
|
-
}, _react["default"].createElement(TagImage, {
|
|
124
|
-
imagePadding: imagePadding,
|
|
125
|
-
cover: imageCover,
|
|
126
|
-
src: imageSrc
|
|
127
|
-
})), _react["default"].createElement(CardContent, {
|
|
128
|
-
contentPadding: contentPadding
|
|
129
|
-
}, children))));
|
|
130
|
-
|
|
131
|
-
return _react["default"].createElement(StyledDxcCard, {
|
|
39
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
40
|
+
isHovered = _useState2[0],
|
|
41
|
+
changeIsHovered = _useState2[1];
|
|
42
|
+
return /*#__PURE__*/_react["default"].createElement(Card, {
|
|
43
|
+
hasAction: onClick || linkHref ? true : false,
|
|
132
44
|
margin: margin,
|
|
133
45
|
onMouseEnter: function onMouseEnter() {
|
|
134
46
|
return changeIsHovered(true);
|
|
@@ -137,15 +49,25 @@ var DxcCard = function DxcCard(_ref) {
|
|
|
137
49
|
return changeIsHovered(false);
|
|
138
50
|
},
|
|
139
51
|
onClick: onClick,
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
}, linkHref && _react["default"].createElement(StyledLink, {
|
|
143
|
-
tabIndex: tabIndex,
|
|
52
|
+
tabIndex: onClick || linkHref ? tabIndex : -1,
|
|
53
|
+
as: linkHref && "a",
|
|
144
54
|
href: linkHref
|
|
145
|
-
},
|
|
55
|
+
}, /*#__PURE__*/_react["default"].createElement(_Box["default"], {
|
|
56
|
+
shadowDepth: !outlined ? 0 : isHovered && (onClick || linkHref) ? 2 : 1
|
|
57
|
+
}, /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
58
|
+
theme: colorsTheme.card
|
|
59
|
+
}, /*#__PURE__*/_react["default"].createElement(CardContainer, {
|
|
60
|
+
hasAction: onClick || linkHref ? true : false,
|
|
61
|
+
imagePosition: imageSrc ? imagePosition : "none"
|
|
62
|
+
}, imageSrc && /*#__PURE__*/_react["default"].createElement(ImageContainer, {
|
|
63
|
+
imageBgColor: imageBgColor
|
|
64
|
+
}, /*#__PURE__*/_react["default"].createElement(TagImage, {
|
|
65
|
+
imagePadding: imagePadding,
|
|
66
|
+
imageCover: imageCover,
|
|
67
|
+
src: imageSrc
|
|
68
|
+
})), /*#__PURE__*/_react["default"].createElement(CardContent, null, children)))));
|
|
146
69
|
};
|
|
147
|
-
|
|
148
|
-
var StyledDxcCard = _styledComponents["default"].div(_templateObject(), function (_ref2) {
|
|
70
|
+
var Card = _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"])), function (_ref2) {
|
|
149
71
|
var hasAction = _ref2.hasAction;
|
|
150
72
|
return hasAction && "pointer" || "unset";
|
|
151
73
|
}, function (_ref3) {
|
|
@@ -156,21 +78,22 @@ var StyledDxcCard = _styledComponents["default"].div(_templateObject(), function
|
|
|
156
78
|
return margin && (0, _typeof2["default"])(margin) !== "object" ? _variables.spaces[margin] : "0px";
|
|
157
79
|
}, function (_ref5) {
|
|
158
80
|
var margin = _ref5.margin;
|
|
159
|
-
return margin && margin.top ? _variables.spaces[margin.top] : "";
|
|
81
|
+
return margin && (0, _typeof2["default"])(margin) === "object" && margin.top ? _variables.spaces[margin.top] : "";
|
|
160
82
|
}, function (_ref6) {
|
|
161
83
|
var margin = _ref6.margin;
|
|
162
|
-
return margin && margin.right ? _variables.spaces[margin.right] : "";
|
|
84
|
+
return margin && (0, _typeof2["default"])(margin) === "object" && margin.right ? _variables.spaces[margin.right] : "";
|
|
163
85
|
}, function (_ref7) {
|
|
164
86
|
var margin = _ref7.margin;
|
|
165
|
-
return margin && margin.bottom ? _variables.spaces[margin.bottom] : "";
|
|
87
|
+
return margin && (0, _typeof2["default"])(margin) === "object" && margin.bottom ? _variables.spaces[margin.bottom] : "";
|
|
166
88
|
}, function (_ref8) {
|
|
167
89
|
var margin = _ref8.margin;
|
|
168
|
-
return margin && margin.left ? _variables.spaces[margin.left] : "";
|
|
90
|
+
return margin && (0, _typeof2["default"])(margin) === "object" && margin.left ? _variables.spaces[margin.left] : "";
|
|
91
|
+
}, function (_ref9) {
|
|
92
|
+
var hasAction = _ref9.hasAction;
|
|
93
|
+
return hasAction && ":focus {\n outline: #0095ff auto 1px;\n }";
|
|
169
94
|
});
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
var imagePosition = _ref9.imagePosition;
|
|
173
|
-
return imagePosition === "before" && "row" || "row-reverse";
|
|
95
|
+
var CardContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n flex-direction: ", ";\n height: ", ";\n width: ", ";\n &:hover {\n border-color: ", ";\n }\n"])), function (props) {
|
|
96
|
+
return props.imagePosition === "after" ? "row-reverse" : "row";
|
|
174
97
|
}, function (props) {
|
|
175
98
|
return props.theme.height;
|
|
176
99
|
}, function (props) {
|
|
@@ -179,76 +102,19 @@ var CardContainer = _styledComponents["default"].div(_templateObject2(), functio
|
|
|
179
102
|
var hasAction = _ref10.hasAction;
|
|
180
103
|
return hasAction ? "" : "unset";
|
|
181
104
|
});
|
|
182
|
-
|
|
183
|
-
var StyledLink = _styledComponents["default"].a(_templateObject3());
|
|
184
|
-
|
|
185
|
-
var TagImage = _styledComponents["default"].img(_templateObject4(), function (_ref11) {
|
|
105
|
+
var TagImage = _styledComponents["default"].img(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n object-fit: ", ";\n"])), function (_ref11) {
|
|
186
106
|
var imagePadding = _ref11.imagePadding;
|
|
187
|
-
return !imagePadding ? "100%" : "calc(100% - ".concat(_variables.spaces[imagePadding], " - ").concat(_variables.spaces[imagePadding], ")");
|
|
107
|
+
return !imagePadding ? "100%" : (0, _typeof2["default"])(imagePadding) !== "object" && "calc(100% - ".concat(_variables.spaces[imagePadding], " - ").concat(_variables.spaces[imagePadding], ")");
|
|
188
108
|
}, function (_ref12) {
|
|
189
109
|
var imagePadding = _ref12.imagePadding;
|
|
190
|
-
return !imagePadding ? "100%" : "calc(100% - ".concat(_variables.spaces[imagePadding], " - ").concat(_variables.spaces[imagePadding], ")");
|
|
110
|
+
return !imagePadding ? "100%" : (0, _typeof2["default"])(imagePadding) !== "object" && "calc(100% - ".concat(_variables.spaces[imagePadding], " - ").concat(_variables.spaces[imagePadding], ")");
|
|
191
111
|
}, function (_ref13) {
|
|
192
|
-
var
|
|
193
|
-
return
|
|
112
|
+
var imageCover = _ref13.imageCover;
|
|
113
|
+
return imageCover ? "cover" : "contain";
|
|
194
114
|
});
|
|
195
|
-
|
|
196
|
-
var ImageContainer = _styledComponents["default"].div(_templateObject5(), function (_ref14) {
|
|
115
|
+
var ImageContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n justify-content: center;\n align-items: center;\n flex-shrink: 0;\n width: 35%;\n height: 100%;\n background-color: ", ";\n"])), function (_ref14) {
|
|
197
116
|
var imageBgColor = _ref14.imageBgColor;
|
|
198
117
|
return imageBgColor;
|
|
199
118
|
});
|
|
200
|
-
|
|
201
|
-
var
|
|
202
|
-
var contentPadding = _ref15.contentPadding;
|
|
203
|
-
return contentPadding && (0, _typeof2["default"])(contentPadding) !== "object" ? _variables.spaces[contentPadding] : "0px";
|
|
204
|
-
}, function (_ref16) {
|
|
205
|
-
var contentPadding = _ref16.contentPadding;
|
|
206
|
-
return contentPadding && (0, _typeof2["default"])(contentPadding) === "object" && contentPadding.top ? _variables.spaces[contentPadding.top] : "";
|
|
207
|
-
}, function (_ref17) {
|
|
208
|
-
var contentPadding = _ref17.contentPadding;
|
|
209
|
-
return contentPadding && (0, _typeof2["default"])(contentPadding) === "object" && contentPadding.right ? _variables.spaces[contentPadding.right] : "";
|
|
210
|
-
}, function (_ref18) {
|
|
211
|
-
var contentPadding = _ref18.contentPadding;
|
|
212
|
-
return contentPadding && (0, _typeof2["default"])(contentPadding) === "object" && contentPadding.bottom ? _variables.spaces[contentPadding.bottom] : "";
|
|
213
|
-
}, function (_ref19) {
|
|
214
|
-
var contentPadding = _ref19.contentPadding;
|
|
215
|
-
return contentPadding && (0, _typeof2["default"])(contentPadding) === "object" && contentPadding.left ? _variables.spaces[contentPadding.left] : "";
|
|
216
|
-
});
|
|
217
|
-
|
|
218
|
-
DxcCard.propTypes = {
|
|
219
|
-
imageSrc: _propTypes["default"].string,
|
|
220
|
-
imageBgColor: _propTypes["default"].string,
|
|
221
|
-
imagePadding: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces))),
|
|
222
|
-
imagePosition: _propTypes["default"].oneOf(["before", "after"]),
|
|
223
|
-
linkHref: _propTypes["default"].string,
|
|
224
|
-
onClick: _propTypes["default"].func,
|
|
225
|
-
outlined: _propTypes["default"].bool,
|
|
226
|
-
imageCover: _propTypes["default"].bool,
|
|
227
|
-
margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
|
|
228
|
-
top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
229
|
-
bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
230
|
-
left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
231
|
-
right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
|
|
232
|
-
}), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
|
|
233
|
-
contentPadding: _propTypes["default"].oneOfType([_propTypes["default"].shape({
|
|
234
|
-
top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
235
|
-
bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
236
|
-
left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
237
|
-
right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
|
|
238
|
-
}), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
|
|
239
|
-
tabIndex: _propTypes["default"].number
|
|
240
|
-
};
|
|
241
|
-
DxcCard.defaultProps = {
|
|
242
|
-
imageSrc: null,
|
|
243
|
-
margin: null,
|
|
244
|
-
contentPadding: null,
|
|
245
|
-
outlined: false,
|
|
246
|
-
imagePadding: null,
|
|
247
|
-
imageCover: false,
|
|
248
|
-
linkHref: null,
|
|
249
|
-
onClick: null,
|
|
250
|
-
imageBgColor: "black",
|
|
251
|
-
imagePosition: "before"
|
|
252
|
-
};
|
|
253
|
-
var _default = DxcCard;
|
|
254
|
-
exports["default"] = _default;
|
|
119
|
+
var CardContent = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n flex-grow: 1;\n overflow: hidden;\n"])));
|
|
120
|
+
var _default = exports["default"] = DxcCard;
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import Title from "../../.storybook/components/Title";
|
|
3
|
+
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
4
|
+
import DxcCard from "./Card";
|
|
5
|
+
import { userEvent, within } from "@storybook/testing-library";
|
|
6
|
+
|
|
7
|
+
export default {
|
|
8
|
+
title: "Card",
|
|
9
|
+
component: DxcCard,
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const Card = () => (
|
|
13
|
+
<>
|
|
14
|
+
<Title title="Default" theme="light" level={4} />
|
|
15
|
+
<ExampleContainer>
|
|
16
|
+
<DxcCard>Default</DxcCard>
|
|
17
|
+
</ExampleContainer>
|
|
18
|
+
<Title title="Not outlined" theme="light" level={4} />
|
|
19
|
+
<ExampleContainer>
|
|
20
|
+
<DxcCard outlined={false}>Not outlined</DxcCard>
|
|
21
|
+
</ExampleContainer>
|
|
22
|
+
<Title title="Default with link" theme="light" level={4} />
|
|
23
|
+
<ExampleContainer>
|
|
24
|
+
<DxcCard linkHref="https://www.dxc.com">Default with link</DxcCard>
|
|
25
|
+
</ExampleContainer>
|
|
26
|
+
<Title title="Focused default with link" theme="light" level={4} />
|
|
27
|
+
<ExampleContainer>
|
|
28
|
+
<DxcCard linkHref="https://www.dxc.com">Focused default with link</DxcCard>
|
|
29
|
+
</ExampleContainer>
|
|
30
|
+
<Title title="Hovered default with link" theme="light" level={4} />
|
|
31
|
+
<ExampleContainer>
|
|
32
|
+
<DxcCard linkHref="https://www.dxc.com">Hovered default with link</DxcCard>
|
|
33
|
+
</ExampleContainer>
|
|
34
|
+
<Title title="Default with action" theme="light" level={4} />
|
|
35
|
+
<ExampleContainer>
|
|
36
|
+
<DxcCard onClick={() => {}}>Default with action</DxcCard>
|
|
37
|
+
</ExampleContainer>
|
|
38
|
+
<Title title="Default with image" theme="light" level={4} />
|
|
39
|
+
<ExampleContainer>
|
|
40
|
+
<DxcCard imageSrc="https://picsum.photos/id/1022/200/300">Default</DxcCard>
|
|
41
|
+
</ExampleContainer>
|
|
42
|
+
<Title title="Default image with background color" theme="light" level={4} />
|
|
43
|
+
<ExampleContainer>
|
|
44
|
+
<DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imageBgColor="yellow">
|
|
45
|
+
Background color
|
|
46
|
+
</DxcCard>
|
|
47
|
+
</ExampleContainer>
|
|
48
|
+
<Title title="Default image with position after" theme="light" level={4} />
|
|
49
|
+
<ExampleContainer>
|
|
50
|
+
<DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePosition="after">
|
|
51
|
+
Position after
|
|
52
|
+
</DxcCard>
|
|
53
|
+
</ExampleContainer>
|
|
54
|
+
<Title title="Image cover" theme="light" level={4} />
|
|
55
|
+
<ExampleContainer>
|
|
56
|
+
<DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imageCover>
|
|
57
|
+
Image cover
|
|
58
|
+
</DxcCard>
|
|
59
|
+
</ExampleContainer>
|
|
60
|
+
<Title title="Image cover with position after" theme="light" level={4} />
|
|
61
|
+
<ExampleContainer>
|
|
62
|
+
<DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imageCover imagePosition="after">
|
|
63
|
+
Image cover with position after
|
|
64
|
+
</DxcCard>
|
|
65
|
+
</ExampleContainer>
|
|
66
|
+
<Title title="Image padding" theme="light" level={2} />
|
|
67
|
+
<ExampleContainer>
|
|
68
|
+
<Title title="Xxsmall" theme="light" level={4} />
|
|
69
|
+
<DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePadding="xxsmall" imageCover>
|
|
70
|
+
Xxsmall
|
|
71
|
+
</DxcCard>
|
|
72
|
+
</ExampleContainer>
|
|
73
|
+
<ExampleContainer>
|
|
74
|
+
<Title title="Xsmall" theme="light" level={4} />
|
|
75
|
+
<DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePadding="xsmall" imageCover>
|
|
76
|
+
Xsmall
|
|
77
|
+
</DxcCard>
|
|
78
|
+
</ExampleContainer>
|
|
79
|
+
<ExampleContainer>
|
|
80
|
+
<Title title="Small" theme="light" level={4} />
|
|
81
|
+
<DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePadding="small" imageCover>
|
|
82
|
+
Small
|
|
83
|
+
</DxcCard>
|
|
84
|
+
</ExampleContainer>
|
|
85
|
+
<ExampleContainer>
|
|
86
|
+
<Title title="Medium" theme="light" level={4} />
|
|
87
|
+
<DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePadding="medium" imageCover>
|
|
88
|
+
Medium
|
|
89
|
+
</DxcCard>
|
|
90
|
+
</ExampleContainer>
|
|
91
|
+
<ExampleContainer>
|
|
92
|
+
<Title title="Large" theme="light" level={4} />
|
|
93
|
+
<DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePadding="large" imageCover>
|
|
94
|
+
Large
|
|
95
|
+
</DxcCard>
|
|
96
|
+
</ExampleContainer>
|
|
97
|
+
<ExampleContainer>
|
|
98
|
+
<Title title="Xlarge" theme="light" level={4} />
|
|
99
|
+
<DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePadding="xlarge" imageCover>
|
|
100
|
+
Xlarge
|
|
101
|
+
</DxcCard>
|
|
102
|
+
</ExampleContainer>
|
|
103
|
+
<ExampleContainer>
|
|
104
|
+
<Title title="Xxlarge" theme="light" level={4} />
|
|
105
|
+
<DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePadding="xxlarge" imageCover>
|
|
106
|
+
Xxlarge
|
|
107
|
+
</DxcCard>
|
|
108
|
+
</ExampleContainer>
|
|
109
|
+
<Title title="Margin" theme="light" level={2} />
|
|
110
|
+
<ExampleContainer>
|
|
111
|
+
<Title title="Xxsmall" theme="light" level={4} />
|
|
112
|
+
<DxcCard margin="xxsmall">Xxsmall</DxcCard>
|
|
113
|
+
</ExampleContainer>
|
|
114
|
+
<ExampleContainer>
|
|
115
|
+
<Title title="Xsmall" theme="light" level={4} />
|
|
116
|
+
<DxcCard margin="xsmall">Xsmall</DxcCard>
|
|
117
|
+
</ExampleContainer>
|
|
118
|
+
<ExampleContainer>
|
|
119
|
+
<Title title="Small" theme="light" level={4} />
|
|
120
|
+
<DxcCard margin="small">Small</DxcCard>
|
|
121
|
+
</ExampleContainer>
|
|
122
|
+
<ExampleContainer>
|
|
123
|
+
<Title title="Medium" theme="light" level={4} />
|
|
124
|
+
<DxcCard margin="medium">Medium</DxcCard>
|
|
125
|
+
</ExampleContainer>
|
|
126
|
+
<ExampleContainer>
|
|
127
|
+
<Title title="Large" theme="light" level={4} />
|
|
128
|
+
<DxcCard margin="large">Large</DxcCard>
|
|
129
|
+
</ExampleContainer>
|
|
130
|
+
<ExampleContainer>
|
|
131
|
+
<Title title="Xlarge" theme="light" level={4} />
|
|
132
|
+
<DxcCard margin="xlarge">Xlarge</DxcCard>
|
|
133
|
+
</ExampleContainer>
|
|
134
|
+
<ExampleContainer>
|
|
135
|
+
<Title title="Xxlarge" theme="light" level={4} />
|
|
136
|
+
<DxcCard margin="xxlarge">Xxlarge</DxcCard>
|
|
137
|
+
</ExampleContainer>
|
|
138
|
+
</>
|
|
139
|
+
);
|
|
140
|
+
|
|
141
|
+
const actionCard = () => (
|
|
142
|
+
<>
|
|
143
|
+
<ExampleContainer>
|
|
144
|
+
<Title title="Focused default with action" theme="light" level={4} />
|
|
145
|
+
<DxcCard onClick={() => {}}>Focused default with action</DxcCard>
|
|
146
|
+
</ExampleContainer>
|
|
147
|
+
<ExampleContainer expanded>
|
|
148
|
+
<Title title="Hovered default with action" theme="light" level={4} />
|
|
149
|
+
<DxcCard onClick={() => {}}>Hovered default with action</DxcCard>
|
|
150
|
+
</ExampleContainer>
|
|
151
|
+
</>
|
|
152
|
+
);
|
|
153
|
+
|
|
154
|
+
const linkStates = async (focusCard, hoverCard) => {
|
|
155
|
+
await focusCard.focus();
|
|
156
|
+
await userEvent.hover(hoverCard);
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
export const ActionCardStates = actionCard.bind({});
|
|
160
|
+
ActionCardStates.play = async ({ canvasElement }) => {
|
|
161
|
+
const canvas = within(canvasElement);
|
|
162
|
+
await userEvent.tab();
|
|
163
|
+
await userEvent.hover(canvas.getAllByText("Hovered default with action")[1]);
|
|
164
|
+
};
|
|
165
|
+
|
|
166
|
+
export const Chromatic = Card.bind({});
|
|
167
|
+
Chromatic.play = async ({ canvasElement }) => {
|
|
168
|
+
const canvas = within(canvasElement);
|
|
169
|
+
const linkCards = canvas.getAllByRole("link");
|
|
170
|
+
await linkStates(linkCards[1], linkCards[2]);
|
|
171
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _react = _interopRequireDefault(require("react"));
|
|
5
|
+
var _react2 = require("@testing-library/react");
|
|
6
|
+
var _Card = _interopRequireDefault(require("./Card.tsx"));
|
|
7
|
+
describe("Card component tests", function () {
|
|
8
|
+
test("Card renders with correct content", function () {
|
|
9
|
+
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], null, "test-card")),
|
|
10
|
+
getByText = _render.getByText;
|
|
11
|
+
expect(getByText("test-card")).toBeTruthy();
|
|
12
|
+
});
|
|
13
|
+
test("Card renders with correct href", function () {
|
|
14
|
+
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], {
|
|
15
|
+
linkHref: "/testPage"
|
|
16
|
+
}, "test-card")),
|
|
17
|
+
getByRole = _render2.getByRole;
|
|
18
|
+
var card = getByRole("link");
|
|
19
|
+
expect(card.getAttribute("href")).toEqual("/testPage");
|
|
20
|
+
});
|
|
21
|
+
test("Card renders with correct image", function () {
|
|
22
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], {
|
|
23
|
+
imageSrc: "/testImage"
|
|
24
|
+
}, "test-card")),
|
|
25
|
+
getByRole = _render3.getByRole;
|
|
26
|
+
var card = getByRole("img");
|
|
27
|
+
expect(card.getAttribute("src")).toEqual("/testImage");
|
|
28
|
+
});
|
|
29
|
+
test("OnClick function is called", function () {
|
|
30
|
+
var onClick = jest.fn();
|
|
31
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], {
|
|
32
|
+
onClick: onClick
|
|
33
|
+
}, "test-card")),
|
|
34
|
+
getByText = _render4.getByText;
|
|
35
|
+
var card = getByText("test-card");
|
|
36
|
+
_react2.fireEvent.click(card);
|
|
37
|
+
expect(onClick).toHaveBeenCalled();
|
|
38
|
+
});
|
|
39
|
+
});
|
package/card/types.d.ts
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
+
type Size = {
|
|
4
|
+
top?: Space;
|
|
5
|
+
bottom?: Space;
|
|
6
|
+
left?: Space;
|
|
7
|
+
right?: Space;
|
|
8
|
+
};
|
|
9
|
+
type Props = {
|
|
10
|
+
/**
|
|
11
|
+
* URL of the image that will be placed in the card component.
|
|
12
|
+
* In case of omission, the image container will not appear and
|
|
13
|
+
* the content will occupy its space.
|
|
14
|
+
*/
|
|
15
|
+
imageSrc?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Color of the image background.
|
|
18
|
+
*/
|
|
19
|
+
imageBgColor?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Size of the padding to be applied to the image section of the
|
|
22
|
+
* component. You can pass an object with 'top', 'bottom', 'left'
|
|
23
|
+
* and 'right' properties in order to specify different padding sizes.
|
|
24
|
+
*/
|
|
25
|
+
imagePadding?: Space | Size;
|
|
26
|
+
/**
|
|
27
|
+
* Whether the image should appear in relation to the content.
|
|
28
|
+
*/
|
|
29
|
+
imagePosition?: "before" | "after";
|
|
30
|
+
/**
|
|
31
|
+
* If defined, the tag will be displayed as an anchor, using this prop
|
|
32
|
+
* as "href". Component will show some visual feedback on hover.
|
|
33
|
+
*/
|
|
34
|
+
linkHref?: string;
|
|
35
|
+
/**
|
|
36
|
+
* This function will be called when the user clicks the card. Component
|
|
37
|
+
* will show some visual feedback on hover.
|
|
38
|
+
*/
|
|
39
|
+
onClick?: () => void;
|
|
40
|
+
/**
|
|
41
|
+
* Whether the image must cover the whole image area of the card.
|
|
42
|
+
*/
|
|
43
|
+
imageCover?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
|
|
46
|
+
* You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
|
|
47
|
+
*/
|
|
48
|
+
margin?: Space | Size;
|
|
49
|
+
/**
|
|
50
|
+
* Value of the tabindex attribute applied when the component is clickable.
|
|
51
|
+
*/
|
|
52
|
+
tabIndex?: number;
|
|
53
|
+
/**
|
|
54
|
+
* Determines whether or not the component should have an outline.
|
|
55
|
+
*/
|
|
56
|
+
outlined?: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Custom content that will be placed inside the component.
|
|
59
|
+
*/
|
|
60
|
+
children?: React.ReactNode;
|
|
61
|
+
};
|
|
62
|
+
export default Props;
|
package/card/types.js
ADDED