@dxc-technology/halstack-react 0.0.0-da224ae → 0.0.0-da4b2be

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.
Files changed (329) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +2 -5
  3. package/HalstackContext.d.ts +1336 -0
  4. package/HalstackContext.js +335 -0
  5. package/accordion/Accordion.d.ts +1 -1
  6. package/accordion/Accordion.js +118 -142
  7. package/accordion/Accordion.stories.tsx +395 -0
  8. package/accordion/Accordion.test.js +71 -0
  9. package/accordion/types.d.ts +9 -8
  10. package/accordion-group/AccordionGroup.d.ts +5 -4
  11. package/accordion-group/AccordionGroup.js +34 -76
  12. package/accordion-group/AccordionGroup.stories.tsx +251 -0
  13. package/accordion-group/AccordionGroup.test.js +126 -0
  14. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  15. package/accordion-group/AccordionGroupAccordion.js +43 -0
  16. package/accordion-group/types.d.ts +15 -8
  17. package/alert/Alert.js +11 -12
  18. package/alert/Alert.stories.tsx +28 -0
  19. package/alert/Alert.test.js +92 -0
  20. package/alert/types.d.ts +1 -1
  21. package/badge/Badge.d.ts +4 -0
  22. package/badge/Badge.js +6 -4
  23. package/badge/types.d.ts +5 -0
  24. package/bleed/Bleed.d.ts +3 -0
  25. package/bleed/Bleed.js +51 -0
  26. package/bleed/Bleed.stories.tsx +342 -0
  27. package/bleed/types.d.ts +37 -0
  28. package/bleed/types.js +5 -0
  29. package/box/Box.d.ts +1 -1
  30. package/box/Box.js +23 -55
  31. package/box/Box.stories.tsx +38 -51
  32. package/box/Box.test.js +18 -0
  33. package/box/types.d.ts +0 -15
  34. package/bulleted-list/BulletedList.d.ts +7 -0
  35. package/bulleted-list/BulletedList.js +125 -0
  36. package/bulleted-list/BulletedList.stories.tsx +206 -0
  37. package/bulleted-list/types.d.ts +38 -0
  38. package/bulleted-list/types.js +5 -0
  39. package/button/Button.d.ts +1 -1
  40. package/button/Button.js +61 -85
  41. package/button/Button.stories.tsx +163 -14
  42. package/button/Button.test.js +35 -0
  43. package/button/types.d.ts +8 -12
  44. package/card/Card.js +35 -40
  45. package/card/Card.stories.tsx +200 -0
  46. package/card/Card.test.js +50 -0
  47. package/card/ice-cream.jpg +0 -0
  48. package/card/types.d.ts +5 -6
  49. package/checkbox/Checkbox.d.ts +2 -2
  50. package/checkbox/Checkbox.js +108 -111
  51. package/checkbox/Checkbox.stories.tsx +198 -130
  52. package/checkbox/Checkbox.test.js +155 -0
  53. package/checkbox/types.d.ts +13 -5
  54. package/chip/Chip.d.ts +4 -0
  55. package/chip/Chip.js +37 -118
  56. package/chip/Chip.stories.tsx +123 -30
  57. package/chip/Chip.test.js +54 -0
  58. package/chip/types.d.ts +45 -0
  59. package/chip/types.js +5 -0
  60. package/common/OpenSans.css +68 -80
  61. package/common/coreTokens.d.ts +146 -0
  62. package/common/coreTokens.js +167 -0
  63. package/common/utils.d.ts +1 -0
  64. package/common/utils.js +4 -4
  65. package/common/variables.d.ts +1482 -0
  66. package/common/variables.js +1100 -1316
  67. package/date-input/Calendar.d.ts +4 -0
  68. package/date-input/Calendar.js +258 -0
  69. package/date-input/DateInput.js +174 -266
  70. package/date-input/DateInput.stories.tsx +199 -33
  71. package/date-input/DateInput.test.js +835 -0
  72. package/date-input/DatePicker.d.ts +4 -0
  73. package/date-input/DatePicker.js +146 -0
  74. package/date-input/Icons.d.ts +6 -0
  75. package/date-input/Icons.js +75 -0
  76. package/date-input/YearPicker.d.ts +4 -0
  77. package/date-input/YearPicker.js +126 -0
  78. package/date-input/types.d.ts +67 -9
  79. package/dialog/Dialog.d.ts +1 -1
  80. package/dialog/Dialog.js +69 -103
  81. package/dialog/Dialog.stories.tsx +154 -171
  82. package/dialog/Dialog.test.js +369 -0
  83. package/dialog/types.d.ts +0 -12
  84. package/dropdown/Dropdown.d.ts +1 -1
  85. package/dropdown/Dropdown.js +248 -277
  86. package/dropdown/Dropdown.stories.tsx +438 -0
  87. package/dropdown/Dropdown.test.js +586 -0
  88. package/dropdown/DropdownMenu.d.ts +4 -0
  89. package/dropdown/DropdownMenu.js +74 -0
  90. package/dropdown/DropdownMenuItem.d.ts +4 -0
  91. package/dropdown/DropdownMenuItem.js +79 -0
  92. package/dropdown/types.d.ts +28 -17
  93. package/file-input/FileInput.d.ts +4 -0
  94. package/file-input/FileInput.js +183 -168
  95. package/file-input/FileInput.stories.tsx +618 -0
  96. package/file-input/FileInput.test.js +457 -0
  97. package/file-input/FileItem.d.ts +4 -0
  98. package/file-input/FileItem.js +50 -81
  99. package/file-input/types.d.ts +129 -0
  100. package/file-input/types.js +5 -0
  101. package/flex/Flex.d.ts +4 -0
  102. package/flex/Flex.js +71 -0
  103. package/flex/Flex.stories.tsx +112 -0
  104. package/flex/types.d.ts +97 -0
  105. package/flex/types.js +5 -0
  106. package/footer/Footer.d.ts +1 -1
  107. package/footer/Footer.js +34 -117
  108. package/footer/Footer.stories.tsx +228 -0
  109. package/footer/Footer.test.js +97 -0
  110. package/footer/Icons.d.ts +2 -0
  111. package/footer/Icons.js +4 -4
  112. package/footer/types.d.ts +23 -18
  113. package/grid/Grid.d.ts +7 -0
  114. package/grid/Grid.js +91 -0
  115. package/grid/Grid.stories.tsx +219 -0
  116. package/grid/types.d.ts +115 -0
  117. package/grid/types.js +5 -0
  118. package/header/Header.d.ts +3 -2
  119. package/header/Header.js +110 -131
  120. package/header/Header.stories.tsx +315 -0
  121. package/header/Header.test.js +79 -0
  122. package/header/Icons.d.ts +2 -0
  123. package/header/Icons.js +2 -2
  124. package/header/types.d.ts +5 -2
  125. package/heading/Heading.js +2 -2
  126. package/heading/Heading.stories.tsx +54 -0
  127. package/heading/Heading.test.js +186 -0
  128. package/inset/Inset.d.ts +3 -0
  129. package/inset/Inset.js +51 -0
  130. package/inset/Inset.stories.tsx +230 -0
  131. package/inset/types.d.ts +37 -0
  132. package/inset/types.js +5 -0
  133. package/layout/ApplicationLayout.d.ts +20 -0
  134. package/layout/ApplicationLayout.js +72 -136
  135. package/layout/ApplicationLayout.stories.tsx +162 -0
  136. package/layout/Icons.d.ts +5 -0
  137. package/layout/Icons.js +13 -2
  138. package/layout/SidenavContext.d.ts +5 -0
  139. package/layout/SidenavContext.js +19 -0
  140. package/layout/types.d.ts +41 -0
  141. package/layout/types.js +5 -0
  142. package/link/Link.d.ts +3 -2
  143. package/link/Link.js +64 -89
  144. package/link/Link.stories.tsx +199 -16
  145. package/link/Link.test.js +81 -0
  146. package/link/types.d.ts +7 -27
  147. package/main.d.ts +13 -12
  148. package/main.js +68 -54
  149. package/nav-tabs/NavTabs.d.ts +8 -0
  150. package/nav-tabs/NavTabs.js +122 -0
  151. package/nav-tabs/NavTabs.stories.tsx +274 -0
  152. package/nav-tabs/NavTabs.test.js +82 -0
  153. package/nav-tabs/Tab.d.ts +4 -0
  154. package/nav-tabs/Tab.js +146 -0
  155. package/nav-tabs/types.d.ts +52 -0
  156. package/nav-tabs/types.js +5 -0
  157. package/number-input/NumberInput.js +14 -24
  158. package/number-input/NumberInput.stories.tsx +5 -5
  159. package/number-input/NumberInput.test.js +542 -0
  160. package/number-input/NumberInputContext.d.ts +4 -0
  161. package/number-input/NumberInputContext.js +5 -2
  162. package/number-input/numberInputContextTypes.d.ts +19 -0
  163. package/number-input/numberInputContextTypes.js +5 -0
  164. package/number-input/types.d.ts +17 -10
  165. package/package.json +22 -23
  166. package/paginator/Icons.d.ts +5 -0
  167. package/paginator/Icons.js +16 -28
  168. package/paginator/Paginator.js +22 -57
  169. package/paginator/Paginator.stories.tsx +24 -0
  170. package/paginator/Paginator.test.js +318 -0
  171. package/paragraph/Paragraph.d.ts +5 -0
  172. package/paragraph/Paragraph.js +38 -0
  173. package/paragraph/Paragraph.stories.tsx +44 -0
  174. package/password-input/PasswordInput.js +23 -19
  175. package/password-input/PasswordInput.stories.tsx +3 -3
  176. package/password-input/PasswordInput.test.js +181 -0
  177. package/password-input/types.d.ts +29 -19
  178. package/progress-bar/ProgressBar.js +63 -57
  179. package/progress-bar/ProgressBar.stories.jsx +47 -12
  180. package/progress-bar/ProgressBar.test.js +110 -0
  181. package/quick-nav/QuickNav.d.ts +4 -0
  182. package/quick-nav/QuickNav.js +117 -0
  183. package/quick-nav/QuickNav.stories.tsx +356 -0
  184. package/quick-nav/types.d.ts +21 -0
  185. package/quick-nav/types.js +5 -0
  186. package/radio-group/Radio.d.ts +4 -0
  187. package/radio-group/Radio.js +156 -0
  188. package/radio-group/RadioGroup.d.ts +4 -0
  189. package/radio-group/RadioGroup.js +281 -0
  190. package/radio-group/RadioGroup.stories.tsx +214 -0
  191. package/radio-group/RadioGroup.test.js +722 -0
  192. package/radio-group/types.d.ts +114 -0
  193. package/radio-group/types.js +5 -0
  194. package/resultsetTable/Icons.d.ts +7 -0
  195. package/resultsetTable/Icons.js +51 -0
  196. package/resultsetTable/ResultsetTable.d.ts +4 -0
  197. package/resultsetTable/ResultsetTable.js +54 -133
  198. package/resultsetTable/ResultsetTable.stories.tsx +300 -0
  199. package/resultsetTable/ResultsetTable.test.js +325 -0
  200. package/resultsetTable/types.d.ts +67 -0
  201. package/resultsetTable/types.js +5 -0
  202. package/select/Icons.d.ts +10 -0
  203. package/select/Icons.js +93 -0
  204. package/select/Listbox.d.ts +4 -0
  205. package/select/Listbox.js +169 -0
  206. package/select/Option.d.ts +4 -0
  207. package/select/Option.js +97 -0
  208. package/select/Select.d.ts +4 -0
  209. package/select/Select.js +202 -401
  210. package/select/Select.stories.tsx +600 -201
  211. package/select/Select.test.js +2228 -0
  212. package/select/types.d.ts +210 -0
  213. package/select/types.js +5 -0
  214. package/sidenav/Icons.d.ts +7 -0
  215. package/sidenav/Icons.js +51 -0
  216. package/sidenav/Sidenav.d.ts +6 -5
  217. package/sidenav/Sidenav.js +148 -46
  218. package/sidenav/Sidenav.stories.tsx +282 -0
  219. package/sidenav/Sidenav.test.js +44 -0
  220. package/sidenav/types.d.ts +52 -26
  221. package/slider/Slider.d.ts +2 -2
  222. package/slider/Slider.js +124 -99
  223. package/slider/Slider.stories.tsx +72 -9
  224. package/slider/Slider.test.js +250 -0
  225. package/slider/types.d.ts +8 -0
  226. package/spinner/Spinner.js +20 -26
  227. package/spinner/Spinner.stories.jsx +53 -26
  228. package/spinner/Spinner.test.js +64 -0
  229. package/switch/Switch.d.ts +2 -2
  230. package/switch/Switch.js +153 -70
  231. package/switch/Switch.stories.tsx +54 -43
  232. package/switch/Switch.test.js +225 -0
  233. package/switch/types.d.ts +10 -2
  234. package/table/Table.js +6 -6
  235. package/table/Table.stories.jsx +81 -1
  236. package/table/Table.test.js +26 -0
  237. package/tabs/Tab.d.ts +4 -0
  238. package/tabs/Tab.js +132 -0
  239. package/tabs/Tabs.d.ts +1 -1
  240. package/tabs/Tabs.js +362 -112
  241. package/tabs/Tabs.stories.tsx +226 -0
  242. package/tabs/Tabs.test.js +350 -0
  243. package/tabs/types.d.ts +39 -18
  244. package/tag/Tag.d.ts +1 -1
  245. package/tag/Tag.js +25 -37
  246. package/tag/Tag.stories.tsx +38 -28
  247. package/tag/Tag.test.js +60 -0
  248. package/tag/types.d.ts +23 -14
  249. package/text-input/Icons.d.ts +8 -0
  250. package/text-input/Icons.js +60 -0
  251. package/text-input/Suggestion.d.ts +4 -0
  252. package/text-input/Suggestion.js +84 -0
  253. package/text-input/Suggestions.d.ts +4 -0
  254. package/text-input/Suggestions.js +134 -0
  255. package/text-input/TextInput.d.ts +4 -0
  256. package/text-input/TextInput.js +236 -388
  257. package/text-input/TextInput.stories.tsx +569 -0
  258. package/text-input/TextInput.test.js +1723 -0
  259. package/text-input/types.d.ts +197 -0
  260. package/text-input/types.js +5 -0
  261. package/textarea/Textarea.d.ts +4 -0
  262. package/textarea/Textarea.js +41 -82
  263. package/textarea/Textarea.stories.jsx +96 -15
  264. package/textarea/Textarea.test.js +435 -0
  265. package/textarea/types.d.ts +137 -0
  266. package/textarea/types.js +5 -0
  267. package/toggle-group/ToggleGroup.d.ts +4 -0
  268. package/toggle-group/ToggleGroup.js +24 -49
  269. package/toggle-group/ToggleGroup.stories.tsx +69 -32
  270. package/toggle-group/ToggleGroup.test.js +156 -0
  271. package/toggle-group/types.d.ts +105 -0
  272. package/toggle-group/types.js +5 -0
  273. package/typography/Typography.d.ts +4 -0
  274. package/typography/Typography.js +32 -0
  275. package/typography/Typography.stories.tsx +198 -0
  276. package/typography/types.d.ts +18 -0
  277. package/typography/types.js +5 -0
  278. package/useTheme.d.ts +1235 -0
  279. package/useTheme.js +3 -3
  280. package/useTranslatedLabels.d.ts +85 -0
  281. package/useTranslatedLabels.js +20 -0
  282. package/utils/BaseTypography.d.ts +21 -0
  283. package/utils/BaseTypography.js +108 -0
  284. package/utils/FocusLock.d.ts +13 -0
  285. package/utils/FocusLock.js +138 -0
  286. package/wizard/Wizard.d.ts +1 -1
  287. package/wizard/Wizard.js +113 -59
  288. package/wizard/{Wizard.stories.jsx → Wizard.stories.tsx} +48 -19
  289. package/wizard/Wizard.test.js +141 -0
  290. package/wizard/types.d.ts +10 -10
  291. package/ThemeContext.js +0 -246
  292. package/V3Select/V3Select.js +0 -455
  293. package/V3Select/index.d.ts +0 -27
  294. package/V3Textarea/V3Textarea.js +0 -260
  295. package/V3Textarea/index.d.ts +0 -27
  296. package/chip/index.d.ts +0 -22
  297. package/common/RequiredComponent.js +0 -32
  298. package/date/Date.js +0 -373
  299. package/date/index.d.ts +0 -27
  300. package/file-input/index.d.ts +0 -81
  301. package/footer/Footer.stories.jsx +0 -151
  302. package/input-text/Icons.js +0 -22
  303. package/input-text/InputText.js +0 -611
  304. package/input-text/index.d.ts +0 -36
  305. package/radio/Radio.d.ts +0 -4
  306. package/radio/Radio.js +0 -174
  307. package/radio/Radio.stories.tsx +0 -192
  308. package/radio/types.d.ts +0 -54
  309. package/resultsetTable/index.d.ts +0 -19
  310. package/select/index.d.ts +0 -131
  311. package/text-input/index.d.ts +0 -135
  312. package/textarea/index.d.ts +0 -117
  313. package/toggle/Toggle.js +0 -186
  314. package/toggle/index.d.ts +0 -21
  315. package/toggle-group/index.d.ts +0 -21
  316. package/upload/Upload.js +0 -201
  317. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  318. package/upload/buttons-upload/Icons.js +0 -40
  319. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  320. package/upload/dragAndDropArea/Icons.js +0 -39
  321. package/upload/file-upload/FileToUpload.js +0 -115
  322. package/upload/file-upload/Icons.js +0 -66
  323. package/upload/files-upload/FilesToUpload.js +0 -109
  324. package/upload/index.d.ts +0 -15
  325. package/upload/transaction/Icons.js +0 -160
  326. package/upload/transaction/Transaction.js +0 -104
  327. package/upload/transactions/Transactions.js +0 -94
  328. package/wizard/Icons.js +0 -65
  329. /package/{radio → badge}/types.js +0 -0
@@ -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 _main = require("../main");
18
+ var _Header = _interopRequireDefault(require("../header/Header"));
19
+
20
+ var _Footer = _interopRequireDefault(require("../footer/Footer"));
21
21
 
22
- var _styledComponents = _interopRequireWildcard(require("styled-components"));
22
+ var _Sidenav = _interopRequireDefault(require("../sidenav/Sidenav"));
23
23
 
24
- var _propTypes = _interopRequireDefault(require("prop-types"));
24
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
25
25
 
26
- var _variables = require("../common/variables.js");
26
+ var _variables = require("../common/variables");
27
27
 
28
28
  var _Icons = require("./Icons");
29
29
 
30
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
30
+ var _SidenavContext = require("./SidenavContext");
31
31
 
32
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
32
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
33
33
 
34
- var _excluded = ["displayArrow", "mode"];
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 Header = function Header(_ref) {
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 Main = function Main(_ref2) {
48
- var children = _ref2.children;
49
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, children);
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(_main.DxcFooter, {
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 && child.type && child.type === childType;
81
+ return (child === null || child === void 0 ? void 0 : child.type) === childType;
110
82
  });
111
83
  };
112
84
 
113
- var DxcApplicationLayout = function DxcApplicationLayout(_ref4) {
114
- var children = _ref4.children;
115
- var ref = (0, _react.useRef)(null);
116
- var colorsTheme = (0, _useTheme["default"])();
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)(true),
93
+ var _useState = (0, _react.useState)(false),
119
94
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
120
- isSideNavVisible = _useState2[0],
121
- setIsSideNavVisible = _useState2[1];
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 header = childTypeExists(childrenArray, _main.DxcHeader) || childTypeExists(childrenArray, Header) || defaultHeader();
131
- var footer = childTypeExists(childrenArray, _main.DxcFooter) || childTypeExists(childrenArray, Footer) || defaultFooter();
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(width) {
151
- if (width) {
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 handleEventListener = function handleEventListener() {
158
- handleResize(ref.current.offsetWidth);
116
+ var handleSidenavVisibility = function handleSidenavVisibility() {
117
+ setIsSidenavVisibleResponsive(function (isSidenavVisibleResponsive) {
118
+ return !isSidenavVisibleResponsive;
119
+ });
159
120
  };
160
121
 
161
- (0, _react.useEffect)(function () {
162
- if (ref.current) {
163
- window.addEventListener("resize", handleEventListener);
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", handleEventListener);
126
+ window.removeEventListener("resize", handleResize);
169
127
  };
170
128
  }, []);
171
-
172
- var handleSidenav = function handleSidenav() {
173
- setIsSideNavVisible(!isSideNavVisible);
174
- };
175
-
176
- return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
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, header), /*#__PURE__*/_react["default"].createElement(BodyContainer, null, /*#__PURE__*/_react["default"].createElement(ContentContainer, null, /*#__PURE__*/_react["default"].createElement(SideNavArrowContainer, {
181
- isSideNavVisible: isSideNavVisible
182
- }, sideNav, /*#__PURE__*/_react["default"].createElement(ArrowContainer, null, sideNav && (displayArrow || isResponsive) && /*#__PURE__*/_react["default"].createElement(ArrowTrigger, {
183
- tabIndex: 0,
184
- onClick: handleSidenav,
185
- isSideNavVisible: isSideNavVisible
186
- }, /*#__PURE__*/_react["default"].createElement(ArrowIcon, null)))), /*#__PURE__*/_react["default"].createElement(MainBodyContainer, null, /*#__PURE__*/_react["default"].createElement(MainContent, {
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
- DxcApplicationLayout.Header = Header;
198
- DxcApplicationLayout.Main = Main;
199
- DxcApplicationLayout.Footer = Footer;
200
- DxcApplicationLayout.SideNav = SideNav;
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 BodyContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n flex: 1;\n display: flex;\n flex-direction: column;\n"])));
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 ContentContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex: 1 1 auto;\n align-items: flex-start;\n"])));
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 MainBodyContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n min-width: 0;\n display: flex;\n flex-direction: column;\n"])));
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 FooterContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: ", ";\n transition: margin 0.4s ease-in-out;\n"])), function (props) {
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 SideNavArrowContainer = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n z-index: 1200;\n transform: ", ";\n transition: transform 0.4s ease-in-out;\n height: calc(100vh - 64px);\n position: sticky;\n top: 64px;\n"])), function (props) {
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 ArrowContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n height: calc(100vh - 64px);\n left: 279px;\n"])));
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 ArrowTrigger = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n position: sticky;\n top: 45vh;\n width: 42px;\n min-height: 42px;\n background-color: ", ";\n border-radius: 50%;\n transform: ", ";\n transition: transform 0.4s ease-in-out;\n z-index: 1250;\n cursor: pointer;\n & > svg {\n fill: ", ";\n }\n"])), function (props) {
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,162 @@
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
+ chromatic: { viewports: [540] },
98
+ };
99
+
100
+ export const ApplicationLayoutWithCustomHeader = () => (
101
+ <>
102
+ <DxcApplicationLayout
103
+ header={<p>Custom Header</p>}
104
+ sidenav={
105
+ <DxcApplicationLayout.SideNav
106
+ title={
107
+ <DxcApplicationLayout.SideNav.Title>
108
+ Application layout with push sidenav
109
+ </DxcApplicationLayout.SideNav.Title>
110
+ }
111
+ >
112
+ <DxcApplicationLayout.SideNav.Section>
113
+ <p>SideNav Content</p>
114
+ <p>SideNav Content</p>
115
+ <p>SideNav Content</p>
116
+ <p>SideNav Content</p>
117
+ <p>SideNav Content</p>
118
+ </DxcApplicationLayout.SideNav.Section>
119
+ </DxcApplicationLayout.SideNav>
120
+ }
121
+ >
122
+ <DxcApplicationLayout.Main>
123
+ <p>Main Content</p>
124
+ <p>Main Content</p>
125
+ <p>Main Content</p>
126
+ <p>Main Content</p>
127
+ </DxcApplicationLayout.Main>
128
+ </DxcApplicationLayout>
129
+ </>
130
+ );
131
+
132
+ export const ApplicationLayoutWithCustomFooter = () => (
133
+ <>
134
+ <DxcApplicationLayout
135
+ footer={<p>Custom Footer</p>}
136
+ sidenav={
137
+ <DxcApplicationLayout.SideNav
138
+ title={
139
+ <DxcApplicationLayout.SideNav.Title>
140
+ Application layout with push sidenav
141
+ </DxcApplicationLayout.SideNav.Title>
142
+ }
143
+ >
144
+ <DxcApplicationLayout.SideNav.Section>
145
+ <p>SideNav Content</p>
146
+ <p>SideNav Content</p>
147
+ <p>SideNav Content</p>
148
+ <p>SideNav Content</p>
149
+ <p>SideNav Content</p>
150
+ </DxcApplicationLayout.SideNav.Section>
151
+ </DxcApplicationLayout.SideNav>
152
+ }
153
+ >
154
+ <DxcApplicationLayout.Main>
155
+ <p>Main Content</p>
156
+ <p>Main Content</p>
157
+ <p>Main Content</p>
158
+ <p>Main Content</p>
159
+ </DxcApplicationLayout.Main>
160
+ </DxcApplicationLayout>
161
+ </>
162
+ );
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ export declare const facebookLogo: JSX.Element;
3
+ export declare const twitterLogo: JSX.Element;
4
+ export declare const linkedinLogo: JSX.Element;
5
+ export declare const hamburgerIcon: JSX.Element;
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,41 @@
1
+ /// <reference types="react" />
2
+ export declare type AppLayoutMainPropsType = {
3
+ /**
4
+ * Everything between the tags will be displayed as the content of the main part of the application.
5
+ */
6
+ children: React.ReactNode;
7
+ };
8
+ export declare type AppLayoutSidenavPropsType = {
9
+ /**
10
+ * The area inside the sidenav. This area can be used to render the content inside the sidenav.
11
+ */
12
+ children: React.ReactNode;
13
+ /**
14
+ * The area assigned to render the sidenav title. It is highly recommended to use the sidenav title.
15
+ */
16
+ title?: React.ReactNode;
17
+ };
18
+ declare type AppLayoutPropsType = {
19
+ /**
20
+ * Text to be placed next to the hamburger button that toggles the
21
+ * visibility of the sidenav.
22
+ */
23
+ visibilityToggleLabel?: string;
24
+ /**
25
+ * Header content.
26
+ */
27
+ header?: React.ReactNode;
28
+ /**
29
+ * Sidenav content
30
+ */
31
+ sidenav?: React.ReactNode;
32
+ /**
33
+ * Footer content
34
+ */
35
+ footer?: React.ReactNode;
36
+ /**
37
+ * Use the DxcApplicationLayout.Main provided to render main content.
38
+ */
39
+ children: React.ReactElement<AppLayoutMainPropsType>;
40
+ };
41
+ export default AppLayoutPropsType;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
package/link/Link.d.ts CHANGED
@@ -1,3 +1,4 @@
1
- import Overload from "./types";
2
- declare const DxcLink: Overload;
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;