58 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
import type { MenuToken } from '.';
 | 
						|
import type { GenerateStyle } from '../../theme/internal';
 | 
						|
 | 
						|
const getHorizontalStyle: GenerateStyle<MenuToken> = token => {
 | 
						|
  const {
 | 
						|
    componentCls,
 | 
						|
    motionDurationSlow,
 | 
						|
    menuHorizontalHeight,
 | 
						|
    colorSplit,
 | 
						|
    lineWidth,
 | 
						|
    lineType,
 | 
						|
    menuItemPaddingInline,
 | 
						|
  } = token;
 | 
						|
 | 
						|
  return {
 | 
						|
    [`${componentCls}-horizontal`]: {
 | 
						|
      lineHeight: `${menuHorizontalHeight}px`,
 | 
						|
      border: 0,
 | 
						|
      borderBottom: `${lineWidth}px ${lineType} ${colorSplit}`,
 | 
						|
      boxShadow: 'none',
 | 
						|
 | 
						|
      '&::after': {
 | 
						|
        display: 'block',
 | 
						|
        clear: 'both',
 | 
						|
        height: 0,
 | 
						|
        content: '"\\20"',
 | 
						|
      },
 | 
						|
 | 
						|
      // ======================= Item =======================
 | 
						|
      [`${componentCls}-item, ${componentCls}-submenu`]: {
 | 
						|
        position: 'relative',
 | 
						|
        display: 'inline-block',
 | 
						|
        verticalAlign: 'bottom',
 | 
						|
        paddingInline: menuItemPaddingInline,
 | 
						|
      },
 | 
						|
 | 
						|
      [`> ${componentCls}-item:hover,
 | 
						|
        > ${componentCls}-item-active,
 | 
						|
        > ${componentCls}-submenu ${componentCls}-submenu-title:hover`]: {
 | 
						|
        backgroundColor: 'transparent',
 | 
						|
      },
 | 
						|
 | 
						|
      [`${componentCls}-item, ${componentCls}-submenu-title`]: {
 | 
						|
        transition: [`border-color ${motionDurationSlow}`, `background ${motionDurationSlow}`].join(
 | 
						|
          ',',
 | 
						|
        ),
 | 
						|
      },
 | 
						|
 | 
						|
      // ===================== Sub Menu =====================
 | 
						|
      [`${componentCls}-submenu-arrow`]: {
 | 
						|
        display: 'none',
 | 
						|
      },
 | 
						|
    },
 | 
						|
  };
 | 
						|
};
 | 
						|
 | 
						|
export default getHorizontalStyle;
 |