@dxc-technology/halstack-react 0.0.0-c9b5c13 → 0.0.0-ca55cbe

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 (243) hide show
  1. package/BackgroundColorContext.d.ts +2 -2
  2. package/BackgroundColorContext.js +1 -1
  3. package/HalstackContext.d.ts +1329 -5
  4. package/HalstackContext.js +117 -77
  5. package/accordion/Accordion.js +118 -110
  6. package/accordion/Accordion.stories.tsx +104 -16
  7. package/accordion/Accordion.test.js +10 -11
  8. package/accordion/types.d.ts +2 -1
  9. package/accordion-group/AccordionGroup.js +4 -23
  10. package/accordion-group/AccordionGroup.stories.tsx +27 -1
  11. package/accordion-group/AccordionGroup.test.js +21 -46
  12. package/accordion-group/types.d.ts +8 -1
  13. package/alert/Alert.js +4 -6
  14. package/alert/Alert.stories.tsx +28 -0
  15. package/alert/Alert.test.js +1 -1
  16. package/bleed/Bleed.js +1 -34
  17. package/bleed/Bleed.stories.tsx +95 -95
  18. package/bleed/types.d.ts +1 -1
  19. package/box/Box.js +4 -6
  20. package/box/Box.stories.tsx +15 -0
  21. package/box/Box.test.js +1 -1
  22. package/box/types.d.ts +1 -0
  23. package/bulleted-list/BulletedList.d.ts +7 -0
  24. package/bulleted-list/BulletedList.js +125 -0
  25. package/bulleted-list/BulletedList.stories.tsx +206 -0
  26. package/bulleted-list/types.d.ts +11 -0
  27. package/button/Button.js +52 -73
  28. package/button/Button.stories.tsx +159 -8
  29. package/button/Button.test.js +1 -1
  30. package/button/types.d.ts +5 -5
  31. package/card/Card.js +12 -13
  32. package/card/Card.stories.tsx +12 -13
  33. package/card/Card.test.js +1 -1
  34. package/card/types.d.ts +1 -0
  35. package/checkbox/Checkbox.d.ts +2 -2
  36. package/checkbox/Checkbox.js +94 -101
  37. package/checkbox/Checkbox.stories.tsx +131 -59
  38. package/checkbox/Checkbox.test.js +94 -17
  39. package/checkbox/types.d.ts +4 -0
  40. package/chip/Chip.js +18 -26
  41. package/chip/Chip.stories.tsx +96 -9
  42. package/chip/Chip.test.js +3 -5
  43. package/chip/types.d.ts +1 -1
  44. package/common/OpenSans.css +68 -80
  45. package/common/coreTokens.d.ts +146 -0
  46. package/common/coreTokens.js +167 -0
  47. package/common/utils.d.ts +1 -0
  48. package/common/utils.js +4 -4
  49. package/common/variables.d.ts +1482 -0
  50. package/common/variables.js +1009 -1118
  51. package/date-input/Calendar.d.ts +4 -0
  52. package/date-input/Calendar.js +258 -0
  53. package/date-input/DateInput.js +134 -237
  54. package/date-input/DateInput.stories.tsx +199 -33
  55. package/date-input/DateInput.test.js +494 -138
  56. package/date-input/DatePicker.d.ts +4 -0
  57. package/date-input/DatePicker.js +146 -0
  58. package/date-input/Icons.d.ts +6 -0
  59. package/date-input/Icons.js +75 -0
  60. package/date-input/YearPicker.d.ts +4 -0
  61. package/date-input/YearPicker.js +126 -0
  62. package/date-input/types.d.ts +51 -0
  63. package/dialog/Dialog.js +80 -69
  64. package/dialog/Dialog.stories.tsx +230 -123
  65. package/dialog/Dialog.test.js +334 -5
  66. package/dialog/types.d.ts +1 -0
  67. package/dropdown/Dropdown.d.ts +1 -1
  68. package/dropdown/Dropdown.js +246 -249
  69. package/dropdown/Dropdown.stories.tsx +245 -56
  70. package/dropdown/Dropdown.test.js +507 -110
  71. package/dropdown/DropdownMenu.d.ts +4 -0
  72. package/dropdown/DropdownMenu.js +74 -0
  73. package/dropdown/DropdownMenuItem.d.ts +4 -0
  74. package/dropdown/DropdownMenuItem.js +79 -0
  75. package/dropdown/types.d.ts +23 -3
  76. package/file-input/FileInput.d.ts +2 -2
  77. package/file-input/FileInput.js +174 -220
  78. package/file-input/FileInput.stories.tsx +122 -11
  79. package/file-input/FileInput.test.js +14 -14
  80. package/file-input/FileItem.d.ts +4 -14
  81. package/file-input/FileItem.js +39 -63
  82. package/file-input/types.d.ts +17 -0
  83. package/flex/Flex.d.ts +4 -0
  84. package/flex/Flex.js +71 -0
  85. package/flex/Flex.stories.tsx +112 -0
  86. package/flex/types.d.ts +97 -0
  87. package/footer/Footer.js +6 -8
  88. package/footer/Footer.stories.tsx +99 -1
  89. package/footer/Footer.test.js +14 -26
  90. package/footer/Icons.js +1 -1
  91. package/footer/types.d.ts +2 -1
  92. package/grid/Grid.d.ts +7 -0
  93. package/grid/Grid.js +91 -0
  94. package/grid/Grid.stories.tsx +219 -0
  95. package/grid/types.d.ts +115 -0
  96. package/header/Header.d.ts +3 -2
  97. package/header/Header.js +89 -89
  98. package/header/Header.stories.tsx +152 -9
  99. package/header/Header.test.js +2 -2
  100. package/header/Icons.js +2 -2
  101. package/header/types.d.ts +1 -0
  102. package/heading/Heading.js +1 -1
  103. package/heading/Heading.test.js +1 -1
  104. package/inset/Inset.js +1 -34
  105. package/inset/Inset.stories.tsx +37 -36
  106. package/inset/types.d.ts +1 -1
  107. package/layout/ApplicationLayout.d.ts +15 -6
  108. package/layout/ApplicationLayout.js +38 -66
  109. package/layout/ApplicationLayout.stories.tsx +80 -44
  110. package/layout/types.d.ts +18 -29
  111. package/link/Link.js +4 -4
  112. package/link/Link.stories.tsx +73 -6
  113. package/link/Link.test.js +2 -4
  114. package/link/types.d.ts +3 -3
  115. package/main.d.ts +7 -9
  116. package/main.js +33 -49
  117. package/{tabs-nav → nav-tabs}/NavTabs.js +6 -6
  118. package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +96 -6
  119. package/{tabs-nav → nav-tabs}/NavTabs.test.js +1 -1
  120. package/{tabs-nav → nav-tabs}/Tab.js +40 -22
  121. package/{tabs-nav → nav-tabs}/types.d.ts +1 -1
  122. package/number-input/NumberInput.test.js +44 -8
  123. package/package.json +17 -21
  124. package/paginator/Icons.d.ts +5 -0
  125. package/paginator/Icons.js +16 -28
  126. package/paginator/Paginator.js +7 -15
  127. package/paginator/Paginator.stories.tsx +24 -0
  128. package/paginator/Paginator.test.js +78 -39
  129. package/paragraph/Paragraph.d.ts +5 -0
  130. package/paragraph/Paragraph.js +38 -0
  131. package/paragraph/Paragraph.stories.tsx +44 -0
  132. package/password-input/PasswordInput.test.js +14 -13
  133. package/progress-bar/ProgressBar.js +60 -54
  134. package/progress-bar/ProgressBar.stories.jsx +38 -3
  135. package/progress-bar/ProgressBar.test.js +68 -23
  136. package/quick-nav/QuickNav.js +25 -20
  137. package/quick-nav/QuickNav.stories.tsx +145 -26
  138. package/radio-group/Radio.d.ts +1 -1
  139. package/radio-group/Radio.js +43 -28
  140. package/radio-group/RadioGroup.js +23 -22
  141. package/radio-group/RadioGroup.stories.tsx +132 -18
  142. package/radio-group/RadioGroup.test.js +124 -97
  143. package/radio-group/types.d.ts +2 -2
  144. package/resultsetTable/Icons.d.ts +7 -0
  145. package/resultsetTable/Icons.js +51 -0
  146. package/resultsetTable/ResultsetTable.js +49 -108
  147. package/resultsetTable/ResultsetTable.stories.tsx +50 -25
  148. package/resultsetTable/ResultsetTable.test.js +61 -42
  149. package/resultsetTable/types.d.ts +1 -1
  150. package/select/Listbox.d.ts +1 -1
  151. package/select/Listbox.js +33 -16
  152. package/select/Option.js +11 -24
  153. package/select/Select.js +92 -71
  154. package/select/Select.stories.tsx +513 -136
  155. package/select/Select.test.js +413 -305
  156. package/select/types.d.ts +3 -6
  157. package/sidenav/Icons.d.ts +7 -0
  158. package/sidenav/Icons.js +51 -0
  159. package/sidenav/Sidenav.d.ts +6 -5
  160. package/sidenav/Sidenav.js +139 -48
  161. package/sidenav/Sidenav.stories.tsx +251 -151
  162. package/sidenav/Sidenav.test.js +25 -37
  163. package/sidenav/types.d.ts +52 -26
  164. package/slider/Slider.d.ts +2 -2
  165. package/slider/Slider.js +121 -97
  166. package/slider/Slider.stories.tsx +64 -1
  167. package/slider/Slider.test.js +122 -22
  168. package/slider/types.d.ts +4 -0
  169. package/spinner/Spinner.js +17 -23
  170. package/spinner/Spinner.stories.jsx +53 -27
  171. package/spinner/Spinner.test.js +1 -1
  172. package/switch/Switch.d.ts +2 -2
  173. package/switch/Switch.js +137 -70
  174. package/switch/Switch.stories.tsx +41 -30
  175. package/switch/Switch.test.js +145 -18
  176. package/switch/types.d.ts +4 -0
  177. package/table/Table.js +3 -3
  178. package/table/Table.stories.jsx +80 -1
  179. package/table/Table.test.js +2 -2
  180. package/tabs/Tab.d.ts +4 -0
  181. package/tabs/Tab.js +132 -0
  182. package/tabs/Tabs.js +358 -108
  183. package/tabs/Tabs.stories.tsx +119 -5
  184. package/tabs/Tabs.test.js +220 -10
  185. package/tabs/types.d.ts +13 -3
  186. package/tag/Tag.js +8 -10
  187. package/tag/Tag.stories.tsx +14 -1
  188. package/tag/Tag.test.js +1 -1
  189. package/tag/types.d.ts +1 -1
  190. package/text-input/Icons.d.ts +8 -0
  191. package/text-input/Icons.js +60 -0
  192. package/text-input/Suggestion.js +40 -11
  193. package/text-input/Suggestions.d.ts +4 -0
  194. package/text-input/Suggestions.js +134 -0
  195. package/text-input/TextInput.js +198 -295
  196. package/text-input/TextInput.stories.tsx +280 -185
  197. package/text-input/TextInput.test.js +736 -725
  198. package/text-input/types.d.ts +22 -3
  199. package/textarea/Textarea.js +3 -4
  200. package/textarea/Textarea.stories.jsx +60 -1
  201. package/textarea/Textarea.test.js +2 -4
  202. package/toggle-group/ToggleGroup.js +7 -4
  203. package/toggle-group/ToggleGroup.stories.tsx +42 -0
  204. package/toggle-group/ToggleGroup.test.js +1 -1
  205. package/toggle-group/types.d.ts +2 -2
  206. package/typography/Typography.d.ts +4 -0
  207. package/typography/Typography.js +32 -0
  208. package/typography/Typography.stories.tsx +198 -0
  209. package/typography/types.d.ts +18 -0
  210. package/typography/types.js +5 -0
  211. package/useTheme.d.ts +1234 -1
  212. package/useTheme.js +1 -1
  213. package/useTranslatedLabels.d.ts +84 -1
  214. package/utils/BaseTypography.d.ts +21 -0
  215. package/utils/BaseTypography.js +108 -0
  216. package/utils/FocusLock.d.ts +13 -0
  217. package/utils/FocusLock.js +139 -0
  218. package/wizard/Wizard.js +10 -17
  219. package/wizard/Wizard.stories.tsx +40 -1
  220. package/wizard/Wizard.test.js +1 -1
  221. package/wizard/types.d.ts +3 -3
  222. package/common/RequiredComponent.js +0 -32
  223. package/list/List.d.ts +0 -4
  224. package/list/List.js +0 -47
  225. package/list/List.stories.tsx +0 -95
  226. package/list/types.d.ts +0 -7
  227. package/row/Row.d.ts +0 -3
  228. package/row/Row.js +0 -127
  229. package/row/Row.stories.tsx +0 -237
  230. package/row/types.d.ts +0 -28
  231. package/stack/Stack.d.ts +0 -3
  232. package/stack/Stack.js +0 -97
  233. package/stack/Stack.stories.tsx +0 -164
  234. package/stack/types.d.ts +0 -24
  235. package/text/Text.d.ts +0 -7
  236. package/text/Text.js +0 -30
  237. package/text/Text.stories.tsx +0 -19
  238. /package/{list → bulleted-list}/types.js +0 -0
  239. /package/{row → flex}/types.js +0 -0
  240. /package/{stack → grid}/types.js +0 -0
  241. /package/{tabs-nav → nav-tabs}/NavTabs.d.ts +0 -0
  242. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
  243. /package/{tabs-nav → nav-tabs}/types.js +0 -0
@@ -2,12 +2,21 @@ import React from "react";
2
2
  import DxcTable from "./Table";
3
3
  import Title from "../../.storybook/components/Title";
4
4
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
+ import { HalstackProvider } from "../HalstackContext";
5
6
 
6
7
  export default {
7
8
  title: "Table",
8
9
  component: DxcTable,
9
10
  };
10
11
 
12
+ const opinionatedTheme = {
13
+ table: {
14
+ baseColor: "#5f249f",
15
+ headerFontColor: "#ffffff",
16
+ cellFontColor: "#000000",
17
+ },
18
+ };
19
+
11
20
  export const Chromatic = () => (
12
21
  <>
13
22
  <ExampleContainer>
@@ -271,7 +280,77 @@ export const Chromatic = () => (
271
280
  <td>Cell 9</td>
272
281
  </tr>
273
282
  </DxcTable>
274
- <hr />
283
+ </ExampleContainer>
284
+ <Title title="Opinionated theme" theme="light" level={2} />
285
+ <ExampleContainer>
286
+ <HalstackProvider theme={opinionatedTheme}>
287
+ <DxcTable>
288
+ <tr>
289
+ <th>
290
+ header<br></br>subheader
291
+ </th>
292
+ <th>
293
+ header<br></br>subheader
294
+ </th>
295
+ <th>
296
+ header<br></br>subheader
297
+ </th>
298
+ </tr>
299
+ <tr>
300
+ <td>
301
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
302
+ dolore magna aliqua.
303
+ </td>
304
+ <td>
305
+ Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
306
+ consequat.
307
+ </td>
308
+ <td>
309
+ Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
310
+ </td>
311
+ </tr>
312
+ <tr>
313
+ <td>cell data</td>
314
+ <td>cell data</td>
315
+ <td>cell data</td>
316
+ </tr>
317
+ <tr>
318
+ <td>cell data</td>
319
+ <td>cell data</td>
320
+ <td>cell data</td>
321
+ </tr>
322
+ <tr>
323
+ <td>cell data</td>
324
+ <td>cell data</td>
325
+ <td>cell data</td>
326
+ </tr>
327
+ <tr>
328
+ <td>cell data</td>
329
+ <td>cell data</td>
330
+ <td>cell data</td>
331
+ </tr>
332
+ <tr>
333
+ <td>cell data</td>
334
+ <td>cell data</td>
335
+ <td>cell data</td>
336
+ </tr>
337
+ <tr>
338
+ <td>cell data</td>
339
+ <td>cell data</td>
340
+ <td>cell data</td>
341
+ </tr>
342
+ <tr>
343
+ <td>cell data</td>
344
+ <td>cell data</td>
345
+ <td>cell data</td>
346
+ </tr>
347
+ <tr>
348
+ <td>cell data</td>
349
+ <td>cell data</td>
350
+ <td>cell data</td>
351
+ </tr>
352
+ </DxcTable>
353
+ </HalstackProvider>
275
354
  </ExampleContainer>
276
355
  </>
277
356
  );
@@ -6,11 +6,11 @@ var _react = _interopRequireDefault(require("react"));
6
6
 
7
7
  var _react2 = require("@testing-library/react");
8
8
 
9
- var _Table = _interopRequireDefault(require("./Table"));
9
+ var _Table = _interopRequireDefault(require("./Table.tsx"));
10
10
 
11
11
  describe("Table component tests", function () {
12
12
  test("Table renders with correct content", function () {
13
- var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Table["default"], null, /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("th", null, "header-1"), /*#__PURE__*/_react["default"].createElement("th", null, "header-2"), /*#__PURE__*/_react["default"].createElement("th", null, "header-3")), /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("td", null, "cell-1"), /*#__PURE__*/_react["default"].createElement("td", null, "cell-2"), /*#__PURE__*/_react["default"].createElement("td", null, "cell-3")), /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("td", null, "cell-4"), /*#__PURE__*/_react["default"].createElement("td", null, "cell-5"), /*#__PURE__*/_react["default"].createElement("td", null, "cell-6")))),
13
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Table["default"], null, /*#__PURE__*/_react["default"].createElement("thead", null, /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("th", null, "header-1"), /*#__PURE__*/_react["default"].createElement("th", null, "header-2"), /*#__PURE__*/_react["default"].createElement("th", null, "header-3"))), /*#__PURE__*/_react["default"].createElement("tbody", null, /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("td", null, "cell-1"), /*#__PURE__*/_react["default"].createElement("td", null, "cell-2"), /*#__PURE__*/_react["default"].createElement("td", null, "cell-3")), /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("td", null, "cell-4"), /*#__PURE__*/_react["default"].createElement("td", null, "cell-5"), /*#__PURE__*/_react["default"].createElement("td", null, "cell-6"))))),
14
14
  getByText = _render.getByText;
15
15
 
16
16
  expect(getByText("header-1")).toBeTruthy();
package/tabs/Tab.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { TabProps } from "./types";
3
+ declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<TabProps & React.RefAttributes<HTMLButtonElement>>>;
4
+ export default _default;
package/tabs/Tab.js ADDED
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
17
+
18
+ var _Badge = _interopRequireDefault(require("../badge/Badge"));
19
+
20
+ var _BaseTypography = _interopRequireDefault(require("../utils/BaseTypography"));
21
+
22
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
23
+
24
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
25
+
26
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
+
28
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
+
30
+ var Tab = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
31
+ var active = _ref.active,
32
+ tab = _ref.tab,
33
+ tabIndex = _ref.tabIndex,
34
+ hasLabelAndIcon = _ref.hasLabelAndIcon,
35
+ iconPosition = _ref.iconPosition,
36
+ _onClick = _ref.onClick,
37
+ _onMouseEnter = _ref.onMouseEnter,
38
+ _onMouseLeave = _ref.onMouseLeave;
39
+ var colorsTheme = (0, _useTheme["default"])();
40
+ return /*#__PURE__*/_react["default"].createElement(TabContainer, {
41
+ role: "tab",
42
+ type: "button",
43
+ tabIndex: tabIndex,
44
+ disabled: tab.isDisabled,
45
+ "aria-selected": active,
46
+ hasLabelAndIcon: hasLabelAndIcon,
47
+ iconPosition: iconPosition,
48
+ ref: ref,
49
+ onClick: function onClick() {
50
+ _onClick();
51
+ },
52
+ onMouseEnter: function onMouseEnter() {
53
+ _onMouseEnter();
54
+ },
55
+ onMouseLeave: function onMouseLeave() {
56
+ _onMouseLeave();
57
+ }
58
+ }, /*#__PURE__*/_react["default"].createElement(MainLabelContainer, {
59
+ notificationNumber: tab.notificationNumber,
60
+ hasLabelAndIcon: hasLabelAndIcon,
61
+ iconPosition: iconPosition
62
+ }, tab.icon && /*#__PURE__*/_react["default"].createElement(TabIconContainer, {
63
+ hasLabelAndIcon: hasLabelAndIcon,
64
+ iconPosition: iconPosition
65
+ }, typeof tab.icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
66
+ src: tab.icon
67
+ }) : tab.icon), /*#__PURE__*/_react["default"].createElement(_BaseTypography["default"], {
68
+ color: tab.isDisabled ? colorsTheme.tabs.disabledFontColor : active ? colorsTheme.tabs.selectedFontColor : colorsTheme.tabs.unselectedFontColor,
69
+ fontFamily: colorsTheme.tabs.fontFamily,
70
+ fontSize: colorsTheme.tabs.fontSize,
71
+ fontStyle: tab.isDisabled ? colorsTheme.tabs.disabledFontStyle : colorsTheme.tabs.fontStyle,
72
+ fontWeight: active ? colorsTheme.tabs.pressedFontWeight : colorsTheme.tabs.fontWeight,
73
+ textAlign: "center",
74
+ letterSpacing: "0.025em",
75
+ lineHeight: "1.715em"
76
+ }, tab.label)), tab.notificationNumber && /*#__PURE__*/_react["default"].createElement(BadgeContainer, {
77
+ hasLabelAndIcon: hasLabelAndIcon,
78
+ iconPosition: iconPosition
79
+ }, /*#__PURE__*/_react["default"].createElement(_Badge["default"], {
80
+ notificationText: typeof tab.notificationNumber === "number" && tab.notificationNumber > 99 ? "+99" : tab.notificationNumber
81
+ })));
82
+ });
83
+
84
+ var TabContainer = _styledComponents["default"].button(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n text-transform: ", ";\n overflow: hidden;\n flex-shrink: 0;\n border: 0;\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n user-select: none;\n vertical-align: middle;\n justify-content: center;\n min-width: 90px;\n max-width: 360px;\n padding: ", ";\n height: ", ";\n min-height: ", ";\n background-color: ", ";\n\n &:hover {\n background-color: ", ";\n }\n &:active {\n background-color: ", ";\n }\n &:focus {\n outline: ", " solid 1px;\n outline-offset: -1px;\n }\n svg {\n color: ", ";\n }\n\n &[aria-selected=\"true\"] {\n background-color: ", ";\n svg {\n color: ", ";\n }\n opacity: 1;\n }\n\n &:disabled {\n background-color: ", " !important;\n cursor: not-allowed !important;\n pointer-events: all;\n font-style: ", ";\n outline: none !important;\n\n svg {\n color: ", ";\n }\n > div {\n opacity: 0.5;\n }\n }\n"])), function (props) {
85
+ return props.theme.fontTextTransform;
86
+ }, function (props) {
87
+ return (!props.hasLabelAndIcon || props.hasLabelAndIcon && props.iconPosition !== "top") && "12px 16px" || "8px 16px";
88
+ }, function (props) {
89
+ return (!props.hasLabelAndIcon || props.hasLabelAndIcon && props.iconPosition !== "top") && "47px" || "71px";
90
+ }, function (props) {
91
+ return (!props.hasLabelAndIcon || props.hasLabelAndIcon && props.iconPosition !== "top") && "47px" || "71px";
92
+ }, function (props) {
93
+ return props.theme.unselectedBackgroundColor;
94
+ }, function (props) {
95
+ return "".concat(props.theme.hoverBackgroundColor, " !important");
96
+ }, function (props) {
97
+ return "".concat(props.theme.pressedBackgroundColor, " !important");
98
+ }, function (props) {
99
+ return props.theme.focusOutline;
100
+ }, function (props) {
101
+ return props.theme.unselectedIconColor;
102
+ }, function (props) {
103
+ return props.theme.selectedBackgroundColor;
104
+ }, function (props) {
105
+ return props.theme.selectedIconColor;
106
+ }, function (props) {
107
+ return props.theme.unselectedBackgroundColor;
108
+ }, function (props) {
109
+ return props.theme.disabledFontStyle;
110
+ }, function (props) {
111
+ return props.theme.disabledIconColor;
112
+ });
113
+
114
+ var BadgeContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: 12px;\n height: 100%;\n display: flex;\n align-items: ", ";\n"])), function (props) {
115
+ return props.hasLabelAndIcon && props.iconPosition === "top" ? "flex-start" : "center";
116
+ });
117
+
118
+ var MainLabelContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: ", ";\n align-items: center;\n margin-left: ", ";\n"])), function (props) {
119
+ return props.hasLabelAndIcon && props.iconPosition === "top" && "column" || "row";
120
+ }, function (props) {
121
+ return props.notificationNumber ? typeof props.notificationNumber === "number" ? "calc(".concat(props.theme.badgeWidthWithNotificationNumber, " + 12px)") : "calc(".concat(props.theme.badgeWidth, " + 12px)") : "unset";
122
+ });
123
+
124
+ var TabIconContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n margin-bottom: ", ";\n margin-right: ", ";\n\n img,\n svg {\n height: 22px;\n width: 22px;\n }\n"])), function (props) {
125
+ return props.hasLabelAndIcon && props.iconPosition === "top" && "8px" || "";
126
+ }, function (props) {
127
+ return props.hasLabelAndIcon && props.iconPosition === "left" && "12px" || "";
128
+ });
129
+
130
+ var _default = /*#__PURE__*/_react["default"].memo(Tab);
131
+
132
+ exports["default"] = _default;