@salutejs/plasma-new-hope 0.173.0-dev.0 → 0.173.1-canary.1502.11462220468.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. package/cjs/components/Tabs/createTabsController.js.map +1 -1
  2. package/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +8 -3
  3. package/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js.map +1 -1
  4. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.css +1 -1
  5. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +15 -5
  6. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js.map +1 -1
  7. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js +1 -1
  8. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js.map +1 -1
  9. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/{base_9miwn.css → base_4ob3q5.css} +1 -1
  10. package/cjs/components/Tabs/ui/horizontal/const.js +11 -0
  11. package/cjs/components/Tabs/ui/horizontal/const.js.map +1 -0
  12. package/cjs/index.css +1 -1
  13. package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +13 -3
  14. package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +20 -5
  15. package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js +1 -1
  16. package/emotion/cjs/components/Tabs/ui/horizontal/const.js +10 -0
  17. package/emotion/cjs/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +72 -33
  18. package/emotion/cjs/examples/plasma_web/components/Tabs/Tabs.stories.tsx +72 -33
  19. package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +14 -3
  20. package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +21 -5
  21. package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js +1 -1
  22. package/emotion/es/components/Tabs/ui/horizontal/const.js +4 -0
  23. package/emotion/es/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +72 -33
  24. package/emotion/es/examples/plasma_web/components/Tabs/Tabs.stories.tsx +72 -33
  25. package/es/components/Tabs/createTabsController.js.map +1 -1
  26. package/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +9 -4
  27. package/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js.map +1 -1
  28. package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.css +1 -1
  29. package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +16 -6
  30. package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js.map +1 -1
  31. package/es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js +1 -1
  32. package/es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js.map +1 -1
  33. package/es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/{base_9miwn.css → base_4ob3q5.css} +1 -1
  34. package/es/components/Tabs/ui/horizontal/const.js +7 -0
  35. package/es/components/Tabs/ui/horizontal/const.js.map +1 -0
  36. package/es/index.css +1 -1
  37. package/package.json +2 -2
  38. package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +13 -3
  39. package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +20 -5
  40. package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js +1 -1
  41. package/styled-components/cjs/components/Tabs/ui/horizontal/const.js +10 -0
  42. package/styled-components/cjs/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +72 -33
  43. package/styled-components/cjs/examples/plasma_web/components/Tabs/Tabs.stories.tsx +72 -33
  44. package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +14 -3
  45. package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +21 -5
  46. package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js +1 -1
  47. package/styled-components/es/components/Tabs/ui/horizontal/const.js +4 -0
  48. package/styled-components/es/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +72 -33
  49. package/styled-components/es/examples/plasma_web/components/Tabs/Tabs.stories.tsx +72 -33
  50. package/types/components/Tabs/TabItem.types.d.ts +50 -8
  51. package/types/components/Tabs/TabItem.types.d.ts.map +1 -1
  52. package/types/components/Tabs/Tabs.types.d.ts +44 -2
  53. package/types/components/Tabs/Tabs.types.d.ts.map +1 -1
  54. package/types/components/Tabs/createTabsController.d.ts +2 -2
  55. package/types/components/Tabs/createTabsController.d.ts.map +1 -1
  56. package/types/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.d.ts.map +1 -1
  57. package/types/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.d.ts +2 -2
  58. package/types/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.d.ts.map +1 -1
  59. package/types/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.d.ts.map +1 -1
  60. package/types/components/Tabs/ui/horizontal/const.d.ts +2 -0
  61. package/types/components/Tabs/ui/horizontal/const.d.ts.map +1 -0
  62. package/types/examples/plasma_b2c/components/Tabs/TabItem.d.ts +17 -2
  63. package/types/examples/plasma_b2c/components/Tabs/TabItem.d.ts.map +1 -1
  64. package/types/examples/plasma_b2c/components/Tabs/Tabs.d.ts +1 -1
  65. package/types/examples/plasma_b2c/components/Tabs/Tabs.d.ts.map +1 -1
  66. package/types/examples/plasma_web/components/Tabs/TabItem.d.ts +17 -2
  67. package/types/examples/plasma_web/components/Tabs/TabItem.d.ts.map +1 -1
  68. package/types/examples/plasma_web/components/Tabs/Tabs.d.ts +1 -1
  69. package/types/examples/plasma_web/components/Tabs/Tabs.d.ts.map +1 -1
@@ -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
  };
@@ -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
  };
@@ -1 +1 @@
1
- {"version":3,"file":"createTabsController.js","sources":["../../../src/components/Tabs/createTabsController.tsx"],"sourcesContent":["import React, { forwardRef, ForwardRefExoticComponent, RefAttributes } from 'react';\n\nimport { HorizontalTabItemProps } from './TabItem.types';\nimport { HorizontalTabsProps } from './Tabs.types';\n\nexport interface TabsControllerProps extends HorizontalTabsProps {\n items: Array<{ label: string } & HorizontalTabItemProps>;\n index: number;\n onIndexChange: (index: number) => void;\n children?: never;\n autoscroll?: boolean;\n}\n\n/**\n * @deprecated\n * Используйте Tabs, TabItem, указав параметры index, itemIndex, onIndexChange\n *\n * Функция для создания `TabController`, которая дает возможность\n * кастомизировать стили, при этом сохраняя единый интерфейс и функционал.\n */\nexport function createTabsController<T extends HTMLDivElement, P extends TabsControllerProps>(\n ListComponent: ForwardRefExoticComponent<HorizontalTabsProps & RefAttributes<HTMLDivElement>>,\n ItemComponent: ForwardRefExoticComponent<HorizontalTabItemProps & RefAttributes<HTMLDivElement>>,\n) {\n // eslint-disable-next-line prefer-arrow-callback\n return forwardRef<T, P>(function TabsController({ items, index, autoscroll, onIndexChange, ...rest }, ref) {\n const { disabled } = rest;\n\n return (\n <ListComponent ref={ref} index={index} {...rest}>\n {items.map(({ label, ...restItem }, i) => (\n <ItemComponent\n key={i}\n selected={i === index}\n itemIndex={i}\n onIndexChange={onIndexChange}\n tabIndex={!disabled && i === index ? 0 : -1}\n disabled={disabled}\n {...restItem}\n >\n {label}\n </ItemComponent>\n ))}\n </ListComponent>\n );\n });\n}\n"],"names":["createTabsController","ListComponent","ItemComponent","forwardRef","TabsController","_ref","ref","items","index","onIndexChange","rest","_objectWithoutProperties","_excluded","disabled","React","createElement","_extends","map","_ref2","i","label","restItem","_excluded2","key","selected","itemIndex","tabIndex"],"mappings":";;;;;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,oBAAoBA,CAChCC,aAA6F,EAC7FC,aAAgG,EAClG;AACE;EACA,oBAAOC,UAAU,CAAO,SAASC,cAAcA,CAAAC,IAAA,EAAuDC,GAAG,EAAE;AAAA,IAAA,IAAzDC,KAAK,GAAAF,IAAA,CAALE,KAAK,CAAA;MAAEC,KAAK,GAAAH,IAAA,CAALG,KAAK,CAAA;MAAcC,aAAa,GAAAJ,IAAA,CAAbI,aAAa,CAAA;AAAKC,MAAAA,IAAI,GAAAC,wBAAA,CAAAN,IAAA,EAAAO,SAAA,EAAA;AAC9F,IAAA,IAAQC,QAAQ,GAAKH,IAAI,CAAjBG,QAAQ,CAAA;AAEhB,IAAA,oBACIC,KAAA,CAAAC,aAAA,CAACd,aAAa,EAAAe,QAAA,CAAA;AAACV,MAAAA,GAAG,EAAEA,GAAI;AAACE,MAAAA,KAAK,EAAEA,KAAAA;KAAWE,EAAAA,IAAI,GAC1CH,KAAK,CAACU,GAAG,CAAC,UAAAC,KAAA,EAAyBC,CAAC,EAAA;AAAA,MAAA,IAAvBC,KAAK,GAAAF,KAAA,CAALE,KAAK;AAAKC,QAAAA,QAAQ,GAAAV,wBAAA,CAAAO,KAAA,EAAAI,UAAA,CAAA,CAAA;AAAA,MAAA,oBAC5BR,KAAA,CAAAC,aAAA,CAACb,aAAa,EAAAc,QAAA,CAAA;AACVO,QAAAA,GAAG,EAAEJ,CAAE;QACPK,QAAQ,EAAEL,CAAC,KAAKX,KAAM;AACtBiB,QAAAA,SAAS,EAAEN,CAAE;AACbV,QAAAA,aAAa,EAAEA,aAAc;QAC7BiB,QAAQ,EAAE,CAACb,QAAQ,IAAIM,CAAC,KAAKX,KAAK,GAAG,CAAC,GAAG,CAAC,CAAE;AAC5CK,QAAAA,QAAQ,EAAEA,QAAAA;OACNQ,EAAAA,QAAQ,CAEXD,EAAAA,KACU,CAAC,CAAA;AAAA,KACnB,CACU,CAAC,CAAA;AAExB,GAAC,CAAC,CAAA;AACN;;;;"}
1
+ {"version":3,"file":"createTabsController.js","sources":["../../../src/components/Tabs/createTabsController.tsx"],"sourcesContent":["import React, { forwardRef, ForwardRefExoticComponent, RefAttributes } from 'react';\n\nimport { HorizontalTabItemProps } from './TabItem.types';\nimport { HorizontalCommonTabsProps, HorizontalTabsProps } from './Tabs.types';\n\nexport interface TabsControllerProps extends HorizontalCommonTabsProps {\n items: Array<{ label: string } & HorizontalTabItemProps>;\n index: number;\n onIndexChange: (index: number) => void;\n children?: never;\n autoscroll?: boolean;\n}\n\n/**\n * @deprecated\n * Используйте Tabs, TabItem, указав параметры index, itemIndex, onIndexChange\n *\n * Функция для создания `TabController`, которая дает возможность\n * кастомизировать стили, при этом сохраняя единый интерфейс и функционал.\n */\nexport function createTabsController<T extends HTMLDivElement, P extends TabsControllerProps>(\n ListComponent: ForwardRefExoticComponent<HorizontalTabsProps & RefAttributes<HTMLDivElement>>,\n ItemComponent: ForwardRefExoticComponent<HorizontalTabItemProps & RefAttributes<HTMLDivElement>>,\n) {\n // eslint-disable-next-line prefer-arrow-callback\n return forwardRef<T, P>(function TabsController({ items, index, autoscroll, onIndexChange, ...rest }, ref) {\n const { disabled } = rest;\n\n return (\n <ListComponent ref={ref} index={index} {...rest}>\n {items.map(({ label, ...restItem }, i) => (\n <ItemComponent\n key={i}\n selected={i === index}\n itemIndex={i}\n onIndexChange={onIndexChange}\n tabIndex={!disabled && i === index ? 0 : -1}\n disabled={disabled}\n {...restItem}\n >\n {label}\n </ItemComponent>\n ))}\n </ListComponent>\n );\n });\n}\n"],"names":["createTabsController","ListComponent","ItemComponent","forwardRef","TabsController","_ref","ref","items","index","onIndexChange","rest","_objectWithoutProperties","_excluded","disabled","React","createElement","_extends","map","_ref2","i","label","restItem","_excluded2","key","selected","itemIndex","tabIndex"],"mappings":";;;;;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,oBAAoBA,CAChCC,aAA6F,EAC7FC,aAAgG,EAClG;AACE;EACA,oBAAOC,UAAU,CAAO,SAASC,cAAcA,CAAAC,IAAA,EAAuDC,GAAG,EAAE;AAAA,IAAA,IAAzDC,KAAK,GAAAF,IAAA,CAALE,KAAK,CAAA;MAAEC,KAAK,GAAAH,IAAA,CAALG,KAAK,CAAA;MAAcC,aAAa,GAAAJ,IAAA,CAAbI,aAAa,CAAA;AAAKC,MAAAA,IAAI,GAAAC,wBAAA,CAAAN,IAAA,EAAAO,SAAA,EAAA;AAC9F,IAAA,IAAQC,QAAQ,GAAKH,IAAI,CAAjBG,QAAQ,CAAA;AAEhB,IAAA,oBACIC,KAAA,CAAAC,aAAA,CAACd,aAAa,EAAAe,QAAA,CAAA;AAACV,MAAAA,GAAG,EAAEA,GAAI;AAACE,MAAAA,KAAK,EAAEA,KAAAA;KAAWE,EAAAA,IAAI,GAC1CH,KAAK,CAACU,GAAG,CAAC,UAAAC,KAAA,EAAyBC,CAAC,EAAA;AAAA,MAAA,IAAvBC,KAAK,GAAAF,KAAA,CAALE,KAAK;AAAKC,QAAAA,QAAQ,GAAAV,wBAAA,CAAAO,KAAA,EAAAI,UAAA,CAAA,CAAA;AAAA,MAAA,oBAC5BR,KAAA,CAAAC,aAAA,CAACb,aAAa,EAAAc,QAAA,CAAA;AACVO,QAAAA,GAAG,EAAEJ,CAAE;QACPK,QAAQ,EAAEL,CAAC,KAAKX,KAAM;AACtBiB,QAAAA,SAAS,EAAEN,CAAE;AACbV,QAAAA,aAAa,EAAEA,aAAc;QAC7BiB,QAAQ,EAAE,CAACb,QAAQ,IAAIM,CAAC,KAAKX,KAAK,GAAG,CAAC,GAAG,CAAC,CAAE;AAC5CK,QAAAA,QAAQ,EAAEA,QAAAA;OACNQ,EAAAA,QAAQ,CAEXD,EAAAA,KACU,CAAC,CAAA;AAAA,KACnB,CACU,CAAC,CAAA;AAExB,GAAC,CAAC,CAAA;AACN;;;;"}
@@ -1,9 +1,10 @@
1
- import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../../../../_virtual/_rollupPluginBabelHelpers.js';
1
+ import { objectWithoutProperties as _objectWithoutProperties, objectSpread2 as _objectSpread2, extends as _extends } from '../../../../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import React, { forwardRef, useRef, useContext, useEffect, useCallback } from 'react';
3
3
  import { useForkRef } from '@salutejs/plasma-core';
4
4
  import { classes } from '../../../tokens.js';
5
5
  import { cx } from '../../../../../utils/index.js';
6
6
  import { TabsContext } from '../../../TabsContext.js';
7
+ import { isHeaderSize } from '../const.js';
7
8
  import { base as base$2 } from './variations/_view/base.js';
8
9
  import { base as base$1 } from './variations/_size/base.js';
9
10
  import { base as base$4 } from './variations/_pilled/base.js';
@@ -33,6 +34,12 @@ var horizontalTabItemRoot = function horizontalTabItemRoot(Root) {
33
34
  className = props.className,
34
35
  onClick = props.onClick,
35
36
  rest = _objectWithoutProperties(props, _excluded);
37
+ var restRootProps = size && isHeaderSize(size) ? _objectSpread2({
38
+ size: size
39
+ }, rest) : _objectSpread2({
40
+ size: size,
41
+ pilled: pilled
42
+ }, rest);
36
43
  var innerRef = useRef(null);
37
44
  var ref = useForkRef(outerRef, innerRef);
38
45
  var refs = useContext(TabsContext);
@@ -89,15 +96,13 @@ var horizontalTabItemRoot = function horizontalTabItemRoot(Root) {
89
96
  return /*#__PURE__*/React.createElement(Root, _extends({
90
97
  ref: ref,
91
98
  disabled: disabled,
92
- pilled: pilled,
93
99
  role: role,
94
100
  view: view,
95
- size: size,
96
101
  onFocus: onItemFocus,
97
102
  tabIndex: hasKeyNavigation ? navigationTabIndex : tabIndex,
98
103
  className: cx(pilledClass, selectedClass, animatedClass, className),
99
104
  onClick: handleClick
100
- }, rest), /*#__PURE__*/React.createElement(React.Fragment, null, contentLeft && /*#__PURE__*/React.createElement(LeftContent, {
105
+ }, restRootProps), /*#__PURE__*/React.createElement(React.Fragment, null, contentLeft && /*#__PURE__*/React.createElement(LeftContent, {
101
106
  className: classes.tabLeftContent
102
107
  }, contentLeft), /*#__PURE__*/React.createElement(StyledContent, {
103
108
  className: classes.tabContent
@@ -1 +1 @@
1
- {"version":3,"file":"HorizontalTabItem.js","sources":["../../../../../../src/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.tsx"],"sourcesContent":["import React, { forwardRef, useRef, useContext, useEffect, useCallback } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../../../../engines';\nimport { classes } from '../../../tokens';\nimport { cx } from '../../../../../utils';\nimport { TabsContext } from '../../../TabsContext';\nimport { HorizontalTabItemProps } from '../../../TabItem.types';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as pilledCSS } from './variations/_pilled/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { LeftContent, RightContent, StyledContent, TabItemValue, base } from './HorizontalTabItem.styles';\n\nexport const horizontalTabItemRoot = (Root: RootProps<HTMLDivElement, HorizontalTabItemProps>) =>\n forwardRef<HTMLDivElement, HorizontalTabItemProps>((props, outerRef) => {\n const {\n size,\n view,\n isActive,\n selected,\n disabled = false,\n pilled = false,\n children,\n value,\n contentLeft,\n contentRight,\n animated = true,\n onIndexChange,\n itemIndex,\n tabIndex,\n className,\n onClick,\n ...rest\n } = props;\n\n const innerRef = useRef<HTMLDivElement>(null);\n const ref = useForkRef(outerRef, innerRef);\n const refs = useContext(TabsContext);\n\n const role = 'tab';\n\n const pilledAttr = view !== 'clear' && pilled;\n const animatedClass = animated ? classes.tabItemAnimated : undefined;\n const pilledClass = pilledAttr ? classes.tabsPilled : undefined;\n const selectedClass = isActive || selected ? classes.selectedTabsItem : undefined;\n const hasKeyNavigation = itemIndex !== undefined && onIndexChange !== undefined;\n const navigationTabIndex = !disabled && refs?.current === itemIndex ? 0 : -1;\n\n useEffect(() => {\n if (!refs) {\n return;\n }\n\n refs.register(innerRef);\n\n return () => refs.unregister(innerRef);\n }, [refs]);\n\n const onItemFocus = useCallback<React.FocusEventHandler>(\n (event) => {\n if (disabled) {\n return;\n }\n\n if (!hasKeyNavigation && innerRef?.current) {\n innerRef.current.scrollTo({\n top: 0,\n left: innerRef.current.offsetLeft,\n behavior: 'smooth',\n });\n\n return;\n }\n\n if (!refs) {\n return;\n }\n\n const focusIndex = refs.items.findIndex((itemRef) => itemRef.current === event.target);\n\n if (focusIndex === refs.current) {\n return;\n }\n\n onIndexChange?.(focusIndex);\n refs.setCurrent(focusIndex);\n },\n [refs, innerRef, onIndexChange, disabled],\n );\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n event.currentTarget.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n\n if (!onClick) {\n return;\n }\n\n onClick(event);\n };\n\n return (\n <Root\n ref={ref}\n disabled={disabled}\n pilled={pilled}\n role={role}\n view={view}\n size={size}\n onFocus={onItemFocus}\n tabIndex={hasKeyNavigation ? navigationTabIndex : tabIndex}\n className={cx(pilledClass, selectedClass, animatedClass, className)}\n onClick={handleClick}\n {...rest}\n >\n <>\n {contentLeft && <LeftContent className={classes.tabLeftContent}>{contentLeft}</LeftContent>}\n <StyledContent className={classes.tabContent}>{children}</StyledContent>\n {!contentRight && value && <TabItemValue>{value}</TabItemValue>}\n {!value && contentRight && (\n <RightContent className={classes.tabRightContent}>{contentRight}</RightContent>\n )}\n </>\n </Root>\n );\n });\n\nexport const horizontalTabItemConfig = {\n name: 'HorizontalTabItem',\n tag: 'button',\n layout: horizontalTabItemRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n pilled: {\n css: pilledCSS,\n },\n },\n defaults: {\n view: 'default',\n },\n};\n"],"names":["horizontalTabItemRoot","Root","forwardRef","props","outerRef","size","view","isActive","selected","_props$disabled","disabled","_props$pilled","pilled","children","value","contentLeft","contentRight","_props$animated","animated","onIndexChange","itemIndex","tabIndex","className","onClick","rest","_objectWithoutProperties","_excluded","innerRef","useRef","ref","useForkRef","refs","useContext","TabsContext","role","pilledAttr","animatedClass","classes","tabItemAnimated","undefined","pilledClass","tabsPilled","selectedClass","selectedTabsItem","hasKeyNavigation","navigationTabIndex","current","useEffect","register","unregister","onItemFocus","useCallback","event","scrollTo","top","left","offsetLeft","behavior","focusIndex","items","findIndex","itemRef","target","setCurrent","handleClick","currentTarget","scrollIntoView","block","inline","React","createElement","_extends","onFocus","cx","Fragment","LeftContent","tabLeftContent","StyledContent","tabContent","TabItemValue","RightContent","tabRightContent","horizontalTabItemConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","pilledCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"HorizontalTabItem.js","sources":["../../../../../../src/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.tsx"],"sourcesContent":["import React, { forwardRef, useRef, useContext, useEffect, useCallback } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../../../../engines';\nimport { classes } from '../../../tokens';\nimport { cx } from '../../../../../utils';\nimport { TabsContext } from '../../../TabsContext';\nimport { HorizontalTabItemProps } from '../../../TabItem.types';\nimport { isHeaderSize } from '../const';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as pilledCSS } from './variations/_pilled/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { LeftContent, RightContent, StyledContent, TabItemValue, base } from './HorizontalTabItem.styles';\n\nexport const horizontalTabItemRoot = (Root: RootProps<HTMLDivElement, HorizontalTabItemProps>) =>\n forwardRef<HTMLDivElement, HorizontalTabItemProps>((props, outerRef) => {\n const {\n size,\n view,\n isActive,\n selected,\n disabled = false,\n pilled = false,\n children,\n value,\n contentLeft,\n contentRight,\n animated = true,\n onIndexChange,\n itemIndex,\n tabIndex,\n className,\n onClick,\n ...rest\n } = props;\n\n const restRootProps = size && isHeaderSize(size) ? { size, ...rest } : { size, pilled, ...rest };\n\n const innerRef = useRef<HTMLDivElement>(null);\n const ref = useForkRef(outerRef, innerRef);\n const refs = useContext(TabsContext);\n\n const role = 'tab';\n\n const pilledAttr = view !== 'clear' && pilled;\n const animatedClass = animated ? classes.tabItemAnimated : undefined;\n const pilledClass = pilledAttr ? classes.tabsPilled : undefined;\n const selectedClass = isActive || selected ? classes.selectedTabsItem : undefined;\n const hasKeyNavigation = itemIndex !== undefined && onIndexChange !== undefined;\n const navigationTabIndex = !disabled && refs?.current === itemIndex ? 0 : -1;\n\n useEffect(() => {\n if (!refs) {\n return;\n }\n\n refs.register(innerRef);\n\n return () => refs.unregister(innerRef);\n }, [refs]);\n\n const onItemFocus = useCallback<React.FocusEventHandler>(\n (event) => {\n if (disabled) {\n return;\n }\n\n if (!hasKeyNavigation && innerRef?.current) {\n innerRef.current.scrollTo({\n top: 0,\n left: innerRef.current.offsetLeft,\n behavior: 'smooth',\n });\n\n return;\n }\n\n if (!refs) {\n return;\n }\n\n const focusIndex = refs.items.findIndex((itemRef) => itemRef.current === event.target);\n\n if (focusIndex === refs.current) {\n return;\n }\n\n onIndexChange?.(focusIndex);\n refs.setCurrent(focusIndex);\n },\n [refs, innerRef, onIndexChange, disabled],\n );\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n event.currentTarget.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n\n if (!onClick) {\n return;\n }\n\n onClick(event);\n };\n\n return (\n <Root\n ref={ref}\n disabled={disabled}\n role={role}\n view={view}\n onFocus={onItemFocus}\n tabIndex={hasKeyNavigation ? navigationTabIndex : tabIndex}\n className={cx(pilledClass, selectedClass, animatedClass, className)}\n onClick={handleClick}\n {...restRootProps}\n >\n <>\n {contentLeft && <LeftContent className={classes.tabLeftContent}>{contentLeft}</LeftContent>}\n <StyledContent className={classes.tabContent}>{children}</StyledContent>\n {!contentRight && value && <TabItemValue>{value}</TabItemValue>}\n {!value && contentRight && (\n <RightContent className={classes.tabRightContent}>{contentRight}</RightContent>\n )}\n </>\n </Root>\n );\n });\n\nexport const horizontalTabItemConfig = {\n name: 'HorizontalTabItem',\n tag: 'button',\n layout: horizontalTabItemRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n pilled: {\n css: pilledCSS,\n },\n },\n defaults: {\n view: 'default',\n },\n};\n"],"names":["horizontalTabItemRoot","Root","forwardRef","props","outerRef","size","view","isActive","selected","_props$disabled","disabled","_props$pilled","pilled","children","value","contentLeft","contentRight","_props$animated","animated","onIndexChange","itemIndex","tabIndex","className","onClick","rest","_objectWithoutProperties","_excluded","restRootProps","isHeaderSize","_objectSpread","innerRef","useRef","ref","useForkRef","refs","useContext","TabsContext","role","pilledAttr","animatedClass","classes","tabItemAnimated","undefined","pilledClass","tabsPilled","selectedClass","selectedTabsItem","hasKeyNavigation","navigationTabIndex","current","useEffect","register","unregister","onItemFocus","useCallback","event","scrollTo","top","left","offsetLeft","behavior","focusIndex","items","findIndex","itemRef","target","setCurrent","handleClick","currentTarget","scrollIntoView","block","inline","React","createElement","_extends","onFocus","cx","Fragment","LeftContent","tabLeftContent","StyledContent","tabContent","TabItemValue","RightContent","tabRightContent","horizontalTabItemConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","pilledCSS","defaults"],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  .base_1sq08yf_bxoicu2__bb7a4868{width:var(--plasma-tabs-width);height:var(--plasma-tabs-height);--plasma_private-outline-radius:var(--plasma-tabs-border-radius);border-radius:var(--plasma-tabs-border-radius);}
4
4
 
5
- .base_9miwn_bupjtit__d014f2e9{background-color:var(--plasma-tabs-background-color);}.base_9miwn_bupjtit__d014f2e9::after{content:'';position:absolute;bottom:0.125rem;left:0.125rem;right:0.125rem;background:var(--plasma-tabs-divider-color);height:var(--plasma-tabs-divider-height);border-radius:var(--plasma-tabs-divider-border-radius);}.base_9miwn_bupjtit__d014f2e9.base_9miwn_tabsHasLeftArrow__d014f2e9::after{left:1.5rem;}.base_9miwn_bupjtit__d014f2e9.base_9miwn_tabsHasRightArrow__d014f2e9::after{right:1.5rem;}
5
+ .base_4ob3q5_bupjtit__17aafbe8{background-color:var(--plasma-tabs-background-color);}.base_4ob3q5_bupjtit__17aafbe8::after{content:'';position:absolute;bottom:0.125rem;left:0.125rem;right:0.125rem;background:var(--plasma-tabs-divider-color);height:var(--plasma-tabs-divider-height);border-radius:var(--plasma-tabs-divider-border-radius);}.base_4ob3q5_bupjtit__17aafbe8.base_4ob3q5_tabsHasLeftArrow__17aafbe8::after{left:1.5rem;}.base_4ob3q5_bupjtit__17aafbe8.base_4ob3q5_tabsHasRightArrow__17aafbe8::after{right:1.5rem;}.base_4ob3q5_bupjtit__17aafbe8.base_4ob3q5_tabsNoDivider__17aafbe8::after{height:0;}
6
6
 
7
7
  .base_j9bg3m_bbh58a1__de7491f9{opacity:var(--plasma-tabs-disabled-opacity);}
8
8
 
@@ -1,4 +1,4 @@
1
- import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, extends as _extends } from '../../../../../_virtual/_rollupPluginBabelHelpers.js';
1
+ import { objectWithoutProperties as _objectWithoutProperties, objectSpread2 as _objectSpread2, slicedToArray as _slicedToArray, extends as _extends } from '../../../../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import React, { forwardRef, useState, useMemo, useRef, useCallback, useEffect } from 'react';
3
3
  import { safeUseId } from '@salutejs/plasma-core';
4
4
  import '@linaria/react';
@@ -7,6 +7,7 @@ import { IconDisclosureRight } from '../../../../_Icon/Icons/IconDisclosureRight
7
7
  import { tokens, classes } from '../../../tokens.js';
8
8
  import { cx } from '../../../../../utils/index.js';
9
9
  import { TabItemRefs, TabsContext } from '../../../TabsContext.js';
10
+ import { isHeaderSize } from '../const.js';
10
11
  import { base as base$1 } from './variations/_size/base.js';
11
12
  import { base as base$2 } from './variations/_view/base.js';
12
13
  import { base as base$3 } from './variations/_disabled/base.js';
@@ -14,7 +15,7 @@ import { base as base$5 } from './variations/_pilled/base.js';
14
15
  import { base as base$4 } from './variations/_stretch/base.js';
15
16
  import { StyledArrow, StyledContentWrapper, StyledContent, base } from './HorizontalTabs.styles.js';
16
17
 
17
- var _excluded = ["id", "stretch", "disabled", "clip", "size", "view", "children", "pilled", "index", "className"];
18
+ var _excluded = ["id", "stretch", "disabled", "clip", "size", "view", "children", "pilled", "index", "className", "hasDivider", "outsideScroll"];
18
19
  var Keys = /*#__PURE__*/function (Keys) {
19
20
  Keys[Keys["end"] = 35] = "end";
20
21
  Keys[Keys["home"] = 36] = "home";
@@ -38,7 +39,17 @@ var horizontalTabsRoot = function horizontalTabsRoot(Root) {
38
39
  pilled = _props$pilled === void 0 ? false : _props$pilled,
39
40
  index = props.index,
40
41
  className = props.className,
42
+ _props$hasDivider = props.hasDivider,
43
+ hasDivider = _props$hasDivider === void 0 ? true : _props$hasDivider,
44
+ outsideScroll = props.outsideScroll,
41
45
  rest = _objectWithoutProperties(props, _excluded);
46
+ var restRootProps = size && isHeaderSize(size) ? _objectSpread2({
47
+ size: size
48
+ }, rest) : _objectSpread2({
49
+ size: size,
50
+ pilled: pilled,
51
+ outsideScroll: outsideScroll
52
+ }, rest);
42
53
  var _useState = useState(true),
43
54
  _useState2 = _slicedToArray(_useState, 2),
44
55
  firstItemVisible = _useState2[0],
@@ -55,6 +66,7 @@ var horizontalTabsRoot = function horizontalTabsRoot(Root) {
55
66
  var isFilled = view === 'filled'; // outer padding is only for filled view
56
67
  var pilledAttr = view !== 'clear' && pilled;
57
68
  var pilledClass = pilledAttr ? classes.tabsPilled : undefined;
69
+ var noDividerClass = !hasDivider ? classes.tabsNoDivider : undefined;
58
70
  var stretchClass = firstItemVisible && lastItemVisible && stretch ? classes.tabsStretch : undefined;
59
71
  var hasLeftArrowClass = !firstItemVisible ? classes.tabsHasLeftArrow : undefined;
60
72
  var hasRightArrowClass = !lastItemVisible ? classes.tabsHasRightArrow : undefined;
@@ -185,14 +197,12 @@ var horizontalTabsRoot = function horizontalTabsRoot(Root) {
185
197
  }, /*#__PURE__*/React.createElement(Root, _extends({
186
198
  view: view,
187
199
  role: "tablist",
188
- size: size,
189
- pilled: pilled,
190
200
  id: tabsId,
191
201
  ref: outerRef,
192
202
  disabled: disabled,
193
- className: cx(pilledClass, stretchClass, hasLeftArrowClass, hasRightArrowClass, className),
203
+ className: cx(pilledClass, stretchClass, hasLeftArrowClass, hasRightArrowClass, noDividerClass, className),
194
204
  onKeyDown: onKeyDown
195
- }, rest), !firstItemVisible && PreviousButton, /*#__PURE__*/React.createElement(StyledContentWrapper, {
205
+ }, restRootProps), !firstItemVisible && PreviousButton, /*#__PURE__*/React.createElement(StyledContentWrapper, {
196
206
  className: cx(clipScrollClass, clipShowAllClass),
197
207
  ref: scrollRef,
198
208
  onScroll: handleScroll