69 lines
2.7 KiB
TypeScript
69 lines
2.7 KiB
TypeScript
/// <reference types="react" />
|
|
export declare type RenderIconType = React.ReactNode | ((props: any) => React.ReactNode);
|
|
export interface MenuInfo {
|
|
key: React.Key;
|
|
keyPath: React.Key[];
|
|
item: React.ReactInstance;
|
|
domEvent: React.MouseEvent<HTMLElement>;
|
|
}
|
|
export interface SelectInfo extends MenuInfo {
|
|
selectedKeys?: React.Key[];
|
|
}
|
|
export declare type SelectEventHandler = (info: SelectInfo) => void;
|
|
export declare type HoverEventHandler = (info: {
|
|
key: React.Key;
|
|
hover: boolean;
|
|
}) => void;
|
|
export declare type MenuHoverEventHandler = (info: {
|
|
key: React.Key;
|
|
domEvent: React.MouseEvent<HTMLElement>;
|
|
}) => void;
|
|
export declare type MenuClickEventHandler = (info: MenuInfo) => void;
|
|
export declare type DestroyEventHandler = (key: React.Key) => void;
|
|
export declare type OpenEventHandler = (keys: React.Key[] | {
|
|
key: React.Key;
|
|
item: React.ReactInstance;
|
|
trigger: string;
|
|
open: boolean;
|
|
}) => void;
|
|
export declare type MenuMode = 'horizontal' | 'vertical' | 'vertical-left' | 'vertical-right' | 'inline';
|
|
export declare type OpenAnimation = string | Record<string, any>;
|
|
export interface MiniStore {
|
|
getState: () => any;
|
|
setState: (state: any) => void;
|
|
}
|
|
export declare type LegacyFunctionRef = (node: React.ReactInstance) => void;
|
|
export declare type BuiltinPlacements = Record<string, any>;
|
|
export declare type TriggerSubMenuAction = 'click' | 'hover';
|
|
export declare type AnimationType = string | Record<string, any>;
|
|
export declare type TransitionNameType = string;
|
|
/**
|
|
* Follow Motion definition is copied from `rc-trigger@latest`.
|
|
* These code can be removed when `rc-trigger` updated.
|
|
*/
|
|
declare type MotionStatus = 'none' | 'appear' | 'enter' | 'leave';
|
|
declare type MotionActiveStatus = 'appear-active' | 'enter-active' | 'leave-active';
|
|
declare type MotionNameObject = {
|
|
[key in MotionStatus | MotionActiveStatus]?: string;
|
|
};
|
|
declare type MotionEventHandler = (element: HTMLElement, event: React.TransitionEvent<HTMLElement> | React.AnimationEvent<HTMLElement> | undefined) => React.CSSProperties | false | null | undefined | void;
|
|
export interface MotionType {
|
|
motionName?: string | MotionNameObject;
|
|
motionAppear?: boolean;
|
|
motionEnter?: boolean;
|
|
motionLeave?: boolean;
|
|
motionLeaveImmediately?: boolean;
|
|
removeOnLeave?: boolean;
|
|
leavedClassName?: string;
|
|
onAppearStart?: MotionEventHandler;
|
|
onAppearActive?: MotionEventHandler;
|
|
onAppearEnd?: MotionEventHandler;
|
|
onEnterStart?: MotionEventHandler;
|
|
onEnterActive?: MotionEventHandler;
|
|
onEnterEnd?: MotionEventHandler;
|
|
onLeaveStart?: MotionEventHandler;
|
|
onLeaveActive?: MotionEventHandler;
|
|
onLeaveEnd?: MotionEventHandler;
|
|
}
|
|
export {};
|