@dxc-technology/halstack-react 0.0.0-e904570 → 0.0.0-e961efe

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 +2 -2
  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 +170 -81
  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 +184 -83
  14. package/dist/alert/index.d.ts +51 -0
  15. package/dist/badge/Badge.js +63 -0
  16. package/dist/box/Box.js +39 -19
  17. package/dist/box/index.d.ts +25 -0
  18. package/dist/button/Button.js +84 -29
  19. package/dist/button/index.d.ts +24 -0
  20. package/dist/card/Card.js +64 -56
  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 +135 -40
  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 +1482 -105
  29. package/dist/date/Date.js +110 -73
  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 +61 -36
  34. package/dist/dialog/index.d.ts +18 -0
  35. package/dist/dropdown/Dropdown.js +226 -94
  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 +125 -45
  41. package/dist/footer/Icons.js +77 -0
  42. package/dist/footer/index.d.ts +25 -0
  43. package/dist/header/Header.js +211 -91
  44. package/dist/header/Icons.js +59 -0
  45. package/dist/header/index.d.ts +25 -0
  46. package/dist/heading/Heading.js +93 -22
  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 +292 -106
  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 +142 -34
  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 +184 -57
  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 +97 -44
  66. package/dist/progress-bar/index.d.ts +18 -0
  67. package/dist/radio/Radio.js +39 -21
  68. package/dist/radio/index.d.ts +23 -0
  69. package/dist/resultsetTable/ResultsetTable.js +93 -69
  70. package/dist/resultsetTable/index.d.ts +19 -0
  71. package/dist/select/Select.js +917 -263
  72. package/dist/select/index.d.ts +53 -0
  73. package/dist/sidenav/Sidenav.js +87 -125
  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 +249 -64
  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 +52 -25
  98. package/dist/switch/index.d.ts +24 -0
  99. package/dist/table/Table.js +63 -15
  100. package/dist/table/index.d.ts +13 -0
  101. package/dist/tabs/Tabs.js +210 -50
  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 +250 -107
  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 +35 -25
  115. package/dist/upload/buttons-upload/Icons.js +40 -0
  116. package/dist/upload/dragAndDropArea/DragAndDropArea.js +84 -37
  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 +156 -61
  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 +19 -4
  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 _arrow_icon = _interopRequireDefault(require("./arrow_icon.svg"));
29
-
30
- var _ThemeContext = _interopRequireDefault(require("../ThemeContext.js"));
31
-
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
- };
24
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
38
25
 
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"]);
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\n background-color: #f8f8f8;\n\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,138 +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 colorsTheme = (0, _react.useContext)(_ThemeContext["default"]) || _variables.colors;
108
-
109
- var handleVisbility = function handleVisbility(width) {
110
- setIsShown(width <= _variables.responsiveSizes.tablet ? false : true);
111
- };
112
-
113
- var handleResize = function handleResize(width) {
114
- if (width) {
115
- setSidenavSize(width);
116
- if (width <= _variables.responsiveSizes.tablet ? setIsResponsive(true) : setIsResponsive(false)) ;
117
- }
118
- };
119
-
120
- var handleEventListener = function handleEventListener() {
121
- handleResize(ref.current.offsetWidth);
122
- };
123
-
124
- (0, _react.useEffect)(function () {
125
- if (ref.current) {
126
- window.addEventListener("resize", handleEventListener);
127
- handleResize(ref.current.offsetWidth);
128
- handleVisbility(ref.current.offsetWidth);
129
- }
130
-
131
- return function () {
132
- window.removeEventListener("resize", handleEventListener);
133
- };
134
- }, []);
69
+ var padding = _ref.padding,
70
+ children = _ref.children;
71
+ var colorsTheme = (0, _useTheme["default"])();
72
+ return _react["default"].createElement(_styledComponents.ThemeProvider, {
73
+ theme: colorsTheme.sidenav
74
+ }, _react["default"].createElement(SideNavContainer, {
75
+ padding: padding
76
+ }, _react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
77
+ color: colorsTheme.sidenav.backgroundColor
78
+ }, children)));
79
+ };
135
80
 
136
- var handleSidenav = function handleSidenav() {
137
- setIsShown(!isShown);
138
- };
81
+ var Title = function Title(_ref2) {
82
+ var children = _ref2.children;
83
+ return _react["default"].createElement(SideNavMenuTitle, null, children);
84
+ };
139
85
 
140
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
141
- theme: colorsTheme
142
- }, _react["default"].createElement(SidenavComponent, {
143
- ref: ref
144
- }, ref.current && _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(Sidenav, {
145
- navContent: navContent,
146
- isShown: isShown,
147
- padding: padding,
148
- mode: isResponsive ? "overlay" : mode,
149
- sidenavSize: sidenavSize,
150
- isResponsive: isResponsive
151
- }, navContent, (displayArrow || isResponsive) && _react["default"].createElement(ArrowTrigger, {
152
- onClick: handleSidenav,
153
- isShown: isShown,
154
- sidenavSize: sidenavSize,
155
- arrowDistance: arrowDistance
156
- }, _react["default"].createElement(ArrowImage, {
157
- src: _arrow_icon["default"],
158
- isShown: isShown
159
- }))), _react["default"].createElement(PageContent, {
160
- pageContent: pageContent,
161
- padding: padding,
162
- isShown: isShown,
163
- mode: isResponsive ? "overlay" : mode,
164
- sidenavSize: sidenavSize,
165
- isResponsive: isResponsive
166
- }, pageContent))));
86
+ var Subtitle = function Subtitle(_ref3) {
87
+ var children = _ref3.children;
88
+ return _react["default"].createElement(SideNavMenuSubTitle, null, children);
167
89
  };
168
90
 
169
- var SidenavComponent = _styledComponents["default"].div(_templateObject());
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
+ };
170
100
 
171
- var Sidenav = _styledComponents["default"].div(_templateObject2(), function (props) {
172
- return props.sidenavSize <= _variables.responsiveSizes.tablet ? "60%" : "300px";
101
+ var SideNavContainer = _styledComponents["default"].div(_templateObject(), function (props) {
102
+ return props.theme.backgroundColor;
103
+ }, function (props) {
104
+ return props.padding ? "calc(300px - ".concat(_variables.spaces[props.padding], " - ").concat(_variables.spaces[props.padding], ")") : "300px";
173
105
  }, function (props) {
174
106
  return props.padding ? _variables.spaces[props.padding] : "";
175
107
  }, function (props) {
176
- return props.mode === "overlay" ? "400" : "auto";
108
+ return props.theme.scrollBarTrackColor;
177
109
  }, function (props) {
178
- return props.isShown ? "translateX(0)" : !props.isShown ? "translateX(-100%)" : "";
110
+ return props.theme.scrollBarThumbColor;
179
111
  });
180
112
 
181
- var ArrowTrigger = _styledComponents["default"].div(_templateObject3(), function (props) {
182
- 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;
117
+ }, function (props) {
118
+ return props.theme.titleFontStyle;
183
119
  }, function (props) {
184
- return props.arrowDistance ? props.arrowDistance : "calc(50% - 21px)";
120
+ return props.theme.titleFontWeight;
185
121
  }, function (props) {
186
- return props.theme.lighterGrey;
122
+ return props.theme.titleFontColor;
187
123
  }, function (props) {
188
- return props.isShown ? "rotate(-180deg)" : "rotate(0deg)";
124
+ return props.theme.titleFontLetterSpacing;
125
+ }, function (props) {
126
+ return props.theme.titleFontTextTransform;
189
127
  });
190
128
 
191
- var ArrowImage = _styledComponents["default"].img(_templateObject4(), function (props) {
192
- 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;
193
143
  });
194
144
 
195
- var PageContent = _styledComponents["default"].div(_templateObject5(), function (props) {
196
- 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;
197
161
  }, function (props) {
198
- 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);
199
163
  }, function (props) {
200
- return props.isShown && props.mode === "push" ? "calc(100% - 300px)" : "calc(100%)";
164
+ return props.theme.linkFocusColor;
201
165
  });
202
166
 
203
167
  DxcSidenav.propTypes = {
204
- mode: _propTypes["default"].oneOf(["overlay", "push", ""]),
205
168
  padding: _propTypes["default"].oneOfType([_propTypes["default"].shape({
206
169
  top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
207
170
  bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
208
171
  left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
209
172
  right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
210
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
211
- navContent: _propTypes["default"].object,
212
- pageContent: _propTypes["default"].object,
213
- arrowDistance: _propTypes["default"].string,
214
- displayArrow: _propTypes["default"].bool
173
+ }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
215
174
  };
175
+ DxcSidenav.Title = Title;
176
+ DxcSidenav.Subtitle = Subtitle;
177
+ DxcSidenav.Link = Link;
216
178
  var _default = DxcSidenav;
217
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;