@dxc-technology/halstack-react 0.0.0-f64ebd5 → 0.0.0-f77ec3a

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 +1 -1
  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 +174 -63
  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 +183 -84
  14. package/dist/alert/index.d.ts +51 -0
  15. package/dist/badge/Badge.js +63 -0
  16. package/dist/box/Box.js +31 -23
  17. package/dist/box/index.d.ts +25 -0
  18. package/dist/button/Button.js +85 -28
  19. package/dist/button/index.d.ts +24 -0
  20. package/dist/card/Card.js +72 -35
  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 +128 -36
  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 +1451 -277
  29. package/dist/date/Date.js +81 -59
  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 +58 -37
  34. package/dist/dialog/index.d.ts +18 -0
  35. package/dist/dropdown/Dropdown.js +205 -85
  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 +121 -46
  41. package/dist/footer/Icons.js +77 -0
  42. package/dist/footer/index.d.ts +25 -0
  43. package/dist/header/Header.js +200 -102
  44. package/dist/header/Icons.js +59 -0
  45. package/dist/header/index.d.ts +25 -0
  46. package/dist/heading/Heading.js +93 -16
  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 +289 -103
  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 +136 -35
  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 +172 -63
  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 +95 -38
  66. package/dist/progress-bar/index.d.ts +18 -0
  67. package/dist/radio/Radio.js +39 -17
  68. package/dist/radio/index.d.ts +23 -0
  69. package/dist/resultsetTable/ResultsetTable.js +93 -68
  70. package/dist/resultsetTable/index.d.ts +19 -0
  71. package/dist/select/Select.js +916 -265
  72. package/dist/select/index.d.ts +53 -0
  73. package/dist/sidenav/Sidenav.js +84 -141
  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 +247 -59
  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 +50 -27
  98. package/dist/switch/index.d.ts +24 -0
  99. package/dist/table/Table.js +58 -13
  100. package/dist/table/index.d.ts +13 -0
  101. package/dist/tabs/Tabs.js +207 -36
  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 +248 -106
  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 +32 -19
  115. package/dist/upload/buttons-upload/Icons.js +40 -0
  116. package/dist/upload/dragAndDropArea/DragAndDropArea.js +84 -34
  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 +138 -60
  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 +15 -0
  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,17 +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 _utils = require("../common/utils.js");
34
+ var _Badge = _interopRequireDefault(require("../badge/Badge"));
35
35
 
36
- var _ThemeContext = _interopRequireDefault(require("../ThemeContext.js"));
36
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
37
37
 
38
- function _templateObject3() {
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() {
39
49
  var data = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 22px;\n max-width: 22px;\n"]);
40
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
+
41
101
  _templateObject3 = function _templateObject3() {
42
102
  return data;
43
103
  };
@@ -46,7 +106,7 @@ function _templateObject3() {
46
106
  }
47
107
 
48
108
  function _templateObject2() {
49
- 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 color: ", ";\n &:not(.Mui-selected) {\n background-color: ", ";\n color: ", ";\n }\n &.Mui-selected {\n background-color: ", ";\n color: ", ";\n }\n &.Mui-disabled {\n cursor: not-allowed !important;\n pointer-events: all;\n opacity: ", ";\n }\n &:focus {\n outline: ", " auto 1px;\n margin: 1px;\n }\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"]);
50
110
 
51
111
  _templateObject2 = function _templateObject2() {
52
112
  return data;
@@ -56,7 +116,7 @@ function _templateObject2() {
56
116
  }
57
117
 
58
118
  function _templateObject() {
59
- var data = (0, _taggedTemplateLiteral2["default"])(["\n left: 0px;\n bottom: 0;\n width: 100%;\n height: 2px;\n position: absolute;\n background-color: ", ";\n"]);
119
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n"]);
60
120
 
61
121
  _templateObject = function _templateObject() {
62
122
  return data;
@@ -70,17 +130,22 @@ var DxcTabs = function DxcTabs(_ref) {
70
130
  _ref$tabs = _ref.tabs,
71
131
  tabs = _ref$tabs === void 0 ? [] : _ref$tabs,
72
132
  onTabClick = _ref.onTabClick,
73
- 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;
74
139
 
75
140
  var _React$useState = _react["default"].useState(0),
76
141
  _React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
77
142
  innerActiveTabIndex = _React$useState2[0],
78
143
  setInnerActiveTabIndex = _React$useState2[1];
79
144
 
80
- var customTheme = (0, _react.useContext)(_ThemeContext["default"]);
81
- var colorsTheme = (0, _react.useMemo)(function () {
82
- return (0, _utils.getCustomTheme)(_variables.theme, (0, _utils.getCustomTheme)(_variables.defaultTheme, customTheme));
83
- }, [customTheme]);
145
+ var colorsTheme = (0, _useTheme["default"])();
146
+ var hasLabelAndIcon = tabs && tabs.filter(function (tab) {
147
+ return tab.label && tab.icon;
148
+ }).length > 0;
84
149
 
85
150
  var handleChange = function handleChange(event, newValue) {
86
151
  if (activeTabIndex == null) {
@@ -92,33 +157,90 @@ var DxcTabs = function DxcTabs(_ref) {
92
157
  }
93
158
  };
94
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
+
95
183
  return _react["default"].createElement(_styledComponents.ThemeProvider, {
96
184
  theme: colorsTheme.tabs
97
185
  }, _react["default"].createElement(DxCTabs, {
98
- margin: margin
186
+ margin: margin,
187
+ hasLabelAndIcon: hasLabelAndIcon,
188
+ iconPosition: iconPosition
99
189
  }, _react["default"].createElement(Underline, null), _react["default"].createElement(_Tabs["default"], {
100
190
  value: activeTabIndex != null ? activeTabIndex : innerActiveTabIndex,
101
191
  onChange: handleChange,
102
192
  variant: "scrollable",
103
- scrollButtons: "off"
193
+ scrollButtons: "auto"
104
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
+
105
203
  return _react["default"].createElement(_Tab["default"], {
204
+ tabIndex: (activeTabIndex === i || innerActiveTabIndex === i) && !tab.isDisabled ? tabIndex : -1,
106
205
  key: "tab".concat(i).concat(tab.label),
107
- label: tab.label,
108
- icon: tab.iconSrc && _react["default"].createElement(TabIcon, {
109
- src: tab.iconSrc
110
- }),
206
+ label: getLabelForTab(tab),
111
207
  disabled: tab.isDisabled,
112
- disableRipple: true
208
+ disableRipple: true,
209
+ onMouseEnter: function onMouseEnter() {
210
+ onTabHover(i);
211
+ },
212
+ onMouseLeave: function onMouseLeave() {
213
+ onTabHover(null);
214
+ }
113
215
  });
114
216
  }))));
115
217
  };
116
218
 
117
- var Underline = _styledComponents["default"].div(_templateObject(), function (props) {
118
- return props.theme.underlinedColor;
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) {
238
+ return props.theme.dividerThickness;
239
+ }, function (props) {
240
+ return props.theme.dividerColor;
119
241
  });
120
242
 
121
- var DxCTabs = _styledComponents["default"].div(_templateObject2(), function (props) {
243
+ var DxCTabs = _styledComponents["default"].div(_templateObject7(), function (props) {
122
244
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
123
245
  }, function (props) {
124
246
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
@@ -129,44 +251,93 @@ var DxCTabs = _styledComponents["default"].div(_templateObject2(), function (pro
129
251
  }, function (props) {
130
252
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
131
253
  }, function (props) {
132
- return props.theme.fontColor;
254
+ return (!props.hasLabelAndIcon || props.hasLabelAndIcon && props.iconPosition !== "top") && "48px" || "72px";
133
255
  }, function (props) {
134
- return "".concat(props.theme.selectedBackgroundColor).concat(props.theme.backgroundColor);
256
+ return props.theme.fontTextTransform;
135
257
  }, function (props) {
136
- return "".concat(props.theme.fontColor).concat(props.theme.notSelectedOpacity);
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");
273
+ }, function (props) {
274
+ return "".concat(props.theme.pressedBackgroundColor, " !important");
275
+ }, function (props) {
276
+ return "".concat(props.theme.pressedFontWeight, " !important");
277
+ }, function (props) {
278
+ return props.theme.unselectedBackgroundColor;
279
+ }, function (props) {
280
+ return props.theme.unselectedFontColor;
281
+ }, function (props) {
282
+ return props.theme.unselectedIconColor;
137
283
  }, function (props) {
138
284
  return props.theme.selectedBackgroundColor;
139
285
  }, function (props) {
140
- return props.theme.selectedColor;
286
+ return props.theme.selectedFontColor;
287
+ }, function (props) {
288
+ return props.theme.selectedIconColor;
289
+ }, function (props) {
290
+ return props.theme.disabledFontColor;
291
+ }, function (props) {
292
+ return props.theme.disabledFontStyle;
293
+ }, function (props) {
294
+ return props.theme.disabledIconColor;
141
295
  }, function (props) {
142
- return props.theme.disabled;
296
+ return props.theme.focusOutline;
143
297
  }, function (props) {
144
- return props.theme.focusColor;
298
+ return props.theme.selectedUnderlineColor;
145
299
  }, function (props) {
146
- return props.theme.selectedUnderlinedColor;
300
+ return props.theme.selectedUnderlineThickness;
301
+ }, function (props) {
302
+ return props.theme.scrollButtonsWidth;
303
+ }, function (props) {
304
+ return props.theme.scrollButtonsWidth;
147
305
  });
148
306
 
149
- 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
+ });
150
314
 
151
315
  DxcTabs.propTypes = {
152
316
  activeTabIndex: _propTypes["default"].number,
153
317
  onTabClick: _propTypes["default"].func,
318
+ onTabHover: _propTypes["default"].func,
154
319
  tabs: _propTypes["default"].arrayOf(_propTypes["default"].shape({
155
320
  label: _propTypes["default"].string,
321
+ icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
156
322
  iconSrc: _propTypes["default"].string,
157
- isDisabled: _propTypes["default"]["boolean"]
323
+ isDisabled: _propTypes["default"].bool,
324
+ notificationNumber: _propTypes["default"].oneOfType([_propTypes["default"].bool, _propTypes["default"].string, _propTypes["default"].number])
158
325
  })),
159
326
  margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
160
327
  top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
161
328
  bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
162
329
  left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
163
330
  right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
164
- }), _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
165
334
  };
166
335
  DxcTabs.defaultProps = {
167
336
  activeTabIndex: null,
168
337
  tabs: [],
169
- onTabClick: function onTabClick() {}
338
+ onTabClick: function onTabClick() {},
339
+ onTabHover: function onTabHover() {},
340
+ iconPosition: "top"
170
341
  };
171
342
  var _default = DxcTabs;
172
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"]);
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 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;
@@ -0,0 +1,24 @@
1
+ type Size = "small" | "medium" | "large" | "fillParent" | "fitContent";
2
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ type Margin = {
4
+ top?: Space;
5
+ bottom?: Space;
6
+ left?: Space;
7
+ right?: Space;
8
+ };
9
+
10
+ type Props = {
11
+ icon?: any;
12
+ iconSrc?: string;
13
+ label?: string;
14
+ linkHref?: string;
15
+ onClick?: void,
16
+ iconBgColor?: string;
17
+ labelPosition?: "before" | "after";
18
+ newWindow?: boolean;
19
+ margin?: Space | Margin;
20
+ size?: Size;
21
+ tabIndex?: number;
22
+ };
23
+
24
+ export default function DxcTag(props: Props): JSX.Element;