@dxc-technology/halstack-react 0.0.0-5aa300b → 0.0.0-5b32837

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 (292) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1231 -6
  4. package/HalstackContext.js +121 -105
  5. package/README.md +47 -0
  6. package/accordion/Accordion.d.ts +1 -1
  7. package/accordion/Accordion.js +30 -87
  8. package/accordion/Accordion.stories.tsx +52 -115
  9. package/accordion/Accordion.test.js +19 -34
  10. package/accordion/types.d.ts +5 -17
  11. package/accordion-group/AccordionGroup.d.ts +4 -3
  12. package/accordion-group/AccordionGroup.js +29 -77
  13. package/accordion-group/AccordionGroup.stories.tsx +78 -77
  14. package/accordion-group/AccordionGroup.test.js +44 -72
  15. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  16. package/accordion-group/AccordionGroupAccordion.js +31 -0
  17. package/accordion-group/types.d.ts +6 -18
  18. package/action-icon/ActionIcon.d.ts +4 -0
  19. package/action-icon/ActionIcon.js +47 -0
  20. package/action-icon/ActionIcon.stories.tsx +41 -0
  21. package/action-icon/ActionIcon.test.js +64 -0
  22. package/action-icon/types.d.ts +26 -0
  23. package/alert/Alert.js +19 -58
  24. package/alert/Alert.stories.tsx +28 -0
  25. package/alert/Alert.test.js +29 -46
  26. package/alert/types.d.ts +5 -5
  27. package/badge/Badge.d.ts +1 -1
  28. package/badge/Badge.js +141 -43
  29. package/badge/Badge.stories.tsx +210 -0
  30. package/badge/Badge.test.js +30 -0
  31. package/badge/types.d.ts +52 -3
  32. package/bleed/Bleed.js +13 -21
  33. package/bleed/Bleed.stories.tsx +1 -0
  34. package/bleed/types.d.ts +2 -2
  35. package/box/Box.d.ts +1 -1
  36. package/box/Box.js +18 -59
  37. package/box/Box.stories.tsx +38 -51
  38. package/box/Box.test.js +2 -7
  39. package/box/types.d.ts +3 -15
  40. package/bulleted-list/BulletedList.js +19 -53
  41. package/bulleted-list/BulletedList.stories.tsx +8 -93
  42. package/bulleted-list/types.d.ts +32 -5
  43. package/button/Button.d.ts +1 -1
  44. package/button/Button.js +68 -102
  45. package/button/Button.stories.tsx +104 -94
  46. package/button/Button.test.js +20 -17
  47. package/button/types.d.ts +8 -4
  48. package/card/Card.d.ts +1 -1
  49. package/card/Card.js +48 -89
  50. package/card/Card.stories.tsx +12 -42
  51. package/card/Card.test.js +11 -22
  52. package/card/types.d.ts +6 -12
  53. package/checkbox/Checkbox.js +87 -122
  54. package/checkbox/Checkbox.stories.tsx +68 -54
  55. package/checkbox/Checkbox.test.js +108 -64
  56. package/checkbox/types.d.ts +8 -4
  57. package/chip/Chip.js +36 -64
  58. package/chip/Chip.stories.tsx +80 -17
  59. package/chip/Chip.test.js +16 -31
  60. package/chip/types.d.ts +4 -4
  61. package/common/OpenSans.css +68 -80
  62. package/common/coreTokens.d.ts +237 -0
  63. package/common/coreTokens.js +184 -0
  64. package/common/utils.d.ts +1 -0
  65. package/common/utils.js +6 -12
  66. package/common/variables.d.ts +1383 -0
  67. package/common/variables.js +886 -1143
  68. package/container/Container.d.ts +4 -0
  69. package/container/Container.js +194 -0
  70. package/container/Container.stories.tsx +214 -0
  71. package/container/types.d.ts +74 -0
  72. package/date-input/Calendar.d.ts +1 -1
  73. package/date-input/Calendar.js +52 -96
  74. package/date-input/DateInput.js +103 -107
  75. package/date-input/DateInput.stories.tsx +194 -60
  76. package/date-input/DateInput.test.js +676 -620
  77. package/date-input/DatePicker.js +47 -92
  78. package/date-input/Icons.d.ts +6 -0
  79. package/date-input/Icons.js +58 -0
  80. package/date-input/YearPicker.d.ts +1 -1
  81. package/date-input/YearPicker.js +29 -44
  82. package/date-input/types.d.ts +31 -27
  83. package/dialog/Dialog.d.ts +1 -1
  84. package/dialog/Dialog.js +61 -119
  85. package/dialog/Dialog.stories.tsx +310 -212
  86. package/dialog/Dialog.test.js +269 -32
  87. package/dialog/types.d.ts +18 -26
  88. package/dropdown/Dropdown.js +50 -103
  89. package/dropdown/Dropdown.stories.tsx +200 -82
  90. package/dropdown/Dropdown.test.js +393 -379
  91. package/dropdown/DropdownMenu.js +20 -37
  92. package/dropdown/DropdownMenuItem.js +9 -34
  93. package/dropdown/types.d.ts +17 -19
  94. package/file-input/FileInput.js +184 -256
  95. package/file-input/FileInput.stories.tsx +86 -3
  96. package/file-input/FileInput.test.js +356 -395
  97. package/file-input/FileItem.js +15 -41
  98. package/file-input/types.d.ts +10 -10
  99. package/flex/Flex.js +27 -39
  100. package/flex/Flex.stories.tsx +35 -26
  101. package/flex/types.d.ts +74 -9
  102. package/footer/Footer.d.ts +1 -1
  103. package/footer/Footer.js +70 -117
  104. package/footer/Footer.stories.tsx +55 -21
  105. package/footer/Footer.test.js +33 -57
  106. package/footer/Icons.d.ts +3 -2
  107. package/footer/Icons.js +66 -7
  108. package/footer/types.d.ts +25 -27
  109. package/grid/Grid.d.ts +7 -0
  110. package/grid/Grid.js +76 -0
  111. package/grid/Grid.stories.tsx +219 -0
  112. package/grid/types.d.ts +115 -0
  113. package/header/Header.d.ts +4 -3
  114. package/header/Header.js +48 -133
  115. package/header/Header.stories.tsx +115 -36
  116. package/header/Header.test.js +13 -26
  117. package/header/Icons.d.ts +2 -2
  118. package/header/Icons.js +2 -7
  119. package/header/types.d.ts +5 -20
  120. package/heading/Heading.js +10 -32
  121. package/heading/Heading.test.js +71 -88
  122. package/heading/types.d.ts +7 -7
  123. package/image/Image.d.ts +4 -0
  124. package/image/Image.js +70 -0
  125. package/image/Image.stories.tsx +127 -0
  126. package/image/types.d.ts +72 -0
  127. package/image/types.js +5 -0
  128. package/inset/Inset.js +13 -21
  129. package/inset/Inset.stories.tsx +2 -1
  130. package/inset/types.d.ts +2 -2
  131. package/layout/ApplicationLayout.d.ts +5 -5
  132. package/layout/ApplicationLayout.js +29 -66
  133. package/layout/ApplicationLayout.stories.tsx +1 -1
  134. package/layout/Icons.d.ts +8 -5
  135. package/layout/Icons.js +51 -59
  136. package/layout/SidenavContext.d.ts +1 -1
  137. package/layout/SidenavContext.js +3 -9
  138. package/layout/types.d.ts +5 -6
  139. package/link/Link.js +24 -45
  140. package/link/Link.stories.tsx +60 -0
  141. package/link/Link.test.js +24 -44
  142. package/link/types.d.ts +14 -14
  143. package/main.d.ts +8 -5
  144. package/main.js +33 -59
  145. package/{tabs-nav → nav-tabs}/NavTabs.d.ts +2 -2
  146. package/{tabs-nav → nav-tabs}/NavTabs.js +23 -55
  147. package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +109 -5
  148. package/{tabs-nav → nav-tabs}/NavTabs.test.js +39 -45
  149. package/nav-tabs/Tab.js +118 -0
  150. package/{tabs-nav → nav-tabs}/types.d.ts +14 -15
  151. package/nav-tabs/types.js +5 -0
  152. package/number-input/NumberInput.d.ts +7 -0
  153. package/number-input/NumberInput.js +26 -35
  154. package/number-input/NumberInput.stories.tsx +42 -26
  155. package/number-input/NumberInput.test.js +701 -413
  156. package/number-input/types.d.ts +11 -5
  157. package/package.json +31 -29
  158. package/paginator/Icons.d.ts +5 -5
  159. package/paginator/Icons.js +5 -19
  160. package/paginator/Paginator.js +17 -47
  161. package/paginator/Paginator.stories.tsx +24 -0
  162. package/paginator/Paginator.test.js +252 -225
  163. package/paginator/types.d.ts +3 -3
  164. package/paragraph/Paragraph.d.ts +3 -4
  165. package/paragraph/Paragraph.js +6 -22
  166. package/paragraph/Paragraph.stories.tsx +0 -17
  167. package/password-input/Icons.d.ts +6 -0
  168. package/password-input/Icons.js +35 -0
  169. package/password-input/PasswordInput.js +57 -126
  170. package/password-input/PasswordInput.stories.tsx +1 -33
  171. package/password-input/PasswordInput.test.js +158 -141
  172. package/password-input/types.d.ts +8 -7
  173. package/progress-bar/ProgressBar.d.ts +2 -2
  174. package/progress-bar/ProgressBar.js +23 -55
  175. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +36 -3
  176. package/progress-bar/ProgressBar.test.js +36 -53
  177. package/progress-bar/types.d.ts +4 -3
  178. package/quick-nav/QuickNav.js +4 -27
  179. package/quick-nav/QuickNav.stories.tsx +15 -1
  180. package/quick-nav/types.d.ts +10 -10
  181. package/radio-group/Radio.d.ts +1 -1
  182. package/radio-group/Radio.js +31 -63
  183. package/radio-group/RadioGroup.js +45 -93
  184. package/radio-group/RadioGroup.stories.tsx +131 -18
  185. package/radio-group/RadioGroup.test.js +505 -471
  186. package/radio-group/types.d.ts +8 -8
  187. package/resultset-table/Icons.d.ts +7 -0
  188. package/{resultsetTable → resultset-table}/Icons.js +1 -5
  189. package/resultset-table/ResultsetTable.d.ts +7 -0
  190. package/{resultsetTable → resultset-table}/ResultsetTable.js +38 -66
  191. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +86 -5
  192. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +155 -114
  193. package/{resultsetTable → resultset-table}/types.d.ts +13 -7
  194. package/resultset-table/types.js +5 -0
  195. package/select/Icons.d.ts +7 -7
  196. package/select/Icons.js +1 -5
  197. package/select/Listbox.d.ts +1 -1
  198. package/select/Listbox.js +17 -72
  199. package/select/Option.js +19 -40
  200. package/select/Select.js +120 -175
  201. package/select/Select.stories.tsx +478 -190
  202. package/select/Select.test.js +1974 -1837
  203. package/select/types.d.ts +16 -17
  204. package/sidenav/Icons.d.ts +7 -0
  205. package/sidenav/Icons.js +47 -0
  206. package/sidenav/Sidenav.d.ts +2 -2
  207. package/sidenav/Sidenav.js +81 -151
  208. package/sidenav/Sidenav.stories.tsx +110 -17
  209. package/sidenav/Sidenav.test.js +3 -10
  210. package/sidenav/types.d.ts +31 -28
  211. package/slider/Slider.js +70 -128
  212. package/slider/Slider.test.js +108 -104
  213. package/slider/types.d.ts +4 -4
  214. package/spinner/Spinner.js +29 -73
  215. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  216. package/spinner/Spinner.test.js +26 -35
  217. package/spinner/types.d.ts +3 -3
  218. package/status-light/StatusLight.d.ts +4 -0
  219. package/status-light/StatusLight.js +51 -0
  220. package/status-light/StatusLight.stories.tsx +74 -0
  221. package/status-light/StatusLight.test.js +25 -0
  222. package/status-light/types.d.ts +17 -0
  223. package/status-light/types.js +5 -0
  224. package/switch/Switch.js +51 -99
  225. package/switch/Switch.stories.tsx +33 -34
  226. package/switch/Switch.test.js +52 -97
  227. package/switch/types.d.ts +4 -4
  228. package/table/ActionsCell.d.ts +4 -0
  229. package/table/ActionsCell.js +54 -0
  230. package/table/DropdownTheme.js +57 -0
  231. package/table/Table.d.ts +4 -1
  232. package/table/Table.js +27 -32
  233. package/table/Table.stories.tsx +615 -0
  234. package/table/Table.test.js +94 -7
  235. package/table/types.d.ts +45 -6
  236. package/tabs/Tab.js +23 -40
  237. package/tabs/Tabs.js +62 -145
  238. package/tabs/Tabs.stories.tsx +39 -1
  239. package/tabs/Tabs.test.js +66 -123
  240. package/tabs/types.d.ts +19 -19
  241. package/tag/Tag.js +28 -60
  242. package/tag/Tag.stories.tsx +14 -1
  243. package/tag/Tag.test.js +20 -31
  244. package/tag/types.d.ts +7 -7
  245. package/text-input/Icons.d.ts +5 -5
  246. package/text-input/Icons.js +1 -5
  247. package/text-input/Suggestion.js +11 -28
  248. package/text-input/Suggestions.d.ts +1 -1
  249. package/text-input/Suggestions.js +15 -65
  250. package/text-input/TextInput.js +219 -320
  251. package/text-input/TextInput.stories.tsx +117 -152
  252. package/text-input/TextInput.test.js +1211 -1196
  253. package/text-input/types.d.ts +25 -17
  254. package/textarea/Textarea.js +70 -113
  255. package/textarea/Textarea.stories.tsx +174 -0
  256. package/textarea/Textarea.test.js +152 -183
  257. package/textarea/types.d.ts +9 -5
  258. package/toggle-group/ToggleGroup.d.ts +2 -2
  259. package/toggle-group/ToggleGroup.js +92 -106
  260. package/toggle-group/ToggleGroup.stories.tsx +49 -4
  261. package/toggle-group/ToggleGroup.test.js +69 -88
  262. package/toggle-group/types.d.ts +26 -17
  263. package/typography/Typography.d.ts +2 -2
  264. package/typography/Typography.js +15 -123
  265. package/typography/Typography.stories.tsx +1 -1
  266. package/typography/types.d.ts +1 -1
  267. package/useTheme.d.ts +1135 -1
  268. package/useTheme.js +2 -9
  269. package/useTranslatedLabels.d.ts +84 -1
  270. package/useTranslatedLabels.js +1 -7
  271. package/utils/BaseTypography.d.ts +21 -0
  272. package/utils/BaseTypography.js +94 -0
  273. package/utils/FocusLock.d.ts +13 -0
  274. package/utils/FocusLock.js +124 -0
  275. package/wizard/Wizard.js +16 -51
  276. package/wizard/Wizard.stories.tsx +20 -0
  277. package/wizard/Wizard.test.js +54 -81
  278. package/wizard/types.d.ts +8 -9
  279. package/card/ice-cream.jpg +0 -0
  280. package/number-input/NumberInputContext.d.ts +0 -4
  281. package/number-input/NumberInputContext.js +0 -19
  282. package/number-input/numberInputContextTypes.d.ts +0 -19
  283. package/resultsetTable/Icons.d.ts +0 -7
  284. package/resultsetTable/ResultsetTable.d.ts +0 -4
  285. package/slider/Slider.stories.tsx +0 -183
  286. package/table/Table.stories.jsx +0 -277
  287. package/tabs-nav/Tab.js +0 -128
  288. package/textarea/Textarea.stories.jsx +0 -157
  289. /package/{resultsetTable → action-icon}/types.js +0 -0
  290. /package/{tabs-nav → container}/types.js +0 -0
  291. /package/{number-input/numberInputContextTypes.js → grid/types.js} +0 -0
  292. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
package/main.js CHANGED
@@ -1,18 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
- Object.defineProperty(exports, "BackgroundColorProvider", {
11
- enumerable: true,
12
- get: function get() {
13
- return _BackgroundColorContext.BackgroundColorProvider;
14
- }
15
- });
16
8
  Object.defineProperty(exports, "DxcAccordion", {
17
9
  enumerable: true,
18
10
  get: function get() {
@@ -85,6 +77,12 @@ Object.defineProperty(exports, "DxcChip", {
85
77
  return _Chip["default"];
86
78
  }
87
79
  });
80
+ Object.defineProperty(exports, "DxcContainer", {
81
+ enumerable: true,
82
+ get: function get() {
83
+ return _Container["default"];
84
+ }
85
+ });
88
86
  Object.defineProperty(exports, "DxcDateInput", {
89
87
  enumerable: true,
90
88
  get: function get() {
@@ -115,12 +113,24 @@ Object.defineProperty(exports, "DxcFlex", {
115
113
  return _Flex["default"];
116
114
  }
117
115
  });
116
+ Object.defineProperty(exports, "DxcGrid", {
117
+ enumerable: true,
118
+ get: function get() {
119
+ return _Grid["default"];
120
+ }
121
+ });
118
122
  Object.defineProperty(exports, "DxcHeading", {
119
123
  enumerable: true,
120
124
  get: function get() {
121
125
  return _Heading["default"];
122
126
  }
123
127
  });
128
+ Object.defineProperty(exports, "DxcImage", {
129
+ enumerable: true,
130
+ get: function get() {
131
+ return _Image["default"];
132
+ }
133
+ });
124
134
  Object.defineProperty(exports, "DxcInset", {
125
135
  enumerable: true,
126
136
  get: function get() {
@@ -205,6 +215,12 @@ Object.defineProperty(exports, "DxcSpinner", {
205
215
  return _Spinner["default"];
206
216
  }
207
217
  });
218
+ Object.defineProperty(exports, "DxcStatusLight", {
219
+ enumerable: true,
220
+ get: function get() {
221
+ return _StatusLight["default"];
222
+ }
223
+ });
208
224
  Object.defineProperty(exports, "DxcSwitch", {
209
225
  enumerable: true,
210
226
  get: function get() {
@@ -277,93 +293,51 @@ Object.defineProperty(exports, "HalstackProvider", {
277
293
  return _HalstackContext.HalstackProvider;
278
294
  }
279
295
  });
280
-
281
296
  var _Alert = _interopRequireDefault(require("./alert/Alert"));
282
-
283
297
  var _Accordion = _interopRequireDefault(require("./accordion/Accordion"));
284
-
285
298
  var _Button = _interopRequireDefault(require("./button/Button"));
286
-
287
299
  var _Card = _interopRequireDefault(require("./card/Card"));
288
-
289
300
  var _Checkbox = _interopRequireDefault(require("./checkbox/Checkbox"));
290
-
291
301
  var _Dialog = _interopRequireDefault(require("./dialog/Dialog"));
292
-
293
302
  var _Dropdown = _interopRequireDefault(require("./dropdown/Dropdown"));
294
-
295
303
  var _Slider = _interopRequireDefault(require("./slider/Slider"));
296
-
297
304
  var _Switch = _interopRequireDefault(require("./switch/Switch"));
298
-
299
305
  var _Tabs = _interopRequireDefault(require("./tabs/Tabs"));
300
-
301
306
  var _ProgressBar = _interopRequireDefault(require("./progress-bar/ProgressBar"));
302
-
303
307
  var _Spinner = _interopRequireDefault(require("./spinner/Spinner"));
304
-
305
308
  var _Table = _interopRequireDefault(require("./table/Table"));
306
-
307
309
  var _Box = _interopRequireDefault(require("./box/Box"));
308
-
309
310
  var _Tag = _interopRequireDefault(require("./tag/Tag"));
310
-
311
311
  var _Paginator = _interopRequireDefault(require("./paginator/Paginator"));
312
-
313
312
  var _Wizard = _interopRequireDefault(require("./wizard/Wizard"));
314
-
315
313
  var _Link = _interopRequireDefault(require("./link/Link"));
316
-
317
314
  var _Heading = _interopRequireDefault(require("./heading/Heading"));
318
-
319
- var _ResultsetTable = _interopRequireDefault(require("./resultsetTable/ResultsetTable"));
320
-
315
+ var _ResultsetTable = _interopRequireDefault(require("./resultset-table/ResultsetTable"));
321
316
  var _Chip = _interopRequireDefault(require("./chip/Chip"));
322
-
323
317
  var _ApplicationLayout = _interopRequireDefault(require("./layout/ApplicationLayout"));
324
-
325
318
  var _ToggleGroup = _interopRequireDefault(require("./toggle-group/ToggleGroup"));
326
-
327
319
  var _AccordionGroup = _interopRequireDefault(require("./accordion-group/AccordionGroup"));
328
-
329
- var _Badge = _interopRequireDefault(require("./badge/Badge"));
330
-
331
320
  var _TextInput = _interopRequireDefault(require("./text-input/TextInput"));
332
-
333
321
  var _PasswordInput = _interopRequireDefault(require("./password-input/PasswordInput"));
334
-
335
322
  var _DateInput = _interopRequireDefault(require("./date-input/DateInput"));
336
-
337
323
  var _NumberInput = _interopRequireDefault(require("./number-input/NumberInput"));
338
-
339
324
  var _Textarea = _interopRequireDefault(require("./textarea/Textarea"));
340
-
341
325
  var _Select = _interopRequireDefault(require("./select/Select"));
342
-
343
326
  var _FileInput = _interopRequireDefault(require("./file-input/FileInput"));
344
-
345
327
  var _RadioGroup = _interopRequireDefault(require("./radio-group/RadioGroup"));
346
-
347
328
  var _Bleed = _interopRequireDefault(require("./bleed/Bleed"));
348
-
349
329
  var _Inset = _interopRequireDefault(require("./inset/Inset"));
350
-
351
330
  var _QuickNav = _interopRequireDefault(require("./quick-nav/QuickNav"));
352
-
353
- var _NavTabs = _interopRequireDefault(require("./tabs-nav/NavTabs"));
354
-
331
+ var _NavTabs = _interopRequireDefault(require("./nav-tabs/NavTabs"));
355
332
  var _Flex = _interopRequireDefault(require("./flex/Flex"));
356
-
357
333
  var _Typography = _interopRequireDefault(require("./typography/Typography"));
358
-
359
334
  var _Paragraph = _interopRequireDefault(require("./paragraph/Paragraph"));
360
-
361
335
  var _BulletedList = _interopRequireDefault(require("./bulleted-list/BulletedList"));
362
-
336
+ var _Grid = _interopRequireDefault(require("./grid/Grid"));
337
+ var _Image = _interopRequireDefault(require("./image/Image"));
338
+ var _Container = _interopRequireDefault(require("./container/Container"));
339
+ var _Badge = _interopRequireDefault(require("./badge/Badge"));
340
+ var _StatusLight = _interopRequireDefault(require("./status-light/StatusLight"));
363
341
  var _HalstackContext = _interopRequireWildcard(require("./HalstackContext"));
364
-
365
- var _BackgroundColorContext = require("./BackgroundColorContext");
366
-
367
- 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); }
368
-
369
- 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; }
342
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
343
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
@@ -1,8 +1,8 @@
1
1
  import React from "react";
2
- import { NavTabsContextProps, NavTabsProps } from "./types";
2
+ import NavTabsPropsType, { NavTabsContextProps } from "./types";
3
3
  export declare const NavTabsContext: React.Context<NavTabsContextProps>;
4
4
  declare const DxcNavTabs: {
5
- ({ iconPosition, tabIndex, children }: NavTabsProps): JSX.Element;
5
+ ({ iconPosition, tabIndex, children }: NavTabsPropsType): JSX.Element;
6
6
  Tab: React.ForwardRefExoticComponent<import("./types").TabProps & React.RefAttributes<HTMLAnchorElement>>;
7
7
  };
8
8
  export default DxcNavTabs;
@@ -1,39 +1,24 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = exports.NavTabsContext = void 0;
11
-
12
9
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
-
14
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
-
16
11
  var _react = _interopRequireWildcard(require("react"));
17
-
18
12
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
19
-
20
13
  var _useTheme = _interopRequireDefault(require("../useTheme"));
21
-
22
14
  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
-
15
+ var _templateObject, _templateObject2;
16
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
17
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
18
+ var NavTabsContext = exports.NavTabsContext = /*#__PURE__*/(0, _react.createContext)(null);
33
19
  var getPropInChild = function getPropInChild(child, propName) {
34
20
  return child.props ? child.props[propName] ? child.props[propName] : child.props.children ? getPropInChild(child.props.children, propName) : undefined : undefined;
35
21
  };
36
-
37
22
  var getLabelFromTab = function getLabelFromTab(child) {
38
23
  if (typeof child === "string") {
39
24
  return child.toString();
@@ -41,85 +26,68 @@ var getLabelFromTab = function getLabelFromTab(child) {
41
26
  return Array.isArray(child.props.children) ? getLabelFromTab(child.props.children[0]) : getLabelFromTab(child.props.children);
42
27
  }
43
28
  };
44
-
45
29
  var getPreviousTabIndex = function getPreviousTabIndex(array, initialIndex) {
46
30
  var index = initialIndex === 0 ? array.length - 1 : initialIndex - 1;
47
-
48
31
  while (getPropInChild(array[index], "disabled")) {
49
32
  index = index === 0 ? array.length - 1 : index - 1;
50
33
  }
51
-
52
34
  return index;
53
35
  };
54
-
55
36
  var getNextTabIndex = function getNextTabIndex(array, initialIndex) {
56
37
  var index = initialIndex === array.length - 1 ? 0 : initialIndex + 1;
57
-
58
38
  while (getPropInChild(array[index], "disabled")) {
59
39
  index = index === array.length - 1 ? 0 : index + 1;
60
40
  }
61
-
62
41
  return index;
63
42
  };
64
-
65
43
  var DxcNavTabs = function DxcNavTabs(_ref) {
66
44
  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
-
45
+ iconPosition = _ref$iconPosition === void 0 ? "top" : _ref$iconPosition,
46
+ _ref$tabIndex = _ref.tabIndex,
47
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,
48
+ children = _ref.children;
73
49
  var _useState = (0, _react.useState)(null),
74
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
75
- innerFocus = _useState2[0],
76
- setInnerFocus = _useState2[1];
77
-
50
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
51
+ innerFocusIndex = _useState2[0],
52
+ setInnerFocusIndex = _useState2[1];
53
+ var colorsTheme = (0, _useTheme["default"])();
78
54
  var contextValue = (0, _react.useMemo)(function () {
79
55
  return {
80
56
  iconPosition: iconPosition,
81
57
  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])
58
+ focusedLabel: innerFocusIndex === null ? undefined : getLabelFromTab(children[innerFocusIndex])
86
59
  };
87
- }, [iconPosition, tabIndex, innerFocus]);
88
-
60
+ }, [iconPosition, tabIndex, innerFocusIndex]);
89
61
  var handleOnKeyDown = function handleOnKeyDown(event) {
90
62
  var activeTab = _react["default"].Children.toArray(children).findIndex(function (child) {
91
63
  return getPropInChild(child, "active");
92
64
  });
93
-
94
65
  switch (event.key) {
95
66
  case "Left":
96
67
  case "ArrowLeft":
97
68
  event.preventDefault();
98
- setInnerFocus(getPreviousTabIndex(children, innerFocus === null ? activeTab : innerFocus));
69
+ setInnerFocusIndex(getPreviousTabIndex(children, innerFocusIndex === null ? activeTab : innerFocusIndex));
99
70
  break;
100
-
101
71
  case "Right":
102
72
  case "ArrowRight":
103
73
  event.preventDefault();
104
- setInnerFocus(getNextTabIndex(children, innerFocus === null ? activeTab : innerFocus));
74
+ setInnerFocusIndex(getNextTabIndex(children, innerFocusIndex === null ? activeTab : innerFocusIndex));
105
75
  break;
106
76
  }
107
77
  };
108
-
109
78
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
110
- theme: colorsTheme.tabs
79
+ theme: colorsTheme.navTabs
111
80
  }, /*#__PURE__*/_react["default"].createElement(NavTabsContainer, {
112
81
  onKeyDown: handleOnKeyDown,
113
82
  role: "tablist",
114
83
  "aria-label": "Navigation tabs"
115
84
  }, /*#__PURE__*/_react["default"].createElement(NavTabsContext.Provider, {
116
85
  value: contextValue
117
- }, children)));
86
+ }, children), /*#__PURE__*/_react["default"].createElement(Underline, null)));
118
87
  };
119
-
88
+ var Underline = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 2px;\n background-color: ", ";\n"])), function (props) {
89
+ return props.theme.dividerColor;
90
+ });
120
91
  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;
92
+ var NavTabsContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n position: relative;\n"])));
93
+ var _default = exports["default"] = DxcNavTabs;
@@ -2,9 +2,10 @@ import React from "react";
2
2
  import DxcNavTabs from "./NavTabs";
3
3
  import Title from "../../.storybook/components/Title";
4
4
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
+ import { HalstackProvider } from "../HalstackContext";
5
6
 
6
7
  export default {
7
- title: "NavTabs",
8
+ title: "Nav Tabs",
8
9
  component: DxcNavTabs,
9
10
  };
10
11
 
@@ -15,7 +16,14 @@ const iconSVG = (
15
16
  </svg>
16
17
  );
17
18
 
18
- const largeIcon = "https://www.iconpacks.net/icons/1/free-pin-icon-48-thumb.png"
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
+ };
19
27
 
20
28
  export const Chromatic = () => (
21
29
  <>
@@ -83,7 +91,9 @@ export const Chromatic = () => (
83
91
  <DxcNavTabs.Tab href="#" notificationNumber={120}>
84
92
  Tab 3
85
93
  </DxcNavTabs.Tab>
86
- <DxcNavTabs.Tab href="#">Tab 4</DxcNavTabs.Tab>
94
+ <DxcNavTabs.Tab href="#" notificationNumber={12}>
95
+ Tab 4
96
+ </DxcNavTabs.Tab>
87
97
  </DxcNavTabs>
88
98
  </ExampleContainer>
89
99
  <ExampleContainer>
@@ -132,7 +142,7 @@ export const Chromatic = () => (
132
142
  <DxcNavTabs.Tab href="#" icon={iconSVG} notificationNumber={120}>
133
143
  Tab 3
134
144
  </DxcNavTabs.Tab>
135
- <DxcNavTabs.Tab href="#" icon={largeIcon}>
145
+ <DxcNavTabs.Tab href="#" icon={largeIcon} notificationNumber={12}>
136
146
  Tab 4
137
147
  </DxcNavTabs.Tab>
138
148
  </DxcNavTabs>
@@ -149,7 +159,7 @@ export const Chromatic = () => (
149
159
  <DxcNavTabs.Tab href="#" icon={largeIcon} notificationNumber={120}>
150
160
  Tab 3
151
161
  </DxcNavTabs.Tab>
152
- <DxcNavTabs.Tab href="#" icon={iconSVG}>
162
+ <DxcNavTabs.Tab href="#" icon={iconSVG} notificationNumber={12}>
153
163
  Tab 4
154
164
  </DxcNavTabs.Tab>
155
165
  </DxcNavTabs>
@@ -168,5 +178,99 @@ export const Chromatic = () => (
168
178
  </DxcNavTabs.Tab>
169
179
  </DxcNavTabs>
170
180
  </ExampleContainer>
181
+ <ExampleContainer>
182
+ <Title title="With long label and left icon alignment" theme="light" level={4} />
183
+ <DxcNavTabs iconPosition="left">
184
+ <DxcNavTabs.Tab href="#" active>
185
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit
186
+ </DxcNavTabs.Tab>
187
+ <DxcNavTabs.Tab href="#" icon={iconSVG} disabled notificationNumber={3}>
188
+ Tab 2
189
+ </DxcNavTabs.Tab>
190
+ <DxcNavTabs.Tab href="#" icon={iconSVG}>
191
+ Tab 3
192
+ </DxcNavTabs.Tab>
193
+ </DxcNavTabs>
194
+ </ExampleContainer>
195
+ <Title title="Opinionated theme" theme="light" level={2} />
196
+ <ExampleContainer>
197
+ <Title title="Only label" theme="light" level={4} />
198
+ <HalstackProvider theme={opinionatedTheme}>
199
+ <DxcNavTabs>
200
+ <DxcNavTabs.Tab href="#" active>
201
+ Tab 1
202
+ </DxcNavTabs.Tab>
203
+ <DxcNavTabs.Tab href="#" disabled>
204
+ Tab 2
205
+ </DxcNavTabs.Tab>
206
+ <DxcNavTabs.Tab href="#">Tab 3</DxcNavTabs.Tab>
207
+ <DxcNavTabs.Tab href="#">Tab 4</DxcNavTabs.Tab>
208
+ </DxcNavTabs>
209
+ </HalstackProvider>
210
+ </ExampleContainer>
211
+ <ExampleContainer pseudoState="pseudo-hover">
212
+ <Title title="Hovered tabs" theme="light" level={4} />
213
+ <HalstackProvider theme={opinionatedTheme}>
214
+ <DxcNavTabs>
215
+ <DxcNavTabs.Tab href="#" active>
216
+ Tab 1
217
+ </DxcNavTabs.Tab>
218
+ <DxcNavTabs.Tab href="#" disabled>
219
+ Tab 2
220
+ </DxcNavTabs.Tab>
221
+ <DxcNavTabs.Tab href="#">Tab 3</DxcNavTabs.Tab>
222
+ <DxcNavTabs.Tab href="#">Tab 4</DxcNavTabs.Tab>
223
+ </DxcNavTabs>
224
+ </HalstackProvider>
225
+ </ExampleContainer>
226
+ <ExampleContainer pseudoState="pseudo-focus">
227
+ <Title title="Focused tabs" theme="light" level={4} />
228
+ <HalstackProvider theme={opinionatedTheme}>
229
+ <DxcNavTabs>
230
+ <DxcNavTabs.Tab href="#" active>
231
+ Tab 1
232
+ </DxcNavTabs.Tab>
233
+ <DxcNavTabs.Tab href="#" disabled>
234
+ Tab 2
235
+ </DxcNavTabs.Tab>
236
+ <DxcNavTabs.Tab href="#">Tab 3</DxcNavTabs.Tab>
237
+ <DxcNavTabs.Tab href="#">Tab 4</DxcNavTabs.Tab>
238
+ </DxcNavTabs>
239
+ </HalstackProvider>
240
+ </ExampleContainer>
241
+ <ExampleContainer pseudoState="pseudo-active">
242
+ <Title title="Actived tabs" theme="light" level={4} />
243
+ <HalstackProvider theme={opinionatedTheme}>
244
+ <DxcNavTabs>
245
+ <DxcNavTabs.Tab href="#" active>
246
+ Tab 1
247
+ </DxcNavTabs.Tab>
248
+ <DxcNavTabs.Tab href="#" disabled>
249
+ Tab 2
250
+ </DxcNavTabs.Tab>
251
+ <DxcNavTabs.Tab href="#">Tab 3</DxcNavTabs.Tab>
252
+ <DxcNavTabs.Tab href="#">Tab 4</DxcNavTabs.Tab>
253
+ </DxcNavTabs>
254
+ </HalstackProvider>
255
+ </ExampleContainer>
256
+ <ExampleContainer>
257
+ <Title title="With icon and notification number" theme="light" level={4} />
258
+ <HalstackProvider theme={opinionatedTheme}>
259
+ <DxcNavTabs>
260
+ <DxcNavTabs.Tab href="#" active icon={iconSVG} notificationNumber>
261
+ Tab 1
262
+ </DxcNavTabs.Tab>
263
+ <DxcNavTabs.Tab href="#" disabled icon={iconSVG} notificationNumber={5}>
264
+ Tab 2
265
+ </DxcNavTabs.Tab>
266
+ <DxcNavTabs.Tab href="#" icon={iconSVG} notificationNumber={120}>
267
+ Tab 3
268
+ </DxcNavTabs.Tab>
269
+ <DxcNavTabs.Tab href="#" icon={iconSVG} notificationNumber={12}>
270
+ Tab 4
271
+ </DxcNavTabs.Tab>
272
+ </DxcNavTabs>
273
+ </HalstackProvider>
274
+ </ExampleContainer>
171
275
  </>
172
276
  );
@@ -1,28 +1,23 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _react = _interopRequireDefault(require("react"));
6
-
7
5
  var _react2 = require("@testing-library/react");
8
-
9
- var _NavTabs = _interopRequireDefault(require("./NavTabs"));
10
-
6
+ var _NavTabs = _interopRequireDefault(require("./NavTabs.tsx"));
11
7
  describe("Tabs component tests", function () {
12
8
  test("Tabs render with correct labels and attributes", function () {
13
9
  var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NavTabs["default"], null, /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
14
- href: "/test1",
15
- active: true
16
- }, "Tab 1"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
17
- href: "/test2",
18
- disabled: true
19
- }, "Tab 2"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
20
- href: "/test3"
21
- }, "Tab 3"))),
22
- getByText = _render.getByText,
23
- getAllByRole = _render.getAllByRole,
24
- getByRole = _render.getByRole;
25
-
10
+ href: "/test1",
11
+ active: true
12
+ }, "Tab 1"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
13
+ href: "/test2",
14
+ disabled: true
15
+ }, "Tab 2"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
16
+ href: "/test3"
17
+ }, "Tab 3"))),
18
+ getByText = _render.getByText,
19
+ getAllByRole = _render.getAllByRole,
20
+ getByRole = _render.getByRole;
26
21
  expect(getByRole("tablist")).toBeTruthy();
27
22
  expect(getByRole("tablist").getAttribute("aria-label")).toBe("Navigation tabs");
28
23
  expect(getByText("Tab 1")).toBeTruthy();
@@ -41,40 +36,39 @@ describe("Tabs component tests", function () {
41
36
  });
42
37
  test("Tabs render with correct labels, badges and icons", function () {
43
38
  var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NavTabs["default"], null, /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
44
- href: "/test1",
45
- active: true,
46
- notificationNumber: 10
47
- }, "Tab 1"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
48
- href: "/test2",
49
- disabled: true,
50
- notificationNumber: 20
51
- }, "Tab 2"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
52
- href: "/test3",
53
- notificationNumber: 1000,
54
- icon: "/testIcon.png"
55
- }, "Tab 3"))),
56
- getByText = _render2.getByText,
57
- getByRole = _render2.getByRole;
58
-
39
+ href: "/test1",
40
+ active: true,
41
+ notificationNumber: 10
42
+ }, "Tab 1"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
43
+ href: "/test2",
44
+ disabled: true,
45
+ notificationNumber: 20
46
+ }, "Tab 2"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
47
+ href: "/test3",
48
+ notificationNumber: 1000,
49
+ icon: "/testIcon.png"
50
+ }, "Tab 3"))),
51
+ getByText = _render2.getByText,
52
+ getByRole = _render2.getByRole,
53
+ queryByText = _render2.queryByText;
59
54
  expect(getByText("10")).toBeTruthy();
60
- expect(getByText("20")).toBeTruthy();
55
+ expect(queryByText("20")).toBeFalsy();
61
56
  expect(getByText("+99")).toBeTruthy();
62
57
  expect(getByRole("img")).toBeTruthy();
63
58
  });
64
59
  test("Tabs render with correct tab index", function () {
65
60
  var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NavTabs["default"], {
66
- tabIndex: 3
67
- }, /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
68
- href: "/test1"
69
- }, "Tab 1"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
70
- href: "/test2",
71
- disabled: true
72
- }, "Tab 2"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
73
- href: "/test3",
74
- active: true
75
- }, "Tab 3"))),
76
- getAllByRole = _render3.getAllByRole;
77
-
61
+ tabIndex: 3
62
+ }, /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
63
+ href: "/test1"
64
+ }, "Tab 1"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
65
+ href: "/test2",
66
+ disabled: true
67
+ }, "Tab 2"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
68
+ href: "/test3",
69
+ active: true
70
+ }, "Tab 3"))),
71
+ getAllByRole = _render3.getAllByRole;
78
72
  var tabs = getAllByRole("link");
79
73
  expect(tabs[0].getAttribute("tabindex")).toBe("-1");
80
74
  expect(tabs[1].getAttribute("tabindex")).toBe("3");