@dxc-technology/halstack-react 0.0.0-9bd9511 → 0.0.0-9c20370
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 +3 -3
- package/BackgroundColorContext.js +12 -2
- package/HalstackContext.d.ts +1330 -7
- package/HalstackContext.js +84 -67
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +74 -55
- package/accordion/Accordion.stories.tsx +3 -101
- package/accordion/Accordion.test.js +34 -19
- package/accordion/types.d.ts +4 -16
- package/accordion-group/AccordionGroup.d.ts +4 -3
- package/accordion-group/AccordionGroup.js +49 -42
- package/accordion-group/AccordionGroup.stories.tsx +77 -76
- package/accordion-group/AccordionGroup.test.js +62 -54
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +43 -0
- package/accordion-group/types.d.ts +6 -18
- package/alert/Alert.js +47 -20
- package/alert/Alert.test.js +46 -29
- package/alert/types.d.ts +3 -3
- package/badge/Badge.js +14 -2
- package/badge/types.d.ts +1 -1
- package/bleed/Bleed.js +21 -13
- 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 +33 -33
- package/box/Box.stories.tsx +25 -53
- package/box/Box.test.js +7 -2
- package/box/types.d.ts +3 -15
- package/bulleted-list/BulletedList.js +36 -9
- package/bulleted-list/BulletedList.stories.tsx +7 -1
- package/bulleted-list/types.d.ts +32 -5
- package/button/Button.d.ts +1 -1
- package/button/Button.js +83 -71
- package/button/Button.stories.tsx +4 -4
- package/button/Button.test.js +28 -8
- package/button/types.d.ts +8 -4
- package/card/Card.d.ts +1 -1
- package/card/Card.js +67 -62
- package/card/Card.stories.tsx +12 -42
- package/card/Card.test.js +22 -11
- package/card/types.d.ts +4 -10
- package/checkbox/Checkbox.js +71 -27
- package/checkbox/Checkbox.test.js +60 -33
- package/checkbox/types.d.ts +4 -4
- package/chip/Chip.js +51 -48
- package/chip/Chip.stories.tsx +25 -17
- package/chip/Chip.test.js +29 -17
- package/chip/types.d.ts +4 -4
- package/common/OpenSans.css +68 -80
- package/common/coreTokens.d.ts +146 -0
- package/common/coreTokens.js +167 -0
- package/common/utils.d.ts +1 -0
- package/common/utils.js +8 -3
- package/common/variables.d.ts +226 -175
- package/common/variables.js +956 -1133
- package/date-input/Calendar.js +55 -12
- package/date-input/DateInput.js +82 -35
- package/date-input/DateInput.test.js +351 -164
- package/date-input/DatePicker.js +38 -8
- package/date-input/Icons.js +12 -0
- package/date-input/YearPicker.js +30 -5
- package/date-input/types.d.ts +7 -7
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +83 -86
- package/dialog/Dialog.stories.tsx +127 -221
- package/dialog/Dialog.test.js +331 -18
- package/dialog/types.d.ts +1 -14
- package/dropdown/Dropdown.js +86 -32
- package/dropdown/Dropdown.test.js +211 -104
- package/dropdown/DropdownMenu.js +22 -8
- package/dropdown/DropdownMenuItem.js +15 -6
- package/dropdown/types.d.ts +8 -8
- package/file-input/FileInput.js +218 -134
- package/file-input/FileInput.test.js +343 -331
- package/file-input/FileItem.js +39 -12
- package/file-input/types.d.ts +10 -10
- package/flex/Flex.js +39 -25
- 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 +80 -68
- package/footer/Footer.stories.tsx +12 -89
- package/footer/Footer.test.js +47 -40
- package/footer/Icons.js +4 -0
- package/footer/types.d.ts +15 -17
- package/grid/Grid.d.ts +7 -0
- package/grid/Grid.js +91 -0
- package/grid/Grid.stories.tsx +219 -0
- package/grid/types.d.ts +115 -0
- package/header/Header.d.ts +4 -3
- package/header/Header.js +72 -55
- package/header/Header.stories.tsx +7 -71
- package/header/Header.test.js +26 -13
- package/header/Icons.js +4 -0
- package/header/types.d.ts +2 -16
- package/heading/Heading.js +28 -7
- package/heading/Heading.test.js +88 -71
- package/heading/types.d.ts +3 -3
- package/inset/Inset.js +21 -13
- 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 +57 -15
- package/layout/Icons.js +10 -0
- package/layout/SidenavContext.d.ts +1 -1
- package/layout/SidenavContext.js +4 -0
- package/layout/types.d.ts +5 -6
- package/link/Link.js +41 -21
- package/link/Link.test.js +42 -26
- package/link/types.d.ts +4 -4
- package/main.d.ts +2 -1
- package/main.js +55 -0
- package/nav-tabs/NavTabs.d.ts +2 -2
- package/nav-tabs/NavTabs.js +43 -16
- package/nav-tabs/NavTabs.stories.tsx +14 -0
- package/nav-tabs/NavTabs.test.js +44 -37
- package/nav-tabs/Tab.js +71 -45
- package/nav-tabs/types.d.ts +10 -11
- package/number-input/NumberInput.js +30 -20
- package/number-input/NumberInput.test.js +249 -113
- package/number-input/NumberInputContext.js +5 -0
- package/number-input/numberInputContextTypes.d.ts +1 -1
- package/number-input/types.d.ts +4 -4
- package/package.json +7 -7
- package/paginator/Icons.js +10 -0
- package/paginator/Paginator.js +39 -17
- package/paginator/Paginator.test.js +156 -104
- package/paginator/types.d.ts +1 -1
- package/paragraph/Paragraph.d.ts +3 -4
- package/paragraph/Paragraph.js +18 -8
- package/password-input/PasswordInput.js +51 -22
- package/password-input/PasswordInput.test.js +94 -51
- package/password-input/types.d.ts +4 -4
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +39 -14
- package/progress-bar/ProgressBar.test.js +53 -36
- package/progress-bar/types.d.ts +4 -3
- package/quick-nav/QuickNav.js +24 -2
- package/quick-nav/types.d.ts +2 -2
- package/radio-group/Radio.js +53 -22
- package/radio-group/RadioGroup.js +84 -41
- package/radio-group/RadioGroup.test.js +288 -186
- package/radio-group/types.d.ts +4 -4
- package/resultsetTable/Icons.js +3 -0
- package/resultsetTable/ResultsetTable.js +56 -21
- package/resultsetTable/ResultsetTable.test.js +75 -42
- package/resultsetTable/types.d.ts +5 -5
- package/select/Icons.js +3 -0
- package/select/Listbox.js +35 -10
- package/select/Option.js +24 -8
- package/select/Select.js +143 -56
- package/select/Select.test.js +839 -456
- package/select/types.d.ts +12 -12
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +51 -0
- package/sidenav/Sidenav.d.ts +2 -2
- package/sidenav/Sidenav.js +116 -104
- package/sidenav/Sidenav.stories.tsx +60 -60
- package/sidenav/Sidenav.test.js +10 -3
- package/sidenav/types.d.ts +26 -23
- package/slider/Slider.js +84 -38
- package/slider/Slider.test.js +104 -76
- package/slider/types.d.ts +4 -4
- package/spinner/Spinner.js +51 -28
- package/spinner/Spinner.stories.jsx +28 -28
- package/spinner/Spinner.test.js +35 -26
- package/spinner/types.d.ts +3 -3
- package/switch/Switch.js +66 -24
- package/switch/Switch.test.js +97 -52
- package/switch/types.d.ts +4 -4
- package/table/Table.js +22 -4
- package/table/Table.test.js +7 -2
- package/table/types.d.ts +3 -3
- package/tabs/Tab.js +39 -22
- package/tabs/Tabs.js +131 -62
- package/tabs/Tabs.test.js +122 -67
- package/tabs/types.d.ts +8 -8
- package/tag/Tag.js +54 -27
- package/tag/Tag.test.js +31 -20
- package/tag/types.d.ts +7 -7
- package/text-input/Icons.js +3 -0
- package/text-input/Suggestion.js +24 -8
- package/text-input/Suggestions.js +36 -11
- package/text-input/TextInput.js +144 -59
- package/text-input/TextInput.stories.tsx +1 -1
- package/text-input/TextInput.test.js +858 -539
- package/text-input/types.d.ts +9 -9
- package/textarea/Textarea.js +73 -38
- package/textarea/Textarea.test.js +173 -98
- package/textarea/types.d.ts +4 -4
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +59 -21
- package/toggle-group/ToggleGroup.test.js +72 -40
- package/toggle-group/types.d.ts +11 -11
- package/typography/Typography.d.ts +2 -2
- package/typography/Typography.js +23 -110
- package/typography/Typography.stories.tsx +1 -1
- package/typography/types.d.ts +1 -1
- package/useTheme.d.ts +1234 -1
- package/useTheme.js +6 -0
- package/useTranslatedLabels.d.ts +84 -2
- package/useTranslatedLabels.js +5 -0
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +108 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +138 -0
- package/wizard/Wizard.js +47 -13
- package/wizard/Wizard.test.js +81 -54
- package/wizard/types.d.ts +7 -8
- package/card/ice-cream.jpg +0 -0
- package/translatedLabelsType.d.ts +0 -82
- /package/{translatedLabelsType.js → grid/types.js} +0 -0
package/tabs/Tabs.js
CHANGED
|
@@ -1,23 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
5
7
|
Object.defineProperty(exports, "__esModule", {
|
|
6
8
|
value: true
|
|
7
9
|
});
|
|
8
10
|
exports["default"] = void 0;
|
|
11
|
+
|
|
9
12
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
13
|
+
|
|
10
14
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
|
+
|
|
11
16
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
|
+
|
|
12
18
|
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
+
|
|
13
20
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
21
|
+
|
|
14
22
|
var _variables = require("../common/variables");
|
|
23
|
+
|
|
15
24
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
25
|
+
|
|
16
26
|
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
27
|
+
|
|
17
28
|
var _Tab = _interopRequireDefault(require("./Tab"));
|
|
29
|
+
|
|
18
30
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
|
|
31
|
+
|
|
19
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
|
+
|
|
20
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
|
+
|
|
21
36
|
var arrowIcons = {
|
|
22
37
|
left: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
23
38
|
focusable: "false",
|
|
@@ -34,13 +49,16 @@ var arrowIcons = {
|
|
|
34
49
|
d: "M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"
|
|
35
50
|
}))
|
|
36
51
|
};
|
|
52
|
+
|
|
37
53
|
var useResize = function useResize(refTabList) {
|
|
38
54
|
var _useState = (0, _react.useState)(0),
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
55
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
56
|
+
viewWidth = _useState2[0],
|
|
57
|
+
setViewWidth = _useState2[1];
|
|
58
|
+
|
|
42
59
|
var handleWindowSizeChange = (0, _react.useCallback)(function () {
|
|
43
60
|
var _refTabList$current;
|
|
61
|
+
|
|
44
62
|
setViewWidth(refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current = refTabList.current) === null || _refTabList$current === void 0 ? void 0 : _refTabList$current.offsetWidth);
|
|
45
63
|
}, [refTabList]);
|
|
46
64
|
(0, _react.useEffect)(function () {
|
|
@@ -53,17 +71,18 @@ var useResize = function useResize(refTabList) {
|
|
|
53
71
|
}, [handleWindowSizeChange]);
|
|
54
72
|
return viewWidth;
|
|
55
73
|
};
|
|
74
|
+
|
|
56
75
|
var DxcTabs = function DxcTabs(_ref) {
|
|
57
76
|
var defaultActiveTabIndex = _ref.defaultActiveTabIndex,
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
77
|
+
activeTabIndex = _ref.activeTabIndex,
|
|
78
|
+
tabs = _ref.tabs,
|
|
79
|
+
onTabClick = _ref.onTabClick,
|
|
80
|
+
onTabHover = _ref.onTabHover,
|
|
81
|
+
margin = _ref.margin,
|
|
82
|
+
_ref$iconPosition = _ref.iconPosition,
|
|
83
|
+
iconPosition = _ref$iconPosition === void 0 ? "top" : _ref$iconPosition,
|
|
84
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
85
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
67
86
|
var colorsTheme = (0, _useTheme["default"])();
|
|
68
87
|
var hasLabelAndIcon = tabs && tabs.filter(function (tab) {
|
|
69
88
|
return tab.label && tab.icon;
|
|
@@ -71,50 +90,62 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
71
90
|
var firstFocus = tabs && tabs.findIndex(function (tab) {
|
|
72
91
|
return !tab.isDisabled;
|
|
73
92
|
});
|
|
93
|
+
|
|
74
94
|
var _useState3 = (0, _react.useState)(tabs && defaultActiveTabIndex && !tabs[defaultActiveTabIndex].isDisabled ? defaultActiveTabIndex : firstFocus),
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
95
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
96
|
+
innerActiveTabIndex = _useState4[0],
|
|
97
|
+
setInnerActiveTabIndex = _useState4[1];
|
|
98
|
+
|
|
78
99
|
var _useState5 = (0, _react.useState)(0),
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
100
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
101
|
+
activeIndicatorWidth = _useState6[0],
|
|
102
|
+
setActiveIndicatorWidth = _useState6[1];
|
|
103
|
+
|
|
82
104
|
var _useState7 = (0, _react.useState)(0),
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
105
|
+
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
106
|
+
activeIndicatorLeft = _useState8[0],
|
|
107
|
+
setActiveIndicatorLeft = _useState8[1];
|
|
108
|
+
|
|
86
109
|
var _useState9 = (0, _react.useState)(0),
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
110
|
+
_useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
|
|
111
|
+
translateScroll = _useState10[0],
|
|
112
|
+
setTranslateScroll = _useState10[1];
|
|
113
|
+
|
|
90
114
|
var _useState11 = (0, _react.useState)(true),
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
115
|
+
_useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
|
|
116
|
+
scrollRightEnabled = _useState12[0],
|
|
117
|
+
setScrollRightEnabled = _useState12[1];
|
|
118
|
+
|
|
94
119
|
var _useState13 = (0, _react.useState)(false),
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
120
|
+
_useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
|
|
121
|
+
scrollLeftEnabled = _useState14[0],
|
|
122
|
+
setScrollLeftEnabled = _useState14[1];
|
|
123
|
+
|
|
98
124
|
var _useState15 = (0, _react.useState)(0),
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
125
|
+
_useState16 = (0, _slicedToArray2["default"])(_useState15, 2),
|
|
126
|
+
countClick = _useState16[0],
|
|
127
|
+
setCountClick = _useState16[1];
|
|
128
|
+
|
|
102
129
|
var _useState17 = (0, _react.useState)(0),
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
130
|
+
_useState18 = (0, _slicedToArray2["default"])(_useState17, 2),
|
|
131
|
+
totalTabsWidth = _useState18[0],
|
|
132
|
+
setTotalTabsWidth = _useState18[1];
|
|
133
|
+
|
|
106
134
|
var _useState19 = (0, _react.useState)(activeTabIndex !== null && activeTabIndex !== void 0 ? activeTabIndex : innerActiveTabIndex),
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
135
|
+
_useState20 = (0, _slicedToArray2["default"])(_useState19, 2),
|
|
136
|
+
currentFocusIndex = _useState20[0],
|
|
137
|
+
setCurrentFocusIndex = _useState20[1];
|
|
138
|
+
|
|
110
139
|
var _useState21 = (0, _react.useState)(activeTabIndex !== null && activeTabIndex !== void 0 ? activeTabIndex : innerActiveTabIndex),
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
140
|
+
_useState22 = (0, _slicedToArray2["default"])(_useState21, 2),
|
|
141
|
+
temporalFocusIndex = _useState22[0],
|
|
142
|
+
setTemporalFocusIndex = _useState22[1];
|
|
143
|
+
|
|
114
144
|
var _useState23 = (0, _react.useState)(0),
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
145
|
+
_useState24 = (0, _slicedToArray2["default"])(_useState23, 2),
|
|
146
|
+
minHeightTabs = _useState24[0],
|
|
147
|
+
setMinHeightTabs = _useState24[1];
|
|
148
|
+
|
|
118
149
|
var refTabs = (0, _react.useRef)([]);
|
|
119
150
|
var refTabList = (0, _react.useRef)(null);
|
|
120
151
|
var viewWidth = useResize(refTabList);
|
|
@@ -124,6 +155,7 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
124
155
|
}, [viewWidth]);
|
|
125
156
|
(0, _react.useEffect)(function () {
|
|
126
157
|
var _refTabs$current, _refTabs$current2, _refTabs$current3;
|
|
158
|
+
|
|
127
159
|
var sumWidth = refTabs === null || refTabs === void 0 ? void 0 : (_refTabs$current = refTabs.current) === null || _refTabs$current === void 0 ? void 0 : _refTabs$current.reduce(function (count, obj) {
|
|
128
160
|
return count + obj.offsetWidth;
|
|
129
161
|
}, 0);
|
|
@@ -133,28 +165,36 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
133
165
|
}, [refTabs]);
|
|
134
166
|
(0, _react.useEffect)(function () {
|
|
135
167
|
var _refTabList$current2;
|
|
168
|
+
|
|
136
169
|
setMinHeightTabs((refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current2 = refTabList.current) === null || _refTabList$current2 === void 0 ? void 0 : _refTabList$current2.offsetHeight) + 1);
|
|
137
170
|
}, [refTabList]);
|
|
138
171
|
(0, _react.useEffect)(function () {
|
|
139
172
|
if (activeTabIndex >= 0) {
|
|
140
173
|
var _refTabs$current$acti, _refTabs$current$acti2;
|
|
174
|
+
|
|
141
175
|
setActiveIndicatorWidth(refTabs === null || refTabs === void 0 ? void 0 : (_refTabs$current$acti = refTabs.current[activeTabIndex]) === null || _refTabs$current$acti === void 0 ? void 0 : _refTabs$current$acti.offsetWidth);
|
|
142
176
|
setActiveIndicatorLeft(refTabs === null || refTabs === void 0 ? void 0 : (_refTabs$current$acti2 = refTabs.current[activeTabIndex]) === null || _refTabs$current$acti2 === void 0 ? void 0 : _refTabs$current$acti2.offsetLeft);
|
|
143
177
|
}
|
|
144
178
|
}, [activeTabIndex]);
|
|
179
|
+
|
|
145
180
|
var handleSelected = function handleSelected(newValue) {
|
|
146
181
|
activeTabIndex !== null && activeTabIndex !== void 0 ? activeTabIndex : setInnerActiveTabIndex(newValue);
|
|
147
182
|
onTabClick === null || onTabClick === void 0 ? void 0 : onTabClick(newValue);
|
|
183
|
+
|
|
148
184
|
if (activeTabIndex === undefined) {
|
|
149
185
|
var _refTabs$current$newV, _refTabs$current$newV2;
|
|
186
|
+
|
|
150
187
|
setActiveIndicatorWidth(refTabs === null || refTabs === void 0 ? void 0 : (_refTabs$current$newV = refTabs.current[newValue]) === null || _refTabs$current$newV === void 0 ? void 0 : _refTabs$current$newV.offsetWidth);
|
|
151
188
|
setActiveIndicatorLeft(refTabs === null || refTabs === void 0 ? void 0 : (_refTabs$current$newV2 = refTabs.current[newValue]) === null || _refTabs$current$newV2 === void 0 ? void 0 : _refTabs$current$newV2.offsetLeft);
|
|
152
189
|
}
|
|
153
190
|
};
|
|
191
|
+
|
|
154
192
|
var scrollLeft = function scrollLeft() {
|
|
155
193
|
var _refTabList$current3;
|
|
194
|
+
|
|
156
195
|
var scrollWidth = (refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current3 = refTabList.current) === null || _refTabList$current3 === void 0 ? void 0 : _refTabList$current3.offsetWidth) * 0.75;
|
|
157
|
-
var moveX;
|
|
196
|
+
var moveX = 0;
|
|
197
|
+
|
|
158
198
|
if (countClick <= scrollWidth) {
|
|
159
199
|
moveX = 0;
|
|
160
200
|
setScrollLeftEnabled(false);
|
|
@@ -164,15 +204,20 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
164
204
|
setScrollRightEnabled(true);
|
|
165
205
|
setScrollLeftEnabled(true);
|
|
166
206
|
}
|
|
207
|
+
|
|
167
208
|
setTranslateScroll(-moveX);
|
|
168
209
|
setCountClick(moveX);
|
|
169
210
|
};
|
|
211
|
+
|
|
170
212
|
var scrollRight = function scrollRight() {
|
|
171
213
|
var _refTabList$current4, _refTabList$current5;
|
|
214
|
+
|
|
172
215
|
var scrollWidth = (refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current4 = refTabList.current) === null || _refTabList$current4 === void 0 ? void 0 : _refTabList$current4.offsetWidth) * 0.75;
|
|
173
|
-
var moveX;
|
|
216
|
+
var moveX = 0;
|
|
217
|
+
|
|
174
218
|
if (countClick + scrollWidth + (refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current5 = refTabList.current) === null || _refTabList$current5 === void 0 ? void 0 : _refTabList$current5.offsetWidth) >= totalTabsWidth) {
|
|
175
219
|
var _refTabList$current6;
|
|
220
|
+
|
|
176
221
|
moveX = totalTabsWidth - (refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current6 = refTabList.current) === null || _refTabList$current6 === void 0 ? void 0 : _refTabList$current6.offsetWidth);
|
|
177
222
|
setScrollRightEnabled(false);
|
|
178
223
|
setScrollLeftEnabled(true);
|
|
@@ -181,15 +226,19 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
181
226
|
setScrollLeftEnabled(true);
|
|
182
227
|
setScrollRightEnabled(true);
|
|
183
228
|
}
|
|
229
|
+
|
|
184
230
|
setTranslateScroll(-moveX);
|
|
185
231
|
setCountClick(moveX);
|
|
186
232
|
};
|
|
233
|
+
|
|
187
234
|
var setPreviousTabFocus = function setPreviousTabFocus() {
|
|
188
235
|
setTemporalFocusIndex(function (temporalFocusIndex) {
|
|
189
236
|
var index = temporalFocusIndex === 0 ? tabs.length - 1 : temporalFocusIndex - 1;
|
|
237
|
+
|
|
190
238
|
while (tabs[index].isDisabled) {
|
|
191
239
|
index = index === 0 ? tabs.length - 1 : index - 1;
|
|
192
240
|
}
|
|
241
|
+
|
|
193
242
|
refTabs === null || refTabs === void 0 ? void 0 : refTabs.current[index].focus({
|
|
194
243
|
preventScroll: true
|
|
195
244
|
});
|
|
@@ -197,12 +246,15 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
197
246
|
return index;
|
|
198
247
|
});
|
|
199
248
|
};
|
|
249
|
+
|
|
200
250
|
var setNextTabFocus = function setNextTabFocus() {
|
|
201
251
|
setTemporalFocusIndex(function (temporalFocusIndex) {
|
|
202
252
|
var index = temporalFocusIndex === tabs.length - 1 ? 0 : temporalFocusIndex + 1;
|
|
253
|
+
|
|
203
254
|
while (tabs[index].isDisabled) {
|
|
204
255
|
index = index === tabs.length - 1 ? 0 : index + 1;
|
|
205
256
|
}
|
|
257
|
+
|
|
206
258
|
refTabs === null || refTabs === void 0 ? void 0 : refTabs.current[index].focus({
|
|
207
259
|
preventScroll: true
|
|
208
260
|
});
|
|
@@ -210,8 +262,10 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
210
262
|
return index;
|
|
211
263
|
});
|
|
212
264
|
};
|
|
265
|
+
|
|
213
266
|
var setScrollFocus = function setScrollFocus(actualIndex) {
|
|
214
267
|
var _refTabs$current4, _refTabList$current8;
|
|
268
|
+
|
|
215
269
|
var sumPrev = 0;
|
|
216
270
|
refTabs === null || refTabs === void 0 ? void 0 : (_refTabs$current4 = refTabs.current) === null || _refTabs$current4 === void 0 ? void 0 : _refTabs$current4.map(function (item, index) {
|
|
217
271
|
if (index <= actualIndex) {
|
|
@@ -219,23 +273,29 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
219
273
|
}
|
|
220
274
|
});
|
|
221
275
|
var moveX = 0;
|
|
276
|
+
|
|
222
277
|
if (actualIndex === tabs.length - 1) {
|
|
223
278
|
var _refTabList$current7;
|
|
279
|
+
|
|
224
280
|
moveX = totalTabsWidth - (refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current7 = refTabList.current) === null || _refTabList$current7 === void 0 ? void 0 : _refTabList$current7.offsetWidth);
|
|
225
281
|
setScrollLeftEnabled(true);
|
|
226
282
|
setScrollRightEnabled(false);
|
|
227
283
|
} else if (sumPrev > (refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current8 = refTabList.current) === null || _refTabList$current8 === void 0 ? void 0 : _refTabList$current8.offsetWidth)) {
|
|
228
284
|
var _refTabList$current9;
|
|
285
|
+
|
|
229
286
|
moveX = sumPrev - (refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current9 = refTabList.current) === null || _refTabList$current9 === void 0 ? void 0 : _refTabList$current9.offsetWidth) + 1; //plus 1px for the outline
|
|
287
|
+
|
|
230
288
|
setScrollLeftEnabled(true);
|
|
231
289
|
setScrollRightEnabled(true);
|
|
232
290
|
} else {
|
|
233
291
|
setScrollLeftEnabled(false);
|
|
234
292
|
setScrollRightEnabled(true);
|
|
235
293
|
}
|
|
294
|
+
|
|
236
295
|
setTranslateScroll(-moveX);
|
|
237
296
|
setCountClick(moveX);
|
|
238
297
|
};
|
|
298
|
+
|
|
239
299
|
var handleOnKeyDown = function handleOnKeyDown(event) {
|
|
240
300
|
switch (event.key) {
|
|
241
301
|
case "Left":
|
|
@@ -243,33 +303,39 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
243
303
|
event.preventDefault();
|
|
244
304
|
setPreviousTabFocus();
|
|
245
305
|
break;
|
|
306
|
+
|
|
246
307
|
case "Right":
|
|
247
308
|
case "ArrowRight":
|
|
248
309
|
event.preventDefault();
|
|
249
310
|
setNextTabFocus();
|
|
250
311
|
break;
|
|
312
|
+
|
|
251
313
|
case "Enter":
|
|
252
314
|
case " ":
|
|
253
315
|
event.preventDefault();
|
|
254
316
|
setCurrentFocusIndex(temporalFocusIndex);
|
|
255
317
|
handleSelected(temporalFocusIndex);
|
|
256
318
|
break;
|
|
319
|
+
|
|
257
320
|
case "Tab":
|
|
258
321
|
if (temporalFocusIndex !== currentFocusIndex) {
|
|
259
322
|
event.preventDefault();
|
|
260
323
|
setTemporalFocusIndex(currentFocusIndex);
|
|
261
324
|
refTabs === null || refTabs === void 0 ? void 0 : refTabs.current[currentFocusIndex].focus();
|
|
262
325
|
}
|
|
326
|
+
|
|
263
327
|
handleSelected(currentFocusIndex);
|
|
264
328
|
break;
|
|
265
329
|
}
|
|
266
330
|
};
|
|
331
|
+
|
|
267
332
|
var isTabActive = function isTabActive(index) {
|
|
268
333
|
return activeTabIndex >= 0 ? activeTabIndex === index : innerActiveTabIndex === index;
|
|
269
334
|
};
|
|
335
|
+
|
|
270
336
|
var isActiveIndicatorDisabled = firstFocus === -1 || tabs && activeTabIndex >= 0 && tabs[activeTabIndex].isDisabled;
|
|
271
337
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
272
|
-
theme: colorsTheme
|
|
338
|
+
theme: colorsTheme.tabs
|
|
273
339
|
}, /*#__PURE__*/_react["default"].createElement(TabsContainer, {
|
|
274
340
|
margin: margin
|
|
275
341
|
}, /*#__PURE__*/_react["default"].createElement(Underline, null), /*#__PURE__*/_react["default"].createElement(Tabs, {
|
|
@@ -277,9 +343,8 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
277
343
|
iconPosition: iconPosition
|
|
278
344
|
}, /*#__PURE__*/_react["default"].createElement(ScrollIndicator, {
|
|
279
345
|
onClick: scrollLeft,
|
|
280
|
-
scrollLeftEnabled: scrollLeftEnabled,
|
|
281
346
|
enabled: enabledIndicator,
|
|
282
|
-
|
|
347
|
+
disabled: !scrollLeftEnabled,
|
|
283
348
|
"aria-label": translatedLabels.tabs.scrollLeft,
|
|
284
349
|
tabIndex: scrollLeftEnabled ? tabIndex : -1,
|
|
285
350
|
minHeightTabs: minHeightTabs
|
|
@@ -320,19 +385,20 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
320
385
|
"aria-disabled": isActiveIndicatorDisabled
|
|
321
386
|
}))), /*#__PURE__*/_react["default"].createElement(ScrollIndicator, {
|
|
322
387
|
onClick: scrollRight,
|
|
323
|
-
scrollRightEnabled: scrollRightEnabled,
|
|
324
388
|
enabled: enabledIndicator,
|
|
325
|
-
|
|
389
|
+
disabled: !scrollRightEnabled,
|
|
326
390
|
"aria-label": translatedLabels.tabs.scrollRight,
|
|
327
391
|
tabIndex: scrollRightEnabled ? tabIndex : -1,
|
|
328
392
|
minHeightTabs: minHeightTabs
|
|
329
393
|
}, arrowIcons.right))));
|
|
330
394
|
};
|
|
331
|
-
|
|
395
|
+
|
|
396
|
+
var Underline = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n left: 0;\n bottom: 0;\n width: 100%;\n height: ", ";\n background-color: ", ";\n"])), function (props) {
|
|
332
397
|
return props.theme.dividerThickness;
|
|
333
398
|
}, function (props) {
|
|
334
399
|
return props.theme.dividerColor;
|
|
335
400
|
});
|
|
401
|
+
|
|
336
402
|
var TabsContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
337
403
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
338
404
|
}, function (props) {
|
|
@@ -344,6 +410,7 @@ var TabsContainer = _styledComponents["default"].div(_templateObject2 || (_templ
|
|
|
344
410
|
}, function (props) {
|
|
345
411
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
346
412
|
});
|
|
413
|
+
|
|
347
414
|
var Tabs = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n min-height: ", ";\n height: ", ";\n display: flex;\n overflow: hidden;\n background-color: ", ";\n"])), function (props) {
|
|
348
415
|
return (!props.hasLabelAndIcon || props.hasLabelAndIcon && props.iconPosition !== "top") && "48px" || "72px";
|
|
349
416
|
}, function (props) {
|
|
@@ -351,16 +418,13 @@ var Tabs = _styledComponents["default"].div(_templateObject3 || (_templateObject
|
|
|
351
418
|
}, function (props) {
|
|
352
419
|
return props.theme.unselectedBackgroundColor;
|
|
353
420
|
});
|
|
354
|
-
|
|
421
|
+
|
|
422
|
+
var ScrollIndicator = _styledComponents["default"].button(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: ", ";\n justify-content: center;\n min-width: ", ";\n height: ", "px;\n padding: 0;\n border: none;\n background-color: #ffffff;\n font-size: 1.25rem;\n cursor: pointer;\n\n &:hover {\n background-color: ", ";\n }\n &:focus {\n outline: ", " solid 1px;\n outline-offset: -1px;\n }\n &:active {\n background-color: ", ";\n }\n &:disabled {\n cursor: default;\n svg {\n visibility: hidden;\n }\n &:focus {\n outline: none;\n }\n &:hover,\n &:active {\n background-color: transparent !important;\n }\n }\n\n svg {\n align-self: center;\n height: 20px;\n width: 20px;\n fill: ", ";\n }\n"])), function (props) {
|
|
355
423
|
return props.enabled ? "flex" : "none";
|
|
356
424
|
}, function (props) {
|
|
357
425
|
return props.theme.scrollButtonsWidth;
|
|
358
426
|
}, function (props) {
|
|
359
427
|
return props.minHeightTabs - 1;
|
|
360
|
-
}, function (props) {
|
|
361
|
-
return props.theme.dividerThickness;
|
|
362
|
-
}, function (props) {
|
|
363
|
-
return props.theme.dividerColor;
|
|
364
428
|
}, function (props) {
|
|
365
429
|
return "".concat(props.theme.hoverBackgroundColor, " !important");
|
|
366
430
|
}, function (props) {
|
|
@@ -370,23 +434,28 @@ var ScrollIndicator = _styledComponents["default"].button(_templateObject4 || (_
|
|
|
370
434
|
}, function (props) {
|
|
371
435
|
return props.theme.unselectedFontColor;
|
|
372
436
|
});
|
|
373
|
-
|
|
437
|
+
|
|
438
|
+
var ActiveIndicator = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n bottom: 0;\n left: ", ";\n width: ", ";\n height: ", ";\n background-color: ", ";\n &[aria-disabled=\"true\"] {\n background-color: ", ";\n display: none;\n }\n"])), function (props) {
|
|
374
439
|
return "".concat(props.tabLeft, "px");
|
|
375
440
|
}, function (props) {
|
|
376
441
|
return "".concat(props.tabWidth, "px");
|
|
377
|
-
}, function (props) {
|
|
378
|
-
return props.theme.selectedUnderlineColor;
|
|
379
442
|
}, function (props) {
|
|
380
443
|
return props.theme.selectedUnderlineThickness;
|
|
444
|
+
}, function (props) {
|
|
445
|
+
return props.theme.selectedUnderlineColor;
|
|
381
446
|
}, function (props) {
|
|
382
447
|
return props.theme.disabledFontColor;
|
|
383
448
|
});
|
|
384
|
-
|
|
449
|
+
|
|
450
|
+
var TabsContent = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n flex: 1 1 auto;\n display: inline-block;\n position: relative;\n white-space: nowrap;\n overflow-x: scroll;\n ::-webkit-scrollbar {\n display: none;\n }\n"])));
|
|
451
|
+
|
|
385
452
|
var TabList = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n min-height: ", "px;\n"])), function (props) {
|
|
386
453
|
return props.minHeightTabs;
|
|
387
454
|
});
|
|
455
|
+
|
|
388
456
|
var TabsContentScroll = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n ", ";\n transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n"])), function (props) {
|
|
389
457
|
return props.enabled ? "transform: translateX(".concat(props.translateScroll, "px)") : "transform: translateX(0px)";
|
|
390
458
|
});
|
|
459
|
+
|
|
391
460
|
var _default = DxcTabs;
|
|
392
461
|
exports["default"] = _default;
|