@salutejs/plasma-new-hope 0.114.1-canary.1333.10216082008.0 → 0.114.1-canary.1333.10245863111.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -72,7 +72,7 @@ const meta: Meta<StoryTabsProps> = {
72
72
  type: 'select',
73
73
  },
74
74
  },
75
- ...disableProps(['itemsNumber', 'pilled', 'animated', 'stretch', 'view']),
75
+ ...disableProps(['itemsNumber', 'pilled', 'animated', 'view']),
76
76
  },
77
77
  };
78
78
 
@@ -86,12 +86,13 @@ const StoryDefault = (props: StoryTabsProps) => {
86
86
  contentLeft: contentLeftOption,
87
87
  contentRight: contentRightOption,
88
88
  hasDivider,
89
+ stretch,
89
90
  } = props;
90
91
  const items = Array(itemQuantity).fill(0);
91
92
  const [index, setIndex] = useState(0);
92
93
 
93
94
  return (
94
- <Tabs view={hasDivider ? 'divider' : 'clear'} disabled={disabled} size={size}>
95
+ <Tabs view={hasDivider ? 'divider' : 'clear'} stretch={stretch} disabled={disabled} size={size}>
95
96
  {items.map((_, i) => (
96
97
  <TabItem
97
98
  key={`item:${i}`}
@@ -223,6 +224,7 @@ export const Default: StoryObj<StoryTabsProps> = {
223
224
  disabled: false,
224
225
  hasDivider: true,
225
226
  itemQuantity: 8,
227
+ clip: 'scroll',
226
228
  },
227
229
  argTypes: {
228
230
  clip: {
@@ -237,6 +239,7 @@ export const Default: StoryObj<StoryTabsProps> = {
237
239
  type: 'select',
238
240
  },
239
241
  },
242
+ stretch: { control: 'boolean', if: { arg: 'clip', eq: 'none' } },
240
243
  },
241
244
  render: (args) => {
242
245
  switch (args.clip) {
@@ -250,58 +253,6 @@ export const Default: StoryObj<StoryTabsProps> = {
250
253
  },
251
254
  };
252
255
 
253
- const StoryStretch = (props: StoryTabsProps) => {
254
- const {
255
- disabled,
256
- size,
257
- contentLeft: contentLeftOption,
258
- contentRight: contentRightOption,
259
- hasDivider,
260
- stretch,
261
- itemQuantity,
262
- } = props;
263
- const items = Array(itemQuantity).fill(0);
264
- const [index, setIndex] = useState(0);
265
-
266
- return (
267
- <Tabs view={hasDivider ? 'divider' : 'clear'} stretch={stretch} disabled={disabled} size={size}>
268
- {items.map((_, i) => (
269
- <TabItem
270
- key={`item:${i}`}
271
- view="divider"
272
- selected={i === index}
273
- onClick={() => !disabled && setIndex(i)}
274
- tabIndex={!disabled ? 0 : -1}
275
- disabled={disabled}
276
- contentLeft={getContentLeft(contentLeftOption, size as Size)}
277
- contentRight={getContentRight(contentRightOption, size as Size)}
278
- size={size}
279
- >
280
- {`Label${i + 1}`}
281
- </TabItem>
282
- ))}
283
- </Tabs>
284
- );
285
- };
286
-
287
- export const Stretch: StoryObj<StoryTabsProps> = {
288
- args: {
289
- size: 'xs',
290
- stretch: true,
291
- disabled: false,
292
- hasDivider: true,
293
- },
294
- argTypes: {
295
- size: {
296
- options: sizes,
297
- control: {
298
- type: 'select',
299
- },
300
- },
301
- },
302
- render: (args) => <StoryStretch {...args} />,
303
- };
304
-
305
256
  const StoryHeaderTabs = (props: StoryTabsProps) => {
306
257
  const {
307
258
  disabled,
@@ -340,6 +291,7 @@ export const HeaderTabs: StoryObj<StoryTabsProps> = {
340
291
  size: 'h5',
341
292
  disabled: false,
342
293
  hasDivider: true,
294
+ itemQuantity: 4,
343
295
  },
344
296
  argTypes: {
345
297
  size: {
@@ -72,7 +72,7 @@ const meta: Meta<StoryTabsProps> = {
72
72
  type: 'select',
73
73
  },
74
74
  },
75
- ...disableProps(['itemsNumber', 'pilled', 'animated', 'stretch', 'view']),
75
+ ...disableProps(['itemsNumber', 'pilled', 'animated', 'view']),
76
76
  },
77
77
  };
78
78
 
@@ -86,12 +86,13 @@ const StoryDefault = (props: StoryTabsProps) => {
86
86
  contentLeft: contentLeftOption,
87
87
  contentRight: contentRightOption,
88
88
  hasDivider,
89
+ stretch,
89
90
  } = props;
90
91
  const items = Array(itemQuantity).fill(0);
91
92
  const [index, setIndex] = useState(0);
92
93
 
93
94
  return (
94
- <Tabs view={hasDivider ? 'divider' : 'clear'} disabled={disabled} size={size}>
95
+ <Tabs view={hasDivider ? 'divider' : 'clear'} stretch={stretch} disabled={disabled} size={size}>
95
96
  {items.map((_, i) => (
96
97
  <TabItem
97
98
  key={`item:${i}`}
@@ -223,6 +224,7 @@ export const Default: StoryObj<StoryTabsProps> = {
223
224
  disabled: false,
224
225
  hasDivider: true,
225
226
  itemQuantity: 8,
227
+ clip: 'scroll',
226
228
  },
227
229
  argTypes: {
228
230
  clip: {
@@ -237,6 +239,7 @@ export const Default: StoryObj<StoryTabsProps> = {
237
239
  type: 'select',
238
240
  },
239
241
  },
242
+ stretch: { control: 'boolean', if: { arg: 'clip', eq: 'none' } },
240
243
  },
241
244
  render: (args) => {
242
245
  switch (args.clip) {
@@ -250,58 +253,6 @@ export const Default: StoryObj<StoryTabsProps> = {
250
253
  },
251
254
  };
252
255
 
253
- const StoryStretch = (props: StoryTabsProps) => {
254
- const {
255
- disabled,
256
- size,
257
- contentLeft: contentLeftOption,
258
- contentRight: contentRightOption,
259
- hasDivider,
260
- stretch,
261
- itemQuantity,
262
- } = props;
263
- const items = Array(itemQuantity).fill(0);
264
- const [index, setIndex] = useState(0);
265
-
266
- return (
267
- <Tabs view={hasDivider ? 'divider' : 'clear'} stretch={stretch} disabled={disabled} size={size}>
268
- {items.map((_, i) => (
269
- <TabItem
270
- key={`item:${i}`}
271
- view="divider"
272
- selected={i === index}
273
- onClick={() => !disabled && setIndex(i)}
274
- tabIndex={!disabled ? 0 : -1}
275
- disabled={disabled}
276
- contentLeft={getContentLeft(contentLeftOption, size as Size)}
277
- contentRight={getContentRight(contentRightOption, size as Size)}
278
- size={size}
279
- >
280
- {`Label${i + 1}`}
281
- </TabItem>
282
- ))}
283
- </Tabs>
284
- );
285
- };
286
-
287
- export const Stretch: StoryObj<StoryTabsProps> = {
288
- args: {
289
- size: 'xs',
290
- stretch: true,
291
- disabled: false,
292
- hasDivider: true,
293
- },
294
- argTypes: {
295
- size: {
296
- options: sizes,
297
- control: {
298
- type: 'select',
299
- },
300
- },
301
- },
302
- render: (args) => <StoryStretch {...args} />,
303
- };
304
-
305
256
  const StoryHeaderTabs = (props: StoryTabsProps) => {
306
257
  const {
307
258
  disabled,
@@ -340,6 +291,7 @@ export const HeaderTabs: StoryObj<StoryTabsProps> = {
340
291
  size: 'h5',
341
292
  disabled: false,
342
293
  hasDivider: true,
294
+ itemQuantity: 4,
343
295
  },
344
296
  argTypes: {
345
297
  size: {
@@ -72,7 +72,7 @@ const meta: Meta<StoryTabsProps> = {
72
72
  type: 'select',
73
73
  },
74
74
  },
75
- ...disableProps(['itemsNumber', 'pilled', 'animated', 'stretch', 'view']),
75
+ ...disableProps(['itemsNumber', 'pilled', 'animated', 'view']),
76
76
  },
77
77
  };
78
78
 
@@ -86,12 +86,13 @@ const StoryDefault = (props: StoryTabsProps) => {
86
86
  contentLeft: contentLeftOption,
87
87
  contentRight: contentRightOption,
88
88
  hasDivider,
89
+ stretch,
89
90
  } = props;
90
91
  const items = Array(itemQuantity).fill(0);
91
92
  const [index, setIndex] = useState(0);
92
93
 
93
94
  return (
94
- <Tabs view={hasDivider ? 'divider' : 'clear'} disabled={disabled} size={size}>
95
+ <Tabs view={hasDivider ? 'divider' : 'clear'} stretch={stretch} disabled={disabled} size={size}>
95
96
  {items.map((_, i) => (
96
97
  <TabItem
97
98
  key={`item:${i}`}
@@ -223,6 +224,7 @@ export const Default: StoryObj<StoryTabsProps> = {
223
224
  disabled: false,
224
225
  hasDivider: true,
225
226
  itemQuantity: 8,
227
+ clip: 'scroll',
226
228
  },
227
229
  argTypes: {
228
230
  clip: {
@@ -237,6 +239,7 @@ export const Default: StoryObj<StoryTabsProps> = {
237
239
  type: 'select',
238
240
  },
239
241
  },
242
+ stretch: { control: 'boolean', if: { arg: 'clip', eq: 'none' } },
240
243
  },
241
244
  render: (args) => {
242
245
  switch (args.clip) {
@@ -250,58 +253,6 @@ export const Default: StoryObj<StoryTabsProps> = {
250
253
  },
251
254
  };
252
255
 
253
- const StoryStretch = (props: StoryTabsProps) => {
254
- const {
255
- disabled,
256
- size,
257
- contentLeft: contentLeftOption,
258
- contentRight: contentRightOption,
259
- hasDivider,
260
- stretch,
261
- itemQuantity,
262
- } = props;
263
- const items = Array(itemQuantity).fill(0);
264
- const [index, setIndex] = useState(0);
265
-
266
- return (
267
- <Tabs view={hasDivider ? 'divider' : 'clear'} stretch={stretch} disabled={disabled} size={size}>
268
- {items.map((_, i) => (
269
- <TabItem
270
- key={`item:${i}`}
271
- view="divider"
272
- selected={i === index}
273
- onClick={() => !disabled && setIndex(i)}
274
- tabIndex={!disabled ? 0 : -1}
275
- disabled={disabled}
276
- contentLeft={getContentLeft(contentLeftOption, size as Size)}
277
- contentRight={getContentRight(contentRightOption, size as Size)}
278
- size={size}
279
- >
280
- {`Label${i + 1}`}
281
- </TabItem>
282
- ))}
283
- </Tabs>
284
- );
285
- };
286
-
287
- export const Stretch: StoryObj<StoryTabsProps> = {
288
- args: {
289
- size: 'xs',
290
- stretch: true,
291
- disabled: false,
292
- hasDivider: true,
293
- },
294
- argTypes: {
295
- size: {
296
- options: sizes,
297
- control: {
298
- type: 'select',
299
- },
300
- },
301
- },
302
- render: (args) => <StoryStretch {...args} />,
303
- };
304
-
305
256
  const StoryHeaderTabs = (props: StoryTabsProps) => {
306
257
  const {
307
258
  disabled,
@@ -340,6 +291,7 @@ export const HeaderTabs: StoryObj<StoryTabsProps> = {
340
291
  size: 'h5',
341
292
  disabled: false,
342
293
  hasDivider: true,
294
+ itemQuantity: 4,
343
295
  },
344
296
  argTypes: {
345
297
  size: {
@@ -72,7 +72,7 @@ const meta: Meta<StoryTabsProps> = {
72
72
  type: 'select',
73
73
  },
74
74
  },
75
- ...disableProps(['itemsNumber', 'pilled', 'animated', 'stretch', 'view']),
75
+ ...disableProps(['itemsNumber', 'pilled', 'animated', 'view']),
76
76
  },
77
77
  };
78
78
 
@@ -86,12 +86,13 @@ const StoryDefault = (props: StoryTabsProps) => {
86
86
  contentLeft: contentLeftOption,
87
87
  contentRight: contentRightOption,
88
88
  hasDivider,
89
+ stretch,
89
90
  } = props;
90
91
  const items = Array(itemQuantity).fill(0);
91
92
  const [index, setIndex] = useState(0);
92
93
 
93
94
  return (
94
- <Tabs view={hasDivider ? 'divider' : 'clear'} disabled={disabled} size={size}>
95
+ <Tabs view={hasDivider ? 'divider' : 'clear'} stretch={stretch} disabled={disabled} size={size}>
95
96
  {items.map((_, i) => (
96
97
  <TabItem
97
98
  key={`item:${i}`}
@@ -223,6 +224,7 @@ export const Default: StoryObj<StoryTabsProps> = {
223
224
  disabled: false,
224
225
  hasDivider: true,
225
226
  itemQuantity: 8,
227
+ clip: 'scroll',
226
228
  },
227
229
  argTypes: {
228
230
  clip: {
@@ -237,6 +239,7 @@ export const Default: StoryObj<StoryTabsProps> = {
237
239
  type: 'select',
238
240
  },
239
241
  },
242
+ stretch: { control: 'boolean', if: { arg: 'clip', eq: 'none' } },
240
243
  },
241
244
  render: (args) => {
242
245
  switch (args.clip) {
@@ -250,58 +253,6 @@ export const Default: StoryObj<StoryTabsProps> = {
250
253
  },
251
254
  };
252
255
 
253
- const StoryStretch = (props: StoryTabsProps) => {
254
- const {
255
- disabled,
256
- size,
257
- contentLeft: contentLeftOption,
258
- contentRight: contentRightOption,
259
- hasDivider,
260
- stretch,
261
- itemQuantity,
262
- } = props;
263
- const items = Array(itemQuantity).fill(0);
264
- const [index, setIndex] = useState(0);
265
-
266
- return (
267
- <Tabs view={hasDivider ? 'divider' : 'clear'} stretch={stretch} disabled={disabled} size={size}>
268
- {items.map((_, i) => (
269
- <TabItem
270
- key={`item:${i}`}
271
- view="divider"
272
- selected={i === index}
273
- onClick={() => !disabled && setIndex(i)}
274
- tabIndex={!disabled ? 0 : -1}
275
- disabled={disabled}
276
- contentLeft={getContentLeft(contentLeftOption, size as Size)}
277
- contentRight={getContentRight(contentRightOption, size as Size)}
278
- size={size}
279
- >
280
- {`Label${i + 1}`}
281
- </TabItem>
282
- ))}
283
- </Tabs>
284
- );
285
- };
286
-
287
- export const Stretch: StoryObj<StoryTabsProps> = {
288
- args: {
289
- size: 'xs',
290
- stretch: true,
291
- disabled: false,
292
- hasDivider: true,
293
- },
294
- argTypes: {
295
- size: {
296
- options: sizes,
297
- control: {
298
- type: 'select',
299
- },
300
- },
301
- },
302
- render: (args) => <StoryStretch {...args} />,
303
- };
304
-
305
256
  const StoryHeaderTabs = (props: StoryTabsProps) => {
306
257
  const {
307
258
  disabled,
@@ -340,6 +291,7 @@ export const HeaderTabs: StoryObj<StoryTabsProps> = {
340
291
  size: 'h5',
341
292
  disabled: false,
342
293
  hasDivider: true,
294
+ itemQuantity: 4,
343
295
  },
344
296
  argTypes: {
345
297
  size: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salutejs/plasma-new-hope",
3
- "version": "0.114.1-canary.1333.10216082008.0",
3
+ "version": "0.114.1-canary.1333.10245863111.0",
4
4
  "description": "Salute Design System blueprint",
5
5
  "main": "cjs/index.js",
6
6
  "module": "es/index.js",
@@ -118,5 +118,5 @@
118
118
  "react-popper": "2.3.0",
119
119
  "storeon": "3.1.5"
120
120
  },
121
- "gitHead": "29878f158269bf41363f4d2242d22472666df001"
121
+ "gitHead": "fb51cc7966a98220cdc4fde1fac7bb4e9a39578d"
122
122
  }
@@ -72,7 +72,7 @@ const meta: Meta<StoryTabsProps> = {
72
72
  type: 'select',
73
73
  },
74
74
  },
75
- ...disableProps(['itemsNumber', 'pilled', 'animated', 'stretch', 'view']),
75
+ ...disableProps(['itemsNumber', 'pilled', 'animated', 'view']),
76
76
  },
77
77
  };
78
78
 
@@ -86,12 +86,13 @@ const StoryDefault = (props: StoryTabsProps) => {
86
86
  contentLeft: contentLeftOption,
87
87
  contentRight: contentRightOption,
88
88
  hasDivider,
89
+ stretch,
89
90
  } = props;
90
91
  const items = Array(itemQuantity).fill(0);
91
92
  const [index, setIndex] = useState(0);
92
93
 
93
94
  return (
94
- <Tabs view={hasDivider ? 'divider' : 'clear'} disabled={disabled} size={size}>
95
+ <Tabs view={hasDivider ? 'divider' : 'clear'} stretch={stretch} disabled={disabled} size={size}>
95
96
  {items.map((_, i) => (
96
97
  <TabItem
97
98
  key={`item:${i}`}
@@ -223,6 +224,7 @@ export const Default: StoryObj<StoryTabsProps> = {
223
224
  disabled: false,
224
225
  hasDivider: true,
225
226
  itemQuantity: 8,
227
+ clip: 'scroll',
226
228
  },
227
229
  argTypes: {
228
230
  clip: {
@@ -237,6 +239,7 @@ export const Default: StoryObj<StoryTabsProps> = {
237
239
  type: 'select',
238
240
  },
239
241
  },
242
+ stretch: { control: 'boolean', if: { arg: 'clip', eq: 'none' } },
240
243
  },
241
244
  render: (args) => {
242
245
  switch (args.clip) {
@@ -250,58 +253,6 @@ export const Default: StoryObj<StoryTabsProps> = {
250
253
  },
251
254
  };
252
255
 
253
- const StoryStretch = (props: StoryTabsProps) => {
254
- const {
255
- disabled,
256
- size,
257
- contentLeft: contentLeftOption,
258
- contentRight: contentRightOption,
259
- hasDivider,
260
- stretch,
261
- itemQuantity,
262
- } = props;
263
- const items = Array(itemQuantity).fill(0);
264
- const [index, setIndex] = useState(0);
265
-
266
- return (
267
- <Tabs view={hasDivider ? 'divider' : 'clear'} stretch={stretch} disabled={disabled} size={size}>
268
- {items.map((_, i) => (
269
- <TabItem
270
- key={`item:${i}`}
271
- view="divider"
272
- selected={i === index}
273
- onClick={() => !disabled && setIndex(i)}
274
- tabIndex={!disabled ? 0 : -1}
275
- disabled={disabled}
276
- contentLeft={getContentLeft(contentLeftOption, size as Size)}
277
- contentRight={getContentRight(contentRightOption, size as Size)}
278
- size={size}
279
- >
280
- {`Label${i + 1}`}
281
- </TabItem>
282
- ))}
283
- </Tabs>
284
- );
285
- };
286
-
287
- export const Stretch: StoryObj<StoryTabsProps> = {
288
- args: {
289
- size: 'xs',
290
- stretch: true,
291
- disabled: false,
292
- hasDivider: true,
293
- },
294
- argTypes: {
295
- size: {
296
- options: sizes,
297
- control: {
298
- type: 'select',
299
- },
300
- },
301
- },
302
- render: (args) => <StoryStretch {...args} />,
303
- };
304
-
305
256
  const StoryHeaderTabs = (props: StoryTabsProps) => {
306
257
  const {
307
258
  disabled,
@@ -340,6 +291,7 @@ export const HeaderTabs: StoryObj<StoryTabsProps> = {
340
291
  size: 'h5',
341
292
  disabled: false,
342
293
  hasDivider: true,
294
+ itemQuantity: 4,
343
295
  },
344
296
  argTypes: {
345
297
  size: {
@@ -72,7 +72,7 @@ const meta: Meta<StoryTabsProps> = {
72
72
  type: 'select',
73
73
  },
74
74
  },
75
- ...disableProps(['itemsNumber', 'pilled', 'animated', 'stretch', 'view']),
75
+ ...disableProps(['itemsNumber', 'pilled', 'animated', 'view']),
76
76
  },
77
77
  };
78
78
 
@@ -86,12 +86,13 @@ const StoryDefault = (props: StoryTabsProps) => {
86
86
  contentLeft: contentLeftOption,
87
87
  contentRight: contentRightOption,
88
88
  hasDivider,
89
+ stretch,
89
90
  } = props;
90
91
  const items = Array(itemQuantity).fill(0);
91
92
  const [index, setIndex] = useState(0);
92
93
 
93
94
  return (
94
- <Tabs view={hasDivider ? 'divider' : 'clear'} disabled={disabled} size={size}>
95
+ <Tabs view={hasDivider ? 'divider' : 'clear'} stretch={stretch} disabled={disabled} size={size}>
95
96
  {items.map((_, i) => (
96
97
  <TabItem
97
98
  key={`item:${i}`}
@@ -223,6 +224,7 @@ export const Default: StoryObj<StoryTabsProps> = {
223
224
  disabled: false,
224
225
  hasDivider: true,
225
226
  itemQuantity: 8,
227
+ clip: 'scroll',
226
228
  },
227
229
  argTypes: {
228
230
  clip: {
@@ -237,6 +239,7 @@ export const Default: StoryObj<StoryTabsProps> = {
237
239
  type: 'select',
238
240
  },
239
241
  },
242
+ stretch: { control: 'boolean', if: { arg: 'clip', eq: 'none' } },
240
243
  },
241
244
  render: (args) => {
242
245
  switch (args.clip) {
@@ -250,58 +253,6 @@ export const Default: StoryObj<StoryTabsProps> = {
250
253
  },
251
254
  };
252
255
 
253
- const StoryStretch = (props: StoryTabsProps) => {
254
- const {
255
- disabled,
256
- size,
257
- contentLeft: contentLeftOption,
258
- contentRight: contentRightOption,
259
- hasDivider,
260
- stretch,
261
- itemQuantity,
262
- } = props;
263
- const items = Array(itemQuantity).fill(0);
264
- const [index, setIndex] = useState(0);
265
-
266
- return (
267
- <Tabs view={hasDivider ? 'divider' : 'clear'} stretch={stretch} disabled={disabled} size={size}>
268
- {items.map((_, i) => (
269
- <TabItem
270
- key={`item:${i}`}
271
- view="divider"
272
- selected={i === index}
273
- onClick={() => !disabled && setIndex(i)}
274
- tabIndex={!disabled ? 0 : -1}
275
- disabled={disabled}
276
- contentLeft={getContentLeft(contentLeftOption, size as Size)}
277
- contentRight={getContentRight(contentRightOption, size as Size)}
278
- size={size}
279
- >
280
- {`Label${i + 1}`}
281
- </TabItem>
282
- ))}
283
- </Tabs>
284
- );
285
- };
286
-
287
- export const Stretch: StoryObj<StoryTabsProps> = {
288
- args: {
289
- size: 'xs',
290
- stretch: true,
291
- disabled: false,
292
- hasDivider: true,
293
- },
294
- argTypes: {
295
- size: {
296
- options: sizes,
297
- control: {
298
- type: 'select',
299
- },
300
- },
301
- },
302
- render: (args) => <StoryStretch {...args} />,
303
- };
304
-
305
256
  const StoryHeaderTabs = (props: StoryTabsProps) => {
306
257
  const {
307
258
  disabled,
@@ -340,6 +291,7 @@ export const HeaderTabs: StoryObj<StoryTabsProps> = {
340
291
  size: 'h5',
341
292
  disabled: false,
342
293
  hasDivider: true,
294
+ itemQuantity: 4,
343
295
  },
344
296
  argTypes: {
345
297
  size: {
@@ -72,7 +72,7 @@ const meta: Meta<StoryTabsProps> = {
72
72
  type: 'select',
73
73
  },
74
74
  },
75
- ...disableProps(['itemsNumber', 'pilled', 'animated', 'stretch', 'view']),
75
+ ...disableProps(['itemsNumber', 'pilled', 'animated', 'view']),
76
76
  },
77
77
  };
78
78
 
@@ -86,12 +86,13 @@ const StoryDefault = (props: StoryTabsProps) => {
86
86
  contentLeft: contentLeftOption,
87
87
  contentRight: contentRightOption,
88
88
  hasDivider,
89
+ stretch,
89
90
  } = props;
90
91
  const items = Array(itemQuantity).fill(0);
91
92
  const [index, setIndex] = useState(0);
92
93
 
93
94
  return (
94
- <Tabs view={hasDivider ? 'divider' : 'clear'} disabled={disabled} size={size}>
95
+ <Tabs view={hasDivider ? 'divider' : 'clear'} stretch={stretch} disabled={disabled} size={size}>
95
96
  {items.map((_, i) => (
96
97
  <TabItem
97
98
  key={`item:${i}`}
@@ -223,6 +224,7 @@ export const Default: StoryObj<StoryTabsProps> = {
223
224
  disabled: false,
224
225
  hasDivider: true,
225
226
  itemQuantity: 8,
227
+ clip: 'scroll',
226
228
  },
227
229
  argTypes: {
228
230
  clip: {
@@ -237,6 +239,7 @@ export const Default: StoryObj<StoryTabsProps> = {
237
239
  type: 'select',
238
240
  },
239
241
  },
242
+ stretch: { control: 'boolean', if: { arg: 'clip', eq: 'none' } },
240
243
  },
241
244
  render: (args) => {
242
245
  switch (args.clip) {
@@ -250,58 +253,6 @@ export const Default: StoryObj<StoryTabsProps> = {
250
253
  },
251
254
  };
252
255
 
253
- const StoryStretch = (props: StoryTabsProps) => {
254
- const {
255
- disabled,
256
- size,
257
- contentLeft: contentLeftOption,
258
- contentRight: contentRightOption,
259
- hasDivider,
260
- stretch,
261
- itemQuantity,
262
- } = props;
263
- const items = Array(itemQuantity).fill(0);
264
- const [index, setIndex] = useState(0);
265
-
266
- return (
267
- <Tabs view={hasDivider ? 'divider' : 'clear'} stretch={stretch} disabled={disabled} size={size}>
268
- {items.map((_, i) => (
269
- <TabItem
270
- key={`item:${i}`}
271
- view="divider"
272
- selected={i === index}
273
- onClick={() => !disabled && setIndex(i)}
274
- tabIndex={!disabled ? 0 : -1}
275
- disabled={disabled}
276
- contentLeft={getContentLeft(contentLeftOption, size as Size)}
277
- contentRight={getContentRight(contentRightOption, size as Size)}
278
- size={size}
279
- >
280
- {`Label${i + 1}`}
281
- </TabItem>
282
- ))}
283
- </Tabs>
284
- );
285
- };
286
-
287
- export const Stretch: StoryObj<StoryTabsProps> = {
288
- args: {
289
- size: 'xs',
290
- stretch: true,
291
- disabled: false,
292
- hasDivider: true,
293
- },
294
- argTypes: {
295
- size: {
296
- options: sizes,
297
- control: {
298
- type: 'select',
299
- },
300
- },
301
- },
302
- render: (args) => <StoryStretch {...args} />,
303
- };
304
-
305
256
  const StoryHeaderTabs = (props: StoryTabsProps) => {
306
257
  const {
307
258
  disabled,
@@ -340,6 +291,7 @@ export const HeaderTabs: StoryObj<StoryTabsProps> = {
340
291
  size: 'h5',
341
292
  disabled: false,
342
293
  hasDivider: true,
294
+ itemQuantity: 4,
343
295
  },
344
296
  argTypes: {
345
297
  size: {
@@ -72,7 +72,7 @@ const meta: Meta<StoryTabsProps> = {
72
72
  type: 'select',
73
73
  },
74
74
  },
75
- ...disableProps(['itemsNumber', 'pilled', 'animated', 'stretch', 'view']),
75
+ ...disableProps(['itemsNumber', 'pilled', 'animated', 'view']),
76
76
  },
77
77
  };
78
78
 
@@ -86,12 +86,13 @@ const StoryDefault = (props: StoryTabsProps) => {
86
86
  contentLeft: contentLeftOption,
87
87
  contentRight: contentRightOption,
88
88
  hasDivider,
89
+ stretch,
89
90
  } = props;
90
91
  const items = Array(itemQuantity).fill(0);
91
92
  const [index, setIndex] = useState(0);
92
93
 
93
94
  return (
94
- <Tabs view={hasDivider ? 'divider' : 'clear'} disabled={disabled} size={size}>
95
+ <Tabs view={hasDivider ? 'divider' : 'clear'} stretch={stretch} disabled={disabled} size={size}>
95
96
  {items.map((_, i) => (
96
97
  <TabItem
97
98
  key={`item:${i}`}
@@ -223,6 +224,7 @@ export const Default: StoryObj<StoryTabsProps> = {
223
224
  disabled: false,
224
225
  hasDivider: true,
225
226
  itemQuantity: 8,
227
+ clip: 'scroll',
226
228
  },
227
229
  argTypes: {
228
230
  clip: {
@@ -237,6 +239,7 @@ export const Default: StoryObj<StoryTabsProps> = {
237
239
  type: 'select',
238
240
  },
239
241
  },
242
+ stretch: { control: 'boolean', if: { arg: 'clip', eq: 'none' } },
240
243
  },
241
244
  render: (args) => {
242
245
  switch (args.clip) {
@@ -250,58 +253,6 @@ export const Default: StoryObj<StoryTabsProps> = {
250
253
  },
251
254
  };
252
255
 
253
- const StoryStretch = (props: StoryTabsProps) => {
254
- const {
255
- disabled,
256
- size,
257
- contentLeft: contentLeftOption,
258
- contentRight: contentRightOption,
259
- hasDivider,
260
- stretch,
261
- itemQuantity,
262
- } = props;
263
- const items = Array(itemQuantity).fill(0);
264
- const [index, setIndex] = useState(0);
265
-
266
- return (
267
- <Tabs view={hasDivider ? 'divider' : 'clear'} stretch={stretch} disabled={disabled} size={size}>
268
- {items.map((_, i) => (
269
- <TabItem
270
- key={`item:${i}`}
271
- view="divider"
272
- selected={i === index}
273
- onClick={() => !disabled && setIndex(i)}
274
- tabIndex={!disabled ? 0 : -1}
275
- disabled={disabled}
276
- contentLeft={getContentLeft(contentLeftOption, size as Size)}
277
- contentRight={getContentRight(contentRightOption, size as Size)}
278
- size={size}
279
- >
280
- {`Label${i + 1}`}
281
- </TabItem>
282
- ))}
283
- </Tabs>
284
- );
285
- };
286
-
287
- export const Stretch: StoryObj<StoryTabsProps> = {
288
- args: {
289
- size: 'xs',
290
- stretch: true,
291
- disabled: false,
292
- hasDivider: true,
293
- },
294
- argTypes: {
295
- size: {
296
- options: sizes,
297
- control: {
298
- type: 'select',
299
- },
300
- },
301
- },
302
- render: (args) => <StoryStretch {...args} />,
303
- };
304
-
305
256
  const StoryHeaderTabs = (props: StoryTabsProps) => {
306
257
  const {
307
258
  disabled,
@@ -340,6 +291,7 @@ export const HeaderTabs: StoryObj<StoryTabsProps> = {
340
291
  size: 'h5',
341
292
  disabled: false,
342
293
  hasDivider: true,
294
+ itemQuantity: 4,
343
295
  },
344
296
  argTypes: {
345
297
  size: {