@dxc-technology/halstack-react 0.0.0-f0d662d → 0.0.0-f1bbdfe

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 (302) 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 -142
  7. package/accordion/Accordion.stories.tsx +115 -27
  8. package/accordion/Accordion.test.js +71 -0
  9. package/accordion/types.d.ts +8 -7
  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 -7
  15. package/alert/Alert.js +8 -7
  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 +95 -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 +125 -0
  30. package/bulleted-list/BulletedList.stories.tsx +206 -0
  31. package/bulleted-list/types.d.ts +38 -0
  32. package/button/Button.js +52 -70
  33. package/button/Button.stories.tsx +159 -8
  34. package/button/Button.test.js +35 -0
  35. package/button/types.d.ts +5 -5
  36. package/card/Card.js +33 -37
  37. package/card/Card.stories.tsx +12 -13
  38. package/card/Card.test.js +50 -0
  39. package/card/types.d.ts +1 -0
  40. package/checkbox/Checkbox.d.ts +2 -2
  41. package/checkbox/Checkbox.js +107 -110
  42. package/checkbox/Checkbox.stories.tsx +198 -130
  43. package/checkbox/Checkbox.test.js +155 -0
  44. package/checkbox/types.d.ts +11 -3
  45. package/chip/Chip.d.ts +1 -1
  46. package/chip/Chip.js +22 -68
  47. package/chip/Chip.stories.tsx +98 -13
  48. package/chip/Chip.test.js +54 -0
  49. package/chip/types.d.ts +5 -13
  50. package/common/OpenSans.css +68 -80
  51. package/common/coreTokens.d.ts +146 -0
  52. package/common/coreTokens.js +167 -0
  53. package/common/utils.d.ts +1 -0
  54. package/common/utils.js +4 -4
  55. package/common/variables.d.ts +1482 -0
  56. package/common/variables.js +1097 -1348
  57. package/date-input/Calendar.d.ts +4 -0
  58. package/date-input/Calendar.js +258 -0
  59. package/date-input/DateInput.js +169 -258
  60. package/date-input/DateInput.stories.tsx +199 -33
  61. package/date-input/DateInput.test.js +835 -0
  62. package/date-input/DatePicker.d.ts +4 -0
  63. package/date-input/DatePicker.js +146 -0
  64. package/date-input/Icons.d.ts +6 -0
  65. package/date-input/Icons.js +75 -0
  66. package/date-input/YearPicker.d.ts +4 -0
  67. package/date-input/YearPicker.js +126 -0
  68. package/date-input/types.d.ts +67 -9
  69. package/dialog/Dialog.js +76 -93
  70. package/dialog/Dialog.stories.tsx +230 -123
  71. package/dialog/Dialog.test.js +369 -0
  72. package/dialog/types.d.ts +1 -0
  73. package/dropdown/Dropdown.d.ts +1 -1
  74. package/dropdown/Dropdown.js +248 -277
  75. package/dropdown/Dropdown.stories.tsx +255 -64
  76. package/dropdown/Dropdown.test.js +586 -0
  77. package/dropdown/DropdownMenu.d.ts +4 -0
  78. package/dropdown/DropdownMenu.js +74 -0
  79. package/dropdown/DropdownMenuItem.d.ts +4 -0
  80. package/dropdown/DropdownMenuItem.js +79 -0
  81. package/dropdown/types.d.ts +27 -16
  82. package/file-input/FileInput.d.ts +2 -2
  83. package/file-input/FileInput.js +180 -223
  84. package/file-input/FileInput.stories.tsx +122 -11
  85. package/file-input/FileInput.test.js +457 -0
  86. package/file-input/FileItem.d.ts +4 -14
  87. package/file-input/FileItem.js +44 -66
  88. package/file-input/types.d.ts +17 -0
  89. package/flex/Flex.d.ts +4 -0
  90. package/flex/Flex.js +71 -0
  91. package/flex/Flex.stories.tsx +112 -0
  92. package/flex/types.d.ts +97 -0
  93. package/footer/Footer.js +17 -92
  94. package/footer/Footer.stories.tsx +99 -1
  95. package/footer/Footer.test.js +97 -0
  96. package/footer/Icons.js +1 -1
  97. package/footer/types.d.ts +2 -1
  98. package/grid/Grid.d.ts +7 -0
  99. package/grid/Grid.js +91 -0
  100. package/grid/Grid.stories.tsx +219 -0
  101. package/grid/types.d.ts +115 -0
  102. package/header/Header.d.ts +3 -2
  103. package/header/Header.js +108 -129
  104. package/header/Header.stories.tsx +189 -36
  105. package/header/Header.test.js +79 -0
  106. package/header/Icons.js +2 -2
  107. package/header/types.d.ts +1 -0
  108. package/heading/Heading.js +1 -1
  109. package/heading/Heading.test.js +186 -0
  110. package/inset/Inset.js +1 -34
  111. package/inset/Inset.stories.tsx +37 -36
  112. package/inset/types.d.ts +25 -1
  113. package/layout/ApplicationLayout.d.ts +16 -6
  114. package/layout/ApplicationLayout.js +72 -126
  115. package/layout/ApplicationLayout.stories.tsx +84 -93
  116. package/layout/Icons.d.ts +5 -0
  117. package/layout/Icons.js +13 -2
  118. package/layout/SidenavContext.d.ts +5 -0
  119. package/layout/SidenavContext.js +19 -0
  120. package/layout/types.d.ts +19 -35
  121. package/link/Link.d.ts +3 -2
  122. package/link/Link.js +63 -88
  123. package/link/Link.stories.tsx +159 -52
  124. package/link/Link.test.js +81 -0
  125. package/link/types.d.ts +7 -27
  126. package/main.d.ts +12 -15
  127. package/main.js +57 -75
  128. package/nav-tabs/NavTabs.d.ts +8 -0
  129. package/nav-tabs/NavTabs.js +125 -0
  130. package/nav-tabs/NavTabs.stories.tsx +260 -0
  131. package/nav-tabs/NavTabs.test.js +82 -0
  132. package/nav-tabs/Tab.d.ts +4 -0
  133. package/nav-tabs/Tab.js +150 -0
  134. package/nav-tabs/types.d.ts +53 -0
  135. package/nav-tabs/types.js +5 -0
  136. package/number-input/NumberInput.js +11 -18
  137. package/number-input/NumberInput.stories.tsx +5 -5
  138. package/number-input/NumberInput.test.js +542 -0
  139. package/number-input/types.d.ts +17 -10
  140. package/package.json +20 -23
  141. package/paginator/Icons.d.ts +5 -0
  142. package/paginator/Icons.js +16 -28
  143. package/paginator/Paginator.js +19 -48
  144. package/paginator/Paginator.stories.tsx +24 -0
  145. package/paginator/Paginator.test.js +305 -0
  146. package/paragraph/Paragraph.d.ts +5 -0
  147. package/paragraph/Paragraph.js +38 -0
  148. package/paragraph/Paragraph.stories.tsx +44 -0
  149. package/password-input/PasswordInput.js +7 -4
  150. package/password-input/PasswordInput.test.js +181 -0
  151. package/password-input/types.d.ts +14 -11
  152. package/progress-bar/ProgressBar.js +61 -55
  153. package/progress-bar/ProgressBar.stories.jsx +47 -12
  154. package/progress-bar/ProgressBar.test.js +110 -0
  155. package/quick-nav/QuickNav.d.ts +4 -0
  156. package/quick-nav/QuickNav.js +117 -0
  157. package/quick-nav/QuickNav.stories.tsx +356 -0
  158. package/quick-nav/types.d.ts +21 -0
  159. package/quick-nav/types.js +5 -0
  160. package/radio-group/Radio.d.ts +1 -1
  161. package/radio-group/Radio.js +53 -37
  162. package/radio-group/RadioGroup.js +67 -57
  163. package/radio-group/RadioGroup.stories.tsx +171 -36
  164. package/radio-group/RadioGroup.test.js +563 -89
  165. package/radio-group/types.d.ts +82 -4
  166. package/resultsetTable/Icons.d.ts +7 -0
  167. package/resultsetTable/Icons.js +51 -0
  168. package/resultsetTable/ResultsetTable.js +50 -106
  169. package/resultsetTable/ResultsetTable.stories.tsx +50 -25
  170. package/resultsetTable/ResultsetTable.test.js +325 -0
  171. package/resultsetTable/types.d.ts +1 -1
  172. package/select/Icons.d.ts +10 -0
  173. package/select/Icons.js +93 -0
  174. package/select/Listbox.d.ts +4 -0
  175. package/select/Listbox.js +169 -0
  176. package/select/Option.d.ts +4 -0
  177. package/select/Option.js +97 -0
  178. package/select/Select.js +189 -386
  179. package/select/Select.stories.tsx +600 -201
  180. package/select/Select.test.js +2228 -0
  181. package/select/types.d.ts +53 -13
  182. package/sidenav/Icons.d.ts +7 -0
  183. package/sidenav/Icons.js +51 -0
  184. package/sidenav/Sidenav.d.ts +6 -5
  185. package/sidenav/Sidenav.js +146 -44
  186. package/sidenav/Sidenav.stories.tsx +251 -151
  187. package/sidenav/Sidenav.test.js +44 -0
  188. package/sidenav/types.d.ts +52 -26
  189. package/slider/Slider.d.ts +2 -2
  190. package/slider/Slider.js +123 -98
  191. package/slider/Slider.stories.tsx +72 -9
  192. package/slider/Slider.test.js +250 -0
  193. package/slider/types.d.ts +8 -0
  194. package/spinner/Spinner.js +18 -24
  195. package/spinner/Spinner.stories.jsx +53 -27
  196. package/spinner/Spinner.test.js +64 -0
  197. package/switch/Switch.d.ts +2 -2
  198. package/switch/Switch.js +152 -69
  199. package/switch/Switch.stories.tsx +53 -42
  200. package/switch/Switch.test.js +225 -0
  201. package/switch/types.d.ts +10 -2
  202. package/table/Table.js +3 -3
  203. package/table/Table.stories.jsx +80 -1
  204. package/table/Table.test.js +26 -0
  205. package/tabs/Tab.d.ts +4 -0
  206. package/tabs/Tab.js +132 -0
  207. package/tabs/Tabs.d.ts +1 -1
  208. package/tabs/Tabs.js +360 -112
  209. package/tabs/Tabs.stories.tsx +119 -13
  210. package/tabs/Tabs.test.js +350 -0
  211. package/tabs/types.d.ts +17 -3
  212. package/tag/Tag.d.ts +1 -1
  213. package/tag/Tag.js +24 -36
  214. package/tag/Tag.stories.tsx +37 -27
  215. package/tag/Tag.test.js +60 -0
  216. package/tag/types.d.ts +23 -14
  217. package/text-input/Icons.d.ts +8 -0
  218. package/text-input/Icons.js +60 -0
  219. package/text-input/Suggestion.d.ts +4 -0
  220. package/text-input/Suggestion.js +84 -0
  221. package/text-input/Suggestions.d.ts +4 -0
  222. package/text-input/Suggestions.js +134 -0
  223. package/text-input/TextInput.js +224 -345
  224. package/text-input/TextInput.stories.tsx +310 -197
  225. package/text-input/TextInput.test.js +1723 -0
  226. package/text-input/types.d.ts +50 -12
  227. package/textarea/Textarea.js +22 -30
  228. package/textarea/Textarea.stories.jsx +93 -13
  229. package/textarea/Textarea.test.js +435 -0
  230. package/textarea/types.d.ts +18 -11
  231. package/toggle-group/ToggleGroup.d.ts +1 -1
  232. package/toggle-group/ToggleGroup.js +12 -8
  233. package/toggle-group/ToggleGroup.stories.tsx +46 -4
  234. package/toggle-group/ToggleGroup.test.js +156 -0
  235. package/toggle-group/types.d.ts +10 -2
  236. package/typography/Typography.d.ts +4 -0
  237. package/typography/Typography.js +32 -0
  238. package/typography/Typography.stories.tsx +198 -0
  239. package/typography/types.d.ts +18 -0
  240. package/typography/types.js +5 -0
  241. package/useTheme.d.ts +1234 -1
  242. package/useTheme.js +3 -3
  243. package/useTranslatedLabels.d.ts +85 -0
  244. package/useTranslatedLabels.js +20 -0
  245. package/utils/BaseTypography.d.ts +21 -0
  246. package/utils/BaseTypography.js +108 -0
  247. package/utils/FocusLock.d.ts +13 -0
  248. package/utils/FocusLock.js +139 -0
  249. package/wizard/Wizard.d.ts +1 -1
  250. package/wizard/Wizard.js +59 -55
  251. package/wizard/Wizard.stories.tsx +48 -19
  252. package/wizard/Wizard.test.js +141 -0
  253. package/wizard/types.d.ts +8 -4
  254. package/ThemeContext.d.ts +0 -15
  255. package/ThemeContext.js +0 -243
  256. package/V3Select/V3Select.js +0 -455
  257. package/V3Select/index.d.ts +0 -27
  258. package/V3Textarea/V3Textarea.js +0 -260
  259. package/V3Textarea/index.d.ts +0 -27
  260. package/common/RequiredComponent.js +0 -32
  261. package/date/Date.js +0 -373
  262. package/date/index.d.ts +0 -27
  263. package/input-text/Icons.js +0 -22
  264. package/input-text/InputText.js +0 -611
  265. package/input-text/index.d.ts +0 -36
  266. package/list/List.d.ts +0 -4
  267. package/list/List.js +0 -47
  268. package/list/List.stories.tsx +0 -95
  269. package/list/types.d.ts +0 -7
  270. package/radio/Radio.d.ts +0 -4
  271. package/radio/Radio.js +0 -174
  272. package/radio/Radio.stories.tsx +0 -192
  273. package/radio/types.d.ts +0 -54
  274. package/row/Row.d.ts +0 -3
  275. package/row/Row.js +0 -127
  276. package/row/Row.stories.tsx +0 -237
  277. package/row/types.d.ts +0 -10
  278. package/stack/Stack.d.ts +0 -3
  279. package/stack/Stack.js +0 -97
  280. package/stack/Stack.stories.tsx +0 -164
  281. package/stack/types.d.ts +0 -9
  282. package/text/Text.d.ts +0 -7
  283. package/text/Text.js +0 -30
  284. package/text/Text.stories.tsx +0 -19
  285. package/toggle/Toggle.js +0 -186
  286. package/toggle/index.d.ts +0 -21
  287. package/upload/Upload.js +0 -201
  288. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  289. package/upload/buttons-upload/Icons.js +0 -40
  290. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  291. package/upload/dragAndDropArea/Icons.js +0 -39
  292. package/upload/file-upload/FileToUpload.js +0 -115
  293. package/upload/file-upload/Icons.js +0 -66
  294. package/upload/files-upload/FilesToUpload.js +0 -109
  295. package/upload/index.d.ts +0 -15
  296. package/upload/transaction/Icons.js +0 -160
  297. package/upload/transaction/Transaction.js +0 -104
  298. package/upload/transactions/Transactions.js +0 -94
  299. /package/{list → badge}/types.js +0 -0
  300. /package/{radio → bulleted-list}/types.js +0 -0
  301. /package/{row → flex}/types.js +0 -0
  302. /package/{stack → grid}/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,16 @@ Object.defineProperty(exports, "DxcFileInput", {
103
109
  return _FileInput["default"];
104
110
  }
105
111
  });
106
- Object.defineProperty(exports, "DxcFooter", {
112
+ Object.defineProperty(exports, "DxcFlex", {
107
113
  enumerable: true,
108
114
  get: function get() {
109
- return _Footer["default"];
115
+ return _Flex["default"];
110
116
  }
111
117
  });
112
- Object.defineProperty(exports, "DxcHeader", {
118
+ Object.defineProperty(exports, "DxcGrid", {
113
119
  enumerable: true,
114
120
  get: function get() {
115
- return _Header["default"];
121
+ return _Grid["default"];
116
122
  }
117
123
  });
118
124
  Object.defineProperty(exports, "DxcHeading", {
@@ -121,10 +127,10 @@ Object.defineProperty(exports, "DxcHeading", {
121
127
  return _Heading["default"];
122
128
  }
123
129
  });
124
- Object.defineProperty(exports, "DxcInput", {
130
+ Object.defineProperty(exports, "DxcInset", {
125
131
  enumerable: true,
126
132
  get: function get() {
127
- return _InputText["default"];
133
+ return _Inset["default"];
128
134
  }
129
135
  });
130
136
  Object.defineProperty(exports, "DxcLink", {
@@ -133,10 +139,10 @@ Object.defineProperty(exports, "DxcLink", {
133
139
  return _Link["default"];
134
140
  }
135
141
  });
136
- Object.defineProperty(exports, "DxcList", {
142
+ Object.defineProperty(exports, "DxcNavTabs", {
137
143
  enumerable: true,
138
144
  get: function get() {
139
- return _List["default"];
145
+ return _NavTabs["default"];
140
146
  }
141
147
  });
142
148
  Object.defineProperty(exports, "DxcNumberInput", {
@@ -151,6 +157,12 @@ Object.defineProperty(exports, "DxcPaginator", {
151
157
  return _Paginator["default"];
152
158
  }
153
159
  });
160
+ Object.defineProperty(exports, "DxcParagraph", {
161
+ enumerable: true,
162
+ get: function get() {
163
+ return _Paragraph["default"];
164
+ }
165
+ });
154
166
  Object.defineProperty(exports, "DxcPasswordInput", {
155
167
  enumerable: true,
156
168
  get: function get() {
@@ -163,22 +175,22 @@ Object.defineProperty(exports, "DxcProgressBar", {
163
175
  return _ProgressBar["default"];
164
176
  }
165
177
  });
166
- Object.defineProperty(exports, "DxcRadio", {
178
+ Object.defineProperty(exports, "DxcQuickNav", {
167
179
  enumerable: true,
168
180
  get: function get() {
169
- return _Radio["default"];
181
+ return _QuickNav["default"];
170
182
  }
171
183
  });
172
- Object.defineProperty(exports, "DxcResultsetTable", {
184
+ Object.defineProperty(exports, "DxcRadioGroup", {
173
185
  enumerable: true,
174
186
  get: function get() {
175
- return _ResultsetTable["default"];
187
+ return _RadioGroup["default"];
176
188
  }
177
189
  });
178
- Object.defineProperty(exports, "DxcRow", {
190
+ Object.defineProperty(exports, "DxcResultsetTable", {
179
191
  enumerable: true,
180
192
  get: function get() {
181
- return _Row["default"];
193
+ return _ResultsetTable["default"];
182
194
  }
183
195
  });
184
196
  Object.defineProperty(exports, "DxcSelect", {
@@ -187,12 +199,6 @@ Object.defineProperty(exports, "DxcSelect", {
187
199
  return _Select["default"];
188
200
  }
189
201
  });
190
- Object.defineProperty(exports, "DxcSidenav", {
191
- enumerable: true,
192
- get: function get() {
193
- return _Sidenav["default"];
194
- }
195
- });
196
202
  Object.defineProperty(exports, "DxcSlider", {
197
203
  enumerable: true,
198
204
  get: function get() {
@@ -205,12 +211,6 @@ Object.defineProperty(exports, "DxcSpinner", {
205
211
  return _Spinner["default"];
206
212
  }
207
213
  });
208
- Object.defineProperty(exports, "DxcStack", {
209
- enumerable: true,
210
- get: function get() {
211
- return _Stack["default"];
212
- }
213
- });
214
214
  Object.defineProperty(exports, "DxcSwitch", {
215
215
  enumerable: true,
216
216
  get: function get() {
@@ -235,12 +235,6 @@ Object.defineProperty(exports, "DxcTag", {
235
235
  return _Tag["default"];
236
236
  }
237
237
  });
238
- Object.defineProperty(exports, "DxcText", {
239
- enumerable: true,
240
- get: function get() {
241
- return _Text["default"];
242
- }
243
- });
244
238
  Object.defineProperty(exports, "DxcTextInput", {
245
239
  enumerable: true,
246
240
  get: function get() {
@@ -259,10 +253,10 @@ Object.defineProperty(exports, "DxcToggleGroup", {
259
253
  return _ToggleGroup["default"];
260
254
  }
261
255
  });
262
- Object.defineProperty(exports, "DxcUpload", {
256
+ Object.defineProperty(exports, "DxcTypography", {
263
257
  enumerable: true,
264
258
  get: function get() {
265
- return _Upload["default"];
259
+ return _Typography["default"];
266
260
  }
267
261
  });
268
262
  Object.defineProperty(exports, "DxcWizard", {
@@ -271,28 +265,22 @@ Object.defineProperty(exports, "DxcWizard", {
271
265
  return _Wizard["default"];
272
266
  }
273
267
  });
274
- Object.defineProperty(exports, "ThemeContext", {
268
+ Object.defineProperty(exports, "HalstackContext", {
275
269
  enumerable: true,
276
270
  get: function get() {
277
- return _ThemeContext["default"];
271
+ return _HalstackContext["default"];
278
272
  }
279
273
  });
280
- Object.defineProperty(exports, "ThemeProvider", {
274
+ Object.defineProperty(exports, "HalstackLanguageContext", {
281
275
  enumerable: true,
282
276
  get: function get() {
283
- return _ThemeContext.ThemeProvider;
277
+ return _HalstackContext.HalstackLanguageContext;
284
278
  }
285
279
  });
286
- Object.defineProperty(exports, "V3DxcSelect", {
280
+ Object.defineProperty(exports, "HalstackProvider", {
287
281
  enumerable: true,
288
282
  get: function get() {
289
- return _V3Select["default"];
290
- }
291
- });
292
- Object.defineProperty(exports, "V3DxcTextarea", {
293
- enumerable: true,
294
- get: function get() {
295
- return _V3Textarea["default"];
283
+ return _HalstackContext.HalstackProvider;
296
284
  }
297
285
  });
298
286
 
@@ -306,22 +294,10 @@ var _Card = _interopRequireDefault(require("./card/Card"));
306
294
 
307
295
  var _Checkbox = _interopRequireDefault(require("./checkbox/Checkbox"));
308
296
 
309
- var _Date = _interopRequireDefault(require("./date/Date"));
310
-
311
297
  var _Dialog = _interopRequireDefault(require("./dialog/Dialog"));
312
298
 
313
299
  var _Dropdown = _interopRequireDefault(require("./dropdown/Dropdown"));
314
300
 
315
- var _Footer = _interopRequireDefault(require("./footer/Footer"));
316
-
317
- var _Header = _interopRequireDefault(require("./header/Header"));
318
-
319
- var _InputText = _interopRequireDefault(require("./input-text/InputText"));
320
-
321
- var _Radio = _interopRequireDefault(require("./radio/Radio"));
322
-
323
- var _V3Select = _interopRequireDefault(require("./V3Select/V3Select"));
324
-
325
301
  var _Slider = _interopRequireDefault(require("./slider/Slider"));
326
302
 
327
303
  var _Switch = _interopRequireDefault(require("./switch/Switch"));
@@ -332,8 +308,6 @@ var _ProgressBar = _interopRequireDefault(require("./progress-bar/ProgressBar"))
332
308
 
333
309
  var _Spinner = _interopRequireDefault(require("./spinner/Spinner"));
334
310
 
335
- var _Upload = _interopRequireDefault(require("./upload/Upload"));
336
-
337
311
  var _Table = _interopRequireDefault(require("./table/Table"));
338
312
 
339
313
  var _Box = _interopRequireDefault(require("./box/Box"));
@@ -342,16 +316,12 @@ var _Tag = _interopRequireDefault(require("./tag/Tag"));
342
316
 
343
317
  var _Paginator = _interopRequireDefault(require("./paginator/Paginator"));
344
318
 
345
- var _Sidenav = _interopRequireDefault(require("./sidenav/Sidenav"));
346
-
347
319
  var _Wizard = _interopRequireDefault(require("./wizard/Wizard"));
348
320
 
349
321
  var _Link = _interopRequireDefault(require("./link/Link"));
350
322
 
351
323
  var _Heading = _interopRequireDefault(require("./heading/Heading"));
352
324
 
353
- var _V3Textarea = _interopRequireDefault(require("./V3Textarea/V3Textarea"));
354
-
355
325
  var _ResultsetTable = _interopRequireDefault(require("./resultsetTable/ResultsetTable"));
356
326
 
357
327
  var _Chip = _interopRequireDefault(require("./chip/Chip"));
@@ -378,15 +348,27 @@ var _Select = _interopRequireDefault(require("./select/Select"));
378
348
 
379
349
  var _FileInput = _interopRequireDefault(require("./file-input/FileInput"));
380
350
 
381
- var _Stack = _interopRequireDefault(require("./stack/Stack"));
351
+ var _RadioGroup = _interopRequireDefault(require("./radio-group/RadioGroup"));
352
+
353
+ var _Bleed = _interopRequireDefault(require("./bleed/Bleed"));
354
+
355
+ var _Inset = _interopRequireDefault(require("./inset/Inset"));
356
+
357
+ var _QuickNav = _interopRequireDefault(require("./quick-nav/QuickNav"));
358
+
359
+ var _NavTabs = _interopRequireDefault(require("./nav-tabs/NavTabs"));
360
+
361
+ var _Flex = _interopRequireDefault(require("./flex/Flex"));
362
+
363
+ var _Typography = _interopRequireDefault(require("./typography/Typography"));
382
364
 
383
- var _Row = _interopRequireDefault(require("./row/Row"));
365
+ var _Paragraph = _interopRequireDefault(require("./paragraph/Paragraph"));
384
366
 
385
- var _Text = _interopRequireDefault(require("./text/Text"));
367
+ var _BulletedList = _interopRequireDefault(require("./bulleted-list/BulletedList"));
386
368
 
387
- var _List = _interopRequireDefault(require("./list/List"));
369
+ var _Grid = _interopRequireDefault(require("./grid/Grid"));
388
370
 
389
- var _ThemeContext = _interopRequireWildcard(require("./ThemeContext"));
371
+ var _HalstackContext = _interopRequireWildcard(require("./HalstackContext"));
390
372
 
391
373
  var _BackgroundColorContext = require("./BackgroundColorContext");
392
374
 
@@ -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
+ );