@salutejs/plasma-new-hope 0.114.0-dev.0 → 0.114.1-canary.1333.10211221618.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (117) hide show
  1. package/cjs/components/Tabs/tokens.js +5 -2
  2. package/cjs/components/Tabs/tokens.js.map +1 -1
  3. package/cjs/components/Tabs/ui/TabItem/TabItem.css +1 -1
  4. package/cjs/components/Tabs/ui/TabItem/TabItem.js +8 -2
  5. package/cjs/components/Tabs/ui/TabItem/TabItem.js.map +1 -1
  6. package/cjs/components/Tabs/ui/TabItem/variations/_view/base.js +1 -1
  7. package/cjs/components/Tabs/ui/TabItem/variations/_view/base.js.map +1 -1
  8. package/cjs/components/Tabs/ui/TabItem/variations/_view/base_7pcxtm.css +1 -0
  9. package/cjs/components/Tabs/ui/Tabs/Tabs.css +6 -6
  10. package/cjs/components/Tabs/ui/Tabs/Tabs.js +49 -7
  11. package/cjs/components/Tabs/ui/Tabs/Tabs.js.map +1 -1
  12. package/cjs/components/Tabs/ui/Tabs/Tabs.styles.js +7 -7
  13. package/cjs/components/Tabs/ui/Tabs/Tabs.styles.js.map +1 -1
  14. package/{es/components/Tabs/ui/Tabs/Tabs.styles_1b8qt33.css → cjs/components/Tabs/ui/Tabs/Tabs.styles_106qhdc.css} +1 -1
  15. package/cjs/components/Tabs/ui/Tabs/variations/_stretch/base.js +1 -1
  16. package/cjs/components/Tabs/ui/Tabs/variations/_stretch/base.js.map +1 -1
  17. package/{es/components/Tabs/ui/Tabs/variations/_stretch/base_176tz0n.css → cjs/components/Tabs/ui/Tabs/variations/_stretch/base_1c7lnrm.css} +1 -1
  18. package/cjs/components/Tabs/ui/Tabs/variations/_view/base.js +1 -1
  19. package/{es/components/Tabs/ui/Tabs/variations/_view/base_4xkt26.css → cjs/components/Tabs/ui/Tabs/variations/_view/base_aij3sf.css} +1 -1
  20. package/cjs/index.css +7 -7
  21. package/emotion/cjs/components/Tabs/tokens.js +5 -2
  22. package/emotion/cjs/components/Tabs/ui/TabItem/TabItem.js +8 -2
  23. package/emotion/cjs/components/Tabs/ui/TabItem/variations/_view/base.js +1 -1
  24. package/emotion/cjs/components/Tabs/ui/Tabs/Tabs.js +49 -7
  25. package/emotion/cjs/components/Tabs/ui/Tabs/Tabs.styles.js +4 -12
  26. package/emotion/cjs/components/Tabs/ui/Tabs/variations/_stretch/base.js +1 -1
  27. package/emotion/cjs/components/Tabs/ui/Tabs/variations/_view/tokens.json +1 -1
  28. package/emotion/cjs/examples/plasma_b2c/components/Tabs/TabItem.config.js +15 -15
  29. package/emotion/cjs/examples/plasma_b2c/components/Tabs/Tabs.config.js +16 -17
  30. package/emotion/cjs/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +261 -196
  31. package/emotion/cjs/examples/plasma_web/components/Tabs/TabItem.config.js +15 -15
  32. package/emotion/cjs/examples/plasma_web/components/Tabs/Tabs.config.js +16 -17
  33. package/emotion/cjs/examples/plasma_web/components/Tabs/Tabs.stories.tsx +261 -196
  34. package/emotion/es/components/Tabs/tokens.js +5 -2
  35. package/emotion/es/components/Tabs/ui/TabItem/TabItem.js +8 -2
  36. package/emotion/es/components/Tabs/ui/TabItem/variations/_view/base.js +1 -1
  37. package/emotion/es/components/Tabs/ui/Tabs/Tabs.js +50 -8
  38. package/emotion/es/components/Tabs/ui/Tabs/Tabs.styles.js +5 -13
  39. package/emotion/es/components/Tabs/ui/Tabs/variations/_stretch/base.js +1 -1
  40. package/emotion/es/components/Tabs/ui/Tabs/variations/_view/tokens.json +1 -1
  41. package/emotion/es/examples/plasma_b2c/components/Tabs/TabItem.config.js +15 -15
  42. package/emotion/es/examples/plasma_b2c/components/Tabs/Tabs.config.js +16 -17
  43. package/emotion/es/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +261 -196
  44. package/emotion/es/examples/plasma_web/components/Tabs/TabItem.config.js +15 -15
  45. package/emotion/es/examples/plasma_web/components/Tabs/Tabs.config.js +16 -17
  46. package/emotion/es/examples/plasma_web/components/Tabs/Tabs.stories.tsx +261 -196
  47. package/es/components/Tabs/tokens.js +5 -2
  48. package/es/components/Tabs/tokens.js.map +1 -1
  49. package/es/components/Tabs/ui/TabItem/TabItem.css +1 -1
  50. package/es/components/Tabs/ui/TabItem/TabItem.js +8 -2
  51. package/es/components/Tabs/ui/TabItem/TabItem.js.map +1 -1
  52. package/es/components/Tabs/ui/TabItem/variations/_view/base.js +1 -1
  53. package/es/components/Tabs/ui/TabItem/variations/_view/base.js.map +1 -1
  54. package/es/components/Tabs/ui/TabItem/variations/_view/base_7pcxtm.css +1 -0
  55. package/es/components/Tabs/ui/Tabs/Tabs.css +6 -6
  56. package/es/components/Tabs/ui/Tabs/Tabs.js +50 -8
  57. package/es/components/Tabs/ui/Tabs/Tabs.js.map +1 -1
  58. package/es/components/Tabs/ui/Tabs/Tabs.styles.js +7 -7
  59. package/es/components/Tabs/ui/Tabs/Tabs.styles.js.map +1 -1
  60. package/{cjs/components/Tabs/ui/Tabs/Tabs.styles_1b8qt33.css → es/components/Tabs/ui/Tabs/Tabs.styles_106qhdc.css} +1 -1
  61. package/es/components/Tabs/ui/Tabs/variations/_stretch/base.js +1 -1
  62. package/es/components/Tabs/ui/Tabs/variations/_stretch/base.js.map +1 -1
  63. package/{cjs/components/Tabs/ui/Tabs/variations/_stretch/base_176tz0n.css → es/components/Tabs/ui/Tabs/variations/_stretch/base_1c7lnrm.css} +1 -1
  64. package/es/components/Tabs/ui/Tabs/variations/_view/base.js +1 -1
  65. package/{cjs/components/Tabs/ui/Tabs/variations/_view/base_4xkt26.css → es/components/Tabs/ui/Tabs/variations/_view/base_aij3sf.css} +1 -1
  66. package/es/index.css +7 -7
  67. package/package.json +2 -2
  68. package/styled-components/cjs/components/Tabs/tokens.js +5 -2
  69. package/styled-components/cjs/components/Tabs/ui/TabItem/TabItem.js +8 -2
  70. package/styled-components/cjs/components/Tabs/ui/TabItem/variations/_view/base.js +1 -1
  71. package/styled-components/cjs/components/Tabs/ui/Tabs/Tabs.js +49 -7
  72. package/styled-components/cjs/components/Tabs/ui/Tabs/Tabs.styles.js +1 -1
  73. package/styled-components/cjs/components/Tabs/ui/Tabs/variations/_stretch/base.js +1 -1
  74. package/styled-components/cjs/components/Tabs/ui/Tabs/variations/_view/tokens.json +1 -1
  75. package/styled-components/cjs/examples/plasma_b2c/components/Tabs/TabItem.config.js +8 -8
  76. package/styled-components/cjs/examples/plasma_b2c/components/Tabs/Tabs.config.js +4 -5
  77. package/styled-components/cjs/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +261 -196
  78. package/styled-components/cjs/examples/plasma_web/components/Tabs/TabItem.config.js +8 -8
  79. package/styled-components/cjs/examples/plasma_web/components/Tabs/Tabs.config.js +4 -5
  80. package/styled-components/cjs/examples/plasma_web/components/Tabs/Tabs.stories.tsx +261 -196
  81. package/styled-components/es/components/Tabs/tokens.js +5 -2
  82. package/styled-components/es/components/Tabs/ui/TabItem/TabItem.js +8 -2
  83. package/styled-components/es/components/Tabs/ui/TabItem/variations/_view/base.js +1 -1
  84. package/styled-components/es/components/Tabs/ui/Tabs/Tabs.js +50 -8
  85. package/styled-components/es/components/Tabs/ui/Tabs/Tabs.styles.js +2 -2
  86. package/styled-components/es/components/Tabs/ui/Tabs/variations/_stretch/base.js +1 -1
  87. package/styled-components/es/components/Tabs/ui/Tabs/variations/_view/tokens.json +1 -1
  88. package/styled-components/es/examples/plasma_b2c/components/Tabs/TabItem.config.js +8 -8
  89. package/styled-components/es/examples/plasma_b2c/components/Tabs/Tabs.config.js +4 -5
  90. package/styled-components/es/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +261 -196
  91. package/styled-components/es/examples/plasma_web/components/Tabs/TabItem.config.js +8 -8
  92. package/styled-components/es/examples/plasma_web/components/Tabs/Tabs.config.js +4 -5
  93. package/styled-components/es/examples/plasma_web/components/Tabs/Tabs.stories.tsx +261 -196
  94. package/types/components/Tabs/tokens.d.ts +3 -0
  95. package/types/components/Tabs/tokens.d.ts.map +1 -1
  96. package/types/components/Tabs/ui/TabItem/TabItem.d.ts.map +1 -1
  97. package/types/components/Tabs/ui/TabItem/variations/_view/base.d.ts.map +1 -1
  98. package/types/components/Tabs/ui/Tabs/Tabs.d.ts +4 -2
  99. package/types/components/Tabs/ui/Tabs/Tabs.d.ts.map +1 -1
  100. package/types/components/Tabs/ui/Tabs/Tabs.styles.d.ts.map +1 -1
  101. package/types/components/Tabs/ui/Tabs/Tabs.types.d.ts +12 -5
  102. package/types/components/Tabs/ui/Tabs/Tabs.types.d.ts.map +1 -1
  103. package/types/components/Tabs/ui/Tabs/variations/_stretch/base.d.ts.map +1 -1
  104. package/types/examples/plasma_b2c/components/Tabs/TabItem.config.d.ts.map +1 -1
  105. package/types/examples/plasma_b2c/components/Tabs/Tabs.config.d.ts +0 -1
  106. package/types/examples/plasma_b2c/components/Tabs/Tabs.config.d.ts.map +1 -1
  107. package/types/examples/plasma_b2c/components/Tabs/Tabs.d.ts +2 -1
  108. package/types/examples/plasma_b2c/components/Tabs/Tabs.d.ts.map +1 -1
  109. package/types/examples/plasma_web/components/Tabs/TabItem.config.d.ts.map +1 -1
  110. package/types/examples/plasma_web/components/Tabs/Tabs.config.d.ts +0 -1
  111. package/types/examples/plasma_web/components/Tabs/Tabs.config.d.ts.map +1 -1
  112. package/types/examples/plasma_web/components/Tabs/Tabs.d.ts +2 -1
  113. package/types/examples/plasma_web/components/Tabs/Tabs.d.ts.map +1 -1
  114. package/types/examples/sds_engineer/components/Tabs/Tabs.d.ts +2 -1
  115. package/types/examples/sds_engineer/components/Tabs/Tabs.d.ts.map +1 -1
  116. package/cjs/components/Tabs/ui/TabItem/variations/_view/base_q8xs21.css +0 -1
  117. package/es/components/Tabs/ui/TabItem/variations/_view/base_q8xs21.css +0 -1
@@ -1,26 +1,47 @@
1
1
  import React, { useState } from 'react';
2
2
  import type { ComponentProps } from 'react';
3
3
  import type { StoryObj, Meta } from '@storybook/react';
4
- import styled from '@emotion/styled';
4
+ import { disableProps } from '@salutejs/plasma-sb-utils';
5
5
 
6
6
  import { tabsConfig } from '../../../../components/Tabs';
7
7
  import { mergeConfig } from '../../../../engines';
8
8
  import { argTypesFromConfig, WithTheme } from '../../../_helpers';
9
9
  import { IconMic } from '../../../../components/_Icon';
10
+ import { Dropdown } from '../Dropdown/Dropdown';
11
+ import { Counter } from '../Counter/Counter';
10
12
 
11
13
  import { config } from './Tabs.config';
12
14
  import { Tabs } from './Tabs';
13
15
  import { TabItem } from './TabItem';
14
16
 
15
- const tabItemViews = ['clear', 'default', 'divider', 'secondary'];
17
+ const clips = ['none', 'scroll', 'showAll'];
18
+ const sizes = ['xs', 's', 'm', 'l'] as const;
19
+ const headerSizes = ['h5', 'h4', 'h3', 'h2', 'h1'] as const;
16
20
 
17
21
  type CustomStoryTabsProps = {
18
- tabItemView: string;
19
- itemsNumber?: number;
20
- animated?: boolean;
21
- label?: string;
22
- showLeftContent: boolean;
23
- showRightContent: boolean;
22
+ hasDivider: boolean;
23
+ contentLeft: string;
24
+ contentRight: string;
25
+ stretch?: boolean;
26
+ };
27
+
28
+ const contentLeftOptions = ['none', 'icon'];
29
+ const contentRightOptions = ['none', 'text', 'counter', 'icon'];
30
+
31
+ const getContentLeft = (contentLeftOption: string) =>
32
+ contentLeftOption === 'icon' ? <IconMic size="xs" color="inherit" /> : undefined;
33
+
34
+ const getContentRight = (contentRightOption: string) => {
35
+ switch (contentRightOption) {
36
+ case 'icon':
37
+ return <IconMic size="xs" color="inherit" />;
38
+ case 'counter':
39
+ return <Counter count={1} view="positive" />;
40
+ case 'text':
41
+ return <div>Text</div>;
42
+ default:
43
+ return undefined;
44
+ }
24
45
  };
25
46
 
26
47
  type StoryTabsProps = ComponentProps<typeof Tabs> & CustomStoryTabsProps;
@@ -31,232 +52,276 @@ const meta: Meta<StoryTabsProps> = {
31
52
  decorators: [WithTheme],
32
53
  argTypes: {
33
54
  ...argTypesFromConfig(mergeConfig(tabsConfig, config)),
34
- tabItemView: {
35
- options: tabItemViews,
55
+ contentLeft: {
56
+ options: contentLeftOptions,
36
57
  control: {
37
58
  type: 'select',
38
59
  },
39
60
  },
61
+ contentRight: {
62
+ options: contentRightOptions,
63
+ control: {
64
+ type: 'select',
65
+ },
66
+ },
67
+ ...disableProps(['itemsNumber', 'pilled', 'animated', 'stretch', 'view']),
40
68
  },
41
69
  };
42
70
 
43
71
  export default meta;
44
72
 
45
73
  const StoryDefault = (props: StoryTabsProps) => {
74
+ const { disabled, size, contentLeft: contentLeftOption, contentRight: contentRightOption, hasDivider } = props;
75
+ const items = Array(8).fill(0);
76
+ const [index, setIndex] = useState(0);
77
+
78
+ return (
79
+ <Tabs view={hasDivider ? 'divider' : 'clear'} disabled={disabled} size={size}>
80
+ {items.map((_, i) => (
81
+ <TabItem
82
+ key={`item:${i}`}
83
+ view="divider"
84
+ selected={i === index}
85
+ onClick={() => !disabled && setIndex(i)}
86
+ tabIndex={!disabled ? 0 : -1}
87
+ disabled={disabled}
88
+ contentLeft={getContentLeft(contentLeftOption)}
89
+ contentRight={getContentRight(contentRightOption)}
90
+ size={size}
91
+ >
92
+ {`Label${i + 1}`}
93
+ </TabItem>
94
+ ))}
95
+ </Tabs>
96
+ );
97
+ };
98
+
99
+ const StoryScroll = (props: StoryTabsProps) => {
46
100
  const {
47
- itemsNumber,
48
- label,
49
- view,
50
101
  disabled,
51
- stretch,
52
- pilled,
53
- animated,
54
- tabItemView,
102
+ clip,
55
103
  size,
56
- showLeftContent,
57
- showRightContent,
104
+ contentLeft: contentLeftOption,
105
+ contentRight: contentRightOption,
106
+ hasDivider,
58
107
  } = props;
59
- const items = Array(itemsNumber).fill(0);
60
- const secondItems = Array(10).fill(0);
108
+ const items = Array(8).fill(0);
61
109
  const [index, setIndex] = useState(0);
62
- const [secondIndex, setSecondIndex] = useState(0);
63
- const [thirdIndex, setThirdIndex] = useState(0);
64
110
 
65
111
  return (
66
- <>
67
- <h3>Tabs with auto width</h3>
68
- <Tabs view={view} stretch={stretch} pilled={pilled} disabled={disabled} size={size}>
69
- {items.map((_, i) => (
70
- <TabItem
71
- key={`item:${i}`}
72
- view={tabItemView}
73
- selected={i === index}
74
- onClick={() => !disabled && setIndex(i)}
75
- tabIndex={!disabled ? 0 : -1}
76
- disabled={disabled}
77
- pilled={pilled}
78
- animated={animated}
79
- contentLeft={showLeftContent && <IconMic size="xs" color="inherit" />}
80
- contentRight={showRightContent && <div>Text</div>}
81
- size={size}
82
- >
83
- {label}
84
- </TabItem>
85
- ))}
86
- </Tabs>
112
+ <Tabs
113
+ clip={clip}
114
+ view={hasDivider ? 'divider' : 'clear'}
115
+ disabled={disabled}
116
+ size={size}
117
+ style={{ width: '15rem' }}
118
+ >
119
+ {items.map((_, i) => (
120
+ <TabItem
121
+ key={`item:${i}`}
122
+ view="divider"
123
+ selected={i === index}
124
+ onClick={() => !disabled && setIndex(i)}
125
+ tabIndex={!disabled ? 0 : -1}
126
+ disabled={disabled}
127
+ contentLeft={getContentLeft(contentLeftOption)}
128
+ contentRight={getContentRight(contentRightOption)}
129
+ size={size}
130
+ >
131
+ {`Label${i + 1}`}
132
+ </TabItem>
133
+ ))}
134
+ </Tabs>
135
+ );
136
+ };
87
137
 
88
- <h3>Tabs with fixed width</h3>
89
- <Tabs
90
- view={view}
91
- stretch={stretch}
92
- pilled={pilled}
93
- disabled={disabled}
94
- size={size}
95
- style={{ width: '28.5rem' }}
96
- >
97
- {secondItems.map((_, i) => (
98
- <TabItem
99
- key={`item:${i}`}
100
- view={tabItemView}
101
- selected={i === secondIndex}
102
- onClick={() => !disabled && setSecondIndex(i)}
103
- tabIndex={!disabled ? 0 : -1}
104
- disabled={disabled}
105
- pilled={pilled}
106
- animated={animated}
107
- contentLeft={showLeftContent && <IconMic size="xs" color="inherit" />}
108
- contentRight={showRightContent && <div>Text</div>}
109
- size={size}
110
- >
111
- {label}
112
- </TabItem>
113
- ))}
114
- </Tabs>
138
+ const StoryShowAll = (props: StoryTabsProps) => {
139
+ const {
140
+ disabled,
141
+ clip,
142
+ size,
143
+ contentLeft: contentLeftOption,
144
+ contentRight: contentRightOption,
145
+ hasDivider,
146
+ } = props;
147
+ const maxItemsNumber = 3;
148
+ const items = Array(8).fill(0);
149
+ const [index, setIndex] = useState(0);
150
+
151
+ const visibleItems = items.slice(0, maxItemsNumber);
152
+ const otherItems = items.slice(maxItemsNumber);
153
+
154
+ const dropdownItems = otherItems.map((_, i) => {
155
+ const itemIndex = maxItemsNumber + i;
156
+
157
+ return {
158
+ label: `Label${itemIndex + 1}`,
159
+ value: itemIndex,
160
+ };
161
+ });
115
162
 
116
- <h3>Tabs with arrow navigation</h3>
117
- <Tabs view={view} index={thirdIndex} stretch={stretch} pilled={pilled} disabled={disabled} size={size}>
118
- {items.map((_, i) => (
119
- <TabItem
120
- key={`item:${i}`}
121
- view={tabItemView}
122
- selected={i === thirdIndex}
123
- itemIndex={i}
124
- onIndexChange={(i) => setThirdIndex(i)}
125
- onClick={() => !disabled && setThirdIndex(i)}
126
- tabIndex={!disabled ? 0 : -1}
127
- disabled={disabled}
128
- pilled={pilled}
129
- animated={animated}
130
- contentLeft={showLeftContent && <IconMic size="xs" color="inherit" />}
131
- contentRight={showRightContent && <div>Text</div>}
132
- size={size}
163
+ return (
164
+ <Tabs clip={clip} view={hasDivider ? 'divider' : 'clear'} disabled={disabled} size={size}>
165
+ {visibleItems.map((_, i) => (
166
+ <TabItem
167
+ key={`item:${i}`}
168
+ view="divider"
169
+ selected={i === index}
170
+ onClick={() => !disabled && setIndex(i)}
171
+ tabIndex={!disabled ? 0 : -1}
172
+ disabled={disabled}
173
+ contentLeft={getContentLeft(contentLeftOption)}
174
+ contentRight={getContentRight(contentRightOption)}
175
+ size={size}
176
+ >
177
+ {`Label${i + 1}`}
178
+ </TabItem>
179
+ ))}
180
+ {dropdownItems.length > 0 && (
181
+ <div style={{ marginLeft: '1.75rem' }}>
182
+ <Dropdown
183
+ size={size as typeof sizes[number]}
184
+ items={dropdownItems}
185
+ onItemSelect={(item) => setIndex(item.value as number)}
133
186
  >
134
- {label}
135
- </TabItem>
136
- ))}
137
- </Tabs>
138
- </>
187
+ <TabItem
188
+ key="item:ShowAll"
189
+ view="divider"
190
+ tabIndex={!disabled ? 0 : -1}
191
+ disabled={disabled}
192
+ size={size}
193
+ >
194
+ ShowAll
195
+ </TabItem>
196
+ </Dropdown>
197
+ </div>
198
+ )}
199
+ </Tabs>
139
200
  );
140
201
  };
141
202
 
142
203
  export const Default: StoryObj<StoryTabsProps> = {
143
204
  args: {
144
205
  size: 'xs',
145
- itemsNumber: 4,
146
- tabItemView: 'divider',
147
206
  disabled: false,
148
- stretch: false,
149
- pilled: false,
150
- animated: true,
151
- view: 'divider',
152
- label: 'Label',
153
- showLeftContent: false,
154
- showRightContent: false,
207
+ hasDivider: true,
208
+ },
209
+ argTypes: {
210
+ clip: {
211
+ options: clips,
212
+ control: {
213
+ type: 'select',
214
+ },
215
+ },
216
+ size: {
217
+ options: sizes,
218
+ control: {
219
+ type: 'select',
220
+ },
221
+ },
222
+ },
223
+ render: (args) => {
224
+ switch (args.clip) {
225
+ case 'scroll':
226
+ return <StoryScroll {...args} />;
227
+ case 'showAll':
228
+ return <StoryShowAll {...args} />;
229
+ default:
230
+ return <StoryDefault {...args} />;
231
+ }
155
232
  },
156
- render: (args) => <StoryDefault {...args} />,
157
233
  };
158
234
 
159
- const StyledMultipleContainer = styled.div`
160
- display: flex;
161
- align-items: center;
162
- column-gap: 1rem;
163
- `;
235
+ const StoryStretch = (props: StoryTabsProps) => {
236
+ const {
237
+ disabled,
238
+ size,
239
+ contentLeft: contentLeftOption,
240
+ contentRight: contentRightOption,
241
+ hasDivider,
242
+ stretch,
243
+ } = props;
244
+ const items = Array(8).fill(0);
245
+ const [index, setIndex] = useState(0);
164
246
 
165
- const StoryMultiple = ({
166
- itemsNumber,
167
- label,
168
- view,
169
- disabled,
170
- stretch,
171
- pilled,
172
- animated,
173
- tabItemView,
174
- size,
175
- showLeftContent,
176
- showRightContent,
177
- }: StoryTabsProps) => {
178
- const items = Array(itemsNumber).fill(0);
247
+ return (
248
+ <Tabs view={hasDivider ? 'divider' : 'clear'} stretch={stretch} disabled={disabled} size={size}>
249
+ {items.map((_, i) => (
250
+ <TabItem
251
+ key={`item:${i}`}
252
+ view="divider"
253
+ selected={i === index}
254
+ onClick={() => !disabled && setIndex(i)}
255
+ tabIndex={!disabled ? 0 : -1}
256
+ disabled={disabled}
257
+ contentLeft={getContentLeft(contentLeftOption)}
258
+ contentRight={getContentRight(contentRightOption)}
259
+ size={size}
260
+ >
261
+ {`Label${i + 1}`}
262
+ </TabItem>
263
+ ))}
264
+ </Tabs>
265
+ );
266
+ };
179
267
 
180
- const [index1, setIndex1] = useState(0);
181
- const [index2, setIndex2] = useState(0);
268
+ export const Stretch: StoryObj<StoryTabsProps> = {
269
+ args: {
270
+ size: 'xs',
271
+ stretch: true,
272
+ disabled: false,
273
+ hasDivider: true,
274
+ },
275
+ argTypes: {
276
+ size: {
277
+ options: sizes,
278
+ control: {
279
+ type: 'select',
280
+ },
281
+ },
282
+ },
283
+ render: (args) => <StoryStretch {...args} />,
284
+ };
285
+
286
+ const StoryHeaderTabs = (props: StoryTabsProps) => {
287
+ const { disabled, size, contentLeft: contentLeftOption, contentRight: contentRightOption, hasDivider } = props;
288
+ const items = Array(4).fill(0);
289
+ const [index, setIndex] = useState(0);
182
290
 
183
291
  return (
184
- <StyledMultipleContainer>
185
- <Tabs
186
- view={view}
187
- index={index1}
188
- stretch={stretch}
189
- pilled={pilled}
190
- disabled={disabled}
191
- size={size}
192
- style={{ width: '12rem' }}
193
- >
194
- {items.map((_, i) => (
195
- <TabItem
196
- key={`item:${i}`}
197
- view={tabItemView}
198
- selected={i === index1}
199
- itemIndex={i}
200
- onIndexChange={(i) => setIndex1(i)}
201
- onClick={() => !disabled && setIndex1(i)}
202
- tabIndex={!disabled ? 0 : -1}
203
- disabled={disabled}
204
- pilled={pilled}
205
- animated={animated}
206
- contentLeft={showLeftContent && <IconMic size="xs" color="inherit" />}
207
- contentRight={showRightContent && <div>Text</div>}
208
- size={size}
209
- >
210
- {label}
211
- </TabItem>
212
- ))}
213
- </Tabs>
214
- <Tabs
215
- view={view}
216
- index={index2}
217
- stretch={stretch}
218
- pilled={pilled}
219
- disabled={disabled}
220
- size={size}
221
- style={{ width: '12rem' }}
222
- >
223
- {items.map((_, i) => (
224
- <TabItem
225
- key={`item:${i}`}
226
- view={tabItemView}
227
- selected={i === index2}
228
- itemIndex={i}
229
- onIndexChange={(i) => setIndex2(i)}
230
- onClick={() => !disabled && setIndex2(i)}
231
- tabIndex={!disabled ? 0 : -1}
232
- disabled={disabled}
233
- pilled={pilled}
234
- animated={animated}
235
- contentLeft={showLeftContent && <IconMic size="xs" color="inherit" />}
236
- contentRight={showRightContent && <div>Text</div>}
237
- size={size}
238
- >
239
- {label}
240
- </TabItem>
241
- ))}
242
- </Tabs>
243
- </StyledMultipleContainer>
292
+ <Tabs view={hasDivider ? 'divider' : 'clear'} disabled={disabled} size={size}>
293
+ {items.map((_, i) => (
294
+ <TabItem
295
+ key={`item:${i}`}
296
+ view="divider"
297
+ selected={i === index}
298
+ onClick={() => !disabled && setIndex(i)}
299
+ tabIndex={!disabled ? 0 : -1}
300
+ disabled={disabled}
301
+ contentLeft={getContentLeft(contentLeftOption)}
302
+ contentRight={getContentRight(contentRightOption)}
303
+ size={size}
304
+ >
305
+ {`Label${i + 1}`}
306
+ </TabItem>
307
+ ))}
308
+ </Tabs>
244
309
  );
245
310
  };
246
311
 
247
- export const Multiple: StoryObj<StoryTabsProps> = {
312
+ export const HeaderTabs: StoryObj<StoryTabsProps> = {
248
313
  args: {
249
- size: 'xs',
250
- itemsNumber: 6,
251
- tabItemView: 'divider',
314
+ size: 'h5',
252
315
  disabled: false,
253
- stretch: false,
254
- pilled: false,
255
- animated: true,
256
- view: 'divider',
257
- label: 'Label',
258
- showLeftContent: false,
259
- showRightContent: false,
316
+ hasDivider: true,
317
+ },
318
+ argTypes: {
319
+ size: {
320
+ options: headerSizes,
321
+ control: {
322
+ type: 'select',
323
+ },
324
+ },
260
325
  },
261
- render: (args) => <StoryMultiple {...args} />,
326
+ render: (args) => <StoryHeaderTabs {...args} />,
262
327
  };
@@ -9,7 +9,9 @@ var classes = {
9
9
  tabRightContent: 'tab-item-right-content',
10
10
  tabLeftContent: 'tab-item-left-content',
11
11
  tabsHasLeftArrow: 'tabs-has-left-arrow',
12
- tabsHasRightArrow: 'tabs-has-right-arrow'
12
+ tabsHasRightArrow: 'tabs-has-right-arrow',
13
+ tabsClipScroll: 'tabs-clip-scroll',
14
+ tabsClipShowAll: 'tabs-clip-show-all'
13
15
  };
14
16
  var tokens = {
15
17
  disabledOpacity: '--plasma-tabs-disabled-opacity',
@@ -26,7 +28,7 @@ var tokens = {
26
28
  outlineFocusColor: '--plasma-tabs-outline-focus-color',
27
29
  arrowColor: '--plasma-tabs-arrow-color',
28
30
  tabsFilledBackgroundColor: '--plasma-tabs-filled-background-color',
29
- tabsBackgroundColor: '--plasma-tabs-backgorund-color',
31
+ tabsBackgroundColor: '--plasma-tabs-background-color',
30
32
  tabsBorderRadius: '--plasma-tabs-border-radius',
31
33
  tabsWidth: '--plasma-tabs-width',
32
34
  tabsHeight: '--plasma-tabs-height',
@@ -50,6 +52,7 @@ var tokens = {
50
52
  itemColor: '--plasma-tab-item-color',
51
53
  itemBackgroundColor: '--plasma-tab-item-background-color',
52
54
  itemColorHover: '--plasma-tab-item-color-hover',
55
+ itemColorActive: '--plasma-tab-item-color-active',
53
56
  itemBackgroundColorHover: '--plasma-tab-item-background-color-hover',
54
57
  itemSelectedColor: '--plasma-tab-item-selected-color',
55
58
  itemSelectedBackgroundColor: '--plasma-tab-item-selected-background-color',
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sources":["../../../src/components/Tabs/tokens.ts"],"sourcesContent":["export const classes = {\n selectedTabsItem: 'selected-tabs-item',\n tabsPilled: 'tabs-pilled',\n tabsGroupFilledBackground: 'tabs-group-filled-background',\n tabsStretch: 'tabs-stretched',\n tabItemDivider: 'tab-item-divider',\n tabItemAnimated: 'tab-item-animated',\n tabContent: 'tab-item-content',\n tabRightContent: 'tab-item-right-content',\n tabLeftContent: 'tab-item-left-content',\n tabsHasLeftArrow: 'tabs-has-left-arrow',\n tabsHasRightArrow: 'tabs-has-right-arrow',\n};\n\nexport const tokens = {\n disabledOpacity: '--plasma-tabs-disabled-opacity',\n containerWidth: '--plasma-tabs-container-width',\n cursor: '--plasma-tabs-cursor',\n color: '--plasma-tabs-color',\n colorHover: '--plasma-tabs-color-hover',\n\n tabsDividerHeight: '--plasma-tabs-divider-height',\n tabsDividerColor: '--plasma-tabs-divider-color',\n tabsDividerBorderRadius: '--plasma-tabs-divider-border-radius',\n\n itemSelectedDividerHeight: '--plasma-tab-item-selected-divider-height',\n itemSelectedDividerColor: '--plasma-tab-item-selected-divider-color',\n itemSelectedDividerColorHover: '--plasma-tab-item-selected-hover-divider-color',\n\n outlineFocusColor: '--plasma-tabs-outline-focus-color',\n arrowColor: '--plasma-tabs-arrow-color',\n tabsFilledBackgroundColor: '--plasma-tabs-filled-background-color',\n\n tabsBackgroundColor: '--plasma-tabs-backgorund-color',\n tabsBorderRadius: '--plasma-tabs-border-radius',\n tabsWidth: '--plasma-tabs-width',\n tabsHeight: '--plasma-tabs-height',\n tabsPadding: '--plasma-tabs-padding',\n tabsPilledBorderRadius: '--plasma-tabs-pilled-border-radius',\n\n itemBorderRadius: '--plasma-tab-item-border-radius',\n itemPilledBorderRadius: '--plasma-tab-item-pilled-border-radius',\n itemWidth: '--plasma-tab-item-width',\n itemHeight: '--plasma-tab-item-height',\n itemPadding: '--plasma-tab-item-padding',\n itemPaddingClear: '--plasma-tab-item-padding-clear',\n itemPaddingPilled: '--plasma-tab-item-padding-pilled',\n itemMarginLeft: '--plasma-tab-item-margin-left',\n itemMarginLeftFilled: '--plasma-tab-item-margin-left-filled',\n itemContentGap: '--plasma-tab-item-content-gap',\n\n itemContentPadding: '--plasma-tab-item-content-padding',\n itemContentPaddingClear: '--plasma-tab-item-content-padding-clear',\n\n arrowInnerPadding: '--plasma-tab-arrow-inner-padding',\n arrowOuterPadding: '--plasma-tab-arrow-outer-padding',\n arrowViewOuterPadding: '--plasma-tab-arrow-view-outer-padding',\n\n itemColor: '--plasma-tab-item-color',\n itemBackgroundColor: '--plasma-tab-item-background-color',\n itemColorHover: '--plasma-tab-item-color-hover',\n itemBackgroundColorHover: '--plasma-tab-item-background-color-hover',\n\n itemSelectedColor: '--plasma-tab-item-selected-color',\n itemSelectedBackgroundColor: '--plasma-tab-item-selected-background-color',\n itemSelectedColorHover: '--plasma-tab-item-selected-color-hover',\n itemSelectedBackgroundColorHover: '--plasma-tab-item-selected-background-color-hover',\n\n itemBackgroundTransition: '--plasma-tab-item-background-transition',\n\n additionalContentColor: '--plasma-tab-item-additional-content-color',\n additionalContentHoverColor: '--plasma-tab-item-hover-additional-content-color',\n additionalContentSelectedColor: '--plasma-tab-item-selected-additional-content-color',\n additionalContentSelectedHoverColor: '--plasma-tab-item-selected-hover-additional-content-color',\n\n fontFamily: '--plasma-tab-item-font-family',\n fontSize: '--plasma-tab-item-font-size',\n fontStyle: '--plasma-tab-item-font-style',\n fontWeight: '--plasma-tab-item-font-weight',\n letterSpacing: '--plasma-tab-item-letter-spacing',\n lineHeight: '--plasma-tab-item-lineheight',\n};\n"],"names":["classes","selectedTabsItem","tabsPilled","tabsGroupFilledBackground","tabsStretch","tabItemDivider","tabItemAnimated","tabContent","tabRightContent","tabLeftContent","tabsHasLeftArrow","tabsHasRightArrow","tokens","disabledOpacity","containerWidth","cursor","color","colorHover","tabsDividerHeight","tabsDividerColor","tabsDividerBorderRadius","itemSelectedDividerHeight","itemSelectedDividerColor","itemSelectedDividerColorHover","outlineFocusColor","arrowColor","tabsFilledBackgroundColor","tabsBackgroundColor","tabsBorderRadius","tabsWidth","tabsHeight","tabsPadding","tabsPilledBorderRadius","itemBorderRadius","itemPilledBorderRadius","itemWidth","itemHeight","itemPadding","itemPaddingClear","itemPaddingPilled","itemMarginLeft","itemMarginLeftFilled","itemContentGap","itemContentPadding","itemContentPaddingClear","arrowInnerPadding","arrowOuterPadding","arrowViewOuterPadding","itemColor","itemBackgroundColor","itemColorHover","itemBackgroundColorHover","itemSelectedColor","itemSelectedBackgroundColor","itemSelectedColorHover","itemSelectedBackgroundColorHover","itemBackgroundTransition","additionalContentColor","additionalContentHoverColor","additionalContentSelectedColor","additionalContentSelectedHoverColor","fontFamily","fontSize","fontStyle","fontWeight","letterSpacing","lineHeight"],"mappings":"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"}
1
+ {"version":3,"file":"tokens.js","sources":["../../../src/components/Tabs/tokens.ts"],"sourcesContent":["export const classes = {\n selectedTabsItem: 'selected-tabs-item',\n tabsPilled: 'tabs-pilled',\n tabsGroupFilledBackground: 'tabs-group-filled-background',\n tabsStretch: 'tabs-stretched',\n tabItemDivider: 'tab-item-divider',\n tabItemAnimated: 'tab-item-animated',\n tabContent: 'tab-item-content',\n tabRightContent: 'tab-item-right-content',\n tabLeftContent: 'tab-item-left-content',\n tabsHasLeftArrow: 'tabs-has-left-arrow',\n tabsHasRightArrow: 'tabs-has-right-arrow',\n tabsClipScroll: 'tabs-clip-scroll',\n tabsClipShowAll: 'tabs-clip-show-all',\n};\n\nexport const tokens = {\n disabledOpacity: '--plasma-tabs-disabled-opacity',\n containerWidth: '--plasma-tabs-container-width',\n cursor: '--plasma-tabs-cursor',\n color: '--plasma-tabs-color',\n colorHover: '--plasma-tabs-color-hover',\n\n tabsDividerHeight: '--plasma-tabs-divider-height',\n tabsDividerColor: '--plasma-tabs-divider-color',\n tabsDividerBorderRadius: '--plasma-tabs-divider-border-radius',\n\n itemSelectedDividerHeight: '--plasma-tab-item-selected-divider-height',\n itemSelectedDividerColor: '--plasma-tab-item-selected-divider-color',\n itemSelectedDividerColorHover: '--plasma-tab-item-selected-hover-divider-color',\n\n outlineFocusColor: '--plasma-tabs-outline-focus-color',\n arrowColor: '--plasma-tabs-arrow-color',\n tabsFilledBackgroundColor: '--plasma-tabs-filled-background-color',\n\n tabsBackgroundColor: '--plasma-tabs-background-color',\n tabsBorderRadius: '--plasma-tabs-border-radius',\n tabsWidth: '--plasma-tabs-width',\n tabsHeight: '--plasma-tabs-height',\n tabsPadding: '--plasma-tabs-padding',\n tabsPilledBorderRadius: '--plasma-tabs-pilled-border-radius',\n\n itemBorderRadius: '--plasma-tab-item-border-radius',\n itemPilledBorderRadius: '--plasma-tab-item-pilled-border-radius',\n itemWidth: '--plasma-tab-item-width',\n itemHeight: '--plasma-tab-item-height',\n itemPadding: '--plasma-tab-item-padding',\n itemPaddingClear: '--plasma-tab-item-padding-clear',\n itemPaddingPilled: '--plasma-tab-item-padding-pilled',\n itemMarginLeft: '--plasma-tab-item-margin-left',\n itemMarginLeftFilled: '--plasma-tab-item-margin-left-filled',\n itemContentGap: '--plasma-tab-item-content-gap',\n\n itemContentPadding: '--plasma-tab-item-content-padding',\n itemContentPaddingClear: '--plasma-tab-item-content-padding-clear',\n\n arrowInnerPadding: '--plasma-tab-arrow-inner-padding',\n arrowOuterPadding: '--plasma-tab-arrow-outer-padding',\n arrowViewOuterPadding: '--plasma-tab-arrow-view-outer-padding',\n\n itemColor: '--plasma-tab-item-color',\n itemBackgroundColor: '--plasma-tab-item-background-color',\n itemColorHover: '--plasma-tab-item-color-hover',\n itemColorActive: '--plasma-tab-item-color-active',\n itemBackgroundColorHover: '--plasma-tab-item-background-color-hover',\n\n itemSelectedColor: '--plasma-tab-item-selected-color',\n itemSelectedBackgroundColor: '--plasma-tab-item-selected-background-color',\n itemSelectedColorHover: '--plasma-tab-item-selected-color-hover',\n itemSelectedBackgroundColorHover: '--plasma-tab-item-selected-background-color-hover',\n\n itemBackgroundTransition: '--plasma-tab-item-background-transition',\n\n additionalContentColor: '--plasma-tab-item-additional-content-color',\n additionalContentHoverColor: '--plasma-tab-item-hover-additional-content-color',\n additionalContentSelectedColor: '--plasma-tab-item-selected-additional-content-color',\n additionalContentSelectedHoverColor: '--plasma-tab-item-selected-hover-additional-content-color',\n\n fontFamily: '--plasma-tab-item-font-family',\n fontSize: '--plasma-tab-item-font-size',\n fontStyle: '--plasma-tab-item-font-style',\n fontWeight: '--plasma-tab-item-font-weight',\n letterSpacing: '--plasma-tab-item-letter-spacing',\n lineHeight: '--plasma-tab-item-lineheight',\n};\n"],"names":["classes","selectedTabsItem","tabsPilled","tabsGroupFilledBackground","tabsStretch","tabItemDivider","tabItemAnimated","tabContent","tabRightContent","tabLeftContent","tabsHasLeftArrow","tabsHasRightArrow","tabsClipScroll","tabsClipShowAll","tokens","disabledOpacity","containerWidth","cursor","color","colorHover","tabsDividerHeight","tabsDividerColor","tabsDividerBorderRadius","itemSelectedDividerHeight","itemSelectedDividerColor","itemSelectedDividerColorHover","outlineFocusColor","arrowColor","tabsFilledBackgroundColor","tabsBackgroundColor","tabsBorderRadius","tabsWidth","tabsHeight","tabsPadding","tabsPilledBorderRadius","itemBorderRadius","itemPilledBorderRadius","itemWidth","itemHeight","itemPadding","itemPaddingClear","itemPaddingPilled","itemMarginLeft","itemMarginLeftFilled","itemContentGap","itemContentPadding","itemContentPaddingClear","arrowInnerPadding","arrowOuterPadding","arrowViewOuterPadding","itemColor","itemBackgroundColor","itemColorHover","itemColorActive","itemBackgroundColorHover","itemSelectedColor","itemSelectedBackgroundColor","itemSelectedColorHover","itemSelectedBackgroundColorHover","itemBackgroundTransition","additionalContentColor","additionalContentHoverColor","additionalContentSelectedColor","additionalContentSelectedHoverColor","fontFamily","fontSize","fontStyle","fontWeight","letterSpacing","lineHeight"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- .base_q8xs21_b5uyjxl__66eab5c4{color:var(--plasma-tab-item-color);background-color:var(--plasma-tab-item-background-color);margin-left:var(--plasma-tab-item-margin-left-filled,var(--plasma-tab-item-margin-left));}.base_q8xs21_b5uyjxl__66eab5c4:hover{color:var(--plasma-tab-item-color-hover);background-color:var(--plasma-tab-item-background-color-hover);}.base_q8xs21_b5uyjxl__66eab5c4:hover .base_q8xs21_r265xop__66eab5c4{color:var(--plasma-tab-item-hover-additional-content-color);}.base_q8xs21_b5uyjxl__66eab5c4.base_q8xs21_tabItemAnimated__66eab5c4{-webkit-transition:var(--plasma-tab-item-background-transition);transition:var(--plasma-tab-item-background-transition);}.base_q8xs21_b5uyjxl__66eab5c4.base_q8xs21_selectedTabsItem__66eab5c4{color:var(--plasma-tab-item-selected-color);background-color:var(--plasma-tab-item-selected-background-color);}.base_q8xs21_b5uyjxl__66eab5c4.base_q8xs21_selectedTabsItem__66eab5c4:hover{color:var(--plasma-tab-item-selected-color-hover);background-color:var(--plasma-tab-item-selected-background-color-hover);}.base_q8xs21_b5uyjxl__66eab5c4.base_q8xs21_selectedTabsItem__66eab5c4:hover::after{background:var(--plasma-tab-item-selected-hover-divider-color);}.base_q8xs21_b5uyjxl__66eab5c4.base_q8xs21_selectedTabsItem__66eab5c4 .base_q8xs21_r265xop__66eab5c4{color:var(--plasma-tab-item-selected-additional-content-color);}.base_q8xs21_b5uyjxl__66eab5c4.base_q8xs21_selectedTabsItem__66eab5c4 .base_q8xs21_r265xop__66eab5c4:hover{color:var(--plasma-tab-item-selected-hover-additional-content-color);}.base_q8xs21_b5uyjxl__66eab5c4.base_q8xs21_selectedTabsItem__66eab5c4::after{content:'';position:absolute;bottom:0px;left:0;right:0;background:var(--plasma-tab-item-selected-divider-color);height:var(--plasma-tab-item-selected-divider-height);border-radius:1px;}
1
+ .base_7pcxtm_b5uyjxl__b67ab7ce{color:var(--plasma-tab-item-color);background-color:var(--plasma-tab-item-background-color);margin-left:var(--plasma-tab-item-margin-left-filled,var(--plasma-tab-item-margin-left));}.base_7pcxtm_b5uyjxl__b67ab7ce:hover{color:var(--plasma-tab-item-color-hover);background-color:var(--plasma-tab-item-background-color-hover);}.base_7pcxtm_b5uyjxl__b67ab7ce:hover .base_7pcxtm_r265xop__b67ab7ce{color:var(--plasma-tab-item-hover-additional-content-color);}.base_7pcxtm_b5uyjxl__b67ab7ce:active{color:var(--plasma-tab-item-color-active);}.base_7pcxtm_b5uyjxl__b67ab7ce.base_7pcxtm_tabItemAnimated__b67ab7ce{-webkit-transition:var(--plasma-tab-item-background-transition);transition:var(--plasma-tab-item-background-transition);}.base_7pcxtm_b5uyjxl__b67ab7ce.base_7pcxtm_selectedTabsItem__b67ab7ce{color:var(--plasma-tab-item-selected-color);background-color:var(--plasma-tab-item-selected-background-color);}.base_7pcxtm_b5uyjxl__b67ab7ce.base_7pcxtm_selectedTabsItem__b67ab7ce:hover{color:var(--plasma-tab-item-selected-color-hover);background-color:var(--plasma-tab-item-selected-background-color-hover);}.base_7pcxtm_b5uyjxl__b67ab7ce.base_7pcxtm_selectedTabsItem__b67ab7ce:hover::after{background:var(--plasma-tab-item-selected-hover-divider-color);}.base_7pcxtm_b5uyjxl__b67ab7ce.base_7pcxtm_selectedTabsItem__b67ab7ce .base_7pcxtm_r265xop__b67ab7ce{color:var(--plasma-tab-item-selected-additional-content-color);}.base_7pcxtm_b5uyjxl__b67ab7ce.base_7pcxtm_selectedTabsItem__b67ab7ce .base_7pcxtm_r265xop__b67ab7ce:hover{color:var(--plasma-tab-item-selected-hover-additional-content-color);}.base_7pcxtm_b5uyjxl__b67ab7ce.base_7pcxtm_selectedTabsItem__b67ab7ce::after{content:'';position:absolute;bottom:0px;left:0;right:0;background:var(--plasma-tab-item-selected-divider-color);height:var(--plasma-tab-item-selected-divider-height);border-radius:1px;}
2
2
 
3
3
  .base_1d7e3fp_bvmpqz9__8fd7c45d{font-family:var(--plasma-tab-item-font-family);font-size:var(--plasma-tab-item-font-size);font-style:var(--plasma-tab-item-font-style);font-weight:var(--plasma-tab-item-font-weight);-webkit-letter-spacing:var(--plasma-tab-item-letter-spacing);-moz-letter-spacing:var(--plasma-tab-item-letter-spacing);-ms-letter-spacing:var(--plasma-tab-item-letter-spacing);letter-spacing:var(--plasma-tab-item-letter-spacing);line-height:var(--plasma-tab-item-lineheight);--plasma_private-outline-radius:var(--plasma-tab-item-border-radius);border-radius:var(--plasma-tab-item-border-radius);width:var(--plasma-tab-item-width);height:var(--plasma-tab-item-height);}
4
4
 
@@ -10,7 +10,7 @@ import { base as base$4 } from './variations/_pilled/base.js';
10
10
  import { base as base$3 } from './variations/_disabled/base.js';
11
11
  import { LeftContent, StyledContent, RightContent, base } from './TabItem.styles.js';
12
12
 
13
- var _excluded = ["size", "view", "isActive", "selected", "disabled", "pilled", "children", "contentLeft", "contentRight", "animated", "onIndexChange", "itemIndex", "tabIndex", "className"];
13
+ var _excluded = ["size", "view", "isActive", "selected", "disabled", "pilled", "children", "contentLeft", "contentRight", "animated", "onIndexChange", "itemIndex", "tabIndex", "className", "onClick"];
14
14
  var tabItemRoot = function tabItemRoot(Root) {
15
15
  return /*#__PURE__*/forwardRef(function (props, outerRef) {
16
16
  var size = props.size,
@@ -30,6 +30,7 @@ var tabItemRoot = function tabItemRoot(Root) {
30
30
  itemIndex = props.itemIndex,
31
31
  tabIndex = props.tabIndex,
32
32
  className = props.className,
33
+ onClick = props.onClick,
33
34
  rest = _objectWithoutProperties(props, _excluded);
34
35
  var innerRef = useRef(null);
35
36
  var ref = useForkRef(outerRef, innerRef);
@@ -71,6 +72,10 @@ var tabItemRoot = function tabItemRoot(Root) {
71
72
  onIndexChange === null || onIndexChange === void 0 || onIndexChange(focusIndex);
72
73
  refs.setCurrent(focusIndex);
73
74
  }, [refs, innerRef, onIndexChange, disabled]);
75
+ var handleClick = useCallback(function (event) {
76
+ event.currentTarget.scrollIntoView();
77
+ onClick && onClick(event);
78
+ }, [onClick]);
74
79
  return /*#__PURE__*/React.createElement(Root, _extends({
75
80
  ref: ref,
76
81
  disabled: disabled,
@@ -80,7 +85,8 @@ var tabItemRoot = function tabItemRoot(Root) {
80
85
  size: size,
81
86
  onFocus: onItemFocus,
82
87
  tabIndex: hasKeyNavigation ? navigationTabIndex : tabIndex,
83
- className: cx(pilledClass, selectedClass, animatedClass, className)
88
+ className: cx(pilledClass, selectedClass, animatedClass, className),
89
+ onClick: handleClick
84
90
  }, rest), /*#__PURE__*/React.createElement(React.Fragment, null, contentLeft && /*#__PURE__*/React.createElement(LeftContent, {
85
91
  className: classes.tabLeftContent
86
92
  }, contentLeft), /*#__PURE__*/React.createElement(StyledContent, {