@dxc-technology/halstack-react 0.0.0-951bb80 → 0.0.0-955a751

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 (276) hide show
  1. package/README.md +46 -0
  2. package/dist/index.d.mts +6439 -0
  3. package/dist/index.d.ts +6439 -0
  4. package/dist/index.js +12608 -0
  5. package/dist/index.mjs +12520 -0
  6. package/package.json +72 -69
  7. package/BackgroundColorContext.d.ts +0 -10
  8. package/BackgroundColorContext.js +0 -47
  9. package/ThemeContext.d.ts +0 -15
  10. package/ThemeContext.js +0 -243
  11. package/V3Select/V3Select.js +0 -455
  12. package/V3Select/index.d.ts +0 -27
  13. package/V3Textarea/V3Textarea.js +0 -260
  14. package/V3Textarea/index.d.ts +0 -27
  15. package/accordion/Accordion.d.ts +0 -4
  16. package/accordion/Accordion.js +0 -247
  17. package/accordion/Accordion.stories.tsx +0 -307
  18. package/accordion/types.d.ts +0 -64
  19. package/accordion/types.js +0 -5
  20. package/accordion-group/AccordionGroup.d.ts +0 -7
  21. package/accordion-group/AccordionGroup.js +0 -170
  22. package/accordion-group/AccordionGroup.stories.tsx +0 -225
  23. package/accordion-group/types.d.ts +0 -68
  24. package/accordion-group/types.js +0 -5
  25. package/alert/Alert.d.ts +0 -4
  26. package/alert/Alert.js +0 -290
  27. package/alert/Alert.stories.tsx +0 -170
  28. package/alert/types.d.ts +0 -49
  29. package/alert/types.js +0 -5
  30. package/badge/Badge.js +0 -59
  31. package/bleed/Bleed.d.ts +0 -3
  32. package/bleed/Bleed.js +0 -84
  33. package/bleed/Bleed.stories.tsx +0 -342
  34. package/bleed/types.d.ts +0 -13
  35. package/bleed/types.js +0 -5
  36. package/box/Box.d.ts +0 -4
  37. package/box/Box.js +0 -126
  38. package/box/Box.stories.tsx +0 -132
  39. package/box/types.d.ts +0 -43
  40. package/box/types.js +0 -5
  41. package/button/Button.d.ts +0 -4
  42. package/button/Button.js +0 -171
  43. package/button/Button.stories.tsx +0 -274
  44. package/button/types.d.ts +0 -53
  45. package/button/types.js +0 -5
  46. package/card/Card.d.ts +0 -4
  47. package/card/Card.js +0 -164
  48. package/card/Card.stories.tsx +0 -201
  49. package/card/ice-cream.jpg +0 -0
  50. package/card/types.d.ts +0 -67
  51. package/card/types.js +0 -5
  52. package/checkbox/Checkbox.d.ts +0 -4
  53. package/checkbox/Checkbox.js +0 -253
  54. package/checkbox/Checkbox.stories.tsx +0 -192
  55. package/checkbox/types.d.ts +0 -60
  56. package/checkbox/types.js +0 -5
  57. package/chip/Chip.d.ts +0 -4
  58. package/chip/Chip.js +0 -161
  59. package/chip/Chip.stories.tsx +0 -119
  60. package/chip/types.d.ts +0 -45
  61. package/chip/types.js +0 -5
  62. package/common/OpenSans.css +0 -81
  63. package/common/RequiredComponent.js +0 -32
  64. package/common/fonts/OpenSans-Bold.ttf +0 -0
  65. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  66. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  67. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  68. package/common/fonts/OpenSans-Italic.ttf +0 -0
  69. package/common/fonts/OpenSans-Light.ttf +0 -0
  70. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  71. package/common/fonts/OpenSans-Regular.ttf +0 -0
  72. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  73. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  74. package/common/utils.js +0 -22
  75. package/common/variables.js +0 -1611
  76. package/date/Date.js +0 -373
  77. package/date/index.d.ts +0 -27
  78. package/date-input/DateInput.d.ts +0 -4
  79. package/date-input/DateInput.js +0 -358
  80. package/date-input/DateInput.stories.tsx +0 -138
  81. package/date-input/types.d.ts +0 -100
  82. package/date-input/types.js +0 -5
  83. package/dialog/Dialog.d.ts +0 -4
  84. package/dialog/Dialog.js +0 -166
  85. package/dialog/Dialog.stories.tsx +0 -212
  86. package/dialog/types.d.ts +0 -43
  87. package/dialog/types.js +0 -5
  88. package/dropdown/Dropdown.d.ts +0 -4
  89. package/dropdown/Dropdown.js +0 -395
  90. package/dropdown/Dropdown.stories.tsx +0 -249
  91. package/dropdown/types.d.ts +0 -80
  92. package/dropdown/types.js +0 -5
  93. package/file-input/FileInput.d.ts +0 -4
  94. package/file-input/FileInput.js +0 -590
  95. package/file-input/FileInput.stories.tsx +0 -507
  96. package/file-input/FileItem.d.ts +0 -14
  97. package/file-input/FileItem.js +0 -184
  98. package/file-input/types.d.ts +0 -112
  99. package/file-input/types.js +0 -5
  100. package/footer/Footer.d.ts +0 -4
  101. package/footer/Footer.js +0 -258
  102. package/footer/Footer.stories.tsx +0 -130
  103. package/footer/Icons.d.ts +0 -2
  104. package/footer/Icons.js +0 -77
  105. package/footer/types.d.ts +0 -65
  106. package/footer/types.js +0 -5
  107. package/header/Header.d.ts +0 -7
  108. package/header/Header.js +0 -324
  109. package/header/Header.stories.tsx +0 -162
  110. package/header/Icons.d.ts +0 -2
  111. package/header/Icons.js +0 -34
  112. package/header/types.d.ts +0 -47
  113. package/header/types.js +0 -5
  114. package/heading/Heading.d.ts +0 -4
  115. package/heading/Heading.js +0 -159
  116. package/heading/Heading.stories.tsx +0 -54
  117. package/heading/types.d.ts +0 -33
  118. package/heading/types.js +0 -5
  119. package/input-text/Icons.js +0 -22
  120. package/input-text/InputText.js +0 -611
  121. package/input-text/index.d.ts +0 -36
  122. package/inset/Inset.d.ts +0 -3
  123. package/inset/Inset.js +0 -84
  124. package/inset/Inset.stories.tsx +0 -229
  125. package/inset/types.d.ts +0 -13
  126. package/inset/types.js +0 -5
  127. package/layout/ApplicationLayout.d.ts +0 -10
  128. package/layout/ApplicationLayout.js +0 -225
  129. package/layout/ApplicationLayout.stories.tsx +0 -171
  130. package/layout/Icons.js +0 -55
  131. package/layout/types.d.ts +0 -57
  132. package/layout/types.js +0 -5
  133. package/link/Link.d.ts +0 -3
  134. package/link/Link.js +0 -153
  135. package/link/Link.stories.tsx +0 -151
  136. package/link/types.d.ts +0 -70
  137. package/link/types.js +0 -5
  138. package/list/List.d.ts +0 -4
  139. package/list/List.js +0 -47
  140. package/list/List.stories.tsx +0 -95
  141. package/list/types.d.ts +0 -7
  142. package/list/types.js +0 -5
  143. package/main.d.ts +0 -49
  144. package/main.js +0 -403
  145. package/number-input/NumberInput.d.ts +0 -4
  146. package/number-input/NumberInput.js +0 -83
  147. package/number-input/NumberInput.stories.tsx +0 -115
  148. package/number-input/NumberInputContext.d.ts +0 -4
  149. package/number-input/NumberInputContext.js +0 -19
  150. package/number-input/numberInputContextTypes.d.ts +0 -19
  151. package/number-input/numberInputContextTypes.js +0 -5
  152. package/number-input/types.d.ts +0 -117
  153. package/number-input/types.js +0 -5
  154. package/paginator/Icons.js +0 -66
  155. package/paginator/Paginator.d.ts +0 -4
  156. package/paginator/Paginator.js +0 -192
  157. package/paginator/Paginator.stories.tsx +0 -63
  158. package/paginator/types.d.ts +0 -38
  159. package/paginator/types.js +0 -5
  160. package/password-input/PasswordInput.d.ts +0 -4
  161. package/password-input/PasswordInput.js +0 -163
  162. package/password-input/PasswordInput.stories.tsx +0 -131
  163. package/password-input/types.d.ts +0 -107
  164. package/password-input/types.js +0 -5
  165. package/progress-bar/ProgressBar.d.ts +0 -4
  166. package/progress-bar/ProgressBar.js +0 -170
  167. package/progress-bar/ProgressBar.stories.jsx +0 -58
  168. package/progress-bar/types.d.ts +0 -37
  169. package/progress-bar/types.js +0 -5
  170. package/radio/Radio.d.ts +0 -4
  171. package/radio/Radio.js +0 -174
  172. package/radio/Radio.stories.tsx +0 -192
  173. package/radio/types.d.ts +0 -54
  174. package/radio/types.js +0 -5
  175. package/radio-group/Radio.d.ts +0 -4
  176. package/radio-group/Radio.js +0 -140
  177. package/radio-group/RadioGroup.d.ts +0 -4
  178. package/radio-group/RadioGroup.js +0 -273
  179. package/radio-group/RadioGroup.stories.tsx +0 -79
  180. package/radio-group/RadioGroup.test.js +0 -248
  181. package/radio-group/types.d.ts +0 -36
  182. package/radio-group/types.js +0 -5
  183. package/resultsetTable/ResultsetTable.d.ts +0 -4
  184. package/resultsetTable/ResultsetTable.js +0 -251
  185. package/resultsetTable/ResultsetTable.stories.tsx +0 -275
  186. package/resultsetTable/types.d.ts +0 -67
  187. package/resultsetTable/types.js +0 -5
  188. package/row/Row.d.ts +0 -3
  189. package/row/Row.js +0 -127
  190. package/row/Row.stories.tsx +0 -237
  191. package/row/types.d.ts +0 -10
  192. package/row/types.js +0 -5
  193. package/select/Select.d.ts +0 -4
  194. package/select/Select.js +0 -863
  195. package/select/Select.stories.tsx +0 -572
  196. package/select/types.d.ts +0 -170
  197. package/select/types.js +0 -5
  198. package/sidenav/Sidenav.d.ts +0 -9
  199. package/sidenav/Sidenav.js +0 -136
  200. package/sidenav/Sidenav.stories.tsx +0 -182
  201. package/sidenav/types.d.ts +0 -50
  202. package/sidenav/types.js +0 -5
  203. package/slider/Slider.d.ts +0 -4
  204. package/slider/Slider.js +0 -317
  205. package/slider/Slider.stories.tsx +0 -177
  206. package/slider/types.d.ts +0 -78
  207. package/slider/types.js +0 -5
  208. package/spinner/Spinner.d.ts +0 -4
  209. package/spinner/Spinner.js +0 -250
  210. package/spinner/Spinner.stories.jsx +0 -103
  211. package/spinner/types.d.ts +0 -32
  212. package/spinner/types.js +0 -5
  213. package/stack/Stack.d.ts +0 -3
  214. package/stack/Stack.js +0 -97
  215. package/stack/Stack.stories.tsx +0 -164
  216. package/stack/types.d.ts +0 -9
  217. package/stack/types.js +0 -5
  218. package/switch/Switch.d.ts +0 -4
  219. package/switch/Switch.js +0 -179
  220. package/switch/Switch.stories.tsx +0 -160
  221. package/switch/types.d.ts +0 -58
  222. package/switch/types.js +0 -5
  223. package/table/Table.d.ts +0 -4
  224. package/table/Table.js +0 -118
  225. package/table/Table.stories.jsx +0 -277
  226. package/table/types.d.ts +0 -21
  227. package/table/types.js +0 -5
  228. package/tabs/Tabs.d.ts +0 -4
  229. package/tabs/Tabs.js +0 -213
  230. package/tabs/Tabs.stories.tsx +0 -120
  231. package/tabs/types.d.ts +0 -78
  232. package/tabs/types.js +0 -5
  233. package/tag/Tag.d.ts +0 -4
  234. package/tag/Tag.js +0 -188
  235. package/tag/Tag.stories.tsx +0 -138
  236. package/tag/types.d.ts +0 -69
  237. package/tag/types.js +0 -5
  238. package/text/Text.d.ts +0 -7
  239. package/text/Text.js +0 -30
  240. package/text/Text.stories.tsx +0 -19
  241. package/text-input/TextInput.d.ts +0 -4
  242. package/text-input/TextInput.js +0 -794
  243. package/text-input/TextInput.stories.tsx +0 -456
  244. package/text-input/types.d.ts +0 -159
  245. package/text-input/types.js +0 -5
  246. package/textarea/Textarea.d.ts +0 -4
  247. package/textarea/Textarea.js +0 -284
  248. package/textarea/Textarea.stories.jsx +0 -136
  249. package/textarea/types.d.ts +0 -130
  250. package/textarea/types.js +0 -5
  251. package/toggle/Toggle.js +0 -186
  252. package/toggle/index.d.ts +0 -21
  253. package/toggle-group/ToggleGroup.d.ts +0 -4
  254. package/toggle-group/ToggleGroup.js +0 -214
  255. package/toggle-group/ToggleGroup.stories.tsx +0 -173
  256. package/toggle-group/types.d.ts +0 -97
  257. package/toggle-group/types.js +0 -5
  258. package/upload/Upload.js +0 -201
  259. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  260. package/upload/buttons-upload/Icons.js +0 -40
  261. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  262. package/upload/dragAndDropArea/Icons.js +0 -39
  263. package/upload/file-upload/FileToUpload.js +0 -115
  264. package/upload/file-upload/Icons.js +0 -66
  265. package/upload/files-upload/FilesToUpload.js +0 -109
  266. package/upload/index.d.ts +0 -15
  267. package/upload/transaction/Icons.js +0 -160
  268. package/upload/transaction/Transaction.js +0 -104
  269. package/upload/transactions/Transactions.js +0 -94
  270. package/useTheme.d.ts +0 -2
  271. package/useTheme.js +0 -22
  272. package/wizard/Wizard.d.ts +0 -4
  273. package/wizard/Wizard.js +0 -281
  274. package/wizard/Wizard.stories.tsx +0 -224
  275. package/wizard/types.d.ts +0 -60
  276. package/wizard/types.js +0 -5
@@ -1,277 +0,0 @@
1
- import React from "react";
2
- import DxcTable from "./Table";
3
- import Title from "../../.storybook/components/Title";
4
- import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
-
6
- export default {
7
- title: "Table",
8
- component: DxcTable,
9
- };
10
-
11
- export const Chromatic = () => (
12
- <>
13
- <ExampleContainer>
14
- <Title title="Default" theme="light" level={4} />
15
- <DxcTable>
16
- <tr>
17
- <th>header 1</th>
18
- <th>header 2</th>
19
- <th>header 3</th>
20
- </tr>
21
- <tr>
22
- <td>cell 1</td>
23
- <td>cell 2</td>
24
- <td>cell 3</td>
25
- </tr>
26
- <tr>
27
- <td>cell 4</td>
28
- <td>cell 5</td>
29
- <td>cell 6</td>
30
- </tr>
31
- <tr>
32
- <td>cell 7</td>
33
- <td>cell 8</td>
34
- <td>Cell 9</td>
35
- </tr>
36
- </DxcTable>
37
- </ExampleContainer>
38
- <ExampleContainer>
39
- <Title title="With scrollbar" theme="light" level={4} />
40
- <div
41
- style={{ height: 200 + "px", display: "flex", flexDirection: "row", width: 100 + "%", marginBottom: 50 + "px" }}
42
- >
43
- <DxcTable>
44
- <tr>
45
- <th>
46
- header<br></br>subheader
47
- </th>
48
- <th>
49
- header<br></br>subheader
50
- </th>
51
- <th>
52
- header<br></br>subheader
53
- </th>
54
- </tr>
55
- <tr>
56
- <td>
57
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
58
- dolore magna aliqua.
59
- </td>
60
- <td>
61
- Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
62
- consequat.
63
- </td>
64
- <td>
65
- Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
66
- </td>
67
- </tr>
68
- <tr>
69
- <td>cell data</td>
70
- <td>cell data</td>
71
- <td>cell data</td>
72
- </tr>
73
- <tr>
74
- <td>cell data</td>
75
- <td>cell data</td>
76
- <td>cell data</td>
77
- </tr>
78
- <tr>
79
- <td>cell data</td>
80
- <td>cell data</td>
81
- <td>cell data</td>
82
- </tr>
83
- <tr>
84
- <td>cell data</td>
85
- <td>cell data</td>
86
- <td>cell data</td>
87
- </tr>
88
- <tr>
89
- <td>cell data</td>
90
- <td>cell data</td>
91
- <td>cell data</td>
92
- </tr>
93
- <tr>
94
- <td>cell data</td>
95
- <td>cell data</td>
96
- <td>cell data</td>
97
- </tr>
98
- <tr>
99
- <td>cell data</td>
100
- <td>cell data</td>
101
- <td>cell data</td>
102
- </tr>
103
- <tr>
104
- <td>cell data</td>
105
- <td>cell data</td>
106
- <td>cell data</td>
107
- </tr>
108
- </DxcTable>
109
- </div>
110
- </ExampleContainer>
111
- <Title title="Margins" theme="light" level={2} />
112
- <ExampleContainer>
113
- <Title title="Xxsmall margin" theme="light" level={4} />
114
- <DxcTable margin="xxsmall">
115
- <tr>
116
- <th>header 1</th>
117
- <th>header 2</th>
118
- <th>header 3</th>
119
- </tr>
120
- <tr>
121
- <td>cell 1</td>
122
- <td>cell 2</td>
123
- <td>cell 3</td>
124
- </tr>
125
- <tr>
126
- <td>cell 4</td>
127
- <td>cell 5</td>
128
- <td>cell 6</td>
129
- </tr>
130
- <tr>
131
- <td>cell 7</td>
132
- <td>cell 8</td>
133
- <td>Cell 9</td>
134
- </tr>
135
- </DxcTable>
136
- <Title title="Xsmall margin" theme="light" level={4} />
137
- <DxcTable margin="xsmall">
138
- <tr>
139
- <th>header 1</th>
140
- <th>header 2</th>
141
- <th>header 3</th>
142
- </tr>
143
- <tr>
144
- <td>cell 1</td>
145
- <td>cell 2</td>
146
- <td>cell 3</td>
147
- </tr>
148
- <tr>
149
- <td>cell 4</td>
150
- <td>cell 5</td>
151
- <td>cell 6</td>
152
- </tr>
153
- <tr>
154
- <td>cell 7</td>
155
- <td>cell 8</td>
156
- <td>Cell 9</td>
157
- </tr>
158
- </DxcTable>
159
- <Title title="Small margin" theme="light" level={4} />
160
- <DxcTable margin="small">
161
- <tr>
162
- <th>header 1</th>
163
- <th>header 2</th>
164
- <th>header 3</th>
165
- </tr>
166
- <tr>
167
- <td>cell 1</td>
168
- <td>cell 2</td>
169
- <td>cell 3</td>
170
- </tr>
171
- <tr>
172
- <td>cell 4</td>
173
- <td>cell 5</td>
174
- <td>cell 6</td>
175
- </tr>
176
- <tr>
177
- <td>cell 7</td>
178
- <td>cell 8</td>
179
- <td>Cell 9</td>
180
- </tr>
181
- </DxcTable>
182
- <Title title="Medium margin" theme="light" level={4} />
183
- <DxcTable margin="medium">
184
- <tr>
185
- <th>header 1</th>
186
- <th>header 2</th>
187
- <th>header 3</th>
188
- </tr>
189
- <tr>
190
- <td>cell 1</td>
191
- <td>cell 2</td>
192
- <td>cell 3</td>
193
- </tr>
194
- <tr>
195
- <td>cell 4</td>
196
- <td>cell 5</td>
197
- <td>cell 6</td>
198
- </tr>
199
- <tr>
200
- <td>cell 7</td>
201
- <td>cell 8</td>
202
- <td>Cell 9</td>
203
- </tr>
204
- </DxcTable>
205
- <Title title="Large margin" theme="light" level={4} />
206
- <DxcTable margin="large">
207
- <tr>
208
- <th>header 1</th>
209
- <th>header 2</th>
210
- <th>header 3</th>
211
- </tr>
212
- <tr>
213
- <td>cell 1</td>
214
- <td>cell 2</td>
215
- <td>cell 3</td>
216
- </tr>
217
- <tr>
218
- <td>cell 4</td>
219
- <td>cell 5</td>
220
- <td>cell 6</td>
221
- </tr>
222
- <tr>
223
- <td>cell 7</td>
224
- <td>cell 8</td>
225
- <td>Cell 9</td>
226
- </tr>
227
- </DxcTable>
228
- <Title title="Xlarge margin" theme="light" level={4} />
229
- <DxcTable margin="xlarge">
230
- <tr>
231
- <th>header 1</th>
232
- <th>header 2</th>
233
- <th>header 3</th>
234
- </tr>
235
- <tr>
236
- <td>cell 1</td>
237
- <td>cell 2</td>
238
- <td>cell 3</td>
239
- </tr>
240
- <tr>
241
- <td>cell 4</td>
242
- <td>cell 5</td>
243
- <td>cell 6</td>
244
- </tr>
245
- <tr>
246
- <td>cell 7</td>
247
- <td>cell 8</td>
248
- <td>Cell 9</td>
249
- </tr>
250
- </DxcTable>
251
- <Title title="Xxlarge margin" theme="light" level={4} />
252
- <DxcTable margin="xxlarge">
253
- <tr>
254
- <th>header 1</th>
255
- <th>header 2</th>
256
- <th>header 3</th>
257
- </tr>
258
- <tr>
259
- <td>cell 1</td>
260
- <td>cell 2</td>
261
- <td>cell 3</td>
262
- </tr>
263
- <tr>
264
- <td>cell 4</td>
265
- <td>cell 5</td>
266
- <td>cell 6</td>
267
- </tr>
268
- <tr>
269
- <td>cell 7</td>
270
- <td>cell 8</td>
271
- <td>Cell 9</td>
272
- </tr>
273
- </DxcTable>
274
- <hr />
275
- </ExampleContainer>
276
- </>
277
- );
package/table/types.d.ts DELETED
@@ -1,21 +0,0 @@
1
- /// <reference types="react" />
2
- declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
- declare type Margin = {
4
- top?: Space;
5
- bottom?: Space;
6
- left?: Space;
7
- right?: Space;
8
- };
9
- declare type Props = {
10
- /**
11
- * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
12
- * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
13
- */
14
- margin?: Space | Margin;
15
- /**
16
- * The center section of the table. Can be used to render custom
17
- * content in this area.
18
- */
19
- children: React.ReactNode;
20
- };
21
- export default Props;
package/table/types.js DELETED
@@ -1,5 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
package/tabs/Tabs.d.ts DELETED
@@ -1,4 +0,0 @@
1
- /// <reference types="react" />
2
- import TabsPropsType from "./types";
3
- declare const DxcTabs: ({ activeTabIndex, tabs, onTabClick, onTabHover, margin, iconPosition, tabIndex, }: TabsPropsType) => JSX.Element;
4
- export default DxcTabs;
package/tabs/Tabs.js DELETED
@@ -1,213 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _typeof3 = require("@babel/runtime/helpers/typeof");
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- exports["default"] = void 0;
11
-
12
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
-
14
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
-
16
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
-
18
- var _react = _interopRequireDefault(require("react"));
19
-
20
- var _Tabs = _interopRequireDefault(require("@material-ui/core/Tabs"));
21
-
22
- var _Tab = _interopRequireDefault(require("@material-ui/core/Tab"));
23
-
24
- var _styledComponents = _interopRequireWildcard(require("styled-components"));
25
-
26
- var _variables = require("../common/variables.js");
27
-
28
- var _Badge = _interopRequireDefault(require("../badge/Badge"));
29
-
30
- var _useTheme = _interopRequireDefault(require("../useTheme"));
31
-
32
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
33
-
34
- 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); }
35
-
36
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
37
-
38
- var DxcTabs = function DxcTabs(_ref) {
39
- var activeTabIndex = _ref.activeTabIndex,
40
- tabs = _ref.tabs,
41
- onTabClick = _ref.onTabClick,
42
- onTabHover = _ref.onTabHover,
43
- margin = _ref.margin,
44
- _ref$iconPosition = _ref.iconPosition,
45
- iconPosition = _ref$iconPosition === void 0 ? "top" : _ref$iconPosition,
46
- _ref$tabIndex = _ref.tabIndex,
47
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
48
-
49
- var _React$useState = _react["default"].useState(0),
50
- _React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
51
- innerActiveTabIndex = _React$useState2[0],
52
- setInnerActiveTabIndex = _React$useState2[1];
53
-
54
- var colorsTheme = (0, _useTheme["default"])();
55
- var hasLabelAndIcon = tabs && tabs.filter(function (tab) {
56
- return tab.label && tab.icon;
57
- }).length > 0;
58
-
59
- var handleChange = function handleChange(event, newValue) {
60
- if (activeTabIndex == null) {
61
- setInnerActiveTabIndex(newValue);
62
- }
63
-
64
- onTabClick === null || onTabClick === void 0 ? void 0 : onTabClick(newValue);
65
- };
66
-
67
- var getLabelForTab = function getLabelForTab(tab) {
68
- return /*#__PURE__*/_react["default"].createElement(ParentLabelSpan, null, /*#__PURE__*/_react["default"].createElement(MainLabelContainer, {
69
- hasBadge: tab.notificationNumber
70
- }, /*#__PURE__*/_react["default"].createElement(TabLabelContainer, {
71
- hasLabelAndIcon: hasLabelAndIcon,
72
- iconPosition: iconPosition
73
- }, tab.icon && /*#__PURE__*/_react["default"].createElement(TabIconContainer, {
74
- hasLabelAndIcon: hasLabelAndIcon,
75
- iconPosition: iconPosition
76
- }, typeof tab.icon === "string" ? /*#__PURE__*/_react["default"].createElement(TabIcon, {
77
- src: tab.icon
78
- }) : tab.icon), /*#__PURE__*/_react["default"].createElement(LabelTextContainer, null, tab.label))), tab.notificationNumber && tab.notificationNumber !== false && /*#__PURE__*/_react["default"].createElement(BadgeContainer, {
79
- hasLabelAndIcon: hasLabelAndIcon,
80
- iconPosition: iconPosition
81
- }, /*#__PURE__*/_react["default"].createElement(_Badge["default"], {
82
- notificationText: tab.notificationNumber > 99 ? "+99" : tab.notificationNumber
83
- })));
84
- };
85
-
86
- return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
87
- theme: colorsTheme.tabs
88
- }, /*#__PURE__*/_react["default"].createElement(DxCTabs, {
89
- margin: margin,
90
- hasLabelAndIcon: hasLabelAndIcon,
91
- iconPosition: iconPosition
92
- }, /*#__PURE__*/_react["default"].createElement(Underline, null), /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
93
- value: activeTabIndex != null ? activeTabIndex : innerActiveTabIndex,
94
- onChange: handleChange,
95
- variant: "scrollable",
96
- scrollButtons: "auto"
97
- }, tabs.map(function (tab, i) {
98
- return /*#__PURE__*/_react["default"].createElement(_Tab["default"], {
99
- tabIndex: (activeTabIndex === i || innerActiveTabIndex === i) && !tab.isDisabled ? tabIndex : -1,
100
- key: "tab".concat(i).concat(tab.label),
101
- label: getLabelForTab(tab),
102
- disabled: tab.isDisabled,
103
- disableRipple: true,
104
- onMouseEnter: function onMouseEnter() {
105
- onTabHover === null || onTabHover === void 0 ? void 0 : onTabHover(i);
106
- },
107
- onMouseLeave: function onMouseLeave() {
108
- onTabHover === null || onTabHover === void 0 ? void 0 : onTabHover(null);
109
- }
110
- });
111
- }))));
112
- };
113
-
114
- var ParentLabelSpan = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n"])));
115
-
116
- var TabLabelContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: ", ";\n align-items: center;\n"])), function (props) {
117
- return props.hasLabelAndIcon && props.iconPosition === "top" && "column" || "row";
118
- });
119
-
120
- var LabelTextContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])([""])));
121
-
122
- var BadgeContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n right: 0;\n top: ", ";\n width: 23px;\n height: 17px;\n"])), function (props) {
123
- return props.hasLabelAndIcon && props.iconPosition === "top" && "0" || "5px";
124
- });
125
-
126
- var MainLabelContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n margin-left: ", ";\n margin-right: ", ";\n"])), function (props) {
127
- return props.hasBadge && "35px" || "unset";
128
- }, function (props) {
129
- return props.hasBadge && "35px" || "unset";
130
- });
131
-
132
- var Underline = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n left: 0px;\n bottom: 0;\n width: 100%;\n height: ", ";\n position: absolute;\n background-color: ", ";\n"])), function (props) {
133
- return props.theme.dividerThickness;
134
- }, function (props) {
135
- return props.theme.dividerColor;
136
- });
137
-
138
- var DxCTabs = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n .MuiTabs-root {\n background: white;\n min-height: ", ";\n\n .MuiTabs-scroller {\n .MuiTabs-flexContainer + span {\n z-index: 4;\n }\n }\n .MuiTab-root {\n text-transform: ", " !important;\n }\n .MuiButtonBase-root {\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n\n padding: ", ";\n height: ", ";\n min-width: 90px;\n max-width: 360px;\n min-height: ", ";\n\n &:hover {\n background-color: ", ";\n }\n &:active {\n background-color: ", ";\n font-weight: ", ";\n }\n &:not(.Mui-selected) {\n background-color: ", ";\n color: ", ";\n svg {\n color: ", ";\n }\n }\n &.Mui-selected {\n background-color: ", ";\n color: ", ";\n svg {\n color: ", ";\n }\n }\n &.Mui-disabled {\n background-color: ", " !important;\n cursor: not-allowed !important;\n pointer-events: all;\n color: ", ";\n font-style: ", ";\n svg {\n color: ", ";\n }\n outline: none !important;\n }\n &:focus {\n outline: ", " auto 1px;\n }\n }\n .MuiTabs-indicator {\n background-color: ", ";\n height: ", ";\n }\n .MuiTabs-scrollButtons {\n min-width: ", ";\n width: ", ";\n padding: 0;\n }\n @media (max-width: 599.95px) {\n .MuiTabs-scrollButtonsDesktop {\n display: flex;\n }\n }\n }\n"])), function (props) {
139
- return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
140
- }, function (props) {
141
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
142
- }, function (props) {
143
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
144
- }, function (props) {
145
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
146
- }, function (props) {
147
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
148
- }, function (props) {
149
- return (!props.hasLabelAndIcon || props.hasLabelAndIcon && props.iconPosition !== "top") && "48px" || "72px";
150
- }, function (props) {
151
- return props.theme.fontTextTransform;
152
- }, function (props) {
153
- return props.theme.fontFamily;
154
- }, function (props) {
155
- return props.theme.fontSize;
156
- }, function (props) {
157
- return props.theme.fontStyle;
158
- }, function (props) {
159
- return props.theme.fontWeight;
160
- }, function (props) {
161
- return (!props.hasLabelAndIcon || props.hasLabelAndIcon && props.iconPosition !== "top") && "12px 16px" || "8px 16px";
162
- }, function (props) {
163
- return (!props.hasLabelAndIcon || props.hasLabelAndIcon && props.iconPosition !== "top") && "48px" || "72px";
164
- }, function (props) {
165
- return (!props.hasLabelAndIcon || props.hasLabelAndIcon && props.iconPosition !== "top") && "48px" || "72px";
166
- }, function (props) {
167
- return "".concat(props.theme.hoverBackgroundColor, " !important");
168
- }, function (props) {
169
- return "".concat(props.theme.pressedBackgroundColor, " !important");
170
- }, function (props) {
171
- return "".concat(props.theme.pressedFontWeight, " !important");
172
- }, function (props) {
173
- return props.theme.unselectedBackgroundColor;
174
- }, function (props) {
175
- return props.theme.unselectedFontColor;
176
- }, function (props) {
177
- return props.theme.unselectedIconColor;
178
- }, function (props) {
179
- return props.theme.selectedBackgroundColor;
180
- }, function (props) {
181
- return props.theme.selectedFontColor;
182
- }, function (props) {
183
- return props.theme.selectedIconColor;
184
- }, function (props) {
185
- return props.theme.unselectedBackgroundColor;
186
- }, function (props) {
187
- return props.theme.disabledFontColor;
188
- }, function (props) {
189
- return props.theme.disabledFontStyle;
190
- }, function (props) {
191
- return props.theme.disabledIconColor;
192
- }, function (props) {
193
- return props.theme.focusOutline;
194
- }, function (props) {
195
- return props.theme.selectedUnderlineColor;
196
- }, function (props) {
197
- return props.theme.selectedUnderlineThickness;
198
- }, function (props) {
199
- return props.theme.scrollButtonsWidth;
200
- }, function (props) {
201
- return props.theme.scrollButtonsWidth;
202
- });
203
-
204
- var TabIcon = _styledComponents["default"].img(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])([""])));
205
-
206
- var TabIconContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 22px;\n max-width: 22px;\n margin-bottom: ", ";\n margin-right: ", ";\n overflow: hidden;\n display: flex;\n align-items: center;\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
207
- return props.hasLabelAndIcon && props.iconPosition === "top" && "8px" || "";
208
- }, function (props) {
209
- return props.hasLabelAndIcon && props.iconPosition === "left" && "12px" || "";
210
- });
211
-
212
- var _default = DxcTabs;
213
- exports["default"] = _default;
@@ -1,120 +0,0 @@
1
- import React from "react";
2
- import { userEvent, within } from "@storybook/testing-library";
3
- import DxcTabs from "./Tabs";
4
- import Title from "../../.storybook/components/Title";
5
- import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
-
7
- export default {
8
- title: "Tabs",
9
- component: DxcTabs,
10
- };
11
-
12
- const iconSVG = (
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
-
19
- const tabs: any = [
20
- {
21
- label: "Tab 1",
22
- },
23
- {
24
- label: "Tab 2",
25
- },
26
- {
27
- label: "Tab 3",
28
- isDisabled: true,
29
- },
30
- {
31
- label: "Tab 4",
32
- },
33
- ];
34
-
35
- const tabsNotification = tabs.map((tab, index) => ({
36
- ...tab,
37
- notificationNumber: (index === 0 && true) || (index === 1 && 5) || (index === 2 && 200),
38
- }));
39
-
40
- const tabsIcon = tabs.map((tab) => ({ ...tab, icon: iconSVG }));
41
-
42
- const tabsNotificationIcon = tabsNotification.map((tab) => ({ ...tab, icon: iconSVG }));
43
-
44
- export const Chromatic = () => (
45
- <>
46
- <ExampleContainer>
47
- <Title title="Only label" theme="light" level={4} />
48
- <DxcTabs tabs={tabs} />
49
- </ExampleContainer>
50
- <ExampleContainer pseudoState="pseudo-hover">
51
- <Title title="Hovered tabs" theme="light" level={4} />
52
- <DxcTabs tabs={tabs} />
53
- </ExampleContainer>
54
- <ExampleContainer pseudoState="pseudo-focus">
55
- <Title title="Focused tabs" theme="light" level={4} />
56
- <DxcTabs tabs={tabs} />
57
- </ExampleContainer>
58
- <ExampleContainer pseudoState="pseudo-active">
59
- <Title title="Actived tabs" theme="light" level={4} />
60
- <DxcTabs tabs={tabs} />
61
- </ExampleContainer>
62
- <ExampleContainer>
63
- <Title title="With notification number" theme="light" level={4} />
64
- <DxcTabs tabs={tabsNotification} />
65
- </ExampleContainer>
66
- <ExampleContainer>
67
- <Title title="With icon position top" theme="light" level={4} />
68
- <DxcTabs tabs={tabsIcon} />
69
- </ExampleContainer>
70
- <ExampleContainer>
71
- <Title title="With icon position left" theme="light" level={4} />
72
- <DxcTabs tabs={tabsIcon} iconPosition="left" />
73
- </ExampleContainer>
74
- <ExampleContainer>
75
- <Title title="With icon and notification number" theme="light" level={4} />
76
- <DxcTabs tabs={tabsNotificationIcon} />
77
- </ExampleContainer>
78
- <ExampleContainer>
79
- <Title title="With icon on the left and notification number" theme="light" level={4} />
80
- <DxcTabs tabs={tabsNotificationIcon} iconPosition="left" />
81
- </ExampleContainer>
82
- <ExampleContainer>
83
- <Title title="Scrollable" theme="light" level={4} />
84
- <div style={{ width: "400px" }}>
85
- <DxcTabs tabs={tabsNotificationIcon} iconPosition="left" activeTabIndex={1} />
86
- </div>
87
- </ExampleContainer>
88
-
89
- <Title title="Margins" theme="light" level={2} />
90
- <ExampleContainer>
91
- <Title title="Xxsmall margin" theme="light" level={4} />
92
- <DxcTabs tabs={tabs} margin="xxsmall" />
93
- </ExampleContainer>
94
- <ExampleContainer>
95
- <Title title="Xsmall margin" theme="light" level={4} />
96
- <DxcTabs tabs={tabs} margin="xsmall" />
97
- </ExampleContainer>
98
- <ExampleContainer>
99
- <Title title="Small margin" theme="light" level={4} />
100
- <DxcTabs tabs={tabs} margin="small" />
101
- </ExampleContainer>
102
- <ExampleContainer>
103
- <Title title="Medium margin" theme="light" level={4} />
104
- <DxcTabs tabs={tabs} margin="medium" />
105
- </ExampleContainer>
106
- <ExampleContainer>
107
- <Title title="Large margin" theme="light" level={4} />
108
- <DxcTabs tabs={tabs} margin="large" />
109
- </ExampleContainer>
110
- <ExampleContainer>
111
- <Title title="Xlarge margin" theme="light" level={4} />
112
- <DxcTabs tabs={tabs} margin="xlarge" />
113
- </ExampleContainer>
114
- <ExampleContainer>
115
- <Title title="Xxlarge margin" theme="light" level={4} />
116
- <DxcTabs tabs={tabs} margin="xxlarge" />
117
- <hr />
118
- </ExampleContainer>
119
- </>
120
- );