@dxc-technology/halstack-react 0.0.0-c1c5f49 → 0.0.0-c2834c3
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 +298 -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 +15 -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 +1 -1
- package/badge/types.d.ts +4 -0
- package/badge/types.js +5 -0
- package/bleed/Bleed.d.ts +3 -0
- package/bleed/Bleed.js +84 -0
- package/bleed/Bleed.stories.tsx +342 -0
- package/bleed/types.d.ts +37 -0
- package/bleed/types.js +5 -0
- package/box/Box.js +2 -2
- package/box/Box.test.js +18 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +21 -26
- package/button/Button.stories.tsx +6 -8
- package/button/Button.test.js +35 -0
- package/button/types.d.ts +3 -7
- package/card/Card.js +28 -29
- 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 +233 -327
- package/date-input/DateInput.js +63 -52
- 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 +8 -35
- package/dialog/Dialog.test.js +40 -0
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +22 -48
- package/dropdown/Dropdown.stories.tsx +249 -0
- package/dropdown/Dropdown.test.js +189 -0
- package/dropdown/types.d.ts +6 -15
- package/file-input/FileInput.d.ts +1 -1
- package/file-input/FileInput.js +153 -71
- package/file-input/FileInput.stories.tsx +507 -0
- package/file-input/FileInput.test.js +457 -0
- package/file-input/FileItem.js +10 -8
- package/file-input/types.d.ts +32 -7
- 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 +3 -3
- package/footer/types.d.ts +21 -17
- package/header/Header.js +29 -50
- package/header/Header.stories.tsx +46 -36
- package/header/Header.test.js +79 -0
- package/header/Icons.d.ts +2 -0
- 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 +84 -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 +10 -0
- package/layout/ApplicationLayout.js +14 -31
- package/layout/ApplicationLayout.stories.tsx +171 -0
- package/layout/types.d.ts +57 -0
- package/layout/types.js +5 -0
- package/link/Link.d.ts +3 -2
- package/link/Link.js +71 -70
- package/link/Link.stories.tsx +91 -51
- package/link/Link.test.js +83 -0
- package/link/types.d.ts +10 -29
- package/list/List.d.ts +4 -0
- package/list/List.js +47 -0
- package/list/List.stories.tsx +95 -0
- package/list/types.d.ts +7 -0
- package/list/types.js +5 -0
- package/main.d.ts +11 -8
- package/main.js +68 -38
- 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 +9 -6
- package/paginator/Paginator.js +19 -46
- package/paginator/Paginator.test.js +266 -0
- package/password-input/PasswordInput.js +19 -17
- package/password-input/PasswordInput.stories.tsx +3 -3
- package/password-input/PasswordInput.test.js +180 -0
- package/password-input/types.d.ts +14 -11
- package/progress-bar/ProgressBar.js +4 -4
- package/progress-bar/ProgressBar.test.js +65 -0
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +116 -0
- package/quick-nav/QuickNav.stories.tsx +237 -0
- package/quick-nav/types.d.ts +21 -0
- package/quick-nav/types.js +5 -0
- package/radio/Radio.js +12 -13
- package/radio/Radio.test.js +71 -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 +282 -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.js +6 -3
- package/resultsetTable/ResultsetTable.stories.tsx +275 -0
- package/resultsetTable/ResultsetTable.test.js +306 -0
- package/resultsetTable/types.d.ts +2 -2
- package/row/Row.d.ts +3 -0
- package/row/Row.js +127 -0
- package/row/Row.stories.tsx +237 -0
- package/row/types.d.ts +28 -0
- package/row/types.js +5 -0
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +93 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +152 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +110 -0
- package/select/Select.d.ts +4 -0
- package/select/Select.js +110 -321
- package/select/Select.stories.tsx +103 -81
- package/select/Select.test.js +2057 -0
- package/select/types.d.ts +213 -0
- package/select/types.js +5 -0
- package/sidenav/Sidenav.js +2 -2
- package/sidenav/Sidenav.stories.tsx +18 -1
- package/sidenav/Sidenav.test.js +56 -0
- package/slider/Slider.d.ts +1 -1
- package/slider/Slider.js +4 -3
- package/slider/Slider.stories.tsx +8 -8
- package/slider/Slider.test.js +150 -0
- package/slider/types.d.ts +4 -0
- package/spinner/Spinner.js +3 -3
- package/spinner/Spinner.stories.jsx +1 -0
- package/spinner/Spinner.test.js +64 -0
- package/stack/Stack.d.ts +3 -0
- package/stack/Stack.js +97 -0
- package/stack/Stack.stories.tsx +164 -0
- package/stack/types.d.ts +24 -0
- package/stack/types.js +5 -0
- package/switch/Switch.d.ts +1 -1
- package/switch/Switch.js +37 -21
- package/switch/Switch.stories.tsx +15 -15
- package/switch/Switch.test.js +98 -0
- package/switch/types.d.ts +6 -2
- 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/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/Text.d.ts +7 -0
- package/text/Text.js +30 -0
- package/text/Text.stories.tsx +19 -0
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +55 -0
- package/text-input/TextInput.js +82 -98
- package/text-input/TextInput.stories.tsx +34 -16
- package/text-input/TextInput.test.js +1712 -0
- package/text-input/types.d.ts +32 -13
- package/textarea/Textarea.d.ts +4 -0
- package/textarea/Textarea.js +34 -73
- 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/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 +107 -46
- package/wizard/{Wizard.stories.jsx → Wizard.stories.tsx} +13 -23
- package/wizard/Wizard.test.js +141 -0
- package/wizard/types.d.ts +9 -9
- 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/select/index.d.ts +0 -131
- package/textarea/index.d.ts +0 -127
- 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/table/Table.stories.jsx
CHANGED
|
@@ -0,0 +1,26 @@
|
|
|
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 _Table = _interopRequireDefault(require("./Table"));
|
|
10
|
+
|
|
11
|
+
describe("Table component tests", function () {
|
|
12
|
+
test("Table renders with correct content", function () {
|
|
13
|
+
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Table["default"], null, /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("th", null, "header-1"), /*#__PURE__*/_react["default"].createElement("th", null, "header-2"), /*#__PURE__*/_react["default"].createElement("th", null, "header-3")), /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("td", null, "cell-1"), /*#__PURE__*/_react["default"].createElement("td", null, "cell-2"), /*#__PURE__*/_react["default"].createElement("td", null, "cell-3")), /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("td", null, "cell-4"), /*#__PURE__*/_react["default"].createElement("td", null, "cell-5"), /*#__PURE__*/_react["default"].createElement("td", null, "cell-6")))),
|
|
14
|
+
getByText = _render.getByText;
|
|
15
|
+
|
|
16
|
+
expect(getByText("header-1")).toBeTruthy();
|
|
17
|
+
expect(getByText("header-2")).toBeTruthy();
|
|
18
|
+
expect(getByText("header-3")).toBeTruthy();
|
|
19
|
+
expect(getByText("cell-1")).toBeTruthy();
|
|
20
|
+
expect(getByText("cell-2")).toBeTruthy();
|
|
21
|
+
expect(getByText("cell-3")).toBeTruthy();
|
|
22
|
+
expect(getByText("cell-4")).toBeTruthy();
|
|
23
|
+
expect(getByText("cell-5")).toBeTruthy();
|
|
24
|
+
expect(getByText("cell-6")).toBeTruthy();
|
|
25
|
+
});
|
|
26
|
+
});
|
package/tabs/Tabs.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import TabsPropsType from "./types";
|
|
3
|
-
declare const DxcTabs: ({ activeTabIndex, tabs, onTabClick, onTabHover, margin, iconPosition, tabIndex, }: TabsPropsType) => JSX.Element;
|
|
3
|
+
declare const DxcTabs: ({ defaultActiveTabIndex, activeTabIndex, tabs, onTabClick, onTabHover, margin, iconPosition, tabIndex, }: TabsPropsType) => JSX.Element;
|
|
4
4
|
export default DxcTabs;
|
package/tabs/Tabs.js
CHANGED
|
@@ -9,13 +9,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
});
|
|
10
10
|
exports["default"] = void 0;
|
|
11
11
|
|
|
12
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
-
|
|
14
12
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
15
13
|
|
|
14
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
|
+
|
|
16
16
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
17
|
|
|
18
|
-
var _react =
|
|
18
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
19
19
|
|
|
20
20
|
var _Tabs = _interopRequireDefault(require("@material-ui/core/Tabs"));
|
|
21
21
|
|
|
@@ -27,7 +27,7 @@ var _variables = require("../common/variables.js");
|
|
|
27
27
|
|
|
28
28
|
var _Badge = _interopRequireDefault(require("../badge/Badge"));
|
|
29
29
|
|
|
30
|
-
var _useTheme = _interopRequireDefault(require("../useTheme
|
|
30
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
31
31
|
|
|
32
32
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
|
|
33
33
|
|
|
@@ -36,7 +36,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
36
36
|
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; }
|
|
37
37
|
|
|
38
38
|
var DxcTabs = function DxcTabs(_ref) {
|
|
39
|
-
var
|
|
39
|
+
var defaultActiveTabIndex = _ref.defaultActiveTabIndex,
|
|
40
|
+
activeTabIndex = _ref.activeTabIndex,
|
|
40
41
|
tabs = _ref.tabs,
|
|
41
42
|
onTabClick = _ref.onTabClick,
|
|
42
43
|
onTabHover = _ref.onTabHover,
|
|
@@ -46,10 +47,10 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
46
47
|
_ref$tabIndex = _ref.tabIndex,
|
|
47
48
|
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
48
49
|
|
|
49
|
-
var
|
|
50
|
-
|
|
51
|
-
innerActiveTabIndex =
|
|
52
|
-
setInnerActiveTabIndex =
|
|
50
|
+
var _useState = (0, _react.useState)(defaultActiveTabIndex !== null && defaultActiveTabIndex !== void 0 ? defaultActiveTabIndex : 0),
|
|
51
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
52
|
+
innerActiveTabIndex = _useState2[0],
|
|
53
|
+
setInnerActiveTabIndex = _useState2[1];
|
|
53
54
|
|
|
54
55
|
var colorsTheme = (0, _useTheme["default"])();
|
|
55
56
|
var hasLabelAndIcon = tabs && tabs.filter(function (tab) {
|
|
@@ -57,10 +58,7 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
57
58
|
}).length > 0;
|
|
58
59
|
|
|
59
60
|
var handleChange = function handleChange(event, newValue) {
|
|
60
|
-
|
|
61
|
-
setInnerActiveTabIndex(newValue);
|
|
62
|
-
}
|
|
63
|
-
|
|
61
|
+
activeTabIndex !== null && activeTabIndex !== void 0 ? activeTabIndex : setInnerActiveTabIndex(newValue);
|
|
64
62
|
onTabClick === null || onTabClick === void 0 ? void 0 : onTabClick(newValue);
|
|
65
63
|
};
|
|
66
64
|
|
|
@@ -70,12 +68,12 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
70
68
|
}, /*#__PURE__*/_react["default"].createElement(TabLabelContainer, {
|
|
71
69
|
hasLabelAndIcon: hasLabelAndIcon,
|
|
72
70
|
iconPosition: iconPosition
|
|
73
|
-
}, tab.icon
|
|
71
|
+
}, tab.icon && /*#__PURE__*/_react["default"].createElement(TabIconContainer, {
|
|
74
72
|
hasLabelAndIcon: hasLabelAndIcon,
|
|
75
73
|
iconPosition: iconPosition
|
|
76
|
-
},
|
|
77
|
-
src: tab.
|
|
78
|
-
}), /*#__PURE__*/_react["default"].createElement(LabelTextContainer, null, tab.label))), tab.notificationNumber && tab.notificationNumber !== false && /*#__PURE__*/_react["default"].createElement(BadgeContainer, {
|
|
74
|
+
}, typeof tab.icon === "string" ? /*#__PURE__*/_react["default"].createElement(TabIcon, {
|
|
75
|
+
src: tab.icon
|
|
76
|
+
}) : tab.icon), /*#__PURE__*/_react["default"].createElement(LabelTextContainer, null, tab.label))), tab.notificationNumber && tab.notificationNumber !== false && /*#__PURE__*/_react["default"].createElement(BadgeContainer, {
|
|
79
77
|
hasLabelAndIcon: hasLabelAndIcon,
|
|
80
78
|
iconPosition: iconPosition
|
|
81
79
|
}, /*#__PURE__*/_react["default"].createElement(_Badge["default"], {
|
|
@@ -90,7 +88,7 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
90
88
|
hasLabelAndIcon: hasLabelAndIcon,
|
|
91
89
|
iconPosition: iconPosition
|
|
92
90
|
}, /*#__PURE__*/_react["default"].createElement(Underline, null), /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
93
|
-
value: activeTabIndex
|
|
91
|
+
value: activeTabIndex !== null && activeTabIndex !== void 0 ? activeTabIndex : innerActiveTabIndex,
|
|
94
92
|
onChange: handleChange,
|
|
95
93
|
variant: "scrollable",
|
|
96
94
|
scrollButtons: "auto"
|
|
@@ -201,7 +199,7 @@ var DxCTabs = _styledComponents["default"].div(_templateObject7 || (_templateObj
|
|
|
201
199
|
return props.theme.scrollButtonsWidth;
|
|
202
200
|
});
|
|
203
201
|
|
|
204
|
-
var TabIcon = _styledComponents["default"].img(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["
|
|
202
|
+
var TabIcon = _styledComponents["default"].img(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])([""])));
|
|
205
203
|
|
|
206
204
|
var TabIconContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 22px;\n max-width: 22px;\n margin-bottom: ", ";\n margin-right: ", ";\n overflow: hidden;\n display: flex;\n align-items: center;\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
|
|
207
205
|
return props.hasLabelAndIcon && props.iconPosition === "top" && "8px" || "";
|
package/tabs/Tabs.stories.tsx
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { userEvent, within } from "@storybook/testing-library";
|
|
3
2
|
import DxcTabs from "./Tabs";
|
|
4
3
|
import Title from "../../.storybook/components/Title";
|
|
5
4
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
@@ -9,14 +8,12 @@ export default {
|
|
|
9
8
|
component: DxcTabs,
|
|
10
9
|
};
|
|
11
10
|
|
|
12
|
-
const iconSVG = (
|
|
13
|
-
|
|
14
|
-
<
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
);
|
|
19
|
-
};
|
|
11
|
+
const iconSVG = (
|
|
12
|
+
<svg viewBox="0 0 24 24" fill="currentColor">
|
|
13
|
+
<path d="M0 0h24v24H0z" fill="none" />
|
|
14
|
+
<path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z" />
|
|
15
|
+
</svg>
|
|
16
|
+
);
|
|
20
17
|
|
|
21
18
|
const tabs: any = [
|
|
22
19
|
{
|
|
@@ -81,13 +78,6 @@ export const Chromatic = () => (
|
|
|
81
78
|
<Title title="With icon on the left and notification number" theme="light" level={4} />
|
|
82
79
|
<DxcTabs tabs={tabsNotificationIcon} iconPosition="left" />
|
|
83
80
|
</ExampleContainer>
|
|
84
|
-
<ExampleContainer>
|
|
85
|
-
<Title title="Scrollable" theme="light" level={4} />
|
|
86
|
-
<div style={{ width: "400px" }}>
|
|
87
|
-
<DxcTabs tabs={tabsNotificationIcon} iconPosition="left" activeTabIndex={1} />
|
|
88
|
-
</div>
|
|
89
|
-
</ExampleContainer>
|
|
90
|
-
|
|
91
81
|
<Title title="Margins" theme="light" level={2} />
|
|
92
82
|
<ExampleContainer>
|
|
93
83
|
<Title title="Xxsmall margin" theme="light" level={4} />
|
|
@@ -116,6 +106,7 @@ export const Chromatic = () => (
|
|
|
116
106
|
<ExampleContainer>
|
|
117
107
|
<Title title="Xxlarge margin" theme="light" level={4} />
|
|
118
108
|
<DxcTabs tabs={tabs} margin="xxlarge" />
|
|
109
|
+
<hr />
|
|
119
110
|
</ExampleContainer>
|
|
120
111
|
</>
|
|
121
112
|
);
|
|
@@ -0,0 +1,140 @@
|
|
|
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 _Tabs = _interopRequireDefault(require("./Tabs"));
|
|
10
|
+
|
|
11
|
+
var sampleTabs = [{
|
|
12
|
+
label: "Tab-1"
|
|
13
|
+
}, {
|
|
14
|
+
label: "Tab-2"
|
|
15
|
+
}, {
|
|
16
|
+
label: "Tab-3"
|
|
17
|
+
}];
|
|
18
|
+
var sampleTabsWithBadge = [{
|
|
19
|
+
label: "Tab-1",
|
|
20
|
+
notificationNumber: "10"
|
|
21
|
+
}, {
|
|
22
|
+
label: "Tab-2",
|
|
23
|
+
notificationNumber: "20"
|
|
24
|
+
}, {
|
|
25
|
+
label: "Tab-3",
|
|
26
|
+
notificationNumber: "101"
|
|
27
|
+
}];
|
|
28
|
+
describe("Tabs component tests", function () {
|
|
29
|
+
test("Tabs render with correct labels", function () {
|
|
30
|
+
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
31
|
+
tabs: sampleTabs
|
|
32
|
+
})),
|
|
33
|
+
getByText = _render.getByText,
|
|
34
|
+
getAllByRole = _render.getAllByRole;
|
|
35
|
+
|
|
36
|
+
var tabs = getAllByRole("tab");
|
|
37
|
+
expect(getByText("Tab-1")).toBeTruthy();
|
|
38
|
+
expect(getByText("Tab-2")).toBeTruthy();
|
|
39
|
+
expect(getByText("Tab-3")).toBeTruthy();
|
|
40
|
+
expect(tabs[0].getAttribute("aria-selected")).toBe("true");
|
|
41
|
+
expect(tabs[1].getAttribute("aria-selected")).toBe("false");
|
|
42
|
+
expect(tabs[2].getAttribute("aria-selected")).toBe("false");
|
|
43
|
+
});
|
|
44
|
+
test("Tabs render with correct labels and badges", function () {
|
|
45
|
+
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
46
|
+
tabs: sampleTabsWithBadge
|
|
47
|
+
})),
|
|
48
|
+
getByText = _render2.getByText;
|
|
49
|
+
|
|
50
|
+
expect(getByText("10")).toBeTruthy();
|
|
51
|
+
expect(getByText("20")).toBeTruthy();
|
|
52
|
+
expect(getByText("+99")).toBeTruthy();
|
|
53
|
+
});
|
|
54
|
+
test("Tabs render with an initially active tab", function () {
|
|
55
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
56
|
+
defaultActiveTabIndex: 2,
|
|
57
|
+
tabs: sampleTabsWithBadge
|
|
58
|
+
})),
|
|
59
|
+
getAllByRole = _render3.getAllByRole;
|
|
60
|
+
|
|
61
|
+
var tabs = getAllByRole("tab");
|
|
62
|
+
expect(tabs[0].getAttribute("aria-selected")).toBe("false");
|
|
63
|
+
expect(tabs[1].getAttribute("aria-selected")).toBe("false");
|
|
64
|
+
expect(tabs[2].getAttribute("aria-selected")).toBe("true");
|
|
65
|
+
});
|
|
66
|
+
test("Tabs render with correct icons", function () {
|
|
67
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
68
|
+
tabs: [{
|
|
69
|
+
label: "Tab-1",
|
|
70
|
+
icon: "/testIcon1.png"
|
|
71
|
+
}, {
|
|
72
|
+
label: "Tab-2",
|
|
73
|
+
icon: "/testIcon2.png"
|
|
74
|
+
}, {
|
|
75
|
+
label: "Tab-3",
|
|
76
|
+
icon: "/testIcon3.png"
|
|
77
|
+
}]
|
|
78
|
+
})),
|
|
79
|
+
getAllByRole = _render4.getAllByRole;
|
|
80
|
+
|
|
81
|
+
expect(getAllByRole("img")[0].getAttribute("src")).toBe("/testIcon1.png");
|
|
82
|
+
expect(getAllByRole("img")[1].getAttribute("src")).toBe("/testIcon2.png");
|
|
83
|
+
expect(getAllByRole("img")[2].getAttribute("src")).toBe("/testIcon3.png");
|
|
84
|
+
});
|
|
85
|
+
test("Tabs render with disabled tab", function () {
|
|
86
|
+
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
87
|
+
tabs: [{
|
|
88
|
+
label: "Tab-1",
|
|
89
|
+
isDisabled: true
|
|
90
|
+
}, {
|
|
91
|
+
label: "Tab-2"
|
|
92
|
+
}]
|
|
93
|
+
})),
|
|
94
|
+
getAllByRole = _render5.getAllByRole;
|
|
95
|
+
|
|
96
|
+
expect(getAllByRole("tab")[0].hasAttribute("disabled")).toBeTruthy();
|
|
97
|
+
expect(getAllByRole("tab")[1].hasAttribute("disabled")).toBeFalsy();
|
|
98
|
+
});
|
|
99
|
+
test("Uncontrolled tabs", function () {
|
|
100
|
+
var onTabClick = jest.fn();
|
|
101
|
+
|
|
102
|
+
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
103
|
+
tabs: sampleTabs,
|
|
104
|
+
onTabClick: onTabClick
|
|
105
|
+
})),
|
|
106
|
+
getByText = _render6.getByText;
|
|
107
|
+
|
|
108
|
+
var tab1 = getByText("Tab-1");
|
|
109
|
+
var tab2 = getByText("Tab-2");
|
|
110
|
+
|
|
111
|
+
_react2.fireEvent.click(tab2);
|
|
112
|
+
|
|
113
|
+
expect(onTabClick).toHaveBeenCalledWith(1);
|
|
114
|
+
|
|
115
|
+
_react2.fireEvent.click(tab1);
|
|
116
|
+
|
|
117
|
+
expect(onTabClick).toHaveBeenCalledWith(0);
|
|
118
|
+
});
|
|
119
|
+
test("Controlled tabs", function () {
|
|
120
|
+
var onTabClick = jest.fn();
|
|
121
|
+
|
|
122
|
+
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
123
|
+
tabs: sampleTabs,
|
|
124
|
+
onTabClick: onTabClick,
|
|
125
|
+
activeTabIndex: 0
|
|
126
|
+
})),
|
|
127
|
+
getByText = _render7.getByText;
|
|
128
|
+
|
|
129
|
+
var tab2 = getByText("Tab-2");
|
|
130
|
+
var tab3 = getByText("Tab-3");
|
|
131
|
+
|
|
132
|
+
_react2.fireEvent.click(tab2);
|
|
133
|
+
|
|
134
|
+
expect(onTabClick).toHaveBeenCalledWith(1);
|
|
135
|
+
|
|
136
|
+
_react2.fireEvent.click(tab3);
|
|
137
|
+
|
|
138
|
+
expect(onTabClick).toHaveBeenCalledWith(2);
|
|
139
|
+
});
|
|
140
|
+
});
|
package/tabs/types.d.ts
CHANGED
|
@@ -6,20 +6,8 @@ declare type Margin = {
|
|
|
6
6
|
left?: Space;
|
|
7
7
|
right?: Space;
|
|
8
8
|
};
|
|
9
|
-
declare type SVG = React.SVGProps<SVGSVGElement
|
|
10
|
-
declare type
|
|
11
|
-
/**
|
|
12
|
-
* Tab label.
|
|
13
|
-
*/
|
|
14
|
-
label?: string;
|
|
15
|
-
/**
|
|
16
|
-
* Element used as the icon that will be displayed in the tab.
|
|
17
|
-
*/
|
|
18
|
-
icon?: SVG;
|
|
19
|
-
/**
|
|
20
|
-
* @deprecated URL of the icon to be displayed in the tab.
|
|
21
|
-
*/
|
|
22
|
-
iconSrc?: string;
|
|
9
|
+
declare type SVG = React.SVGProps<SVGSVGElement>;
|
|
10
|
+
declare type TabCommonProps = {
|
|
23
11
|
/**
|
|
24
12
|
* Whether the tab is disabled or not.
|
|
25
13
|
*/
|
|
@@ -33,15 +21,39 @@ declare type Tab = {
|
|
|
33
21
|
*/
|
|
34
22
|
notificationNumber?: boolean | number;
|
|
35
23
|
};
|
|
24
|
+
declare type TabLabelProps = TabCommonProps & {
|
|
25
|
+
/**
|
|
26
|
+
* Tab label.
|
|
27
|
+
*/
|
|
28
|
+
label: string;
|
|
29
|
+
/**
|
|
30
|
+
* Element or path used as the icon that will be displayed in the tab.
|
|
31
|
+
*/
|
|
32
|
+
icon?: string | SVG;
|
|
33
|
+
};
|
|
34
|
+
declare type TabIconProps = TabCommonProps & {
|
|
35
|
+
/**
|
|
36
|
+
* Tab label.
|
|
37
|
+
*/
|
|
38
|
+
label?: string;
|
|
39
|
+
/**
|
|
40
|
+
* Element or path used as the icon that will be displayed in the tab.
|
|
41
|
+
*/
|
|
42
|
+
icon: string | SVG;
|
|
43
|
+
};
|
|
36
44
|
declare type Props = {
|
|
37
45
|
/**
|
|
38
46
|
* An array of objects representing the tabs.
|
|
39
47
|
*/
|
|
40
|
-
tabs:
|
|
48
|
+
tabs: (TabLabelProps | TabIconProps)[];
|
|
41
49
|
/**
|
|
42
50
|
* Whether the icon should appear above or to the left of the label.
|
|
43
51
|
*/
|
|
44
52
|
iconPosition?: "top" | "left";
|
|
53
|
+
/**
|
|
54
|
+
* Initially active tab, only when it is uncontrolled.
|
|
55
|
+
*/
|
|
56
|
+
defaultActiveTabIndex?: number;
|
|
45
57
|
/**
|
|
46
58
|
* The index of the active tab. If undefined, the component will be
|
|
47
59
|
* uncontrolled and the active tab will be managed internally by the component.
|
package/tag/Tag.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import TagPropsType from "./types";
|
|
3
|
-
declare const DxcTag: ({ icon,
|
|
3
|
+
declare const DxcTag: ({ icon, label, linkHref, onClick, iconBgColor, labelPosition, newWindow, margin, size, tabIndex, }: TagPropsType) => JSX.Element;
|
|
4
4
|
export default DxcTag;
|
package/tag/Tag.js
CHANGED
|
@@ -9,10 +9,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
});
|
|
10
10
|
exports["default"] = void 0;
|
|
11
11
|
|
|
12
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
-
|
|
14
12
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
15
13
|
|
|
14
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
|
+
|
|
16
16
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
17
|
|
|
18
18
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -21,13 +21,13 @@ 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 _utils = require("../common/utils.js");
|
|
27
27
|
|
|
28
28
|
var _Box = _interopRequireDefault(require("../box/Box"));
|
|
29
29
|
|
|
30
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7
|
|
30
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
|
|
31
31
|
|
|
32
32
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
33
33
|
|
|
@@ -35,7 +35,6 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
35
35
|
|
|
36
36
|
var DxcTag = function DxcTag(_ref) {
|
|
37
37
|
var icon = _ref.icon,
|
|
38
|
-
iconSrc = _ref.iconSrc,
|
|
39
38
|
_ref$label = _ref.label,
|
|
40
39
|
label = _ref$label === void 0 ? "" : _ref$label,
|
|
41
40
|
linkHref = _ref.linkHref,
|
|
@@ -67,11 +66,11 @@ var DxcTag = function DxcTag(_ref) {
|
|
|
67
66
|
shadowDepth: isHovered && (onClick || linkHref) && 2 || 1
|
|
68
67
|
}, /*#__PURE__*/_react["default"].createElement(TagContent, {
|
|
69
68
|
labelPosition: labelPosition
|
|
70
|
-
}, /*#__PURE__*/_react["default"].createElement(IconContainer, {
|
|
69
|
+
}, labelPosition === "before" && size !== "small" && label && /*#__PURE__*/_react["default"].createElement(TagLabel, null, label), icon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
|
|
71
70
|
iconBgColor: iconBgColor
|
|
72
|
-
},
|
|
73
|
-
src:
|
|
74
|
-
})), size !== "small" && /*#__PURE__*/_react["default"].createElement(TagLabel, null, label)));
|
|
71
|
+
}, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(TagIcon, {
|
|
72
|
+
src: icon
|
|
73
|
+
}) : icon), labelPosition === "after" && size !== "small" && label && /*#__PURE__*/_react["default"].createElement(TagLabel, null, label)));
|
|
75
74
|
|
|
76
75
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
77
76
|
theme: colorsTheme.tag
|
|
@@ -131,10 +130,7 @@ var StyledDxcTag = _styledComponents["default"].div(_templateObject || (_templat
|
|
|
131
130
|
return props.theme.height;
|
|
132
131
|
});
|
|
133
132
|
|
|
134
|
-
var TagContent = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: center;\n
|
|
135
|
-
var labelPosition = _ref8.labelPosition;
|
|
136
|
-
return labelPosition === "before" && "row-reverse" || "row";
|
|
137
|
-
}, function (props) {
|
|
133
|
+
var TagContent = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: center;\n width: 100%;\n height: ", ";\n"])), function (props) {
|
|
138
134
|
return props.theme.height;
|
|
139
135
|
});
|
|
140
136
|
|
|
@@ -146,20 +142,8 @@ var StyledButton = _styledComponents["default"].button(_templateObject4 || (_tem
|
|
|
146
142
|
return props.theme.focusColor;
|
|
147
143
|
});
|
|
148
144
|
|
|
149
|
-
var
|
|
150
|
-
|
|
151
|
-
}, function (props) {
|
|
152
|
-
return props.theme.iconHeight;
|
|
153
|
-
});
|
|
154
|
-
|
|
155
|
-
var TagIconContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n\n img,\n svg {\n width: ", ";\n height: ", ";\n }\n"])), function (props) {
|
|
156
|
-
return props.theme.iconWidth;
|
|
157
|
-
}, function (props) {
|
|
158
|
-
return props.theme.iconHeight;
|
|
159
|
-
});
|
|
160
|
-
|
|
161
|
-
var IconContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n background: ", ";\n width: ", ";\n height: 100%;\n justify-content: center;\n align-items: center;\n color: ", ";\n min-width: ", ";\n"])), function (_ref9) {
|
|
162
|
-
var iconBgColor = _ref9.iconBgColor;
|
|
145
|
+
var IconContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n background: ", ";\n width: ", ";\n height: 100%;\n justify-content: center;\n align-items: center;\n color: ", ";\n min-width: ", ";\n overflow: hidden;\n img,\n svg {\n width: ", ";\n height: ", ";\n }\n"])), function (_ref8) {
|
|
146
|
+
var iconBgColor = _ref8.iconBgColor;
|
|
163
147
|
return iconBgColor;
|
|
164
148
|
}, function (props) {
|
|
165
149
|
return props.theme.iconSectionWidth;
|
|
@@ -167,9 +151,15 @@ var IconContainer = _styledComponents["default"].div(_templateObject7 || (_templ
|
|
|
167
151
|
return props.theme.iconColor;
|
|
168
152
|
}, function (props) {
|
|
169
153
|
return props.theme.iconSectionWidth;
|
|
154
|
+
}, function (props) {
|
|
155
|
+
return props.theme.iconWidth;
|
|
156
|
+
}, function (props) {
|
|
157
|
+
return props.theme.iconHeight;
|
|
170
158
|
});
|
|
171
159
|
|
|
172
|
-
var
|
|
160
|
+
var TagIcon = _styledComponents["default"].img(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])([""])));
|
|
161
|
+
|
|
162
|
+
var TagLabel = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n flex-grow: 1;\n text-align: center;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n"])), function (props) {
|
|
173
163
|
return props.theme.fontFamily;
|
|
174
164
|
}, function (props) {
|
|
175
165
|
return props.theme.fontSize;
|
package/tag/Tag.stories.tsx
CHANGED
|
@@ -9,29 +9,22 @@ export default {
|
|
|
9
9
|
component: DxcTag,
|
|
10
10
|
};
|
|
11
11
|
|
|
12
|
-
const icon = (
|
|
13
|
-
|
|
14
|
-
<
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
<
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
</svg>
|
|
26
|
-
);
|
|
27
|
-
};
|
|
12
|
+
const icon = (
|
|
13
|
+
<svg viewBox="0 0 24 24" fill="currentColor">
|
|
14
|
+
<path d="M0 0h24v24H0z" fill="none" />
|
|
15
|
+
<path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z" />
|
|
16
|
+
</svg>
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
const largeIcon = (
|
|
20
|
+
<svg xmlns="http://www.w3.org/2000/svg" height="48px" viewBox="0 0 24 24" width="48px" fill="currentColor">
|
|
21
|
+
<path d="M0 0h24v24H0V0z" fill="none" />
|
|
22
|
+
<path d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z" />
|
|
23
|
+
</svg>
|
|
24
|
+
);
|
|
28
25
|
|
|
29
26
|
export const Chromatic = () => (
|
|
30
27
|
<>
|
|
31
|
-
<ExampleContainer>
|
|
32
|
-
<Title title="Without label" theme="light" level={4} />
|
|
33
|
-
<DxcTag />
|
|
34
|
-
</ExampleContainer>
|
|
35
28
|
<ExampleContainer>
|
|
36
29
|
<Title title="With icon" theme="light" level={4} />
|
|
37
30
|
<DxcTag icon={icon} />
|
|
@@ -46,7 +39,10 @@ export const Chromatic = () => (
|
|
|
46
39
|
</ExampleContainer>
|
|
47
40
|
<ExampleContainer>
|
|
48
41
|
<Title title="With label and icon" theme="light" level={4} />
|
|
49
|
-
<DxcTag
|
|
42
|
+
<DxcTag
|
|
43
|
+
label="Tag"
|
|
44
|
+
icon="https://iconape.com/wp-content/files/yd/367773/svg/logo-linkedin-logo-icon-png-svg.png"
|
|
45
|
+
/>
|
|
50
46
|
</ExampleContainer>
|
|
51
47
|
<ExampleContainer>
|
|
52
48
|
<Title title="With right icon" theme="light" level={4} />
|
|
@@ -102,37 +98,38 @@ export const Chromatic = () => (
|
|
|
102
98
|
<Title title="Sizes" theme="light" level={2} />
|
|
103
99
|
<ExampleContainer>
|
|
104
100
|
<Title title="Small size" theme="light" level={4} />
|
|
105
|
-
<DxcTag label="Small" size="small" />
|
|
101
|
+
<DxcTag label="Small" size="small" icon={icon} />
|
|
106
102
|
</ExampleContainer>
|
|
107
103
|
<ExampleContainer>
|
|
108
104
|
<Title title="Medium size" theme="light" level={4} />
|
|
109
|
-
<DxcTag label="Medium size medium s" size="medium" />
|
|
105
|
+
<DxcTag label="Medium size medium s" size="medium" icon={icon} />
|
|
110
106
|
</ExampleContainer>
|
|
111
107
|
<ExampleContainer>
|
|
112
108
|
<Title title="Medium size with ellipsis" theme="light" level={4} />
|
|
113
|
-
<DxcTag label="Medium size medium si medium" size="medium" />
|
|
109
|
+
<DxcTag label="Medium size medium si medium" size="medium" icon={icon} />
|
|
114
110
|
</ExampleContainer>
|
|
115
111
|
<ExampleContainer>
|
|
116
112
|
<Title title="Large size" theme="light" level={4} />
|
|
117
|
-
<DxcTag label="Large size large size large size large size large size" size="large" />
|
|
113
|
+
<DxcTag label="Large size large size large size large size large size" size="large" icon={icon} />
|
|
118
114
|
</ExampleContainer>
|
|
119
115
|
<ExampleContainer>
|
|
120
116
|
<Title title="Large size with ellipsis" theme="light" level={4} />
|
|
121
|
-
<DxcTag label="Large size large size large size large size large size large size" size="large" />
|
|
117
|
+
<DxcTag label="Large size large size large size large size large size large size" size="large" icon={icon} />
|
|
122
118
|
</ExampleContainer>
|
|
123
119
|
<ExampleContainer>
|
|
124
120
|
<Title title="FillParent size" theme="light" level={4} />
|
|
125
|
-
<DxcTag label="FillParent" size="fillParent" />
|
|
121
|
+
<DxcTag label="FillParent" size="fillParent" icon={icon} />
|
|
126
122
|
</ExampleContainer>
|
|
127
123
|
<ExampleContainer>
|
|
128
124
|
<Title title="FitContent size" theme="light" level={4} />
|
|
129
|
-
<DxcTag label="FitContent" size="fitContent" />
|
|
125
|
+
<DxcTag label="FitContent" size="fitContent" icon={icon} />
|
|
130
126
|
</ExampleContainer>
|
|
127
|
+
<hr />
|
|
131
128
|
</>
|
|
132
129
|
);
|
|
133
130
|
|
|
134
131
|
const LinkTag = () => (
|
|
135
|
-
<ExampleContainer>
|
|
132
|
+
<ExampleContainer expanded>
|
|
136
133
|
<Title title="Hover link tag" theme="light" level={4} />
|
|
137
134
|
<DxcTag label="Tag" icon={icon} linkHref="https://www.dxc.com" />
|
|
138
135
|
</ExampleContainer>
|