mirror of
https://github.com/ant-design/ant-design.git
synced 2025-06-16 23:21:00 +08:00

* feat: ConfigProvider support classNames and styles for menu * fix * fix type * demo opt * fix * fix * chore: fix ts * chore: fix ts * chore: must fill * chore: other filled * chore: adjust logic * chore: fix cov --------- Co-authored-by: 二货机器人 <smith3816@gmail.com>
39 lines
966 B
TypeScript
39 lines
966 B
TypeScript
import { createContext } from 'react';
|
|
|
|
import type { DirectionType } from '../config-provider';
|
|
import { SemanticName, SubMenuName } from './menu';
|
|
|
|
export type MenuTheme = 'light' | 'dark';
|
|
|
|
export interface MenuContextProps {
|
|
prefixCls: string;
|
|
inlineCollapsed: boolean;
|
|
direction?: DirectionType;
|
|
theme?: MenuTheme;
|
|
firstLevel: boolean;
|
|
/** @internal Safe to remove */
|
|
disableMenuItemTitleTooltip?: boolean;
|
|
classNames: Required<
|
|
Record<SemanticName, string> & {
|
|
popup: { root: string };
|
|
subMenu: Required<Record<SubMenuName, string>>;
|
|
}
|
|
>;
|
|
styles: Required<
|
|
Record<SemanticName, React.CSSProperties> & {
|
|
subMenu: Required<Record<SubMenuName, React.CSSProperties>>;
|
|
popup: { root: React.CSSProperties };
|
|
}
|
|
>;
|
|
}
|
|
|
|
const MenuContext = createContext<MenuContextProps>({
|
|
prefixCls: '',
|
|
firstLevel: true,
|
|
inlineCollapsed: false,
|
|
styles: null!,
|
|
classNames: null!,
|
|
});
|
|
|
|
export default MenuContext;
|