@dxc-technology/halstack-react 0.0.0-b4fde6b → 0.0.0-b5ec444
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 +51 -138
- package/HalstackContext.js +10 -35
- package/README.md +47 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +24 -76
- package/accordion/Accordion.stories.tsx +1 -113
- package/accordion/Accordion.test.js +18 -33
- package/accordion/types.d.ts +5 -17
- package/accordion-group/AccordionGroup.js +15 -42
- package/accordion-group/AccordionGroup.stories.tsx +78 -77
- package/accordion-group/AccordionGroup.test.js +43 -71
- package/accordion-group/AccordionGroupAccordion.js +9 -21
- package/accordion-group/types.d.ts +6 -18
- package/action-icon/ActionIcon.d.ts +4 -0
- package/action-icon/ActionIcon.js +47 -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.js +15 -50
- package/alert/Alert.test.js +28 -45
- package/alert/types.d.ts +5 -5
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +141 -43
- 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.js +11 -33
- package/box/Box.test.js +1 -6
- package/box/types.d.ts +3 -3
- package/bulleted-list/BulletedList.js +18 -54
- package/bulleted-list/BulletedList.stories.tsx +1 -92
- package/bulleted-list/types.d.ts +5 -5
- package/button/Button.d.ts +1 -1
- package/button/Button.js +66 -99
- package/button/Button.stories.tsx +6 -87
- package/button/Button.test.js +19 -16
- package/button/types.d.ts +8 -4
- package/card/Card.d.ts +1 -1
- package/card/Card.js +39 -79
- package/card/Card.stories.tsx +0 -29
- package/card/Card.test.js +10 -21
- package/card/types.d.ts +6 -12
- package/checkbox/Checkbox.js +85 -120
- package/checkbox/Checkbox.stories.tsx +16 -54
- package/checkbox/Checkbox.test.js +107 -63
- package/checkbox/types.d.ts +8 -4
- package/chip/Chip.js +12 -31
- package/chip/Chip.stories.tsx +1 -1
- package/chip/Chip.test.js +15 -28
- package/chip/types.d.ts +4 -4
- package/common/coreTokens.d.ts +105 -14
- package/common/coreTokens.js +41 -24
- package/common/utils.js +2 -8
- package/common/variables.d.ts +51 -138
- package/common/variables.js +61 -155
- 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/date-input/Calendar.js +15 -59
- package/date-input/DateInput.js +50 -96
- package/date-input/DateInput.stories.tsx +11 -30
- package/date-input/DateInput.test.js +674 -701
- package/date-input/DatePicker.js +11 -42
- package/date-input/Icons.d.ts +6 -6
- package/date-input/Icons.js +6 -23
- package/date-input/YearPicker.js +8 -34
- package/date-input/types.d.ts +27 -21
- package/dialog/Dialog.js +13 -40
- package/dialog/Dialog.stories.tsx +170 -0
- package/dialog/Dialog.test.js +125 -187
- package/dialog/types.d.ts +18 -13
- package/dropdown/Dropdown.js +48 -100
- package/dropdown/Dropdown.test.js +391 -378
- package/dropdown/DropdownMenu.js +8 -19
- package/dropdown/DropdownMenuItem.js +5 -17
- package/dropdown/types.d.ts +17 -19
- package/file-input/FileInput.js +180 -248
- package/file-input/FileInput.stories.tsx +1 -1
- package/file-input/FileInput.test.js +356 -354
- package/file-input/FileItem.js +14 -41
- package/file-input/types.d.ts +10 -10
- package/flex/Flex.js +25 -39
- package/flex/types.d.ts +6 -6
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +70 -102
- package/footer/Footer.stories.tsx +37 -6
- package/footer/Footer.test.js +21 -33
- package/footer/Icons.d.ts +3 -2
- package/footer/Icons.js +66 -7
- package/footer/types.d.ts +25 -21
- package/grid/Grid.d.ts +1 -1
- package/grid/Grid.js +2 -17
- package/grid/Grid.stories.tsx +38 -38
- package/grid/types.d.ts +10 -10
- package/header/Header.d.ts +2 -2
- package/header/Header.js +31 -114
- package/header/Header.stories.tsx +7 -71
- package/header/Header.test.js +12 -25
- package/header/Icons.d.ts +2 -2
- package/header/Icons.js +2 -7
- package/header/types.d.ts +5 -20
- package/heading/Heading.js +9 -31
- package/heading/Heading.test.js +70 -87
- package/heading/types.d.ts +7 -7
- package/image/Image.d.ts +4 -0
- package/image/Image.js +70 -0
- package/image/Image.stories.tsx +127 -0
- package/image/types.d.ts +72 -0
- package/image/types.js +5 -0
- package/inset/Inset.js +13 -21
- package/inset/types.d.ts +2 -2
- package/layout/ApplicationLayout.d.ts +3 -3
- package/layout/ApplicationLayout.js +28 -65
- package/layout/ApplicationLayout.stories.tsx +1 -1
- package/layout/Icons.d.ts +8 -5
- package/layout/Icons.js +51 -59
- package/layout/SidenavContext.d.ts +1 -1
- package/layout/SidenavContext.js +3 -9
- package/layout/types.d.ts +3 -3
- package/link/Link.js +21 -42
- package/link/Link.test.js +23 -41
- package/link/types.d.ts +14 -14
- package/main.d.ts +6 -4
- package/main.js +25 -59
- package/nav-tabs/NavTabs.js +17 -46
- package/nav-tabs/NavTabs.stories.tsx +7 -5
- package/nav-tabs/NavTabs.test.js +38 -44
- package/nav-tabs/Tab.js +22 -50
- package/nav-tabs/types.d.ts +9 -9
- package/number-input/NumberInput.d.ts +7 -0
- package/number-input/NumberInput.js +47 -37
- package/number-input/NumberInput.stories.tsx +42 -26
- package/number-input/NumberInput.test.js +859 -412
- package/number-input/types.d.ts +11 -5
- package/package.json +30 -28
- package/paginator/Icons.d.ts +5 -5
- package/paginator/Icons.js +5 -19
- package/paginator/Paginator.js +15 -43
- package/paginator/Paginator.test.js +224 -207
- package/paginator/types.d.ts +3 -3
- package/paragraph/Paragraph.js +3 -19
- package/paragraph/Paragraph.stories.tsx +0 -17
- package/password-input/Icons.d.ts +6 -0
- package/password-input/Icons.js +35 -0
- package/password-input/PasswordInput.js +57 -126
- package/password-input/PasswordInput.stories.tsx +1 -33
- package/password-input/PasswordInput.test.js +157 -140
- package/password-input/types.d.ts +8 -7
- 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.js +4 -27
- package/quick-nav/QuickNav.stories.tsx +1 -1
- package/quick-nav/types.d.ts +10 -10
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +22 -54
- package/radio-group/RadioGroup.js +37 -83
- package/radio-group/RadioGroup.stories.tsx +10 -10
- package/radio-group/RadioGroup.test.js +504 -470
- package/radio-group/types.d.ts +8 -8
- package/resultset-table/Icons.d.ts +7 -0
- package/{resultsetTable → resultset-table}/Icons.js +1 -5
- package/resultset-table/ResultsetTable.d.ts +7 -0
- package/{resultsetTable → resultset-table}/ResultsetTable.js +36 -64
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +102 -5
- package/{resultsetTable → resultset-table}/ResultsetTable.test.js +138 -92
- package/{resultsetTable → resultset-table}/types.d.ts +13 -7
- package/resultset-table/types.js +5 -0
- package/select/Icons.d.ts +7 -7
- package/select/Icons.js +1 -5
- package/select/Listbox.js +13 -39
- package/select/Option.js +17 -27
- package/select/Select.js +87 -163
- package/select/Select.stories.tsx +3 -3
- package/select/Select.test.js +1946 -1804
- package/select/types.d.ts +14 -15
- package/sidenav/Icons.d.ts +4 -4
- package/sidenav/Icons.js +1 -5
- package/sidenav/Sidenav.js +26 -68
- package/sidenav/Sidenav.test.js +3 -10
- package/sidenav/types.d.ts +18 -18
- package/slider/Slider.js +68 -125
- package/slider/Slider.test.js +107 -103
- package/slider/types.d.ts +4 -4
- package/spinner/Spinner.js +16 -54
- package/spinner/Spinner.test.js +25 -34
- package/spinner/types.d.ts +3 -3
- 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.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/ActionsCell.d.ts +4 -0
- package/table/ActionsCell.js +68 -0
- package/table/DropdownTheme.js +62 -0
- package/table/Table.d.ts +4 -1
- package/table/Table.js +24 -30
- package/table/{Table.stories.jsx → Table.stories.tsx} +304 -2
- package/table/Table.test.js +93 -6
- package/table/types.d.ts +45 -6
- package/tabs/Tab.js +17 -33
- package/tabs/Tabs.js +52 -129
- package/tabs/Tabs.stories.tsx +1 -1
- package/tabs/Tabs.test.js +62 -118
- package/tabs/types.d.ts +19 -19
- package/tag/Tag.js +21 -51
- package/tag/Tag.test.js +19 -30
- package/tag/types.d.ts +7 -7
- package/text-input/Icons.d.ts +5 -5
- package/text-input/Icons.js +1 -5
- package/text-input/Suggestion.js +9 -26
- package/text-input/Suggestions.d.ts +1 -1
- package/text-input/Suggestions.js +15 -65
- package/text-input/TextInput.js +218 -326
- package/text-input/TextInput.stories.tsx +48 -152
- package/text-input/TextInput.test.js +1227 -1194
- package/text-input/types.d.ts +25 -17
- package/textarea/Textarea.js +67 -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.js +90 -107
- package/toggle-group/ToggleGroup.stories.tsx +7 -4
- package/toggle-group/ToggleGroup.test.js +68 -87
- package/toggle-group/types.d.ts +26 -17
- package/typography/Typography.js +4 -13
- package/typography/types.d.ts +1 -1
- package/useTheme.d.ts +48 -135
- 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.js +14 -49
- package/wizard/Wizard.test.js +53 -80
- package/wizard/types.d.ts +6 -6
- package/card/ice-cream.jpg +0 -0
- package/number-input/NumberInputContext.d.ts +0 -4
- package/number-input/NumberInputContext.js +0 -19
- package/number-input/numberInputContextTypes.d.ts +0 -19
- package/resultsetTable/Icons.d.ts +0 -7
- package/resultsetTable/ResultsetTable.d.ts +0 -4
- package/slider/Slider.stories.tsx +0 -240
- /package/{resultsetTable → action-icon}/types.js +0 -0
- /package/{number-input/numberInputContextTypes.js → container/types.js} +0 -0
- /package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +0 -0
package/link/Link.js
CHANGED
|
@@ -1,67 +1,51 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports["default"] = void 0;
|
|
11
|
-
|
|
12
9
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
13
|
-
|
|
14
10
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
|
-
|
|
16
11
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
17
|
-
|
|
18
12
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
19
|
-
|
|
20
13
|
var _react = _interopRequireWildcard(require("react"));
|
|
21
|
-
|
|
22
14
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
23
|
-
|
|
24
15
|
var _variables = require("../common/variables");
|
|
25
|
-
|
|
26
16
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
27
|
-
|
|
28
17
|
var _templateObject, _templateObject2, _templateObject3;
|
|
29
|
-
|
|
30
18
|
var _excluded = ["inheritColor", "disabled", "icon", "iconPosition", "href", "newWindow", "onClick", "margin", "tabIndex", "children"];
|
|
31
|
-
|
|
32
|
-
function
|
|
33
|
-
|
|
34
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
35
|
-
|
|
19
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
20
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
36
21
|
var LinkContent = /*#__PURE__*/_react["default"].memo(function (_ref) {
|
|
37
22
|
var iconPosition = _ref.iconPosition,
|
|
38
|
-
|
|
39
|
-
|
|
23
|
+
icon = _ref.icon,
|
|
24
|
+
children = _ref.children;
|
|
40
25
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, iconPosition === "after" && children, icon && /*#__PURE__*/_react["default"].createElement(LinkIconContainer, {
|
|
41
26
|
iconPosition: iconPosition
|
|
42
27
|
}, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(LinkIcon, {
|
|
43
28
|
src: icon
|
|
44
29
|
}) : icon), iconPosition === "before" && children);
|
|
45
30
|
});
|
|
46
|
-
|
|
47
31
|
var DxcLink = /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref) {
|
|
48
32
|
var _ref2$inheritColor = _ref2.inheritColor,
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
33
|
+
inheritColor = _ref2$inheritColor === void 0 ? false : _ref2$inheritColor,
|
|
34
|
+
_ref2$disabled = _ref2.disabled,
|
|
35
|
+
disabled = _ref2$disabled === void 0 ? false : _ref2$disabled,
|
|
36
|
+
icon = _ref2.icon,
|
|
37
|
+
_ref2$iconPosition = _ref2.iconPosition,
|
|
38
|
+
iconPosition = _ref2$iconPosition === void 0 ? "before" : _ref2$iconPosition,
|
|
39
|
+
_ref2$href = _ref2.href,
|
|
40
|
+
href = _ref2$href === void 0 ? "" : _ref2$href,
|
|
41
|
+
_ref2$newWindow = _ref2.newWindow,
|
|
42
|
+
newWindow = _ref2$newWindow === void 0 ? false : _ref2$newWindow,
|
|
43
|
+
onClick = _ref2.onClick,
|
|
44
|
+
margin = _ref2.margin,
|
|
45
|
+
_ref2$tabIndex = _ref2.tabIndex,
|
|
46
|
+
tabIndex = _ref2$tabIndex === void 0 ? 0 : _ref2$tabIndex,
|
|
47
|
+
children = _ref2.children,
|
|
48
|
+
otherProps = (0, _objectWithoutProperties2["default"])(_ref2, _excluded);
|
|
65
49
|
var colorsTheme = (0, _useTheme["default"])();
|
|
66
50
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
67
51
|
theme: colorsTheme.link
|
|
@@ -81,7 +65,6 @@ var DxcLink = /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref) {
|
|
|
81
65
|
children: children
|
|
82
66
|
})));
|
|
83
67
|
});
|
|
84
|
-
|
|
85
68
|
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) {
|
|
86
69
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
87
70
|
}, function (props) {
|
|
@@ -121,9 +104,7 @@ var StyledLink = _styledComponents["default"].div(_templateObject || (_templateO
|
|
|
121
104
|
}, function (props) {
|
|
122
105
|
return "color: ".concat(props.theme.activeFontColor, " !important;\n border-bottom-color: ").concat(props.theme.activeUnderlineColor, " !important;");
|
|
123
106
|
});
|
|
124
|
-
|
|
125
107
|
var LinkIcon = _styledComponents["default"].img(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])([""])));
|
|
126
|
-
|
|
127
108
|
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) {
|
|
128
109
|
return props.theme.iconSize;
|
|
129
110
|
}, function (props) {
|
|
@@ -131,6 +112,4 @@ var LinkIconContainer = _styledComponents["default"].div(_templateObject3 || (_t
|
|
|
131
112
|
}, function (props) {
|
|
132
113
|
return "".concat(props.iconPosition === "before" ? "margin-right" : "margin-left", ": ").concat(props.theme.iconSpacing);
|
|
133
114
|
});
|
|
134
|
-
|
|
135
|
-
var _default = DxcLink;
|
|
136
|
-
exports["default"] = _default;
|
|
115
|
+
var _default = exports["default"] = DxcLink;
|
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
|
+
* Element or path used 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";
|
|
@@ -40,6 +39,9 @@ import DxcTypography from "./typography/Typography";
|
|
|
40
39
|
import DxcParagraph from "./paragraph/Paragraph";
|
|
41
40
|
import DxcBulletedList from "./bulleted-list/BulletedList";
|
|
42
41
|
import DxcGrid from "./grid/Grid";
|
|
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";
|
|
43
46
|
import HalstackContext, { HalstackProvider, HalstackLanguageContext } from "./HalstackContext";
|
|
44
|
-
|
|
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, };
|
|
47
|
+
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, };
|
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,12 @@ 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
|
+
});
|
|
88
86
|
Object.defineProperty(exports, "DxcDateInput", {
|
|
89
87
|
enumerable: true,
|
|
90
88
|
get: function get() {
|
|
@@ -127,6 +125,12 @@ Object.defineProperty(exports, "DxcHeading", {
|
|
|
127
125
|
return _Heading["default"];
|
|
128
126
|
}
|
|
129
127
|
});
|
|
128
|
+
Object.defineProperty(exports, "DxcImage", {
|
|
129
|
+
enumerable: true,
|
|
130
|
+
get: function get() {
|
|
131
|
+
return _Image["default"];
|
|
132
|
+
}
|
|
133
|
+
});
|
|
130
134
|
Object.defineProperty(exports, "DxcInset", {
|
|
131
135
|
enumerable: true,
|
|
132
136
|
get: function get() {
|
|
@@ -211,6 +215,12 @@ Object.defineProperty(exports, "DxcSpinner", {
|
|
|
211
215
|
return _Spinner["default"];
|
|
212
216
|
}
|
|
213
217
|
});
|
|
218
|
+
Object.defineProperty(exports, "DxcStatusLight", {
|
|
219
|
+
enumerable: true,
|
|
220
|
+
get: function get() {
|
|
221
|
+
return _StatusLight["default"];
|
|
222
|
+
}
|
|
223
|
+
});
|
|
214
224
|
Object.defineProperty(exports, "DxcSwitch", {
|
|
215
225
|
enumerable: true,
|
|
216
226
|
get: function get() {
|
|
@@ -283,95 +293,51 @@ Object.defineProperty(exports, "HalstackProvider", {
|
|
|
283
293
|
return _HalstackContext.HalstackProvider;
|
|
284
294
|
}
|
|
285
295
|
});
|
|
286
|
-
|
|
287
296
|
var _Alert = _interopRequireDefault(require("./alert/Alert"));
|
|
288
|
-
|
|
289
297
|
var _Accordion = _interopRequireDefault(require("./accordion/Accordion"));
|
|
290
|
-
|
|
291
298
|
var _Button = _interopRequireDefault(require("./button/Button"));
|
|
292
|
-
|
|
293
299
|
var _Card = _interopRequireDefault(require("./card/Card"));
|
|
294
|
-
|
|
295
300
|
var _Checkbox = _interopRequireDefault(require("./checkbox/Checkbox"));
|
|
296
|
-
|
|
297
301
|
var _Dialog = _interopRequireDefault(require("./dialog/Dialog"));
|
|
298
|
-
|
|
299
302
|
var _Dropdown = _interopRequireDefault(require("./dropdown/Dropdown"));
|
|
300
|
-
|
|
301
303
|
var _Slider = _interopRequireDefault(require("./slider/Slider"));
|
|
302
|
-
|
|
303
304
|
var _Switch = _interopRequireDefault(require("./switch/Switch"));
|
|
304
|
-
|
|
305
305
|
var _Tabs = _interopRequireDefault(require("./tabs/Tabs"));
|
|
306
|
-
|
|
307
306
|
var _ProgressBar = _interopRequireDefault(require("./progress-bar/ProgressBar"));
|
|
308
|
-
|
|
309
307
|
var _Spinner = _interopRequireDefault(require("./spinner/Spinner"));
|
|
310
|
-
|
|
311
308
|
var _Table = _interopRequireDefault(require("./table/Table"));
|
|
312
|
-
|
|
313
309
|
var _Box = _interopRequireDefault(require("./box/Box"));
|
|
314
|
-
|
|
315
310
|
var _Tag = _interopRequireDefault(require("./tag/Tag"));
|
|
316
|
-
|
|
317
311
|
var _Paginator = _interopRequireDefault(require("./paginator/Paginator"));
|
|
318
|
-
|
|
319
312
|
var _Wizard = _interopRequireDefault(require("./wizard/Wizard"));
|
|
320
|
-
|
|
321
313
|
var _Link = _interopRequireDefault(require("./link/Link"));
|
|
322
|
-
|
|
323
314
|
var _Heading = _interopRequireDefault(require("./heading/Heading"));
|
|
324
|
-
|
|
325
|
-
var _ResultsetTable = _interopRequireDefault(require("./resultsetTable/ResultsetTable"));
|
|
326
|
-
|
|
315
|
+
var _ResultsetTable = _interopRequireDefault(require("./resultset-table/ResultsetTable"));
|
|
327
316
|
var _Chip = _interopRequireDefault(require("./chip/Chip"));
|
|
328
|
-
|
|
329
317
|
var _ApplicationLayout = _interopRequireDefault(require("./layout/ApplicationLayout"));
|
|
330
|
-
|
|
331
318
|
var _ToggleGroup = _interopRequireDefault(require("./toggle-group/ToggleGroup"));
|
|
332
|
-
|
|
333
319
|
var _AccordionGroup = _interopRequireDefault(require("./accordion-group/AccordionGroup"));
|
|
334
|
-
|
|
335
|
-
var _Badge = _interopRequireDefault(require("./badge/Badge"));
|
|
336
|
-
|
|
337
320
|
var _TextInput = _interopRequireDefault(require("./text-input/TextInput"));
|
|
338
|
-
|
|
339
321
|
var _PasswordInput = _interopRequireDefault(require("./password-input/PasswordInput"));
|
|
340
|
-
|
|
341
322
|
var _DateInput = _interopRequireDefault(require("./date-input/DateInput"));
|
|
342
|
-
|
|
343
323
|
var _NumberInput = _interopRequireDefault(require("./number-input/NumberInput"));
|
|
344
|
-
|
|
345
324
|
var _Textarea = _interopRequireDefault(require("./textarea/Textarea"));
|
|
346
|
-
|
|
347
325
|
var _Select = _interopRequireDefault(require("./select/Select"));
|
|
348
|
-
|
|
349
326
|
var _FileInput = _interopRequireDefault(require("./file-input/FileInput"));
|
|
350
|
-
|
|
351
327
|
var _RadioGroup = _interopRequireDefault(require("./radio-group/RadioGroup"));
|
|
352
|
-
|
|
353
328
|
var _Bleed = _interopRequireDefault(require("./bleed/Bleed"));
|
|
354
|
-
|
|
355
329
|
var _Inset = _interopRequireDefault(require("./inset/Inset"));
|
|
356
|
-
|
|
357
330
|
var _QuickNav = _interopRequireDefault(require("./quick-nav/QuickNav"));
|
|
358
|
-
|
|
359
331
|
var _NavTabs = _interopRequireDefault(require("./nav-tabs/NavTabs"));
|
|
360
|
-
|
|
361
332
|
var _Flex = _interopRequireDefault(require("./flex/Flex"));
|
|
362
|
-
|
|
363
333
|
var _Typography = _interopRequireDefault(require("./typography/Typography"));
|
|
364
|
-
|
|
365
334
|
var _Paragraph = _interopRequireDefault(require("./paragraph/Paragraph"));
|
|
366
|
-
|
|
367
335
|
var _BulletedList = _interopRequireDefault(require("./bulleted-list/BulletedList"));
|
|
368
|
-
|
|
369
336
|
var _Grid = _interopRequireDefault(require("./grid/Grid"));
|
|
370
|
-
|
|
337
|
+
var _Image = _interopRequireDefault(require("./image/Image"));
|
|
338
|
+
var _Container = _interopRequireDefault(require("./container/Container"));
|
|
339
|
+
var _Badge = _interopRequireDefault(require("./badge/Badge"));
|
|
340
|
+
var _StatusLight = _interopRequireDefault(require("./status-light/StatusLight"));
|
|
371
341
|
var _HalstackContext = _interopRequireWildcard(require("./HalstackContext"));
|
|
372
|
-
|
|
373
|
-
var
|
|
374
|
-
|
|
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
|
-
|
|
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; }
|
|
342
|
+
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); }
|
|
343
|
+
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; }
|
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
8
|
exports["default"] = exports.NavTabsContext = void 0;
|
|
11
|
-
|
|
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
|
|
25
|
-
|
|
26
|
-
|
|
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 _templateObject, _templateObject2;
|
|
16
|
+
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); }
|
|
17
|
+
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; }
|
|
18
|
+
var NavTabsContext = exports.NavTabsContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
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,7 +75,6 @@ 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, {
|
|
@@ -111,12 +83,11 @@ var DxcNavTabs = function DxcNavTabs(_ref) {
|
|
|
111
83
|
"aria-label": "Navigation tabs"
|
|
112
84
|
}, /*#__PURE__*/_react["default"].createElement(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
|
|
|
@@ -91,7 +91,9 @@ export const Chromatic = () => (
|
|
|
91
91
|
<DxcNavTabs.Tab href="#" notificationNumber={120}>
|
|
92
92
|
Tab 3
|
|
93
93
|
</DxcNavTabs.Tab>
|
|
94
|
-
<DxcNavTabs.Tab href="#"
|
|
94
|
+
<DxcNavTabs.Tab href="#" notificationNumber={12}>
|
|
95
|
+
Tab 4
|
|
96
|
+
</DxcNavTabs.Tab>
|
|
95
97
|
</DxcNavTabs>
|
|
96
98
|
</ExampleContainer>
|
|
97
99
|
<ExampleContainer>
|
|
@@ -140,7 +142,7 @@ export const Chromatic = () => (
|
|
|
140
142
|
<DxcNavTabs.Tab href="#" icon={iconSVG} notificationNumber={120}>
|
|
141
143
|
Tab 3
|
|
142
144
|
</DxcNavTabs.Tab>
|
|
143
|
-
<DxcNavTabs.Tab href="#" icon={largeIcon}>
|
|
145
|
+
<DxcNavTabs.Tab href="#" icon={largeIcon} notificationNumber={12}>
|
|
144
146
|
Tab 4
|
|
145
147
|
</DxcNavTabs.Tab>
|
|
146
148
|
</DxcNavTabs>
|
|
@@ -157,7 +159,7 @@ export const Chromatic = () => (
|
|
|
157
159
|
<DxcNavTabs.Tab href="#" icon={largeIcon} notificationNumber={120}>
|
|
158
160
|
Tab 3
|
|
159
161
|
</DxcNavTabs.Tab>
|
|
160
|
-
<DxcNavTabs.Tab href="#" icon={iconSVG}>
|
|
162
|
+
<DxcNavTabs.Tab href="#" icon={iconSVG} notificationNumber={12}>
|
|
161
163
|
Tab 4
|
|
162
164
|
</DxcNavTabs.Tab>
|
|
163
165
|
</DxcNavTabs>
|
|
@@ -264,7 +266,7 @@ export const Chromatic = () => (
|
|
|
264
266
|
<DxcNavTabs.Tab href="#" icon={iconSVG} notificationNumber={120}>
|
|
265
267
|
Tab 3
|
|
266
268
|
</DxcNavTabs.Tab>
|
|
267
|
-
<DxcNavTabs.Tab href="#" icon={iconSVG}>
|
|
269
|
+
<DxcNavTabs.Tab href="#" icon={iconSVG} notificationNumber={12}>
|
|
268
270
|
Tab 4
|
|
269
271
|
</DxcNavTabs.Tab>
|
|
270
272
|
</DxcNavTabs>
|