MenuContext.d.ts 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import * as React from 'react';
  2. import type { CSSMotionProps } from 'rc-motion';
  3. import type { BuiltinPlacements, MenuClickEventHandler, MenuMode, RenderIconType, TriggerSubMenuAction } from '../interface';
  4. export interface MenuContextProps {
  5. prefixCls: string;
  6. rootClassName?: string;
  7. openKeys: string[];
  8. rtl?: boolean;
  9. mode: MenuMode;
  10. disabled?: boolean;
  11. overflowDisabled?: boolean;
  12. activeKey: string;
  13. onActive: (key: string) => void;
  14. onInactive: (key: string) => void;
  15. selectedKeys: string[];
  16. inlineIndent: number;
  17. motion?: CSSMotionProps;
  18. defaultMotions?: Partial<{
  19. [key in MenuMode | 'other']: CSSMotionProps;
  20. }>;
  21. subMenuOpenDelay: number;
  22. subMenuCloseDelay: number;
  23. forceSubMenuRender?: boolean;
  24. builtinPlacements?: BuiltinPlacements;
  25. triggerSubMenuAction?: TriggerSubMenuAction;
  26. itemIcon?: RenderIconType;
  27. expandIcon?: RenderIconType;
  28. onItemClick: MenuClickEventHandler;
  29. onOpenChange: (key: string, open: boolean) => void;
  30. getPopupContainer: (node: HTMLElement) => HTMLElement;
  31. }
  32. export declare const MenuContext: React.Context<MenuContextProps>;
  33. export interface InheritableContextProps extends Partial<MenuContextProps> {
  34. children?: React.ReactNode;
  35. locked?: boolean;
  36. }
  37. export default function InheritableContextProvider({ children, locked, ...restProps }: InheritableContextProps): React.JSX.Element;