@dxc-technology/halstack-react 0.0.0-c9b5c13 → 0.0.0-ca55cbe

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 (243) 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 +104 -16
  7. package/accordion/Accordion.test.js +10 -11
  8. package/accordion/types.d.ts +2 -1
  9. package/accordion-group/AccordionGroup.js +4 -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 +4 -6
  14. package/alert/Alert.stories.tsx +28 -0
  15. package/alert/Alert.test.js +1 -1
  16. package/bleed/Bleed.js +1 -34
  17. package/bleed/Bleed.stories.tsx +95 -95
  18. package/bleed/types.d.ts +1 -1
  19. package/box/Box.js +4 -6
  20. package/box/Box.stories.tsx +15 -0
  21. package/box/Box.test.js +1 -1
  22. package/box/types.d.ts +1 -0
  23. package/bulleted-list/BulletedList.d.ts +7 -0
  24. package/bulleted-list/BulletedList.js +125 -0
  25. package/bulleted-list/BulletedList.stories.tsx +206 -0
  26. package/bulleted-list/types.d.ts +11 -0
  27. package/button/Button.js +52 -73
  28. package/button/Button.stories.tsx +159 -8
  29. package/button/Button.test.js +1 -1
  30. package/button/types.d.ts +5 -5
  31. package/card/Card.js +12 -13
  32. package/card/Card.stories.tsx +12 -13
  33. package/card/Card.test.js +1 -1
  34. package/card/types.d.ts +1 -0
  35. package/checkbox/Checkbox.d.ts +2 -2
  36. package/checkbox/Checkbox.js +94 -101
  37. package/checkbox/Checkbox.stories.tsx +131 -59
  38. package/checkbox/Checkbox.test.js +94 -17
  39. package/checkbox/types.d.ts +4 -0
  40. package/chip/Chip.js +18 -26
  41. package/chip/Chip.stories.tsx +96 -9
  42. package/chip/Chip.test.js +3 -5
  43. package/chip/types.d.ts +1 -1
  44. package/common/OpenSans.css +68 -80
  45. package/common/coreTokens.d.ts +146 -0
  46. package/common/coreTokens.js +167 -0
  47. package/common/utils.d.ts +1 -0
  48. package/common/utils.js +4 -4
  49. package/common/variables.d.ts +1482 -0
  50. package/common/variables.js +1009 -1118
  51. package/date-input/Calendar.d.ts +4 -0
  52. package/date-input/Calendar.js +258 -0
  53. package/date-input/DateInput.js +134 -237
  54. package/date-input/DateInput.stories.tsx +199 -33
  55. package/date-input/DateInput.test.js +494 -138
  56. package/date-input/DatePicker.d.ts +4 -0
  57. package/date-input/DatePicker.js +146 -0
  58. package/date-input/Icons.d.ts +6 -0
  59. package/date-input/Icons.js +75 -0
  60. package/date-input/YearPicker.d.ts +4 -0
  61. package/date-input/YearPicker.js +126 -0
  62. package/date-input/types.d.ts +51 -0
  63. package/dialog/Dialog.js +80 -69
  64. package/dialog/Dialog.stories.tsx +230 -123
  65. package/dialog/Dialog.test.js +334 -5
  66. package/dialog/types.d.ts +1 -0
  67. package/dropdown/Dropdown.d.ts +1 -1
  68. package/dropdown/Dropdown.js +246 -249
  69. package/dropdown/Dropdown.stories.tsx +245 -56
  70. package/dropdown/Dropdown.test.js +507 -110
  71. package/dropdown/DropdownMenu.d.ts +4 -0
  72. package/dropdown/DropdownMenu.js +74 -0
  73. package/dropdown/DropdownMenuItem.d.ts +4 -0
  74. package/dropdown/DropdownMenuItem.js +79 -0
  75. package/dropdown/types.d.ts +23 -3
  76. package/file-input/FileInput.d.ts +2 -2
  77. package/file-input/FileInput.js +174 -220
  78. package/file-input/FileInput.stories.tsx +122 -11
  79. package/file-input/FileInput.test.js +14 -14
  80. package/file-input/FileItem.d.ts +4 -14
  81. package/file-input/FileItem.js +39 -63
  82. package/file-input/types.d.ts +17 -0
  83. package/flex/Flex.d.ts +4 -0
  84. package/flex/Flex.js +71 -0
  85. package/flex/Flex.stories.tsx +112 -0
  86. package/flex/types.d.ts +97 -0
  87. package/footer/Footer.js +6 -8
  88. package/footer/Footer.stories.tsx +99 -1
  89. package/footer/Footer.test.js +14 -26
  90. package/footer/Icons.js +1 -1
  91. package/footer/types.d.ts +2 -1
  92. package/grid/Grid.d.ts +7 -0
  93. package/grid/Grid.js +91 -0
  94. package/grid/Grid.stories.tsx +219 -0
  95. package/grid/types.d.ts +115 -0
  96. package/header/Header.d.ts +3 -2
  97. package/header/Header.js +89 -89
  98. package/header/Header.stories.tsx +152 -9
  99. package/header/Header.test.js +2 -2
  100. package/header/Icons.js +2 -2
  101. package/header/types.d.ts +1 -0
  102. package/heading/Heading.js +1 -1
  103. package/heading/Heading.test.js +1 -1
  104. package/inset/Inset.js +1 -34
  105. package/inset/Inset.stories.tsx +37 -36
  106. package/inset/types.d.ts +1 -1
  107. package/layout/ApplicationLayout.d.ts +15 -6
  108. package/layout/ApplicationLayout.js +38 -66
  109. package/layout/ApplicationLayout.stories.tsx +80 -44
  110. package/layout/types.d.ts +18 -29
  111. package/link/Link.js +4 -4
  112. package/link/Link.stories.tsx +73 -6
  113. package/link/Link.test.js +2 -4
  114. package/link/types.d.ts +3 -3
  115. package/main.d.ts +7 -9
  116. package/main.js +33 -49
  117. package/{tabs-nav → nav-tabs}/NavTabs.js +6 -6
  118. package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +96 -6
  119. package/{tabs-nav → nav-tabs}/NavTabs.test.js +1 -1
  120. package/{tabs-nav → nav-tabs}/Tab.js +40 -22
  121. package/{tabs-nav → nav-tabs}/types.d.ts +1 -1
  122. package/number-input/NumberInput.test.js +44 -8
  123. package/package.json +17 -21
  124. package/paginator/Icons.d.ts +5 -0
  125. package/paginator/Icons.js +16 -28
  126. package/paginator/Paginator.js +7 -15
  127. package/paginator/Paginator.stories.tsx +24 -0
  128. package/paginator/Paginator.test.js +78 -39
  129. package/paragraph/Paragraph.d.ts +5 -0
  130. package/paragraph/Paragraph.js +38 -0
  131. package/paragraph/Paragraph.stories.tsx +44 -0
  132. package/password-input/PasswordInput.test.js +14 -13
  133. package/progress-bar/ProgressBar.js +60 -54
  134. package/progress-bar/ProgressBar.stories.jsx +38 -3
  135. package/progress-bar/ProgressBar.test.js +68 -23
  136. package/quick-nav/QuickNav.js +25 -20
  137. package/quick-nav/QuickNav.stories.tsx +145 -26
  138. package/radio-group/Radio.d.ts +1 -1
  139. package/radio-group/Radio.js +43 -28
  140. package/radio-group/RadioGroup.js +23 -22
  141. package/radio-group/RadioGroup.stories.tsx +132 -18
  142. package/radio-group/RadioGroup.test.js +124 -97
  143. package/radio-group/types.d.ts +2 -2
  144. package/resultsetTable/Icons.d.ts +7 -0
  145. package/resultsetTable/Icons.js +51 -0
  146. package/resultsetTable/ResultsetTable.js +49 -108
  147. package/resultsetTable/ResultsetTable.stories.tsx +50 -25
  148. package/resultsetTable/ResultsetTable.test.js +61 -42
  149. package/resultsetTable/types.d.ts +1 -1
  150. package/select/Listbox.d.ts +1 -1
  151. package/select/Listbox.js +33 -16
  152. package/select/Option.js +11 -24
  153. package/select/Select.js +92 -71
  154. package/select/Select.stories.tsx +513 -136
  155. package/select/Select.test.js +413 -305
  156. package/select/types.d.ts +3 -6
  157. package/sidenav/Icons.d.ts +7 -0
  158. package/sidenav/Icons.js +51 -0
  159. package/sidenav/Sidenav.d.ts +6 -5
  160. package/sidenav/Sidenav.js +139 -48
  161. package/sidenav/Sidenav.stories.tsx +251 -151
  162. package/sidenav/Sidenav.test.js +25 -37
  163. package/sidenav/types.d.ts +52 -26
  164. package/slider/Slider.d.ts +2 -2
  165. package/slider/Slider.js +121 -97
  166. package/slider/Slider.stories.tsx +64 -1
  167. package/slider/Slider.test.js +122 -22
  168. package/slider/types.d.ts +4 -0
  169. package/spinner/Spinner.js +17 -23
  170. package/spinner/Spinner.stories.jsx +53 -27
  171. package/spinner/Spinner.test.js +1 -1
  172. package/switch/Switch.d.ts +2 -2
  173. package/switch/Switch.js +137 -70
  174. package/switch/Switch.stories.tsx +41 -30
  175. package/switch/Switch.test.js +145 -18
  176. package/switch/types.d.ts +4 -0
  177. package/table/Table.js +3 -3
  178. package/table/Table.stories.jsx +80 -1
  179. package/table/Table.test.js +2 -2
  180. package/tabs/Tab.d.ts +4 -0
  181. package/tabs/Tab.js +132 -0
  182. package/tabs/Tabs.js +358 -108
  183. package/tabs/Tabs.stories.tsx +119 -5
  184. package/tabs/Tabs.test.js +220 -10
  185. package/tabs/types.d.ts +13 -3
  186. package/tag/Tag.js +8 -10
  187. package/tag/Tag.stories.tsx +14 -1
  188. package/tag/Tag.test.js +1 -1
  189. package/tag/types.d.ts +1 -1
  190. package/text-input/Icons.d.ts +8 -0
  191. package/text-input/Icons.js +60 -0
  192. package/text-input/Suggestion.js +40 -11
  193. package/text-input/Suggestions.d.ts +4 -0
  194. package/text-input/Suggestions.js +134 -0
  195. package/text-input/TextInput.js +198 -295
  196. package/text-input/TextInput.stories.tsx +280 -185
  197. package/text-input/TextInput.test.js +736 -725
  198. package/text-input/types.d.ts +22 -3
  199. package/textarea/Textarea.js +3 -4
  200. package/textarea/Textarea.stories.jsx +60 -1
  201. package/textarea/Textarea.test.js +2 -4
  202. package/toggle-group/ToggleGroup.js +7 -4
  203. package/toggle-group/ToggleGroup.stories.tsx +42 -0
  204. package/toggle-group/ToggleGroup.test.js +1 -1
  205. package/toggle-group/types.d.ts +2 -2
  206. package/typography/Typography.d.ts +4 -0
  207. package/typography/Typography.js +32 -0
  208. package/typography/Typography.stories.tsx +198 -0
  209. package/typography/types.d.ts +18 -0
  210. package/typography/types.js +5 -0
  211. package/useTheme.d.ts +1234 -1
  212. package/useTheme.js +1 -1
  213. package/useTranslatedLabels.d.ts +84 -1
  214. package/utils/BaseTypography.d.ts +21 -0
  215. package/utils/BaseTypography.js +108 -0
  216. package/utils/FocusLock.d.ts +13 -0
  217. package/utils/FocusLock.js +139 -0
  218. package/wizard/Wizard.js +10 -17
  219. package/wizard/Wizard.stories.tsx +40 -1
  220. package/wizard/Wizard.test.js +1 -1
  221. package/wizard/types.d.ts +3 -3
  222. package/common/RequiredComponent.js +0 -32
  223. package/list/List.d.ts +0 -4
  224. package/list/List.js +0 -47
  225. package/list/List.stories.tsx +0 -95
  226. package/list/types.d.ts +0 -7
  227. package/row/Row.d.ts +0 -3
  228. package/row/Row.js +0 -127
  229. package/row/Row.stories.tsx +0 -237
  230. package/row/types.d.ts +0 -28
  231. package/stack/Stack.d.ts +0 -3
  232. package/stack/Stack.js +0 -97
  233. package/stack/Stack.stories.tsx +0 -164
  234. package/stack/types.d.ts +0 -24
  235. package/text/Text.d.ts +0 -7
  236. package/text/Text.js +0 -30
  237. package/text/Text.stories.tsx +0 -19
  238. /package/{list → bulleted-list}/types.js +0 -0
  239. /package/{row → flex}/types.js +0 -0
  240. /package/{stack → grid}/types.js +0 -0
  241. /package/{tabs-nav → nav-tabs}/NavTabs.d.ts +0 -0
  242. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
  243. /package/{tabs-nav → nav-tabs}/types.js +0 -0
package/inset/Inset.js CHANGED
@@ -36,40 +36,7 @@ function Inset(_ref) {
36
36
  }
37
37
 
38
38
  function getSpacingValue(spacingName) {
39
- switch (spacingName) {
40
- case "none":
41
- return "0rem";
42
-
43
- case "xxxsmall":
44
- return "0.125rem";
45
-
46
- case "xxsmall":
47
- return "0.25rem";
48
-
49
- case "xsmall":
50
- return "0.5rem";
51
-
52
- case "small":
53
- return "1rem";
54
-
55
- case "medium":
56
- return "1.5rem";
57
-
58
- case "large":
59
- return "2rem";
60
-
61
- case "xlarge":
62
- return "3rem";
63
-
64
- case "xxlarge":
65
- return "4rem";
66
-
67
- case "xxxlarge":
68
- return "5rem";
69
-
70
- default:
71
- return "0rem";
72
- }
39
+ return spacingName ? spacingName : "0rem";
73
40
  }
74
41
 
75
42
  var StyledInset = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n"])), function (_ref2) {
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import Title from "../../.storybook/components/Title";
3
3
  import styled from "styled-components";
4
- import DxcStack from "./../stack/Stack";
4
+ import DxcFlex from "./../flex/Flex";
5
5
  import DxcInset from "./Inset";
6
6
 
7
7
  export default {
@@ -19,199 +19,199 @@ export const Chromatic = () => (
19
19
  </Container>
20
20
  <Title title="space = none" level={4} />
21
21
  <Container>
22
- <DxcInset space="none">
22
+ <DxcInset space="0rem">
23
23
  <Placeholder></Placeholder>
24
24
  </DxcInset>
25
25
  </Container>
26
26
  <Title title="space = xxxsmall" level={4} />
27
27
  <Container>
28
- <DxcInset space="xxxsmall">
28
+ <DxcInset space="0.125rem">
29
29
  <Placeholder></Placeholder>
30
30
  </DxcInset>
31
31
  </Container>
32
32
  <Title title="space = xxsmall" level={4} />
33
33
  <Container>
34
- <DxcInset space="xxsmall">
34
+ <DxcInset space="0.25rem">
35
35
  <Placeholder></Placeholder>
36
36
  </DxcInset>
37
37
  </Container>
38
38
  <Title title="space = xsmall" level={4} />
39
39
  <Container>
40
- <DxcInset space="xsmall">
40
+ <DxcInset space="0.5rem">
41
41
  <Placeholder></Placeholder>
42
42
  </DxcInset>
43
43
  </Container>
44
44
  <Title title="space = small" level={4} />
45
45
  <Container>
46
- <DxcInset space="small">
46
+ <DxcInset space="1rem">
47
47
  <Placeholder></Placeholder>
48
48
  </DxcInset>
49
49
  </Container>
50
50
  <Title title="space = medium" level={4} />
51
51
  <Container>
52
- <DxcInset space="medium">
52
+ <DxcInset space="1.5rem">
53
53
  <Placeholder></Placeholder>
54
54
  </DxcInset>
55
55
  </Container>
56
56
  <Title title="space = large" level={4} />
57
57
  <Container>
58
- <DxcInset space="large">
58
+ <DxcInset space="2rem">
59
59
  <Placeholder></Placeholder>
60
60
  </DxcInset>
61
61
  </Container>
62
62
  <Title title="space = xlarge" level={4} />
63
63
  <Container>
64
- <DxcInset space="xlarge">
64
+ <DxcInset space="3rem">
65
65
  <Placeholder></Placeholder>
66
66
  </DxcInset>
67
67
  </Container>
68
68
  <Title title="space = xxlarge" level={4} />
69
69
  <Container>
70
- <DxcInset space="xxlarge">
70
+ <DxcInset space="4rem">
71
71
  <Placeholder></Placeholder>
72
72
  </DxcInset>
73
73
  </Container>
74
74
  <Title title="space = xxxlarge" level={4} />
75
75
  <Container>
76
- <DxcInset space="xxxlarge">
76
+ <DxcInset space="5rem">
77
77
  <Placeholder></Placeholder>
78
78
  </DxcInset>
79
79
  </Container>
80
80
  <Title title="horizontal = none" level={4} />
81
81
  <Container>
82
- <DxcInset horizontal="none">
82
+ <DxcInset horizontal="0rem">
83
83
  <Placeholder></Placeholder>
84
84
  </DxcInset>
85
85
  </Container>
86
86
  <Title title="horizontal = xxxsmall" level={4} />
87
87
  <Container>
88
- <DxcInset horizontal="xxxsmall">
88
+ <DxcInset horizontal="0.125rem">
89
89
  <Placeholder></Placeholder>
90
90
  </DxcInset>
91
91
  </Container>
92
92
  <Title title="horizontal = xxsmall" level={4} />
93
93
  <Container>
94
- <DxcInset horizontal="xxsmall">
94
+ <DxcInset horizontal="0.25rem">
95
95
  <Placeholder></Placeholder>
96
96
  </DxcInset>
97
97
  </Container>
98
98
  <Title title="horizontal = xsmall" level={4} />
99
99
  <Container>
100
- <DxcInset horizontal="xsmall">
100
+ <DxcInset horizontal="0.5rem">
101
101
  <Placeholder></Placeholder>
102
102
  </DxcInset>
103
103
  </Container>
104
104
  <Title title="horizontal = small" level={4} />
105
105
  <Container>
106
- <DxcInset horizontal="small">
106
+ <DxcInset horizontal="1rem">
107
107
  <Placeholder></Placeholder>
108
108
  </DxcInset>
109
109
  </Container>
110
110
  <Title title="horizontal = medium" level={4} />
111
111
  <Container>
112
- <DxcInset horizontal="medium">
112
+ <DxcInset horizontal="1.5rem">
113
113
  <Placeholder></Placeholder>
114
114
  </DxcInset>
115
115
  </Container>
116
116
  <Title title="horizontal = large" level={4} />
117
117
  <Container>
118
- <DxcInset horizontal="large">
118
+ <DxcInset horizontal="2rem">
119
119
  <Placeholder></Placeholder>
120
120
  </DxcInset>
121
121
  </Container>
122
122
  <Title title="horizontal = xlarge" level={4} />
123
123
  <Container>
124
- <DxcInset horizontal="xlarge">
124
+ <DxcInset horizontal="3rem">
125
125
  <Placeholder></Placeholder>
126
126
  </DxcInset>
127
127
  </Container>
128
128
  <Title title="horizontal = xxlarge" level={4} />
129
129
  <Container>
130
- <DxcInset horizontal="xxlarge">
130
+ <DxcInset horizontal="4rem">
131
131
  <Placeholder></Placeholder>
132
132
  </DxcInset>
133
133
  </Container>
134
134
  <Title title="horizontal = xxxlarge" level={4} />
135
135
  <Container>
136
- <DxcInset horizontal="xxxlarge">
136
+ <DxcInset horizontal="5rem">
137
137
  <Placeholder></Placeholder>
138
138
  </DxcInset>
139
139
  </Container>
140
140
  <Title title="vertical = none" level={4} />
141
141
  <Container>
142
- <DxcInset vertical="none">
142
+ <DxcInset vertical="0rem">
143
143
  <Placeholder></Placeholder>
144
144
  </DxcInset>
145
145
  </Container>
146
146
  <Title title="vertical = xxxsmall" level={4} />
147
147
  <Container>
148
- <DxcInset vertical="xxxsmall">
148
+ <DxcInset vertical="0.125rem">
149
149
  <Placeholder></Placeholder>
150
150
  </DxcInset>
151
151
  </Container>
152
152
  <Title title="vertical = xxsmall" level={4} />
153
153
  <Container>
154
- <DxcInset vertical="xxsmall">
154
+ <DxcInset vertical="0.25rem">
155
155
  <Placeholder></Placeholder>
156
156
  </DxcInset>
157
157
  </Container>
158
158
  <Title title="vertical = xsmall" level={4} />
159
159
  <Container>
160
- <DxcInset vertical="xsmall">
160
+ <DxcInset vertical="0.5rem">
161
161
  <Placeholder></Placeholder>
162
162
  </DxcInset>
163
163
  </Container>
164
164
  <Title title="vertical = small" level={4} />
165
165
  <Container>
166
- <DxcInset vertical="small">
166
+ <DxcInset vertical="1rem">
167
167
  <Placeholder></Placeholder>
168
168
  </DxcInset>
169
169
  </Container>
170
170
  <Title title="vertical = medium" level={4} />
171
171
  <Container>
172
- <DxcInset vertical="medium">
172
+ <DxcInset vertical="1.5rem">
173
173
  <Placeholder></Placeholder>
174
174
  </DxcInset>
175
175
  </Container>
176
176
  <Title title="vertical = large" level={4} />
177
177
  <Container>
178
- <DxcInset vertical="large">
178
+ <DxcInset vertical="2rem">
179
179
  <Placeholder></Placeholder>
180
180
  </DxcInset>
181
181
  </Container>
182
182
  <Title title="vertical = xlarge" level={4} />
183
183
  <Container>
184
- <DxcInset vertical="xlarge">
184
+ <DxcInset vertical="3rem">
185
185
  <Placeholder></Placeholder>
186
186
  </DxcInset>
187
187
  </Container>
188
188
  <Title title="vertical = xxlarge" level={4} />
189
189
  <Container>
190
- <DxcInset vertical="xxlarge">
190
+ <DxcInset vertical="4rem">
191
191
  <Placeholder></Placeholder>
192
192
  </DxcInset>
193
193
  </Container>
194
194
  <Title title="vertical = xxxlarge" level={4} />
195
195
  <Container>
196
- <DxcInset vertical="xxxlarge">
196
+ <DxcInset vertical="5rem">
197
197
  <Placeholder></Placeholder>
198
198
  </DxcInset>
199
199
  </Container>
200
200
  <Title title="top = xxsmall, right= medium, bottom = large and left = xxlarge" level={4} />
201
201
  <Container>
202
- <DxcInset top="xxsmall" right="medium" bottom="large" left="xxlarge">
202
+ <DxcInset top="0.25rem" right="1.5rem" bottom="2rem" left="4rem">
203
203
  <Placeholder></Placeholder>
204
204
  </DxcInset>
205
205
  </Container>
206
- <Title title="Inside a stack" level={4} />
206
+ <Title title="Inside a flex column" level={4} />
207
207
  <Container>
208
- <DxcStack gutter="medium" divider>
208
+ <DxcFlex direction="column" gap="1rem">
209
209
  <Placeholder></Placeholder>
210
- <DxcInset top="xxsmall" right="medium" bottom="large" left="xxlarge">
210
+ <DxcInset top="0.25rem" right="1.5rem" bottom="2rem" left="4rem">
211
211
  <Placeholder></Placeholder>
212
212
  </DxcInset>
213
213
  <Placeholder></Placeholder>
214
- </DxcStack>
214
+ </DxcFlex>
215
215
  </Container>
216
216
  </>
217
217
  );
@@ -225,5 +225,6 @@ const Placeholder = styled.div`
225
225
  min-height: 40px;
226
226
  min-width: 120px;
227
227
  border: 1px solid #a46ede;
228
+ border-radius: 0.5rem;
228
229
  background-color: #e5d5f6;
229
230
  `;
package/inset/types.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- declare type Spacing = "none" | "xxxsmall" | "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge" | "xxxlarge";
2
+ declare type Spacing = "0rem" | "0.125rem" | "0.25rem" | "0.5rem" | "1rem" | "1.5rem" | "2rem" | "3rem" | "4rem" | "5rem";
3
3
  declare type Props = {
4
4
  /**
5
5
  * Applies the spacing scale to all sides.
@@ -1,11 +1,20 @@
1
- /// <reference types="react" />
2
- import AppLayoutPropsType, { AppLayoutSidenavPropsType, AppLayoutFooterPropsType, AppLayoutMainPropsType, AppLayoutHeaderPropsType } from "./types";
1
+ import React from "react";
2
+ import AppLayoutPropsType, { AppLayoutMainPropsType } from "./types";
3
3
  declare const DxcApplicationLayout: {
4
- ({ visibilityToggleLabel, children }: AppLayoutPropsType): JSX.Element;
5
- Header: ({ children }: AppLayoutHeaderPropsType) => JSX.Element;
4
+ ({ visibilityToggleLabel, header, sidenav, footer, children, }: AppLayoutPropsType): JSX.Element;
5
+ Header: {
6
+ ({ underlined, content, responsiveContent, onClick, margin, padding, tabIndex, }: import("../header/types").default): JSX.Element;
7
+ Dropdown: (props: import("../dropdown/types").default) => JSX.Element;
8
+ };
6
9
  Main: ({ children }: AppLayoutMainPropsType) => JSX.Element;
7
- Footer: ({ children }: AppLayoutFooterPropsType) => JSX.Element;
8
- SideNav: ({ ...childProps }: AppLayoutSidenavPropsType) => JSX.Element;
10
+ Footer: ({ socialLinks, bottomLinks, copyright, children, padding, margin, tabIndex, }: import("../footer/types").default) => JSX.Element;
11
+ SideNav: {
12
+ ({ title, children }: import("../sidenav/types").default): JSX.Element;
13
+ Section: ({ children }: import("../sidenav/types").SidenavSectionPropsType) => JSX.Element;
14
+ Group: ({ title, collapsable, icon, children }: import("../sidenav/types").SidenavGroupPropsType) => JSX.Element;
15
+ Link: React.ForwardRefExoticComponent<import("../sidenav/types").SidenavLinkPropsType & React.RefAttributes<HTMLAnchorElement>>;
16
+ Title: ({ children }: import("../sidenav/types").SidenavTitlePropsType) => JSX.Element;
17
+ };
9
18
  useResponsiveSidenavVisibility: () => (isSidenavVisible: boolean) => void;
10
19
  };
11
20
  export default DxcApplicationLayout;
@@ -13,8 +13,6 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
13
13
 
14
14
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
15
 
16
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
17
-
18
16
  var _react = _interopRequireWildcard(require("react"));
19
17
 
20
18
  var _Header = _interopRequireDefault(require("../header/Header"));
@@ -25,17 +23,15 @@ var _Sidenav = _interopRequireDefault(require("../sidenav/Sidenav"));
25
23
 
26
24
  var _styledComponents = _interopRequireDefault(require("styled-components"));
27
25
 
28
- var _variables = require("../common/variables.js");
26
+ var _variables = require("../common/variables");
29
27
 
30
28
  var _Icons = require("./Icons");
31
29
 
32
- var _uuid = require("uuid");
33
-
34
30
  var _SidenavContext = require("./SidenavContext");
35
31
 
36
32
  var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
37
33
 
38
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
34
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
39
35
 
40
36
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
41
37
 
@@ -43,24 +39,15 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
43
39
 
44
40
  var year = new Date().getFullYear();
45
41
 
46
- var Header = function Header(_ref) {
42
+ var Main = function Main(_ref) {
47
43
  var children = _ref.children;
48
44
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, children);
49
45
  };
50
46
 
51
- var Main = function Main(_ref2) {
52
- var children = _ref2.children;
53
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, children);
54
- };
55
-
56
- var Footer = function Footer(_ref3) {
57
- var children = _ref3.children;
58
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, children);
59
- };
60
-
61
- var Sidenav = function Sidenav(_ref4) {
62
- var childProps = (0, _extends2["default"])({}, _ref4);
63
- return /*#__PURE__*/_react["default"].createElement(_Sidenav["default"], childProps, childProps.children);
47
+ var defaultHeader = function defaultHeader() {
48
+ return /*#__PURE__*/_react["default"].createElement(_Header["default"], {
49
+ underlined: true
50
+ });
64
51
  };
65
52
 
66
53
  var defaultFooter = function defaultFooter() {
@@ -89,47 +76,37 @@ var defaultFooter = function defaultFooter() {
89
76
  });
90
77
  };
91
78
 
92
- var defaultHeader = function defaultHeader() {
93
- return /*#__PURE__*/_react["default"].createElement(_Header["default"], {
94
- underlined: true
95
- });
96
- };
97
-
98
79
  var childTypeExists = function childTypeExists(children, childType) {
99
80
  return children.find(function (child) {
100
81
  return (child === null || child === void 0 ? void 0 : child.type) === childType;
101
82
  });
102
83
  };
103
84
 
104
- var DxcApplicationLayout = function DxcApplicationLayout(_ref5) {
105
- var _ref5$visibilityToggl = _ref5.visibilityToggleLabel,
106
- visibilityToggleLabel = _ref5$visibilityToggl === void 0 ? "" : _ref5$visibilityToggl,
107
- children = _ref5.children;
108
-
109
- var _useState = (0, _react.useState)("appLayout-".concat((0, _uuid.v4)())),
110
- _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
111
- appLayoutId = _useState2[0];
85
+ var DxcApplicationLayout = function DxcApplicationLayout(_ref2) {
86
+ var _ref2$visibilityToggl = _ref2.visibilityToggleLabel,
87
+ visibilityToggleLabel = _ref2$visibilityToggl === void 0 ? "" : _ref2$visibilityToggl,
88
+ header = _ref2.header,
89
+ sidenav = _ref2.sidenav,
90
+ footer = _ref2.footer,
91
+ children = _ref2.children;
112
92
 
113
- var visibilityToggleLabelId = "label-".concat(appLayoutId);
93
+ var _useState = (0, _react.useState)(false),
94
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
95
+ isSidenavVisibleResponsive = _useState2[0],
96
+ setIsSidenavVisibleResponsive = _useState2[1];
114
97
 
115
98
  var _useState3 = (0, _react.useState)(false),
116
99
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
117
- isSidenavVisibleResponsive = _useState4[0],
118
- setIsSidenavVisibleResponsive = _useState4[1];
119
-
120
- var _useState5 = (0, _react.useState)(false),
121
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
122
- isResponsive = _useState6[0],
123
- setIsResponsive = _useState6[1];
100
+ isResponsive = _useState4[0],
101
+ setIsResponsive = _useState4[1];
124
102
 
125
103
  var ref = (0, _react.useRef)(null);
126
104
  var translatedLabels = (0, _useTranslatedLabels["default"])();
127
105
 
128
106
  var childrenArray = _react["default"].Children.toArray(children);
129
107
 
130
- var header = childTypeExists(childrenArray, _Header["default"]) || childTypeExists(childrenArray, Header) || defaultHeader();
131
- var footer = childTypeExists(childrenArray, _Footer["default"]) || childTypeExists(childrenArray, Footer) || defaultFooter();
132
- var sidenav = childTypeExists(childrenArray, Sidenav);
108
+ var headerContent = header || defaultHeader();
109
+ var footerContent = footer || defaultFooter();
133
110
  var main = childTypeExists(childrenArray, Main);
134
111
 
135
112
  var handleResize = function handleResize() {
@@ -142,58 +119,53 @@ var DxcApplicationLayout = function DxcApplicationLayout(_ref5) {
142
119
  });
143
120
  };
144
121
 
145
- (0, _react.useEffect)(function () {
122
+ (0, _react.useLayoutEffect)(function () {
146
123
  handleResize();
147
124
  window.addEventListener("resize", handleResize);
148
125
  return function () {
149
126
  window.removeEventListener("resize", handleResize);
150
127
  };
151
- }, [setIsResponsive]);
128
+ }, []);
152
129
  (0, _react.useEffect)(function () {
153
130
  !isResponsive && setIsSidenavVisibleResponsive(false);
154
- }, [isResponsive, setIsSidenavVisibleResponsive]);
131
+ }, [isResponsive]);
155
132
  return /*#__PURE__*/_react["default"].createElement(ApplicationLayoutContainer, {
156
133
  hasSidenav: sidenav ? true : false,
157
134
  isSidenavVisible: isSidenavVisibleResponsive,
158
135
  ref: ref
159
- }, /*#__PURE__*/_react["default"].createElement(HeaderContainer, null, header), sidenav && isResponsive && /*#__PURE__*/_react["default"].createElement(VisibilityToggle, null, /*#__PURE__*/_react["default"].createElement(HamburgerTrigger, {
136
+ }, /*#__PURE__*/_react["default"].createElement(HeaderContainer, null, headerContent), sidenav && isResponsive && /*#__PURE__*/_react["default"].createElement(VisibilityToggle, null, /*#__PURE__*/_react["default"].createElement(HamburgerTrigger, {
160
137
  onClick: handleSidenavVisibility,
161
- "aria-labelledby": visibilityToggleLabel ? visibilityToggleLabelId : undefined,
162
138
  "aria-label": visibilityToggleLabel ? undefined : translatedLabels.applicationLayout.visibilityToggleTitle,
163
139
  title: translatedLabels.applicationLayout.visibilityToggleTitle
164
- }, _Icons.hamburgerIcon), visibilityToggleLabel && /*#__PURE__*/_react["default"].createElement(VisibilityToggleLabel, {
165
- id: visibilityToggleLabelId
166
- }, visibilityToggleLabel)), /*#__PURE__*/_react["default"].createElement(BodyContainer, null, /*#__PURE__*/_react["default"].createElement(_SidenavContext.SidenavContextProvider, {
140
+ }, _Icons.hamburgerIcon, visibilityToggleLabel)), /*#__PURE__*/_react["default"].createElement(BodyContainer, null, /*#__PURE__*/_react["default"].createElement(_SidenavContext.SidenavContextProvider, {
167
141
  value: setIsSidenavVisibleResponsive
168
- }, sidenav && (isResponsive ? isSidenavVisibleResponsive : true) && /*#__PURE__*/_react["default"].createElement(SidenavContainer, null, sidenav)), /*#__PURE__*/_react["default"].createElement(MainContainer, null, /*#__PURE__*/_react["default"].createElement(MainContentContainer, null, main), footer)));
142
+ }, sidenav && (isResponsive ? isSidenavVisibleResponsive : true) && /*#__PURE__*/_react["default"].createElement(SidenavContainer, null, sidenav)), /*#__PURE__*/_react["default"].createElement(MainContainer, null, /*#__PURE__*/_react["default"].createElement(MainContentContainer, null, main), footerContent)));
169
143
  };
170
144
 
171
145
  var ApplicationLayoutContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n top: 64px;\n bottom: 0;\n left: 0;\n right: 0;\n display: flex;\n flex-direction: column;\n\n @media (max-width: ", "rem) {\n ", ";\n ", "\n }\n"])), _variables.responsiveSizes.medium, function (props) {
172
- return props.hasSidenav && "top: 112px";
146
+ return props.hasSidenav && "top: 116px";
173
147
  }, function (props) {
174
148
  return props.isSidenavVisible && "overflow: hidden;";
175
149
  });
176
150
 
177
151
  var HeaderContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n z-index: 3;\n"])));
178
152
 
179
- var VisibilityToggle = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n position: fixed;\n top: 64px;\n left: 0;\n right: 0;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n padding: 12px 16px;\n gap: 10px;\n width: 100%;\n background-color: #f2f2f2;\n user-select: none;\n z-index: 2;\n"])));
180
-
181
- var HamburgerTrigger = _styledComponents["default"].button(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n border: 0px solid transparent;\n border-radius: 2px;\n padding: 3px;\n background-color: transparent;\n box-shadow: 0 0 0 2px transparent;\n cursor: pointer;\n\n :hover {\n background-color: #e6e6e6;\n }\n :active {\n background-color: #cccccc;\n }\n :focus,\n :focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px #0095ff;\n }\n & > svg {\n height: 20px;\n width: 20px;\n }\n"])));
153
+ var VisibilityToggle = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n position: fixed;\n top: 64px;\n left: 0;\n right: 0;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n padding: 4px 16px;\n width: 100%;\n background-color: #f2f2f2;\n user-select: none;\n z-index: 2;\n"])));
182
154
 
183
- var VisibilityToggleLabel = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: Open Sans, sans-serif;\n font-weight: 600;\n font-size: 14px;\n"])));
155
+ var HamburgerTrigger = _styledComponents["default"].button(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n gap: 10px;\n border: 0px solid transparent;\n border-radius: 2px;\n padding: 12px 4px;\n background-color: transparent;\n box-shadow: 0 0 0 2px transparent;\n font-family: Open Sans, sans-serif;\n font-weight: 600;\n font-size: 14px;\n color: #000;\n cursor: pointer;\n :active {\n background-color: #cccccc;\n }\n :focus,\n :focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px #0095ff;\n }\n & > svg {\n height: 20px;\n width: 20px;\n }\n"])));
184
156
 
185
- var BodyContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n flex: 1;\n"])));
157
+ var BodyContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n flex: 1;\n"])));
186
158
 
187
- var SidenavContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n position: sticky;\n top: 64px;\n display: flex;\n height: calc(100vh - 64px);\n z-index: 1;\n\n @media (max-width: ", "rem) {\n position: fixed;\n top: 112px;\n }\n"])), _variables.responsiveSizes.medium);
159
+ var SidenavContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n position: sticky;\n top: 64px;\n display: flex;\n height: calc(100vh - 64px);\n z-index: 1;\n\n @media (max-width: ", "rem) {\n position: absolute;\n top: 0px;\n height: 100%;\n }\n"])), _variables.responsiveSizes.medium);
188
160
 
189
- var MainContainer = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n width: 100%;\n"])));
161
+ var MainContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n width: 100%;\n"])));
190
162
 
191
- var MainContentContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n flex: 1;\n"])));
163
+ var MainContentContainer = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n flex: 1;\n"])));
192
164
 
193
- DxcApplicationLayout.Header = Header;
165
+ DxcApplicationLayout.Header = _Header["default"];
194
166
  DxcApplicationLayout.Main = Main;
195
- DxcApplicationLayout.Footer = Footer;
196
- DxcApplicationLayout.SideNav = Sidenav;
167
+ DxcApplicationLayout.Footer = _Footer["default"];
168
+ DxcApplicationLayout.SideNav = _Sidenav["default"];
197
169
  DxcApplicationLayout.useResponsiveSidenavVisibility = _SidenavContext.useResponsiveSidenavVisibility;
198
170
  var _default = DxcApplicationLayout;
199
171
  exports["default"] = _default;