|
1 | 1 | import { ComponentSizeType } from '@Shared/constants'
|
| 2 | + |
2 | 3 | import { TabGroupProps, TabProps } from './TabGroup.types'
|
3 | 4 |
|
4 |
| -export const getClassNameBySize = ({ |
5 |
| - size, |
| 5 | +export const getClassNameBySizeMap = ({ |
6 | 6 | hideTopPadding,
|
7 | 7 | alignActiveBorderWithContainer,
|
8 |
| -}: Pick<TabGroupProps, 'size' | 'hideTopPadding' | 'alignActiveBorderWithContainer'>) => { |
9 |
| - switch (size) { |
10 |
| - case ComponentSizeType.medium: |
11 |
| - return { |
12 |
| - tabClassName: `fs-12 ${!hideTopPadding ? 'pt-6' : ''} ${alignActiveBorderWithContainer ? 'pb-5' : 'pb-6'}`, |
13 |
| - iconClassName: 'icon-dim-14', |
14 |
| - badgeClassName: 'fs-11 lh-18 tab-group__tab__badge--medium', |
15 |
| - } |
16 |
| - default: |
17 |
| - return { |
18 |
| - tabClassName: `fs-13 ${!hideTopPadding ? 'pt-8' : ''} ${alignActiveBorderWithContainer ? 'pb-7' : 'pb-8'}`, |
19 |
| - iconClassName: 'icon-dim-16', |
20 |
| - badgeClassName: 'fs-12 lh-20', |
21 |
| - } |
22 |
| - } |
23 |
| -} |
24 |
| - |
25 |
| -export const getIconColorClass = ({ iconType, active }: Pick<TabProps, 'iconType' | 'active'>) => { |
26 |
| - if (iconType === 'fill') { |
27 |
| - return `tab-group__tab__icon--fill ${active ? 'fcb-5' : 'fcn-7'}` |
28 |
| - } |
29 |
| - if (iconType === 'stroke') { |
30 |
| - return `tab-group__tab__icon--stroke ${active ? 'scb-5' : 'scn-7'}` |
| 8 | +}: Pick<TabGroupProps, 'hideTopPadding' | 'alignActiveBorderWithContainer'>): Record< |
| 9 | + TabGroupProps['size'], |
| 10 | + { |
| 11 | + tabClassName: string |
| 12 | + iconClassName: string |
| 13 | + badgeClassName: string |
31 | 14 | }
|
| 15 | +> => ({ |
| 16 | + [ComponentSizeType.medium]: { |
| 17 | + tabClassName: `fs-12 ${!hideTopPadding ? 'pt-6' : ''} ${alignActiveBorderWithContainer ? 'pb-5' : 'pb-6'}`, |
| 18 | + iconClassName: 'icon-dim-14', |
| 19 | + badgeClassName: 'fs-11 lh-18 tab-group__tab__badge--medium', |
| 20 | + }, |
| 21 | + [ComponentSizeType.large]: { |
| 22 | + tabClassName: `fs-13 ${!hideTopPadding ? 'pt-8' : ''} ${alignActiveBorderWithContainer ? 'pb-7' : 'pb-8'}`, |
| 23 | + iconClassName: 'icon-dim-16', |
| 24 | + badgeClassName: 'fs-12 lh-20', |
| 25 | + }, |
| 26 | +}) |
32 | 27 |
|
33 |
| - return '' |
34 |
| -} |
| 28 | +export const getIconColorClassMap = ({ active }: Pick<TabProps, 'active'>): Record<TabProps['iconType'], string> => ({ |
| 29 | + fill: `tab-group__tab__icon--fill ${active ? 'fcb-5' : 'fcn-7'}`, |
| 30 | + stroke: `tab-group__tab__icon--stroke ${active ? 'scb-5' : 'scn-7'}`, |
| 31 | +}) |
0 commit comments