@dxc-technology/halstack-react 0.0.0-2c3a5e1 → 0.0.0-2d5bb6f
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 +2 -2
- package/BackgroundColorContext.js +1 -11
- package/HalstackContext.d.ts +13 -0
- package/HalstackContext.js +318 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +123 -167
- package/accordion/Accordion.stories.tsx +115 -27
- package/accordion/Accordion.test.js +56 -0
- package/accordion/types.d.ts +10 -5
- package/accordion-group/AccordionGroup.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +28 -77
- package/accordion-group/AccordionGroup.stories.tsx +28 -2
- package/accordion-group/AccordionGroup.test.js +108 -0
- package/accordion-group/types.d.ts +17 -6
- package/alert/Alert.js +18 -46
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +75 -0
- package/alert/types.d.ts +3 -3
- package/badge/Badge.d.ts +4 -0
- package/badge/Badge.js +6 -16
- package/badge/types.d.ts +5 -0
- package/bleed/Bleed.js +14 -55
- package/bleed/Bleed.stories.tsx +94 -95
- package/bleed/types.d.ts +26 -2
- package/box/Box.js +34 -63
- package/box/Box.stories.tsx +15 -0
- package/box/Box.test.js +13 -0
- package/box/types.d.ts +5 -4
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +98 -0
- package/bulleted-list/BulletedList.stories.tsx +200 -0
- package/bulleted-list/types.d.ts +11 -0
- package/button/Button.js +61 -100
- package/button/Button.stories.tsx +159 -8
- package/button/Button.test.js +26 -0
- package/button/types.d.ts +8 -8
- package/card/Card.js +44 -70
- package/card/Card.test.js +39 -0
- package/card/types.d.ts +4 -3
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +115 -162
- package/checkbox/Checkbox.stories.tsx +198 -130
- package/checkbox/Checkbox.test.js +128 -0
- package/checkbox/types.d.ts +14 -6
- package/chip/Chip.js +26 -50
- package/chip/Chip.stories.tsx +96 -9
- package/chip/Chip.test.js +42 -0
- package/chip/types.d.ts +4 -4
- package/common/utils.js +1 -6
- package/common/variables.d.ts +1431 -0
- package/common/variables.js +480 -553
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +215 -0
- package/date-input/DateInput.js +164 -300
- package/date-input/DateInput.stories.tsx +199 -33
- package/date-input/DateInput.test.js +648 -0
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +116 -0
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +63 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +101 -0
- package/date-input/types.d.ts +71 -13
- package/dialog/Dialog.js +52 -84
- package/dialog/Dialog.stories.tsx +99 -22
- package/dialog/Dialog.test.js +56 -0
- package/dialog/types.d.ts +4 -3
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +239 -300
- package/dropdown/Dropdown.stories.tsx +245 -56
- package/dropdown/Dropdown.test.js +479 -0
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +60 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +70 -0
- package/dropdown/types.d.ts +26 -6
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +224 -351
- package/file-input/FileInput.stories.tsx +122 -11
- package/file-input/FileInput.test.js +445 -0
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +48 -97
- package/file-input/types.d.ts +24 -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 +32 -0
- package/footer/Footer.js +28 -133
- package/footer/Footer.stories.tsx +99 -1
- package/footer/Footer.test.js +92 -0
- package/footer/Icons.js +1 -5
- package/footer/types.d.ts +7 -6
- package/header/Header.js +112 -177
- package/header/Header.stories.tsx +189 -36
- package/header/Header.test.js +66 -0
- package/header/Icons.js +2 -6
- package/header/types.d.ts +4 -3
- package/heading/Heading.js +8 -29
- package/heading/Heading.test.js +169 -0
- package/heading/types.d.ts +3 -3
- package/inset/Inset.js +14 -55
- package/inset/Inset.stories.tsx +36 -36
- package/inset/types.d.ts +26 -2
- package/layout/ApplicationLayout.d.ts +16 -6
- package/layout/ApplicationLayout.js +71 -164
- package/layout/ApplicationLayout.stories.tsx +84 -93
- package/layout/Icons.d.ts +5 -0
- package/layout/Icons.js +11 -10
- package/layout/SidenavContext.d.ts +5 -0
- package/layout/SidenavContext.js +15 -0
- package/layout/types.d.ts +18 -33
- package/link/Link.d.ts +3 -2
- package/link/Link.js +61 -106
- package/link/Link.stories.tsx +159 -52
- package/link/Link.test.js +65 -0
- package/link/types.d.ts +9 -29
- package/main.d.ts +10 -15
- package/main.js +43 -124
- package/nav-tabs/NavTabs.d.ts +8 -0
- package/nav-tabs/NavTabs.js +95 -0
- package/nav-tabs/NavTabs.stories.tsx +260 -0
- package/nav-tabs/NavTabs.test.js +75 -0
- package/nav-tabs/Tab.d.ts +4 -0
- package/nav-tabs/Tab.js +120 -0
- package/nav-tabs/types.d.ts +53 -0
- package/number-input/NumberInput.js +21 -38
- package/number-input/NumberInput.stories.tsx +5 -5
- package/number-input/NumberInput.test.js +406 -0
- package/number-input/NumberInputContext.js +0 -5
- package/number-input/numberInputContextTypes.d.ts +1 -1
- package/number-input/types.d.ts +21 -14
- package/package.json +22 -25
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +16 -38
- package/paginator/Paginator.js +31 -82
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +266 -0
- package/paginator/types.d.ts +1 -1
- package/paragraph/Paragraph.d.ts +6 -0
- package/paragraph/Paragraph.js +28 -0
- package/paragraph/Paragraph.stories.tsx +44 -0
- package/password-input/PasswordInput.js +28 -54
- package/password-input/PasswordInput.test.js +138 -0
- package/password-input/types.d.ts +18 -15
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +65 -84
- package/progress-bar/ProgressBar.stories.jsx +47 -12
- package/progress-bar/ProgressBar.test.js +93 -0
- package/progress-bar/types.d.ts +3 -4
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +95 -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 +1 -1
- package/radio-group/Radio.js +55 -70
- package/radio-group/RadioGroup.js +91 -126
- package/radio-group/RadioGroup.stories.tsx +171 -36
- package/radio-group/RadioGroup.test.js +529 -157
- package/radio-group/types.d.ts +86 -8
- package/resultsetTable/Icons.d.ts +7 -0
- package/resultsetTable/Icons.js +48 -0
- package/resultsetTable/ResultsetTable.js +66 -157
- package/resultsetTable/ResultsetTable.stories.tsx +50 -25
- package/resultsetTable/ResultsetTable.test.js +292 -0
- package/resultsetTable/types.d.ts +5 -5
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +90 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +144 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +81 -0
- package/select/Select.js +201 -485
- package/select/Select.stories.tsx +600 -201
- package/select/Select.test.js +1845 -0
- package/select/types.d.ts +62 -22
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +164 -74
- package/sidenav/Sidenav.stories.tsx +249 -149
- package/sidenav/Sidenav.test.js +37 -0
- package/sidenav/types.d.ts +50 -27
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +143 -164
- package/slider/Slider.stories.tsx +72 -9
- package/slider/Slider.test.js +222 -0
- package/slider/types.d.ts +11 -3
- package/spinner/Spinner.js +12 -41
- package/spinner/Spinner.stories.jsx +27 -1
- package/spinner/Spinner.test.js +55 -0
- package/spinner/types.d.ts +3 -3
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +148 -107
- package/switch/Switch.stories.tsx +53 -42
- package/switch/Switch.test.js +180 -0
- package/switch/types.d.ts +13 -5
- package/table/Table.js +5 -23
- package/table/Table.stories.jsx +80 -1
- package/table/Table.test.js +21 -0
- package/table/types.d.ts +3 -3
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +115 -0
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +318 -139
- package/tabs/Tabs.stories.tsx +119 -13
- package/tabs/Tabs.test.js +295 -0
- package/tabs/types.d.ts +21 -7
- package/tag/Tag.js +34 -68
- package/tag/Tag.stories.tsx +25 -8
- package/tag/Tag.test.js +49 -0
- package/tag/types.d.ts +7 -7
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +57 -0
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +68 -0
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +109 -0
- package/text-input/TextInput.js +232 -438
- package/text-input/TextInput.stories.tsx +310 -197
- package/text-input/TextInput.test.js +1404 -0
- package/text-input/types.d.ts +55 -17
- package/textarea/Textarea.js +53 -96
- package/textarea/Textarea.stories.jsx +93 -13
- package/textarea/Textarea.test.js +360 -0
- package/textarea/types.d.ts +22 -15
- package/toggle-group/ToggleGroup.d.ts +1 -1
- package/toggle-group/ToggleGroup.js +23 -57
- package/toggle-group/ToggleGroup.stories.tsx +46 -4
- package/toggle-group/ToggleGroup.test.js +124 -0
- package/toggle-group/types.d.ts +19 -11
- package/translatedLabelsType.d.ts +82 -0
- package/translatedLabelsType.js +5 -0
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +119 -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 +1 -1
- package/useTheme.js +3 -9
- package/useTranslatedLabels.d.ts +3 -0
- package/useTranslatedLabels.js +15 -0
- package/wizard/Wizard.d.ts +1 -1
- package/wizard/Wizard.js +68 -98
- package/wizard/Wizard.stories.tsx +48 -19
- package/wizard/Wizard.test.js +114 -0
- package/wizard/types.d.ts +12 -7
- 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/common/RequiredComponent.js +0 -32
- 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/row/Row.d.ts +0 -3
- package/row/Row.js +0 -127
- package/row/Row.stories.tsx +0 -237
- package/row/types.d.ts +0 -10
- package/stack/Stack.d.ts +0 -3
- package/stack/Stack.js +0 -97
- package/stack/Stack.stories.tsx +0 -164
- package/stack/types.d.ts +0 -9
- package/text/Text.d.ts +0 -7
- package/text/Text.js +0 -30
- package/text/Text.stories.tsx +0 -19
- 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/{list → badge}/types.js +0 -0
- /package/{radio → bulleted-list}/types.js +0 -0
- /package/{row → flex}/types.js +0 -0
- /package/{stack → nav-tabs}/types.js +0 -0
package/chip/Chip.js
CHANGED
|
@@ -1,47 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports["default"] = void 0;
|
|
11
|
-
|
|
12
9
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
13
|
-
|
|
14
10
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
|
-
|
|
16
11
|
var _react = _interopRequireDefault(require("react"));
|
|
17
|
-
|
|
18
12
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
19
|
-
|
|
20
|
-
var _variables = require("../common/variables.js");
|
|
21
|
-
|
|
13
|
+
var _variables = require("../common/variables");
|
|
22
14
|
var _utils = require("../common/utils.js");
|
|
23
|
-
|
|
24
15
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
25
|
-
|
|
26
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
27
|
-
|
|
16
|
+
var _templateObject, _templateObject2, _templateObject3;
|
|
28
17
|
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); }
|
|
29
|
-
|
|
30
18
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
31
|
-
|
|
32
19
|
var DxcChip = function DxcChip(_ref) {
|
|
33
20
|
var label = _ref.label,
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
21
|
+
suffixIcon = _ref.suffixIcon,
|
|
22
|
+
prefixIcon = _ref.prefixIcon,
|
|
23
|
+
onClickSuffix = _ref.onClickSuffix,
|
|
24
|
+
onClickPrefix = _ref.onClickPrefix,
|
|
25
|
+
disabled = _ref.disabled,
|
|
26
|
+
margin = _ref.margin,
|
|
27
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
28
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
42
29
|
var colorsTheme = (0, _useTheme["default"])();
|
|
43
30
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
44
|
-
theme: colorsTheme
|
|
31
|
+
theme: colorsTheme["chip"]
|
|
45
32
|
}, /*#__PURE__*/_react["default"].createElement(StyledDxcChip, {
|
|
46
33
|
disabled: disabled,
|
|
47
34
|
margin: margin
|
|
@@ -55,7 +42,7 @@ var DxcChip = function DxcChip(_ref) {
|
|
|
55
42
|
return onClickPrefix && !disabled && onClickPrefix();
|
|
56
43
|
},
|
|
57
44
|
interactuable: typeof onClickPrefix === "function" && !disabled
|
|
58
|
-
}, typeof prefixIcon === "string" ? /*#__PURE__*/_react["default"].createElement(
|
|
45
|
+
}, typeof prefixIcon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
|
|
59
46
|
src: prefixIcon
|
|
60
47
|
}) : prefixIcon), label && /*#__PURE__*/_react["default"].createElement(ChipTextContainer, {
|
|
61
48
|
disabled: disabled
|
|
@@ -69,23 +56,13 @@ var DxcChip = function DxcChip(_ref) {
|
|
|
69
56
|
return onClickSuffix && !disabled && onClickSuffix();
|
|
70
57
|
},
|
|
71
58
|
interactuable: typeof onClickSuffix === "function" && !disabled
|
|
72
|
-
}, typeof suffixIcon === "string" ? /*#__PURE__*/_react["default"].createElement(
|
|
59
|
+
}, typeof suffixIcon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
|
|
73
60
|
src: suffixIcon
|
|
74
61
|
}) : suffixIcon)));
|
|
75
62
|
};
|
|
76
|
-
|
|
77
63
|
var getCursor = function getCursor(interactuable, disabled) {
|
|
78
|
-
if (disabled)
|
|
79
|
-
return "cursor:not-allowed;";
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
if (interactuable) {
|
|
83
|
-
return "cursor:pointer;";
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
return "cursor:default; outline:none;";
|
|
64
|
+
if (disabled) return "cursor: not-allowed;";else if (interactuable) return "cursor: pointer;";else return "cursor: default; outline:none;";
|
|
87
65
|
};
|
|
88
|
-
|
|
89
66
|
var StyledDxcChip = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: center;\n min-height: 40px;\n max-width: ", ";\n background-color: ", ";\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n cursor: ", ";\n"])), function (_ref2) {
|
|
90
67
|
var margin = _ref2.margin;
|
|
91
68
|
return "calc(100% - 40px - ".concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
|
|
@@ -121,7 +98,6 @@ var StyledDxcChip = _styledComponents["default"].div(_templateObject || (_templa
|
|
|
121
98
|
var disabled = _ref3.disabled;
|
|
122
99
|
return disabled && "not-allowed";
|
|
123
100
|
});
|
|
124
|
-
|
|
125
101
|
var ChipTextContainer = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n font-size: ", ";\n font-family: ", ";\n font-weight: ", ";\n font-style: ", ";\n color: ", ";\n cursor: ", ";\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n"])), function (props) {
|
|
126
102
|
return props.theme.fontSize;
|
|
127
103
|
}, function (props) {
|
|
@@ -136,26 +112,26 @@ var ChipTextContainer = _styledComponents["default"].span(_templateObject2 || (_
|
|
|
136
112
|
var disabled = _ref4.disabled;
|
|
137
113
|
return disabled && "not-allowed" || "default";
|
|
138
114
|
});
|
|
139
|
-
|
|
140
|
-
var SuffixIconContainer = _styledComponents["default"].img(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])([""])));
|
|
141
|
-
|
|
142
|
-
var PrefixIconContainer = _styledComponents["default"].img(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])([""])));
|
|
143
|
-
|
|
144
|
-
var IconContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n ", "\n ", "\n width: ", ";\n height: ", ";\n overflow: hidden;\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n &:focus {\n outline-color: ", ";\n outline-width: 2px;\n ", "\n }\n"])), function (props) {
|
|
145
|
-
return props.disabled ? props.theme.disabledIconColor : props.theme.iconColor;
|
|
146
|
-
}, function (props) {
|
|
115
|
+
var IconContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n ", "\n color: ", ";\n ", "\n\n &:hover {\n color: ", ";\n }\n &:focus {\n outline-color: ", ";\n outline-width: ", ";\n ", "\n }\n &:active {\n color: ", ";\n }\n img,\n svg {\n width: ", ";\n height: ", ";\n }\n"])), function (props) {
|
|
147
116
|
return props.prefixIcon ? "margin-right: ".concat((props.label || props.suffixIcon) && props.theme.iconSpacing || props.prefixIcon && "0", ";") : "margin-left: ".concat((props.label || props.prefixIcon) && props.theme.iconSpacing || props.prefixIcon && "0", ";");
|
|
117
|
+
}, function (props) {
|
|
118
|
+
return props.disabled ? props.theme.disabledIconColor : props.theme.iconColor;
|
|
148
119
|
}, function (props) {
|
|
149
120
|
return getCursor(props.interactuable, props.disabled);
|
|
150
121
|
}, function (props) {
|
|
151
|
-
return props.theme.
|
|
122
|
+
return !props.disabled && props.theme.hoverIconColor;
|
|
152
123
|
}, function (props) {
|
|
153
|
-
return props.theme.
|
|
124
|
+
return !props.disabled && props.theme.focusColor;
|
|
154
125
|
}, function (props) {
|
|
155
|
-
return props.theme.
|
|
126
|
+
return !props.disabled && props.theme.focusBorderThickness;
|
|
156
127
|
}, function (props) {
|
|
157
128
|
return props.disabled && "outline: none;";
|
|
129
|
+
}, function (props) {
|
|
130
|
+
return !props.disabled && props.theme.activeIconColor;
|
|
131
|
+
}, function (props) {
|
|
132
|
+
return props.theme.iconSize;
|
|
133
|
+
}, function (props) {
|
|
134
|
+
return props.theme.iconSize;
|
|
158
135
|
});
|
|
159
|
-
|
|
160
136
|
var _default = DxcChip;
|
|
161
137
|
exports["default"] = _default;
|
package/chip/Chip.stories.tsx
CHANGED
|
@@ -3,6 +3,7 @@ import { userEvent, within } from "@storybook/testing-library";
|
|
|
3
3
|
import DxcChip from "./Chip";
|
|
4
4
|
import Title from "../../.storybook/components/Title";
|
|
5
5
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
6
|
+
import { HalstackProvider } from "../HalstackContext";
|
|
6
7
|
|
|
7
8
|
export default {
|
|
8
9
|
title: "Chip",
|
|
@@ -10,12 +11,43 @@ export default {
|
|
|
10
11
|
};
|
|
11
12
|
|
|
12
13
|
const iconSVG = (
|
|
13
|
-
<svg
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
<svg
|
|
15
|
+
version="1.1"
|
|
16
|
+
id="Capa_1"
|
|
17
|
+
x="0px"
|
|
18
|
+
y="0px"
|
|
19
|
+
width="438.536px"
|
|
20
|
+
height="438.536px"
|
|
21
|
+
viewBox="0 0 438.536 438.536"
|
|
22
|
+
fill="currentColor"
|
|
23
|
+
>
|
|
24
|
+
<g>
|
|
25
|
+
<path
|
|
26
|
+
d="M414.41,24.123C398.333,8.042,378.963,0,356.315,0H82.228C59.58,0,40.21,8.042,24.126,24.123
|
|
27
|
+
C8.045,40.207,0.003,59.576,0.003,82.225v274.084c0,22.647,8.042,42.018,24.123,58.102c16.084,16.084,35.454,24.126,58.102,24.126
|
|
28
|
+
h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225
|
|
29
|
+
C438.532,59.576,430.49,40.204,414.41,24.123z M373.155,225.548h-49.963V406.84h-74.802V225.548H210.99V163.02h37.401v-37.402
|
|
30
|
+
c0-26.838,6.283-47.107,18.843-60.813c12.559-13.706,33.304-20.555,62.242-20.555h49.963v62.526h-31.401
|
|
31
|
+
c-10.663,0-17.467,1.853-20.417,5.568c-2.949,3.711-4.428,10.23-4.428,19.558v31.119h56.534L373.155,225.548z"
|
|
32
|
+
/>
|
|
33
|
+
</g>
|
|
16
34
|
</svg>
|
|
17
35
|
);
|
|
18
36
|
|
|
37
|
+
const smallIconSVG = (
|
|
38
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" height="20" width="20">
|
|
39
|
+
<path d="m10 17-1.042-.938q-2.083-1.854-3.437-3.177-1.354-1.323-2.136-2.354Q2.604 9.5 2.302 8.646 2 7.792 2 6.896q0-1.854 1.271-3.125T6.396 2.5q1.021 0 1.979.438.958.437 1.625 1.229.667-.792 1.625-1.229.958-.438 1.979-.438 1.854 0 3.125 1.271T18 6.896q0 .896-.292 1.729-.291.833-1.073 1.854-.781 1.021-2.145 2.365-1.365 1.344-3.49 3.26Zm0-2.021q1.938-1.729 3.188-2.948 1.25-1.219 1.989-2.125.74-.906 1.031-1.614.292-.709.292-1.396 0-1.229-.833-2.063Q14.833 4 13.604 4q-.729 0-1.364.302-.636.302-1.094.844L10.417 6h-.834l-.729-.854q-.458-.542-1.114-.844Q7.083 4 6.396 4q-1.229 0-2.063.833-.833.834-.833 2.063 0 .687.271 1.364.271.678.989 1.573.719.896 1.98 2.125Q8 13.188 10 14.979Zm0-5.5Z" />
|
|
40
|
+
</svg>
|
|
41
|
+
);
|
|
42
|
+
|
|
43
|
+
const opinionatedTheme = {
|
|
44
|
+
chip: {
|
|
45
|
+
baseColor: "#e6e6e6",
|
|
46
|
+
fontColor: "#000000",
|
|
47
|
+
iconColor: "#4d4d4d",
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
|
|
19
51
|
export const Chromatic = () => (
|
|
20
52
|
<>
|
|
21
53
|
<ExampleContainer>
|
|
@@ -23,20 +55,29 @@ export const Chromatic = () => (
|
|
|
23
55
|
<DxcChip label="Default Chip" />
|
|
24
56
|
</ExampleContainer>
|
|
25
57
|
<ExampleContainer>
|
|
26
|
-
<Title title="Chip with prefix" theme="light" level={4} />
|
|
27
|
-
<DxcChip label="Chip with prefix" prefixIcon={
|
|
58
|
+
<Title title="Chip with prefix SVG (small icon)" theme="light" level={4} />
|
|
59
|
+
<DxcChip label="Chip with prefix" prefixIcon={smallIconSVG} />
|
|
28
60
|
</ExampleContainer>
|
|
29
61
|
<ExampleContainer>
|
|
30
|
-
<Title title="Chip with suffix" theme="light" level={4} />
|
|
62
|
+
<Title title="Chip with suffix SVG (large icon)" theme="light" level={4} />
|
|
31
63
|
<DxcChip label="Chip with suffix" suffixIcon={iconSVG} />
|
|
32
64
|
</ExampleContainer>
|
|
33
65
|
<ExampleContainer>
|
|
34
|
-
<Title title="Chip with prefix and suffix" theme="light" level={4} />
|
|
35
|
-
<DxcChip
|
|
66
|
+
<Title title="Chip with prefix (SVG) and suffix (URL)" theme="light" level={4} />
|
|
67
|
+
<DxcChip
|
|
68
|
+
label="Chip with prefix and suffix"
|
|
69
|
+
prefixIcon={iconSVG}
|
|
70
|
+
suffixIcon="https://upload.wikimedia.org/wikipedia/commons/e/e0/Check_green_icon.svg"
|
|
71
|
+
/>
|
|
36
72
|
</ExampleContainer>
|
|
37
73
|
<ExampleContainer>
|
|
38
74
|
<Title title="Disabled chip" theme="light" level={4} />
|
|
39
|
-
<DxcChip
|
|
75
|
+
<DxcChip
|
|
76
|
+
label="Disabled"
|
|
77
|
+
disabled
|
|
78
|
+
prefixIcon={iconSVG}
|
|
79
|
+
suffixIcon="https://upload.wikimedia.org/wikipedia/commons/e/e0/Check_green_icon.svg"
|
|
80
|
+
/>
|
|
40
81
|
</ExampleContainer>
|
|
41
82
|
<ExampleContainer>
|
|
42
83
|
<Title title="Chip with ellipsis" theme="light" level={4} />
|
|
@@ -93,6 +134,52 @@ export const Chromatic = () => (
|
|
|
93
134
|
<Title title="Xxlarge margin" theme="light" level={4} />
|
|
94
135
|
<DxcChip label="xxlarge" margin="xxlarge" />
|
|
95
136
|
</ExampleContainer>
|
|
137
|
+
<Title title="Opinionated theme" theme="light" level={2} />
|
|
138
|
+
<ExampleContainer>
|
|
139
|
+
<Title title="Chip with prefix and suffix" theme="light" level={4} />
|
|
140
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
141
|
+
<DxcChip
|
|
142
|
+
label="Chip"
|
|
143
|
+
prefixIcon={iconSVG}
|
|
144
|
+
suffixIcon="https://upload.wikimedia.org/wikipedia/commons/e/e0/Check_green_icon.svg"
|
|
145
|
+
/>
|
|
146
|
+
</HalstackProvider>
|
|
147
|
+
</ExampleContainer>
|
|
148
|
+
<ExampleContainer>
|
|
149
|
+
<Title title="Chip with prefix and suffix" theme="light" level={4} />
|
|
150
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
151
|
+
<DxcChip
|
|
152
|
+
label="Chip"
|
|
153
|
+
disabled
|
|
154
|
+
prefixIcon={iconSVG}
|
|
155
|
+
suffixIcon="https://upload.wikimedia.org/wikipedia/commons/e/e0/Check_green_icon.svg"
|
|
156
|
+
/>
|
|
157
|
+
</HalstackProvider>
|
|
158
|
+
</ExampleContainer>
|
|
159
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
160
|
+
<Title title="Hovered" theme="light" level={4} />
|
|
161
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
162
|
+
<DxcChip
|
|
163
|
+
label="Chip"
|
|
164
|
+
prefixIcon={iconSVG}
|
|
165
|
+
suffixIcon={iconSVG}
|
|
166
|
+
onClickPrefix={() => {}}
|
|
167
|
+
onClickSuffix={() => {}}
|
|
168
|
+
/>
|
|
169
|
+
</HalstackProvider>
|
|
170
|
+
</ExampleContainer>
|
|
171
|
+
<ExampleContainer pseudoState="pseudo-active">
|
|
172
|
+
<Title title="Actived" theme="light" level={4} />
|
|
173
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
174
|
+
<DxcChip
|
|
175
|
+
label="Chip"
|
|
176
|
+
prefixIcon={iconSVG}
|
|
177
|
+
suffixIcon={iconSVG}
|
|
178
|
+
onClickPrefix={() => {}}
|
|
179
|
+
onClickSuffix={() => {}}
|
|
180
|
+
/>
|
|
181
|
+
</HalstackProvider>
|
|
182
|
+
</ExampleContainer>
|
|
96
183
|
</>
|
|
97
184
|
);
|
|
98
185
|
const ChipPrefixFocused = () => (
|
|
@@ -0,0 +1,42 @@
|
|
|
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 _Chip = _interopRequireDefault(require("./Chip"));
|
|
7
|
+
var _invision = _interopRequireDefault(require("../../app/src/images/invision.svg"));
|
|
8
|
+
describe("Chip component tests", function () {
|
|
9
|
+
test("Chip renders with correct text", function () {
|
|
10
|
+
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Chip["default"], {
|
|
11
|
+
label: "Chip"
|
|
12
|
+
})),
|
|
13
|
+
getByText = _render.getByText;
|
|
14
|
+
expect(getByText("Chip")).toBeTruthy();
|
|
15
|
+
});
|
|
16
|
+
test("Calls correct function when clicking on prefix icon", function () {
|
|
17
|
+
var onClick = jest.fn();
|
|
18
|
+
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Chip["default"], {
|
|
19
|
+
label: "Chip",
|
|
20
|
+
prefixIcon: _invision["default"],
|
|
21
|
+
onClickPrefix: onClick
|
|
22
|
+
})),
|
|
23
|
+
getByText = _render2.getByText,
|
|
24
|
+
getByRole = _render2.getByRole;
|
|
25
|
+
expect(getByText("Chip")).toBeTruthy();
|
|
26
|
+
_react2.fireEvent.click(getByRole("img"));
|
|
27
|
+
expect(onClick).toHaveBeenCalled();
|
|
28
|
+
});
|
|
29
|
+
test("Calls correct function when clicking on suffix icon", function () {
|
|
30
|
+
var onClick = jest.fn();
|
|
31
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Chip["default"], {
|
|
32
|
+
label: "Chip",
|
|
33
|
+
suffixIcon: _invision["default"],
|
|
34
|
+
onClickSuffix: onClick
|
|
35
|
+
})),
|
|
36
|
+
getByText = _render3.getByText,
|
|
37
|
+
getByRole = _render3.getByRole;
|
|
38
|
+
expect(getByText("Chip")).toBeTruthy();
|
|
39
|
+
_react2.fireEvent.click(getByRole("img"));
|
|
40
|
+
expect(onClick).toHaveBeenCalled();
|
|
41
|
+
});
|
|
42
|
+
});
|
package/chip/types.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
+
type Margin = {
|
|
4
4
|
top?: Space;
|
|
5
5
|
bottom?: Space;
|
|
6
6
|
left?: Space;
|
|
7
7
|
right?: Space;
|
|
8
8
|
};
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
|
|
10
|
+
type Props = {
|
|
11
11
|
/**
|
|
12
12
|
* Text to be placed on the chip.
|
|
13
13
|
*/
|
package/common/utils.js
CHANGED
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.getMargin = void 0;
|
|
9
|
-
|
|
10
8
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
11
|
-
|
|
12
|
-
var _variables = require("./variables.js");
|
|
13
|
-
|
|
9
|
+
var _variables = require("./variables");
|
|
14
10
|
var getMargin = function getMargin(marginProp, side) {
|
|
15
11
|
if (marginProp && (0, _typeof2["default"])(marginProp) === "object") {
|
|
16
12
|
return marginProp[side] && _variables.spaces[marginProp[side]] || "0px";
|
|
@@ -18,5 +14,4 @@ var getMargin = function getMargin(marginProp, side) {
|
|
|
18
14
|
return marginProp && _variables.spaces[marginProp] || "0px";
|
|
19
15
|
}
|
|
20
16
|
};
|
|
21
|
-
|
|
22
17
|
exports.getMargin = getMargin;
|