@dxc-technology/halstack-react 0.0.0-efa7c74 → 0.0.0-f00a97a
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 +10 -0
- package/BackgroundColorContext.js +1 -4
- package/HalstackContext.d.ts +12 -0
- package/HalstackContext.js +295 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +15 -47
- package/accordion/Accordion.stories.tsx +307 -0
- package/accordion/Accordion.test.js +72 -0
- package/accordion/types.d.ts +8 -8
- package/accordion-group/AccordionGroup.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +16 -17
- package/accordion-group/AccordionGroup.stories.tsx +225 -0
- package/accordion-group/AccordionGroup.test.js +151 -0
- package/accordion-group/types.d.ts +8 -8
- package/alert/Alert.js +6 -3
- package/alert/Alert.test.js +92 -0
- package/badge/Badge.d.ts +4 -0
- package/badge/Badge.js +6 -4
- package/badge/types.d.ts +5 -0
- package/{radio → badge}/types.js +0 -0
- package/bleed/Bleed.d.ts +3 -0
- package/bleed/Bleed.js +51 -0
- package/bleed/Bleed.stories.tsx +341 -0
- package/bleed/types.d.ts +37 -0
- package/bleed/types.js +5 -0
- package/box/Box.js +24 -34
- package/box/Box.test.js +18 -0
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +123 -0
- package/bulleted-list/BulletedList.stories.tsx +200 -0
- package/bulleted-list/types.d.ts +11 -0
- package/bulleted-list/types.js +5 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +59 -82
- package/button/Button.stories.tsx +15 -8
- package/button/Button.test.js +35 -0
- package/button/types.d.ts +8 -12
- package/card/Card.js +25 -28
- package/card/Card.stories.tsx +1 -1
- package/card/Card.test.js +50 -0
- package/checkbox/Checkbox.d.ts +1 -1
- package/checkbox/Checkbox.js +45 -41
- package/checkbox/Checkbox.stories.tsx +124 -128
- package/checkbox/Checkbox.test.js +78 -0
- package/checkbox/types.d.ts +8 -4
- package/chip/Chip.d.ts +4 -0
- package/chip/Chip.js +16 -76
- package/chip/Chip.stories.tsx +6 -8
- package/chip/Chip.test.js +56 -0
- package/chip/types.d.ts +45 -0
- package/chip/types.js +5 -0
- package/common/variables.js +282 -355
- package/date-input/DateInput.js +66 -55
- package/date-input/DateInput.stories.tsx +7 -7
- package/date-input/DateInput.test.js +479 -0
- package/date-input/types.d.ts +16 -9
- package/dialog/Dialog.js +50 -53
- package/dialog/Dialog.stories.tsx +1 -2
- package/dialog/Dialog.test.js +70 -0
- package/dialog/types.d.ts +2 -2
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +242 -272
- package/dropdown/Dropdown.stories.tsx +312 -0
- package/dropdown/Dropdown.test.js +591 -0
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +80 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +92 -0
- package/dropdown/types.d.ts +30 -19
- package/file-input/FileInput.d.ts +1 -1
- package/file-input/FileInput.js +165 -83
- package/file-input/FileInput.stories.tsx +507 -0
- package/file-input/FileInput.test.js +457 -0
- package/file-input/FileItem.js +12 -8
- package/file-input/types.d.ts +32 -7
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +57 -0
- package/flex/Flex.stories.tsx +103 -0
- package/flex/types.d.ts +21 -0
- package/flex/types.js +5 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +32 -113
- package/footer/{Footer.stories.jsx → Footer.stories.tsx} +1 -22
- package/footer/Footer.test.js +109 -0
- package/footer/Icons.d.ts +2 -0
- package/footer/Icons.js +4 -4
- package/footer/types.d.ts +21 -17
- package/header/Header.js +97 -116
- package/header/Header.stories.tsx +46 -36
- package/header/Header.test.js +79 -0
- package/header/Icons.d.ts +2 -0
- package/header/Icons.js +2 -2
- package/header/types.d.ts +2 -2
- package/heading/Heading.js +1 -1
- package/heading/Heading.stories.tsx +3 -2
- package/heading/Heading.test.js +186 -0
- package/inset/Inset.d.ts +3 -0
- package/inset/Inset.js +51 -0
- package/inset/Inset.stories.tsx +229 -0
- package/inset/types.d.ts +37 -0
- package/inset/types.js +5 -0
- package/layout/ApplicationLayout.d.ts +20 -0
- package/layout/ApplicationLayout.js +71 -135
- package/layout/ApplicationLayout.stories.tsx +161 -0
- package/layout/Icons.d.ts +5 -0
- package/layout/Icons.js +13 -2
- package/layout/SidenavContext.d.ts +5 -0
- package/layout/SidenavContext.js +19 -0
- package/layout/types.d.ts +42 -0
- package/layout/types.js +5 -0
- package/link/Link.d.ts +3 -2
- package/link/Link.js +61 -86
- package/link/Link.stories.tsx +99 -52
- package/link/Link.test.js +83 -0
- package/link/types.d.ts +9 -29
- package/main.d.ts +12 -12
- package/main.js +64 -58
- package/number-input/NumberInput.js +14 -24
- package/number-input/NumberInput.stories.tsx +5 -5
- package/number-input/NumberInput.test.js +506 -0
- package/number-input/types.d.ts +17 -10
- package/package.json +14 -10
- package/paginator/Paginator.js +19 -46
- package/paginator/Paginator.test.js +308 -0
- package/paragraph/Paragraph.d.ts +6 -0
- package/paragraph/Paragraph.js +38 -0
- package/paragraph/Paragraph.stories.tsx +44 -0
- package/password-input/PasswordInput.js +23 -19
- package/password-input/PasswordInput.stories.tsx +3 -3
- package/password-input/PasswordInput.test.js +180 -0
- package/password-input/types.d.ts +26 -21
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +59 -53
- package/progress-bar/ProgressBar.stories.jsx +13 -11
- package/progress-bar/ProgressBar.test.js +110 -0
- package/progress-bar/types.d.ts +3 -4
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +118 -0
- package/quick-nav/QuickNav.stories.tsx +264 -0
- package/quick-nav/types.d.ts +21 -0
- package/quick-nav/types.js +5 -0
- package/radio-group/Radio.d.ts +4 -0
- package/radio-group/Radio.js +141 -0
- package/radio-group/RadioGroup.d.ts +4 -0
- package/radio-group/RadioGroup.js +281 -0
- package/radio-group/RadioGroup.stories.tsx +100 -0
- package/radio-group/RadioGroup.test.js +695 -0
- package/radio-group/types.d.ts +114 -0
- package/radio-group/types.js +5 -0
- package/resultsetTable/ResultsetTable.d.ts +1 -1
- package/resultsetTable/ResultsetTable.js +9 -4
- package/resultsetTable/ResultsetTable.stories.tsx +275 -0
- package/resultsetTable/ResultsetTable.test.js +348 -0
- package/resultsetTable/types.d.ts +6 -2
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +93 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +199 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +110 -0
- package/select/Select.d.ts +4 -0
- package/select/Select.js +158 -380
- package/select/Select.stories.tsx +231 -176
- package/select/Select.test.js +2175 -0
- package/select/types.d.ts +210 -0
- package/select/types.js +5 -0
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +186 -54
- package/sidenav/Sidenav.stories.tsx +154 -139
- package/sidenav/Sidenav.test.js +44 -0
- package/sidenav/types.d.ts +50 -27
- package/slider/Slider.d.ts +1 -1
- package/slider/Slider.js +7 -6
- package/slider/Slider.stories.tsx +8 -8
- package/slider/Slider.test.js +187 -0
- package/slider/types.d.ts +4 -0
- package/spinner/Spinner.js +3 -3
- package/spinner/Spinner.stories.jsx +1 -0
- package/spinner/Spinner.test.js +64 -0
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +129 -57
- package/switch/Switch.stories.tsx +21 -43
- package/switch/Switch.test.js +212 -0
- package/switch/types.d.ts +9 -6
- package/table/Table.js +2 -2
- package/table/Table.stories.jsx +2 -1
- package/table/Table.test.js +26 -0
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +17 -19
- package/tabs/Tabs.stories.tsx +7 -16
- package/tabs/Tabs.test.js +140 -0
- package/tabs/types.d.ts +27 -15
- package/tabs-nav/NavTabs.d.ts +8 -0
- package/tabs-nav/NavTabs.js +125 -0
- package/tabs-nav/NavTabs.stories.tsx +170 -0
- package/tabs-nav/NavTabs.test.js +82 -0
- package/tabs-nav/Tab.d.ts +4 -0
- package/tabs-nav/Tab.js +130 -0
- package/tabs-nav/types.d.ts +53 -0
- package/tabs-nav/types.js +5 -0
- package/tag/Tag.d.ts +1 -1
- package/tag/Tag.js +18 -28
- package/tag/Tag.stories.tsx +26 -29
- package/tag/Tag.test.js +60 -0
- package/tag/types.d.ts +23 -14
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +55 -0
- package/text-input/TextInput.js +100 -124
- package/text-input/TextInput.stories.tsx +473 -0
- package/text-input/TextInput.test.js +1712 -0
- package/text-input/types.d.ts +44 -23
- package/textarea/Textarea.d.ts +4 -0
- package/textarea/Textarea.js +39 -79
- package/textarea/Textarea.stories.jsx +37 -15
- package/textarea/Textarea.test.js +437 -0
- package/textarea/types.d.ts +137 -0
- package/textarea/types.js +5 -0
- package/toggle-group/ToggleGroup.d.ts +1 -1
- package/toggle-group/ToggleGroup.js +15 -17
- package/toggle-group/ToggleGroup.stories.tsx +27 -32
- package/toggle-group/ToggleGroup.test.js +156 -0
- package/toggle-group/types.d.ts +47 -26
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +131 -0
- package/typography/Typography.stories.tsx +198 -0
- package/typography/types.d.ts +18 -0
- package/typography/types.js +5 -0
- package/useTheme.d.ts +2 -0
- package/useTheme.js +2 -2
- package/useTranslatedLabels.d.ts +2 -0
- package/useTranslatedLabels.js +20 -0
- package/wizard/Wizard.d.ts +1 -1
- package/wizard/Wizard.js +112 -58
- package/wizard/{Wizard.stories.jsx → Wizard.stories.tsx} +33 -24
- package/wizard/Wizard.test.js +141 -0
- package/wizard/types.d.ts +13 -12
- package/ThemeContext.js +0 -246
- package/V3Select/V3Select.js +0 -455
- package/V3Select/index.d.ts +0 -27
- package/V3Textarea/V3Textarea.js +0 -260
- package/V3Textarea/index.d.ts +0 -27
- package/chip/index.d.ts +0 -22
- package/date/Date.js +0 -373
- package/date/index.d.ts +0 -27
- package/input-text/Icons.js +0 -22
- package/input-text/InputText.js +0 -611
- package/input-text/index.d.ts +0 -36
- package/radio/Radio.d.ts +0 -4
- package/radio/Radio.js +0 -174
- package/radio/Radio.stories.tsx +0 -192
- package/radio/types.d.ts +0 -54
- package/select/index.d.ts +0 -131
- package/textarea/index.d.ts +0 -117
- package/toggle/Toggle.js +0 -186
- package/toggle/index.d.ts +0 -21
- package/upload/Upload.js +0 -201
- package/upload/buttons-upload/ButtonsUpload.js +0 -111
- package/upload/buttons-upload/Icons.js +0 -40
- package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
- package/upload/dragAndDropArea/Icons.js +0 -39
- package/upload/file-upload/FileToUpload.js +0 -115
- package/upload/file-upload/Icons.js +0 -66
- package/upload/files-upload/FilesToUpload.js +0 -109
- package/upload/index.d.ts +0 -15
- package/upload/transaction/Icons.js +0 -160
- package/upload/transaction/Transaction.js +0 -104
- package/upload/transactions/Transactions.js +0 -94
- package/wizard/Icons.js +0 -65
|
@@ -13,25 +13,25 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
|
|
|
13
13
|
|
|
14
14
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
15
|
|
|
16
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
17
|
-
|
|
18
16
|
var _react = _interopRequireWildcard(require("react"));
|
|
19
17
|
|
|
20
|
-
var
|
|
18
|
+
var _Header = _interopRequireDefault(require("../header/Header"));
|
|
19
|
+
|
|
20
|
+
var _Footer = _interopRequireDefault(require("../footer/Footer"));
|
|
21
21
|
|
|
22
|
-
var
|
|
22
|
+
var _Sidenav = _interopRequireDefault(require("../sidenav/Sidenav"));
|
|
23
23
|
|
|
24
|
-
var
|
|
24
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
25
25
|
|
|
26
26
|
var _variables = require("../common/variables.js");
|
|
27
27
|
|
|
28
28
|
var _Icons = require("./Icons");
|
|
29
29
|
|
|
30
|
-
var
|
|
30
|
+
var _SidenavContext = require("./SidenavContext");
|
|
31
31
|
|
|
32
|
-
var
|
|
32
|
+
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
33
33
|
|
|
34
|
-
var
|
|
34
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
|
|
35
35
|
|
|
36
36
|
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); }
|
|
37
37
|
|
|
@@ -39,41 +39,19 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
39
39
|
|
|
40
40
|
var year = new Date().getFullYear();
|
|
41
41
|
|
|
42
|
-
var
|
|
42
|
+
var Main = function Main(_ref) {
|
|
43
43
|
var children = _ref.children;
|
|
44
44
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, children);
|
|
45
45
|
};
|
|
46
46
|
|
|
47
|
-
var
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
var Footer = function Footer(_ref3) {
|
|
53
|
-
var children = _ref3.children;
|
|
54
|
-
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, children);
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
var SideNav = function SideNav(props) {
|
|
58
|
-
var displayArrow = props.displayArrow,
|
|
59
|
-
mode = props.mode,
|
|
60
|
-
childProps = (0, _objectWithoutProperties2["default"])(props, _excluded);
|
|
61
|
-
return /*#__PURE__*/_react["default"].createElement(_main.DxcSidenav, childProps, childProps.children);
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
SideNav.propTypes = {
|
|
65
|
-
mode: _propTypes["default"].oneOf(["overlay", "push", ""]),
|
|
66
|
-
displayArrow: _propTypes["default"].bool,
|
|
67
|
-
padding: _propTypes["default"].oneOfType([_propTypes["default"].shape({
|
|
68
|
-
top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
69
|
-
bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
70
|
-
left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
71
|
-
right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
|
|
72
|
-
})])
|
|
47
|
+
var defaultHeader = function defaultHeader() {
|
|
48
|
+
return /*#__PURE__*/_react["default"].createElement(_Header["default"], {
|
|
49
|
+
underlined: true
|
|
50
|
+
});
|
|
73
51
|
};
|
|
74
52
|
|
|
75
53
|
var defaultFooter = function defaultFooter() {
|
|
76
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
54
|
+
return /*#__PURE__*/_react["default"].createElement(_Footer["default"], {
|
|
77
55
|
copyright: "\xA9 DXC Technology ".concat(year, "\u200B\u200B\u200B\u200B. All rights reserved."),
|
|
78
56
|
bottomLinks: [{
|
|
79
57
|
href: "https://www.linkedin.com/company/dxctechnology",
|
|
@@ -98,138 +76,96 @@ var defaultFooter = function defaultFooter() {
|
|
|
98
76
|
});
|
|
99
77
|
};
|
|
100
78
|
|
|
101
|
-
var defaultHeader = function defaultHeader() {
|
|
102
|
-
return /*#__PURE__*/_react["default"].createElement(_main.DxcHeader, {
|
|
103
|
-
underlined: true
|
|
104
|
-
});
|
|
105
|
-
};
|
|
106
|
-
|
|
107
79
|
var childTypeExists = function childTypeExists(children, childType) {
|
|
108
80
|
return children.find(function (child) {
|
|
109
|
-
return child
|
|
81
|
+
return (child === null || child === void 0 ? void 0 : child.type) === childType;
|
|
110
82
|
});
|
|
111
83
|
};
|
|
112
84
|
|
|
113
|
-
var DxcApplicationLayout = function DxcApplicationLayout(
|
|
114
|
-
var
|
|
115
|
-
|
|
116
|
-
|
|
85
|
+
var DxcApplicationLayout = function DxcApplicationLayout(_ref2) {
|
|
86
|
+
var _ref2$visibilityToggl = _ref2.visibilityToggleLabel,
|
|
87
|
+
visibilityToggleLabel = _ref2$visibilityToggl === void 0 ? "" : _ref2$visibilityToggl,
|
|
88
|
+
header = _ref2.header,
|
|
89
|
+
sidenav = _ref2.sidenav,
|
|
90
|
+
footer = _ref2.footer,
|
|
91
|
+
children = _ref2.children;
|
|
117
92
|
|
|
118
|
-
var _useState = (0, _react.useState)(
|
|
93
|
+
var _useState = (0, _react.useState)(false),
|
|
119
94
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
120
|
-
|
|
121
|
-
|
|
95
|
+
isSidenavVisibleResponsive = _useState2[0],
|
|
96
|
+
setIsSidenavVisibleResponsive = _useState2[1];
|
|
122
97
|
|
|
123
|
-
var _useState3 = (0, _react.useState)(),
|
|
98
|
+
var _useState3 = (0, _react.useState)(false),
|
|
124
99
|
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
125
100
|
isResponsive = _useState4[0],
|
|
126
101
|
setIsResponsive = _useState4[1];
|
|
127
102
|
|
|
103
|
+
var ref = (0, _react.useRef)(null);
|
|
104
|
+
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
105
|
+
|
|
128
106
|
var childrenArray = _react["default"].Children.toArray(children);
|
|
129
107
|
|
|
130
|
-
var
|
|
131
|
-
var
|
|
132
|
-
var sideNav = childTypeExists(childrenArray, SideNav);
|
|
108
|
+
var headerContent = header || defaultHeader();
|
|
109
|
+
var footerContent = footer || defaultFooter();
|
|
133
110
|
var main = childTypeExists(childrenArray, Main);
|
|
134
|
-
var displayArrow = sideNav && sideNav.props && sideNav.props.displayArrow;
|
|
135
|
-
var sideNavMode = sideNav && sideNav.props && sideNav.props.mode;
|
|
136
|
-
|
|
137
|
-
var ArrowIcon = function ArrowIcon() {
|
|
138
|
-
return /*#__PURE__*/_react["default"].createElement("svg", {
|
|
139
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
140
|
-
width: "15.995",
|
|
141
|
-
height: "10.01",
|
|
142
|
-
viewBox: "0 0 15.995 10.01"
|
|
143
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
144
|
-
"data-testid": "arrow-to-right",
|
|
145
|
-
d: "M17.71,11.29l-4-4a1,1,0,0,0-1.42,1.42L14.59,11H3a1,1,0,0,0,0,2H14.59l-2.3,2.29a1,1,0,1,0,1.42,1.42l4-4a1.034,1.034,0,0,0,0-1.42Z",
|
|
146
|
-
transform: "translate(-2 -6.996)"
|
|
147
|
-
}));
|
|
148
|
-
};
|
|
149
111
|
|
|
150
|
-
var handleResize = function handleResize(
|
|
151
|
-
|
|
152
|
-
if (width <= _variables.responsiveSizes.tablet ? setIsResponsive(true) : setIsResponsive(false)) ;
|
|
153
|
-
setIsSideNavVisible(true);
|
|
154
|
-
}
|
|
112
|
+
var handleResize = function handleResize() {
|
|
113
|
+
setIsResponsive(window.matchMedia("(max-width: ".concat(_variables.responsiveSizes.medium, "rem)")).matches);
|
|
155
114
|
};
|
|
156
115
|
|
|
157
|
-
var
|
|
158
|
-
|
|
116
|
+
var handleSidenavVisibility = function handleSidenavVisibility() {
|
|
117
|
+
setIsSidenavVisibleResponsive(function (isSidenavVisibleResponsive) {
|
|
118
|
+
return !isSidenavVisibleResponsive;
|
|
119
|
+
});
|
|
159
120
|
};
|
|
160
121
|
|
|
161
|
-
(0, _react.
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
handleResize(ref.current.offsetWidth);
|
|
165
|
-
}
|
|
166
|
-
|
|
122
|
+
(0, _react.useLayoutEffect)(function () {
|
|
123
|
+
handleResize();
|
|
124
|
+
window.addEventListener("resize", handleResize);
|
|
167
125
|
return function () {
|
|
168
|
-
window.removeEventListener("resize",
|
|
126
|
+
window.removeEventListener("resize", handleResize);
|
|
169
127
|
};
|
|
170
128
|
}, []);
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
theme: colorsTheme.sidenav
|
|
178
|
-
}, /*#__PURE__*/_react["default"].createElement(ApplicationLayoutContainer, {
|
|
129
|
+
(0, _react.useEffect)(function () {
|
|
130
|
+
!isResponsive && setIsSidenavVisibleResponsive(false);
|
|
131
|
+
}, [isResponsive]);
|
|
132
|
+
return /*#__PURE__*/_react["default"].createElement(ApplicationLayoutContainer, {
|
|
133
|
+
hasSidenav: sidenav ? true : false,
|
|
134
|
+
isSidenavVisible: isSidenavVisibleResponsive,
|
|
179
135
|
ref: ref
|
|
180
|
-
}, /*#__PURE__*/_react["default"].createElement(HeaderContainer, null,
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
187
|
-
sideNav: sideNav,
|
|
188
|
-
mode: isResponsive ? "overlay" : sideNavMode,
|
|
189
|
-
isSideNavVisible: isSideNavVisible
|
|
190
|
-
}, main), /*#__PURE__*/_react["default"].createElement(FooterContainer, {
|
|
191
|
-
sideNav: sideNav,
|
|
192
|
-
mode: isResponsive ? "overlay" : sideNavMode,
|
|
193
|
-
isSideNavVisible: isSideNavVisible
|
|
194
|
-
}, footer))))));
|
|
136
|
+
}, /*#__PURE__*/_react["default"].createElement(HeaderContainer, null, headerContent), sidenav && isResponsive && /*#__PURE__*/_react["default"].createElement(VisibilityToggle, null, /*#__PURE__*/_react["default"].createElement(HamburgerTrigger, {
|
|
137
|
+
onClick: handleSidenavVisibility,
|
|
138
|
+
"aria-label": visibilityToggleLabel ? undefined : translatedLabels.applicationLayout.visibilityToggleTitle,
|
|
139
|
+
title: translatedLabels.applicationLayout.visibilityToggleTitle
|
|
140
|
+
}, _Icons.hamburgerIcon, visibilityToggleLabel)), /*#__PURE__*/_react["default"].createElement(BodyContainer, null, /*#__PURE__*/_react["default"].createElement(_SidenavContext.SidenavContextProvider, {
|
|
141
|
+
value: setIsSidenavVisibleResponsive
|
|
142
|
+
}, sidenav && (isResponsive ? isSidenavVisibleResponsive : true) && /*#__PURE__*/_react["default"].createElement(SidenavContainer, null, sidenav)), /*#__PURE__*/_react["default"].createElement(MainContainer, null, /*#__PURE__*/_react["default"].createElement(MainContentContainer, null, main), footerContent)));
|
|
195
143
|
};
|
|
196
144
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
var ApplicationLayoutContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n position: absolute;\n top: 64px;\n bottom: 0;\n left: 0;\n right: 0;\n"])));
|
|
203
|
-
|
|
204
|
-
var HeaderContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n z-index: 1250;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n"])));
|
|
145
|
+
var ApplicationLayoutContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n top: 64px;\n bottom: 0;\n left: 0;\n right: 0;\n display: flex;\n flex-direction: column;\n\n @media (max-width: ", "rem) {\n ", ";\n ", "\n }\n"])), _variables.responsiveSizes.medium, function (props) {
|
|
146
|
+
return props.hasSidenav && "top: 116px";
|
|
147
|
+
}, function (props) {
|
|
148
|
+
return props.isSidenavVisible && "overflow: hidden;";
|
|
149
|
+
});
|
|
205
150
|
|
|
206
|
-
var
|
|
151
|
+
var HeaderContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n z-index: 3;\n"])));
|
|
207
152
|
|
|
208
|
-
var
|
|
153
|
+
var VisibilityToggle = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n position: fixed;\n top: 64px;\n left: 0;\n right: 0;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n padding: 4px 16px;\n width: 100%;\n background-color: #f2f2f2;\n user-select: none;\n z-index: 2;\n"])));
|
|
209
154
|
|
|
210
|
-
var
|
|
155
|
+
var HamburgerTrigger = _styledComponents["default"].button(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n gap: 10px;\n border: 0px solid transparent;\n border-radius: 2px;\n padding: 12px 4px;\n background-color: transparent;\n box-shadow: 0 0 0 2px transparent;\n font-family: Open Sans, sans-serif;\n font-weight: 600;\n font-size: 14px;\n color: #000;\n cursor: pointer;\n :active {\n background-color: #cccccc;\n }\n :focus,\n :focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px #0095ff;\n }\n & > svg {\n height: 20px;\n width: 20px;\n }\n"])));
|
|
211
156
|
|
|
212
|
-
var
|
|
213
|
-
return props.sideNav ? props.mode === "push" && !props.isSideNavVisible || props.mode === "overlay" ? "-300px" : "" : "";
|
|
214
|
-
});
|
|
215
|
-
|
|
216
|
-
var MainContent = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n flex-grow: 1;\n position: relative;\n min-height: calc(100vh - 184px);\n margin-left: ", ";\n transition: margin 0.4s ease-in-out;\n"])), function (props) {
|
|
217
|
-
return props.sideNav ? props.mode === "push" && props.isSideNavVisible ? "" : "-297px" : "";
|
|
218
|
-
});
|
|
157
|
+
var BodyContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n flex: 1;\n"])));
|
|
219
158
|
|
|
220
|
-
var
|
|
221
|
-
return props.isSideNavVisible ? "translateX(0)" : !props.isSideNavVisible ? "translateX(-100%)" : "";
|
|
222
|
-
});
|
|
159
|
+
var SidenavContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n position: sticky;\n top: 64px;\n display: flex;\n height: calc(100vh - 64px);\n z-index: 1;\n\n @media (max-width: ", "rem) {\n position: absolute;\n top: 0px;\n height: 100%;\n }\n"])), _variables.responsiveSizes.medium);
|
|
223
160
|
|
|
224
|
-
var
|
|
161
|
+
var MainContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n width: 100%;\n"])));
|
|
225
162
|
|
|
226
|
-
var
|
|
227
|
-
return "".concat(props.theme.arrowContainerColor);
|
|
228
|
-
}, function (props) {
|
|
229
|
-
return props.isSideNavVisible ? "rotate(-180deg)" : "rotate(0deg)";
|
|
230
|
-
}, function (props) {
|
|
231
|
-
return props.theme.arrowColor;
|
|
232
|
-
});
|
|
163
|
+
var MainContentContainer = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n flex: 1;\n"])));
|
|
233
164
|
|
|
165
|
+
DxcApplicationLayout.Header = _Header["default"];
|
|
166
|
+
DxcApplicationLayout.Main = Main;
|
|
167
|
+
DxcApplicationLayout.Footer = _Footer["default"];
|
|
168
|
+
DxcApplicationLayout.SideNav = _Sidenav["default"];
|
|
169
|
+
DxcApplicationLayout.useResponsiveSidenavVisibility = _SidenavContext.useResponsiveSidenavVisibility;
|
|
234
170
|
var _default = DxcApplicationLayout;
|
|
235
171
|
exports["default"] = _default;
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import DxcApplicationLayout from "./ApplicationLayout";
|
|
3
|
+
import Title from "../../.storybook/components/Title";
|
|
4
|
+
import { INITIAL_VIEWPORTS } from "@storybook/addon-viewport";
|
|
5
|
+
|
|
6
|
+
export default {
|
|
7
|
+
title: "Application Layout ",
|
|
8
|
+
component: DxcApplicationLayout,
|
|
9
|
+
parameters: {
|
|
10
|
+
viewport: {
|
|
11
|
+
viewports: INITIAL_VIEWPORTS,
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export const DefaultApplicationLayout = () => (
|
|
17
|
+
<>
|
|
18
|
+
<DxcApplicationLayout>
|
|
19
|
+
<DxcApplicationLayout.Main>
|
|
20
|
+
<Title title="Default application layout" theme="light" level={4} />
|
|
21
|
+
<p>Main Content</p>
|
|
22
|
+
<p>Main Content</p>
|
|
23
|
+
<p>Main Content</p>
|
|
24
|
+
<p>Main Content</p>
|
|
25
|
+
</DxcApplicationLayout.Main>
|
|
26
|
+
</DxcApplicationLayout>
|
|
27
|
+
</>
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
export const ApplicationLayoutWithDefaultSidenav = () => (
|
|
31
|
+
<>
|
|
32
|
+
<DxcApplicationLayout
|
|
33
|
+
sidenav={
|
|
34
|
+
<DxcApplicationLayout.SideNav
|
|
35
|
+
title={
|
|
36
|
+
<DxcApplicationLayout.SideNav.Title>
|
|
37
|
+
Application layout with push sidenav
|
|
38
|
+
</DxcApplicationLayout.SideNav.Title>
|
|
39
|
+
}
|
|
40
|
+
>
|
|
41
|
+
<DxcApplicationLayout.SideNav.Section>
|
|
42
|
+
<p>SideNav Content</p>
|
|
43
|
+
<p>SideNav Content</p>
|
|
44
|
+
<p>SideNav Content</p>
|
|
45
|
+
<p>SideNav Content</p>
|
|
46
|
+
<p>SideNav Content</p>
|
|
47
|
+
</DxcApplicationLayout.SideNav.Section>
|
|
48
|
+
</DxcApplicationLayout.SideNav>
|
|
49
|
+
}
|
|
50
|
+
>
|
|
51
|
+
<DxcApplicationLayout.Main>
|
|
52
|
+
<p>Main Content</p>
|
|
53
|
+
<p>Main Content</p>
|
|
54
|
+
<p>Main Content</p>
|
|
55
|
+
<p>Main Content</p>
|
|
56
|
+
</DxcApplicationLayout.Main>
|
|
57
|
+
</DxcApplicationLayout>
|
|
58
|
+
</>
|
|
59
|
+
);
|
|
60
|
+
|
|
61
|
+
export const ApplicationLayoutWithResponsiveSidenav = () => (
|
|
62
|
+
<>
|
|
63
|
+
<DxcApplicationLayout
|
|
64
|
+
visibilityToggleLabel="Example"
|
|
65
|
+
sidenav={
|
|
66
|
+
<DxcApplicationLayout.SideNav
|
|
67
|
+
title={
|
|
68
|
+
<DxcApplicationLayout.SideNav.Title>
|
|
69
|
+
Application layout with push sidenav
|
|
70
|
+
</DxcApplicationLayout.SideNav.Title>
|
|
71
|
+
}
|
|
72
|
+
>
|
|
73
|
+
<DxcApplicationLayout.SideNav.Section>
|
|
74
|
+
<p>SideNav Content</p>
|
|
75
|
+
<p>SideNav Content</p>
|
|
76
|
+
<p>SideNav Content</p>
|
|
77
|
+
<p>SideNav Content</p>
|
|
78
|
+
<p>SideNav Content</p>
|
|
79
|
+
</DxcApplicationLayout.SideNav.Section>
|
|
80
|
+
</DxcApplicationLayout.SideNav>
|
|
81
|
+
}
|
|
82
|
+
>
|
|
83
|
+
<DxcApplicationLayout.Main>
|
|
84
|
+
<p>Main Content</p>
|
|
85
|
+
<p>Main Content</p>
|
|
86
|
+
<p>Main Content</p>
|
|
87
|
+
<p>Main Content</p>
|
|
88
|
+
</DxcApplicationLayout.Main>
|
|
89
|
+
</DxcApplicationLayout>
|
|
90
|
+
</>
|
|
91
|
+
);
|
|
92
|
+
|
|
93
|
+
ApplicationLayoutWithResponsiveSidenav.parameters = {
|
|
94
|
+
viewport: {
|
|
95
|
+
defaultViewport: "pixel",
|
|
96
|
+
},
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
export const ApplicationLayoutWithCustomHeader = () => (
|
|
100
|
+
<>
|
|
101
|
+
<DxcApplicationLayout
|
|
102
|
+
header={<p>Custom Header</p>}
|
|
103
|
+
sidenav={
|
|
104
|
+
<DxcApplicationLayout.SideNav
|
|
105
|
+
title={
|
|
106
|
+
<DxcApplicationLayout.SideNav.Title>
|
|
107
|
+
Application layout with push sidenav
|
|
108
|
+
</DxcApplicationLayout.SideNav.Title>
|
|
109
|
+
}
|
|
110
|
+
>
|
|
111
|
+
<DxcApplicationLayout.SideNav.Section>
|
|
112
|
+
<p>SideNav Content</p>
|
|
113
|
+
<p>SideNav Content</p>
|
|
114
|
+
<p>SideNav Content</p>
|
|
115
|
+
<p>SideNav Content</p>
|
|
116
|
+
<p>SideNav Content</p>
|
|
117
|
+
</DxcApplicationLayout.SideNav.Section>
|
|
118
|
+
</DxcApplicationLayout.SideNav>
|
|
119
|
+
}
|
|
120
|
+
>
|
|
121
|
+
<DxcApplicationLayout.Main>
|
|
122
|
+
<p>Main Content</p>
|
|
123
|
+
<p>Main Content</p>
|
|
124
|
+
<p>Main Content</p>
|
|
125
|
+
<p>Main Content</p>
|
|
126
|
+
</DxcApplicationLayout.Main>
|
|
127
|
+
</DxcApplicationLayout>
|
|
128
|
+
</>
|
|
129
|
+
);
|
|
130
|
+
|
|
131
|
+
export const ApplicationLayoutWithCustomFooter = () => (
|
|
132
|
+
<>
|
|
133
|
+
<DxcApplicationLayout
|
|
134
|
+
footer={<p>Custom Footer</p>}
|
|
135
|
+
sidenav={
|
|
136
|
+
<DxcApplicationLayout.SideNav
|
|
137
|
+
title={
|
|
138
|
+
<DxcApplicationLayout.SideNav.Title>
|
|
139
|
+
Application layout with push sidenav
|
|
140
|
+
</DxcApplicationLayout.SideNav.Title>
|
|
141
|
+
}
|
|
142
|
+
>
|
|
143
|
+
<DxcApplicationLayout.SideNav.Section>
|
|
144
|
+
<p>SideNav Content</p>
|
|
145
|
+
<p>SideNav Content</p>
|
|
146
|
+
<p>SideNav Content</p>
|
|
147
|
+
<p>SideNav Content</p>
|
|
148
|
+
<p>SideNav Content</p>
|
|
149
|
+
</DxcApplicationLayout.SideNav.Section>
|
|
150
|
+
</DxcApplicationLayout.SideNav>
|
|
151
|
+
}
|
|
152
|
+
>
|
|
153
|
+
<DxcApplicationLayout.Main>
|
|
154
|
+
<p>Main Content</p>
|
|
155
|
+
<p>Main Content</p>
|
|
156
|
+
<p>Main Content</p>
|
|
157
|
+
<p>Main Content</p>
|
|
158
|
+
</DxcApplicationLayout.Main>
|
|
159
|
+
</DxcApplicationLayout>
|
|
160
|
+
</>
|
|
161
|
+
);
|
package/layout/Icons.js
CHANGED
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.twitterLogo = exports.linkedinLogo = exports.facebookLogo = void 0;
|
|
8
|
+
exports.twitterLogo = exports.linkedinLogo = exports.hamburgerIcon = exports.facebookLogo = void 0;
|
|
9
9
|
|
|
10
10
|
var _react = _interopRequireDefault(require("react"));
|
|
11
11
|
|
|
@@ -52,4 +52,15 @@ var linkedinLogo = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
|
52
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"
|
|
53
53
|
})));
|
|
54
54
|
|
|
55
|
-
exports.linkedinLogo = linkedinLogo;
|
|
55
|
+
exports.linkedinLogo = linkedinLogo;
|
|
56
|
+
|
|
57
|
+
var hamburgerIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
58
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
59
|
+
height: "24",
|
|
60
|
+
width: "24",
|
|
61
|
+
viewBox: "0 0 24 24"
|
|
62
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
63
|
+
d: "M3 18V16H21V18ZM3 13V11H21V13ZM3 8V6H21V8Z"
|
|
64
|
+
}));
|
|
65
|
+
|
|
66
|
+
exports.hamburgerIcon = hamburgerIcon;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
declare type SidenavContextType = (isSidenavVisible: boolean) => void;
|
|
3
|
+
export declare const SidenavContextProvider: import("react").Provider<SidenavContextType>;
|
|
4
|
+
export declare const useResponsiveSidenavVisibility: () => SidenavContextType;
|
|
5
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useResponsiveSidenavVisibility = exports.SidenavContextProvider = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
|
|
10
|
+
var SidenavContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
11
|
+
var SidenavContextProvider = SidenavContext.Provider;
|
|
12
|
+
exports.SidenavContextProvider = SidenavContextProvider;
|
|
13
|
+
|
|
14
|
+
var useResponsiveSidenavVisibility = function useResponsiveSidenavVisibility() {
|
|
15
|
+
var changeResponsiveSidenavVisibility = (0, _react.useContext)(SidenavContext);
|
|
16
|
+
return changeResponsiveSidenavVisibility;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
exports.useResponsiveSidenavVisibility = useResponsiveSidenavVisibility;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
declare type ChildrenType = AppLayoutMainPropsType | AppLayoutSidenavPropsType;
|
|
3
|
+
export declare type AppLayoutMainPropsType = {
|
|
4
|
+
/**
|
|
5
|
+
* Everything between the tags will be displayed as the content of the main part of the application.
|
|
6
|
+
*/
|
|
7
|
+
children: React.ReactNode;
|
|
8
|
+
};
|
|
9
|
+
export declare type AppLayoutSidenavPropsType = {
|
|
10
|
+
/**
|
|
11
|
+
* The area inside the sidenav. This area can be used to render the content inside the sidenav.
|
|
12
|
+
*/
|
|
13
|
+
children: React.ReactNode;
|
|
14
|
+
/**
|
|
15
|
+
* The area assigned to render the sidenav title. It is highly recommended to use the sidenav title.
|
|
16
|
+
*/
|
|
17
|
+
title?: React.ReactNode;
|
|
18
|
+
};
|
|
19
|
+
declare type AppLayoutPropsType = {
|
|
20
|
+
/**
|
|
21
|
+
* Text to be placed next to the hamburger button that toggles the
|
|
22
|
+
* visibility of the sidenav.
|
|
23
|
+
*/
|
|
24
|
+
visibilityToggleLabel?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Header content.
|
|
27
|
+
*/
|
|
28
|
+
header?: React.ReactNode;
|
|
29
|
+
/**
|
|
30
|
+
* Sidenav content
|
|
31
|
+
*/
|
|
32
|
+
sidenav?: React.ReactNode;
|
|
33
|
+
/**
|
|
34
|
+
* Footer content
|
|
35
|
+
*/
|
|
36
|
+
footer?: React.ReactNode;
|
|
37
|
+
/**
|
|
38
|
+
* The area inside the sidenav. This area can be used to render custom content.
|
|
39
|
+
*/
|
|
40
|
+
children: React.ReactElement<ChildrenType> | React.ReactElement<ChildrenType>[];
|
|
41
|
+
};
|
|
42
|
+
export default AppLayoutPropsType;
|
package/layout/types.js
ADDED
package/link/Link.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { LinkProps } from "./types";
|
|
3
|
+
declare const DxcLink: React.ForwardRefExoticComponent<LinkProps & React.RefAttributes<HTMLAnchorElement>>;
|
|
3
4
|
export default DxcLink;
|