@dxc-technology/halstack-react 0.0.0-e904570 → 0.0.0-e961efe

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 (247) hide show
  1. package/README.md +2 -2
  2. package/babel.config.js +5 -2
  3. package/dist/BackgroundColorContext.js +46 -0
  4. package/dist/ThemeContext.js +237 -2
  5. package/dist/V3Select/V3Select.js +549 -0
  6. package/dist/V3Select/index.d.ts +27 -0
  7. package/dist/V3Textarea/V3Textarea.js +264 -0
  8. package/dist/V3Textarea/index.d.ts +27 -0
  9. package/dist/accordion/Accordion.js +170 -81
  10. package/dist/accordion/index.d.ts +28 -0
  11. package/dist/accordion-group/AccordionGroup.js +186 -0
  12. package/dist/accordion-group/index.d.ts +16 -0
  13. package/dist/alert/Alert.js +184 -83
  14. package/dist/alert/index.d.ts +51 -0
  15. package/dist/badge/Badge.js +63 -0
  16. package/dist/box/Box.js +39 -19
  17. package/dist/box/index.d.ts +25 -0
  18. package/dist/button/Button.js +84 -29
  19. package/dist/button/index.d.ts +24 -0
  20. package/dist/card/Card.js +64 -56
  21. package/dist/card/index.d.ts +22 -0
  22. package/dist/checkbox/Checkbox.js +107 -32
  23. package/dist/checkbox/index.d.ts +24 -0
  24. package/dist/chip/Chip.js +135 -40
  25. package/dist/chip/index.d.ts +22 -0
  26. package/dist/common/RequiredComponent.js +2 -8
  27. package/dist/common/utils.js +2 -22
  28. package/dist/common/variables.js +1482 -105
  29. package/dist/date/Date.js +110 -73
  30. package/dist/date/index.d.ts +27 -0
  31. package/dist/date-input/DateInput.js +400 -0
  32. package/dist/date-input/index.d.ts +95 -0
  33. package/dist/dialog/Dialog.js +61 -36
  34. package/dist/dialog/index.d.ts +18 -0
  35. package/dist/dropdown/Dropdown.js +226 -94
  36. package/dist/dropdown/index.d.ts +26 -0
  37. package/dist/file-input/FileInput.js +644 -0
  38. package/dist/file-input/FileItem.js +287 -0
  39. package/dist/file-input/index.d.ts +81 -0
  40. package/dist/footer/Footer.js +125 -45
  41. package/dist/footer/Icons.js +77 -0
  42. package/dist/footer/index.d.ts +25 -0
  43. package/dist/header/Header.js +211 -91
  44. package/dist/header/Icons.js +59 -0
  45. package/dist/header/index.d.ts +25 -0
  46. package/dist/heading/Heading.js +93 -22
  47. package/dist/heading/index.d.ts +17 -0
  48. package/dist/input-text/Icons.js +22 -0
  49. package/dist/input-text/InputText.js +292 -106
  50. package/dist/input-text/index.d.ts +36 -0
  51. package/dist/layout/ApplicationLayout.js +327 -0
  52. package/dist/layout/Icons.js +55 -0
  53. package/dist/link/Link.js +142 -34
  54. package/dist/link/index.d.ts +23 -0
  55. package/dist/main.d.ts +40 -0
  56. package/dist/main.js +112 -16
  57. package/dist/number-input/NumberInput.js +136 -0
  58. package/dist/number-input/NumberInputContext.js +16 -0
  59. package/dist/number-input/index.d.ts +113 -0
  60. package/dist/paginator/Icons.js +66 -0
  61. package/dist/paginator/Paginator.js +184 -57
  62. package/dist/paginator/index.d.ts +20 -0
  63. package/dist/password-input/PasswordInput.js +203 -0
  64. package/dist/password-input/index.d.ts +94 -0
  65. package/dist/progress-bar/ProgressBar.js +97 -44
  66. package/dist/progress-bar/index.d.ts +18 -0
  67. package/dist/radio/Radio.js +39 -21
  68. package/dist/radio/index.d.ts +23 -0
  69. package/dist/resultsetTable/ResultsetTable.js +93 -69
  70. package/dist/resultsetTable/index.d.ts +19 -0
  71. package/dist/select/Select.js +917 -263
  72. package/dist/select/index.d.ts +53 -0
  73. package/dist/sidenav/Sidenav.js +87 -125
  74. package/dist/sidenav/index.d.ts +13 -0
  75. package/dist/slider/Slider.js +219 -73
  76. package/dist/slider/index.d.ts +29 -0
  77. package/dist/spinner/Spinner.js +249 -64
  78. package/dist/spinner/index.d.ts +17 -0
  79. package/dist/stories/Button.js +71 -0
  80. package/dist/stories/Button.stories.js +55 -0
  81. package/dist/stories/Header.js +67 -0
  82. package/dist/stories/Header.stories.js +31 -0
  83. package/dist/stories/Introduction.stories.mdx +211 -0
  84. package/dist/stories/Page.js +68 -0
  85. package/dist/stories/Page.stories.js +39 -0
  86. package/dist/stories/assets/code-brackets.svg +1 -0
  87. package/dist/stories/assets/colors.svg +1 -0
  88. package/dist/stories/assets/comments.svg +1 -0
  89. package/dist/stories/assets/direction.svg +1 -0
  90. package/dist/stories/assets/flow.svg +1 -0
  91. package/dist/stories/assets/plugin.svg +1 -0
  92. package/dist/stories/assets/repo.svg +1 -0
  93. package/dist/stories/assets/stackalt.svg +1 -0
  94. package/dist/stories/button.css +30 -0
  95. package/dist/stories/header.css +26 -0
  96. package/dist/stories/page.css +69 -0
  97. package/dist/switch/Switch.js +52 -25
  98. package/dist/switch/index.d.ts +24 -0
  99. package/dist/table/Table.js +63 -15
  100. package/dist/table/index.d.ts +13 -0
  101. package/dist/tabs/Tabs.js +210 -50
  102. package/dist/tabs/index.d.ts +19 -0
  103. package/dist/tag/Tag.js +100 -35
  104. package/dist/tag/index.d.ts +24 -0
  105. package/dist/text-input/TextInput.js +974 -0
  106. package/dist/text-input/index.d.ts +135 -0
  107. package/dist/textarea/Textarea.js +250 -107
  108. package/dist/textarea/index.d.ts +117 -0
  109. package/dist/toggle/Toggle.js +16 -19
  110. package/dist/toggle/index.d.ts +21 -0
  111. package/dist/toggle-group/ToggleGroup.js +327 -0
  112. package/dist/toggle-group/index.d.ts +21 -0
  113. package/dist/upload/Upload.js +13 -8
  114. package/dist/upload/buttons-upload/ButtonsUpload.js +35 -25
  115. package/dist/upload/buttons-upload/Icons.js +40 -0
  116. package/dist/upload/dragAndDropArea/DragAndDropArea.js +84 -37
  117. package/dist/upload/dragAndDropArea/Icons.js +39 -0
  118. package/dist/upload/file-upload/FileToUpload.js +64 -33
  119. package/dist/upload/file-upload/Icons.js +66 -0
  120. package/dist/upload/files-upload/FilesToUpload.js +16 -16
  121. package/dist/upload/index.d.ts +15 -0
  122. package/dist/upload/transaction/Icons.js +160 -0
  123. package/dist/upload/transaction/Transaction.js +42 -49
  124. package/dist/upload/transactions/Transactions.js +38 -20
  125. package/dist/useTheme.js +22 -0
  126. package/dist/wizard/Icons.js +65 -0
  127. package/dist/wizard/Wizard.js +156 -61
  128. package/dist/wizard/index.d.ts +18 -0
  129. package/package.json +26 -14
  130. package/test/AccordionGroup.test.js +125 -0
  131. package/test/Date.test.js +15 -13
  132. package/test/DateInput.test.js +242 -0
  133. package/test/Dropdown.test.js +19 -4
  134. package/test/FileInput.test.js +201 -0
  135. package/test/Footer.test.js +2 -7
  136. package/test/Header.test.js +5 -10
  137. package/test/Heading.test.js +60 -12
  138. package/test/InputText.test.js +31 -28
  139. package/test/Link.test.js +25 -7
  140. package/test/NumberInput.test.js +259 -0
  141. package/test/Paginator.test.js +76 -60
  142. package/test/PasswordInput.test.js +83 -0
  143. package/test/ResultsetTable.test.js +65 -17
  144. package/test/Select.test.js +371 -147
  145. package/test/Sidenav.test.js +22 -64
  146. package/test/Slider.test.js +24 -15
  147. package/test/Spinner.test.js +5 -0
  148. package/test/Tabs.test.js +21 -0
  149. package/test/TextInput.test.js +732 -0
  150. package/test/Textarea.test.js +193 -0
  151. package/test/ToggleGroup.test.js +85 -0
  152. package/test/Upload.test.js +1 -1
  153. package/test/V3Select.test.js +212 -0
  154. package/test/{TextArea.test.js → V3TextArea.test.js} +6 -7
  155. package/dist/accordion/Accordion.stories.js +0 -207
  156. package/dist/accordion/readme.md +0 -96
  157. package/dist/alert/Alert.stories.js +0 -158
  158. package/dist/alert/close.svg +0 -4
  159. package/dist/alert/error.svg +0 -4
  160. package/dist/alert/info.svg +0 -4
  161. package/dist/alert/readme.md +0 -43
  162. package/dist/alert/success.svg +0 -4
  163. package/dist/alert/warning.svg +0 -4
  164. package/dist/button/Button.stories.js +0 -224
  165. package/dist/button/readme.md +0 -93
  166. package/dist/checkbox/Checkbox.stories.js +0 -144
  167. package/dist/checkbox/readme.md +0 -116
  168. package/dist/common/services/example-service.js +0 -10
  169. package/dist/common/services/example-service.test.js +0 -12
  170. package/dist/date/Date.stories.js +0 -205
  171. package/dist/date/calendar.svg +0 -1
  172. package/dist/date/calendar_dark.svg +0 -1
  173. package/dist/date/readme.md +0 -73
  174. package/dist/dialog/Dialog.stories.js +0 -217
  175. package/dist/dialog/readme.md +0 -32
  176. package/dist/dropdown/Dropdown.stories.js +0 -249
  177. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  178. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  179. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  180. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  181. package/dist/dropdown/readme.md +0 -69
  182. package/dist/footer/Footer.stories.js +0 -94
  183. package/dist/footer/dxc_logo_wht.png +0 -0
  184. package/dist/footer/readme.md +0 -41
  185. package/dist/header/Header.stories.js +0 -176
  186. package/dist/header/close_icon.svg +0 -1
  187. package/dist/header/dxc_logo_black.png +0 -0
  188. package/dist/header/dxc_logo_white.png +0 -0
  189. package/dist/header/hamb_menu_black.svg +0 -1
  190. package/dist/header/hamb_menu_white.svg +0 -1
  191. package/dist/header/readme.md +0 -33
  192. package/dist/input-text/InputText.stories.js +0 -209
  193. package/dist/input-text/error.svg +0 -1
  194. package/dist/input-text/readme.md +0 -91
  195. package/dist/link/readme.md +0 -51
  196. package/dist/paginator/images/next.svg +0 -3
  197. package/dist/paginator/images/nextPage.svg +0 -3
  198. package/dist/paginator/images/previous.svg +0 -3
  199. package/dist/paginator/images/previousPage.svg +0 -3
  200. package/dist/paginator/readme.md +0 -50
  201. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  202. package/dist/progress-bar/readme.md +0 -63
  203. package/dist/radio/Radio.stories.js +0 -166
  204. package/dist/radio/readme.md +0 -70
  205. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  206. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  207. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  208. package/dist/select/Select.stories.js +0 -235
  209. package/dist/select/readme.md +0 -72
  210. package/dist/sidenav/arrow_icon.svg +0 -3
  211. package/dist/slider/Slider.stories.js +0 -241
  212. package/dist/slider/readme.md +0 -64
  213. package/dist/spinner/Spinner.stories.js +0 -183
  214. package/dist/spinner/readme.md +0 -65
  215. package/dist/switch/Switch.stories.js +0 -134
  216. package/dist/switch/readme.md +0 -133
  217. package/dist/tabs/Tabs.stories.js +0 -130
  218. package/dist/tabs/readme.md +0 -78
  219. package/dist/tabs-for-sections/TabsForSections.js +0 -107
  220. package/dist/tabs-for-sections/readme.md +0 -78
  221. package/dist/toggle/Toggle.stories.js +0 -297
  222. package/dist/toggle/readme.md +0 -80
  223. package/dist/upload/Upload.stories.js +0 -72
  224. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  225. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  226. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  227. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  228. package/dist/upload/file-upload/audio-icon.svg +0 -4
  229. package/dist/upload/file-upload/close.svg +0 -4
  230. package/dist/upload/file-upload/file-icon.svg +0 -4
  231. package/dist/upload/file-upload/video-icon.svg +0 -4
  232. package/dist/upload/readme.md +0 -37
  233. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  234. package/dist/upload/transaction/audio-icon.svg +0 -4
  235. package/dist/upload/transaction/error-icon.svg +0 -4
  236. package/dist/upload/transaction/file-icon-err.svg +0 -4
  237. package/dist/upload/transaction/file-icon.svg +0 -4
  238. package/dist/upload/transaction/image-icon-err.svg +0 -4
  239. package/dist/upload/transaction/image-icon.svg +0 -4
  240. package/dist/upload/transaction/success-icon.svg +0 -4
  241. package/dist/upload/transaction/video-icon-err.svg +0 -4
  242. package/dist/upload/transaction/video-icon.svg +0 -4
  243. package/dist/wizard/invalid_icon.svg +0 -6
  244. package/dist/wizard/valid_icon.svg +0 -6
  245. package/dist/wizard/validation-wrong.svg +0 -6
  246. package/test/TabsForSections.test.js +0 -34
  247. package/test/Toggle.test.js +0 -43
package/dist/tabs/Tabs.js CHANGED
@@ -11,13 +11,15 @@ exports["default"] = void 0;
11
11
 
12
12
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
13
 
14
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
-
16
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
17
15
 
16
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
17
+
18
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
19
+
18
20
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
21
 
20
- var _react = _interopRequireWildcard(require("react"));
22
+ var _react = _interopRequireDefault(require("react"));
21
23
 
22
24
  var _Tabs = _interopRequireDefault(require("@material-ui/core/Tabs"));
23
25
 
@@ -27,15 +29,75 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
27
29
 
28
30
  var _propTypes = _interopRequireDefault(require("prop-types"));
29
31
 
30
- require("../common/OpenSans.css");
31
-
32
32
  var _variables = require("../common/variables.js");
33
33
 
34
- var _ThemeContext = _interopRequireDefault(require("../ThemeContext.js"));
34
+ var _Badge = _interopRequireDefault(require("../badge/Badge"));
35
35
 
36
- function _templateObject3() {
36
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
37
+
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"]);
40
+
41
+ _templateObject9 = function _templateObject9() {
42
+ return data;
43
+ };
44
+
45
+ return data;
46
+ }
47
+
48
+ function _templateObject8() {
37
49
  var data = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 22px;\n max-width: 22px;\n"]);
38
50
 
51
+ _templateObject8 = function _templateObject8() {
52
+ return data;
53
+ };
54
+
55
+ return data;
56
+ }
57
+
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"]);
60
+
61
+ _templateObject7 = function _templateObject7() {
62
+ return data;
63
+ };
64
+
65
+ return data;
66
+ }
67
+
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"]);
70
+
71
+ _templateObject6 = function _templateObject6() {
72
+ return data;
73
+ };
74
+
75
+ return data;
76
+ }
77
+
78
+ function _templateObject5() {
79
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n margin-left: ", ";\n margin-right: ", ";\n"]);
80
+
81
+ _templateObject5 = function _templateObject5() {
82
+ return data;
83
+ };
84
+
85
+ return data;
86
+ }
87
+
88
+ function _templateObject4() {
89
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n right: 0;\n top: ", ";\n width: 23px;\n height: 17px;\n"]);
90
+
91
+ _templateObject4 = function _templateObject4() {
92
+ return data;
93
+ };
94
+
95
+ return data;
96
+ }
97
+
98
+ function _templateObject3() {
99
+ var data = (0, _taggedTemplateLiteral2["default"])([""]);
100
+
39
101
  _templateObject3 = function _templateObject3() {
40
102
  return data;
41
103
  };
@@ -44,7 +106,7 @@ function _templateObject3() {
44
106
  }
45
107
 
46
108
  function _templateObject2() {
47
- var data = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n .MuiTabs-root {\n background: white;\n .MuiTabs-scroller {\n .MuiTabs-flexContainer + span {\n z-index: 4;\n }\n }\n .MuiButtonBase-root {\n padding: 12px;\n min-height: 48px;\n height: auto;\n font-family: \"Open Sans\", sans-serif;\n font-size: 14px;\n /* height: 64px cuando vengan con icono y texto */\n min-width: 180px;\n background-color: ", ";\n color: ", ";\n opacity: ", ";\n &:hover:not(.Mui-selected):not(.Mui-disabled) {\n opacity: ", ";\n background-color: ", ";\n color: ", ";\n }\n\n &.Mui-selected {\n background-color: ", ";\n color: ", ";\n opacity: 1;\n }\n &.Mui-disabled {\n cursor: not-allowed !important;\n pointer-events: all;\n opacity: ", ";\n }\n }\n .MuiTabs-indicator {\n background-color: ", ";\n }\n }\n"]);
109
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: ", ";\n align-items: center;\n"]);
48
110
 
49
111
  _templateObject2 = function _templateObject2() {
50
112
  return data;
@@ -54,7 +116,7 @@ function _templateObject2() {
54
116
  }
55
117
 
56
118
  function _templateObject() {
57
- var data = (0, _taggedTemplateLiteral2["default"])(["\n left: 0px;\n bottom: 0;\n width: 100%;\n height: 2px;\n position: absolute;\n background-color: #d9d9d9;\n z-index: 2;\n"]);
119
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n"]);
58
120
 
59
121
  _templateObject = function _templateObject() {
60
122
  return data;
@@ -64,24 +126,26 @@ function _templateObject() {
64
126
  }
65
127
 
66
128
  var DxcTabs = function DxcTabs(_ref) {
67
- var _ref$mode = _ref.mode,
68
- mode = _ref$mode === void 0 ? "filled" : _ref$mode,
69
- _ref$theme = _ref.theme,
70
- theme = _ref$theme === void 0 ? "light" : _ref$theme,
71
- _ref$disableRipple = _ref.disableRipple,
72
- disableRipple = _ref$disableRipple === void 0 ? false : _ref$disableRipple,
73
- activeTabIndex = _ref.activeTabIndex,
129
+ var activeTabIndex = _ref.activeTabIndex,
74
130
  _ref$tabs = _ref.tabs,
75
131
  tabs = _ref$tabs === void 0 ? [] : _ref$tabs,
76
132
  onTabClick = _ref.onTabClick,
77
- margin = _ref.margin;
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;
78
139
 
79
140
  var _React$useState = _react["default"].useState(0),
80
141
  _React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
81
142
  innerActiveTabIndex = _React$useState2[0],
82
143
  setInnerActiveTabIndex = _React$useState2[1];
83
144
 
84
- var colorsTheme = (0, _react.useContext)(_ThemeContext["default"]) || _variables.colors;
145
+ var colorsTheme = (0, _useTheme["default"])();
146
+ var hasLabelAndIcon = tabs && tabs.filter(function (tab) {
147
+ return tab.label && tab.icon;
148
+ }).length > 0;
85
149
 
86
150
  var handleChange = function handleChange(event, newValue) {
87
151
  if (activeTabIndex == null) {
@@ -93,33 +157,90 @@ var DxcTabs = function DxcTabs(_ref) {
93
157
  }
94
158
  };
95
159
 
160
+ var getTabIndex = function getTabIndex(index, disabled) {
161
+ return (activeTabIndex === index || innerActiveTabIndex === index) && !disabled ? tabIndex : -1;
162
+ };
163
+
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
+ })));
181
+ };
182
+
96
183
  return _react["default"].createElement(_styledComponents.ThemeProvider, {
97
- theme: colorsTheme
184
+ theme: colorsTheme.tabs
98
185
  }, _react["default"].createElement(DxCTabs, {
99
- mode: mode,
100
- brightness: theme,
101
- margin: margin
186
+ margin: margin,
187
+ hasLabelAndIcon: hasLabelAndIcon,
188
+ iconPosition: iconPosition
102
189
  }, _react["default"].createElement(Underline, null), _react["default"].createElement(_Tabs["default"], {
103
190
  value: activeTabIndex != null ? activeTabIndex : innerActiveTabIndex,
104
191
  onChange: handleChange,
105
192
  variant: "scrollable",
106
- scrollButtons: "off"
193
+ scrollButtons: "auto"
107
194
  }, 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
+
108
203
  return _react["default"].createElement(_Tab["default"], {
204
+ tabIndex: (activeTabIndex === i || innerActiveTabIndex === i) && !tab.isDisabled ? tabIndex : -1,
109
205
  key: "tab".concat(i).concat(tab.label),
110
- label: tab.label,
111
- icon: tab.iconSrc && _react["default"].createElement(TabIcon, {
112
- src: tab.iconSrc
113
- }),
206
+ label: getLabelForTab(tab),
114
207
  disabled: tab.isDisabled,
115
- disableRipple: disableRipple
208
+ disableRipple: true,
209
+ onMouseEnter: function onMouseEnter() {
210
+ onTabHover(i);
211
+ },
212
+ onMouseLeave: function onMouseLeave() {
213
+ onTabHover(null);
214
+ }
116
215
  });
117
216
  }))));
118
217
  };
119
218
 
120
- var Underline = _styledComponents["default"].div(_templateObject());
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());
121
226
 
122
- var DxCTabs = _styledComponents["default"].div(_templateObject2(), function (props) {
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) {
238
+ return props.theme.dividerThickness;
239
+ }, function (props) {
240
+ return props.theme.dividerColor;
241
+ });
242
+
243
+ var DxCTabs = _styledComponents["default"].div(_templateObject7(), function (props) {
123
244
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
124
245
  }, function (props) {
125
246
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
@@ -130,54 +251,93 @@ var DxCTabs = _styledComponents["default"].div(_templateObject2(), function (pro
130
251
  }, function (props) {
131
252
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
132
253
  }, function (props) {
133
- return props.mode === "filled" ? props.brightness === "dark" ? props.theme.darkGrey : props.theme.lightGrey : "transparent";
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) {
268
+ return (!props.hasLabelAndIcon || props.hasLabelAndIcon && props.iconPosition !== "top") && "48px" || "72px";
269
+ }, function (props) {
270
+ return (!props.hasLabelAndIcon || props.hasLabelAndIcon && props.iconPosition !== "top") && "48px" || "72px";
271
+ }, function (props) {
272
+ return "".concat(props.theme.hoverBackgroundColor, " !important");
134
273
  }, function (props) {
135
- return props.mode === "filled" ? props.brightness === "dark" ? props.theme.white : props.theme.darkGrey : props.theme.darkGrey;
274
+ return "".concat(props.theme.pressedBackgroundColor, " !important");
136
275
  }, function (props) {
137
- return props.mode === "filled" ? props.brightness === "dark" ? 0.8 : 0.5 : 0.5;
276
+ return "".concat(props.theme.pressedFontWeight, " !important");
138
277
  }, function (props) {
139
- return props.mode === "filled" ? props.brightness === "light" ? 0.8 : 1 : 1;
278
+ return props.theme.unselectedBackgroundColor;
140
279
  }, function (props) {
141
- return props.mode === "filled" ? props.theme.darkGrey : "transparent";
280
+ return props.theme.unselectedFontColor;
142
281
  }, function (props) {
143
- return props.mode === "filled" ? props.theme.white : props.theme.darkGrey;
282
+ return props.theme.unselectedIconColor;
144
283
  }, function (props) {
145
- return props.mode === "filled" ? props.brightness === "dark" ? props.theme.white : props.theme.black : "transparent";
284
+ return props.theme.selectedBackgroundColor;
146
285
  }, function (props) {
147
- return props.mode === "filled" ? props.brightness === "dark" ? props.theme.black : props.theme.white : props.theme.black;
286
+ return props.theme.selectedFontColor;
148
287
  }, function (props) {
149
- return props.mode === "underlined" ? "0.4" : "";
288
+ return props.theme.selectedIconColor;
150
289
  }, function (props) {
151
- return props.mode === "filled" ? props.theme.yellow : props.theme.black;
290
+ return props.theme.disabledFontColor;
291
+ }, function (props) {
292
+ return props.theme.disabledFontStyle;
293
+ }, function (props) {
294
+ return props.theme.disabledIconColor;
295
+ }, function (props) {
296
+ return props.theme.focusOutline;
297
+ }, function (props) {
298
+ return props.theme.selectedUnderlineColor;
299
+ }, function (props) {
300
+ return props.theme.selectedUnderlineThickness;
301
+ }, function (props) {
302
+ return props.theme.scrollButtonsWidth;
303
+ }, function (props) {
304
+ return props.theme.scrollButtonsWidth;
152
305
  });
153
306
 
154
- var TabIcon = _styledComponents["default"].img(_templateObject3());
307
+ var TabIcon = _styledComponents["default"].img(_templateObject8());
308
+
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" || "";
313
+ });
155
314
 
156
315
  DxcTabs.propTypes = {
157
- mode: _propTypes["default"].oneOf(["filled", "underlined"]),
158
- theme: _propTypes["default"].oneOf(["light", "dark"]),
159
- disableRipple: _propTypes["default"].bool,
160
316
  activeTabIndex: _propTypes["default"].number,
161
317
  onTabClick: _propTypes["default"].func,
318
+ onTabHover: _propTypes["default"].func,
162
319
  tabs: _propTypes["default"].arrayOf(_propTypes["default"].shape({
163
320
  label: _propTypes["default"].string,
321
+ icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
164
322
  iconSrc: _propTypes["default"].string,
165
- isDisabled: _propTypes["default"]["boolean"]
323
+ isDisabled: _propTypes["default"].bool,
324
+ notificationNumber: _propTypes["default"].oneOfType([_propTypes["default"].bool, _propTypes["default"].string, _propTypes["default"].number])
166
325
  })),
167
326
  margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
168
327
  top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
169
328
  bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
170
329
  left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
171
330
  right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
172
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(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
173
334
  };
174
335
  DxcTabs.defaultProps = {
175
- mode: "filled",
176
- theme: "light",
177
- disableRipple: false,
178
336
  activeTabIndex: null,
179
337
  tabs: [],
180
- onTabClick: function onTabClick() {}
338
+ onTabClick: function onTabClick() {},
339
+ onTabHover: function onTabHover() {},
340
+ iconPosition: "top"
181
341
  };
182
342
  var _default = DxcTabs;
183
343
  exports["default"] = _default;
@@ -0,0 +1,19 @@
1
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
+ type Margin = {
3
+ top?: Space;
4
+ bottom?: Space;
5
+ left?: Space;
6
+ right?: Space;
7
+ };
8
+
9
+ type Props = {
10
+ activeTabIndex?: number;
11
+ tabs?: any;
12
+ onTabClick?: void;
13
+ onTabHover?: void;
14
+ iconPosition?: "top" | "left";
15
+ margin?: Space | Margin;
16
+ tabIndex?: number;
17
+ };
18
+
19
+ export default function DxcTabs(props: Props): JSX.Element;
package/dist/tag/Tag.js CHANGED
@@ -11,24 +11,46 @@ exports["default"] = void 0;
11
11
 
12
12
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
13
 
14
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
-
16
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
17
15
 
16
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
17
+
18
18
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
19
 
20
20
  var _react = _interopRequireWildcard(require("react"));
21
21
 
22
- var _styledComponents = _interopRequireDefault(require("styled-components"));
22
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
23
 
24
24
  var _propTypes = _interopRequireDefault(require("prop-types"));
25
25
 
26
26
  var _variables = require("../common/variables.js");
27
27
 
28
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
29
+
28
30
  var _Box = _interopRequireDefault(require("../box/Box"));
29
31
 
32
+ function _templateObject8() {
33
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n flex-grow: 1;\n text-align: center;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n"]);
34
+
35
+ _templateObject8 = function _templateObject8() {
36
+ return data;
37
+ };
38
+
39
+ return data;
40
+ }
41
+
42
+ function _templateObject7() {
43
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n background: ", ";\n width: ", ";\n height: 100%;\n justify-content: center;\n align-items: center;\n color: ", ";\n"]);
44
+
45
+ _templateObject7 = function _templateObject7() {
46
+ return data;
47
+ };
48
+
49
+ return data;
50
+ }
51
+
30
52
  function _templateObject6() {
31
- var data = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0px 30px;\n font-size: 14px;\n text-transform: uppercase;\n letter-spacing: 1px;\n color: black;\n flex-grow: 1;\n text-align: center;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n \n"]);
53
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n\n img,\n svg {\n width: ", ";\n height: ", ";\n }\n"]);
32
54
 
33
55
  _templateObject6 = function _templateObject6() {
34
56
  return data;
@@ -38,7 +60,7 @@ function _templateObject6() {
38
60
  }
39
61
 
40
62
  function _templateObject5() {
41
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n background: ", ";\n width: 48px;\n justify-content: center;\n"]);
63
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n width: ", ";\n height: ", ";\n"]);
42
64
 
43
65
  _templateObject5 = function _templateObject5() {
44
66
  return data;
@@ -48,7 +70,7 @@ function _templateObject5() {
48
70
  }
49
71
 
50
72
  function _templateObject4() {
51
- var data = (0, _taggedTemplateLiteral2["default"])(["\n padding: 10px 12px;\n height: 23px;\n"]);
73
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n background: none;\n border-radius: 4px;\n border: none;\n padding: 0;\n cursor: pointer;\n font-family: inherit;\n\n :focus {\n outline: 2px solid ", ";\n }\n"]);
52
74
 
53
75
  _templateObject4 = function _templateObject4() {
54
76
  return data;
@@ -58,7 +80,7 @@ function _templateObject4() {
58
80
  }
59
81
 
60
82
  function _templateObject3() {
61
- var data = (0, _taggedTemplateLiteral2["default"])(["\n text-decoration: none;\n"]);
83
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n text-decoration: none;\n border-radius: 4px;\n\n :focus {\n outline: 2px solid ", ";\n outline-offset: 0px;\n }\n"]);
62
84
 
63
85
  _templateObject3 = function _templateObject3() {
64
86
  return data;
@@ -68,7 +90,7 @@ function _templateObject3() {
68
90
  }
69
91
 
70
92
  function _templateObject2() {
71
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: center;\n background-color: white;\n flex-direction: ", ";\n width: ", ";\n"]);
93
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: center;\n flex-direction: ", ";\n width: ", ";\n height: ", ";\n"]);
72
94
 
73
95
  _templateObject2 = function _templateObject2() {
74
96
  return data;
@@ -78,7 +100,7 @@ function _templateObject2() {
78
100
  }
79
101
 
80
102
  function _templateObject() {
81
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n cursor: ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"]);
103
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n cursor: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"]);
82
104
 
83
105
  _templateObject = function _templateObject() {
84
106
  return data;
@@ -88,17 +110,23 @@ function _templateObject() {
88
110
  }
89
111
 
90
112
  var DxcTag = function DxcTag(_ref) {
91
- var iconSrc = _ref.iconSrc,
113
+ var icon = _ref.icon,
114
+ iconSrc = _ref.iconSrc,
92
115
  label = _ref.label,
93
116
  margin = _ref.margin,
94
117
  linkHref = _ref.linkHref,
95
118
  onClick = _ref.onClick,
96
119
  _ref$iconBgColor = _ref.iconBgColor,
97
- iconBgColor = _ref$iconBgColor === void 0 ? "black" : _ref$iconBgColor,
120
+ iconBgColor = _ref$iconBgColor === void 0 ? "#5f249f" : _ref$iconBgColor,
98
121
  _ref$labelPosition = _ref.labelPosition,
99
122
  labelPosition = _ref$labelPosition === void 0 ? "after" : _ref$labelPosition,
123
+ _ref$newWindow = _ref.newWindow,
124
+ newWindow = _ref$newWindow === void 0 ? false : _ref$newWindow,
100
125
  _ref$size = _ref.size,
101
- size = _ref$size === void 0 ? "fitContent" : _ref$size;
126
+ size = _ref$size === void 0 ? "fitContent" : _ref$size,
127
+ _ref$tabIndex = _ref.tabIndex,
128
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
129
+ var colorsTheme = (0, _useTheme["default"])();
102
130
 
103
131
  var _useState = (0, _react.useState)(false),
104
132
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
@@ -106,9 +134,7 @@ var DxcTag = function DxcTag(_ref) {
106
134
  changeIsHovered = _useState2[1];
107
135
 
108
136
  var clickHandler = function clickHandler() {
109
- if (onClick) {
110
- onClick();
111
- }
137
+ onClick && onClick();
112
138
  };
113
139
 
114
140
  var tagContent = _react["default"].createElement(_Box["default"], {
@@ -116,15 +142,16 @@ var DxcTag = function DxcTag(_ref) {
116
142
  shadowDepth: isHovered && (onClick || linkHref) && 2 || 1
117
143
  }, _react["default"].createElement(TagContent, {
118
144
  labelPosition: labelPosition,
119
- margin: margin,
120
145
  size: size
121
146
  }, _react["default"].createElement(IconContainer, {
122
147
  iconBgColor: iconBgColor
123
- }, _react["default"].createElement(TagIcon, {
148
+ }, icon ? _react["default"].createElement(TagIconContainer, null, (0, _typeof2["default"])(icon) === "object" ? icon : _react["default"].createElement(icon)) : _react["default"].createElement(TagIcon, {
124
149
  src: iconSrc
125
150
  })), size !== "small" && _react["default"].createElement(TagLabel, null, label)));
126
151
 
127
- return _react["default"].createElement(StyledDxcTag, {
152
+ return _react["default"].createElement(_styledComponents.ThemeProvider, {
153
+ theme: colorsTheme.tag
154
+ }, _react["default"].createElement(StyledDxcTag, {
128
155
  margin: margin,
129
156
  onMouseEnter: function onMouseEnter() {
130
157
  return changeIsHovered(true);
@@ -134,9 +161,13 @@ var DxcTag = function DxcTag(_ref) {
134
161
  },
135
162
  onClick: clickHandler,
136
163
  hasAction: onClick || linkHref
137
- }, linkHref && _react["default"].createElement(StyledLink, {
138
- href: linkHref
139
- }, tagContent) || tagContent);
164
+ }, onClick ? _react["default"].createElement(StyledButton, {
165
+ tabIndex: tabIndex
166
+ }, tagContent) : linkHref ? _react["default"].createElement(StyledLink, {
167
+ tabIndex: tabIndex,
168
+ href: linkHref,
169
+ target: newWindow ? "_blank" : "_self"
170
+ }, tagContent) : tagContent));
140
171
  };
141
172
 
142
173
  var sizes = {
@@ -176,42 +207,76 @@ var TagContent = _styledComponents["default"].div(_templateObject2(), function (
176
207
  return labelPosition === "before" && "row-reverse" || "row";
177
208
  }, function (props) {
178
209
  return calculateWidth(props.size);
210
+ }, function (props) {
211
+ return props.theme.height;
179
212
  });
180
213
 
181
- var StyledLink = _styledComponents["default"].a(_templateObject3());
214
+ var StyledLink = _styledComponents["default"].a(_templateObject3(), function (props) {
215
+ return props.theme.focusColor;
216
+ });
217
+
218
+ var StyledButton = _styledComponents["default"].button(_templateObject4(), function (props) {
219
+ return props.theme.focusColor;
220
+ });
221
+
222
+ var TagIcon = _styledComponents["default"].img(_templateObject5(), function (props) {
223
+ return props.theme.iconWidth;
224
+ }, function (props) {
225
+ return props.theme.iconHeight;
226
+ });
182
227
 
183
- var TagIcon = _styledComponents["default"].img(_templateObject4());
228
+ var TagIconContainer = _styledComponents["default"].div(_templateObject6(), function (props) {
229
+ return props.theme.iconWidth;
230
+ }, function (props) {
231
+ return props.theme.iconHeight;
232
+ });
184
233
 
185
- var IconContainer = _styledComponents["default"].div(_templateObject5(), function (_ref9) {
234
+ var IconContainer = _styledComponents["default"].div(_templateObject7(), function (_ref9) {
186
235
  var iconBgColor = _ref9.iconBgColor;
187
236
  return iconBgColor;
237
+ }, function (props) {
238
+ return props.theme.iconSectionWidth;
239
+ }, function (props) {
240
+ return props.theme.iconColor;
188
241
  });
189
242
 
190
- var TagLabel = _styledComponents["default"].div(_templateObject6());
243
+ var TagLabel = _styledComponents["default"].div(_templateObject8(), function (props) {
244
+ return props.theme.fontFamily;
245
+ }, function (props) {
246
+ return props.theme.fontSize;
247
+ }, function (props) {
248
+ return props.theme.fontStyle;
249
+ }, function (props) {
250
+ return props.theme.fontWeight;
251
+ }, function (props) {
252
+ return props.theme.fontColor;
253
+ }, function (props) {
254
+ return props.theme.labelPaddingTop;
255
+ }, function (props) {
256
+ return props.theme.labelPaddingBottom;
257
+ }, function (props) {
258
+ return props.theme.labelPaddingLeft;
259
+ }, function (props) {
260
+ return props.theme.labelPaddingRight;
261
+ });
191
262
 
192
263
  DxcTag.propTypes = {
193
264
  size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
265
+ icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
194
266
  iconSrc: _propTypes["default"].string,
195
267
  iconBgColor: _propTypes["default"].string,
196
268
  label: _propTypes["default"].string,
197
269
  labelPosition: _propTypes["default"].oneOf(["before", "after"]),
198
270
  linkHref: _propTypes["default"].string,
199
271
  onClick: _propTypes["default"].func,
272
+ newWindow: _propTypes["default"].bool,
200
273
  margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
201
274
  top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
202
275
  bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
203
276
  left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
204
277
  right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
205
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
206
- };
207
- DxcTag.defaultProps = {
208
- iconSrc: null,
209
- label: null,
210
- margin: null,
211
- linkHref: null,
212
- onClick: null,
213
- iconBgColor: "black",
214
- labelPosition: "after"
278
+ }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
279
+ tabIndex: _propTypes["default"].number
215
280
  };
216
281
  var _default = DxcTag;
217
282
  exports["default"] = _default;