@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
package/nav-tabs/NavTabs.js
CHANGED
|
@@ -1,39 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
|
-
exports["default"] =
|
|
11
|
-
|
|
8
|
+
exports["default"] = void 0;
|
|
12
9
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
-
|
|
14
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
-
|
|
16
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
17
|
-
|
|
18
12
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
19
|
-
|
|
20
13
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
21
|
-
|
|
22
14
|
var _Tab = _interopRequireDefault(require("./Tab"));
|
|
23
|
-
|
|
24
|
-
var _templateObject;
|
|
25
|
-
|
|
26
|
-
function
|
|
27
|
-
|
|
28
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(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; }
|
|
29
|
-
|
|
30
|
-
var NavTabsContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
31
|
-
exports.NavTabsContext = NavTabsContext;
|
|
32
|
-
|
|
15
|
+
var _NavTabsContext = require("./NavTabsContext");
|
|
16
|
+
var _templateObject, _templateObject2;
|
|
17
|
+
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); }
|
|
18
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(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; }
|
|
33
19
|
var getPropInChild = function getPropInChild(child, propName) {
|
|
34
20
|
return child.props ? child.props[propName] ? child.props[propName] : child.props.children ? getPropInChild(child.props.children, propName) : undefined : undefined;
|
|
35
21
|
};
|
|
36
|
-
|
|
37
22
|
var getLabelFromTab = function getLabelFromTab(child) {
|
|
38
23
|
if (typeof child === "string") {
|
|
39
24
|
return child.toString();
|
|
@@ -41,39 +26,30 @@ var getLabelFromTab = function getLabelFromTab(child) {
|
|
|
41
26
|
return Array.isArray(child.props.children) ? getLabelFromTab(child.props.children[0]) : getLabelFromTab(child.props.children);
|
|
42
27
|
}
|
|
43
28
|
};
|
|
44
|
-
|
|
45
29
|
var getPreviousTabIndex = function getPreviousTabIndex(array, initialIndex) {
|
|
46
30
|
var index = initialIndex === 0 ? array.length - 1 : initialIndex - 1;
|
|
47
|
-
|
|
48
31
|
while (getPropInChild(array[index], "disabled")) {
|
|
49
32
|
index = index === 0 ? array.length - 1 : index - 1;
|
|
50
33
|
}
|
|
51
|
-
|
|
52
34
|
return index;
|
|
53
35
|
};
|
|
54
|
-
|
|
55
36
|
var getNextTabIndex = function getNextTabIndex(array, initialIndex) {
|
|
56
37
|
var index = initialIndex === array.length - 1 ? 0 : initialIndex + 1;
|
|
57
|
-
|
|
58
38
|
while (getPropInChild(array[index], "disabled")) {
|
|
59
39
|
index = index === array.length - 1 ? 0 : index + 1;
|
|
60
40
|
}
|
|
61
|
-
|
|
62
41
|
return index;
|
|
63
42
|
};
|
|
64
|
-
|
|
65
43
|
var DxcNavTabs = function DxcNavTabs(_ref) {
|
|
66
44
|
var _ref$iconPosition = _ref.iconPosition,
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
45
|
+
iconPosition = _ref$iconPosition === void 0 ? "top" : _ref$iconPosition,
|
|
46
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
47
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,
|
|
48
|
+
children = _ref.children;
|
|
72
49
|
var _useState = (0, _react.useState)(null),
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
50
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
51
|
+
innerFocusIndex = _useState2[0],
|
|
52
|
+
setInnerFocusIndex = _useState2[1];
|
|
77
53
|
var colorsTheme = (0, _useTheme["default"])();
|
|
78
54
|
var contextValue = (0, _react.useMemo)(function () {
|
|
79
55
|
return {
|
|
@@ -82,19 +58,16 @@ var DxcNavTabs = function DxcNavTabs(_ref) {
|
|
|
82
58
|
focusedLabel: innerFocusIndex === null ? undefined : getLabelFromTab(children[innerFocusIndex])
|
|
83
59
|
};
|
|
84
60
|
}, [iconPosition, tabIndex, innerFocusIndex]);
|
|
85
|
-
|
|
86
61
|
var handleOnKeyDown = function handleOnKeyDown(event) {
|
|
87
62
|
var activeTab = _react["default"].Children.toArray(children).findIndex(function (child) {
|
|
88
63
|
return getPropInChild(child, "active");
|
|
89
64
|
});
|
|
90
|
-
|
|
91
65
|
switch (event.key) {
|
|
92
66
|
case "Left":
|
|
93
67
|
case "ArrowLeft":
|
|
94
68
|
event.preventDefault();
|
|
95
69
|
setInnerFocusIndex(getPreviousTabIndex(children, innerFocusIndex === null ? activeTab : innerFocusIndex));
|
|
96
70
|
break;
|
|
97
|
-
|
|
98
71
|
case "Right":
|
|
99
72
|
case "ArrowRight":
|
|
100
73
|
event.preventDefault();
|
|
@@ -102,21 +75,19 @@ var DxcNavTabs = function DxcNavTabs(_ref) {
|
|
|
102
75
|
break;
|
|
103
76
|
}
|
|
104
77
|
};
|
|
105
|
-
|
|
106
78
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
107
79
|
theme: colorsTheme.navTabs
|
|
108
80
|
}, /*#__PURE__*/_react["default"].createElement(NavTabsContainer, {
|
|
109
81
|
onKeyDown: handleOnKeyDown,
|
|
110
82
|
role: "tablist",
|
|
111
83
|
"aria-label": "Navigation tabs"
|
|
112
|
-
}, /*#__PURE__*/_react["default"].createElement(NavTabsContext.Provider, {
|
|
84
|
+
}, /*#__PURE__*/_react["default"].createElement(_NavTabsContext.NavTabsContext.Provider, {
|
|
113
85
|
value: contextValue
|
|
114
|
-
}, children)));
|
|
86
|
+
}, children), /*#__PURE__*/_react["default"].createElement(Underline, null)));
|
|
115
87
|
};
|
|
116
|
-
|
|
88
|
+
var Underline = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 2px;\n background-color: ", ";\n"])), function (props) {
|
|
89
|
+
return props.theme.dividerColor;
|
|
90
|
+
});
|
|
117
91
|
DxcNavTabs.Tab = _Tab["default"];
|
|
118
|
-
|
|
119
|
-
var
|
|
120
|
-
|
|
121
|
-
var _default = DxcNavTabs;
|
|
122
|
-
exports["default"] = _default;
|
|
92
|
+
var NavTabsContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n position: relative;\n"])));
|
|
93
|
+
var _default = exports["default"] = DxcNavTabs;
|
|
@@ -5,7 +5,7 @@ import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
|
5
5
|
import { HalstackProvider } from "../HalstackContext";
|
|
6
6
|
|
|
7
7
|
export default {
|
|
8
|
-
title: "
|
|
8
|
+
title: "Nav Tabs",
|
|
9
9
|
component: DxcNavTabs,
|
|
10
10
|
};
|
|
11
11
|
|
|
@@ -16,7 +16,10 @@ const iconSVG = (
|
|
|
16
16
|
</svg>
|
|
17
17
|
);
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
|
|
20
|
+
const favoriteIcon = 'filled_Favorite'
|
|
21
|
+
|
|
22
|
+
const pinIcon = 'Location_On';
|
|
20
23
|
|
|
21
24
|
const opinionatedTheme = {
|
|
22
25
|
navTabs: {
|
|
@@ -91,7 +94,9 @@ export const Chromatic = () => (
|
|
|
91
94
|
<DxcNavTabs.Tab href="#" notificationNumber={120}>
|
|
92
95
|
Tab 3
|
|
93
96
|
</DxcNavTabs.Tab>
|
|
94
|
-
<DxcNavTabs.Tab href="#"
|
|
97
|
+
<DxcNavTabs.Tab href="#" notificationNumber={12}>
|
|
98
|
+
Tab 4
|
|
99
|
+
</DxcNavTabs.Tab>
|
|
95
100
|
</DxcNavTabs>
|
|
96
101
|
</ExampleContainer>
|
|
97
102
|
<ExampleContainer>
|
|
@@ -103,10 +108,10 @@ export const Chromatic = () => (
|
|
|
103
108
|
<DxcNavTabs.Tab href="#" disabled icon={iconSVG}>
|
|
104
109
|
Tab 2
|
|
105
110
|
</DxcNavTabs.Tab>
|
|
106
|
-
<DxcNavTabs.Tab href="#" icon={
|
|
111
|
+
<DxcNavTabs.Tab href="#" icon={pinIcon}>
|
|
107
112
|
Tab 3
|
|
108
113
|
</DxcNavTabs.Tab>
|
|
109
|
-
<DxcNavTabs.Tab href="#" icon={
|
|
114
|
+
<DxcNavTabs.Tab href="#" icon={pinIcon}>
|
|
110
115
|
Tab 4
|
|
111
116
|
</DxcNavTabs.Tab>
|
|
112
117
|
</DxcNavTabs>
|
|
@@ -114,16 +119,16 @@ export const Chromatic = () => (
|
|
|
114
119
|
<ExampleContainer>
|
|
115
120
|
<Title title="With icon position left" theme="light" level={4} />
|
|
116
121
|
<DxcNavTabs iconPosition="left">
|
|
117
|
-
<DxcNavTabs.Tab href="#" active icon={
|
|
122
|
+
<DxcNavTabs.Tab href="#" active icon={pinIcon}>
|
|
118
123
|
Tab 1
|
|
119
124
|
</DxcNavTabs.Tab>
|
|
120
|
-
<DxcNavTabs.Tab href="#" disabled icon={
|
|
125
|
+
<DxcNavTabs.Tab href="#" disabled icon={favoriteIcon}>
|
|
121
126
|
Tab 2
|
|
122
127
|
</DxcNavTabs.Tab>
|
|
123
|
-
<DxcNavTabs.Tab href="#" icon={
|
|
128
|
+
<DxcNavTabs.Tab href="#" icon={favoriteIcon}>
|
|
124
129
|
Tab 3
|
|
125
130
|
</DxcNavTabs.Tab>
|
|
126
|
-
<DxcNavTabs.Tab href="#" icon={
|
|
131
|
+
<DxcNavTabs.Tab href="#" icon={favoriteIcon}>
|
|
127
132
|
Tab 4
|
|
128
133
|
</DxcNavTabs.Tab>
|
|
129
134
|
</DxcNavTabs>
|
|
@@ -131,16 +136,16 @@ export const Chromatic = () => (
|
|
|
131
136
|
<ExampleContainer>
|
|
132
137
|
<Title title="With icon and notification number" theme="light" level={4} />
|
|
133
138
|
<DxcNavTabs>
|
|
134
|
-
<DxcNavTabs.Tab href="#" active icon={
|
|
139
|
+
<DxcNavTabs.Tab href="#" active icon={pinIcon} notificationNumber>
|
|
135
140
|
Tab 1
|
|
136
141
|
</DxcNavTabs.Tab>
|
|
137
|
-
<DxcNavTabs.Tab href="#" disabled icon={
|
|
142
|
+
<DxcNavTabs.Tab href="#" disabled icon={favoriteIcon} notificationNumber={5}>
|
|
138
143
|
Tab 2
|
|
139
144
|
</DxcNavTabs.Tab>
|
|
140
|
-
<DxcNavTabs.Tab href="#" icon={
|
|
145
|
+
<DxcNavTabs.Tab href="#" icon={favoriteIcon} notificationNumber={120}>
|
|
141
146
|
Tab 3
|
|
142
147
|
</DxcNavTabs.Tab>
|
|
143
|
-
<DxcNavTabs.Tab href="#" icon={
|
|
148
|
+
<DxcNavTabs.Tab href="#" icon={pinIcon} notificationNumber={12}>
|
|
144
149
|
Tab 4
|
|
145
150
|
</DxcNavTabs.Tab>
|
|
146
151
|
</DxcNavTabs>
|
|
@@ -148,16 +153,16 @@ export const Chromatic = () => (
|
|
|
148
153
|
<ExampleContainer>
|
|
149
154
|
<Title title="With icon on the left and notification number" theme="light" level={4} />
|
|
150
155
|
<DxcNavTabs iconPosition="left">
|
|
151
|
-
<DxcNavTabs.Tab href="#" active icon={
|
|
156
|
+
<DxcNavTabs.Tab href="#" active icon={favoriteIcon} notificationNumber>
|
|
152
157
|
Tab 1
|
|
153
158
|
</DxcNavTabs.Tab>
|
|
154
|
-
<DxcNavTabs.Tab href="#" disabled icon={
|
|
159
|
+
<DxcNavTabs.Tab href="#" disabled icon={favoriteIcon} notificationNumber={5}>
|
|
155
160
|
Tab 2
|
|
156
161
|
</DxcNavTabs.Tab>
|
|
157
|
-
<DxcNavTabs.Tab href="#" icon={
|
|
162
|
+
<DxcNavTabs.Tab href="#" icon={pinIcon} notificationNumber={120}>
|
|
158
163
|
Tab 3
|
|
159
164
|
</DxcNavTabs.Tab>
|
|
160
|
-
<DxcNavTabs.Tab href="#" icon={
|
|
165
|
+
<DxcNavTabs.Tab href="#" icon={favoriteIcon} notificationNumber={12}>
|
|
161
166
|
Tab 4
|
|
162
167
|
</DxcNavTabs.Tab>
|
|
163
168
|
</DxcNavTabs>
|
|
@@ -168,10 +173,10 @@ export const Chromatic = () => (
|
|
|
168
173
|
<DxcNavTabs.Tab href="#" active>
|
|
169
174
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit
|
|
170
175
|
</DxcNavTabs.Tab>
|
|
171
|
-
<DxcNavTabs.Tab href="#" icon={
|
|
176
|
+
<DxcNavTabs.Tab href="#" icon={favoriteIcon} disabled notificationNumber={3}>
|
|
172
177
|
Tab 2
|
|
173
178
|
</DxcNavTabs.Tab>
|
|
174
|
-
<DxcNavTabs.Tab href="#" icon={
|
|
179
|
+
<DxcNavTabs.Tab href="#" icon={favoriteIcon}>
|
|
175
180
|
Tab 3
|
|
176
181
|
</DxcNavTabs.Tab>
|
|
177
182
|
</DxcNavTabs>
|
|
@@ -182,10 +187,10 @@ export const Chromatic = () => (
|
|
|
182
187
|
<DxcNavTabs.Tab href="#" active>
|
|
183
188
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit
|
|
184
189
|
</DxcNavTabs.Tab>
|
|
185
|
-
<DxcNavTabs.Tab href="#" icon={
|
|
190
|
+
<DxcNavTabs.Tab href="#" icon={favoriteIcon} disabled notificationNumber={3}>
|
|
186
191
|
Tab 2
|
|
187
192
|
</DxcNavTabs.Tab>
|
|
188
|
-
<DxcNavTabs.Tab href="#" icon={
|
|
193
|
+
<DxcNavTabs.Tab href="#" icon={favoriteIcon}>
|
|
189
194
|
Tab 3
|
|
190
195
|
</DxcNavTabs.Tab>
|
|
191
196
|
</DxcNavTabs>
|
|
@@ -255,16 +260,16 @@ export const Chromatic = () => (
|
|
|
255
260
|
<Title title="With icon and notification number" theme="light" level={4} />
|
|
256
261
|
<HalstackProvider theme={opinionatedTheme}>
|
|
257
262
|
<DxcNavTabs>
|
|
258
|
-
<DxcNavTabs.Tab href="#" active icon={
|
|
263
|
+
<DxcNavTabs.Tab href="#" active icon={favoriteIcon} notificationNumber>
|
|
259
264
|
Tab 1
|
|
260
265
|
</DxcNavTabs.Tab>
|
|
261
|
-
<DxcNavTabs.Tab href="#" disabled icon={
|
|
266
|
+
<DxcNavTabs.Tab href="#" disabled icon={favoriteIcon} notificationNumber={5}>
|
|
262
267
|
Tab 2
|
|
263
268
|
</DxcNavTabs.Tab>
|
|
264
|
-
<DxcNavTabs.Tab href="#" icon={
|
|
269
|
+
<DxcNavTabs.Tab href="#" icon={favoriteIcon} notificationNumber={120}>
|
|
265
270
|
Tab 3
|
|
266
271
|
</DxcNavTabs.Tab>
|
|
267
|
-
<DxcNavTabs.Tab href="#" icon={
|
|
272
|
+
<DxcNavTabs.Tab href="#" icon={favoriteIcon} notificationNumber={12}>
|
|
268
273
|
Tab 4
|
|
269
274
|
</DxcNavTabs.Tab>
|
|
270
275
|
</DxcNavTabs>
|
package/nav-tabs/NavTabs.test.js
CHANGED
|
@@ -1,28 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _react = _interopRequireDefault(require("react"));
|
|
6
|
-
|
|
7
5
|
var _react2 = require("@testing-library/react");
|
|
8
|
-
|
|
9
6
|
var _NavTabs = _interopRequireDefault(require("./NavTabs.tsx"));
|
|
10
|
-
|
|
11
7
|
describe("Tabs component tests", function () {
|
|
12
8
|
test("Tabs render with correct labels and attributes", function () {
|
|
13
9
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NavTabs["default"], null, /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
10
|
+
href: "/test1",
|
|
11
|
+
active: true
|
|
12
|
+
}, "Tab 1"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
|
|
13
|
+
href: "/test2",
|
|
14
|
+
disabled: true
|
|
15
|
+
}, "Tab 2"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
|
|
16
|
+
href: "/test3"
|
|
17
|
+
}, "Tab 3"))),
|
|
18
|
+
getByText = _render.getByText,
|
|
19
|
+
getAllByRole = _render.getAllByRole,
|
|
20
|
+
getByRole = _render.getByRole;
|
|
26
21
|
expect(getByRole("tablist")).toBeTruthy();
|
|
27
22
|
expect(getByRole("tablist").getAttribute("aria-label")).toBe("Navigation tabs");
|
|
28
23
|
expect(getByText("Tab 1")).toBeTruthy();
|
|
@@ -32,51 +27,51 @@ describe("Tabs component tests", function () {
|
|
|
32
27
|
tabs.forEach(function (tab, index) {
|
|
33
28
|
expect(tab.getAttribute("aria-selected")).toBe((index === 0).toString());
|
|
34
29
|
});
|
|
35
|
-
var anchors = getAllByRole("
|
|
36
|
-
expect(anchors.length).toBe(
|
|
30
|
+
var anchors = getAllByRole("tab");
|
|
31
|
+
expect(anchors.length).toBe(3);
|
|
37
32
|
expect(anchors[0].getAttribute("href")).toBe("/test1");
|
|
38
|
-
expect(anchors[1].getAttribute("href")).
|
|
33
|
+
expect(anchors[1].getAttribute("href")).toBeFalsy();
|
|
34
|
+
expect(anchors[2].getAttribute("href")).toBe("/test3");
|
|
39
35
|
expect(anchors[0].getAttribute("tabindex")).toBe("0");
|
|
40
36
|
expect(anchors[1].getAttribute("tabindex")).toBe("-1");
|
|
37
|
+
expect(anchors[2].getAttribute("tabindex")).toBe("-1");
|
|
41
38
|
});
|
|
42
39
|
test("Tabs render with correct labels, badges and icons", function () {
|
|
43
40
|
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NavTabs["default"], null, /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
41
|
+
href: "/test1",
|
|
42
|
+
active: true,
|
|
43
|
+
notificationNumber: 10
|
|
44
|
+
}, "Tab 1"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
|
|
45
|
+
href: "/test2",
|
|
46
|
+
disabled: true,
|
|
47
|
+
notificationNumber: 20
|
|
48
|
+
}, "Tab 2"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
|
|
49
|
+
href: "/test3",
|
|
50
|
+
notificationNumber: 1000,
|
|
51
|
+
icon: "Settings"
|
|
52
|
+
}, "Tab 3"))),
|
|
53
|
+
getByText = _render2.getByText,
|
|
54
|
+
queryByText = _render2.queryByText;
|
|
59
55
|
expect(getByText("10")).toBeTruthy();
|
|
60
|
-
expect(
|
|
56
|
+
expect(queryByText("20")).toBeFalsy();
|
|
61
57
|
expect(getByText("+99")).toBeTruthy();
|
|
62
|
-
expect(getByRole("img")).toBeTruthy();
|
|
63
58
|
});
|
|
64
59
|
test("Tabs render with correct tab index", function () {
|
|
65
60
|
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NavTabs["default"], {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
var tabs = getAllByRole("link");
|
|
61
|
+
tabIndex: 3
|
|
62
|
+
}, /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
|
|
63
|
+
href: "/test1"
|
|
64
|
+
}, "Tab 1"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
|
|
65
|
+
href: "/test2",
|
|
66
|
+
disabled: true
|
|
67
|
+
}, "Tab 2"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
|
|
68
|
+
href: "/test3",
|
|
69
|
+
active: true
|
|
70
|
+
}, "Tab 3"))),
|
|
71
|
+
getAllByRole = _render3.getAllByRole;
|
|
72
|
+
var tabs = getAllByRole("tab");
|
|
79
73
|
expect(tabs[0].getAttribute("tabindex")).toBe("-1");
|
|
80
|
-
expect(tabs[1].getAttribute("tabindex")).toBe("
|
|
74
|
+
expect(tabs[1].getAttribute("tabindex")).toBe("-1");
|
|
75
|
+
expect(tabs[2].getAttribute("tabindex")).toBe("3");
|
|
81
76
|
});
|
|
82
77
|
});
|
package/nav-tabs/Tab.js
CHANGED
|
@@ -1,70 +1,49 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof = 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 _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
-
|
|
14
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
15
|
-
|
|
16
11
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
17
|
-
|
|
18
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
-
|
|
20
13
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
21
|
-
|
|
22
14
|
var _Badge = _interopRequireDefault(require("../badge/Badge"));
|
|
23
|
-
|
|
24
15
|
var _Flex = _interopRequireDefault(require("../flex/Flex"));
|
|
25
|
-
|
|
26
|
-
var _NavTabs = require("./NavTabs");
|
|
27
|
-
|
|
28
16
|
var _BaseTypography = _interopRequireDefault(require("../utils/BaseTypography"));
|
|
29
|
-
|
|
30
17
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
31
|
-
|
|
18
|
+
var _NavTabsContext = require("./NavTabsContext");
|
|
19
|
+
var _Icon = _interopRequireDefault(require("../icon/Icon"));
|
|
32
20
|
var _templateObject, _templateObject2, _templateObject3;
|
|
33
|
-
|
|
34
21
|
var _excluded = ["href", "active", "icon", "disabled", "notificationNumber", "children"];
|
|
35
|
-
|
|
36
|
-
function
|
|
37
|
-
|
|
38
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(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; }
|
|
39
|
-
|
|
22
|
+
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); }
|
|
23
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(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; }
|
|
40
24
|
var DxcTab = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, _ref2) {
|
|
41
25
|
var href = _ref.href,
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
26
|
+
_ref$active = _ref.active,
|
|
27
|
+
active = _ref$active === void 0 ? false : _ref$active,
|
|
28
|
+
icon = _ref.icon,
|
|
29
|
+
_ref$disabled = _ref.disabled,
|
|
30
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
31
|
+
_ref$notificationNumb = _ref.notificationNumber,
|
|
32
|
+
notificationNumber = _ref$notificationNumb === void 0 ? false : _ref$notificationNumb,
|
|
33
|
+
children = _ref.children,
|
|
34
|
+
otherProps = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
|
51
35
|
var tabRef = (0, _react.useRef)();
|
|
52
36
|
var colorsTheme = (0, _useTheme["default"])();
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
focusedLabel = _useContext.focusedLabel;
|
|
58
|
-
|
|
37
|
+
var _useContext = (0, _react.useContext)(_NavTabsContext.NavTabsContext),
|
|
38
|
+
iconPosition = _useContext.iconPosition,
|
|
39
|
+
tabIndex = _useContext.tabIndex,
|
|
40
|
+
focusedLabel = _useContext.focusedLabel;
|
|
59
41
|
(0, _react.useEffect)(function () {
|
|
60
42
|
var _tabRef$current;
|
|
61
|
-
|
|
62
43
|
focusedLabel === children.toString() && (tabRef === null || tabRef === void 0 ? void 0 : (_tabRef$current = tabRef.current) === null || _tabRef$current === void 0 ? void 0 : _tabRef$current.focus());
|
|
63
44
|
}, [focusedLabel]);
|
|
64
|
-
|
|
65
45
|
var handleOnKeyDown = function handleOnKeyDown(event) {
|
|
66
46
|
var _tabRef$current2;
|
|
67
|
-
|
|
68
47
|
switch (event.key) {
|
|
69
48
|
case " ":
|
|
70
49
|
case "Enter":
|
|
@@ -73,12 +52,8 @@ var DxcTab = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, _ref2) {
|
|
|
73
52
|
break;
|
|
74
53
|
}
|
|
75
54
|
};
|
|
76
|
-
|
|
77
55
|
return /*#__PURE__*/_react["default"].createElement(TabContainer, {
|
|
78
|
-
active: active
|
|
79
|
-
role: "tab",
|
|
80
|
-
"aria-selected": active,
|
|
81
|
-
"aria-disabled": disabled
|
|
56
|
+
active: active
|
|
82
57
|
}, /*#__PURE__*/_react["default"].createElement(Tab, (0, _extends2["default"])({
|
|
83
58
|
href: !disabled ? href : undefined,
|
|
84
59
|
disabled: disabled,
|
|
@@ -87,17 +62,21 @@ var DxcTab = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, _ref2) {
|
|
|
87
62
|
hasIcon: icon != null ? true : false,
|
|
88
63
|
ref: function ref(anchorRef) {
|
|
89
64
|
tabRef.current = anchorRef;
|
|
90
|
-
|
|
91
65
|
if (_ref2) {
|
|
92
66
|
if (typeof _ref2 === "function") _ref2(anchorRef);else _ref2.current = anchorRef;
|
|
93
67
|
}
|
|
94
68
|
},
|
|
95
69
|
onKeyDown: handleOnKeyDown,
|
|
96
|
-
tabIndex: active ? tabIndex : -1
|
|
70
|
+
tabIndex: active ? tabIndex : -1,
|
|
71
|
+
role: "tab",
|
|
72
|
+
"aria-selected": active,
|
|
73
|
+
"aria-disabled": disabled
|
|
97
74
|
}, otherProps), icon && /*#__PURE__*/_react["default"].createElement(TabIconContainer, {
|
|
98
|
-
iconPosition: iconPosition
|
|
99
|
-
|
|
100
|
-
|
|
75
|
+
iconPosition: iconPosition,
|
|
76
|
+
active: active,
|
|
77
|
+
disabled: disabled
|
|
78
|
+
}, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
79
|
+
icon: icon
|
|
101
80
|
}) : icon), /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
|
|
102
81
|
alignItems: "center",
|
|
103
82
|
gap: "0.5rem"
|
|
@@ -110,23 +89,16 @@ var DxcTab = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, _ref2) {
|
|
|
110
89
|
textAlign: "center",
|
|
111
90
|
letterSpacing: "0.025em",
|
|
112
91
|
lineHeight: "1.715em"
|
|
113
|
-
}, children), notificationNumber && /*#__PURE__*/_react["default"].createElement(_Badge["default"], {
|
|
114
|
-
|
|
115
|
-
|
|
92
|
+
}, children), notificationNumber && !disabled && /*#__PURE__*/_react["default"].createElement(_Badge["default"], {
|
|
93
|
+
mode: "notification",
|
|
94
|
+
size: "small",
|
|
95
|
+
label: typeof notificationNumber === "number" && notificationNumber
|
|
116
96
|
}))));
|
|
117
97
|
});
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
return props.active ? props.theme.selectedUnderlineColor : props.theme.dividerColor;
|
|
121
|
-
}, function (props) {
|
|
122
|
-
return props.theme.unselectedIconColor;
|
|
123
|
-
}, function (props) {
|
|
124
|
-
return props.theme.selectedIconColor;
|
|
125
|
-
}, function (props) {
|
|
126
|
-
return props.theme.disabledIconColor;
|
|
98
|
+
var TabContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n align-items: stretch;\n border-bottom: 2px solid ", ";\n padding: 0.5rem;\n z-index: 1;\n"])), function (props) {
|
|
99
|
+
return props.active ? props.theme.selectedUnderlineColor : "transparent";
|
|
127
100
|
});
|
|
128
|
-
|
|
129
|
-
var Tab = _styledComponents["default"].a(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n flex-direction: ", ";\n justify-content: center;\n align-items: center;\n gap: ", ";\n height: ", ";\n min-width: 176px;\n min-height: 44px;\n padding: 0.375rem;\n border-radius: 4px;\n background: ", ";\n text-decoration-color: transparent;\n cursor: ", ";\n\n ", "\n"])), function (props) {
|
|
101
|
+
var Tab = _styledComponents["default"].a(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n flex-direction: ", ";\n justify-content: center;\n align-items: center;\n gap: ", ";\n height: ", ";\n min-width: 176px;\n min-height: 44px;\n padding: 0.375rem;\n border-radius: 4px;\n background: ", ";\n text-decoration-color: transparent;\n text-decoration-line: none;\n cursor: ", ";\n\n ", "\n"])), function (props) {
|
|
130
102
|
return props.hasIcon && props.iconPosition === "top" ? "column" : "row";
|
|
131
103
|
}, function (props) {
|
|
132
104
|
return props.hasIcon && props.iconPosition === "top" ? "0.375rem" : "0.625rem";
|
|
@@ -139,8 +111,7 @@ var Tab = _styledComponents["default"].a(_templateObject2 || (_templateObject2 =
|
|
|
139
111
|
}, function (props) {
|
|
140
112
|
return !props.disabled && "\n :hover {\n background: ".concat(props.theme.hoverBackgroundColor, ";\n }\n :focus {\n outline: 2px solid ").concat(props.theme.focusOutline, ";\n }\n :active {\n background: ").concat(props.theme.pressedBackgroundColor, ";\n outline: 2px solid #33aaff};\n }\n ");
|
|
141
113
|
});
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
var _default = DxcTab;
|
|
146
|
-
exports["default"] = _default;
|
|
114
|
+
var TabIconContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n font-size: 24px;\n color: ", ";\n svg {\n height: 24px;\n width: 24px;\n }\n"])), function (props) {
|
|
115
|
+
return props.active ? props.theme.selectedIconColor : props.disabled ? props.theme.disabledIconColor : props.theme.unselectedIconColor;
|
|
116
|
+
});
|
|
117
|
+
var _default = exports["default"] = DxcTab;
|