@dxc-technology/halstack-react 0.0.0-290c489 → 0.0.0-293a019

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 (225) hide show
  1. package/BackgroundColorContext.d.ts +2 -2
  2. package/BackgroundColorContext.js +1 -1
  3. package/HalstackContext.d.ts +1329 -5
  4. package/HalstackContext.js +117 -77
  5. package/accordion/Accordion.js +118 -110
  6. package/accordion/Accordion.stories.tsx +103 -15
  7. package/accordion/Accordion.test.js +10 -11
  8. package/accordion/types.d.ts +2 -1
  9. package/accordion-group/AccordionGroup.js +3 -23
  10. package/accordion-group/AccordionGroup.stories.tsx +27 -1
  11. package/accordion-group/AccordionGroup.test.js +21 -46
  12. package/accordion-group/types.d.ts +8 -1
  13. package/alert/Alert.js +5 -9
  14. package/alert/Alert.stories.tsx +28 -0
  15. package/alert/Alert.test.js +1 -1
  16. package/bleed/Bleed.stories.tsx +1 -0
  17. package/box/Box.js +4 -6
  18. package/box/Box.stories.tsx +15 -0
  19. package/box/Box.test.js +1 -1
  20. package/box/types.d.ts +1 -0
  21. package/bulleted-list/BulletedList.js +4 -2
  22. package/bulleted-list/BulletedList.stories.tsx +7 -1
  23. package/bulleted-list/types.d.ts +31 -4
  24. package/button/Button.js +52 -73
  25. package/button/Button.stories.tsx +159 -8
  26. package/button/Button.test.js +1 -1
  27. package/button/types.d.ts +5 -5
  28. package/card/Card.js +12 -13
  29. package/card/Card.stories.tsx +12 -13
  30. package/card/Card.test.js +1 -1
  31. package/card/types.d.ts +1 -0
  32. package/checkbox/Checkbox.d.ts +2 -2
  33. package/checkbox/Checkbox.js +94 -101
  34. package/checkbox/Checkbox.stories.tsx +131 -59
  35. package/checkbox/Checkbox.test.js +94 -17
  36. package/checkbox/types.d.ts +4 -0
  37. package/chip/Chip.js +28 -49
  38. package/chip/Chip.stories.tsx +121 -26
  39. package/chip/Chip.test.js +3 -5
  40. package/chip/types.d.ts +1 -1
  41. package/common/OpenSans.css +68 -80
  42. package/common/coreTokens.d.ts +146 -0
  43. package/common/coreTokens.js +167 -0
  44. package/common/utils.d.ts +1 -0
  45. package/common/utils.js +4 -4
  46. package/common/variables.d.ts +1482 -0
  47. package/common/variables.js +1001 -1135
  48. package/date-input/Calendar.d.ts +4 -0
  49. package/date-input/Calendar.js +258 -0
  50. package/date-input/DateInput.js +134 -237
  51. package/date-input/DateInput.stories.tsx +199 -33
  52. package/date-input/DateInput.test.js +494 -138
  53. package/date-input/DatePicker.d.ts +4 -0
  54. package/date-input/DatePicker.js +146 -0
  55. package/date-input/Icons.d.ts +6 -0
  56. package/date-input/Icons.js +75 -0
  57. package/date-input/YearPicker.d.ts +4 -0
  58. package/date-input/YearPicker.js +126 -0
  59. package/date-input/types.d.ts +51 -0
  60. package/dialog/Dialog.js +80 -69
  61. package/dialog/Dialog.stories.tsx +230 -123
  62. package/dialog/Dialog.test.js +334 -5
  63. package/dialog/types.d.ts +1 -0
  64. package/dropdown/Dropdown.d.ts +1 -1
  65. package/dropdown/Dropdown.js +246 -249
  66. package/dropdown/Dropdown.stories.tsx +245 -56
  67. package/dropdown/Dropdown.test.js +507 -110
  68. package/dropdown/DropdownMenu.d.ts +4 -0
  69. package/dropdown/DropdownMenu.js +74 -0
  70. package/dropdown/DropdownMenuItem.d.ts +4 -0
  71. package/dropdown/DropdownMenuItem.js +79 -0
  72. package/dropdown/types.d.ts +23 -3
  73. package/file-input/FileInput.d.ts +2 -2
  74. package/file-input/FileInput.js +174 -220
  75. package/file-input/FileInput.stories.tsx +122 -11
  76. package/file-input/FileInput.test.js +14 -14
  77. package/file-input/FileItem.d.ts +4 -14
  78. package/file-input/FileItem.js +39 -63
  79. package/file-input/types.d.ts +17 -0
  80. package/flex/Flex.d.ts +2 -1
  81. package/flex/Flex.js +39 -42
  82. package/flex/Flex.stories.tsx +35 -26
  83. package/flex/types.d.ts +85 -9
  84. package/footer/Footer.js +6 -8
  85. package/footer/Footer.stories.tsx +99 -1
  86. package/footer/Footer.test.js +14 -26
  87. package/footer/types.d.ts +2 -1
  88. package/grid/Grid.d.ts +7 -0
  89. package/grid/Grid.js +91 -0
  90. package/grid/Grid.stories.tsx +219 -0
  91. package/grid/types.d.ts +115 -0
  92. package/header/Header.d.ts +3 -2
  93. package/header/Header.js +89 -89
  94. package/header/Header.stories.tsx +152 -9
  95. package/header/Header.test.js +2 -2
  96. package/header/Icons.js +2 -2
  97. package/header/types.d.ts +1 -0
  98. package/heading/Heading.js +1 -1
  99. package/heading/Heading.test.js +1 -1
  100. package/inset/Inset.stories.tsx +2 -1
  101. package/layout/ApplicationLayout.d.ts +3 -3
  102. package/layout/ApplicationLayout.js +4 -4
  103. package/layout/ApplicationLayout.stories.tsx +1 -0
  104. package/layout/types.d.ts +2 -3
  105. package/link/Link.js +4 -4
  106. package/link/Link.stories.tsx +72 -5
  107. package/link/Link.test.js +2 -4
  108. package/link/types.d.ts +3 -3
  109. package/main.d.ts +3 -4
  110. package/main.js +9 -17
  111. package/{tabs-nav → nav-tabs}/NavTabs.js +6 -6
  112. package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +96 -6
  113. package/{tabs-nav → nav-tabs}/NavTabs.test.js +1 -1
  114. package/{tabs-nav → nav-tabs}/Tab.js +40 -22
  115. package/{tabs-nav → nav-tabs}/types.d.ts +1 -1
  116. package/number-input/NumberInput.test.js +44 -8
  117. package/package.json +17 -22
  118. package/paginator/Icons.d.ts +5 -0
  119. package/paginator/Icons.js +16 -28
  120. package/paginator/Paginator.js +7 -15
  121. package/paginator/Paginator.stories.tsx +24 -0
  122. package/paginator/Paginator.test.js +45 -48
  123. package/paragraph/Paragraph.d.ts +3 -4
  124. package/paragraph/Paragraph.js +5 -5
  125. package/password-input/PasswordInput.test.js +14 -13
  126. package/progress-bar/ProgressBar.js +60 -54
  127. package/progress-bar/ProgressBar.stories.jsx +38 -3
  128. package/progress-bar/ProgressBar.test.js +68 -23
  129. package/quick-nav/QuickNav.js +11 -12
  130. package/quick-nav/QuickNav.stories.tsx +111 -19
  131. package/radio-group/Radio.d.ts +1 -1
  132. package/radio-group/Radio.js +43 -28
  133. package/radio-group/RadioGroup.js +24 -24
  134. package/radio-group/RadioGroup.stories.tsx +132 -18
  135. package/radio-group/RadioGroup.test.js +124 -97
  136. package/radio-group/types.d.ts +2 -2
  137. package/resultsetTable/Icons.d.ts +7 -0
  138. package/resultsetTable/Icons.js +51 -0
  139. package/resultsetTable/ResultsetTable.js +49 -108
  140. package/resultsetTable/ResultsetTable.stories.tsx +50 -25
  141. package/resultsetTable/ResultsetTable.test.js +41 -64
  142. package/resultsetTable/types.d.ts +1 -1
  143. package/select/Listbox.js +4 -10
  144. package/select/Option.js +11 -24
  145. package/select/Select.js +67 -61
  146. package/select/Select.stories.tsx +494 -149
  147. package/select/Select.test.js +393 -327
  148. package/select/types.d.ts +3 -5
  149. package/sidenav/Icons.d.ts +7 -0
  150. package/sidenav/Icons.js +51 -0
  151. package/sidenav/Sidenav.d.ts +2 -2
  152. package/sidenav/Sidenav.js +68 -86
  153. package/sidenav/Sidenav.stories.tsx +165 -63
  154. package/sidenav/types.d.ts +22 -19
  155. package/slider/Slider.d.ts +2 -2
  156. package/slider/Slider.js +121 -97
  157. package/slider/Slider.stories.tsx +64 -1
  158. package/slider/Slider.test.js +122 -22
  159. package/slider/types.d.ts +4 -0
  160. package/spinner/Spinner.js +17 -23
  161. package/spinner/Spinner.stories.jsx +53 -27
  162. package/spinner/Spinner.test.js +1 -1
  163. package/switch/Switch.d.ts +2 -2
  164. package/switch/Switch.js +137 -70
  165. package/switch/Switch.stories.tsx +41 -30
  166. package/switch/Switch.test.js +145 -18
  167. package/switch/types.d.ts +4 -0
  168. package/table/Table.js +3 -3
  169. package/table/Table.stories.jsx +80 -1
  170. package/table/Table.test.js +2 -2
  171. package/tabs/Tab.d.ts +4 -0
  172. package/tabs/Tab.js +132 -0
  173. package/tabs/Tabs.js +358 -108
  174. package/tabs/Tabs.stories.tsx +119 -5
  175. package/tabs/Tabs.test.js +220 -10
  176. package/tabs/types.d.ts +13 -3
  177. package/tag/Tag.js +8 -10
  178. package/tag/Tag.stories.tsx +14 -1
  179. package/tag/Tag.test.js +1 -1
  180. package/tag/types.d.ts +1 -1
  181. package/text-input/Icons.d.ts +8 -0
  182. package/text-input/Icons.js +60 -0
  183. package/text-input/Suggestion.js +40 -11
  184. package/text-input/Suggestions.d.ts +4 -0
  185. package/text-input/Suggestions.js +134 -0
  186. package/text-input/TextInput.js +199 -296
  187. package/text-input/TextInput.stories.tsx +280 -185
  188. package/text-input/TextInput.test.js +736 -725
  189. package/text-input/types.d.ts +22 -3
  190. package/textarea/Textarea.js +3 -4
  191. package/textarea/Textarea.stories.jsx +60 -1
  192. package/textarea/Textarea.test.js +2 -4
  193. package/toggle-group/ToggleGroup.d.ts +2 -2
  194. package/toggle-group/ToggleGroup.js +7 -4
  195. package/toggle-group/ToggleGroup.stories.tsx +42 -0
  196. package/toggle-group/ToggleGroup.test.js +1 -1
  197. package/toggle-group/types.d.ts +2 -2
  198. package/typography/Typography.d.ts +2 -2
  199. package/typography/Typography.js +14 -113
  200. package/typography/Typography.stories.tsx +1 -1
  201. package/useTheme.d.ts +1234 -1
  202. package/useTheme.js +1 -1
  203. package/useTranslatedLabels.d.ts +84 -1
  204. package/utils/BaseTypography.d.ts +21 -0
  205. package/utils/BaseTypography.js +108 -0
  206. package/utils/FocusLock.d.ts +13 -0
  207. package/utils/FocusLock.js +139 -0
  208. package/wizard/Wizard.js +2 -2
  209. package/wizard/Wizard.stories.tsx +20 -0
  210. package/wizard/Wizard.test.js +1 -1
  211. package/wizard/types.d.ts +6 -7
  212. package/common/RequiredComponent.js +0 -32
  213. package/row/Row.d.ts +0 -3
  214. package/row/Row.js +0 -127
  215. package/row/Row.stories.tsx +0 -237
  216. package/row/types.d.ts +0 -28
  217. package/stack/Stack.d.ts +0 -4
  218. package/stack/Stack.js +0 -56
  219. package/stack/Stack.stories.tsx +0 -263
  220. package/stack/types.d.ts +0 -32
  221. package/tabs-nav/types.js +0 -5
  222. /package/{row → grid}/types.js +0 -0
  223. /package/{tabs-nav → nav-tabs}/NavTabs.d.ts +0 -0
  224. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
  225. /package/{stack → nav-tabs}/types.js +0 -0
package/select/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from "react";
2
2
  declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
3
  declare type Margin = {
4
4
  top?: Space;
@@ -6,7 +6,7 @@ declare type Margin = {
6
6
  left?: Space;
7
7
  right?: Space;
8
8
  };
9
- declare type SVG = React.SVGProps<SVGSVGElement>;
9
+ declare type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
10
10
  declare type OptionGroup = {
11
11
  /**
12
12
  * Label of the group to be shown in the select's listbox.
@@ -201,9 +201,7 @@ export declare type ListboxProps = {
201
201
  optionalItem: Option;
202
202
  searchable: boolean;
203
203
  handleOptionOnClick: (option: Option) => void;
204
- styles: {
205
- width: number;
206
- };
204
+ styles: React.CSSProperties;
207
205
  };
208
206
  /**
209
207
  * Reference to the select component.
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ declare const icons: {
3
+ collapsedIcon: JSX.Element;
4
+ collapsableIcon: JSX.Element;
5
+ externalLinkIcon: JSX.Element;
6
+ };
7
+ export default icons;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var icons = {
13
+ collapsedIcon: /*#__PURE__*/_react["default"].createElement("svg", {
14
+ xmlns: "http://www.w3.org/2000/svg",
15
+ height: "24px",
16
+ viewBox: "0 0 24 24",
17
+ width: "24px",
18
+ fill: "currentColor"
19
+ }, /*#__PURE__*/_react["default"].createElement("path", {
20
+ d: "M0 0h24v24H0z",
21
+ fill: "none"
22
+ }), /*#__PURE__*/_react["default"].createElement("path", {
23
+ d: "M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"
24
+ })),
25
+ collapsableIcon: /*#__PURE__*/_react["default"].createElement("svg", {
26
+ xmlns: "http://www.w3.org/2000/svg",
27
+ height: "24px",
28
+ viewBox: "0 0 24 24",
29
+ width: "24px",
30
+ fill: "currentColor"
31
+ }, /*#__PURE__*/_react["default"].createElement("path", {
32
+ d: "M0 0h24v24H0z",
33
+ fill: "none"
34
+ }), /*#__PURE__*/_react["default"].createElement("path", {
35
+ d: "M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z"
36
+ })),
37
+ externalLinkIcon: /*#__PURE__*/_react["default"].createElement("svg", {
38
+ xmlns: "http://www.w3.org/2000/svg",
39
+ height: "24",
40
+ viewBox: "0 0 24 24",
41
+ width: "24",
42
+ fill: "currentColor"
43
+ }, /*#__PURE__*/_react["default"].createElement("path", {
44
+ d: "M0 0h24v24H0z",
45
+ fill: "none"
46
+ }), /*#__PURE__*/_react["default"].createElement("path", {
47
+ d: "M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"
48
+ }))
49
+ };
50
+ var _default = icons;
51
+ exports["default"] = _default;
@@ -1,9 +1,9 @@
1
1
  import React from "react";
2
2
  import SidenavPropsType, { SidenavGroupPropsType, SidenavLinkPropsType, SidenavSectionPropsType, SidenavTitlePropsType } from "./types.js";
3
3
  declare const DxcSidenav: {
4
- ({ children, title }: SidenavPropsType): JSX.Element;
4
+ ({ title, children }: SidenavPropsType): JSX.Element;
5
5
  Section: ({ children }: SidenavSectionPropsType) => JSX.Element;
6
- Group: ({ children, title, collapsable, icon }: SidenavGroupPropsType) => JSX.Element;
6
+ Group: ({ title, collapsable, icon, children }: SidenavGroupPropsType) => JSX.Element;
7
7
  Link: React.ForwardRefExoticComponent<SidenavLinkPropsType & React.RefAttributes<HTMLAnchorElement>>;
8
8
  Title: ({ children }: SidenavTitlePropsType) => JSX.Element;
9
9
  };
@@ -21,7 +21,7 @@ var _react = _interopRequireWildcard(require("react"));
21
21
 
22
22
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
23
 
24
- var _variables = require("../common/variables.js");
24
+ var _variables = require("../common/variables");
25
25
 
26
26
  var _SidenavContext = require("../layout/SidenavContext");
27
27
 
@@ -33,56 +33,19 @@ var _Flex = _interopRequireDefault(require("../flex/Flex"));
33
33
 
34
34
  var _Bleed = _interopRequireDefault(require("../bleed/Bleed"));
35
35
 
36
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
36
+ var _Icons = _interopRequireDefault(require("./Icons"));
37
37
 
38
- var _excluded = ["href", "children", "newWindow", "selected", "icon", "tabIndex", "onClick"];
38
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
39
+
40
+ var _excluded = ["href", "newWindow", "selected", "icon", "onClick", "tabIndex", "children"];
39
41
 
40
42
  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); }
41
43
 
42
44
  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; }
43
45
 
44
- var collapsedIcon = /*#__PURE__*/_react["default"].createElement("svg", {
45
- xmlns: "http://www.w3.org/2000/svg",
46
- height: "24px",
47
- viewBox: "0 0 24 24",
48
- width: "24px",
49
- fill: "currentColor"
50
- }, /*#__PURE__*/_react["default"].createElement("path", {
51
- d: "M0 0h24v24H0z",
52
- fill: "none"
53
- }), /*#__PURE__*/_react["default"].createElement("path", {
54
- d: "M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"
55
- }));
56
-
57
- var collapsableIcon = /*#__PURE__*/_react["default"].createElement("svg", {
58
- xmlns: "http://www.w3.org/2000/svg",
59
- height: "24px",
60
- viewBox: "0 0 24 24",
61
- width: "24px",
62
- fill: "currentColor"
63
- }, /*#__PURE__*/_react["default"].createElement("path", {
64
- d: "M0 0h24v24H0z",
65
- fill: "none"
66
- }), /*#__PURE__*/_react["default"].createElement("path", {
67
- d: "M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z"
68
- }));
69
-
70
- var externalLinkIcon = /*#__PURE__*/_react["default"].createElement("svg", {
71
- xmlns: "http://www.w3.org/2000/svg",
72
- height: "24",
73
- viewBox: "0 0 24 24",
74
- width: "24",
75
- fill: "currentColor"
76
- }, /*#__PURE__*/_react["default"].createElement("path", {
77
- d: "M0 0h24v24H0z",
78
- fill: "none"
79
- }), /*#__PURE__*/_react["default"].createElement("path", {
80
- d: "M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"
81
- }));
82
-
83
46
  var DxcSidenav = function DxcSidenav(_ref) {
84
- var children = _ref.children,
85
- title = _ref.title;
47
+ var title = _ref.title,
48
+ children = _ref.children;
86
49
  var colorsTheme = (0, _useTheme["default"])();
87
50
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
88
51
  theme: colorsTheme.sidenav
@@ -91,9 +54,7 @@ var DxcSidenav = function DxcSidenav(_ref) {
91
54
  }, title, /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
92
55
  direction: "column",
93
56
  gap: "1rem"
94
- }, _react["default"].Children.map(children, function (child, index) {
95
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, child, index !== _react["default"].Children.count(children) - 1 && /*#__PURE__*/_react["default"].createElement(Divider, null));
96
- })))));
57
+ }, children))));
97
58
  };
98
59
 
99
60
  var Title = function Title(_ref2) {
@@ -105,50 +66,63 @@ var Title = function Title(_ref2) {
105
66
 
106
67
  var Section = function Section(_ref3) {
107
68
  var children = _ref3.children;
108
- return /*#__PURE__*/_react["default"].createElement(_Bleed["default"], {
69
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_Bleed["default"], {
109
70
  horizontal: "1rem"
110
71
  }, /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
111
72
  direction: "column"
112
- }, children));
73
+ }, children)), /*#__PURE__*/_react["default"].createElement(Divider, null));
113
74
  };
114
75
 
76
+ var GroupContext = /*#__PURE__*/_react["default"].createContext(null);
77
+
115
78
  var Group = function Group(_ref4) {
116
- var children = _ref4.children,
117
- title = _ref4.title,
79
+ var title = _ref4.title,
118
80
  _ref4$collapsable = _ref4.collapsable,
119
81
  collapsable = _ref4$collapsable === void 0 ? false : _ref4$collapsable,
120
- icon = _ref4.icon;
82
+ icon = _ref4.icon,
83
+ children = _ref4.children;
121
84
 
122
85
  var _useState = (0, _react.useState)(false),
123
86
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
124
87
  collapsed = _useState2[0],
125
88
  setCollapsed = _useState2[1];
126
89
 
127
- return /*#__PURE__*/_react["default"].createElement(SidenavGroup, null, collapsable && title ? /*#__PURE__*/_react["default"].createElement(SidenavGroupTitleButton, {
128
- role: "button",
90
+ var _useState3 = (0, _react.useState)(false),
91
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
92
+ isSelected = _useState4[0],
93
+ changeIsSelected = _useState4[1];
94
+
95
+ return /*#__PURE__*/_react["default"].createElement(GroupContext.Provider, {
96
+ value: changeIsSelected
97
+ }, /*#__PURE__*/_react["default"].createElement(SidenavGroup, null, collapsable && title ? /*#__PURE__*/_react["default"].createElement(SidenavGroupTitleButton, {
129
98
  "aria-expanded": !collapsed,
130
99
  onClick: function onClick() {
131
100
  return setCollapsed(!collapsed);
132
- }
133
- }, /*#__PURE__*/_react["default"].createElement(SidenavContent, null, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(SidenavIcon, {
101
+ },
102
+ selectedGroup: collapsed && isSelected
103
+ }, /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
104
+ alignItems: "center",
105
+ gap: "0.5rem"
106
+ }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
134
107
  src: icon
135
- }) : icon, title), collapsed ? collapsedIcon : collapsableIcon) : title && /*#__PURE__*/_react["default"].createElement(SidenavGroupTitle, null, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(SidenavIcon, {
108
+ }) : icon, title), collapsed ? _Icons["default"].collapsedIcon : _Icons["default"].collapsableIcon) : title && /*#__PURE__*/_react["default"].createElement(SidenavGroupTitle, null, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
136
109
  src: icon
137
- }) : icon, title), !collapsed && children);
110
+ }) : icon, title), !collapsed && children));
138
111
  };
139
112
 
140
113
  var Link = /*#__PURE__*/(0, _react.forwardRef)(function (_ref5, ref) {
141
114
  var href = _ref5.href,
142
- children = _ref5.children,
143
115
  _ref5$newWindow = _ref5.newWindow,
144
116
  newWindow = _ref5$newWindow === void 0 ? false : _ref5$newWindow,
145
117
  _ref5$selected = _ref5.selected,
146
118
  selected = _ref5$selected === void 0 ? false : _ref5$selected,
147
119
  icon = _ref5.icon,
120
+ onClick = _ref5.onClick,
148
121
  _ref5$tabIndex = _ref5.tabIndex,
149
122
  tabIndex = _ref5$tabIndex === void 0 ? 0 : _ref5$tabIndex,
150
- onClick = _ref5.onClick,
123
+ children = _ref5.children,
151
124
  otherProps = (0, _objectWithoutProperties2["default"])(_ref5, _excluded);
125
+ var changeIsGroupSelected = (0, _react.useContext)(GroupContext);
152
126
  var setIsSidenavVisibleResponsive = (0, _SidenavContext.useResponsiveSidenavVisibility)();
153
127
 
154
128
  var handleClick = function handleClick($event) {
@@ -156,6 +130,11 @@ var Link = /*#__PURE__*/(0, _react.forwardRef)(function (_ref5, ref) {
156
130
  setIsSidenavVisibleResponsive === null || setIsSidenavVisibleResponsive === void 0 ? void 0 : setIsSidenavVisibleResponsive(false);
157
131
  };
158
132
 
133
+ (0, _react.useEffect)(function () {
134
+ changeIsGroupSelected === null || changeIsGroupSelected === void 0 ? void 0 : changeIsGroupSelected(function (isGroupSelected) {
135
+ return !isGroupSelected ? selected : isGroupSelected;
136
+ });
137
+ }, [selected, changeIsGroupSelected]);
159
138
  return /*#__PURE__*/_react["default"].createElement(SidenavLink, (0, _extends2["default"])({
160
139
  selected: selected,
161
140
  href: href ? href : undefined,
@@ -163,20 +142,23 @@ var Link = /*#__PURE__*/(0, _react.forwardRef)(function (_ref5, ref) {
163
142
  ref: ref,
164
143
  tabIndex: tabIndex,
165
144
  onClick: handleClick
166
- }, otherProps), /*#__PURE__*/_react["default"].createElement(SidenavContent, null, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(SidenavIcon, {
145
+ }, otherProps), /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
146
+ alignItems: "center",
147
+ gap: "0.5rem"
148
+ }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
167
149
  src: icon
168
- }) : icon, children), newWindow && externalLinkIcon);
150
+ }) : icon, children), newWindow && _Icons["default"].externalLinkIcon);
169
151
  });
170
152
 
171
- var SidenavContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n background-color: ", ";\n box-sizing: border-box;\n width: 280px;\n @media (max-width: ", "rem) {\n width: 100vw;\n }\n\n height: 100%;\n padding: 2rem 1rem;\n\n overflow-y: auto;\n overflow-x: hidden;\n ::-webkit-scrollbar {\n width: 2px;\n }\n ::-webkit-scrollbar-track {\n background-color: ", ";\n border-radius: 3px;\n }\n ::-webkit-scrollbar-thumb {\n background-color: ", ";\n border-radius: 3px;\n }\n"])), function (props) {
153
+ var SidenavContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n width: 280px;\n @media (max-width: ", "rem) {\n width: 100vw;\n }\n padding: 2rem 1rem;\n background-color: ", ";\n\n overflow-y: auto;\n overflow-x: hidden;\n ::-webkit-scrollbar {\n width: 2px;\n }\n ::-webkit-scrollbar-track {\n background-color: ", ";\n border-radius: 3px;\n }\n ::-webkit-scrollbar-thumb {\n background-color: ", ";\n border-radius: 3px;\n }\n"])), _variables.responsiveSizes.medium, function (props) {
172
154
  return props.theme.backgroundColor;
173
- }, _variables.responsiveSizes.medium, function (props) {
155
+ }, function (props) {
174
156
  return props.theme.scrollBarTrackColor;
175
157
  }, function (props) {
176
158
  return props.theme.scrollBarThumbColor;
177
159
  });
178
160
 
179
- var SidenavTitle = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-weight: ", ";\n font-size: ", ";\n line-height: 27px;\n display: flex;\n align-items: center;\n color: ", ";\n text-transform: ", ";\n letter-spacing: ", ";\n padding: 0.5rem 1.2rem;\n\n svg {\n margin-right: 0.5rem;\n }\n"])), function (props) {
161
+ var SidenavTitle = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n padding: 0.5rem 1.2rem;\n font-family: ", ";\n font-style: ", ";\n font-weight: ", ";\n font-size: ", ";\n color: ", ";\n letter-spacing: ", ";\n text-transform: ", ";\n"])), function (props) {
180
162
  return props.theme.titleFontFamily;
181
163
  }, function (props) {
182
164
  return props.theme.titleFontStyle;
@@ -186,17 +168,17 @@ var SidenavTitle = _styledComponents["default"].div(_templateObject2 || (_templa
186
168
  return props.theme.titleFontSize;
187
169
  }, function (props) {
188
170
  return props.theme.titleFontColor;
189
- }, function (props) {
190
- return props.theme.titleFontTextTransform;
191
171
  }, function (props) {
192
172
  return props.theme.titleFontLetterSpacing;
173
+ }, function (props) {
174
+ return props.theme.titleFontTextTransform;
193
175
  });
194
176
 
195
- var Divider = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n height: 1px;\n background-color: #999999;\n"])));
177
+ var Divider = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n height: 1px;\n background-color: #999999;\n\n &:last-child {\n display: none;\n }\n"])));
196
178
 
197
- var SidenavGroup = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n a {\n padding: 0.5rem 1.2rem 0.5rem 2.25rem;\n }\n"])));
179
+ var SidenavGroup = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n a {\n padding: 0.5rem 1.2rem 0.5rem 2.25rem;\n }\n"])));
198
180
 
199
- var SidenavGroupTitle = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n svg {\n width: 16px;\n margin-right: 0.5rem;\n }\n box-sizing: border-box;\n width: 100%;\n\n font-family: ", ";\n font-style: ", ";\n font-weight: ", ";\n font-size: ", ";\n line-height: 18px;\n\n display: flex;\n align-items: center;\n margin: 0px;\n padding: 0.5rem 1.2rem;\n"])), function (props) {
181
+ var SidenavGroupTitle = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n padding: 0.5rem 1.2rem;\n font-family: ", ";\n font-style: ", ";\n font-weight: ", ";\n font-size: ", ";\n\n img,\n svg {\n height: 16px;\n width: 16px;\n }\n"])), function (props) {
200
182
  return props.theme.groupTitleFontFamily;
201
183
  }, function (props) {
202
184
  return props.theme.groupTitleFontStyle;
@@ -206,7 +188,7 @@ var SidenavGroupTitle = _styledComponents["default"].span(_templateObject5 || (_
206
188
  return props.theme.groupTitleFontSize;
207
189
  });
208
190
 
209
- var SidenavGroupTitleButton = _styledComponents["default"].button(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n all: unset;\n cursor: pointer;\n justify-content: space-between;\n box-sizing: border-box;\n width: 100%;\n\n font-family: ", ";\n font-style: ", ";\n font-weight: ", ";\n font-size: ", ";\n line-height: 19px;\n\n display: flex;\n align-items: center;\n margin: 0px;\n padding: 0.5rem 1.2rem;\n &:focus {\n outline: 2px solid ", ";\n outline-offset: -2px;\n }\n &:hover {\n background-color: ", ";\n }\n &:active {\n background-color: ", ";\n }\n\n svg {\n width: 18px;\n height: auto;\n }\n"])), function (props) {
191
+ var SidenavGroupTitleButton = _styledComponents["default"].button(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n all: unset;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding: 0.5rem 1.2rem;\n font-family: ", ";\n font-style: ", ";\n font-weight: ", ";\n font-size: ", ";\n cursor: pointer;\n\n ", "\n\n &:focus, &:focus-visible {\n outline: 2px solid ", ";\n outline-offset: -2px;\n }\n &:hover {\n ", "\n }\n &:active {\n color: #fff;\n background-color: ", ";\n }\n\n img,\n svg {\n height: 16px;\n width: 16px;\n }\n"])), function (props) {
210
192
  return props.theme.groupTitleFontFamily;
211
193
  }, function (props) {
212
194
  return props.theme.groupTitleFontStyle;
@@ -214,21 +196,17 @@ var SidenavGroupTitleButton = _styledComponents["default"].button(_templateObjec
214
196
  return props.theme.groupTitleFontWeight;
215
197
  }, function (props) {
216
198
  return props.theme.groupTitleFontSize;
199
+ }, function (props) {
200
+ return props.selectedGroup ? "color: ".concat(props.theme.groupTitleSelectedFontColor, "; background-color: ").concat(props.theme.groupTitleSelectedBackgroundColor, ";") : "color: ".concat(props.theme.groupTitleFontColor, "; background-color: transparent;");
217
201
  }, function (props) {
218
202
  return props.theme.linkFocusColor;
219
203
  }, function (props) {
220
- return props.theme.groupTitleHoverBackgroundColor;
204
+ return props.selectedGroup ? "color: ".concat(props.theme.groupTitleSelectedHoverFontColor, "; background-color: ").concat(props.theme.groupTitleSelectedHoverBackgroundColor, ";") : "color: ".concat(props.theme.groupTitleFontColor, "; background-color: ").concat(props.theme.groupTitleHoverBackgroundColor, ";");
221
205
  }, function (props) {
222
- return props.theme.groupTitleActiveBackgroundColor;
206
+ return props.selectedGroup ? "#333" : props.theme.groupTitleActiveBackgroundColor;
223
207
  });
224
208
 
225
- var SidenavLink = _styledComponents["default"].a(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n letter-spacing: ", ";\n\n text-transform: ", ";\n text-decoration: ", ";\n\n font-family: ", ";\n font-style: ", ";\n font-weight: ", ";\n font-size: ", ";\n line-height: 19px;\n\n ", "\n\n display: flex;\n align-items: center;\n justify-content: space-between;\n\n box-shadow: 0 0 0 2px transparent;\n\n padding: 0.5rem 1.2rem;\n\n cursor: pointer;\n svg {\n width: 16px;\n margin-right: 0.5rem;\n }\n\n &:hover {\n ", "\n }\n\n &:focus {\n outline: 2px solid ", ";\n outline-offset: -2px;\n }\n\n &:active {\n color: #ffffff;\n background: #4d4d4d;\n outline: 2px solid #0095ff;\n outline-offset: -2px;\n }\n"])), function (props) {
226
- return props.theme.linkFontLetterSpacing;
227
- }, function (props) {
228
- return props.theme.linkFontTextTransform;
229
- }, function (props) {
230
- return props.theme.linkTextDecoration;
231
- }, function (props) {
209
+ var SidenavLink = _styledComponents["default"].a(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 0.5rem;\n padding: 0.5rem 1.2rem;\n box-shadow: 0 0 0 2px transparent;\n font-family: ", ";\n font-style: ", ";\n font-weight: ", ";\n font-size: ", ";\n letter-spacing: ", ";\n text-transform: ", ";\n text-decoration: ", ";\n cursor: pointer;\n\n ", "\n\n &:focus, &:focus-visible {\n outline: 2px solid ", ";\n outline-offset: -2px;\n }\n &:hover {\n ", "\n }\n &:active {\n color: #fff;\n background-color: ", ";\n outline: 2px solid #0095ff;\n outline-offset: -2px;\n }\n\n img,\n svg {\n height: 16px;\n width: 16px;\n }\n"])), function (props) {
232
210
  return props.theme.linkFontFamily;
233
211
  }, function (props) {
234
212
  return props.theme.linkFontStyle;
@@ -237,17 +215,21 @@ var SidenavLink = _styledComponents["default"].a(_templateObject7 || (_templateO
237
215
  }, function (props) {
238
216
  return props.theme.linkFontSize;
239
217
  }, function (props) {
240
- return props.selected ? "color: ".concat(props.theme.linkSelectedFontColor, "; background: ").concat(props.theme.linkSelectedBackgroundColor, ";") : "color: ".concat(props.theme.linkFontColor, "; background: transparent;");
218
+ return props.theme.linkFontLetterSpacing;
241
219
  }, function (props) {
242
- return props.selected ? "color: ".concat(props.theme.linkSelectedHoverFontColor, "; background: ").concat(props.theme.linkSelectedHoverBackgroundColor, ";") : "color: ".concat(props.theme.linkFontColor, "; background: ").concat(props.theme.linkHoverBackgroundColor, ";");
220
+ return props.theme.linkFontTextTransform;
221
+ }, function (props) {
222
+ return props.theme.linkTextDecoration;
223
+ }, function (props) {
224
+ return props.selected ? "color: ".concat(props.theme.linkSelectedFontColor, "; background-color: ").concat(props.theme.linkSelectedBackgroundColor, ";") : "color: ".concat(props.theme.linkFontColor, "; background-color: transparent;");
243
225
  }, function (props) {
244
226
  return props.theme.linkFocusColor;
227
+ }, function (props) {
228
+ return props.selected ? "color: ".concat(props.theme.linkSelectedHoverFontColor, "; background-color: ").concat(props.theme.linkSelectedHoverBackgroundColor, ";") : "color: ".concat(props.theme.linkFontColor, "; background-color: ").concat(props.theme.linkHoverBackgroundColor, ";");
229
+ }, function (props) {
230
+ return props.selected ? "#333" : "#4d4d4d";
245
231
  });
246
232
 
247
- var SidenavContent = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n\n svg {\n width: 16px;\n margin-right: 0.5rem;\n }\n"])));
248
-
249
- var SidenavIcon = _styledComponents["default"].img(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n width: 16px;\n margin-right: 0.5rem;\n"])));
250
-
251
233
  DxcSidenav.Section = Section;
252
234
  DxcSidenav.Group = Group;
253
235
  DxcSidenav.Link = Link;