@dxc-technology/halstack-react 0.0.0-839d2dc → 0.0.0-83c2d97

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 (265) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +1 -4
  3. package/HalstackContext.d.ts +10 -0
  4. package/HalstackContext.js +270 -0
  5. package/accordion/Accordion.d.ts +1 -1
  6. package/accordion/Accordion.js +15 -47
  7. package/accordion/Accordion.stories.tsx +307 -0
  8. package/accordion/Accordion.test.js +72 -0
  9. package/accordion/types.d.ts +8 -8
  10. package/accordion-group/AccordionGroup.d.ts +1 -1
  11. package/accordion-group/AccordionGroup.js +15 -17
  12. package/accordion-group/AccordionGroup.stories.tsx +225 -0
  13. package/accordion-group/AccordionGroup.test.js +151 -0
  14. package/accordion-group/types.d.ts +8 -8
  15. package/alert/Alert.js +2 -2
  16. package/alert/Alert.test.js +92 -0
  17. package/alert/types.d.ts +1 -1
  18. package/badge/Badge.d.ts +4 -0
  19. package/badge/Badge.js +1 -1
  20. package/badge/types.d.ts +4 -0
  21. package/badge/types.js +5 -0
  22. package/bleed/Bleed.d.ts +3 -0
  23. package/bleed/Bleed.js +84 -0
  24. package/bleed/Bleed.stories.tsx +342 -0
  25. package/bleed/types.d.ts +37 -0
  26. package/bleed/types.js +5 -0
  27. package/box/Box.d.ts +1 -1
  28. package/box/Box.js +4 -7
  29. package/box/Box.test.js +18 -0
  30. package/box/types.d.ts +0 -4
  31. package/button/Button.d.ts +1 -1
  32. package/button/Button.js +24 -27
  33. package/button/Button.stories.tsx +6 -8
  34. package/button/Button.test.js +35 -0
  35. package/button/types.d.ts +5 -9
  36. package/card/Card.js +32 -34
  37. package/card/Card.stories.tsx +201 -0
  38. package/card/Card.test.js +50 -0
  39. package/card/ice-cream.jpg +0 -0
  40. package/card/types.d.ts +4 -6
  41. package/checkbox/Checkbox.d.ts +1 -1
  42. package/checkbox/Checkbox.js +42 -41
  43. package/checkbox/Checkbox.stories.tsx +124 -128
  44. package/checkbox/Checkbox.test.js +78 -0
  45. package/checkbox/types.d.ts +9 -5
  46. package/chip/Chip.d.ts +4 -0
  47. package/chip/Chip.js +16 -76
  48. package/chip/Chip.stories.tsx +119 -0
  49. package/chip/Chip.test.js +56 -0
  50. package/chip/types.d.ts +45 -0
  51. package/chip/types.js +5 -0
  52. package/common/variables.js +79 -280
  53. package/date-input/DateInput.js +60 -52
  54. package/date-input/DateInput.stories.tsx +7 -7
  55. package/date-input/DateInput.test.js +479 -0
  56. package/date-input/types.d.ts +16 -9
  57. package/dialog/Dialog.js +8 -35
  58. package/dialog/Dialog.stories.tsx +212 -0
  59. package/dialog/Dialog.test.js +40 -0
  60. package/dropdown/Dropdown.d.ts +1 -1
  61. package/dropdown/Dropdown.js +22 -48
  62. package/dropdown/Dropdown.stories.tsx +249 -0
  63. package/dropdown/Dropdown.test.js +189 -0
  64. package/dropdown/types.d.ts +6 -15
  65. package/file-input/FileInput.d.ts +4 -0
  66. package/file-input/FileInput.js +167 -109
  67. package/file-input/FileInput.stories.tsx +507 -0
  68. package/file-input/FileInput.test.js +457 -0
  69. package/file-input/FileItem.d.ts +14 -0
  70. package/file-input/FileItem.js +16 -23
  71. package/file-input/types.d.ts +112 -0
  72. package/file-input/types.js +5 -0
  73. package/footer/Footer.d.ts +1 -1
  74. package/footer/Footer.js +28 -111
  75. package/footer/{Footer.stories.jsx → Footer.stories.tsx} +1 -22
  76. package/footer/Footer.test.js +109 -0
  77. package/footer/Icons.d.ts +2 -0
  78. package/footer/Icons.js +3 -3
  79. package/footer/types.d.ts +22 -18
  80. package/header/Header.js +22 -46
  81. package/header/Header.stories.tsx +172 -0
  82. package/header/Header.test.js +79 -0
  83. package/header/Icons.d.ts +2 -0
  84. package/header/types.d.ts +4 -2
  85. package/heading/Heading.d.ts +4 -0
  86. package/heading/Heading.js +7 -24
  87. package/heading/Heading.stories.tsx +54 -0
  88. package/heading/Heading.test.js +186 -0
  89. package/heading/types.d.ts +33 -0
  90. package/heading/types.js +5 -0
  91. package/inset/Inset.d.ts +3 -0
  92. package/inset/Inset.js +84 -0
  93. package/inset/Inset.stories.tsx +229 -0
  94. package/inset/types.d.ts +37 -0
  95. package/inset/types.js +5 -0
  96. package/layout/ApplicationLayout.d.ts +10 -0
  97. package/layout/ApplicationLayout.js +14 -31
  98. package/layout/ApplicationLayout.stories.tsx +171 -0
  99. package/layout/types.d.ts +57 -0
  100. package/layout/types.js +5 -0
  101. package/link/Link.d.ts +3 -2
  102. package/link/Link.js +71 -70
  103. package/link/Link.stories.tsx +131 -15
  104. package/link/Link.test.js +83 -0
  105. package/link/types.d.ts +10 -29
  106. package/list/List.d.ts +4 -0
  107. package/list/List.js +47 -0
  108. package/list/List.stories.tsx +95 -0
  109. package/list/types.d.ts +7 -0
  110. package/list/types.js +5 -0
  111. package/main.d.ts +11 -8
  112. package/main.js +66 -42
  113. package/number-input/NumberInput.js +14 -24
  114. package/number-input/NumberInput.stories.tsx +5 -5
  115. package/number-input/NumberInput.test.js +506 -0
  116. package/number-input/NumberInputContext.d.ts +4 -0
  117. package/number-input/NumberInputContext.js +5 -2
  118. package/number-input/numberInputContextTypes.d.ts +19 -0
  119. package/number-input/numberInputContextTypes.js +5 -0
  120. package/number-input/types.d.ts +17 -10
  121. package/package.json +9 -6
  122. package/paginator/Paginator.js +12 -42
  123. package/paginator/Paginator.test.js +266 -0
  124. package/password-input/PasswordInput.js +19 -18
  125. package/password-input/PasswordInput.stories.tsx +3 -3
  126. package/password-input/PasswordInput.test.js +181 -0
  127. package/password-input/types.d.ts +29 -19
  128. package/progress-bar/ProgressBar.js +4 -4
  129. package/progress-bar/ProgressBar.test.js +65 -0
  130. package/quick-nav/QuickNav.d.ts +4 -0
  131. package/quick-nav/QuickNav.js +67 -0
  132. package/quick-nav/QuickNav.stories.tsx +237 -0
  133. package/quick-nav/types.d.ts +21 -0
  134. package/quick-nav/types.js +5 -0
  135. package/radio/Radio.js +12 -13
  136. package/radio/Radio.test.js +71 -0
  137. package/radio/types.d.ts +2 -2
  138. package/radio-group/Radio.d.ts +4 -0
  139. package/radio-group/Radio.js +141 -0
  140. package/radio-group/RadioGroup.d.ts +4 -0
  141. package/radio-group/RadioGroup.js +280 -0
  142. package/radio-group/RadioGroup.stories.tsx +100 -0
  143. package/radio-group/RadioGroup.test.js +695 -0
  144. package/radio-group/types.d.ts +114 -0
  145. package/radio-group/types.js +5 -0
  146. package/resultsetTable/ResultsetTable.d.ts +4 -0
  147. package/resultsetTable/ResultsetTable.js +9 -29
  148. package/resultsetTable/ResultsetTable.stories.tsx +275 -0
  149. package/resultsetTable/ResultsetTable.test.js +306 -0
  150. package/resultsetTable/types.d.ts +67 -0
  151. package/resultsetTable/types.js +5 -0
  152. package/row/Row.d.ts +3 -0
  153. package/row/Row.js +127 -0
  154. package/row/Row.stories.tsx +237 -0
  155. package/row/types.d.ts +28 -0
  156. package/row/types.js +5 -0
  157. package/select/Icons.d.ts +10 -0
  158. package/select/Icons.js +93 -0
  159. package/select/Listbox.d.ts +4 -0
  160. package/select/Listbox.js +149 -0
  161. package/select/Option.d.ts +4 -0
  162. package/select/Option.js +110 -0
  163. package/select/Select.d.ts +4 -0
  164. package/select/Select.js +107 -317
  165. package/select/Select.stories.tsx +582 -0
  166. package/select/Select.test.js +2057 -0
  167. package/select/types.d.ts +213 -0
  168. package/select/types.js +5 -0
  169. package/sidenav/Sidenav.js +2 -2
  170. package/sidenav/Sidenav.stories.tsx +182 -0
  171. package/sidenav/Sidenav.test.js +56 -0
  172. package/slider/Slider.d.ts +1 -1
  173. package/slider/Slider.js +10 -9
  174. package/slider/Slider.stories.tsx +14 -9
  175. package/slider/Slider.test.js +150 -0
  176. package/slider/types.d.ts +4 -0
  177. package/spinner/Spinner.js +3 -3
  178. package/spinner/Spinner.stories.jsx +1 -0
  179. package/spinner/Spinner.test.js +64 -0
  180. package/stack/Stack.d.ts +3 -0
  181. package/stack/Stack.js +97 -0
  182. package/stack/Stack.stories.tsx +164 -0
  183. package/stack/types.d.ts +24 -0
  184. package/stack/types.js +5 -0
  185. package/switch/Switch.d.ts +1 -1
  186. package/switch/Switch.js +34 -21
  187. package/switch/Switch.stories.tsx +15 -15
  188. package/switch/Switch.test.js +98 -0
  189. package/switch/types.d.ts +6 -2
  190. package/table/Table.js +3 -3
  191. package/table/Table.stories.jsx +2 -1
  192. package/table/Table.test.js +26 -0
  193. package/tabs/Tabs.d.ts +1 -1
  194. package/tabs/Tabs.js +20 -20
  195. package/tabs/Tabs.stories.tsx +112 -0
  196. package/tabs/Tabs.test.js +140 -0
  197. package/tabs/types.d.ts +29 -18
  198. package/tag/Tag.d.ts +1 -1
  199. package/tag/Tag.js +18 -28
  200. package/tag/Tag.stories.tsx +26 -29
  201. package/tag/Tag.test.js +60 -0
  202. package/tag/types.d.ts +23 -14
  203. package/text/Text.d.ts +7 -0
  204. package/text/Text.js +30 -0
  205. package/text/Text.stories.tsx +19 -0
  206. package/text-input/Suggestion.d.ts +4 -0
  207. package/text-input/Suggestion.js +55 -0
  208. package/text-input/TextInput.d.ts +4 -0
  209. package/text-input/TextInput.js +87 -141
  210. package/text-input/TextInput.stories.tsx +474 -0
  211. package/text-input/TextInput.test.js +1712 -0
  212. package/text-input/types.d.ts +178 -0
  213. package/text-input/types.js +5 -0
  214. package/textarea/Textarea.d.ts +4 -0
  215. package/textarea/Textarea.js +37 -68
  216. package/textarea/Textarea.stories.jsx +37 -15
  217. package/textarea/Textarea.test.js +437 -0
  218. package/textarea/types.d.ts +137 -0
  219. package/textarea/types.js +5 -0
  220. package/toggle-group/ToggleGroup.d.ts +4 -0
  221. package/toggle-group/ToggleGroup.js +18 -46
  222. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  223. package/toggle-group/ToggleGroup.test.js +156 -0
  224. package/toggle-group/types.d.ts +105 -0
  225. package/toggle-group/types.js +5 -0
  226. package/useTheme.d.ts +2 -0
  227. package/useTheme.js +2 -2
  228. package/wizard/Wizard.d.ts +1 -1
  229. package/wizard/Wizard.js +81 -22
  230. package/wizard/Wizard.stories.tsx +214 -0
  231. package/wizard/Wizard.test.js +141 -0
  232. package/wizard/types.d.ts +9 -9
  233. package/ThemeContext.js +0 -246
  234. package/V3Select/V3Select.js +0 -455
  235. package/V3Select/index.d.ts +0 -27
  236. package/V3Textarea/V3Textarea.js +0 -260
  237. package/V3Textarea/index.d.ts +0 -27
  238. package/chip/index.d.ts +0 -22
  239. package/date/Date.js +0 -373
  240. package/date/index.d.ts +0 -27
  241. package/file-input/index.d.ts +0 -81
  242. package/heading/index.d.ts +0 -17
  243. package/input-text/Icons.js +0 -22
  244. package/input-text/InputText.js +0 -611
  245. package/input-text/index.d.ts +0 -36
  246. package/resultsetTable/index.d.ts +0 -19
  247. package/select/index.d.ts +0 -131
  248. package/text-input/index.d.ts +0 -135
  249. package/textarea/index.d.ts +0 -117
  250. package/toggle/Toggle.js +0 -186
  251. package/toggle/index.d.ts +0 -21
  252. package/toggle-group/index.d.ts +0 -21
  253. package/upload/Upload.js +0 -201
  254. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  255. package/upload/buttons-upload/Icons.js +0 -40
  256. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  257. package/upload/dragAndDropArea/Icons.js +0 -39
  258. package/upload/file-upload/FileToUpload.js +0 -115
  259. package/upload/file-upload/Icons.js +0 -66
  260. package/upload/files-upload/FilesToUpload.js +0 -109
  261. package/upload/index.d.ts +0 -15
  262. package/upload/transaction/Icons.js +0 -160
  263. package/upload/transaction/Transaction.js +0 -104
  264. package/upload/transactions/Transactions.js +0 -94
  265. package/wizard/Icons.js +0 -65
@@ -0,0 +1,342 @@
1
+ import React from "react";
2
+ import styled from "styled-components";
3
+ import Title from "../../.storybook/components/Title";
4
+ import DxcBleed from "./Bleed";
5
+ import DxcStack from "../stack/Stack";
6
+
7
+ export default {
8
+ title: "Bleed",
9
+ component: DxcBleed,
10
+ };
11
+
12
+ export const Chromatic = () => (
13
+ <>
14
+ <Title title="Space = none" theme="light" level={4} />
15
+ <Container>
16
+ <DxcStack gutter="medium">
17
+ <Placeholder></Placeholder>
18
+ <DxcBleed space="none">
19
+ <Placeholder></Placeholder>
20
+ </DxcBleed>
21
+ <Placeholder></Placeholder>
22
+ </DxcStack>
23
+ </Container>
24
+ <Title title="Space = xxxsmall" theme="light" level={4} />
25
+ <Container>
26
+ <DxcStack gutter="medium">
27
+ <Placeholder></Placeholder>
28
+ <DxcBleed space="xxxsmall">
29
+ <Placeholder></Placeholder>
30
+ </DxcBleed>
31
+ <Placeholder></Placeholder>
32
+ </DxcStack>
33
+ </Container>
34
+ <Title title="Space = xxsmall" theme="light" level={4} />
35
+ <Container>
36
+ <DxcStack gutter="medium">
37
+ <Placeholder></Placeholder>
38
+ <DxcBleed space="xxsmall">
39
+ <Placeholder></Placeholder>
40
+ </DxcBleed>
41
+ <Placeholder></Placeholder>
42
+ </DxcStack>
43
+ </Container>
44
+ <Title title="Space = xsmall" theme="light" level={4} />
45
+ <Container>
46
+ <DxcStack gutter="medium">
47
+ <Placeholder></Placeholder>
48
+ <DxcBleed space="xsmall">
49
+ <Placeholder></Placeholder>
50
+ </DxcBleed>
51
+ <Placeholder></Placeholder>
52
+ </DxcStack>
53
+ </Container>
54
+ <Title title="Space = small" theme="light" level={4} />
55
+ <Container>
56
+ <DxcStack gutter="medium">
57
+ <Placeholder></Placeholder>
58
+ <DxcBleed space="small">
59
+ <Placeholder></Placeholder>
60
+ </DxcBleed>
61
+ <Placeholder></Placeholder>
62
+ </DxcStack>
63
+ </Container>
64
+ <Title title="Space = medium" theme="light" level={4} />
65
+ <Container>
66
+ <DxcStack gutter="medium">
67
+ <Placeholder></Placeholder>
68
+ <DxcBleed space="medium">
69
+ <Placeholder></Placeholder>
70
+ </DxcBleed>
71
+ <Placeholder></Placeholder>
72
+ </DxcStack>
73
+ </Container>
74
+ <Title title="Space = large" theme="light" level={4} />
75
+ <Container>
76
+ <DxcStack gutter="medium">
77
+ <Placeholder></Placeholder>
78
+ <DxcBleed space="large">
79
+ <Placeholder></Placeholder>
80
+ </DxcBleed>
81
+ <Placeholder></Placeholder>
82
+ </DxcStack>
83
+ </Container>
84
+ <Title title="Space = xlarge" theme="light" level={4} />
85
+ <Container>
86
+ <DxcStack gutter="medium">
87
+ <Placeholder></Placeholder>
88
+ <DxcBleed space="xlarge">
89
+ <Placeholder></Placeholder>
90
+ </DxcBleed>
91
+ <Placeholder></Placeholder>
92
+ </DxcStack>
93
+ </Container>
94
+ <Title title="Space = xxlarge" theme="light" level={4} />
95
+ <Container>
96
+ <DxcStack gutter="medium">
97
+ <Placeholder></Placeholder>
98
+ <DxcBleed space="xxlarge">
99
+ <Placeholder></Placeholder>
100
+ </DxcBleed>
101
+ <Placeholder></Placeholder>
102
+ </DxcStack>
103
+ </Container>
104
+ <Title title="Space = xxxlarge" theme="light" level={4} />
105
+ <Container>
106
+ <DxcStack gutter="medium">
107
+ <Placeholder></Placeholder>
108
+ <DxcBleed space="xxxlarge">
109
+ <Placeholder></Placeholder>
110
+ </DxcBleed>
111
+ <Placeholder></Placeholder>
112
+ </DxcStack>
113
+ </Container>
114
+
115
+ <Title title="Horizontal = none" theme="light" level={4} />
116
+ <Container>
117
+ <DxcStack gutter="medium">
118
+ <Placeholder></Placeholder>
119
+ <DxcBleed horizontal="none">
120
+ <Placeholder></Placeholder>
121
+ </DxcBleed>
122
+ <Placeholder></Placeholder>
123
+ </DxcStack>
124
+ </Container>
125
+ <Title title="Horizontal = xxxsmall" theme="light" level={4} />
126
+ <Container>
127
+ <DxcStack gutter="medium">
128
+ <Placeholder></Placeholder>
129
+ <DxcBleed horizontal="xxxsmall">
130
+ <Placeholder></Placeholder>
131
+ </DxcBleed>
132
+ <Placeholder></Placeholder>
133
+ </DxcStack>
134
+ </Container>
135
+ <Title title="Horizontal = xxsmall" theme="light" level={4} />
136
+ <Container>
137
+ <DxcStack gutter="medium">
138
+ <Placeholder></Placeholder>
139
+ <DxcBleed horizontal="xxsmall">
140
+ <Placeholder></Placeholder>
141
+ </DxcBleed>
142
+ <Placeholder></Placeholder>
143
+ </DxcStack>
144
+ </Container>
145
+ <Title title="Horizontal = xsmall" theme="light" level={4} />
146
+ <Container>
147
+ <DxcStack gutter="medium">
148
+ <Placeholder></Placeholder>
149
+ <DxcBleed horizontal="xsmall">
150
+ <Placeholder></Placeholder>
151
+ </DxcBleed>
152
+ <Placeholder></Placeholder>
153
+ </DxcStack>
154
+ </Container>
155
+ <Title title="Horizontal = small" theme="light" level={4} />
156
+ <Container>
157
+ <DxcStack gutter="medium">
158
+ <Placeholder></Placeholder>
159
+ <DxcBleed horizontal="small">
160
+ <Placeholder></Placeholder>
161
+ </DxcBleed>
162
+ <Placeholder></Placeholder>
163
+ </DxcStack>
164
+ </Container>
165
+ <Title title="Horizontal = medium" theme="light" level={4} />
166
+ <Container>
167
+ <DxcStack gutter="medium">
168
+ <Placeholder></Placeholder>
169
+ <DxcBleed horizontal="medium">
170
+ <Placeholder></Placeholder>
171
+ </DxcBleed>
172
+ <Placeholder></Placeholder>
173
+ </DxcStack>
174
+ </Container>
175
+ <Title title="Horizontal = large" theme="light" level={4} />
176
+ <Container>
177
+ <DxcStack gutter="medium">
178
+ <Placeholder></Placeholder>
179
+ <DxcBleed horizontal="large">
180
+ <Placeholder></Placeholder>
181
+ </DxcBleed>
182
+ <Placeholder></Placeholder>
183
+ </DxcStack>
184
+ </Container>
185
+ <Title title="Horizontal = xlarge" theme="light" level={4} />
186
+ <Container>
187
+ <DxcStack gutter="medium">
188
+ <Placeholder></Placeholder>
189
+ <DxcBleed horizontal="xlarge">
190
+ <Placeholder></Placeholder>
191
+ </DxcBleed>
192
+ <Placeholder></Placeholder>
193
+ </DxcStack>
194
+ </Container>
195
+ <Title title="Horizontal = xxlarge" theme="light" level={4} />
196
+ <Container>
197
+ <DxcStack gutter="medium">
198
+ <Placeholder></Placeholder>
199
+ <DxcBleed horizontal="xxlarge">
200
+ <Placeholder></Placeholder>
201
+ </DxcBleed>
202
+ <Placeholder></Placeholder>
203
+ </DxcStack>
204
+ </Container>
205
+ <Title title="Horizontal = xxxlarge" theme="light" level={4} />
206
+ <Container>
207
+ <DxcStack gutter="medium">
208
+ <Placeholder></Placeholder>
209
+ <DxcBleed horizontal="xxxlarge">
210
+ <Placeholder></Placeholder>
211
+ </DxcBleed>
212
+ <Placeholder></Placeholder>
213
+ </DxcStack>
214
+ </Container>
215
+
216
+ <Title title="Vertical = none" theme="light" level={4} />
217
+ <Container>
218
+ <DxcStack gutter="medium">
219
+ <Placeholder></Placeholder>
220
+ <DxcBleed vertical="none">
221
+ <Placeholder></Placeholder>
222
+ </DxcBleed>
223
+ <Placeholder></Placeholder>
224
+ </DxcStack>
225
+ </Container>
226
+ <Title title="Vertical = xxxsmall" theme="light" level={4} />
227
+ <Container>
228
+ <DxcStack gutter="medium">
229
+ <Placeholder></Placeholder>
230
+ <DxcBleed vertical="xxxsmall">
231
+ <Placeholder></Placeholder>
232
+ </DxcBleed>
233
+ <Placeholder></Placeholder>
234
+ </DxcStack>
235
+ </Container>
236
+ <Title title="Vertical = xxsmall" theme="light" level={4} />
237
+ <Container>
238
+ <DxcStack gutter="medium">
239
+ <Placeholder></Placeholder>
240
+ <DxcBleed vertical="xxsmall">
241
+ <Placeholder></Placeholder>
242
+ </DxcBleed>
243
+ <Placeholder></Placeholder>
244
+ </DxcStack>
245
+ </Container>
246
+ <Title title="Vertical = xsmall" theme="light" level={4} />
247
+ <Container>
248
+ <DxcStack gutter="medium">
249
+ <Placeholder></Placeholder>
250
+ <DxcBleed vertical="xsmall">
251
+ <Placeholder></Placeholder>
252
+ </DxcBleed>
253
+ <Placeholder></Placeholder>
254
+ </DxcStack>
255
+ </Container>
256
+ <Title title="Vertical = small" theme="light" level={4} />
257
+ <Container>
258
+ <DxcStack gutter="medium">
259
+ <Placeholder></Placeholder>
260
+ <DxcBleed vertical="small">
261
+ <Placeholder></Placeholder>
262
+ </DxcBleed>
263
+ <Placeholder></Placeholder>
264
+ </DxcStack>
265
+ </Container>
266
+ <Title title="Vertical = medium" theme="light" level={4} />
267
+ <Container>
268
+ <DxcStack gutter="medium">
269
+ <Placeholder></Placeholder>
270
+ <DxcBleed vertical="medium">
271
+ <Placeholder></Placeholder>
272
+ </DxcBleed>
273
+ <Placeholder></Placeholder>
274
+ </DxcStack>
275
+ </Container>
276
+ <Title title="Vertical = large" theme="light" level={4} />
277
+ <Container>
278
+ <DxcStack gutter="medium">
279
+ <Placeholder></Placeholder>
280
+ <DxcBleed vertical="large">
281
+ <Placeholder></Placeholder>
282
+ </DxcBleed>
283
+ <Placeholder></Placeholder>
284
+ </DxcStack>
285
+ </Container>
286
+ <Title title="Vertical = xlarge" theme="light" level={4} />
287
+ <Container>
288
+ <DxcStack gutter="medium">
289
+ <Placeholder></Placeholder>
290
+ <DxcBleed vertical="xlarge">
291
+ <Placeholder></Placeholder>
292
+ </DxcBleed>
293
+ <Placeholder></Placeholder>
294
+ </DxcStack>
295
+ </Container>
296
+ <Title title="Vertical = xxlarge" theme="light" level={4} />
297
+ <Container>
298
+ <DxcStack gutter="medium">
299
+ <Placeholder></Placeholder>
300
+ <DxcBleed vertical="xxlarge">
301
+ <Placeholder></Placeholder>
302
+ </DxcBleed>
303
+ <Placeholder></Placeholder>
304
+ </DxcStack>
305
+ </Container>
306
+ <Title title="Vertical = xxxlarge" theme="light" level={4} />
307
+ <Container>
308
+ <DxcStack gutter="medium">
309
+ <Placeholder></Placeholder>
310
+ <DxcBleed vertical="xxxlarge">
311
+ <Placeholder></Placeholder>
312
+ </DxcBleed>
313
+ <Placeholder></Placeholder>
314
+ </DxcStack>
315
+ </Container>
316
+
317
+ <Title title="Top = xsmall, right = small, bottom = medium and left = large" theme="light" level={4} />
318
+ <Container>
319
+ <DxcStack gutter="medium">
320
+ <Placeholder></Placeholder>
321
+ <DxcBleed top="xsmall" right="small" bottom="medium" left="large">
322
+ <Placeholder></Placeholder>
323
+ </DxcBleed>
324
+ <Placeholder></Placeholder>
325
+ </DxcStack>
326
+ </Container>
327
+ </>
328
+ );
329
+
330
+ const Container = styled.div`
331
+ background: #f2eafa;
332
+ padding: 5rem;
333
+ margin: 2.5rem;
334
+ `;
335
+
336
+ const Placeholder = styled.div`
337
+ min-height: 40px;
338
+ min-width: 120px;
339
+ border: 1px solid #a46ede;
340
+ background-color: #e5d5f6;
341
+ `;
342
+
@@ -0,0 +1,37 @@
1
+ /// <reference types="react" />
2
+ declare type Spacing = "none" | "xxxsmall" | "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge" | "xxxlarge";
3
+ declare type Props = {
4
+ /**
5
+ * Applies the spacing scale to all sides.
6
+ */
7
+ space?: Spacing;
8
+ /**
9
+ * Applies the spacing scale to the left and right sides.
10
+ */
11
+ horizontal?: Spacing;
12
+ /**
13
+ * Applies the spacing scale to the top and bottom sides.
14
+ */
15
+ vertical?: Spacing;
16
+ /**
17
+ * Applies the spacing scale to the top side.
18
+ */
19
+ top?: Spacing;
20
+ /**
21
+ * Applies the spacing scale to the right side.
22
+ */
23
+ right?: Spacing;
24
+ /**
25
+ * Applies the spacing scale to the bottom side.
26
+ */
27
+ bottom?: Spacing;
28
+ /**
29
+ * Applies the spacing scale to the left side.
30
+ */
31
+ left?: Spacing;
32
+ /**
33
+ * Custom content inside the bleed.
34
+ */
35
+ children: React.ReactNode;
36
+ };
37
+ export default Props;
package/bleed/types.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
package/box/Box.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import BoxPropsType from "./types";
3
- declare const DxcBox: ({ shadowDepth, display, children, margin, padding, size, tabIndex, }: BoxPropsType) => JSX.Element;
3
+ declare const DxcBox: ({ shadowDepth, display, children, margin, padding, size, }: BoxPropsType) => JSX.Element;
4
4
  export default DxcBox;
package/box/Box.js CHANGED
@@ -21,9 +21,9 @@ var _variables = require("../common/variables.js");
21
21
 
22
22
  var _utils = require("../common/utils.js");
23
23
 
24
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
24
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
25
25
 
26
- var _BackgroundColorContext = require("../BackgroundColorContext.js");
26
+ var _BackgroundColorContext = require("../BackgroundColorContext");
27
27
 
28
28
  var _templateObject;
29
29
 
@@ -40,9 +40,7 @@ var DxcBox = function DxcBox(_ref) {
40
40
  margin = _ref.margin,
41
41
  padding = _ref.padding,
42
42
  _ref$size = _ref.size,
43
- size = _ref$size === void 0 ? "fitContent" : _ref$size,
44
- _ref$tabIndex = _ref.tabIndex,
45
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
43
+ size = _ref$size === void 0 ? "fitContent" : _ref$size;
46
44
  var colorsTheme = (0, _useTheme["default"])();
47
45
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
48
46
  theme: colorsTheme.box
@@ -51,8 +49,7 @@ var DxcBox = function DxcBox(_ref) {
51
49
  display: display,
52
50
  margin: margin,
53
51
  padding: padding,
54
- size: size,
55
- tabIndex: tabIndex
52
+ size: size
56
53
  }, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
57
54
  color: colorsTheme.box.backgroundColor
58
55
  }, children)));
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _react2 = require("@testing-library/react");
8
+
9
+ var _Card = _interopRequireDefault(require("../card/Card"));
10
+
11
+ describe("Box component tests", function () {
12
+ test("Box renders with correct text", function () {
13
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], null, "test-box")),
14
+ getByText = _render.getByText;
15
+
16
+ expect(getByText("test-box")).toBeTruthy();
17
+ });
18
+ });
package/box/types.d.ts CHANGED
@@ -39,9 +39,5 @@ declare type Props = {
39
39
  * Size of the component.
40
40
  */
41
41
  size?: "small" | "medium" | "large" | "fillParent" | "fitContent";
42
- /**
43
- * Value of the tabindex attribute.
44
- */
45
- tabIndex?: number;
46
42
  };
47
43
  export default Props;
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import ButtonPropsType from "./types";
3
- declare const DxcButton: ({ label, mode, disabled, iconPosition, type, icon, iconSrc, onClick, margin, size, tabIndex }: ButtonPropsType) => JSX.Element;
3
+ declare const DxcButton: ({ label, mode, disabled, iconPosition, type, icon, onClick, margin, size, tabIndex, }: ButtonPropsType) => JSX.Element;
4
4
  export default DxcButton;
package/button/Button.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 _react = _interopRequireWildcard(require("react"));
17
17
 
18
18
  var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
@@ -23,9 +23,9 @@ var _variables = require("../common/variables.js");
23
23
 
24
24
  var _utils = require("../common/utils.js");
25
25
 
26
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
26
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
27
27
 
28
- var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext.js"));
28
+ var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
29
29
 
30
30
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
31
31
 
@@ -45,16 +45,22 @@ var DxcButton = function DxcButton(_ref) {
45
45
  _ref$type = _ref.type,
46
46
  type = _ref$type === void 0 ? "button" : _ref$type,
47
47
  icon = _ref.icon,
48
- _ref$iconSrc = _ref.iconSrc,
49
- iconSrc = _ref$iconSrc === void 0 ? "" : _ref$iconSrc,
50
- onClick = _ref.onClick,
48
+ _ref$onClick = _ref.onClick,
49
+ _onClick = _ref$onClick === void 0 ? function () {} : _ref$onClick,
51
50
  margin = _ref.margin,
52
51
  _ref$size = _ref.size,
53
52
  size = _ref$size === void 0 ? "fitContent" : _ref$size,
54
53
  _ref$tabIndex = _ref.tabIndex,
55
54
  tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
55
+
56
56
  var colorsTheme = (0, _useTheme["default"])();
57
57
  var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
58
+
59
+ var labelComponent = /*#__PURE__*/_react["default"].createElement(LabelContainer, {
60
+ icon: icon,
61
+ iconPosition: iconPosition
62
+ }, label);
63
+
58
64
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
59
65
  theme: colorsTheme.button
60
66
  }, /*#__PURE__*/_react["default"].createElement(DxCButton, {
@@ -72,18 +78,15 @@ var DxcButton = function DxcButton(_ref) {
72
78
  disableRipple: true,
73
79
  "aria-disabled": disabled,
74
80
  tabIndex: disabled ? -1 : tabIndex,
75
- onClick: onClick
76
- }, label && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
77
- icon: icon,
78
- iconPosition: iconPosition
79
- }, label), icon ? /*#__PURE__*/_react["default"].createElement(IconContainer, {
81
+ onClick: function onClick() {
82
+ _onClick();
83
+ }
84
+ }, label && iconPosition === "after" && labelComponent, icon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
80
85
  label: label,
81
86
  iconPosition: iconPosition
82
- }, (0, _typeof2["default"])(icon) === "object" ? icon : /*#__PURE__*/_react["default"].createElement(icon)) : iconSrc && /*#__PURE__*/_react["default"].createElement(ButtonIcon, {
83
- label: label,
84
- iconPosition: iconPosition,
85
- src: iconSrc
86
- }))));
87
+ }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(ButtonIcon, {
88
+ src: icon
89
+ }) : icon), label && iconPosition === "before" && labelComponent)));
87
90
  };
88
91
 
89
92
  var sizes = {
@@ -118,13 +121,9 @@ var IconContainer = _styledComponents["default"].div(_templateObject2 || (_templ
118
121
  return !props.label ? "0px" : props.iconPosition === "before" && props.label !== "" && "8px" || "8px";
119
122
  });
120
123
 
121
- var ButtonIcon = _styledComponents["default"].img(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 24px;\n max-width: 24px;\n margin-left: ", ";\n margin-right: ", ";\n"])), function (props) {
122
- return props.iconPosition === "after" && props.label !== "" && "10px" || "0px";
123
- }, function (props) {
124
- return props.iconPosition === "before" && props.label !== "" && "10px" || "0px";
125
- });
124
+ var ButtonIcon = _styledComponents["default"].img(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])([""])));
126
125
 
127
- var DxCButton = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n display: inline-block;\n width: ", ";\n cursor: ", ";\n\n .MuiButtonBase-root {\n padding-left: ", ";\n padding-right: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n\n .MuiButton-label {\n display: flex;\n flex-direction: ", ";\n align-items: center;\n }\n\n box-shadow: 0 0 0 2px transparent;\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n min-width: ", ";\n width: 100%;\n height: 40px;\n transition: none !important;\n\n &:focus {\n border-color: transparent;\n box-shadow: 0 0 0 2px\n ", ";\n }\n\n ", "\n }\n"])), function (props) {
126
+ var DxCButton = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n display: inline-block;\n width: ", ";\n cursor: ", ";\n\n .MuiButtonBase-root {\n padding-left: ", ";\n padding-right: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n\n .MuiButton-label {\n display: flex;\n align-items: center;\n }\n\n box-shadow: 0 0 0 2px transparent;\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n min-width: ", ";\n width: 100%;\n height: 40px;\n transition: none !important;\n\n &:focus {\n border-color: transparent;\n box-shadow: 0 0 0 2px\n ", ";\n }\n\n ", "\n }\n"])), function (props) {
128
127
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
129
128
  }, function (props) {
130
129
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
@@ -146,8 +145,6 @@ var DxCButton = _styledComponents["default"].div(_templateObject4 || (_templateO
146
145
  return props.theme.paddingTop;
147
146
  }, function (props) {
148
147
  return props.theme.paddingBottom;
149
- }, function (props) {
150
- return props.iconPosition === "after" && "row" || "row-reverse";
151
148
  }, function (props) {
152
149
  return props.theme.fontFamily;
153
150
  }, function (props) {
@@ -165,9 +162,9 @@ var DxCButton = _styledComponents["default"].div(_templateObject4 || (_templateO
165
162
  backgroundType = props.backgroundType;
166
163
 
167
164
  if (mode === "primary") {
168
- return "\n border-radius: ".concat(props.theme.primaryBorderRadius, ";\n border-width: ").concat(props.theme.primaryBorderThickness, ";\n border-style: ").concat(props.theme.primaryBorderStyle, ";\n font-family: ").concat(props.theme.primaryFontFamily, ";\n font-size: ").concat(props.theme.primaryFontSize, ";\n font-weight: ").concat(props.theme.primaryFontWeight, ";\n background-color: ").concat(backgroundType === "dark" ? props.theme.primaryBackgroundColorOnDark : props.theme.primaryBackgroundColor, ";\n color: ").concat(backgroundType && backgroundType === "dark" ? props.theme.primaryFontColorOnDark : props.theme.primaryFontColor, " !important;\n\n &:hover {\n background-color: ").concat(backgroundType === "dark" ? props.theme.primaryHoverBackgroundColorOnDark : props.theme.primaryHoverBackgroundColor, ";\n }\n &:active {\n background-color: ").concat(backgroundType === "dark" ? props.theme.primaryActiveBackgroundColorOnDark : props.theme.primaryActiveBackgroundColor, " !important;\n border-color: transparent;\n box-shadow: 0 0 0 2px ").concat(backgroundType === "dark" ? props.theme.focusBorderColorOnDark : props.theme.focusBorderColor, ";\n }\n &:disabled { \n cursor: not-allowed;\n background-color: ").concat(backgroundType === "dark" ? props.theme.primaryDisabledBackgroundColorOnDark : props.theme.primaryDisabledBackgroundColor, ";\n color: ").concat(backgroundType === "dark" ? props.theme.primaryDisabledFontColorOnDark : props.theme.primaryDisabledFontColor, "!important; \n }\n .MuiButton-label {\n z-index: 5;\n }\n ");
165
+ return "\n border-radius: ".concat(props.theme.primaryBorderRadius, ";\n border-width: ").concat(props.theme.primaryBorderThickness, ";\n border-style: ").concat(props.theme.primaryBorderStyle, ";\n font-family: ").concat(props.theme.primaryFontFamily, ";\n font-size: ").concat(props.theme.primaryFontSize, ";\n font-weight: ").concat(props.theme.primaryFontWeight, ";\n background-color: ").concat(backgroundType === "dark" ? props.theme.primaryBackgroundColorOnDark : props.theme.primaryBackgroundColor, ";\n color: ").concat(backgroundType && backgroundType === "dark" ? props.theme.primaryFontColorOnDark : props.theme.primaryFontColor, " !important;\n\n &:hover {\n background-color: ").concat(backgroundType === "dark" ? props.theme.primaryHoverBackgroundColorOnDark : props.theme.primaryHoverBackgroundColor, ";\n }\n &:active {\n background-color: ").concat(backgroundType === "dark" ? props.theme.primaryActiveBackgroundColorOnDark : props.theme.primaryActiveBackgroundColor, " !important;\n border-color: transparent;\n box-shadow: 0 0 0 2px ").concat(backgroundType === "dark" ? props.theme.focusBorderColorOnDark : props.theme.focusBorderColor, ";\n }\n &:disabled { \n cursor: not-allowed;\n background-color: ").concat(backgroundType === "dark" ? props.theme.primaryDisabledBackgroundColorOnDark : props.theme.primaryDisabledBackgroundColor, ";\n color: ").concat(backgroundType === "dark" ? props.theme.primaryDisabledFontColorOnDark : props.theme.primaryDisabledFontColor, " !important; \n }\n ");
169
166
  } else if (mode === "secondary") {
170
- return "\n border-radius: ".concat(props.theme.secondaryBorderRadius, ";\n border-width: ").concat(props.theme.secondaryBorderThickness, ";\n border-style: ").concat(props.theme.secondaryBorderStyle, ";\n font-family: ").concat(props.theme.secondaryFontFamily, ";\n font-size: ").concat(props.theme.secondaryFontSize, ";\n font-weight: ").concat(props.theme.secondaryFontWeight, ";\n background-color: ").concat(backgroundType === "dark" ? props.theme.secondaryBackgroundColorOnDark : props.theme.secondaryBackgroundColor, ";\n color: ").concat(backgroundType === "dark" ? props.theme.secondaryFontColorOnDark : props.theme.secondaryFontColor, " !important;\n border-color: ").concat(backgroundType === "dark" ? props.theme.secondaryBorderColorOnDark : props.theme.secondaryBorderColor, ";\n\n &:hover {\n background-color: ").concat(backgroundType === "dark" ? props.theme.secondaryHoverBackgroundColorOnDark : props.theme.secondaryHoverBackgroundColor, ";\n color: ").concat(backgroundType === "dark" ? props.theme.secondaryHoverFontColorOnDark : props.theme.secondaryHoverFontColor, " !important;\n }\n &:active {\n background-color: ").concat(backgroundType === "dark" ? props.theme.secondaryActiveBackgroundColorOnDark : props.theme.secondaryActiveBackgroundColor, " !important;\n color: ").concat(backgroundType === "dark" ? props.theme.secondaryHoverFontColorOnDark : props.theme.secondaryHoverFontColor, " !important;\n border-color: transparent;\n box-shadow: 0 0 0 2px ").concat(backgroundType === "dark" ? props.theme.focusBorderColorOnDark : props.theme.focusBorderColor, ";\n }\n &:disabled {\n cursor: not-allowed;\n background-color: ").concat(backgroundType === "dark" ? props.theme.secondaryDisabledBackgroundColorOnDark : props.theme.secondaryDisabledBackgroundColor, " !important;\n color: ").concat(backgroundType === "dark" ? props.theme.secondaryDisabledFontColorOnDark : props.theme.secondaryDisabledFontColor, " !important;\n border-color: ").concat(backgroundType === "dark" ? props.theme.secondaryDisabledBorderColorOnDark : props.theme.secondaryDisabledBorderColor, ";\n }\n .MuiButton-label {\n z-index: 5;\n }\n ");
167
+ return "\n border-radius: ".concat(props.theme.secondaryBorderRadius, ";\n border-width: ").concat(props.theme.secondaryBorderThickness, ";\n border-style: ").concat(props.theme.secondaryBorderStyle, ";\n font-family: ").concat(props.theme.secondaryFontFamily, ";\n font-size: ").concat(props.theme.secondaryFontSize, ";\n font-weight: ").concat(props.theme.secondaryFontWeight, ";\n background-color: ").concat(backgroundType === "dark" ? props.theme.secondaryBackgroundColorOnDark : props.theme.secondaryBackgroundColor, ";\n color: ").concat(backgroundType === "dark" ? props.theme.secondaryFontColorOnDark : props.theme.secondaryFontColor, " !important;\n border-color: ").concat(backgroundType === "dark" ? props.theme.secondaryBorderColorOnDark : props.theme.secondaryBorderColor, ";\n\n &:hover {\n background-color: ").concat(backgroundType === "dark" ? props.theme.secondaryHoverBackgroundColorOnDark : props.theme.secondaryHoverBackgroundColor, ";\n color: ").concat(backgroundType === "dark" ? props.theme.secondaryHoverFontColorOnDark : props.theme.secondaryHoverFontColor, " !important;\n }\n &:active {\n background-color: ").concat(backgroundType === "dark" ? props.theme.secondaryActiveBackgroundColorOnDark : props.theme.secondaryActiveBackgroundColor, " !important;\n color: ").concat(backgroundType === "dark" ? props.theme.secondaryHoverFontColorOnDark : props.theme.secondaryHoverFontColor, " !important;\n border-color: transparent;\n box-shadow: 0 0 0 2px ").concat(backgroundType === "dark" ? props.theme.focusBorderColorOnDark : props.theme.focusBorderColor, ";\n }\n &:disabled {\n cursor: not-allowed;\n background-color: ").concat(backgroundType === "dark" ? props.theme.secondaryDisabledBackgroundColorOnDark : props.theme.secondaryDisabledBackgroundColor, " !important;\n color: ").concat(backgroundType === "dark" ? props.theme.secondaryDisabledFontColorOnDark : props.theme.secondaryDisabledFontColor, " !important;\n border-color: ").concat(backgroundType === "dark" ? props.theme.secondaryDisabledBorderColorOnDark : props.theme.secondaryDisabledBorderColor, ";\n }\n ");
171
168
  } else if (mode === "text") {
172
169
  return "\n border-radius: ".concat(props.theme.textBorderRadius, ";\n border-width: ").concat(props.theme.textBorderThickness, ";\n border-style: ").concat(props.theme.textBorderStyle, ";\n font-family: ").concat(props.theme.textFontFamily, ";\n font-size: ").concat(props.theme.textFontSize, ";\n font-weight: ").concat(props.theme.textFontWeight, ";\n background-color: ").concat(backgroundType === "dark" ? props.theme.textBackgroundColorOnDark : props.theme.textBackgroundColor, ";\n color: ").concat(backgroundType === "dark" ? props.theme.textFontColorOnDark : props.theme.textFontColor, " !important;\n\n &:hover {\n background-color: ").concat(backgroundType === "dark" ? props.theme.textHoverBackgroundColorOnDark : props.theme.textHoverBackgroundColor, ";\n }\n &:active {\n background-color: ").concat(backgroundType === "dark" ? props.theme.textActiveBackgroundColorOnDark : props.theme.textActiveBackgroundColor, " !important;\n border-color: transparent;\n box-shadow: 0 0 0 2px ").concat(backgroundType === "dark" ? props.theme.focusBorderColorOnDark : props.theme.focusBorderColor, ";\n }\n &:disabled {\n cursor:not-allowed;\n color: ").concat(backgroundType === "dark" ? props.theme.textDisabledFontColorOnDark : props.theme.textDisabledFontColor, " !important;\n background-color: ").concat(backgroundType === "dark" ? props.theme.textDisabledBackgroundColorOnDark : props.theme.textDisabledBackgroundColor, ";\n }\n ");
173
170
  }
@@ -10,14 +10,12 @@ export default {
10
10
  component: DxcButton,
11
11
  };
12
12
 
13
- const iconSVG = () => {
14
- return (
15
- <svg viewBox="0 0 24 24" fill="currentColor">
16
- <path d="M0 0h24v24H0z" fill="none" />
17
- <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" />
18
- </svg>
19
- );
20
- };
13
+ const iconSVG = (
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
+ );
21
19
  export const Chromatic = () => (
22
20
  <>
23
21
  <Title title="Primary" theme="light" level={2} />
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _react2 = require("@testing-library/react");
8
+
9
+ var _Button = _interopRequireDefault(require("./Button"));
10
+
11
+ describe("Button component tests", function () {
12
+ test("Button renders with correct text", function () {
13
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
14
+ label: "Button"
15
+ })),
16
+ getByText = _render.getByText;
17
+
18
+ expect(getByText("Button")).toBeTruthy();
19
+ });
20
+ test("Calls correct function on click", function () {
21
+ var onClick = jest.fn();
22
+
23
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
24
+ label: "Button",
25
+ onClick: onClick
26
+ })),
27
+ getByText = _render2.getByText;
28
+
29
+ var button = getByText("Button");
30
+
31
+ _react2.fireEvent.click(button);
32
+
33
+ expect(onClick).toHaveBeenCalled();
34
+ });
35
+ });