@dxc-technology/halstack-react 0.0.0-1f7dada → 0.0.0-2151ae6

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 (255) hide show
  1. package/BackgroundColorContext.js +0 -1
  2. package/HalstackContext.d.ts +12 -0
  3. package/HalstackContext.js +295 -0
  4. package/accordion/Accordion.d.ts +1 -1
  5. package/accordion/Accordion.js +13 -45
  6. package/accordion/Accordion.stories.tsx +20 -13
  7. package/accordion/Accordion.test.js +72 -0
  8. package/accordion/types.d.ts +7 -7
  9. package/accordion-group/AccordionGroup.d.ts +1 -1
  10. package/accordion-group/AccordionGroup.js +14 -15
  11. package/accordion-group/AccordionGroup.stories.tsx +1 -1
  12. package/accordion-group/AccordionGroup.test.js +151 -0
  13. package/accordion-group/types.d.ts +7 -7
  14. package/alert/Alert.js +4 -1
  15. package/alert/Alert.test.js +92 -0
  16. package/badge/Badge.d.ts +4 -0
  17. package/badge/Badge.js +5 -3
  18. package/badge/types.d.ts +5 -0
  19. package/{radio → badge}/types.js +0 -0
  20. package/bleed/Bleed.d.ts +3 -0
  21. package/bleed/Bleed.js +51 -0
  22. package/bleed/Bleed.stories.tsx +341 -0
  23. package/bleed/types.d.ts +37 -0
  24. package/bleed/types.js +5 -0
  25. package/box/Box.js +22 -32
  26. package/box/Box.test.js +18 -0
  27. package/bulleted-list/BulletedList.d.ts +7 -0
  28. package/bulleted-list/BulletedList.js +123 -0
  29. package/bulleted-list/BulletedList.stories.tsx +200 -0
  30. package/bulleted-list/types.d.ts +11 -0
  31. package/bulleted-list/types.js +5 -0
  32. package/button/Button.d.ts +1 -1
  33. package/button/Button.js +19 -24
  34. package/button/Button.stories.tsx +6 -8
  35. package/button/Button.test.js +35 -0
  36. package/button/types.d.ts +3 -7
  37. package/card/Card.js +24 -27
  38. package/card/Card.stories.tsx +1 -1
  39. package/card/Card.test.js +50 -0
  40. package/checkbox/Checkbox.d.ts +1 -1
  41. package/checkbox/Checkbox.js +43 -39
  42. package/checkbox/Checkbox.stories.tsx +124 -128
  43. package/checkbox/Checkbox.test.js +78 -0
  44. package/checkbox/types.d.ts +8 -4
  45. package/chip/Chip.d.ts +1 -1
  46. package/chip/Chip.js +14 -52
  47. package/chip/Chip.stories.tsx +6 -8
  48. package/chip/Chip.test.js +56 -0
  49. package/chip/types.d.ts +5 -13
  50. package/common/variables.js +254 -333
  51. package/date-input/DateInput.js +59 -45
  52. package/date-input/DateInput.stories.tsx +7 -7
  53. package/date-input/DateInput.test.js +479 -0
  54. package/date-input/types.d.ts +16 -9
  55. package/dialog/Dialog.js +6 -33
  56. package/dialog/Dialog.test.js +40 -0
  57. package/dropdown/Dropdown.d.ts +1 -1
  58. package/dropdown/Dropdown.js +21 -47
  59. package/dropdown/Dropdown.stories.tsx +249 -0
  60. package/dropdown/Dropdown.test.js +189 -0
  61. package/dropdown/types.d.ts +5 -14
  62. package/file-input/FileInput.js +111 -39
  63. package/file-input/FileInput.stories.tsx +507 -0
  64. package/file-input/FileInput.test.js +457 -0
  65. package/file-input/FileItem.js +7 -5
  66. package/flex/Flex.d.ts +3 -0
  67. package/flex/Flex.js +74 -0
  68. package/flex/Flex.stories.tsx +103 -0
  69. package/flex/types.d.ts +21 -0
  70. package/flex/types.js +5 -0
  71. package/footer/Footer.js +24 -99
  72. package/footer/Footer.test.js +109 -0
  73. package/footer/Icons.js +1 -1
  74. package/header/Header.js +27 -48
  75. package/header/Header.stories.tsx +46 -36
  76. package/header/Header.test.js +79 -0
  77. package/heading/Heading.stories.tsx +3 -2
  78. package/heading/Heading.test.js +186 -0
  79. package/inset/Inset.d.ts +3 -0
  80. package/inset/Inset.js +51 -0
  81. package/inset/Inset.stories.tsx +229 -0
  82. package/inset/types.d.ts +37 -0
  83. package/inset/types.js +5 -0
  84. package/layout/ApplicationLayout.d.ts +4 -3
  85. package/layout/ApplicationLayout.js +69 -108
  86. package/layout/ApplicationLayout.stories.tsx +44 -85
  87. package/layout/Icons.d.ts +5 -0
  88. package/layout/Icons.js +13 -2
  89. package/layout/SidenavContext.d.ts +5 -0
  90. package/layout/SidenavContext.js +19 -0
  91. package/layout/types.d.ts +8 -21
  92. package/link/Link.d.ts +3 -2
  93. package/link/Link.js +60 -85
  94. package/link/Link.stories.tsx +92 -52
  95. package/link/Link.test.js +83 -0
  96. package/link/types.d.ts +9 -29
  97. package/main.d.ts +11 -10
  98. package/main.js +61 -47
  99. package/number-input/NumberInput.js +11 -18
  100. package/number-input/NumberInput.stories.tsx +5 -5
  101. package/number-input/NumberInput.test.js +506 -0
  102. package/number-input/types.d.ts +17 -10
  103. package/package.json +10 -6
  104. package/paginator/Paginator.js +17 -38
  105. package/paginator/Paginator.test.js +308 -0
  106. package/paragraph/Paragraph.d.ts +6 -0
  107. package/paragraph/Paragraph.js +38 -0
  108. package/paragraph/Paragraph.stories.tsx +44 -0
  109. package/password-input/PasswordInput.js +7 -4
  110. package/password-input/PasswordInput.stories.tsx +3 -3
  111. package/password-input/PasswordInput.test.js +180 -0
  112. package/password-input/types.d.ts +14 -11
  113. package/progress-bar/ProgressBar.js +3 -3
  114. package/progress-bar/ProgressBar.stories.jsx +11 -11
  115. package/progress-bar/ProgressBar.test.js +65 -0
  116. package/quick-nav/QuickNav.d.ts +4 -0
  117. package/quick-nav/QuickNav.js +118 -0
  118. package/quick-nav/QuickNav.stories.tsx +264 -0
  119. package/quick-nav/types.d.ts +21 -0
  120. package/quick-nav/types.js +5 -0
  121. package/radio-group/Radio.d.ts +4 -0
  122. package/radio-group/Radio.js +141 -0
  123. package/radio-group/RadioGroup.d.ts +4 -0
  124. package/radio-group/RadioGroup.js +283 -0
  125. package/radio-group/RadioGroup.stories.tsx +100 -0
  126. package/radio-group/RadioGroup.test.js +695 -0
  127. package/radio-group/types.d.ts +114 -0
  128. package/radio-group/types.js +5 -0
  129. package/resultsetTable/ResultsetTable.js +5 -2
  130. package/resultsetTable/ResultsetTable.stories.tsx +7 -8
  131. package/resultsetTable/ResultsetTable.test.js +348 -0
  132. package/row/Row.d.ts +3 -11
  133. package/row/Row.js +12 -9
  134. package/row/Row.stories.tsx +20 -6
  135. package/row/types.d.ts +28 -0
  136. package/row/types.js +5 -0
  137. package/select/Icons.d.ts +10 -0
  138. package/select/Icons.js +93 -0
  139. package/select/Listbox.d.ts +4 -0
  140. package/select/Listbox.js +175 -0
  141. package/select/Option.d.ts +4 -0
  142. package/select/Option.js +110 -0
  143. package/select/Select.d.ts +4 -0
  144. package/select/Select.js +149 -352
  145. package/select/Select.stories.tsx +230 -176
  146. package/select/Select.test.js +2162 -0
  147. package/select/types.d.ts +212 -0
  148. package/select/types.js +5 -0
  149. package/sidenav/Sidenav.d.ts +6 -5
  150. package/sidenav/Sidenav.js +172 -52
  151. package/sidenav/Sidenav.stories.tsx +154 -139
  152. package/sidenav/Sidenav.test.js +44 -0
  153. package/sidenav/types.d.ts +50 -27
  154. package/slider/Slider.d.ts +1 -1
  155. package/slider/Slider.js +2 -1
  156. package/slider/Slider.stories.tsx +8 -8
  157. package/slider/Slider.test.js +150 -0
  158. package/slider/types.d.ts +4 -0
  159. package/spinner/Spinner.js +1 -1
  160. package/spinner/Spinner.stories.jsx +1 -0
  161. package/spinner/Spinner.test.js +64 -0
  162. package/stack/Stack.d.ts +4 -10
  163. package/stack/Stack.js +29 -67
  164. package/stack/Stack.stories.tsx +198 -85
  165. package/stack/types.d.ts +32 -0
  166. package/stack/types.js +5 -0
  167. package/switch/Switch.d.ts +1 -1
  168. package/switch/Switch.js +35 -19
  169. package/switch/Switch.stories.tsx +15 -15
  170. package/switch/Switch.test.js +98 -0
  171. package/switch/types.d.ts +6 -2
  172. package/table/Table.stories.jsx +2 -1
  173. package/table/Table.test.js +26 -0
  174. package/tabs/Tabs.d.ts +1 -1
  175. package/tabs/Tabs.js +16 -18
  176. package/tabs/Tabs.stories.tsx +7 -16
  177. package/tabs/Tabs.test.js +140 -0
  178. package/tabs/types.d.ts +27 -15
  179. package/tabs-nav/NavTabs.d.ts +8 -0
  180. package/tabs-nav/NavTabs.js +125 -0
  181. package/tabs-nav/NavTabs.stories.tsx +170 -0
  182. package/tabs-nav/NavTabs.test.js +82 -0
  183. package/tabs-nav/Tab.d.ts +4 -0
  184. package/tabs-nav/Tab.js +132 -0
  185. package/tabs-nav/types.d.ts +53 -0
  186. package/tabs-nav/types.js +5 -0
  187. package/tag/Tag.d.ts +1 -1
  188. package/tag/Tag.js +17 -27
  189. package/tag/Tag.stories.tsx +26 -29
  190. package/tag/Tag.test.js +60 -0
  191. package/tag/types.d.ts +23 -14
  192. package/text-input/Suggestion.d.ts +4 -0
  193. package/text-input/Suggestion.js +55 -0
  194. package/text-input/TextInput.js +68 -84
  195. package/text-input/TextInput.stories.tsx +34 -16
  196. package/text-input/TextInput.test.js +1712 -0
  197. package/text-input/types.d.ts +32 -13
  198. package/textarea/Textarea.js +20 -27
  199. package/textarea/Textarea.stories.jsx +37 -15
  200. package/textarea/Textarea.test.js +437 -0
  201. package/textarea/types.d.ts +18 -11
  202. package/toggle-group/ToggleGroup.d.ts +1 -1
  203. package/toggle-group/ToggleGroup.js +12 -14
  204. package/toggle-group/ToggleGroup.stories.tsx +27 -32
  205. package/toggle-group/ToggleGroup.test.js +156 -0
  206. package/toggle-group/types.d.ts +46 -25
  207. package/typography/Typography.d.ts +4 -0
  208. package/typography/Typography.js +131 -0
  209. package/typography/Typography.stories.tsx +198 -0
  210. package/typography/types.d.ts +18 -0
  211. package/typography/types.js +5 -0
  212. package/useTheme.js +2 -2
  213. package/useTranslatedLabels.d.ts +2 -0
  214. package/useTranslatedLabels.js +20 -0
  215. package/wizard/Wizard.d.ts +1 -1
  216. package/wizard/Wizard.js +55 -44
  217. package/wizard/Wizard.stories.tsx +13 -23
  218. package/wizard/Wizard.test.js +141 -0
  219. package/wizard/types.d.ts +6 -2
  220. package/ThemeContext.d.ts +0 -15
  221. package/ThemeContext.js +0 -243
  222. package/V3Select/V3Select.js +0 -455
  223. package/V3Select/index.d.ts +0 -27
  224. package/V3Textarea/V3Textarea.js +0 -260
  225. package/V3Textarea/index.d.ts +0 -27
  226. package/date/Date.js +0 -373
  227. package/date/index.d.ts +0 -27
  228. package/input-text/Icons.js +0 -22
  229. package/input-text/InputText.js +0 -611
  230. package/input-text/index.d.ts +0 -36
  231. package/list/List.d.ts +0 -8
  232. package/list/List.js +0 -47
  233. package/list/List.stories.tsx +0 -85
  234. package/radio/Radio.d.ts +0 -4
  235. package/radio/Radio.js +0 -174
  236. package/radio/Radio.stories.tsx +0 -192
  237. package/radio/types.d.ts +0 -54
  238. package/select/index.d.ts +0 -131
  239. package/text/Text.d.ts +0 -7
  240. package/text/Text.js +0 -30
  241. package/text/Text.stories.tsx +0 -19
  242. package/toggle/Toggle.js +0 -186
  243. package/toggle/index.d.ts +0 -21
  244. package/upload/Upload.js +0 -201
  245. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  246. package/upload/buttons-upload/Icons.js +0 -40
  247. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  248. package/upload/dragAndDropArea/Icons.js +0 -39
  249. package/upload/file-upload/FileToUpload.js +0 -115
  250. package/upload/file-upload/Icons.js +0 -66
  251. package/upload/files-upload/FilesToUpload.js +0 -109
  252. package/upload/index.d.ts +0 -15
  253. package/upload/transaction/Icons.js +0 -160
  254. package/upload/transaction/Transaction.js +0 -104
  255. package/upload/transactions/Transactions.js +0 -94
@@ -0,0 +1,198 @@
1
+ import React from "react";
2
+ import Title from "../../.storybook/components/Title";
3
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
4
+ import DxcTypography from "./Typography";
5
+
6
+ export default {
7
+ title: "Typography",
8
+ component: DxcTypography,
9
+ };
10
+
11
+ export const Chromatic = () => (
12
+ <>
13
+ <ExampleContainer>
14
+ <Title title="Default Typography" theme="light" level={4} />
15
+ <DxcTypography>Default typography.</DxcTypography>
16
+ </ExampleContainer>
17
+ <ExampleContainer>
18
+ <Title title="Typography font sizes" theme="light" level={4} />
19
+ <DxcTypography display="block" fontSize="3.75rem">
20
+ 3.75rem.
21
+ </DxcTypography>
22
+ <DxcTypography display="block" fontSize="3rem">
23
+ 3rem.
24
+ </DxcTypography>
25
+ <DxcTypography display="block" fontSize="2rem">
26
+ 2rem.
27
+ </DxcTypography>
28
+ <DxcTypography display="block" fontSize="1.5rem">
29
+ 1.5rem.
30
+ </DxcTypography>
31
+ <DxcTypography display="block" fontSize="1.25rem">
32
+ 1.25rem.
33
+ </DxcTypography>
34
+ <DxcTypography display="block" fontSize="1rem">
35
+ 1rem.
36
+ </DxcTypography>
37
+ <DxcTypography display="block" fontSize="0.875rem">
38
+ 0.875rem.
39
+ </DxcTypography>
40
+ <DxcTypography display="block" fontSize="0.75rem">
41
+ 0.75rem.
42
+ </DxcTypography>
43
+ </ExampleContainer>
44
+ <ExampleContainer>
45
+ <Title title="Typography letter spacing" theme="light" level={4} />
46
+ <DxcTypography display="block" letterSpacing="-0.025em">
47
+ -0.025em.
48
+ </DxcTypography>
49
+ <DxcTypography display="block" letterSpacing="-0.0125em">
50
+ -0.0125em.
51
+ </DxcTypography>
52
+ <DxcTypography display="block" letterSpacing="0em">
53
+ 0em.
54
+ </DxcTypography>
55
+ <DxcTypography display="block" letterSpacing="0.025em">
56
+ 0.025em.
57
+ </DxcTypography>
58
+ <DxcTypography display="block" letterSpacing="0.05em">
59
+ 0.05em.
60
+ </DxcTypography>
61
+ <DxcTypography display="block" letterSpacing="0.1em">
62
+ 0.1em.
63
+ </DxcTypography>{" "}
64
+ </ExampleContainer>
65
+ <ExampleContainer>
66
+ <Title title="Typography line height" theme="light" level={4} />
67
+ <DxcTypography display="block" lineHeight="1em">
68
+ 1em.
69
+ </DxcTypography>
70
+ <DxcTypography display="block" lineHeight="1.25em">
71
+ 1.25em.
72
+ </DxcTypography>
73
+ <DxcTypography display="block" lineHeight="1.365em">
74
+ 1.365em.
75
+ </DxcTypography>
76
+ <DxcTypography display="block" lineHeight="1.5em">
77
+ 1.5em.
78
+ </DxcTypography>
79
+ <DxcTypography display="block" lineHeight="1.715em">
80
+ 1.715em.
81
+ </DxcTypography>
82
+ <DxcTypography display="block" lineHeight="2em">
83
+ 2em.
84
+ </DxcTypography>
85
+ </ExampleContainer>
86
+ <ExampleContainer>
87
+ <Title title="Typography font weight" theme="light" level={4} />
88
+ <DxcTypography display="block" fontWeight="300">
89
+ 300.
90
+ </DxcTypography>
91
+ <DxcTypography display="block" fontWeight="400">
92
+ 400.
93
+ </DxcTypography>
94
+ <DxcTypography display="block" fontWeight="600">
95
+ 600.
96
+ </DxcTypography>
97
+ <DxcTypography display="block" fontWeight="700">
98
+ 700.
99
+ </DxcTypography>
100
+ </ExampleContainer>
101
+ <ExampleContainer>
102
+ <Title title="Typography decoration" theme="light" level={4} />
103
+ <DxcTypography display="block" textDecoration="underline">
104
+ Underline.
105
+ </DxcTypography>
106
+ <DxcTypography display="block" textDecoration="line-through">
107
+ Line-through.
108
+ </DxcTypography>
109
+ </ExampleContainer>
110
+ <ExampleContainer>
111
+ <Title title="Typography font family" theme="light" level={4} />
112
+ <DxcTypography display="block" fontFamily="Open Sans, sans-serif">
113
+ Open Sans, sans-serif.
114
+ </DxcTypography>
115
+ <DxcTypography display="block" fontFamily="Source Code Pro, monospace">
116
+ Source Code Pro, monospace.
117
+ </DxcTypography>
118
+ </ExampleContainer>
119
+ <ExampleContainer>
120
+ <Title title="Typography font style" theme="light" level={4} />
121
+ <DxcTypography display="block" fontStyle="italic">
122
+ Italic.
123
+ </DxcTypography>
124
+ <DxcTypography display="block" fontStyle="normal">
125
+ Normal.
126
+ </DxcTypography>
127
+ </ExampleContainer>
128
+ <ExampleContainer>
129
+ <Title title="Typography align" theme="light" level={4} />
130
+ <DxcTypography display="block" textAlign="left">
131
+ Left.
132
+ </DxcTypography>
133
+ <DxcTypography display="block" textAlign="center">
134
+ Center.
135
+ </DxcTypography>
136
+ <DxcTypography display="block" textAlign="right">
137
+ Right.
138
+ </DxcTypography>
139
+ </ExampleContainer>
140
+ <ExampleContainer>
141
+ <Title title="Typography whitespace" theme="light" level={4} />
142
+ <div style={{ margin: "50px", border: "1px solid red", width: "125px" }}>
143
+ <DxcTypography whiteSpace="normal" fontSize="2rem">
144
+ {" "} Normal: A bunch of words you see.
145
+ </DxcTypography>
146
+ </div>
147
+ <div style={{ margin: "50px", border: "1px solid red", width: "125px" }}>
148
+ <DxcTypography whiteSpace="nowrap" fontSize="2rem">
149
+ {" "}No-wrap: A bunch of words you see.
150
+ </DxcTypography>
151
+ </div>
152
+ <div style={{ margin: "50px", border: "1px solid red", width: "125px" }}>
153
+ <DxcTypography whiteSpace="pre" fontSize="2rem">
154
+ {" "} pre: A bunch of words you see.
155
+ </DxcTypography>
156
+ </div>
157
+ <div style={{ margin: "50px", border: "1px solid red", width: "125px" }}>
158
+ <DxcTypography whiteSpace="pre-line" fontSize="2rem">
159
+ {" "}pre-line: A bunch of words you see.
160
+ </DxcTypography>
161
+ </div>
162
+ <div style={{ margin: "50px", border: "1px solid red", width: "125px" }}>
163
+ <DxcTypography whiteSpace="pre-wrap" fontSize="2rem">
164
+ {" "} pre-wrap: A bunch of words you see.
165
+ </DxcTypography>
166
+ </div>
167
+ </ExampleContainer>{" "}
168
+ <ExampleContainer>
169
+ <Title title="Typography display" theme="light" level={4} />
170
+ <DxcTypography display="block" textAlign="left">
171
+ Display Block.
172
+ <DxcTypography>A different text.</DxcTypography>
173
+ </DxcTypography>
174
+ <DxcTypography display="inline" textAlign="left">
175
+ Display Inline.
176
+ <DxcTypography>A different text.</DxcTypography>
177
+ </DxcTypography>
178
+ </ExampleContainer>
179
+ <ExampleContainer>
180
+ <Title title="Typography text-overflow" theme="light" level={4} />
181
+ <div style={{ width: "75px" }}>
182
+ <DxcTypography display="block" textOverflow="clip">
183
+ Overflow clip.
184
+ </DxcTypography>
185
+ </div>
186
+ <div style={{ width: "75px" }}>
187
+ <DxcTypography display="block" textOverflow="ellipsis">
188
+ Overflow ellipsis.
189
+ </DxcTypography>
190
+ </div>
191
+ <div style={{ width: "75px" }}>
192
+ <DxcTypography display="block" textOverflow="unset">
193
+ Overflow unset.
194
+ </DxcTypography>
195
+ </div>
196
+ </ExampleContainer>
197
+ </>
198
+ );
@@ -0,0 +1,18 @@
1
+ /// <reference types="react" />
2
+ declare type Props = {
3
+ as?: keyof HTMLElementTagNameMap;
4
+ display?: "inline" | "block";
5
+ fontFamily?: "Open Sans, sans-serif" | "Source Code Pro, monospace";
6
+ fontSize?: "0.75rem" | "0.875rem" | "1rem" | "1.25rem" | "1.5rem" | "2rem" | "3rem" | "3.75rem";
7
+ fontStyle?: "italic" | "normal";
8
+ fontWeight?: "300" | "400" | "600" | "700";
9
+ letterSpacing?: "-0.025em" | "-0.0125em" | "0em" | "0.025em" | "0.05em" | "0.1em";
10
+ lineHeight?: "1em" | "1.25em" | "1.365em" | "1.5em" | "1.715em" | "2em";
11
+ textAlign?: "left" | "center" | "right";
12
+ color?: string;
13
+ textDecoration?: "none" | "underline" | "line-through";
14
+ textOverflow?: "clip" | "ellipsis" | "unset";
15
+ whiteSpace?: "normal" | "nowrap" | "pre" | "pre-line" | "pre-wrap";
16
+ children: React.ReactNode;
17
+ };
18
+ export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
package/useTheme.js CHANGED
@@ -11,10 +11,10 @@ var _react = require("react");
11
11
 
12
12
  var _variables = require("./common/variables.js");
13
13
 
14
- var _ThemeContext = _interopRequireDefault(require("./ThemeContext"));
14
+ var _HalstackContext = _interopRequireDefault(require("./HalstackContext"));
15
15
 
16
16
  var useTheme = function useTheme() {
17
- var colorsTheme = (0, _react.useContext)(_ThemeContext["default"]);
17
+ var colorsTheme = (0, _react.useContext)(_HalstackContext["default"]);
18
18
  return colorsTheme || _variables.componentTokens;
19
19
  };
20
20
 
@@ -0,0 +1,2 @@
1
+ declare const useTranslatedLabels: () => any;
2
+ export default useTranslatedLabels;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _react = require("react");
9
+
10
+ var _variables = require("./common/variables");
11
+
12
+ var _HalstackContext = require("./HalstackContext");
13
+
14
+ var useTranslatedLabels = function useTranslatedLabels() {
15
+ var labels = (0, _react.useContext)(_HalstackContext.HalstackLanguageContext);
16
+ return labels || _variables.defaultTranslatedComponentLabels;
17
+ };
18
+
19
+ var _default = useTranslatedLabels;
20
+ exports["default"] = _default;
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import WizardPropsType from "./types";
3
- declare const DxcWizard: ({ mode, currentStep, onStepClick, steps, margin, tabIndex, }: WizardPropsType) => JSX.Element;
3
+ declare const DxcWizard: ({ mode, defaultCurrentStep, currentStep, onStepClick, steps, margin, tabIndex, }: WizardPropsType) => JSX.Element;
4
4
  export default DxcWizard;
package/wizard/Wizard.js CHANGED
@@ -9,10 +9,10 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports["default"] = void 0;
11
11
 
12
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
-
14
12
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
13
 
14
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
+
16
16
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
17
 
18
18
  var _react = _interopRequireWildcard(require("react"));
@@ -82,8 +82,11 @@ var icons = {
82
82
  };
83
83
 
84
84
  var DxcWizard = function DxcWizard(_ref) {
85
+ var _ref2;
86
+
85
87
  var _ref$mode = _ref.mode,
86
88
  mode = _ref$mode === void 0 ? "horizontal" : _ref$mode,
89
+ defaultCurrentStep = _ref.defaultCurrentStep,
87
90
  currentStep = _ref.currentStep,
88
91
  onStepClick = _ref.onStepClick,
89
92
  steps = _ref.steps,
@@ -91,7 +94,7 @@ var DxcWizard = function DxcWizard(_ref) {
91
94
  _ref$tabIndex = _ref.tabIndex,
92
95
  tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
93
96
 
94
- var _useState = (0, _react.useState)(currentStep || 0),
97
+ var _useState = (0, _react.useState)((_ref2 = currentStep !== null && currentStep !== void 0 ? currentStep : defaultCurrentStep) !== null && _ref2 !== void 0 ? _ref2 : 0),
95
98
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
96
99
  innerCurrent = _useState2[0],
97
100
  setInnerCurrentStep = _useState2[1];
@@ -113,48 +116,54 @@ var DxcWizard = function DxcWizard(_ref) {
113
116
  theme: colorsTheme.wizard
114
117
  }, /*#__PURE__*/_react["default"].createElement(StepsContainer, {
115
118
  mode: mode,
116
- margin: margin
119
+ margin: margin,
120
+ role: "group"
117
121
  }, steps === null || steps === void 0 ? void 0 : steps.map(function (step, i) {
118
122
  return /*#__PURE__*/_react["default"].createElement(StepContainer, {
119
123
  key: "step".concat(i),
120
124
  mode: mode,
121
125
  lastStep: i === (steps === null || steps === void 0 ? void 0 : steps.length) - 1
122
126
  }, /*#__PURE__*/_react["default"].createElement(Step, {
123
- tabIndex: tabIndex,
124
127
  onClick: function onClick() {
125
- return handleStepClick(i);
128
+ handleStepClick(i);
126
129
  },
127
- mode: mode,
128
130
  disabled: step.disabled,
131
+ mode: mode,
129
132
  first: i === 0,
130
- last: i === (steps === null || steps === void 0 ? void 0 : steps.length) - 1
131
- }, /*#__PURE__*/_react["default"].createElement(StepHeader, null, /*#__PURE__*/_react["default"].createElement(IconContainer, {
133
+ last: i === (steps === null || steps === void 0 ? void 0 : steps.length) - 1,
134
+ "aria-current": renderedCurrent === i ? "step" : "false",
135
+ tabIndex: tabIndex
136
+ }, /*#__PURE__*/_react["default"].createElement(StepHeader, {
137
+ validityIcon: step.valid !== undefined
138
+ }, /*#__PURE__*/_react["default"].createElement(IconContainer, {
132
139
  current: i === renderedCurrent,
133
140
  visited: i < renderedCurrent,
134
141
  disabled: step.disabled
135
- }, step.icon ? typeof step.icon === "string" ? /*#__PURE__*/_react["default"].createElement(Icon, {
136
- src: step.icon
137
- }) : /*#__PURE__*/_react["default"].createElement(StepIconContainer, {
142
+ }, step.icon ? /*#__PURE__*/_react["default"].createElement(StepIconContainer, {
138
143
  disabled: step.disabled
139
- }, (0, _typeof2["default"])(step.icon) === "object" ? step.icon : /*#__PURE__*/_react["default"].createElement(step.icon)) : /*#__PURE__*/_react["default"].createElement(Number, {
144
+ }, typeof step.icon === "string" ? /*#__PURE__*/_react["default"].createElement(Icon, {
145
+ src: step.icon
146
+ }) : step.icon) : /*#__PURE__*/_react["default"].createElement(Number, {
140
147
  disabled: step.disabled,
141
148
  current: i === renderedCurrent
142
- }, i + 1)), step.valid !== undefined ? step.valid ? /*#__PURE__*/_react["default"].createElement(ValidityIconContainer, null, icons.validIcon) : /*#__PURE__*/_react["default"].createElement(ValidityIconContainer, null, icons.invalidIcon) : ""), step.label || step.description ? /*#__PURE__*/_react["default"].createElement(InfoContainer, null, step.label ? /*#__PURE__*/_react["default"].createElement(Label, {
149
+ }, i + 1)), step.valid !== undefined && (step.valid ? /*#__PURE__*/_react["default"].createElement(ValidityIconContainer, null, icons.validIcon) : /*#__PURE__*/_react["default"].createElement(ValidityIconContainer, null, icons.invalidIcon))), (step.label || step.description) && /*#__PURE__*/_react["default"].createElement(InfoContainer, null, step.label && /*#__PURE__*/_react["default"].createElement(Label, {
150
+ current: i === renderedCurrent,
143
151
  disabled: step.disabled,
144
152
  visited: i <= innerCurrent
145
- }, step.label) : "", step.description ? /*#__PURE__*/_react["default"].createElement(Description, {
153
+ }, step.label), step.description && /*#__PURE__*/_react["default"].createElement(Description, {
154
+ current: i === renderedCurrent,
146
155
  disabled: step.disabled,
147
156
  visited: i <= innerCurrent
148
- }, step.description) : "") : ""), i === steps.length - 1 ? "" : /*#__PURE__*/_react["default"].createElement(StepSeparator, {
157
+ }, step.description))), i === steps.length - 1 ? "" : /*#__PURE__*/_react["default"].createElement(StepSeparator, {
149
158
  mode: mode
150
159
  }));
151
160
  })));
152
161
  };
153
162
 
154
- var StepsContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n flex-direction: ", ";\n justify-content: \"center\";\n ", ";\n font-family: ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
163
+ var StepsContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: ", ";\n justify-content: \"center\";\n ", ";\n font-family: ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
155
164
  return props.mode === "vertical" ? "column" : "row";
156
165
  }, function (props) {
157
- return props.mode === "vertical" ? "height: 500px" : "width: 100%";
166
+ return props.mode === "vertical" && "height: 500px";
158
167
  }, function (props) {
159
168
  return props.theme.fontFamily;
160
169
  }, function (props) {
@@ -189,42 +198,44 @@ var Step = _styledComponents["default"].button(_templateObject3 || (_templateObj
189
198
  return props.theme.focusColor;
190
199
  });
191
200
 
192
- var StepHeader = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n display: inline-flex;\n padding-bottom: 4px;\n"])));
201
+ var StepHeader = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n display: inline-flex;\n ", "\n"])), function (props) {
202
+ return props.validityIcon && "padding-bottom: 4px;";
203
+ });
193
204
 
194
- var IconContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n\n ", "\n ", ";\n\n border-radius: ", ";\n display: flex;\n justify-content: center;\n align-items: center;\n"])), function (props) {
195
- return props.disabled ? props.theme.disabledCircleWidth : props.current ? props.theme.selectedCircleWidth : props.theme.circleWidth;
205
+ var IconContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n\n ", "\n ", ";\n\n border-radius: ", ";\n\n display: flex;\n justify-content: center;\n align-items: center;\n"])), function (props) {
206
+ return props.disabled ? props.theme.disabledStepWidth : props.current ? props.theme.selectedStepWidth : props.theme.stepWidth;
196
207
  }, function (props) {
197
- return props.disabled ? props.theme.disabledCircleHeight : props.current ? props.theme.selectedCircleHeight : props.theme.circleHeight;
208
+ return props.disabled ? props.theme.disabledStepHeight : props.current ? props.theme.selectedStepHeight : props.theme.stepHeight;
198
209
  }, function (props) {
199
- return "\n ".concat(!props.current && !props.disabled ? "border: ".concat(props.theme.circleBorderThickness, " ").concat(props.theme.circleBorderStyle, " ").concat(props.theme.circleBorderColor, ";") : props.current && !props.disabled ? "border: ".concat(props.theme.selectedCircleBorderThickness, " ").concat(props.theme.selectedCircleBorderStyle, " ").concat(props.theme.selectedCircleBorderColor, ";") : props.disabled ? "border: ".concat(props.theme.disabledCircleBorderThickness, " ").concat(props.theme.disabledCircleBorderStyle, " ").concat(props.theme.disabledCircleBorderColor, ";") : "", "\n background: ").concat(props.disabled ? "".concat(props.theme.disabledBackgroundColor) : props.current ? "".concat(props.theme.stepContainerSelectedBackgroundColor) : "".concat(props.theme.stepContainerBackgroundColor), ";\n ");
210
+ return "\n ".concat(props.disabled ? "border: ".concat(props.theme.disabledStepBorderThickness, " ").concat(props.theme.disabledStepBorderStyle, " ").concat(props.theme.disabledStepBorderColor, ";") : props.current ? "border: ".concat(props.theme.selectedStepBorderThickness, " ").concat(props.theme.selectedStepBorderStyle, " ").concat(props.theme.selectedStepBorderColor, ";") : props.visited ? "border: ".concat(props.theme.stepBorderThickness, " ").concat(props.theme.stepBorderStyle, " ").concat(props.theme.visitedStepBorderColor, ";") : "border: ".concat(props.theme.stepBorderThickness, " ").concat(props.theme.stepBorderStyle, " ").concat(props.theme.unvisitedStepBorderColor, ";"), "\n background: ").concat(props.disabled ? "".concat(props.theme.disabledStepBackgroundColor) : props.current ? "".concat(props.theme.selectedStepBackgroundColor) : !props.visited ? "".concat(props.theme.unvisitedStepBackgroundColor) : "".concat(props.theme.visitedStepBackgroundColor), ";\n ");
200
211
  }, function (props) {
201
- return props.disabled ? "color: ".concat(props.theme.disabledFontColor, ";") : "color: ".concat(props.current ? props.theme.stepContainerSelectedFontColor : props.theme.stepContainerFontColor, ";");
212
+ return props.disabled ? "color: ".concat(props.theme.disabledStepFontColor, ";") : "color: ".concat(props.current ? props.theme.selectedStepFontColor : !props.visited ? props.theme.unvisitedStepFontColor : props.theme.visitedStepFontColor, ";");
202
213
  }, function (props) {
203
- return !props.current && !props.disabled ? props.theme.circleBorderRadius : props.current ? props.theme.selectedCircleBorderRadius : props.disabled ? props.theme.disabledCircleBorderRadius : "";
214
+ return !props.current && !props.disabled ? props.theme.stepBorderRadius : props.current ? props.theme.selectedStepBorderRadius : props.disabled ? props.theme.disabledStepBorderRadius : "";
204
215
  });
205
216
 
206
217
  var Icon = _styledComponents["default"].img(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n"])), function (props) {
207
- return props.theme.stepContainerIconSize;
218
+ return props.theme.stepIconSize;
208
219
  }, function (props) {
209
- return props.theme.stepContainerIconSize;
220
+ return props.theme.stepIconSize;
210
221
  });
211
222
 
212
223
  var StepIconContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n overflow: hidden;\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
213
- return props.theme.stepContainerIconSize;
224
+ return props.theme.stepIconSize;
214
225
  }, function (props) {
215
- return props.theme.stepContainerIconSize;
226
+ return props.theme.stepIconSize;
216
227
  });
217
228
 
218
229
  var Number = _styledComponents["default"].p(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n font-size: ", ";\n font-family: ", ";\n font-style: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n opacity: 1;\n margin: 0px 0px 0px 1px;\n"])), function (props) {
219
- return props.theme.stepContainerFontSize;
230
+ return props.theme.stepFontSize;
220
231
  }, function (props) {
221
- return props.theme.stepContainerFontFamily;
232
+ return props.theme.stepFontFamily;
222
233
  }, function (props) {
223
- return props.theme.stepContainerFontStyle;
234
+ return props.theme.stepFontStyle;
224
235
  }, function (props) {
225
- return props.theme.stepContainerFontWeight;
236
+ return props.theme.stepFontWeight;
226
237
  }, function (props) {
227
- return props.theme.stepContainerLetterSpacing;
238
+ return props.theme.stepFontTracking;
228
239
  });
229
240
 
230
241
  var ValidityIconContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n width: 18px;\n height: 18px;\n position: absolute;\n top: 22.5px;\n left: 22.5px;\n"])));
@@ -242,29 +253,29 @@ var Label = _styledComponents["default"].p(_templateObject11 || (_templateObject
242
253
  }, function (props) {
243
254
  return props.theme.labelFontWeight;
244
255
  }, function (props) {
245
- return props.theme.labelLetterSpacing;
256
+ return props.theme.labelFontTracking;
246
257
  }, function (props) {
247
- return props.disabled ? "color: ".concat(props.theme.disabledFontColor, ";") : "color: ".concat(props.visited ? props.theme.visitedLabelFontColor : props.theme.labelFontColor, ";");
258
+ return props.disabled ? "color: ".concat(props.theme.disabledLabelFontColor, ";") : "color: ".concat(!props.visited ? props.theme.unvisitedLabelFontColor : props.current ? props.theme.selectedLabelFontColor : props.theme.visitedLabelFontColor, ";");
248
259
  }, function (props) {
249
260
  return props.theme.labelFontTextTransform;
250
261
  });
251
262
 
252
263
  var Description = _styledComponents["default"].p(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n text-align: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n text-transform: ", ";\n ", ";\n margin: 0;\n"])), function (props) {
253
- return props.theme.descriptionTextAlign;
264
+ return props.theme.helperTextTextAlign;
254
265
  }, function (props) {
255
- return props.theme.descriptionFontFamily;
266
+ return props.theme.helperTextFontFamily;
256
267
  }, function (props) {
257
- return props.theme.descriptionFontSize;
268
+ return props.theme.helperTextFontSize;
258
269
  }, function (props) {
259
- return props.theme.descriptionFontStyle;
270
+ return props.theme.helperTextFontStyle;
260
271
  }, function (props) {
261
- return props.theme.descriptionFontWeight;
272
+ return props.theme.helperTextFontWeight;
262
273
  }, function (props) {
263
- return props.theme.descriptionLetterSpacing;
274
+ return props.theme.helperTextFontTracking;
264
275
  }, function (props) {
265
- return props.theme.descriptionFontTextTransform;
276
+ return props.theme.helperTextFontTextTransform;
266
277
  }, function (props) {
267
- return props.disabled ? "color: ".concat(props.theme.disabledFontColor, ";") : "color: ".concat(props.visited ? props.theme.visitedDescriptionFontColor : props.theme.descriptionFontColor, ";");
278
+ return props.disabled ? "color: ".concat(props.theme.disabledHelperTextFontColor, ";") : "color: ".concat(!props.visited ? props.theme.unvisitedHelperTextFontColor : props.current ? props.theme.selectedHelperTextFontColor : props.theme.visitedHelperTextFontColor, ";");
268
279
  });
269
280
 
270
281
  var StepSeparator = _styledComponents["default"].div(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n ", "\n border: ", ";\n opacity: 1;\n flex-grow: 1;\n"])), function (props) {
@@ -9,23 +9,18 @@ export default {
9
9
  component: DxcWizard,
10
10
  };
11
11
 
12
- const favoriteSVG = () => {
13
- return (
14
- <svg viewBox="0 0 24 24" fill="currentColor">
15
- <path d="M0 0h24v24H0z" fill="none" />
16
- <path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z" />
17
- </svg>
18
- );
19
- };
20
-
21
- const largeIcon = () => {
22
- return (
23
- <svg xmlns="http://www.w3.org/2000/svg" height="48px" viewBox="0 0 24 24" width="48px" fill="currentColor">
24
- <path d="M0 0h24v24H0z" fill="none" />
25
- <path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z" />
26
- </svg>
27
- );
28
- };
12
+ const favoriteSVG = (
13
+ <svg viewBox="0 0 24 24" fill="currentColor">
14
+ <path d="M0 0h24v24H0z" fill="none" />
15
+ <path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z" />
16
+ </svg>
17
+ );
18
+ const largeIcon = (
19
+ <svg xmlns="http://www.w3.org/2000/svg" height="48px" viewBox="0 0 24 24" width="48px" fill="currentColor">
20
+ <path d="M0 0h24v24H0z" fill="none" />
21
+ <path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z" />
22
+ </svg>
23
+ );
29
24
 
30
25
  const stepWithLabel = [
31
26
  {
@@ -41,7 +36,6 @@ const stepWithLabel = [
41
36
  label: "Forth step",
42
37
  },
43
38
  ];
44
-
45
39
  const stepWithLabelDescription = [
46
40
  {
47
41
  label: "First step",
@@ -62,7 +56,6 @@ const stepWithLabelDescription = [
62
56
  valid: false,
63
57
  },
64
58
  ];
65
-
66
59
  const stepWithLongDescription = [
67
60
  {
68
61
  label: "First step",
@@ -80,7 +73,6 @@ const stepWithLongDescription = [
80
73
  "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. ",
81
74
  },
82
75
  ];
83
-
84
76
  const stepDisabled = [
85
77
  {
86
78
  label: "First step",
@@ -106,7 +98,6 @@ const stepDisabled = [
106
98
  disabled: true,
107
99
  },
108
100
  ];
109
-
110
101
  const stepIcons = [
111
102
  {
112
103
  label: "First step",
@@ -121,7 +112,6 @@ const stepIcons = [
121
112
  icon: favoriteSVG,
122
113
  },
123
114
  ];
124
-
125
115
  const stepLargeIcons = [
126
116
  {
127
117
  label: "First step",
@@ -141,7 +131,7 @@ export const Chromatic = () => (
141
131
  <>
142
132
  <ExampleContainer>
143
133
  <Title title="Current step in the third step, labels and description" theme="light" level={4} />
144
- <DxcWizard currentStep={2} steps={stepWithLabelDescription}></DxcWizard>
134
+ <DxcWizard defaultCurrentStep={2} steps={stepWithLabelDescription}></DxcWizard>
145
135
  <Title title="With long description in horizontal" theme="light" level={4} />
146
136
  <DxcWizard steps={stepWithLongDescription}></DxcWizard>
147
137
  <Title title="With long description in vertical" theme="light" level={4} />