@dxc-technology/halstack-react 0.0.0-d30020b → 0.0.0-d3ac293

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 (290) hide show
  1. package/BackgroundColorContext.d.ts +2 -2
  2. package/BackgroundColorContext.js +1 -1
  3. package/HalstackContext.d.ts +1336 -0
  4. package/HalstackContext.js +335 -0
  5. package/accordion/Accordion.d.ts +1 -1
  6. package/accordion/Accordion.js +118 -126
  7. package/accordion/Accordion.stories.tsx +115 -27
  8. package/accordion/Accordion.test.js +71 -0
  9. package/accordion/types.d.ts +9 -4
  10. package/accordion-group/AccordionGroup.d.ts +1 -1
  11. package/accordion-group/AccordionGroup.js +17 -38
  12. package/accordion-group/AccordionGroup.stories.tsx +28 -2
  13. package/accordion-group/AccordionGroup.test.js +126 -0
  14. package/accordion-group/types.d.ts +14 -3
  15. package/alert/Alert.js +7 -4
  16. package/alert/Alert.stories.tsx +28 -0
  17. package/alert/Alert.test.js +92 -0
  18. package/badge/Badge.d.ts +4 -0
  19. package/badge/Badge.js +5 -3
  20. package/badge/types.d.ts +5 -0
  21. package/bleed/Bleed.js +1 -34
  22. package/bleed/Bleed.stories.tsx +94 -95
  23. package/bleed/types.d.ts +25 -1
  24. package/box/Box.js +25 -37
  25. package/box/Box.stories.tsx +15 -0
  26. package/box/Box.test.js +18 -0
  27. package/box/types.d.ts +1 -0
  28. package/bulleted-list/BulletedList.d.ts +7 -0
  29. package/bulleted-list/BulletedList.js +123 -0
  30. package/bulleted-list/BulletedList.stories.tsx +200 -0
  31. package/bulleted-list/types.d.ts +11 -0
  32. package/button/Button.js +52 -69
  33. package/button/Button.stories.tsx +159 -8
  34. package/button/Button.test.js +35 -0
  35. package/button/types.d.ts +7 -7
  36. package/card/Card.js +25 -28
  37. package/card/Card.test.js +50 -0
  38. package/card/types.d.ts +1 -0
  39. package/checkbox/Checkbox.d.ts +2 -2
  40. package/checkbox/Checkbox.js +107 -110
  41. package/checkbox/Checkbox.stories.tsx +198 -130
  42. package/checkbox/Checkbox.test.js +155 -0
  43. package/checkbox/types.d.ts +13 -5
  44. package/chip/Chip.js +18 -24
  45. package/chip/Chip.stories.tsx +96 -9
  46. package/chip/Chip.test.js +54 -0
  47. package/chip/types.d.ts +1 -1
  48. package/common/utils.d.ts +1 -0
  49. package/common/utils.js +4 -4
  50. package/common/variables.d.ts +1625 -0
  51. package/common/variables.js +476 -583
  52. package/date-input/Calendar.d.ts +4 -0
  53. package/date-input/Calendar.js +258 -0
  54. package/date-input/DateInput.js +169 -258
  55. package/date-input/DateInput.stories.tsx +199 -33
  56. package/date-input/DateInput.test.js +835 -0
  57. package/date-input/DatePicker.d.ts +4 -0
  58. package/date-input/DatePicker.js +146 -0
  59. package/date-input/Icons.d.ts +6 -0
  60. package/date-input/Icons.js +75 -0
  61. package/date-input/YearPicker.d.ts +4 -0
  62. package/date-input/YearPicker.js +126 -0
  63. package/date-input/types.d.ts +67 -9
  64. package/dialog/Dialog.js +76 -93
  65. package/dialog/Dialog.stories.tsx +230 -123
  66. package/dialog/Dialog.test.js +369 -0
  67. package/dialog/types.d.ts +3 -2
  68. package/dropdown/Dropdown.d.ts +1 -1
  69. package/dropdown/Dropdown.js +246 -253
  70. package/dropdown/Dropdown.stories.tsx +245 -56
  71. package/dropdown/Dropdown.test.js +586 -0
  72. package/dropdown/DropdownMenu.d.ts +4 -0
  73. package/dropdown/DropdownMenu.js +70 -0
  74. package/dropdown/DropdownMenuItem.d.ts +4 -0
  75. package/dropdown/DropdownMenuItem.js +81 -0
  76. package/dropdown/types.d.ts +25 -5
  77. package/file-input/FileInput.d.ts +2 -2
  78. package/file-input/FileInput.js +181 -223
  79. package/file-input/FileInput.stories.tsx +122 -11
  80. package/file-input/FileInput.test.js +457 -0
  81. package/file-input/FileItem.d.ts +4 -14
  82. package/file-input/FileItem.js +44 -66
  83. package/file-input/types.d.ts +17 -0
  84. package/flex/Flex.d.ts +4 -0
  85. package/flex/Flex.js +69 -0
  86. package/flex/Flex.stories.tsx +103 -0
  87. package/flex/types.d.ts +32 -0
  88. package/footer/Footer.js +16 -89
  89. package/footer/Footer.stories.tsx +99 -1
  90. package/footer/Footer.test.js +97 -0
  91. package/footer/Icons.js +1 -1
  92. package/footer/types.d.ts +2 -1
  93. package/header/Header.js +108 -129
  94. package/header/Header.stories.tsx +189 -36
  95. package/header/Header.test.js +79 -0
  96. package/header/Icons.js +2 -2
  97. package/header/types.d.ts +3 -2
  98. package/heading/Heading.js +1 -1
  99. package/heading/Heading.test.js +186 -0
  100. package/inset/Inset.js +1 -34
  101. package/inset/Inset.stories.tsx +36 -36
  102. package/inset/types.d.ts +25 -1
  103. package/layout/ApplicationLayout.d.ts +16 -6
  104. package/layout/ApplicationLayout.js +72 -132
  105. package/layout/ApplicationLayout.stories.tsx +84 -93
  106. package/layout/Icons.d.ts +5 -0
  107. package/layout/Icons.js +13 -2
  108. package/layout/SidenavContext.d.ts +5 -0
  109. package/layout/SidenavContext.js +19 -0
  110. package/layout/types.d.ts +18 -33
  111. package/link/Link.d.ts +3 -2
  112. package/link/Link.js +59 -76
  113. package/link/Link.stories.tsx +155 -53
  114. package/link/Link.test.js +81 -0
  115. package/link/types.d.ts +7 -23
  116. package/main.d.ts +10 -15
  117. package/main.js +48 -82
  118. package/nav-tabs/NavTabs.d.ts +8 -0
  119. package/nav-tabs/NavTabs.js +125 -0
  120. package/nav-tabs/NavTabs.stories.tsx +260 -0
  121. package/nav-tabs/NavTabs.test.js +82 -0
  122. package/nav-tabs/Tab.d.ts +4 -0
  123. package/nav-tabs/Tab.js +150 -0
  124. package/nav-tabs/types.d.ts +53 -0
  125. package/number-input/NumberInput.js +11 -18
  126. package/number-input/NumberInput.stories.tsx +5 -5
  127. package/number-input/NumberInput.test.js +542 -0
  128. package/number-input/types.d.ts +17 -10
  129. package/package.json +20 -23
  130. package/paginator/Icons.d.ts +5 -0
  131. package/paginator/Icons.js +16 -28
  132. package/paginator/Paginator.js +19 -46
  133. package/paginator/Paginator.stories.tsx +24 -0
  134. package/paginator/Paginator.test.js +305 -0
  135. package/paragraph/Paragraph.d.ts +6 -0
  136. package/paragraph/Paragraph.js +38 -0
  137. package/paragraph/Paragraph.stories.tsx +44 -0
  138. package/password-input/PasswordInput.js +7 -4
  139. package/password-input/PasswordInput.test.js +181 -0
  140. package/password-input/types.d.ts +14 -11
  141. package/progress-bar/ProgressBar.d.ts +2 -2
  142. package/progress-bar/ProgressBar.js +61 -55
  143. package/progress-bar/ProgressBar.stories.jsx +47 -12
  144. package/progress-bar/ProgressBar.test.js +110 -0
  145. package/progress-bar/types.d.ts +3 -4
  146. package/quick-nav/QuickNav.d.ts +4 -0
  147. package/quick-nav/QuickNav.js +117 -0
  148. package/quick-nav/QuickNav.stories.tsx +356 -0
  149. package/quick-nav/types.d.ts +21 -0
  150. package/quick-nav/types.js +5 -0
  151. package/radio-group/Radio.d.ts +1 -1
  152. package/radio-group/Radio.js +53 -37
  153. package/radio-group/RadioGroup.js +67 -57
  154. package/radio-group/RadioGroup.stories.tsx +171 -36
  155. package/radio-group/RadioGroup.test.js +563 -89
  156. package/radio-group/types.d.ts +82 -4
  157. package/resultsetTable/Icons.d.ts +7 -0
  158. package/resultsetTable/Icons.js +51 -0
  159. package/resultsetTable/ResultsetTable.js +49 -108
  160. package/resultsetTable/ResultsetTable.stories.tsx +50 -25
  161. package/resultsetTable/ResultsetTable.test.js +325 -0
  162. package/resultsetTable/types.d.ts +2 -2
  163. package/select/Icons.d.ts +10 -0
  164. package/select/Icons.js +93 -0
  165. package/select/Listbox.d.ts +4 -0
  166. package/select/Listbox.js +169 -0
  167. package/select/Option.d.ts +4 -0
  168. package/select/Option.js +97 -0
  169. package/select/Select.js +185 -384
  170. package/select/Select.stories.tsx +600 -201
  171. package/select/Select.test.js +2228 -0
  172. package/select/types.d.ts +53 -13
  173. package/sidenav/Sidenav.d.ts +6 -5
  174. package/sidenav/Sidenav.js +183 -53
  175. package/sidenav/Sidenav.stories.tsx +249 -149
  176. package/sidenav/Sidenav.test.js +44 -0
  177. package/sidenav/types.d.ts +50 -27
  178. package/slider/Slider.d.ts +2 -2
  179. package/slider/Slider.js +124 -98
  180. package/slider/Slider.stories.tsx +72 -9
  181. package/slider/Slider.test.js +250 -0
  182. package/slider/types.d.ts +10 -2
  183. package/spinner/Spinner.js +4 -4
  184. package/spinner/Spinner.stories.jsx +27 -1
  185. package/spinner/Spinner.test.js +64 -0
  186. package/switch/Switch.d.ts +2 -2
  187. package/switch/Switch.js +152 -69
  188. package/switch/Switch.stories.tsx +53 -42
  189. package/switch/Switch.test.js +225 -0
  190. package/switch/types.d.ts +12 -4
  191. package/table/Table.js +3 -3
  192. package/table/Table.stories.jsx +80 -1
  193. package/table/Table.test.js +26 -0
  194. package/tabs/Tab.d.ts +4 -0
  195. package/tabs/Tab.js +133 -0
  196. package/tabs/Tabs.d.ts +1 -1
  197. package/tabs/Tabs.js +363 -109
  198. package/tabs/Tabs.stories.tsx +119 -13
  199. package/tabs/Tabs.test.js +350 -0
  200. package/tabs/types.d.ts +19 -5
  201. package/tag/Tag.js +17 -22
  202. package/tag/Tag.stories.tsx +25 -8
  203. package/tag/Tag.test.js +60 -0
  204. package/tag/types.d.ts +1 -1
  205. package/text-input/Icons.d.ts +8 -0
  206. package/text-input/Icons.js +60 -0
  207. package/text-input/Suggestion.d.ts +4 -0
  208. package/text-input/Suggestion.js +84 -0
  209. package/text-input/Suggestions.d.ts +4 -0
  210. package/text-input/Suggestions.js +134 -0
  211. package/text-input/TextInput.js +224 -345
  212. package/text-input/TextInput.stories.tsx +310 -197
  213. package/text-input/TextInput.test.js +1723 -0
  214. package/text-input/types.d.ts +50 -12
  215. package/textarea/Textarea.js +22 -29
  216. package/textarea/Textarea.stories.jsx +93 -13
  217. package/textarea/Textarea.test.js +437 -0
  218. package/textarea/types.d.ts +18 -11
  219. package/toggle-group/ToggleGroup.d.ts +1 -1
  220. package/toggle-group/ToggleGroup.js +6 -5
  221. package/toggle-group/ToggleGroup.stories.tsx +46 -4
  222. package/toggle-group/ToggleGroup.test.js +156 -0
  223. package/toggle-group/types.d.ts +9 -1
  224. package/typography/Typography.d.ts +4 -0
  225. package/typography/Typography.js +32 -0
  226. package/typography/Typography.stories.tsx +198 -0
  227. package/typography/types.d.ts +18 -0
  228. package/typography/types.js +5 -0
  229. package/useTheme.d.ts +1234 -1
  230. package/useTheme.js +3 -3
  231. package/useTranslatedLabels.d.ts +85 -0
  232. package/useTranslatedLabels.js +20 -0
  233. package/utils/BaseTypography.d.ts +21 -0
  234. package/utils/BaseTypography.js +108 -0
  235. package/utils/FocusLock.d.ts +13 -0
  236. package/utils/FocusLock.js +139 -0
  237. package/wizard/Wizard.d.ts +1 -1
  238. package/wizard/Wizard.js +59 -55
  239. package/wizard/Wizard.stories.tsx +48 -19
  240. package/wizard/Wizard.test.js +141 -0
  241. package/wizard/types.d.ts +10 -5
  242. package/ThemeContext.d.ts +0 -15
  243. package/ThemeContext.js +0 -243
  244. package/V3Select/V3Select.js +0 -455
  245. package/V3Select/index.d.ts +0 -27
  246. package/V3Textarea/V3Textarea.js +0 -260
  247. package/V3Textarea/index.d.ts +0 -27
  248. package/common/RequiredComponent.js +0 -32
  249. package/date/Date.js +0 -373
  250. package/date/index.d.ts +0 -27
  251. package/input-text/Icons.js +0 -22
  252. package/input-text/InputText.js +0 -611
  253. package/input-text/index.d.ts +0 -36
  254. package/list/List.d.ts +0 -4
  255. package/list/List.js +0 -47
  256. package/list/List.stories.tsx +0 -95
  257. package/list/types.d.ts +0 -7
  258. package/radio/Radio.d.ts +0 -4
  259. package/radio/Radio.js +0 -174
  260. package/radio/Radio.stories.tsx +0 -192
  261. package/radio/types.d.ts +0 -54
  262. package/row/Row.d.ts +0 -3
  263. package/row/Row.js +0 -127
  264. package/row/Row.stories.tsx +0 -237
  265. package/row/types.d.ts +0 -10
  266. package/stack/Stack.d.ts +0 -3
  267. package/stack/Stack.js +0 -97
  268. package/stack/Stack.stories.tsx +0 -164
  269. package/stack/types.d.ts +0 -9
  270. package/text/Text.d.ts +0 -7
  271. package/text/Text.js +0 -30
  272. package/text/Text.stories.tsx +0 -19
  273. package/toggle/Toggle.js +0 -186
  274. package/toggle/index.d.ts +0 -21
  275. package/upload/Upload.js +0 -201
  276. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  277. package/upload/buttons-upload/Icons.js +0 -40
  278. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  279. package/upload/dragAndDropArea/Icons.js +0 -39
  280. package/upload/file-upload/FileToUpload.js +0 -115
  281. package/upload/file-upload/Icons.js +0 -66
  282. package/upload/files-upload/FilesToUpload.js +0 -109
  283. package/upload/index.d.ts +0 -15
  284. package/upload/transaction/Icons.js +0 -160
  285. package/upload/transaction/Transaction.js +0 -104
  286. package/upload/transactions/Transactions.js +0 -94
  287. /package/{list → badge}/types.js +0 -0
  288. /package/{radio → bulleted-list}/types.js +0 -0
  289. /package/{row → flex}/types.js +0 -0
  290. /package/{stack → nav-tabs}/types.js +0 -0
package/main.js CHANGED
@@ -43,12 +43,24 @@ Object.defineProperty(exports, "DxcBadge", {
43
43
  return _Badge["default"];
44
44
  }
45
45
  });
46
+ Object.defineProperty(exports, "DxcBleed", {
47
+ enumerable: true,
48
+ get: function get() {
49
+ return _Bleed["default"];
50
+ }
51
+ });
46
52
  Object.defineProperty(exports, "DxcBox", {
47
53
  enumerable: true,
48
54
  get: function get() {
49
55
  return _Box["default"];
50
56
  }
51
57
  });
58
+ Object.defineProperty(exports, "DxcBulletedList", {
59
+ enumerable: true,
60
+ get: function get() {
61
+ return _BulletedList["default"];
62
+ }
63
+ });
52
64
  Object.defineProperty(exports, "DxcButton", {
53
65
  enumerable: true,
54
66
  get: function get() {
@@ -73,12 +85,6 @@ Object.defineProperty(exports, "DxcChip", {
73
85
  return _Chip["default"];
74
86
  }
75
87
  });
76
- Object.defineProperty(exports, "DxcDate", {
77
- enumerable: true,
78
- get: function get() {
79
- return _Date["default"];
80
- }
81
- });
82
88
  Object.defineProperty(exports, "DxcDateInput", {
83
89
  enumerable: true,
84
90
  get: function get() {
@@ -103,16 +109,10 @@ Object.defineProperty(exports, "DxcFileInput", {
103
109
  return _FileInput["default"];
104
110
  }
105
111
  });
106
- Object.defineProperty(exports, "DxcFooter", {
107
- enumerable: true,
108
- get: function get() {
109
- return _Footer["default"];
110
- }
111
- });
112
- Object.defineProperty(exports, "DxcHeader", {
112
+ Object.defineProperty(exports, "DxcFlex", {
113
113
  enumerable: true,
114
114
  get: function get() {
115
- return _Header["default"];
115
+ return _Flex["default"];
116
116
  }
117
117
  });
118
118
  Object.defineProperty(exports, "DxcHeading", {
@@ -121,10 +121,10 @@ Object.defineProperty(exports, "DxcHeading", {
121
121
  return _Heading["default"];
122
122
  }
123
123
  });
124
- Object.defineProperty(exports, "DxcInput", {
124
+ Object.defineProperty(exports, "DxcInset", {
125
125
  enumerable: true,
126
126
  get: function get() {
127
- return _InputText["default"];
127
+ return _Inset["default"];
128
128
  }
129
129
  });
130
130
  Object.defineProperty(exports, "DxcLink", {
@@ -133,10 +133,10 @@ Object.defineProperty(exports, "DxcLink", {
133
133
  return _Link["default"];
134
134
  }
135
135
  });
136
- Object.defineProperty(exports, "DxcList", {
136
+ Object.defineProperty(exports, "DxcNavTabs", {
137
137
  enumerable: true,
138
138
  get: function get() {
139
- return _List["default"];
139
+ return _NavTabs["default"];
140
140
  }
141
141
  });
142
142
  Object.defineProperty(exports, "DxcNumberInput", {
@@ -151,6 +151,12 @@ Object.defineProperty(exports, "DxcPaginator", {
151
151
  return _Paginator["default"];
152
152
  }
153
153
  });
154
+ Object.defineProperty(exports, "DxcParagraph", {
155
+ enumerable: true,
156
+ get: function get() {
157
+ return _Paragraph["default"];
158
+ }
159
+ });
154
160
  Object.defineProperty(exports, "DxcPasswordInput", {
155
161
  enumerable: true,
156
162
  get: function get() {
@@ -163,10 +169,10 @@ Object.defineProperty(exports, "DxcProgressBar", {
163
169
  return _ProgressBar["default"];
164
170
  }
165
171
  });
166
- Object.defineProperty(exports, "DxcRadio", {
172
+ Object.defineProperty(exports, "DxcQuickNav", {
167
173
  enumerable: true,
168
174
  get: function get() {
169
- return _Radio["default"];
175
+ return _QuickNav["default"];
170
176
  }
171
177
  });
172
178
  Object.defineProperty(exports, "DxcRadioGroup", {
@@ -181,24 +187,12 @@ Object.defineProperty(exports, "DxcResultsetTable", {
181
187
  return _ResultsetTable["default"];
182
188
  }
183
189
  });
184
- Object.defineProperty(exports, "DxcRow", {
185
- enumerable: true,
186
- get: function get() {
187
- return _Row["default"];
188
- }
189
- });
190
190
  Object.defineProperty(exports, "DxcSelect", {
191
191
  enumerable: true,
192
192
  get: function get() {
193
193
  return _Select["default"];
194
194
  }
195
195
  });
196
- Object.defineProperty(exports, "DxcSidenav", {
197
- enumerable: true,
198
- get: function get() {
199
- return _Sidenav["default"];
200
- }
201
- });
202
196
  Object.defineProperty(exports, "DxcSlider", {
203
197
  enumerable: true,
204
198
  get: function get() {
@@ -211,12 +205,6 @@ Object.defineProperty(exports, "DxcSpinner", {
211
205
  return _Spinner["default"];
212
206
  }
213
207
  });
214
- Object.defineProperty(exports, "DxcStack", {
215
- enumerable: true,
216
- get: function get() {
217
- return _Stack["default"];
218
- }
219
- });
220
208
  Object.defineProperty(exports, "DxcSwitch", {
221
209
  enumerable: true,
222
210
  get: function get() {
@@ -241,12 +229,6 @@ Object.defineProperty(exports, "DxcTag", {
241
229
  return _Tag["default"];
242
230
  }
243
231
  });
244
- Object.defineProperty(exports, "DxcText", {
245
- enumerable: true,
246
- get: function get() {
247
- return _Text["default"];
248
- }
249
- });
250
232
  Object.defineProperty(exports, "DxcTextInput", {
251
233
  enumerable: true,
252
234
  get: function get() {
@@ -265,10 +247,10 @@ Object.defineProperty(exports, "DxcToggleGroup", {
265
247
  return _ToggleGroup["default"];
266
248
  }
267
249
  });
268
- Object.defineProperty(exports, "DxcUpload", {
250
+ Object.defineProperty(exports, "DxcTypography", {
269
251
  enumerable: true,
270
252
  get: function get() {
271
- return _Upload["default"];
253
+ return _Typography["default"];
272
254
  }
273
255
  });
274
256
  Object.defineProperty(exports, "DxcWizard", {
@@ -277,28 +259,22 @@ Object.defineProperty(exports, "DxcWizard", {
277
259
  return _Wizard["default"];
278
260
  }
279
261
  });
280
- Object.defineProperty(exports, "ThemeContext", {
262
+ Object.defineProperty(exports, "HalstackContext", {
281
263
  enumerable: true,
282
264
  get: function get() {
283
- return _ThemeContext["default"];
265
+ return _HalstackContext["default"];
284
266
  }
285
267
  });
286
- Object.defineProperty(exports, "ThemeProvider", {
268
+ Object.defineProperty(exports, "HalstackLanguageContext", {
287
269
  enumerable: true,
288
270
  get: function get() {
289
- return _ThemeContext.ThemeProvider;
271
+ return _HalstackContext.HalstackLanguageContext;
290
272
  }
291
273
  });
292
- Object.defineProperty(exports, "V3DxcSelect", {
274
+ Object.defineProperty(exports, "HalstackProvider", {
293
275
  enumerable: true,
294
276
  get: function get() {
295
- return _V3Select["default"];
296
- }
297
- });
298
- Object.defineProperty(exports, "V3DxcTextarea", {
299
- enumerable: true,
300
- get: function get() {
301
- return _V3Textarea["default"];
277
+ return _HalstackContext.HalstackProvider;
302
278
  }
303
279
  });
304
280
 
@@ -312,22 +288,10 @@ var _Card = _interopRequireDefault(require("./card/Card"));
312
288
 
313
289
  var _Checkbox = _interopRequireDefault(require("./checkbox/Checkbox"));
314
290
 
315
- var _Date = _interopRequireDefault(require("./date/Date"));
316
-
317
291
  var _Dialog = _interopRequireDefault(require("./dialog/Dialog"));
318
292
 
319
293
  var _Dropdown = _interopRequireDefault(require("./dropdown/Dropdown"));
320
294
 
321
- var _Footer = _interopRequireDefault(require("./footer/Footer"));
322
-
323
- var _Header = _interopRequireDefault(require("./header/Header"));
324
-
325
- var _InputText = _interopRequireDefault(require("./input-text/InputText"));
326
-
327
- var _Radio = _interopRequireDefault(require("./radio/Radio"));
328
-
329
- var _V3Select = _interopRequireDefault(require("./V3Select/V3Select"));
330
-
331
295
  var _Slider = _interopRequireDefault(require("./slider/Slider"));
332
296
 
333
297
  var _Switch = _interopRequireDefault(require("./switch/Switch"));
@@ -338,8 +302,6 @@ var _ProgressBar = _interopRequireDefault(require("./progress-bar/ProgressBar"))
338
302
 
339
303
  var _Spinner = _interopRequireDefault(require("./spinner/Spinner"));
340
304
 
341
- var _Upload = _interopRequireDefault(require("./upload/Upload"));
342
-
343
305
  var _Table = _interopRequireDefault(require("./table/Table"));
344
306
 
345
307
  var _Box = _interopRequireDefault(require("./box/Box"));
@@ -348,16 +310,12 @@ var _Tag = _interopRequireDefault(require("./tag/Tag"));
348
310
 
349
311
  var _Paginator = _interopRequireDefault(require("./paginator/Paginator"));
350
312
 
351
- var _Sidenav = _interopRequireDefault(require("./sidenav/Sidenav"));
352
-
353
313
  var _Wizard = _interopRequireDefault(require("./wizard/Wizard"));
354
314
 
355
315
  var _Link = _interopRequireDefault(require("./link/Link"));
356
316
 
357
317
  var _Heading = _interopRequireDefault(require("./heading/Heading"));
358
318
 
359
- var _V3Textarea = _interopRequireDefault(require("./V3Textarea/V3Textarea"));
360
-
361
319
  var _ResultsetTable = _interopRequireDefault(require("./resultsetTable/ResultsetTable"));
362
320
 
363
321
  var _Chip = _interopRequireDefault(require("./chip/Chip"));
@@ -384,17 +342,25 @@ var _Select = _interopRequireDefault(require("./select/Select"));
384
342
 
385
343
  var _FileInput = _interopRequireDefault(require("./file-input/FileInput"));
386
344
 
387
- var _Stack = _interopRequireDefault(require("./stack/Stack"));
345
+ var _RadioGroup = _interopRequireDefault(require("./radio-group/RadioGroup"));
388
346
 
389
- var _Row = _interopRequireDefault(require("./row/Row"));
347
+ var _Bleed = _interopRequireDefault(require("./bleed/Bleed"));
390
348
 
391
- var _Text = _interopRequireDefault(require("./text/Text"));
349
+ var _Inset = _interopRequireDefault(require("./inset/Inset"));
392
350
 
393
- var _List = _interopRequireDefault(require("./list/List"));
351
+ var _QuickNav = _interopRequireDefault(require("./quick-nav/QuickNav"));
394
352
 
395
- var _RadioGroup = _interopRequireDefault(require("./radio-group/RadioGroup"));
353
+ var _NavTabs = _interopRequireDefault(require("./nav-tabs/NavTabs"));
354
+
355
+ var _Flex = _interopRequireDefault(require("./flex/Flex"));
356
+
357
+ var _Typography = _interopRequireDefault(require("./typography/Typography"));
358
+
359
+ var _Paragraph = _interopRequireDefault(require("./paragraph/Paragraph"));
360
+
361
+ var _BulletedList = _interopRequireDefault(require("./bulleted-list/BulletedList"));
396
362
 
397
- var _ThemeContext = _interopRequireWildcard(require("./ThemeContext"));
363
+ var _HalstackContext = _interopRequireWildcard(require("./HalstackContext"));
398
364
 
399
365
  var _BackgroundColorContext = require("./BackgroundColorContext");
400
366
 
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import { NavTabsContextProps, NavTabsProps } from "./types";
3
+ export declare const NavTabsContext: React.Context<NavTabsContextProps>;
4
+ declare const DxcNavTabs: {
5
+ ({ iconPosition, tabIndex, children }: NavTabsProps): JSX.Element;
6
+ Tab: React.ForwardRefExoticComponent<import("./types").TabProps & React.RefAttributes<HTMLAnchorElement>>;
7
+ };
8
+ export default DxcNavTabs;
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = exports.NavTabsContext = void 0;
11
+
12
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
16
+ var _react = _interopRequireWildcard(require("react"));
17
+
18
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
19
+
20
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
21
+
22
+ var _Tab = _interopRequireDefault(require("./Tab"));
23
+
24
+ var _templateObject;
25
+
26
+ 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); }
27
+
28
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(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; }
29
+
30
+ var NavTabsContext = /*#__PURE__*/(0, _react.createContext)(null);
31
+ exports.NavTabsContext = NavTabsContext;
32
+
33
+ var getPropInChild = function getPropInChild(child, propName) {
34
+ return child.props ? child.props[propName] ? child.props[propName] : child.props.children ? getPropInChild(child.props.children, propName) : undefined : undefined;
35
+ };
36
+
37
+ var getLabelFromTab = function getLabelFromTab(child) {
38
+ if (typeof child === "string") {
39
+ return child.toString();
40
+ } else if (child.props.children) {
41
+ return Array.isArray(child.props.children) ? getLabelFromTab(child.props.children[0]) : getLabelFromTab(child.props.children);
42
+ }
43
+ };
44
+
45
+ var getPreviousTabIndex = function getPreviousTabIndex(array, initialIndex) {
46
+ var index = initialIndex === 0 ? array.length - 1 : initialIndex - 1;
47
+
48
+ while (getPropInChild(array[index], "disabled")) {
49
+ index = index === 0 ? array.length - 1 : index - 1;
50
+ }
51
+
52
+ return index;
53
+ };
54
+
55
+ var getNextTabIndex = function getNextTabIndex(array, initialIndex) {
56
+ var index = initialIndex === array.length - 1 ? 0 : initialIndex + 1;
57
+
58
+ while (getPropInChild(array[index], "disabled")) {
59
+ index = index === array.length - 1 ? 0 : index + 1;
60
+ }
61
+
62
+ return index;
63
+ };
64
+
65
+ var DxcNavTabs = function DxcNavTabs(_ref) {
66
+ var _ref$iconPosition = _ref.iconPosition,
67
+ iconPosition = _ref$iconPosition === void 0 ? "top" : _ref$iconPosition,
68
+ _ref$tabIndex = _ref.tabIndex,
69
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,
70
+ children = _ref.children;
71
+ var colorsTheme = (0, _useTheme["default"])();
72
+
73
+ var _useState = (0, _react.useState)(null),
74
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
75
+ innerFocus = _useState2[0],
76
+ setInnerFocus = _useState2[1];
77
+
78
+ var contextValue = (0, _react.useMemo)(function () {
79
+ return {
80
+ iconPosition: iconPosition,
81
+ tabIndex: tabIndex,
82
+ hasIcons: _react["default"].Children.toArray(children).some(function (child) {
83
+ return getPropInChild(child, "icon");
84
+ }),
85
+ focusedLabel: innerFocus === null ? undefined : getLabelFromTab(children[innerFocus])
86
+ };
87
+ }, [iconPosition, tabIndex, innerFocus]);
88
+
89
+ var handleOnKeyDown = function handleOnKeyDown(event) {
90
+ var activeTab = _react["default"].Children.toArray(children).findIndex(function (child) {
91
+ return getPropInChild(child, "active");
92
+ });
93
+
94
+ switch (event.key) {
95
+ case "Left":
96
+ case "ArrowLeft":
97
+ event.preventDefault();
98
+ setInnerFocus(getPreviousTabIndex(children, innerFocus === null ? activeTab : innerFocus));
99
+ break;
100
+
101
+ case "Right":
102
+ case "ArrowRight":
103
+ event.preventDefault();
104
+ setInnerFocus(getNextTabIndex(children, innerFocus === null ? activeTab : innerFocus));
105
+ break;
106
+ }
107
+ };
108
+
109
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
110
+ theme: colorsTheme.navTabs
111
+ }, /*#__PURE__*/_react["default"].createElement(NavTabsContainer, {
112
+ onKeyDown: handleOnKeyDown,
113
+ role: "tablist",
114
+ "aria-label": "Navigation tabs"
115
+ }, /*#__PURE__*/_react["default"].createElement(NavTabsContext.Provider, {
116
+ value: contextValue
117
+ }, children)));
118
+ };
119
+
120
+ DxcNavTabs.Tab = _Tab["default"];
121
+
122
+ var NavTabsContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n"])));
123
+
124
+ var _default = DxcNavTabs;
125
+ exports["default"] = _default;
@@ -0,0 +1,260 @@
1
+ import React from "react";
2
+ import DxcNavTabs from "./NavTabs";
3
+ import Title from "../../.storybook/components/Title";
4
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
+ import { HalstackProvider } from "../HalstackContext";
6
+
7
+ export default {
8
+ title: "NavTabs",
9
+ component: DxcNavTabs,
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 largeIcon = "https://www.iconpacks.net/icons/1/free-pin-icon-48-thumb.png";
20
+
21
+ const opinionatedTheme = {
22
+ navTabs: {
23
+ baseColor: "#666666",
24
+ accentColor: "#5f249f",
25
+ },
26
+ };
27
+
28
+ export const Chromatic = () => (
29
+ <>
30
+ <ExampleContainer>
31
+ <Title title="Only label" theme="light" level={4} />
32
+ <DxcNavTabs>
33
+ <DxcNavTabs.Tab href="#" active>
34
+ Tab 1
35
+ </DxcNavTabs.Tab>
36
+ <DxcNavTabs.Tab href="#" disabled>
37
+ Tab 2
38
+ </DxcNavTabs.Tab>
39
+ <DxcNavTabs.Tab href="#">Tab 3</DxcNavTabs.Tab>
40
+ <DxcNavTabs.Tab href="#">Tab 4</DxcNavTabs.Tab>
41
+ </DxcNavTabs>
42
+ </ExampleContainer>
43
+ <ExampleContainer pseudoState="pseudo-hover">
44
+ <Title title="Hovered tabs" theme="light" level={4} />
45
+ <DxcNavTabs>
46
+ <DxcNavTabs.Tab href="#" active>
47
+ Tab 1
48
+ </DxcNavTabs.Tab>
49
+ <DxcNavTabs.Tab href="#" disabled>
50
+ Tab 2
51
+ </DxcNavTabs.Tab>
52
+ <DxcNavTabs.Tab href="#">Tab 3</DxcNavTabs.Tab>
53
+ <DxcNavTabs.Tab href="#">Tab 4</DxcNavTabs.Tab>
54
+ </DxcNavTabs>
55
+ </ExampleContainer>
56
+ <ExampleContainer pseudoState="pseudo-focus">
57
+ <Title title="Focused tabs" theme="light" level={4} />
58
+ <DxcNavTabs>
59
+ <DxcNavTabs.Tab href="#" active>
60
+ Tab 1
61
+ </DxcNavTabs.Tab>
62
+ <DxcNavTabs.Tab href="#" disabled>
63
+ Tab 2
64
+ </DxcNavTabs.Tab>
65
+ <DxcNavTabs.Tab href="#">Tab 3</DxcNavTabs.Tab>
66
+ <DxcNavTabs.Tab href="#">Tab 4</DxcNavTabs.Tab>
67
+ </DxcNavTabs>
68
+ </ExampleContainer>
69
+ <ExampleContainer pseudoState="pseudo-active">
70
+ <Title title="Actived tabs" theme="light" level={4} />
71
+ <DxcNavTabs>
72
+ <DxcNavTabs.Tab href="#" active>
73
+ Tab 1
74
+ </DxcNavTabs.Tab>
75
+ <DxcNavTabs.Tab href="#" disabled>
76
+ Tab 2
77
+ </DxcNavTabs.Tab>
78
+ <DxcNavTabs.Tab href="#">Tab 3</DxcNavTabs.Tab>
79
+ <DxcNavTabs.Tab href="#">Tab 4</DxcNavTabs.Tab>
80
+ </DxcNavTabs>
81
+ </ExampleContainer>
82
+ <ExampleContainer>
83
+ <Title title="With notification number" theme="light" level={4} />
84
+ <DxcNavTabs>
85
+ <DxcNavTabs.Tab href="#" active notificationNumber>
86
+ Tab 1
87
+ </DxcNavTabs.Tab>
88
+ <DxcNavTabs.Tab href="#" disabled notificationNumber={5}>
89
+ Tab 2
90
+ </DxcNavTabs.Tab>
91
+ <DxcNavTabs.Tab href="#" notificationNumber={120}>
92
+ Tab 3
93
+ </DxcNavTabs.Tab>
94
+ <DxcNavTabs.Tab href="#">Tab 4</DxcNavTabs.Tab>
95
+ </DxcNavTabs>
96
+ </ExampleContainer>
97
+ <ExampleContainer>
98
+ <Title title="With icon position top" theme="light" level={4} />
99
+ <DxcNavTabs>
100
+ <DxcNavTabs.Tab href="#" active icon={iconSVG}>
101
+ Tab 1
102
+ </DxcNavTabs.Tab>
103
+ <DxcNavTabs.Tab href="#" disabled icon={iconSVG}>
104
+ Tab 2
105
+ </DxcNavTabs.Tab>
106
+ <DxcNavTabs.Tab href="#" icon={largeIcon}>
107
+ Tab 3
108
+ </DxcNavTabs.Tab>
109
+ <DxcNavTabs.Tab href="#" icon={largeIcon}>
110
+ Tab 4
111
+ </DxcNavTabs.Tab>
112
+ </DxcNavTabs>
113
+ </ExampleContainer>
114
+ <ExampleContainer>
115
+ <Title title="With icon position left" theme="light" level={4} />
116
+ <DxcNavTabs iconPosition="left">
117
+ <DxcNavTabs.Tab href="#" active icon={largeIcon}>
118
+ Tab 1
119
+ </DxcNavTabs.Tab>
120
+ <DxcNavTabs.Tab href="#" disabled icon={iconSVG}>
121
+ Tab 2
122
+ </DxcNavTabs.Tab>
123
+ <DxcNavTabs.Tab href="#" icon={iconSVG}>
124
+ Tab 3
125
+ </DxcNavTabs.Tab>
126
+ <DxcNavTabs.Tab href="#" icon={iconSVG}>
127
+ Tab 4
128
+ </DxcNavTabs.Tab>
129
+ </DxcNavTabs>
130
+ </ExampleContainer>
131
+ <ExampleContainer>
132
+ <Title title="With icon and notification number" theme="light" level={4} />
133
+ <DxcNavTabs>
134
+ <DxcNavTabs.Tab href="#" active icon={largeIcon} notificationNumber>
135
+ Tab 1
136
+ </DxcNavTabs.Tab>
137
+ <DxcNavTabs.Tab href="#" disabled icon={iconSVG} notificationNumber={5}>
138
+ Tab 2
139
+ </DxcNavTabs.Tab>
140
+ <DxcNavTabs.Tab href="#" icon={iconSVG} notificationNumber={120}>
141
+ Tab 3
142
+ </DxcNavTabs.Tab>
143
+ <DxcNavTabs.Tab href="#" icon={largeIcon}>
144
+ Tab 4
145
+ </DxcNavTabs.Tab>
146
+ </DxcNavTabs>
147
+ </ExampleContainer>
148
+ <ExampleContainer>
149
+ <Title title="With icon on the left and notification number" theme="light" level={4} />
150
+ <DxcNavTabs iconPosition="left">
151
+ <DxcNavTabs.Tab href="#" active icon={iconSVG} notificationNumber>
152
+ Tab 1
153
+ </DxcNavTabs.Tab>
154
+ <DxcNavTabs.Tab href="#" disabled icon={iconSVG} notificationNumber={5}>
155
+ Tab 2
156
+ </DxcNavTabs.Tab>
157
+ <DxcNavTabs.Tab href="#" icon={largeIcon} notificationNumber={120}>
158
+ Tab 3
159
+ </DxcNavTabs.Tab>
160
+ <DxcNavTabs.Tab href="#" icon={iconSVG}>
161
+ Tab 4
162
+ </DxcNavTabs.Tab>
163
+ </DxcNavTabs>
164
+ </ExampleContainer>
165
+ <ExampleContainer>
166
+ <Title title="With long label" theme="light" level={4} />
167
+ <DxcNavTabs>
168
+ <DxcNavTabs.Tab href="#" active>
169
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit
170
+ </DxcNavTabs.Tab>
171
+ <DxcNavTabs.Tab href="#" icon={iconSVG} disabled notificationNumber={3}>
172
+ Tab 2
173
+ </DxcNavTabs.Tab>
174
+ <DxcNavTabs.Tab href="#" icon={iconSVG}>
175
+ Tab 3
176
+ </DxcNavTabs.Tab>
177
+ </DxcNavTabs>
178
+ </ExampleContainer>
179
+ <Title title="Opinionated theme" theme="light" level={2} />
180
+ <ExampleContainer>
181
+ <Title title="Only label" theme="light" level={4} />
182
+ <HalstackProvider theme={opinionatedTheme}>
183
+ <DxcNavTabs>
184
+ <DxcNavTabs.Tab href="#" active>
185
+ Tab 1
186
+ </DxcNavTabs.Tab>
187
+ <DxcNavTabs.Tab href="#" disabled>
188
+ Tab 2
189
+ </DxcNavTabs.Tab>
190
+ <DxcNavTabs.Tab href="#">Tab 3</DxcNavTabs.Tab>
191
+ <DxcNavTabs.Tab href="#">Tab 4</DxcNavTabs.Tab>
192
+ </DxcNavTabs>
193
+ </HalstackProvider>
194
+ </ExampleContainer>
195
+ <ExampleContainer pseudoState="pseudo-hover">
196
+ <Title title="Hovered tabs" theme="light" level={4} />
197
+ <HalstackProvider theme={opinionatedTheme}>
198
+ <DxcNavTabs>
199
+ <DxcNavTabs.Tab href="#" active>
200
+ Tab 1
201
+ </DxcNavTabs.Tab>
202
+ <DxcNavTabs.Tab href="#" disabled>
203
+ Tab 2
204
+ </DxcNavTabs.Tab>
205
+ <DxcNavTabs.Tab href="#">Tab 3</DxcNavTabs.Tab>
206
+ <DxcNavTabs.Tab href="#">Tab 4</DxcNavTabs.Tab>
207
+ </DxcNavTabs>
208
+ </HalstackProvider>
209
+ </ExampleContainer>
210
+ <ExampleContainer pseudoState="pseudo-focus">
211
+ <Title title="Focused tabs" theme="light" level={4} />
212
+ <HalstackProvider theme={opinionatedTheme}>
213
+ <DxcNavTabs>
214
+ <DxcNavTabs.Tab href="#" active>
215
+ Tab 1
216
+ </DxcNavTabs.Tab>
217
+ <DxcNavTabs.Tab href="#" disabled>
218
+ Tab 2
219
+ </DxcNavTabs.Tab>
220
+ <DxcNavTabs.Tab href="#">Tab 3</DxcNavTabs.Tab>
221
+ <DxcNavTabs.Tab href="#">Tab 4</DxcNavTabs.Tab>
222
+ </DxcNavTabs>
223
+ </HalstackProvider>
224
+ </ExampleContainer>
225
+ <ExampleContainer pseudoState="pseudo-active">
226
+ <Title title="Actived tabs" theme="light" level={4} />
227
+ <HalstackProvider theme={opinionatedTheme}>
228
+ <DxcNavTabs>
229
+ <DxcNavTabs.Tab href="#" active>
230
+ Tab 1
231
+ </DxcNavTabs.Tab>
232
+ <DxcNavTabs.Tab href="#" disabled>
233
+ Tab 2
234
+ </DxcNavTabs.Tab>
235
+ <DxcNavTabs.Tab href="#">Tab 3</DxcNavTabs.Tab>
236
+ <DxcNavTabs.Tab href="#">Tab 4</DxcNavTabs.Tab>
237
+ </DxcNavTabs>
238
+ </HalstackProvider>
239
+ </ExampleContainer>
240
+ <ExampleContainer>
241
+ <Title title="With icon and notification number" theme="light" level={4} />
242
+ <HalstackProvider theme={opinionatedTheme}>
243
+ <DxcNavTabs>
244
+ <DxcNavTabs.Tab href="#" active icon={iconSVG} notificationNumber>
245
+ Tab 1
246
+ </DxcNavTabs.Tab>
247
+ <DxcNavTabs.Tab href="#" disabled icon={iconSVG} notificationNumber={5}>
248
+ Tab 2
249
+ </DxcNavTabs.Tab>
250
+ <DxcNavTabs.Tab href="#" icon={iconSVG} notificationNumber={120}>
251
+ Tab 3
252
+ </DxcNavTabs.Tab>
253
+ <DxcNavTabs.Tab href="#" icon={iconSVG}>
254
+ Tab 4
255
+ </DxcNavTabs.Tab>
256
+ </DxcNavTabs>
257
+ </HalstackProvider>
258
+ </ExampleContainer>
259
+ </>
260
+ );