Files
2026-01-16 01:51:36 +00:00

55 lines
2.5 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import type { AvatarProps } from 'antd';
import React from 'react';
import type { PureSettings } from '../../defaultSettings';
import type { MenuDataItem } from '../../index';
import type { WithFalse } from '../../typing';
import type { AppItemProps, AppListProps } from '../AppsLogoComponents/types';
import type { HeaderViewProps } from '../Header';
import type { PrivateSiderMenuProps, SiderMenuProps } from '../SiderMenu/SiderMenu';
export type GlobalHeaderProps = {
collapsed?: boolean;
onCollapse?: (collapsed: boolean) => void;
isMobile?: boolean;
logo?: React.ReactNode;
/**
* @name 虽然叫menuRender但是其实是整个 SiderMenu 面板的渲染函数
*
* @example 收起时完成不展示菜单 menuRender={(props,defaultDom)=> props.collapsed ? null : defaultDom}
* @example 不展示菜单 menuRender={false}
*/
menuRender?: WithFalse<(props: HeaderViewProps, defaultDom: React.ReactNode) => React.ReactNode>;
/**
* @deprecated
* 使用 actionsRender 和 avatarProps 代替
*/
rightContentRender?: WithFalse<(props: HeaderViewProps) => React.ReactNode>;
className?: string;
prefixCls?: string;
/** 相关品牌的列表 */
appList?: AppListProps;
/** 相关品牌的列表项 点击事件当事件存在时appList 内配置的 url 不在自动跳转 */
itemClick?: (item: AppItemProps, popoverRef?: React.RefObject<HTMLSpanElement>) => void;
menuData?: MenuDataItem[];
onMenuHeaderClick?: (e: React.MouseEvent<HTMLDivElement>) => void;
style?: React.CSSProperties;
menuHeaderRender?: SiderMenuProps['menuHeaderRender'];
/**
* @name 顶部区域的渲染,包含内部的 menu
*
* @example headerContentRender={(props) => <div>管理控制台 </div>}
*/
headerContentRender?: WithFalse<(props: HeaderViewProps, defaultDom: React.ReactNode) => React.ReactNode>;
collapsedButtonRender?: SiderMenuProps['collapsedButtonRender'];
splitMenus?: boolean;
/** Layout的操作功能列表不同的 layout 会放到不同的位置 */
actionsRender?: WithFalse<(props: HeaderViewProps) => React.ReactNode[] | React.ReactNode>;
/** 头像的设置 */
avatarProps?: WithFalse<AvatarProps & {
title?: React.ReactNode;
render?: (props: AvatarProps, defaultDom: React.ReactNode, siderProps: SiderMenuProps) => React.ReactNode;
}>;
children?: React.ReactNode;
} & Partial<PureSettings>;
declare const GlobalHeader: React.FC<GlobalHeaderProps & PrivateSiderMenuProps>;
export { GlobalHeader };