@salutejs/plasma-new-hope 0.177.0-canary.1503.11571511639.0 → 0.177.1-canary.1502.11573459466.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (131) hide show
  1. package/cjs/components/Tabs/createTabsController.js.map +1 -1
  2. package/cjs/components/Tabs/tokens.js +2 -0
  3. package/cjs/components/Tabs/tokens.js.map +1 -1
  4. package/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +3 -1
  5. package/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js.map +1 -1
  6. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.css +5 -5
  7. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +20 -8
  8. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js.map +1 -1
  9. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.styles.js +1 -1
  10. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.styles.js.map +1 -1
  11. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/{HorizontalTabs.styles_16kuvxt.css → HorizontalTabs.styles_p9rk79.css} +1 -1
  12. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js +1 -1
  13. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js.map +1 -1
  14. package/{es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base_9miwn.css → cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base_4ob3q5.css} +1 -1
  15. package/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.css +4 -4
  16. package/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +7 -6
  17. package/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js.map +1 -1
  18. package/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.styles.js +1 -1
  19. package/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.styles.js.map +1 -1
  20. package/{es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.styles_1fr5ovg.css → cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.styles_1r1hidh.css} +1 -1
  21. package/cjs/index.css +9 -9
  22. package/emotion/cjs/components/Tabs/tokens.js +2 -0
  23. package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +3 -1
  24. package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +20 -8
  25. package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.styles.js +4 -4
  26. package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js +1 -1
  27. package/emotion/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +7 -6
  28. package/emotion/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.styles.js +4 -4
  29. package/emotion/cjs/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +72 -33
  30. package/emotion/cjs/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabItem.config.js +15 -15
  31. package/emotion/cjs/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabs.config.js +15 -15
  32. package/emotion/cjs/examples/plasma_b2c/components/Tabs/vertical/VerticalTabs.config.js +6 -6
  33. package/emotion/cjs/examples/plasma_web/components/Tabs/Tabs.stories.tsx +72 -33
  34. package/emotion/cjs/examples/plasma_web/components/Tabs/horizontal/HorizontalTabItem.config.js +15 -15
  35. package/emotion/cjs/examples/plasma_web/components/Tabs/horizontal/HorizontalTabs.config.js +15 -15
  36. package/emotion/cjs/examples/plasma_web/components/Tabs/vertical/VerticalTabs.config.js +6 -6
  37. package/emotion/es/components/Tabs/tokens.js +2 -0
  38. package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +3 -1
  39. package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +21 -9
  40. package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.styles.js +4 -4
  41. package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js +1 -1
  42. package/emotion/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +8 -7
  43. package/emotion/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.styles.js +4 -4
  44. package/emotion/es/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +72 -33
  45. package/emotion/es/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabItem.config.js +15 -15
  46. package/emotion/es/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabs.config.js +15 -15
  47. package/emotion/es/examples/plasma_b2c/components/Tabs/vertical/VerticalTabs.config.js +6 -6
  48. package/emotion/es/examples/plasma_web/components/Tabs/Tabs.stories.tsx +72 -33
  49. package/emotion/es/examples/plasma_web/components/Tabs/horizontal/HorizontalTabItem.config.js +15 -15
  50. package/emotion/es/examples/plasma_web/components/Tabs/horizontal/HorizontalTabs.config.js +15 -15
  51. package/emotion/es/examples/plasma_web/components/Tabs/vertical/VerticalTabs.config.js +6 -6
  52. package/es/components/Tabs/createTabsController.js.map +1 -1
  53. package/es/components/Tabs/tokens.js +2 -0
  54. package/es/components/Tabs/tokens.js.map +1 -1
  55. package/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +3 -1
  56. package/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js.map +1 -1
  57. package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.css +5 -5
  58. package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +21 -9
  59. package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js.map +1 -1
  60. package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.styles.js +1 -1
  61. package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.styles.js.map +1 -1
  62. package/es/components/Tabs/ui/horizontal/HorizontalTabs/{HorizontalTabs.styles_16kuvxt.css → HorizontalTabs.styles_p9rk79.css} +1 -1
  63. package/es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js +1 -1
  64. package/es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js.map +1 -1
  65. package/{cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base_9miwn.css → es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base_4ob3q5.css} +1 -1
  66. package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.css +4 -4
  67. package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +8 -7
  68. package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js.map +1 -1
  69. package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.styles.js +1 -1
  70. package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.styles.js.map +1 -1
  71. package/{cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.styles_1fr5ovg.css → es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.styles_1r1hidh.css} +1 -1
  72. package/es/index.css +9 -9
  73. package/package.json +2 -2
  74. package/styled-components/cjs/components/Tabs/tokens.js +2 -0
  75. package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +3 -1
  76. package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +20 -8
  77. package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.styles.js +2 -2
  78. package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js +1 -1
  79. package/styled-components/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +7 -6
  80. package/styled-components/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.styles.js +2 -2
  81. package/styled-components/cjs/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +72 -33
  82. package/styled-components/cjs/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabItem.config.js +2 -2
  83. package/styled-components/cjs/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabs.config.js +3 -3
  84. package/styled-components/cjs/examples/plasma_b2c/components/Tabs/vertical/VerticalTabs.config.js +1 -1
  85. package/styled-components/cjs/examples/plasma_web/components/Tabs/Tabs.stories.tsx +72 -33
  86. package/styled-components/cjs/examples/plasma_web/components/Tabs/horizontal/HorizontalTabItem.config.js +2 -2
  87. package/styled-components/cjs/examples/plasma_web/components/Tabs/horizontal/HorizontalTabs.config.js +3 -3
  88. package/styled-components/cjs/examples/plasma_web/components/Tabs/vertical/VerticalTabs.config.js +1 -1
  89. package/styled-components/es/components/Tabs/tokens.js +2 -0
  90. package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +3 -1
  91. package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +21 -9
  92. package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.styles.js +2 -2
  93. package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js +1 -1
  94. package/styled-components/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +8 -7
  95. package/styled-components/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.styles.js +2 -2
  96. package/styled-components/es/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +72 -33
  97. package/styled-components/es/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabItem.config.js +2 -2
  98. package/styled-components/es/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabs.config.js +3 -3
  99. package/styled-components/es/examples/plasma_b2c/components/Tabs/vertical/VerticalTabs.config.js +1 -1
  100. package/styled-components/es/examples/plasma_web/components/Tabs/Tabs.stories.tsx +72 -33
  101. package/styled-components/es/examples/plasma_web/components/Tabs/horizontal/HorizontalTabItem.config.js +2 -2
  102. package/styled-components/es/examples/plasma_web/components/Tabs/horizontal/HorizontalTabs.config.js +3 -3
  103. package/styled-components/es/examples/plasma_web/components/Tabs/vertical/VerticalTabs.config.js +1 -1
  104. package/types/components/Tabs/TabItem.types.d.ts +50 -8
  105. package/types/components/Tabs/TabItem.types.d.ts.map +1 -1
  106. package/types/components/Tabs/Tabs.types.d.ts +44 -2
  107. package/types/components/Tabs/Tabs.types.d.ts.map +1 -1
  108. package/types/components/Tabs/createTabsController.d.ts +2 -2
  109. package/types/components/Tabs/createTabsController.d.ts.map +1 -1
  110. package/types/components/Tabs/index.d.ts +2 -2
  111. package/types/components/Tabs/index.d.ts.map +1 -1
  112. package/types/components/Tabs/tokens.d.ts +2 -0
  113. package/types/components/Tabs/tokens.d.ts.map +1 -1
  114. package/types/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.d.ts.map +1 -1
  115. package/types/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.d.ts +2 -2
  116. package/types/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.d.ts.map +1 -1
  117. package/types/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.styles.d.ts.map +1 -1
  118. package/types/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.d.ts.map +1 -1
  119. package/types/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.styles.d.ts.map +1 -1
  120. package/types/examples/plasma_b2c/components/Tabs/TabItem.d.ts +21 -6
  121. package/types/examples/plasma_b2c/components/Tabs/TabItem.d.ts.map +1 -1
  122. package/types/examples/plasma_b2c/components/Tabs/Tabs.d.ts +2 -2
  123. package/types/examples/plasma_b2c/components/Tabs/Tabs.d.ts.map +1 -1
  124. package/types/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabs.config.d.ts.map +1 -1
  125. package/types/examples/plasma_b2c/components/Tabs/vertical/VerticalTabs.config.d.ts.map +1 -1
  126. package/types/examples/plasma_web/components/Tabs/TabItem.d.ts +21 -6
  127. package/types/examples/plasma_web/components/Tabs/TabItem.d.ts.map +1 -1
  128. package/types/examples/plasma_web/components/Tabs/Tabs.d.ts +2 -2
  129. package/types/examples/plasma_web/components/Tabs/Tabs.d.ts.map +1 -1
  130. package/types/examples/plasma_web/components/Tabs/horizontal/HorizontalTabs.config.d.ts.map +1 -1
  131. package/types/examples/plasma_web/components/Tabs/vertical/VerticalTabs.config.d.ts.map +1 -1
@@ -1,3 +1,4 @@
1
+ var _IconDisclosureLeft, _IconDisclosureRight;
1
2
  var _excluded = ["id", "disabled", "clip", "size", "view", "children", "index", "className", "orientation", "hasDivider"];
2
3
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
4
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
@@ -10,7 +11,7 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
10
11
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
11
12
  import React, { forwardRef, useCallback, useMemo, useState, useEffect, useRef } from 'react';
12
13
  import { safeUseId } from '@salutejs/plasma-core';
13
- import { classes, tokens } from '../../../tokens';
14
+ import { classes } from '../../../tokens';
14
15
  import { cx } from '../../../../../utils';
15
16
  import { TabItemRefs, TabsContext } from '../../../TabsContext';
16
17
  import { IconDisclosureLeft, IconDisclosureRight } from '../../../../_Icon';
@@ -105,18 +106,18 @@ export var verticalTabsRoot = function verticalTabsRoot(Root) {
105
106
  tabIndex: disabled ? -1 : 0,
106
107
  disabled: disabled,
107
108
  ref: upArrowRef
108
- }, /*#__PURE__*/React.createElement(IconDisclosureLeft, {
109
- color: "var(".concat(tokens.arrowColor, ")")
110
- }));
109
+ }, _IconDisclosureLeft || (_IconDisclosureLeft = /*#__PURE__*/React.createElement(IconDisclosureLeft, {
110
+ color: "inherit"
111
+ })));
111
112
  var NextButton = /*#__PURE__*/React.createElement(StyledArrow, {
112
113
  type: "button",
113
114
  "aria-label": "\u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0439 \u0442\u0430\u0431",
114
115
  onClick: onNext,
115
116
  tabIndex: disabled ? -1 : 0,
116
117
  disabled: disabled
117
- }, /*#__PURE__*/React.createElement(IconDisclosureRight, {
118
- color: "var(".concat(tokens.arrowColor, ")")
119
- }));
118
+ }, _IconDisclosureRight || (_IconDisclosureRight = /*#__PURE__*/React.createElement(IconDisclosureRight, {
119
+ color: "inherit"
120
+ })));
120
121
  var handleScroll = useCallback(function (event) {
121
122
  event.stopPropagation();
122
123
  var maxScrollTop = event.currentTarget.scrollHeight - event.currentTarget.clientHeight;
@@ -13,9 +13,9 @@ export var StyledContentWrapper = /*#__PURE__*/styled.div.withConfig({
13
13
  })(["margin:-0.125rem;padding:0.25rem;box-sizing:content-box;position:relative;height:100%;width:100%;display:flex;align-items:center;z-index:1;&.", "{overflow:scroll;scroll-padding:0.25rem;overscroll-behavior:contain;scrollbar-width:none;::-webkit-scrollbar{display:none;}", "{margin-top:auto;}}&.", "{overflow:visible;}"], classes.tabsClipScroll, StyledContent, classes.tabsClipShowAll);
14
14
  export var StyledArrow = /*#__PURE__*/styled.button.withConfig({
15
15
  componentId: "plasma-new-hope__sc-gz8fxn-2"
16
- })(["display:flex;cursor:pointer;border:none;background-color:transparent;padding:0;outline:none;transform:rotate(90deg);", ";&[disabled]{cursor:not-allowed;}"], /*#__PURE__*/addFocus({
16
+ })(["display:flex;cursor:pointer;border:none;background-color:transparent;padding:0;outline:none;transform:rotate(90deg);", ";&[disabled]{cursor:not-allowed;}color:var(", ");&:hover{color:var(", ");}&:active{color:var(", ");}"], /*#__PURE__*/addFocus({
17
17
  outlineSize: '0.063rem',
18
18
  outlineOffset: '-0.125rem',
19
19
  outlineColor: /*#__PURE__*/"var(".concat(tokens.outlineFocusColor, ")"),
20
20
  outlineRadius: 'calc(var(--plasma_private-outline-radius) - 0.063rem)'
21
- }));
21
+ }), tokens.arrowColor, tokens.arrowColorHover, tokens.arrowColorActive);
@@ -12,6 +12,7 @@ import { Tabs } from './Tabs';
12
12
  import { TabItem } from './TabItem';
13
13
 
14
14
  const clips = ['none', 'scroll', 'showAll'];
15
+ const headerClips = ['none', 'scroll'];
15
16
  const sizes = ['xs', 's', 'm', 'l'] as const;
16
17
  const headerSizes = ['h5', 'h4', 'h3', 'h2', 'h1'] as const;
17
18
 
@@ -20,7 +21,6 @@ type HeaderSize = typeof headerSizes[number];
20
21
 
21
22
  type CustomStoryTabsProps = {
22
23
  itemQuantity: number;
23
- hasDivider: boolean;
24
24
  contentLeft: string;
25
25
  contentRight: string;
26
26
  stretch: boolean;
@@ -30,12 +30,12 @@ type CustomStoryTabsProps = {
30
30
  const contentLeftOptions = ['none', 'icon'];
31
31
  const contentRightOptions = ['none', 'counter', 'icon'];
32
32
 
33
- const getContentLeft = (contentLeftOption: string, size: Size) => {
33
+ const getContentLeft = (contentLeftOption: string, size: string) => {
34
34
  const iconSize = size === 'xs' ? 'xs' : 's';
35
35
  return contentLeftOption === 'icon' ? <IconMic size={iconSize} color="inherit" /> : undefined;
36
36
  };
37
37
 
38
- const getContentRight = (contentRightOption: string, size: Size) => {
38
+ const getContentRight = (contentRightOption: string, size: string) => {
39
39
  const iconSize = size === 'xs' ? 'xs' : 's';
40
40
  const counterSize = size === 'xs' ? 'xxs' : 'xs';
41
41
 
@@ -96,7 +96,7 @@ const StoryHorizontalDefault = (props: HorizontalStoryTabsProps) => {
96
96
  const [index, setIndex] = useState(0);
97
97
 
98
98
  return (
99
- <Tabs view={hasDivider ? 'divider' : 'clear'} stretch={stretch} disabled={disabled} size={size}>
99
+ <Tabs view="divider" hasDivider={hasDivider} stretch={stretch} disabled={disabled} size={size}>
100
100
  {items.map((_, i) => {
101
101
  if (helperText !== '') {
102
102
  return (
@@ -152,7 +152,7 @@ const StoryHorizontalScroll = (props: HorizontalStoryTabsProps) => {
152
152
  const [index, setIndex] = useState(0);
153
153
 
154
154
  return (
155
- <Tabs clip={clip} view={hasDivider ? 'divider' : 'clear'} disabled={disabled} size={size} style={{ width }}>
155
+ <Tabs clip={clip} view="divider" hasDivider={hasDivider} disabled={disabled} size={size} style={{ width }}>
156
156
  {items.map((_, i) => {
157
157
  if (helperText !== '') {
158
158
  return (
@@ -220,7 +220,7 @@ const StoryHorizontalShowAll = (props: HorizontalStoryTabsProps) => {
220
220
  });
221
221
 
222
222
  return (
223
- <Tabs clip={clip} view={hasDivider ? 'divider' : 'clear'} disabled={disabled} size={size}>
223
+ <Tabs clip={clip} view="divider" hasDivider={hasDivider} disabled={disabled} size={size}>
224
224
  {visibleItems.map((_, i) => {
225
225
  if (helperText !== '') {
226
226
  return (
@@ -603,31 +603,47 @@ export const VerticalTabs: StoryObj<VerticalStoryTabsProps> = {
603
603
  },
604
604
  };
605
605
 
606
- const StoryHeaderTabs = (props: StoryTabsProps) => {
607
- const {
608
- disabled,
609
- itemQuantity,
610
- size,
611
- contentLeft: contentLeftOption,
612
- contentRight: contentRightOption,
613
- hasDivider,
614
- stretch,
615
- } = props;
606
+ const StoryHeaderDefault = (props: HorizontalStoryTabsProps) => {
607
+ const { disabled, itemQuantity, size, helperText } = props;
608
+ const items = Array(itemQuantity).fill(0);
609
+ const [index, setIndex] = useState(0);
610
+
611
+ return (
612
+ <Tabs view="clear" disabled={disabled} size={size as HeaderSize}>
613
+ {items.map((_, i) => (
614
+ <TabItem
615
+ key={`item:${i}`}
616
+ view="clear"
617
+ selected={i === index}
618
+ onClick={() => !disabled && setIndex(i)}
619
+ tabIndex={!disabled ? 0 : -1}
620
+ disabled={disabled}
621
+ value={helperText}
622
+ size={size as HeaderSize}
623
+ >
624
+ {`Label${i + 1}`}
625
+ </TabItem>
626
+ ))}
627
+ </Tabs>
628
+ );
629
+ };
630
+
631
+ const StoryHeaderScroll = (props: HorizontalStoryTabsProps) => {
632
+ const { disabled, itemQuantity, size, helperText, width } = props;
616
633
  const items = Array(itemQuantity).fill(0);
617
634
  const [index, setIndex] = useState(0);
618
635
 
619
636
  return (
620
- <Tabs view={hasDivider ? 'divider' : 'clear'} disabled={disabled} size={size} stretch={stretch}>
637
+ <Tabs view="clear" disabled={disabled} size={size as HeaderSize} style={{ width }}>
621
638
  {items.map((_, i) => (
622
639
  <TabItem
623
640
  key={`item:${i}`}
624
- view="divider"
641
+ view="clear"
625
642
  selected={i === index}
626
643
  onClick={() => !disabled && setIndex(i)}
627
644
  tabIndex={!disabled ? 0 : -1}
628
645
  disabled={disabled}
629
- contentLeft={getContentLeft(contentLeftOption, size as Size)}
630
- contentRight={getContentRight(contentRightOption, size as Size)}
646
+ value={helperText}
631
647
  size={size as HeaderSize}
632
648
  >
633
649
  {`Label${i + 1}`}
@@ -637,37 +653,60 @@ const StoryHeaderTabs = (props: StoryTabsProps) => {
637
653
  );
638
654
  };
639
655
 
640
- export const HeaderTabs: StoryObj<StoryTabsProps> = {
656
+ export const HeaderTabs: StoryObj<HorizontalStoryTabsProps> = {
641
657
  args: {
642
658
  size: 'h5',
643
659
  disabled: false,
644
- hasDivider: true,
645
- itemQuantity: 4,
660
+ helperText: '',
661
+ itemQuantity: 6,
662
+ width: '12rem',
646
663
  },
647
664
  argTypes: {
648
- size: {
649
- options: headerSizes,
665
+ clip: {
666
+ options: headerClips,
650
667
  control: {
651
668
  type: 'select',
652
669
  },
653
670
  },
654
- contentLeft: {
655
- options: contentLeftOptions,
671
+ width: {
656
672
  control: {
657
- type: 'select',
673
+ type: 'text',
674
+ },
675
+ if: { arg: 'clip', eq: 'scroll' },
676
+ },
677
+ stretch: {
678
+ table: {
679
+ disable: true,
680
+ },
681
+ },
682
+ contentLeft: {
683
+ table: {
684
+ disable: true,
658
685
  },
659
686
  },
660
687
  contentRight: {
661
- options: contentRightOptions,
662
- control: {
663
- type: 'select',
688
+ table: {
689
+ disable: true,
664
690
  },
665
691
  },
666
- clip: {
692
+ hasDivider: {
667
693
  table: {
668
694
  disable: true,
669
695
  },
670
696
  },
697
+ size: {
698
+ options: headerSizes,
699
+ control: {
700
+ type: 'select',
701
+ },
702
+ },
703
+ },
704
+ render: (args) => {
705
+ switch (args.clip) {
706
+ case 'scroll':
707
+ return <StoryHeaderScroll {...args} />;
708
+ default:
709
+ return <StoryHeaderDefault {...args} />;
710
+ }
671
711
  },
672
- render: (args) => <StoryHeaderTabs {...args} />,
673
712
  };
@@ -20,8 +20,8 @@ export var config = {
20
20
  h5: /*#__PURE__*/css(["", ":0.375rem;", ":auto;", ":3rem;", ":0rem;", ":1.75rem;", ":0.625rem;", ":var(--plasma-typo-h5-font-family);", ":var(--plasma-typo-h5-font-size);", ":var(--plasma-typo-h5-font-style);", ":var(--plasma-typo-h5-font-weight);", ":var(--plasma-typo-h5-letter-spacing);", ":var(--plasma-typo-h5-line-height);"], tabsTokens.itemBorderRadius, tabsTokens.itemWidth, tabsTokens.itemHeight, tabsTokens.itemPadding, tabsTokens.itemMarginLeft, tabsTokens.itemContentGap, tabsTokens.fontFamily, tabsTokens.fontSize, tabsTokens.fontStyle, tabsTokens.fontWeight, tabsTokens.letterSpacing, tabsTokens.lineHeight),
21
21
  h4: /*#__PURE__*/css(["", ":0.375rem;", ":auto;", ":3.25rem;", ":0rem;", ":2rem;", ":0.625rem;", ":var(--plasma-typo-h4-font-family);", ":var(--plasma-typo-h4-font-size);", ":var(--plasma-typo-h4-font-style);", ":var(--plasma-typo-h4-font-weight);", ":var(--plasma-typo-h4-letter-spacing);", ":var(--plasma-typo-h4-line-height);"], tabsTokens.itemBorderRadius, tabsTokens.itemWidth, tabsTokens.itemHeight, tabsTokens.itemPadding, tabsTokens.itemMarginLeft, tabsTokens.itemContentGap, tabsTokens.fontFamily, tabsTokens.fontSize, tabsTokens.fontStyle, tabsTokens.fontWeight, tabsTokens.letterSpacing, tabsTokens.lineHeight),
22
22
  h3: /*#__PURE__*/css(["", ":0.5rem;", ":auto;", ":3.875rem;", ":0rem;", ":2.25rem;", ":0.75rem;", ":var(--plasma-typo-h3-font-family);", ":var(--plasma-typo-h3-font-size);", ":var(--plasma-typo-h3-font-style);", ":var(--plasma-typo-h3-font-weight);", ":var(--plasma-typo-h3-letter-spacing);", ":var(--plasma-typo-h3-line-height);"], tabsTokens.itemBorderRadius, tabsTokens.itemWidth, tabsTokens.itemHeight, tabsTokens.itemPadding, tabsTokens.itemMarginLeft, tabsTokens.itemContentGap, tabsTokens.fontFamily, tabsTokens.fontSize, tabsTokens.fontStyle, tabsTokens.fontWeight, tabsTokens.letterSpacing, tabsTokens.lineHeight),
23
- h2: /*#__PURE__*/css(["", ":0.625rem;", ":auto;", ":4.5rem;", ":0rem;", ":2.5rem;", ":1rem;", ":var(--plasma-typo-h2-font-family);", ":var(--plasma-typo-h2-font-size);", ":var(--plasma-typo-h2-font-style);", ":var(--plasma-typo-h2-font-weight);", ":var(--plasma-typo-h2-letter-spacing);", ":var(--plasma-typo-h2-line-height);"], tabsTokens.itemBorderRadius, tabsTokens.itemWidth, tabsTokens.itemHeight, tabsTokens.itemPadding, tabsTokens.itemMarginLeft, tabsTokens.itemContentGap, tabsTokens.fontFamily, tabsTokens.fontSize, tabsTokens.fontStyle, tabsTokens.fontWeight, tabsTokens.letterSpacing, tabsTokens.lineHeight),
24
- h1: /*#__PURE__*/css(["", ":0.75rem;", ":auto;", ":5.75rem;", ":0rem;", ":3.5rem;", ":0.5rem;", ":var(--plasma-typo-h1-font-family);", ":var(--plasma-typo-h1-font-size);", ":var(--plasma-typo-h1-font-style);", ":var(--plasma-typo-h1-font-weight);", ":var(--plasma-typo-h1-letter-spacing);", ":var(--plasma-typo-h1-line-height);"], tabsTokens.itemBorderRadius, tabsTokens.itemWidth, tabsTokens.itemHeight, tabsTokens.itemPadding, tabsTokens.itemMarginLeft, tabsTokens.itemContentGap, tabsTokens.fontFamily, tabsTokens.fontSize, tabsTokens.fontStyle, tabsTokens.fontWeight, tabsTokens.letterSpacing, tabsTokens.lineHeight)
23
+ h2: /*#__PURE__*/css(["", ":0.625rem;", ":auto;", ":4.5rem;", ":0rem;", ":2.5rem;", ":0.875rem;", ":var(--plasma-typo-h2-font-family);", ":var(--plasma-typo-h2-font-size);", ":var(--plasma-typo-h2-font-style);", ":var(--plasma-typo-h2-font-weight);", ":var(--plasma-typo-h2-letter-spacing);", ":var(--plasma-typo-h2-line-height);"], tabsTokens.itemBorderRadius, tabsTokens.itemWidth, tabsTokens.itemHeight, tabsTokens.itemPadding, tabsTokens.itemMarginLeft, tabsTokens.itemContentGap, tabsTokens.fontFamily, tabsTokens.fontSize, tabsTokens.fontStyle, tabsTokens.fontWeight, tabsTokens.letterSpacing, tabsTokens.lineHeight),
24
+ h1: /*#__PURE__*/css(["", ":0.75rem;", ":auto;", ":5.75rem;", ":0rem;", ":3.5rem;", ":1rem;", ":var(--plasma-typo-h1-font-family);", ":var(--plasma-typo-h1-font-size);", ":var(--plasma-typo-h1-font-style);", ":var(--plasma-typo-h1-font-weight);", ":var(--plasma-typo-h1-letter-spacing);", ":var(--plasma-typo-h1-line-height);"], tabsTokens.itemBorderRadius, tabsTokens.itemWidth, tabsTokens.itemHeight, tabsTokens.itemPadding, tabsTokens.itemMarginLeft, tabsTokens.itemContentGap, tabsTokens.fontFamily, tabsTokens.fontSize, tabsTokens.fontStyle, tabsTokens.fontWeight, tabsTokens.letterSpacing, tabsTokens.lineHeight)
25
25
  },
26
26
  disabled: {
27
27
  "true": /*#__PURE__*/css(["", ":0.4;"], tabsTokens.disabledOpacity)
@@ -7,9 +7,9 @@ export var config = {
7
7
  },
8
8
  variations: {
9
9
  view: {
10
- clear: /*#__PURE__*/css(["", ":var(--text-secondary);", ":transparent;", ":var(--surface-accent);", ":0rem;", ":transparent;", ":0rem;"], tabsTokens.arrowColor, tabsTokens.tabsBackgroundColor, tabsTokens.outlineFocusColor, tabsTokens.tabsDividerHeight, tabsTokens.tabsDividerColor, tabsTokens.tabsDividerBorderRadius),
11
- filled: /*#__PURE__*/css(["", ":var(--text-secondary);", ":var(--surface-transparent-primary);", ":var(--surface-accent);", ":0rem;", ":transparent;", ":0rem;"], tabsTokens.arrowColor, tabsTokens.tabsBackgroundColor, tabsTokens.outlineFocusColor, tabsTokens.tabsDividerHeight, tabsTokens.tabsDividerColor, tabsTokens.tabsDividerBorderRadius),
12
- divider: /*#__PURE__*/css(["", ":var(--text-secondary);", ":transparent;", ":var(--surface-accent);", ":0.0625rem;", ":var(--surface-transparent-tertiary);", ":0.0625rem;"], tabsTokens.arrowColor, tabsTokens.tabsBackgroundColor, tabsTokens.outlineFocusColor, tabsTokens.tabsDividerHeight, tabsTokens.tabsDividerColor, tabsTokens.tabsDividerBorderRadius)
10
+ clear: /*#__PURE__*/css(["", ":var(--text-secondary);", ":var(--text-secondary-hover);", ":var(---text-secondary-active);", ":transparent;", ":var(--surface-accent);", ":0rem;", ":transparent;", ":0rem;"], tabsTokens.arrowColor, tabsTokens.arrowColorHover, tabsTokens.arrowColorActive, tabsTokens.tabsBackgroundColor, tabsTokens.outlineFocusColor, tabsTokens.tabsDividerHeight, tabsTokens.tabsDividerColor, tabsTokens.tabsDividerBorderRadius),
11
+ filled: /*#__PURE__*/css(["", ":var(--text-secondary);", ":var(--text-secondary-hover);", ":var(---text-secondary-active);", ":var(--surface-transparent-primary);", ":var(--surface-accent);", ":0rem;", ":transparent;", ":0rem;"], tabsTokens.arrowColor, tabsTokens.arrowColorHover, tabsTokens.arrowColorActive, tabsTokens.tabsBackgroundColor, tabsTokens.outlineFocusColor, tabsTokens.tabsDividerHeight, tabsTokens.tabsDividerColor, tabsTokens.tabsDividerBorderRadius),
12
+ divider: /*#__PURE__*/css(["", ":var(--text-secondary);", ":var(--text-secondary-hover);", ":var(---text-secondary-active);", ":transparent;", ":var(--surface-accent);", ":0.0625rem;", ":var(--surface-transparent-tertiary);", ":0.0625rem;"], tabsTokens.arrowColor, tabsTokens.arrowColorHover, tabsTokens.arrowColorActive, tabsTokens.tabsBackgroundColor, tabsTokens.outlineFocusColor, tabsTokens.tabsDividerHeight, tabsTokens.tabsDividerColor, tabsTokens.tabsDividerBorderRadius)
13
13
  },
14
14
  size: {
15
15
  xs: /*#__PURE__*/css(["", ":0.5rem;", ":fit-content;", ":auto;", ":0rem;", ":0.125rem;"], tabsTokens.tabsBorderRadius, tabsTokens.tabsWidth, tabsTokens.tabsHeight, tabsTokens.arrowInnerPadding, tabsTokens.arrowOuterPadding),
@@ -7,7 +7,7 @@ export var config = {
7
7
  },
8
8
  variations: {
9
9
  view: {
10
- divider: /*#__PURE__*/css(["", ":var(--text-secondary);", ":transparent;", ":var(--surface-accent);", ":0.0625rem;", ":0.0625rem;", ":var(--surface-transparent-tertiary);", ":0.0625rem;"], tabsTokens.arrowColor, tabsTokens.tabsBackgroundColor, tabsTokens.outlineFocusColor, tabsTokens.tabsDividerWidth, tabsTokens.tabsDividerHeight, tabsTokens.tabsDividerColor, tabsTokens.tabsDividerBorderRadius)
10
+ divider: /*#__PURE__*/css(["", ":var(--text-secondary);", ":var(--text-secondary-hover);", ":var(---text-secondary-active);", ":transparent;", ":var(--surface-accent);", ":0.0625rem;", ":0.0625rem;", ":var(--surface-transparent-tertiary);", ":0.0625rem;"], tabsTokens.arrowColor, tabsTokens.arrowColorHover, tabsTokens.arrowColorActive, tabsTokens.tabsBackgroundColor, tabsTokens.outlineFocusColor, tabsTokens.tabsDividerWidth, tabsTokens.tabsDividerHeight, tabsTokens.tabsDividerColor, tabsTokens.tabsDividerBorderRadius)
11
11
  },
12
12
  size: {
13
13
  xs: /*#__PURE__*/css(["", ":0.5rem;", ":fit-content;", ":auto;", ":0rem;", ":0.125rem;"], tabsTokens.tabsBorderRadius, tabsTokens.tabsWidth, tabsTokens.tabsHeight, tabsTokens.arrowInnerPadding, tabsTokens.arrowOuterPadding),
@@ -12,6 +12,7 @@ import { Tabs } from './Tabs';
12
12
  import { TabItem } from './TabItem';
13
13
 
14
14
  const clips = ['none', 'scroll', 'showAll'];
15
+ const headerClips = ['none', 'scroll'];
15
16
  const sizes = ['xs', 's', 'm', 'l'] as const;
16
17
  const headerSizes = ['h5', 'h4', 'h3', 'h2', 'h1'] as const;
17
18
 
@@ -20,7 +21,6 @@ type HeaderSize = typeof headerSizes[number];
20
21
 
21
22
  type CustomStoryTabsProps = {
22
23
  itemQuantity: number;
23
- hasDivider: boolean;
24
24
  contentLeft: string;
25
25
  contentRight: string;
26
26
  stretch: boolean;
@@ -30,12 +30,12 @@ type CustomStoryTabsProps = {
30
30
  const contentLeftOptions = ['none', 'icon'];
31
31
  const contentRightOptions = ['none', 'counter', 'icon'];
32
32
 
33
- const getContentLeft = (contentLeftOption: string, size: Size) => {
33
+ const getContentLeft = (contentLeftOption: string, size: string) => {
34
34
  const iconSize = size === 'xs' ? 'xs' : 's';
35
35
  return contentLeftOption === 'icon' ? <IconMic size={iconSize} color="inherit" /> : undefined;
36
36
  };
37
37
 
38
- const getContentRight = (contentRightOption: string, size: Size) => {
38
+ const getContentRight = (contentRightOption: string, size: string) => {
39
39
  const iconSize = size === 'xs' ? 'xs' : 's';
40
40
  const counterSize = size === 'xs' ? 'xxs' : 'xs';
41
41
 
@@ -96,7 +96,7 @@ const StoryHorizontalDefault = (props: HorizontalStoryTabsProps) => {
96
96
  const [index, setIndex] = useState(0);
97
97
 
98
98
  return (
99
- <Tabs view={hasDivider ? 'divider' : 'clear'} stretch={stretch} disabled={disabled} size={size}>
99
+ <Tabs view="divider" hasDivider={hasDivider} stretch={stretch} disabled={disabled} size={size}>
100
100
  {items.map((_, i) => {
101
101
  if (helperText !== '') {
102
102
  return (
@@ -152,7 +152,7 @@ const StoryHorizontalScroll = (props: HorizontalStoryTabsProps) => {
152
152
  const [index, setIndex] = useState(0);
153
153
 
154
154
  return (
155
- <Tabs clip={clip} view={hasDivider ? 'divider' : 'clear'} disabled={disabled} size={size} style={{ width }}>
155
+ <Tabs clip={clip} view="divider" hasDivider={hasDivider} disabled={disabled} size={size} style={{ width }}>
156
156
  {items.map((_, i) => {
157
157
  if (helperText !== '') {
158
158
  return (
@@ -220,7 +220,7 @@ const StoryHorizontalShowAll = (props: HorizontalStoryTabsProps) => {
220
220
  });
221
221
 
222
222
  return (
223
- <Tabs clip={clip} view={hasDivider ? 'divider' : 'clear'} disabled={disabled} size={size}>
223
+ <Tabs clip={clip} view="divider" hasDivider={hasDivider} disabled={disabled} size={size}>
224
224
  {visibleItems.map((_, i) => {
225
225
  if (helperText !== '') {
226
226
  return (
@@ -603,31 +603,47 @@ export const VerticalTabs: StoryObj<VerticalStoryTabsProps> = {
603
603
  },
604
604
  };
605
605
 
606
- const StoryHeaderTabs = (props: StoryTabsProps) => {
607
- const {
608
- disabled,
609
- itemQuantity,
610
- size,
611
- contentLeft: contentLeftOption,
612
- contentRight: contentRightOption,
613
- hasDivider,
614
- stretch,
615
- } = props;
606
+ const StoryHeaderDefault = (props: HorizontalStoryTabsProps) => {
607
+ const { disabled, itemQuantity, size, helperText } = props;
608
+ const items = Array(itemQuantity).fill(0);
609
+ const [index, setIndex] = useState(0);
610
+
611
+ return (
612
+ <Tabs view="clear" disabled={disabled} size={size as HeaderSize}>
613
+ {items.map((_, i) => (
614
+ <TabItem
615
+ key={`item:${i}`}
616
+ view="clear"
617
+ selected={i === index}
618
+ onClick={() => !disabled && setIndex(i)}
619
+ tabIndex={!disabled ? 0 : -1}
620
+ disabled={disabled}
621
+ value={helperText}
622
+ size={size as HeaderSize}
623
+ >
624
+ {`Label${i + 1}`}
625
+ </TabItem>
626
+ ))}
627
+ </Tabs>
628
+ );
629
+ };
630
+
631
+ const StoryHeaderScroll = (props: HorizontalStoryTabsProps) => {
632
+ const { disabled, itemQuantity, size, helperText, width } = props;
616
633
  const items = Array(itemQuantity).fill(0);
617
634
  const [index, setIndex] = useState(0);
618
635
 
619
636
  return (
620
- <Tabs view={hasDivider ? 'divider' : 'clear'} disabled={disabled} size={size} stretch={stretch}>
637
+ <Tabs view="clear" disabled={disabled} size={size as HeaderSize} style={{ width }}>
621
638
  {items.map((_, i) => (
622
639
  <TabItem
623
640
  key={`item:${i}`}
624
- view="divider"
641
+ view="clear"
625
642
  selected={i === index}
626
643
  onClick={() => !disabled && setIndex(i)}
627
644
  tabIndex={!disabled ? 0 : -1}
628
645
  disabled={disabled}
629
- contentLeft={getContentLeft(contentLeftOption, size as Size)}
630
- contentRight={getContentRight(contentRightOption, size as Size)}
646
+ value={helperText}
631
647
  size={size as HeaderSize}
632
648
  >
633
649
  {`Label${i + 1}`}
@@ -637,37 +653,60 @@ const StoryHeaderTabs = (props: StoryTabsProps) => {
637
653
  );
638
654
  };
639
655
 
640
- export const HeaderTabs: StoryObj<StoryTabsProps> = {
656
+ export const HeaderTabs: StoryObj<HorizontalStoryTabsProps> = {
641
657
  args: {
642
658
  size: 'h5',
643
659
  disabled: false,
644
- hasDivider: true,
645
- itemQuantity: 4,
660
+ helperText: '',
661
+ itemQuantity: 6,
662
+ width: '12rem',
646
663
  },
647
664
  argTypes: {
648
- size: {
649
- options: headerSizes,
665
+ clip: {
666
+ options: headerClips,
650
667
  control: {
651
668
  type: 'select',
652
669
  },
653
670
  },
654
- contentLeft: {
655
- options: contentLeftOptions,
671
+ width: {
656
672
  control: {
657
- type: 'select',
673
+ type: 'text',
674
+ },
675
+ if: { arg: 'clip', eq: 'scroll' },
676
+ },
677
+ stretch: {
678
+ table: {
679
+ disable: true,
680
+ },
681
+ },
682
+ contentLeft: {
683
+ table: {
684
+ disable: true,
658
685
  },
659
686
  },
660
687
  contentRight: {
661
- options: contentRightOptions,
662
- control: {
663
- type: 'select',
688
+ table: {
689
+ disable: true,
664
690
  },
665
691
  },
666
- clip: {
692
+ hasDivider: {
667
693
  table: {
668
694
  disable: true,
669
695
  },
670
696
  },
697
+ size: {
698
+ options: headerSizes,
699
+ control: {
700
+ type: 'select',
701
+ },
702
+ },
703
+ },
704
+ render: (args) => {
705
+ switch (args.clip) {
706
+ case 'scroll':
707
+ return <StoryHeaderScroll {...args} />;
708
+ default:
709
+ return <StoryHeaderDefault {...args} />;
710
+ }
671
711
  },
672
- render: (args) => <StoryHeaderTabs {...args} />,
673
712
  };
@@ -20,8 +20,8 @@ export var config = {
20
20
  h5: /*#__PURE__*/css(["", ":0.375rem;", ":auto;", ":3rem;", ":0rem;", ":1.75rem;", ":0.625rem;", ":var(--plasma-typo-h5-font-family);", ":var(--plasma-typo-h5-font-size);", ":var(--plasma-typo-h5-font-style);", ":var(--plasma-typo-h5-font-weight);", ":var(--plasma-typo-h5-letter-spacing);", ":var(--plasma-typo-h5-line-height);"], tabsTokens.itemBorderRadius, tabsTokens.itemWidth, tabsTokens.itemHeight, tabsTokens.itemPadding, tabsTokens.itemMarginLeft, tabsTokens.itemContentGap, tabsTokens.fontFamily, tabsTokens.fontSize, tabsTokens.fontStyle, tabsTokens.fontWeight, tabsTokens.letterSpacing, tabsTokens.lineHeight),
21
21
  h4: /*#__PURE__*/css(["", ":0.375rem;", ":auto;", ":3.25rem;", ":0rem;", ":2rem;", ":0.625rem;", ":var(--plasma-typo-h4-font-family);", ":var(--plasma-typo-h4-font-size);", ":var(--plasma-typo-h4-font-style);", ":var(--plasma-typo-h4-font-weight);", ":var(--plasma-typo-h4-letter-spacing);", ":var(--plasma-typo-h4-line-height);"], tabsTokens.itemBorderRadius, tabsTokens.itemWidth, tabsTokens.itemHeight, tabsTokens.itemPadding, tabsTokens.itemMarginLeft, tabsTokens.itemContentGap, tabsTokens.fontFamily, tabsTokens.fontSize, tabsTokens.fontStyle, tabsTokens.fontWeight, tabsTokens.letterSpacing, tabsTokens.lineHeight),
22
22
  h3: /*#__PURE__*/css(["", ":0.5rem;", ":auto;", ":3.875rem;", ":0rem;", ":2.25rem;", ":0.75rem;", ":var(--plasma-typo-h3-font-family);", ":var(--plasma-typo-h3-font-size);", ":var(--plasma-typo-h3-font-style);", ":var(--plasma-typo-h3-font-weight);", ":var(--plasma-typo-h3-letter-spacing);", ":var(--plasma-typo-h3-line-height);"], tabsTokens.itemBorderRadius, tabsTokens.itemWidth, tabsTokens.itemHeight, tabsTokens.itemPadding, tabsTokens.itemMarginLeft, tabsTokens.itemContentGap, tabsTokens.fontFamily, tabsTokens.fontSize, tabsTokens.fontStyle, tabsTokens.fontWeight, tabsTokens.letterSpacing, tabsTokens.lineHeight),
23
- h2: /*#__PURE__*/css(["", ":0.625rem;", ":auto;", ":4.5rem;", ":0rem;", ":2.5rem;", ":1rem;", ":var(--plasma-typo-h2-font-family);", ":var(--plasma-typo-h2-font-size);", ":var(--plasma-typo-h2-font-style);", ":var(--plasma-typo-h2-font-weight);", ":var(--plasma-typo-h2-letter-spacing);", ":var(--plasma-typo-h2-line-height);"], tabsTokens.itemBorderRadius, tabsTokens.itemWidth, tabsTokens.itemHeight, tabsTokens.itemPadding, tabsTokens.itemMarginLeft, tabsTokens.itemContentGap, tabsTokens.fontFamily, tabsTokens.fontSize, tabsTokens.fontStyle, tabsTokens.fontWeight, tabsTokens.letterSpacing, tabsTokens.lineHeight),
24
- h1: /*#__PURE__*/css(["", ":0.75rem;", ":auto;", ":5.75rem;", ":0rem;", ":3.5rem;", ":0.5rem;", ":var(--plasma-typo-h1-font-family);", ":var(--plasma-typo-h1-font-size);", ":var(--plasma-typo-h1-font-style);", ":var(--plasma-typo-h1-font-weight);", ":var(--plasma-typo-h1-letter-spacing);", ":var(--plasma-typo-h1-line-height);"], tabsTokens.itemBorderRadius, tabsTokens.itemWidth, tabsTokens.itemHeight, tabsTokens.itemPadding, tabsTokens.itemMarginLeft, tabsTokens.itemContentGap, tabsTokens.fontFamily, tabsTokens.fontSize, tabsTokens.fontStyle, tabsTokens.fontWeight, tabsTokens.letterSpacing, tabsTokens.lineHeight)
23
+ h2: /*#__PURE__*/css(["", ":0.625rem;", ":auto;", ":4.5rem;", ":0rem;", ":2.5rem;", ":0.875rem;", ":var(--plasma-typo-h2-font-family);", ":var(--plasma-typo-h2-font-size);", ":var(--plasma-typo-h2-font-style);", ":var(--plasma-typo-h2-font-weight);", ":var(--plasma-typo-h2-letter-spacing);", ":var(--plasma-typo-h2-line-height);"], tabsTokens.itemBorderRadius, tabsTokens.itemWidth, tabsTokens.itemHeight, tabsTokens.itemPadding, tabsTokens.itemMarginLeft, tabsTokens.itemContentGap, tabsTokens.fontFamily, tabsTokens.fontSize, tabsTokens.fontStyle, tabsTokens.fontWeight, tabsTokens.letterSpacing, tabsTokens.lineHeight),
24
+ h1: /*#__PURE__*/css(["", ":0.75rem;", ":auto;", ":5.75rem;", ":0rem;", ":3.5rem;", ":1rem;", ":var(--plasma-typo-h1-font-family);", ":var(--plasma-typo-h1-font-size);", ":var(--plasma-typo-h1-font-style);", ":var(--plasma-typo-h1-font-weight);", ":var(--plasma-typo-h1-letter-spacing);", ":var(--plasma-typo-h1-line-height);"], tabsTokens.itemBorderRadius, tabsTokens.itemWidth, tabsTokens.itemHeight, tabsTokens.itemPadding, tabsTokens.itemMarginLeft, tabsTokens.itemContentGap, tabsTokens.fontFamily, tabsTokens.fontSize, tabsTokens.fontStyle, tabsTokens.fontWeight, tabsTokens.letterSpacing, tabsTokens.lineHeight)
25
25
  },
26
26
  disabled: {
27
27
  "true": /*#__PURE__*/css(["", ":0.4;"], tabsTokens.disabledOpacity)
@@ -7,9 +7,9 @@ export var config = {
7
7
  },
8
8
  variations: {
9
9
  view: {
10
- clear: /*#__PURE__*/css(["", ":var(--text-secondary);", ":transparent;", ":var(--surface-accent);", ":0rem;", ":transparent;", ":0rem;"], tabsTokens.arrowColor, tabsTokens.tabsBackgroundColor, tabsTokens.outlineFocusColor, tabsTokens.tabsDividerHeight, tabsTokens.tabsDividerColor, tabsTokens.tabsDividerBorderRadius),
11
- filled: /*#__PURE__*/css(["", ":var(--text-secondary);", ":var(--surface-transparent-primary);", ":var(--surface-accent);", ":0rem;", ":transparent;", ":0rem;"], tabsTokens.arrowColor, tabsTokens.tabsBackgroundColor, tabsTokens.outlineFocusColor, tabsTokens.tabsDividerHeight, tabsTokens.tabsDividerColor, tabsTokens.tabsDividerBorderRadius),
12
- divider: /*#__PURE__*/css(["", ":var(--text-secondary);", ":transparent;", ":var(--surface-accent);", ":0.0625rem;", ":var(--surface-transparent-tertiary);", ":0.0625rem;"], tabsTokens.arrowColor, tabsTokens.tabsBackgroundColor, tabsTokens.outlineFocusColor, tabsTokens.tabsDividerHeight, tabsTokens.tabsDividerColor, tabsTokens.tabsDividerBorderRadius)
10
+ clear: /*#__PURE__*/css(["", ":var(--text-secondary);", ":var(--text-secondary-hover);", ":var(---text-secondary-active);", ":transparent;", ":var(--surface-accent);", ":0rem;", ":transparent;", ":0rem;"], tabsTokens.arrowColor, tabsTokens.arrowColorHover, tabsTokens.arrowColorActive, tabsTokens.tabsBackgroundColor, tabsTokens.outlineFocusColor, tabsTokens.tabsDividerHeight, tabsTokens.tabsDividerColor, tabsTokens.tabsDividerBorderRadius),
11
+ filled: /*#__PURE__*/css(["", ":var(--text-secondary);", ":var(--text-secondary-hover);", ":var(---text-secondary-active);", ":var(--surface-transparent-primary);", ":var(--surface-accent);", ":0rem;", ":transparent;", ":0rem;"], tabsTokens.arrowColor, tabsTokens.arrowColorHover, tabsTokens.arrowColorActive, tabsTokens.tabsBackgroundColor, tabsTokens.outlineFocusColor, tabsTokens.tabsDividerHeight, tabsTokens.tabsDividerColor, tabsTokens.tabsDividerBorderRadius),
12
+ divider: /*#__PURE__*/css(["", ":var(--text-secondary);", ":var(--text-secondary-hover);", ":var(---text-secondary-active);", ":transparent;", ":var(--surface-accent);", ":0.0625rem;", ":var(--surface-transparent-tertiary);", ":0.0625rem;"], tabsTokens.arrowColor, tabsTokens.arrowColorHover, tabsTokens.arrowColorActive, tabsTokens.tabsBackgroundColor, tabsTokens.outlineFocusColor, tabsTokens.tabsDividerHeight, tabsTokens.tabsDividerColor, tabsTokens.tabsDividerBorderRadius)
13
13
  },
14
14
  size: {
15
15
  xs: /*#__PURE__*/css(["", ":0.5rem;", ":fit-content;", ":auto;", ":0rem;", ":0.125rem;"], tabsTokens.tabsBorderRadius, tabsTokens.tabsWidth, tabsTokens.tabsHeight, tabsTokens.arrowInnerPadding, tabsTokens.arrowOuterPadding),
@@ -7,7 +7,7 @@ export var config = {
7
7
  },
8
8
  variations: {
9
9
  view: {
10
- divider: /*#__PURE__*/css(["", ":var(--text-secondary);", ":transparent;", ":var(--surface-accent);", ":0.0625rem;", ":0.0625rem;", ":var(--surface-transparent-tertiary);", ":0.0625rem;"], tabsTokens.arrowColor, tabsTokens.tabsBackgroundColor, tabsTokens.outlineFocusColor, tabsTokens.tabsDividerWidth, tabsTokens.tabsDividerHeight, tabsTokens.tabsDividerColor, tabsTokens.tabsDividerBorderRadius)
10
+ divider: /*#__PURE__*/css(["", ":var(--text-secondary);", ":var(--text-secondary-hover);", ":var(---text-secondary-active);", ":transparent;", ":var(--surface-accent);", ":0.0625rem;", ":0.0625rem;", ":var(--surface-transparent-tertiary);", ":0.0625rem;"], tabsTokens.arrowColor, tabsTokens.arrowColorHover, tabsTokens.arrowColorActive, tabsTokens.tabsBackgroundColor, tabsTokens.outlineFocusColor, tabsTokens.tabsDividerWidth, tabsTokens.tabsDividerHeight, tabsTokens.tabsDividerColor, tabsTokens.tabsDividerBorderRadius)
11
11
  },
12
12
  size: {
13
13
  xs: /*#__PURE__*/css(["", ":0.5rem;", ":fit-content;", ":auto;", ":0rem;", ":0.125rem;"], tabsTokens.tabsBorderRadius, tabsTokens.tabsWidth, tabsTokens.tabsHeight, tabsTokens.arrowInnerPadding, tabsTokens.arrowOuterPadding),
@@ -1,6 +1,6 @@
1
1
  import type { ButtonHTMLAttributes, ReactNode } from 'react';
2
2
  import type { AsProps } from '../../types';
3
- declare type RightContent = {
3
+ export declare type RightContent = {
4
4
  /**
5
5
  * Значение таба
6
6
  */
@@ -29,10 +29,6 @@ export interface BaseTabItemProps extends ButtonHTMLAttributes<HTMLButtonElement
29
29
  * @default false
30
30
  */
31
31
  disabled?: boolean;
32
- /**
33
- * Контент слева
34
- */
35
- contentLeft?: ReactNode;
36
32
  /**
37
33
  * Контент справа
38
34
  */
@@ -51,13 +47,19 @@ export declare type CustomHorizontalTabItemProps = {
51
47
  * Расположение табов
52
48
  */
53
49
  orientation?: 'horizontal';
50
+ /**
51
+ * Контент слева
52
+ */
53
+ contentLeft?: ReactNode;
54
54
  /**
55
55
  * TabItem c округлым border-radius
56
+ * @deprecated
56
57
  * @default false
57
58
  */
58
59
  pilled?: boolean;
59
60
  /**
60
61
  * Фон TabItem меняется с анимацией
62
+ * @deprecated
61
63
  * @default true
62
64
  */
63
65
  animated?: boolean;
@@ -68,18 +70,59 @@ export declare type CustomHorizontalTabItemProps = {
68
70
  /**
69
71
  * Размер TabItem
70
72
  */
71
- size?: string;
73
+ size?: 'xs' | 's' | 'm' | 'l';
72
74
  /**
73
75
  * Активен ли TabItem
74
76
  * @deprecated Используйте свойство `selected`
75
77
  */
76
78
  isActive?: boolean;
77
79
  } & RightContent;
80
+ export declare type CustomHeaderTabItemProps = {
81
+ /**
82
+ * Расположение табов
83
+ */
84
+ orientation?: 'horizontal';
85
+ /**
86
+ * Контент слева
87
+ */
88
+ contentLeft?: never;
89
+ /**
90
+ * TabItem c округлым border-radius
91
+ * @deprecated
92
+ * @default false
93
+ */
94
+ pilled?: never;
95
+ /**
96
+ * Фон TabItem меняется с анимацией
97
+ * @deprecated
98
+ * @default true
99
+ */
100
+ animated?: never;
101
+ /**
102
+ * Вид TabItem
103
+ */
104
+ view?: string;
105
+ /**
106
+ * Размер TabItem
107
+ */
108
+ size: 'h5' | 'h4' | 'h3' | 'h2' | 'h1';
109
+ /**
110
+ * Активен ли TabItem
111
+ * @deprecated Используйте свойство `selected`
112
+ */
113
+ isActive?: never;
114
+ } & Extract<RightContent, {
115
+ contentRight?: never;
116
+ }>;
78
117
  export declare type CustomVerticalTabItemProps = {
79
118
  /**
80
119
  * Расположение табов
81
120
  */
82
121
  orientation: 'vertical';
122
+ /**
123
+ * Контент слева
124
+ */
125
+ contentLeft?: ReactNode;
83
126
  /**
84
127
  * Вид TabItem
85
128
  */
@@ -89,8 +132,7 @@ export declare type CustomVerticalTabItemProps = {
89
132
  */
90
133
  size?: string;
91
134
  } & RightContent;
92
- export declare type HorizontalTabItemProps = BaseTabItemProps & CustomHorizontalTabItemProps;
135
+ export declare type HorizontalTabItemProps = BaseTabItemProps & (CustomHorizontalTabItemProps | CustomHeaderTabItemProps);
93
136
  export declare type VerticalTabItemProps = BaseTabItemProps & CustomVerticalTabItemProps;
94
137
  export declare type TabItemProps = HorizontalTabItemProps | VerticalTabItemProps;
95
- export {};
96
138
  //# sourceMappingURL=TabItem.types.d.ts.map