@dxc-technology/halstack-react 0.0.0-9bd9511 → 0.0.0-9c20370
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BackgroundColorContext.d.ts +3 -3
- package/BackgroundColorContext.js +12 -2
- package/HalstackContext.d.ts +1330 -7
- package/HalstackContext.js +84 -67
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +74 -55
- package/accordion/Accordion.stories.tsx +3 -101
- package/accordion/Accordion.test.js +34 -19
- package/accordion/types.d.ts +4 -16
- package/accordion-group/AccordionGroup.d.ts +4 -3
- package/accordion-group/AccordionGroup.js +49 -42
- package/accordion-group/AccordionGroup.stories.tsx +77 -76
- package/accordion-group/AccordionGroup.test.js +62 -54
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +43 -0
- package/accordion-group/types.d.ts +6 -18
- package/alert/Alert.js +47 -20
- package/alert/Alert.test.js +46 -29
- package/alert/types.d.ts +3 -3
- package/badge/Badge.js +14 -2
- package/badge/types.d.ts +1 -1
- package/bleed/Bleed.js +21 -13
- package/bleed/Bleed.stories.tsx +1 -0
- package/bleed/types.d.ts +2 -2
- package/box/Box.d.ts +1 -1
- package/box/Box.js +33 -33
- package/box/Box.stories.tsx +25 -53
- package/box/Box.test.js +7 -2
- package/box/types.d.ts +3 -15
- package/bulleted-list/BulletedList.js +36 -9
- package/bulleted-list/BulletedList.stories.tsx +7 -1
- package/bulleted-list/types.d.ts +32 -5
- package/button/Button.d.ts +1 -1
- package/button/Button.js +83 -71
- package/button/Button.stories.tsx +4 -4
- package/button/Button.test.js +28 -8
- package/button/types.d.ts +8 -4
- package/card/Card.d.ts +1 -1
- package/card/Card.js +67 -62
- package/card/Card.stories.tsx +12 -42
- package/card/Card.test.js +22 -11
- package/card/types.d.ts +4 -10
- package/checkbox/Checkbox.js +71 -27
- package/checkbox/Checkbox.test.js +60 -33
- package/checkbox/types.d.ts +4 -4
- package/chip/Chip.js +51 -48
- package/chip/Chip.stories.tsx +25 -17
- package/chip/Chip.test.js +29 -17
- package/chip/types.d.ts +4 -4
- package/common/OpenSans.css +68 -80
- package/common/coreTokens.d.ts +146 -0
- package/common/coreTokens.js +167 -0
- package/common/utils.d.ts +1 -0
- package/common/utils.js +8 -3
- package/common/variables.d.ts +226 -175
- package/common/variables.js +956 -1133
- package/date-input/Calendar.js +55 -12
- package/date-input/DateInput.js +82 -35
- package/date-input/DateInput.test.js +351 -164
- package/date-input/DatePicker.js +38 -8
- package/date-input/Icons.js +12 -0
- package/date-input/YearPicker.js +30 -5
- package/date-input/types.d.ts +7 -7
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +83 -86
- package/dialog/Dialog.stories.tsx +127 -221
- package/dialog/Dialog.test.js +331 -18
- package/dialog/types.d.ts +1 -14
- package/dropdown/Dropdown.js +86 -32
- package/dropdown/Dropdown.test.js +211 -104
- package/dropdown/DropdownMenu.js +22 -8
- package/dropdown/DropdownMenuItem.js +15 -6
- package/dropdown/types.d.ts +8 -8
- package/file-input/FileInput.js +218 -134
- package/file-input/FileInput.test.js +343 -331
- package/file-input/FileItem.js +39 -12
- package/file-input/types.d.ts +10 -10
- package/flex/Flex.js +39 -25
- package/flex/Flex.stories.tsx +35 -26
- package/flex/types.d.ts +74 -9
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +80 -68
- package/footer/Footer.stories.tsx +12 -89
- package/footer/Footer.test.js +47 -40
- package/footer/Icons.js +4 -0
- package/footer/types.d.ts +15 -17
- package/grid/Grid.d.ts +7 -0
- package/grid/Grid.js +91 -0
- package/grid/Grid.stories.tsx +219 -0
- package/grid/types.d.ts +115 -0
- package/header/Header.d.ts +4 -3
- package/header/Header.js +72 -55
- package/header/Header.stories.tsx +7 -71
- package/header/Header.test.js +26 -13
- package/header/Icons.js +4 -0
- package/header/types.d.ts +2 -16
- package/heading/Heading.js +28 -7
- package/heading/Heading.test.js +88 -71
- package/heading/types.d.ts +3 -3
- package/inset/Inset.js +21 -13
- package/inset/Inset.stories.tsx +2 -1
- package/inset/types.d.ts +2 -2
- package/layout/ApplicationLayout.d.ts +5 -5
- package/layout/ApplicationLayout.js +57 -15
- package/layout/Icons.js +10 -0
- package/layout/SidenavContext.d.ts +1 -1
- package/layout/SidenavContext.js +4 -0
- package/layout/types.d.ts +5 -6
- package/link/Link.js +41 -21
- package/link/Link.test.js +42 -26
- package/link/types.d.ts +4 -4
- package/main.d.ts +2 -1
- package/main.js +55 -0
- package/nav-tabs/NavTabs.d.ts +2 -2
- package/nav-tabs/NavTabs.js +43 -16
- package/nav-tabs/NavTabs.stories.tsx +14 -0
- package/nav-tabs/NavTabs.test.js +44 -37
- package/nav-tabs/Tab.js +71 -45
- package/nav-tabs/types.d.ts +10 -11
- package/number-input/NumberInput.js +30 -20
- package/number-input/NumberInput.test.js +249 -113
- package/number-input/NumberInputContext.js +5 -0
- package/number-input/numberInputContextTypes.d.ts +1 -1
- package/number-input/types.d.ts +4 -4
- package/package.json +7 -7
- package/paginator/Icons.js +10 -0
- package/paginator/Paginator.js +39 -17
- package/paginator/Paginator.test.js +156 -104
- package/paginator/types.d.ts +1 -1
- package/paragraph/Paragraph.d.ts +3 -4
- package/paragraph/Paragraph.js +18 -8
- package/password-input/PasswordInput.js +51 -22
- package/password-input/PasswordInput.test.js +94 -51
- package/password-input/types.d.ts +4 -4
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +39 -14
- package/progress-bar/ProgressBar.test.js +53 -36
- package/progress-bar/types.d.ts +4 -3
- package/quick-nav/QuickNav.js +24 -2
- package/quick-nav/types.d.ts +2 -2
- package/radio-group/Radio.js +53 -22
- package/radio-group/RadioGroup.js +84 -41
- package/radio-group/RadioGroup.test.js +288 -186
- package/radio-group/types.d.ts +4 -4
- package/resultsetTable/Icons.js +3 -0
- package/resultsetTable/ResultsetTable.js +56 -21
- package/resultsetTable/ResultsetTable.test.js +75 -42
- package/resultsetTable/types.d.ts +5 -5
- package/select/Icons.js +3 -0
- package/select/Listbox.js +35 -10
- package/select/Option.js +24 -8
- package/select/Select.js +143 -56
- package/select/Select.test.js +839 -456
- package/select/types.d.ts +12 -12
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +51 -0
- package/sidenav/Sidenav.d.ts +2 -2
- package/sidenav/Sidenav.js +116 -104
- package/sidenav/Sidenav.stories.tsx +60 -60
- package/sidenav/Sidenav.test.js +10 -3
- package/sidenav/types.d.ts +26 -23
- package/slider/Slider.js +84 -38
- package/slider/Slider.test.js +104 -76
- package/slider/types.d.ts +4 -4
- package/spinner/Spinner.js +51 -28
- package/spinner/Spinner.stories.jsx +28 -28
- package/spinner/Spinner.test.js +35 -26
- package/spinner/types.d.ts +3 -3
- package/switch/Switch.js +66 -24
- package/switch/Switch.test.js +97 -52
- package/switch/types.d.ts +4 -4
- package/table/Table.js +22 -4
- package/table/Table.test.js +7 -2
- package/table/types.d.ts +3 -3
- package/tabs/Tab.js +39 -22
- package/tabs/Tabs.js +131 -62
- package/tabs/Tabs.test.js +122 -67
- package/tabs/types.d.ts +8 -8
- package/tag/Tag.js +54 -27
- package/tag/Tag.test.js +31 -20
- package/tag/types.d.ts +7 -7
- package/text-input/Icons.js +3 -0
- package/text-input/Suggestion.js +24 -8
- package/text-input/Suggestions.js +36 -11
- package/text-input/TextInput.js +144 -59
- package/text-input/TextInput.stories.tsx +1 -1
- package/text-input/TextInput.test.js +858 -539
- package/text-input/types.d.ts +9 -9
- package/textarea/Textarea.js +73 -38
- package/textarea/Textarea.test.js +173 -98
- package/textarea/types.d.ts +4 -4
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +59 -21
- package/toggle-group/ToggleGroup.test.js +72 -40
- package/toggle-group/types.d.ts +11 -11
- package/typography/Typography.d.ts +2 -2
- package/typography/Typography.js +23 -110
- package/typography/Typography.stories.tsx +1 -1
- package/typography/types.d.ts +1 -1
- package/useTheme.d.ts +1234 -1
- package/useTheme.js +6 -0
- package/useTranslatedLabels.d.ts +84 -2
- package/useTranslatedLabels.js +5 -0
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +108 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +138 -0
- package/wizard/Wizard.js +47 -13
- package/wizard/Wizard.test.js +81 -54
- package/wizard/types.d.ts +7 -8
- package/card/ice-cream.jpg +0 -0
- package/translatedLabelsType.d.ts +0 -82
- /package/{translatedLabelsType.js → grid/types.js} +0 -0
package/layout/Icons.js
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.twitterLogo = exports.linkedinLogo = exports.hamburgerIcon = exports.facebookLogo = void 0;
|
|
9
|
+
|
|
8
10
|
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
9
12
|
var facebookLogo = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
10
13
|
version: "1.1",
|
|
11
14
|
id: "Capa_1",
|
|
@@ -18,7 +21,9 @@ var facebookLogo = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
|
18
21
|
}, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
|
|
19
22
|
d: "M414.41,24.123C398.333,8.042,378.963,0,356.315,0H82.228C59.58,0,40.21,8.042,24.126,24.123 C8.045,40.207,0.003,59.576,0.003,82.225v274.084c0,22.647,8.042,42.018,24.123,58.102c16.084,16.084,35.454,24.126,58.102,24.126 h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225 C438.532,59.576,430.49,40.204,414.41,24.123z M373.155,225.548h-49.963V406.84h-74.802V225.548H210.99V163.02h37.401v-37.402 c0-26.838,6.283-47.107,18.843-60.813c12.559-13.706,33.304-20.555,62.242-20.555h49.963v62.526h-31.401 c-10.663,0-17.467,1.853-20.417,5.568c-2.949,3.711-4.428,10.23-4.428,19.558v31.119h56.534L373.155,225.548z"
|
|
20
23
|
})));
|
|
24
|
+
|
|
21
25
|
exports.facebookLogo = facebookLogo;
|
|
26
|
+
|
|
22
27
|
var twitterLogo = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
23
28
|
version: "1.1",
|
|
24
29
|
id: "Capa_1",
|
|
@@ -31,7 +36,9 @@ var twitterLogo = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
|
31
36
|
}, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
|
|
32
37
|
d: "M414.41,24.123C398.333,8.042,378.963,0,356.315,0H82.228C59.58,0,40.21,8.042,24.126,24.123 C8.045,40.207,0.003,59.576,0.003,82.225v274.084c0,22.647,8.042,42.018,24.123,58.102c16.084,16.084,35.454,24.126,58.102,24.126 h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225 C438.532,59.576,430.49,40.204,414.41,24.123z M335.471,168.735c0.191,1.713,0.288,4.278,0.288,7.71 c0,15.989-2.334,32.025-6.995,48.104c-4.661,16.087-11.8,31.504-21.416,46.254c-9.606,14.749-21.074,27.791-34.396,39.115 c-13.325,11.32-29.311,20.365-47.968,27.117c-18.648,6.762-38.637,10.143-59.953,10.143c-33.116,0-63.76-8.952-91.931-26.836 c4.568,0.568,9.329,0.855,14.275,0.855c27.6,0,52.439-8.565,74.519-25.7c-12.941-0.185-24.506-4.179-34.688-11.991 c-10.185-7.803-17.273-17.699-21.271-29.691c4.947,0.76,8.658,1.137,11.132,1.137c4.187,0,9.042-0.76,14.56-2.279 c-13.894-2.669-25.598-9.562-35.115-20.697c-9.519-11.136-14.277-23.84-14.277-38.114v-0.571 c10.085,4.755,19.602,7.229,28.549,7.422c-17.321-11.613-25.981-28.265-25.981-49.963c0-10.66,2.758-20.747,8.278-30.264 c15.035,18.464,33.311,33.213,54.816,44.252c21.507,11.038,44.54,17.227,69.092,18.558c-0.95-3.616-1.427-8.186-1.427-13.704 c0-16.562,5.853-30.692,17.56-42.399c11.703-11.706,25.837-17.561,42.394-17.561c17.515,0,32.079,6.283,43.688,18.846 c13.134-2.474,25.892-7.33,38.26-14.56c-4.757,14.652-13.613,25.788-26.55,33.402c12.368-1.716,23.88-4.95,34.537-9.708 C357.458,149.793,347.462,160.166,335.471,168.735z"
|
|
33
38
|
})));
|
|
39
|
+
|
|
34
40
|
exports.twitterLogo = twitterLogo;
|
|
41
|
+
|
|
35
42
|
var linkedinLogo = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
36
43
|
version: "1.1",
|
|
37
44
|
id: "Capa_1",
|
|
@@ -44,7 +51,9 @@ var linkedinLogo = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
|
44
51
|
}, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
|
|
45
52
|
d: "M414.41,24.123C398.333,8.042,378.963,0,356.315,0H82.228C59.58,0,40.21,8.042,24.126,24.123 C8.045,40.207,0.003,59.576,0.003,82.225v274.084c0,22.647,8.042,42.018,24.123,58.102c16.084,16.084,35.454,24.126,58.102,24.126 h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225 C438.532,59.576,430.49,40.204,414.41,24.123z M133.618,367.157H67.666V169.016h65.952V367.157z M127.626,132.332 c-6.851,6.567-15.893,9.851-27.124,9.851h-0.288c-10.848,0-19.648-3.284-26.407-9.851c-6.76-6.567-10.138-14.703-10.138-24.41 c0-9.897,3.476-18.083,10.421-24.556c6.95-6.471,15.942-9.708,26.98-9.708c11.039,0,19.89,3.237,26.553,9.708 c6.661,6.473,10.088,14.659,10.277,24.556C137.899,117.625,134.477,125.761,127.626,132.332z M370.873,367.157h-65.952v-105.92 c0-29.879-11.036-44.823-33.116-44.823c-8.374,0-15.42,2.331-21.128,6.995c-5.715,4.661-9.996,10.324-12.847,16.991 c-1.335,3.422-1.999,8.75-1.999,15.981v110.775h-65.952c0.571-119.529,0.571-185.579,0-198.142h65.952v27.974 c13.867-21.681,33.558-32.544,59.101-32.544c22.84,0,41.21,7.52,55.104,22.554c13.895,15.037,20.841,37.214,20.841,66.519v113.64 H370.873z"
|
|
46
53
|
})));
|
|
54
|
+
|
|
47
55
|
exports.linkedinLogo = linkedinLogo;
|
|
56
|
+
|
|
48
57
|
var hamburgerIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
49
58
|
xmlns: "http://www.w3.org/2000/svg",
|
|
50
59
|
height: "24",
|
|
@@ -53,4 +62,5 @@ var hamburgerIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
|
53
62
|
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
54
63
|
d: "M3 18V16H21V18ZM3 13V11H21V13ZM3 8V6H21V8Z"
|
|
55
64
|
}));
|
|
65
|
+
|
|
56
66
|
exports.hamburgerIcon = hamburgerIcon;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
type SidenavContextType = (isSidenavVisible: boolean) => void;
|
|
2
|
+
declare type SidenavContextType = (isSidenavVisible: boolean) => void;
|
|
3
3
|
export declare const SidenavContextProvider: import("react").Provider<SidenavContextType>;
|
|
4
4
|
export declare const useResponsiveSidenavVisibility: () => SidenavContextType;
|
|
5
5
|
export {};
|
package/layout/SidenavContext.js
CHANGED
|
@@ -4,12 +4,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.useResponsiveSidenavVisibility = exports.SidenavContextProvider = void 0;
|
|
7
|
+
|
|
7
8
|
var _react = require("react");
|
|
9
|
+
|
|
8
10
|
var SidenavContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
9
11
|
var SidenavContextProvider = SidenavContext.Provider;
|
|
10
12
|
exports.SidenavContextProvider = SidenavContextProvider;
|
|
13
|
+
|
|
11
14
|
var useResponsiveSidenavVisibility = function useResponsiveSidenavVisibility() {
|
|
12
15
|
var changeResponsiveSidenavVisibility = (0, _react.useContext)(SidenavContext);
|
|
13
16
|
return changeResponsiveSidenavVisibility;
|
|
14
17
|
};
|
|
18
|
+
|
|
15
19
|
exports.useResponsiveSidenavVisibility = useResponsiveSidenavVisibility;
|
package/layout/types.d.ts
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
|
|
3
|
-
export type AppLayoutMainPropsType = {
|
|
2
|
+
export declare type AppLayoutMainPropsType = {
|
|
4
3
|
/**
|
|
5
4
|
* Everything between the tags will be displayed as the content of the main part of the application.
|
|
6
5
|
*/
|
|
7
6
|
children: React.ReactNode;
|
|
8
7
|
};
|
|
9
|
-
export type AppLayoutSidenavPropsType = {
|
|
8
|
+
export declare type AppLayoutSidenavPropsType = {
|
|
10
9
|
/**
|
|
11
10
|
* The area inside the sidenav. This area can be used to render the content inside the sidenav.
|
|
12
11
|
*/
|
|
@@ -16,7 +15,7 @@ export type AppLayoutSidenavPropsType = {
|
|
|
16
15
|
*/
|
|
17
16
|
title?: React.ReactNode;
|
|
18
17
|
};
|
|
19
|
-
type AppLayoutPropsType = {
|
|
18
|
+
declare type AppLayoutPropsType = {
|
|
20
19
|
/**
|
|
21
20
|
* Text to be placed next to the hamburger button that toggles the
|
|
22
21
|
* visibility of the sidenav.
|
|
@@ -35,8 +34,8 @@ type AppLayoutPropsType = {
|
|
|
35
34
|
*/
|
|
36
35
|
footer?: React.ReactNode;
|
|
37
36
|
/**
|
|
38
|
-
*
|
|
37
|
+
* Use the DxcApplicationLayout.Main provided to render main content.
|
|
39
38
|
*/
|
|
40
|
-
children: React.ReactElement<
|
|
39
|
+
children: React.ReactElement<AppLayoutMainPropsType>;
|
|
41
40
|
};
|
|
42
41
|
export default AppLayoutPropsType;
|
package/link/Link.js
CHANGED
|
@@ -1,54 +1,70 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
5
7
|
Object.defineProperty(exports, "__esModule", {
|
|
6
8
|
value: true
|
|
7
9
|
});
|
|
8
10
|
exports["default"] = void 0;
|
|
11
|
+
|
|
9
12
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
13
|
+
|
|
10
14
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
|
+
|
|
11
16
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
17
|
+
|
|
12
18
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
19
|
+
|
|
13
20
|
var _react = _interopRequireWildcard(require("react"));
|
|
21
|
+
|
|
14
22
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
23
|
+
|
|
15
24
|
var _variables = require("../common/variables");
|
|
25
|
+
|
|
16
26
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
27
|
+
|
|
17
28
|
var _templateObject, _templateObject2, _templateObject3;
|
|
29
|
+
|
|
18
30
|
var _excluded = ["inheritColor", "disabled", "icon", "iconPosition", "href", "newWindow", "onClick", "margin", "tabIndex", "children"];
|
|
31
|
+
|
|
19
32
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
33
|
+
|
|
20
34
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
35
|
+
|
|
21
36
|
var LinkContent = /*#__PURE__*/_react["default"].memo(function (_ref) {
|
|
22
37
|
var iconPosition = _ref.iconPosition,
|
|
23
|
-
|
|
24
|
-
|
|
38
|
+
icon = _ref.icon,
|
|
39
|
+
children = _ref.children;
|
|
25
40
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, iconPosition === "after" && children, icon && /*#__PURE__*/_react["default"].createElement(LinkIconContainer, {
|
|
26
41
|
iconPosition: iconPosition
|
|
27
42
|
}, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(LinkIcon, {
|
|
28
43
|
src: icon
|
|
29
44
|
}) : icon), iconPosition === "before" && children);
|
|
30
45
|
});
|
|
46
|
+
|
|
31
47
|
var DxcLink = /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref) {
|
|
32
48
|
var _ref2$inheritColor = _ref2.inheritColor,
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
+
inheritColor = _ref2$inheritColor === void 0 ? false : _ref2$inheritColor,
|
|
50
|
+
_ref2$disabled = _ref2.disabled,
|
|
51
|
+
disabled = _ref2$disabled === void 0 ? false : _ref2$disabled,
|
|
52
|
+
icon = _ref2.icon,
|
|
53
|
+
_ref2$iconPosition = _ref2.iconPosition,
|
|
54
|
+
iconPosition = _ref2$iconPosition === void 0 ? "before" : _ref2$iconPosition,
|
|
55
|
+
_ref2$href = _ref2.href,
|
|
56
|
+
href = _ref2$href === void 0 ? "" : _ref2$href,
|
|
57
|
+
_ref2$newWindow = _ref2.newWindow,
|
|
58
|
+
newWindow = _ref2$newWindow === void 0 ? false : _ref2$newWindow,
|
|
59
|
+
onClick = _ref2.onClick,
|
|
60
|
+
margin = _ref2.margin,
|
|
61
|
+
_ref2$tabIndex = _ref2.tabIndex,
|
|
62
|
+
tabIndex = _ref2$tabIndex === void 0 ? 0 : _ref2$tabIndex,
|
|
63
|
+
children = _ref2.children,
|
|
64
|
+
otherProps = (0, _objectWithoutProperties2["default"])(_ref2, _excluded);
|
|
49
65
|
var colorsTheme = (0, _useTheme["default"])();
|
|
50
66
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
51
|
-
theme: colorsTheme
|
|
67
|
+
theme: colorsTheme.link
|
|
52
68
|
}, /*#__PURE__*/_react["default"].createElement(StyledLink, (0, _extends2["default"])({
|
|
53
69
|
as: href ? "a" : "button",
|
|
54
70
|
tabIndex: tabIndex,
|
|
@@ -65,7 +81,8 @@ var DxcLink = /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref) {
|
|
|
65
81
|
children: children
|
|
66
82
|
})));
|
|
67
83
|
});
|
|
68
|
-
|
|
84
|
+
|
|
85
|
+
var StyledLink = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: baseline;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n background: none;\n border: none;\n padding: 0;\n cursor: pointer;\n font-size: ", ";\n font-weight: ", ";\n font-style: ", ";\n font-family: ", ";\n text-decoration-color: transparent;\n width: fit-content;\n ", "\n ", "\n color: ", ";\n ", "\n &:visited {\n color: ", ";\n &:hover {\n ", "\n }\n }\n &:hover {\n ", "\n }\n &:focus {\n border-radius: 2px;\n outline: 2px solid ", ";\n ", "\n }\n &:active {\n ", "\n }\n"])), function (props) {
|
|
69
86
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
70
87
|
}, function (props) {
|
|
71
88
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
|
|
@@ -88,7 +105,7 @@ var StyledLink = _styledComponents["default"].div(_templateObject || (_templateO
|
|
|
88
105
|
}, function (props) {
|
|
89
106
|
return props.disabled && "cursor: default;";
|
|
90
107
|
}, function (props) {
|
|
91
|
-
return props.inheritColor ? "inherit" : !props.disabled ? props.theme.fontColor : props.theme.
|
|
108
|
+
return props.inheritColor ? "inherit" : !props.disabled ? props.theme.fontColor : props.theme.disabledFontColor;
|
|
92
109
|
}, function (props) {
|
|
93
110
|
return props.disabled ? "pointer-events: none;" : "";
|
|
94
111
|
}, function (props) {
|
|
@@ -104,7 +121,9 @@ var StyledLink = _styledComponents["default"].div(_templateObject || (_templateO
|
|
|
104
121
|
}, function (props) {
|
|
105
122
|
return "color: ".concat(props.theme.activeFontColor, " !important;\n border-bottom-color: ").concat(props.theme.activeUnderlineColor, " !important;");
|
|
106
123
|
});
|
|
124
|
+
|
|
107
125
|
var LinkIcon = _styledComponents["default"].img(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])([""])));
|
|
126
|
+
|
|
108
127
|
var LinkIconContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n ", ";\n overflow: hidden;\n align-self: center;\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
|
|
109
128
|
return props.theme.iconSize;
|
|
110
129
|
}, function (props) {
|
|
@@ -112,5 +131,6 @@ var LinkIconContainer = _styledComponents["default"].div(_templateObject3 || (_t
|
|
|
112
131
|
}, function (props) {
|
|
113
132
|
return "".concat(props.iconPosition === "before" ? "margin-right" : "margin-left", ": ").concat(props.theme.iconSpacing);
|
|
114
133
|
});
|
|
134
|
+
|
|
115
135
|
var _default = DxcLink;
|
|
116
136
|
exports["default"] = _default;
|
package/link/Link.test.js
CHANGED
|
@@ -1,65 +1,81 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
5
7
|
var _react2 = require("@testing-library/react");
|
|
6
|
-
|
|
8
|
+
|
|
9
|
+
var _Link = _interopRequireDefault(require("./Link.tsx"));
|
|
10
|
+
|
|
7
11
|
describe("Link component tests", function () {
|
|
8
12
|
test("Link renders with correct text", function () {
|
|
9
13
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Link["default"], null, "Link")),
|
|
10
|
-
|
|
14
|
+
getByText = _render.getByText;
|
|
15
|
+
|
|
11
16
|
expect(getByText("Link")).toBeTruthy();
|
|
12
17
|
});
|
|
13
18
|
test("Link renders with correct href", function () {
|
|
14
19
|
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
20
|
+
href: "/testPage"
|
|
21
|
+
}, "Link")),
|
|
22
|
+
getByRole = _render2.getByRole;
|
|
23
|
+
|
|
18
24
|
expect(getByRole("link").getAttribute("href")).toEqual("/testPage");
|
|
19
25
|
});
|
|
20
26
|
test("Link renders with correct disabled state", function () {
|
|
21
27
|
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
28
|
+
href: "/testPage",
|
|
29
|
+
disabled: true
|
|
30
|
+
}, "Link")),
|
|
31
|
+
getByText = _render3.getByText;
|
|
32
|
+
|
|
26
33
|
expect(getByText("Link").hasAttribute("href")).toBeFalsy();
|
|
34
|
+
|
|
27
35
|
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
getByTextLinkButton = _render4.getByText;
|
|
36
|
+
onClick: function onClick() {},
|
|
37
|
+
disabled: true
|
|
38
|
+
}, "LinkButton")),
|
|
39
|
+
getByTextLinkButton = _render4.getByText;
|
|
40
|
+
|
|
34
41
|
expect(getByTextLinkButton("LinkButton").hasAttribute("onclick")).toBeFalsy();
|
|
35
42
|
});
|
|
36
43
|
test("Link open new tab", function () {
|
|
37
44
|
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
45
|
+
href: "/testPage",
|
|
46
|
+
newWindow: true
|
|
47
|
+
}, "Link")),
|
|
48
|
+
getByRole = _render5.getByRole;
|
|
49
|
+
|
|
42
50
|
expect(getByRole("link").getAttribute("target")).toEqual("_blank");
|
|
43
51
|
});
|
|
44
52
|
test("Link onClick called", function () {
|
|
45
53
|
var onClick = jest.fn();
|
|
54
|
+
|
|
46
55
|
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
56
|
+
onClick: onClick
|
|
57
|
+
}, "Link")),
|
|
58
|
+
getByText = _render6.getByText;
|
|
59
|
+
|
|
50
60
|
var link = getByText("Link");
|
|
61
|
+
|
|
51
62
|
_react2.fireEvent.click(link);
|
|
63
|
+
|
|
52
64
|
expect(onClick).toHaveBeenCalled();
|
|
53
65
|
});
|
|
54
66
|
test("Disabled link onClick not called", function () {
|
|
55
67
|
var onClick = jest.fn();
|
|
68
|
+
|
|
56
69
|
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
70
|
+
onClick: onClick,
|
|
71
|
+
disabled: true
|
|
72
|
+
}, "Link")),
|
|
73
|
+
getByText = _render7.getByText;
|
|
74
|
+
|
|
61
75
|
var link = getByText("Link");
|
|
76
|
+
|
|
62
77
|
_react2.fireEvent.click(link);
|
|
78
|
+
|
|
63
79
|
expect(onClick).toHaveBeenCalledTimes(0);
|
|
64
80
|
});
|
|
65
81
|
});
|
package/link/types.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
+
declare type Margin = {
|
|
4
4
|
top?: Space;
|
|
5
5
|
bottom?: Space;
|
|
6
6
|
left?: Space;
|
|
7
7
|
right?: Space;
|
|
8
8
|
};
|
|
9
|
-
type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
|
|
10
|
-
export type LinkProps = {
|
|
9
|
+
declare type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
|
|
10
|
+
export declare type LinkProps = {
|
|
11
11
|
/**
|
|
12
12
|
* If true, the color is inherited from parent.
|
|
13
13
|
*/
|
package/main.d.ts
CHANGED
|
@@ -39,6 +39,7 @@ import DxcFlex from "./flex/Flex";
|
|
|
39
39
|
import DxcTypography from "./typography/Typography";
|
|
40
40
|
import DxcParagraph from "./paragraph/Paragraph";
|
|
41
41
|
import DxcBulletedList from "./bulleted-list/BulletedList";
|
|
42
|
+
import DxcGrid from "./grid/Grid";
|
|
42
43
|
import HalstackContext, { HalstackProvider, HalstackLanguageContext } from "./HalstackContext";
|
|
43
44
|
import { BackgroundColorProvider } from "./BackgroundColorContext";
|
|
44
|
-
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, };
|
|
45
|
+
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, };
|
package/main.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
5
7
|
Object.defineProperty(exports, "__esModule", {
|
|
6
8
|
value: true
|
|
7
9
|
});
|
|
@@ -113,6 +115,12 @@ Object.defineProperty(exports, "DxcFlex", {
|
|
|
113
115
|
return _Flex["default"];
|
|
114
116
|
}
|
|
115
117
|
});
|
|
118
|
+
Object.defineProperty(exports, "DxcGrid", {
|
|
119
|
+
enumerable: true,
|
|
120
|
+
get: function get() {
|
|
121
|
+
return _Grid["default"];
|
|
122
|
+
}
|
|
123
|
+
});
|
|
116
124
|
Object.defineProperty(exports, "DxcHeading", {
|
|
117
125
|
enumerable: true,
|
|
118
126
|
get: function get() {
|
|
@@ -275,48 +283,95 @@ Object.defineProperty(exports, "HalstackProvider", {
|
|
|
275
283
|
return _HalstackContext.HalstackProvider;
|
|
276
284
|
}
|
|
277
285
|
});
|
|
286
|
+
|
|
278
287
|
var _Alert = _interopRequireDefault(require("./alert/Alert"));
|
|
288
|
+
|
|
279
289
|
var _Accordion = _interopRequireDefault(require("./accordion/Accordion"));
|
|
290
|
+
|
|
280
291
|
var _Button = _interopRequireDefault(require("./button/Button"));
|
|
292
|
+
|
|
281
293
|
var _Card = _interopRequireDefault(require("./card/Card"));
|
|
294
|
+
|
|
282
295
|
var _Checkbox = _interopRequireDefault(require("./checkbox/Checkbox"));
|
|
296
|
+
|
|
283
297
|
var _Dialog = _interopRequireDefault(require("./dialog/Dialog"));
|
|
298
|
+
|
|
284
299
|
var _Dropdown = _interopRequireDefault(require("./dropdown/Dropdown"));
|
|
300
|
+
|
|
285
301
|
var _Slider = _interopRequireDefault(require("./slider/Slider"));
|
|
302
|
+
|
|
286
303
|
var _Switch = _interopRequireDefault(require("./switch/Switch"));
|
|
304
|
+
|
|
287
305
|
var _Tabs = _interopRequireDefault(require("./tabs/Tabs"));
|
|
306
|
+
|
|
288
307
|
var _ProgressBar = _interopRequireDefault(require("./progress-bar/ProgressBar"));
|
|
308
|
+
|
|
289
309
|
var _Spinner = _interopRequireDefault(require("./spinner/Spinner"));
|
|
310
|
+
|
|
290
311
|
var _Table = _interopRequireDefault(require("./table/Table"));
|
|
312
|
+
|
|
291
313
|
var _Box = _interopRequireDefault(require("./box/Box"));
|
|
314
|
+
|
|
292
315
|
var _Tag = _interopRequireDefault(require("./tag/Tag"));
|
|
316
|
+
|
|
293
317
|
var _Paginator = _interopRequireDefault(require("./paginator/Paginator"));
|
|
318
|
+
|
|
294
319
|
var _Wizard = _interopRequireDefault(require("./wizard/Wizard"));
|
|
320
|
+
|
|
295
321
|
var _Link = _interopRequireDefault(require("./link/Link"));
|
|
322
|
+
|
|
296
323
|
var _Heading = _interopRequireDefault(require("./heading/Heading"));
|
|
324
|
+
|
|
297
325
|
var _ResultsetTable = _interopRequireDefault(require("./resultsetTable/ResultsetTable"));
|
|
326
|
+
|
|
298
327
|
var _Chip = _interopRequireDefault(require("./chip/Chip"));
|
|
328
|
+
|
|
299
329
|
var _ApplicationLayout = _interopRequireDefault(require("./layout/ApplicationLayout"));
|
|
330
|
+
|
|
300
331
|
var _ToggleGroup = _interopRequireDefault(require("./toggle-group/ToggleGroup"));
|
|
332
|
+
|
|
301
333
|
var _AccordionGroup = _interopRequireDefault(require("./accordion-group/AccordionGroup"));
|
|
334
|
+
|
|
302
335
|
var _Badge = _interopRequireDefault(require("./badge/Badge"));
|
|
336
|
+
|
|
303
337
|
var _TextInput = _interopRequireDefault(require("./text-input/TextInput"));
|
|
338
|
+
|
|
304
339
|
var _PasswordInput = _interopRequireDefault(require("./password-input/PasswordInput"));
|
|
340
|
+
|
|
305
341
|
var _DateInput = _interopRequireDefault(require("./date-input/DateInput"));
|
|
342
|
+
|
|
306
343
|
var _NumberInput = _interopRequireDefault(require("./number-input/NumberInput"));
|
|
344
|
+
|
|
307
345
|
var _Textarea = _interopRequireDefault(require("./textarea/Textarea"));
|
|
346
|
+
|
|
308
347
|
var _Select = _interopRequireDefault(require("./select/Select"));
|
|
348
|
+
|
|
309
349
|
var _FileInput = _interopRequireDefault(require("./file-input/FileInput"));
|
|
350
|
+
|
|
310
351
|
var _RadioGroup = _interopRequireDefault(require("./radio-group/RadioGroup"));
|
|
352
|
+
|
|
311
353
|
var _Bleed = _interopRequireDefault(require("./bleed/Bleed"));
|
|
354
|
+
|
|
312
355
|
var _Inset = _interopRequireDefault(require("./inset/Inset"));
|
|
356
|
+
|
|
313
357
|
var _QuickNav = _interopRequireDefault(require("./quick-nav/QuickNav"));
|
|
358
|
+
|
|
314
359
|
var _NavTabs = _interopRequireDefault(require("./nav-tabs/NavTabs"));
|
|
360
|
+
|
|
315
361
|
var _Flex = _interopRequireDefault(require("./flex/Flex"));
|
|
362
|
+
|
|
316
363
|
var _Typography = _interopRequireDefault(require("./typography/Typography"));
|
|
364
|
+
|
|
317
365
|
var _Paragraph = _interopRequireDefault(require("./paragraph/Paragraph"));
|
|
366
|
+
|
|
318
367
|
var _BulletedList = _interopRequireDefault(require("./bulleted-list/BulletedList"));
|
|
368
|
+
|
|
369
|
+
var _Grid = _interopRequireDefault(require("./grid/Grid"));
|
|
370
|
+
|
|
319
371
|
var _HalstackContext = _interopRequireWildcard(require("./HalstackContext"));
|
|
372
|
+
|
|
320
373
|
var _BackgroundColorContext = require("./BackgroundColorContext");
|
|
374
|
+
|
|
321
375
|
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); }
|
|
376
|
+
|
|
322
377
|
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; }
|
package/nav-tabs/NavTabs.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { NavTabsContextProps
|
|
2
|
+
import NavTabsPropsType, { NavTabsContextProps } from "./types";
|
|
3
3
|
export declare const NavTabsContext: React.Context<NavTabsContextProps>;
|
|
4
4
|
declare const DxcNavTabs: {
|
|
5
|
-
({ iconPosition, tabIndex, children }:
|
|
5
|
+
({ iconPosition, tabIndex, children }: NavTabsPropsType): JSX.Element;
|
|
6
6
|
Tab: React.ForwardRefExoticComponent<import("./types").TabProps & React.RefAttributes<HTMLAnchorElement>>;
|
|
7
7
|
};
|
|
8
8
|
export default DxcNavTabs;
|
package/nav-tabs/NavTabs.js
CHANGED
|
@@ -1,25 +1,39 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
5
7
|
Object.defineProperty(exports, "__esModule", {
|
|
6
8
|
value: true
|
|
7
9
|
});
|
|
8
10
|
exports["default"] = exports.NavTabsContext = void 0;
|
|
11
|
+
|
|
9
12
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
+
|
|
10
14
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
+
|
|
11
16
|
var _react = _interopRequireWildcard(require("react"));
|
|
17
|
+
|
|
12
18
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
19
|
+
|
|
13
20
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
21
|
+
|
|
14
22
|
var _Tab = _interopRequireDefault(require("./Tab"));
|
|
23
|
+
|
|
15
24
|
var _templateObject;
|
|
25
|
+
|
|
16
26
|
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); }
|
|
27
|
+
|
|
17
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
|
+
|
|
18
30
|
var NavTabsContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
19
31
|
exports.NavTabsContext = NavTabsContext;
|
|
32
|
+
|
|
20
33
|
var getPropInChild = function getPropInChild(child, propName) {
|
|
21
34
|
return child.props ? child.props[propName] ? child.props[propName] : child.props.children ? getPropInChild(child.props.children, propName) : undefined : undefined;
|
|
22
35
|
};
|
|
36
|
+
|
|
23
37
|
var getLabelFromTab = function getLabelFromTab(child) {
|
|
24
38
|
if (typeof child === "string") {
|
|
25
39
|
return child.toString();
|
|
@@ -27,60 +41,70 @@ var getLabelFromTab = function getLabelFromTab(child) {
|
|
|
27
41
|
return Array.isArray(child.props.children) ? getLabelFromTab(child.props.children[0]) : getLabelFromTab(child.props.children);
|
|
28
42
|
}
|
|
29
43
|
};
|
|
44
|
+
|
|
30
45
|
var getPreviousTabIndex = function getPreviousTabIndex(array, initialIndex) {
|
|
31
46
|
var index = initialIndex === 0 ? array.length - 1 : initialIndex - 1;
|
|
47
|
+
|
|
32
48
|
while (getPropInChild(array[index], "disabled")) {
|
|
33
49
|
index = index === 0 ? array.length - 1 : index - 1;
|
|
34
50
|
}
|
|
51
|
+
|
|
35
52
|
return index;
|
|
36
53
|
};
|
|
54
|
+
|
|
37
55
|
var getNextTabIndex = function getNextTabIndex(array, initialIndex) {
|
|
38
56
|
var index = initialIndex === array.length - 1 ? 0 : initialIndex + 1;
|
|
57
|
+
|
|
39
58
|
while (getPropInChild(array[index], "disabled")) {
|
|
40
59
|
index = index === array.length - 1 ? 0 : index + 1;
|
|
41
60
|
}
|
|
61
|
+
|
|
42
62
|
return index;
|
|
43
63
|
};
|
|
64
|
+
|
|
44
65
|
var DxcNavTabs = function DxcNavTabs(_ref) {
|
|
45
66
|
var _ref$iconPosition = _ref.iconPosition,
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
67
|
+
iconPosition = _ref$iconPosition === void 0 ? "top" : _ref$iconPosition,
|
|
68
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
69
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,
|
|
70
|
+
children = _ref.children;
|
|
71
|
+
|
|
51
72
|
var _useState = (0, _react.useState)(null),
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
73
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
74
|
+
innerFocusIndex = _useState2[0],
|
|
75
|
+
setInnerFocusIndex = _useState2[1];
|
|
76
|
+
|
|
77
|
+
var colorsTheme = (0, _useTheme["default"])();
|
|
55
78
|
var contextValue = (0, _react.useMemo)(function () {
|
|
56
79
|
return {
|
|
57
80
|
iconPosition: iconPosition,
|
|
58
81
|
tabIndex: tabIndex,
|
|
59
|
-
|
|
60
|
-
return getPropInChild(child, "icon");
|
|
61
|
-
}),
|
|
62
|
-
focusedLabel: innerFocus === null ? undefined : getLabelFromTab(children[innerFocus])
|
|
82
|
+
focusedLabel: innerFocusIndex === null ? undefined : getLabelFromTab(children[innerFocusIndex])
|
|
63
83
|
};
|
|
64
|
-
}, [iconPosition, tabIndex,
|
|
84
|
+
}, [iconPosition, tabIndex, innerFocusIndex]);
|
|
85
|
+
|
|
65
86
|
var handleOnKeyDown = function handleOnKeyDown(event) {
|
|
66
87
|
var activeTab = _react["default"].Children.toArray(children).findIndex(function (child) {
|
|
67
88
|
return getPropInChild(child, "active");
|
|
68
89
|
});
|
|
90
|
+
|
|
69
91
|
switch (event.key) {
|
|
70
92
|
case "Left":
|
|
71
93
|
case "ArrowLeft":
|
|
72
94
|
event.preventDefault();
|
|
73
|
-
|
|
95
|
+
setInnerFocusIndex(getPreviousTabIndex(children, innerFocusIndex === null ? activeTab : innerFocusIndex));
|
|
74
96
|
break;
|
|
97
|
+
|
|
75
98
|
case "Right":
|
|
76
99
|
case "ArrowRight":
|
|
77
100
|
event.preventDefault();
|
|
78
|
-
|
|
101
|
+
setInnerFocusIndex(getNextTabIndex(children, innerFocusIndex === null ? activeTab : innerFocusIndex));
|
|
79
102
|
break;
|
|
80
103
|
}
|
|
81
104
|
};
|
|
105
|
+
|
|
82
106
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
83
|
-
theme: colorsTheme
|
|
107
|
+
theme: colorsTheme.navTabs
|
|
84
108
|
}, /*#__PURE__*/_react["default"].createElement(NavTabsContainer, {
|
|
85
109
|
onKeyDown: handleOnKeyDown,
|
|
86
110
|
role: "tablist",
|
|
@@ -89,7 +113,10 @@ var DxcNavTabs = function DxcNavTabs(_ref) {
|
|
|
89
113
|
value: contextValue
|
|
90
114
|
}, children)));
|
|
91
115
|
};
|
|
116
|
+
|
|
92
117
|
DxcNavTabs.Tab = _Tab["default"];
|
|
118
|
+
|
|
93
119
|
var NavTabsContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n"])));
|
|
120
|
+
|
|
94
121
|
var _default = DxcNavTabs;
|
|
95
122
|
exports["default"] = _default;
|