@dxc-technology/halstack-react 10.0.0 → 11.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BackgroundColorContext.d.ts +2 -2
- package/BackgroundColorContext.js +5 -17
- package/HalstackContext.d.ts +26 -6
- package/HalstackContext.js +9 -34
- package/README.md +47 -0
- package/accordion/Accordion.js +21 -58
- package/accordion/Accordion.stories.tsx +1 -15
- package/accordion/Accordion.test.js +18 -33
- package/accordion/types.d.ts +5 -5
- package/accordion-group/AccordionGroup.js +15 -42
- package/accordion-group/AccordionGroup.stories.tsx +1 -1
- package/accordion-group/AccordionGroup.test.js +42 -60
- package/accordion-group/AccordionGroupAccordion.js +9 -21
- package/accordion-group/types.d.ts +6 -6
- package/alert/Alert.js +14 -46
- package/alert/Alert.test.js +28 -45
- package/alert/types.d.ts +5 -5
- package/badge/Badge.js +4 -17
- package/badge/types.d.ts +1 -1
- package/bleed/Bleed.js +13 -21
- package/bleed/types.d.ts +2 -2
- package/box/Box.js +10 -29
- package/box/Box.test.js +1 -6
- package/box/types.d.ts +3 -3
- package/bulleted-list/BulletedList.js +7 -33
- package/bulleted-list/BulletedList.stories.tsx +1 -91
- package/bulleted-list/types.d.ts +5 -5
- package/button/Button.js +23 -46
- package/button/Button.stories.tsx +5 -86
- package/button/Button.test.js +11 -21
- package/button/types.d.ts +4 -4
- package/card/Card.js +21 -44
- package/card/Card.test.js +10 -21
- package/card/types.d.ts +5 -5
- package/checkbox/Checkbox.js +81 -111
- package/checkbox/Checkbox.stories.tsx +16 -54
- package/checkbox/Checkbox.test.js +107 -63
- package/checkbox/types.d.ts +8 -4
- package/chip/Chip.js +12 -31
- package/chip/Chip.test.js +15 -28
- package/chip/types.d.ts +4 -4
- package/common/coreTokens.js +1 -2
- package/common/utils.js +2 -8
- package/common/variables.d.ts +23 -6
- package/common/variables.js +25 -15
- package/date-input/Calendar.js +13 -57
- package/date-input/DateInput.js +50 -96
- package/date-input/DateInput.stories.tsx +11 -30
- package/date-input/DateInput.test.js +674 -701
- package/date-input/DatePicker.js +11 -42
- package/date-input/Icons.d.ts +6 -6
- package/date-input/Icons.js +6 -23
- package/date-input/YearPicker.js +8 -34
- package/date-input/types.d.ts +27 -21
- package/dialog/Dialog.js +11 -35
- package/dialog/Dialog.test.js +125 -187
- package/dialog/types.d.ts +18 -13
- package/dropdown/Dropdown.js +39 -93
- package/dropdown/Dropdown.test.js +391 -378
- package/dropdown/DropdownMenu.js +8 -19
- package/dropdown/DropdownMenuItem.js +5 -17
- package/dropdown/types.d.ts +17 -19
- package/file-input/FileInput.js +131 -220
- package/file-input/FileInput.stories.tsx +1 -1
- package/file-input/FileInput.test.js +293 -342
- package/file-input/FileItem.js +12 -39
- package/file-input/types.d.ts +9 -9
- package/flex/Flex.js +25 -39
- package/flex/types.d.ts +6 -6
- package/footer/Footer.js +9 -39
- package/footer/Footer.stories.tsx +8 -7
- package/footer/Footer.test.js +18 -32
- package/footer/Icons.d.ts +2 -2
- package/footer/Icons.js +2 -7
- package/footer/types.d.ts +13 -13
- package/grid/Grid.js +1 -16
- package/grid/types.d.ts +10 -10
- package/header/Header.d.ts +1 -1
- package/header/Header.js +19 -64
- package/header/Header.test.js +12 -25
- package/header/Icons.d.ts +2 -2
- package/header/Icons.js +2 -7
- package/header/types.d.ts +5 -7
- package/heading/Heading.js +9 -31
- package/heading/Heading.test.js +70 -87
- package/heading/types.d.ts +7 -7
- package/image/Image.d.ts +4 -0
- package/image/Image.js +70 -0
- package/image/Image.stories.tsx +127 -0
- package/image/types.d.ts +72 -0
- package/inset/Inset.js +13 -21
- package/inset/types.d.ts +2 -2
- package/layout/ApplicationLayout.d.ts +1 -1
- package/layout/ApplicationLayout.js +25 -65
- package/layout/ApplicationLayout.stories.tsx +1 -1
- package/layout/Icons.d.ts +8 -5
- package/layout/Icons.js +51 -59
- package/layout/SidenavContext.d.ts +1 -1
- package/layout/SidenavContext.js +3 -9
- package/layout/types.d.ts +3 -3
- package/link/Link.js +21 -42
- package/link/Link.test.js +23 -41
- package/link/types.d.ts +14 -14
- package/main.d.ts +3 -2
- package/main.js +10 -51
- package/nav-tabs/NavTabs.js +11 -43
- package/nav-tabs/NavTabs.stories.tsx +1 -1
- package/nav-tabs/NavTabs.test.js +36 -43
- package/nav-tabs/Tab.js +16 -45
- package/nav-tabs/types.d.ts +9 -9
- package/number-input/NumberInput.d.ts +7 -0
- package/number-input/NumberInput.js +26 -35
- package/number-input/NumberInput.stories.tsx +42 -26
- package/number-input/NumberInput.test.js +700 -412
- package/number-input/types.d.ts +11 -5
- package/package.json +28 -26
- package/paginator/Icons.d.ts +5 -5
- package/paginator/Icons.js +5 -19
- package/paginator/Paginator.js +14 -39
- package/paginator/Paginator.test.js +224 -207
- package/paginator/types.d.ts +3 -3
- package/paragraph/Paragraph.js +3 -14
- 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 -32
- package/password-input/PasswordInput.test.js +157 -140
- package/password-input/types.d.ts +8 -7
- package/progress-bar/ProgressBar.js +16 -42
- package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +1 -1
- package/progress-bar/ProgressBar.test.js +35 -52
- package/progress-bar/types.d.ts +3 -3
- package/quick-nav/QuickNav.js +4 -27
- package/quick-nav/QuickNav.stories.tsx +1 -1
- package/quick-nav/types.d.ts +10 -10
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +22 -54
- package/radio-group/RadioGroup.js +37 -83
- package/radio-group/RadioGroup.stories.tsx +10 -10
- package/radio-group/RadioGroup.test.js +504 -470
- package/radio-group/types.d.ts +8 -8
- package/resultset-table/Icons.d.ts +7 -0
- package/{resultsetTable → resultset-table}/Icons.js +1 -5
- package/{resultsetTable → resultset-table}/ResultsetTable.js +22 -58
- package/{resultsetTable → resultset-table}/ResultsetTable.test.js +72 -92
- package/{resultsetTable → resultset-table}/types.d.ts +7 -7
- package/select/Icons.d.ts +7 -7
- package/select/Icons.js +1 -5
- package/select/Listbox.js +13 -39
- package/select/Option.js +9 -26
- package/select/Select.js +54 -138
- package/select/Select.stories.tsx +3 -3
- package/select/Select.test.js +1906 -1800
- package/select/types.d.ts +14 -15
- package/sidenav/Icons.d.ts +4 -4
- package/sidenav/Icons.js +1 -5
- package/sidenav/Sidenav.js +24 -63
- package/sidenav/Sidenav.test.js +3 -10
- package/sidenav/types.d.ts +18 -18
- package/slider/Slider.js +38 -86
- package/slider/Slider.test.js +107 -103
- package/slider/types.d.ts +4 -4
- package/spinner/Spinner.js +10 -40
- package/spinner/Spinner.test.js +25 -34
- package/spinner/types.d.ts +3 -3
- package/switch/Switch.js +26 -69
- package/switch/Switch.stories.tsx +0 -34
- package/switch/Switch.test.js +51 -96
- package/switch/types.d.ts +4 -4
- package/table/Table.js +4 -23
- package/table/Table.test.js +1 -6
- package/table/types.d.ts +8 -8
- package/tabs/Tab.js +10 -29
- package/tabs/Tabs.js +48 -124
- package/tabs/Tabs.test.js +62 -118
- package/tabs/types.d.ts +19 -19
- package/tag/Tag.js +21 -51
- package/tag/Tag.test.js +19 -30
- package/tag/types.d.ts +7 -7
- package/text-input/Icons.d.ts +5 -5
- package/text-input/Icons.js +1 -5
- package/text-input/Suggestion.js +9 -26
- package/text-input/Suggestions.d.ts +1 -1
- package/text-input/Suggestions.js +12 -57
- package/text-input/TextInput.js +182 -263
- package/text-input/TextInput.stories.tsx +48 -152
- package/text-input/TextInput.test.js +1210 -1194
- package/text-input/types.d.ts +25 -17
- package/textarea/Textarea.js +60 -96
- package/textarea/{Textarea.stories.jsx → Textarea.stories.tsx} +58 -99
- package/textarea/Textarea.test.js +150 -179
- package/textarea/types.d.ts +9 -5
- package/toggle-group/ToggleGroup.js +91 -105
- package/toggle-group/ToggleGroup.stories.tsx +7 -4
- package/toggle-group/ToggleGroup.test.js +68 -87
- package/toggle-group/types.d.ts +26 -17
- package/typography/Typography.js +4 -13
- package/typography/types.d.ts +1 -1
- package/useTheme.d.ts +20 -3
- package/useTheme.js +1 -8
- package/useTranslatedLabels.js +1 -7
- package/utils/BaseTypography.d.ts +2 -2
- package/utils/BaseTypography.js +16 -30
- package/utils/FocusLock.js +12 -36
- package/wizard/Wizard.js +14 -49
- package/wizard/Wizard.test.js +53 -80
- package/wizard/types.d.ts +6 -6
- package/number-input/NumberInputContext.d.ts +0 -4
- package/number-input/NumberInputContext.js +0 -19
- package/number-input/numberInputContextTypes.d.ts +0 -19
- package/resultsetTable/Icons.d.ts +0 -7
- package/slider/Slider.stories.tsx +0 -240
- /package/{resultsetTable → image}/types.js +0 -0
- /package/{resultsetTable → resultset-table}/ResultsetTable.d.ts +0 -0
- /package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +0 -0
- /package/{number-input/numberInputContextTypes.js → resultset-table/types.js} +0 -0
- /package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +0 -0
- /package/table/{Table.stories.jsx → Table.stories.tsx} +0 -0
package/tabs/Tabs.js
CHANGED
|
@@ -1,38 +1,23 @@
|
|
|
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
14
|
var _variables = require("../common/variables");
|
|
23
|
-
|
|
24
15
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
25
|
-
|
|
26
16
|
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
27
|
-
|
|
28
17
|
var _Tab = _interopRequireDefault(require("./Tab"));
|
|
29
|
-
|
|
30
18
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
|
|
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 arrowIcons = {
|
|
37
22
|
left: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
38
23
|
focusable: "false",
|
|
@@ -49,16 +34,13 @@ var arrowIcons = {
|
|
|
49
34
|
d: "M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"
|
|
50
35
|
}))
|
|
51
36
|
};
|
|
52
|
-
|
|
53
37
|
var useResize = function useResize(refTabList) {
|
|
54
38
|
var _useState = (0, _react.useState)(0),
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
39
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
40
|
+
viewWidth = _useState2[0],
|
|
41
|
+
setViewWidth = _useState2[1];
|
|
59
42
|
var handleWindowSizeChange = (0, _react.useCallback)(function () {
|
|
60
43
|
var _refTabList$current;
|
|
61
|
-
|
|
62
44
|
setViewWidth(refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current = refTabList.current) === null || _refTabList$current === void 0 ? void 0 : _refTabList$current.offsetWidth);
|
|
63
45
|
}, [refTabList]);
|
|
64
46
|
(0, _react.useEffect)(function () {
|
|
@@ -71,18 +53,17 @@ var useResize = function useResize(refTabList) {
|
|
|
71
53
|
}, [handleWindowSizeChange]);
|
|
72
54
|
return viewWidth;
|
|
73
55
|
};
|
|
74
|
-
|
|
75
56
|
var DxcTabs = function DxcTabs(_ref) {
|
|
76
57
|
var defaultActiveTabIndex = _ref.defaultActiveTabIndex,
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
58
|
+
activeTabIndex = _ref.activeTabIndex,
|
|
59
|
+
tabs = _ref.tabs,
|
|
60
|
+
onTabClick = _ref.onTabClick,
|
|
61
|
+
onTabHover = _ref.onTabHover,
|
|
62
|
+
margin = _ref.margin,
|
|
63
|
+
_ref$iconPosition = _ref.iconPosition,
|
|
64
|
+
iconPosition = _ref$iconPosition === void 0 ? "top" : _ref$iconPosition,
|
|
65
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
66
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
86
67
|
var colorsTheme = (0, _useTheme["default"])();
|
|
87
68
|
var hasLabelAndIcon = tabs && tabs.filter(function (tab) {
|
|
88
69
|
return tab.label && tab.icon;
|
|
@@ -90,62 +71,50 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
90
71
|
var firstFocus = tabs && tabs.findIndex(function (tab) {
|
|
91
72
|
return !tab.isDisabled;
|
|
92
73
|
});
|
|
93
|
-
|
|
94
74
|
var _useState3 = (0, _react.useState)(tabs && defaultActiveTabIndex && !tabs[defaultActiveTabIndex].isDisabled ? defaultActiveTabIndex : firstFocus),
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
75
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
76
|
+
innerActiveTabIndex = _useState4[0],
|
|
77
|
+
setInnerActiveTabIndex = _useState4[1];
|
|
99
78
|
var _useState5 = (0, _react.useState)(0),
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
79
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
80
|
+
activeIndicatorWidth = _useState6[0],
|
|
81
|
+
setActiveIndicatorWidth = _useState6[1];
|
|
104
82
|
var _useState7 = (0, _react.useState)(0),
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
83
|
+
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
84
|
+
activeIndicatorLeft = _useState8[0],
|
|
85
|
+
setActiveIndicatorLeft = _useState8[1];
|
|
109
86
|
var _useState9 = (0, _react.useState)(0),
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
87
|
+
_useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
|
|
88
|
+
translateScroll = _useState10[0],
|
|
89
|
+
setTranslateScroll = _useState10[1];
|
|
114
90
|
var _useState11 = (0, _react.useState)(true),
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
91
|
+
_useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
|
|
92
|
+
scrollRightEnabled = _useState12[0],
|
|
93
|
+
setScrollRightEnabled = _useState12[1];
|
|
119
94
|
var _useState13 = (0, _react.useState)(false),
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
95
|
+
_useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
|
|
96
|
+
scrollLeftEnabled = _useState14[0],
|
|
97
|
+
setScrollLeftEnabled = _useState14[1];
|
|
124
98
|
var _useState15 = (0, _react.useState)(0),
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
99
|
+
_useState16 = (0, _slicedToArray2["default"])(_useState15, 2),
|
|
100
|
+
countClick = _useState16[0],
|
|
101
|
+
setCountClick = _useState16[1];
|
|
129
102
|
var _useState17 = (0, _react.useState)(0),
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
103
|
+
_useState18 = (0, _slicedToArray2["default"])(_useState17, 2),
|
|
104
|
+
totalTabsWidth = _useState18[0],
|
|
105
|
+
setTotalTabsWidth = _useState18[1];
|
|
134
106
|
var _useState19 = (0, _react.useState)(activeTabIndex !== null && activeTabIndex !== void 0 ? activeTabIndex : innerActiveTabIndex),
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
107
|
+
_useState20 = (0, _slicedToArray2["default"])(_useState19, 2),
|
|
108
|
+
currentFocusIndex = _useState20[0],
|
|
109
|
+
setCurrentFocusIndex = _useState20[1];
|
|
139
110
|
var _useState21 = (0, _react.useState)(activeTabIndex !== null && activeTabIndex !== void 0 ? activeTabIndex : innerActiveTabIndex),
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
111
|
+
_useState22 = (0, _slicedToArray2["default"])(_useState21, 2),
|
|
112
|
+
temporalFocusIndex = _useState22[0],
|
|
113
|
+
setTemporalFocusIndex = _useState22[1];
|
|
144
114
|
var _useState23 = (0, _react.useState)(0),
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
115
|
+
_useState24 = (0, _slicedToArray2["default"])(_useState23, 2),
|
|
116
|
+
minHeightTabs = _useState24[0],
|
|
117
|
+
setMinHeightTabs = _useState24[1];
|
|
149
118
|
var refTabs = (0, _react.useRef)([]);
|
|
150
119
|
var refTabList = (0, _react.useRef)(null);
|
|
151
120
|
var viewWidth = useResize(refTabList);
|
|
@@ -155,7 +124,6 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
155
124
|
}, [viewWidth]);
|
|
156
125
|
(0, _react.useEffect)(function () {
|
|
157
126
|
var _refTabs$current, _refTabs$current2, _refTabs$current3;
|
|
158
|
-
|
|
159
127
|
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) {
|
|
160
128
|
return count + obj.offsetWidth;
|
|
161
129
|
}, 0);
|
|
@@ -165,36 +133,28 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
165
133
|
}, [refTabs]);
|
|
166
134
|
(0, _react.useEffect)(function () {
|
|
167
135
|
var _refTabList$current2;
|
|
168
|
-
|
|
169
136
|
setMinHeightTabs((refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current2 = refTabList.current) === null || _refTabList$current2 === void 0 ? void 0 : _refTabList$current2.offsetHeight) + 1);
|
|
170
137
|
}, [refTabList]);
|
|
171
138
|
(0, _react.useEffect)(function () {
|
|
172
139
|
if (activeTabIndex >= 0) {
|
|
173
140
|
var _refTabs$current$acti, _refTabs$current$acti2;
|
|
174
|
-
|
|
175
141
|
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);
|
|
176
142
|
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);
|
|
177
143
|
}
|
|
178
144
|
}, [activeTabIndex]);
|
|
179
|
-
|
|
180
145
|
var handleSelected = function handleSelected(newValue) {
|
|
181
146
|
activeTabIndex !== null && activeTabIndex !== void 0 ? activeTabIndex : setInnerActiveTabIndex(newValue);
|
|
182
147
|
onTabClick === null || onTabClick === void 0 ? void 0 : onTabClick(newValue);
|
|
183
|
-
|
|
184
148
|
if (activeTabIndex === undefined) {
|
|
185
149
|
var _refTabs$current$newV, _refTabs$current$newV2;
|
|
186
|
-
|
|
187
150
|
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);
|
|
188
151
|
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);
|
|
189
152
|
}
|
|
190
153
|
};
|
|
191
|
-
|
|
192
154
|
var scrollLeft = function scrollLeft() {
|
|
193
155
|
var _refTabList$current3;
|
|
194
|
-
|
|
195
156
|
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;
|
|
196
157
|
var moveX = 0;
|
|
197
|
-
|
|
198
158
|
if (countClick <= scrollWidth) {
|
|
199
159
|
moveX = 0;
|
|
200
160
|
setScrollLeftEnabled(false);
|
|
@@ -204,20 +164,15 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
204
164
|
setScrollRightEnabled(true);
|
|
205
165
|
setScrollLeftEnabled(true);
|
|
206
166
|
}
|
|
207
|
-
|
|
208
167
|
setTranslateScroll(-moveX);
|
|
209
168
|
setCountClick(moveX);
|
|
210
169
|
};
|
|
211
|
-
|
|
212
170
|
var scrollRight = function scrollRight() {
|
|
213
171
|
var _refTabList$current4, _refTabList$current5;
|
|
214
|
-
|
|
215
172
|
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;
|
|
216
173
|
var moveX = 0;
|
|
217
|
-
|
|
218
174
|
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) {
|
|
219
175
|
var _refTabList$current6;
|
|
220
|
-
|
|
221
176
|
moveX = totalTabsWidth - (refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current6 = refTabList.current) === null || _refTabList$current6 === void 0 ? void 0 : _refTabList$current6.offsetWidth);
|
|
222
177
|
setScrollRightEnabled(false);
|
|
223
178
|
setScrollLeftEnabled(true);
|
|
@@ -226,19 +181,15 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
226
181
|
setScrollLeftEnabled(true);
|
|
227
182
|
setScrollRightEnabled(true);
|
|
228
183
|
}
|
|
229
|
-
|
|
230
184
|
setTranslateScroll(-moveX);
|
|
231
185
|
setCountClick(moveX);
|
|
232
186
|
};
|
|
233
|
-
|
|
234
187
|
var setPreviousTabFocus = function setPreviousTabFocus() {
|
|
235
188
|
setTemporalFocusIndex(function (temporalFocusIndex) {
|
|
236
189
|
var index = temporalFocusIndex === 0 ? tabs.length - 1 : temporalFocusIndex - 1;
|
|
237
|
-
|
|
238
190
|
while (tabs[index].isDisabled) {
|
|
239
191
|
index = index === 0 ? tabs.length - 1 : index - 1;
|
|
240
192
|
}
|
|
241
|
-
|
|
242
193
|
refTabs === null || refTabs === void 0 ? void 0 : refTabs.current[index].focus({
|
|
243
194
|
preventScroll: true
|
|
244
195
|
});
|
|
@@ -246,15 +197,12 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
246
197
|
return index;
|
|
247
198
|
});
|
|
248
199
|
};
|
|
249
|
-
|
|
250
200
|
var setNextTabFocus = function setNextTabFocus() {
|
|
251
201
|
setTemporalFocusIndex(function (temporalFocusIndex) {
|
|
252
202
|
var index = temporalFocusIndex === tabs.length - 1 ? 0 : temporalFocusIndex + 1;
|
|
253
|
-
|
|
254
203
|
while (tabs[index].isDisabled) {
|
|
255
204
|
index = index === tabs.length - 1 ? 0 : index + 1;
|
|
256
205
|
}
|
|
257
|
-
|
|
258
206
|
refTabs === null || refTabs === void 0 ? void 0 : refTabs.current[index].focus({
|
|
259
207
|
preventScroll: true
|
|
260
208
|
});
|
|
@@ -262,10 +210,8 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
262
210
|
return index;
|
|
263
211
|
});
|
|
264
212
|
};
|
|
265
|
-
|
|
266
213
|
var setScrollFocus = function setScrollFocus(actualIndex) {
|
|
267
214
|
var _refTabs$current4, _refTabList$current8;
|
|
268
|
-
|
|
269
215
|
var sumPrev = 0;
|
|
270
216
|
refTabs === null || refTabs === void 0 ? void 0 : (_refTabs$current4 = refTabs.current) === null || _refTabs$current4 === void 0 ? void 0 : _refTabs$current4.map(function (item, index) {
|
|
271
217
|
if (index <= actualIndex) {
|
|
@@ -273,29 +219,23 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
273
219
|
}
|
|
274
220
|
});
|
|
275
221
|
var moveX = 0;
|
|
276
|
-
|
|
277
222
|
if (actualIndex === tabs.length - 1) {
|
|
278
223
|
var _refTabList$current7;
|
|
279
|
-
|
|
280
224
|
moveX = totalTabsWidth - (refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current7 = refTabList.current) === null || _refTabList$current7 === void 0 ? void 0 : _refTabList$current7.offsetWidth);
|
|
281
225
|
setScrollLeftEnabled(true);
|
|
282
226
|
setScrollRightEnabled(false);
|
|
283
227
|
} else if (sumPrev > (refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current8 = refTabList.current) === null || _refTabList$current8 === void 0 ? void 0 : _refTabList$current8.offsetWidth)) {
|
|
284
228
|
var _refTabList$current9;
|
|
285
|
-
|
|
286
229
|
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
|
-
|
|
288
230
|
setScrollLeftEnabled(true);
|
|
289
231
|
setScrollRightEnabled(true);
|
|
290
232
|
} else {
|
|
291
233
|
setScrollLeftEnabled(false);
|
|
292
234
|
setScrollRightEnabled(true);
|
|
293
235
|
}
|
|
294
|
-
|
|
295
236
|
setTranslateScroll(-moveX);
|
|
296
237
|
setCountClick(moveX);
|
|
297
238
|
};
|
|
298
|
-
|
|
299
239
|
var handleOnKeyDown = function handleOnKeyDown(event) {
|
|
300
240
|
switch (event.key) {
|
|
301
241
|
case "Left":
|
|
@@ -303,36 +243,30 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
303
243
|
event.preventDefault();
|
|
304
244
|
setPreviousTabFocus();
|
|
305
245
|
break;
|
|
306
|
-
|
|
307
246
|
case "Right":
|
|
308
247
|
case "ArrowRight":
|
|
309
248
|
event.preventDefault();
|
|
310
249
|
setNextTabFocus();
|
|
311
250
|
break;
|
|
312
|
-
|
|
313
251
|
case "Enter":
|
|
314
252
|
case " ":
|
|
315
253
|
event.preventDefault();
|
|
316
254
|
setCurrentFocusIndex(temporalFocusIndex);
|
|
317
255
|
handleSelected(temporalFocusIndex);
|
|
318
256
|
break;
|
|
319
|
-
|
|
320
257
|
case "Tab":
|
|
321
258
|
if (temporalFocusIndex !== currentFocusIndex) {
|
|
322
259
|
event.preventDefault();
|
|
323
260
|
setTemporalFocusIndex(currentFocusIndex);
|
|
324
261
|
refTabs === null || refTabs === void 0 ? void 0 : refTabs.current[currentFocusIndex].focus();
|
|
325
262
|
}
|
|
326
|
-
|
|
327
263
|
handleSelected(currentFocusIndex);
|
|
328
264
|
break;
|
|
329
265
|
}
|
|
330
266
|
};
|
|
331
|
-
|
|
332
267
|
var isTabActive = function isTabActive(index) {
|
|
333
268
|
return activeTabIndex >= 0 ? activeTabIndex === index : innerActiveTabIndex === index;
|
|
334
269
|
};
|
|
335
|
-
|
|
336
270
|
var isActiveIndicatorDisabled = firstFocus === -1 || tabs && activeTabIndex >= 0 && tabs[activeTabIndex].isDisabled;
|
|
337
271
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
338
272
|
theme: colorsTheme.tabs
|
|
@@ -392,13 +326,11 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
392
326
|
minHeightTabs: minHeightTabs
|
|
393
327
|
}, arrowIcons.right))));
|
|
394
328
|
};
|
|
395
|
-
|
|
396
329
|
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) {
|
|
397
330
|
return props.theme.dividerThickness;
|
|
398
331
|
}, function (props) {
|
|
399
332
|
return props.theme.dividerColor;
|
|
400
333
|
});
|
|
401
|
-
|
|
402
334
|
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) {
|
|
403
335
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
404
336
|
}, function (props) {
|
|
@@ -410,7 +342,6 @@ var TabsContainer = _styledComponents["default"].div(_templateObject2 || (_templ
|
|
|
410
342
|
}, function (props) {
|
|
411
343
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
412
344
|
});
|
|
413
|
-
|
|
414
345
|
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) {
|
|
415
346
|
return (!props.hasLabelAndIcon || props.hasLabelAndIcon && props.iconPosition !== "top") && "48px" || "72px";
|
|
416
347
|
}, function (props) {
|
|
@@ -418,7 +349,6 @@ var Tabs = _styledComponents["default"].div(_templateObject3 || (_templateObject
|
|
|
418
349
|
}, function (props) {
|
|
419
350
|
return props.theme.unselectedBackgroundColor;
|
|
420
351
|
});
|
|
421
|
-
|
|
422
352
|
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) {
|
|
423
353
|
return props.enabled ? "flex" : "none";
|
|
424
354
|
}, function (props) {
|
|
@@ -434,7 +364,6 @@ var ScrollIndicator = _styledComponents["default"].button(_templateObject4 || (_
|
|
|
434
364
|
}, function (props) {
|
|
435
365
|
return props.theme.unselectedFontColor;
|
|
436
366
|
});
|
|
437
|
-
|
|
438
367
|
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) {
|
|
439
368
|
return "".concat(props.tabLeft, "px");
|
|
440
369
|
}, function (props) {
|
|
@@ -446,16 +375,11 @@ var ActiveIndicator = _styledComponents["default"].span(_templateObject5 || (_te
|
|
|
446
375
|
}, function (props) {
|
|
447
376
|
return props.theme.disabledFontColor;
|
|
448
377
|
});
|
|
449
|
-
|
|
450
378
|
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
|
-
|
|
452
379
|
var TabList = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n min-height: ", "px;\n"])), function (props) {
|
|
453
380
|
return props.minHeightTabs;
|
|
454
381
|
});
|
|
455
|
-
|
|
456
382
|
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) {
|
|
457
383
|
return props.enabled ? "transform: translateX(".concat(props.translateScroll, "px)") : "transform: translateX(0px)";
|
|
458
384
|
});
|
|
459
|
-
|
|
460
|
-
var _default = DxcTabs;
|
|
461
|
-
exports["default"] = _default;
|
|
385
|
+
var _default = exports["default"] = DxcTabs;
|