@dxc-technology/halstack-react 0.0.0-5a1e592 → 0.0.0-5b15506
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 +32 -139
- package/HalstackContext.js +10 -35
- package/accordion/Accordion.accessibility.test.js +71 -0
- package/accordion/Accordion.js +33 -84
- package/accordion/Accordion.stories.tsx +5 -51
- 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 +1 -1
- 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 +29 -118
- 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/bulleted-list/BulletedList.accessibility.test.js +107 -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 +33 -133
- 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 +21 -44
- 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 +55 -109
- package/checkbox/Checkbox.stories.tsx +0 -54
- package/checkbox/Checkbox.test.js +79 -108
- package/checkbox/types.d.ts +4 -4
- package/chip/Chip.accessibility.test.js +67 -0
- package/chip/Chip.js +20 -36
- package/chip/Chip.stories.tsx +5 -24
- 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 +32 -136
- package/common/variables.js +43 -154
- 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 +86 -0
- package/contextual-menu/ContextualMenu.d.ts +7 -0
- package/contextual-menu/ContextualMenu.js +71 -0
- package/contextual-menu/ContextualMenu.stories.tsx +182 -0
- package/contextual-menu/ContextualMenu.test.js +71 -0
- package/contextual-menu/MenuItemAction.d.ts +4 -0
- package/contextual-menu/MenuItemAction.js +46 -0
- package/contextual-menu/types.d.ts +22 -0
- package/contextual-menu/types.js +5 -0
- package/date-input/Calendar.js +13 -57
- package/date-input/DateInput.accessibility.test.js +216 -0
- package/date-input/DateInput.js +45 -94
- package/date-input/DateInput.stories.tsx +1 -30
- package/date-input/DateInput.test.js +667 -708
- package/date-input/DatePicker.js +23 -48
- package/date-input/YearPicker.js +8 -34
- package/date-input/types.d.ts +28 -26
- package/dialog/Dialog.accessibility.test.js +69 -0
- package/dialog/Dialog.js +13 -40
- package/dialog/Dialog.stories.tsx +170 -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 +59 -128
- package/dropdown/Dropdown.stories.tsx +5 -16
- package/dropdown/Dropdown.test.js +391 -378
- package/dropdown/DropdownMenu.js +8 -19
- package/dropdown/DropdownMenuItem.js +11 -20
- 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 +25 -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 +117 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +43 -68
- package/footer/Footer.stories.tsx +46 -2
- package/footer/Footer.test.js +18 -32
- package/footer/Icons.d.ts +3 -2
- package/footer/Icons.js +66 -7
- 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 +84 -0
- package/header/Header.d.ts +1 -1
- package/header/Header.js +36 -103
- package/header/Header.test.js +12 -25
- package/header/Icons.d.ts +2 -2
- package/header/Icons.js +2 -7
- package/header/types.d.ts +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 +15 -55
- package/layout/Icons.d.ts +5 -5
- package/layout/Icons.js +1 -7
- package/layout/types.d.ts +3 -3
- package/link/Link.accessibility.test.js +112 -0
- package/link/Link.js +28 -47
- package/link/Link.stories.tsx +2 -2
- package/link/Link.test.js +23 -41
- package/link/types.d.ts +14 -14
- package/main.d.ts +7 -4
- package/main.js +32 -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 +38 -45
- package/nav-tabs/NavTabsContext.d.ts +3 -0
- package/nav-tabs/NavTabsContext.js +8 -0
- package/nav-tabs/Tab.js +33 -62
- 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 +39 -37
- package/paginator/Icons.d.ts +5 -5
- package/paginator/Icons.js +5 -19
- package/paginator/Paginator.accessibility.test.js +79 -0
- package/paginator/Paginator.js +15 -43
- 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 +27 -50
- 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 +21 -53
- 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.js +15 -47
- package/radio-group/RadioGroup.accessibility.test.js +97 -0
- package/radio-group/RadioGroup.js +34 -80
- package/radio-group/RadioGroup.test.js +504 -497
- package/radio-group/types.d.ts +5 -5
- package/resultset-table/Icons.d.ts +7 -0
- package/{resultsetTable → resultset-table}/Icons.js +1 -5
- package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
- package/resultset-table/ResultsetTable.d.ts +7 -0
- package/{resultsetTable → resultset-table}/ResultsetTable.js +44 -69
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +106 -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 +18 -42
- package/select/Option.js +26 -35
- package/select/Select.accessibility.test.js +217 -0
- package/select/Select.js +101 -169
- package/select/Select.stories.tsx +33 -97
- package/select/Select.test.js +1894 -1846
- 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 +68 -125
- 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 +16 -54
- 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 +89 -0
- package/switch/Switch.js +49 -97
- package/switch/Switch.stories.tsx +0 -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 +82 -0
- package/table/Table.d.ts +6 -2
- package/table/Table.js +76 -33
- package/table/{Table.stories.jsx → Table.stories.tsx} +297 -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 +2 -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 +19 -67
- package/text-input/TextInput.accessibility.test.js +321 -0
- package/text-input/TextInput.js +193 -285
- package/text-input/TextInput.stories.tsx +10 -153
- package/text-input/TextInput.test.js +1213 -1269
- package/text-input/types.d.ts +21 -17
- package/textarea/Textarea.accessibility.test.js +155 -0
- package/textarea/Textarea.js +49 -93
- package/textarea/{Textarea.stories.jsx → Textarea.stories.tsx} +58 -108
- package/textarea/Textarea.test.js +135 -208
- package/textarea/types.d.ts +5 -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 +29 -133
- 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 -65
- 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/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/link/Link.test.js
CHANGED
|
@@ -1,81 +1,63 @@
|
|
|
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 _Link = _interopRequireDefault(require("./Link.tsx"));
|
|
10
|
-
|
|
11
7
|
describe("Link component tests", function () {
|
|
12
8
|
test("Link renders with correct text", function () {
|
|
13
9
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Link["default"], null, "Link")),
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
getByText = _render.getByText;
|
|
16
11
|
expect(getByText("Link")).toBeTruthy();
|
|
17
12
|
});
|
|
18
13
|
test("Link renders with correct href", function () {
|
|
19
14
|
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
15
|
+
href: "/testPage"
|
|
16
|
+
}, "Link")),
|
|
17
|
+
getByRole = _render2.getByRole;
|
|
24
18
|
expect(getByRole("link").getAttribute("href")).toEqual("/testPage");
|
|
25
19
|
});
|
|
26
20
|
test("Link renders with correct disabled state", function () {
|
|
27
21
|
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
22
|
+
href: "/testPage",
|
|
23
|
+
disabled: true
|
|
24
|
+
}, "Link")),
|
|
25
|
+
getByText = _render3.getByText;
|
|
33
26
|
expect(getByText("Link").hasAttribute("href")).toBeFalsy();
|
|
34
|
-
|
|
35
27
|
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
28
|
+
onClick: function onClick() {},
|
|
29
|
+
disabled: true
|
|
30
|
+
}, "LinkButton")),
|
|
31
|
+
getByTextLinkButton = _render4.getByText;
|
|
41
32
|
expect(getByTextLinkButton("LinkButton").hasAttribute("onclick")).toBeFalsy();
|
|
42
33
|
});
|
|
43
34
|
test("Link open new tab", function () {
|
|
44
35
|
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
36
|
+
href: "/testPage",
|
|
37
|
+
newWindow: true
|
|
38
|
+
}, "Link")),
|
|
39
|
+
getByRole = _render5.getByRole;
|
|
50
40
|
expect(getByRole("link").getAttribute("target")).toEqual("_blank");
|
|
51
41
|
});
|
|
52
42
|
test("Link onClick called", function () {
|
|
53
43
|
var onClick = jest.fn();
|
|
54
|
-
|
|
55
44
|
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
45
|
+
onClick: onClick
|
|
46
|
+
}, "Link")),
|
|
47
|
+
getByText = _render6.getByText;
|
|
60
48
|
var link = getByText("Link");
|
|
61
|
-
|
|
62
49
|
_react2.fireEvent.click(link);
|
|
63
|
-
|
|
64
50
|
expect(onClick).toHaveBeenCalled();
|
|
65
51
|
});
|
|
66
52
|
test("Disabled link onClick not called", function () {
|
|
67
53
|
var onClick = jest.fn();
|
|
68
|
-
|
|
69
54
|
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
55
|
+
onClick: onClick,
|
|
56
|
+
disabled: true
|
|
57
|
+
}, "Link")),
|
|
58
|
+
getByText = _render7.getByText;
|
|
75
59
|
var link = getByText("Link");
|
|
76
|
-
|
|
77
60
|
_react2.fireEvent.click(link);
|
|
78
|
-
|
|
79
61
|
expect(onClick).toHaveBeenCalledTimes(0);
|
|
80
62
|
});
|
|
81
63
|
});
|
package/link/types.d.ts
CHANGED
|
@@ -1,21 +1,25 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
+
type Margin = {
|
|
4
4
|
top?: Space;
|
|
5
5
|
bottom?: Space;
|
|
6
6
|
left?: Space;
|
|
7
7
|
right?: Space;
|
|
8
8
|
};
|
|
9
|
-
|
|
10
|
-
export
|
|
9
|
+
type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
|
|
10
|
+
export type LinkProps = {
|
|
11
|
+
/**
|
|
12
|
+
* If true, the link is disabled.
|
|
13
|
+
*/
|
|
14
|
+
disabled?: boolean;
|
|
11
15
|
/**
|
|
12
16
|
* If true, the color is inherited from parent.
|
|
13
17
|
*/
|
|
14
18
|
inheritColor?: boolean;
|
|
15
19
|
/**
|
|
16
|
-
*
|
|
20
|
+
* Material Symbol name or SVG element as the icon that will be placed next to the link text.
|
|
17
21
|
*/
|
|
18
|
-
|
|
22
|
+
icon?: string | SVG;
|
|
19
23
|
/**
|
|
20
24
|
* Indicates the position of the icon in the component.
|
|
21
25
|
*/
|
|
@@ -33,6 +37,10 @@ export declare type LinkProps = {
|
|
|
33
37
|
* function will be called when the user clicks the link.
|
|
34
38
|
*/
|
|
35
39
|
onClick?: () => void;
|
|
40
|
+
/**
|
|
41
|
+
* Text of the link.
|
|
42
|
+
*/
|
|
43
|
+
children: string;
|
|
36
44
|
/**
|
|
37
45
|
* Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
|
|
38
46
|
* You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
|
|
@@ -42,13 +50,5 @@ export declare type LinkProps = {
|
|
|
42
50
|
* Value of the tabindex.
|
|
43
51
|
*/
|
|
44
52
|
tabIndex?: number;
|
|
45
|
-
/**
|
|
46
|
-
* Content of the link.
|
|
47
|
-
*/
|
|
48
|
-
children: string;
|
|
49
|
-
/**
|
|
50
|
-
* Element or path used as the icon that will be placed next to the link text.
|
|
51
|
-
*/
|
|
52
|
-
icon?: string | SVG;
|
|
53
53
|
};
|
|
54
54
|
export {};
|
package/main.d.ts
CHANGED
|
@@ -17,12 +17,11 @@ import DxcPaginator from "./paginator/Paginator";
|
|
|
17
17
|
import DxcWizard from "./wizard/Wizard";
|
|
18
18
|
import DxcLink from "./link/Link";
|
|
19
19
|
import DxcHeading from "./heading/Heading";
|
|
20
|
-
import DxcResultsetTable from "./
|
|
20
|
+
import DxcResultsetTable from "./resultset-table/ResultsetTable";
|
|
21
21
|
import DxcChip from "./chip/Chip";
|
|
22
22
|
import DxcApplicationLayout from "./layout/ApplicationLayout";
|
|
23
23
|
import DxcToggleGroup from "./toggle-group/ToggleGroup";
|
|
24
24
|
import DxcAccordionGroup from "./accordion-group/AccordionGroup";
|
|
25
|
-
import DxcBadge from "./badge/Badge";
|
|
26
25
|
import DxcTextInput from "./text-input/TextInput";
|
|
27
26
|
import DxcPasswordInput from "./password-input/PasswordInput";
|
|
28
27
|
import DxcDateInput from "./date-input/DateInput";
|
|
@@ -41,6 +40,10 @@ import DxcParagraph from "./paragraph/Paragraph";
|
|
|
41
40
|
import DxcBulletedList from "./bulleted-list/BulletedList";
|
|
42
41
|
import DxcGrid from "./grid/Grid";
|
|
43
42
|
import DxcImage from "./image/Image";
|
|
43
|
+
import DxcContainer from "./container/Container";
|
|
44
|
+
import DxcBadge from "./badge/Badge";
|
|
45
|
+
import DxcStatusLight from "./status-light/StatusLight";
|
|
46
|
+
import DxcContextualMenu from "./contextual-menu/ContextualMenu";
|
|
47
|
+
import DxcDivider from "./divider/Divider";
|
|
44
48
|
import HalstackContext, { HalstackProvider, HalstackLanguageContext } from "./HalstackContext";
|
|
45
|
-
|
|
46
|
-
export { DxcAlert, DxcButton, DxcCheckbox, DxcTextInput, DxcDropdown, DxcSwitch, DxcSlider, DxcTable, DxcTabs, DxcToggleGroup, DxcDialog, DxcCard, DxcProgressBar, DxcAccordion, DxcSpinner, DxcBox, DxcTag, DxcPaginator, DxcWizard, DxcLink, DxcHeading, DxcResultsetTable, DxcChip, DxcApplicationLayout, HalstackContext, HalstackLanguageContext, HalstackProvider, BackgroundColorProvider, DxcAccordionGroup, DxcBadge, DxcPasswordInput, DxcDateInput, DxcNumberInput, DxcTextarea, DxcSelect, DxcFileInput, DxcRadioGroup, DxcBleed, DxcInset, DxcQuickNav, DxcNavTabs, DxcFlex, DxcTypography, DxcParagraph, DxcBulletedList, DxcGrid, DxcImage, };
|
|
49
|
+
export { DxcAlert, DxcButton, DxcCheckbox, DxcTextInput, DxcDropdown, DxcSwitch, DxcSlider, DxcTable, DxcTabs, DxcToggleGroup, DxcDialog, DxcCard, DxcProgressBar, DxcAccordion, DxcSpinner, DxcBox, DxcTag, DxcPaginator, DxcWizard, DxcLink, DxcHeading, DxcResultsetTable, DxcChip, DxcApplicationLayout, HalstackContext, HalstackLanguageContext, HalstackProvider, DxcAccordionGroup, DxcPasswordInput, DxcDateInput, DxcNumberInput, DxcTextarea, DxcSelect, DxcFileInput, DxcRadioGroup, DxcBleed, DxcInset, DxcQuickNav, DxcNavTabs, DxcFlex, DxcTypography, DxcParagraph, DxcBulletedList, DxcGrid, DxcImage, DxcContainer, DxcBadge, DxcStatusLight, DxcContextualMenu, DxcDivider, };
|
package/main.js
CHANGED
|
@@ -1,18 +1,10 @@
|
|
|
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
|
-
Object.defineProperty(exports, "BackgroundColorProvider", {
|
|
11
|
-
enumerable: true,
|
|
12
|
-
get: function get() {
|
|
13
|
-
return _BackgroundColorContext.BackgroundColorProvider;
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
8
|
Object.defineProperty(exports, "DxcAccordion", {
|
|
17
9
|
enumerable: true,
|
|
18
10
|
get: function get() {
|
|
@@ -85,6 +77,18 @@ Object.defineProperty(exports, "DxcChip", {
|
|
|
85
77
|
return _Chip["default"];
|
|
86
78
|
}
|
|
87
79
|
});
|
|
80
|
+
Object.defineProperty(exports, "DxcContainer", {
|
|
81
|
+
enumerable: true,
|
|
82
|
+
get: function get() {
|
|
83
|
+
return _Container["default"];
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
Object.defineProperty(exports, "DxcContextualMenu", {
|
|
87
|
+
enumerable: true,
|
|
88
|
+
get: function get() {
|
|
89
|
+
return _ContextualMenu["default"];
|
|
90
|
+
}
|
|
91
|
+
});
|
|
88
92
|
Object.defineProperty(exports, "DxcDateInput", {
|
|
89
93
|
enumerable: true,
|
|
90
94
|
get: function get() {
|
|
@@ -97,6 +101,12 @@ Object.defineProperty(exports, "DxcDialog", {
|
|
|
97
101
|
return _Dialog["default"];
|
|
98
102
|
}
|
|
99
103
|
});
|
|
104
|
+
Object.defineProperty(exports, "DxcDivider", {
|
|
105
|
+
enumerable: true,
|
|
106
|
+
get: function get() {
|
|
107
|
+
return _Divider["default"];
|
|
108
|
+
}
|
|
109
|
+
});
|
|
100
110
|
Object.defineProperty(exports, "DxcDropdown", {
|
|
101
111
|
enumerable: true,
|
|
102
112
|
get: function get() {
|
|
@@ -217,6 +227,12 @@ Object.defineProperty(exports, "DxcSpinner", {
|
|
|
217
227
|
return _Spinner["default"];
|
|
218
228
|
}
|
|
219
229
|
});
|
|
230
|
+
Object.defineProperty(exports, "DxcStatusLight", {
|
|
231
|
+
enumerable: true,
|
|
232
|
+
get: function get() {
|
|
233
|
+
return _StatusLight["default"];
|
|
234
|
+
}
|
|
235
|
+
});
|
|
220
236
|
Object.defineProperty(exports, "DxcSwitch", {
|
|
221
237
|
enumerable: true,
|
|
222
238
|
get: function get() {
|
|
@@ -289,97 +305,53 @@ Object.defineProperty(exports, "HalstackProvider", {
|
|
|
289
305
|
return _HalstackContext.HalstackProvider;
|
|
290
306
|
}
|
|
291
307
|
});
|
|
292
|
-
|
|
293
308
|
var _Alert = _interopRequireDefault(require("./alert/Alert"));
|
|
294
|
-
|
|
295
309
|
var _Accordion = _interopRequireDefault(require("./accordion/Accordion"));
|
|
296
|
-
|
|
297
310
|
var _Button = _interopRequireDefault(require("./button/Button"));
|
|
298
|
-
|
|
299
311
|
var _Card = _interopRequireDefault(require("./card/Card"));
|
|
300
|
-
|
|
301
312
|
var _Checkbox = _interopRequireDefault(require("./checkbox/Checkbox"));
|
|
302
|
-
|
|
303
313
|
var _Dialog = _interopRequireDefault(require("./dialog/Dialog"));
|
|
304
|
-
|
|
305
314
|
var _Dropdown = _interopRequireDefault(require("./dropdown/Dropdown"));
|
|
306
|
-
|
|
307
315
|
var _Slider = _interopRequireDefault(require("./slider/Slider"));
|
|
308
|
-
|
|
309
316
|
var _Switch = _interopRequireDefault(require("./switch/Switch"));
|
|
310
|
-
|
|
311
317
|
var _Tabs = _interopRequireDefault(require("./tabs/Tabs"));
|
|
312
|
-
|
|
313
318
|
var _ProgressBar = _interopRequireDefault(require("./progress-bar/ProgressBar"));
|
|
314
|
-
|
|
315
319
|
var _Spinner = _interopRequireDefault(require("./spinner/Spinner"));
|
|
316
|
-
|
|
317
320
|
var _Table = _interopRequireDefault(require("./table/Table"));
|
|
318
|
-
|
|
319
321
|
var _Box = _interopRequireDefault(require("./box/Box"));
|
|
320
|
-
|
|
321
322
|
var _Tag = _interopRequireDefault(require("./tag/Tag"));
|
|
322
|
-
|
|
323
323
|
var _Paginator = _interopRequireDefault(require("./paginator/Paginator"));
|
|
324
|
-
|
|
325
324
|
var _Wizard = _interopRequireDefault(require("./wizard/Wizard"));
|
|
326
|
-
|
|
327
325
|
var _Link = _interopRequireDefault(require("./link/Link"));
|
|
328
|
-
|
|
329
326
|
var _Heading = _interopRequireDefault(require("./heading/Heading"));
|
|
330
|
-
|
|
331
|
-
var _ResultsetTable = _interopRequireDefault(require("./resultsetTable/ResultsetTable"));
|
|
332
|
-
|
|
327
|
+
var _ResultsetTable = _interopRequireDefault(require("./resultset-table/ResultsetTable"));
|
|
333
328
|
var _Chip = _interopRequireDefault(require("./chip/Chip"));
|
|
334
|
-
|
|
335
329
|
var _ApplicationLayout = _interopRequireDefault(require("./layout/ApplicationLayout"));
|
|
336
|
-
|
|
337
330
|
var _ToggleGroup = _interopRequireDefault(require("./toggle-group/ToggleGroup"));
|
|
338
|
-
|
|
339
331
|
var _AccordionGroup = _interopRequireDefault(require("./accordion-group/AccordionGroup"));
|
|
340
|
-
|
|
341
|
-
var _Badge = _interopRequireDefault(require("./badge/Badge"));
|
|
342
|
-
|
|
343
332
|
var _TextInput = _interopRequireDefault(require("./text-input/TextInput"));
|
|
344
|
-
|
|
345
333
|
var _PasswordInput = _interopRequireDefault(require("./password-input/PasswordInput"));
|
|
346
|
-
|
|
347
334
|
var _DateInput = _interopRequireDefault(require("./date-input/DateInput"));
|
|
348
|
-
|
|
349
335
|
var _NumberInput = _interopRequireDefault(require("./number-input/NumberInput"));
|
|
350
|
-
|
|
351
336
|
var _Textarea = _interopRequireDefault(require("./textarea/Textarea"));
|
|
352
|
-
|
|
353
337
|
var _Select = _interopRequireDefault(require("./select/Select"));
|
|
354
|
-
|
|
355
338
|
var _FileInput = _interopRequireDefault(require("./file-input/FileInput"));
|
|
356
|
-
|
|
357
339
|
var _RadioGroup = _interopRequireDefault(require("./radio-group/RadioGroup"));
|
|
358
|
-
|
|
359
340
|
var _Bleed = _interopRequireDefault(require("./bleed/Bleed"));
|
|
360
|
-
|
|
361
341
|
var _Inset = _interopRequireDefault(require("./inset/Inset"));
|
|
362
|
-
|
|
363
342
|
var _QuickNav = _interopRequireDefault(require("./quick-nav/QuickNav"));
|
|
364
|
-
|
|
365
343
|
var _NavTabs = _interopRequireDefault(require("./nav-tabs/NavTabs"));
|
|
366
|
-
|
|
367
344
|
var _Flex = _interopRequireDefault(require("./flex/Flex"));
|
|
368
|
-
|
|
369
345
|
var _Typography = _interopRequireDefault(require("./typography/Typography"));
|
|
370
|
-
|
|
371
346
|
var _Paragraph = _interopRequireDefault(require("./paragraph/Paragraph"));
|
|
372
|
-
|
|
373
347
|
var _BulletedList = _interopRequireDefault(require("./bulleted-list/BulletedList"));
|
|
374
|
-
|
|
375
348
|
var _Grid = _interopRequireDefault(require("./grid/Grid"));
|
|
376
|
-
|
|
377
349
|
var _Image = _interopRequireDefault(require("./image/Image"));
|
|
378
|
-
|
|
350
|
+
var _Container = _interopRequireDefault(require("./container/Container"));
|
|
351
|
+
var _Badge = _interopRequireDefault(require("./badge/Badge"));
|
|
352
|
+
var _StatusLight = _interopRequireDefault(require("./status-light/StatusLight"));
|
|
353
|
+
var _ContextualMenu = _interopRequireDefault(require("./contextual-menu/ContextualMenu"));
|
|
354
|
+
var _Divider = _interopRequireDefault(require("./divider/Divider"));
|
|
379
355
|
var _HalstackContext = _interopRequireWildcard(require("./HalstackContext"));
|
|
380
|
-
|
|
381
|
-
var
|
|
382
|
-
|
|
383
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
384
|
-
|
|
385
|
-
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; }
|
|
356
|
+
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); }
|
|
357
|
+
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 && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
@@ -0,0 +1,44 @@
|
|
|
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 _jestAxe = require("jest-axe");
|
|
9
|
+
var _NavTabs = _interopRequireDefault(require("./NavTabs.tsx"));
|
|
10
|
+
var favoriteIcon = 'filled_Favorite';
|
|
11
|
+
var pinIcon = 'Location_On';
|
|
12
|
+
describe("Tabs component accessibility tests", function () {
|
|
13
|
+
it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
14
|
+
var _render, container, results;
|
|
15
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
16
|
+
while (1) switch (_context.prev = _context.next) {
|
|
17
|
+
case 0:
|
|
18
|
+
_render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NavTabs["default"], {
|
|
19
|
+
iconPosition: "left"
|
|
20
|
+
}, /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
|
|
21
|
+
href: "/test1",
|
|
22
|
+
icon: favoriteIcon,
|
|
23
|
+
active: true
|
|
24
|
+
}, "Tab 1"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
|
|
25
|
+
href: "/test2",
|
|
26
|
+
icon: favoriteIcon,
|
|
27
|
+
disabled: true
|
|
28
|
+
}, "Tab 2"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
|
|
29
|
+
href: "/test3",
|
|
30
|
+
icon: pinIcon,
|
|
31
|
+
notificationNumber: 12
|
|
32
|
+
}, "Tab 3"))), container = _render.container;
|
|
33
|
+
_context.next = 3;
|
|
34
|
+
return (0, _jestAxe.axe)(container);
|
|
35
|
+
case 3:
|
|
36
|
+
results = _context.sent;
|
|
37
|
+
expect(results).toHaveNoViolations();
|
|
38
|
+
case 5:
|
|
39
|
+
case "end":
|
|
40
|
+
return _context.stop();
|
|
41
|
+
}
|
|
42
|
+
}, _callee);
|
|
43
|
+
})));
|
|
44
|
+
});
|
package/nav-tabs/NavTabs.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import NavTabsPropsType
|
|
3
|
-
export declare const NavTabsContext: React.Context<NavTabsContextProps>;
|
|
2
|
+
import NavTabsPropsType from "./types";
|
|
4
3
|
declare const DxcNavTabs: {
|
|
5
4
|
({ iconPosition, tabIndex, children }: NavTabsPropsType): JSX.Element;
|
|
6
5
|
Tab: React.ForwardRefExoticComponent<import("./types").TabProps & React.RefAttributes<HTMLAnchorElement>>;
|
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 && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
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;
|