@dxc-technology/halstack-react 10.1.0 → 12.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 +1 -10
- package/BackgroundColorContext.js +4 -21
- package/HalstackContext.d.ts +45 -143
- package/HalstackContext.js +10 -35
- package/accordion/Accordion.accessibility.test.js +71 -0
- package/accordion/Accordion.js +33 -84
- package/accordion/Accordion.stories.tsx +8 -64
- package/accordion/Accordion.test.js +18 -33
- package/accordion/types.d.ts +6 -6
- package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
- package/accordion-group/AccordionGroup.d.ts +2 -3
- package/accordion-group/AccordionGroup.js +17 -44
- package/accordion-group/AccordionGroup.stories.tsx +24 -24
- package/accordion-group/AccordionGroup.test.js +42 -60
- package/accordion-group/AccordionGroupAccordion.js +11 -23
- package/accordion-group/AccordionGroupContext.d.ts +3 -0
- package/accordion-group/AccordionGroupContext.js +8 -0
- package/accordion-group/types.d.ts +7 -7
- package/action-icon/ActionIcon.accessibility.test.js +63 -0
- 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.accessibility.test.js +95 -0
- package/alert/Alert.js +34 -120
- package/alert/Alert.test.js +28 -45
- package/alert/types.d.ts +5 -5
- package/badge/Badge.accessibility.test.js +129 -0
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +142 -42
- 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/types.d.ts +2 -2
- package/box/Box.accessibility.test.js +33 -0
- package/box/Box.js +11 -33
- package/box/Box.test.js +1 -6
- package/box/types.d.ts +3 -3
- package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
- package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
- package/breadcrumbs/Breadcrumbs.d.ts +4 -0
- package/breadcrumbs/Breadcrumbs.js +79 -0
- package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
- package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
- package/breadcrumbs/Breadcrumbs.test.js +169 -0
- package/breadcrumbs/Item.d.ts +4 -0
- package/breadcrumbs/Item.js +52 -0
- package/breadcrumbs/dropdownTheme.d.ts +53 -0
- package/breadcrumbs/dropdownTheme.js +62 -0
- package/breadcrumbs/types.d.ts +16 -0
- package/breadcrumbs/types.js +5 -0
- package/bulleted-list/BulletedList.accessibility.test.js +119 -0
- package/bulleted-list/BulletedList.js +22 -55
- package/bulleted-list/BulletedList.stories.tsx +2 -93
- package/bulleted-list/types.d.ts +5 -5
- package/button/Button.accessibility.test.js +127 -0
- package/button/Button.js +36 -59
- package/button/Button.stories.tsx +35 -135
- package/button/Button.test.js +13 -21
- package/button/types.d.ts +5 -5
- package/card/Card.accessibility.test.js +36 -0
- package/card/Card.js +23 -45
- package/card/Card.test.js +10 -21
- package/card/types.d.ts +5 -5
- package/checkbox/Checkbox.accessibility.test.js +87 -0
- package/checkbox/Checkbox.js +88 -123
- package/checkbox/Checkbox.stories.tsx +16 -54
- package/checkbox/Checkbox.test.js +107 -63
- package/checkbox/types.d.ts +8 -4
- package/chip/Chip.accessibility.test.js +67 -0
- package/chip/Chip.js +22 -36
- package/chip/Chip.stories.tsx +10 -25
- package/chip/Chip.test.js +17 -30
- package/chip/types.d.ts +4 -4
- package/common/coreTokens.d.ts +105 -14
- package/common/coreTokens.js +40 -23
- package/common/utils.js +2 -8
- package/common/variables.d.ts +46 -144
- package/common/variables.js +120 -225
- 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/container/types.js +5 -0
- package/contextual-menu/ContextualMenu.accessibility.test.js +97 -0
- package/contextual-menu/ContextualMenu.d.ts +5 -0
- package/contextual-menu/ContextualMenu.js +88 -0
- package/contextual-menu/ContextualMenu.stories.tsx +232 -0
- package/contextual-menu/ContextualMenu.test.js +205 -0
- package/contextual-menu/GroupItem.d.ts +4 -0
- package/contextual-menu/GroupItem.js +67 -0
- package/contextual-menu/ItemAction.d.ts +4 -0
- package/contextual-menu/ItemAction.js +51 -0
- package/contextual-menu/MenuItem.d.ts +4 -0
- package/contextual-menu/MenuItem.js +29 -0
- package/contextual-menu/SingleItem.d.ts +4 -0
- package/contextual-menu/SingleItem.js +38 -0
- package/contextual-menu/types.d.ts +58 -0
- package/contextual-menu/types.js +5 -0
- package/date-input/Calendar.js +13 -57
- package/date-input/DateInput.accessibility.test.js +228 -0
- package/date-input/DateInput.js +53 -100
- package/date-input/DateInput.stories.tsx +19 -31
- package/date-input/DateInput.test.js +674 -701
- package/date-input/DatePicker.js +23 -48
- package/date-input/YearPicker.js +8 -34
- package/date-input/types.d.ts +28 -22
- package/dialog/Dialog.accessibility.test.js +69 -0
- package/dialog/Dialog.js +21 -59
- package/dialog/Dialog.stories.tsx +176 -0
- package/dialog/Dialog.test.js +126 -188
- package/dialog/types.d.ts +18 -13
- package/divider/Divider.accessibility.test.js +33 -0
- 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.accessibility.test.js +180 -0
- package/dropdown/Dropdown.js +63 -130
- package/dropdown/Dropdown.stories.tsx +15 -26
- package/dropdown/Dropdown.test.js +402 -389
- package/dropdown/DropdownMenu.js +12 -23
- package/dropdown/DropdownMenuItem.js +13 -21
- package/dropdown/types.d.ts +20 -24
- package/file-input/FileInput.accessibility.test.js +160 -0
- package/file-input/FileInput.js +180 -284
- package/file-input/FileInput.stories.tsx +1 -1
- package/file-input/FileInput.test.js +279 -354
- package/file-input/FileItem.js +29 -66
- package/file-input/types.d.ts +9 -9
- package/flex/Flex.js +25 -39
- package/flex/types.d.ts +6 -6
- package/footer/Footer.accessibility.test.js +125 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +43 -68
- package/footer/Footer.stories.tsx +58 -2
- package/footer/Footer.test.js +18 -32
- package/footer/Icons.d.ts +3 -2
- package/footer/Icons.js +53 -22
- package/footer/types.d.ts +17 -17
- package/grid/Grid.js +1 -16
- package/grid/types.d.ts +10 -10
- package/header/Header.accessibility.test.js +93 -0
- package/header/Header.d.ts +1 -1
- package/header/Header.js +38 -104
- package/header/Header.stories.tsx +16 -0
- package/header/Header.test.js +12 -25
- package/header/Icons.d.ts +2 -2
- package/header/Icons.js +3 -13
- package/header/types.d.ts +7 -8
- package/heading/Heading.accessibility.test.js +33 -0
- package/heading/Heading.js +9 -31
- package/heading/Heading.test.js +70 -87
- package/heading/types.d.ts +7 -7
- package/icon/Icon.accessibility.test.js +30 -0
- 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.accessibility.test.js +56 -0
- package/image/Image.d.ts +2 -2
- package/image/Image.js +17 -32
- package/image/Image.stories.tsx +3 -1
- package/image/types.d.ts +2 -2
- package/inset/Inset.js +13 -21
- package/inset/types.d.ts +2 -2
- package/layout/ApplicationLayout.d.ts +2 -2
- package/layout/ApplicationLayout.js +23 -60
- package/layout/Icons.d.ts +4 -5
- package/layout/Icons.js +2 -16
- package/layout/types.d.ts +3 -3
- package/link/Link.accessibility.test.js +108 -0
- package/link/Link.js +28 -47
- package/link/Link.stories.tsx +4 -4
- package/link/Link.test.js +23 -41
- package/link/types.d.ts +14 -14
- package/main.d.ts +8 -4
- package/main.js +39 -60
- package/nav-tabs/NavTabs.accessibility.test.js +44 -0
- package/nav-tabs/NavTabs.d.ts +1 -2
- package/nav-tabs/NavTabs.js +19 -48
- package/nav-tabs/NavTabs.stories.tsx +30 -25
- package/nav-tabs/NavTabs.test.js +45 -50
- package/nav-tabs/NavTabsContext.d.ts +3 -0
- package/nav-tabs/NavTabsContext.js +8 -0
- package/nav-tabs/Tab.js +38 -67
- package/nav-tabs/types.d.ts +10 -10
- package/number-input/NumberInput.accessibility.test.js +228 -0
- package/number-input/NumberInput.d.ts +0 -7
- package/number-input/NumberInput.js +47 -39
- package/number-input/NumberInput.stories.tsx +42 -26
- package/number-input/NumberInput.test.js +839 -575
- package/number-input/NumberInputContext.d.ts +3 -0
- package/number-input/NumberInputContext.js +8 -0
- package/number-input/types.d.ts +17 -5
- package/package.json +41 -37
- package/paginator/Paginator.accessibility.test.js +79 -0
- package/paginator/Paginator.js +27 -52
- package/paginator/Paginator.test.js +224 -207
- package/paginator/types.d.ts +3 -3
- package/paragraph/Paragraph.accessibility.test.js +28 -0
- package/paragraph/Paragraph.js +3 -19
- package/paragraph/Paragraph.stories.tsx +0 -17
- package/password-input/PasswordInput.accessibility.test.js +153 -0
- package/password-input/PasswordInput.js +32 -54
- package/password-input/PasswordInput.stories.tsx +1 -34
- package/password-input/PasswordInput.test.js +153 -129
- package/password-input/types.d.ts +8 -7
- package/progress-bar/ProgressBar.accessibility.test.js +35 -0
- package/progress-bar/ProgressBar.js +26 -56
- 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.accessibility.test.js +57 -0
- 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.accessibility.test.js +97 -0
- package/radio-group/RadioGroup.js +38 -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/resultset-table/ResultsetTable.accessibility.test.js +285 -0
- package/resultset-table/ResultsetTable.d.ts +7 -0
- package/{resultsetTable → resultset-table}/ResultsetTable.js +45 -69
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +118 -5
- package/{resultsetTable → resultset-table}/ResultsetTable.test.js +148 -92
- package/{resultsetTable → resultset-table}/types.d.ts +44 -11
- package/resultset-table/types.js +5 -0
- package/select/Listbox.js +40 -54
- package/select/Option.js +28 -36
- package/select/Select.accessibility.test.js +228 -0
- package/select/Select.js +107 -171
- package/select/Select.stories.tsx +59 -111
- package/select/Select.test.js +1895 -1858
- package/select/types.d.ts +15 -16
- package/sidenav/Sidenav.accessibility.test.js +59 -0
- package/sidenav/Sidenav.js +44 -81
- package/sidenav/Sidenav.stories.tsx +4 -9
- 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 +20 -20
- package/slider/Slider.accessibility.test.js +104 -0
- package/slider/Slider.js +70 -126
- package/slider/Slider.test.js +107 -103
- package/slider/types.d.ts +4 -4
- package/spinner/Spinner.accessibility.test.js +96 -0
- package/spinner/Spinner.js +21 -55
- package/spinner/Spinner.test.js +25 -34
- package/spinner/types.d.ts +3 -3
- package/status-light/StatusLight.accessibility.test.js +157 -0
- 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.accessibility.test.js +98 -0
- package/switch/Switch.js +49 -97
- package/switch/Switch.stories.tsx +12 -34
- package/switch/Switch.test.js +51 -96
- package/switch/types.d.ts +4 -4
- package/table/DropdownTheme.js +62 -0
- package/table/Table.accessibility.test.js +93 -0
- package/table/Table.d.ts +6 -2
- package/table/Table.js +76 -33
- package/table/{Table.stories.jsx → Table.stories.tsx} +309 -2
- package/table/Table.test.js +93 -6
- package/table/types.d.ts +34 -6
- package/tabs/Tab.js +22 -37
- package/tabs/Tabs.accessibility.test.js +56 -0
- package/tabs/Tabs.js +59 -147
- package/tabs/Tabs.stories.tsx +8 -4
- package/tabs/Tabs.test.js +57 -131
- package/tabs/types.d.ts +21 -21
- package/tag/Tag.accessibility.test.js +69 -0
- package/tag/Tag.js +27 -57
- package/tag/Tag.stories.tsx +4 -7
- package/tag/Tag.test.js +17 -36
- package/tag/types.d.ts +9 -9
- package/text-input/Suggestion.js +9 -26
- package/text-input/Suggestions.d.ts +1 -1
- package/text-input/Suggestions.js +30 -70
- package/text-input/TextInput.accessibility.test.js +321 -0
- package/text-input/TextInput.js +203 -289
- package/text-input/TextInput.stories.tsx +65 -160
- package/text-input/TextInput.test.js +1227 -1194
- package/text-input/types.d.ts +25 -17
- package/textarea/Textarea.accessibility.test.js +155 -0
- package/textarea/Textarea.js +68 -109
- package/textarea/{Textarea.stories.jsx → Textarea.stories.tsx} +58 -100
- package/textarea/Textarea.test.js +150 -179
- package/textarea/types.d.ts +9 -5
- package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
- package/toggle-group/ToggleGroup.js +25 -64
- package/toggle-group/ToggleGroup.stories.tsx +4 -4
- package/toggle-group/ToggleGroup.test.js +48 -81
- package/toggle-group/types.d.ts +12 -12
- package/typography/Typography.accessibility.test.js +339 -0
- package/typography/Typography.js +4 -13
- package/typography/types.d.ts +1 -1
- package/useTheme.d.ts +43 -141
- 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 +25 -39
- package/wizard/Wizard.accessibility.test.js +55 -0
- package/wizard/Wizard.js +27 -73
- package/wizard/Wizard.stories.tsx +19 -0
- package/wizard/Wizard.test.js +53 -80
- package/wizard/types.d.ts +8 -8
- package/common/OpenSans.css +0 -69
- 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/date-input/Icons.d.ts +0 -6
- package/date-input/Icons.js +0 -75
- package/paginator/Icons.d.ts +0 -5
- package/paginator/Icons.js +0 -54
- package/password-input/Icons.d.ts +0 -6
- package/password-input/Icons.js +0 -39
- package/resultsetTable/Icons.d.ts +0 -7
- package/resultsetTable/ResultsetTable.d.ts +0 -4
- package/select/Icons.d.ts +0 -10
- package/select/Icons.js +0 -93
- package/sidenav/Icons.d.ts +0 -7
- package/sidenav/Icons.js +0 -51
- package/slider/Slider.stories.tsx +0 -240
- package/text-input/Icons.d.ts +0 -8
- package/text-input/Icons.js +0 -60
- /package/{resultsetTable → action-icon}/types.js +0 -0
- /package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +0 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
5
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
6
|
+
var _react = _interopRequireDefault(require("react"));
|
|
7
|
+
var _react2 = require("@testing-library/react");
|
|
8
|
+
var _axeHelper = require("../../test/accessibility/axe-helper.js");
|
|
9
|
+
var _Tabs = _interopRequireDefault(require("./Tabs.tsx"));
|
|
10
|
+
var iconSVG = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
11
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
12
|
+
viewBox: "0 0 20 20",
|
|
13
|
+
height: "20",
|
|
14
|
+
width: "20",
|
|
15
|
+
fill: "currentColor"
|
|
16
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
17
|
+
d: "m10 17-1.042-.938q-2.083-1.854-3.437-3.177-1.354-1.323-2.136-2.354Q2.604 9.5 2.302 8.646 2 7.792 2 6.896q0-1.854 1.271-3.125T6.396 2.5q1.021 0 1.979.438.958.437 1.625 1.229.667-.792 1.625-1.229.958-.438 1.979-.438 1.854 0 3.125 1.271T18 6.896q0 .896-.292 1.729-.291.833-1.073 1.854-.781 1.021-2.145 2.365-1.365 1.344-3.49 3.26Zm0-2.021q1.938-1.729 3.188-2.948 1.25-1.219 1.989-2.125.74-.906 1.031-1.614.292-.709.292-1.396 0-1.229-.833-2.063Q14.833 4 13.604 4q-.729 0-1.364.302-.636.302-1.094.844L10.417 6h-.834l-.729-.854q-.458-.542-1.114-.844Q7.083 4 6.396 4q-1.229 0-2.063.833-.833.834-.833 2.063 0 .687.271 1.364.271.678.989 1.573.719.896 1.98 2.125Q8 13.188 10 14.979Zm0-5.5Z"
|
|
18
|
+
}));
|
|
19
|
+
var sampleTabs = [{
|
|
20
|
+
label: "Tab-1",
|
|
21
|
+
icon: iconSVG,
|
|
22
|
+
notificationNumber: 10
|
|
23
|
+
}, {
|
|
24
|
+
label: "Tab-2",
|
|
25
|
+
icon: iconSVG
|
|
26
|
+
}, {
|
|
27
|
+
label: "Tab-3",
|
|
28
|
+
notificationNumber: 20
|
|
29
|
+
}, {
|
|
30
|
+
label: "Tab-4",
|
|
31
|
+
isDisabled: true
|
|
32
|
+
}];
|
|
33
|
+
describe("Tabs component accessibility tests", function () {
|
|
34
|
+
it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
35
|
+
var _render, container, results;
|
|
36
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
37
|
+
while (1) switch (_context.prev = _context.next) {
|
|
38
|
+
case 0:
|
|
39
|
+
_render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
40
|
+
tabs: sampleTabs,
|
|
41
|
+
margin: "medium",
|
|
42
|
+
iconPosition: "left",
|
|
43
|
+
defaultActiveTabIndex: 0
|
|
44
|
+
})), container = _render.container;
|
|
45
|
+
_context.next = 3;
|
|
46
|
+
return (0, _axeHelper.axe)(container);
|
|
47
|
+
case 3:
|
|
48
|
+
results = _context.sent;
|
|
49
|
+
expect(results).toHaveNoViolations();
|
|
50
|
+
case 5:
|
|
51
|
+
case "end":
|
|
52
|
+
return _context.stop();
|
|
53
|
+
}
|
|
54
|
+
}, _callee);
|
|
55
|
+
})));
|
|
56
|
+
});
|
package/tabs/Tabs.js
CHANGED
|
@@ -1,88 +1,53 @@
|
|
|
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
|
-
|
|
18
|
+
var _Icon = _interopRequireDefault(require("../icon/Icon"));
|
|
30
19
|
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
|
-
|
|
36
|
-
var arrowIcons = {
|
|
37
|
-
left: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
38
|
-
focusable: "false",
|
|
39
|
-
viewBox: "0 0 24 24",
|
|
40
|
-
"aria-hidden": "true"
|
|
41
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
42
|
-
d: "M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z"
|
|
43
|
-
})),
|
|
44
|
-
right: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
45
|
-
focusable: "false",
|
|
46
|
-
viewBox: "0 0 24 24",
|
|
47
|
-
"aria-hidden": "true"
|
|
48
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
49
|
-
d: "M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"
|
|
50
|
-
}))
|
|
51
|
-
};
|
|
52
|
-
|
|
20
|
+
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); }
|
|
21
|
+
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 && {}.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; }
|
|
53
22
|
var useResize = function useResize(refTabList) {
|
|
54
23
|
var _useState = (0, _react.useState)(0),
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
24
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
25
|
+
viewWidth = _useState2[0],
|
|
26
|
+
setViewWidth = _useState2[1];
|
|
59
27
|
var handleWindowSizeChange = (0, _react.useCallback)(function () {
|
|
60
|
-
var _refTabList$current;
|
|
61
|
-
|
|
62
|
-
setViewWidth(refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current = refTabList.current) === null || _refTabList$current === void 0 ? void 0 : _refTabList$current.offsetWidth);
|
|
28
|
+
var _refTabList$current$o, _refTabList$current;
|
|
29
|
+
setViewWidth((_refTabList$current$o = refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current = refTabList.current) === null || _refTabList$current === void 0 ? void 0 : _refTabList$current.offsetWidth) !== null && _refTabList$current$o !== void 0 ? _refTabList$current$o : 0);
|
|
63
30
|
}, [refTabList]);
|
|
64
31
|
(0, _react.useEffect)(function () {
|
|
65
|
-
|
|
32
|
+
handleWindowSizeChange();
|
|
66
33
|
window.addEventListener("resize", handleWindowSizeChange);
|
|
67
34
|
return function () {
|
|
68
|
-
window.removeEventListener("load", handleWindowSizeChange);
|
|
69
35
|
window.removeEventListener("resize", handleWindowSizeChange);
|
|
70
36
|
};
|
|
71
37
|
}, [handleWindowSizeChange]);
|
|
72
38
|
return viewWidth;
|
|
73
39
|
};
|
|
74
|
-
|
|
75
40
|
var DxcTabs = function DxcTabs(_ref) {
|
|
76
41
|
var defaultActiveTabIndex = _ref.defaultActiveTabIndex,
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
42
|
+
activeTabIndex = _ref.activeTabIndex,
|
|
43
|
+
tabs = _ref.tabs,
|
|
44
|
+
onTabClick = _ref.onTabClick,
|
|
45
|
+
onTabHover = _ref.onTabHover,
|
|
46
|
+
margin = _ref.margin,
|
|
47
|
+
_ref$iconPosition = _ref.iconPosition,
|
|
48
|
+
iconPosition = _ref$iconPosition === void 0 ? "top" : _ref$iconPosition,
|
|
49
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
50
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
86
51
|
var colorsTheme = (0, _useTheme["default"])();
|
|
87
52
|
var hasLabelAndIcon = tabs && tabs.filter(function (tab) {
|
|
88
53
|
return tab.label && tab.icon;
|
|
@@ -90,62 +55,50 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
90
55
|
var firstFocus = tabs && tabs.findIndex(function (tab) {
|
|
91
56
|
return !tab.isDisabled;
|
|
92
57
|
});
|
|
93
|
-
|
|
94
58
|
var _useState3 = (0, _react.useState)(tabs && defaultActiveTabIndex && !tabs[defaultActiveTabIndex].isDisabled ? defaultActiveTabIndex : firstFocus),
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
59
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
60
|
+
innerActiveTabIndex = _useState4[0],
|
|
61
|
+
setInnerActiveTabIndex = _useState4[1];
|
|
99
62
|
var _useState5 = (0, _react.useState)(0),
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
63
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
64
|
+
activeIndicatorWidth = _useState6[0],
|
|
65
|
+
setActiveIndicatorWidth = _useState6[1];
|
|
104
66
|
var _useState7 = (0, _react.useState)(0),
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
67
|
+
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
68
|
+
activeIndicatorLeft = _useState8[0],
|
|
69
|
+
setActiveIndicatorLeft = _useState8[1];
|
|
109
70
|
var _useState9 = (0, _react.useState)(0),
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
71
|
+
_useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
|
|
72
|
+
translateScroll = _useState10[0],
|
|
73
|
+
setTranslateScroll = _useState10[1];
|
|
114
74
|
var _useState11 = (0, _react.useState)(true),
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
75
|
+
_useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
|
|
76
|
+
scrollRightEnabled = _useState12[0],
|
|
77
|
+
setScrollRightEnabled = _useState12[1];
|
|
119
78
|
var _useState13 = (0, _react.useState)(false),
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
79
|
+
_useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
|
|
80
|
+
scrollLeftEnabled = _useState14[0],
|
|
81
|
+
setScrollLeftEnabled = _useState14[1];
|
|
124
82
|
var _useState15 = (0, _react.useState)(0),
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
83
|
+
_useState16 = (0, _slicedToArray2["default"])(_useState15, 2),
|
|
84
|
+
countClick = _useState16[0],
|
|
85
|
+
setCountClick = _useState16[1];
|
|
129
86
|
var _useState17 = (0, _react.useState)(0),
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
87
|
+
_useState18 = (0, _slicedToArray2["default"])(_useState17, 2),
|
|
88
|
+
totalTabsWidth = _useState18[0],
|
|
89
|
+
setTotalTabsWidth = _useState18[1];
|
|
134
90
|
var _useState19 = (0, _react.useState)(activeTabIndex !== null && activeTabIndex !== void 0 ? activeTabIndex : innerActiveTabIndex),
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
91
|
+
_useState20 = (0, _slicedToArray2["default"])(_useState19, 2),
|
|
92
|
+
currentFocusIndex = _useState20[0],
|
|
93
|
+
setCurrentFocusIndex = _useState20[1];
|
|
139
94
|
var _useState21 = (0, _react.useState)(activeTabIndex !== null && activeTabIndex !== void 0 ? activeTabIndex : innerActiveTabIndex),
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
95
|
+
_useState22 = (0, _slicedToArray2["default"])(_useState21, 2),
|
|
96
|
+
temporalFocusIndex = _useState22[0],
|
|
97
|
+
setTemporalFocusIndex = _useState22[1];
|
|
144
98
|
var _useState23 = (0, _react.useState)(0),
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
99
|
+
_useState24 = (0, _slicedToArray2["default"])(_useState23, 2),
|
|
100
|
+
minHeightTabs = _useState24[0],
|
|
101
|
+
setMinHeightTabs = _useState24[1];
|
|
149
102
|
var refTabs = (0, _react.useRef)([]);
|
|
150
103
|
var refTabList = (0, _react.useRef)(null);
|
|
151
104
|
var viewWidth = useResize(refTabList);
|
|
@@ -155,7 +108,6 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
155
108
|
}, [viewWidth]);
|
|
156
109
|
(0, _react.useEffect)(function () {
|
|
157
110
|
var _refTabs$current, _refTabs$current2, _refTabs$current3;
|
|
158
|
-
|
|
159
111
|
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
112
|
return count + obj.offsetWidth;
|
|
161
113
|
}, 0);
|
|
@@ -165,36 +117,28 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
165
117
|
}, [refTabs]);
|
|
166
118
|
(0, _react.useEffect)(function () {
|
|
167
119
|
var _refTabList$current2;
|
|
168
|
-
|
|
169
120
|
setMinHeightTabs((refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current2 = refTabList.current) === null || _refTabList$current2 === void 0 ? void 0 : _refTabList$current2.offsetHeight) + 1);
|
|
170
121
|
}, [refTabList]);
|
|
171
122
|
(0, _react.useEffect)(function () {
|
|
172
123
|
if (activeTabIndex >= 0) {
|
|
173
124
|
var _refTabs$current$acti, _refTabs$current$acti2;
|
|
174
|
-
|
|
175
125
|
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
126
|
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
127
|
}
|
|
178
128
|
}, [activeTabIndex]);
|
|
179
|
-
|
|
180
129
|
var handleSelected = function handleSelected(newValue) {
|
|
181
130
|
activeTabIndex !== null && activeTabIndex !== void 0 ? activeTabIndex : setInnerActiveTabIndex(newValue);
|
|
182
131
|
onTabClick === null || onTabClick === void 0 ? void 0 : onTabClick(newValue);
|
|
183
|
-
|
|
184
132
|
if (activeTabIndex === undefined) {
|
|
185
133
|
var _refTabs$current$newV, _refTabs$current$newV2;
|
|
186
|
-
|
|
187
134
|
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
135
|
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
136
|
}
|
|
190
137
|
};
|
|
191
|
-
|
|
192
138
|
var scrollLeft = function scrollLeft() {
|
|
193
139
|
var _refTabList$current3;
|
|
194
|
-
|
|
195
140
|
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
141
|
var moveX = 0;
|
|
197
|
-
|
|
198
142
|
if (countClick <= scrollWidth) {
|
|
199
143
|
moveX = 0;
|
|
200
144
|
setScrollLeftEnabled(false);
|
|
@@ -204,20 +148,15 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
204
148
|
setScrollRightEnabled(true);
|
|
205
149
|
setScrollLeftEnabled(true);
|
|
206
150
|
}
|
|
207
|
-
|
|
208
151
|
setTranslateScroll(-moveX);
|
|
209
152
|
setCountClick(moveX);
|
|
210
153
|
};
|
|
211
|
-
|
|
212
154
|
var scrollRight = function scrollRight() {
|
|
213
155
|
var _refTabList$current4, _refTabList$current5;
|
|
214
|
-
|
|
215
156
|
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
157
|
var moveX = 0;
|
|
217
|
-
|
|
218
158
|
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
159
|
var _refTabList$current6;
|
|
220
|
-
|
|
221
160
|
moveX = totalTabsWidth - (refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current6 = refTabList.current) === null || _refTabList$current6 === void 0 ? void 0 : _refTabList$current6.offsetWidth);
|
|
222
161
|
setScrollRightEnabled(false);
|
|
223
162
|
setScrollLeftEnabled(true);
|
|
@@ -226,19 +165,15 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
226
165
|
setScrollLeftEnabled(true);
|
|
227
166
|
setScrollRightEnabled(true);
|
|
228
167
|
}
|
|
229
|
-
|
|
230
168
|
setTranslateScroll(-moveX);
|
|
231
169
|
setCountClick(moveX);
|
|
232
170
|
};
|
|
233
|
-
|
|
234
171
|
var setPreviousTabFocus = function setPreviousTabFocus() {
|
|
235
172
|
setTemporalFocusIndex(function (temporalFocusIndex) {
|
|
236
173
|
var index = temporalFocusIndex === 0 ? tabs.length - 1 : temporalFocusIndex - 1;
|
|
237
|
-
|
|
238
174
|
while (tabs[index].isDisabled) {
|
|
239
175
|
index = index === 0 ? tabs.length - 1 : index - 1;
|
|
240
176
|
}
|
|
241
|
-
|
|
242
177
|
refTabs === null || refTabs === void 0 ? void 0 : refTabs.current[index].focus({
|
|
243
178
|
preventScroll: true
|
|
244
179
|
});
|
|
@@ -246,15 +181,12 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
246
181
|
return index;
|
|
247
182
|
});
|
|
248
183
|
};
|
|
249
|
-
|
|
250
184
|
var setNextTabFocus = function setNextTabFocus() {
|
|
251
185
|
setTemporalFocusIndex(function (temporalFocusIndex) {
|
|
252
186
|
var index = temporalFocusIndex === tabs.length - 1 ? 0 : temporalFocusIndex + 1;
|
|
253
|
-
|
|
254
187
|
while (tabs[index].isDisabled) {
|
|
255
188
|
index = index === tabs.length - 1 ? 0 : index + 1;
|
|
256
189
|
}
|
|
257
|
-
|
|
258
190
|
refTabs === null || refTabs === void 0 ? void 0 : refTabs.current[index].focus({
|
|
259
191
|
preventScroll: true
|
|
260
192
|
});
|
|
@@ -262,10 +194,8 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
262
194
|
return index;
|
|
263
195
|
});
|
|
264
196
|
};
|
|
265
|
-
|
|
266
197
|
var setScrollFocus = function setScrollFocus(actualIndex) {
|
|
267
198
|
var _refTabs$current4, _refTabList$current8;
|
|
268
|
-
|
|
269
199
|
var sumPrev = 0;
|
|
270
200
|
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
201
|
if (index <= actualIndex) {
|
|
@@ -273,29 +203,23 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
273
203
|
}
|
|
274
204
|
});
|
|
275
205
|
var moveX = 0;
|
|
276
|
-
|
|
277
206
|
if (actualIndex === tabs.length - 1) {
|
|
278
207
|
var _refTabList$current7;
|
|
279
|
-
|
|
280
208
|
moveX = totalTabsWidth - (refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current7 = refTabList.current) === null || _refTabList$current7 === void 0 ? void 0 : _refTabList$current7.offsetWidth);
|
|
281
209
|
setScrollLeftEnabled(true);
|
|
282
210
|
setScrollRightEnabled(false);
|
|
283
211
|
} 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
212
|
var _refTabList$current9;
|
|
285
|
-
|
|
286
213
|
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
214
|
setScrollLeftEnabled(true);
|
|
289
215
|
setScrollRightEnabled(true);
|
|
290
216
|
} else {
|
|
291
217
|
setScrollLeftEnabled(false);
|
|
292
218
|
setScrollRightEnabled(true);
|
|
293
219
|
}
|
|
294
|
-
|
|
295
220
|
setTranslateScroll(-moveX);
|
|
296
221
|
setCountClick(moveX);
|
|
297
222
|
};
|
|
298
|
-
|
|
299
223
|
var handleOnKeyDown = function handleOnKeyDown(event) {
|
|
300
224
|
switch (event.key) {
|
|
301
225
|
case "Left":
|
|
@@ -303,36 +227,30 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
303
227
|
event.preventDefault();
|
|
304
228
|
setPreviousTabFocus();
|
|
305
229
|
break;
|
|
306
|
-
|
|
307
230
|
case "Right":
|
|
308
231
|
case "ArrowRight":
|
|
309
232
|
event.preventDefault();
|
|
310
233
|
setNextTabFocus();
|
|
311
234
|
break;
|
|
312
|
-
|
|
313
235
|
case "Enter":
|
|
314
236
|
case " ":
|
|
315
237
|
event.preventDefault();
|
|
316
238
|
setCurrentFocusIndex(temporalFocusIndex);
|
|
317
239
|
handleSelected(temporalFocusIndex);
|
|
318
240
|
break;
|
|
319
|
-
|
|
320
241
|
case "Tab":
|
|
321
242
|
if (temporalFocusIndex !== currentFocusIndex) {
|
|
322
243
|
event.preventDefault();
|
|
323
244
|
setTemporalFocusIndex(currentFocusIndex);
|
|
324
245
|
refTabs === null || refTabs === void 0 ? void 0 : refTabs.current[currentFocusIndex].focus();
|
|
325
246
|
}
|
|
326
|
-
|
|
327
247
|
handleSelected(currentFocusIndex);
|
|
328
248
|
break;
|
|
329
249
|
}
|
|
330
250
|
};
|
|
331
|
-
|
|
332
251
|
var isTabActive = function isTabActive(index) {
|
|
333
252
|
return activeTabIndex >= 0 ? activeTabIndex === index : innerActiveTabIndex === index;
|
|
334
253
|
};
|
|
335
|
-
|
|
336
254
|
var isActiveIndicatorDisabled = firstFocus === -1 || tabs && activeTabIndex >= 0 && tabs[activeTabIndex].isDisabled;
|
|
337
255
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
338
256
|
theme: colorsTheme.tabs
|
|
@@ -348,7 +266,9 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
348
266
|
"aria-label": translatedLabels.tabs.scrollLeft,
|
|
349
267
|
tabIndex: scrollLeftEnabled ? tabIndex : -1,
|
|
350
268
|
minHeightTabs: minHeightTabs
|
|
351
|
-
},
|
|
269
|
+
}, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
270
|
+
icon: "keyboard_arrow_left"
|
|
271
|
+
})), /*#__PURE__*/_react["default"].createElement(TabsContent, null, /*#__PURE__*/_react["default"].createElement(TabsContentScroll, {
|
|
352
272
|
translateScroll: translateScroll,
|
|
353
273
|
ref: refTabList,
|
|
354
274
|
enabled: enabledIndicator
|
|
@@ -390,15 +310,15 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
390
310
|
"aria-label": translatedLabels.tabs.scrollRight,
|
|
391
311
|
tabIndex: scrollRightEnabled ? tabIndex : -1,
|
|
392
312
|
minHeightTabs: minHeightTabs
|
|
393
|
-
},
|
|
313
|
+
}, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
314
|
+
icon: "keyboard_arrow_right"
|
|
315
|
+
})))));
|
|
394
316
|
};
|
|
395
|
-
|
|
396
317
|
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
318
|
return props.theme.dividerThickness;
|
|
398
319
|
}, function (props) {
|
|
399
320
|
return props.theme.dividerColor;
|
|
400
321
|
});
|
|
401
|
-
|
|
402
322
|
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
323
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
404
324
|
}, function (props) {
|
|
@@ -410,7 +330,6 @@ var TabsContainer = _styledComponents["default"].div(_templateObject2 || (_templ
|
|
|
410
330
|
}, function (props) {
|
|
411
331
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
412
332
|
});
|
|
413
|
-
|
|
414
333
|
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
334
|
return (!props.hasLabelAndIcon || props.hasLabelAndIcon && props.iconPosition !== "top") && "48px" || "72px";
|
|
416
335
|
}, function (props) {
|
|
@@ -418,8 +337,7 @@ var Tabs = _styledComponents["default"].div(_templateObject3 || (_templateObject
|
|
|
418
337
|
}, function (props) {
|
|
419
338
|
return props.theme.unselectedBackgroundColor;
|
|
420
339
|
});
|
|
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) {
|
|
340
|
+
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 display: none;\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 span {\n align-self: center;\n height: 20px;\n width: 20px;\n }\n\n span::before {\n color: ", ";\n }\n"])), function (props) {
|
|
423
341
|
return props.enabled ? "flex" : "none";
|
|
424
342
|
}, function (props) {
|
|
425
343
|
return props.theme.scrollButtonsWidth;
|
|
@@ -434,7 +352,6 @@ var ScrollIndicator = _styledComponents["default"].button(_templateObject4 || (_
|
|
|
434
352
|
}, function (props) {
|
|
435
353
|
return props.theme.unselectedFontColor;
|
|
436
354
|
});
|
|
437
|
-
|
|
438
355
|
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
356
|
return "".concat(props.tabLeft, "px");
|
|
440
357
|
}, function (props) {
|
|
@@ -446,16 +363,11 @@ var ActiveIndicator = _styledComponents["default"].span(_templateObject5 || (_te
|
|
|
446
363
|
}, function (props) {
|
|
447
364
|
return props.theme.disabledFontColor;
|
|
448
365
|
});
|
|
449
|
-
|
|
450
366
|
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
367
|
var TabList = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n min-height: ", "px;\n"])), function (props) {
|
|
453
368
|
return props.minHeightTabs;
|
|
454
369
|
});
|
|
455
|
-
|
|
456
370
|
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
371
|
return props.enabled ? "transform: translateX(".concat(props.translateScroll, "px)") : "transform: translateX(0px)";
|
|
458
372
|
});
|
|
459
|
-
|
|
460
|
-
var _default = DxcTabs;
|
|
461
|
-
exports["default"] = _default;
|
|
373
|
+
var _default = exports["default"] = DxcTabs;
|
package/tabs/Tabs.stories.tsx
CHANGED
|
@@ -3,10 +3,16 @@ import DxcTabs from "./Tabs";
|
|
|
3
3
|
import Title from "../../.storybook/components/Title";
|
|
4
4
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
5
5
|
import { HalstackProvider } from "../HalstackContext";
|
|
6
|
+
import { INITIAL_VIEWPORTS } from '@storybook/addon-viewport';
|
|
6
7
|
|
|
7
8
|
export default {
|
|
8
9
|
title: "Tabs",
|
|
9
10
|
component: DxcTabs,
|
|
11
|
+
parameters: {
|
|
12
|
+
viewport: {
|
|
13
|
+
viewports: INITIAL_VIEWPORTS,
|
|
14
|
+
},
|
|
15
|
+
},
|
|
10
16
|
};
|
|
11
17
|
|
|
12
18
|
const iconSVG = (
|
|
@@ -71,13 +77,11 @@ const firstDisabledTabs: any = [
|
|
|
71
77
|
|
|
72
78
|
const tabsNotification = tabs.map((tab, index) => ({
|
|
73
79
|
...tab,
|
|
74
|
-
notificationNumber: (index === 0 && true) || (index === 1 && 5) || (index === 2 && 200),
|
|
80
|
+
notificationNumber: (index === 0 && true) || (index === 1 && 5) || (index === 2 && 100) || (index === 3 && 200),
|
|
75
81
|
}));
|
|
76
82
|
|
|
77
83
|
const tabsIcon = tabs.map((tab, index) =>
|
|
78
|
-
index <= tabs.length / 2
|
|
79
|
-
? { ...tab, icon: "https://cdn-icons-png.flaticon.com/512/5039/5039041.png" }
|
|
80
|
-
: { ...tab, icon: iconSVG }
|
|
84
|
+
index <= tabs.length / 2 ? { ...tab, icon: "mail" } : { ...tab, icon: iconSVG }
|
|
81
85
|
);
|
|
82
86
|
|
|
83
87
|
const tabsNotificationIcon = tabsNotification.map((tab) => ({ ...tab, icon: iconSVG }));
|