@dxc-technology/halstack-react 0.0.0-f64ebd5 → 0.0.0-f77ec3a

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 (247) hide show
  1. package/README.md +1 -1
  2. package/babel.config.js +5 -2
  3. package/dist/BackgroundColorContext.js +46 -0
  4. package/dist/ThemeContext.js +237 -2
  5. package/dist/V3Select/V3Select.js +549 -0
  6. package/dist/V3Select/index.d.ts +27 -0
  7. package/dist/V3Textarea/V3Textarea.js +264 -0
  8. package/dist/V3Textarea/index.d.ts +27 -0
  9. package/dist/accordion/Accordion.js +174 -63
  10. package/dist/accordion/index.d.ts +28 -0
  11. package/dist/accordion-group/AccordionGroup.js +186 -0
  12. package/dist/accordion-group/index.d.ts +16 -0
  13. package/dist/alert/Alert.js +183 -84
  14. package/dist/alert/index.d.ts +51 -0
  15. package/dist/badge/Badge.js +63 -0
  16. package/dist/box/Box.js +31 -23
  17. package/dist/box/index.d.ts +25 -0
  18. package/dist/button/Button.js +85 -28
  19. package/dist/button/index.d.ts +24 -0
  20. package/dist/card/Card.js +72 -35
  21. package/dist/card/index.d.ts +22 -0
  22. package/dist/checkbox/Checkbox.js +107 -32
  23. package/dist/checkbox/index.d.ts +24 -0
  24. package/dist/chip/Chip.js +128 -36
  25. package/dist/chip/index.d.ts +22 -0
  26. package/dist/common/RequiredComponent.js +2 -8
  27. package/dist/common/utils.js +2 -22
  28. package/dist/common/variables.js +1451 -277
  29. package/dist/date/Date.js +81 -59
  30. package/dist/date/index.d.ts +27 -0
  31. package/dist/date-input/DateInput.js +400 -0
  32. package/dist/date-input/index.d.ts +95 -0
  33. package/dist/dialog/Dialog.js +58 -37
  34. package/dist/dialog/index.d.ts +18 -0
  35. package/dist/dropdown/Dropdown.js +205 -85
  36. package/dist/dropdown/index.d.ts +26 -0
  37. package/dist/file-input/FileInput.js +644 -0
  38. package/dist/file-input/FileItem.js +287 -0
  39. package/dist/file-input/index.d.ts +81 -0
  40. package/dist/footer/Footer.js +121 -46
  41. package/dist/footer/Icons.js +77 -0
  42. package/dist/footer/index.d.ts +25 -0
  43. package/dist/header/Header.js +200 -102
  44. package/dist/header/Icons.js +59 -0
  45. package/dist/header/index.d.ts +25 -0
  46. package/dist/heading/Heading.js +93 -16
  47. package/dist/heading/index.d.ts +17 -0
  48. package/dist/input-text/Icons.js +22 -0
  49. package/dist/input-text/InputText.js +289 -103
  50. package/dist/input-text/index.d.ts +36 -0
  51. package/dist/layout/ApplicationLayout.js +327 -0
  52. package/dist/layout/Icons.js +55 -0
  53. package/dist/link/Link.js +136 -35
  54. package/dist/link/index.d.ts +23 -0
  55. package/dist/main.d.ts +40 -0
  56. package/dist/main.js +112 -16
  57. package/dist/number-input/NumberInput.js +136 -0
  58. package/dist/number-input/NumberInputContext.js +16 -0
  59. package/dist/number-input/index.d.ts +113 -0
  60. package/dist/paginator/Icons.js +66 -0
  61. package/dist/paginator/Paginator.js +172 -63
  62. package/dist/paginator/index.d.ts +20 -0
  63. package/dist/password-input/PasswordInput.js +203 -0
  64. package/dist/password-input/index.d.ts +94 -0
  65. package/dist/progress-bar/ProgressBar.js +95 -38
  66. package/dist/progress-bar/index.d.ts +18 -0
  67. package/dist/radio/Radio.js +39 -17
  68. package/dist/radio/index.d.ts +23 -0
  69. package/dist/resultsetTable/ResultsetTable.js +93 -68
  70. package/dist/resultsetTable/index.d.ts +19 -0
  71. package/dist/select/Select.js +916 -265
  72. package/dist/select/index.d.ts +53 -0
  73. package/dist/sidenav/Sidenav.js +84 -141
  74. package/dist/sidenav/index.d.ts +13 -0
  75. package/dist/slider/Slider.js +219 -73
  76. package/dist/slider/index.d.ts +29 -0
  77. package/dist/spinner/Spinner.js +247 -59
  78. package/dist/spinner/index.d.ts +17 -0
  79. package/dist/stories/Button.js +71 -0
  80. package/dist/stories/Button.stories.js +55 -0
  81. package/dist/stories/Header.js +67 -0
  82. package/dist/stories/Header.stories.js +31 -0
  83. package/dist/stories/Introduction.stories.mdx +211 -0
  84. package/dist/stories/Page.js +68 -0
  85. package/dist/stories/Page.stories.js +39 -0
  86. package/dist/stories/assets/code-brackets.svg +1 -0
  87. package/dist/stories/assets/colors.svg +1 -0
  88. package/dist/stories/assets/comments.svg +1 -0
  89. package/dist/stories/assets/direction.svg +1 -0
  90. package/dist/stories/assets/flow.svg +1 -0
  91. package/dist/stories/assets/plugin.svg +1 -0
  92. package/dist/stories/assets/repo.svg +1 -0
  93. package/dist/stories/assets/stackalt.svg +1 -0
  94. package/dist/stories/button.css +30 -0
  95. package/dist/stories/header.css +26 -0
  96. package/dist/stories/page.css +69 -0
  97. package/dist/switch/Switch.js +50 -27
  98. package/dist/switch/index.d.ts +24 -0
  99. package/dist/table/Table.js +58 -13
  100. package/dist/table/index.d.ts +13 -0
  101. package/dist/tabs/Tabs.js +207 -36
  102. package/dist/tabs/index.d.ts +19 -0
  103. package/dist/tag/Tag.js +100 -35
  104. package/dist/tag/index.d.ts +24 -0
  105. package/dist/text-input/TextInput.js +974 -0
  106. package/dist/text-input/index.d.ts +135 -0
  107. package/dist/textarea/Textarea.js +248 -106
  108. package/dist/textarea/index.d.ts +117 -0
  109. package/dist/toggle/Toggle.js +16 -19
  110. package/dist/toggle/index.d.ts +21 -0
  111. package/dist/toggle-group/ToggleGroup.js +327 -0
  112. package/dist/toggle-group/index.d.ts +21 -0
  113. package/dist/upload/Upload.js +13 -8
  114. package/dist/upload/buttons-upload/ButtonsUpload.js +32 -19
  115. package/dist/upload/buttons-upload/Icons.js +40 -0
  116. package/dist/upload/dragAndDropArea/DragAndDropArea.js +84 -34
  117. package/dist/upload/dragAndDropArea/Icons.js +39 -0
  118. package/dist/upload/file-upload/FileToUpload.js +64 -33
  119. package/dist/upload/file-upload/Icons.js +66 -0
  120. package/dist/upload/files-upload/FilesToUpload.js +16 -16
  121. package/dist/upload/index.d.ts +15 -0
  122. package/dist/upload/transaction/Icons.js +160 -0
  123. package/dist/upload/transaction/Transaction.js +42 -49
  124. package/dist/upload/transactions/Transactions.js +38 -20
  125. package/dist/useTheme.js +22 -0
  126. package/dist/wizard/Icons.js +65 -0
  127. package/dist/wizard/Wizard.js +138 -60
  128. package/dist/wizard/index.d.ts +18 -0
  129. package/package.json +26 -14
  130. package/test/AccordionGroup.test.js +125 -0
  131. package/test/Date.test.js +15 -13
  132. package/test/DateInput.test.js +242 -0
  133. package/test/Dropdown.test.js +15 -0
  134. package/test/FileInput.test.js +201 -0
  135. package/test/Footer.test.js +2 -7
  136. package/test/Header.test.js +5 -10
  137. package/test/Heading.test.js +60 -12
  138. package/test/InputText.test.js +31 -28
  139. package/test/Link.test.js +25 -7
  140. package/test/NumberInput.test.js +259 -0
  141. package/test/Paginator.test.js +76 -60
  142. package/test/PasswordInput.test.js +83 -0
  143. package/test/ResultsetTable.test.js +65 -17
  144. package/test/Select.test.js +371 -147
  145. package/test/Sidenav.test.js +22 -64
  146. package/test/Slider.test.js +24 -15
  147. package/test/Spinner.test.js +5 -0
  148. package/test/Tabs.test.js +21 -0
  149. package/test/TextInput.test.js +732 -0
  150. package/test/Textarea.test.js +193 -0
  151. package/test/ToggleGroup.test.js +85 -0
  152. package/test/Upload.test.js +1 -1
  153. package/test/V3Select.test.js +212 -0
  154. package/test/{TextArea.test.js → V3TextArea.test.js} +6 -7
  155. package/dist/accordion/Accordion.stories.js +0 -207
  156. package/dist/accordion/readme.md +0 -96
  157. package/dist/alert/Alert.stories.js +0 -158
  158. package/dist/alert/close.svg +0 -4
  159. package/dist/alert/error.svg +0 -4
  160. package/dist/alert/info.svg +0 -4
  161. package/dist/alert/readme.md +0 -43
  162. package/dist/alert/success.svg +0 -4
  163. package/dist/alert/warning.svg +0 -4
  164. package/dist/button/Button.stories.js +0 -224
  165. package/dist/button/readme.md +0 -93
  166. package/dist/checkbox/Checkbox.stories.js +0 -144
  167. package/dist/checkbox/readme.md +0 -116
  168. package/dist/common/services/example-service.js +0 -10
  169. package/dist/common/services/example-service.test.js +0 -12
  170. package/dist/date/Date.stories.js +0 -205
  171. package/dist/date/calendar.svg +0 -1
  172. package/dist/date/calendar_dark.svg +0 -1
  173. package/dist/date/readme.md +0 -73
  174. package/dist/dialog/Dialog.stories.js +0 -217
  175. package/dist/dialog/readme.md +0 -32
  176. package/dist/dropdown/Dropdown.stories.js +0 -249
  177. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  178. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  179. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  180. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  181. package/dist/dropdown/readme.md +0 -69
  182. package/dist/footer/Footer.stories.js +0 -94
  183. package/dist/footer/dxc_logo_wht.png +0 -0
  184. package/dist/footer/readme.md +0 -41
  185. package/dist/header/Header.stories.js +0 -176
  186. package/dist/header/close_icon.svg +0 -1
  187. package/dist/header/dxc_logo_black.png +0 -0
  188. package/dist/header/dxc_logo_white.png +0 -0
  189. package/dist/header/hamb_menu_black.svg +0 -1
  190. package/dist/header/hamb_menu_white.svg +0 -1
  191. package/dist/header/readme.md +0 -33
  192. package/dist/input-text/InputText.stories.js +0 -209
  193. package/dist/input-text/error.svg +0 -1
  194. package/dist/input-text/readme.md +0 -91
  195. package/dist/link/readme.md +0 -51
  196. package/dist/paginator/images/next.svg +0 -3
  197. package/dist/paginator/images/nextPage.svg +0 -3
  198. package/dist/paginator/images/previous.svg +0 -3
  199. package/dist/paginator/images/previousPage.svg +0 -3
  200. package/dist/paginator/readme.md +0 -50
  201. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  202. package/dist/progress-bar/readme.md +0 -63
  203. package/dist/radio/Radio.stories.js +0 -166
  204. package/dist/radio/readme.md +0 -70
  205. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  206. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  207. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  208. package/dist/select/Select.stories.js +0 -235
  209. package/dist/select/readme.md +0 -72
  210. package/dist/sidenav/arrow_icon.svg +0 -3
  211. package/dist/slider/Slider.stories.js +0 -241
  212. package/dist/slider/readme.md +0 -64
  213. package/dist/spinner/Spinner.stories.js +0 -183
  214. package/dist/spinner/readme.md +0 -65
  215. package/dist/switch/Switch.stories.js +0 -134
  216. package/dist/switch/readme.md +0 -133
  217. package/dist/tabs/Tabs.stories.js +0 -130
  218. package/dist/tabs/readme.md +0 -78
  219. package/dist/tabs-for-sections/TabsForSections.js +0 -107
  220. package/dist/tabs-for-sections/readme.md +0 -78
  221. package/dist/toggle/Toggle.stories.js +0 -297
  222. package/dist/toggle/readme.md +0 -80
  223. package/dist/upload/Upload.stories.js +0 -72
  224. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  225. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  226. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  227. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  228. package/dist/upload/file-upload/audio-icon.svg +0 -4
  229. package/dist/upload/file-upload/close.svg +0 -4
  230. package/dist/upload/file-upload/file-icon.svg +0 -4
  231. package/dist/upload/file-upload/video-icon.svg +0 -4
  232. package/dist/upload/readme.md +0 -37
  233. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  234. package/dist/upload/transaction/audio-icon.svg +0 -4
  235. package/dist/upload/transaction/error-icon.svg +0 -4
  236. package/dist/upload/transaction/file-icon-err.svg +0 -4
  237. package/dist/upload/transaction/file-icon.svg +0 -4
  238. package/dist/upload/transaction/image-icon-err.svg +0 -4
  239. package/dist/upload/transaction/image-icon.svg +0 -4
  240. package/dist/upload/transaction/success-icon.svg +0 -4
  241. package/dist/upload/transaction/video-icon-err.svg +0 -4
  242. package/dist/upload/transaction/video-icon.svg +0 -4
  243. package/dist/wizard/invalid_icon.svg +0 -6
  244. package/dist/wizard/valid_icon.svg +0 -6
  245. package/dist/wizard/validation-wrong.svg +0 -6
  246. package/test/TabsForSections.test.js +0 -34
  247. package/test/Toggle.test.js +0 -43
@@ -0,0 +1,53 @@
1
+ type SVG = string | (HTMLElement & SVGElement);
2
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ type Margin = {
4
+ top?: Space;
5
+ bottom?: Space;
6
+ left?: Space;
7
+ right?: Space;
8
+ };
9
+
10
+ type OptionGroup = {
11
+ label: string;
12
+ options: Option[];
13
+ };
14
+ type Option = {
15
+ icon?: string | SVG;
16
+ label: string;
17
+ value: string;
18
+ };
19
+
20
+ type Props = {
21
+ label?: string;
22
+ name?: string;
23
+ value?: string | string[];
24
+ options?: Option[] | OptionGroup[];
25
+ helperText?: string;
26
+ placeholder?: string;
27
+ disabled?: boolean;
28
+ optional?: boolean;
29
+ searchable?: boolean;
30
+ multiple?: boolean;
31
+ onChange?: (value: string | string[]) => void;
32
+ onBlur?: (val: { value: string | string[]; error: string }) => void;
33
+ error?: string;
34
+ /**
35
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
36
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
37
+ */
38
+ margin?: Space | Margin;
39
+ /**
40
+ * Size of the component ('small' | 'medium' | 'large' | 'fillParent').
41
+ */
42
+ size?: "small" | "medium" | "large" | "fillParent";
43
+ /**
44
+ * Value of the tabindex attribute.
45
+ */
46
+ tabIndex?: number;
47
+ /**
48
+ * Reference to the component.
49
+ */
50
+ ref?: React.RefObject<HTMLDivElement>;
51
+ };
52
+
53
+ export default function DxcSelect(props: Props): JSX.Element;
@@ -13,9 +13,7 @@ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers
13
13
 
14
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
15
 
16
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
-
18
- var _react = _interopRequireWildcard(require("react"));
16
+ var _react = _interopRequireDefault(require("react"));
19
17
 
20
18
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
19
 
@@ -23,24 +21,12 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
23
21
 
24
22
  var _variables = require("../common/variables.js");
25
23
 
26
- require("../common/OpenSans.css");
27
-
28
- var _utils = require("../common/utils.js");
29
-
30
- var _ThemeContext = _interopRequireDefault(require("../ThemeContext.js"));
24
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
31
25
 
32
- function _templateObject5() {
33
- var data = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n flex-grow: 1;\n height: 100%;\n padding: ", ";\n margin-left: ", ";\n transition: margin 0.4s ease-in-out;\n width: ", ";\n"]);
34
-
35
- _templateObject5 = function _templateObject5() {
36
- return data;
37
- };
38
-
39
- return data;
40
- }
26
+ var _BackgroundColorContext = require("../BackgroundColorContext.js");
41
27
 
42
28
  function _templateObject4() {
43
- var data = (0, _taggedTemplateLiteral2["default"])(["\n width: 18px;\n height: 18px;\n margin-left: ", ";\n transition: margin 0.4s ease-in;\n"]);
29
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n letter-spacing: ", ";\n text-transform: ", ";\n text-decoration: ", ";\n margin: ", ";\n cursor: pointer;\n\n :focus-visible {\n outline: 2px solid ", ";\n outline-offset: 1px;\n }\n"]);
44
30
 
45
31
  _templateObject4 = function _templateObject4() {
46
32
  return data;
@@ -50,7 +36,7 @@ function _templateObject4() {
50
36
  }
51
37
 
52
38
  function _templateObject3() {
53
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n left: ", ";\n top: ", ";\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 cursor: pointer;\n & > svg {\n fill: ", ";\n }\n"]);
39
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n letter-spacing: ", ";\n text-transform: ", ";\n margin-bottom: 4px;\n"]);
54
40
 
55
41
  _templateObject3 = function _templateObject3() {
56
42
  return data;
@@ -60,7 +46,7 @@ function _templateObject3() {
60
46
  }
61
47
 
62
48
  function _templateObject2() {
63
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n background-color: ", ";\n width: ", ";\n box-sizing: border-box;\n padding: ", ";\n z-index: ", ";\n transform: ", ";\n transition: transform 0.4s ease-in-out;\n"]);
49
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n letter-spacing: ", ";\n text-transform: ", ";\n margin-bottom: 16px;\n"]);
64
50
 
65
51
  _templateObject2 = function _templateObject2() {
66
52
  return data;
@@ -70,7 +56,7 @@ function _templateObject2() {
70
56
  }
71
57
 
72
58
  function _templateObject() {
73
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n position: relative;\n"]);
59
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n background-color: ", ";\n max-width: 300px;\n width: ", ";\n padding: ", ";\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"]);
74
60
 
75
61
  _templateObject = function _templateObject() {
76
62
  return data;
@@ -80,157 +66,114 @@ function _templateObject() {
80
66
  }
81
67
 
82
68
  var DxcSidenav = function DxcSidenav(_ref) {
83
- var navContent = _ref.navContent,
84
- pageContent = _ref.pageContent,
85
- padding = _ref.padding,
86
- mode = _ref.mode,
87
- arrowDistance = _ref.arrowDistance,
88
- _ref$displayArrow = _ref.displayArrow,
89
- displayArrow = _ref$displayArrow === void 0 ? true : _ref$displayArrow;
90
- var ref = (0, _react.useRef)(null);
91
-
92
- var _useState = (0, _react.useState)(),
93
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
94
- sidenavSize = _useState2[0],
95
- setSidenavSize = _useState2[1];
96
-
97
- var _useState3 = (0, _react.useState)(),
98
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
99
- isShown = _useState4[0],
100
- setIsShown = _useState4[1];
101
-
102
- var _useState5 = (0, _react.useState)(),
103
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
104
- isResponsive = _useState6[0],
105
- setIsResponsive = _useState6[1];
106
-
107
- var customTheme = (0, _react.useContext)(_ThemeContext["default"]);
108
- var colorsTheme = (0, _react.useMemo)(function () {
109
- return (0, _utils.getCustomTheme)(_variables.theme, (0, _utils.getCustomTheme)(_variables.defaultTheme, customTheme));
110
- }, [customTheme]);
111
-
112
- var handleVisbility = function handleVisbility(width) {
113
- setIsShown(width <= _variables.responsiveSizes.tablet ? false : true);
114
- };
115
-
116
- var handleResize = function handleResize(width) {
117
- if (width) {
118
- setSidenavSize(width);
119
- if (width <= _variables.responsiveSizes.tablet ? setIsResponsive(true) : setIsResponsive(false)) ;
120
- }
121
- };
122
-
123
- var handleEventListener = function handleEventListener() {
124
- handleResize(ref.current.offsetWidth);
125
- };
126
-
127
- (0, _react.useEffect)(function () {
128
- if (ref.current) {
129
- window.addEventListener("resize", handleEventListener);
130
- handleResize(ref.current.offsetWidth);
131
- handleVisbility(ref.current.offsetWidth);
132
- }
133
-
134
- return function () {
135
- window.removeEventListener("resize", handleEventListener);
136
- };
137
- }, []);
138
-
139
- var handleSidenav = function handleSidenav() {
140
- setIsShown(!isShown);
141
- };
142
-
143
- var ArrowIcon = function ArrowIcon() {
144
- return _react["default"].createElement("svg", {
145
- xmlns: "http://www.w3.org/2000/svg",
146
- width: "15.995",
147
- height: "10.01",
148
- viewBox: "0 0 15.995 10.01"
149
- }, _react["default"].createElement("path", {
150
- "data-testid": "arrow-to-right",
151
- 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",
152
- transform: "translate(-2 -6.996)"
153
- }));
154
- };
155
-
69
+ var padding = _ref.padding,
70
+ children = _ref.children;
71
+ var colorsTheme = (0, _useTheme["default"])();
156
72
  return _react["default"].createElement(_styledComponents.ThemeProvider, {
157
73
  theme: colorsTheme.sidenav
158
- }, _react["default"].createElement(SidenavComponent, {
159
- ref: ref
160
- }, ref.current && _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(Sidenav, {
161
- navContent: navContent,
162
- isShown: isShown,
163
- padding: padding,
164
- mode: isResponsive ? "overlay" : mode,
165
- sidenavSize: sidenavSize,
166
- isResponsive: isResponsive
167
- }, navContent, (displayArrow || isResponsive) && _react["default"].createElement(ArrowTrigger, {
168
- onClick: handleSidenav,
169
- isShown: isShown,
170
- sidenavSize: sidenavSize,
171
- arrowDistance: arrowDistance
172
- }, _react["default"].createElement(ArrowIcon, {
173
- isShown: isShown
174
- }))), _react["default"].createElement(PageContent, {
175
- pageContent: pageContent,
176
- padding: padding,
177
- isShown: isShown,
178
- mode: isResponsive ? "overlay" : mode,
179
- sidenavSize: sidenavSize,
180
- isResponsive: isResponsive
181
- }, pageContent))));
74
+ }, _react["default"].createElement(SideNavContainer, {
75
+ padding: padding
76
+ }, _react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
77
+ color: colorsTheme.sidenav.backgroundColor
78
+ }, children)));
182
79
  };
183
80
 
184
- var SidenavComponent = _styledComponents["default"].div(_templateObject());
81
+ var Title = function Title(_ref2) {
82
+ var children = _ref2.children;
83
+ return _react["default"].createElement(SideNavMenuTitle, null, children);
84
+ };
85
+
86
+ var Subtitle = function Subtitle(_ref3) {
87
+ var children = _ref3.children;
88
+ return _react["default"].createElement(SideNavMenuSubTitle, null, children);
89
+ };
185
90
 
186
- var Sidenav = _styledComponents["default"].div(_templateObject2(), function (props) {
91
+ var Link = function Link(_ref4) {
92
+ var href = _ref4.href,
93
+ onClick = _ref4.onClick,
94
+ children = _ref4.children;
95
+ return _react["default"].createElement(SideNavMenuLink, {
96
+ href: href,
97
+ onClick: onClick
98
+ }, children);
99
+ };
100
+
101
+ var SideNavContainer = _styledComponents["default"].div(_templateObject(), function (props) {
187
102
  return props.theme.backgroundColor;
188
103
  }, function (props) {
189
- return props.sidenavSize <= _variables.responsiveSizes.tablet ? "60%" : "300px";
104
+ return props.padding ? "calc(300px - ".concat(_variables.spaces[props.padding], " - ").concat(_variables.spaces[props.padding], ")") : "300px";
190
105
  }, function (props) {
191
106
  return props.padding ? _variables.spaces[props.padding] : "";
192
107
  }, function (props) {
193
- return props.mode === "overlay" ? "400" : "auto";
108
+ return props.theme.scrollBarTrackColor;
194
109
  }, function (props) {
195
- return props.isShown ? "translateX(0)" : !props.isShown ? "translateX(-100%)" : "";
110
+ return props.theme.scrollBarThumbColor;
196
111
  });
197
112
 
198
- var ArrowTrigger = _styledComponents["default"].div(_templateObject3(), function (props) {
199
- return props.sidenavSize <= _variables.responsiveSizes.tablet ? "calc(100% - 21px)" : "279px";
113
+ var SideNavMenuTitle = _styledComponents["default"].div(_templateObject2(), function (props) {
114
+ return props.theme.titleFontFamily;
115
+ }, function (props) {
116
+ return props.theme.titleFontSize;
200
117
  }, function (props) {
201
- return props.arrowDistance ? props.arrowDistance : "calc(50% - 21px)";
118
+ return props.theme.titleFontStyle;
202
119
  }, function (props) {
203
- return "".concat(props.theme.arrowContainerColor).concat(props.theme.arrowContainerOpacity);
120
+ return props.theme.titleFontWeight;
204
121
  }, function (props) {
205
- return props.isShown ? "rotate(-180deg)" : "rotate(0deg)";
122
+ return props.theme.titleFontColor;
206
123
  }, function (props) {
207
- return props.theme.arrowColor;
124
+ return props.theme.titleFontLetterSpacing;
125
+ }, function (props) {
126
+ return props.theme.titleFontTextTransform;
208
127
  });
209
128
 
210
- var ArrowStyled = _styledComponents["default"].div(_templateObject4(), function (props) {
211
- return props.isShown ? "0" : "10px";
129
+ var SideNavMenuSubTitle = _styledComponents["default"].div(_templateObject3(), function (props) {
130
+ return props.theme.subtitleFontFamily;
131
+ }, function (props) {
132
+ return props.theme.subtitleFontSize;
133
+ }, function (props) {
134
+ return props.theme.subtitleFontStyle;
135
+ }, function (props) {
136
+ return props.theme.subtitleFontWeight;
137
+ }, function (props) {
138
+ return props.theme.subtitleFontColor;
139
+ }, function (props) {
140
+ return props.theme.subtitleFontLetterSpacing;
141
+ }, function (props) {
142
+ return props.theme.subtitleFontTextTransform;
212
143
  });
213
144
 
214
- var PageContent = _styledComponents["default"].div(_templateObject5(), function (props) {
215
- return props.padding ? _variables.spaces[props.padding] : "";
145
+ var SideNavMenuLink = _styledComponents["default"].a(_templateObject4(), function (props) {
146
+ return props.theme.linkFontFamily;
147
+ }, function (props) {
148
+ return props.theme.linkFontSize;
149
+ }, function (props) {
150
+ return props.theme.linkFontStyle;
151
+ }, function (props) {
152
+ return props.theme.linkFontWeight;
153
+ }, function (props) {
154
+ return props.theme.linkFontColor;
155
+ }, function (props) {
156
+ return props.theme.linkFontLetterSpacing;
157
+ }, function (props) {
158
+ return props.theme.linkFontTextTransform;
159
+ }, function (props) {
160
+ return props.theme.linkTextDecoration;
216
161
  }, function (props) {
217
- return props.isShown && props.mode === "push" && !props.isResponsive ? "" : !props.isResponsive ? "-300px" : "-60%";
162
+ return "".concat(props.theme.linkMarginTop, " ").concat(props.theme.linkMarginRight, " ").concat(props.theme.linkMarginBottom, " ").concat(props.theme.linkMarginLeft);
218
163
  }, function (props) {
219
- return props.isShown && props.mode === "push" ? "calc(100% - 300px)" : "calc(100%)";
164
+ return props.theme.linkFocusColor;
220
165
  });
221
166
 
222
167
  DxcSidenav.propTypes = {
223
- mode: _propTypes["default"].oneOf(["overlay", "push", ""]),
224
168
  padding: _propTypes["default"].oneOfType([_propTypes["default"].shape({
225
169
  top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
226
170
  bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
227
171
  left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
228
172
  right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
229
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
230
- navContent: _propTypes["default"].object,
231
- pageContent: _propTypes["default"].object,
232
- arrowDistance: _propTypes["default"].string,
233
- displayArrow: _propTypes["default"].bool
173
+ }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
234
174
  };
175
+ DxcSidenav.Title = Title;
176
+ DxcSidenav.Subtitle = Subtitle;
177
+ DxcSidenav.Link = Link;
235
178
  var _default = DxcSidenav;
236
179
  exports["default"] = _default;
@@ -0,0 +1,13 @@
1
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
+ type Padding = {
3
+ top?: Space;
4
+ bottom?: Space;
5
+ left?: Space;
6
+ right?: Space;
7
+ };
8
+
9
+ type Props = {
10
+ padding?: Space | Padding;
11
+ };
12
+
13
+ export default function DxcSidenav(props: Props): JSX.Element;