@dxc-technology/halstack-react 0.0.0-4d89cae → 0.0.0-4dc980c

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 (372) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +7 -6
  3. package/HalstackContext.d.ts +12 -0
  4. package/HalstackContext.js +294 -0
  5. package/accordion/Accordion.d.ts +4 -0
  6. package/accordion/Accordion.js +129 -237
  7. package/accordion/Accordion.stories.tsx +306 -0
  8. package/accordion/Accordion.test.js +71 -0
  9. package/accordion/types.d.ts +69 -0
  10. package/accordion/types.js +5 -0
  11. package/accordion-group/AccordionGroup.d.ts +7 -0
  12. package/accordion-group/AccordionGroup.js +68 -105
  13. package/accordion-group/AccordionGroup.stories.tsx +251 -0
  14. package/accordion-group/AccordionGroup.test.js +126 -0
  15. package/accordion-group/types.d.ts +79 -0
  16. package/accordion-group/types.js +5 -0
  17. package/alert/Alert.d.ts +4 -0
  18. package/alert/Alert.js +44 -154
  19. package/alert/Alert.stories.tsx +170 -0
  20. package/alert/Alert.test.js +92 -0
  21. package/alert/types.d.ts +49 -0
  22. package/alert/types.js +5 -0
  23. package/badge/Badge.d.ts +4 -0
  24. package/badge/Badge.js +15 -17
  25. package/badge/types.d.ts +5 -0
  26. package/badge/types.js +5 -0
  27. package/bleed/Bleed.d.ts +3 -0
  28. package/bleed/Bleed.js +51 -0
  29. package/bleed/Bleed.stories.tsx +341 -0
  30. package/bleed/types.d.ts +37 -0
  31. package/bleed/types.js +5 -0
  32. package/box/Box.d.ts +4 -0
  33. package/box/Box.js +37 -77
  34. package/box/Box.stories.tsx +132 -0
  35. package/box/Box.test.js +18 -0
  36. package/box/types.d.ts +44 -0
  37. package/box/types.js +5 -0
  38. package/bulleted-list/BulletedList.d.ts +7 -0
  39. package/bulleted-list/BulletedList.js +123 -0
  40. package/bulleted-list/BulletedList.stories.tsx +200 -0
  41. package/bulleted-list/types.d.ts +11 -0
  42. package/bulleted-list/types.js +5 -0
  43. package/button/Button.d.ts +4 -0
  44. package/button/Button.js +63 -145
  45. package/button/Button.stories.tsx +283 -0
  46. package/button/Button.test.js +35 -0
  47. package/button/types.d.ts +53 -0
  48. package/button/types.js +5 -0
  49. package/card/Card.d.ts +4 -0
  50. package/card/Card.js +44 -137
  51. package/card/Card.stories.tsx +201 -0
  52. package/card/Card.test.js +50 -0
  53. package/card/ice-cream.jpg +0 -0
  54. package/card/types.d.ts +68 -0
  55. package/card/types.js +5 -0
  56. package/checkbox/Checkbox.d.ts +4 -0
  57. package/checkbox/Checkbox.js +110 -159
  58. package/checkbox/Checkbox.stories.tsx +208 -0
  59. package/checkbox/Checkbox.test.js +155 -0
  60. package/checkbox/types.d.ts +68 -0
  61. package/checkbox/types.js +5 -0
  62. package/chip/Chip.d.ts +4 -0
  63. package/chip/Chip.js +26 -130
  64. package/chip/Chip.stories.tsx +119 -0
  65. package/chip/Chip.test.js +56 -0
  66. package/chip/types.d.ts +45 -0
  67. package/chip/types.js +5 -0
  68. package/common/variables.js +327 -382
  69. package/date-input/Calendar.d.ts +4 -0
  70. package/date-input/Calendar.js +258 -0
  71. package/date-input/DateInput.d.ts +4 -0
  72. package/date-input/DateInput.js +130 -303
  73. package/date-input/DateInput.stories.tsx +151 -0
  74. package/date-input/DateInput.test.js +752 -0
  75. package/date-input/DatePicker.d.ts +4 -0
  76. package/date-input/DatePicker.js +160 -0
  77. package/date-input/YearPicker.d.ts +4 -0
  78. package/date-input/YearPicker.js +115 -0
  79. package/date-input/types.d.ts +160 -0
  80. package/date-input/types.js +5 -0
  81. package/dialog/Dialog.d.ts +4 -0
  82. package/dialog/Dialog.js +60 -116
  83. package/dialog/Dialog.stories.tsx +267 -0
  84. package/dialog/Dialog.test.js +70 -0
  85. package/dialog/types.d.ts +44 -0
  86. package/dialog/types.js +5 -0
  87. package/dropdown/Dropdown.d.ts +4 -0
  88. package/dropdown/Dropdown.js +243 -396
  89. package/dropdown/Dropdown.stories.tsx +312 -0
  90. package/dropdown/Dropdown.test.js +585 -0
  91. package/dropdown/DropdownMenu.d.ts +4 -0
  92. package/dropdown/DropdownMenu.js +80 -0
  93. package/dropdown/DropdownMenuItem.d.ts +4 -0
  94. package/dropdown/DropdownMenuItem.js +92 -0
  95. package/dropdown/types.d.ts +100 -0
  96. package/dropdown/types.js +5 -0
  97. package/file-input/FileInput.d.ts +4 -0
  98. package/file-input/FileInput.js +212 -305
  99. package/file-input/FileInput.stories.tsx +535 -0
  100. package/file-input/FileInput.test.js +498 -0
  101. package/file-input/FileItem.d.ts +4 -0
  102. package/file-input/FileItem.js +57 -183
  103. package/file-input/types.d.ts +129 -0
  104. package/file-input/types.js +5 -0
  105. package/flex/Flex.d.ts +4 -0
  106. package/flex/Flex.js +69 -0
  107. package/flex/Flex.stories.tsx +103 -0
  108. package/flex/types.d.ts +32 -0
  109. package/flex/types.js +5 -0
  110. package/footer/Footer.d.ts +4 -0
  111. package/footer/Footer.js +50 -286
  112. package/footer/Footer.stories.tsx +137 -0
  113. package/footer/Footer.test.js +109 -0
  114. package/footer/Icons.d.ts +2 -0
  115. package/footer/Icons.js +16 -16
  116. package/footer/types.d.ts +66 -0
  117. package/footer/types.js +5 -0
  118. package/header/Header.d.ts +7 -0
  119. package/header/Header.js +131 -296
  120. package/header/Header.stories.tsx +172 -0
  121. package/header/Header.test.js +79 -0
  122. package/header/Icons.d.ts +2 -0
  123. package/header/Icons.js +9 -34
  124. package/header/types.d.ts +48 -0
  125. package/header/types.js +5 -0
  126. package/heading/Heading.d.ts +4 -0
  127. package/heading/Heading.js +25 -96
  128. package/heading/Heading.stories.tsx +54 -0
  129. package/heading/Heading.test.js +186 -0
  130. package/heading/types.d.ts +33 -0
  131. package/heading/types.js +5 -0
  132. package/inset/Inset.d.ts +3 -0
  133. package/inset/Inset.js +51 -0
  134. package/inset/Inset.stories.tsx +229 -0
  135. package/inset/types.d.ts +37 -0
  136. package/inset/types.js +5 -0
  137. package/layout/ApplicationLayout.d.ts +20 -0
  138. package/layout/ApplicationLayout.js +76 -232
  139. package/layout/ApplicationLayout.stories.tsx +162 -0
  140. package/layout/Icons.d.ts +5 -0
  141. package/layout/Icons.js +19 -8
  142. package/layout/SidenavContext.d.ts +5 -0
  143. package/layout/SidenavContext.js +19 -0
  144. package/layout/types.d.ts +42 -0
  145. package/layout/types.js +5 -0
  146. package/link/Link.d.ts +4 -0
  147. package/link/Link.js +65 -166
  148. package/link/Link.stories.tsx +193 -0
  149. package/link/Link.test.js +83 -0
  150. package/link/types.d.ts +54 -0
  151. package/link/types.js +5 -0
  152. package/main.d.ts +44 -40
  153. package/main.js +114 -104
  154. package/number-input/NumberInput.d.ts +4 -0
  155. package/number-input/NumberInput.js +21 -81
  156. package/number-input/NumberInput.stories.tsx +115 -0
  157. package/number-input/NumberInput.test.js +542 -0
  158. package/number-input/NumberInputContext.d.ts +4 -0
  159. package/number-input/NumberInputContext.js +5 -2
  160. package/number-input/numberInputContextTypes.d.ts +19 -0
  161. package/number-input/numberInputContextTypes.js +5 -0
  162. package/number-input/types.d.ts +124 -0
  163. package/number-input/types.js +5 -0
  164. package/package.json +34 -32
  165. package/paginator/Icons.js +9 -9
  166. package/paginator/Paginator.d.ts +4 -0
  167. package/paginator/Paginator.js +32 -166
  168. package/paginator/Paginator.stories.tsx +63 -0
  169. package/paginator/Paginator.test.js +308 -0
  170. package/paginator/types.d.ts +38 -0
  171. package/paginator/types.js +5 -0
  172. package/paragraph/Paragraph.d.ts +6 -0
  173. package/paragraph/Paragraph.js +38 -0
  174. package/paragraph/Paragraph.stories.tsx +44 -0
  175. package/password-input/PasswordInput.d.ts +4 -0
  176. package/password-input/PasswordInput.js +40 -77
  177. package/password-input/PasswordInput.stories.tsx +131 -0
  178. package/password-input/PasswordInput.test.js +181 -0
  179. package/password-input/types.d.ts +110 -0
  180. package/password-input/types.js +5 -0
  181. package/progress-bar/ProgressBar.d.ts +4 -0
  182. package/progress-bar/ProgressBar.js +72 -138
  183. package/progress-bar/ProgressBar.stories.jsx +60 -0
  184. package/progress-bar/ProgressBar.test.js +110 -0
  185. package/progress-bar/types.d.ts +36 -0
  186. package/progress-bar/types.js +5 -0
  187. package/quick-nav/QuickNav.d.ts +4 -0
  188. package/quick-nav/QuickNav.js +117 -0
  189. package/quick-nav/QuickNav.stories.tsx +342 -0
  190. package/quick-nav/types.d.ts +21 -0
  191. package/quick-nav/types.js +5 -0
  192. package/radio-group/Radio.d.ts +4 -0
  193. package/radio-group/Radio.js +156 -0
  194. package/radio-group/RadioGroup.d.ts +4 -0
  195. package/radio-group/RadioGroup.js +283 -0
  196. package/radio-group/RadioGroup.stories.tsx +101 -0
  197. package/radio-group/RadioGroup.test.js +722 -0
  198. package/radio-group/types.d.ts +114 -0
  199. package/radio-group/types.js +5 -0
  200. package/resultsetTable/Icons.d.ts +7 -0
  201. package/resultsetTable/Icons.js +51 -0
  202. package/resultsetTable/ResultsetTable.d.ts +4 -0
  203. package/resultsetTable/ResultsetTable.js +60 -223
  204. package/resultsetTable/ResultsetTable.stories.tsx +300 -0
  205. package/resultsetTable/ResultsetTable.test.js +330 -0
  206. package/resultsetTable/types.d.ts +67 -0
  207. package/resultsetTable/types.js +5 -0
  208. package/select/Icons.d.ts +10 -0
  209. package/select/Icons.js +93 -0
  210. package/select/Listbox.d.ts +4 -0
  211. package/select/Listbox.js +198 -0
  212. package/select/Option.d.ts +4 -0
  213. package/select/Option.js +110 -0
  214. package/select/Select.d.ts +4 -0
  215. package/select/Select.js +231 -724
  216. package/select/Select.stories.tsx +624 -0
  217. package/select/Select.test.js +2233 -0
  218. package/select/types.d.ts +210 -0
  219. package/select/types.js +5 -0
  220. package/sidenav/Sidenav.d.ts +10 -0
  221. package/sidenav/Sidenav.js +194 -105
  222. package/sidenav/Sidenav.stories.tsx +180 -0
  223. package/sidenav/Sidenav.test.js +44 -0
  224. package/sidenav/types.d.ts +73 -0
  225. package/sidenav/types.js +5 -0
  226. package/slider/Slider.d.ts +4 -0
  227. package/slider/Slider.js +166 -227
  228. package/slider/Slider.stories.tsx +183 -0
  229. package/slider/Slider.test.js +250 -0
  230. package/slider/types.d.ts +86 -0
  231. package/slider/types.js +5 -0
  232. package/spinner/Spinner.d.ts +4 -0
  233. package/spinner/Spinner.js +46 -177
  234. package/spinner/Spinner.stories.jsx +103 -0
  235. package/spinner/Spinner.test.js +64 -0
  236. package/spinner/types.d.ts +32 -0
  237. package/spinner/types.js +5 -0
  238. package/switch/Switch.d.ts +4 -0
  239. package/switch/Switch.js +161 -121
  240. package/switch/Switch.stories.tsx +138 -0
  241. package/switch/Switch.test.js +225 -0
  242. package/switch/types.d.ts +66 -0
  243. package/switch/types.js +5 -0
  244. package/table/Table.d.ts +4 -0
  245. package/table/Table.js +12 -26
  246. package/table/Table.stories.jsx +277 -0
  247. package/table/Table.test.js +26 -0
  248. package/table/types.d.ts +21 -0
  249. package/table/types.js +5 -0
  250. package/tabs/Tab.d.ts +4 -0
  251. package/tabs/Tab.js +135 -0
  252. package/tabs/Tabs.d.ts +4 -0
  253. package/tabs/Tabs.js +353 -229
  254. package/tabs/Tabs.stories.tsx +185 -0
  255. package/tabs/Tabs.test.js +351 -0
  256. package/tabs/types.d.ts +92 -0
  257. package/tabs/types.js +5 -0
  258. package/tabs-nav/NavTabs.d.ts +8 -0
  259. package/tabs-nav/NavTabs.js +125 -0
  260. package/tabs-nav/NavTabs.stories.tsx +170 -0
  261. package/tabs-nav/NavTabs.test.js +82 -0
  262. package/tabs-nav/Tab.d.ts +4 -0
  263. package/tabs-nav/Tab.js +130 -0
  264. package/tabs-nav/types.d.ts +53 -0
  265. package/tabs-nav/types.js +5 -0
  266. package/tag/Tag.d.ts +4 -0
  267. package/tag/Tag.js +45 -144
  268. package/tag/Tag.stories.tsx +142 -0
  269. package/tag/Tag.test.js +60 -0
  270. package/tag/types.d.ts +69 -0
  271. package/tag/types.js +5 -0
  272. package/text-input/Icons.d.ts +8 -0
  273. package/text-input/Icons.js +60 -0
  274. package/text-input/Suggestion.d.ts +4 -0
  275. package/text-input/Suggestion.js +57 -0
  276. package/text-input/Suggestions.d.ts +4 -0
  277. package/text-input/Suggestions.js +134 -0
  278. package/text-input/TextInput.d.ts +4 -0
  279. package/text-input/TextInput.js +261 -576
  280. package/text-input/TextInput.stories.tsx +481 -0
  281. package/text-input/TextInput.test.js +1624 -0
  282. package/text-input/types.d.ts +197 -0
  283. package/text-input/types.js +5 -0
  284. package/textarea/Textarea.d.ts +4 -0
  285. package/textarea/Textarea.js +50 -142
  286. package/textarea/Textarea.stories.jsx +157 -0
  287. package/textarea/Textarea.test.js +437 -0
  288. package/textarea/types.d.ts +137 -0
  289. package/textarea/types.js +5 -0
  290. package/toggle-group/ToggleGroup.d.ts +4 -0
  291. package/toggle-group/ToggleGroup.js +36 -148
  292. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  293. package/toggle-group/ToggleGroup.test.js +156 -0
  294. package/toggle-group/types.d.ts +105 -0
  295. package/toggle-group/types.js +5 -0
  296. package/typography/Typography.d.ts +4 -0
  297. package/typography/Typography.js +131 -0
  298. package/typography/Typography.stories.tsx +198 -0
  299. package/typography/types.d.ts +18 -0
  300. package/typography/types.js +5 -0
  301. package/useTheme.d.ts +2 -0
  302. package/useTheme.js +2 -2
  303. package/useTranslatedLabels.d.ts +2 -0
  304. package/useTranslatedLabels.js +20 -0
  305. package/wizard/Wizard.d.ts +4 -0
  306. package/wizard/Wizard.js +132 -252
  307. package/wizard/Wizard.stories.tsx +233 -0
  308. package/wizard/Wizard.test.js +141 -0
  309. package/wizard/types.d.ts +65 -0
  310. package/wizard/types.js +5 -0
  311. package/ThemeContext.js +0 -250
  312. package/V3Select/V3Select.js +0 -549
  313. package/V3Select/index.d.ts +0 -27
  314. package/V3Textarea/V3Textarea.js +0 -264
  315. package/V3Textarea/index.d.ts +0 -27
  316. package/accordion/index.d.ts +0 -28
  317. package/accordion-group/index.d.ts +0 -16
  318. package/alert/index.d.ts +0 -51
  319. package/box/index.d.ts +0 -25
  320. package/button/Button.stories.js +0 -27
  321. package/button/index.d.ts +0 -24
  322. package/card/index.d.ts +0 -22
  323. package/checkbox/index.d.ts +0 -24
  324. package/chip/index.d.ts +0 -22
  325. package/common/RequiredComponent.js +0 -40
  326. package/date/Date.js +0 -379
  327. package/date/index.d.ts +0 -27
  328. package/date-input/index.d.ts +0 -95
  329. package/dialog/index.d.ts +0 -18
  330. package/dropdown/index.d.ts +0 -26
  331. package/file-input/index.d.ts +0 -81
  332. package/footer/index.d.ts +0 -25
  333. package/header/index.d.ts +0 -25
  334. package/heading/index.d.ts +0 -17
  335. package/input-text/Icons.js +0 -22
  336. package/input-text/InputText.js +0 -705
  337. package/input-text/index.d.ts +0 -36
  338. package/link/index.d.ts +0 -23
  339. package/number-input/index.d.ts +0 -113
  340. package/paginator/index.d.ts +0 -20
  341. package/password-input/index.d.ts +0 -94
  342. package/progress-bar/index.d.ts +0 -18
  343. package/radio/Radio.js +0 -209
  344. package/radio/index.d.ts +0 -23
  345. package/resultsetTable/index.d.ts +0 -19
  346. package/select/index.d.ts +0 -131
  347. package/sidenav/index.d.ts +0 -13
  348. package/slider/index.d.ts +0 -29
  349. package/spinner/index.d.ts +0 -17
  350. package/switch/index.d.ts +0 -24
  351. package/table/index.d.ts +0 -13
  352. package/tabs/index.d.ts +0 -19
  353. package/tag/index.d.ts +0 -24
  354. package/text-input/index.d.ts +0 -135
  355. package/textarea/index.d.ts +0 -117
  356. package/toggle/Toggle.js +0 -220
  357. package/toggle/index.d.ts +0 -21
  358. package/toggle-group/index.d.ts +0 -21
  359. package/upload/Upload.js +0 -205
  360. package/upload/buttons-upload/ButtonsUpload.js +0 -135
  361. package/upload/buttons-upload/Icons.js +0 -40
  362. package/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  363. package/upload/dragAndDropArea/Icons.js +0 -39
  364. package/upload/file-upload/FileToUpload.js +0 -189
  365. package/upload/file-upload/Icons.js +0 -66
  366. package/upload/files-upload/FilesToUpload.js +0 -123
  367. package/upload/index.d.ts +0 -15
  368. package/upload/transaction/Icons.js +0 -160
  369. package/upload/transaction/Transaction.js +0 -148
  370. package/upload/transactions/Transactions.js +0 -138
  371. package/wizard/Icons.js +0 -65
  372. package/wizard/index.d.ts +0 -18
package/tabs/Tabs.js CHANGED
@@ -1,246 +1,407 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
4
 
5
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
6
+
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
10
  exports["default"] = void 0;
11
11
 
12
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
12
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
13
 
14
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
15
 
16
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
17
-
18
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
19
-
20
16
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
21
17
 
22
- var _react = _interopRequireDefault(require("react"));
23
-
24
- var _Tabs = _interopRequireDefault(require("@material-ui/core/Tabs"));
25
-
26
- var _Tab = _interopRequireDefault(require("@material-ui/core/Tab"));
18
+ var _react = _interopRequireWildcard(require("react"));
27
19
 
28
20
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
29
21
 
30
- var _propTypes = _interopRequireDefault(require("prop-types"));
31
-
32
22
  var _variables = require("../common/variables.js");
33
23
 
34
- var _Badge = _interopRequireDefault(require("../badge/Badge"));
24
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
35
25
 
36
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
26
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
37
27
 
38
- function _templateObject9() {
39
- var data = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 22px;\n max-width: 22px;\n margin-bottom: ", ";\n margin-right: ", ";\n overflow: hidden;\n display: flex;\n align-items: center;\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"]);
28
+ var _Tab = _interopRequireDefault(require("./Tab"));
40
29
 
41
- _templateObject9 = function _templateObject9() {
42
- return data;
43
- };
30
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
44
31
 
45
- return data;
46
- }
32
+ 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); }
47
33
 
48
- function _templateObject8() {
49
- var data = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 22px;\n max-width: 22px;\n"]);
34
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
50
35
 
51
- _templateObject8 = function _templateObject8() {
52
- return data;
53
- };
54
-
55
- return data;
56
- }
36
+ var arrowIcons = {
37
+ left: /*#__PURE__*/_react["default"].createElement("svg", {
38
+ focusable: "false",
39
+ viewBox: "0 0 24 24",
40
+ "aria-hidden": "true"
41
+ }, /*#__PURE__*/_react["default"].createElement("path", {
42
+ d: "M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z"
43
+ })),
44
+ right: /*#__PURE__*/_react["default"].createElement("svg", {
45
+ focusable: "false",
46
+ viewBox: "0 0 24 24",
47
+ "aria-hidden": "true"
48
+ }, /*#__PURE__*/_react["default"].createElement("path", {
49
+ d: "M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"
50
+ }))
51
+ };
57
52
 
58
- function _templateObject7() {
59
- var data = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n .MuiTabs-root {\n background: white;\n min-height: ", ";\n\n .MuiTabs-scroller {\n .MuiTabs-flexContainer + span {\n z-index: 4;\n }\n }\n .MuiTab-root {\n text-transform: ", " !important;\n }\n .MuiButtonBase-root {\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n\n padding: ", ";\n height: ", ";\n min-width: 90px;\n max-width: 360px;\n min-height: ", ";\n\n &:hover {\n background-color: ", ";\n }\n &:active {\n background-color: ", ";\n font-weight: ", ";\n }\n &:not(.Mui-selected) {\n background-color: ", ";\n color: ", ";\n svg {\n color: ", ";\n }\n }\n &.Mui-selected {\n background-color: ", ";\n color: ", ";\n svg {\n color: ", ";\n }\n }\n &.Mui-disabled {\n cursor: not-allowed !important;\n pointer-events: all;\n color: ", ";\n font-style: ", ";\n svg {\n color: ", ";\n }\n }\n &:focus {\n outline: ", " auto 1px;\n }\n }\n .MuiTabs-indicator {\n background-color: ", ";\n height: ", ";\n }\n .MuiTabs-scrollButtons {\n min-width: ", ";\n width: ", ";\n padding: 0;\n }\n @media (max-width: 599.95px) {\n .MuiTabs-scrollButtonsDesktop {\n display: flex;\n }\n }\n }\n"]);
53
+ var useResize = function useResize(refTabList) {
54
+ var _useState = (0, _react.useState)(0),
55
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
56
+ viewWidth = _useState2[0],
57
+ setViewWidth = _useState2[1];
58
+
59
+ var handleWindowSizeChange = (0, _react.useCallback)(function () {
60
+ var _refTabList$current;
61
+
62
+ setViewWidth(refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current = refTabList.current) === null || _refTabList$current === void 0 ? void 0 : _refTabList$current.offsetWidth);
63
+ }, [refTabList]);
64
+ (0, _react.useEffect)(function () {
65
+ window.addEventListener("load", handleWindowSizeChange);
66
+ window.addEventListener("resize", handleWindowSizeChange);
67
+ return function () {
68
+ window.removeEventListener("load", handleWindowSizeChange);
69
+ window.removeEventListener("resize", handleWindowSizeChange);
70
+ };
71
+ }, [handleWindowSizeChange]);
72
+ return viewWidth;
73
+ };
60
74
 
61
- _templateObject7 = function _templateObject7() {
62
- return data;
63
- };
75
+ var DxcTabs = function DxcTabs(_ref) {
76
+ var defaultActiveTabIndex = _ref.defaultActiveTabIndex,
77
+ activeTabIndex = _ref.activeTabIndex,
78
+ tabs = _ref.tabs,
79
+ onTabClick = _ref.onTabClick,
80
+ onTabHover = _ref.onTabHover,
81
+ margin = _ref.margin,
82
+ _ref$iconPosition = _ref.iconPosition,
83
+ iconPosition = _ref$iconPosition === void 0 ? "top" : _ref$iconPosition,
84
+ _ref$tabIndex = _ref.tabIndex,
85
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
86
+ var colorsTheme = (0, _useTheme["default"])();
87
+ var hasLabelAndIcon = tabs && tabs.filter(function (tab) {
88
+ return tab.label && tab.icon;
89
+ }).length > 0;
90
+ var firstFocus = tabs && tabs.findIndex(function (tab) {
91
+ return !tab.isDisabled;
92
+ });
93
+
94
+ var _useState3 = (0, _react.useState)(tabs && defaultActiveTabIndex && !tabs[defaultActiveTabIndex].isDisabled ? defaultActiveTabIndex : firstFocus),
95
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
96
+ innerActiveTabIndex = _useState4[0],
97
+ setInnerActiveTabIndex = _useState4[1];
98
+
99
+ var _useState5 = (0, _react.useState)(0),
100
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
101
+ activeIndicatorWidth = _useState6[0],
102
+ setActiveIndicatorWidth = _useState6[1];
103
+
104
+ var _useState7 = (0, _react.useState)(0),
105
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
106
+ activeIndicatorLeft = _useState8[0],
107
+ setActiveIndicatorLeft = _useState8[1];
108
+
109
+ var _useState9 = (0, _react.useState)(0),
110
+ _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
111
+ translateScroll = _useState10[0],
112
+ setTranslateScroll = _useState10[1];
113
+
114
+ var _useState11 = (0, _react.useState)(true),
115
+ _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
116
+ scrollRightEnabled = _useState12[0],
117
+ setScrollRightEnabled = _useState12[1];
118
+
119
+ var _useState13 = (0, _react.useState)(false),
120
+ _useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
121
+ scrollLeftEnabled = _useState14[0],
122
+ setScrollLeftEnabled = _useState14[1];
123
+
124
+ var _useState15 = (0, _react.useState)(0),
125
+ _useState16 = (0, _slicedToArray2["default"])(_useState15, 2),
126
+ countClick = _useState16[0],
127
+ setCountClick = _useState16[1];
128
+
129
+ var _useState17 = (0, _react.useState)(0),
130
+ _useState18 = (0, _slicedToArray2["default"])(_useState17, 2),
131
+ totalTabsWidth = _useState18[0],
132
+ setTotalTabsWidth = _useState18[1];
133
+
134
+ var _useState19 = (0, _react.useState)(activeTabIndex !== null && activeTabIndex !== void 0 ? activeTabIndex : innerActiveTabIndex),
135
+ _useState20 = (0, _slicedToArray2["default"])(_useState19, 2),
136
+ currentFocusIndex = _useState20[0],
137
+ setCurrentFocusIndex = _useState20[1];
138
+
139
+ var _useState21 = (0, _react.useState)(activeTabIndex !== null && activeTabIndex !== void 0 ? activeTabIndex : innerActiveTabIndex),
140
+ _useState22 = (0, _slicedToArray2["default"])(_useState21, 2),
141
+ temporalFocusIndex = _useState22[0],
142
+ setTemporalFocusIndex = _useState22[1];
143
+
144
+ var _useState23 = (0, _react.useState)(0),
145
+ _useState24 = (0, _slicedToArray2["default"])(_useState23, 2),
146
+ minHeightTabs = _useState24[0],
147
+ setMinHeightTabs = _useState24[1];
148
+
149
+ var refTabs = (0, _react.useRef)([]);
150
+ var refTabList = (0, _react.useRef)(null);
151
+ var viewWidth = useResize(refTabList);
152
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
153
+ var enabledIndicator = (0, _react.useMemo)(function () {
154
+ return viewWidth < totalTabsWidth;
155
+ }, [viewWidth]);
156
+ (0, _react.useEffect)(function () {
157
+ var _refTabs$current, _refTabs$current2, _refTabs$current3;
158
+
159
+ var sumWidth = refTabs === null || refTabs === void 0 ? void 0 : (_refTabs$current = refTabs.current) === null || _refTabs$current === void 0 ? void 0 : _refTabs$current.reduce(function (count, obj) {
160
+ return count + obj.offsetWidth;
161
+ }, 0);
162
+ setTotalTabsWidth(sumWidth);
163
+ setActiveIndicatorWidth(refTabs === null || refTabs === void 0 ? void 0 : (_refTabs$current2 = refTabs.current[activeTabIndex !== null && activeTabIndex !== void 0 ? activeTabIndex : innerActiveTabIndex]) === null || _refTabs$current2 === void 0 ? void 0 : _refTabs$current2.offsetWidth);
164
+ setActiveIndicatorLeft(refTabs === null || refTabs === void 0 ? void 0 : (_refTabs$current3 = refTabs.current[activeTabIndex !== null && activeTabIndex !== void 0 ? activeTabIndex : innerActiveTabIndex]) === null || _refTabs$current3 === void 0 ? void 0 : _refTabs$current3.offsetLeft);
165
+ }, [refTabs]);
166
+ (0, _react.useEffect)(function () {
167
+ var _refTabList$current2;
168
+
169
+ setMinHeightTabs((refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current2 = refTabList.current) === null || _refTabList$current2 === void 0 ? void 0 : _refTabList$current2.offsetHeight) + 1);
170
+ }, [refTabList]);
171
+ (0, _react.useEffect)(function () {
172
+ if (activeTabIndex >= 0) {
173
+ var _refTabs$current$acti, _refTabs$current$acti2;
174
+
175
+ setActiveIndicatorWidth(refTabs === null || refTabs === void 0 ? void 0 : (_refTabs$current$acti = refTabs.current[activeTabIndex]) === null || _refTabs$current$acti === void 0 ? void 0 : _refTabs$current$acti.offsetWidth);
176
+ setActiveIndicatorLeft(refTabs === null || refTabs === void 0 ? void 0 : (_refTabs$current$acti2 = refTabs.current[activeTabIndex]) === null || _refTabs$current$acti2 === void 0 ? void 0 : _refTabs$current$acti2.offsetLeft);
177
+ }
178
+ }, [activeTabIndex]);
64
179
 
65
- return data;
66
- }
180
+ var handleSelected = function handleSelected(newValue) {
181
+ activeTabIndex !== null && activeTabIndex !== void 0 ? activeTabIndex : setInnerActiveTabIndex(newValue);
182
+ onTabClick === null || onTabClick === void 0 ? void 0 : onTabClick(newValue);
67
183
 
68
- function _templateObject6() {
69
- var data = (0, _taggedTemplateLiteral2["default"])(["\n left: 0px;\n bottom: 0;\n width: 100%;\n height: ", ";\n position: absolute;\n background-color: ", ";\n"]);
184
+ if (activeTabIndex === undefined) {
185
+ var _refTabs$current$newV, _refTabs$current$newV2;
70
186
 
71
- _templateObject6 = function _templateObject6() {
72
- return data;
187
+ setActiveIndicatorWidth(refTabs === null || refTabs === void 0 ? void 0 : (_refTabs$current$newV = refTabs.current[newValue]) === null || _refTabs$current$newV === void 0 ? void 0 : _refTabs$current$newV.offsetWidth);
188
+ setActiveIndicatorLeft(refTabs === null || refTabs === void 0 ? void 0 : (_refTabs$current$newV2 = refTabs.current[newValue]) === null || _refTabs$current$newV2 === void 0 ? void 0 : _refTabs$current$newV2.offsetLeft);
189
+ }
73
190
  };
74
191
 
75
- return data;
76
- }
192
+ var scrollLeft = function scrollLeft() {
193
+ var _refTabList$current3;
194
+
195
+ var scrollWidth = (refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current3 = refTabList.current) === null || _refTabList$current3 === void 0 ? void 0 : _refTabList$current3.offsetWidth) * 0.75;
196
+ var moveX;
77
197
 
78
- function _templateObject5() {
79
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n margin-left: ", ";\n margin-right: ", ";\n"]);
198
+ if (countClick <= scrollWidth) {
199
+ moveX = 0;
200
+ setScrollLeftEnabled(false);
201
+ setScrollRightEnabled(true);
202
+ } else {
203
+ moveX = countClick - scrollWidth;
204
+ setScrollRightEnabled(true);
205
+ setScrollLeftEnabled(true);
206
+ }
80
207
 
81
- _templateObject5 = function _templateObject5() {
82
- return data;
208
+ setTranslateScroll(-moveX);
209
+ setCountClick(moveX);
83
210
  };
84
211
 
85
- return data;
86
- }
212
+ var scrollRight = function scrollRight() {
213
+ var _refTabList$current4, _refTabList$current5;
87
214
 
88
- function _templateObject4() {
89
- var data = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n right: 0;\n top: ", ";\n width: 23px;\n height: 17px;\n"]);
215
+ var scrollWidth = (refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current4 = refTabList.current) === null || _refTabList$current4 === void 0 ? void 0 : _refTabList$current4.offsetWidth) * 0.75;
216
+ var moveX;
90
217
 
91
- _templateObject4 = function _templateObject4() {
92
- return data;
93
- };
218
+ if (countClick + scrollWidth + (refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current5 = refTabList.current) === null || _refTabList$current5 === void 0 ? void 0 : _refTabList$current5.offsetWidth) >= totalTabsWidth) {
219
+ var _refTabList$current6;
94
220
 
95
- return data;
96
- }
97
-
98
- function _templateObject3() {
99
- var data = (0, _taggedTemplateLiteral2["default"])([""]);
221
+ moveX = totalTabsWidth - (refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current6 = refTabList.current) === null || _refTabList$current6 === void 0 ? void 0 : _refTabList$current6.offsetWidth);
222
+ setScrollRightEnabled(false);
223
+ setScrollLeftEnabled(true);
224
+ } else {
225
+ moveX = countClick + scrollWidth;
226
+ setScrollLeftEnabled(true);
227
+ setScrollRightEnabled(true);
228
+ }
100
229
 
101
- _templateObject3 = function _templateObject3() {
102
- return data;
230
+ setTranslateScroll(-moveX);
231
+ setCountClick(moveX);
103
232
  };
104
233
 
105
- return data;
106
- }
234
+ var setPreviousTabFocus = function setPreviousTabFocus() {
235
+ setTemporalFocusIndex(function (temporalFocusIndex) {
236
+ var index = temporalFocusIndex === 0 ? tabs.length - 1 : temporalFocusIndex - 1;
107
237
 
108
- function _templateObject2() {
109
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: ", ";\n align-items: center;\n"]);
238
+ while (tabs[index].isDisabled) {
239
+ index = index === 0 ? tabs.length - 1 : index - 1;
240
+ }
110
241
 
111
- _templateObject2 = function _templateObject2() {
112
- return data;
242
+ refTabs === null || refTabs === void 0 ? void 0 : refTabs.current[index].focus({
243
+ preventScroll: true
244
+ });
245
+ setScrollFocus(index);
246
+ return index;
247
+ });
113
248
  };
114
249
 
115
- return data;
116
- }
250
+ var setNextTabFocus = function setNextTabFocus() {
251
+ setTemporalFocusIndex(function (temporalFocusIndex) {
252
+ var index = temporalFocusIndex === tabs.length - 1 ? 0 : temporalFocusIndex + 1;
117
253
 
118
- function _templateObject() {
119
- var data = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n"]);
254
+ while (tabs[index].isDisabled) {
255
+ index = index === tabs.length - 1 ? 0 : index + 1;
256
+ }
120
257
 
121
- _templateObject = function _templateObject() {
122
- return data;
258
+ refTabs === null || refTabs === void 0 ? void 0 : refTabs.current[index].focus({
259
+ preventScroll: true
260
+ });
261
+ setScrollFocus(index);
262
+ return index;
263
+ });
123
264
  };
124
265
 
125
- return data;
126
- }
266
+ var setScrollFocus = function setScrollFocus(actualIndex) {
267
+ var _refTabs$current4, _refTabList$current8;
127
268
 
128
- var DxcTabs = function DxcTabs(_ref) {
129
- var activeTabIndex = _ref.activeTabIndex,
130
- _ref$tabs = _ref.tabs,
131
- tabs = _ref$tabs === void 0 ? [] : _ref$tabs,
132
- onTabClick = _ref.onTabClick,
133
- onTabHover = _ref.onTabHover,
134
- margin = _ref.margin,
135
- _ref$iconPosition = _ref.iconPosition,
136
- iconPosition = _ref$iconPosition === void 0 ? "left" : _ref$iconPosition,
137
- _ref$tabIndex = _ref.tabIndex,
138
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
269
+ var sumPrev = 0;
270
+ refTabs === null || refTabs === void 0 ? void 0 : (_refTabs$current4 = refTabs.current) === null || _refTabs$current4 === void 0 ? void 0 : _refTabs$current4.map(function (item, index) {
271
+ if (index <= actualIndex) {
272
+ sumPrev += item.offsetWidth;
273
+ }
274
+ });
275
+ var moveX = 0;
139
276
 
140
- var _React$useState = _react["default"].useState(0),
141
- _React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
142
- innerActiveTabIndex = _React$useState2[0],
143
- setInnerActiveTabIndex = _React$useState2[1];
277
+ if (actualIndex === tabs.length - 1) {
278
+ var _refTabList$current7;
144
279
 
145
- var colorsTheme = (0, _useTheme["default"])();
146
- var hasLabelAndIcon = tabs && tabs.filter(function (tab) {
147
- return tab.label && tab.icon;
148
- }).length > 0;
280
+ moveX = totalTabsWidth - (refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current7 = refTabList.current) === null || _refTabList$current7 === void 0 ? void 0 : _refTabList$current7.offsetWidth);
281
+ setScrollLeftEnabled(true);
282
+ setScrollRightEnabled(false);
283
+ } else if (sumPrev > (refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current8 = refTabList.current) === null || _refTabList$current8 === void 0 ? void 0 : _refTabList$current8.offsetWidth)) {
284
+ var _refTabList$current9;
149
285
 
150
- var handleChange = function handleChange(event, newValue) {
151
- if (activeTabIndex == null) {
152
- setInnerActiveTabIndex(newValue);
153
- }
286
+ moveX = sumPrev - (refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current9 = refTabList.current) === null || _refTabList$current9 === void 0 ? void 0 : _refTabList$current9.offsetWidth) + 1; //plus 1px for the outline
154
287
 
155
- if (typeof onTabClick === "function") {
156
- onTabClick(newValue);
288
+ setScrollLeftEnabled(true);
289
+ setScrollRightEnabled(true);
290
+ } else {
291
+ setScrollLeftEnabled(false);
292
+ setScrollRightEnabled(true);
157
293
  }
294
+
295
+ setTranslateScroll(-moveX);
296
+ setCountClick(moveX);
158
297
  };
159
298
 
160
- var getTabIndex = function getTabIndex(index, disabled) {
161
- return (activeTabIndex === index || innerActiveTabIndex === index) && !disabled ? tabIndex : -1;
299
+ var handleOnKeyDown = function handleOnKeyDown(event) {
300
+ switch (event.key) {
301
+ case "Left":
302
+ case "ArrowLeft":
303
+ event.preventDefault();
304
+ setPreviousTabFocus();
305
+ break;
306
+
307
+ case "Right":
308
+ case "ArrowRight":
309
+ event.preventDefault();
310
+ setNextTabFocus();
311
+ break;
312
+
313
+ case "Enter":
314
+ case " ":
315
+ event.preventDefault();
316
+ setCurrentFocusIndex(temporalFocusIndex);
317
+ handleSelected(temporalFocusIndex);
318
+ break;
319
+
320
+ case "Tab":
321
+ if (temporalFocusIndex !== currentFocusIndex) {
322
+ event.preventDefault();
323
+ setTemporalFocusIndex(currentFocusIndex);
324
+ refTabs === null || refTabs === void 0 ? void 0 : refTabs.current[currentFocusIndex].focus();
325
+ }
326
+
327
+ handleSelected(currentFocusIndex);
328
+ break;
329
+ }
162
330
  };
163
331
 
164
- var getLabelForTab = function getLabelForTab(tab) {
165
- return _react["default"].createElement(ParentLabelSpan, null, _react["default"].createElement(MainLabelContainer, {
166
- hasBadge: tab.notificationNumber
167
- }, _react["default"].createElement(TabLabelContainer, {
168
- hasLabelAndIcon: hasLabelAndIcon,
169
- iconPosition: iconPosition
170
- }, tab.icon ? _react["default"].createElement(TabIconContainer, {
171
- hasLabelAndIcon: hasLabelAndIcon,
172
- iconPosition: iconPosition
173
- }, (0, _typeof2["default"])(tab.icon) === "object" ? tab.icon : _react["default"].createElement(tab.icon)) : tab.iconSrc && _react["default"].createElement(TabIcon, {
174
- src: tab.iconSrc
175
- }), _react["default"].createElement(LabelTextContainer, null, tab.label))), tab.notificationNumber && tab.notificationNumber !== false && _react["default"].createElement(BadgeContainer, {
176
- hasLabelAndIcon: hasLabelAndIcon,
177
- iconPosition: iconPosition
178
- }, _react["default"].createElement(_Badge["default"], {
179
- notificationText: tab.notificationNumber > 99 ? "+99" : tab.notificationNumber
180
- })));
332
+ var isTabActive = function isTabActive(index) {
333
+ return activeTabIndex >= 0 ? activeTabIndex === index : innerActiveTabIndex === index;
181
334
  };
182
335
 
183
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
336
+ var isActiveIndicatorDisabled = firstFocus === -1 || tabs && activeTabIndex >= 0 && tabs[activeTabIndex].isDisabled;
337
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
184
338
  theme: colorsTheme.tabs
185
- }, _react["default"].createElement(DxCTabs, {
186
- margin: margin,
339
+ }, /*#__PURE__*/_react["default"].createElement(TabsContainer, {
340
+ margin: margin
341
+ }, /*#__PURE__*/_react["default"].createElement(Underline, null), /*#__PURE__*/_react["default"].createElement(Tabs, {
187
342
  hasLabelAndIcon: hasLabelAndIcon,
188
343
  iconPosition: iconPosition
189
- }, _react["default"].createElement(Underline, null), _react["default"].createElement(_Tabs["default"], {
190
- value: activeTabIndex != null ? activeTabIndex : innerActiveTabIndex,
191
- onChange: handleChange,
192
- variant: "scrollable",
193
- scrollButtons: "auto"
344
+ }, /*#__PURE__*/_react["default"].createElement(ScrollIndicator, {
345
+ onClick: scrollLeft,
346
+ scrollLeftEnabled: scrollLeftEnabled,
347
+ enabled: enabledIndicator,
348
+ "aria-disabled": !scrollLeftEnabled,
349
+ "aria-label": translatedLabels.tabs.scrollLeft,
350
+ tabIndex: scrollLeftEnabled ? tabIndex : -1,
351
+ minHeightTabs: minHeightTabs
352
+ }, arrowIcons.left), /*#__PURE__*/_react["default"].createElement(TabsContent, null, /*#__PURE__*/_react["default"].createElement(TabsContentScroll, {
353
+ translateScroll: translateScroll,
354
+ ref: refTabList,
355
+ enabled: enabledIndicator
356
+ }, /*#__PURE__*/_react["default"].createElement(TabList, {
357
+ role: "tablist",
358
+ onKeyDown: handleOnKeyDown,
359
+ minHeightTabs: minHeightTabs
194
360
  }, tabs.map(function (tab, i) {
195
- var tabContent = _react["default"].forwardRef(function (props, ref) {
196
- return _react["default"].createElement("div", (0, _extends2["default"])({
197
- role: "button"
198
- }, props, {
199
- ref: ref
200
- }));
201
- });
202
-
203
- return _react["default"].createElement(_Tab["default"], {
204
- tabIndex: (activeTabIndex === i || innerActiveTabIndex === i) && !tab.isDisabled ? tabIndex : -1,
361
+ return /*#__PURE__*/_react["default"].createElement(_Tab["default"], {
362
+ tab: tab,
205
363
  key: "tab".concat(i).concat(tab.label),
206
- label: getLabelForTab(tab),
207
- disabled: tab.isDisabled,
208
- disableRipple: true,
364
+ active: isTabActive(i),
365
+ tabIndex: isTabActive(i) && !tab.isDisabled ? tabIndex : -1,
366
+ hasLabelAndIcon: hasLabelAndIcon,
367
+ iconPosition: iconPosition,
368
+ ref: function ref(el) {
369
+ return refTabs.current[i] = el;
370
+ },
371
+ onClick: function onClick() {
372
+ setCurrentFocusIndex(i);
373
+ setTemporalFocusIndex(i);
374
+ handleSelected(i);
375
+ },
209
376
  onMouseEnter: function onMouseEnter() {
210
- onTabHover(i);
377
+ onTabHover === null || onTabHover === void 0 ? void 0 : onTabHover(i);
211
378
  },
212
379
  onMouseLeave: function onMouseLeave() {
213
- onTabHover(null);
380
+ onTabHover === null || onTabHover === void 0 ? void 0 : onTabHover(null);
214
381
  }
215
382
  });
216
- }))));
383
+ })), /*#__PURE__*/_react["default"].createElement(ActiveIndicator, {
384
+ tabWidth: activeIndicatorWidth,
385
+ tabLeft: activeIndicatorLeft,
386
+ "aria-disabled": isActiveIndicatorDisabled
387
+ }))), /*#__PURE__*/_react["default"].createElement(ScrollIndicator, {
388
+ onClick: scrollRight,
389
+ scrollRightEnabled: scrollRightEnabled,
390
+ enabled: enabledIndicator,
391
+ "aria-disabled": !scrollRightEnabled,
392
+ "aria-label": translatedLabels.tabs.scrollRight,
393
+ tabIndex: scrollRightEnabled ? tabIndex : -1,
394
+ minHeightTabs: minHeightTabs
395
+ }, arrowIcons.right))));
217
396
  };
218
397
 
219
- var ParentLabelSpan = _styledComponents["default"].div(_templateObject());
220
-
221
- var TabLabelContainer = _styledComponents["default"].div(_templateObject2(), function (props) {
222
- return props.hasLabelAndIcon && props.iconPosition === "top" && "column" || "row";
223
- });
224
-
225
- var LabelTextContainer = _styledComponents["default"].div(_templateObject3());
226
-
227
- var BadgeContainer = _styledComponents["default"].div(_templateObject4(), function (props) {
228
- return props.hasLabelAndIcon && props.iconPosition === "top" && "0" || "5px";
229
- });
230
-
231
- var MainLabelContainer = _styledComponents["default"].div(_templateObject5(), function (props) {
232
- return props.hasBadge && "35px" || "unset";
233
- }, function (props) {
234
- return props.hasBadge && "35px" || "unset";
235
- });
236
-
237
- var Underline = _styledComponents["default"].div(_templateObject6(), function (props) {
398
+ var Underline = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n left: 0;\n bottom: 0;\n width: 100%;\n position: absolute;\n height: ", ";\n background-color: ", ";\n"])), function (props) {
238
399
  return props.theme.dividerThickness;
239
400
  }, function (props) {
240
401
  return props.theme.dividerColor;
241
402
  });
242
403
 
243
- var DxCTabs = _styledComponents["default"].div(_templateObject7(), function (props) {
404
+ var TabsContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
244
405
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
245
406
  }, function (props) {
246
407
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
@@ -250,94 +411,57 @@ var DxCTabs = _styledComponents["default"].div(_templateObject7(), function (pro
250
411
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
251
412
  }, function (props) {
252
413
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
253
- }, function (props) {
254
- return (!props.hasLabelAndIcon || props.hasLabelAndIcon && props.iconPosition !== "top") && "48px" || "72px";
255
- }, function (props) {
256
- return props.theme.fontTextTransform;
257
- }, function (props) {
258
- return props.theme.fontFamily;
259
- }, function (props) {
260
- return props.theme.fontSize;
261
- }, function (props) {
262
- return props.theme.fontStyle;
263
- }, function (props) {
264
- return props.theme.fontWeight;
265
- }, function (props) {
266
- return (!props.hasLabelAndIcon || props.hasLabelAndIcon && props.iconPosition !== "top") && "12px 16px" || "8px 16px";
267
- }, function (props) {
414
+ });
415
+
416
+ var Tabs = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n min-height: ", ";\n height: ", ";\n display: flex;\n overflow: hidden;\n background-color: ", ";\n"])), function (props) {
268
417
  return (!props.hasLabelAndIcon || props.hasLabelAndIcon && props.iconPosition !== "top") && "48px" || "72px";
269
418
  }, function (props) {
270
419
  return (!props.hasLabelAndIcon || props.hasLabelAndIcon && props.iconPosition !== "top") && "48px" || "72px";
271
- }, function (props) {
272
- return "".concat(props.theme.hoverBackgroundColor, " !important");
273
- }, function (props) {
274
- return "".concat(props.theme.pressedBackgroundColor, " !important");
275
- }, function (props) {
276
- return "".concat(props.theme.pressedFontWeight, " !important");
277
420
  }, function (props) {
278
421
  return props.theme.unselectedBackgroundColor;
422
+ });
423
+
424
+ var ScrollIndicator = _styledComponents["default"].button(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: ", ";\n background-color: #ffffff;\n font-size: 1.25rem;\n min-width: ", ";\n height: ", "px;\n padding: 0;\n justify-content: center;\n cursor: pointer;\n border-bottom: solid ", " ", ";\n box-sizing: border-box;\n border: none;\n &:hover {\n background-color: ", ";\n }\n &:focus {\n outline: ", " solid 1px;\n outline-offset: -1px;\n }\n &:active {\n background-color: ", ";\n }\n svg {\n height: 20px;\n width: 20px;\n align-self: center;\n fill: ", ";\n visibility: visible;\n }\n &[aria-disabled=\"true\"] {\n pointer-events: none;\n cursor: default;\n svg {\n visibility: hidden;\n }\n &:focus {\n outline: none;\n }\n &:hover,\n &:active {\n background-color: transparent !important;\n }\n }\n"])), function (props) {
425
+ return props.enabled ? "flex" : "none";
279
426
  }, function (props) {
280
- return props.theme.unselectedFontColor;
427
+ return props.theme.scrollButtonsWidth;
281
428
  }, function (props) {
282
- return props.theme.unselectedIconColor;
429
+ return props.minHeightTabs - 1;
283
430
  }, function (props) {
284
- return props.theme.selectedBackgroundColor;
431
+ return props.theme.dividerThickness;
285
432
  }, function (props) {
286
- return props.theme.selectedFontColor;
433
+ return props.theme.dividerColor;
287
434
  }, function (props) {
288
- return props.theme.selectedIconColor;
435
+ return "".concat(props.theme.hoverBackgroundColor, " !important");
289
436
  }, function (props) {
290
- return props.theme.disabledFontColor;
437
+ return props.theme.focusOutline;
291
438
  }, function (props) {
292
- return props.theme.disabledFontStyle;
439
+ return "".concat(props.theme.pressedBackgroundColor, " !important");
293
440
  }, function (props) {
294
- return props.theme.disabledIconColor;
441
+ return props.theme.unselectedFontColor;
442
+ });
443
+
444
+ var ActiveIndicator = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n left: ", ";\n width: ", ";\n background-color: ", ";\n bottom: 0;\n height: ", ";\n position: absolute;\n &[aria-disabled=\"true\"] {\n background-color: ", ";\n display: none;\n }\n"])), function (props) {
445
+ return "".concat(props.tabLeft, "px");
295
446
  }, function (props) {
296
- return props.theme.focusOutline;
447
+ return "".concat(props.tabWidth, "px");
297
448
  }, function (props) {
298
449
  return props.theme.selectedUnderlineColor;
299
450
  }, function (props) {
300
451
  return props.theme.selectedUnderlineThickness;
301
452
  }, function (props) {
302
- return props.theme.scrollButtonsWidth;
303
- }, function (props) {
304
- return props.theme.scrollButtonsWidth;
453
+ return props.theme.disabledFontColor;
305
454
  });
306
455
 
307
- var TabIcon = _styledComponents["default"].img(_templateObject8());
456
+ var TabsContent = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex: 1 1 auto;\n display: inline-block;\n position: relative;\n white-space: nowrap;\n overflow-x: scroll;\n ::-webkit-scrollbar {\n display: none;\n }\n"])));
308
457
 
309
- var TabIconContainer = _styledComponents["default"].div(_templateObject9(), function (props) {
310
- return props.hasLabelAndIcon && props.iconPosition === "top" && "8px" || "";
311
- }, function (props) {
312
- return props.hasLabelAndIcon && props.iconPosition === "left" && "12px" || "";
458
+ var TabList = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n min-height: ", "px;\n"])), function (props) {
459
+ return props.minHeightTabs;
460
+ });
461
+
462
+ var TabsContentScroll = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n ", ";\n transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n"])), function (props) {
463
+ return props.enabled ? "transform: translateX(".concat(props.translateScroll, "px)") : "transform: translateX(0px)";
313
464
  });
314
465
 
315
- DxcTabs.propTypes = {
316
- activeTabIndex: _propTypes["default"].number,
317
- onTabClick: _propTypes["default"].func,
318
- onTabHover: _propTypes["default"].func,
319
- tabs: _propTypes["default"].arrayOf(_propTypes["default"].shape({
320
- label: _propTypes["default"].string,
321
- icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
322
- iconSrc: _propTypes["default"].string,
323
- isDisabled: _propTypes["default"].bool,
324
- notificationNumber: _propTypes["default"].oneOfType([_propTypes["default"].bool, _propTypes["default"].string, _propTypes["default"].number])
325
- })),
326
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
327
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
328
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
329
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
330
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
331
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
332
- iconPosition: _propTypes["default"].oneOf(["top", "left"]),
333
- tabIndex: _propTypes["default"].number
334
- };
335
- DxcTabs.defaultProps = {
336
- activeTabIndex: null,
337
- tabs: [],
338
- onTabClick: function onTabClick() {},
339
- onTabHover: function onTabHover() {},
340
- iconPosition: "top"
341
- };
342
466
  var _default = DxcTabs;
343
467
  exports["default"] = _default;