@dxc-technology/halstack-react 0.0.0-b41d935 → 0.0.0-b4aec06
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 -10
- package/BackgroundColorContext.js +5 -22
- package/HalstackContext.d.ts +1243 -6
- package/HalstackContext.js +126 -111
- package/README.md +47 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +42 -118
- package/accordion/Accordion.stories.tsx +85 -139
- package/accordion/Accordion.test.js +19 -34
- package/accordion/types.d.ts +6 -18
- package/accordion-group/AccordionGroup.d.ts +2 -2
- package/accordion-group/AccordionGroup.js +29 -77
- package/accordion-group/AccordionGroup.stories.tsx +78 -77
- package/accordion-group/AccordionGroup.test.js +44 -72
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +31 -0
- package/accordion-group/AccordionGroupContext.d.ts +3 -0
- package/accordion-group/AccordionGroupContext.js +8 -0
- package/accordion-group/types.d.ts +7 -19
- package/action-icon/ActionIcon.d.ts +4 -0
- package/action-icon/ActionIcon.js +48 -0
- package/action-icon/ActionIcon.stories.tsx +41 -0
- package/action-icon/ActionIcon.test.js +64 -0
- package/action-icon/types.d.ts +26 -0
- package/alert/Alert.js +31 -124
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +29 -46
- package/alert/types.d.ts +5 -5
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +141 -43
- package/badge/Badge.stories.tsx +210 -0
- package/badge/Badge.test.js +30 -0
- package/badge/types.d.ts +52 -3
- package/bleed/Bleed.js +13 -21
- package/bleed/Bleed.stories.tsx +1 -0
- package/bleed/types.d.ts +2 -2
- package/box/Box.d.ts +1 -1
- package/box/Box.js +18 -59
- package/box/Box.stories.tsx +38 -51
- package/box/Box.test.js +2 -7
- package/box/types.d.ts +3 -15
- package/bulleted-list/BulletedList.js +19 -53
- package/bulleted-list/BulletedList.stories.tsx +8 -93
- package/bulleted-list/types.d.ts +32 -5
- package/button/Button.d.ts +1 -1
- package/button/Button.js +71 -106
- package/button/Button.stories.tsx +144 -101
- package/button/Button.test.js +20 -17
- package/button/types.d.ts +9 -5
- package/card/Card.d.ts +1 -1
- package/card/Card.js +48 -89
- package/card/Card.stories.tsx +12 -42
- package/card/Card.test.js +11 -22
- package/card/types.d.ts +6 -12
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +90 -124
- package/checkbox/Checkbox.stories.tsx +68 -54
- package/checkbox/Checkbox.test.js +108 -64
- package/checkbox/types.d.ts +11 -3
- package/chip/Chip.js +39 -79
- package/chip/Chip.stories.tsx +121 -26
- package/chip/Chip.test.js +16 -31
- package/chip/types.d.ts +4 -4
- 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 +1395 -0
- package/common/variables.js +914 -1156
- 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/contextual-menu/ContextualMenu.d.ts +7 -0
- package/contextual-menu/ContextualMenu.js +71 -0
- package/contextual-menu/ContextualMenu.stories.tsx +182 -0
- package/contextual-menu/ContextualMenu.test.js +71 -0
- package/contextual-menu/MenuItemAction.d.ts +4 -0
- package/contextual-menu/MenuItemAction.js +46 -0
- package/contextual-menu/types.d.ts +22 -0
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +214 -0
- package/date-input/DateInput.js +150 -299
- package/date-input/DateInput.stories.tsx +203 -56
- package/date-input/DateInput.test.js +700 -371
- 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 +72 -15
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +61 -119
- package/dialog/Dialog.stories.tsx +310 -212
- package/dialog/Dialog.test.js +269 -32
- package/dialog/types.d.ts +18 -26
- package/divider/Divider.d.ts +4 -0
- package/divider/Divider.js +36 -0
- package/divider/Divider.stories.tsx +223 -0
- package/divider/Divider.test.js +38 -0
- package/divider/types.d.ts +21 -0
- package/divider/types.js +5 -0
- package/dropdown/Dropdown.js +84 -153
- package/dropdown/Dropdown.stories.tsx +209 -94
- package/dropdown/Dropdown.test.js +409 -400
- package/dropdown/DropdownMenu.js +20 -37
- package/dropdown/DropdownMenuItem.js +15 -37
- package/dropdown/types.d.ts +20 -24
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +193 -262
- package/file-input/FileInput.stories.tsx +86 -3
- package/file-input/FileInput.test.js +356 -395
- package/file-input/FileItem.js +15 -41
- package/file-input/types.d.ts +13 -9
- package/flex/Flex.js +27 -39
- package/flex/Flex.stories.tsx +35 -26
- package/flex/types.d.ts +74 -9
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +70 -117
- package/footer/Footer.stories.tsx +55 -21
- package/footer/Footer.test.js +33 -57
- package/footer/Icons.d.ts +3 -2
- package/footer/Icons.js +66 -7
- package/footer/types.d.ts +25 -27
- 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 +4 -3
- package/header/Header.js +48 -133
- package/header/Header.stories.tsx +115 -36
- package/header/Header.test.js +13 -26
- package/header/Icons.d.ts +2 -2
- package/header/Icons.js +2 -7
- package/header/types.d.ts +7 -22
- package/heading/Heading.js +10 -32
- package/heading/Heading.test.js +71 -88
- package/heading/types.d.ts +7 -7
- package/icon/Icon.d.ts +4 -0
- package/icon/Icon.js +33 -0
- package/icon/Icon.stories.tsx +28 -0
- package/icon/types.d.ts +4 -0
- package/icon/types.js +5 -0
- package/image/Image.d.ts +4 -0
- package/image/Image.js +70 -0
- package/image/Image.stories.tsx +129 -0
- package/image/types.d.ts +72 -0
- package/image/types.js +5 -0
- package/inset/Inset.js +13 -21
- package/inset/Inset.stories.tsx +2 -1
- package/inset/types.d.ts +2 -2
- package/layout/ApplicationLayout.d.ts +5 -5
- package/layout/ApplicationLayout.js +30 -67
- package/layout/ApplicationLayout.stories.tsx +1 -1
- package/layout/Icons.d.ts +8 -5
- package/layout/Icons.js +51 -59
- package/layout/types.d.ts +5 -6
- package/link/Link.js +25 -46
- package/link/Link.stories.tsx +60 -0
- package/link/Link.test.js +24 -44
- package/link/types.d.ts +14 -14
- package/main.d.ts +10 -5
- package/main.js +47 -59
- package/nav-tabs/NavTabs.d.ts +7 -0
- package/{tabs-nav → nav-tabs}/NavTabs.js +25 -57
- package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +115 -9
- package/{tabs-nav → nav-tabs}/NavTabs.test.js +39 -45
- package/nav-tabs/NavTabsContext.d.ts +3 -0
- package/nav-tabs/NavTabsContext.js +8 -0
- package/nav-tabs/Tab.js +118 -0
- package/{tabs-nav → nav-tabs}/types.d.ts +14 -15
- package/nav-tabs/types.js +5 -0
- package/number-input/NumberInput.js +46 -36
- package/number-input/NumberInput.stories.tsx +42 -26
- package/number-input/NumberInput.test.js +860 -414
- package/number-input/NumberInputContext.d.ts +3 -4
- package/number-input/NumberInputContext.js +3 -14
- package/number-input/types.d.ts +17 -5
- package/package.json +37 -40
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +21 -47
- package/paginator/Paginator.js +22 -58
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +252 -225
- package/paginator/types.d.ts +3 -3
- package/paragraph/Paragraph.d.ts +3 -4
- package/paragraph/Paragraph.js +6 -22
- package/paragraph/Paragraph.stories.tsx +0 -17
- package/password-input/Icons.d.ts +6 -0
- package/password-input/Icons.js +35 -0
- package/password-input/PasswordInput.js +57 -126
- package/password-input/PasswordInput.stories.tsx +1 -33
- package/password-input/PasswordInput.test.js +158 -141
- package/password-input/types.d.ts +8 -7
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +23 -55
- package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +36 -3
- package/progress-bar/ProgressBar.test.js +36 -53
- package/progress-bar/types.d.ts +4 -3
- package/quick-nav/QuickNav.js +4 -27
- package/quick-nav/QuickNav.stories.tsx +15 -1
- package/quick-nav/types.d.ts +10 -10
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +31 -63
- package/radio-group/RadioGroup.js +45 -93
- package/radio-group/RadioGroup.stories.tsx +131 -18
- package/radio-group/RadioGroup.test.js +505 -471
- package/radio-group/types.d.ts +8 -8
- package/resultset-table/Icons.d.ts +7 -0
- package/resultset-table/Icons.js +47 -0
- package/resultset-table/ResultsetTable.d.ts +7 -0
- package/resultset-table/ResultsetTable.js +170 -0
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +156 -30
- package/resultset-table/ResultsetTable.test.js +381 -0
- package/{resultsetTable → resultset-table}/types.d.ts +44 -11
- package/resultset-table/types.js +5 -0
- package/select/Icons.d.ts +7 -7
- package/select/Icons.js +1 -5
- package/select/Listbox.d.ts +1 -1
- package/select/Listbox.js +17 -72
- package/select/Option.js +27 -50
- package/select/Select.js +120 -175
- package/select/Select.stories.tsx +497 -153
- package/select/Select.test.js +1974 -1837
- package/select/types.d.ts +16 -17
- package/sidenav/Icons.d.ts +7 -0
- package/{text-input → sidenav}/Icons.js +10 -23
- package/sidenav/Sidenav.d.ts +2 -2
- package/sidenav/Sidenav.js +83 -154
- package/sidenav/Sidenav.stories.tsx +165 -63
- package/sidenav/Sidenav.test.js +3 -10
- package/{layout → sidenav}/SidenavContext.d.ts +1 -1
- package/{layout → sidenav}/SidenavContext.js +3 -9
- package/sidenav/types.d.ts +31 -28
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +77 -134
- package/slider/Slider.test.js +108 -104
- package/slider/types.d.ts +7 -3
- package/spinner/Spinner.js +31 -75
- package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
- package/spinner/Spinner.test.js +26 -35
- package/spinner/types.d.ts +3 -3
- package/status-light/StatusLight.d.ts +4 -0
- package/status-light/StatusLight.js +51 -0
- package/status-light/StatusLight.stories.tsx +74 -0
- package/status-light/StatusLight.test.js +25 -0
- package/status-light/types.d.ts +17 -0
- package/status-light/types.js +5 -0
- package/switch/Switch.d.ts +3 -3
- package/switch/Switch.js +56 -103
- package/switch/Switch.stories.tsx +33 -34
- package/switch/Switch.test.js +52 -97
- package/switch/types.d.ts +8 -3
- package/table/DropdownTheme.js +62 -0
- package/table/Table.d.ts +6 -2
- package/table/Table.js +78 -35
- package/table/Table.stories.tsx +651 -0
- package/table/Table.test.js +95 -8
- package/table/types.d.ts +34 -6
- package/tabs/Tab.js +26 -45
- package/tabs/Tabs.js +62 -145
- package/tabs/Tabs.stories.tsx +46 -6
- package/tabs/Tabs.test.js +66 -123
- package/tabs/types.d.ts +19 -19
- package/tag/Tag.js +28 -60
- package/tag/Tag.stories.tsx +14 -1
- package/tag/Tag.test.js +20 -31
- package/tag/types.d.ts +7 -7
- package/text-input/Suggestion.js +35 -25
- package/text-input/Suggestions.d.ts +1 -1
- package/text-input/Suggestions.js +19 -67
- package/text-input/TextInput.js +223 -333
- package/text-input/TextInput.stories.tsx +139 -155
- package/text-input/TextInput.test.js +1389 -1404
- package/text-input/types.d.ts +25 -17
- package/textarea/Textarea.js +70 -113
- package/textarea/Textarea.stories.tsx +174 -0
- package/textarea/Textarea.test.js +152 -183
- package/textarea/types.d.ts +9 -5
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +92 -106
- package/toggle-group/ToggleGroup.stories.tsx +49 -4
- package/toggle-group/ToggleGroup.test.js +69 -88
- package/toggle-group/types.d.ts +26 -17
- package/typography/Typography.d.ts +2 -2
- package/typography/Typography.js +15 -123
- package/typography/Typography.stories.tsx +1 -1
- package/typography/types.d.ts +1 -1
- package/useTheme.d.ts +1147 -1
- package/useTheme.js +2 -9
- package/useTranslatedLabels.d.ts +84 -1
- package/useTranslatedLabels.js +1 -7
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +94 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +124 -0
- package/wizard/Wizard.js +16 -51
- package/wizard/Wizard.stories.tsx +20 -0
- package/wizard/Wizard.test.js +54 -81
- package/wizard/types.d.ts +9 -10
- package/card/ice-cream.jpg +0 -0
- package/common/OpenSans.css +0 -81
- package/common/RequiredComponent.js +0 -32
- package/common/fonts/OpenSans-Bold.ttf +0 -0
- package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-Italic.ttf +0 -0
- package/common/fonts/OpenSans-Light.ttf +0 -0
- package/common/fonts/OpenSans-LightItalic.ttf +0 -0
- package/common/fonts/OpenSans-Regular.ttf +0 -0
- package/common/fonts/OpenSans-SemiBold.ttf +0 -0
- package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
- package/number-input/numberInputContextTypes.d.ts +0 -19
- package/resultsetTable/ResultsetTable.d.ts +0 -4
- package/resultsetTable/ResultsetTable.js +0 -252
- package/resultsetTable/ResultsetTable.test.js +0 -348
- package/slider/Slider.stories.tsx +0 -183
- package/table/Table.stories.jsx +0 -277
- package/tabs-nav/NavTabs.d.ts +0 -8
- package/tabs-nav/Tab.js +0 -130
- package/text-input/Icons.d.ts +0 -8
- package/textarea/Textarea.stories.jsx +0 -157
- /package/{resultsetTable → action-icon}/types.js +0 -0
- /package/{tabs-nav → container}/types.js +0 -0
- /package/{number-input/numberInputContextTypes.js → contextual-menu/types.js} +0 -0
- /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
package/tabs/Tabs.test.js
CHANGED
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _react = _interopRequireDefault(require("react"));
|
|
6
|
-
|
|
7
5
|
var _react2 = require("@testing-library/react");
|
|
8
|
-
|
|
9
|
-
var _Tabs = _interopRequireDefault(require("./Tabs"));
|
|
10
|
-
|
|
6
|
+
var _Tabs = _interopRequireDefault(require("./Tabs.tsx"));
|
|
11
7
|
var sampleTabs = [{
|
|
12
8
|
label: "Tab-1"
|
|
13
9
|
}, {
|
|
@@ -17,13 +13,13 @@ var sampleTabs = [{
|
|
|
17
13
|
}];
|
|
18
14
|
var sampleTabsWithBadge = [{
|
|
19
15
|
label: "Tab-1",
|
|
20
|
-
notificationNumber:
|
|
16
|
+
notificationNumber: 10
|
|
21
17
|
}, {
|
|
22
18
|
label: "Tab-2",
|
|
23
|
-
notificationNumber:
|
|
19
|
+
notificationNumber: 20
|
|
24
20
|
}, {
|
|
25
21
|
label: "Tab-3",
|
|
26
|
-
notificationNumber:
|
|
22
|
+
notificationNumber: 101
|
|
27
23
|
}];
|
|
28
24
|
var sampleTabsMiddleDisabled = [{
|
|
29
25
|
label: "Tab-1"
|
|
@@ -45,11 +41,10 @@ var sampleTabsLastTabNonDisabled = [{
|
|
|
45
41
|
describe("Tabs component tests", function () {
|
|
46
42
|
test("Tabs render with correct labels", function () {
|
|
47
43
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
44
|
+
tabs: sampleTabs
|
|
45
|
+
})),
|
|
46
|
+
getByText = _render.getByText,
|
|
47
|
+
getAllByRole = _render.getAllByRole;
|
|
53
48
|
var tabs = getAllByRole("tab");
|
|
54
49
|
expect(getByText("Tab-1")).toBeTruthy();
|
|
55
50
|
expect(getByText("Tab-2")).toBeTruthy();
|
|
@@ -60,21 +55,19 @@ describe("Tabs component tests", function () {
|
|
|
60
55
|
});
|
|
61
56
|
test("Tabs render with correct labels and badges", function () {
|
|
62
57
|
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
58
|
+
tabs: sampleTabsWithBadge
|
|
59
|
+
})),
|
|
60
|
+
getByText = _render2.getByText;
|
|
67
61
|
expect(getByText("10")).toBeTruthy();
|
|
68
62
|
expect(getByText("20")).toBeTruthy();
|
|
69
63
|
expect(getByText("+99")).toBeTruthy();
|
|
70
64
|
});
|
|
71
65
|
test("Tabs render with an initially active tab", function () {
|
|
72
66
|
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
67
|
+
defaultActiveTabIndex: 2,
|
|
68
|
+
tabs: sampleTabsWithBadge
|
|
69
|
+
})),
|
|
70
|
+
getAllByRole = _render3.getAllByRole;
|
|
78
71
|
var tabs = getAllByRole("tab");
|
|
79
72
|
expect(tabs[0].getAttribute("aria-selected")).toBe("false");
|
|
80
73
|
expect(tabs[1].getAttribute("aria-selected")).toBe("false");
|
|
@@ -82,60 +75,52 @@ describe("Tabs component tests", function () {
|
|
|
82
75
|
});
|
|
83
76
|
test("Tabs render with correct icons", function () {
|
|
84
77
|
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
78
|
+
tabs: [{
|
|
79
|
+
label: "Tab-1",
|
|
80
|
+
icon: "/testIcon1.png"
|
|
81
|
+
}, {
|
|
82
|
+
label: "Tab-2",
|
|
83
|
+
icon: "/testIcon2.png"
|
|
84
|
+
}, {
|
|
85
|
+
label: "Tab-3",
|
|
86
|
+
icon: "/testIcon3.png"
|
|
87
|
+
}]
|
|
88
|
+
})),
|
|
89
|
+
getAllByRole = _render4.getAllByRole;
|
|
98
90
|
expect(getAllByRole("img")[0].getAttribute("src")).toBe("/testIcon1.png");
|
|
99
91
|
expect(getAllByRole("img")[1].getAttribute("src")).toBe("/testIcon2.png");
|
|
100
92
|
expect(getAllByRole("img")[2].getAttribute("src")).toBe("/testIcon3.png");
|
|
101
93
|
});
|
|
102
94
|
test("Tabs render with disabled tab", function () {
|
|
103
95
|
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
96
|
+
tabs: [{
|
|
97
|
+
label: "Tab-1",
|
|
98
|
+
isDisabled: true
|
|
99
|
+
}, {
|
|
100
|
+
label: "Tab-2"
|
|
101
|
+
}]
|
|
102
|
+
})),
|
|
103
|
+
getAllByRole = _render5.getAllByRole;
|
|
113
104
|
expect(getAllByRole("tab")[0].hasAttribute("disabled")).toBeTruthy();
|
|
114
105
|
expect(getAllByRole("tab")[1].hasAttribute("disabled")).toBeFalsy();
|
|
115
106
|
});
|
|
116
107
|
test("Uncontrolled tabs", function () {
|
|
117
108
|
var onTabClick = jest.fn();
|
|
118
|
-
|
|
119
109
|
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
110
|
+
tabs: sampleTabs,
|
|
111
|
+
onTabClick: onTabClick
|
|
112
|
+
})),
|
|
113
|
+
getByText = _render6.getByText,
|
|
114
|
+
getAllByRole = _render6.getAllByRole;
|
|
126
115
|
var tabs = getAllByRole("tab");
|
|
127
116
|
var tab1 = getByText("Tab-1");
|
|
128
117
|
var tab2 = getByText("Tab-2");
|
|
129
|
-
|
|
130
118
|
_react2.fireEvent.click(tab2);
|
|
131
|
-
|
|
132
119
|
expect(onTabClick).toHaveBeenCalledWith(1);
|
|
133
120
|
expect(tabs[0].getAttribute("aria-selected")).toBe("false");
|
|
134
121
|
expect(tabs[1].getAttribute("aria-selected")).toBe("true");
|
|
135
122
|
expect(tabs[2].getAttribute("aria-selected")).toBe("false");
|
|
136
|
-
|
|
137
123
|
_react2.fireEvent.click(tab1);
|
|
138
|
-
|
|
139
124
|
expect(onTabClick).toHaveBeenCalledWith(0);
|
|
140
125
|
expect(tabs[0].getAttribute("aria-selected")).toBe("true");
|
|
141
126
|
expect(tabs[1].getAttribute("aria-selected")).toBe("false");
|
|
@@ -143,26 +128,19 @@ describe("Tabs component tests", function () {
|
|
|
143
128
|
});
|
|
144
129
|
test("Controlled tabs", function () {
|
|
145
130
|
var onTabClick = jest.fn();
|
|
146
|
-
|
|
147
131
|
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
getAllByRole = _render7.getAllByRole;
|
|
154
|
-
|
|
132
|
+
tabs: sampleTabs,
|
|
133
|
+
onTabClick: onTabClick,
|
|
134
|
+
activeTabIndex: 0
|
|
135
|
+
})),
|
|
136
|
+
getAllByRole = _render7.getAllByRole;
|
|
155
137
|
var tabs = getAllByRole("tab");
|
|
156
|
-
|
|
157
138
|
_react2.fireEvent.click(tabs[1]);
|
|
158
|
-
|
|
159
139
|
expect(onTabClick).toHaveBeenCalledWith(1);
|
|
160
140
|
expect(tabs[0].getAttribute("aria-selected")).toBe("true");
|
|
161
141
|
expect(tabs[1].getAttribute("aria-selected")).toBe("false");
|
|
162
142
|
expect(tabs[2].getAttribute("aria-selected")).toBe("false");
|
|
163
|
-
|
|
164
143
|
_react2.fireEvent.click(tabs[2]);
|
|
165
|
-
|
|
166
144
|
expect(onTabClick).toHaveBeenCalledWith(2);
|
|
167
145
|
expect(tabs[0].getAttribute("aria-selected")).toBe("true");
|
|
168
146
|
expect(tabs[1].getAttribute("aria-selected")).toBe("false");
|
|
@@ -170,13 +148,11 @@ describe("Tabs component tests", function () {
|
|
|
170
148
|
});
|
|
171
149
|
test("Uncontrolled tabs should have focus in the first non-disabled tab", function () {
|
|
172
150
|
var onTabClick = jest.fn();
|
|
173
|
-
|
|
174
151
|
var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
152
|
+
tabs: sampleTabsLastTabNonDisabled,
|
|
153
|
+
onTabClick: onTabClick
|
|
154
|
+
})),
|
|
155
|
+
getAllByRole = _render8.getAllByRole;
|
|
180
156
|
var tabs = getAllByRole("tab");
|
|
181
157
|
expect(tabs[0].hasAttribute("disabled")).toBeTruthy();
|
|
182
158
|
expect(tabs[1].hasAttribute("disabled")).toBeTruthy();
|
|
@@ -187,14 +163,12 @@ describe("Tabs component tests", function () {
|
|
|
187
163
|
});
|
|
188
164
|
test("Controlled tabs with active index in disabled tab should not change focus to the first available tab", function () {
|
|
189
165
|
var onTabClick = jest.fn();
|
|
190
|
-
|
|
191
166
|
var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
167
|
+
tabs: sampleTabsLastTabNonDisabled,
|
|
168
|
+
onTabClick: onTabClick,
|
|
169
|
+
activeTabIndex: 0
|
|
170
|
+
})),
|
|
171
|
+
getAllByRole = _render9.getAllByRole;
|
|
198
172
|
var tabs = getAllByRole("tab");
|
|
199
173
|
expect(tabs[0].getAttribute("aria-selected")).toBe("true");
|
|
200
174
|
expect(tabs[1].getAttribute("aria-selected")).toBe("false");
|
|
@@ -202,9 +176,7 @@ describe("Tabs component tests", function () {
|
|
|
202
176
|
expect(tabs[0].hasAttribute("disabled")).toBeTruthy();
|
|
203
177
|
expect(tabs[1].hasAttribute("disabled")).toBeTruthy();
|
|
204
178
|
expect(tabs[2].hasAttribute("disabled")).toBeFalsy();
|
|
205
|
-
|
|
206
179
|
_react2.fireEvent.click(tabs[2]);
|
|
207
|
-
|
|
208
180
|
expect(onTabClick).toHaveBeenCalledWith(2);
|
|
209
181
|
expect(tabs[0].getAttribute("aria-selected")).toBe("true");
|
|
210
182
|
expect(tabs[1].getAttribute("aria-selected")).toBe("false");
|
|
@@ -215,99 +187,77 @@ describe("Tabs component tests", function () {
|
|
|
215
187
|
});
|
|
216
188
|
test("Select tabs with keyboard event arrows", function () {
|
|
217
189
|
var onTabClick = jest.fn();
|
|
218
|
-
|
|
219
190
|
var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
191
|
+
tabs: sampleTabs,
|
|
192
|
+
onTabClick: onTabClick
|
|
193
|
+
})),
|
|
194
|
+
getByText = _render10.getByText,
|
|
195
|
+
getByRole = _render10.getByRole,
|
|
196
|
+
getAllByRole = _render10.getAllByRole;
|
|
227
197
|
var tabList = getByRole("tablist");
|
|
228
198
|
var tab1 = getByText("Tab-1");
|
|
229
199
|
var tabs = getAllByRole("tab");
|
|
230
|
-
|
|
231
200
|
_react2.fireEvent.click(tab1);
|
|
232
|
-
|
|
233
201
|
expect(tabs[0].getAttribute("aria-selected")).toBe("true");
|
|
234
202
|
expect(tabs[1].getAttribute("aria-selected")).toBe("false");
|
|
235
203
|
expect(tabs[2].getAttribute("aria-selected")).toBe("false");
|
|
236
204
|
expect(onTabClick).toHaveBeenCalledWith(0);
|
|
237
|
-
|
|
238
205
|
_react2.fireEvent.keyDown(tabList, {
|
|
239
206
|
key: "ArrowRight"
|
|
240
207
|
});
|
|
241
|
-
|
|
242
208
|
_react2.fireEvent.keyDown(tabList, {
|
|
243
209
|
key: "Enter"
|
|
244
210
|
});
|
|
245
|
-
|
|
246
211
|
expect(tabs[0].getAttribute("aria-selected")).toBe("false");
|
|
247
212
|
expect(tabs[1].getAttribute("aria-selected")).toBe("true");
|
|
248
213
|
expect(tabs[2].getAttribute("aria-selected")).toBe("false");
|
|
249
214
|
expect(onTabClick).toHaveBeenCalledWith(1);
|
|
250
|
-
|
|
251
215
|
_react2.fireEvent.keyDown(tabList, {
|
|
252
216
|
key: "ArrowRight"
|
|
253
217
|
});
|
|
254
|
-
|
|
255
218
|
_react2.fireEvent.keyDown(tabList, {
|
|
256
219
|
key: "Enter"
|
|
257
220
|
});
|
|
258
|
-
|
|
259
221
|
expect(tabs[0].getAttribute("aria-selected")).toBe("false");
|
|
260
222
|
expect(tabs[1].getAttribute("aria-selected")).toBe("false");
|
|
261
223
|
expect(tabs[2].getAttribute("aria-selected")).toBe("true");
|
|
262
224
|
expect(onTabClick).toHaveBeenCalledWith(2);
|
|
263
|
-
|
|
264
225
|
_react2.fireEvent.keyDown(tabList, {
|
|
265
226
|
key: "ArrowLeft"
|
|
266
227
|
});
|
|
267
|
-
|
|
268
228
|
_react2.fireEvent.keyDown(tabList, {
|
|
269
229
|
key: "Enter"
|
|
270
230
|
});
|
|
271
|
-
|
|
272
231
|
expect(tabs[0].getAttribute("aria-selected")).toBe("false");
|
|
273
232
|
expect(tabs[1].getAttribute("aria-selected")).toBe("true");
|
|
274
233
|
expect(tabs[2].getAttribute("aria-selected")).toBe("false");
|
|
275
234
|
expect(onTabClick).toHaveBeenCalledWith(1);
|
|
276
|
-
|
|
277
235
|
_react2.fireEvent.keyDown(tabList, {
|
|
278
236
|
key: "ArrowLeft"
|
|
279
237
|
});
|
|
280
|
-
|
|
281
238
|
_react2.fireEvent.keyDown(tabList, {
|
|
282
239
|
key: "Enter"
|
|
283
240
|
});
|
|
284
|
-
|
|
285
241
|
expect(tabs[0].getAttribute("aria-selected")).toBe("true");
|
|
286
242
|
expect(tabs[1].getAttribute("aria-selected")).toBe("false");
|
|
287
243
|
expect(tabs[2].getAttribute("aria-selected")).toBe("false");
|
|
288
244
|
expect(onTabClick).toHaveBeenCalledWith(0);
|
|
289
|
-
|
|
290
245
|
_react2.fireEvent.keyDown(tabList, {
|
|
291
246
|
key: "ArrowLeft"
|
|
292
247
|
});
|
|
293
|
-
|
|
294
248
|
_react2.fireEvent.keyDown(tabList, {
|
|
295
249
|
key: "Enter"
|
|
296
250
|
});
|
|
297
|
-
|
|
298
251
|
expect(tabs[0].getAttribute("aria-selected")).toBe("false");
|
|
299
252
|
expect(tabs[1].getAttribute("aria-selected")).toBe("false");
|
|
300
253
|
expect(tabs[2].getAttribute("aria-selected")).toBe("true");
|
|
301
254
|
expect(onTabClick).toHaveBeenCalledWith(2);
|
|
302
|
-
|
|
303
255
|
_react2.fireEvent.keyDown(tabList, {
|
|
304
256
|
key: "ArrowRight"
|
|
305
257
|
});
|
|
306
|
-
|
|
307
258
|
_react2.fireEvent.keyDown(tabList, {
|
|
308
259
|
key: "Enter"
|
|
309
260
|
});
|
|
310
|
-
|
|
311
261
|
expect(tabs[0].getAttribute("aria-selected")).toBe("true");
|
|
312
262
|
expect(tabs[1].getAttribute("aria-selected")).toBe("false");
|
|
313
263
|
expect(tabs[2].getAttribute("aria-selected")).toBe("false");
|
|
@@ -315,34 +265,27 @@ describe("Tabs component tests", function () {
|
|
|
315
265
|
});
|
|
316
266
|
test("Skip disabled tab with keyboard event arrows", function () {
|
|
317
267
|
var onTabClick = jest.fn();
|
|
318
|
-
|
|
319
268
|
var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
269
|
+
tabs: sampleTabsMiddleDisabled,
|
|
270
|
+
onTabClick: onTabClick
|
|
271
|
+
})),
|
|
272
|
+
getByText = _render11.getByText,
|
|
273
|
+
getByRole = _render11.getByRole,
|
|
274
|
+
getAllByRole = _render11.getAllByRole;
|
|
327
275
|
var tabList = getByRole("tablist");
|
|
328
276
|
var tab1 = getByText("Tab-1");
|
|
329
277
|
var tabs = getAllByRole("tab");
|
|
330
|
-
|
|
331
278
|
_react2.fireEvent.click(tab1);
|
|
332
|
-
|
|
333
279
|
expect(tabs[0].getAttribute("aria-selected")).toBe("true");
|
|
334
280
|
expect(tabs[1].getAttribute("aria-selected")).toBe("false");
|
|
335
281
|
expect(tabs[2].getAttribute("aria-selected")).toBe("false");
|
|
336
282
|
expect(onTabClick).toHaveBeenCalledWith(0);
|
|
337
|
-
|
|
338
283
|
_react2.fireEvent.keyDown(tabList, {
|
|
339
284
|
key: "ArrowRight"
|
|
340
285
|
});
|
|
341
|
-
|
|
342
286
|
_react2.fireEvent.keyDown(tabList, {
|
|
343
287
|
key: " "
|
|
344
288
|
});
|
|
345
|
-
|
|
346
289
|
expect(tabs[0].getAttribute("aria-selected")).toBe("false");
|
|
347
290
|
expect(tabs[1].getAttribute("aria-selected")).toBe("false");
|
|
348
291
|
expect(tabs[2].getAttribute("aria-selected")).toBe("true");
|
package/tabs/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 TabCommonProps = {
|
|
11
11
|
/**
|
|
12
12
|
* Whether the tab is disabled or not.
|
|
13
13
|
*/
|
|
@@ -21,7 +21,7 @@ declare type TabCommonProps = {
|
|
|
21
21
|
*/
|
|
22
22
|
notificationNumber?: boolean | number;
|
|
23
23
|
};
|
|
24
|
-
export
|
|
24
|
+
export type TabLabelProps = TabCommonProps & {
|
|
25
25
|
/**
|
|
26
26
|
* Tab label.
|
|
27
27
|
*/
|
|
@@ -31,7 +31,7 @@ export declare type TabLabelProps = TabCommonProps & {
|
|
|
31
31
|
*/
|
|
32
32
|
icon?: string | SVG;
|
|
33
33
|
};
|
|
34
|
-
export
|
|
34
|
+
export type TabIconProps = TabCommonProps & {
|
|
35
35
|
/**
|
|
36
36
|
* Tab label.
|
|
37
37
|
*/
|
|
@@ -41,7 +41,7 @@ export declare type TabIconProps = TabCommonProps & {
|
|
|
41
41
|
*/
|
|
42
42
|
icon: string | SVG;
|
|
43
43
|
};
|
|
44
|
-
export
|
|
44
|
+
export type TabProps = {
|
|
45
45
|
tab: TabLabelProps | TabIconProps;
|
|
46
46
|
active: boolean;
|
|
47
47
|
tabIndex: number;
|
|
@@ -51,15 +51,7 @@ export declare type TabProps = {
|
|
|
51
51
|
onMouseEnter: () => void;
|
|
52
52
|
onMouseLeave: () => void;
|
|
53
53
|
};
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* An array of objects representing the tabs.
|
|
57
|
-
*/
|
|
58
|
-
tabs: (TabLabelProps | TabIconProps)[];
|
|
59
|
-
/**
|
|
60
|
-
* Whether the icon should appear above or to the left of the label.
|
|
61
|
-
*/
|
|
62
|
-
iconPosition?: "top" | "left";
|
|
54
|
+
type Props = {
|
|
63
55
|
/**
|
|
64
56
|
* Initially active tab, only when it is uncontrolled.
|
|
65
57
|
*/
|
|
@@ -69,23 +61,31 @@ declare type Props = {
|
|
|
69
61
|
* uncontrolled and the active tab will be managed internally by the component.
|
|
70
62
|
*/
|
|
71
63
|
activeTabIndex?: number;
|
|
64
|
+
/**
|
|
65
|
+
* An array of objects representing the tabs.
|
|
66
|
+
*/
|
|
67
|
+
tabs: (TabLabelProps | TabIconProps)[];
|
|
68
|
+
/**
|
|
69
|
+
* Whether the icon should appear above or to the left of the label.
|
|
70
|
+
*/
|
|
71
|
+
iconPosition?: "top" | "left";
|
|
72
72
|
/**
|
|
73
73
|
* This function will be called when the user clicks on a tab. The index of the
|
|
74
74
|
* clicked tab will be passed as a parameter.
|
|
75
75
|
*/
|
|
76
|
-
onTabClick?: (
|
|
76
|
+
onTabClick?: (index: number) => void;
|
|
77
77
|
/**
|
|
78
78
|
* This function will be called when the user hovers a tab.The index of the
|
|
79
79
|
* hovered tab will be passed as a parameter.
|
|
80
80
|
*/
|
|
81
|
-
onTabHover?: (
|
|
81
|
+
onTabHover?: (index: number) => void;
|
|
82
82
|
/**
|
|
83
83
|
* Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
|
|
84
84
|
* You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
|
|
85
85
|
*/
|
|
86
86
|
margin?: Space | Margin;
|
|
87
87
|
/**
|
|
88
|
-
* Value of the tabindex
|
|
88
|
+
* Value of the tabindex attribute applied to each tab.
|
|
89
89
|
*/
|
|
90
90
|
tabIndex?: number;
|
|
91
91
|
};
|
package/tag/Tag.js
CHANGED
|
@@ -1,77 +1,56 @@
|
|
|
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 _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
|
-
|
|
18
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
-
|
|
20
13
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
21
|
-
|
|
22
|
-
var _variables = require("../common/variables.js");
|
|
23
|
-
|
|
14
|
+
var _variables = require("../common/variables");
|
|
24
15
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
25
|
-
|
|
26
|
-
var _utils = require("../common/utils.js");
|
|
27
|
-
|
|
16
|
+
var _utils = require("../common/utils");
|
|
28
17
|
var _Box = _interopRequireDefault(require("../box/Box"));
|
|
29
|
-
|
|
30
18
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
|
|
31
|
-
|
|
32
|
-
function
|
|
33
|
-
|
|
34
|
-
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; }
|
|
35
|
-
|
|
19
|
+
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); }
|
|
20
|
+
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; }
|
|
36
21
|
var DxcTag = function DxcTag(_ref) {
|
|
37
22
|
var icon = _ref.icon,
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
23
|
+
_ref$label = _ref.label,
|
|
24
|
+
label = _ref$label === void 0 ? "" : _ref$label,
|
|
25
|
+
linkHref = _ref.linkHref,
|
|
26
|
+
onClick = _ref.onClick,
|
|
27
|
+
_ref$iconBgColor = _ref.iconBgColor,
|
|
28
|
+
iconBgColor = _ref$iconBgColor === void 0 ? "#5f249f" : _ref$iconBgColor,
|
|
29
|
+
_ref$labelPosition = _ref.labelPosition,
|
|
30
|
+
labelPosition = _ref$labelPosition === void 0 ? "after" : _ref$labelPosition,
|
|
31
|
+
_ref$newWindow = _ref.newWindow,
|
|
32
|
+
newWindow = _ref$newWindow === void 0 ? false : _ref$newWindow,
|
|
33
|
+
margin = _ref.margin,
|
|
34
|
+
_ref$size = _ref.size,
|
|
35
|
+
size = _ref$size === void 0 ? "fitContent" : _ref$size,
|
|
36
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
37
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
53
38
|
var colorsTheme = (0, _useTheme["default"])();
|
|
54
|
-
|
|
55
39
|
var _useState = (0, _react.useState)(false),
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
40
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
41
|
+
isHovered = _useState2[0],
|
|
42
|
+
changeIsHovered = _useState2[1];
|
|
60
43
|
var clickHandler = function clickHandler() {
|
|
61
44
|
onClick && onClick();
|
|
62
45
|
};
|
|
63
|
-
|
|
64
46
|
var tagContent = /*#__PURE__*/_react["default"].createElement(_Box["default"], {
|
|
65
47
|
size: size,
|
|
66
48
|
shadowDepth: isHovered && (onClick || linkHref) && 2 || 1
|
|
67
|
-
}, /*#__PURE__*/_react["default"].createElement(TagContent, {
|
|
68
|
-
labelPosition: labelPosition
|
|
69
|
-
}, labelPosition === "before" && size !== "small" && label && /*#__PURE__*/_react["default"].createElement(TagLabel, null, label), icon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
|
|
49
|
+
}, /*#__PURE__*/_react["default"].createElement(TagContent, null, labelPosition === "before" && size !== "small" && label && /*#__PURE__*/_react["default"].createElement(TagLabel, null, label), icon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
|
|
70
50
|
iconBgColor: iconBgColor
|
|
71
51
|
}, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(TagIcon, {
|
|
72
52
|
src: icon
|
|
73
53
|
}) : icon), labelPosition === "after" && size !== "small" && label && /*#__PURE__*/_react["default"].createElement(TagLabel, null, label)));
|
|
74
|
-
|
|
75
54
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
76
55
|
theme: colorsTheme.tag
|
|
77
56
|
}, /*#__PURE__*/_react["default"].createElement(StyledDxcTag, {
|
|
@@ -93,7 +72,6 @@ var DxcTag = function DxcTag(_ref) {
|
|
|
93
72
|
target: newWindow ? "_blank" : "_self"
|
|
94
73
|
}, tagContent) : tagContent));
|
|
95
74
|
};
|
|
96
|
-
|
|
97
75
|
var sizes = {
|
|
98
76
|
small: "42px",
|
|
99
77
|
medium: "240px",
|
|
@@ -101,11 +79,9 @@ var sizes = {
|
|
|
101
79
|
fillParent: "100%",
|
|
102
80
|
fitContent: "fit-content"
|
|
103
81
|
};
|
|
104
|
-
|
|
105
82
|
var calculateWidth = function calculateWidth(margin, size) {
|
|
106
83
|
return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
|
|
107
84
|
};
|
|
108
|
-
|
|
109
85
|
var StyledDxcTag = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n cursor: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n width: ", ";\n height: ", ";\n"])), function (_ref2) {
|
|
110
86
|
var hasAction = _ref2.hasAction;
|
|
111
87
|
return hasAction && "pointer" || "unset";
|
|
@@ -114,34 +90,30 @@ var StyledDxcTag = _styledComponents["default"].div(_templateObject || (_templat
|
|
|
114
90
|
return margin && (0, _typeof2["default"])(margin) !== "object" ? _variables.spaces[margin] : "0px";
|
|
115
91
|
}, function (_ref4) {
|
|
116
92
|
var margin = _ref4.margin;
|
|
117
|
-
return margin && margin.top ? _variables.spaces[margin.top] : "";
|
|
93
|
+
return margin && (0, _typeof2["default"])(margin) === "object" && margin.top ? _variables.spaces[margin.top] : "";
|
|
118
94
|
}, function (_ref5) {
|
|
119
95
|
var margin = _ref5.margin;
|
|
120
|
-
return margin && margin.right ? _variables.spaces[margin.right] : "";
|
|
96
|
+
return margin && (0, _typeof2["default"])(margin) === "object" && margin.right ? _variables.spaces[margin.right] : "";
|
|
121
97
|
}, function (_ref6) {
|
|
122
98
|
var margin = _ref6.margin;
|
|
123
|
-
return margin && margin.bottom ? _variables.spaces[margin.bottom] : "";
|
|
99
|
+
return margin && (0, _typeof2["default"])(margin) === "object" && margin.bottom ? _variables.spaces[margin.bottom] : "";
|
|
124
100
|
}, function (_ref7) {
|
|
125
101
|
var margin = _ref7.margin;
|
|
126
|
-
return margin && margin.left ? _variables.spaces[margin.left] : "";
|
|
102
|
+
return margin && (0, _typeof2["default"])(margin) === "object" && margin.left ? _variables.spaces[margin.left] : "";
|
|
127
103
|
}, function (props) {
|
|
128
104
|
return calculateWidth(props.margin, props.size);
|
|
129
105
|
}, function (props) {
|
|
130
106
|
return props.theme.height;
|
|
131
107
|
});
|
|
132
|
-
|
|
133
108
|
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) {
|
|
134
109
|
return props.theme.height;
|
|
135
110
|
});
|
|
136
|
-
|
|
137
111
|
var StyledLink = _styledComponents["default"].a(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n text-decoration: none;\n border-radius: 4px;\n width: 100%;\n :focus {\n outline: 2px solid ", ";\n outline-offset: 0px;\n }\n"])), function (props) {
|
|
138
112
|
return props.theme.focusColor;
|
|
139
113
|
});
|
|
140
|
-
|
|
141
114
|
var StyledButton = _styledComponents["default"].button(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n background: none;\n border-radius: 4px;\n border: none;\n padding: 0;\n cursor: pointer;\n font-family: inherit;\n width: 100%;\n :focus {\n outline: 2px solid ", ";\n }\n"])), function (props) {
|
|
142
115
|
return props.theme.focusColor;
|
|
143
116
|
});
|
|
144
|
-
|
|
145
117
|
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
118
|
var iconBgColor = _ref8.iconBgColor;
|
|
147
119
|
return iconBgColor;
|
|
@@ -156,9 +128,7 @@ var IconContainer = _styledComponents["default"].div(_templateObject5 || (_templ
|
|
|
156
128
|
}, function (props) {
|
|
157
129
|
return props.theme.iconHeight;
|
|
158
130
|
});
|
|
159
|
-
|
|
160
131
|
var TagIcon = _styledComponents["default"].img(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])([""])));
|
|
161
|
-
|
|
162
132
|
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) {
|
|
163
133
|
return props.theme.fontFamily;
|
|
164
134
|
}, function (props) {
|
|
@@ -178,6 +148,4 @@ var TagLabel = _styledComponents["default"].div(_templateObject7 || (_templateOb
|
|
|
178
148
|
}, function (props) {
|
|
179
149
|
return props.theme.labelPaddingRight;
|
|
180
150
|
});
|
|
181
|
-
|
|
182
|
-
var _default = DxcTag;
|
|
183
|
-
exports["default"] = _default;
|
|
151
|
+
var _default = exports["default"] = DxcTag;
|