@dxc-technology/halstack-react 0.0.0-4b1188a → 0.0.0-4bb73b0

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 (250) 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 +152 -67
  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 +63 -27
  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 +99 -40
  23. package/dist/checkbox/index.d.ts +24 -0
  24. package/dist/chip/Chip.js +97 -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 +1444 -304
  29. package/dist/date/Date.js +75 -52
  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 +177 -82
  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 +90 -40
  41. package/dist/footer/Icons.js +77 -0
  42. package/dist/footer/index.d.ts +25 -0
  43. package/dist/header/Header.js +192 -95
  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 +248 -113
  50. package/dist/input-text/index.d.ts +36 -0
  51. package/dist/layout/ApplicationLayout.js +18 -26
  52. package/dist/layout/Icons.js +55 -0
  53. package/dist/link/Link.js +89 -41
  54. package/dist/link/index.d.ts +23 -0
  55. package/dist/main.d.ts +40 -0
  56. package/dist/main.js +96 -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 +31 -17
  68. package/dist/radio/index.d.ts +23 -0
  69. package/dist/resultsetTable/ResultsetTable.js +90 -65
  70. package/dist/resultsetTable/index.d.ts +19 -0
  71. package/dist/select/Select.js +903 -280
  72. package/dist/select/index.d.ts +53 -0
  73. package/dist/sidenav/Sidenav.js +66 -15
  74. package/dist/sidenav/index.d.ts +13 -0
  75. package/dist/slider/Slider.js +211 -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 +51 -24
  100. package/dist/table/index.d.ts +13 -0
  101. package/dist/tabs/Tabs.js +193 -35
  102. package/dist/tabs/index.d.ts +19 -0
  103. package/dist/tag/Tag.js +68 -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 +156 -43
  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 +23 -12
  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 +30 -27
  139. package/test/Link.test.js +12 -2
  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/Slider.test.js +9 -17
  146. package/test/Spinner.test.js +5 -0
  147. package/test/Tabs.test.js +21 -0
  148. package/test/TextInput.test.js +732 -0
  149. package/test/Textarea.test.js +193 -0
  150. package/test/ToggleGroup.test.js +5 -1
  151. package/test/Upload.test.js +1 -1
  152. package/test/V3Select.test.js +212 -0
  153. package/test/{TextArea.test.js → V3TextArea.test.js} +6 -7
  154. package/dist/accordion/Accordion.stories.js +0 -207
  155. package/dist/accordion/readme.md +0 -96
  156. package/dist/alert/Alert.stories.js +0 -158
  157. package/dist/alert/close.svg +0 -4
  158. package/dist/alert/error.svg +0 -4
  159. package/dist/alert/info.svg +0 -4
  160. package/dist/alert/readme.md +0 -43
  161. package/dist/alert/success.svg +0 -4
  162. package/dist/alert/warning.svg +0 -4
  163. package/dist/button/Button.stories.js +0 -224
  164. package/dist/button/readme.md +0 -93
  165. package/dist/checkbox/Checkbox.stories.js +0 -144
  166. package/dist/checkbox/readme.md +0 -116
  167. package/dist/common/services/example-service.js +0 -10
  168. package/dist/common/services/example-service.test.js +0 -12
  169. package/dist/date/Date.stories.js +0 -205
  170. package/dist/date/calendar.svg +0 -1
  171. package/dist/date/calendar_dark.svg +0 -1
  172. package/dist/date/readme.md +0 -73
  173. package/dist/dialog/Dialog.stories.js +0 -217
  174. package/dist/dialog/readme.md +0 -32
  175. package/dist/dropdown/Dropdown.stories.js +0 -249
  176. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  177. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  178. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  179. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  180. package/dist/dropdown/readme.md +0 -69
  181. package/dist/footer/Footer.stories.js +0 -94
  182. package/dist/footer/dxc_logo_wht.png +0 -0
  183. package/dist/footer/readme.md +0 -41
  184. package/dist/header/Header.stories.js +0 -176
  185. package/dist/header/close_icon.svg +0 -1
  186. package/dist/header/dxc_logo_black.png +0 -0
  187. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  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/layout/facebook.svg +0 -45
  196. package/dist/layout/linkedin.svg +0 -50
  197. package/dist/layout/twitter.svg +0 -53
  198. package/dist/link/readme.md +0 -51
  199. package/dist/paginator/images/next.svg +0 -3
  200. package/dist/paginator/images/nextPage.svg +0 -3
  201. package/dist/paginator/images/previous.svg +0 -3
  202. package/dist/paginator/images/previousPage.svg +0 -3
  203. package/dist/paginator/readme.md +0 -50
  204. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  205. package/dist/progress-bar/readme.md +0 -63
  206. package/dist/radio/Radio.stories.js +0 -166
  207. package/dist/radio/readme.md +0 -70
  208. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  209. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  210. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  211. package/dist/select/Select.stories.js +0 -235
  212. package/dist/select/readme.md +0 -72
  213. package/dist/slider/Slider.stories.js +0 -241
  214. package/dist/slider/readme.md +0 -64
  215. package/dist/spinner/Spinner.stories.js +0 -183
  216. package/dist/spinner/readme.md +0 -65
  217. package/dist/switch/Switch.stories.js +0 -134
  218. package/dist/switch/readme.md +0 -133
  219. package/dist/tabs/Tabs.stories.js +0 -130
  220. package/dist/tabs/readme.md +0 -78
  221. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  222. package/dist/tabs-for-sections/readme.md +0 -78
  223. package/dist/toggle/Toggle.stories.js +0 -297
  224. package/dist/toggle/readme.md +0 -80
  225. package/dist/toggle-group/readme.md +0 -82
  226. package/dist/upload/Upload.stories.js +0 -72
  227. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  228. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  229. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  230. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  231. package/dist/upload/file-upload/audio-icon.svg +0 -4
  232. package/dist/upload/file-upload/close.svg +0 -4
  233. package/dist/upload/file-upload/file-icon.svg +0 -4
  234. package/dist/upload/file-upload/video-icon.svg +0 -4
  235. package/dist/upload/readme.md +0 -37
  236. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  237. package/dist/upload/transaction/audio-icon.svg +0 -4
  238. package/dist/upload/transaction/error-icon.svg +0 -4
  239. package/dist/upload/transaction/file-icon-err.svg +0 -4
  240. package/dist/upload/transaction/file-icon.svg +0 -4
  241. package/dist/upload/transaction/image-icon-err.svg +0 -4
  242. package/dist/upload/transaction/image-icon.svg +0 -4
  243. package/dist/upload/transaction/success-icon.svg +0 -4
  244. package/dist/upload/transaction/video-icon-err.svg +0 -4
  245. package/dist/upload/transaction/video-icon.svg +0 -4
  246. package/dist/wizard/invalid_icon.svg +0 -6
  247. package/dist/wizard/valid_icon.svg +0 -6
  248. package/dist/wizard/validation-wrong.svg +0 -6
  249. package/test/TabsForSections.test.js +0 -34
  250. package/test/Toggle.test.js +0 -43
package/dist/tabs/Tabs.js CHANGED
@@ -13,11 +13,13 @@ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers
13
13
 
14
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
15
 
16
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
17
+
16
18
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
17
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,16 +29,64 @@ 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
+
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() {
49
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 22px;\n max-width: 22px;\n"]);
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"]);
35
60
 
36
- var _ThemeContext = _interopRequireDefault(require("../ThemeContext.js"));
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
+ }
37
87
 
38
88
  function _templateObject4() {
39
- var data = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 22px;\n max-width: 22px;\n overflow: hidden;\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"]);
89
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n right: 0;\n top: ", ";\n width: 23px;\n height: 17px;\n"]);
40
90
 
41
91
  _templateObject4 = function _templateObject4() {
42
92
  return data;
@@ -46,7 +96,7 @@ function _templateObject4() {
46
96
  }
47
97
 
48
98
  function _templateObject3() {
49
- var data = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 22px;\n max-width: 22px;\n"]);
99
+ var data = (0, _taggedTemplateLiteral2["default"])([""]);
50
100
 
51
101
  _templateObject3 = function _templateObject3() {
52
102
  return data;
@@ -56,7 +106,7 @@ function _templateObject3() {
56
106
  }
57
107
 
58
108
  function _templateObject2() {
59
- 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 margin: 1px 0;\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 }\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"]);
60
110
 
61
111
  _templateObject2 = function _templateObject2() {
62
112
  return data;
@@ -66,7 +116,7 @@ function _templateObject2() {
66
116
  }
67
117
 
68
118
  function _templateObject() {
69
- 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"]);
70
120
 
71
121
  _templateObject = function _templateObject() {
72
122
  return data;
@@ -80,17 +130,22 @@ var DxcTabs = function DxcTabs(_ref) {
80
130
  _ref$tabs = _ref.tabs,
81
131
  tabs = _ref$tabs === void 0 ? [] : _ref$tabs,
82
132
  onTabClick = _ref.onTabClick,
83
- 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;
84
139
 
85
140
  var _React$useState = _react["default"].useState(0),
86
141
  _React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
87
142
  innerActiveTabIndex = _React$useState2[0],
88
143
  setInnerActiveTabIndex = _React$useState2[1];
89
144
 
90
- var customTheme = (0, _react.useContext)(_ThemeContext["default"]);
91
- var colorsTheme = (0, _react.useMemo)(function () {
92
- return (0, _utils.getCustomTheme)(_variables.theme, (0, _utils.getCustomTheme)(_variables.defaultTheme, customTheme));
93
- }, [customTheme]);
145
+ var colorsTheme = (0, _useTheme["default"])();
146
+ var hasLabelAndIcon = tabs && tabs.filter(function (tab) {
147
+ return tab.label && tab.icon;
148
+ }).length > 0;
94
149
 
95
150
  var handleChange = function handleChange(event, newValue) {
96
151
  if (activeTabIndex == null) {
@@ -102,33 +157,90 @@ var DxcTabs = function DxcTabs(_ref) {
102
157
  }
103
158
  };
104
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
+
105
183
  return _react["default"].createElement(_styledComponents.ThemeProvider, {
106
184
  theme: colorsTheme.tabs
107
185
  }, _react["default"].createElement(DxCTabs, {
108
- margin: margin
186
+ margin: margin,
187
+ hasLabelAndIcon: hasLabelAndIcon,
188
+ iconPosition: iconPosition
109
189
  }, _react["default"].createElement(Underline, null), _react["default"].createElement(_Tabs["default"], {
110
190
  value: activeTabIndex != null ? activeTabIndex : innerActiveTabIndex,
111
191
  onChange: handleChange,
112
192
  variant: "scrollable",
113
- scrollButtons: "off"
193
+ scrollButtons: "auto"
114
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
+
115
203
  return _react["default"].createElement(_Tab["default"], {
204
+ tabIndex: (activeTabIndex === i || innerActiveTabIndex === i) && !tab.isDisabled ? tabIndex : -1,
116
205
  key: "tab".concat(i).concat(tab.label),
117
- label: tab.label,
118
- icon: tab.icon ? _react["default"].createElement(TabIconContainer, null, (0, _typeof2["default"])(tab.icon) === "object" ? tab.icon : _react["default"].createElement(tab.icon)) : tab.iconSrc && _react["default"].createElement(TabIcon, {
119
- src: tab.iconSrc
120
- }),
206
+ label: getLabelForTab(tab),
121
207
  disabled: tab.isDisabled,
122
- disableRipple: true
208
+ disableRipple: true,
209
+ onMouseEnter: function onMouseEnter() {
210
+ onTabHover(i);
211
+ },
212
+ onMouseLeave: function onMouseLeave() {
213
+ onTabHover(null);
214
+ }
123
215
  });
124
216
  }))));
125
217
  };
126
218
 
127
- var Underline = _styledComponents["default"].div(_templateObject(), function (props) {
128
- 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";
129
223
  });
130
224
 
131
- var DxCTabs = _styledComponents["default"].div(_templateObject2(), function (props) {
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;
241
+ });
242
+
243
+ var DxCTabs = _styledComponents["default"].div(_templateObject7(), function (props) {
132
244
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
133
245
  }, function (props) {
134
246
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
@@ -139,47 +251,93 @@ var DxCTabs = _styledComponents["default"].div(_templateObject2(), function (pro
139
251
  }, function (props) {
140
252
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
141
253
  }, function (props) {
142
- return props.theme.fontColor;
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;
143
259
  }, function (props) {
144
- return "".concat(props.theme.selectedBackgroundColor).concat(props.theme.backgroundColor);
260
+ return props.theme.fontSize;
145
261
  }, function (props) {
146
- return "".concat(props.theme.fontColor).concat(props.theme.notSelectedOpacity);
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;
147
283
  }, function (props) {
148
284
  return props.theme.selectedBackgroundColor;
149
285
  }, function (props) {
150
286
  return props.theme.selectedFontColor;
151
287
  }, function (props) {
152
- return props.theme.disabled;
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;
295
+ }, function (props) {
296
+ return props.theme.focusOutline;
153
297
  }, function (props) {
154
- return props.theme.focusColor;
298
+ return props.theme.selectedUnderlineColor;
155
299
  }, function (props) {
156
- 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;
157
305
  });
158
306
 
159
- var TabIcon = _styledComponents["default"].img(_templateObject3());
307
+ var TabIcon = _styledComponents["default"].img(_templateObject8());
160
308
 
161
- var TabIconContainer = _styledComponents["default"].div(_templateObject4());
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
+ });
162
314
 
163
315
  DxcTabs.propTypes = {
164
316
  activeTabIndex: _propTypes["default"].number,
165
317
  onTabClick: _propTypes["default"].func,
318
+ onTabHover: _propTypes["default"].func,
166
319
  tabs: _propTypes["default"].arrayOf(_propTypes["default"].shape({
167
320
  label: _propTypes["default"].string,
168
321
  icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
169
322
  iconSrc: _propTypes["default"].string,
170
- isDisabled: _propTypes["default"]["boolean"]
323
+ isDisabled: _propTypes["default"].bool,
324
+ notificationNumber: _propTypes["default"].oneOfType([_propTypes["default"].bool, _propTypes["default"].string, _propTypes["default"].number])
171
325
  })),
172
326
  margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
173
327
  top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
174
328
  bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
175
329
  left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
176
330
  right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
177
- }), _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
178
334
  };
179
335
  DxcTabs.defaultProps = {
180
336
  activeTabIndex: null,
181
337
  tabs: [],
182
- onTabClick: function onTabClick() {}
338
+ onTabClick: function onTabClick() {},
339
+ onTabHover: function onTabHover() {},
340
+ iconPosition: "top"
183
341
  };
184
342
  var _default = DxcTabs;
185
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
@@ -19,16 +19,18 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
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
 
30
32
  function _templateObject8() {
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"]);
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"]);
32
34
 
33
35
  _templateObject8 = function _templateObject8() {
34
36
  return data;
@@ -38,7 +40,7 @@ function _templateObject8() {
38
40
  }
39
41
 
40
42
  function _templateObject7() {
41
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n background: ", ";\n width: 48px;\n justify-content: center;\n"]);
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"]);
42
44
 
43
45
  _templateObject7 = function _templateObject7() {
44
46
  return data;
@@ -48,7 +50,7 @@ function _templateObject7() {
48
50
  }
49
51
 
50
52
  function _templateObject6() {
51
- var data = (0, _taggedTemplateLiteral2["default"])(["\n height: 43px;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n img,\n svg {\n height: 23px;\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"]);
52
54
 
53
55
  _templateObject6 = function _templateObject6() {
54
56
  return data;
@@ -58,7 +60,7 @@ function _templateObject6() {
58
60
  }
59
61
 
60
62
  function _templateObject5() {
61
- var data = (0, _taggedTemplateLiteral2["default"])(["\n padding: 10px 12px;\n height: 23px;\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"]);
62
64
 
63
65
  _templateObject5 = function _templateObject5() {
64
66
  return data;
@@ -68,7 +70,7 @@ function _templateObject5() {
68
70
  }
69
71
 
70
72
  function _templateObject4() {
71
- var data = (0, _taggedTemplateLiteral2["default"])(["\n background: none;\n border: none;\n padding: 0;\n cursor: pointer;\n outline: 0;\n font-family: inherit;\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"]);
72
74
 
73
75
  _templateObject4 = function _templateObject4() {
74
76
  return data;
@@ -78,7 +80,7 @@ function _templateObject4() {
78
80
  }
79
81
 
80
82
  function _templateObject3() {
81
- 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"]);
82
84
 
83
85
  _templateObject3 = function _templateObject3() {
84
86
  return data;
@@ -88,7 +90,7 @@ function _templateObject3() {
88
90
  }
89
91
 
90
92
  function _templateObject2() {
91
- 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"]);
92
94
 
93
95
  _templateObject2 = function _templateObject2() {
94
96
  return data;
@@ -98,7 +100,7 @@ function _templateObject2() {
98
100
  }
99
101
 
100
102
  function _templateObject() {
101
- 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"]);
102
104
 
103
105
  _templateObject = function _templateObject() {
104
106
  return data;
@@ -115,13 +117,16 @@ var DxcTag = function DxcTag(_ref) {
115
117
  linkHref = _ref.linkHref,
116
118
  onClick = _ref.onClick,
117
119
  _ref$iconBgColor = _ref.iconBgColor,
118
- iconBgColor = _ref$iconBgColor === void 0 ? "black" : _ref$iconBgColor,
120
+ iconBgColor = _ref$iconBgColor === void 0 ? "#5f249f" : _ref$iconBgColor,
119
121
  _ref$labelPosition = _ref.labelPosition,
120
122
  labelPosition = _ref$labelPosition === void 0 ? "after" : _ref$labelPosition,
121
123
  _ref$newWindow = _ref.newWindow,
122
124
  newWindow = _ref$newWindow === void 0 ? false : _ref$newWindow,
123
125
  _ref$size = _ref.size,
124
- 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"])();
125
130
 
126
131
  var _useState = (0, _react.useState)(false),
127
132
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
@@ -129,9 +134,7 @@ var DxcTag = function DxcTag(_ref) {
129
134
  changeIsHovered = _useState2[1];
130
135
 
131
136
  var clickHandler = function clickHandler() {
132
- if (onClick) {
133
- onClick();
134
- }
137
+ onClick && onClick();
135
138
  };
136
139
 
137
140
  var tagContent = _react["default"].createElement(_Box["default"], {
@@ -139,7 +142,6 @@ var DxcTag = function DxcTag(_ref) {
139
142
  shadowDepth: isHovered && (onClick || linkHref) && 2 || 1
140
143
  }, _react["default"].createElement(TagContent, {
141
144
  labelPosition: labelPosition,
142
- margin: margin,
143
145
  size: size
144
146
  }, _react["default"].createElement(IconContainer, {
145
147
  iconBgColor: iconBgColor
@@ -147,7 +149,9 @@ var DxcTag = function DxcTag(_ref) {
147
149
  src: iconSrc
148
150
  })), size !== "small" && _react["default"].createElement(TagLabel, null, label)));
149
151
 
150
- return _react["default"].createElement(StyledDxcTag, {
152
+ return _react["default"].createElement(_styledComponents.ThemeProvider, {
153
+ theme: colorsTheme.tag
154
+ }, _react["default"].createElement(StyledDxcTag, {
151
155
  margin: margin,
152
156
  onMouseEnter: function onMouseEnter() {
153
157
  return changeIsHovered(true);
@@ -157,10 +161,13 @@ var DxcTag = function DxcTag(_ref) {
157
161
  },
158
162
  onClick: clickHandler,
159
163
  hasAction: onClick || linkHref
160
- }, onClick ? _react["default"].createElement(StyledButton, null, tagContent) : linkHref ? _react["default"].createElement(StyledLink, {
164
+ }, onClick ? _react["default"].createElement(StyledButton, {
165
+ tabIndex: tabIndex
166
+ }, tagContent) : linkHref ? _react["default"].createElement(StyledLink, {
167
+ tabIndex: tabIndex,
161
168
  href: linkHref,
162
169
  target: newWindow ? "_blank" : "_self"
163
- }, tagContent) : tagContent);
170
+ }, tagContent) : tagContent));
164
171
  };
165
172
 
166
173
  var sizes = {
@@ -200,22 +207,58 @@ var TagContent = _styledComponents["default"].div(_templateObject2(), function (
200
207
  return labelPosition === "before" && "row-reverse" || "row";
201
208
  }, function (props) {
202
209
  return calculateWidth(props.size);
210
+ }, function (props) {
211
+ return props.theme.height;
203
212
  });
204
213
 
205
- var StyledLink = _styledComponents["default"].a(_templateObject3());
214
+ var StyledLink = _styledComponents["default"].a(_templateObject3(), function (props) {
215
+ return props.theme.focusColor;
216
+ });
206
217
 
207
- var StyledButton = _styledComponents["default"].button(_templateObject4());
218
+ var StyledButton = _styledComponents["default"].button(_templateObject4(), function (props) {
219
+ return props.theme.focusColor;
220
+ });
208
221
 
209
- var TagIcon = _styledComponents["default"].img(_templateObject5());
222
+ var TagIcon = _styledComponents["default"].img(_templateObject5(), function (props) {
223
+ return props.theme.iconWidth;
224
+ }, function (props) {
225
+ return props.theme.iconHeight;
226
+ });
210
227
 
211
- var TagIconContainer = _styledComponents["default"].div(_templateObject6());
228
+ var TagIconContainer = _styledComponents["default"].div(_templateObject6(), function (props) {
229
+ return props.theme.iconWidth;
230
+ }, function (props) {
231
+ return props.theme.iconHeight;
232
+ });
212
233
 
213
234
  var IconContainer = _styledComponents["default"].div(_templateObject7(), function (_ref9) {
214
235
  var iconBgColor = _ref9.iconBgColor;
215
236
  return iconBgColor;
237
+ }, function (props) {
238
+ return props.theme.iconSectionWidth;
239
+ }, function (props) {
240
+ return props.theme.iconColor;
216
241
  });
217
242
 
218
- var TagLabel = _styledComponents["default"].div(_templateObject8());
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
+ });
219
262
 
220
263
  DxcTag.propTypes = {
221
264
  size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
@@ -232,18 +275,8 @@ DxcTag.propTypes = {
232
275
  bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
233
276
  left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
234
277
  right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
235
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
236
- };
237
- DxcTag.defaultProps = {
238
- icon: null,
239
- iconSrc: null,
240
- label: null,
241
- margin: null,
242
- linkHref: null,
243
- onClick: null,
244
- iconBgColor: "black",
245
- labelPosition: "after",
246
- newWindow: false
278
+ }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
279
+ tabIndex: _propTypes["default"].number
247
280
  };
248
281
  var _default = DxcTag;
249
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;